Trusted Platform Module

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動

Trusted Platform Module(TPM)とは、セキュリティ(後述 #TPMでできること 参照)を実現するための、ハードウェア耐タンパー性英語版を持つセキュリティ機能のこと。主に専用チップとして実装されたディスクリートTPMと、CPU内部のセキュリティ領域で実行されるファームウェアTPMがある[1]

耐タンパー性
内部情報および内部構造の解析を目的とした攻撃(サイドチャネル攻撃)に対する安全性のこと。ソフトウェアではデバッガ妨害処理、冗長処理の挿入、難読化などによって実現する。ハードウェアでは漏洩電磁波対策、シャーシの堅牢化、分解時における自己破壊機構などによって実現する。Tamper resistant(en) 参照

概要[編集]

RSA暗号演算やSHA-1ハッシュ演算といった機能を有しており、チップ内で暗号化・復号、デジタル署名の生成・検証、プラットフォームの完全性検証を行うことができる。また、TPMの内部でRSAの鍵ペア(公開鍵秘密鍵)を生成することができる。

TPMの仕様はTCG(Trusted Computing Group)という国際的な業界団体で策定されており、最新のバージョンは2.0である。1.2まではRSAのみであったが、2.0からはAESECDSAなどを含め多種多様な暗号アルゴリズムの処理をチップ内でできるようになり、ソフトウェアが暗号ライブラリを負担する必要が大幅に無くなったため、暗号境界がより明瞭になった。

ノートPCだけではなく、デスクトップPCにもTPMは搭載されている。Windows OSとしてはWindows Vistaが初めて正式にサポートした[2]。Intelチップを搭載した初期のMacintoshにもTPMチップを搭載したものがある[3]

この技術は、さらに発展を遂げている。チップセット等の連携を強化した技術として、Intel Trusted Execution Technology がある。また、仮想機械向けの命令仕様拡張も提案されている[4]

組み込み用途向けとしては、SPIやI2Cなどのインタフェースを持つものがリリースされている。ピン数が少なくなるためコストが縮小するほか、インタフェースの簡素化など攻撃表面の縮小(Attack surface reduction)の概念と相性が良いという利点がある。近年、車の自動運転やIoTなどで需要を伸ばしている分野である。

TPMの機能[編集]

TPMは以下の機能を提供する。

  • RSA
    • 演算
    • 鍵生成
    • 鍵格納
  • SHA-1ハッシュ
    • ハッシュ値計算
    • ハッシュ値保管
  • 乱数生成

TPM1.2から以下の機能が追加された。

  • カウンタ
    • 単純増加カウンタ
    • ティックカウンタ
  • オーナー権委任(パスワードは公開しない)
  • 不揮発性ストレージ保存機能

TPM2.0は機能や概念が一新され、以下が追加された。

  • シードとオブジェクトの概念
  • 認証形式の追加(KDFによるセッション鍵生成、Policy認証)
  • 認証と秘密通信の高速化
  • アルゴリズムの大幅な追加
    • 各種ハッシュ演算(SHA256、SM3、HMAC、KDFなど)
    • 楕円曲線暗号(NIST curve P-256、SM2など)
    • AES(128bit~256bit、OFB、CTRなどの各種モード)
  • グループの複製(Key duplication)
  • 不揮発性カウンタ
  • 不揮発性ビットフィールド

TPMでできること[編集]

上記の機能を用いて、TPMでは以下のことを実現できる。

  • プラットフォームの完全性を計測し、OSやアプリケーションの改竄を検知できる。
  • 公開鍵証明書を用いた端末の個体識別、詐称困難な端末認証を実現する。
  • データ(ストレージ)を暗号化し、不正に持ち出した情報は復号させない。

TPM利用時の注意点[編集]

TPMをハードウェアに搭載したからといって即座にシステム全体のセキュリティを担保できるわけではない。TPMを使用するシステムの要件定義からアプリケーションの実装まで全てを考慮しなければ、最終的に容易に破られるシステムができあがることになる。

チップ自体のスペックが高くないことや、内部ファームウェアがセキュアコーディングで書かれていること、インタフェースが低速であることが原因で、数百キロバイトを超えたデータの暗号/復号は時間がかかることに留意する必要がある。

TPMのファームウェアリビジョンによっては、対称鍵暗号コマンド(TPM2_EncryptDecrypt2)が実装されておらず、平文が暗号化できない場合がある。

TPM利用技術[編集]

マイクロソフトのドライブ暗号化技術。TPMを利用したハードディスクドライブの暗号化が可能。ただし必ずしもTPMを用いなければならないわけではなく、USBメモリキーに鍵を格納する方法や、パスワードで保護する方法がある[5]
産業技術総合研究所からリリースされている、HTTPブートクノーピクスのTPM利用版。TPMのプラットフォーム検証技術を利用して、ブートシーケンスが改ざんされていないかを監視することが可能

脚注[編集]

  1. ^ TPM の推奨事項 (Windows)” (日本語). technet.microsoft.com. 2018年10月13日閲覧。
  2. ^ 日経エレクトロニクス2007年10月8日号p101「初めてTPMに対応したWindows Vista」
  3. ^ アップル、「Intel Mac」にセキュリティチップ搭載(2005年8月5日)
  4. ^ vTPM: Virtualizing the Trusted Platform Module, 15th USENIX Security Symposium Abstract, Pp. 305–320 of the Proceedings
  5. ^ TPM機能が搭載されていないモデルでBitLockerドライブ暗号化を有効/無効にする方法

関連項目[編集]

外部リンク[編集]