NCCグループの研究者
ARM TrustZone テクノロジを使用すると、メイン システムから完全に分離され、別の特殊なオペレーティング システムを使用して別の仮想プロセッサ上で実行される、ハードウェア分離された保護環境を作成できることを思い出してください。 TrustZone の主な目的は、暗号化キー、生体認証、支払いデータ、その他の機密情報のプロセッサーを分離して実行することです。 メイン OS との対話は、ディスパッチ インターフェイスを通じて間接的に実行されます。 秘密暗号化キーはハードウェアから分離されたキー ストア内に保存され、適切に実装されていれば、基盤となるシステムが侵害された場合でも漏洩を防ぐことができます。
この脆弱性は、楕円曲線処理アルゴリズムの実装に欠陥があり、データ処理の進行状況に関する情報が漏洩することが原因で発生します。 研究者らは、既存の間接的漏洩を利用して、ハードウェアで隔離された場所にある秘密鍵の内容を回復できるサイドチャネル攻撃手法を開発しました。
この問題の主な原因は、TrustZone とメイン システムでの計算用の共通のハードウェア コンポーネントとキャッシュの共有です。分離は論理的な分離のレベルで実行されますが、共通のコンピューティング ユニットを使用し、計算の痕跡とブランチに関する情報が含まれます。アドレスは共通プロセッサ キャッシュに保存されます。 Prime+Probe 方式を使用すると、キャッシュされた情報へのアクセス時間の変化の評価に基づいて、キャッシュ内の特定のパターンの存在をチェックすることで、データ フローと、デジタル署名の計算に関連するコード実行の兆候を監視できます。かなり高い精度を持つ TrustZone。
Qualcomm チップで ECDSA キーを使用してデジタル署名を生成する時間のほとんどは、各署名で変更されない初期化ベクトルを使用してループ内で乗算演算を実行することに費やされます (
クアルコムの場合、そのような情報が漏洩した場所は、乗算アルゴリズムの 256 か所で特定されました。テーブル内でルックアップ操作を実行するときと、「ノンス」ベクトルの最後のビットの値に基づく条件付きデータ取得コードです。 クアルコムのコードにはサードパーティのチャネルを通じた情報漏洩に対抗するための手段が含まれているにもかかわらず、開発された攻撃手法ではこれらの手段を回避し、XNUMX ビット ECDSA キーを回復するのに十分な「ノンス」値の数ビットを特定することができます。
出所: オープンネット.ru