Trusted Platform Module(TPM)チップの非常に価値のある機能の1つは、秘密鍵を使用するコードのハッシュの下で秘密鍵をシールする機能です。これは、特定の値にハッシュするコードによってのみ読み取ることができる秘密鍵を作成できることを意味します。
このテクノロジーを使用することにより、基本的にソフトウェアでスマートカードをエミュレートできます。決して読み取ることができない秘密鍵を作成できます。このキーを使用してメッセージに署名するようにハードウェアに要求することのみが可能です。
私にとって、これはITセキュリティの大きな前進のようです。これは主に、支払いに使用されるモバイルデバイスに役立ちます。たとえば、ビットコインの財布は、このテクノロジーの明らかな用途のようです。
ARMチップには、TrustZoneと呼ばれる機能が含まれています。このテクノロジーは上記のことを可能にしますか?コードハッシュの下で秘密鍵を封印しますか?
はいといいえ。
厳密に言えば、TrustZoneは、MMUとメモリバスを介してタスク間の分離を提供するプロセッサ機能にすぎません。これは貧乏人の仮想化と考えることができます。ハイパーバイザ(TZセキュア世界)および通常のオペレーティングシステム(TZの通常の世界)。このアーキテクチャでは、機密データを通常のOSの範囲外で操作できますが、大きなハードルがあります。TrustZone自体には、データを保存する方法がありません。セキュアな世界でキーを作成できますが、どこにも保存できません。
すべてのハイエンドARMプロセッサ(ほとんどのスマートフォンやタブレットで見られるような)には、TrustZone(コアプロセッサアーキテクチャの一部です)が搭載されています)が搭載されていますが、実用化するにはさらに時間がかかります。 TZを便利にする機能、特にキーを保存する方法。これは、TZセキュアワールドコードにのみアクセスできる一部のライトワンスメモリ(たとえば、ヒューズ、通常は数百ビット)の形をとることがあります。ランタイム環境と、この環境でのみ認識される暗号化キーを使用して、署名キーを含む機密データを保存および操作するTPMのようなフレームワークを構築できます。 Trusted Computing Group が動作しています。
情報(特に信頼できる情報)は不足しています ですが、これはいくつかのモバイルデバイスで使用されています。 Microsoftの Surface RT タブレットはARMプロセッサーに基づいており、個別のTPMチップはありませんが、 ファームウェアベースのTPM 、 TrustZoneを使用しているように見える 。いくつかの MotorolaのAndroidデバイス は、TrustZoneのコードを使用するセキュリティ機能を備えています(もちろん、保護された環境を使用しても、コードがセキュリティホールがあります。TrustZoneを活用したセキュリティアーキテクチャの提案は、 ARM販促資料 と アカデミックpublications の両方にあります。
したがって、TrustZoneなどを使用して、純粋なソフトウェア手段では抽出できない方法でキーを格納できるシステムアーキテクチャを構築できます。ハードウェアの手段は別の問題です(スマートカードとは異なり、スマートフォンのプロセッサは、パッケージのラッピングをこすったときに自己破壊するようには設計されていません)。
ARM TrustZoneをTPMとして直接使用できますか?ARM TrustZoneは安全なキーストレージを提供しますか?
残念ながら、そうではありません。 TrustZone仕様では、安全なストレージを実装するためのメカニズムが提供されていないため、問題は安全なストレージがないことです。ただし、TrustZone機能:特定の周辺機器をセキュアワールドアクセスのみに割り当てることが重要ですが、セキュアなストレージメディアとして使用する周辺機器を決定するのはSocベンダーまたはTEE開発者次第です。