phx*_*phx 54 iphone certificate keychain ios
我们希望在iPhone上使用证书来验证MS Exchange Sync.我们不确定如何实施安全性概念来保护此证书.
例如,如果没有启用ScreenLock,是否可以在iPhone上获得"完整"Keychain访问权限?(或使用越狱iPhone).
有没有人有这方面的链接?
pep*_*psi 47
Fraunhofer对iOS钥匙串安全性的研究:
据我所知,iOS钥匙串使用两种加密级别.第一级使用锁屏密码作为加密密钥.第二级使用由设备生成并存储在设备上的密钥.
弗劳恩霍夫的研究人员已经想出如何绕过二级.由于加密密钥存储在设备上,因此这是"更容易"的级别.所以在iOS4上,他们的方法只适用于不使用kSecAttrAccessibleWhenUnlocked或kSecAttrAccessibleWhenUnlockedThisDeviceOnly的keychain条目,因为这些条目驻留在内存中,第一级解密 - 即使手机被锁定.
每个密码尝试≈50ms; →每秒≈20次尝试; →≈1.7岁,对于带有基数36的6位字母数字代码猜测正确密码的50%变化.4位数字的标准简单代码将在不到9分钟内强制执行.基于这样的假设,即可以绕过iOS中错误尝试的计数器,因为它不是基于硬件的
Apple Inc. WWDC 2010,核心操作系统,会议209"保护应用程序数据",幻灯片24
底线:如果您必须存储敏感数据,请更好地使用自己的加密.并且不要将密钥存储在设备上.
编辑:有很多新闻文章引用了弗劳恩霍夫的研究,并向读者保证,除非他们的设备被盗,否则不要担心,因为这种攻击只能通过物理访问设备来完成.
我有点怀疑.事实上,研究人员通过物理访问手机进行测试似乎只是一种简化问题的方法,而不是限制.这是他们对解密钥匙串条目所做的描述:
使用越狱工具后,为了访问命令shell,我们运行一个小脚本来访问和解密密钥链中的密码.解密是在操作系统自身提供的功能的帮助下完成的.
任何使用过jailbreak.me的人都知道,越狱不需要物理访问设备.从理论上讲,修改jailbreak.me代码并使其自动执行以下操作应该是微不足道的:
所以再一次,要小心你放入钥匙链.
我可以回答你的部分问题,但由于另一部分仍然未知,我对这个问题进行投票,因为我也渴望知道答案。
我可以回答的部分是:“如果没有启用屏幕锁,应用程序可以获得完整的钥匙串访问权限”。不,每个应用程序在 iPhone 上都有自己的钥匙串区域,这意味着应用程序只能访问自己的秘密。这些秘密并未针对应用程序本身锁定,因此无法对应用程序本身隐藏钥匙串条目。总结一下:应用程序可以读取自己的条目,而不能读取其他条目。
但我有兴趣知道越狱设备上会发生什么。设备越狱后,所有应用程序的钥匙串是否都会暴露?
归档时间: |
|
查看次数: |
28722 次 |
最近记录: |