objective-c - 将敏感数据临时存储在 iVar 中是否会构成安全威胁?

标签 objective-c ios security

我的程序让用户创建一个密码,用于访问程序的数据。创建过程中程序流程如下:

  1. 要求用户输入密码
  2. 要求用户重新输入密码
  3. 如果密码匹配继续,否则转到第 1 步并重新开始该过程

为了比较两个输入的密码,我将密码临时存储到一个实例变量中。这可能是一个潜在的安全漏洞吗?如果是这样,为什么这是一个问题,您的解决方案是什么?也许存储它的哈希版本?谢谢!

最佳答案

我认为你可以处理(将密码存储在 iVar 中)。

也许您需要为自己定义“安全漏洞”。当然,攻击者可能会从被盗的 iPhone 中读取存储的内存并重建密码。 但这些数据是否合理?

您可以通过用空字节(与输入的密码长度相同)覆盖您的内存来提高您的安全概念,删除内存中所有对明文密码的引用,并只保留输入密码的 SHA256。 还要确保在收到 UIApplicationDidEnterBackgroundNotification 时进行空字节覆盖和删除。

但我认为这样做不值得。

关于objective-c - 将敏感数据临时存储在 iVar 中是否会构成安全威胁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10093916/

相关文章:

iphone - 不同设备的不同 Nib

ios - Stripe Radar 规则不适用于 Apple Pay 待授权

ios - Swift: map View 消失/重新出现后,MapView geocodeAddressString 不起作用

ios - 如何给出特定的手势识别器

security - JBoss - 配置 server.xml 连接器

php - 阻止用户与多个 IP 共享帐户?

iphone - becomeFirstResponder 重置 contentOffset

ios - 在 Objective c 中处理导航

objective-c - 从所有者拥有的对象调用方法

security - 是否有可能将服务器证书复制到攻击者的服务器上以进行滥用?