簡體   English   中英

我可以在應用程序的本地數據庫中存儲信用卡嗎?

[英]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)(卡號)
  • 截止日期

但是,您需要非常小心PAN的保護,因為您最終要處理客戶的信任。 即使您正在嘗試實現一種增加便利性的功能,但是如果由於某種漏洞而暴露卡號,您可能會失去比使用該功能獲得的更多客戶。

通常在PCI PA-DSS ,以下字段被認為是需要高度保護的字段:

  • 主帳號(PAN)(卡號)
  • 持卡人姓名
  • 截止日期
  • 服務編號
  • 全磁道數據(磁條數據或芯片上的等效數據)
  • CAV2 / CVC2 / CVV2 / CID
  • 密碼/密碼塊

因此,如果存儲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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM