WindowsのTPM対応がセキュリティを変えていくアプリケーションに見るトラステッド・コンピューティング

セキュリティチップのTPM(Trusted Platform Module 1.2)は、ハードウェアベースのセキュリティを実現するための重要なコンポーネントである。Windows VistaやWindows Server 2008は、どのようにTPMを利用しているのだろうか。

» 2008年02月05日 00時00分 公開
[本田雅一,ITmedia]

このコンテンツは、オンラインムック「トラステッド・コンピューティングの世界」のコンテンツです。関連する記事はこちらで一覧できます。


 インテルの企業向けクライアントプラットフォーム「vPro」は、現代的なビジネスコンピューティングに不可欠ともいえる、柔軟性の高い簡便な集中管理機能および高いセキュリティを実現するためのプラットフォームである。

 インテルはここ数年、特定の用途に必須となる機能要件を満たすCPU、チップセット、通信デバイスなどをひとまとめにし、単一のブランディングでアプリケーションとの互換性を保証するという戦略を続けている。これがプラットフォーム戦略で、無線LANと無線LANアクセスソリューション、セキュリティなどに対応したCentrino、Centrino Proなども、vProと同様のプラットフォームである。

 ただし、そのプラットフォームを生かすには、当然ながら各プラットフォームに対応したソフトウェアも必要になる。もちろん、vPro対応のソフトウェアユーティリティを介して各種機能を利用することも可能だが、さらに奥深くシステムの深部にまで入り込み、全クライアントに対して一貫した信頼性の高いソフトウェア対応を行うには、OSレベルの対応が必要になる。その最もシンプルな解決策は、vProに対応したOSであるWindows VistaあるいはWindows Server 2008といった最新のOSを用いることだ。

 vProの中でも、とりわけセキュリティ機能を強化するためのキーデバイスとして位置付けられているのがTPM(Trusted Platform Module)であり、VistaやWindows Server 2008、あるいはMicrosoft Office System 2008の中でも積極的に活用されている

 まずは、これら最新のWindowsあるいはOfficeが利用するTPMについて、なぜセキュリティレベルを向上させることができるのか。基本的な動作の仕組みについて触れていくことにしよう。

TPMの仕組み

 TPMは簡単に言えば、セキュリティ処理を専門に行うプロセッサとメモリを統合し、外部とのインタフェースを狭い範囲に限定した小型コンピュータのようなものだ。暗号化の処理と暗号処理に用いる秘密鍵の管理を、自身が載っているコンピュータとは独立して行い、外部機器からはアクセスできない場所に不揮発性メモリを持つ。

 TPMに対応したハードウェアプラットフォーム(ハードウェア自身の構成、TPMチップ自身、BIOS)のハッシュ値をセキュアな不揮発性メモリに保管しており、それらが改ざんされると、TPMチップは自動的にそれを検出する。さらに、OSや動作させるアプリケーションに関してもハッシュ値を持つことが可能であり、TPMに対応したOSやアプリケーションならば、その改ざんチェックも行う。こうしてシステムのブートからアプリケーションの起動まで、順を追って正当性を確認していくことで、システムがハックされていないかどうかを確認するのである。

 さらに、TPMには搭載システムとは完全に独立した乱数発生装置と非対称暗号鍵生成装置が内蔵されており、RSA暗号を内部で処理できる。暗号処理に利用する秘密鍵は、ハッシュ値の保存にも利用しているセキュアな不揮発メモリに保管されるため、搭載システム上で動作するソフトウェアは暗号化処理の過程をスヌープ(のぞき見)できないだけでなく、秘密鍵に関してもその存在にまったく触れることができない。

ハードウェアによるブラックボックス

 ご存じのように秘密鍵を用いる暗号化アルゴリズムでは、秘匿している鍵を盗まれない限り破ることはできないため、安全に暗号処理を行える。上記の不揮発性メモリには電子証明書も保管できるため、電子証明書の改ざんや入れ替えといったことも不可能だ。

 もしTPMが存在しない場合、ソフトウェアで暗号処理を行う必要があるため、秘密鍵はシステム内のアクセスできる場所に置かなければならない。たとえ鍵の置き場所を巧みに隠したとしても、今度はメモリ上に鍵が存在する際の処理をうまく実装せねば、簡単に鍵を検索される可能性が出てくる。

 これは電子証明書などの場合も同様で、証明書をすべてソフトウェアで扱う限り、その改ざんや差し替えを完全に防ぐことはできない。そもそも、システムのBIOSから改ざんされていれば、その上でどのような強固なOSを動かしても意味がなくなってしまう。そこでハードウェアの力を用いて、システムとは独立したブラックボックスによって高い信頼性を実現しようと開発されたのがTPMだ。

 vProの仕様に含まれているTPMは1.2と呼ばれるバージョンであり、Windows VistaおよびWindows Server 2003のセキュリティ機能がTPM 1.2を基礎に開発されている。中でも代表的なのが、安全なデータの保管庫をOS内に作り出せるBitLockerだ。

 次回はBitLockerを中心に、WindowsにおけるTPMの応用について話を進めていきたい。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