【发布时间】:2013-05-13 17:36:00
【问题描述】:
根据这篇文章 http://blog.gdssecurity.com/labs/2013/3/5/retrieving-crypto-keys-via-ios-runtime-hooking.html
在 Apple 的 doCipher:key:context:padding 方法 http://developer.apple.com/library/ios/#samplecode/CryptoExercise/Listings/Classes_SecKeyWrapper_m.html 的示例代码中有“不好的做法。以下代码 sn-p 表明它将使用 16 字节 0x0 的静态 IV。
// Initialization vector; dummy in this case 0’s.
uint8_t iv[kChosenCipherBlockSize];
memset((void *) iv, 0x0, (size_t) sizeof(iv));
为什么用外行的话来说真的很糟糕以及如何解决它?
我只了解可以挂钩该代码以拦截对称密钥。但我不明白为什么以及如何防止这种情况发生。
【问题讨论】:
-
你能快速总结一下博客对代码的看法吗?
-
好吧,我根本不是专家,但我更新了:我只知道可以挂钩该代码以拦截对称密钥。但我不明白为什么以及如何防止这种情况发生。
-
没关系。如果博客文章因某种原因消失,这只是为了让这个问题继续有用。谢谢!
标签: ios objective-c encryption