HSMとTPMの違いについて
最近windows11関係でなにかと話題のTPMですが、ふと私が業務で扱っているHSMとの違いについて気になったので簡単に調べてみました。
HSMとは
HSMは、ハードウェアセキュリティモジュール(Hardware Security Module)の略です。
HSMはコンピューターのマザーボードに組み込まれているハードウェアデバイスになります。
あるいは外部デバイスとして独自のシャーシに含まれており、ネットワーク経由でアクセスできるものもあります。
HSMは主に外部へ流出してはならない鍵情報管理の役割を担います。
鍵情報を外部へ持ち出せないため、必然的に暗号化や復号化などの暗号処理はHSM内で完結させる必要があります。
ソフトウェアはHSMを使用して鍵情報の生成、暗号化、復号化、または暗号化署名のためのデータをHSMに送信しますが、鍵値そのものを知ることはできません。
また、HSMは暗号化機能のハードウェアアクセラレーション、不正アクセス、改ざんを検知して鍵情報を削除する等の機能を提供します。
セキュリティ保証
HSMは通常、国際標準であるCommonCriteriaやFIPS140に規定されているセキュリティ要件を満たすことによって、その安全性を保障する必要があります。
TPMとは
TPMは、トラステッドプラットフォームモジュール(Trusted Platform Module)の略です。
通常はコンピューターのマザーボードに組み込まれているハードウェアデバイスになります。
TPMもまた、外部へ流出してはならない鍵情報管理の役割を担います。
TPMは通常、TPMチップとしてホストコンピューターと統合されています。
ホストコンピュータは任意のデータを署名/暗号化および復号化するために、TPMを使用できます。
使用例
TPMは2019年頃からノートPCに標準で搭載され始めました。
前述のようにwindows11においてTPMのバージョン2.0が必須とされています。
TPMがデフォルトで無効化されているものも多いため、使用する場合はまず有効可する必要があります。
TPMを使用し、デバイスのストレージを暗号化しておくことで、盗難された際データを直接読み出されるのを防止出来ます。
HSMとTPM
今回調べた内容から、HSMという大枠の中にTPMのような用途が厳密に定められたセキュリティチップが含まれるというものだと理解しました。
デバイス上におけるトラストアンカーとして重要な役割を果たしており、耐タンパ性に優れている必要があります。
補足ですが、appleデバイスではT2と呼ばれているTPMと同等のセキュリティチップを取り扱っており、すべてのiphoneには該当のチップが内蔵されいます。