(57)【特許請求の範囲】
【請求項１】
ＴＣＧの仕様に適合したコンピュータであって、
セキュリティ・チップと、
前記コンピュータに取り付けられた起動ボタンと、
ＣＲＴＭ認証コードを格納する第１の不揮発性メモリと、
前記ＣＲＴＭ認証コードを実行するプロセッサと、
前記コンピュータのＡＣＰＩで定義されたパワー・ステートを記憶する第１のステータス・レジスタと、
前記コンピュータに取り付けられた生体認証ユニットとを有し、
前記プロセッサは前記起動ボタンが押下されてオペレーティング・システムが実行される前に前記ＣＲＴＭ認証コードを実行して、前記第１のステータス・レジスタを参照して前記コンピュータがコールド・スタートしたことを確認し、かつ、前記生体認証ユニットが生体認証を成功したときにプラットフォームにユーザが存在することを示すフィジカル・プリゼンスを肯定するコマンドを前記セキュリティ・チップに送る
コンピュータ。
【請求項２】
前記生体認証ユニットと前記セキュリティ・チップがそれぞれバインディング・データを格納し、
前記プロセッサは、前記セキュリティ・チップが前記生体認証ユニットを認証するために前記生体認証ユニットから前記バインディング・データを前記セキュリティ・チップに送る請求項１に記載のコンピュータ。
【請求項３】
前記生体認証ユニットと前記セキュリティ・チップがそれぞれ指紋オーナーシップ・キーを格納し、
前記プロセッサは、前記生体認証ユニットが前記セキュリティ・チップを認証するために前記生体認証ユニットから受け取った前記バインディング・データが有効なときに前記セキュリティ・チップが格納する前記指紋オーナーシップ・キーを前記生体認証ユニットに送る請求項２に記載のコンピュータ。
【請求項４】
前記起動ボタンが押下されて前記コンピュータがコールド・スタートしたときにＰＰビットを設定するハードウエア論理回路を有し、該ハードウエア論理回路は前記ＰＰビットが設定される際に前記生体認証ユニットに生体認証を開始させる請求項１から請求項３のいずれかに記載のコンピュータ。
【請求項５】
前記ハードウエア論理回路は、前記ＰＰビットが設定される際に生体情報を入力するための発光ダイオードによるプロンプトをユーザに提示する請求項４に記載のコンピュータ。
【請求項６】
前記ハードウエア論理回路は、前記生体認証ユニットが前記生体認証を失敗したことを発光ダイオードによりユーザに提示する請求項５に記載のコンピュータ。
【請求項７】
前記ハードウエア論理回路は、前記起動ボタンが押下されて前記コンピュータがコールド・スタートしかつ前記生体認証ユニットと前記セキュリティ・チップとの間で相互認証が成功したときにＰＯＰビットを設定し、前記プロセッサは前記ＰＯＰビットが設定されたときに前記セキュリティ・チップに前記フィジカル・プリゼンスを肯定するコマンドを送る請求項４から請求項６のいずれかに記載のコンピュータ。
【請求項８】
前記プロセッサは前記ＰＰビットおよび前記ＰＯＰビットのいずれも設定されないと判断したときに前記セキュリティ・チップに前記フィジカル・プリゼンスを否定するコマンドを送る請求項７に記載のコンピュータ。
【請求項９】
前記プロセッサは前記第１の不揮発性メモリに格納されたパスワード認証コードを実行して、前記ＰＯＰビットが設定されたときにユーザが行う複数の個別認証をユーザの介在なしで１度に行うシングル・サイン・オンを実行する請求項８に記載のコンピュータ。
【請求項１０】
前記第１の不揮発性メモリがブート・ブロックとシステム・ブロックで構成され、前記ＣＲＴＭ認証コードが前記ブート・ブロックに格納されている請求項９に記載のコンピュータ。
【請求項１１】
前記パスワード認証コードが前記システム・ブロックに格納されている請求項１０に記載のコンピュータ。
【請求項１２】
前記プロセッサは、前記オペレーティング・システムのブートが始まる前に前記生体認証ユニットの認証結果をクリアする請求項１から請求項１１のいずれかに記載のコンピュータ。
【請求項１３】
生体認証ユニットと起動ボタンとＴＣＧの仕様に適合したセキュリティ・チップとを備えるコンピュータにおいて、前記コンピュータを制御するプロセッサがＣＲＴＭ認証コードを実行してプラットフォームにユーザが存在することを示すフィジカル・プリゼンスの認証をする方法であって、
前記起動ボタンの押下により前記コンピュータがコールド・スタートしたか否かを判断するステップと、
前記生体認証ユニットが生体認証を行うステップと、
前記起動ボタンの押下により前記コンピュータがコールド・スタートしかつ前記生体認証ユニットが前記生体認証を成功したときに前記セキュリティ・チップに前記フィジカル・プリゼンスを肯定するコマンドを送るステップと
を有する認証方法。
【請求項１４】
前記生体認証ユニットおよび前記セキュリティ・チップがそれぞれ格納するバインディング・データと指紋オーナーシップ・キーを利用して前記生体認証ユニットと前記セキュリティ・チップとの間で相互認証をするステップを有する請求項１３に記載の認証方法。
【請求項１５】
前記コンピュータのハードウエア論理回路が前記起動ボタンの押下により前記コンピュータがコールド・スタートしたことを認識したときにユーザが前記生体認証ユニットに入力するためのプロンプトを表示するステップを有する請求項１３または請求項１４に記載の認証方法。
【請求項１６】
前記生体認証を行うステップが完了したことを認識して前記ハードウエア論理回路が前記生体認証ユニットの動作を停止するステップを有する請求項１５に記載の認証方法。
【請求項１７】
オーナーとして生体情報が登録されたユーザがプラットフォームに存在することを示すフィジカル・オーナーシップ・プリゼンスの認証を有効または無効に設定するステップと、
前記フィジカル・オーナーシップ・プリゼンスの認証が無効に設定されているときに前記起動ボタンの押下により前記コンピュータがコールド・スタートしたか否かを判断するステップと、
前記コールド・スタートしたと判断したときに前記セキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送るステップと
を有する請求項１３から請求項１６のいずれかに記載の認証方法。
【請求項１８】
起動ボタンが押下されて前記コンピュータがコールド・スタートしかつ前記生体認証ユニットが前記生体認証を成功したときにパワー・オン・パスワード、スーパーバイザ・パスワード、およびハードディスク・パスワードに対するシングル・サイン・オンを実行するステップを有する請求項１３ないし請求項１７のいずれかに記載の認証方法。
【請求項１９】
前記コンピュータがウォーム・スタートしたかまたは前記生体認証ユニットが前記生体認証を失敗したときに、オペレーティング・システムがブートする前に前記セキュリティ・チップに前記フィジカル・プリゼンスを否定するコマンドを送るステップを有する請求項１３から請求項１８のいずれかに記載の認証方法。
【請求項２０】
ＴＣＧの仕様に適合したセキュリティ・チップと生体認証ユニットと起動ボタンとを備えるコンピュータに、
前記起動ボタンの押下により前記コンピュータがコールド・スタートしたか否かを判断する機能と、
前記生体認証ユニットに生体認証をさせる機能と、
前記起動ボタンの押下により前記コンピュータがコールド・スタートしかつ前記生体認証ユニットが前記生体認証を成功したときにプラットフォームにユーザが存在することを示すフィジカル・プリゼンスを肯定するコマンドを前記セキュリティ・チップに送る機能と
を実現させるＣＲＴＭを構成するコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＴＣＧの仕様に基づいてフィジカル・プリゼンスの認証をする技術に関し、さらに詳細には真正なユーザだけに対してフィジカル・プリゼンスの認証をする技術に関する。
【背景技術】
【０００２】
近年コンピュータは商取引やプライバシーに関するような多くの重要な情報を扱うようになってきている。コンピュータは、ネットワークに接続された状態で使用されたりモバイル環境で使用されたりするため、コンピュータ・ウイルスやスパイウエアなどのようなソフトウエアによる攻撃や盗難などの危険に晒される。セキュリティ・レベルの高い信頼できるコンピュータのプラットフォームを構築するために、ＴＣＧ（Trusted Computing Group）という業界団体が仕様（非特許文献１ないし非特許文献３）を作成し公開している。非特許文献１は、Ｗｅｂ上でhttps://www.trustedcomputinggroup.org/specs/TPM/というＵＲＬから入手することができる。
【０００３】
非特許文献１に定義されているＴＰＭ（Trusted Platform Module ）は、「TPM chip」、「Fritz chip」、または「TPM Security Device」などとも呼ばれるセキュリティ・チップであり、コンピュータのマザー・ボードに取り付けられる。ＴＰＭは、プラットフォームの正当性を検証する機能およびソフトウエアのインテグリティをチェックする機能などを備えている。
【０００４】
そして非特許文献１は、各コンピュータに搭載されたＴＰＭを別のコンピュータに移植することができないようにしたり、ＴＰＭをマザー・ボードから取り外すとコンピュータが起動しないようにしたりして、コンピュータに安全かつ信頼できる環境を構築する方法を規定している。ＴＰＭを操作するためには、ＴＰＭに対して、ＴＰＭオーナーシップを示す秘密文字列（Shared Secret）の入力が要求される。さらに、ＴＰＭオーナーシップに基づいて許可される操作の中でいくつかの特権的な操作に関しては、フィジカル・プリゼンス（Physical Presence）の認証を求められる。
【０００５】
非特許文献１では、フィジカル・プリゼンスを証明するために２つの方法を定義している。１つはＴＰＭに接続され、プラットフォームに形成されたボタンを押すことでＴＰＭ内部のフラグを設定するハードウエア手法（Hardware Method）である。ハードウエア手法では、そのプラットフォームを物理的に保有しているユーザが操作しているということを証明できる。他の１つはハードウエア手法と同等のレベルでユーザが操作していることを証明できる環境でソフトウエアが行うコマンド手法（Command Method）というものである。コマンド手法では、ネットワークに接続されたり信頼できないソフトウエアが動作したりする前のブート・ストラップの間にＣＲＴＭ(Core Root of Trust for Measurement)といわれる保護されたプログラムが実行される。
【０００６】
フィジカル・プリゼンスが肯定されてＴＰＭオーナーシップが認証されるとユーザは、ＴＰＭに対して特権コマンドを使用することができる。特権コマンドの内容は非特許文献１に記載されている。また、非特許文献２および非特許文献３には、フィジカル・プリゼンスの詳細が記載されている。非特許文献２および非特許文献３は、Ｗｅｂサイトからhttps://www.trustedcomputinggroup.org/specs/PCClientというＵＲＬで入手することができ。
【０００７】
特許文献１は、ＴＰＭに関するフィジカル・プリゼンスを認証する技術を開示する。同文献では、電源がどのように投入されたかを示すステータス・レジスタをマザー・ボードに設け、ＢＩＯＳのＣＲＴＭがそれを読みって電源がシステムの表面に取り付けられたパワーオン・スイッチの操作によるものであると判断したときは、ＴＰＭに対する特権的な操作を許可する。
【０００８】
特許文献２は、遠隔からＴＰＭに対する特権的な操作を許可する技術を開示する。同文献では、ＢＩＯＳのＣＲＴＭが信頼できるＯＳがロードされていることを検出したときはフィジカル・プリゼンスを確認したと判断してＴＰＭに通知し、検出しないときにはパワー・スイッチによるフィジカル・プリゼンスの確認ルーチンに移行する。特許文献３は、生体センサーと処理ユニットがコンピュータに取り付けられ、指紋が符合する場合にリストにあるユーザに対するＴＰＭのフィジカル・プリゼンスを認証する技術を開示している。
【特許文献１】米国特許第７２６９７４７号明細書
【特許文献２】米国特許出願公開第２００７／０１９２５８０号明細書
【特許文献３】米国特許出願公開第２００７／０２３７３６６号明細書
【非特許文献１】TCG TPM Specification Version 1.2 Revision 103
【非特許文献２】TCG Physical Presence Interface Specification Version 1.0
【非特許文献３】TCG PC Specific Implementation Specification Version 1.1
【発明の開示】
【発明が解決しようとする課題】
【０００９】
特許文献１および特許文献２に記載の発明では、そのコンピュータの真正な所有者でなくても、コンピュータの前に存在する不特定のユーザのパワー・スイッチの押下によってフィジカル・プリゼンスの認証が行われる。これらの発明では、ネットワーク経由で不正にＴＰＭにアクセスしてくるような行為には有効であるが、盗難に遭ったＰＣのパワー・スイッチが押下されたような場合には対応できない。したがって、盗難の危険に晒されやすいノートブック型パーソナル・コンピュータ（以下、ノートＰＣという。）は、より一層ＴＰＭに対する不正なアクセスから保護される必要がある。
【００１０】
また、特許文献３に記載の発明は、指紋認証システムに登録されたユーザがセンサーに指紋をスワイプしたことは証明できるが、指紋認証の処理ユニット自体が取り替えられた場合、あるいは、当該コンピュータ上で実行される悪意のソフトウエアで指紋認証システムが制御される場合には対応できない。
【００１１】
そこで、本発明の目的は、真正な所有者がプラットフォームを操作している場合に限りフィジカル・プリゼンスを肯定する認証方法を提供することにある。さらに、本発明の目的はそのような方法を実現するコンピュータおよびコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明はＴＣＧの仕様に適合したコンピュータにおけるフィジカル・プリゼンスの認証に関する。コンピュータはセキュリティ・チップ（ＴＰＭ）と生体認証ユニットと起動ボタンを備える。起動ボタンが押下されることはコンピュータを操作するユーザがコンピュータを物理的に支配していることを意味している。第１の不揮発性メモリはＣＲＴＭを構成するＣＲＴＭ認証コードを格納する。ＣＲＴＭ認証コードは、コールド・スタートのときにＯＳが動作を開始する前に実行されるようになっている。ＣＲＴＭ認証コードを実行するプロセッサは、第１のステータス・レジスタを参照しコンピュータがコールド・スタートされたことを確認し、かつ、生体認証ユニットが生体認証を成功したときにセキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送る。
【００１３】
したがって、真正なユーザが物理的にコンピュータの起動ボタンを操作している場合に限りセキュリティ・チップに対してフィジカル・プリゼンスを主張することができる。従来は、不特定のユーザが起動ボタンを押したときにフィジカル・プリゼンスが肯定されたが、本発明によればこれに比べて一層セキュリティが強化された条件でフィジカル・プリゼンスを肯定することができる。プロセッサは、生体認証ユニットをセキュリティ・チップが認証するために生体認証ユニットのバインディング・データをセキュリティ・チップに送ることができる。さらに、プロセッサは、バインディング・データが有効なときにセキュリティ・チップを生体認証ユニットが認証するためにセキュリティ・チップが格納する指紋オーナーシップ・キーを生体認証ユニットに送ることができる。
【００１４】
このように双方向に両者の関連性が一貫していることを認証して、生体認証ユニットを安全にフィジカル・プリゼンスの認証に使用することができる。起動ボタンが押下されてコンピュータがコールド・スタートしことを認識したときに、ハードウエア論理回路が生体認証ユニットに生体認証を開始させるようにすれば、生体認証の利用をセキュリティ上最も安全なハードウエア環境で実現することができる。その際、ハードウエア論理回路はＰＰビットを設定してもよい。
【００１５】
ハードウエア論理回路はＰＰビットが設定されるときに生体情報を入力するための発光ダイオードによるプロンプトをユーザに提示することができる。ＣＲＴＭ認証コードをサイズの小さいブート・ブロックに格納する場合はメインテナンスが容易になるが、サイズの大きなコードを必要とするＬＣＤを使用することはできないので、発光ダイオードの利用は都合がよい。
【００１６】
ハードウエア論理回路は生体認証ユニットが認証を失敗したことを発光ダイオードによりユーザに提示することができる。ユーザは、生体認証が失敗したことにより、セキュリティ・チップに対する特権コマンドを使用することができなかったり、シングル・サイン・オンが利用できなかったりすることを認識する。ハードウエア論理回路は、起動ボタンが押下されてコンピュータがコールド・スタートしかつ生体認証ユニットとセキュリティ・チップとの間で相互認証が成功したときにＰＯＰビットを設定し、プロセッサはＰＯＰビットが設定されたときにセキュリティ・チップにフィジカル・プリゼンスが肯定されることを示すコマンドを送ることができる。
【００１７】
プロセッサは、ＰＰビットおよびＰＯＰビットのいずれも設定されないと判断したときにセキュリティ・チップにフィジカル・プリゼンスが否定されることを示すコマンドを送ることができる。プロセッサは、ＰＯＰビットが設定されたときに第１の不揮発性メモリに格納されたパスワード認証コードを実行してシングル・サイン・オンを許可することができる。この場合、シングル・サイン・オンはフィジカル・オーナーシップ・プリゼンスが認証されたときにだけ行われるので、従来よりもセキュリティ・レベルを向上することができる。
【００１８】
プロセッサが、オペレーティング・システムのブートが始まる前に生体認証ユニットの認証結果をクリアすれば、認証結果を盗用されることを防ぐことができるので、フィジカル・オーナーシップ・プリゼンスの認証に利用する生体認証のセキュリティ・レベルが向上する。第１の不揮発性メモリをブート・ブロックとシステム・ブロックで構成し、ＣＲＴＭ認証コードをブート・ブロックに格納しシングル・サイン・オンの許可をするコードをシステム・ブロックに格納してもよい。
【発明の効果】
【００１９】
本発明により、真正な所有者がプラットフォームを操作している場合に限りフィジカル・プリゼンスを肯定する認証方法を提供することができた。さらに、本発明によりそのような方法を実現するコンピュータおよびコンピュータ・プログラムを提供することができた。
【発明を実施するための最良の形態】
【００２０】
［ハードウエアの全体構成］
図１は、ノートＰＣ１０の主要なハードウエアの構成を示す概略ブロック図である。ＣＰＵ１１は、ノートＰＣ１０の中枢機能を担う演算処理装置で、オペレーティング・システム（ＯＳ）、ＢＩＯＳ、デバイス・ドライバ、あるいはアプリケーション・プログラムなどを実行する。ＣＰＵ１１は、ノース・ブリッジ１３およびノース・ブリッジ１３にさまざまなバスを経由して接続された各デバイスを制御する。ノース・ブリッジ１３は、メイン・メモリ１５、ビデオ・コントローラ１７およびサウス・ブリッジ２１に接続され、メイン・メモリ１５へのアクセス動作を制御するためのメモリ・コントローラ機能や、ＣＰＵ１１と他のデバイスとの間のデータ転送速度の差を吸収するためのデータ・バッファ機能などを含む。
【００２１】
ビデオ・コントローラ１７は、グラフィック・アクセラレータおよびＶＲＡＭを備えており、ＣＰＵ１１からの描画命令を受けて描画すべきイメージを生成してＶＲＡＭに書き込み、ＶＲＡＭから読み出したイメージを描画データとしてＬＣＤ１９に送る。メイン・メモリ１５は、ＣＰＵ１１が実行するプログラムの読み込み領域、処理データを書き込む作業領域として利用されるランダム・アクセス・メモリである。サウス・ブリッジ２１はさまざまな規格のインターフェース機能を備え、ハードディスク・ドライブ（ＨＤＤ）２３、イーサネット（登録商標）・コントローラ２２、指紋認証モジュール４１および無線モジュール２４に接続されている。サウス・ブリッジ２１は、図６に示すようにステータス・レジスタ１１１を備えている。ノートＰＣ１０のパワー・ステートを遷移させる場合には、電源制御用のソフトウエアが遷移先のパワー・ステートを示すビットと遷移を実行させることを示すビットをステータス・レジスタ１１１に設定する。ステータス・レジスタ１１１のビットはパワー・オン状態以外のときにも維持されているので、ノートＰＣ１０がパワー・オン状態に遷移するときには、ステータス・レジスタ１１１に遷移元のビットが設定されていることになる。
【００２２】
ＨＤＤ２３には、ＯＳ、デバイス・ドライバ、アプリケーション・プログラムなどの周知のプログラムが格納される。イーサネット・コントローラ２２は、イーサネット規格の有線ＬＡＮに接続するための拡張カードで、サウス・ブリッジ２１にはＰＣＩ  Ｅｘｐｒｅｓｓバスで接続され、さらにノートＰＣ１０の筐体に取り付けられたＲＪ４５という規格のコネクタに接続されている。ノートＰＣ１０は、所定のパワー・ステートのときにイーサネット・コントローラ２２を経由してネットワークからマジック・パケットを受け取り、いわゆるウエイク・オン・ラン（ＷＯＬ：Wake On LAN）で起動することができる。無線モジュール２４は、たとえばＩＥＥＥ８０２．１１ｎに準拠した多入力多出力（ＭＩＭＯ）の無線通信に適合しており、ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｘ１バスやＵＳＢを介してサウス・ブリッジ２１に接続され、ＷＡＮやＬＡＮなどの無線ネットワークとの間で行うデータ通信を制御する。
【００２３】
さらにサウス・ブリッジ２１は、ＰＣＩバスまたはＬＰＣバス２５を介して、従来からノートＰＣ１０に使用されているレガシー・デバイス、あるいは高速なデータ転送を要求しないデバイスに接続される。ＬＰＣバス２５には、ＴＣＧが定める非特許文献１または非特許文献２などに記載されたセキュリティ・チップ（ＴＰＭ：Trusted Platform Module）２６、ＢＩＯＳ＿ＲＯＭ２７、エンベデッド・コントローラ（ＥＣ）２９、セキュアＮＶＲＡＭ４３、キーボード／マウス・コントローラ４５が接続されている。
【００２４】
セキュリティ・チップ２６、ＢＩＯＳ＿ＲＯＭ２７、セキュアＮＶＲＡＭ４３については図２、図４、図５を参照して後に説明する。ＥＣ２９は、８〜１６ビットのＣＰＵ、ＲＯＭ、ＲＡＭなどで構成されたマイクロ・コンピュータであり、さらに複数チャネルのＡ／Ｄ入力端子、Ｄ／Ａ出力端子、タイマー、およびディジタル入出力端子を備えている。ＥＣ２９は、ノートＰＣ１０の内部の動作環境の管理にかかるプログラムをＣＰＵ１１とは独立して実行することができる。
【００２５】
パワー・コントローラ３１は、ＥＣ２９およびＤＣ／ＤＣコンバータ３３に接続され、ＥＣ２９からの指示に基づいてＤＣ／ＤＣコンバータ３３を制御する。ＤＣ／ＤＣコンバータ３３は、ＡＣ／ＤＣアダプタ３９またはバッテリ３５から供給される直流電圧を、ノートＰＣ１０を動作させるために必要な複数の電圧に変換し、さらにパワー・ステートに応じて定義された電力供給区分に基づいて各々のデバイスに電力を供給する。ＡＣ／ＤＣアダプタ３９はノートＰＣ１０に接続されると、ＤＣ／ＤＣコンバータ３３とバッテリィ３５を充電する充電器３７に電力を供給する。
【００２６】
ノートＰＣ１０は、ＡＣＰＩ（Advanced Configuration and Power Interface）の省電力機能およびプラグ・アンド・プレイ方式に対応している。ＡＣＰＩでは、５つのスリーピング・ステートが定義されている。Ｓ１ステート〜Ｓ３ステートは、起動までの時間を短縮したステートである。Ｓ１ステートでは、システム・コンテキストが維持される。Ｓ２ステートは、ＣＰＵ１１およびシステム・キャッシュのコンテキストが消失する以外はＳ１ステートと同じである。
【００２７】
Ｓ３ステートは、Ｓ２ステートに加えてノース・ブリッジ１３およびサウス・ブリッジ２１のコンテキストが消失するが、メイン・メモリ１５の記憶は保持される。Ｓ３ステートはいわゆるサスペンドまたはsuspend to RAMといわれ、ノートＰＣ１０は、メイン・メモリ１５、サウス・ブリッジ２１、ＥＣ２９、およびイーサネット・コントローラ２２以外のデバイスに対する電源をオフにする。
【００２８】
Ｓ４ステートはＡＣＰＩでサポートされる中で最も起動までの時間が長いステートでいわゆるsuspend to diskまたはハイバネーションといわれる。ノートＰＣ１０は、Ｓ０ステートからＳ４ステートに遷移する際には、ＯＳがＨＤＤ２３にノートＰＣ１０の直前のコンテキストを格納してからパワー・コントローラ３１以外のデバイスに対する電源をオフにする。Ｓ５ステートはいわゆるソフト・オフといわれ、ＯＳがコンテキストをＨＤＤ２３に格納しない点を除いてはＳ４ステートと同じである。Ｓ４ステートおよびＳ５ステートにおいて、ＷＯＬが設定されているときは、イーサネット・コントローラ２２およびサウス・ブリッジ２１には電源が供給されて、マジック・パケットを受け取って起動できるようになっている。
【００２９】
Ｓ０ステートはパワー・オンの状態である。ノートＰＣ１０では、Ｓ０ステート、Ｓ３ステート、およびＳ４ステートだけが定義されているが、本実施の形態ではＳ１ステートおよびＳ２ステートはＳ３ステートと同様に処理され、Ｓ５ステートはＳ４ステートと同様に処理されるので、すべてのステートを含めて説明する。
【００３０】
ＥＣ２９は、パワー・コントローラ３１を介してＤＣ／ＤＣコンバータ３３を制御して、ノートＰＣ１０のパワー・ステートに応じて定義されたソフト・オフ状態（Ｓ５）、ハイバネーション状態（Ｓ４）、サスペンド状態（Ｓ３）、またはパワー・オン状態（Ｓ０）などの各電源状態に応じて動作するデバイスを選択して電力を供給することができる。パワー・コントローラ３１には、図６に示すようにＰＰ（Physical Presence）ビットおよびＰＯＰ（Physical Ownership Presence）ビットを設定するステータス・レジスタ１１３、１１５を備えている。
【００３１】
キーボード／マウス・コントローラ４５は、キーボード４７やマウス（図示せず）などからの入力に対するインターフェース機能を提供する。指紋認証モジュール４１はＵＳＢによりサウス・ブリッジ２１に接続され、さらにパワー・コントローラ３１に接続されている。指紋センサー４２はスワイプ式の指紋センサーでユーザの指紋画像を生成する。指紋認証モジュール４１および指紋センサー４２はそれぞれ、ノートＰＣ１０の筐体と物理的に一体になるように取り付けられている。指紋モジュール４１については、図３を参照して後に説明する。
【００３２】
［セキュリティ・チップの構成］
図２は、セキュリティ・チップ２６の構成を示すブロック図である。セキュリティ・チップ２６の構成は、非特許文献１〜３に記載のとおり周知である。セキュリティ・チップ２６は、ノートＰＣ１０のマザー・ボードにハンダで接続され他のコンピュータに移設できないようになっている。また、たとえセキュリティ・チップ２６を他のコンピュータに移設したとしても当該コンピュータは動作しないようになっている。
【００３３】
セキュリティ・チップ２６は、プラットフォームが真正なものでＴＣＧに準拠しているかを検証する正当性検証機能、ハードウエアやソフトウエアが改ざんされていないことを確認するインテグリティの機能、内部に保存された暗号鍵は外部に出さないという暗号鍵の保護機能、および各種暗号処理機能を備える。なお、プラットフォームとは、コンピュータ・サービスを提供するためのハードウエア・リソースおよびソフトエア・リソースの集合をいう。
【００３４】
インターフェース５１は、ＬＰＣバス２５と内部バスとの間でプロトコルを双方向に変換し、セキュリティ・チップ２６の内部の各コンポーネントと外部との間でのデータ転送を制御する。暗号用コプロセッサ５３は、セキュリティ・チップ２６の内部で暗号処理を行う。ＨＭＡＣエンジン５５は、ＨＭＡＣ(Keyed-Hashing for Message Authentication code)を計算する。ＳＨＡ−１エンジン５７は、与えられた値に対するハッシュ値を計算する。
【００３５】
Ｏｐｔ−Ｉｎ５９は、セキュリティ・チップ２６をオン状態またはオフ状態にするための機構などを提供する。暗号鍵生成部６３は、暗号化に使用する対称鍵および非対称鍵を生成する。乱数発生器６５は、セキュリティ・チップ２６の内部で使用する乱数を生成する。電源検出部６７は、プラットフォームの電源状態に連携してセキュリティ・チップ２６の電源状態を管理する。実行エンジン６９は、インターフェース５１から受け取ったコマンドを実行する。
【００３６】
［指紋認証モジュールの構成］
図３は、指紋認証モジュール４１の構成を示すブロック図である。特徴抽出部８３は、指紋センサー４２から受け取った指紋画像を芯線化して特徴点を抽出し、さらに抽出した特徴点の相関関係を数値化して照合指紋データを作成する。テンプレート格納部８７は、あらかじめ登録する真正なユーザの照合指紋データをテンプレートとして格納する。照合部８５は、認証のために指紋センサー４２が生成した照合指紋データとテンプレートを比較し、一致点が所定のスコアを越えた場合に認証が成功したと判定する。
【００３７】
データ格納部９１は、指紋オーナーシップ・キー９３、認証成功フラグ９４、バインディング・データ９５、パワー・オン・パスワード９６、スーパーバイザ・パスワード９７、およびＨＤＤパスワード９８を格納するセキュアな不揮発性のメモリである。データ格納部９１に格納されたデータを書き換えるためには、ユーザはＯＳが動作を開始する前に指紋モジュール４１による認証またはスーパーバイザ・パスワードの入力が必要となる。入出力制御部８９は、サウス・ブリッジ２１を通じて外部とのデータ転送を制御したり、データ格納部９１にアクセスしたりする。入出力制御部８９は、さらに、パワー・コントローラ３１にハイ／ローの２値信号を送る。
【００３８】
指紋オーナーシップ・キー９３は、ユーザごとに登録されたテンプレートに関連づけられたコードである。認証成功フラグ９４は、照合部８５がテンプレート８７と照合指紋データと一致すると判断したときに入出力制御部８９により設定される。バインディング・データ９５は、登録されたユーザのテンプレートに関連づけられたデータである。パワー・オン・パスワード９６はノートＰＣ１０を起動する際にＢＩＯＳにより要求されるパスワードである。スーパーバイザ・パスワード９７は、ＢＩＯＳの設定を変更する際にＢＩＳＯにより要求されるパスワードである。ＨＤＤパスワード９８は、ＨＤＤ２３にアクセスするためにＢＩＯＳにより要求されるパスワードである。
【００３９】
［ＢＩＯＳ＿ＲＯＭ２７の構成］
図４は、ＢＩＯＳ＿ＲＯＭ２７の構成を示す図である。ＢＩＯＳ＿ＲＯＭ２７は、不揮発性で記憶内容の電気的な書き替えが可能なメモリであり、書き換えに伴うリスクを軽減するためにブート・ブロック方式を採用している。ブート・ブロック２７ａは、書き込み保護がされている記憶領域でここに格納されたプログラム（コードまたはインストラクションともいう。）はＴＰＭの仕様書に規定するＣＲＴＭとして扱われ特別な権限がないと書き換えができないようになっている。
【００４０】
ＣＲＴＭは、プラットフォームの初期化コードの中で一貫性のある部分として構成され、プラットフォームのリセット時には必ず最初に実行されなければならない。ＣＲＴＭは、ノートＰＣがＳ４ステートまたはＳ５ステートからＳ０ステートに遷移するコールド・ブートのときに最初に実行される。ノートＰＣ１０のプラットフォームに関するすべての一貫性の計測は、このＣＲＴＭに基づいて行われる。
【００４１】
ブート・ブロック２７ａには、本実施の形態にかかるフィジカル・プリゼンスの認証を行うＣＲＴＭ認証コード１２１および最小限のその他のコード１２３がＣＲＴＭとして格納される。その他のコード１２３は、フィジカル・プリゼンスの認証に必要な最低限のハードウエアであるＣＰＵ１１、メイン・メモリ１５、サウス・ブリッジ２１、指紋認証モジュール４１、およびセキュリティ・チップ２６などの試験および初期化を行う機能を含む。さらにその他のコード１２３は、ＢＩＯＳ＿ＲＯＭ２７の書き換えに必要な機能を含む。
【００４２】
システム・ブロック２７ｂは、その他のコード１２３では実行されないＢＩＯＳの機能を担うコードを格納する。システム・ブロック２７ｂに格納されたコードの一貫性は、ブート・ブロック２７ａに格納されたＣＲＴＭに基づいて計算される。ＰＯＳＴ（Power-On Self Test）１２５は、ハードウエアの試験および初期化を行い、周辺機器制御コード１２７は、ＢＩＯＳの制御下でＬＣＤ１９、ＨＤＤ２３、およびキーボード４７などにアクセスするための入出力を制御する。ユーティリティ１２９は、電源および筐体内の温度などを管理する。パスワード認証コード１３１は、パワー・オン・パスワード、スーパーバイザ・パスワード、およびＨＤＤパスワードの認証を行う。パスワード認証コード１３１は、さらに、本発明にかかるフィジカル・オーナーシップ・プリゼンスの認証を有効にするか否かをユーザが設定するための処理やシングル・サイン・オンの認証を行う。
【００４３】
ＢＩＯＳ＿ＲＯＭ２７は、図４（Ｂ）に示すように全体を一括して書き込み保護することで、内部に格納されたプログラム全体をＣＲＴＭにすることも可能である。この場合はＣＲＴＭのサイズが大きくなってＢＩＯＳ＿ＲＯＭ２７の更新が煩雑になるが、本実施の形態においてフィジカル・プリゼンスの認証を行う際にＬＣＤ１９を利用してユーザにダイオードよりも情報量の多いプロンプトを提供できるなどのメリットがある。
【００４４】
［セキュアＮＶＲＡＭの構成］
図５は、セキュアＮＶＲＡＭ４３の構成を示す図である。セキュアＮＶＲＡＭ４３は、ＯＳの環境下ではアクセスが制約された不揮発性のメモリである。セキュアＮＶＲＡＭ４３は、フィジカル・オーナーシップ・プリゼンスの認証をユーザが有効になるように設定したことを示すＰＯＰ認証有効フラグ１５１、パワー・オン・パスワード１５３、およびスーパーバイザ・パスワード１５５を格納する。ＰＯＰ認証有効フラグ１５１は、ノートＰＣ１０が起動された以降の初期段階でＢＩＯＳ＿ＲＯＭ２７のシステム・ブロック２７ｂに格納されたパスワード認証コード１３１により、ユーザが本発明にかかるフィジカル・オーナーシップ・プリゼンスの認証をするか、あるいは従来どおりのフィジカル・プリゼンスの認証をするかの選択結果に基づいて設定される。
【００４５】
［フィジカル・プリゼンスを実現する機能構成］
図６は、フィジカル・プリゼンスの認証に関連するハードウエアおよびソフトウエアの構成を示す機能ブロック図である。起動ボタン１０１は、ノートＰＣ１０の筐体に物理的に一体になるように取り付けられており、ノートＰＣ１０を物理的に支配しているユーザだけが押下することができる。起動ボタン１０１が押下することで、パワー・コントローラ３１に起動信号を送ることができる。パワー・コントローラ３１は起動ボタン１０１からライン１０２を通じて起動信号を受け取ったときにＤＣ／ＤＣコンバータ３３を制御して所定のシーケンスでノートＰＣ１０の各デバイスに電源を供給しＳ０ステートに移行させる。
【００４６】
スイッチ１０３の一方の端子は起動ボタン１０１に接続され、スイッチ１０３の他方の端子はパワー・コントローラ３１に接続されている。スイッチ１０３の制御端子はサウス・ブリッジ２１に接続されている。スイッチ１０３は、サウス・ブリッジ２１のステータス・レジスタ１１１の値に基づいてオン／オフが制御される。スイッチ１０５の一方の端子はＤＣ／ＤＣコンバータ３３に接続され、スイッチ１０５の他方の端子は指紋認証モジュール４１に接続されている。スイッチ１０７の一方の端子はＤＣ／ＤＣコンバータ３３に接続され、他方の端子は発光ダイオード１０９に接続されている。スイッチ１０５、１０７の制御端子は、パワー・コントローラ３１に接続されている。発光ダイオード１０９は、指紋センサー４２の近辺においてノートＰＣ１０の筐体に取り付けられている。ＣＲＴＭ認証コード１２１またはパスワード認証コード１３１は、パワー・コントローラ３１、指紋認証モジュール４１、サウス・ブリッジ２１、およびセキュリティ・チップ２６にアクセスしてフィジカル・プリゼンスの認証をするためにＣＰＵ１１により実行される。
【００４７】
［パワー・ステート］
図７はノートＰＣ１０におけるパワー・オンに対するパワー・ステートの遷移方法と関連動作を説明する図である。図７は、Ｓ１ステート〜Ｓ５ステートのいずれかからＳ０ステートに遷移場合を示している。起動ボタン１０１の押下はいずれのパワー・ステートからも実行できる。ＷＯＬでは、Ｓ５ステートからの遷移以外の場合に実行できる。キーボート４７のファンクション・キー（Ｆｎキー）の押下では、Ｓ４ステートまたはＳ５ステートからの遷移以外の場合に実行できる。
【００４８】
ブート・ブロック２７ａのＣＲＴＭ認証コード１２１およびその他のコード１２３は、Ｓ４ステートまたはＳ５ステートからＳ０ステートに遷移するときにだけＯＳのブートが始まる前に実行される。Ｓ４ステートまたはＳ５ステートからＳ０ステートに遷移することをコールド・スタートまたはコールド・ブートといい、その他のパワー・ステートからＳ０ステートに遷移することをウォーム・スタートまたはウォーム・ブートという。後に説明するが、起動ボタン１０１が押下されてコールド・スタートする場合にだけ、ステータス・レジスタ１１３にＰＰビットが設定される。
【００４９】
［フィジカル・プリゼンスの認証方法］
つぎに図８〜図１０を参照して、フィジカル・プリゼンスの認証方法について説明する。図８〜１０は、図１〜図６に示したソフトウエアおよびハードウエアに基づく認証の手順を示すフローチャートである。図８は、ハードウエア環境下での指紋認証の手順を示し、図９は、ＣＲＴＭ認証コード１２１によるフィジカル・プリゼンスおよびフィジカル・オーナーシップ・プリゼンスの認証の手順を示し、図１０は、パスワード認証コード１３１によるシングル・サイン・オンの認証の手順を示す。
【００５０】
図８のブロック２００では、起動ボタン１０１、ＷＯＬ、またはキーボード４７のＦｎキーの押下により図７に示したいずれかのパワー・ステートからノートＰＣ１０はパワー・オン状態（Ｓ０ステート）に遷移する。ブロック２０１は、起動ボタン１０１によるパワー・オンの場合はブロック２０３に移行し、その他の契機によるパワー・オンの場合は参照記号Ａに移行して処理されることを示す。
【００５１】
起動ボタン１０１が押下されたときは、ノートＰＣ１０はＳ１ステート〜Ｓ５ステートのいずれかのステートからＳ０ステートに遷移する。パワー・コントローラ３１は、起動ボタン１０１が押下されてライン１０２を通じて起動信号を受け取ったときに、ＤＣ／ＤＣコンバータ３３を制御して各デバイスに電源を供給する。サウス・ブリッジ２１は、ステータス・レジスタ１１１を参照してコールド・スタートのときにだけ、スイッチ１０３をオンにする。スイッチ１０３がオンのときに起動ボタン１０１が押下されると、ライン１０４を通じてＰＰビット設定信号がパワー・コントローラ３１に送られる。
【００５２】
サウス・ブリッジ２１は、コールド・スタートの場合はブロック２０５以降の指紋認証が完了するまでＣＰＵ１１をアイドル状態にする。ブロック２０３では、ライン１０４を通じてＰＰビット設定信号を受け取った場合に、パワー・コントローラ３１のハードウエア論理回路が、ノートＰＣ１０は起動ボタン１０１が押下されてコールド・スタートしたと判断してブロック２０４でステータス・レジスタ１１３にＰＰビットを設定し、さらにブロック２０５でスイッチ１０７をオン／オフして指紋センサー４２の近くに設けられた発光ダイオード１０９を点滅させユーザに指のスワイプを促すプロンプトを生成する。さらにパワー・コントローラ３１は、スイッチ１０５をオンにして指紋認証モジュール４１に電源を供給しユーザに指紋認証を開始させる。
【００５３】
この時点ではＣＰＵ１１はアイドル状態であるため、プログラムを実行してＬＣＤ１９に指紋入力のプロンプトを出すことはできない。また、たとえＣＰＵ１１を動作させてＣＲＴＭを実行させたとしてもＢＩＯＳ＿ＲＯＭ２７は、ブート・ブロック方式を採用しているため、システム・ブロック２７ｂのコードが実行されるまでＬＣＤ１９は動作しない。したがって、ブロック２０５では、ＬＣＤ１９以外の手段でユーザに指のスワイプを促すために発光ダイオード１０９を点滅させている。
【００５４】
ただし、図４（Ｂ）のように、ＢＩＯＳ＿ＲＯＭ２７に格納されたすべてのコードをＣＲＴＭにすれば、この時点でＬＣＤ１９に指のスワイプのためのプロンプトを表示することもできる。ブロック２０３でパワー・コントローラ３１がＰＰビット設定信号を受け取らない場合には、ノートＰＣ１０は起動ボタン１０１が押下されてウォーム・スタートしたことになり、ＰＰビットは設定されないで参照記号Ｂに移行して処理される。ウォーム・スタートのときにはＣＲＴＭ認証コード２７ａは実行されないので、フィジカル・プリゼンスの認証は行われない。
【００５５】
ブロック２０５でユーザは指紋センサー４２に指をスワイプする。指紋認証モジュール４１は、ブロック２０７でテンプレート格納部８７にあらかじめ登録してあるユーザのテンプレートと入力された指紋から抽出した照合指紋データを比較して指紋認証を行う。入出力制御部８９は、指紋認証が成功した場合にデータ格納部９１に認証成功フラグ９４を設定し、ブロック２１１で指紋認証を終了させてパワー・コントローラ３１にハイ／ローの２値で構成された終了信号を送る。終了信号を受け取ったパワー・コントローラ３１は、発光ダイオード１０９の点滅を停止する。この終了信号は、ハードウエアだけで生成されソフトウエアが介在しないで送られるのでセキュリティのレベルを高く維持することができる。
【００５６】
照合部８５は、所定回数照合を行っても入力された指紋画像がテンプレートに一致しない場合およびタイムアウトの場合にブロック２０９に移行してパワー・コントローラ３１に認証失敗を示す信号を送る。認証が失敗したことを認識したパワー・コントローラ３１は、スイッチ１０７をオン／オフして、所定の時間発光ダイオード１０９をブロック２０５の点滅とは異なる周期で点滅させ、その後ブロック２１１に移行してスイッチ１０７をオフにし発光ダイオード１０９の点滅を停止して、参照記号Ａに移行する。このときパワー・コントローラ３１は、指紋認証モジュール４１にそれ以降の指紋認証をさせないためにスイッチ１０５をオフにしてもよい。ブロック２０３からブロック２１１までの手順は、ハードウエア論理回路だけで指紋認証モジュール４１を制御しており、改ざんされたソフトウエアやスパイウエアにより指紋認証モジュール４１の動作が制御されることがないため安全である。
【００５７】
つづいて図９の説明に移行する。図９は図８の参照記号Ａ、Ｂから開始する。ブロック２１１で指紋認証モジュール４１から信号を受け取って指紋認証が完了したことを認識したサウス・ブリッジ２１は、アイドル状態で動作していたＣＰＵ１１に対して信号を送って動作を開始させる。ＣＰＵ１１が実行する最初のポインタには、ブート・ブロック２７ａに格納されたＣＲＴＭの先頭アドレスが設定されており、ＣＰＵ１１、ノース・ブリッジ１３、およびサウス・ブリッジ２１などの主要なチップの試験および初期化が完了した後にＣＰＵ１１はＣＲＴＭ認証コード１２１の実行を開始する。
【００５８】
ブロック２１３では、ＣＲＴＭ認証コード１２１がサウス・ブリッジ２１のステータス・レジスタ１１１を参照してノートＰＣ１０がコールド・スタートしたかウォーム・スタートしたかを判定する。ＴＣＧの仕様には、ユーザが現実にプラットフォームの前に存在することによるフィジカル・プリゼンスを認証するためには、物理的手法とコマンド手法およびそれらを組み合わせる手法が規定されている。物理的手法は、ＴＰＭに対してプラットフォームに設けられたスイッチまたはジャンパから直接信号を送る方法である。コマンド手法は、ＣＲＴＭがＰＣの電源が投入されてＯＳに制御が移行する前にＴＰＭに対して信号を送る方法である。
【００５９】
本発明では、以下に説明するように起動ボタン１０１の押下により生成したＰＰビット設定信号、指紋認証モジュール４１、パワー・コントローラ、およびサウス・ブリッジ２１をＣＲＴＭ認証コード１２１が制御してフィジカル・プリゼンスの認証を行う。ブロック２１３でＣＲＴＭ認証コード１２１がノートＰＣ１０はウォーム・スタートしたと判断したときはブロック２２７に移行する。ブロック２１３でＣＲＴＭ認証コード１２１がノートＰＣ１０はコールド・スタートしたと判断したときはブロック２１５に移行する。
【００６０】
ブロック２１５では、フィジカル・オーナーシップ・プリゼンスの認証が有効に設定されているか否かをＣＲＴＭ認証コード１２１がセキュアＮＶＲＡＭ４３のＰＯＰ認証有効フラグ１５１を参照して判断する。ユーザがフィジカル・オーナーシップ・プリゼンスの認証を行わないようにＮＶＲＡＭ４９にＰＯＰ認証有効フラグ１５１を設定していた場合は、従来からの方法でフィジカル・プリゼンスの認証を行うためにブロック２１９に移行する。
【００６１】
ブロック２１９では、ＣＲＴＭ認証コード１２１がパワー・コントローラ３１のステータス・レジスタ１１３を参照して、ＰＰビットが設定されているか否かを判断する。起動ボタン１０１の押下によりコールド・スタートしたときは、ブロック２０３でステータス・レジスタ１１３にＰＰビットが設定されており、フィジカル・プリゼンスが肯定されてブロック２２５に移行する。ＷＯＬによりコールド・スタートしたときは、ステータス・レジスタ１１３にＰＰビットが設定されていないため、フィジカル・プリゼンスが否定されてブロック２２７に移行する。
【００６２】
ブロック２１５に戻って、ユーザがフィジカル・オーナーシップ・プリゼンスの認証を行うようにＮＶＲＡＭ４９にＰＯＰ認証有効フラグ１５１を設定していた場合は、ブロック２１６に移行してＣＲＴＭ認証コード１２１は、ステータス・レジスタ１１３を参照して、ＰＰビットが設定されているか否かを判断する。ＰＰビットが設定されていない場合は、ＷＯＬによる起動なのでブロック２２７に移行する。ＰＰビットが設定されている場合はブロック２１７に移行してセキュリティ・チップ２６による指紋認証モジュール４１の認証を行う。ＣＲＴＭ認証コード１２１は、指紋認証モジュール４１にバインディング・データ９５の要求をする。指紋認証モジュール４１の入出力制御部８９は、ブロック２０７における指紋認証が成功していることを示す認証成功フラグ９４が設定されている場合は、データ格納部９１からバインディング・データ９５を取り出してＣＲＴＭ認証コード１２１に渡す。ＣＲＴＭ認証コード１２１はバインディング・データ９５をセキュリティ・チップ２６に送出する。認証成功フラグ９４が設定されていない場合は、入出力制御部８９はバインディング・データ９５をＣＲＴＭ認証コード１２１に渡さないため、フィジカル・オーナーシップ・プリゼンスの認証が失敗したものとして処理するためにブロック２２７に移行する。セキュリティ・チップ２６は、受け取ったバインディング・データ９５をブロック２２１で内部のＰＣＲ（Platform Configuration Register）に格納する。
【００６３】
バインディング・データ９５を受け取ったセキュリティ・チップ２６は、ＰＣＲに格納されたバインディング・データ９５のハッシュ値を計算し、ＰＣＲにあらかじめハッシュされて登録された指紋認証モジュール４１のバインディング・データと比較する。比較した結果両者が一致した場合は、セキュリティ・チップ２６は内部に格納しておいた指紋オーナーシップ・キーをＣＲＴＭ認証コード１２１に送出し、一致しない場合は指紋オーナーシップ・キーをＣＲＴＭ認証コード１２１に送出しない。ＣＲＴＭ認証コード１２１はセキュリティ・チップ２６から指紋オーナーシップ・キーを受け取った場合はそれを指紋認証モジュール４１に送ってブロック２２１に移行し、受け取らない場合はフィジカル・オーナーシップ・プリゼンスの認証が失敗したものとして処理するためにブロック２２７に移行する。
【００６４】
指紋オーナーシップ・キーは、登録のために指紋センサー４２で生成された指紋画像のテンプレートに対応する値であり、同じ値は、指紋認証モジュール４１のデータ格納部９１にも格納されている。ブロック２２１では、指紋認証モジュール４１が、ＣＲＴＭ認証コード１２１によりセキュリティ・チップ２６から送られた指紋オーナーシップ・キーがデータ格納部９１に格納された指紋オーナーシップ・キー９３と一致するか否かを入出力制御部８９が判断する。両者が一致する場合はフィジカル・オーナーシップ・プリゼンスを肯定して、指紋認証モジュール４１の入出力制御部８９は、パワー・コントローラ３１のステータス・レジスタ１１５にハイ／ローの２値信号を送ってＰＯＰビットを設定する。指紋認証モジュール４１はＰＯＰビットの設定を、ソフトウエアを介在させないで行うことにより、セキュリティ・レベルを向上させている。
【００６５】
ブロック２１７とブロック２２１では、指紋認証モジュール４１とセキュリティ・チップ２６との間で双方向にそれぞれが真正であることを認証することにより、いずれか一方または両方が悪意でプラットフォームから付け替えられた場合には、確実にフィジカル・オーナーシップ・プリゼンスを否定できるようにしている。ブロック２２５では、セキュアＮＶＲＡＭ４３にＰＯＰ認証有効フラグ１５１が設定され、かつ、ステータス・レジスタ１１５にＰＯＰビットが設定されている場合と、セキュアＮＶＲＡＭ４３にＰＯＰ認証有効フラグ１５１が設定されず、かつ、ステータス・レジスタ１１３にＰＰビットが設定されている場合のいずれかを検出したＣＲＴＭ認証コード１２１は、セキュリティ・チップ２６にTSC_PhysicalPresencePresentというコマンドを送る。コマンドを受け取ったセキュリティ・チップ２６は、内部でTPM_PhysicalPresenceフラグを肯定（true）に設定する。
【００６６】
この場合、TPM_PhysicalPresenceフラグは２つのケースで肯定（true）に設定される。ブロック２２３でＰＯＰビットが設定されている場合は本発明にかかるフィジカル・オーナーシップ・プリゼンスが肯定されて、あらかじめオーナーとして指紋が登録されたユーザが起動ボタン１０１を押下してノートＰＣ１０を起動したことになる。また、ブロック２１９でＰＰビットだけが設定されていると判断した場合は、従来の方法でフィジカル・プリゼンスが肯定されて、不特定のユーザが起動ボタンを押下してノートＰＣ１０を起動したことになる。
【００６７】
ただし、いずれの経緯を経てTPM_PhysicalPresenceフラグが肯定に設定された場合であってもセキュリティ・チップ２６は、その時点で同じレベルの特権コマンドの実行を許可する。特権コマンドは、現存のオーナーを示す情報をセキュリティ・チップ２６からクリアすること、セキュリティ・チップ２６を一時的にディアクティベイティング（deactivating）すること、およびセキュリティ・チップ２６をディスエイブリング（disabling）することを含む。なお、特権コマンドの具体的な内容は、非特許文献１に記載されている。
【００６８】
ブロック２２７では、セキュアＮＶＲＡＭ４３にＰＯＰ認証有効フラグ１５１が設定され、かつ、ステータス・レジスタ１１５にＰＯＰビットが設定されていない場合と、ステータス・レジスタ１１３にＰＰビットが設定されていない場合のいずれかを検出したＣＲＴＭ認証コード１２１は、セキュリティ・チップ２６にTSC_PhysicalPresenceNotPresentというコマンドを送り、TPM_PhysicalPresenceフラグを否定（false）に設定する。
【００６９】
この場合、セキュリティ・チップ２６は特権コマンドを許可しない。ブロック２２５または２２７でTPM_PhysicalPresenceフラグの設定が終了すると、ブロック２２９に移行し、システム・ブロック２７ｂに格納されたＰＯＳＴ１２５が実行される。これ以降の手順は図１０を参照して説明する。図１０は図９の参照記号Ｃから開始する。
【００７０】
ブロック２３１では、ＰＯＳＴ１２５の実行に続いてあるいはその途中にシステム・ブロック２７ｂに格納されたパスワード認証コード１３１が実行される。この時点では、ＢＩＯＳの画面を通じてＬＣＤ１９およびキーボード４７の利用ができるようになっている。ブロック２３３でパスワード認証コード１３１は、指紋認証モジュール４１に今回の起動において指紋認証が成功したか否かを問い合わせる。入出力制御部８９は、データ格納部９１の認証成功フラグ９４を参照して、パスワード認証コード１３１に結果を通知する。
【００７１】
パスワード認証コード１３１は、今回の起動において指紋認証が成功したと判断したときは、ブロック２３５に移行し、指紋認証が失敗したと判断したときはブロック２４７に移行する。ブロック２３５では、パスワード認証コード１３１がステータス・レジスタ１１５にＰＯＰビットが設定されているか否かを判断する。ＰＯＰビットが設定されているときはブロック２３７に移行し、設定されていないときはブロック２４７に移行する。
【００７２】
パスワード認証コード１３１はブロック２３７で、指紋認証モジュール４１のデータ格納部９１からパワー・オン・パスワード９６、スーパーバイザ・パスワード９７、およびＨＤＤパスワード９８を取得する。パスワード認証コード１３１はブロック２３９でＮＶＲＡＭ４３に格納されたパワー・オン・パスワード１５３、スーパーバイザ・パスワード１５５およびＨＤＤ２３から取得したＨＤＤパスワードと比較して、それらの認証をユーザの介在なしで完了させる。このようにユーザが行う複数の個別認証を一度に行う方法をシングル・サイン・オン（SSO：Single Sign-On）という。個別認証は、セキュリティを強化する目的で別々の認証を要求するものであるが、ユーザにとっては煩わしさを否めない。
【００７３】
したがって、シングル・サイン・オンによりユーザの利便性を高めることができるが、それを認めるときには、個別認証に比べてセキュリティ・レベルを低下させないようにする必要がある。ブロック２３９でのシングル・サイン・オンは、フィジカル・オーナーシップ・プリゼンスが肯定された条件のもとで行われるものであり、従来のシングル・サイン・オンに比べてセキュリティ・レベルは高くなっている。
【００７４】
ブロック２４１では、パスワード認証コード１３１は、ステータス・レジスタ１１３、１１５のＰＰフラグおよびＰＯＰフラグをリセットし、さらに指紋認証モジュール４１に対してデータ格納部９１の認証成功フラグ９４をリセットするように要求する。この要求を受けた入出力制御部８９は認証成功フラグ９４をリセットする。ブロック２４３でパスワード認証コード１３１は、セキュリティ・チップ２６にTSC_PhysicalPresenceNotPresentというコマンドを送って、TPM_PhysicalPresenceフラグを否定に設定し、さらに、TSC_PhysicalPresenceLockというコマンドを送ってTPM_PhysicalPresenceフラグが書き換えられないようにする。
【００７５】
その後ブロック２４５でＯＳのブートが開始されるが、セキュリティ・チップ２６はこれ以降において特権コマンドを許可せず、また、TSC_PhysicalPresencePresentというコマンドを受け付けない。なお、TPM_PhysicalPresenceフラグのロック状態は、ノートＰＣ１０がコールド・スタートされるたびに解除される。ブロック２４７〜２５１では、シングル・サイン・オンが認められないため、ユーザは個別認証でパワー・オン・パスワード、スーパーバイザ・パスワード、およびＨＤＤパスワードをパスワード認証コード１３１の要求に応じてキーボードから入力する。本発明におけるフィジカル・オーナーシップ・プリゼンスは指紋認証ユニットに代えて掌形、網膜、虹彩、音声または静脈などの他の生体情報を用いた生体認証ユニットを利用することができる。
【００７６】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【図面の簡単な説明】
【００７７】
【図１】ノートＰＣの主要なハードウエアの構成を示す概略ブロック図である。
【図２】セキュリティ・チップの構成を示すブロック図である。
【図３】指紋認証モジュールの構成を示すブロック図である。
【図４】ＢＩＯＳ＿ＲＯＭの構成を示す図である。
【図５】セキュアＮＶＲＡＭの構成を示す図である。
【図６】フィジカル・プリゼンスの認証に関連するハードウエアおよびソフトウエアの構成を示す機能ブロック図である。
【図７】ノートＰＣのパワー・ステートの遷移方法と関連動作を説明する図である。
【図８】フィジカル・プリゼンスの認証手順を示すフローチャートである。
【図９】フィジカル・プリゼンスの認証手順を示すフローチャートである。
【図１０】シングル・サイン・オンの認証手順を示すフローチャートである。
【符号の説明】
【００７８】
２６…セキュリティ・チップ
４１…指紋認証モジュール
１０１…起動ボタン
１０３、１０５、１０７…制御端子付きスイッチ
１０９…発光ダイオード
１１１、１１３、１１５…ステータス・レジスタ
【図１】
0004800340.tif 000002
【図２】
0004800340.tif 000003
【図３】
0004800340.tif 000004
【図４】
0004800340.tif 000005
【図５】
0004800340.tif 000006
【図６】
0004800340.tif 000007
【図７】
0004800340.tif 000008
【図８】
0004800340.tif 000009
【図９】
0004800340.tif 000010
【図１０】
0004800340.tif 000011