mda*_*ani 3 security encryption nsuserdefaults swift
如果我理解正确:NSUserDefaults是一个存储敏感数据的不安全的地方,因为某些设置文件可能被黑客攻击并且NSUserDefault值可以更改.
什么可以被黑客攻击而不是黑客攻击?黑客可以看到我的应用程序的Swift代码,还是只看到存储在NSUserDefaults中的变量和值列表?
我可以在我的代码中创建自己的"加密"(其中NSUserDefault值看起来像一堆无意义的数字,并且"密钥"在我的代码中,并且需要进行一些复杂的数学运算)?这样安全吗?
注意:我不打算加密任何严重的用户名或密码,只是Highscores和Bool值,无论是否解锁级别/升级.如果我的手动解决方案是安全的,我不想学习KeychainsWrappers.
侧面问题(虽然我尚未达到此步骤):如何处理应用内购买?是否有一个Bool值表示是否支付了一个项目,以及Bool存储的位置(由您自行决定)?
什么可以被黑客攻击而不是黑客攻击?
你可以做的大多数事都可以被黑客入侵.
黑客可以看到我的应用程序的Swift代码,他们只看到变量列表
一个复杂的黑客可以看到可执行的二进制文件,但不能看到Swift源代码.
存储在NSUserDefaults中的值?
看到NSUserDefaults的内容是微不足道的.请参阅iExplorer和其他类似的应用程序.
我可以在代码中创建自己的"加密"吗?
当然可以,不是吗?
"Schneier定律":"从最无能的业余爱好者到最好的密码学家,任何人都可以创造出一种他自己无法破解的算法."
这样安全吗?
不,这不安全.如果要使用加密,则需要使用标准加密算法(如AES),但创建安全方案并不容易.您可以使用包装器库,例如RNCryptor.但这会产生一个新问题:安全保存加密密钥的位置,请参阅下一点.
如果我的手动解决方案是安全的,我不想学习KeychainsWrappers.
只有您想要安全地保存密钥和少量数据.安全很难.
您需要评估所需的安全级别,包括攻击者级别和数据值.攻击者从好奇的学生到民族国家.数据值从Tic-Tac-Toe高分到核武器细节.你需要先确定这些.
| 归档时间: |
|
| 查看次数: |
1087 次 |
| 最近记录: |