2012-05-30 80 views
3

我有要求在iPhone應用程序中存儲信用卡號碼。如何存儲數據的安全方式。我看過鑰匙鏈。除此之外,有什麼我可以使用的。如何在iphone上存儲信用卡信息?

+5

鑰匙扣有什麼問題? – SLaks

+0

您可以使用plist加密,請參閱http://stackoverflow.com/questions/1465271/securing-xml-plists-in-cocoa-objective-c –

+0

如果您將參與接受您需要的付款熟悉[PCI](https://www.pcicomplianceguide.org/pci-faqs-1/)(支付卡行業)要求。這些要求不是微不足道的。 – zaph

回答

3

如上所述,您應該首先了解此問題的合法性,尤其是蘋果限制應用商店中的內容。

這就是說,我有以前敏感信息進行加密,並決定採用AES-256加密太過火。由於用戶名,密碼和個人數據是通過網絡發送的,因此這是必要的。我爲此使用了FBEncrypt - 這是圍繞CCCrypt的一個很好的包裝。

https://github.com/dev5tec/FBEncryptor

這將允許你這樣做的基礎-64編碼和AES-256編碼,除其他事項外,它真的很方便。如果你真的需要它,請檢查它!

1

這個問題很難回答。由作者確定需要的安全級別。他們可能希望得到一些法律建議,說明泄露數據可能會發生什麼責任(如果有的話)。

一旦您知道了適當的保護級別,您就可以開始評估解決方案。鑰匙串是好的,但有很多加密選項可用。

你可能想要得到的答案除了如何存儲號碼的問題包括:

  • 什麼認證,將需要暴露多少?
  • 暴露數字的預期生命週期是什麼?
    • 這個號碼可以暴露多久?
    • 號碼如何從記憶中清除?
  • 如何使用暴露號碼?
    • 數字是否可以顯示給用戶?
    • 你會允許將數字複製到剪貼板嗎?

如果你想認真對待保護信息(任何信息),你需要做一些嚴重的設計工作。

0

你需要做的很認真研究這個,不一定接受什麼樣的人在這個網站,而無需您深入的研究和確認說。

像信用卡信息存儲的信息是不是你應該基於本網站IMO迴應只實現。

如果您認真對待,您需要閱讀,理解和應用「破解和保護iOS應用程序」一書中的內容,以瞭解危險是什麼以及如何減輕這些危害,以及人們如何說安全的技術真的沒有你想象的那麼安全。

0

加密和使用SSL/HTTPS似乎足以讓這種情況。如果您對該主題不熟悉,請參閱此處的一般準則:Mobile App Development Tips: How to Ensure Data Security

有許多實現方式,例如,當一個應用程序保存首次信用卡號碼,(IV)中產生的隨機 masterKey和初始化向量

  1. :可以使用上面提到的AES256算法。稍後使用它們 進行加密。
  2. masterSalt在本地生成並保存。
  3. 使用plainPassword和masterSalt,計算散列(PBKDF2)。
  4. 使用AES256算法,計算出的散列用於加密MasterKey和IV的 。
  5. 加密的MasterKey和IV在本地保存。
  6. 使用plainPassword和masterSalt hash (PBKDF2)解密MasterKey和IV。
  7. 現在,使用AES256算法用MasterKey和IV加密數據。