信用卡金流合規風險

這是一段信用卡資安、PCI DSS 與金流服務提供商的故事

網路上偶爾會看到一些信用卡被盜刷的討論文章,有些人會說自己在某網站刷卡過後不久就被盜刷了,懷疑是那網站的問題。我看到這種討論後通常都不太在意,覺得可能性偏小。

為什麼偏小呢,因為大多數網站在刷卡時,要嘛直接跳轉到第三方金流,要嘛用 iframe 來嵌入付款頁面,自己的網站根本不知道卡號是多少。既然不知道的話,這網站又怎麼能流出你的卡號呢?

但幾週前我在某網站結帳時,心血來潮開了 DevTools 來看,才發現:「不對,為什麼你是直接收我卡號啊」,說好的 iframe 呢?直接收卡號就代表信用卡資料確實有進到這網站的系統中,開頭講的狀況還真的有可能發生。

接著我開始了一系列的研究,找了一堆資料,才發現這其實不是個案,而是有一堆網站都這樣。

大多數網站接的金流都是綠界、藍新這類的金流服務提供商,這些金流再去跟銀行接入。而藍新對外公開的 API,就只有跳轉這個選項,用起來滿安全的,商家也不需要碰到卡號。

但是,如果你想提升使用者體驗,省去跳轉這步,可以去申請「幕後授權」,就會開給你另一個 API,可以接收卡號、過期日跟 CVV 等資訊。接著你就可以在網站上放自己的 input,將這些資料收進自己系統,再轉傳給藍新。

若是不知資安為何物,可能會順便把卡號明文存到系統,或是寫到 log 裡,哪天被駭客打下來,就全部都外流出去了,卡就被盜刷了。

聽起來風險很高對吧?我也覺得很高啊!

於是,我參考了其他金流,發現 Stripe、adyen 以及綠界,網站上都寫說必須先提供 PCI DSS 相關文件(SAQ D)才會開 API 給你。

那藍新呢?不需要,你沒有做過任何資安合規也開給你,另一間 PAYUNi 統一金流看起來也是。在網路上搜了一下,發現這件事情似乎也沒人公開講過,難道只有我覺得這樣不太對勁?

收單行會要求合作的金流商必須合規,而金流商理應也必須要求商家,尤其是收卡號這種接觸到持卡人資料的行為,更應該特別小心。但藍新在方便性與安全性之間選擇了前者,而且若是要提升使用者體驗,藍新做個 iframe 是最好的,這樣商家也沒必要自己收卡號了。比起做個 iframe,他們選擇了開幕後授權給沒有合規的商家收卡號,身為消費者的我,覺得自己的信用卡資料實在不是很安全。

因此我寫了這篇貼文想讓大家知道有這件事,前面那篇 PCI DSS 與信用卡資安 裡面有更多細節,也有到底什麼是 PCI DSS 的講解,看完會更清楚整個脈絡。

總之我自己調查完一輪的結論是:「藍新應該好好把關,不該開給沒有合規的商家幕後授權」

最後聲明一下,金流跟 PCI DSS 合規這塊我非專業人士,若是整件事情我有哪邊理解錯的,也請不吝留言指正。

評論