iPhone で証明書を使用して、MS Exchange Sync を認証したいと考えています。この証明書を保護するためにセキュリティの概念がどのように実装されているかはわかりません。
たとえば、ScreenLock が有効になっていない場合、iPhone で「完全な」キーチェーン アクセスを取得することは可能ですか? (またはジェイルブレイクされたiPhoneを使用)。
誰かがこれについていくつかのリンクを持っていますか?
iPhone で証明書を使用して、MS Exchange Sync を認証したいと考えています。この証明書を保護するためにセキュリティの概念がどのように実装されているかはわかりません。
たとえば、ScreenLock が有効になっていない場合、iPhone で「完全な」キーチェーン アクセスを取得することは可能ですか? (またはジェイルブレイクされたiPhoneを使用)。
誰かがこれについていくつかのリンクを持っていますか?
iOSキーチェーンセキュリティに関するフラウンホーファーの研究:
私の知る限り、iOSキーチェーンが使用する暗号化には2つのレベルがあります。最初のレベルでは、暗号化キーとしてロック画面のパスコードを使用します。2番目のレベルでは、デバイスによって生成され、デバイスに保存されたキーを使用します。
フラウンホーファーの研究者たちは、第2レベルを回避する方法を考え出しました。暗号化キーはデバイスに保存されているため、これは回避するのに「簡単な」レベルです。したがって、iOS4では、これらのメソッドは、kSecAttrAccessibleWhenUnlockedまたはkSecAttrAccessibleWhenUnlockedThisDeviceOnlyを使用しないキーチェーンエントリでのみ機能します。これらのエントリは、電話がロックされている場合でも、最初のレベルが復号化された状態でメモリに存在するためです。
パスワードごとに約50ms試してください。→1秒あたり約20回の試行。→ベース36の6桁の英数字コードの正しいパスコードを推測する50%の変更で約1。7年。4桁の標準の単純なコードは9分未満でブルートフォースされます。iOSはハードウェアベースではないため、iOSでの間違った試行のカウンターをバイパスできるという仮定に基づいています
Apple Inc. WWDC 2010、コアOS、セッション209「アプリケーションデータの保護」、スライド24
結論:機密データを保存する必要がある場合は、独自の暗号化を使用することをお勧めします。また、デバイスにキーを保存しないでください。
編集:この攻撃はデバイスへの物理的なアクセスによってのみ実行できるため、Fraunhoferの調査を引用し、デバイスが盗まれない限り読者が心配しないように安心させるニュース記事が多数あります。
どういうわけか疑わしいです。研究者が電話への物理的なアクセスでテストを行ったという事実は、制限ではなく、問題を単純化する方法にすぎなかったようです。これは、キーチェーンエントリを復号化するために彼らが行ったことの説明です。
ジェイルブレイクツールを使用した後、コマンドシェルにアクセスするために、小さなスクリプトを実行して、キーチェーンにあるパスワードにアクセスして復号化します。復号化は、オペレーティングシステム自体によって提供される機能の助けを借りて行われます。
jailbreak.meを使用したことがある人なら誰でも知っているように、脱獄はデバイスへの物理的なアクセスを必要としません。理論的には、jailbreak.meコードを変更して、以下を自動化するのは簡単なはずです。
繰り返しになりますが、キーチェーンに何を入れるかについては注意が必要です。
Franhofer は、iPhone キーチェーンの安全性に関する研究を行いました。
http://www.sit.fraunhofer.de/Images/sc_iPhone%20Passwords_tcm501-80443.pdf
あなたの質問の一部にはお答えできますが、他の部分はまだ不明なので、私も答えを知りたいので、質問に投票します。
私が答えることができる部分は、「スクリーンロックが有効になっていない場合、アプリは完全なキーチェーンアクセスを取得できますか」です. いいえ、すべてのアプリは iPhone に独自のキーチェーン エリアを持っています。つまり、アプリは独自のシークレットにしかアクセスできません。これらのシークレットはアプリ自体に対してロックされていないため、アプリ自体からキーチェーン エントリを非表示にする方法はありません。要約すると、アプリは独自のエントリを読み取ることができ、他のエントリは読み取れません。
私が知りたいのは、ジェイルブレイクされたデバイスで何が起こるかです。デバイスがジェイルブレイクすると、すべてのアプリのキーチェーンが公開されますか?