【问题标题】:How to store credit card info on iphone?如何在iphone上存储信用卡信息?
【发布时间】:2012-06-04 21:48:15
【问题描述】:

我需要在 iPhone 应用程序中存储信用卡号。如何安全地存储数据。我看过钥匙扣。除此之外,还有什么可以用的吗?

【问题讨论】:

标签: iphone ios security


【解决方案1】:

如上所述,您应该首先调查其合法性,尤其是在 Apple 对应用商店中的内容进行限制的情况下。

也就是说,我之前不得不加密敏感信息,因此决定使用 AES-256 加密。由于用户名、密码和个人数据是通过网络发送的,因此这是必要的。我为此使用了 FBEncrypt - 它是 CCCrypt 的一个很好的包装器。

https://github.com/dev5tec/FBEncryptor

这将允许您进行 base-64 编码和 AES-256 编码等,非常方便。如果您真的需要,请查看它!

【讨论】:

    【解决方案2】:

    如前所述,这个问题很难回答。由需求的作者决定所需的安全级别。他们可能希望就泄露数据可能产生的责任(如果有的话)获得一些法律建议。

    了解适当的保护级别后,您就可以开始评估解决方案了。钥匙串很好,但有很多可用的加密选项。

    除了如何存储号码之外,您可能希望得到答案的问题包括:

    • 需要什么身份验证才能公开号码?
    • 公开号码的预期生命周期是什么?
      • 号码可以公开多久?
      • 如何从内存中清除该号码?
    • 如何使用暴露的号码?
      • 可以向用户显示号码吗?
      • 是否允许将号码复制到剪贴板?

    如果您想认真保护信息(任何信息),您需要做一些认真的设计工作。

    【讨论】:

      【解决方案3】:

      您需要对此进行非常认真的研究,并且在未经您彻底研究和确认的情况下,不一定接受本网站上的人所说的话。

      存储信用卡信息之类的信息不是您应该仅根据该网站 IMO 上的响应实施的操作。

      如果你是认真的,你需要阅读、理解和应用“黑客和保护 iOS 应用程序”一书中的材料,以了解危险是什么以及如何减轻它们,以及人们所说的技术如何真正安全并不像您想象的那么安全。

      【讨论】:

        【解决方案4】:

        对于这种情况,加密和 SSL/HTTPS 的使用似乎已经足够了。如果您是该主题的新手,这里有很好的一般指南:Mobile App Development Tips: How to Ensure Data Security

        有很多实现,例如你可以使用上面提到的AES256算法:

        1. 当应用第一次保存信用卡号时,随机 生成 masterKey 和初始化向量 (IV)。使用它们 稍后进行加密。
        2. masterSalt 生成并保存在本地。
        3. 使用 plainPassword 和 masterSalt 计算哈希 (PBKDF2)。
        4. 使用AES256算法,计算出的hash用于加密 MasterKey 和 IV。
        5. 加密的 MasterKey 和 IV 保存在本地。
        6. 使用 plainPassword 和 masterSalt 哈希解密 MasterKey 和 IV (PBKDF2)。
        7. 现在,使用 AES256 算法使用 MasterKey 和 IV 加密数据。

        【讨论】:

          猜你喜欢
          • 2010-12-18
          • 2011-07-25
          • 2011-02-12
          • 1970-01-01
          • 2011-03-17
          • 1970-01-01
          • 2012-10-14
          • 2021-05-04
          相关资源
          最近更新 更多