この記事によると http://blog.gdssecurity.com/labs/2013/3/5/retrifying-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には「悪い慣行があります。次のコード スニペットは、それを示しています。 16 バイトの 0x0 の静的 IV を使用します。
// Initialization vector; dummy in this case 0’s.
uint8_t iv[kChosenCipherBlockSize];
memset((void *) iv, 0x0, (size_t) sizeof(iv));
素人の言葉でそれが本当に悪いのはなぜですか、そしてそれを修正する方法は?
私が理解しているのは、そのコードをフックして対称キーを傍受できるということだけです。しかし、これを防ぐ理由と方法がわかりません。