iOS密钥链使用什么加密算法来保护数据?

Jam*_*mes 14 security keychain ios

经过广泛的谷歌搜索后,我没有设法找到这个问题1的答案,这是令人惊讶的,因为"通过默默无闻的安全"根本不是真正的安全......

是否有可靠的问题来源(例如iOS的认证申请,源代码或类似问题)?

1我唯一能提到的是它可能会使用3DES.

Mat*_*zyk 11

根据Apple官方文件:

加密是GCM中的AES 128(伽罗瓦/计数器模式);


Nem*_*emo 9

"通过默默无闻的安全"意味着依靠默默无闻来实现安全.这并不意味着您不安全只是因为您没有向世界宣传您的安全机制.

Apple可能希望自由地改变钥匙串的实现,因此它的加密不是其规范的一部分,因为它不需要.

也就是说,我严重怀疑Apple使用3DES,因为他们实际上知道他们在做什么.我会给他们使用AES的10比1的赔率.

一个权威的答案可能只来自Apple或反汇编代码的人.


Rog*_*ger 7

根据钥匙串文档, Keychain服务和其他Mac OS X安全API建立在开源通用数据安全架构(CDSA)及其编程接口Common Security Services Manager(CSSM)之上.

有关这方面的更多信息

这里的讨论主题引用了官方苹果文档(目前defunkt)的陈述;

使用三重数字加密标准(3DES)保护钥匙串中的所有密码数据.

我会看看我是否可以提出任何更新/最终的内容.

更新:

好的,这里有一份官方OSX文件副本,确认3DES,但我同意实施可能会有所变化.

这是否也适用于iOS也需要验证,但是考虑到iOS和Lion的协调,我怀疑它更有可能.

  • 很好找.但我仍然会给出iOS使用AES的10比1的赔率.(没有理由让钥匙链兼容,因为你不能在设备之间移动它们.而且OS X比iOS早了.并且3DES不再被美国政府推荐使用......) (2认同)