TPM 2.0がないと、Windows11をインストールできません。

発表以来 Microsoft そのTPMはインストールするために必須になる予定でした Windows 11 、この用語に関するニュースは止まっていません。 これについてはずっと前から詳しく話し合っているので、この記事で取り上げるのは TPM2.0バージョンニュース & 機能を使用 以前のバージョン1.2と比較して、特にプロセッサにどのように影響するか インテル & AMD.

ご存知かもしれませんが、TPMは トラステッド・プラットフォーム・モジュール (ISO / IEC 11889としても知られています)、安全な暗号プロセッサの国際セキュリティ標準であり、これは単なる 専用マイクロコントローラー を通じてハードウェアを保護するように設計されています キー 埋め込まれた 暗号化。 この時点で、それが何であるか、それが何のためにあるか、そして確かにどのデバイスがそれを運ぶかはすでにわかっていますが、異なるバージョンの違いを知っていますか?

さまざまなタイプのTPM2.0展開

TPM 2.0

標準のさまざまなバージョンの違いと、それらがIntelおよびAMDプロセッサにどのように影響するかを理解するには、まず、見つけることができるさまざまなタイプの実装について説明する必要があります。 2006年以降、すでにTPMチップを統合した何千ものラップトップが販売されているため、TPMは新しいものではありません。 そこから、さまざまな形の統合が開発され、携帯電話を含む他のデバイスに統合できるコンセプトになりました。 PCでは、LPCまたはSPIバスが使用されるため、 CPU TPMチップに接続できます。

トラステッドコンピューティンググループ(TCG)は、インフィニオン、ノボトン、STマイクロエレクトロニクスなどのさまざまなメーカーが製造したTPMチップを認定していますが、AMD、Atmel、Broadcom、IBM、Intelなどの他のメーカーにもベンダーIDを割り当てています。 レノボ、National Semiconductor、Nationz、Qualcomm、Rockchip、SMC、 サムスン、Sinosun、Texas Instruments、またはWinbondです。したがって、このリストにない誰かによって製造されたと思われるTPMモジュールを見つけた場合、それは間違いなく誤りです。

TPM 2.0の実装にはXNUMXつの異なるタイプがあり、セキュリティが高いものから低いものの順にリストします。

  • 専用TPM2.0 –これら は、独自の改ざん防止半導体パッケージにTPM機能を実装する専用チップです。 理論的には、ハードウェアに実装されたルーチンはソフトウェアに実装されたルーチンよりもエラーに対する耐性が高く、パッケージは改ざんに対する耐性を実装する必要があるため、最も安全なタイプです。
  • 統合TPM2.0:それら は別のチップの一部であり、ソフトウェアのバグに抵抗するハードウェアを使用していますが、物理的な改ざん耐性を実装する必要はありません。 Intelは、たとえば、一部のチップセットにこのようにTPMを統合しています。
  • ファームウェアTPM(fTPM)–これら CPUの信頼できる実行リングで実行されるファームウェア(UEFIなど)で渡されるソリューションです。 Intel、AMD、およびQualcommは、この方法でファームウェアTPMを実装しています。
  • ハイパーバイザーによるTPM(vTPM):それら はハイパーバイザーによって提供される仮想TPMであるため、ハイパーバイザーに依存します。 これらは分離して実行され、仮想マシン内のソフトウェアから隠されてコードを保護し、fTPMに匹敵するレベルのセキュリティを提供できます。
  • ソフトウェアによるTPM2.0:これら オペレーティングシステム内の通常のプログラムによって取得される保護よりも多くの保護なしで実行されるエミュレータです。 それらは、実行する環境に完全に依存しているため、通常の実行環境が提供できる以上のセキュリティを提供せず、したがって、独自のソフトウェアのバグや攻撃に対して脆弱です。 これらは開発目的でのみ役立ちます。

