Android Strongbox(Android Ready SE)

Android Ready SE の概要

Android Ready SE Alliance: GOOGLEへのリンク
。SE セキュリティ チップ標準の開発と推進を目的とした Android Ready SE Alliance テクノロジー アライアンスを設立し、Android システムがセキュリティ チップを内蔵したデバイスをネイティブにサポートするようにします。Googleは一部のハードウェアメーカーと協力してオープンソースのSEセキュリティインターフェースとプログラムを立ち上げ、携帯電話などのスマートデバイスをデジタルキー、車のキー、電子パスポート、デジタル通貨などに使用できるようにする。
Android デバイスへの SE の適用
GOOGLE は、デバイスの内蔵 SE セキュリティ チップのアプリケーション用の STRONGBOX プログラムの一般バージョンを開始しました。このプログラムは複数のメーカーのハードウェアをサポートしており、現在、G+D、Kigen、NXP、STMicroelectronics、Thales から入手できます (最新の提携により、Goodix、Unisoc、TONGXIN MICRO などの国内サプライヤーが追加されました)。StrongBox はスマートフォンやタブレットだけでなく、WearOS、組み込みデバイス、Android TV にも対応しています。

OEM への影響

  • まず増加するのはハードウェアのコストです。
  • 2 番目に、研究開発とデバッグの時間を増やします。
  • 生産およびアフターセールスプロセスに影響を与えます。

OEMはどのように運営すべきか

Android Ready SE Alliance の発表:参考リンク

  • 適切な SE サプライヤーと SE モデルを選択します。
  • ブートローダーをデバッグし、SPI を通じてルート オブ トラストを SE に渡します (最新の keymint バージョンではこれを行う必要はありません)。
  • Googleと連携し、構成証明キーと証明書をSE生産工場のSEにインポートします(この場所はOEM生産プロセスを簡素化するためのものですが、現在のkeymint2.0バージョンではRKPが追加されています。この場所をどのように操作するかは現時点ではわかりません)明確すぎるため、SE サプライヤーに相談する必要があります)。
  • 適切なストロングボックス アプレットを使用して SE に書き込みます (セキュア エレメント内のアプリケーション プログラムは Java アプレットで、特別な開発ツールが必要です。このアプレットは SE の製造元が提供します)。
  • HAL層と統合されたAIDLサービス
  • SE アップグレード メカニズムを有効にする
  • CTS VTS をテストする

keymintプロセスの変更

keymint版の一部の処理が変更されました

  • ROT プロセスでは、keymint バージョンは AIDL で ROT インターフェイスを定義するため、ROT はブートローダーを通過する必要がありません。このプロセスは、keymint サプライヤーと SE サプライヤーが共同でデバッグする限り、標準インターフェイスです。
  • キーマスター バージョンの構成証明キー生成プロセスは Google から適用され、OEM が生産ラインでデバイスに書き込みますが、キーミント バージョンでは RKP (リモート キー プロビジョニング) サポートが追加され、生産プロセスが変更されるため、OEM はデバイスのキー ペアを通じて生産ラインで生成され、公開キーをデバイスにエクスポートして、Google サーバーにアップロードします。

ストンボックスのアーキテクチャ

ここに画像の説明を挿入

  • まず、Google は SE のプロトコル スタックを TEE に実装する必要があるとは明言していないため、上図の eSE のロジックは Linux カーネルに実装できます。
  • get rot インターフェイスと send rot インターフェイスが keymint AIDL インターフェイス定義に追加されるため、起動時に次のように ROT を共有します。
    ここに画像の説明を挿入
  • hmac キーを共有する方法
    ここに画像の説明を挿入
    上記のコメントによると、hmac キーを共有するには、最初に構成証明キーをインポートし、次に ECDH キー交換を通じて共有キーを計算し、次に情報を交換する必要があります。
    最新の「Android Ready SE - Ecosystem Requirements」ドキュメントの説明によると、上図のステップ 1 ~ 7 により、生産ラインを通じて共有キー Q を埋め込むことができます。hmac キーは、この共有キーを介して交換されます。残念ながら、Google は標準 API を定義していないため、TEE メーカーと SE メーカーの間で交渉する必要があります。
    ここに画像の説明を挿入
    ここのやり方は、例えばCMDを直接送ってTEEにシークレットを生成させ、それをAPI経由でSEに渡し、生産ラインの最終工程でLOCKに渡すなど、やり方を変えることができます。ここには問題があります。つまり、EMMC 交換、CPU 交換、SE 交換などのアフターセールス交換が発生すると、SE と TEE がロックを解除してシークレットを再共有できるようにするための RMA メカニズムが必要になります。
    共有シークレットが完了したら、手順 8 ~ 11 を実行できます。
    ここに画像の説明を挿入
    ここに画像の説明を挿入
    ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_47139576/article/details/128800543