TCGの仕様に基づくフィジカル・プリゼンスの認証方法およびコンピュータ
【課題】真正な所有者がプラットフォームを操作している場合に限りフィジカル・プリゼンスを肯定する認証方法を提供する。
【解決手段】コンピュータはTCGの仕様に適合したセキュリティ・チップ26と生体認証ユニット41と起動ボタン101を備える、プロセッサがCRTM認証コード121を実行して認証を行う。起動ボタンの押下によりコンピュータがS4ステートまたはS5ステートからのコールド・スタートをしたか否かを判断する。CRTM認証コードは生体認証ユニット41が行う生体認証の結果を受け取る。コンピュータがコールド・スタートしたことを確認しかつ生体認証が成功したことを確認したときにセキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送る。
【解決手段】コンピュータはTCGの仕様に適合したセキュリティ・チップ26と生体認証ユニット41と起動ボタン101を備える、プロセッサがCRTM認証コード121を実行して認証を行う。起動ボタンの押下によりコンピュータがS4ステートまたはS5ステートからのコールド・スタートをしたか否かを判断する。CRTM認証コードは生体認証ユニット41が行う生体認証の結果を受け取る。コンピュータがコールド・スタートしたことを確認しかつ生体認証が成功したことを確認したときにセキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送る。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、TCGの仕様に基づいてフィジカル・プリゼンスの認証をする技術に関し、さらに詳細には真正なユーザだけに対してフィジカル・プリゼンスの認証をする技術に関する。
【背景技術】
【0002】
近年コンピュータは商取引やプライバシーに関するような多くの重要な情報を扱うようになってきている。コンピュータは、ネットワークに接続された状態で使用されたりモバイル環境で使用されたりするため、コンピュータ・ウイルスやスパイウエアなどのようなソフトウエアによる攻撃や盗難などの危険に晒される。セキュリティ・レベルの高い信頼できるコンピュータのプラットフォームを構築するために、TCG(Trusted Computing Group)という業界団体が仕様(非特許文献1ないし非特許文献3)を作成し公開している。非特許文献1は、Web上でhttps://www.trustedcomputinggroup.org/specs/TPM/というURLから入手することができる。
【0003】
非特許文献1に定義されているTPM(Trusted Platform Module )は、「TPM chip」、「Fritz chip」、または「TPM Security Device」などとも呼ばれるセキュリティ・チップであり、コンピュータのマザー・ボードに取り付けられる。TPMは、プラットフォームの正当性を検証する機能およびソフトウエアのインテグリティをチェックする機能などを備えている。
【0004】
そして非特許文献1は、各コンピュータに搭載されたTPMを別のコンピュータに移植することができないようにしたり、TPMをマザー・ボードから取り外すとコンピュータが起動しないようにしたりして、コンピュータに安全かつ信頼できる環境を構築する方法を規定している。TPMを操作するためには、TPMに対して、TPMオーナーシップを示す秘密文字列(Shared Secret)の入力が要求される。さらに、TPMオーナーシップに基づいて許可される操作の中でいくつかの特権的な操作に関しては、フィジカル・プリゼンス(Physical Presence)の認証を求められる。
【0005】
非特許文献1では、フィジカル・プリゼンスを証明するために2つの方法を定義している。1つはTPMに接続され、プラットフォームに形成されたボタンを押すことでTPM内部のフラグを設定するハードウエア手法(Hardware Method)である。ハードウエア手法では、そのプラットフォームを物理的に保有しているユーザが操作しているということを証明できる。他の1つはハードウエア手法と同等のレベルでユーザが操作していることを証明できる環境でソフトウエアが行うコマンド手法(Command Method)というものである。コマンド手法では、ネットワークに接続されたり信頼できないソフトウエアが動作したりする前のブート・ストラップの間にCRTM(Core Root of Trust for Measurement)といわれる保護されたプログラムが実行される。
【0006】
フィジカル・プリゼンスが肯定されてTPMオーナーシップが認証されるとユーザは、TPMに対して特権コマンドを使用することができる。特権コマンドの内容は非特許文献1に記載されている。また、非特許文献2および非特許文献3には、フィジカル・プリゼンスの詳細が記載されている。非特許文献2および非特許文献3は、Webサイトからhttps://www.trustedcomputinggroup.org/specs/PCClientというURLで入手することができ。
【0007】
特許文献1は、TPMに関するフィジカル・プリゼンスを認証する技術を開示する。同文献では、電源がどのように投入されたかを示すステータス・レジスタをマザー・ボードに設け、BIOSのCRTMがそれを読みって電源がシステムの表面に取り付けられたパワーオン・スイッチの操作によるものであると判断したときは、TPMに対する特権的な操作を許可する。
【0008】
特許文献2は、遠隔からTPMに対する特権的な操作を許可する技術を開示する。同文献では、BIOSのCRTMが信頼できるOSがロードされていることを検出したときはフィジカル・プリゼンスを確認したと判断してTPMに通知し、検出しないときにはパワー・スイッチによるフィジカル・プリゼンスの確認ルーチンに移行する。特許文献3は、生体センサーと処理ユニットがコンピュータに取り付けられ、指紋が符合する場合にリストにあるユーザに対するTPMのフィジカル・プリゼンスを認証する技術を開示している。
【特許文献1】米国特許第7269747号明細書
【特許文献2】米国特許出願公開第2007/0192580号明細書
【特許文献3】米国特許出願公開第2007/0237366号明細書
【非特許文献1】TCG TPM Specification Version 1.2 Revision 103
【非特許文献2】TCG Physical Presence Interface Specification Version 1.0
【非特許文献3】TCG PC Specific Implementation Specification Version 1.1
【発明の開示】
【発明が解決しようとする課題】
【0009】
特許文献1および特許文献2に記載の発明では、そのコンピュータの真正な所有者でなくても、コンピュータの前に存在する不特定のユーザのパワー・スイッチの押下によってフィジカル・プリゼンスの認証が行われる。これらの発明では、ネットワーク経由で不正にTPMにアクセスしてくるような行為には有効であるが、盗難に遭ったPCのパワー・スイッチが押下されたような場合には対応できない。したがって、盗難の危険に晒されやすいノートブック型パーソナル・コンピュータ(以下、ノートPCという。)は、より一層TPMに対する不正なアクセスから保護される必要がある。
【0010】
また、特許文献3に記載の発明は、指紋認証システムに登録されたユーザがセンサーに指紋をスワイプしたことは証明できるが、指紋認証の処理ユニット自体が取り替えられた場合、あるいは、当該コンピュータ上で実行される悪意のソフトウエアで指紋認証システムが制御される場合には対応できない。
【0011】
そこで、本発明の目的は、真正な所有者がプラットフォームを操作している場合に限りフィジカル・プリゼンスを肯定する認証方法を提供することにある。さらに、本発明の目的はそのような方法を実現するコンピュータおよびコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【0012】
本発明はTCGの仕様に適合したコンピュータにおけるフィジカル・プリゼンスの認証に関する。コンピュータはセキュリティ・チップ(TPM)と生体認証ユニットと起動ボタンを備える。起動ボタンが押下されることはコンピュータを操作するユーザがコンピュータを物理的に支配していることを意味している。第1の不揮発性メモリはCRTMを構成するCRTM認証コードを格納する。CRTM認証コードは、コールド・スタートのときにOSが動作を開始する前に実行されるようになっている。CRTM認証コードを実行するプロセッサは、第1のステータス・レジスタを参照しコンピュータがコールド・スタートされたことを確認し、かつ、生体認証ユニットが生体認証を成功したときにセキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送る。
【0013】
したがって、真正なユーザが物理的にコンピュータの起動ボタンを操作している場合に限りセキュリティ・チップに対してフィジカル・プリゼンスを主張することができる。従来は、不特定のユーザが起動ボタンを押したときにフィジカル・プリゼンスが肯定されたが、本発明によればこれに比べて一層セキュリティが強化された条件でフィジカル・プリゼンスを肯定することができる。プロセッサは、生体認証ユニットをセキュリティ・チップが認証するために生体認証ユニットのバインディング・データをセキュリティ・チップに送ることができる。さらに、プロセッサは、バインディング・データが有効なときにセキュリティ・チップを生体認証ユニットが認証するためにセキュリティ・チップが格納する指紋オーナーシップ・キーを生体認証ユニットに送ることができる。
【0014】
このように双方向に両者の関連性が一貫していることを認証して、生体認証ユニットを安全にフィジカル・プリゼンスの認証に使用することができる。起動ボタンが押下されてコンピュータがコールド・スタートしことを認識したときに、ハードウエア論理回路が生体認証ユニットに生体認証を開始させるようにすれば、生体認証の利用をセキュリティ上最も安全なハードウエア環境で実現することができる。その際、ハードウエア論理回路はPPビットを設定してもよい。
【0015】
ハードウエア論理回路はPPビットが設定されるときに生体情報を入力するための発光ダイオードによるプロンプトをユーザに提示することができる。CRTM認証コードをサイズの小さいブート・ブロックに格納する場合はメインテナンスが容易になるが、サイズの大きなコードを必要とするLCDを使用することはできないので、発光ダイオードの利用は都合がよい。
【0016】
ハードウエア論理回路は生体認証ユニットが認証を失敗したことを発光ダイオードによりユーザに提示することができる。ユーザは、生体認証が失敗したことにより、セキュリティ・チップに対する特権コマンドを使用することができなかったり、シングル・サイン・オンが利用できなかったりすることを認識する。ハードウエア論理回路は、起動ボタンが押下されてコンピュータがコールド・スタートしかつ生体認証ユニットとセキュリティ・チップとの間で相互認証が成功したときにPOPビットを設定し、プロセッサはPOPビットが設定されたときにセキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送ることができる。
【0017】
プロセッサは、PPビットおよびPOPビットのいずれも設定されないと判断したときにセキュリティ・チップにフィジカル・プリゼンスが否定されることを示すコマンドを送ることができる。プロセッサは、POPビットが設定されたときに第1の不揮発性メモリに格納されたパスワード認証コードを実行してシングル・サイン・オンを許可することができる。この場合、シングル・サイン・オンはフィジカル・オーナーシップ・プリゼンスが認証されたときにだけ行われるので、従来よりもセキュリティ・レベルを向上することができる。
【0018】
プロセッサが、オペレーティング・システムのブートが始まる前に生体認証ユニットの認証結果をクリアすれば、認証結果を盗用されることを防ぐことができるので、フィジカル・オーナーシップ・プリゼンスの認証に利用する生体認証のセキュリティ・レベルが向上する。第1の不揮発性メモリをブート・ブロックとシステム・ブロックで構成し、CRTM認証コードをブート・ブロックに格納しシングル・サイン・オンの許可をするコードをシステム・ブロックに格納してもよい。
【発明の効果】
【0019】
本発明により、真正な所有者がプラットフォームを操作している場合に限りフィジカル・プリゼンスを肯定する認証方法を提供することができた。さらに、本発明によりそのような方法を実現するコンピュータおよびコンピュータ・プログラムを提供することができた。
【発明を実施するための最良の形態】
【0020】
[ハードウエアの全体構成]
図1は、ノートPC10の主要なハードウエアの構成を示す概略ブロック図である。CPU11は、ノートPC10の中枢機能を担う演算処理装置で、オペレーティング・システム(OS)、BIOS、デバイス・ドライバ、あるいはアプリケーション・プログラムなどを実行する。CPU11は、ノース・ブリッジ13およびノース・ブリッジ13にさまざまなバスを経由して接続された各デバイスを制御する。ノース・ブリッジ13は、メイン・メモリ15、ビデオ・コントローラ17およびサウス・ブリッジ21に接続され、メイン・メモリ15へのアクセス動作を制御するためのメモリ・コントローラ機能や、CPU11と他のデバイスとの間のデータ転送速度の差を吸収するためのデータ・バッファ機能などを含む。
【0021】
ビデオ・コントローラ17は、グラフィック・アクセラレータおよびVRAMを備えており、CPU11からの描画命令を受けて描画すべきイメージを生成してVRAMに書き込み、VRAMから読み出したイメージを描画データとしてLCD19に送る。メイン・メモリ15は、CPU11が実行するプログラムの読み込み領域、処理データを書き込む作業領域として利用されるランダム・アクセス・メモリである。サウス・ブリッジ21はさまざまな規格のインターフェース機能を備え、ハードディスク・ドライブ(HDD)23、イーサネット(登録商標)・コントローラ22、指紋認証モジュール41および無線モジュール24に接続されている。サウス・ブリッジ21は、図6に示すようにステータス・レジスタ111を備えている。ノートPC10のパワー・ステートを遷移させる場合には、電源制御用のソフトウエアが遷移先のパワー・ステートを示すビットと遷移を実行させることを示すビットをステータス・レジスタ111に設定する。ステータス・レジスタ111のビットはパワー・オン状態以外のときにも維持されているので、ノートPC10がパワー・オン状態に遷移するときには、ステータス・レジスタ111に遷移元のビットが設定されていることになる。
【0022】
HDD23には、OS、デバイス・ドライバ、アプリケーション・プログラムなどの周知のプログラムが格納される。イーサネット・コントローラ22は、イーサネット規格の有線LANに接続するための拡張カードで、サウス・ブリッジ21にはPCI Expressバスで接続され、さらにノートPC10の筐体に取り付けられたRJ45という規格のコネクタに接続されている。ノートPC10は、所定のパワー・ステートのときにイーサネット・コントローラ22を経由してネットワークからマジック・パケットを受け取り、いわゆるウエイク・オン・ラン(WOL:Wake On LAN)で起動することができる。無線モジュール24は、たとえばIEEE802.11nに準拠した多入力多出力(MIMO)の無線通信に適合しており、PCI Express X1バスやUSBを介してサウス・ブリッジ21に接続され、WANやLANなどの無線ネットワークとの間で行うデータ通信を制御する。
【0023】
さらにサウス・ブリッジ21は、PCIバスまたはLPCバス25を介して、従来からノートPC10に使用されているレガシー・デバイス、あるいは高速なデータ転送を要求しないデバイスに接続される。LPCバス25には、TCGが定める非特許文献1または非特許文献2などに記載されたセキュリティ・チップ(TPM:Trusted Platform Module)26、BIOS_ROM27、エンベデッド・コントローラ(EC)29、セキュアNVRAM43、キーボード/マウス・コントローラ45が接続されている。
【0024】
セキュリティ・チップ26、BIOS_ROM27、セキュアNVRAM43については図2、図4、図5を参照して後に説明する。EC29は、8〜16ビットのCPU、ROM、RAMなどで構成されたマイクロ・コンピュータであり、さらに複数チャネルのA/D入力端子、D/A出力端子、タイマー、およびディジタル入出力端子を備えている。EC29は、ノートPC10の内部の動作環境の管理にかかるプログラムをCPU11とは独立して実行することができる。
【0025】
パワー・コントローラ31は、EC29およびDC/DCコンバータ33に接続され、EC29からの指示に基づいてDC/DCコンバータ33を制御する。DC/DCコンバータ33は、AC/DCアダプタ39またはバッテリ35から供給される直流電圧を、ノートPC10を動作させるために必要な複数の電圧に変換し、さらにパワー・ステートに応じて定義された電力供給区分に基づいて各々のデバイスに電力を供給する。AC/DCアダプタ39はノートPC10に接続されると、DC/DCコンバータ33とバッテリィ35を充電する充電器37に電力を供給する。
【0026】
ノートPC10は、ACPI(Advanced Configuration and Power Interface)の省電力機能およびプラグ・アンド・プレイ方式に対応している。ACPIでは、5つのスリーピング・ステートが定義されている。S1ステート〜S3ステートは、起動までの時間を短縮したステートである。S1ステートでは、システム・コンテキストが維持される。S2ステートは、CPU11およびシステム・キャッシュのコンテキストが消失する以外はS1ステートと同じである。
【0027】
S3ステートは、S2ステートに加えてノース・ブリッジ13およびサウス・ブリッジ21のコンテキストが消失するが、メイン・メモリ15の記憶は保持される。S3ステートはいわゆるサスペンドまたはsuspend to RAMといわれ、ノートPC10は、メイン・メモリ15、サウス・ブリッジ21、EC29、およびイーサネット・コントローラ22以外のデバイスに対する電源をオフにする。
【0028】
S4ステートはACPIでサポートされる中で最も起動までの時間が長いステートでいわゆるsuspend to diskまたはハイバネーションといわれる。ノートPC10は、S0ステートからS4ステートに遷移する際には、OSがHDD23にノートPC10の直前のコンテキストを格納してからパワー・コントローラ31以外のデバイスに対する電源をオフにする。S5ステートはいわゆるソフト・オフといわれ、OSがコンテキストをHDD23に格納しない点を除いてはS4ステートと同じである。S4ステートおよびS5ステートにおいて、WOLが設定されているときは、イーサネット・コントローラ22およびサウス・ブリッジ21には電源が供給されて、マジック・パケットを受け取って起動できるようになっている。
【0029】
S0ステートはパワー・オンの状態である。ノートPC10では、S0ステート、S3ステート、およびS4ステートだけが定義されているが、本実施の形態ではS1ステートおよびS2ステートはS3ステートと同様に処理され、S5ステートはS4ステートと同様に処理されるので、すべてのステートを含めて説明する。
【0030】
EC29は、パワー・コントローラ31を介してDC/DCコンバータ33を制御して、ノートPC10のパワー・ステートに応じて定義されたソフト・オフ状態(S5)、ハイバネーション状態(S4)、サスペンド状態(S3)、またはパワー・オン状態(S0)などの各電源状態に応じて動作するデバイスを選択して電力を供給することができる。パワー・コントローラ31には、図6に示すようにPP(Physical Presence)ビットおよびPOP(Physical Ownership Presence)ビットを設定するステータス・レジスタ113、115を備えている。
【0031】
キーボード/マウス・コントローラ45は、キーボード47やマウス(図示せず)などからの入力に対するインターフェース機能を提供する。指紋認証モジュール41はUSBによりサウス・ブリッジ21に接続され、さらにパワー・コントローラ31に接続されている。指紋センサー42はスワイプ式の指紋センサーでユーザの指紋画像を生成する。指紋認証モジュール41および指紋センサー42はそれぞれ、ノートPC10の筐体と物理的に一体になるように取り付けられている。指紋モジュール41については、図3を参照して後に説明する。
【0032】
[セキュリティ・チップの構成]
図2は、セキュリティ・チップ26の構成を示すブロック図である。セキュリティ・チップ26の構成は、非特許文献1〜3に記載のとおり周知である。セキュリティ・チップ26は、ノートPC10のマザー・ボードにハンダで接続され他のコンピュータに移設できないようになっている。また、たとえセキュリティ・チップ26を他のコンピュータに移設したとしても当該コンピュータは動作しないようになっている。
【0033】
セキュリティ・チップ26は、プラットフォームが真正なものでTCGに準拠しているかを検証する正当性検証機能、ハードウエアやソフトウエアが改ざんされていないことを確認するインテグリティの機能、内部に保存された暗号鍵は外部に出さないという暗号鍵の保護機能、および各種暗号処理機能を備える。なお、プラットフォームとは、コンピュータ・サービスを提供するためのハードウエア・リソースおよびソフトエア・リソースの集合をいう。
【0034】
インターフェース51は、LPCバス25と内部バスとの間でプロトコルを双方向に変換し、セキュリティ・チップ26の内部の各コンポーネントと外部との間でのデータ転送を制御する。暗号用コプロセッサ53は、セキュリティ・チップ26の内部で暗号処理を行う。HMACエンジン55は、HMAC(Keyed-Hashing for Message Authentication code)を計算する。SHA−1エンジン57は、与えられた値に対するハッシュ値を計算する。
【0035】
Opt−In59は、セキュリティ・チップ26をオン状態またはオフ状態にするための機構などを提供する。暗号鍵生成部63は、暗号化に使用する対称鍵および非対称鍵を生成する。乱数発生器65は、セキュリティ・チップ26の内部で使用する乱数を生成する。電源検出部67は、プラットフォームの電源状態に連携してセキュリティ・チップ26の電源状態を管理する。実行エンジン69は、インターフェース51から受け取ったコマンドを実行する。
【0036】
[指紋認証モジュールの構成]
図3は、指紋認証モジュール41の構成を示すブロック図である。特徴抽出部83は、指紋センサー42から受け取った指紋画像を芯線化して特徴点を抽出し、さらに抽出した特徴点の相関関係を数値化して照合指紋データを作成する。テンプレート格納部87は、あらかじめ登録する真正なユーザの照合指紋データをテンプレートとして格納する。照合部85は、認証のために指紋センサー42が生成した照合指紋データとテンプレートを比較し、一致点が所定のスコアを越えた場合に認証が成功したと判定する。
【0037】
データ格納部91は、指紋オーナーシップ・キー93、認証成功フラグ94、バインディング・データ95、パワー・オン・パスワード96、スーパーバイザ・パスワード97、およびHDDパスワード98を格納するセキュアな不揮発性のメモリである。データ格納部91に格納されたデータを書き換えるためには、ユーザはOSが動作を開始する前に指紋モジュール41による認証またはスーパーバイザ・パスワードの入力が必要となる。入出力制御部89は、サウス・ブリッジ21を通じて外部とのデータ転送を制御したり、データ格納部91にアクセスしたりする。入出力制御部89は、さらに、パワー・コントローラ31にハイ/ローの2値信号を送る。
【0038】
指紋オーナーシップ・キー93は、ユーザごとに登録されたテンプレートに関連づけられたコードである。認証成功フラグ94は、照合部85がテンプレート87と照合指紋データと一致すると判断したときに入出力制御部89により設定される。バインディング・データ95は、登録されたユーザのテンプレートに関連づけられたデータである。パワー・オン・パスワード96はノートPC10を起動する際にBIOSにより要求されるパスワードである。スーパーバイザ・パスワード97は、BIOSの設定を変更する際にBISOにより要求されるパスワードである。HDDパスワード98は、HDD23にアクセスするためにBIOSにより要求されるパスワードである。
【0039】
[BIOS_ROM27の構成]
図4は、BIOS_ROM27の構成を示す図である。BIOS_ROM27は、不揮発性で記憶内容の電気的な書き替えが可能なメモリであり、書き換えに伴うリスクを軽減するためにブート・ブロック方式を採用している。ブート・ブロック27aは、書き込み保護がされている記憶領域でここに格納されたプログラム(コードまたはインストラクションともいう。)はTPMの仕様書に規定するCRTMとして扱われ特別な権限がないと書き換えができないようになっている。
【0040】
CRTMは、プラットフォームの初期化コードの中で一貫性のある部分として構成され、プラットフォームのリセット時には必ず最初に実行されなければならない。CRTMは、ノートPCがS4ステートまたはS5ステートからS0ステートに遷移するコールド・ブートのときに最初に実行される。ノートPC10のプラットフォームに関するすべての一貫性の計測は、このCRTMに基づいて行われる。
【0041】
ブート・ブロック27aには、本実施の形態にかかるフィジカル・プリゼンスの認証を行うCRTM認証コード121および最小限のその他のコード123がCRTMとして格納される。その他のコード123は、フィジカル・プリゼンスの認証に必要な最低限のハードウエアであるCPU11、メイン・メモリ15、サウス・ブリッジ21、指紋認証モジュール41、およびセキュリティ・チップ26などの試験および初期化を行う機能を含む。さらにその他のコード123は、BIOS_ROM27の書き換えに必要な機能を含む。
【0042】
システム・ブロック27bは、その他のコード123では実行されないBIOSの機能を担うコードを格納する。システム・ブロック27bに格納されたコードの一貫性は、ブート・ブロック27aに格納されたCRTMに基づいて計算される。POST(Power-On Self Test)125は、ハードウエアの試験および初期化を行い、周辺機器制御コード127は、BIOSの制御下でLCD19、HDD23、およびキーボード47などにアクセスするための入出力を制御する。ユーティリティ129は、電源および筐体内の温度などを管理する。パスワード認証コード131は、パワー・オン・パスワード、スーパーバイザ・パスワード、およびHDDパスワードの認証を行う。パスワード認証コード131は、さらに、本発明にかかるフィジカル・オーナーシップ・プリゼンスの認証を有効にするか否かをユーザが設定するための処理やシングル・サイン・オンの認証を行う。
【0043】
BIOS_ROM27は、図4(B)に示すように全体を一括して書き込み保護することで、内部に格納されたプログラム全体をCRTMにすることも可能である。この場合はCRTMのサイズが大きくなってBIOS_ROM27の更新が煩雑になるが、本実施の形態においてフィジカル・プリゼンスの認証を行う際にLCD19を利用してユーザにダイオードよりも情報量の多いプロンプトを提供できるなどのメリットがある。
【0044】
[セキュアNVRAMの構成]
図5は、セキュアNVRAM43の構成を示す図である。セキュアNVRAM43は、OSの環境下ではアクセスが制約された不揮発性のメモリである。セキュアNVRAM43は、フィジカル・オーナーシップ・プリゼンスの認証をユーザが有効になるように設定したことを示すPOP認証有効フラグ151、パワー・オン・パスワード153、およびスーパーバイザ・パスワード155を格納する。POP認証有効フラグ151は、ノートPC10が起動された以降の初期段階でBIOS_ROM27のシステム・ブロック27bに格納されたパスワード認証コード131により、ユーザが本発明にかかるフィジカル・オーナーシップ・プリゼンスの認証をするか、あるいは従来どおりのフィジカル・プリゼンスの認証をするかの選択結果に基づいて設定される。
【0045】
[フィジカル・プリゼンスを実現する機能構成]
図6は、フィジカル・プリゼンスの認証に関連するハードウエアおよびソフトウエアの構成を示す機能ブロック図である。起動ボタン101は、ノートPC10の筐体に物理的に一体になるように取り付けられており、ノートPC10を物理的に支配しているユーザだけが押下することができる。起動ボタン101が押下することで、パワー・コントローラ31に起動信号を送ることができる。パワー・コントローラ31は起動ボタン101からライン102を通じて起動信号を受け取ったときにDC/DCコンバータ33を制御して所定のシーケンスでノートPC10の各デバイスに電源を供給しS0ステートに移行させる。
【0046】
スイッチ103の一方の端子は起動ボタン101に接続され、スイッチ103の他方の端子はパワー・コントローラ31に接続されている。スイッチ103の制御端子はサウス・ブリッジ21に接続されている。スイッチ103は、サウス・ブリッジ21のステータス・レジスタ111の値に基づいてオン/オフが制御される。スイッチ105の一方の端子はDC/DCコンバータ33に接続され、スイッチ105の他方の端子は指紋認証モジュール41に接続されている。スイッチ107の一方の端子はDC/DCコンバータ33に接続され、他方の端子は発光ダイオード109に接続されている。スイッチ105、107の制御端子は、パワー・コントローラ31に接続されている。発光ダイオード109は、指紋センサー42の近辺においてノートPC10の筐体に取り付けられている。CRTM認証コード121またはパスワード認証コード131は、パワー・コントローラ31、指紋認証モジュール41、サウス・ブリッジ21、およびセキュリティ・チップ26にアクセスしてフィジカル・プリゼンスの認証をするためにCPU11により実行される。
【0047】
[パワー・ステート]
図7はノートPC10におけるパワー・オンに対するパワー・ステートの遷移方法と関連動作を説明する図である。図7は、S1ステート〜S5ステートのいずれかからS0ステートに遷移場合を示している。起動ボタン101の押下はいずれのパワー・ステートからも実行できる。WOLでは、S5ステートからの遷移以外の場合に実行できる。キーボート47のファンクション・キー(Fnキー)の押下では、S4ステートまたはS5ステートからの遷移以外の場合に実行できる。
【0048】
ブート・ブロック27aのCRTM認証コード121およびその他のコード123は、S4ステートまたはS5ステートからS0ステートに遷移するときにだけOSのブートが始まる前に実行される。S4ステートまたはS5ステートからS0ステートに遷移することをコールド・スタートまたはコールド・ブートといい、その他のパワー・ステートからS0ステートに遷移することをウォーム・スタートまたはウォーム・ブートという。後に説明するが、起動ボタン101が押下されてコールド・スタートする場合にだけ、ステータス・レジスタ113にPPビットが設定される。
【0049】
[フィジカル・プリゼンスの認証方法]
つぎに図8〜図10を参照して、フィジカル・プリゼンスの認証方法について説明する。図8〜10は、図1〜図6に示したソフトウエアおよびハードウエアに基づく認証の手順を示すフローチャートである。図8は、ハードウエア環境下での指紋認証の手順を示し、図9は、CRTM認証コード121によるフィジカル・プリゼンスおよびフィジカル・オーナーシップ・プリゼンスの認証の手順を示し、図10は、パスワード認証コード131によるシングル・サイン・オンの認証の手順を示す。
【0050】
図8のブロック200では、起動ボタン101、WOL、またはキーボード47のFnキーの押下により図7に示したいずれかのパワー・ステートからノートPC10はパワー・オン状態(S0ステート)に遷移する。ブロック201は、起動ボタン101によるパワー・オンの場合はブロック203に移行し、その他の契機によるパワー・オンの場合は参照記号Aに移行して処理されることを示す。
【0051】
起動ボタン101が押下されたときは、ノートPC10はS1ステート〜S5ステートのいずれかのステートからS0ステートに遷移する。パワー・コントローラ31は、起動ボタン101が押下されてライン102を通じて起動信号を受け取ったときに、DC/DCコンバータ33を制御して各デバイスに電源を供給する。サウス・ブリッジ21は、ステータス・レジスタ111を参照してコールド・スタートのときにだけ、スイッチ103をオンにする。スイッチ103がオンのときに起動ボタン101が押下されると、ライン104を通じてPPビット設定信号がパワー・コントローラ31に送られる。
【0052】
サウス・ブリッジ21は、コールド・スタートの場合はブロック205以降の指紋認証が完了するまでCPU11をアイドル状態にする。ブロック203では、ライン104を通じてPPビット設定信号を受け取った場合に、パワー・コントローラ31のハードウエア論理回路が、ノートPC10は起動ボタン101が押下されてコールド・スタートしたと判断してブロック204でステータス・レジスタ113にPPビットを設定し、さらにブロック205でスイッチ107をオン/オフして指紋センサー42の近くに設けられた発光ダイオード109を点滅させユーザに指のスワイプを促すプロンプトを生成する。さらにパワー・コントローラ31は、スイッチ105をオンにして指紋認証モジュール41に電源を供給しユーザに指紋認証を開始させる。
【0053】
この時点ではCPU11はアイドル状態であるため、プログラムを実行してLCD19に指紋入力のプロンプトを出すことはできない。また、たとえCPU11を動作させてCRTMを実行させたとしてもBIOS_ROM27は、ブート・ブロック方式を採用しているため、システム・ブロック27bのコードが実行されるまでLCD19は動作しない。したがって、ブロック205では、LCD19以外の手段でユーザに指のスワイプを促すために発光ダイオード109を点滅させている。
【0054】
ただし、図4(B)のように、BIOS_ROM27に格納されたすべてのコードをCRTMにすれば、この時点でLCD19に指のスワイプのためのプロンプトを表示することもできる。ブロック203でパワー・コントローラ31がPPビット設定信号を受け取らない場合には、ノートPC10は起動ボタン101が押下されてウォーム・スタートしたことになり、PPビットは設定されないで参照記号Bに移行して処理される。ウォーム・スタートのときにはCRTM認証コード27aは実行されないので、フィジカル・プリゼンスの認証は行われない。
【0055】
ブロック205でユーザは指紋センサー42に指をスワイプする。指紋認証モジュール41は、ブロック207でテンプレート格納部87にあらかじめ登録してあるユーザのテンプレートと入力された指紋から抽出した照合指紋データを比較して指紋認証を行う。入出力制御部89は、指紋認証が成功した場合にデータ格納部91に認証成功フラグ94を設定し、ブロック211で指紋認証を終了させてパワー・コントローラ31にハイ/ローの2値で構成された終了信号を送る。終了信号を受け取ったパワー・コントローラ31は、発光ダイオード109の点滅を停止する。この終了信号は、ハードウエアだけで生成されソフトウエアが介在しないで送られるのでセキュリティのレベルを高く維持することができる。
【0056】
照合部85は、所定回数照合を行っても入力された指紋画像がテンプレートに一致しない場合およびタイムアウトの場合にブロック209に移行してパワー・コントローラ31に認証失敗を示す信号を送る。認証が失敗したことを認識したパワー・コントローラ31は、スイッチ107をオン/オフして、所定の時間発光ダイオード109をブロック205の点滅とは異なる周期で点滅させ、その後ブロック211に移行してスイッチ107をオフにし発光ダイオード109の点滅を停止して、参照記号Aに移行する。このときパワー・コントローラ31は、指紋認証モジュール41にそれ以降の指紋認証をさせないためにスイッチ105をオフにしてもよい。ブロック203からブロック211までの手順は、ハードウエア論理回路だけで指紋認証モジュール41を制御しており、改ざんされたソフトウエアやスパイウエアにより指紋認証モジュール41の動作が制御されることがないため安全である。
【0057】
つづいて図9の説明に移行する。図9は図8の参照記号A、Bから開始する。ブロック211で指紋認証モジュール41から信号を受け取って指紋認証が完了したことを認識したサウス・ブリッジ21は、アイドル状態で動作していたCPU11に対して信号を送って動作を開始させる。CPU11が実行する最初のポインタには、ブート・ブロック27aに格納されたCRTMの先頭アドレスが設定されており、CPU11、ノース・ブリッジ13、およびサウス・ブリッジ21などの主要なチップの試験および初期化が完了した後にCPU11はCRTM認証コード121の実行を開始する。
【0058】
ブロック213では、CRTM認証コード121がサウス・ブリッジ21のステータス・レジスタ111を参照してノートPC10がコールド・スタートしたかウォーム・スタートしたかを判定する。TCGの仕様には、ユーザが現実にプラットフォームの前に存在することによるフィジカル・プリゼンスを認証するためには、物理的手法とコマンド手法およびそれらを組み合わせる手法が規定されている。物理的手法は、TPMに対してプラットフォームに設けられたスイッチまたはジャンパから直接信号を送る方法である。コマンド手法は、CRTMがPCの電源が投入されてOSに制御が移行する前にTPMに対して信号を送る方法である。
【0059】
本発明では、以下に説明するように起動ボタン101の押下により生成したPPビット設定信号、指紋認証モジュール41、パワー・コントローラ、およびサウス・ブリッジ21をCRTM認証コード121が制御してフィジカル・プリゼンスの認証を行う。ブロック213でCRTM認証コード121がノートPC10はウォーム・スタートしたと判断したときはブロック227に移行する。ブロック213でCRTM認証コード121がノートPC10はコールド・スタートしたと判断したときはブロック215に移行する。
【0060】
ブロック215では、フィジカル・オーナーシップ・プリゼンスの認証が有効に設定されているか否かをCRTM認証コード121がセキュアNVRAM43のPOP認証有効フラグ151を参照して判断する。ユーザがフィジカル・オーナーシップ・プリゼンスの認証を行わないようにNVRAM49にPOP認証有効フラグ151を設定していた場合は、従来からの方法でフィジカル・プリゼンスの認証を行うためにブロック219に移行する。
【0061】
ブロック219では、CRTM認証コード121がパワー・コントローラ31のステータス・レジスタ113を参照して、PPビットが設定されているか否かを判断する。起動ボタン101の押下によりコールド・スタートしたときは、ブロック203でステータス・レジスタ113にPPビットが設定されており、フィジカル・プリゼンスが肯定されてブロック225に移行する。WOLによりコールド・スタートしたときは、ステータス・レジスタ113にPPビットが設定されていないため、フィジカル・プリゼンスが否定されてブロック227に移行する。
【0062】
ブロック215に戻って、ユーザがフィジカル・オーナーシップ・プリゼンスの認証を行うようにNVRAM49にPOP認証有効フラグ151を設定していた場合は、ブロック216に移行してCRTM認証コード121は、ステータス・レジスタ113を参照して、PPビットが設定されているか否かを判断する。PPビットが設定されていない場合は、WOLによる起動なのでブロック227に移行する。PPビットが設定されている場合はブロック217に移行してセキュリティ・チップ26による指紋認証モジュール41の認証を行う。CRTM認証コード121は、指紋認証モジュール41にバインディング・データ95の要求をする。指紋認証モジュール41の入出力制御部89は、ブロック207における指紋認証が成功していることを示す認証成功フラグ94が設定されている場合は、データ格納部91からバインディング・データ95を取り出してCRTM認証コード121に渡す。CRTM認証コード121はバインディング・データ95をセキュリティ・チップ26に送出する。認証成功フラグ94が設定されていない場合は、入出力制御部89はバインディング・データ95をCRTM認証コード121に渡さないため、フィジカル・オーナーシップ・プリゼンスの認証が失敗したものとして処理するためにブロック227に移行する。セキュリティ・チップ26は、受け取ったバインディング・データ95をブロック221で内部のPCR(Platform Configuration Register)に格納する。
【0063】
バインディング・データ95を受け取ったセキュリティ・チップ26は、PCRに格納されたバインディング・データ95のハッシュ値を計算し、PCRにあらかじめハッシュされて登録された指紋認証モジュール41のバインディング・データと比較する。比較した結果両者が一致した場合は、セキュリティ・チップ26は内部に格納しておいた指紋オーナーシップ・キーをCRTM認証コード121に送出し、一致しない場合は指紋オーナーシップ・キーをCRTM認証コード121に送出しない。CRTM認証コード121はセキュリティ・チップ26から指紋オーナーシップ・キーを受け取った場合はそれを指紋認証モジュール41に送ってブロック221に移行し、受け取らない場合はフィジカル・オーナーシップ・プリゼンスの認証が失敗したものとして処理するためにブロック227に移行する。
【0064】
指紋オーナーシップ・キーは、登録のために指紋センサー42で生成された指紋画像のテンプレートに対応する値であり、同じ値は、指紋認証モジュール41のデータ格納部91にも格納されている。ブロック221では、指紋認証モジュール41が、CRTM認証コード121によりセキュリティ・チップ26から送られた指紋オーナーシップ・キーがデータ格納部91に格納された指紋オーナーシップ・キー93と一致するか否かを入出力制御部89が判断する。両者が一致する場合はフィジカル・オーナーシップ・プリゼンスを肯定して、指紋認証モジュール41の入出力制御部89は、パワー・コントローラ31のステータス・レジスタ115にハイ/ローの2値信号を送ってPOPビットを設定する。指紋認証モジュール41はPOPビットの設定を、ソフトウエアを介在させないで行うことにより、セキュリティ・レベルを向上させている。
【0065】
ブロック217とブロック221では、指紋認証モジュール41とセキュリティ・チップ26との間で双方向にそれぞれが真正であることを認証することにより、いずれか一方または両方が悪意でプラットフォームから付け替えられた場合には、確実にフィジカル・オーナーシップ・プリゼンスを否定できるようにしている。ブロック225では、セキュアNVRAM43にPOP認証有効フラグ151が設定され、かつ、ステータス・レジスタ115にPOPビットが設定されている場合と、セキュアNVRAM43にPOP認証有効フラグ151が設定されず、かつ、ステータス・レジスタ113にPPビットが設定されている場合のいずれかを検出したCRTM認証コード121は、セキュリティ・チップ26にTSC_PhysicalPresencePresentというコマンドを送る。コマンドを受け取ったセキュリティ・チップ26は、内部でTPM_PhysicalPresenceフラグを肯定(true)に設定する。
【0066】
この場合、TPM_PhysicalPresenceフラグは2つのケースで肯定(true)に設定される。ブロック223でPOPビットが設定されている場合は本発明にかかるフィジカル・オーナーシップ・プリゼンスが肯定されて、あらかじめオーナーとして指紋が登録されたユーザが起動ボタン101を押下してノートPC10を起動したことになる。また、ブロック219でPPビットだけが設定されていると判断した場合は、従来の方法でフィジカル・プリゼンスが肯定されて、不特定のユーザが起動ボタンを押下してノートPC10を起動したことになる。
【0067】
ただし、いずれの経緯を経てTPM_PhysicalPresenceフラグが肯定に設定された場合であってもセキュリティ・チップ26は、その時点で同じレベルの特権コマンドの実行を許可する。特権コマンドは、現存のオーナーを示す情報をセキュリティ・チップ26からクリアすること、セキュリティ・チップ26を一時的にディアクティベイティング(deactivating)すること、およびセキュリティ・チップ26をディスエイブリング(disabling)することを含む。なお、特権コマンドの具体的な内容は、非特許文献1に記載されている。
【0068】
ブロック227では、セキュアNVRAM43にPOP認証有効フラグ151が設定され、かつ、ステータス・レジスタ115にPOPビットが設定されていない場合と、ステータス・レジスタ113にPPビットが設定されていない場合のいずれかを検出したCRTM認証コード121は、セキュリティ・チップ26にTSC_PhysicalPresenceNotPresentというコマンドを送り、TPM_PhysicalPresenceフラグを否定(false)に設定する。
【0069】
この場合、セキュリティ・チップ26は特権コマンドを許可しない。ブロック225または227でTPM_PhysicalPresenceフラグの設定が終了すると、ブロック229に移行し、システム・ブロック27bに格納されたPOST125が実行される。これ以降の手順は図10を参照して説明する。図10は図9の参照記号Cから開始する。
【0070】
ブロック231では、POST125の実行に続いてあるいはその途中にシステム・ブロック27bに格納されたパスワード認証コード131が実行される。この時点では、BIOSの画面を通じてLCD19およびキーボード47の利用ができるようになっている。ブロック233でパスワード認証コード131は、指紋認証モジュール41に今回の起動において指紋認証が成功したか否かを問い合わせる。入出力制御部89は、データ格納部91の認証成功フラグ94を参照して、パスワード認証コード131に結果を通知する。
【0071】
パスワード認証コード131は、今回の起動において指紋認証が成功したと判断したときは、ブロック235に移行し、指紋認証が失敗したと判断したときはブロック247に移行する。ブロック235では、パスワード認証コード131がステータス・レジスタ115にPOPビットが設定されているか否かを判断する。POPビットが設定されているときはブロック237に移行し、設定されていないときはブロック247に移行する。
【0072】
パスワード認証コード131はブロック237で、指紋認証モジュール41のデータ格納部91からパワー・オン・パスワード96、スーパーバイザ・パスワード97、およびHDDパスワード98を取得する。パスワード認証コード131はブロック239でNVRAM43に格納されたパワー・オン・パスワード153、スーパーバイザ・パスワード155およびHDD23から取得したHDDパスワードと比較して、それらの認証をユーザの介在なしで完了させる。このようにユーザが行う複数の個別認証を一度に行う方法をシングル・サイン・オン(SSO:Single Sign-On)という。個別認証は、セキュリティを強化する目的で別々の認証を要求するものであるが、ユーザにとっては煩わしさを否めない。
【0073】
したがって、シングル・サイン・オンによりユーザの利便性を高めることができるが、それを認めるときには、個別認証に比べてセキュリティ・レベルを低下させないようにする必要がある。ブロック239でのシングル・サイン・オンは、フィジカル・オーナーシップ・プリゼンスが肯定された条件のもとで行われるものであり、従来のシングル・サイン・オンに比べてセキュリティ・レベルは高くなっている。
【0074】
ブロック241では、パスワード認証コード131は、ステータス・レジスタ113、115のPPフラグおよびPOPフラグをリセットし、さらに指紋認証モジュール41に対してデータ格納部91の認証成功フラグ94をリセットするように要求する。この要求を受けた入出力制御部89は認証成功フラグ94をリセットする。ブロック243でパスワード認証コード131は、セキュリティ・チップ26にTSC_PhysicalPresenceNotPresentというコマンドを送って、TPM_PhysicalPresenceフラグを否定に設定し、さらに、TSC_PhysicalPresenceLockというコマンドを送ってTPM_PhysicalPresenceフラグが書き換えられないようにする。
【0075】
その後ブロック245でOSのブートが開始されるが、セキュリティ・チップ26はこれ以降において特権コマンドを許可せず、また、TSC_PhysicalPresencePresentというコマンドを受け付けない。なお、TPM_PhysicalPresenceフラグのロック状態は、ノートPC10がコールド・スタートされるたびに解除される。ブロック247〜251では、シングル・サイン・オンが認められないため、ユーザは個別認証でパワー・オン・パスワード、スーパーバイザ・パスワード、およびHDDパスワードをパスワード認証コード131の要求に応じてキーボードから入力する。本発明におけるフィジカル・オーナーシップ・プリゼンスは指紋認証ユニットに代えて掌形、網膜、虹彩、音声または静脈などの他の生体情報を用いた生体認証ユニットを利用することができる。
【0076】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【図面の簡単な説明】
【0077】
【図1】ノートPCの主要なハードウエアの構成を示す概略ブロック図である。
【図2】セキュリティ・チップの構成を示すブロック図である。
【図3】指紋認証モジュールの構成を示すブロック図である。
【図4】BIOS_ROMの構成を示す図である。
【図5】セキュアNVRAMの構成を示す図である。
【図6】フィジカル・プリゼンスの認証に関連するハードウエアおよびソフトウエアの構成を示す機能ブロック図である。
【図7】ノートPCのパワー・ステートの遷移方法と関連動作を説明する図である。
【図8】フィジカル・プリゼンスの認証手順を示すフローチャートである。
【図9】フィジカル・プリゼンスの認証手順を示すフローチャートである。
【図10】シングル・サイン・オンの認証手順を示すフローチャートである。
【符号の説明】
【0078】
26…セキュリティ・チップ
41…指紋認証モジュール
101…起動ボタン
103、105、107…制御端子付きスイッチ
109…発光ダイオード
111、113、115…ステータス・レジスタ
【技術分野】
【0001】
本発明は、TCGの仕様に基づいてフィジカル・プリゼンスの認証をする技術に関し、さらに詳細には真正なユーザだけに対してフィジカル・プリゼンスの認証をする技術に関する。
【背景技術】
【0002】
近年コンピュータは商取引やプライバシーに関するような多くの重要な情報を扱うようになってきている。コンピュータは、ネットワークに接続された状態で使用されたりモバイル環境で使用されたりするため、コンピュータ・ウイルスやスパイウエアなどのようなソフトウエアによる攻撃や盗難などの危険に晒される。セキュリティ・レベルの高い信頼できるコンピュータのプラットフォームを構築するために、TCG(Trusted Computing Group)という業界団体が仕様(非特許文献1ないし非特許文献3)を作成し公開している。非特許文献1は、Web上でhttps://www.trustedcomputinggroup.org/specs/TPM/というURLから入手することができる。
【0003】
非特許文献1に定義されているTPM(Trusted Platform Module )は、「TPM chip」、「Fritz chip」、または「TPM Security Device」などとも呼ばれるセキュリティ・チップであり、コンピュータのマザー・ボードに取り付けられる。TPMは、プラットフォームの正当性を検証する機能およびソフトウエアのインテグリティをチェックする機能などを備えている。
【0004】
そして非特許文献1は、各コンピュータに搭載されたTPMを別のコンピュータに移植することができないようにしたり、TPMをマザー・ボードから取り外すとコンピュータが起動しないようにしたりして、コンピュータに安全かつ信頼できる環境を構築する方法を規定している。TPMを操作するためには、TPMに対して、TPMオーナーシップを示す秘密文字列(Shared Secret)の入力が要求される。さらに、TPMオーナーシップに基づいて許可される操作の中でいくつかの特権的な操作に関しては、フィジカル・プリゼンス(Physical Presence)の認証を求められる。
【0005】
非特許文献1では、フィジカル・プリゼンスを証明するために2つの方法を定義している。1つはTPMに接続され、プラットフォームに形成されたボタンを押すことでTPM内部のフラグを設定するハードウエア手法(Hardware Method)である。ハードウエア手法では、そのプラットフォームを物理的に保有しているユーザが操作しているということを証明できる。他の1つはハードウエア手法と同等のレベルでユーザが操作していることを証明できる環境でソフトウエアが行うコマンド手法(Command Method)というものである。コマンド手法では、ネットワークに接続されたり信頼できないソフトウエアが動作したりする前のブート・ストラップの間にCRTM(Core Root of Trust for Measurement)といわれる保護されたプログラムが実行される。
【0006】
フィジカル・プリゼンスが肯定されてTPMオーナーシップが認証されるとユーザは、TPMに対して特権コマンドを使用することができる。特権コマンドの内容は非特許文献1に記載されている。また、非特許文献2および非特許文献3には、フィジカル・プリゼンスの詳細が記載されている。非特許文献2および非特許文献3は、Webサイトからhttps://www.trustedcomputinggroup.org/specs/PCClientというURLで入手することができ。
【0007】
特許文献1は、TPMに関するフィジカル・プリゼンスを認証する技術を開示する。同文献では、電源がどのように投入されたかを示すステータス・レジスタをマザー・ボードに設け、BIOSのCRTMがそれを読みって電源がシステムの表面に取り付けられたパワーオン・スイッチの操作によるものであると判断したときは、TPMに対する特権的な操作を許可する。
【0008】
特許文献2は、遠隔からTPMに対する特権的な操作を許可する技術を開示する。同文献では、BIOSのCRTMが信頼できるOSがロードされていることを検出したときはフィジカル・プリゼンスを確認したと判断してTPMに通知し、検出しないときにはパワー・スイッチによるフィジカル・プリゼンスの確認ルーチンに移行する。特許文献3は、生体センサーと処理ユニットがコンピュータに取り付けられ、指紋が符合する場合にリストにあるユーザに対するTPMのフィジカル・プリゼンスを認証する技術を開示している。
【特許文献1】米国特許第7269747号明細書
【特許文献2】米国特許出願公開第2007/0192580号明細書
【特許文献3】米国特許出願公開第2007/0237366号明細書
【非特許文献1】TCG TPM Specification Version 1.2 Revision 103
【非特許文献2】TCG Physical Presence Interface Specification Version 1.0
【非特許文献3】TCG PC Specific Implementation Specification Version 1.1
【発明の開示】
【発明が解決しようとする課題】
【0009】
特許文献1および特許文献2に記載の発明では、そのコンピュータの真正な所有者でなくても、コンピュータの前に存在する不特定のユーザのパワー・スイッチの押下によってフィジカル・プリゼンスの認証が行われる。これらの発明では、ネットワーク経由で不正にTPMにアクセスしてくるような行為には有効であるが、盗難に遭ったPCのパワー・スイッチが押下されたような場合には対応できない。したがって、盗難の危険に晒されやすいノートブック型パーソナル・コンピュータ(以下、ノートPCという。)は、より一層TPMに対する不正なアクセスから保護される必要がある。
【0010】
また、特許文献3に記載の発明は、指紋認証システムに登録されたユーザがセンサーに指紋をスワイプしたことは証明できるが、指紋認証の処理ユニット自体が取り替えられた場合、あるいは、当該コンピュータ上で実行される悪意のソフトウエアで指紋認証システムが制御される場合には対応できない。
【0011】
そこで、本発明の目的は、真正な所有者がプラットフォームを操作している場合に限りフィジカル・プリゼンスを肯定する認証方法を提供することにある。さらに、本発明の目的はそのような方法を実現するコンピュータおよびコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【0012】
本発明はTCGの仕様に適合したコンピュータにおけるフィジカル・プリゼンスの認証に関する。コンピュータはセキュリティ・チップ(TPM)と生体認証ユニットと起動ボタンを備える。起動ボタンが押下されることはコンピュータを操作するユーザがコンピュータを物理的に支配していることを意味している。第1の不揮発性メモリはCRTMを構成するCRTM認証コードを格納する。CRTM認証コードは、コールド・スタートのときにOSが動作を開始する前に実行されるようになっている。CRTM認証コードを実行するプロセッサは、第1のステータス・レジスタを参照しコンピュータがコールド・スタートされたことを確認し、かつ、生体認証ユニットが生体認証を成功したときにセキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送る。
【0013】
したがって、真正なユーザが物理的にコンピュータの起動ボタンを操作している場合に限りセキュリティ・チップに対してフィジカル・プリゼンスを主張することができる。従来は、不特定のユーザが起動ボタンを押したときにフィジカル・プリゼンスが肯定されたが、本発明によればこれに比べて一層セキュリティが強化された条件でフィジカル・プリゼンスを肯定することができる。プロセッサは、生体認証ユニットをセキュリティ・チップが認証するために生体認証ユニットのバインディング・データをセキュリティ・チップに送ることができる。さらに、プロセッサは、バインディング・データが有効なときにセキュリティ・チップを生体認証ユニットが認証するためにセキュリティ・チップが格納する指紋オーナーシップ・キーを生体認証ユニットに送ることができる。
【0014】
このように双方向に両者の関連性が一貫していることを認証して、生体認証ユニットを安全にフィジカル・プリゼンスの認証に使用することができる。起動ボタンが押下されてコンピュータがコールド・スタートしことを認識したときに、ハードウエア論理回路が生体認証ユニットに生体認証を開始させるようにすれば、生体認証の利用をセキュリティ上最も安全なハードウエア環境で実現することができる。その際、ハードウエア論理回路はPPビットを設定してもよい。
【0015】
ハードウエア論理回路はPPビットが設定されるときに生体情報を入力するための発光ダイオードによるプロンプトをユーザに提示することができる。CRTM認証コードをサイズの小さいブート・ブロックに格納する場合はメインテナンスが容易になるが、サイズの大きなコードを必要とするLCDを使用することはできないので、発光ダイオードの利用は都合がよい。
【0016】
ハードウエア論理回路は生体認証ユニットが認証を失敗したことを発光ダイオードによりユーザに提示することができる。ユーザは、生体認証が失敗したことにより、セキュリティ・チップに対する特権コマンドを使用することができなかったり、シングル・サイン・オンが利用できなかったりすることを認識する。ハードウエア論理回路は、起動ボタンが押下されてコンピュータがコールド・スタートしかつ生体認証ユニットとセキュリティ・チップとの間で相互認証が成功したときにPOPビットを設定し、プロセッサはPOPビットが設定されたときにセキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送ることができる。
【0017】
プロセッサは、PPビットおよびPOPビットのいずれも設定されないと判断したときにセキュリティ・チップにフィジカル・プリゼンスが否定されることを示すコマンドを送ることができる。プロセッサは、POPビットが設定されたときに第1の不揮発性メモリに格納されたパスワード認証コードを実行してシングル・サイン・オンを許可することができる。この場合、シングル・サイン・オンはフィジカル・オーナーシップ・プリゼンスが認証されたときにだけ行われるので、従来よりもセキュリティ・レベルを向上することができる。
【0018】
プロセッサが、オペレーティング・システムのブートが始まる前に生体認証ユニットの認証結果をクリアすれば、認証結果を盗用されることを防ぐことができるので、フィジカル・オーナーシップ・プリゼンスの認証に利用する生体認証のセキュリティ・レベルが向上する。第1の不揮発性メモリをブート・ブロックとシステム・ブロックで構成し、CRTM認証コードをブート・ブロックに格納しシングル・サイン・オンの許可をするコードをシステム・ブロックに格納してもよい。
【発明の効果】
【0019】
本発明により、真正な所有者がプラットフォームを操作している場合に限りフィジカル・プリゼンスを肯定する認証方法を提供することができた。さらに、本発明によりそのような方法を実現するコンピュータおよびコンピュータ・プログラムを提供することができた。
【発明を実施するための最良の形態】
【0020】
[ハードウエアの全体構成]
図1は、ノートPC10の主要なハードウエアの構成を示す概略ブロック図である。CPU11は、ノートPC10の中枢機能を担う演算処理装置で、オペレーティング・システム(OS)、BIOS、デバイス・ドライバ、あるいはアプリケーション・プログラムなどを実行する。CPU11は、ノース・ブリッジ13およびノース・ブリッジ13にさまざまなバスを経由して接続された各デバイスを制御する。ノース・ブリッジ13は、メイン・メモリ15、ビデオ・コントローラ17およびサウス・ブリッジ21に接続され、メイン・メモリ15へのアクセス動作を制御するためのメモリ・コントローラ機能や、CPU11と他のデバイスとの間のデータ転送速度の差を吸収するためのデータ・バッファ機能などを含む。
【0021】
ビデオ・コントローラ17は、グラフィック・アクセラレータおよびVRAMを備えており、CPU11からの描画命令を受けて描画すべきイメージを生成してVRAMに書き込み、VRAMから読み出したイメージを描画データとしてLCD19に送る。メイン・メモリ15は、CPU11が実行するプログラムの読み込み領域、処理データを書き込む作業領域として利用されるランダム・アクセス・メモリである。サウス・ブリッジ21はさまざまな規格のインターフェース機能を備え、ハードディスク・ドライブ(HDD)23、イーサネット(登録商標)・コントローラ22、指紋認証モジュール41および無線モジュール24に接続されている。サウス・ブリッジ21は、図6に示すようにステータス・レジスタ111を備えている。ノートPC10のパワー・ステートを遷移させる場合には、電源制御用のソフトウエアが遷移先のパワー・ステートを示すビットと遷移を実行させることを示すビットをステータス・レジスタ111に設定する。ステータス・レジスタ111のビットはパワー・オン状態以外のときにも維持されているので、ノートPC10がパワー・オン状態に遷移するときには、ステータス・レジスタ111に遷移元のビットが設定されていることになる。
【0022】
HDD23には、OS、デバイス・ドライバ、アプリケーション・プログラムなどの周知のプログラムが格納される。イーサネット・コントローラ22は、イーサネット規格の有線LANに接続するための拡張カードで、サウス・ブリッジ21にはPCI Expressバスで接続され、さらにノートPC10の筐体に取り付けられたRJ45という規格のコネクタに接続されている。ノートPC10は、所定のパワー・ステートのときにイーサネット・コントローラ22を経由してネットワークからマジック・パケットを受け取り、いわゆるウエイク・オン・ラン(WOL:Wake On LAN)で起動することができる。無線モジュール24は、たとえばIEEE802.11nに準拠した多入力多出力(MIMO)の無線通信に適合しており、PCI Express X1バスやUSBを介してサウス・ブリッジ21に接続され、WANやLANなどの無線ネットワークとの間で行うデータ通信を制御する。
【0023】
さらにサウス・ブリッジ21は、PCIバスまたはLPCバス25を介して、従来からノートPC10に使用されているレガシー・デバイス、あるいは高速なデータ転送を要求しないデバイスに接続される。LPCバス25には、TCGが定める非特許文献1または非特許文献2などに記載されたセキュリティ・チップ(TPM:Trusted Platform Module)26、BIOS_ROM27、エンベデッド・コントローラ(EC)29、セキュアNVRAM43、キーボード/マウス・コントローラ45が接続されている。
【0024】
セキュリティ・チップ26、BIOS_ROM27、セキュアNVRAM43については図2、図4、図5を参照して後に説明する。EC29は、8〜16ビットのCPU、ROM、RAMなどで構成されたマイクロ・コンピュータであり、さらに複数チャネルのA/D入力端子、D/A出力端子、タイマー、およびディジタル入出力端子を備えている。EC29は、ノートPC10の内部の動作環境の管理にかかるプログラムをCPU11とは独立して実行することができる。
【0025】
パワー・コントローラ31は、EC29およびDC/DCコンバータ33に接続され、EC29からの指示に基づいてDC/DCコンバータ33を制御する。DC/DCコンバータ33は、AC/DCアダプタ39またはバッテリ35から供給される直流電圧を、ノートPC10を動作させるために必要な複数の電圧に変換し、さらにパワー・ステートに応じて定義された電力供給区分に基づいて各々のデバイスに電力を供給する。AC/DCアダプタ39はノートPC10に接続されると、DC/DCコンバータ33とバッテリィ35を充電する充電器37に電力を供給する。
【0026】
ノートPC10は、ACPI(Advanced Configuration and Power Interface)の省電力機能およびプラグ・アンド・プレイ方式に対応している。ACPIでは、5つのスリーピング・ステートが定義されている。S1ステート〜S3ステートは、起動までの時間を短縮したステートである。S1ステートでは、システム・コンテキストが維持される。S2ステートは、CPU11およびシステム・キャッシュのコンテキストが消失する以外はS1ステートと同じである。
【0027】
S3ステートは、S2ステートに加えてノース・ブリッジ13およびサウス・ブリッジ21のコンテキストが消失するが、メイン・メモリ15の記憶は保持される。S3ステートはいわゆるサスペンドまたはsuspend to RAMといわれ、ノートPC10は、メイン・メモリ15、サウス・ブリッジ21、EC29、およびイーサネット・コントローラ22以外のデバイスに対する電源をオフにする。
【0028】
S4ステートはACPIでサポートされる中で最も起動までの時間が長いステートでいわゆるsuspend to diskまたはハイバネーションといわれる。ノートPC10は、S0ステートからS4ステートに遷移する際には、OSがHDD23にノートPC10の直前のコンテキストを格納してからパワー・コントローラ31以外のデバイスに対する電源をオフにする。S5ステートはいわゆるソフト・オフといわれ、OSがコンテキストをHDD23に格納しない点を除いてはS4ステートと同じである。S4ステートおよびS5ステートにおいて、WOLが設定されているときは、イーサネット・コントローラ22およびサウス・ブリッジ21には電源が供給されて、マジック・パケットを受け取って起動できるようになっている。
【0029】
S0ステートはパワー・オンの状態である。ノートPC10では、S0ステート、S3ステート、およびS4ステートだけが定義されているが、本実施の形態ではS1ステートおよびS2ステートはS3ステートと同様に処理され、S5ステートはS4ステートと同様に処理されるので、すべてのステートを含めて説明する。
【0030】
EC29は、パワー・コントローラ31を介してDC/DCコンバータ33を制御して、ノートPC10のパワー・ステートに応じて定義されたソフト・オフ状態(S5)、ハイバネーション状態(S4)、サスペンド状態(S3)、またはパワー・オン状態(S0)などの各電源状態に応じて動作するデバイスを選択して電力を供給することができる。パワー・コントローラ31には、図6に示すようにPP(Physical Presence)ビットおよびPOP(Physical Ownership Presence)ビットを設定するステータス・レジスタ113、115を備えている。
【0031】
キーボード/マウス・コントローラ45は、キーボード47やマウス(図示せず)などからの入力に対するインターフェース機能を提供する。指紋認証モジュール41はUSBによりサウス・ブリッジ21に接続され、さらにパワー・コントローラ31に接続されている。指紋センサー42はスワイプ式の指紋センサーでユーザの指紋画像を生成する。指紋認証モジュール41および指紋センサー42はそれぞれ、ノートPC10の筐体と物理的に一体になるように取り付けられている。指紋モジュール41については、図3を参照して後に説明する。
【0032】
[セキュリティ・チップの構成]
図2は、セキュリティ・チップ26の構成を示すブロック図である。セキュリティ・チップ26の構成は、非特許文献1〜3に記載のとおり周知である。セキュリティ・チップ26は、ノートPC10のマザー・ボードにハンダで接続され他のコンピュータに移設できないようになっている。また、たとえセキュリティ・チップ26を他のコンピュータに移設したとしても当該コンピュータは動作しないようになっている。
【0033】
セキュリティ・チップ26は、プラットフォームが真正なものでTCGに準拠しているかを検証する正当性検証機能、ハードウエアやソフトウエアが改ざんされていないことを確認するインテグリティの機能、内部に保存された暗号鍵は外部に出さないという暗号鍵の保護機能、および各種暗号処理機能を備える。なお、プラットフォームとは、コンピュータ・サービスを提供するためのハードウエア・リソースおよびソフトエア・リソースの集合をいう。
【0034】
インターフェース51は、LPCバス25と内部バスとの間でプロトコルを双方向に変換し、セキュリティ・チップ26の内部の各コンポーネントと外部との間でのデータ転送を制御する。暗号用コプロセッサ53は、セキュリティ・チップ26の内部で暗号処理を行う。HMACエンジン55は、HMAC(Keyed-Hashing for Message Authentication code)を計算する。SHA−1エンジン57は、与えられた値に対するハッシュ値を計算する。
【0035】
Opt−In59は、セキュリティ・チップ26をオン状態またはオフ状態にするための機構などを提供する。暗号鍵生成部63は、暗号化に使用する対称鍵および非対称鍵を生成する。乱数発生器65は、セキュリティ・チップ26の内部で使用する乱数を生成する。電源検出部67は、プラットフォームの電源状態に連携してセキュリティ・チップ26の電源状態を管理する。実行エンジン69は、インターフェース51から受け取ったコマンドを実行する。
【0036】
[指紋認証モジュールの構成]
図3は、指紋認証モジュール41の構成を示すブロック図である。特徴抽出部83は、指紋センサー42から受け取った指紋画像を芯線化して特徴点を抽出し、さらに抽出した特徴点の相関関係を数値化して照合指紋データを作成する。テンプレート格納部87は、あらかじめ登録する真正なユーザの照合指紋データをテンプレートとして格納する。照合部85は、認証のために指紋センサー42が生成した照合指紋データとテンプレートを比較し、一致点が所定のスコアを越えた場合に認証が成功したと判定する。
【0037】
データ格納部91は、指紋オーナーシップ・キー93、認証成功フラグ94、バインディング・データ95、パワー・オン・パスワード96、スーパーバイザ・パスワード97、およびHDDパスワード98を格納するセキュアな不揮発性のメモリである。データ格納部91に格納されたデータを書き換えるためには、ユーザはOSが動作を開始する前に指紋モジュール41による認証またはスーパーバイザ・パスワードの入力が必要となる。入出力制御部89は、サウス・ブリッジ21を通じて外部とのデータ転送を制御したり、データ格納部91にアクセスしたりする。入出力制御部89は、さらに、パワー・コントローラ31にハイ/ローの2値信号を送る。
【0038】
指紋オーナーシップ・キー93は、ユーザごとに登録されたテンプレートに関連づけられたコードである。認証成功フラグ94は、照合部85がテンプレート87と照合指紋データと一致すると判断したときに入出力制御部89により設定される。バインディング・データ95は、登録されたユーザのテンプレートに関連づけられたデータである。パワー・オン・パスワード96はノートPC10を起動する際にBIOSにより要求されるパスワードである。スーパーバイザ・パスワード97は、BIOSの設定を変更する際にBISOにより要求されるパスワードである。HDDパスワード98は、HDD23にアクセスするためにBIOSにより要求されるパスワードである。
【0039】
[BIOS_ROM27の構成]
図4は、BIOS_ROM27の構成を示す図である。BIOS_ROM27は、不揮発性で記憶内容の電気的な書き替えが可能なメモリであり、書き換えに伴うリスクを軽減するためにブート・ブロック方式を採用している。ブート・ブロック27aは、書き込み保護がされている記憶領域でここに格納されたプログラム(コードまたはインストラクションともいう。)はTPMの仕様書に規定するCRTMとして扱われ特別な権限がないと書き換えができないようになっている。
【0040】
CRTMは、プラットフォームの初期化コードの中で一貫性のある部分として構成され、プラットフォームのリセット時には必ず最初に実行されなければならない。CRTMは、ノートPCがS4ステートまたはS5ステートからS0ステートに遷移するコールド・ブートのときに最初に実行される。ノートPC10のプラットフォームに関するすべての一貫性の計測は、このCRTMに基づいて行われる。
【0041】
ブート・ブロック27aには、本実施の形態にかかるフィジカル・プリゼンスの認証を行うCRTM認証コード121および最小限のその他のコード123がCRTMとして格納される。その他のコード123は、フィジカル・プリゼンスの認証に必要な最低限のハードウエアであるCPU11、メイン・メモリ15、サウス・ブリッジ21、指紋認証モジュール41、およびセキュリティ・チップ26などの試験および初期化を行う機能を含む。さらにその他のコード123は、BIOS_ROM27の書き換えに必要な機能を含む。
【0042】
システム・ブロック27bは、その他のコード123では実行されないBIOSの機能を担うコードを格納する。システム・ブロック27bに格納されたコードの一貫性は、ブート・ブロック27aに格納されたCRTMに基づいて計算される。POST(Power-On Self Test)125は、ハードウエアの試験および初期化を行い、周辺機器制御コード127は、BIOSの制御下でLCD19、HDD23、およびキーボード47などにアクセスするための入出力を制御する。ユーティリティ129は、電源および筐体内の温度などを管理する。パスワード認証コード131は、パワー・オン・パスワード、スーパーバイザ・パスワード、およびHDDパスワードの認証を行う。パスワード認証コード131は、さらに、本発明にかかるフィジカル・オーナーシップ・プリゼンスの認証を有効にするか否かをユーザが設定するための処理やシングル・サイン・オンの認証を行う。
【0043】
BIOS_ROM27は、図4(B)に示すように全体を一括して書き込み保護することで、内部に格納されたプログラム全体をCRTMにすることも可能である。この場合はCRTMのサイズが大きくなってBIOS_ROM27の更新が煩雑になるが、本実施の形態においてフィジカル・プリゼンスの認証を行う際にLCD19を利用してユーザにダイオードよりも情報量の多いプロンプトを提供できるなどのメリットがある。
【0044】
[セキュアNVRAMの構成]
図5は、セキュアNVRAM43の構成を示す図である。セキュアNVRAM43は、OSの環境下ではアクセスが制約された不揮発性のメモリである。セキュアNVRAM43は、フィジカル・オーナーシップ・プリゼンスの認証をユーザが有効になるように設定したことを示すPOP認証有効フラグ151、パワー・オン・パスワード153、およびスーパーバイザ・パスワード155を格納する。POP認証有効フラグ151は、ノートPC10が起動された以降の初期段階でBIOS_ROM27のシステム・ブロック27bに格納されたパスワード認証コード131により、ユーザが本発明にかかるフィジカル・オーナーシップ・プリゼンスの認証をするか、あるいは従来どおりのフィジカル・プリゼンスの認証をするかの選択結果に基づいて設定される。
【0045】
[フィジカル・プリゼンスを実現する機能構成]
図6は、フィジカル・プリゼンスの認証に関連するハードウエアおよびソフトウエアの構成を示す機能ブロック図である。起動ボタン101は、ノートPC10の筐体に物理的に一体になるように取り付けられており、ノートPC10を物理的に支配しているユーザだけが押下することができる。起動ボタン101が押下することで、パワー・コントローラ31に起動信号を送ることができる。パワー・コントローラ31は起動ボタン101からライン102を通じて起動信号を受け取ったときにDC/DCコンバータ33を制御して所定のシーケンスでノートPC10の各デバイスに電源を供給しS0ステートに移行させる。
【0046】
スイッチ103の一方の端子は起動ボタン101に接続され、スイッチ103の他方の端子はパワー・コントローラ31に接続されている。スイッチ103の制御端子はサウス・ブリッジ21に接続されている。スイッチ103は、サウス・ブリッジ21のステータス・レジスタ111の値に基づいてオン/オフが制御される。スイッチ105の一方の端子はDC/DCコンバータ33に接続され、スイッチ105の他方の端子は指紋認証モジュール41に接続されている。スイッチ107の一方の端子はDC/DCコンバータ33に接続され、他方の端子は発光ダイオード109に接続されている。スイッチ105、107の制御端子は、パワー・コントローラ31に接続されている。発光ダイオード109は、指紋センサー42の近辺においてノートPC10の筐体に取り付けられている。CRTM認証コード121またはパスワード認証コード131は、パワー・コントローラ31、指紋認証モジュール41、サウス・ブリッジ21、およびセキュリティ・チップ26にアクセスしてフィジカル・プリゼンスの認証をするためにCPU11により実行される。
【0047】
[パワー・ステート]
図7はノートPC10におけるパワー・オンに対するパワー・ステートの遷移方法と関連動作を説明する図である。図7は、S1ステート〜S5ステートのいずれかからS0ステートに遷移場合を示している。起動ボタン101の押下はいずれのパワー・ステートからも実行できる。WOLでは、S5ステートからの遷移以外の場合に実行できる。キーボート47のファンクション・キー(Fnキー)の押下では、S4ステートまたはS5ステートからの遷移以外の場合に実行できる。
【0048】
ブート・ブロック27aのCRTM認証コード121およびその他のコード123は、S4ステートまたはS5ステートからS0ステートに遷移するときにだけOSのブートが始まる前に実行される。S4ステートまたはS5ステートからS0ステートに遷移することをコールド・スタートまたはコールド・ブートといい、その他のパワー・ステートからS0ステートに遷移することをウォーム・スタートまたはウォーム・ブートという。後に説明するが、起動ボタン101が押下されてコールド・スタートする場合にだけ、ステータス・レジスタ113にPPビットが設定される。
【0049】
[フィジカル・プリゼンスの認証方法]
つぎに図8〜図10を参照して、フィジカル・プリゼンスの認証方法について説明する。図8〜10は、図1〜図6に示したソフトウエアおよびハードウエアに基づく認証の手順を示すフローチャートである。図8は、ハードウエア環境下での指紋認証の手順を示し、図9は、CRTM認証コード121によるフィジカル・プリゼンスおよびフィジカル・オーナーシップ・プリゼンスの認証の手順を示し、図10は、パスワード認証コード131によるシングル・サイン・オンの認証の手順を示す。
【0050】
図8のブロック200では、起動ボタン101、WOL、またはキーボード47のFnキーの押下により図7に示したいずれかのパワー・ステートからノートPC10はパワー・オン状態(S0ステート)に遷移する。ブロック201は、起動ボタン101によるパワー・オンの場合はブロック203に移行し、その他の契機によるパワー・オンの場合は参照記号Aに移行して処理されることを示す。
【0051】
起動ボタン101が押下されたときは、ノートPC10はS1ステート〜S5ステートのいずれかのステートからS0ステートに遷移する。パワー・コントローラ31は、起動ボタン101が押下されてライン102を通じて起動信号を受け取ったときに、DC/DCコンバータ33を制御して各デバイスに電源を供給する。サウス・ブリッジ21は、ステータス・レジスタ111を参照してコールド・スタートのときにだけ、スイッチ103をオンにする。スイッチ103がオンのときに起動ボタン101が押下されると、ライン104を通じてPPビット設定信号がパワー・コントローラ31に送られる。
【0052】
サウス・ブリッジ21は、コールド・スタートの場合はブロック205以降の指紋認証が完了するまでCPU11をアイドル状態にする。ブロック203では、ライン104を通じてPPビット設定信号を受け取った場合に、パワー・コントローラ31のハードウエア論理回路が、ノートPC10は起動ボタン101が押下されてコールド・スタートしたと判断してブロック204でステータス・レジスタ113にPPビットを設定し、さらにブロック205でスイッチ107をオン/オフして指紋センサー42の近くに設けられた発光ダイオード109を点滅させユーザに指のスワイプを促すプロンプトを生成する。さらにパワー・コントローラ31は、スイッチ105をオンにして指紋認証モジュール41に電源を供給しユーザに指紋認証を開始させる。
【0053】
この時点ではCPU11はアイドル状態であるため、プログラムを実行してLCD19に指紋入力のプロンプトを出すことはできない。また、たとえCPU11を動作させてCRTMを実行させたとしてもBIOS_ROM27は、ブート・ブロック方式を採用しているため、システム・ブロック27bのコードが実行されるまでLCD19は動作しない。したがって、ブロック205では、LCD19以外の手段でユーザに指のスワイプを促すために発光ダイオード109を点滅させている。
【0054】
ただし、図4(B)のように、BIOS_ROM27に格納されたすべてのコードをCRTMにすれば、この時点でLCD19に指のスワイプのためのプロンプトを表示することもできる。ブロック203でパワー・コントローラ31がPPビット設定信号を受け取らない場合には、ノートPC10は起動ボタン101が押下されてウォーム・スタートしたことになり、PPビットは設定されないで参照記号Bに移行して処理される。ウォーム・スタートのときにはCRTM認証コード27aは実行されないので、フィジカル・プリゼンスの認証は行われない。
【0055】
ブロック205でユーザは指紋センサー42に指をスワイプする。指紋認証モジュール41は、ブロック207でテンプレート格納部87にあらかじめ登録してあるユーザのテンプレートと入力された指紋から抽出した照合指紋データを比較して指紋認証を行う。入出力制御部89は、指紋認証が成功した場合にデータ格納部91に認証成功フラグ94を設定し、ブロック211で指紋認証を終了させてパワー・コントローラ31にハイ/ローの2値で構成された終了信号を送る。終了信号を受け取ったパワー・コントローラ31は、発光ダイオード109の点滅を停止する。この終了信号は、ハードウエアだけで生成されソフトウエアが介在しないで送られるのでセキュリティのレベルを高く維持することができる。
【0056】
照合部85は、所定回数照合を行っても入力された指紋画像がテンプレートに一致しない場合およびタイムアウトの場合にブロック209に移行してパワー・コントローラ31に認証失敗を示す信号を送る。認証が失敗したことを認識したパワー・コントローラ31は、スイッチ107をオン/オフして、所定の時間発光ダイオード109をブロック205の点滅とは異なる周期で点滅させ、その後ブロック211に移行してスイッチ107をオフにし発光ダイオード109の点滅を停止して、参照記号Aに移行する。このときパワー・コントローラ31は、指紋認証モジュール41にそれ以降の指紋認証をさせないためにスイッチ105をオフにしてもよい。ブロック203からブロック211までの手順は、ハードウエア論理回路だけで指紋認証モジュール41を制御しており、改ざんされたソフトウエアやスパイウエアにより指紋認証モジュール41の動作が制御されることがないため安全である。
【0057】
つづいて図9の説明に移行する。図9は図8の参照記号A、Bから開始する。ブロック211で指紋認証モジュール41から信号を受け取って指紋認証が完了したことを認識したサウス・ブリッジ21は、アイドル状態で動作していたCPU11に対して信号を送って動作を開始させる。CPU11が実行する最初のポインタには、ブート・ブロック27aに格納されたCRTMの先頭アドレスが設定されており、CPU11、ノース・ブリッジ13、およびサウス・ブリッジ21などの主要なチップの試験および初期化が完了した後にCPU11はCRTM認証コード121の実行を開始する。
【0058】
ブロック213では、CRTM認証コード121がサウス・ブリッジ21のステータス・レジスタ111を参照してノートPC10がコールド・スタートしたかウォーム・スタートしたかを判定する。TCGの仕様には、ユーザが現実にプラットフォームの前に存在することによるフィジカル・プリゼンスを認証するためには、物理的手法とコマンド手法およびそれらを組み合わせる手法が規定されている。物理的手法は、TPMに対してプラットフォームに設けられたスイッチまたはジャンパから直接信号を送る方法である。コマンド手法は、CRTMがPCの電源が投入されてOSに制御が移行する前にTPMに対して信号を送る方法である。
【0059】
本発明では、以下に説明するように起動ボタン101の押下により生成したPPビット設定信号、指紋認証モジュール41、パワー・コントローラ、およびサウス・ブリッジ21をCRTM認証コード121が制御してフィジカル・プリゼンスの認証を行う。ブロック213でCRTM認証コード121がノートPC10はウォーム・スタートしたと判断したときはブロック227に移行する。ブロック213でCRTM認証コード121がノートPC10はコールド・スタートしたと判断したときはブロック215に移行する。
【0060】
ブロック215では、フィジカル・オーナーシップ・プリゼンスの認証が有効に設定されているか否かをCRTM認証コード121がセキュアNVRAM43のPOP認証有効フラグ151を参照して判断する。ユーザがフィジカル・オーナーシップ・プリゼンスの認証を行わないようにNVRAM49にPOP認証有効フラグ151を設定していた場合は、従来からの方法でフィジカル・プリゼンスの認証を行うためにブロック219に移行する。
【0061】
ブロック219では、CRTM認証コード121がパワー・コントローラ31のステータス・レジスタ113を参照して、PPビットが設定されているか否かを判断する。起動ボタン101の押下によりコールド・スタートしたときは、ブロック203でステータス・レジスタ113にPPビットが設定されており、フィジカル・プリゼンスが肯定されてブロック225に移行する。WOLによりコールド・スタートしたときは、ステータス・レジスタ113にPPビットが設定されていないため、フィジカル・プリゼンスが否定されてブロック227に移行する。
【0062】
ブロック215に戻って、ユーザがフィジカル・オーナーシップ・プリゼンスの認証を行うようにNVRAM49にPOP認証有効フラグ151を設定していた場合は、ブロック216に移行してCRTM認証コード121は、ステータス・レジスタ113を参照して、PPビットが設定されているか否かを判断する。PPビットが設定されていない場合は、WOLによる起動なのでブロック227に移行する。PPビットが設定されている場合はブロック217に移行してセキュリティ・チップ26による指紋認証モジュール41の認証を行う。CRTM認証コード121は、指紋認証モジュール41にバインディング・データ95の要求をする。指紋認証モジュール41の入出力制御部89は、ブロック207における指紋認証が成功していることを示す認証成功フラグ94が設定されている場合は、データ格納部91からバインディング・データ95を取り出してCRTM認証コード121に渡す。CRTM認証コード121はバインディング・データ95をセキュリティ・チップ26に送出する。認証成功フラグ94が設定されていない場合は、入出力制御部89はバインディング・データ95をCRTM認証コード121に渡さないため、フィジカル・オーナーシップ・プリゼンスの認証が失敗したものとして処理するためにブロック227に移行する。セキュリティ・チップ26は、受け取ったバインディング・データ95をブロック221で内部のPCR(Platform Configuration Register)に格納する。
【0063】
バインディング・データ95を受け取ったセキュリティ・チップ26は、PCRに格納されたバインディング・データ95のハッシュ値を計算し、PCRにあらかじめハッシュされて登録された指紋認証モジュール41のバインディング・データと比較する。比較した結果両者が一致した場合は、セキュリティ・チップ26は内部に格納しておいた指紋オーナーシップ・キーをCRTM認証コード121に送出し、一致しない場合は指紋オーナーシップ・キーをCRTM認証コード121に送出しない。CRTM認証コード121はセキュリティ・チップ26から指紋オーナーシップ・キーを受け取った場合はそれを指紋認証モジュール41に送ってブロック221に移行し、受け取らない場合はフィジカル・オーナーシップ・プリゼンスの認証が失敗したものとして処理するためにブロック227に移行する。
【0064】
指紋オーナーシップ・キーは、登録のために指紋センサー42で生成された指紋画像のテンプレートに対応する値であり、同じ値は、指紋認証モジュール41のデータ格納部91にも格納されている。ブロック221では、指紋認証モジュール41が、CRTM認証コード121によりセキュリティ・チップ26から送られた指紋オーナーシップ・キーがデータ格納部91に格納された指紋オーナーシップ・キー93と一致するか否かを入出力制御部89が判断する。両者が一致する場合はフィジカル・オーナーシップ・プリゼンスを肯定して、指紋認証モジュール41の入出力制御部89は、パワー・コントローラ31のステータス・レジスタ115にハイ/ローの2値信号を送ってPOPビットを設定する。指紋認証モジュール41はPOPビットの設定を、ソフトウエアを介在させないで行うことにより、セキュリティ・レベルを向上させている。
【0065】
ブロック217とブロック221では、指紋認証モジュール41とセキュリティ・チップ26との間で双方向にそれぞれが真正であることを認証することにより、いずれか一方または両方が悪意でプラットフォームから付け替えられた場合には、確実にフィジカル・オーナーシップ・プリゼンスを否定できるようにしている。ブロック225では、セキュアNVRAM43にPOP認証有効フラグ151が設定され、かつ、ステータス・レジスタ115にPOPビットが設定されている場合と、セキュアNVRAM43にPOP認証有効フラグ151が設定されず、かつ、ステータス・レジスタ113にPPビットが設定されている場合のいずれかを検出したCRTM認証コード121は、セキュリティ・チップ26にTSC_PhysicalPresencePresentというコマンドを送る。コマンドを受け取ったセキュリティ・チップ26は、内部でTPM_PhysicalPresenceフラグを肯定(true)に設定する。
【0066】
この場合、TPM_PhysicalPresenceフラグは2つのケースで肯定(true)に設定される。ブロック223でPOPビットが設定されている場合は本発明にかかるフィジカル・オーナーシップ・プリゼンスが肯定されて、あらかじめオーナーとして指紋が登録されたユーザが起動ボタン101を押下してノートPC10を起動したことになる。また、ブロック219でPPビットだけが設定されていると判断した場合は、従来の方法でフィジカル・プリゼンスが肯定されて、不特定のユーザが起動ボタンを押下してノートPC10を起動したことになる。
【0067】
ただし、いずれの経緯を経てTPM_PhysicalPresenceフラグが肯定に設定された場合であってもセキュリティ・チップ26は、その時点で同じレベルの特権コマンドの実行を許可する。特権コマンドは、現存のオーナーを示す情報をセキュリティ・チップ26からクリアすること、セキュリティ・チップ26を一時的にディアクティベイティング(deactivating)すること、およびセキュリティ・チップ26をディスエイブリング(disabling)することを含む。なお、特権コマンドの具体的な内容は、非特許文献1に記載されている。
【0068】
ブロック227では、セキュアNVRAM43にPOP認証有効フラグ151が設定され、かつ、ステータス・レジスタ115にPOPビットが設定されていない場合と、ステータス・レジスタ113にPPビットが設定されていない場合のいずれかを検出したCRTM認証コード121は、セキュリティ・チップ26にTSC_PhysicalPresenceNotPresentというコマンドを送り、TPM_PhysicalPresenceフラグを否定(false)に設定する。
【0069】
この場合、セキュリティ・チップ26は特権コマンドを許可しない。ブロック225または227でTPM_PhysicalPresenceフラグの設定が終了すると、ブロック229に移行し、システム・ブロック27bに格納されたPOST125が実行される。これ以降の手順は図10を参照して説明する。図10は図9の参照記号Cから開始する。
【0070】
ブロック231では、POST125の実行に続いてあるいはその途中にシステム・ブロック27bに格納されたパスワード認証コード131が実行される。この時点では、BIOSの画面を通じてLCD19およびキーボード47の利用ができるようになっている。ブロック233でパスワード認証コード131は、指紋認証モジュール41に今回の起動において指紋認証が成功したか否かを問い合わせる。入出力制御部89は、データ格納部91の認証成功フラグ94を参照して、パスワード認証コード131に結果を通知する。
【0071】
パスワード認証コード131は、今回の起動において指紋認証が成功したと判断したときは、ブロック235に移行し、指紋認証が失敗したと判断したときはブロック247に移行する。ブロック235では、パスワード認証コード131がステータス・レジスタ115にPOPビットが設定されているか否かを判断する。POPビットが設定されているときはブロック237に移行し、設定されていないときはブロック247に移行する。
【0072】
パスワード認証コード131はブロック237で、指紋認証モジュール41のデータ格納部91からパワー・オン・パスワード96、スーパーバイザ・パスワード97、およびHDDパスワード98を取得する。パスワード認証コード131はブロック239でNVRAM43に格納されたパワー・オン・パスワード153、スーパーバイザ・パスワード155およびHDD23から取得したHDDパスワードと比較して、それらの認証をユーザの介在なしで完了させる。このようにユーザが行う複数の個別認証を一度に行う方法をシングル・サイン・オン(SSO:Single Sign-On)という。個別認証は、セキュリティを強化する目的で別々の認証を要求するものであるが、ユーザにとっては煩わしさを否めない。
【0073】
したがって、シングル・サイン・オンによりユーザの利便性を高めることができるが、それを認めるときには、個別認証に比べてセキュリティ・レベルを低下させないようにする必要がある。ブロック239でのシングル・サイン・オンは、フィジカル・オーナーシップ・プリゼンスが肯定された条件のもとで行われるものであり、従来のシングル・サイン・オンに比べてセキュリティ・レベルは高くなっている。
【0074】
ブロック241では、パスワード認証コード131は、ステータス・レジスタ113、115のPPフラグおよびPOPフラグをリセットし、さらに指紋認証モジュール41に対してデータ格納部91の認証成功フラグ94をリセットするように要求する。この要求を受けた入出力制御部89は認証成功フラグ94をリセットする。ブロック243でパスワード認証コード131は、セキュリティ・チップ26にTSC_PhysicalPresenceNotPresentというコマンドを送って、TPM_PhysicalPresenceフラグを否定に設定し、さらに、TSC_PhysicalPresenceLockというコマンドを送ってTPM_PhysicalPresenceフラグが書き換えられないようにする。
【0075】
その後ブロック245でOSのブートが開始されるが、セキュリティ・チップ26はこれ以降において特権コマンドを許可せず、また、TSC_PhysicalPresencePresentというコマンドを受け付けない。なお、TPM_PhysicalPresenceフラグのロック状態は、ノートPC10がコールド・スタートされるたびに解除される。ブロック247〜251では、シングル・サイン・オンが認められないため、ユーザは個別認証でパワー・オン・パスワード、スーパーバイザ・パスワード、およびHDDパスワードをパスワード認証コード131の要求に応じてキーボードから入力する。本発明におけるフィジカル・オーナーシップ・プリゼンスは指紋認証ユニットに代えて掌形、網膜、虹彩、音声または静脈などの他の生体情報を用いた生体認証ユニットを利用することができる。
【0076】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【図面の簡単な説明】
【0077】
【図1】ノートPCの主要なハードウエアの構成を示す概略ブロック図である。
【図2】セキュリティ・チップの構成を示すブロック図である。
【図3】指紋認証モジュールの構成を示すブロック図である。
【図4】BIOS_ROMの構成を示す図である。
【図5】セキュアNVRAMの構成を示す図である。
【図6】フィジカル・プリゼンスの認証に関連するハードウエアおよびソフトウエアの構成を示す機能ブロック図である。
【図7】ノートPCのパワー・ステートの遷移方法と関連動作を説明する図である。
【図8】フィジカル・プリゼンスの認証手順を示すフローチャートである。
【図9】フィジカル・プリゼンスの認証手順を示すフローチャートである。
【図10】シングル・サイン・オンの認証手順を示すフローチャートである。
【符号の説明】
【0078】
26…セキュリティ・チップ
41…指紋認証モジュール
101…起動ボタン
103、105、107…制御端子付きスイッチ
109…発光ダイオード
111、113、115…ステータス・レジスタ
【特許請求の範囲】
【請求項1】
TCGの仕様に適合したコンピュータであって、
セキュリティ・チップと、
前記コンピュータに取り付けられた起動ボタンと、
CRTM認証コードを格納する第1の不揮発性メモリと、
前記CRTM認証コードを実行するプロセッサと、
前記コンピュータのパワー・ステートを記憶する第1のステータス・レジスタと、
前記コンピュータに取り付けられた生体認証ユニットとを有し、
前記プロセッサは前記起動ボタンが押下されてオペレーティング・システムが実行される前に前記CRTM認証コードを実行して、前記第1のステータス・レジスタを参照して前記コンピュータがコールド・スタートしたことを確認し、かつ、前記生体認証ユニットが生体認証を成功したときに前記セキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送る
コンピュータ。
【請求項2】
前記プロセッサは、前記セキュリティ・チップが前記生体認証ユニットを認証するために前記生体認証ユニットからバインディング・データを前記セキュリティ・チップに送る請求項1に記載のコンピュータ。
【請求項3】
前記プロセッサは、前記生体認証ユニットが前記セキュリティ・チップを認証するために前記バインディング・データが有効なときに前記セキュリティ・チップが格納する指紋オーナーシップ・キーを前記生体認証ユニットに送る請求項2に記載のコンピュータ。
【請求項4】
前記起動ボタンが押下されて前記コンピュータがコールド・スタートしたときにPPビットを設定するハードウエア論理回路を有し、該ハードウエア論理回路は前記PPビットが設定される際に前記生体認証ユニットに生体認証を開始させる請求項1ないし請求項3のいずれかに記載のコンピュータ。
【請求項5】
前記ハードウエア論理回路は、前記PPビットが設定される際に生体情報を入力するための発光ダイオードによるプロンプトをユーザに提示する請求項4に記載のコンピュータ。
【請求項6】
前記ハードウエア論理回路は、前記生体認証ユニットが認証を失敗したことを発光ダイオードによりユーザに提示する請求項5に記載のコンピュータ。
【請求項7】
前記ハードウエア論理回路は、前記起動ボタンが押下されて前記コンピュータがコールド・スタートしかつ前記生体認証ユニットと前記セキュリティ・チップとの間で相互認証が成功したときにPOPビットを設定し、前記プロセッサは前記POPビットが設定されたときに前記セキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送る請求項4ないし請求項6のいずれかに記載のコンピュータ。
【請求項8】
前記プロセッサは前記PPビットおよび前記POPビットのいずれも設定されないと判断したときに前記セキュリティ・チップにフィジカル・プリゼンスが否定されることを示すコマンドを送る請求項4ないし請求項7のいずれかに記載のコンピュータ。
【請求項9】
前記プロセッサは前記第1の不揮発性メモリに格納されたパスワード認証コードを実行して前記POPビットが設定されたときにシングル・サイン・オンを許可する請求項8に記載のコンピュータ。
【請求項10】
前記プロセッサは、前記オペレーティング・システムのブートが始まる前に前記生体認証ユニットの認証結果をクリアする請求項1ないし請求項9のいずれかに記載のコンピュータ。
【請求項11】
前記第1の不揮発性メモリがブート・ブロックとシステム・ブロックで構成され、前記CRTM認証コードがブート・ブロックに格納されている請求項1ないし請求項10のいずれかに記載のコンピュータ。
【請求項12】
前記パスワード認証コードが前記システム・ブロックに格納されている請求項11に記載のコンピュータ。
【請求項13】
生体認証ユニットと起動ボタンとTCGの仕様に適合したセキュリティ・チップとを備えるコンピュータにおいて、プロセッサがCRTM認証コードを実行してフィジカル・プリゼンスの認証をする方法であって、
前記起動ボタンの押下により前記コンピュータがコールド・スタートしたか否かを判断するステップと、
前記生体認証ユニットが生体認証を行うステップと、
前記起動ボタンの押下により前記コンピュータがコールド・スタートしかつ前記生体認証が成功したときに前記セキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送るステップと
を有する認証方法。
【請求項14】
前記生体認証ユニットが格納するバインディング・データと前記セキュリティ・チップが格納する指紋オーナーシップ・キーを利用して前記生体認証ユニットと前記セキュリティ・チップとの間で相互認証をするステップを有する請求項13に記載の認証方法。
【請求項15】
前記コンピュータのハードウエア論理回路が前記起動ボタンの押下により前記コンピュータがコールド・スタートしたことを認識したときにユーザが前記生体認証ユニットに入力するためのプロンプトを表示するステップを有する請求項13または請求項14に記載の認証方法。
【請求項16】
前記生体認証を行うステップが完了したことを認識して前記ハードウエア論理回路が前記生体認証ユニットの動作を停止するステップを有する請求項14または請求項15に記載の認証方法。
【請求項17】
フィジカル・オーナーシップ・プリゼンスの認証を有効または無効に設定するステップと、
フィジカル・オーナーシップ・プリゼンスの認証が無効に設定されているときに前記起動ボタンの押下により前記コンピュータがコールド・スタートしたか否かを判断するステップと、
前記コールド・スタートしたと判断したときに前記セキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送るステップと
を有する請求項13ないし請求項16のいずれかに記載の認証方法。
【請求項18】
起動ボタンが押下されて前記コンピュータがコールド・スタートしかつ前記生体認証ユニットが生体認証を成功したときにパワー・オン・パスワード、スーパーバイザ・パスワード、およびハードディスク・パスワードに対するシングル・サイン・オンを実行するステップを有する請求項13ないし請求項17のいずれかに記載の認証方法。
【請求項19】
オペレーティング・システムがブートする前に前記セキュリティ・チップに前記フィジカル・プリゼンスが否定されることを示すコマンドを送るステップを有する請求項13ないし請求項18のいずれかに記載の認証方法。
【請求項20】
TCGの仕様に適合したセキュリティ・チップと生体認証ユニットと起動ボタンとを備えるコンピュータに、
前記起動ボタンの押下により前記コンピュータがコールド・スタートしたか否かを判断する機能と、
前記生体認証ユニットに生体認証をさせる機能と、
前記起動ボタンの押下により前記コンピュータがコールド・スタートしかつ前記生体認証が成功したときに前記セキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送る機能と
を実現させるCRTMを構成するコンピュータ・プログラム。
【請求項1】
TCGの仕様に適合したコンピュータであって、
セキュリティ・チップと、
前記コンピュータに取り付けられた起動ボタンと、
CRTM認証コードを格納する第1の不揮発性メモリと、
前記CRTM認証コードを実行するプロセッサと、
前記コンピュータのパワー・ステートを記憶する第1のステータス・レジスタと、
前記コンピュータに取り付けられた生体認証ユニットとを有し、
前記プロセッサは前記起動ボタンが押下されてオペレーティング・システムが実行される前に前記CRTM認証コードを実行して、前記第1のステータス・レジスタを参照して前記コンピュータがコールド・スタートしたことを確認し、かつ、前記生体認証ユニットが生体認証を成功したときに前記セキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送る
コンピュータ。
【請求項2】
前記プロセッサは、前記セキュリティ・チップが前記生体認証ユニットを認証するために前記生体認証ユニットからバインディング・データを前記セキュリティ・チップに送る請求項1に記載のコンピュータ。
【請求項3】
前記プロセッサは、前記生体認証ユニットが前記セキュリティ・チップを認証するために前記バインディング・データが有効なときに前記セキュリティ・チップが格納する指紋オーナーシップ・キーを前記生体認証ユニットに送る請求項2に記載のコンピュータ。
【請求項4】
前記起動ボタンが押下されて前記コンピュータがコールド・スタートしたときにPPビットを設定するハードウエア論理回路を有し、該ハードウエア論理回路は前記PPビットが設定される際に前記生体認証ユニットに生体認証を開始させる請求項1ないし請求項3のいずれかに記載のコンピュータ。
【請求項5】
前記ハードウエア論理回路は、前記PPビットが設定される際に生体情報を入力するための発光ダイオードによるプロンプトをユーザに提示する請求項4に記載のコンピュータ。
【請求項6】
前記ハードウエア論理回路は、前記生体認証ユニットが認証を失敗したことを発光ダイオードによりユーザに提示する請求項5に記載のコンピュータ。
【請求項7】
前記ハードウエア論理回路は、前記起動ボタンが押下されて前記コンピュータがコールド・スタートしかつ前記生体認証ユニットと前記セキュリティ・チップとの間で相互認証が成功したときにPOPビットを設定し、前記プロセッサは前記POPビットが設定されたときに前記セキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送る請求項4ないし請求項6のいずれかに記載のコンピュータ。
【請求項8】
前記プロセッサは前記PPビットおよび前記POPビットのいずれも設定されないと判断したときに前記セキュリティ・チップにフィジカル・プリゼンスが否定されることを示すコマンドを送る請求項4ないし請求項7のいずれかに記載のコンピュータ。
【請求項9】
前記プロセッサは前記第1の不揮発性メモリに格納されたパスワード認証コードを実行して前記POPビットが設定されたときにシングル・サイン・オンを許可する請求項8に記載のコンピュータ。
【請求項10】
前記プロセッサは、前記オペレーティング・システムのブートが始まる前に前記生体認証ユニットの認証結果をクリアする請求項1ないし請求項9のいずれかに記載のコンピュータ。
【請求項11】
前記第1の不揮発性メモリがブート・ブロックとシステム・ブロックで構成され、前記CRTM認証コードがブート・ブロックに格納されている請求項1ないし請求項10のいずれかに記載のコンピュータ。
【請求項12】
前記パスワード認証コードが前記システム・ブロックに格納されている請求項11に記載のコンピュータ。
【請求項13】
生体認証ユニットと起動ボタンとTCGの仕様に適合したセキュリティ・チップとを備えるコンピュータにおいて、プロセッサがCRTM認証コードを実行してフィジカル・プリゼンスの認証をする方法であって、
前記起動ボタンの押下により前記コンピュータがコールド・スタートしたか否かを判断するステップと、
前記生体認証ユニットが生体認証を行うステップと、
前記起動ボタンの押下により前記コンピュータがコールド・スタートしかつ前記生体認証が成功したときに前記セキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送るステップと
を有する認証方法。
【請求項14】
前記生体認証ユニットが格納するバインディング・データと前記セキュリティ・チップが格納する指紋オーナーシップ・キーを利用して前記生体認証ユニットと前記セキュリティ・チップとの間で相互認証をするステップを有する請求項13に記載の認証方法。
【請求項15】
前記コンピュータのハードウエア論理回路が前記起動ボタンの押下により前記コンピュータがコールド・スタートしたことを認識したときにユーザが前記生体認証ユニットに入力するためのプロンプトを表示するステップを有する請求項13または請求項14に記載の認証方法。
【請求項16】
前記生体認証を行うステップが完了したことを認識して前記ハードウエア論理回路が前記生体認証ユニットの動作を停止するステップを有する請求項14または請求項15に記載の認証方法。
【請求項17】
フィジカル・オーナーシップ・プリゼンスの認証を有効または無効に設定するステップと、
フィジカル・オーナーシップ・プリゼンスの認証が無効に設定されているときに前記起動ボタンの押下により前記コンピュータがコールド・スタートしたか否かを判断するステップと、
前記コールド・スタートしたと判断したときに前記セキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送るステップと
を有する請求項13ないし請求項16のいずれかに記載の認証方法。
【請求項18】
起動ボタンが押下されて前記コンピュータがコールド・スタートしかつ前記生体認証ユニットが生体認証を成功したときにパワー・オン・パスワード、スーパーバイザ・パスワード、およびハードディスク・パスワードに対するシングル・サイン・オンを実行するステップを有する請求項13ないし請求項17のいずれかに記載の認証方法。
【請求項19】
オペレーティング・システムがブートする前に前記セキュリティ・チップに前記フィジカル・プリゼンスが否定されることを示すコマンドを送るステップを有する請求項13ないし請求項18のいずれかに記載の認証方法。
【請求項20】
TCGの仕様に適合したセキュリティ・チップと生体認証ユニットと起動ボタンとを備えるコンピュータに、
前記起動ボタンの押下により前記コンピュータがコールド・スタートしたか否かを判断する機能と、
前記生体認証ユニットに生体認証をさせる機能と、
前記起動ボタンの押下により前記コンピュータがコールド・スタートしかつ前記生体認証が成功したときに前記セキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送る機能と
を実現させるCRTMを構成するコンピュータ・プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2009−223729(P2009−223729A)
【公開日】平成21年10月1日(2009.10.1)
【国際特許分類】
【出願番号】特願2008−68862(P2008−68862)
【出願日】平成20年3月18日(2008.3.18)
【出願人】(505205731)レノボ・シンガポール・プライベート・リミテッド (292)
【復代理人】
【識別番号】100106699
【弁理士】
【氏名又は名称】渡部 弘道
【復代理人】
【識別番号】100077584
【弁理士】
【氏名又は名称】守谷 一雄
【Fターム(参考)】
【公開日】平成21年10月1日(2009.10.1)
【国際特許分類】
【出願日】平成20年3月18日(2008.3.18)
【出願人】(505205731)レノボ・シンガポール・プライベート・リミテッド (292)
【復代理人】
【識別番号】100106699
【弁理士】
【氏名又は名称】渡部 弘道
【復代理人】
【識別番号】100077584
【弁理士】
【氏名又は名称】守谷 一雄
【Fターム(参考)】
[ Back to top ]