3

Apple はハードウェア/ソフトウェア スタック全体を管理しているため、(ある種のトラステッド コンピューティングを通じて) 以下を取得することは可能ですか?

  • ハードウェアは、ソフトウェアが本物であり、刑務所で壊れていない iOS であることを証明します
  • iOSは、アプリの実行が変更されていないアプリであることをサーバーに証明します

これが達成することは次のとおりです。

私のサーバーがデータを送信するとき、データは私が意図した方法でのみ使用できることが保証されます (それは、私のアプリを変更せずに実行しているため、刑務所ではない壊れた iOS で)。

これにより、サーバーからクライアントに送信されるデータを盗む変更されたアプリなどを防ぐことができます。理論的に盗聴できることはわかっていますが、これは暗号化によって排除できます。

ありがとう!

4

1 に答える 1

3

簡単に言えば、いいえ。

TC をサポートしないプラットフォームでの信頼できるコンピューティングの概念について話しているのです。IOS には、に近いものは含まれていませんTrusted Computing - Remote AttestationTPM はありません

Apple チップによって確立された信頼チェーンは、ブート チェーン内の次の要素の署名が無効な場合に実行を停止しようとするだけです。1 つのことが失敗した場合 (ジェイルブレイク)、それを検出する実際の効果的な方法はありません。これは、Microsoft が導入したセキュア ブートに非常に似ていますが、attest現在実行されているシステムのどのバージョンの Trusted Computing とは大きく異なります。

Trusted Computing では、TPM はシステム ブート (SRTM) の測定値 (PCR) を保存します。起動時に、最初に実行されるもの (CRTM - 暗黙のうちに本当に信頼する必要がある唯一のもの) は、BIOS を測定してチェーンを開始し、測定値を (PCR で) TPM に送信し、それに実行を渡します (BIOS)。次に、BIOS はブート チェーンの次の要素に対して同じことを行います。

PCR に格納された測定値は、メモリにロードされた環境に応じて、情報の暗号化または復号化 (SEAL/UNSEAL 操作) に使用できます。

TPM は測定値に対してアクションを実行しません (良いか悪いか)。ロードできるものを制限するのではなく、プラットフォームにロードされている環境を知ることができるという考えです。何かが変更されている場合、TPM には適切な PCR 値が含まれず、UNSEAL 操作 (PCR をキーとして使用して復号化) は機能しません。

リモート認証の場合、QUOTE 操作について話しています。基本的には SEAL と同じですが、他のキーを使用して、評価側が認証が実際の/準拠した TPM からのものであることを確認できるようにします。

確かに、システムは SEAL 操作を使用して、オペレーティング システムの暗号化解除に使用される秘密を保護し、何らかの方法でセキュア ブートと同じ効果を生み出すことができます。

詳細については、私の他の投稿を参照してください。

于 2013-02-07T02:33:31.867 に答える