インテルのトラステッドプラットフォームモジュールをプログラムすることは可能ですか?
-
29-10-2019 - |
質問
TPMをプログラムできるかどうか疑問に思っています( http://en.wikipedia.org/wiki/Trusted_Platform_Module )は、次のような方法で、ほとんどのIntelチップに存在します。 ジェネラコディセタグプレ
明らかに、動作を開始した後は再プログラム可能であってはなりません(このステートメントが正しいかどうか知っていますか?)。
解決
TPMの動作は、Trusted ComputingGroupによって発行された
ただし、IntelTPMは異なる場合があります。一部のチップセットには、実際のハードウェアTPMではなくエミュレート/ソフトウェアTPMが含まれていました。これらのTPMは、BIOSアップデートで更新できます。ただし、この場合も、アップデートはIntelから提供される必要があります。 DQ67SWのような最近のボードには、Intel製ではないスタンドアロンのハードウェアTPMがあります。
つまり、2番目の質問に対する答えは次のとおりです。いいえ、TPMが使用する暗号化アルゴリズムをプログラム/定義することはできません。
最初の質問について:はい、永続ストレージに何を格納するかをある程度定義できます。このメモリ領域は、不揮発性ストレージまたは NV と呼ばれます。最初に TPM_NV_DefineSpace コマンドを使用してスペースを定義する必要があります。その後、 TPM_NV_ReadValue と TPM_NV_WriteValue を使用して、その場所との間で読み取りと書き込みを行うことができます。定義すると、NVに特定の量のメモリが予約され、この場所のセキュリティ属性も設定されます。これらのコマンドは低レベルのTPMコマンドであるため、トラステッドソフトウェアスタック(TSS)を使用してTPMをインターフェイスすることを強くお勧めします。 jTSS と
NVに関する注意事項:
- NVのスペースは非常に限られていますが、正確な量はベンダー固有です(通常は5kb未満)。 PCプラットフォームの最小量は2048バイトです。
- TPMはパッシブデバイスであり、コマンドを発行しないと何もできません。 TPMに何かを保存する場合は、それらのコマンドを発行するアクティブな部分(BIOS、ソフトウェア、チップセット、CPU)が必要です。
- ほとんどの暗号化キーでさえ、TPM内に保存されていません。キー階層があり、ルートキー(ストレージルートキー-SRK)のみがTPMに格納されます。他のすべてのキーは、暗号化された方法で外部に保存されます。
他のヒント
TPMはプログラム可能ではありません。サポートされているアルゴリズムの固定セットがあります。コードはROMに保存されます(そうでない場合は、ある程度改ざんされないパッケージ内にあるEEPROMに保存され、上書きすることはできません)。
TPMは、さまざまな管理役割を定義します。初めて使用するときに、管理者パスワードを設定します(または、ソフトウェアが自動的に設定します。その場合は、これらのパスワードを慎重にバックアップする必要があります)。 TPMを受け取ったときの状態がわからない場合は、「工場出荷時のデフォルト」にリセットできます(既存のすべてのキーと資格情報をクリアします)。これはTPMのクリアと呼ばれ、通常はBIOSから実行されます。
TPMによって保存および使用されるさまざまな資格情報の概要は、
標準の
実際には、おそらく TrouSerS (完全にオープンソースのTPM API)を介してTPMと対話します。 、またはWindowsのBitlockerを介して限定的に。
はい。TPMチップは、まさにこの種の操作などに使用できます。
TrouSerS スタックは、使用に必要なトラステッドコンピューティングソフトウェアスタックのオープンソース実装です。TPMチップを確実に。