データ・セキュリティを高めるためのデバイスで「ハードウェア・セキュリティ・モジュール(HSM)」というものがあります。実は電子証明書の利用に役立つデバイスで、パスポートや運転免許証など重要情報に関わる部分に多く使用されています。
ここではHSMの特性や役割を解説しながら、導入によって得られるメリット・デメリットとHSM利用の可能性について考えます。

「HSM」って一体ナニ?

HSMの3つの技術的特性

「HSM」に決まった定義はありませんが、一般的には電子証明書の暗号鍵と鍵管理に関する国際規格を取得しているデバイスを「HSM」と呼びます。例えば米国系の「FIPS」や欧州系の「Common Criteria(コモンクライテリア)」などがこの国際規格にあたります。これらの国際規格を取得するために、HSMには大きく3つの技術的な特性があります。

特性1:『ワンチップ形成』である

暗号化する際のデータ処理を複数のチップを使って行うと、チップ間でデータを移行する際に処理途中のデータが盗みやすくなります。処理途中のデータが盗みやすければ、それだけ暗号が解読しやすいということです。これを防ぐには全ての暗号化処理を1つのチップで行い、流れているデータを盗みにくくします。したがって高度なセキュリティ要件を満たしていなければならないHSMでは、ワンチップ形成が採用されているのです。

特性2:『一体型形成』である

HSMには国際規格を取得するために、外部から暗号鍵のデータを簡単には盗めないようになっています。そこでデータを盗もうとする人間(以下、攻撃者)は「それならHSMごと盗んで分解し、直接データを取り出してやろう」と考えます。このとき簡単に分解されるのを防ぐのが「一体型形成」です。具体的にはネジを極力使わずにはめ殺し構造にし、そのうえで重要な部品をケースの片方だけでなく両方同時に固定します。無理やりこじ開けようとすると重要な部品がデータごと破壊されてしまうようになっているのです。

特性3:『真性乱数生成』機能を採用

暗号鍵はコンピュータによって生成された乱数で構成されています。「乱数である」とは「前後の数字の間に数学的・物理的関係性がないこと」を指します。人間はどうしても誕生日や電話番号、住所など関連性のある数字を使いがちなので、純粋な意味での乱数を考えて作ることはできません。そこでコンピュータに頼るわけですが、一般的なサーバでは人間と同様にどうしても前後の数字の間に何らかの関係性が生まれます。ここに攻撃者に付け入る隙ができてしまいます。HSMではこれを防ぐために特別なシステムを採用して、純粋な意味での乱数=真性乱数の生成を実現しているのです。

HSMは何ができるのか?

HSMを採用すると、大きく3つのメリットがあります。

メリット1:暗号鍵および解読鍵の対攻撃性の向上

HSMが備えている3つの技術的特性は、ネットワークを介したデータへの攻撃はもちろん、物理的な攻撃からもデータを守ります。

メリット2:暗号処理の高速化

HSMは内部で暗号化や電子署名処理を行いますが、内蔵されている処理システムが非常に高性能なので、HSMを使わない時と比べて格段にスピーディに暗号処理ができるようになります。

メリット3:鍵の集約中央管理化

安全に鍵を管理でき、かつ暗号化・電子署名処理を内部で実行できるHSMを利用すれば、HSM以外のアプリケーションと紐づけて暗号鍵を管理する必要がなくなります。他のアプリケーションとは別権限で暗号鍵が管理できるため、より安全性が強化されます。

どうしてHSMが役立つのか?

暗号技術が持つ根本的な脆弱性

製品によって価格の差はありますが、HSMを導入するには一定のコストがかかります。「現在のシステムでも暗号化ができているのであれば、わざわざコストをかけてHSMを導入する必要はあるのか?」と疑問に思うかもしれません。しかし、HSMを使わない従来の暗号技術には根本的な脆弱性があり、高いセキュリティを要求される場面ではどうしてもHSMが必要になります。

例えば、クレジットカード番号を含む顧客データベースを、ソフトウェアを使って暗号化しているとしましょう。攻撃者がこのデータベースに侵入すると、まず彼らはソフトウェア内の暗号化された顧客情報を手に入れます。攻撃者がこの暗号を解読し、クレジットカード番号を手に入れるためには暗号の解読方法と暗号鍵の2つが必要です。

暗号化されたデータの復号に必要なもの
《暗号化されたデータの復号に必要なもの》

このうち解読方法については、主要な暗号は全てアルゴリズムが公開されているため、簡単に入手可能です。さらにソフトウェアを使った暗号化処理ではメモリ上に暗号鍵が展開されてしまうので、簡単に入手できます。このようにソフトウェアを使った暗号化処理は、一度侵入されてしまうとあっという間に暗号を復号されてしまうのです。

HSMの場合、鍵はHSM内部に保管されており、そこから外に出す機能は実装されていません。しかもこのHSMには前述したような技術的特性が備わっています。したがって攻撃者には暗号鍵を手に入れる手段がありません。仮に攻撃者が顧客データベースに侵入できても、手に入るのは暗号化されたデータだけです。

HSMのデメリットは「手間」

これほど高いセキュリティを実現するHSMですが、そもそもHSMへのアクセス権限の管理がずさんなようでは意味がありません。データベース管理システム(DBMS)を管理するDataBase Administrator(DBA)が簡単にHSMの暗号鍵にアクセスできてしまったり、HSMの管理責任者にリスク管理の意識が不足したりしていれば、攻撃者は簡単にデータを盗むことができます。そのためHSMを導入する際は同時に組織内でのリスク対策が必要です。このときの手間や時間はHSMのデメリットと言えるでしょう。

HSM利用の可能性はもっと広がる!

重要情報の管理に役立てる

HSM内部の暗号鍵が決して外部に出ないということは、HSMで暗号化したデータは同じHSMでしか復号できないということです。この仕組みを利用すれば様々な重要情報の改ざん防止に活用できます。例えば日本が導入しているICパスポートには、顔画像・国籍・氏名・生年月日・パスポート番号など、パスポートに記載されている情報が記録されています。これらのデータはHSMによって暗号化されているため、仮に改ざんされたとしてもHSMで確認処理をすればすぐにわかるようになっています。これ以外に運転免許証やスマートフォン、業務用プリンタなどにもHSMの暗号化処理は活用されています。

高度なセキュリティ体制に必要不可欠

HSMを導入すれば強固なセキュリティ体制を構築することができます。購入コスト・運用コストを考えると、全ての企業がHSMを導入する必要はありませんが、ソフトウェアを使った暗号処理に脆弱性があることも事実です。高度なセキュリティ体制を望むのならば、企業の基幹システムや電子証明書・電子署名などの重要な情報の管理にはHSMが必要不可欠となるでしょう。

トピック関連記事

#

2014年07月23日

Certificate Transparency

#

2023年09月12日

Microsoft Entra ID(旧 Azure AD)へのハードウェアセキュリティキーを利用した証明書認証の認証イメージ

#

2024年01月24日

AWS ALBでのクライアント証明書認証の設定方法

この記事を書きました

グローバルサインブログ編集部

グローバルサインカレッジ編集部
所属:GMOグローバルサイン マーケティング部
当サイトの運営・管理を担当。