2010-01-25 145 views
0

我已读入钥匙串并发现它使用Triple DES。我无法找到的是它使用的键控选项。我猜/希望它的密钥选项1所有3个密码都是唯一的,但如果是这种情况,我只能想到它可以使用的两个密码(用户密码和来自您的开发证书的应用程序ID),第三次来从?它是苹果公司的关键私人?钥匙扣使用什么钥匙选项?

如果它的密钥选项2(第一个和第三个密钥是相同的),它可能不够安全,我们公司依赖。虽然这可能听起来偏执狂,但我必须向我们的安全部门证明它足够安全。

回答

0

由于目前还没有答案,我想我可能会去回答我迄今为止发现的内容。

我已经浏览了可用于OS X钥匙串的source code,虽然我不是100%确定,因为它有很多,但钥匙串确实在第149行的API类 - > KeyItem.cpp中使用3DES。在第150行的导入/导出 - > SecWrappedKeys.cpp中也有注释,至少这个类只使用DES和3DES。有很多Private类缺失,所以我只能继续看到我所看到的。

在Apples keychain docos和其他随机技术支持文章中,它声明存在应用程序密码和系统为钥匙串生成的密码。如果您更改了应用程序的开发证书,则会丢失钥匙串条目,如果您还原到新手机,则钥匙串不起作用。

从我所看到的钥匙扣使用钥匙选项1(最强的地方,所有3个钥匙不同)三个密码将是您的密码来解锁手机/默认的一个或随机的一个,如果没有锁定,设备的UDID或iPhone的其他一些等效唯一标识符,以及第三个应用程序ID(忘记其名称)。

编辑:鉴于最近在某些站点上演示的漏洞,它会显示所有3个密码都是系统生成的,即使用户拥有手机密码。