(57)【要約】【課題】  複数の情報処理装置用の耐タンパ・デバイス内パスワードのみを変更する。【解決手段】  情報処理装置(100)において、ＴＰＭは第１ＴＰＭ鍵を格納し第３ＴＰＭ鍵を暗号化し、鍵管理部は、第３のＴＰＭ鍵をデータベースに格納し、第２ＴＰＭ鍵生成用パラメータをＴＰＭから受取って耐タンパ・デバイス(200)に供給し、耐タンパ・デバイスから第１ＴＰＭ鍵で暗号化した第２のＴＰＭ鍵(620)を取込み、第２ＴＰＭ鍵と、第２ＴＰＭ鍵で暗号化した第３のＴＰＭ鍵とをＴＰＭに渡す。ＴＰＭは、耐タンパ・デバイスからパスワード・チェック情報に対応するパスワード(526)を取込み、パスワード・チェック情報を用いてパスワードを検証し、パスワードが正しいとき、第１ＴＰＭ鍵で第２ＴＰＭ鍵を復号し、復号した第２ＴＰＭ鍵で第３ＴＰＭ鍵を復号し、復号した第３ＴＰＭ鍵でファイル復号用の暗号化暗号鍵を復号する。処理部は、復号した暗号鍵でファイルを復号する。【選択図】  図２
2006080636.tif 000002
【特許請求の範囲】
【請求項１】
ＴＰＭと、鍵データベースを管理する鍵管理部と、メモリと、ファイルを暗号および復号するファイル処理部と、を具え、耐タンパ・デバイスと交信可能な情報処理装置であって、
前記ＴＰＭは、第１のＴＰＭ鍵を格納し、第３のＴＰＭ鍵を暗号化し、
前記鍵管理部は、前記第３のＴＰＭ鍵を前記データベースに格納して管理し、前記情報処理装置が前記耐タンパ・デバイスと交信を開始したとき、第２のＴＰＭ鍵を生成するためのパラメータを前記ＴＰＭから受け取って前記耐タンパ・デバイスに供給して、前記耐タンパ・デバイスから、前記第１のＴＰＭ鍵を用いて暗号化された前記第２のＴＰＭ鍵を取り込んで、前記第２のＴＰＭ鍵と、前記第２のＴＰＭ鍵を用いて暗号化された第３のＴＰＭ鍵とを前記ＴＰＭに渡し、
前記ＴＰＭは、前記第２のＴＰＭ鍵にパスワード・チェック情報が含まれていたときは、前記耐タンパ・デバイスから前記パスワード・チェック情報に対応するパスワードを取り込んで、前記取り込んだパスワード・チェック情報を用いて前記取り込んだパスワードを検証し、前記パスワードが正しいことが検証されたときは、前記第１のＴＰＭ鍵を用いて前記第２のＴＰＭ鍵を復号し、前記復号された第２のＴＰＭ鍵を用いて前記第３のＴＰＭ鍵を復号し、前記復号された第３のＴＰＭ鍵を用いて、前記ファイルを復号するための暗号化された暗号鍵を復号し、
前記ファイル処理部は、前記復号された暗号鍵を用いて前記ファイルを復号することを特徴とする、情報処理装置。
【請求項２】
前記鍵管理部は、前記情報処理装置に前記耐タンパ・デバイスが結合されたときに、前記第２のＴＰＭ鍵を前記メモリに一時的に格納し、前記情報処理装置から前記耐タンパ・デバイスが分離されたときに、前記メモリに格納された前記第２のＴＰＭ鍵を削除することを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記鍵管理部は、前記情報処理装置に前記耐タンパ・デバイスが結合されたときに前記第２のＴＰＭ鍵を前記メモリに格納し、前記情報処理装置から前記耐タンパ・デバイスが分離された後、再び前記情報処理装置に前記耐タンパ・デバイスが結合されたときに、前記耐タンパ・デバイスから取り込んだ新しい第２のＴＰＭ鍵で前記メモリに格納されていた前記第２のＴＰＭ鍵を更新することを特徴とする、請求項１に記載の情報処理装置。
【請求項４】
前記ＴＰＭは、前記情報処理装置に前記耐タンパ・デバイスが結合されたときに、前記第２のＴＰＭ鍵を生成するためのパラメータと、第４のＴＰＭ鍵を用いて生成した署名と、予めＣＡ局によって認証された前記第４のＴＰＭ鍵の属性証明書とを、前記鍵管理部を介して前記前記耐タンパ・デバイスに送ることを特徴とする、請求項１に記載の情報処理装置。
【請求項５】
別の情報処理装置と交信するための端子と、ＴＰＭ鍵の生成部と、メモリとを具える情報処理装置であって、
前記メモリは、暗号化鍵と、復号鍵と、少なくとも１つのパスワードと、外部のＴＰＭ鍵の公開鍵とを格納し、
前記生成部は、前記パスワードから前記パスワードを検証するための情報を生成し、前記外部のＴＰＭ鍵の公開鍵を用いて前記復号鍵を暗号化して、前記パスワードを検証するための情報と、前記暗号化された復号鍵とを含むＴＰＭ鍵を生成して、前記別の情報処理装置に前記生成されたＴＰＭ鍵を供給するよう構成されていることを特徴とする、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置のＴＣＧシステムにおける耐タンパ・デバイスを用いた認証に関する。
【背景技術】
【０００２】
例えば、ノートブック型パーソナル・コンピュータ、デスクトップ型パーソナル・コンピュータおよび携帯電話機のような情報処理装置または端末において暗号化されたファイルを開くために、パスワードを格納している例えばＩＣカード、スマートカードまたはＵＳＢトークンのような耐タンパ・デバイスを、ユーザが情報処理装置に結合させてユーザの認証を行ってその暗号化ファイルを復号して開くことを許容するようにしたＴＣＧ（Trusted Computing Group）システムがある。このシステムは、通常、その情報処理装置で生成されたＴＰＭ鍵のファイルをハードディスク上に保持している。ＴＰＭ鍵には、その暗号化ファイルを復号するのに必要な復号鍵と、復号を許可するためのパスワード・チェック用の情報とが含まれている。ユーザが暗号化ファイルを復号する際に、ＴＰＭ鍵がハードディスクからセキュリティ・チップと呼ばれるＴＰＭ（Trusted Platform Module、トラステッド・プラットフォーム・モジュール）にロードされ、耐タンパ・デバイス内のパスワードもＴＰＭにロードされる。両方のパスワードが一致した場合に、セキュリティ・チップに読み込まれた暗号／復号鍵を用いてその暗号化ファイルを復号することができる。
【０００３】
ＴＣＧシステムの安全性を維持するためには、耐タンパ・デバイス内に格納されているパスワードは定期的に更新する必要がある。パスワードを更新するためには、耐タンパ・デバイスが情報処理装置に結合され、キーボードを通して新しいパスワードが入力されて、パスワードが変更される。複数の情報処理装置においてＴＣＧシステムを利用している場合には、その情報処理装置の台数分について更新作業を行う必要がある。この更新作業はユーザにとって煩雑である。
【０００４】
２００１年２月２２日付けのＰＣＴ出願の国際公開公報ＷＯ  ０１／０１３１９８（特許文献１）には、データの操作を制限するように適合化されたコンピュータシステムが記載されている。そのコンピュータシステムは、プラットフォームのユーザがデータに対して要求された操作を行うことを許諾されているかどうかをチェックするため及びデータの使用を可能にするためのセキュリティオペレータを有するコンピュータプラットフォームと、ユーザの識別を含む携帯型の信頼できるモジュールであって、その信頼できるモジュールが予測された形態で動作し、無許可の外部の修正に抵抗するよう適合化されたコンポーネントであるモジュールと、データに関してユーザのライセンス許諾を指定するアクセスプロファイルとを含む。コンピュータプラットフォームは、プラットフォームの信頼できるモジュールを含み、このモジュールは携帯型の信頼できるモジュールとの相互認証に従事し、セキュアオペレータを含む。セキュアオペレータは、要求された操作が携帯型の信頼できるモジュールに含まれる使用された識別に対して許諾されているかどうかを判定するために、アクセスプロファイルをチェックするように適合化される。
【特許文献１】ＷＯ  ０１／０１３１９８
【発明の開示】
【発明が解決しようとする課題】
【０００５】
複数の情報処理装置に用いられる認証用の１つの耐タンパ・デバイスについて、セキュリティのためにパスワードを変更する場合、通常、その全ての情報処理装置に格納されているパスワードも変更する必要がある。そのため、耐タンパデバイスと情報処理装置の全てのパスワードを整合性をとって変更するのは煩雑である。また、ＴＣＧシステムでは、認証用の耐タンパ・デバイスがなくても端末内のハードディスク上のデータを権限のない者によって解析される危険性がある。
【０００６】
発明者たちは、セキュリティのために複数の情報処理装置用のパスワードを変更する場合、複数の情報処理装置に用いられる認証用の１つの耐タンパ・デバイス内のパスワードのみを変更すればよいようにすると有利である、と認識した。
【０００７】
本発明の目的は、情報処理装置に用いられる認証用の１つの耐タンパ・デバイスについて、セキュリティのためにパスワードを変更する場合、そのデバイス内のパスワードのみを変更すればよいようにすることである。
【課題を解決するための手段】
【０００８】
本発明の特徴によれば、ＴＰＭと、鍵データベースを管理する鍵管理部と、メモリと、ファイルを暗号および復号するファイル処理部と、を具え、を具え、そのＴＰＭは、第１のＴＰＭ鍵を格納し、第３のＴＰＭ鍵を暗号化し、その鍵管理部は、その第３のＴＰＭ鍵をそのデータベースに格納して管理し、その情報処理装置がその耐タンパ・デバイスと交信を開始したとき、第２のＴＰＭ鍵を生成するためのパラメータをそのＴＰＭから受け取ってその耐タンパ・デバイスに供給して、その耐タンパ・デバイスから、その第１のＴＰＭ鍵を用いて暗号化されたその第２のＴＰＭ鍵を取り込んで、その第２のＴＰＭ鍵と、その第２のＴＰＭ鍵を用いて暗号化された第３のＴＰＭ鍵とをそのＴＰＭに渡し、そのＴＰＭは、その第２のＴＰＭ鍵にパスワード・チェック情報が含まれていたときは、その耐タンパ・デバイスからそのパスワード・チェック情報に対応するパスワードを取り込んで、その取り込んだパスワード・チェック情報を用いてその取り込んだパスワードを検証し、そのパスワードが正しいことが検証されたときは、その第１のＴＰＭ鍵を用いてその第２のＴＰＭ鍵を復号し、その復号された第２のＴＰＭ鍵を用いてその第３のＴＰＭ鍵を復号し、その復号された第３のＴＰＭ鍵を用いて、そのファイルを復号するための暗号化された暗号鍵を復号する。そのファイル処理部は、その復号された暗号鍵を用いてそのファイルを復号する。
【０００９】
本発明の別の特徴によれば、情報処理装置は、別の情報処理装置と交信するための端子と、ＴＰＭ鍵の生成部と、メモリとを具え、そのメモリは、暗号化鍵と、復号鍵と、少なくとも１つのパスワードと、外部のＴＰＭ鍵の公開鍵とを格納し、その生成部は、そのパスワードからそのパスワードを検証するための情報を生成し、その外部のＴＰＭ鍵の公開鍵を用いてその復号鍵を暗号化して、そのパスワードを検証するための情報と、その暗号化された復号鍵とを含むＴＰＭ鍵を生成して、その別の情報処理装置にその生成されたＴＰＭ鍵を供給する。
【００１０】
また、本発明は、上述の情報処理装置を実現する方法に関する。
【発明の効果】
【００１１】
本発明によれば、複数の情報処理装置に用いられる認証用の１つの耐タンパ・デバイスについて、セキュリティのためにパスワードを変更する場合、そのデバイス内のパスワードのみを変更すればよく、情報処理装置内のパスワードは不要になるので、パスワード変更の作業が非常に簡単になる。
【発明を実施するための最良の形態】
【００１２】
本発明の実施形態を、図面を参照して説明する。図面において、同様の構成要素には同じ参照番号が付されている。
【００１３】
図１は、本発明の実施形態による、情報処理装置１００および認証用の耐タンパ・デバイス２００の概略的な構成を示している。情報処理装置１００は、例えば、パーソナル・コンピュータ、携帯電話機および情報処理端末であってもよい。耐タンパ・デバイス２００は、分析的な暗号解読の手法による攻撃に対する保護対策を施された、例えば、ＩＣカード、スマートカードおよびＵＳＢトークンであってもよい。情報処理装置１００は、ハードウェア（ＨＷ）１１０として、キーボードおよびマウスを含む入力装置１１２、ディスプレイおよびスピーカを含む情報提示部１１４、プロセッサ１１６、セキュリティ・チップと呼ばれるＴＰＭ（Trusted Platform Module）１２０、ＴＣＧの規格に準拠しＴＰＭ用の暗号化および復号用の鍵であるＴＰＭ鍵を一時記憶するキャッシュメモリ１１８、およびハードディスク（ＨＤＤ）１３０を含んでいる。情報処理装置１００は、ソフトウェア（ＳＷ）１５０として、ＯＳ（オペレーテョイング・システム）１５２、ＴＰＭ鍵のデータベース（ＤＢ）１５６を有するＴＳＳ即ちＴＣＧソフトウェア・スタック（TCG Software Stack）１５４、ファイルを作成し編集し提示するためのアプリケーション１５８、および耐タンパ・デバイス２００用のデバイス・ドライバ１６０を含んでいる。耐タンパ・デバイス２００は、プロセッサまたはＣＰＵ２１０、メモリ２２０およびＩ／Ｏ２３０を含んでいる。プロセッサ２１０は、ソフトウェアまたはハードウェアの形態の諸機能を実行する。ＴＰＭ１２０は、その外部に延長されたＳＭバス１２１を有する。デバイス・ドライバ１６０は、パスワード設定機能１６２を含んでいる。耐タンパ・デバイス２００は、ＴＰＭ鍵を生成するＴＰＭ鍵生成機能２１２を含み、さらにパスワード設定機能２１４を含んでいてもよい。
【００１４】
図１において、ユーザによって耐タンパ・デバイス２００がそのＵＳＢ端子２６２を用いて情報処理装置１００のＵＳＢ端子１６２に結合されて、情報処理装置１００は、耐タンパ・デバイス２００から認証用の情報およびＴＰＭ鍵を受け取る。耐タンパ・デバイス２００は、さらに、そのＳＭバス１２１に結合される専用の通信ケーブル１２２を介して情報処理装置１００と接続されるようにしてもよい。
【００１５】
図２は、本発明の実施形態による、耐タンパ・デバイス２００から情報処理装置１００への認証用のＴＰＭ鍵６２０およびパスワード５２６の供給と、情報処理装置１００におけるＴＰＭ鍵６２０およびパスワード５２６を用いた認証処理および暗号化されたファイル暗号／復号鍵の復号処理と、を示している。ＴＰＭ１２０と耐タンパ・デバイス２００は、ＵＳＢ端子１６２および２６２に加えて、そのＳＭバス１２１および通信ケーブル１２２を介して両者の間で、認証用の情報、例えばパラメータおよびパスワードのやりとりをするようにしてもよい。
【００１６】
図３は、図２におけるＴＰＭ鍵６００、６２０、６４０、６５０および６６０の各々の構造を示している。ＴＰＭ鍵は、既知の形態で、鍵の属性パラメータ５２、公開鍵５４、鍵を使用するための認可情報５６、秘密鍵５８、および改ざん検出情報６０を含んでいる。公開鍵５４と秘密鍵５８は公開鍵暗号化方式によるもので、公開鍵５４は暗号化鍵として用いられ、秘密鍵５８は復号鍵として用いられる。ＴＰＭ鍵６００、６２０、６４０、６５０および６６０の各々の認可情報５６、秘密鍵５８および改ざん検出情報６０は、別のＴＰＭ鍵の公開鍵を用いて暗号化され、その公開鍵と対をなすその別のＴＰＭ鍵中の秘密鍵を用いて復号される。
【００１７】
図４は、階層的に暗号化されたＴＰＭ鍵６００、６２０および６４０を用いてファイル暗号鍵１８４を暗号化する方法を説明するための図である。図において、ＥＮＣ（）は、括弧内の鍵が暗号化されることを表している。
【００１８】
耐タンパ・デバイス２００を準備するために、ユーザは、耐タンパ・デバイス２００をＵＳＢ端子１６２および２６２を介して情報処理装置１００に結合させて、ＴＳＳ１５４を起動する。ＴＰＭ１２０は、最初に、暗号化されていないＴＰＭ鍵６００および６４０を生成する。耐タンパ・デバイス２００は、ＴＰＭ鍵６２０用の対をなす公開鍵と秘密鍵を有する。
【００１９】
次いで、ＴＳＳ１５４は、ＴＰＭ１２０からＴＰＭ鍵６００の公開鍵６０４を受け取って耐タンパ・デバイス２００にそれを渡す。耐タンパ・デバイス２００の生成機能２１２は、ＴＰＭ鍵６００の公開鍵６０４を用いてＴＰＭ鍵６２０の秘密鍵６２８を暗号化し、即ちＴＰＭ鍵６００を用いてＴＰＭ鍵６２０を暗号化し、その暗号化された秘密鍵６２８を復号鍵６３０としてメモリ２２０に格納する。代替構成として、ＴＰＭ１２０は、ＴＳＳ１５４を介して耐タンパ・デバイス２００からＴＰＭ鍵６２０の秘密鍵６２８を受け取り、ＴＰＭ鍵６００の公開鍵６０４を用いてＴＰＭ鍵６２０の秘密鍵６２８を暗号化し、その暗号化された秘密鍵６２８をＴＳＳ１５４を介して耐タンパ・デバイス２００に渡してもよい。この場合、その暗号化された秘密鍵６２８はＴＰＭ１２０およびＴＳＳ１５４から削除される。ＴＳＳ１５４は、耐タンパ・デバイス２００からＴＰＭ鍵６２０の公開鍵６２４を受け取ってデータベース１５６に保存し、ＴＰＭ１２０にそれを渡す。ＴＰＭ１２０は、ＴＰＭ鍵６２０の公開鍵６２４を用いてＴＰＭ鍵６４０の秘密鍵６４８を暗号化し、即ちＴＰＭ鍵６２０を用いてＴＰＭ鍵６４０を暗号化し、暗号化されたＴＰＭ鍵６４０をＴＳＳ１５４に渡す。
【００２０】
暗号化されていないＴＰＭ鍵６００は外部に取り出せない形態でＴＰＭ１２０内に保持される。ＴＰＭ１２０は、ＴＰＭ鍵６００を用いて階層的に暗号化された他のＴＰＭ鍵６４０、６５０、．．．６６０を要求に応じてＴＳＳ１５４に渡し、その渡したＴＰＭ鍵をＴＰＭ１２０内から削除する。ＴＳＳ１５４は、ＴＰＭ鍵６２０の所在、即ちそれが耐タンパ・デバイス２００に存在することを示す情報を、ＴＰＭ鍵６２０の公開鍵６２４とともにデータベース１５６で管理する。ＴＳＳ１５４は、ＴＰＭ１２０から受け取った互いに関連するＴＰＭ鍵６４０、６５０、．．．６６０をＴＰＭ鍵のデータベース１５６に格納して管理する。
【００２１】
アプリケーション１５８は、ファイル暗号鍵１８４を生成し、そのファイル暗号鍵１８４を用いて非暗号化ファイル１７２を暗号化して、暗号化ファイル１７４を生成する。ファイル暗号鍵１８４は、ＴＰＭ１２０によってＴＰＭ鍵６４０の公開鍵６４４を用いて暗号化されて、暗号化されたファイル暗号鍵１８２が生成される。
【００２２】
従って、ＴＰＭ鍵６２０の暗号化された秘密鍵６２８はＴＰＭ鍵６００の秘密鍵６０８を用いて復号され、即ち暗号化されたＴＰＭ鍵６２０はＴＰＭ鍵６００を用いて復号される。同様に、ＴＰＭ鍵６４０の暗号化された秘密鍵６４８は、ＴＰＭ６２０のその復号された秘密鍵６２８を用いて復号される。ファイル暗号鍵１８２は、ＴＰＭ６４０のその復号された秘密鍵６４８を用いて復号されて、ファイル暗号鍵１８４が復元される。暗号化ファイル１７４は、その復元されたファイル暗号鍵１８４を用いて復号されて、非暗号化ファイル１７２が復元される。
【００２３】
図５は、耐タンパ・デバイス２００に新しいパスワードを設定する手順を示している。この手順は、耐タンパ・デバイス２００を初めて使用するときにも行われる。耐タンパ・デバイス２００には、耐タンパ・デバイス２００用の暗証番号ＰＩＮ（Personal Identity Number）がメモリ２２０に予め格納されている。ステップ３８２において、ユーザは、デバイス・ドライバ１６０のパスワードを設定する機能１６２を起動する。ステップ３８４において、デバイス・ドライバ１６０（パスワード設定機能１６２）は、ユーザに新しいパスワードおよびＰＩＮを入力するよう指示する。ステップ３８６において、デバイス・ドライバ１６０は、ユーザによって入力された耐タンパ・デバイス２００に新しいパスワード５２６およびＰＩＮを渡す。ステップ３８８において、耐タンパ・デバイス２００は、ＰＩＮを検証し、ＰＩＮが正しいことが検証された場合にはその新しいパスワード５２６をメモリ２２０に格納し、新しいパスワード５２６に基づいてパスワード・チェック情報６２６を生成してメモリ２２０に格納する。前のパスワードおよびパスワード・チェック情報は上書きされてもよい。ステップ３９０において、耐タンパ・デバイス２００は、新しいパスワードの設定が完了したことを表す応答をデバイス・ドライバ１６０に送る。
【００２４】
図２を参照して、情報処理装置１００において、アプリケーション１５８で作成したファイルを暗号化する概略の手順を説明する。
【００２５】
ファイルの暗号化において、耐タンパ・デバイス２００は関与しない。ユーザが、アプリケーション１５８を用いて或る非暗号化ファイル即ち平文のファイルを作成して、そのファイルを暗号化するようにアプリケーション１５８を操作すると、アプリケーション１５８は、そのファイル用の暗号化されていないファイル暗号／復号鍵（以下、ファイル暗号鍵という）１８４を生成し、そのファイル暗号鍵１８４を用いてそのファイルを暗号化して、暗号化されたファイル即ち暗号文のファイル１７４を生成する。そのファイル暗号鍵１８４は、例えば３ＤＥＳまたはＡＥＳのような共通鍵暗号化規格に従う鍵である。
【００２６】
ファイル暗号鍵１８４は、ＴＰＭ１２０によって、ＴＳＳ１５４が管理しているＴＰＭ鍵６４０〜６６０の中のＴＰＭ鍵６４０の公開鍵６４４を用いて暗号化されて、暗号化されたファイル暗号鍵１８２が生成される。その暗号化されたファイル暗号鍵１８２は、暗号化されたファイル１７４とともに、ユーザによって選択されたハードディスク１４０中の記憶領域に格納される。そのＴＰＭ鍵６４０中の秘密鍵６４８は、上述のように、耐タンパ・デバイス２００に格納されているＴＰＭ鍵６２０の公開鍵６２４で予め暗号化されている。ＴＰＭ鍵６２０の秘密鍵６２８は、ＴＰＭ１２０のＴＰＭ鍵６００の公開鍵６０４で暗号化されている。ファイル暗号鍵１８４の暗号化に耐タンパ・デバイス２００中のＴＰＭ鍵６２０は用いられない。
【００２７】
情報処理装置１００において、ユーザが情報処理装置１００に耐タンパ・デバイス２００を結合してアプリケーション１５８上でＴＭＰ鍵６２０を必要とする暗号化ファイル１７４を開く操作を行ったとき、ＴＰＭ１２０からデバイス・ドライバ１６０を介して耐タンパ・デバイス２００に所定のパラメータが送られる（ステップ３１６）。情報処理装置１００は、耐タンパ・デバイス２００からデバイス・ドライバ１６０を介して暗号化されたＴＰＭ鍵６２０を受け取って（ステップ３２４）、キャッシュメモリ１１８にＴＰＭ鍵６２１として一時的に格納させる。ＴＰＭ１２０は、そのＴＰＭ鍵６２１を取り込む（ステップ３２６）。ＴＰＭ１２０は、次いで通常の形態で耐タンパ・デバイス２００からパスワード５２６を取り込み（ステップ３３８）、ＴＰＭ鍵６２１内のパスワード・チェック情報６２６に基づいて、取り込んだパスワード５２６の正しさをチェックする。パスワード・チェック情報６２６はパスワード５２６と同じ情報であってもよい。この場合、そのパスワード５２６とパスワード・チェック情報６２６が照合されて一致するかどうかがチェックされる。パスワード２５６が正しい場合は、ＴＰＭ１２０は、ＴＰＭ鍵６００を用いてＴＰＭ鍵６２１を復号し、復号されたＴＰＭ鍵６２１の復号鍵６３０、即ち、復号された秘密鍵６２８を用いて、暗号化ファイル１７４を復号するための暗号化されたファイル暗号鍵１８２を復号して暗号化されていないファイル暗号鍵１８４を生成し、そのファイル暗号鍵１８４をアプリケーション１５６に渡す。アプリケーション１５６は、その復号されたファイル暗号鍵１８４を用いて暗号化ファイル１７４を復号して、非暗号化ファイル１７２を生成する。
【００２８】
図６は、本発明の実施形態による、ファイル暗号鍵１８２を復号するための、情報処理装置１００内のＴＰＭ１２０、ＴＳＳ１５４およびデバイス・ドライバ１６０と、耐タンパ・デバイス２００との間のやりとりを示している。
【００２９】
図２および６を参照すると、ユーザが暗号化ファイル１７４を開く操作を行ったとき、ＯＳ１５２またはアプリケーション１５８は、ステップ３０２において、暗号化ファイル１７４を復号するための暗号化されたファイル暗号鍵１８２の復号をＴＳＳ１５４に要求する。その要求に応答して、ステップ３０４において、ＴＳＳ１５４はデータベース１５６を検索して、暗号化されたファイル暗号鍵１８２に関連するＴＰＭ鍵６４０等のリストを作成する。そのリスト中に耐タンパ・デバイスによって管理されているＴＰＭ鍵６２０の所在を表す識別情報および公開鍵が存在するときは、ＴＳＳ１５４は、ステップ３０６においてデバイス・ドライバ１６０にＴＰＭ鍵６２０を要求する。ステップ３０８において、デバイス・ドライバ１６０は情報処理装置１００の情報提示部１１４のディスプレイ上で耐タンパ・デバイス２００をＵＳＢ端子１６２および２６２を介して情報処理装置１００に結合するようユーザに指示する。代替構成として、通信ケーブル１２２を介して耐タンパ・デバイス２００を情報処理装置１００に結合させてもよい。また、ＵＳＢ端子１６２および２６２と通信ケーブル１２２とを介して耐タンパ・デバイス２００を情報処理装置１００に結合させてもよい。
【００３０】
耐タンパ・デバイス２００がそのＵＳＢ端子１６２および２６２を介しておよび／または通信ケーブル１２２を介して情報処理装置１００に結合された後、ステップ３１２において、ＴＰＭ１２０はＴＳＳ１５４を介してデバイス・ドライバ１６０に、ＴＰＭ鍵６２０を生成するためのパラメータを渡す。ステップ３１６において、デバイス・ドライバ１６０は、耐タンパ・デバイス２００にＴＰＭ鍵６２０の要求およびそのパラメータを渡す。耐タンパ・デバイス２００のＴＰＭ鍵生成機能２１２は、ステップ３２０において、そのパラメータに従って図２のＴＰＭ鍵６２０を生成する。
【００３１】
ステップ３２４において、耐タンパ・デバイス２００は、その生成したＴＰＭ鍵６２０をデバイス・ドライバ１６０を介してＴＳＳ１５４に渡す。ＴＳＳ１５４は、受け取ったＴＰＭ鍵６２０をキャッシュメモリ１１８にＴＰＭ鍵６２１として一時的に格納し、ステップ３２６において、そのＴＰＭ鍵６２１、およびファイル暗号鍵１８２に関連する別のＴＰＭ鍵６４０と、暗号化されたファイル復号鍵１８２とを、ＴＰＭ１２０に渡し、ＴＰＭ鍵６２１およびそれに関連する鍵、即ち暗号化されたファイル暗号鍵１８２およびＴＰＭ鍵６４０、の復号を要求する。
【００３２】
その受け取ったＴＰＭ鍵６２１中にパスワード・チェック情報６２６が含まれている場合は、ＴＰＭ１２０は、ステップ３２８においてそのＴＰＭ鍵６２１を使用するためのパスワードをＴＳＳ１５４に要求する。ステップ３３０において、ＴＳＳ１５４は、そのパスワードの要求、およびＴＰＭ１２０に転送すべきデータ、この場合ファイル暗号鍵１８２の復号の要求を表すデータを、デバイス・ドライバ１６０に渡す。デバイス・ドライバ１６０は、ステップ３３２において、情報処理装置１００のディスプレイ上で耐タンパ・デバイス用の暗証番号ＰＩＮをキーボード入力するようユーザに指示する。ステップ３３４において、デバイス・ドライバ１６０は、パスワードの要求、そのデータ、および入力されたＰＩＮを耐タンパ・デバイス２００に供給する。
【００３３】
ステップ３３６において、耐タンパ・デバイス２００は、受け取ったＰＩＮを検証して、ステップ３３８において、セキュリティのためにＨＭＡＣ（Keyed Hashing for Message Authentication Code）を用いて、ＴＰＭ鍵６２０即ち６２１の使用の許可を表す、暗号化されたファイル暗号鍵１８２を復号するよう命令するコマンドおよびパスワード５２６を、デバイス・ドライバ１６０およびＴＳＳ１５４を介してキュリティ・チップ１２０に供給する。ＴＰＭ１２０は、パスワード・チェック情報６２６を用いてパスワード２５２をチェックする。パスワード５２６が正しい場合は、ＴＰＭ鍵６００、６２１および６４０を用いて暗号化されたファイル暗号鍵１８２を復号して復号されたファイル暗号鍵１８４を生成する。ステップ３４０において、ＴＰＭ１２０はその復元された暗号化されてないファイル暗号鍵１８４をＴＳＳ１５４に渡す。ステップ３４２において、ＴＳＳ１５４は、そのファイル暗号鍵１８４をＯＳ１５２またはアプリケーション１５８に渡す。ＯＳ１５２またはアプリケーション１５８は、そのファイル暗号鍵１８４を用いて暗号化ファイル１７４を復号して平文のファイル１７２を復元し、アプリケーション１５８はその復元された平文のファイル１７２を開いて情報提示部１１４に提示する。
【００３４】
図７は、本発明の実施形態による、パスワードの変更と、その後、耐タンパ・デバイス２００が情報処理装置１００から分離された後における、ＴＰＭ１２０、ＴＳＳ１５４およびデバイス・ドライバ１６０における処理手順を示している。
【００３５】
耐タンパ・デバイス２００が情報処理装置１００のＵＳＢ端子１６２から分離されたとき、デバイス・ドライバ１６０はステップ３５２においてそれを検出する。ステップ３５４において、デバイス・ドライバ１６０はロードしたＴＰＭ鍵６２１をキャッシュメモリ１１８から削除するようＴＳＳ１５４に命令する。ＴＳＳ１５４は、ステップ３５６においてデータベース１５６を更新し、ステップ３５８において、ロードしたＴＰＭ鍵６２１をキャッシュメモリ１１８から削除するようＴＰＭ１２０に命令する。ＴＰＭ１２０は、ロードしたＴＰＭ鍵６２１をキャッシュメモリ１１８から削除してデータベース１５６を更新して、ステップ３６０においてその削除の完了をＴＳＳ１５４に通知する。ＴＳＳ１５４は、ステップ３６２においてその削除の完了をデバイス・ドライバ１６０に通知する。
【００３６】
図６において、ステップ３３６においてＰＩＮを検証しステップ３４８において前のパスワードを渡した後、ユーザは、耐タンパ・デバイス２００のパスワード５２６およびそれに対応するパスワード・チェック情報６２６を変更しようとするとき、図７のステップ３４８において、情報処理装置１００のデバイス・ドライバ１６０のパスワード設定機能１６２を起動して、ユーザに入力装置１１２のキーボードを用いて新しいパスワードを入力させる。ステップ３５０において、デバイス・ドライバ１６０は、その新しいパスワードを、耐タンパ・デバイス２００に渡す。耐タンパ・デバイス２００のパスワード設定機能２１２は、メモリ２２０に格納されている前のパスワード５２６をその新しいパスワードで上書きし、それに対応してメモリ２２０に格納されているＴＰＭ鍵６２０内のパスワード・チェック情報６２６の内容をも変更する。この場合、情報処理装置１００にはパスワードに関する情報が格納されないので、パスワードの変更のために情報処理装置１００に格納されている情報を変更する必要はない。耐タンパ・デバイス２００は複数の情報処理装置で共用できる。従って、耐タンパ・デバイス２００のパスワードを変更したときにも、パスワードの変更のために複数の情報処理装置に格納されている情報を変更する必要はない。
【００３７】
図８は、本発明の別の実施形態による、情報処理装置１００と耐タンパ・デバイス２０２の間で行われるパスワード５２６およびＴＰＭ鍵６２０内のパスワード・チェック情報６２６の変更の別の方法を示している。
【００３８】
上述のようにユーザが手動でパスワード５２６を変更する代わりに、耐タンパ・デバイス２０２が情報処理装置１００のＵＳＢ端子１６２に結合される度に、情報処理装置１００のデバイス・ドライバ１６０のパスワード設定機能１６２は、ステップ３３８の後、新しいパスワードの設定の要求を耐タンパ・デバイス２０２に送るか、または新しいパスワードを生成するための乱数Ｒを発生して耐タンパ・デバイス２０２に供給してもよい。乱数供給部２４０は、その要求に従って乱数Ｒを発生しまたは乱数Ｒを受け取って、耐タンパ・デバイス２０２のプロセッサ２１０上に実装されたパスワード設定機能２１２に乱数Ｒを渡す。パスワード設定機能２１２は、その乱数Ｒに従って新しいパスワードを生成し、メモリ２２０に格納されている前のパスワード２５６をその新しいパスワードで上書きし、それに対応してメモリ２２０に格納されているＴＰＭ鍵２５０内のパスワード・チェック情報６２６の内容をも変更する。パスワードの変更は、図６のステップ３２０におけるＴＰＭ鍵の生成の前に行われてもよい。その後、情報処理装置１００からＴＰＭ鍵６２０が要求されたとき、耐タンパ・デバイス２００は、図６のステップ３２４において、その変更されたパスワード・チェック情報６２６を含むＴＰＭ鍵６２０を情報処理装置１００に供給する。パスワード５２６が要求されたとき、耐タンパ・デバイス２０２は、ステップ３３６において、その変更されたパスワード５２６を情報処理装置１００に供給する。
【００３９】
上述の実施形態では、キャッシュメモリ１１８内のＴＰＭ鍵６２１は、耐タンパ・デバイス２００が情報処理装置１００から分離された後に削除されるが、削除せずにキャッシュメモリ１１８内に残すようにしてもよい。この場合、ユーザが、耐タンパ・デバイス２００を持ってくるのを忘れたときでも、パスワード５２６を入力装置１１２のキーボードで入力することによって、キャッシュ１１８内のＴＰＭ鍵６２１を用いてファイル暗号鍵１８２を復号することが可能となる。この場合、耐タンパ・デバイス２０２が情報処理装置１００のＵＳＢ端子１６２に結合されたとき、デバイス・ドライバ１６０は、キャッシュメモリ１１８内のＴＰＭ鍵６２１と比較して耐タンパ・デバイス２００のＴＰＭ鍵６２０のパスワード・チェック情報６２６が更新されていると判定された場合には、その更新されたＴＰＭ鍵６２０でキャッシュメモリ１１８内のＴＰＭ鍵６２１を上書きする。
【００４０】
図９は、本発明のさらに別の実施形態による、それぞれ異なるパスワードが用いられる複数の情報処理装置１００および１０２に用いられる耐タンパ・デバイス２０４を示している。耐タンパ・デバイス２０４は、プロセッサ２１０によって実行される装置識別機能２７０を有し、互いに異なるパスワード５２６および５５６と、それぞれパスワード５２６および５５６に対応するパスワード・チェック情報６２６および６５６と、復号鍵６３０とを、メモリ２２０に格納している。
【００４１】
図６および９を参照すると、ステップ３１２において、ＴＰＭ１２０は、情報処理装置１００の固有の識別情報、例えばＴＰＭ鍵６００の公開鍵を含むパラメータをＴＳＳ１５４に渡す。ステップ３１６において、ＴＳＳ１５４は、デバイス・ドライバ１６０を介して、その識別情報を含むパラメータを耐タンパ・デバイス２０４に渡す。ステップ３２０において、耐タンパ・デバイス２０４の装置識別機能２７０は、その識別情報に従って、情報処理装置１００または１０２に対して、ＴＰＭ鍵６２２の中の対応するパスワード５２６または５５６と、パスワード・チェック情報６２６または６５６とを選択する。耐タンパ・デバイス２０４は、その選択されたパスワード５２６または５５６と、パスワード・チェック情報６２６または６５６とを用いてＴＰＭ鍵６２２を生成する。耐タンパ・デバイス２０４は、ステップ３２４において、パスワード・チェック情報６２６または６５６および復号鍵６３０を含むＴＰＭ鍵６２０を情報処理装置１００または１０２に渡し、ステップ３３８において、対応するパスワード５２６または６５６を情報処理装置１００または１０２に渡す。
【００４２】
図１０は、本発明のさらに別の実施形態による、通信機能を有する例えばＰＤＡ（Personal Digital Assistant）のような携帯端末７００によって複数の情報処理装置１００および１０２のＴＰＭ鍵６２１を変更するための通信を示している。情報処理装置１００は、図１に示された構成要素に加えて、ネットワーク・インタフェース（ＮＷ  Ｉ／Ｆ）を具えている。情報処理装置１０２は、情報処理装置１００と同様の構成を有する。この場合、キャッシュメモリ１１８におけるＴＰＭ鍵６２１は、ＴＳＳ１５４によって削除されない。携帯端末７００は、ＴＰＭ鍵６２０およびパスワード５２６を格納し、パスワード処理機能７２０およびネットワーク・インタフェース（ＮＷ  Ｉ／Ｆ）７１４を具えている。携帯端末７００のパスワード処理機能７２０は、ユーザによって携帯端末７００に入力されたパスワード５２６を処理する。情報処理装置１００および１０２と携帯端末７００とは、例えばブルートゥース規格の近距離無線通信、無線ＬＡＮまたは有線ＬＡＮのようなネットワークによって相互接続される。
【００４３】
図１０において、使用する情報処理装置１００および１０２に用いられる共通パスワードを一括して変更するために、ユーザは携帯端末７００のキーを操作して新しいパスワードを設定し、それによって、内部に格納されているパスワード５２６と、ＴＰＭ鍵６２０のパスワード・チェック情報６２６とを変更する。その新しいパスワードの設定は、新しいパスワードを格納した耐タンパ・デバイスのような情報記憶デバイスを携帯端末７００に結合することによって行ってもよい。その耐タンパ・デバイスは、パスワード５２６を格納しているが、ＴＰＭ鍵６２０を生成するのに必要なその他の情報を含んでいなくてもよい。携帯端末７００に新しいパスワードおよび新しいパスワード・チェック情報が格納された後、ユーザの操作に従って、携帯端末７００は情報処理装置１００および２００と通信して、変更されたパスワード・チェック情報６２６を含むＴＰＭ鍵６２０を情報処理装置１００および２００に供給する。情報処理装置１００は、キャッシュメモリ１１８に格納されているＴＰＭ鍵６２１を、受信したＴＰＭ鍵６２０で更新する。情報処理装置１０２も同様に動作する。ＴＰＭ１２０は、キャッシュメモリ１１８内の更新されたＴＰＭ鍵６２１を用いて、ユーザによってキーまたは情報記憶デバイスにより入力されたパスワードを検証し、ＴＰＭ鍵６４０の復号のためにキャッシュメモリ１１８内のＴＰＭ鍵６２１をＴＰＭ１２０に供給する。
【００４４】
図１１は、ユーザが図１、２、８および９の耐タンパ・デバイス２００、２０２および２０４、および携帯端末７００を紛失したときの対策を説明するための図である。上述のように、ＴＰＭ鍵６００はＴＰＭ１２０内にあり、ＴＰＭ鍵６００によって暗号化されたＴＰＭ鍵６２０が耐タンパ・デバイス２００、２０２または２０４、または携帯端末７００内にあり、ＴＰＭ６２０によって暗号化されたＴＰＭ鍵６４０、６５０、．．．６６０が、ＴＳＳ１５４のデータベース１５６に格納されているものとする。
【００４５】
ユーザが耐タンパ・デバイス２００、２０２または２０４または携帯端末７００を紛失したとき、情報処理装置１００の管理者は、管理者の別の耐タンパ・デバイスまたは記憶媒体に格納されている、ＴＰＭ鍵６２０のバックアップＴＰＭ鍵６２２を、ＴＰＭ１２０に与えて、ＴＰＭ鍵６００を用いてＴＰＭ鍵６２２を復号する。次いで、ＴＰＭ１２０は、ＴＰＭ鍵６００とは異なる新しいＴＰＭ鍵６０２を生成する。その別の耐タンパ・デバイスは、ＴＰＭ鍵６０２の公開鍵を用いてＴＰＭ鍵６２２の秘密鍵を暗号化する。その暗号化されたＴＰＭ鍵６２２は紛失したＴＰＭ６２０の代わりに用いられる。ＴＰＭ鍵６００は削除される。その暗号化されたＴＰＭ鍵６２２は、その別の耐タンパ・デバイスによって生成される。それによって、部外者によって、紛失した耐タンパ・デバイス２００のＴＰＭ鍵６２０がＴＰＭ１２０に不正にロードされるのを防止できる。
【００４６】
代替方法として、ユーザが耐タンパ・デバイス２００、２０２または２０４または携帯端末７００を紛失したとき、情報処理装置１００の管理者は、管理者の別の耐タンパ・デバイスまたは記憶媒体に格納されている、ＴＰＭ鍵６２０のバックアップＴＰＭ鍵６２２を、ＴＰＭ１２０に与えて、ＴＰＭ鍵６００を用いてＴＰＭ鍵６２２を復号する。復号されたＴＰＭ鍵６２２の秘密鍵を用いてＴＰＭ鍵６４０、６５０および６６０を復号する。次いで、ＴＰＭ鍵６２０とは異なる新しいＴＰＭ鍵６２３の公開鍵および秘密鍵を有する耐タンパ・デバイスが用意される。その耐タンパ・デバイスにおいて、ＴＰＭ鍵６００の公開鍵を用いてＴＰＭ鍵６２３の秘密鍵を暗号化する。ＴＰＭ１２０において、ＴＰＭ鍵６２３の公開鍵を用いてＴＰＭ鍵６４０、６５０および６６０の秘密鍵を暗号化する。それによって、部外者が紛失した耐タンパ・デバイスのＴＰＭ鍵６２０を用いてＴＰＭ鍵６４０を不正に復号するのを防止できる。
【００４７】
耐タンパ・デバイス２００が別の情報処理装置に結合されてその別の情報処理装置から偽の情報が耐タンパ・デバイス２００に渡されたときに、耐タンパ・デバイス２００内の情報が漏洩する可能性がある。これを防止するために、情報処理装置１００と耐タンパ・デバイス２００の間で互いに情報をやりとりするとき、次に説明するように両者の間で相互認証を行うようにしてもよい。
【００４８】
図１２は、本発明の実施形態による、情報処理装置１００と耐タンパ・デバイス２００の間で相互認証を行うためのＴＳＳ１５４へのＴＰＭ鍵の登録の手順を示している。
【００４９】
耐タンパ・デバイス２００のメモリ２２０には、ＴＰＭ鍵６００の公開鍵６０４を用いて暗号化されたＴＰＭ鍵６２０が予め格納されている。ステップ４０２において、ユーザによってＴＳＳ１５４のＴＰＭ鍵の登録機能１５７が起動される。ステップ４０４において、ＴＳＳ１５４は、ＴＰＭ鍵６００の公開鍵６０４またはその公開鍵６０４のハッシュ値をＴＰＭ１２０に要求する。ステップ４０６において、ＴＰＭ１２０は、図１１に示された耐タンパ・デバイス２００のＴＰＭ鍵６００の公開鍵６０４またはその公開鍵６０４のハッシュ値をＴＳＳ１５４に渡す。ステップ４０８において、ＴＳＳ１５４は、その公開鍵６０４またはハッシュ値を、デバイス・ドライバ１６０を介して耐タンパ・デバイス２００に渡す。ステップ４１０において、耐タンパ・デバイス２００は、デバイス・ドライバ１６０にＰＩＮを要求する。ステップ４１２において、デバイス・ドライバ１６０は、ユーザにＰＩＮを入力するよう指示する。ステップ４１４において、デバイス・ドライバ１６０は、耐タンパ・デバイス２００に入力されたＰＩＮを渡す。ステップ４１６において、耐タンパ・デバイス２００は、ＰＩＮをチェックしてそれが正しい場合は、その公開鍵６０４またはハッシュ値をメモリ２２０に格納してその登録を完了する。
【００５０】
ステップ４１８において、ＴＳＳ１５４は、ＴＰＭ鍵６００の公開鍵６０４を含むパラメータを、デバイス・ドライバ１６０を介して耐タンパ・デバイス２００に渡す。耐タンパ・デバイス２００は、受け取ったパラメータ中の公開鍵６０４を、既に登録されている公開鍵６０４またはそのハッシュ値を用いて検証して、その受け取った公開鍵６０４の正しさが検証された場合には、ＴＰＭ鍵６２０を生成して、デバイス・ドライバ１６０およびＴＳＳ１５４を介してそれをＴＰＭ１２０に渡す。ＴＰＭ１２０は、ＴＰＭ鍵６００を用いてＴＰＭ鍵６２０を復号して検証し、それが検証された場合には、ＴＳＳ１５４に応答を返す。ステップ４２６において、ＴＳＳ１５４は、ＴＰＭ鍵６２０の所在、即ち耐タンパ・デバイス２００に格納されていることと、ＴＰＭ鍵６２０の公開鍵６２４をデータベース１５６に保存する。それによって、ＴＰＭ鍵６２０の公開鍵６２４の登録が完了する。
【００５１】
図１３は、耐タンパ・デバイス２００によってＴＰＭ鍵６２０を生成するために、図１２において耐タンパ・デバイス２００に登録された公開鍵６０４とＴＳＳ１５４に登録された公開鍵６２４とに基づく、情報処理装置１００と耐タンパ・デバイス２００の間の相互認証の手順を示している。ステップ３０２〜３０８および３２４〜３４０は、図６のものと同様であり、再び説明することはしない。
【００５２】
ステップ３１４において、ＴＰＭ１２０は、ＴＰＭ鍵６００の公開鍵６０４を含むパラメータをＴＳＳ１５４を介してデバイス・ドライバ１６０に渡す。ステップ４１８において、デバイス・ドライバ１６０は、ＴＰＭ鍵６２０の要求と、公開鍵６０４を含むパラメータとを耐タンパ・デバイス２００に渡す。ステップ３２２において、耐タンパ・デバイス２００は、その公開鍵６０４を、登録されている公開鍵６０４またはそのハッシュ値を用いて検証し、その公開鍵６０４の正しさが検証できた場合は、ＴＰＭ鍵６２０を生成する。
【００５３】
図１４Ａおよび１４Ｂは、ＴＰＭ１２０内のＴＰＭ鍵６２５の属性証明書を用いて情報処理装置１００と耐タンパ・デバイス２００の間で相互認証を行う方法を説明するための図である。
【００５４】
図１４Ａにおいて、準備処理として、ＴＰＭ１２０によってＴＰＭ鍵６２５を生成し（図１１参照）、このＴＰＭ鍵６２５が移動できないこと、または取り出せないことを証明する属性証明書８０２を、認証局またはＣＡ局８００に発行するよう依頼する。その属性証明書８０２は、ＴＰＭ１２０に格納される。属性証明書８０２は、ＴＰＭ鍵６２５が移動できないことを示す値、移動できないＴＰＭ鍵６２５の公開鍵の値、およびこれら２つの値のハッシュ値をＣＡ局８００の秘密鍵を用いて暗号化したもの、を含んでいる。また、ＴＰＭ１２０によって、ＵＳＢ端子１６２を介して、その属性証明書８００を検証するためのＣＡ局８００の公開鍵８０４をルート証明書として耐タンパ・デバイス２００のメモリ２２０に格納しておく。
【００５５】
図１４Ｂにおいて、耐タンパ・デバイス２００が情報処理装置１００にＵＳＢ端子１６２を介して結合される。ＴＰＭ１２０は、図１３のステップ３１４においてＴＰＭ鍵６２０を生成するためのパラメータ（公開鍵６０４を含む）をＴＳＳ１５４に渡すときに、それとともに、ＴＰＭ１２０によるパラメータ中の公開鍵６０４の検証の結果と、その検証結果をＴＰＭ鍵６２５で署名したもの（即ちＴＰＭ鍵６２５の秘密鍵で暗号化したもの）、および属性証明書８０２を渡す。ステップ３１８において、ＴＳＳ１５４は、それらのパラメータ、検証結果とそれを署名したもの、および属性証明書８０２を耐タンパ・デバイス２００に渡す。
【００５６】
ステップ３２２において、耐タンパ・デバイス２００は、属性証明書８０２に改ざんがないかどうかについて、耐タンパ・デバイス２００内のルート証明書８０４を用いて属性証明書８０２を検証する。属性証明書８０２に改ざんがないことが検証された場合は、属性証明書８０２内のＴＰＭ鍵６２５の公開鍵を用いてその署名に改ざんがないことを検証し、それによってパラメータ内の公開鍵６０４に改ざんがないかどうかを検証する。それによって、パラメータ内の公開鍵６０４がＴＰＭ１２０内で管理されていることが確認できる。その公開鍵６０４に改ざんがない場合は、耐タンパ・デバイス２００は、ステップ３２４において、ＴＰＭ鍵６２０を生成してＴＳＳ１５４に渡す。
【００５７】
以上説明した実施形態は典型例として挙げたに過ぎず、その各実施形態の構成要素を組み合わせること、その変形およびバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
【００５８】
以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
（付記１）  ＴＰＭと、鍵データベースを管理する鍵管理部と、メモリと、ファイルを暗号および復号するファイル処理部と、を具え、耐タンパ・デバイスと交信可能な情報処理装置であって、
前記ＴＰＭは、第１のＴＰＭ鍵を格納し、第３のＴＰＭ鍵を暗号化し、
前記鍵管理部は、前記第３のＴＰＭ鍵を前記データベースに格納して管理し、前記情報処理装置が前記耐タンパ・デバイスと交信を開始したとき、第２のＴＰＭ鍵を生成するためのパラメータを前記ＴＰＭから受け取って前記耐タンパ・デバイスに供給して、前記耐タンパ・デバイスから、前記第１のＴＰＭ鍵を用いて暗号化された前記第２のＴＰＭ鍵を取り込んで、前記第２のＴＰＭ鍵と、前記第２のＴＰＭ鍵を用いて暗号化された第３のＴＰＭ鍵とを前記ＴＰＭに渡し、
前記ＴＰＭは、前記第２のＴＰＭ鍵にパスワード・チェック情報が含まれていたときは、前記耐タンパ・デバイスから前記パスワード・チェック情報に対応するパスワードを取り込んで、前記取り込んだパスワード・チェック情報を用いて前記取り込んだパスワードを検証し、前記パスワードが正しいことが検証されたときは、前記第１のＴＰＭ鍵を用いて前記第２のＴＰＭ鍵を復号し、前記復号された第２のＴＰＭ鍵を用いて前記第３のＴＰＭ鍵を復号し、前記復号された第３のＴＰＭ鍵を用いて、前記ファイルを復号するための暗号化された暗号鍵を復号し、
前記ファイル処理部は、前記復号された暗号鍵を用いて前記ファイルを復号することを特徴とする、情報処理装置。
（付記２）  前記鍵管理部は、前記情報処理装置に前記耐タンパ・デバイスが結合されたときに、前記第２のＴＰＭ鍵を前記メモリに一時的に格納し、前記情報処理装置から前記耐タンパ・デバイスが分離されたときに、前記メモリに格納された前記第２のＴＰＭ鍵を削除することを特徴とする、付記１に記載の情報処理装置。
（付記３）  前記鍵管理部は、前記情報処理装置に前記耐タンパ・デバイスが結合されたときに前記第２のＴＰＭ鍵を前記メモリに格納し、前記情報処理装置から前記耐タンパ・デバイスが分離された後、再び前記情報処理装置に前記耐タンパ・デバイスが結合されたときに、前記耐タンパ・デバイスから取り込んだ新しい第２のＴＰＭ鍵で前記メモリに格納されていた前記第２のＴＰＭ鍵を更新することを特徴とする、付記１に記載の情報処理装置。
（付記４）  前記第３のＴＰＭ鍵は前記ＴＰＭによって前記第２のＴＰＭ鍵の公開鍵を用いて予め暗号化されており、前記ＴＰＭは、前記復号された第２のＴＰＭ鍵の秘密鍵を用いて前記第３のＴＰＭ鍵を復号することを特徴とする、付記１に記載の情報処理装置。
（付記５）  前記ＴＰＭが専用線を介して前記耐タンパ・デバイスに接続可能であり、前記専用線を介して、前記耐タンパ・デバイスに前記第２のＴＰＭ鍵を生成するためのパラメータを送り前記耐タンパ・デバイスからパスワードを受け取ることを特徴とする、付記１に記載の情報処理装置。
（付記６）  前記ＴＰＭは、前記情報処理装置に前記耐タンパ・デバイスが結合されたときに、前記第２のＴＰＭ鍵を生成するためのパラメータと、第４のＴＰＭ鍵を用いて生成した署名と、予めＣＡ局によって認証された前記第４のＴＰＭ鍵の属性証明書とを、前記鍵管理部を介して前記前記耐タンパ・デバイスに送ることを特徴とする、付記１に記載の情報処理装置。
（付記７）  別の情報処理装置と交信するための端子と、ＴＰＭ鍵の生成部と、メモリとを具える情報処理装置であって、
前記メモリは、暗号化鍵と、復号鍵と、少なくとも１つのパスワードと、外部のＴＰＭ鍵の公開鍵とを格納し、
前記生成部は、前記パスワードから前記パスワードを検証するための情報を生成し、前記外部のＴＰＭ鍵の公開鍵を用いて前記復号鍵を暗号化して、前記パスワードを検証するための情報と、前記暗号化された復号鍵とを含むＴＰＭ鍵を生成して、前記別の情報処理装置に前記生成されたＴＰＭ鍵を供給するよう構成されていることを特徴とする、情報処理装置。
（付記８）  前記情報処理装置の前記生成部は、乱数に従って新しいパスワードを生成し、前記新しいパスワードから前記新しいパスワードを検証するための情報を生成し、前記新しいパスワードを検証するための情報と、前記暗号化鍵と、前記暗号化された復号鍵とを含むＴＰＭ鍵を生成することを特徴とする、付記７に記載の情報処理装置。
（付記９）  前記情報処理装置はさらに装置識別部を具え、前記装置識別部は、前記別の情報処理装置から前記別の情報処理装置の識別情報を受け取って、前記識別情報に従って、前記パスワードの中の１つのパスワードを選択し、これに対応する前記選択されたパスワードを検証するための情報を含む前記ＴＰＭ鍵を生成することを特徴とする、付記７に記載の情報処理装置。
（付記１０）  前記生成部は、別の情報処理装置から、前記第２のＴＰＭ鍵を生成するためのパラメータと、別のＴＰＭ鍵を用いて生成された署名と、予めＣＡ局によって認証された前記別のＴＰＭ鍵の属性証明書とを受け取り、前記属性証明書と前記署名が正しいことが検証されたときに、前記ＴＰＭ鍵を生成することを特徴とする、付記７に記載の情報処理装置。
（付記１１）  ＴＰＭと、プロセッサと、メモリと、を具え、耐タンパ・デバイスと交信可能な情報処理装置において、パスワードの認証およびＴＰＭ鍵の復号方法であって、
前記ＴＰＭに第１のＴＰＭ鍵を格納し、前記ＴＰＭに第３の鍵を暗号化させる工程と、
前記第３のＴＰＭ鍵を前記データベースに格納して管理する工程と、
前記情報処理装置が前記耐タンパ・デバイスと交信を開始したとき、第２のＴＰＭ鍵を生成するためのパラメータを前記ＴＰＭから受け取って前記耐タンパ・デバイスに供給して、前記耐タンパ・デバイスから、前記第１のＴＰＭ鍵を用いて暗号化された前記第２のＴＰＭ鍵を取り込む工程と、
前記第２のＴＰＭ鍵と、前記第２のＴＰＭ鍵を用いて暗号化された第３のＴＰＭ鍵とを前記ＴＰＭに渡す工程と、
前記耐タンパ・デバイスからパスワードを取り込んで、前記ＴＰＭに、前記取り込んだパスワード・チェック情報を用いて前記取り込んだパスワードを検証させる工程と、
前記パスワードが正しいことが検証されたときは、前記ＴＰＭに、前記第１のＴＰＭ鍵を用いて前記第２のＴＰＭ鍵を復号させ、前記復号された第２のＴＰＭ鍵を用いて前記第３のＴＰＭ鍵を復号させ、前記復号された第３のＴＰＭ鍵を用いて、前記ファイルを復号するための暗号化された暗号鍵を復号させる工程と、
前記復号された暗号鍵を用いて前記ファイルを復号する工程と、
を含むことを特徴とする方法。
（付記１２）  プロセッサと、メモリと、別の情報処理装置と交信するための端子と、を具える情報処理装置における、ＴＰＭ鍵の生成方法であって、
前記メモリは、暗号化鍵と、復号鍵と、少なくとも１つのパスワードと、外部のＴＰＭ鍵の公開鍵とを格納し、
前記パスワードから前記パスワードを検証するための情報を生成する工程と、
前記外部のＴＰＭ鍵の公開鍵を用いて前記復号鍵を暗号化する工程と、
前記パスワードを検証するための情報と、前記暗号化された復号鍵とを含むＴＰＭ鍵を生成する工程と、
前記生成されたＴＰＭ鍵を前記別の情報処理装置に供給する工程と、
を含むことを特徴とする方法。
【図面の簡単な説明】
【００５９】
【図１】図１は、本発明の実施形態による、情報処理装置および認証用の耐タンパ・デバイスの概略的な構成を示している。
【図２】図２は、本発明の実施形態による、耐タンパ・デバイスから情報処理装置への認証用のＴＰＭ鍵およびパスワードの供給と、情報処理装置におけるＴＰＭ鍵およびパスワードを用いた認証処理および暗号化されたファイル暗号／復号鍵の復号処理と、を示している。
【図３】図３は、図２におけるＴＰＭ鍵の各々の構造を示している。
【図４】図４は、階層的に暗号化されたＴＰＭ鍵を用いてファイル暗号鍵を暗号化する方法を説明するための図である。
【図５】図５は、耐タンパ・デバイスに新しいパスワードを設定する手順を示している。
【図６】図６は、本発明の実施形態による、ファイル暗号鍵を復号するための、情報処理装置内のＴＰＭ、ＴＳＳおよびデバイス・ドライバと、耐タンパ・デバイスとの間のやりとりを示している。
【図７】図７は、本発明の実施形態による、パスワードの変更と、その後、耐タンパ・デバイスが情報処理装置から分離された後における、ＴＰＭ、ＴＳＳおよびデバイス・ドライバにおける処理手順を示している。
【図８】図８は、本発明の別の実施形態による、情報処理装置と耐タンパ・デバイスの間で行われるパスワードおよびＴＰＭ鍵内のパスワード・チェック情報の変更の別の方法を示している。
【図９】図９は、本発明のさらに別の実施形態による、異なるパスワードが用いられる複数の情報処理装置に用いられる耐タンパ・デバイスを示している。
【図１０】図１０本発明のさらに別の実施形態による、通信機能を有する携帯端末によって複数の情報処理装置のＴＰＭ鍵を変更するための通信を示している。
【図１１】図１１は、ユーザが図１、２、８および９の耐タンパ・デバイスを紛失したときの対策を説明するための図である。
【図１２】図１２は、本発明の実施形態による、情報処理装置と耐タンパ・デバイスの間で相互認証を行うためのＴＳＳへのＴＰＭ鍵の登録の手順を示している。
【図１３】図１３は、耐タンパ・デバイスによってＴＰＭ鍵を生成するために、図１２において耐タンパ・デバイスに登録された公開鍵とＴＳＳに登録された公開鍵とに基づく、情報処理装置と耐タンパ・デバイスの間の相互認証の手順を示している。
【図１４】図１４Ａおよび１４Ｂは、ＴＰＭ内のＴＰＭ鍵の属性証明書を用いて情報処理装置と耐タンパ・デバイスの間で相互認証を行う方法を説明するための図である。
【符号の説明】
【００６０】
１００  情報処理装置
１１８  キャッシュメモリ
１３０  ハードディスク
１７４  暗号化ファイル
１２０  ＴＰＭ
２００  耐タンパ・デバイス
５２６  パスワード
６００、６２０、６４０  ＴＰＭ鍵
６２６  パスワード・チェック情報
６３０  復号鍵
【図１】
2006080636.tif 000003
【図２】
2006080636.tif 000004
【図３】
2006080636.tif 000005
【図４】
2006080636.tif 000006
【図５】
2006080636.tif 000007
【図６】
2006080636.tif 000008
【図７】
2006080636.tif 000009
【図８】
2006080636.tif 000010
【図９】
2006080636.tif 000011
【図１０】
2006080636.tif 000012
【図１１】
2006080636.tif 000013
【図１２】
2006080636.tif 000014
【図１３】
2006080636.tif 000015
【図１４】
2006080636.tif 000016