Microsoft TPM 2.0の公式リファレンス実装を開発し、BSDライセンスを取得しており、ソースコードは次のとおりです。 オープンに利用可能。 Microsoftは、VisualStudioソリューションとビルドスクリプトを提供しています。 Linux 自動化されたツール。 インテル その一部として、2018年には、WindowsとLinuxをサポートし、BSDライセンスも使用してTPM2.0コードをすでに公開しています。

TPM 2.0が以前のバージョン(1.2)と異なる点は何ですか?

TPM Windows 11

バージョンTPM2.0は、バージョン1.2と同じユースケースの多くに対応し、本質的に同様の特性を備えていますが、詳細は異なり、実際、TPM2.0はTPM1.2より前のバージョンと互換性がありません(そのため、これらXNUMXつのバージョンを比較します) )。

アーキテクチャ

TPM 1.2は、2.0つの部分からなるアーキテクチャ、または2.0つの異なるライブラリで構成されています。 その部分のバージョンXNUMXは、一般的なXNUMX部構成のTPMXNUMXライブラリを参照するプラットフォーム固有の仕様で構成されています。 これらのプラットフォーム仕様は、ライブラリのどの部分がライブラリに必須、オプション、または禁止されているかを定義します。 これらの仕様には、クライアントPC、携帯電話、自動車が含まれます。

アルゴリズム

バージョン1.2では、SHA-1およびRSA暗号化アルゴリズムが必要ですが、AESはオプションです。 トリプルDESも、以前のバージョンではオプションのアルゴリズムでしたが、セキュリティ上の理由から、TPM94のバージョン1.2では禁止されていました。 PKCS#1で定義されているMGF1ハッシュベースのマスク生成関数が必要です。

バージョン2.0の場合、クライアントPCアーキテクチャにはSHA-1とSHA-256が必要です。また、256ビットのBarreto-Naehrig曲線を使用するRSAとECC、および公開鍵暗号化と生成および検証の非対称デジタル署名にNISTP-256が必要です。 。 HMACは、デジタル署名の対称生成と検証、対称鍵アルゴリズム用の128ビットAES、およびMGF1ハッシュベースのマスク生成機能にも必要です。 無数の追加アルゴリズムも定義されていますが、それらはオプションです。 TripleDESはTPM2.0に組み込まれていますが、制限があることに注意してください。

暗号化プリミティブと追加の考慮事項

バージョン1.2では、乱数ジェネレーター(RNG)、公開鍵暗号化アルゴリズム、暗号化ハッシュ関数、マスク生成関数、デジタル署名の生成と検証、および匿名の直接認証が使用されます。 一意の対称鍵アルゴリズムはオプションです。

TPM 2.0では、乱数ジェネレーター、公開鍵暗号化アルゴリズム、暗号化ハッシュ関数、対称鍵アルゴリズム、デジタル署名の生成と検証、マスク生成関数、匿名の直接または排他的証明、またはのBarreto-Naehrig曲線を使用したECCに基づく256ビット。 この仕様には、鍵の生成および導出関数も必要です。

コネクタTPM

一方、バージョン1.2は単一の階層(ストレージ)を持ち、バージョン2.0は2048つ(プラットフォーム、ストレージ、信頼)を使用し、上記のバージョンの場合はXNUMXつのルートキー(SRK RSA-XNUMX)のみを使用することにも注意してください。また、最新バージョンのTPMの各階層に複数のキーとアルゴリズムがあります。

同様に、承認に関しては、バージョン1.2はHMAC、PCR、ローカリティ、および物理的プレゼンスをサポートし、TPM 2.0はパスワード、HMAC、およびさまざまな構成可能なポリシー(HMAC、PCR、ローカリティ、および物理的プレゼンスをカバー)をサポートします。 最後に、NVRAMに関しては、バージョン1.2は非構造化データのみを使用し、バージョン2.0は非構造化データだけでなく、カウンター、ビットマップ、拡張子、およびPINも使用することに注意してください。