[英]Can i store Credit card in local database in app is it secured?
嗨,我在may app中使用支付網關。我認為在我的app中存儲信用卡號。我想問一下,當用戶再次訪問我使用no。卡時,它是否可以安全地將信用卡存儲在app中。我需要手動輸入CVC號。
1)我用用戶密鑰在AES中插入了信用卡號。
它在android app中是安全的
最好的做法是不要在本地將數據存儲在您的應用程序中,這會導致數據丟失的可能性很大,而以速度為代價的交易似乎並不值得。 最好將其存儲在您的應用可以連接到的遠程服務器中。
顯然,將信用卡詳細信息存儲在應用程序本身中是很高的風險。 即使僅存儲信用卡號(不帶CVV
/ CVV2
)也有很高的風險,因為CVV
/ CVV2
驗證只是處理器進行的一種驗證,如果處理器決定這樣做(對於某些交易類型),則可以跳過[ 1]。
話雖如此,作為商人,您可以在應用程序中存儲以下對象[1]:
但是,您需要非常小心PAN
的保護,因為您最終要處理客戶的信任。 即使您正在嘗試實現一種增加便利性的功能,但是如果由於某種漏洞而暴露卡號,您可能會失去比使用該功能獲得的更多客戶。
通常在PCI PA-DSS
,以下字段被認為是需要高度保護的字段:
因此,如果存儲PAN
,則最好使用強大的加密算法對其進行加密。 通常,支付處理器遵循多密鑰方法,並將多個不同的密鑰存儲在多個不同的安全環境中。 最后,當需要檢索解密的卡號時,應用程序將這些密鑰結合起來並進行解密[2]。
在PCI PA-DSS
,還必須具有密鑰管理過程。 這意味着您應該有一個允許您在任何時間到期和更新密鑰的過程。 通過這種過程,可以使密鑰被泄露的風險降到最低,因為您可以更新密鑰,使被破壞的密鑰無用。 也許,這對於您的要求來說是一個過高的選擇。
但是,如果您打算存儲PAN
,至少要使用存儲在兩個不同環境(數據庫/文件系統)中的兩個密鑰進行加密,請使用存儲量非常大的加密算法並遵循加密最佳實踐( OWASP
)。
但是,客戶如何看待您正在實現的功能是一個問題。 也許有些客戶在追求安全性而不是便利性。 因此,最好為您要實現的功能提供選擇功能。
[1] https://usa.visa.com/dam/VCOM/download/merchants/card-acceptance-guidelines-for-merchants.pdf
[2] https://www.pcisecuritystandards.org/minisite/zh/docs/PA-DSS_v3.pdf
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.