(57)【要約】【課題】電子端末をブートさせることができる記録メディアの、データへのアクセスの利便性を高める。【解決手段】電子端末３０は、セキュア領域を備える記録メディア１０が挿入されると記録メディア１０から所定のプログラムを読み出す。このプログラムの処理の結果、記録メディア１０は、電子端末３０に挿入された時における電子端末３０の起動状況を判定する。判定の結果、電子端末３０の起動直後から記録メディア１０が挿入された場合は、セキュア領域へのアクセスの制限を緩くする。記録メディア１０の挿入時点が、電子端末３０の起動完了に近づくほど、記録メディア１０は、セキュア領域へのアクセス制限を厳しくする。【選択図】図２
2008165758.tif 000002
【特許請求の範囲】
【請求項１】
電子端末と接続が可能な記録デバイスであって、
データを格納するセキュア領域と、
前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況を判定する端末状態判定部と、
前記判定された結果に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限するアクセス制御部とを含む
ことを特徴とする記録デバイス。
【請求項２】
請求項１に記載の記録デバイスであって、
前記電子端末は、前記複数の構成要素の起動に伴って、自端末の構成を示す構成情報を逐次更新し、
前記端末状態判定部は、前記記録デバイスが前記電子端末に接続した時における前記構成情報を取得して、取得した構成情報に基づいて前記判定を行う
ことを特徴とする記録デバイス。
【請求項３】
請求項２に記載の記録デバイスであって、
前記記録デバイスは、前記電子端末を制御するコードを含む端末制御プログラムを記録しており、
前記端末制御プログラムは、前記記録デバイスが前記電子端末と接続した時に前記電子端末によって読み出されて実行され、
前記端末制御プログラムには、前記構成情報を前記記録デバイスに出力させる出力ステップが含まれ、
前記端末状態判定部は、前記端末制御プログラムが前記電子端末において実行され前記出力ステップによって出力された前記構成情報を受け付けて、受け付けた構成情報に基づいて前記判定を行う
ことを特徴とする記録デバイス。
【請求項４】
請求項２に記載の記録デバイスであって、
前記記録デバイスは、前記電子端末を制御するコードを含む端末制御プログラムを記録しており、
前記端末制御プログラムは、固有の情報を含んでおり、前記記録デバイスが前記電子端末と接続した時に前記電子端末によって読み出されて実行され、
前記構成情報は、前記複数の構成要素のそれぞれが起動する都度、更新され、
前記端末制御プログラムには、前記電子端末に実行させる処理として、
前記複数の構成要素のうち、未起動の構成要素を起動させる際に、前記未起動の構成要素の起動に伴う構成情報の更新を行う更新ステップが含まれ、
前記更新ステップにおいて、前記端末制御プログラムは、前記更新にかかる構成情報を、前記未起動の構成要素と前記固有の情報に依存した情報にする処理を前記電子端末に行わせることにより前記更新を行う
ことを特徴とする記録デバイス。
【請求項５】
請求項４に記載の記録デバイスであって、
前記記録デバイスは、
前記複数の構成要素が起動完了したならば構成情報がとるべき情報を比較情報として保持しており、
前記比較情報には、前記更新ステップにおいて、前記複数の構成要素のいずれを対象として前記更新を行ったかに応じて定まる、構成情報がとるべき情報が複数含まれ、
前記端末状態判定部は、
取得した構成情報を、前記比較情報に含まれる複数の前記構成情報がとるべき情報と比較し、そのいずれと一致するかにより前記判定を行う
ことを特徴とする記録デバイス。
【請求項６】
請求項２に記載の記録デバイスであって、
前記電子端末は、起動時またはリセット時に構成情報を初期化し、前記複数の構成要素が段階的に起動されるのに伴って段階ごとに前記構成情報に情報を追加することで構成情報の更新を行うものであり、
前記端末状態判定部は、
前記段階ごとに追加されるべき各情報の有無により前記判定を行う
ことを特徴とする記録デバイス。
【請求項７】
請求項２に記載の記録デバイスであって、
前記電子端末は、前記複数の構成要素が段階的に起動されるのに伴って、段階ごとに前記構成情報を更新するものであり、
前記端末状態判定部は、
前記段階のそれぞれにおいて構成情報がとるべき情報それぞれと、前記記録デバイスが前記電子端末に接続した時における前記構成情報とを比較し、いずれと一致するかにより前記判定を行う
ことを特徴とする記録デバイス。
【請求項８】
請求項１に記載の記録デバイスであって、
前記セキュア領域は、前記端末状態判定部による判定が行われた場合にのみアクセス可能であり、
前記電子端末は、
前記記録デバイスの接続を検知する入出力インタフェースと、
前記入出力インタフェースにより前記検知を行った際、(i)前記端末状態判定部による判定を含む第１のブート処理を実行させるか、(ii)前記端末状態判定部による判定を行わない第２のブート処理を実行させるかの選択をユーザから受け付ける受付手段とを備え、
前記受付手段が前記第１のブート処理を実行させることを受け付けた場合、前記端末状態判定部による判定のための処理を実行し、
前記受付手段が前記第２のブート処理を実行させることを受け付けた場合、前記端末状態判定部による判定のための処理を禁止する
ことを特徴とする記録デバイス。
【請求項９】
請求項６に記載の記録デバイスであって、
前記電子端末は、TCG（Trusted Computing Group）により仕様が定められたTPM（Trusted Platform Module）を含んでおり、
前記TPMには、前記複数の構成要素の起動に伴って各構成要素のハッシュ値が送り込まれ、
前記TPMは、PCRを複数備え、送り込まれたハッシュ値を用いてPCRを拡張する処理を行って各PCRに値を格納し、
前記構成情報とは、拡張処理が行われて各PCRに格納されている値のことであり、
前記端末状態判定部は、前記記録デバイスが前記電子端末に接続した時における前記電子端末の所定のPCRに、初期値以外の値が格納されているか否かに応じて前記判定を行う
ことを特徴とする記録デバイス。
【請求項１０】
請求項７に記載の記録デバイスであって、
前記電子端末は、TCG（Trusted Computing Group）により仕様が定められたTPM（Trusted Platform Module）を含んでおり、
前記TPMには、前記複数の構成要素の起動に伴って各構成要素のハッシュ値が送り込まれ、
前記TPMは、PCRを備え、送り込まれたハッシュ値を用いてPCRを拡張する処理を行ってPCRに値を格納し、
前記構成情報とは、拡張処理が行われてPCRに格納されている値のことであり、
前記端末状態判定部は、前記段階のそれぞれにおいて前記PCRに格納されるべき値それぞれと、前記記録デバイスが前記電子端末に接続した時におけるPCRの値とを比較し、いずれと一致するかにより前記判定を行う
ことを特徴とする記録デバイス。
【請求項１１】
電子端末と接続が可能な記録デバイスであって、
データを格納するセキュア領域と、
前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況が、複数の起動状態のいずれに該当するかを示す起動状態情報を取得する取得手段と、
取得した起動状態情報に示される起動状態に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限するアクセス制御部とを含む
ことを特徴とする記録デバイス。
【請求項１２】
電子端末と接続が可能であり、データを格納するセキュア領域を有する記録デバイスに用いられる集積回路であって、
前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況を判定する端末状態判定部と、
前記判定された結果に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限するアクセス制御部とを含む
ことを特徴とする集積回路。
【請求項１３】
電子端末と接続が可能であり、データを格納するセキュア領域を有する記録デバイスに対する電子端末からのアクセスを制限するアクセス制限方法であって、
前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況を判定する端末状態判定ステップと、
前記判定された結果に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限するアクセス制御ステップとを含む
ことを特徴とするアクセス制限方法。
【請求項１４】
電子端末と接続が可能であり、データを格納するセキュア領域を有する記録デバイスに対する電子端末からのアクセスを制限する処理を前記記録デバイスに行わせるためのコンピュータ読み取り可能な制御プログラムを記録するプログラム記録媒体であって、
前記制御プログラムは、
前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況を判定する処理を前記記録デバイスに行わせる端末状態判定ステップと、
前記判定された結果に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限する処理を前記記録デバイスに行わせるアクセス制御ステップとを含む
ことを特徴とするプログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録デバイスにアクセスする機器の正当性を検証し、不正な機器からの記録デバイス内のデータ、特に、秘匿すべきデータへのアクセスを制限する技術に関する。
【背景技術】
【０００２】
個人情報や企業秘密など、秘匿すべきデータを適切に保護するために、データの不正利用を防止する技術が従来より広く用いられている。
このような技術としては、例えば、シンクライアントシステムがある。シンクライアントシステムは、サーバの側でファイルやアプリケーションなどの資源を管理する。そして、ユーザ側の端末には、データの持ち出しを防ぐために、HDD（Hard Disk Drive）や光学書き込みドライブなどのデータを記録する機能を持たせないようにし、モニタやキーボードなどの最低限の機能のみを持たせておく。こうすることで、データの不正な流出を防ぐこととしている。
【０００３】
しかし、シンクライアントシステムにおいては、データ保護のため、基本的にはこのシステムに対応した端末のみがサーバにアクセスできるので、対応端末が無ければデータにアクセスできない。例えば、出張先等に対応端末がないことが考えられる。そして、シンクライアントシステム用のクライアント端末は、専用のハードウェア構成やソフトウェア構成を必要とし、開発や導入にコストがかかるため、データへのアクセスを便利にするためにあらゆる場所にシンクライアント端末を配置しようとしても、現実的には難しい。
【０００４】
また、この他にデータの保護を実現する技術として、機器の正当性を認証した上でのみデータのやりとりを許可することで不正アクセスを防止するものがある。近年では、セキュアなコンピュータプラットフォームを開発、普及させることを目的に設立されたTCG（Trusted Computing Group）が、TPM（Trusted Platform Module）と呼ばれるセキュリティコアモジュールを用いて機器認証する技術を公開している。例えば、TCGの技術を用いて、可搬型記録メディアから機器の起動と同時に機器認証を行い、サーバから取得した鍵で記録メディア内に格納された暗号化データを復号し機器上で扱う技術が米国特許出願公開第２００６／００４７９４４号（以下、特許文献１）に記載され公知となっている。
【０００５】
特許文献１記載の技術を用いると、機器認証を行うことで機器の正当性を確認し、正当である機器との間でデータのやりとりを行うので、可搬型の記録メディアを保持していれば、機器が正当である限り、利用者がどこに居たとしても記録メディアのデータにアクセスできる。すなわち、利用者は、シンクライアントシステムのようにサーバにアクセスできないことによる不便さ、つまり、利用者がデータにアクセスできないことがあるという不便さとは無縁となる。
【特許文献１】米国特許出願公開第２００６／００４７９４４号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１記載の技術では、記録メディアのデータにアクセスするために、常に記録メディアから機器を起動し認証処理を行う必要がある。すなわち、機器が起動処理を終えて起動済みの状態において記録メディアを機器と接続しても記録メディアのデータにアクセスできない。そして、記録メディアに記録されているデータは、保護すべき要請が比較的大きいデータもあれば、情報が漏えいしたとしても損害がそれほど大きくなく、保護すべき要請が比較的小さいデータもある。なお、保護すべき要請が大きいか小さいかは様々な観点により定まる。主観的な観点により定まる場合もある。ここで、一例を挙げると、例えば、個人情報やクレジットカード番号などの情報は、プライバシー保護や金銭的価値の大きさという観点に立つと、多数の人にとって保護すべき要請が比較的大きいと言える。また、お気に入りのURL（Uniform Resource Locator）などは、個人の特定につながらなければ、漏えいしたとしても実害がそれほど大きくない、つまり保護すべき要請が比較的小さいと言える。
【０００７】
そうすると、特許文献１記載の技術では、保護すべき要請が比較的小さいデータにアクセスしたい場合であっても、いちいち機器を再起動しOS（Operating System）の起動プロセスを待たなくてはならず、不便である。
そこで、本発明は、データの秘匿性を確保しつつ、利便性の高い記録デバイスを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明は、電子端末と接続が可能な記録デバイスであって、データを格納するセキュア領域と、前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況を判定する端末状態判定部と、前記判定された結果に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限するアクセス制御部とを含むことを特徴とする記録デバイスである。
【発明の効果】
【０００９】
上述の記録デバイスは、端末状態判定部を備えているので、記録デバイスが電子端末に接続した時に、電子端末の起動処理がどの程度進行しているかに応じて、セキュア領域に対して異なるレベルのアクセス制限を課すことができる。
異なるレベルのアクセス制限を課すことについて簡単に説明する。
例えば、端末状態判定部による判定の結果、既に電子端末の起動処理が完了している状態で記録デバイスが電子端末に接続したと判明したとする。この場合は、記録デバイスが電子端末の起動とともに認証を行ったわけではない。したがって、記録デバイスは、電子端末の正当性が不明であるとみなしてセキュア領域へのアクセスに厳しい制限を課す、つまりアクセス可能な範囲を狭める、とすることができる。
【００１０】
一方、端末状態判定部による判定の結果、電子端末が起動処理を開始し始めた段階（あるいは、電子端末の電源オン時）から記録デバイスが接続したと判明したとする。この場合は、記録デバイス自身が、電子端末の起動とともに正当性の検証を行うので、比較的信頼性が高いものとして、セキュア領域の大部分にアクセスが可能である、とすることができる。
【００１１】
このような構成を備えていると、保護すべき要請が比較的小さいデータについては緩いアクセス制限を課すことによって、電子端末の起動処理の進行度合にかかわらず電子端末が記録デバイスにアクセス可能とすることができる。つまり、特許文献１のようにいちいち電子端末を再起動させる必要がない。また、保護すべき要請が比較的大きく、不正に取得されるのが望ましくないデータについては、例えば起動処理の開始時から記録デバイスが接続されている場合にのみアクセス可能とすることができ、このようなデータの保護の水準を高くすることができる。すなわち、本発明は、保護すべきデータの安全性を犠牲にすることなく利便性の高い記録デバイスを実現している。
【００１２】
ここで、前記電子端末は、前記複数の構成要素の起動に伴って、自端末の構成を示す構成情報を逐次更新し、前記端末状態判定部は、前記記録デバイスが前記電子端末に接続した時における前記構成情報を取得して、取得した構成情報に基づいて前記判定を行うこととしてもよい。
上述のように電子端末が構成情報を逐次更新するものである場合、記録デバイスの側に、電子端末の構成を調べるための特別な手段が不要となる。
【００１３】
ここで、前記記録デバイスは、前記電子端末を制御するコードを含む端末制御プログラムを記録しており、前記端末制御プログラムは、前記記録デバイスが前記電子端末と接続した時に前記電子端末によって読み出されて実行され、前記端末制御プログラムには、前記構成情報を前記記録デバイスに出力させる出力ステップが含まれ、前記端末状態判定部は、前記端末制御プログラムが前記電子端末において実行され前記出力ステップによって出力された前記構成情報を受け付けて、受け付けた構成情報に基づいて前記判定を行うこととしてもよい。
【００１４】
この構成によると、記録デバイスから送られるプログラムによって構成情報の記録デバイスへの出力を行うので、出所の不明なプログラムによって構成情報が電子端末から記録デバイスへと出力される場合に比べて前記端末状態判定部による判定の信頼性が高まる。
ここで、前記記録デバイスは、前記電子端末を制御するコードを含む端末制御プログラムを記録しており、前記端末制御プログラムは、固有の情報を含んでおり、前記記録デバイスが前記電子端末と接続した時に前記電子端末によって読み出されて実行され、前記構成情報は、前記複数の構成要素のそれぞれが起動する都度、更新され、前記端末制御プログラムには、前記電子端末に実行させる処理として、前記複数の構成要素のうち、未起動の構成要素を起動させる際に、前記未起動の構成要素の起動に伴う構成情報の更新を行う更新ステップが含まれ、前記更新ステップにおいて、前記端末制御プログラムは、前記更新にかかる構成情報を、前記未起動の構成要素と前記固有の情報に依存した情報にする処理を前記電子端末に行わせることにより前記更新を行うこととしてもよい。
【００１５】
この構成によると、端末制御プログラムが固有の情報を用いて構成情報の更新を行うので、電子端末の起動が完了したときの構成情報のとる値が、記録デバイスが電子端末に接続したタイミングに応じて異なることとなる。したがって、電子端末の起動が完了したときの構成情報に基づいて、記録デバイスを電子端末に接続した時の前記複数の構成要素の起動完了状況を把握することができる。
【００１６】
ここで、前記記録デバイスは、前記複数の構成要素が起動完了したならば構成情報がとるべき情報を比較情報として保持しており、前記比較情報には、前記更新ステップにおいて、前記複数の構成要素のいずれを対象として前記更新を行ったかに応じて定まる、構成情報がとるべき情報が複数含まれ、前記端末状態判定部は、取得した構成情報を、前記比較情報に含まれる複数の前記構成情報がとるべき情報と比較し、そのいずれと一致するかにより前記判定を行うこととしてもよい。
【００１７】
この構成によると、いったん記録デバイスと電子端末との接続を切断したとしても、構成情報は、記録デバイスを電子端末に接続したタイミングに応じたものとなっているので、再度、記録デバイスを電子端末に接続したときに、初めて記録デバイスを電子端末に接続した時の前記複数の構成要素の起動完了状況を把握することができる。したがって、記録デバイスを電子端末に再接続した場合においても、初めて電子端末に接続した時と同等のアクセス制限を課すことができる。
【００１８】
また、具体的には、前記電子端末は、起動時またはリセット時に構成情報を初期化し、前記複数の構成要素が段階的に起動されるのに伴って段階ごとに前記構成情報に情報を追加することで構成情報の更新を行うものであり、前記端末状態判定部は、前記段階ごとに追加されるべき各情報の有無により前記判定を行うこととしてもよい。
ここで、前記電子端末は、TCG（Trusted Computing Group）により仕様が定められたTPM（Trusted Platform Module）を含んでおり、前記TPMには、前記複数の構成要素の起動に伴って各構成要素のハッシュ値が送り込まれ、前記TPMは、PCRを複数備え、送り込まれたハッシュ値を用いてPCRを拡張する処理を行って各PCRに値を格納し、前記構成情報とは、拡張処理が行われて各PCRに格納されている値のことであり、前記端末状態判定部は、前記記録デバイスが前記電子端末に接続した時における前記電子端末の所定のPCRに、初期値以外の値が格納されているか否かに応じて前記判定を行うこととしてもよい。
【００１９】
また、前記電子端末は、前記複数の構成要素が段階的に起動されるのに伴って、段階ごとに前記構成情報を更新するものであり、前記端末状態判定部は、前記段階のそれぞれにおいて構成情報がとるべき情報それぞれと、前記記録デバイスが前記電子端末に接続した時における前記構成情報とを比較し、いずれと一致するかにより前記判定を行うこととしてもよい。
【００２０】
ここで、前記電子端末は、TCG（Trusted Computing Group）により仕様が定められたTPM（Trusted Platform Module）を含んでおり、前記TPMには、前記複数の構成要素の起動に伴って各構成要素のハッシュ値が送り込まれ、前記TPMは、PCRを備え、送り込まれたハッシュ値を用いてPCRを拡張する処理を行ってPCRに値を格納し、前記構成情報とは、拡張処理が行われてPCRに格納されている値のことであり、前記端末状態判定部は、前記段階のそれぞれにおいて前記PCRに格納されるべき値それぞれと、前記記録デバイスが前記電子端末に接続した時におけるPCRの値とを比較し、いずれと一致するかにより前記判定を行うこととしてもよい。
【００２１】
また、前記セキュア領域は、前記端末状態判定部による判定が行われた場合にのみアクセス可能であり、前記電子端末は、前記記録デバイスの接続を検知する入出力インタフェースと、前記入出力インタフェースにより前記検知を行った際、(i)前記端末状態判定部による判定を含む第１のブート処理を実行させるか、(ii)前記端末状態判定部による判定を行わない第２のブート処理を実行させるかの選択をユーザから受け付ける受付手段とを備え、前記受付手段が前記第１のブート処理を実行させることを受け付けた場合、前記端末状態判定部による判定のための処理を実行し、前記受付手段が前記第２のブート処理を実行させることを受け付けた場合、前記端末状態判定部による判定のための処理を禁止することとしてもよい。
【００２２】
これにより、セキュア領域以外の領域へのアクセスのみが必要となる場合は、端末状態判定部による判定のための処理を実行しないので、直ちに当該領域へのアクセスが可能となる。
また、本発明は、電子端末と接続が可能な記録デバイスであって、データを格納するセキュア領域と、前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況が、複数の起動状態のいずれに該当するかを示す起動状態情報を取得する取得手段と、取得した起動状態情報に示される起動状態に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限するアクセス制御部とを含むことを特徴とする記録デバイスでもある。
【００２３】
これにより、記録デバイスの構成が簡易なものであっても、セキュア領域に対するアクセス制限を課すことができる。
また、本発明は、電子端末と接続が可能であり、データを格納するセキュア領域を有する記録デバイスに用いられる集積回路であって、前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況を判定する端末状態判定部と、前記判定された結果に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限するアクセス制御部とを含むことを特徴とする集積回路でもある。
【００２４】
また、本発明は、電子端末と接続が可能であり、データを格納するセキュア領域を有する記録デバイスに対する電子端末からのアクセスを制限するアクセス制限方法であって、前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況を判定する端末状態判定ステップと、前記判定された結果に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限するアクセス制御ステップとを含むことを特徴とするアクセス制限方法でもある。
【００２５】
また、電子端末と接続が可能であり、データを格納するセキュア領域を有する記録デバイスに対する電子端末からのアクセスを制限する処理を前記記録デバイスに行わせるためのコンピュータ読み取り可能な制御プログラムを記録するプログラム記録媒体であって、前記制御プログラムは、前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況を判定する処理を前記記録デバイスに行わせる端末状態判定ステップと、前記判定された結果に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限する処理を前記記録デバイスに行わせるアクセス制御ステップとを含むことを特徴とするプログラム記録媒体でもある。
【発明を実施するための最良の形態】
【００２６】
＜実施の形態＞
以下、主に、本発明の記録デバイスについて、図面を用いて説明する。
１  概略
図１は、本発明の実施の形態におけるシステムの全体の構成を示している。
図１に示すように、サーバ１は、インターネット２を介して電子端末３０ａ、電子端末３０ｂと接続している。なお、電子端末３０ａ、３０ｂは、記録メディア１０（記録デバイスと言うこともある）を用いたブート処理を実行することができ、本発明を実施するための機能を備えていれば、それぞれが同一の構成を備える必要はない。そこで、以降、電子端末３０ａ、３０ｂを区別せず、電子端末３０として説明する。なお、電子端末３０は、複数（図１では、電子端末３０ａ、３０ｂの２つ）存在することが必須ではなく、１つであってもよい。
【００２７】
サーバ１は、電子端末３０と通信を行い、Webサイトを通じた情報の閲覧、本やCDなどの商品の販売を行うオンラインストア、音楽データや映像データなどのコンテンツの配信などのサービスを提供する。
記録メディア１０は、可搬な記録メディアで実現される。例えばSDカードである。
電子端末３０は、駅や空港などの公衆の場所に設置されたPC（Personal Computer）端末や、外出先へ持ち出し可能な携帯端末などとして実現される。また、例えば、記録メディア１０の保持者が日常的に利用する端末と同等の機能を有する端末、例えば会社内のオフィスに設置されたPC端末と同等の機能を有する携帯端末などとして実現される。詳しくは後述するが、電子端末３０は、CPU（Central Processing Unit）、RAM（Random Access Memory）などを備えるコンピュータシステムである。電子端末３０には、記録メディア１０を挿入することができる。
【００２８】
２  構成
次に、記録メディア１０および電子端末３０の構成を説明する。
２．１  記録メディア１０の構成
まず、記録メディア１０の構成を詳しく説明する。
図２は、記録メディア１０の構成を示す機能ブロック図である。記録メディア１０は、端末側制御部１１と、端末状態判定部１２と、起動手順記録部１３と、アクセス設定記録部１４と、実行部１５と、端末判定部１６と、端末側認証部１７と、第１メディア側認証部１８ａと、第２メディア側認証部１８ｂと、第３メディア側認証部１８ｃと、アクセス制御部１９と、メモリ領域２０とを備える。
【００２９】
２．１．１  端末側制御部１１
順に説明すると、端末側制御部１１は、図示するように、端末制御プログラム２６を記憶している。
この端末制御プログラム２６は、記録メディア１０が電子端末３０に挿入された時に、電子端末３０に読み込まれて様々な処理を行う。端末制御プログラム２６には、電子端末３０のOS（Operating System）起動させるためのブートコードが含まれている。ここで、端末制御プログラム２６による様々な処理とは、例えば、電子端末３０の起動の制御や、電子端末３０の認証処理などである。なお、端末制御プログラム２６は、記録メディア１０に固有の鍵を保持している。この鍵と一方向性関数を用いて、端末制御プログラム２６自身や、電子端末３０の第１基本ソフト４５や第２基本ソフト４６のハッシュ値などを算出する。ここで、端末制御プログラム２６が用いる一方向性関数は、SHA-1やMD5などの一方向性関数に鍵値をからめるHMAC（Keyed-Hashing for Message Authentication）アルゴリズムであるとする。したがって、ハッシュ値の算出対象が同じであっても、端末制御プログラム２６が保持している鍵が異なれば、端末制御プログラム２６が算出するハッシュ値はそれぞれ異なるものとなる。端末制御プログラム２６が電子端末３０に読み込まれて行うこれらの処理については後の動作の説明で詳しく述べることとする。
【００３０】
２．１．２  端末状態判定部１２
端末状態判定部１２は、電子端末３０の起動完了に必要なソフトウェアがどの程度起動しているかに応じて段階的に分類された複数の状態のうち、電子端末３０がいずれの状態であるかを判定する。
ここで、具体的には、端末状態判定部１２は、本実施形態では、電子端末３０が
（i）"起動時"：後述する第２基本ソフト４６も第１基本ソフト４５も起動を開始していない状態
（ii）"起動途中"：第２基本ソフト４６が起動を開始しておらず、第１基本ソフト４５が起動を開始してメモリにロードされている状態
（iii）"起動済み"：第２基本ソフト４６が起動を開始してメモリにロードされている状態
の３つのうちいずれの状態（起動状態）であるかを判定する。すなわち、本実施形態では、電子端末３０の起動状態を、"起動時""起動途中""起動済み"の３つに分類している。
【００３１】
なお、後述するが、本実施形態では、電子端末３０は、第１基本ソフト４５を起動した後に第２基本ソフト４６を起動する。また、本実施形態では、第２基本ソフト４６がメモリにロードされ実行されることで、電子端末３０の起動が完了することとしている。起動が完了すると、電子端末３０では、種々のアプリケーションソフトウェアが実行可能となる。
【００３２】
なお、端末状態判定部１２による起動状態の判定は記録メディア１０の挿入時に行われることとなるが、この具体的な説明は電子端末３０の動作とともに後述する。
２．１．３  起動手順記録部１３
起動手順記録部１３は、端末状態判定部１２の判定結果を保持する。起動手順記録部１３は、例えば、端末状態判定部１２の判定を受けて、端末状態判定部１２の判定結果を示す起動状態フラグ（起動状態情報）を記憶する。起動状態フラグは、例えば数値が格納され、起動状態フラグが"１"であれば、端末状態判定部１２が"起動時"と判定したことを示すものとする。同様に、起動状態フラグが"２"であれば"起動途中"、起動状態フラグが"３"であれば"起動済み"と端末状態判定部１２が判定したことを示すものとする。
【００３３】
２．１．４  アクセス設定記録部１４
アクセス設定記録部１４は、メモリ領域２０の第１セキュア領域２１、第２セキュア領域２２、第３セキュア領域２３へのアクセスの可否を、記録メディア１０の挿入時における電子端末３０の起動状態それぞれと対応づけてアクセス設定テーブル５１として記憶している。アクセス設定テーブル５１の詳細は後述する。
【００３４】
なお、本実施形態では、起動状態と対応づけられている第１セキュア領域２１、第２セキュア領域２２、第３セキュア領域２３へのアクセスの可否をユーザがカスタマイズすることができることとしている。カスタマイズの方法は、後述する。
２．１．５  実行部１５
実行部１５は、例えばメモリ領域２０へのアクセスの要求や電子端末３０とのデータのやりとりなど、記録メディア１０で実行されるさまざまな処理を実行する。
【００３５】
２．１．６  端末判定部１６
端末判定部１６は、電子端末３０が正当であるか否かの判定を行う。また、記録メディア１０から電子端末３０へ出力される端末制御プログラム２６が正当であるか否かの判定を行うこともある。
端末判定部１６は、図示するように複数の認証子を記憶している。本実施形態では、この認証子は、電子端末３０の検証の際に、電子端末３０が正当である場合に電子端末３０から送られてくる認証子と同一の値であるとする。なお、端末認証プログラム２６が第１基本ソフト４５等のハッシュ値を算出し、この算出値を用いて電子端末３０が認証子を生成した場合と同一の値の認証子も端末判定部１６は記憶している。また、端末判定部１６は、端末制御プログラム２６が正当である場合の、端末制御プログラム２６のハッシュ値も記憶している。
【００３６】
端末判定部１６は、電子端末３０から送られてくる認証子の値と、端末判定部１６が記憶している認証子の値とが一致すれば電子端末３０が正当であると判定する。一致しなければ正当性はないと判定する。また、電子端末３０から端末制御プログラム２６のハッシュ値が送られてきた場合には、端末判定部１６が記憶している、端末制御プログラム２６が正当である場合のハッシュ値と比較して、一致すれば端末制御プログラム２６が正当であると判定する。一致しなければ正当性はないと判定する。
【００３７】
電子端末３０が正当、もしくは電子端末３０と端末制御プログラム２６とがともに正当であると判定されれば、端末判定部１６は、セキュア領域（第１セキュア領域２１、第２セキュア領域２２、第３セキュア領域２３）に記憶されているデータの通信を電子端末３０と行うために、端末側認証部１７に複数記憶されている端末認証プログラム（図２では、第１端末認証プログラム２７ａ、第２端末認証プログラム２７ｂ、第３端末認証プログラム２７ｃの３つが図示されている）のうち、いずれを電子端末３０に出力するかを、後述するプログラム送信テーブル５２などを参照して指定する。このとき、指定にかかる端末認証プログラムに対応するメディア側認証部の指定も行う。図２では、第１メディア側認証部１８ａ、第２メディア側認証部１８ｂ、第３メディア側認証部１８ｃの３つが図示されており、これら３つのうちいずれかが指定される。
【００３８】
なお、端末認証プログラム、メディア側認証部については後述する。また、第１メディア側認証部１８ａ、第２メディア側認証部１８ｂ、第３メディア側認証部１８ｃをひとまとめにしてメディア側認証部１８と呼ぶこととする。
２．１．７  端末側認証部１７
端末側認証部１７は、電子端末３０において実行される端末認証プログラムを複数記憶している。
【００３９】
ここで、端末認証プログラムについて簡単に説明すると、端末認証プログラムは、記録メディア１０と電子端末３０とが安全にデータの交換を行うためのものである。端末判定部１６により指定された端末認証プログラムは、端末判定部１６が正当性を判定した後、正当であれば、実行部１５により電子端末３０に出力され、電子端末３０において実行される。実行された端末認証プログラムは、端末判定部１６により指定されたメディア側認証部（本実施形態では、第１メディア側認証部１８ａ、第２メディア側認証部１８ｂ、第３メディア側認証部１８ｃのうちいずれか）との間で認証処理を行ってセッション鍵を生成する処理や、生成したセッション鍵を用いて記録メディア１０と電子端末３０とが安全にデータを通信する処理などを行う。
【００４０】
なお、本実施形態では、端末認証プログラムは、あらかじめ定められた複数のセキュリティ強度のレベルに応じて複数用意されているものとする。
２．１．８  メディア側認証部１８
メディア側認証部１８は、電子端末３０において実行される端末認証プログラムとの間で認証処理を行って、上述のようにセッション鍵を生成する処理や、生成したセッション鍵を用いて記録メディア１０と電子端末３０とが安全にデータを通信する処理などを行う。認証処理は、例えば、チャレンジレスポンス型の認証方式によって実現される。
【００４１】
なお、認証処理の方法は、上記チャレンジレスポンス型に限られない。例えば、２つの機器の間で認証処理を行って、データを暗号化する等の方法により安全にデータを通信する技術は従来より様々なものが知られており、これらの方法により認証処理を行うこととしてもよい。
２．１．９  アクセス制御部１９
アクセス制御部１９は、端末状態判定部１２の判定結果に応じて、セキュア領域のうち、電子端末３０からのアクセスが可能な範囲を制限する。
【００４２】
具体的には、アクセス制御部１９は、第１セキュア領域２１、第２セキュア領域２２、第３セキュア領域２３それぞれについて、アクセス可能な端末認証プログラムを対応づけたアクセス制御テーブル５３を記憶している。また、複数ある端末認証プログラムのうち、端末判定部１６による判定後、電子端末３０に出力されたものがいずれであるか、またはアクセス禁止の設定を記憶している。そして、アクセス制御部１９は、これら記憶している情報を用いて、後述するような動作を行って電子端末３０からのセキュア領域へのアクセスを制限する。
【００４３】
２．１．１０  メモリ領域２０
メモリ領域２０は、データを保存する領域である。メモリ領域２０は、図示するように、セキュア領域（第１セキュア領域２１、第２セキュア領域２２、第３セキュア領域２３）、プログラム保存領域２４、通常領域２５を含んでいる。
セキュア領域には、通常、秘匿すべきデータが記憶される（ただし、秘匿する必要がないデータを記憶していてもよい）。本実施形態では、セキュア領域のデータを安全に通信するために、セキュア領域のデータは、暗号化されて通信される。暗号化は、具体的には、端末判定部１６により指定されたメディア側認証部と、指定されて電子端末３０に出力された端末認証プログラムとが行う。
【００４４】
また、セキュア領域のデータへのアクセスには制限が課せられる。本実施形態では、セキュア領域のうち、第１セキュア領域２１には、最も強いアクセス制限を課してデータの保護を図ることとする。そして、第２セキュア領域２２には、その次に強いアクセス制限を課す。第３セキュア領域２３は、第１セキュア領域２１、第２セキュア領域２２と比較して弱いアクセス制限を課すこととする。例えば、データが不正に取得されたり漏えいした場合に損害が大きいデータを第１セキュア領域２１に保存し、データが不正に取得等されたとしても、相対的に損害が小さいデータを第３セキュア領域２３に保存する、等とすることが考えられる。例えば、金銭的な損害の発生の防止や個人情報の保護を重視する場合は、電子マネーなどの残高の情報やクレジットカード情報、記録メディア１０の保持者の氏名や住所等を第１セキュア領域２１や第２セキュア領域２２に記憶させ、一方で、不正に取得されたとしても、金銭的な被害や個人の特定につながりにくいと考えられる情報、例えばお気に入りURLなどの情報を第３セキュア領域２３に記憶させておくことが一例として考えられる。
【００４５】
そして、本実施形態では、記録メディア１０が電子端末３０に挿入された時に、電子端末３０の起動状態が端末状態判定部１２によって"起動時"と判定される状態であれば第１セキュア領域２１、第２セキュア領域２２、第３セキュア領域２３へのアクセスを許可することとする。"起動途中"と判定される状態であれば、第１セキュア領域２１へのアクセスは許可せず、第２セキュア領域２２、第３セキュア領域２３へのアクセスを許可することとする。"起動済み"と判定される状態であれば、第１セキュア領域２１、第２セキュア領域２２へのアクセスを許可せず、第３セキュア領域２３へのアクセスを許可することとする。つまり、記録メディア１０の挿入時点が、電子端末３０の起動開始時に近いほど、セキュア領域へのアクセス制限が緩くなる。
【００４６】
このようにする理由は、以下の通りである。
まず、後述するように記録メディア１０に記録されている端末制御プログラム２６が、電子端末３０の起動処理にかかる所定のソフトウェア（後述する第１基本ソフト４５と第２基本ソフト４６）の改ざん検出のための処理を行う。電子端末３０は不正な端末である可能性があるため、電子端末３０のソフトウェアが改ざん検出のための処理を行う場合と比べると、端末制御プログラム２６が上記基本ソフトの改ざん検出のための処理を行う方が、改ざん検出の信頼性が高いと考えられる。
【００４７】
そうすると、既に電子端末３０において起動処理にかかる所定のソフトウェアの大部分が起動している、あるいは起動が完了している状態で記録メディア１０を電子端末３０に挿入する場合と比べて、記録メディア１０を電子端末３０に挿入した時点が、電子端末３０の起動開始時に近い（つまり、所定のソフトウェアソフトがそれほど起動していない）ほど、端末制御プログラム２６による処理の前に不正なソフトウェアが起動する余地が小さくなる。そのため、端末制御プログラム２６が電子端末３０の起動処理にかかる所定のソフトウェアに対する改ざんの有無を完全に確認できている可能性が高くなると考えられる。言い換えると、起動開始時から記録メディア１０を用いて電子端末３０を起動させた方が、電子端末３０の正当性の検証の信頼性が高い、と考えられるからである。
【００４８】
なお、セキュア領域は、第１セキュア領域２１、第２セキュア領域２２、第３セキュア領域２３の３つからなるとしたが、特に数を限定するものではない。
また、上記のように正当性検証の信頼性が高い場合には、より信頼性が低い場合にアクセス許可される領域全てにアクセスできるようにするのではなく、各信頼性の高さそれぞれについて、独立したセキュア領域をアクセス許可する領域として割り当ててもよい。例えば、"起動時"と判定されれば第１セキュア領域２１のみが、"起動途中"と判定されれば第２セキュア領域２２のみが、"起動済み"と判定されれば第３セキュア領域２３のみがアクセス許可されるとしてもよい。
【００４９】
プログラム保存領域２４は、プログラムを保存する目的で用意された領域である。この領域には、アクセス設定テーブル５１の更新に用いるアクセス設定プログラムなどが記録されている。
通常領域２５は、主に、安全に取り扱う必要のないデータを記録するための領域である。
【００５０】
２．２  電子端末３０の構成
次に、電子端末３０の構成を詳しく説明する。
図３は、電子端末３０の構成を示す機能ブロック図である。電子端末３０は、記録メディア入出力インタフェース３１と、端末起動部３２と、記憶部３３と、SM（Secure Module）３４とからなる。また、記録メディア１０から端末制御プログラム２６を読み出してメモリにロードして実行することにより端末側制御部３５が実現される。同様に、記録メディア１０から端末認証プログラムを読み出してメモリにロードして実行することにより端末側認証部３６が実現される。
【００５１】
なお、本実施形態では、電子端末３０は、Trusted Computing Group（TCG）と呼ばれる団体によって仕様が公開されたTPM（Trusted Platform Module）を備えており（本実施形態ではSM３４がTPMの機能を有する）、TCGにより定められた"Integrity Measurement"や"Integrity Reporting"や"Integrity logging"と呼ばれる処理を行うことができるものとする。なお、TCGの詳細を知るには、TCGのWebホームページhttp://www.trustedcomputinggroup.orgを参照するとよい。
【００５２】
２．２．１  記録メディア入出力インタフェース３１
順に説明すると、記録メディア入出力インタフェース３１は、電子端末３０が記録メディア１０と通信を行うためのインタフェースである。また、記録メディア１０が挿入されたことを検知する機構を有する。
２．２．２  端末起動部３２
端末起動部３２は、電子端末３０の起動を行う。具体的には、図示するように、BIOS４３と、ブートローダ４４とを記憶している。ブートローダ４４は、OSの一部分である第１基本ソフト４５を起動させるためのブートプログラムである。なお、TCGの仕様に準拠して、BIOS４３には、ブートローダ４４のハッシュ値を算出するためのCRTM（Core Root of Trust Measurement）が含まれているとする。また、ブートローダ４４には第１基本ソフト４５のハッシュ値を算出するために、そして、第１基本ソフト４５には第２基本ソフト４６のハッシュ値を算出するために、それぞれRTM（Root of Trust Measurement）が含まれていることとする。
【００５３】
なお、本実施形態では、電子端末３０においてBIOS４３が起動すると、BIOS４３は、第１基本ソフト４５を起動させるためのブートプログラムを探索し、記録メディア１０または電子端末３０自身からブートプログラムを読み出す。そして、記録メディア１０からのブートプログラムの読み出しを、電子端末３０自身からの読み出しよりも優先する。すなわち、BIOS４３がブートプログラムを探索した時に、
（ｉ）記録メディア１０の挿入が記録メディア入出力インタフェース３１により検知されている場合：
BIOS４３は、記録メディア１０から端末制御プログラム２６を読み出す。この端末制御プログラム２６は、第１基本ソフト４５を起動させるためのブートコードも含んでいる。この端末制御プログラム２６により第１基本ソフト４５が起動される。
【００５４】
また、
（ｉｉ）記録メディア入出力インタフェース３１が記録メディア１０の挿入を検知していない場合：
BIOS４３は、ブートローダ４４の起動処理を行う。
なお、BIOS４３とブートローダ４４とは、本実施形態では、不正アクセスを防止する機構を有するセキュアな記憶領域に記憶されていることとするが、これに限らず他の記憶領域に記憶されていてもよい。
【００５５】
２．２．３  記憶部３３
記憶部３３は、第１基本ソフト４５と第２基本ソフト４６とを記憶している。なお、第２基本ソフト４６も、第１基本ソフト４５と同様、OSの一部分である。なお、OSに含まれるプログラムを複数のグループに分けることとし、本実施形態では第１基本ソフト４５と第２基本ソフト４６の２つに大別したが、分け方は２つに限るものではなく３つ以上であってもよいし、また、複数に分けることに限るものでもない。
【００５６】
２．２．４  SM３４
SM３４は、RSAなどの暗号回路、SHA-1やHMACなどの演算回路、データを保存する領域、乱数生成回路などを備えたセキュリティモジュールである。一般的には、上述のように、TCGによって仕様が公開されたTPMで実現される。TPMの詳細は、TCGのWebホームページhttp://www.trustedcomputinggroup.orgにおいて公開されている。SM３４内の動作は、TCGで公開されたIntegrity Measurementと呼ばれる方式およびTPMの仕様において定められている。
【００５７】
具体的には後述するが、SM３４は、外部から受け取ったハッシュ値を用いて電子端末３０の認証子を生成して保存する。ここでいう認証子とは、要するに電子端末３０の構成の測定値（measured value）を示すものであり、TCGにより定められたPCR拡張処理（Extend）により得られる。
図３においては、SM３４の備える構成の一部を図示している。
【００５８】
I/O４０は、SM３４と外部との入出力インタフェースである。
PCR（Platform Configuration Register）４１は、複数のレジスタ（PCR1、PCR2、PCR3、・・）を備える記憶領域である。
SHA-1演算器４２は、ハッシュ演算を行う。なお、ハッシュ演算に用いるアルゴリズムはSHA-1とするが、他のアルゴリズムによりハッシュ演算を行うこととしてもよい。
【００５９】
２．２．５  端末側制御部３５
端末側制御部３５は、上述のように端末制御プログラム２６が電子端末３０のメモリにロードされて実行されることで実現される。なお、ハッシュ演算のためのハッシュ演算部４７を備える。ここで、ハッシュ演算に用いるアルゴリズムはHMACとするが、他のアルゴリズムによりハッシュ演算を行うこととしてもよい。そして、電子端末３０の起動状態に応じた処理を行う。詳しくは動作の説明で述べる。
【００６０】
２．２．６  端末側認証部３６
端末側認証部３６は、上述のように端末認証プログラムが電子端末３０のメモリにロードされて実行されることで実現される。そして、記録メディア１０との間で、データ通信のためのセッション鍵生成の処理などを行う。
３  データ
次に、各データについて説明する。
【００６１】
３．１  アクセス設定テーブル５１
図４は、アクセス設定テーブル５１を示す図である。
アクセス設定テーブル５１は、記録メディア１０の挿入時における電子端末３０の起動状態それぞれについて、アクセス可能なセキュア領域の範囲を示す。なお、同図に示すように、アクセス設定テーブル５１では、起動状態それぞれと対応づけてセキュリティ強度を記憶する。セキュリティ強度とは、電子端末３０が記録メディア１０のセキュア領域のデータにアクセスする際に、どの程度のレベルの安全性を必要とするかを示すものである。例えば、セキュリティ強度"高"の場合は、より安全にデータをやりとりするために、改ざんが困難なプログラムや、暗号解読がより困難なアルゴリズムを用いることを示す。
【００６２】
なお、本実施形態では、電子端末３０の起動直後から記録メディア１０が挿入されていた場合を、最もセキュリティ強度が高いとしている。このセキュリティ強度は、端末判定部１６が電子端末３０の正当性を判定した後、電子端末３０に出力する端末認証プログラムを指定する際に用いられる。
３．２  プログラム送信設定テーブル５２
図５は、プログラム送信設定テーブル５２を示す図である。
【００６３】
プログラム送信設定テーブル５２は、セキュリティ強度と、端末判定部１６が電子端末３０へ出力する端末認証プログラムおよび当該端末認証プログラムに対応するメディア側認証部の組との対応を示す。
例えば、図示するように、セキュリティ強度が「高」であれば、第１端末認証プログラム２７ａが端末判定部１６により指定される。このとき、第１端末認証プログラム２７ａに対応するメディア側認証部は、第１メディア側認証部１８ａとなる。したがって、第１端末認証プログラム２７ａが電子端末３０に出力されると、第１端末認証プログラム２７ａが電子端末３０のメモリにロードされ実行されることにより実現される端末側制御部３５と第１メディア側認証部１８ａとがセッション鍵生成の処理などを行う。なお、本実施形態では、各端末認証プログラムおよび各メディア側認証部のうち、第１端末認証プログラム２７ａと第１メディア側認証部１８ａとの組が、最も安全にデータをやりとりできるものとする。また、第３端末認証プログラム２７ｃと第３メディア側認証部１８ｃとの組は、最も簡易な方法でデータをやりとりする、つまり高速でデータをやりとりできる反面、データの安全性については第１端末認証プログラム２７ａと第１メディア側認証部１８ａとの組、第２端末認証プログラム２７ｂと第２メディア側認証部１８ｂとの組より劣るものとする。
【００６４】
セキュリティ強度の違いは、より具体的には、共有するセッション鍵の長さや、記録メディアと端末の間で通信するデータを暗号化する暗号化アルゴリズムの強度の違いなどから表すことができる。なお、本実施の形態ではセキュリティ強度「低」の場合も、記録メディアと電子端末との間でセッション鍵を用いて情報を暗号化してやりとりすることを想定しているが、情報を暗号化せず、特にセキュリティ面の対策を行わない場合をセキュリティ強度「低」としてもよい。
【００６５】
また、セキュリティ強度に違いを設ける方法は、これに限るものではない。例えば、セッション鍵の生成に用いる情報の漏洩しやすさによって分類することも考えられる。この場合、セッション鍵の生成に耐タンパ化された領域や書き換えができないＲＯＭ領域に記録されている情報が使われるのであれば強度が高く、通常のメモリ上の情報しか使わないのであれば強度が低い。また、暗号化以外の強度以外にも、やりとりする情報に電子署名を付加するか否かや、電子端末に送り込まれる端末認証プログラムがどの程度難読化されているかによって強度を分類してもよい。
【００６６】
３．３  アクセス制御テーブル５３
図６は、アクセス制御テーブル５３を示す図である。
アクセス制御テーブル５３は、セキュア領域のうち、電子端末３０からアクセスされる対象と、アクセスが許可される端末認証プログラムとを対応づけている。
例えば、図示するように、電子端末３０から第１セキュア領域２１へのアクセスが許可されている端末認証プログラムは、第１端末認証プログラム２７ａのみである。同様に、第３セキュア領域２３へのアクセスが許可されている端末認証プログラムは、第１端末認証プログラム２７ａ、第２端末認証プログラム２７ｂ、第３端末認証プログラム２７ｃである。すなわち、第３端末認証プログラム２７ｃが電子端末３０へと出力された場合、電子端末３０は、第１セキュア領域２１および第２セキュア領域２２にはアクセスできず、第３セキュア領域２３へのアクセスが許可される。つまり、本実施形態では、より秘匿すべき要請の強いデータほど、安全な方法でデータをやりとりするものとする。
【００６７】
４  動作
次に、記録メディア１０および電子端末３０の動作について説明する。
４．１  電子端末３０の動作の概略
まず、電子端末３０の動作の概略を、図７に示す。
図示するように、電子端末３０は、動作を開始すると、起動処理を行う（Ｓ１０００）。この起動処理の詳細は、図８等を用いて詳しく説明する。
【００６８】
起動処理が完了すると、電子端末３０は、セキュア領域へのアクセスを制限しつつアプリケーションの実行などを行う（Ｓ２０００）。アクセスを制限する際の処理は図１８を用いて後述する。
４．２  記録メディア１０が挿入されない場合の起動処理
以下、まずステップＳ１０００の起動処理について詳しく説明する。
【００６９】
図８および図９は、電子端末３０が起動を開始してから起動を完了するまでの処理を示すフローチャートである。
まず電子端末３０の起動時において記録メディア１０が挿入されない場合の動作を説明する。なお、本実施形態においては、電子端末３０は、上述のようにTCGにより定められた仕様に従った動作を行う。具体的には"Integrity Measurement"やPCRを拡張（Extend）する処理を行う。
【００７０】
図８に示すように、電子端末３０は、電源が投入されることにより（Ｓ１）、起動処理を開始する。なお、システムをリブートしたときも起動処理を開始する。このとき、SM３４のPCR４１の各PCRの値は、リセットされて初期値"０"となる。
起動処理を開始した電子端末３０は、まずBIOS４３のブートブロックに記述されているCRTM（Core Root of Trust Measurement）が実行され、CRTMがBIOS４３のハッシュ値を算出する。なお、算出したBIOS４３のハッシュ値をIn（BIOS）とする。
【００７１】
CRTMは、算出したハッシュ値In（BIOS）をSM３４に出力する（Ｓ５）。
SM３４は、算出値を受け取り、  PCR1＝SHA-1（In（BIOS））  という演算によりPCRを拡張する処理を行う。拡張処理が行われた値を、複数あるPCRのうち所定のPCRに記録する。本実施形態では、BIOS４３とPCR1とが対応しているものとし、SM３４は、BIOSのハッシュ値を拡張処理した値をPCR1に記録することとする（Ｓ７）。なお、各PCRと対応しているコンポーネントについて簡単に説明すると、本実施形態では、ブートローダ４４とPCR2が対応し、第１基本ソフト４５とPCR3が対応し、第２基本ソフト４６とPCR4が対応していることとしている。なお、PCRを拡張する処理は、一般的に、  PCR（n+1）＝SHA-1（PCR（n）＋measured data）という演算により行われる。ここで、measured dataは、コンポーネントのハッシュ値を示し、PCR（n+1）は、そのハッシュ値が算出されたコンポーネントに対応するPCRを示す。また、PCR(n)は、PCR(n+1)よりも１つ前に計算されたPCR、すなわち、PCR(n+1)に対応するコンポーネントの直前に起動されたコンポーネントに対応するPCRを意味する。また、SHA-1（PCR（n）＋measured data）は、PCR（n）とmeasured dataとを連結してSHA-1によりハッシュ演算を行うことを意味する。すなわち、"＋"は連結を意味する。
【００７２】
動作の説明に戻る。
BIOS４３に対応するPCR（PCR1）に値が記録されると、BIOS４３がメモリにロードされて実行される（Ｓ９）。
BIOS４３は、実行されると、OSを起動させるためのブートローダを探索する。ここで、BIOS４３は、記録メディア入出力インタフェース３１によって記録メディア１０の挿入が検知されている場合は、記録メディア１０からブートを実行し（Ｓ１１：YES）、検知されていない場合は、電子端末３０のブートローダによりブートを実行する（Ｓ１１：NO）。なお、記録メディア１０が挿入された時の処理（Ｓ４０）は、後で詳しく説明することとし、ここでは、まず、電子端末３０のブートローダ４４によりOSを起動する場合を説明する。
【００７３】
この場合、BIOS４３に含まれるRTM（Root of Trust Measurement）コードが実行されることにより、ブートローダ４４のハッシュ値が算出される（Ｓ１３）。なお、算出されたブートローダ４４のハッシュ値をIn（BL）とする。RTMは、算出したハッシュ値In（BL）をSM３４に出力する（Ｓ１５）。SM３４は、ハッシュ値を受け取り、  PCR2＝SHA-1（PCR1＋In（BL））  という演算によりPCRを拡張する処理を行う。拡張処理が行われた値を、ブートローダ４４に対応するPCRであるPCR2に記録する（Ｓ１７）。
【００７４】
ブートローダ４４に対応するPCR（PCR2）に値が記録されると、ブートローダ４４がメモリにロードされて実行される（Ｓ１９）。
図９に基づいて説明を続ける。
ブートローダ４４が実行されると、ブートローダ４４のRTMコードが実行されることにより、第１基本ソフト４５のハッシュ値が算出される（Ｓ２１）。算出された第１基本ソフト４５のハッシュ値をIn（OS1）とすると、RTMは、算出したハッシュ値In（OS1）をSM３４に出力する（Ｓ２３）。
【００７５】
SM３４は、ハッシュ値を受け取り、  PCR3＝SHA-1（PCR2＋In（OS1））  という演算によりPCRを拡張する処理を行う。拡張処理が行われた値を、第１基本ソフト４５に対応するPCRであるPCR3に記録する（Ｓ２５）。
第１基本ソフト４５に対応するPCRであるPCR3に値が記録されると、第１基本ソフト４５がブートローダ４４によりメモリにロードされて実行される（Ｓ２７）。
【００７６】
第１基本ソフト４５が実行されると、第１基本ソフト４５のRTMコードが実行されることにより、第２基本ソフト４６のハッシュ値が算出される（Ｓ２９）。
算出された第２基本ソフト４６のハッシュ値をIn（OS2）とすると、RTMは、算出したハッシュ値In（OS2）をSM３４に出力する（Ｓ３１）。SM３４は、ハッシュ値を受け取り、  PCR4＝SHA-1（PCR3＋In（OS2））  という演算によりPCRを拡張する処理を行う。拡張処理が行われた値を、第２基本ソフト４６に対応するPCRであるPCR4に記録する（Ｓ３３）。第２基本ソフト４６に対応するPCRであるPCR4に値が記録されると、第２基本ソフト４６がメモリにロードされて実行される（Ｓ３５）。
【００７７】
４．３  記録メディア１０挿入時の電子端末３０の動作
以上が電子端末３０の、記録メディア１０が挿入されなかった場合の動作の説明であるが、ブートローダ４４が起動した後において記録メディア１０が挿入された場合の動作を簡単に説明する。図１０においてブートローダ起動済みの電子端末３０の動作として示すように、電子端末３０は、ブートローダ４４が起動した後、記録メディア入出力インタフェース３１により記録メディア１０の挿入を検知すると（Ｓ３７）、記録メディア１０が挿入された時の処理（Ｓ４０）を行う。
【００７８】
４．４  記録メディア１０挿入時の処理の詳細
続いて、図８や図１０にて示したステップＳ４０の処理の詳細を、図１１等を用いて説明する。
図１１および図１２は、記録メディア１０が電子端末３０に挿入された時の、記録メディア１０および電子端末３０の動作を示す図である。なお、概略を述べると、主に、（i）記録メディア１０が挿入された時における電子端末３０の起動状態を判定する処理と、（ii）電子端末３０の正当性を検証する処理とが記録メディア１０により行われる。また、記録メディア１０は、記録メディア１０が電子端末３０に挿入される時点に応じて異なる処理を行う。
【００７９】
図１１に示すように、記録メディア１０が挿入されたことを電子端末３０が検知すると、電子端末３０は、記録メディア１０から端末制御プログラム２６を読み出す。読み出した端末制御プログラム２６をメモリにロードすることにより端末側制御部３５を実現する（Ｓ４１）。
そして、電子端末３０の端末側制御部３５と記録メディア１０とは、電子端末３０の起動状態を判定する処理を行う（Ｓ４３、Ｓ４５）。ここで、ステップＳ４３、Ｓ４５の詳細は、図１３〜１５を用いて後述する。このステップＳ４３、Ｓ４５により、起動手順記録部１３において、起動状態の判定結果が起動状態フラグとして記憶される。
【００８０】
また、端末側制御部３５（電子端末３０において実行されている端末制御プログラム２６）は、起動状態の判定結果に基づいて、第１基本ソフト４５や第２基本ソフト４６などのハッシュ値の算出方法を制御する（Ｓ４７）。ここで、ステップＳ４７の詳細は、図１５〜図１７を用いて後述する。
第２基本ソフト４６が起動すると（上述のステップＳ３５）、端末側制御部３５は、第２基本ソフト４６に対応するPCR（PCR4）の値を認証子として記録メディア１０に出力する（Ｓ４９）。なお、ステップＳ４７の詳細な説明で後述するが、ステップＳ４３において電子端末３０の起動状態が"起動途中""起動済み"と判定された場合は、ステップＳ４７において、電子端末３０は、ステップＳ４１でロードした端末制御プログラム２６のハッシュ値を所定の記憶領域に記憶しておくこととしている。そして、上記のように"起動途中""起動済み"と判定された場合、ステップＳ４９において、電子端末３０は、上述の認証子に加えて、端末制御プログラム２６のハッシュ値も記録メディア１０に出力する。なお、このハッシュ値は、後述するステップＳ５１における正当性の検証処理において、端末制御プログラム２６の正当性の検証のために用いられる。なお、ステップＳ４３およびＳ４５において"起動済み"と判定された場合は、ステップＳ４３およびＳ４５において起動状態の判定のために送られたPCR4の値をそのまま認証子として用いることができるので、ステップＳ４９においてはPCR4の値を送る必要は無い。
【００８１】
図１２に基づいて説明を続ける。
記録メディア１０は、電子端末３０から送られた認証子を受け取ると、端末判定部１６によって電子端末３０の正当性を判定する（Ｓ５１）。なお、起動状態が"起動途中"または"起動済み"と判定される場合は、電子端末３０から、端末制御プログラム２６のハッシュ値も出力されるので、このハッシュ値を用いて、端末制御プログラム２６が正当であるかの判定も行う。より具体的には、記録メディア１０は、各端末制御プログラムのハッシュ値を予め記録しており、電子端末３０から受け取ったハッシュ値が、記録しているハッシュ値と等しいものであるか否かを確認することで判定を行う。
【００８２】
電子端末３０が正当でないと判定されると（Ｓ５３：NO）、電子端末３０が不正な機器であるので、セキュア領域へのアクセスを禁止する設定をアクセス制御部１９において記憶する（Ｓ５５）。なお、端末制御プログラム２６が正当でないと判定された場合も、同様にセキュア領域へのアクセスを禁止する設定をアクセス制御部１９において記憶する（Ｓ５５）。
【００８３】
ステップＳ５１において、（端末制御プログラム２６の正当性が判定された場合は、端末制御プログラム２６が正当と判定され、かつ、）電子端末３０が正当であると判定されれば（Ｓ５３：YES）、端末判定部１６は、ステップＳ４３において起動手順記録部１３に記憶された起動状態フラグの数値を参照して、端末状態判定部１２が"起動時""起動途中""起動済み"のいずれと判定したかの情報を取得する。端末状態判定部１２の判定結果に対応するセキュリティ強度を、アクセス設定テーブル５１を参照して取得する。例えば、判定結果が"起動時"であれば、セキュリティ強度は"高"である。取得したセキュリティ強度に対応する端末認証プログラムとメディア側認証部を、プログラム送信設定テーブル５２を参照して指定する。例えば、セキュリティ強度が"高"であれば、端末判定部１６は、第１端末認証プログラム２７ａと、第１メディア側認証部１８ａとを指定する。
【００８４】
記録メディア１０の実行部１５は、端末判定部１６によって指定された端末認証プログラム（例えば、ステップＳ４３における端末状態判定部１２の判定結果が"起動時"であれば第１端末認証プログラム２７ａ）を電子端末３０に出力する（Ｓ５７）。
電子端末３０は、記録メディア１０から出力される端末認証プログラムを受信して端末側認証部３６を実現する（Ｓ５９）。端末側認証部３６は、記録メディア１０のメディア側認証部との間でセッション鍵を共有するなど、セキュア領域のデータを安全にやりとりするための所定の処理を行う（Ｓ６１）。
【００８５】
また、記録メディア１０の実行部１５は、いずれの端末認証プログラムを電子端末３０に出力したかを、アクセス制御部１９に記憶させる（Ｓ６３）。
そして、実行部１５は、端末判定部１６により指定されたメディア側認証部を起動させて、電子端末３０の端末側認証部３６との間でステップＳ６１で述べた所定の処理を行う（Ｓ６５）。
【００８６】
４．５  起動状態の判定処理
ここで、ステップＳ４３、Ｓ４５の処理の詳細、すなわち電子端末３０の起動状態の判定処理について詳しく説明する。
図１３は、電子端末３０の動作、および、端末状態判定部１２による電子端末３０の起動状態の判定処理を示すフローチャートである。なお、図８〜９で示したように、電子端末３０は、起動とともに各PCRに値を記録している。この点に着目し、本実施形態では、端末状態判定部１２は、記録メディア１０の挿入時において、BIOS４３等と対応している所定のPCRに値が記録されているか否か、すなわち、PCRの値が初期値"０"でないか否かに基づいて、電子端末３０の起動状態を判定している。なお、PCRの値が初期値"０"でないことを、「PCRに値がある」といい、PCRの値が初期値"０"であることを、「PCRに値がない」という。
【００８７】
以下、具体的に説明すると、電子端末３０の端末側制御部３５は、電子端末３０の起動処理時に起動される各プログラムと対応しているPCRのうち少なくとも１つの値を記録メディア１０に出力する（Ｓ６７）。ここで、どのPCRの値を電子端末３０が記録メディア１０に出力すべきかを簡単に説明する。図１５は、起動処理時に起動される各プログラムと対応しているPCRを示す図である。端末状態判定部１２は、PCR4に値があれば、第２基本ソフト４６が起動していると判定できる。また、端末状態判定部１２は、PCR4に値が無く、PCR3に値があれば、第２基本ソフト４６が起動しておらず、第１基本ソフト４５が起動していると判定できる。また、PCR3に値が無く、PCR2に値があれば、第１基本ソフト４５が起動しておらず、ブートローダ４４が起動していると判定できる。また、端末状態判定部１２は、PCR2に値が無ければ、ブートローダ４４が起動していないと判定できる。そこで、本実施形態では、各PCRのうち、ブートローダ４４と対応しているPCR2と、第１基本ソフト４５と対応しているPCR3と、第２基本ソフト４６と対応しているPCR4とを電子端末３０から記録メディア１０に出力する。この３つを出力すれば、端末状態判定部１２において、"起動時""起動途中""起動済み"の３つの状態の判定が可能となるからである。
【００８８】
なお、本実施形態では、PCR2とPCR3とPCR4の３つを電子端末３０から記録メディア１０に出力することとしているが、これに限らず、いずれか１つのPCRの値を出力することとしてもよい。例えば、PCR4の値を出力すれば、記録メディア１０は、"起動済み"の状態であるかそうでないかを判定することができる。つまり、このような２種の判定結果に基づいて、セキュア領域のアクセス制限をしてもよい。
【００８９】
起動状態の判定処理の説明に戻る。
ステップＳ６７により電子端末３０から所定のPCRの値（本実施形態ではPCR2とPCR3とPCR4）が記録メディア１０に出力されると、記録メディア１０は、端末状態判定部１２により、各PCRの値に応じて電子端末３０の起動状態を判定する（Ｓ６９）。
ここで、ステップＳ６９の詳細を説明する。
【００９０】
図１４は、起動状態の判定処理の詳細を示すフローチャートである。
記録メディア１０の端末状態判定部１２は、ステップＳ６７において電子端末３０から出力されたPCR（PCR4とPCR3とPCR2）の値を取得する（Ｓ７３）。
そして、PCR4に値があるか否か、つまりPCR4が"０"でないか否かを判断する（Ｓ７５）。
【００９１】
PCR4に値があると判断すると（Ｓ７５：YES）、第２基本ソフト４６が起動していることになるので、端末状態判定部１２は、"起動済み"と判定し、起動手順記録部１３の起動状態フラグを、"起動済み"を示すものにする（Ｓ７９）。本実施形態では起動状態フラグに"３"をセットする。
ステップＳ７５において、PCR4に値がないと判断すると（Ｓ７５：NO）、端末状態判定部１２は、PCR3に値があるか否かを判断する（Ｓ７７）。
【００９２】
PCR3に値があると判断すると（Ｓ７７：YES）、第２基本ソフト４６が起動しておらず第１基本ソフト４５が起動していることになるので、端末状態判定部１２は、"起動途中"と判定し、起動手順記録部１３の起動状態フラグを、"起動途中"を示すものにする（Ｓ８１）。本実施形態では起動状態フラグに"２"をセットする。
ステップＳ７７において、PCR3に値がないと判断すると（Ｓ７７：NO）、端末状態判定部１２は、PCR2に値があるか否かを判断する（Ｓ７８）。
ステップＳ７８において、PCR2に値があると判断すると（Ｓ７８：YES）、端末状態判定部１２は、"起動途中"と判定し、起動手順記録部１３の起動状態フラグを、"起動途中"を示すものにする（Ｓ８１）。本実施形態では起動状態フラグに"２"をセットする。
【００９３】
また、ステップＳ７８において、PCR2に値がないと判断すると（Ｓ７８：NO）、端末状態判定部１２は、"起動時"と判定し、起動手順記録部１３の起動状態フラグを、"起動時"を示すものにする（Ｓ８３）。本実施形態では起動状態フラグに"１"をセットする。
ステップＳ４３、Ｓ４５の処理の詳細は以上である。
４．６  端末制御プログラム２６の処理の詳細
次に、ステップＳ４７の処理の詳細を説明する。
【００９４】
図１６および図１７は、起動状態の判定処理を終えた後、電子端末３０によって実行された端末制御プログラム２６が、ハッシュ値の算出対象を制御する処理を示すフローチャートである。要するに、以降の処理では、端末制御プログラム２６は、電子端末３０の起動処理にかかる各プログラムのうち、未起動の部分のハッシュ値の算出を、電子端末３０の各プログラムに代わって行う。例えば、起動時に記録メディア１０が挿入されていれば（すなわち第１基本ソフト４５が立ち上がっていない状態であれば）、端末制御プログラム２６は、ブートローダ４４に代わって第１基本ソフト４５のハッシュ値を算出する。
【００９５】
以下、説明すると、図１６に示すように、電子端末３０によって実行された端末制御プログラム２６（ハッシュ演算部４７を備える端末側制御部３５）は、まず、自身のハッシュ値を算出する（Ｓ８５）。このハッシュ値は、端末制御プログラム２６自身の正当性の検証に使われる場合がある。なお、端末制御プログラム２６は、上述のようにHMACアルゴリズムを用いてハッシュ値を算出する。
【００９６】
端末制御プログラム２６は、記録メディア１０から、起動手順記録部１３に記憶されている起動状態フラグを取得する（Ｓ８７）。
ステップＳ８７において端末制御プログラム２６が取得した起動状態フラグが、
（i）"起動時"を示すものであれば（Ｓ８９：起動時）、端末制御プログラム２６は、ステップＳ８５において算出した自身のハッシュ値をSM３４に出力する（Ｓ９１）。つまり、起動状態フラグが"起動時"ということは、電子端末３０においてはBIOS４３が起動していてブートローダ４４が起動していないということである。そのため、端末制御プログラム２６がブートローダ４４に代わって第１基本ソフト４５の起動を行うこととなる。そこで、ブートローダ４４のハッシュ値に代えて、端末制御プログラム２６のハッシュ値をSM３４に送る。なお、SM３４では、図１５に示すように、端末制御プログラム２６のハッシュ値を受け付けて、このハッシュ値をIn（BL）として、PCR2＝SHA-1（PCR1＋In（BL））  という演算によりPCRを拡張する処理を行う。拡張処理が行われた値を、ブートローダ４４に対応するPCRであるPCR2に記録する（Ｓ９３）。
【００９７】
PCR2に値が記録されると、端末制御プログラム２６は、第１基本ソフト４５のハッシュ値を算出する（Ｓ９５）。算出したハッシュ値を、SM３４に出力する（Ｓ９７）。算出したハッシュ値をIn（OS1）とすると、SM３４は、ハッシュ値を受け取り、  PCR3＝SHA-1（PCR2＋In（OS1））  という演算によりPCRを拡張する処理を行う。拡張処理が行われた値を、第１基本ソフト４５に対応するPCRであるPCR3に記録する（Ｓ９９）。この処理は、第１基本ソフト４５のハッシュ値の算出主体が異なる点以外は、ステップＳ２５と同様である。
【００９８】
その後、第１基本ソフトのロードおよび実行がなされる（Ｓ１０１）などの処理が行われるが、ステップＳ１０１はステップＳ２７と同一の処理であり、以下同様に、ステップＳ１０３から図１７のＳ１０５、Ｓ１０７、Ｓ１０９までの処理は、図９のステップＳ２９、Ｓ３１、Ｓ３３、Ｓ３５の処理と同一であるため説明を省略する。
また、ステップＳ８７において端末制御プログラム２６が取得した起動状態フラグが、（ii）"起動途中"を示すものであれば（Ｓ８９：起動途中）、端末制御プログラム２６は、ステップＳ８５において算出した自身のハッシュ値をSM３４の所定のPCRに記憶させる。なお、このハッシュ値は、上述のように、ステップＳ５１の処理において、端末制御プログラム２６自身が正当であるかの判定に用いられる。
【００９９】
"起動途中"ということは第１基本ソフト４５が起動していて第２基本ソフト４６が起動していない。そこで、端末制御プログラム２６は、第１基本ソフト４５に代わって第２基本ソフト４６のハッシュ値を算出する（Ｓ１１３）。以降、ステップＳ１０５、Ｓ１０７、Ｓ１０９の処理を行う。補足すると、この（ii）の場合、ステップＳ１０５において、算出した第２基本ソフト４６のハッシュ値をSM３４に出力する主体は、端末制御プログラム２６である。
【０１００】
また、ステップＳ８７において端末制御プログラム２６が取得した起動状態フラグが、（iii）"起動済み"を示すものであれば（Ｓ８９：起動済み）、ステップＳ１１１と同様に、端末制御プログラム２６は、自身のハッシュ値を所定のPCRに記憶させる（Ｓ１１５）。
なお、ステップＳ１１１やＳ１１５において、端末制御プログラム２６のハッシュ値を所定のPCRに記憶させることとしているが、これは一例であり、記憶させる領域はPCRに限らず、他の領域、例えばPCR以外の電子端末３０内のメモリに記憶することとしてもよい。
【０１０１】
なお、上述の処理において、端末制御プログラム２６は、電子端末３０の第１基本ソフト４５等に代わってハッシュ値の算出を行うこととしているが、これは、記録メディア１０の側にとっては、自メディアに記録されているプログラムの方がプログラムの出所が明らかである場合が多いため、電子端末３０内のプログラムよりも信頼性が高いと考えられるからである。
【０１０２】
このようにして、記録メディア１０は、電子端末３０の起動処理とともに電子端末３０の正当性の検証を行う。
４．７  アクセス制限にかかる処理
続いて、起動処理が完了した後の電子端末３０の動作（Ｓ２０００）を説明する。なお、メモリ領域に対してアクセス制限を実施する方法は様々なものがあるため、ここでは一例を説明することとする。
【０１０３】
図１８は、アクセス制御部１９によるアクセス制御処理を示すフローチャートである。なお、アクセス制御部１９は、アクセス制御テーブル５３を記憶している。また、ステップＳ５５においてアクセスを禁止する設定を記憶しているか、ステップＳ６３において、記録メディア１０から電子端末３０に出力された端末認証プログラムがいずれであるかを記憶している。
【０１０４】
図１８に示すように、アクセス制御部１９は、電子端末３０からセキュア領域へのアクセス要求を検知すると（Ｓ１１７）、ステップＳ５５によりアクセス禁止の設定が記憶されたか否かを判断する（Ｓ１１９）。
アクセス禁止であれば（Ｓ１１９：YES）、電子端末３０からセキュア領域へのアクセスを拒否する（Ｓ１２７）。
【０１０５】
アクセス禁止でなければ（Ｓ１１９：NO）、アクセス制御部１９は、アクセス制御テーブル５３を参照し、電子端末３０がアクセスを要求しているアクセス対象のセキュア領域と対応づけられている、アクセス許可対象の端末認証プログラムを確認する。そして、ステップＳ６３において記憶した端末認証プログラムが、アクセス許可対象に含まれているか判断する（Ｓ１２１）。例えば、図面の例では、電子端末３０からのアクセス対象となっているセキュア領域が第１セキュア領域２１である場合、ステップＳ６３において記憶した端末認証プログラムが、第１端末認証プログラム２７ａであるか判断する。
【０１０６】
判断の結果が肯定的であれば（Ｓ１２３：YES）、アクセス制御部１９は、電子端末３０によるアクセスを許可し、端末側認証部３６およびメディア側認証部によって生成されたセッション鍵を用いて、セキュア領域内のデータを暗号化して電子端末３０へ出力する（Ｓ１２５）。
また、ステップＳ１２１の判断の結果が否定的であれば（Ｓ１２３：NO）、電子端末３０からのアクセスを拒否する（Ｓ１２７）。
【０１０７】
４．８  アクセス設定
ここで、アクセス設定記録部１４の説明において、セキュア領域へのアクセスの可否をユーザがカスタマイズできることとしていると説明したが、そのカスタマイズによってアクセス設定テーブル５１を更新する方法について説明する。
電子端末３０のユーザは、記録メディア１０を電子端末３０に挿入し、プログラム保存領域２４に記憶されたアクセス設定プログラムを電子端末３０で実行する。ユーザは、アクセス設定プログラムを通じて、アクセス設定テーブル５１を更新する。具体的には、アクセス設定テーブル５１の、"メディア挿入時の起動状態"に対応づけられている"セキュリティ強度"および"アクセス可能なセキュア領域"を、ユーザは更新する。例えば、図４では、起動状態が"起動途中"であれば、第２セキュア領域２２と第３セキュア領域２３とにアクセス可能としているが、ユーザの設定変更により、"アクセス可能なセキュア領域"を第２セキュア領域２２のみにする、などとすることができる。
【０１０８】
また、ユーザは、アクセス設定プログラムを通じて、"セキュリティ強度"を更新することもできる。例えば、起動状態が"起動時"であれば、電子端末３０の正当性の検証の信頼性が高いとして、セキュリティ強度を"低"とし、簡易な認証方法で第１セキュア領域２１のデータをやりとりすることが考えられるし、また、起動状態が"起動済み"であれば、電子端末３０と記録メディア１０との間で安全にデータをやりとりするために、セキュリティ強度を"高"とすることが考えられる。また、複数の起動状態について、同一のセキュリティ強度としてもよい。例えば、いかなる起動状態においてもセキュリティ強度を"高"としてもよい。
【０１０９】
なお、アクセス設定テーブル５１の更新は、安全な環境で行うことが望ましいので、電子端末３０の電源投入時から記録メディア１０が挿入されていること、つまりステップＳ１１においてYESと判定されることを、アクセス設定プログラムを実行するための要件としてもよい。また、より安全な環境で更新するために、アクセス設定プログラムの起動時にも、ステップＳ４９等の処理により電子端末３０の正当性を検証し、電子端末３０が正当である場合にのみアクセス設定プログラムの実行を許可することとしてもよい。
【０１１０】
なお、上記実施の形態では、アクセス設定テーブル５１はユーザによってカスタマイズすることが可能であるとしているが、工場出荷時等に固定的に設定されるとしてもよい。
（まとめ）
本発明によれば、従来のPC等に備わっている、外部機器からのブート機能や記録媒体挿入時の自動実行機能さえあれば、これら機能によって記録メディア１０から端末制御プログラム２６等を起動させることができ、起動状態の判定等を行うことができる。つまり、本発明は、特殊なクライアント装置を用意しなくとも実現することができる。
＜変形例＞
以下、本発明の変形例について述べる。
（１）電子端末３０の正当性を検証する主体
（１−１）外部の装置による検証
上述の「４．４  記録メディア１０挿入時の処理の詳細」において説明したように、上記実施形態では、記録メディア１０が電子端末３０に挿入されると、主に、（i）記録メディア１０が挿入された時における電子端末３０の起動状態を判定する処理と、（ii）電子端末３０の正当性を検証する処理とが記録メディア１０により行われる。ここで、（ii）電子端末３０の正当性を検証する処理について変形例を述べる。
【０１１１】
上述の実施形態の説明では、図１２においてステップＳ５１として示したように、記録メディア１０の端末判定部１６が、電子端末３０が正当であるか否かの判定を行うものとしている。これに限らず、電子端末３０の正当性を検証する検証者は、記録メディア１０以外のもの、例えばサーバ１であってもよい。この場合、電子端末３０は、ステップＳ４９において、SM３４により生成された認証子を、記録メディア１０に代えて、サーバ１にネットワーク等を介して出力する。そして、サーバ１が認証を行い（ステップＳ５１に相当する処理）、正当性があるか否かを示す情報を、電子端末３０を介して記録メディア１０へ出力する。
【０１１２】
なお、（ii）電子端末３０の正当性を検証する処理のみならず、（i）記録メディア１０が挿入された時における電子端末３０の起動状態を判定する処理もまた、サーバ１などの外部の装置によって行うこととしてもよい。要するに、サーバ１に、起動状態判定部１２と起動手順記録部１３が備わっており、サーバ１が電子端末３０の起動状態を判定した後、判定結果がサーバ１から記録メディア１０へと通知されるということである。具体的には、上記実施の形態の説明において図１１のステップＳ４３、Ｓ４５や図１３に示した処理に代えて、電子端末３０や記録メディア１０やサーバ１が、図１９に示す処理を行う。
【０１１３】
図１９は、電子端末３０の起動状態を判定する処理を外部の装置によって行う場合のフローチャートである。図１９の例では、外部の装置とは、サーバ１であることとしている。
図１９に示される処理と図１３に示される処理との相違点は、要するに、起動状態の判定のために電子端末３０から出力される各PCRの値の出力先がサーバ１になり、サーバ１において起動状態の判定が行われ、その判定結果がサーバ１から電子端末３０を介して記録メディア１０へと通知される点である。
【０１１４】
以下、図１１のステップＳ４１の処理が行われた後の処理を、具体的に図１９を用いて説明すると、ステップＳ４１において実現された電子端末３０の端末側制御部３５は、電子端末３０の起動処理時に起動される各プログラムと対応しているPCRのうち少なくとも１つの値を、ネットワーク２を介してサーバ１に出力する（Ｓ６７−１）。なお、上記ステップＳ６７との相違点は、PCRの値の出力先が、記録メディア１０からサーバ１へと変わったことである。どのPCRの値を出力すべきかは、既にステップＳ６７の説明で述べたのでここでは省略する。
【０１１５】
以降の処理の説明を続けると、サーバ１は、ステップＳ６７−１により電子端末３０から所定のPCRの値が出力されると、図１４に示したのと同様の処理により、各PCRの値に応じて電子端末３０の起動状態を判定する（Ｓ６８）。なお、この判定処理の詳細は、図１４に示した処理の「記録メディア１０」を「サーバ１」に置き換えたものと同一であるので説明を省略する。
【０１１６】
ステップＳ６８により、起動状態の判定結果がサーバ１において起動状態フラグとして保持されると、サーバ１は、判定結果、すなわち起動状態フラグを電子端末３０へとネットワーク２を介して通知する（Ｓ７０）。
電子端末３０は、サーバ１から通知される起動状態フラグを受信して記録メディア１０へ通知する（Ｓ７１）。
【０１１７】
記録メディア１０は、電子端末３０から起動状態フラグを受信すると、受信した起動状態フラグを、記録メディア１０の起動手順記録部１３において保持する。
このようにして、（i）記録メディア１０が挿入された時における電子端末３０の起動状態を判定する処理を、サーバ１などの外部の装置によって実行することができる。
なお、上記のように、ネットワークを介して接続される外部の装置によって（i）電子端末３０の起動状態を判定する処理や（ii）電子端末３０の正当性を検証する処理などを行う場合、ネットワークが安全とは限らないので、起動状態の判定結果や電子端末３０の正当性の検証結果などの情報が、外部の装置から記録メディア１０へと通知される際に不正者により改ざん等される可能性がある。そのため、外部の装置から記録メディア１０へと通知されるこれらの情報に、改ざんを検出するための処理を行うとよい。改ざんを検出するための処理は様々なものがある。例えば、これら通知される情報に、当該通知を行う外部の装置の秘密鍵で作成した電子署名を付し、記録メディア１０が、当該外部の装置の公開鍵で検証する等するとよい。
【０１１８】
（１−２）電子端末３０へと供給されるプログラムによる検証
また、例えば、正当な認証子に関する情報（具体的には、端末判定部１６が保持している認証子のそれぞれ）を、端末制御プログラム２６などの、記録メディア１０から電子端末３０へと供給するプログラムに含めておき、電子端末３０にて実行されたこのプログラム（検証機能付きプログラム）が、端末判定部１６によらず、電子端末３０内で、自プログラムが保持している認証子に基づいてステップＳ５１に相当する処理を行うとしてもよい。この場合、電子端末３０内で認証子の改ざんが行われることを防ぐために、この検証機能付きプログラムを保護する必要があるが、記録メディア１０の側に、電子端末３０の正当性を検証するための構成を備える必要が無くなる。そのため、さまざまな記録メディアで本発明を適用することができるようになる。
（２）ブート方法の提示
上述の実施形態の動作に加えて、例えば、記録メディア１０を電子端末３０に挿入した時に、電子端末３０が、複数の起動方法の選択肢をモニタ等に表示して、ユーザに起動方法を選択させるようにしてもよい。起動方法の選択肢とは、例えば、
（i）フルセキュアブート：再起動して電源投入時から記録メディア１０が挿入されていた場合の処理を実行
（ii）セキュアブート：挿入時に判定された起動状態に応じた処理を実行
（iii）ノーマルブート：認証処理を行わない処理を実行
などがある。ここで、（i）のフルセキュアブートを実行すると、電子端末３０の再起動が行われる。その後、図８のステップＳ１１においてYESと判定され、起動状態フラグに"起動時"と設定されるので、この"起動時"に対応したセキュア領域にアクセスできることとなる。（ii）のセキュアブートを実行すると、起動状態に応じた範囲でセキュア領域にアクセスできることとなる。（iii）のノーマルブートを実行すると、電子端末３０は、少なくとも、認証処理の実行を禁止する。これにより、ステップＳ４９等の認証処理を行わず、したがってセキュア領域のデータをやりとりするためのセッション鍵の生成等の処理も行わないので、セキュア領域のデータにはアクセスできないこととなる。また、セキュア領域へのアクセスができないこととするので、起動状態を判定する必要もなくなるため、ステップＳ４３やＳ４５の処理も行わないこととしてもよい。また、端末制御プログラム２６をロードする必要もないのであれば、ステップＳ４１の処理を行う必要もない。
【０１１９】
このように起動方法の選択肢を提示しておくと、例えば、記録メディア１０の通常領域２５のデータにアクセスしたい場合は、ユーザは（iii）のノーマルブートを選択すればよい。こうすると、（i）フルセキュアブートや（ii）セキュアブートに比べて、認証処理を伴わない分、記録メディア１０の通常領域２５のデータに直ちにアクセスできるので、記録メディア１０の利便性が高まる。
【０１２０】
また、同様に、電子端末３０の電源投入直後に、ユーザに（i）フルセキュアブートを実行するか、（iii）ノーマルブートを実行するかの選択肢をモニタ等に表示してユーザに選択させることとしてもよい。これは、BIOSがブートローダを起動させる前に、選択肢を表示することで実現できる。（i）フルセキュアブートの場合は、上述のように認証処理を伴うので（iii）ノーマルブートに比べて電子端末３０の起動に時間を要する場合が多いので、このように選択肢を提示することで、この場合も、記録メディア１０の利便性が高まる。なお、この動作は、記録メディア１０が電子端末３０の電源投入前に挿入されているときのみ発生するとしてもよいし、記録メディア１０が挿入されていない状態でも発生するとしてもよい。ただし、フルセキュアブートは記録メディア１０が挿入された状態でなくては行えないので、記録メディア１０が挿入されていない状態でフルセキュアブートが選択された場合は、記録メディア１０の挿入をユーザに促す警告画面等を表示することが望ましい。
（３）端末認証プログラムとメディア側認証部との組の数
上記の説明では、端末認証プログラムとメディア側認証部との組は３つであるとしたが、これは、端末状態判定部１２が"起動時""起動途中""起動済み"の３つの状態を判定することに対応し、各状態に応じてそれぞれ異なるセキュリティ強度の認証の方法を提供することを目的としたからである。
【０１２１】
したがって、端末認証プログラム等を複数設ける必要は無く、この他に、例えば、全てのセキュリティ強度に共通する方法で（つまり、セキュリティ強度という概念を無くして）データのやりとりをしてもよい。この場合は、記録メディア１０によらず、端末側認証部３６の動作が決定されるので、電子端末３０の内部に、予め端末側認証部３６を実装しておくことが容易となる。
（４）起動状態の分類
上述の説明では、特に、端末状態判定部１２の説明において、起動状態とは"起動時""起動途中""起動済み"の３つであるとしたが、起動状態の分類は、上記３つに限られない。例えば、実際には記録メディア１０は、電子端末３０の電源投入時から挿入されているか、電子端末３０がOSの起動を完了した後から挿入される場合が多い（つまりOSの起動中に挿入されることが比較的少ない）可能性を考慮して、"起動途中"の場合を判定しないこととしてもよい。この場合、"起動時""起動済み"の２つの状態を端末状態判定部１２は判定することになる。
【０１２２】
また、OSの起動の段階をさらに複数に細かく分類して、端末状態判定部１２はさらに多くの起動状態を判定することとしてもよい。なお、この場合において各状態に応じてそれぞれ異なるセキュリティ強度を提供するには、各状態に対応して、端末側認証プログラムおよびメディア側認証部の組を設けることとなる。
なお、"起動途中"となる場合の例としては、第１基本ソフト４５をメモリにいったんロードして休眠状態にあるときに記録メディア１０を挿入し、第２基本ソフト４６のロードから起動を再開する場合などが考えられる。電子端末３０の高速起動が必要である場合に、このような手法がとられる。
【０１２３】
また、他の起動状態の例としては、例えば、スタンバイ状態（メモリ上に中断前の情報を記録した上で省電力モードに移行し、後から復帰できるようにする処理）からの起動や、休止状態（ハードディスク等に中断前の情報を記録して電源を切り、後から復帰できるようにする処理）からの起動等の起動状態等が考えられる。
（５）セキュア領域
また、セキュア領域を第１セキュア領域２１、第２セキュア領域２２、第３セキュア領域２３の３つの領域からなるとしたが、３つに限られず、１つでも良いし、さらに多くの領域に分けてもよい。
【０１２４】
また、第１セキュア領域２１、第２セキュア領域２２、第３セキュア領域２３は、それぞれ別々のハードウェアとして実装してもよい。この場合は、第１セキュア領域等を別々のハードウェア的手法で保護することにより、例えば第１セキュア領域のデータの保護が破られても、他の領域を安全にすることができる。
また、第１セキュア領域２１、第２セキュア領域２２、第３セキュア領域２３は、１つのハードウェアとして実現されたセキュア領域をアドレス範囲ごとに使い分けることで実現されるとしてもよい。この場合、各領域に割り当てるアドレス範囲を変更することで、各領域の大きさを柔軟に変更することができる。したがって、保護の必要なデータが多い場合にはセキュリティ強度"高"用の領域を広くしたり、"起動時"にアクセスできる領域を広くしたりすることができる。逆に保護の必要なデータが少ない場合にはセキュリティ強度"低"用の領域を広く設定したりすること等ができる。
【０１２５】
また、第３セキュア領域２３など、セキュリティ強度が"低"の場合でもアクセス許可が与えられる領域については、端末認証プログラム等を用いた安全な通信を行わず、そのままデータをやりとりしてもよい。
また、上記実施形態では、セキュア領域へのアクセスを制限するためにアクセス制御部１９を備えることとしていたが、これ以外に、メモリ領域に対してアクセス制限を実施する方法は、以下のものがある。例えば、セキュア領域に対するアクセス制限を行う機能をプログラムとして実装し、電子端末３０の側でこのプログラムを実行することでアクセス制限を行うとしてもよい。つまり、アクセス制限を行う主体が、記録メディア１０から電子端末３０へと移る。この場合、このプログラムは、記録メディア１０内のアクセス制御テーブル５３等を参照しながらアクセス制限を行う。なお、この場合も、記録メディア１０から一部の機能、つまりアクセス制御部１９の機能を省けるようになる。
（６）認証子の算出主体
上記の実施形態では、SM３４が、電子端末３０から記録メディア１０に送るための認証子を算出することとしていたが、認証子の算出主体は、他のものであってもよい。例えば、記録メディア１０から電子端末３０へと供給されるプログラムが、代わりに認証子を算出することとしてもよい。この場合、電子端末３０の側に、認証子を算出するための特別な構成、例えばハードウェア構成が不要となるので、本発明を実施することが容易となる。
（７）正当性の検証の方法
上記の実施形態では、電子端末３０がTCGにより定められた仕様に適合するものとし、PCRの拡張処理が行われた値を用いて電子端末３０の正当性を検証することとしていたが、電子端末３０の正当性の検証方法は、これに限らない。例えば、電子端末３０の起動処理に伴って段階的に起動される複数の構成要素（例えばプログラム）のハッシュ値を、所定の認証子と比較することで電子端末３０の正当性を検証してもよい。例えば、電子端末３０のOS（第１基本ソフト４５や第２基本ソフト４６）のハッシュ値を算出して、このハッシュ値を、OSが正当である場合のハッシュ値と比較する等により正当性を検証することとしてもよい。
【０１２６】
また、上記の実施形態では、PCRの拡張処理を行って、ブートローダ４４や第１基本ソフト４５や第２基本ソフト４６など、起動処理にかかるプログラムの全てを用いてSM３４において認証子を生成するとしたが、これら全てを用いる必要はなく、一部を省いてもよい。
また、正当性を確認することができる方法であれば、認証子の比較以外の方法によって正当性を検証してもよい。
（８）起動状態の判定を行う主体
上記実施形態では、記録メディア１０の端末状態判定部１２が、電子端末３０から出力される所定の情報（実施例では所定のPCRの値）に基づいて、電子端末３０の起動状態を判定することとしていたが、起動状態を判定する主体は、記録メディア１０の側に限られない。例えば、電子端末３０や、外部の機器であってもよい。例えば、起動状態を判定する機能を、記録メディア１０から電子端末３０へと供給するプログラム（例えば端末制御プログラム２６）に含めておき、電子端末３０内で、電子端末３０の起動状態を判定するステップＳ６９等の処理を行うこととしてもよい。
（９）起動処理の内容
上記実施形態では、記録メディア１０が電子端末３０の起動開始直後から挿入されていた場合、端末制御プログラム２６によって第１基本ソフト４５が起動され、その後、電子端末３０内の第１基本ソフト４５や第２基本ソフト４６に処理が引き継がれるが、起動されるOSは、電子端末３０が保持している場合に限られない。
【０１２７】
例えば、記録メディア１０の側に、電子端末３０のOSの機能を発揮するプログラムを保持しておき、BIOS４３によって電子端末３０に読み出された端末制御プログラム２６が、このOSの機能を発揮するプログラムを記録メディア１０から電子端末３０へと読み出して起動させることとしてもよい。例えば、端末制御プログラム２６自身に、このOSの機能を発揮するコードを含めておいてもよい。
【０１２８】
こうすると、電子端末３０は、記録メディア１０が保持しているプログラムのみによって動作することになるので、電子端末３０の第１基本ソフト４５等に対する改ざんの有無にかかわらず、保護すべきデータがセキュア領域から奪われるのを防ぐことができる。
（１０）記録デバイス
上記実施形態では、本発明の記録デバイスについて、特に、可搬型の記録メディアの例を取り上げて説明したが、例えばHDD（Hard Disk Drive）などの磁気ディスクやフラッシュメモリなどであってもよい。USB（Universal Serial Bus）等のデータ伝送規格に対応した外付けのHDDなどが広く流通している。また、記録デバイスは、電子端末３０内に含まれる構成であってもよい。
【０１２９】
また、上記の説明では、記録デバイスは、電子端末３０に挿入される記録メディア１０の例で説明したが、必ずしも記録デバイスと電子端末３０とが接触してデータの通信を行う方式である必要ではない。例えばCPUやコプロセッサなどを組み込んだ非接触型ICカード（non-contact type IC card）のように、無線信号によってデータのやりとりを行うタイプの記録デバイスであってもよい。
【０１３０】
また、上記の他に、記録デバイスは、LAN（Local Area Network）やインターネットなどのネットワークを介して電子端末３０と接続し、電子端末３０をネットワークブートさせることができるものであってもよい。
例えば、上記記録メディア１０の構成をサーバ１が備えており、電子端末３０がサーバ１と接続した時の電子端末３０の起動状況に応じて、サーバ１のセキュア領域のうちアクセスできる範囲が変わることとするとよい。
【０１３１】
電子端末３０がネットワークブートに対応していれば、容易に本発明を実現することができる。
ここで、この記録デバイスの具体的な動作について簡単に説明する。
図２０は、ネットワークブートに対応した電子端末３０の起動時の処理を示すフローチャートである。なお、図２０は、図８に示した処理とほぼ同一である。この変形例において、電子端末３０は、図８のステップＳ１１に代えて、ステップＳ１１−１の処理を行う。
【０１３２】
詳細を説明する。ステップＳ９によってBIOS４３が電子端末３０のメモリにロードされて実行されると、BIOS４３は、ネットワークブートを実行するか判断する（Ｓ１１−１）。具体的には、BIOS４３は、ネットワークブートに対応したサーバを探索し、探索に成功すると、ネットワークブートを実行する（Ｓ１１−１：YES）。また、ネットワークブートに対応したサーバを探索したが、電子端末３０がネットワークに接続していない、あるいはネットワークに接続していてもネットワークブートに対応しているサーバを探索できなかった場合のように、探索に失敗した場合、BIOS４３は、ネットワークブートを実行せず、電子端末３０のブートローダによりブートを実行する（Ｓ１１−１：NO）。
【０１３３】
なお、BIOS４３は、ネットワークブートに対応したサーバの探索に成功した場合（Ｓ１１−１：YES）は、サーバと接続し、図示するようにサーバとの接続時の処理（ステップＳ４０−１）を行う。その他の処理については、図８と同一であるので、図８と同一の参照符号を付して説明を省略する。
次に、電子端末３０のブートローダ４４が起動済みの状態において、電子端末３０がネットワークブートに対応したサーバを検知した場合の処理を図２１を用いて説明する。なお、図２１において、サーバ１は、ネットワークブートに対応しており、記録メディア１０と同一の構成を備えているものとする。また、サーバ１は、ネットワーク２を介して電子端末３０と接続している。ここで、ネットワーク２は、有線接続か無線接続かを問わないし、また、LANやMAN（Metropolitan Area Network）やWAN（Wide Area Network）など、その通信網の規模もどのようなものであってもよい。
【０１３４】
図２１に示すように、電子端末３０は、ネットワーク２に接続してサーバ１を検知すると（Ｓ３７−１）、ネットワーク２を介してサーバ１と接続し、サーバとの接続時の処理を行う（Ｓ４０−１）。
なお、ステップＳ４０−１の処理は、以下に図２２を用いて詳しく説明するが、上述の「４．４  記録メディア１０挿入時の処理の詳細」の説明において、「記録メディア１０」を「サーバ１」に置き換えたものとほぼ同一である。異なる点は、上記実施の形態の説明では、（i）記録メディア１０が挿入された時における電子端末３０の起動状態を判定する処理を行うとしたのに対し、この変形例では、電子端末３０がサーバ１と接続した時における電子端末３０の起動状態を判定する処理を行う点である。
【０１３５】
以下、ステップＳ４０−１の処理を詳しく説明する。
図２２と図２３は、電子端末３０がネットワークブートに対応したサーバに接続した際の処理を示すフローチャートである。
電子端末３０は、サーバ１と接続すると、サーバ１に端末制御プログラム２６の送信を要求する。この要求に応じてサーバ１から送信される端末制御プログラム２６を受信し、受信した端末制御プログラム２６をメモリにロードすることにより端末側制御部３５を実現する（Ｓ４１−１）。
【０１３６】
そして、電子端末３０の端末側制御部３５とサーバ１とは、電子端末３０の起動状態を判定する処理を行う（Ｓ４３−１、Ｓ４５−１）。ここで、ステップＳ４３−１、Ｓ４５−１の処理を具体的に説明する。図２４は、電子端末３０の動作、および、サーバ１による電子端末３０の起動状態の判定処理を示すフローチャートである。
以下、具体的に説明すると、電子端末３０の端末側制御部３５は、電子端末３０の起動処理時に起動される各プログラムと対応しているPCRのうち少なくとも１つの値をサーバ１へネットワーク２を介して出力する（Ｓ６７−１）。なお、図１３のステップＳ６７との相違点は、PCRの値の出力先が記録メディア１０からサーバ１へと変わっている点である。
【０１３７】
ステップＳ６７−１により電子端末３０から所定のPCRの値がサーバ１へと出力されると、サーバ１は、図１３のステップＳ６９および図１４に示したのと同様の処理を行うことにより、電子端末３０の起動状態を判定する（Ｓ６９）。このステップＳ４３−１、Ｓ４５−１により、サーバ１の起動手順記録部１３において、起動状態の判定結果が起動状態フラグとして記憶される。
【０１３８】
図２２に戻って説明を続ける。ステップＳ４３−１、Ｓ４５−１の処理が終わると、端末側制御部３５は、図１１のステップＳ４７と同一の処理を行う。この処理は、既に図１５〜１７を用いて説明した処理の「記録メディア１０」を「サーバ１」と読み替えたものと同一であるため、ここでは詳細な説明を省略する。
第２基本ソフト４６が起動すると（ステップＳ３５）、端末側制御部３５は、第２基本ソフト４６に対応するPCR（PCR4）の値を認証子としてサーバ１へネットワーク２を介して出力する（Ｓ４９−１）。なお、ステップＳ４９とステップＳ４９−１との相違点は、認証子の出力先が記録メディア１０からサーバ１へと変わっている点である。
【０１３９】
図２３に基づいて説明を続ける。
サーバ１は、電子端末３０から認証子を受け取ると、図１２においてステップＳ５１、Ｓ５３、Ｓ５５として説明したのと同様の処理を行う。なお、図１２では、記録メディア１０がステップＳ５１、Ｓ５３、Ｓ５５の処理を行うが、この変形例ではサーバ１がこれらの処理を行う。
【０１４０】
上記ステップＳ５１、Ｓ５３の処理により電子端末３０が正当であると判定されると、サーバ１の端末判定部１６により端末認証プログラムが指定されるので、サーバ１の実行部１５は、上記指定された端末認証プログラムを、ネットワーク２を介して電子端末３０へと出力する（Ｓ５７−１）。
以降の電子端末３０およびサーバ１の処理は、図１２においてステップＳ５９、Ｓ６１、Ｓ６３、Ｓ６５として示した動作の説明における「記録メディア１０」を、「サーバ１」と読み替えたものと同一であるため説明を省略する。
【０１４１】
このようにして、ネットワークブートに対応した記録デバイスにおいて本発明を適用することができる。
（１１）起動状態の判定方法
なお、上述の実施形態においては、端末制御プログラム２６は、自プログラムが含んでいる鍵（記録メディア１０に固有の鍵）を絡めたHMAC演算によりハッシュ値を算出する。そして、"起動時"や"起動途中"において記録メディア１０が挿入された場合は、端末制御プログラム２６によって第２基本ソフト４６等のハッシュ値がHMAC演算により算出されることとしている。HMAC演算は使用した鍵および演算の対象に依存して結果が変化する演算である。そのため、同一の鍵（本変形例では記録メディア１０に固有の鍵）を使ったHMAC演算が関与するPCRの値であっても、第１基本ソフトの認証にHMAC演算が使われた場合（"起動時"）と、第２基本ソフトの認証にHMAC演算が使われた場合（"起動途中"）とでは、最終的に得られるPCR4の値は全く異なる。また、"起動済み"の場合のPCR4の値は、端末制御プログラムによるHMAC演算自体が行われないので、この値も他の起動状態の場合に得られる値と異なる。したがって、記録メディア１０を電子端末３０へと挿入した時点によって、つまり"起動時""起動途中""起動済み"のそれぞれの状態でPCR4の値が異なることとなる。
【０１４２】
このことを、図面を用いて説明する。図２５は、"起動時"の場合におけるPCR4の値を示している。また、図２６は、"起動途中"の場合におけるPCR4の値を示している。また、図２７は、"起動済み"の場合におけるPCR4の値を示している。なお、"起動時"において、上述の実施の形態のステップＳ９３の説明では、端末制御プログラム２６のハッシュ値をIn（BL）として、PCR2＝SHA-1（PCR1＋In（BL））という演算によりSM34がPCRを拡張する処理を行うと説明したが、図２５では、HMAC演算によりハッシュ値が算出されたことを示すために、便宜上、HMAC演算により算出される端末制御プログラム２６のハッシュ値をIn（BL_HMAC）としている。また、同様に、端末制御プログラム２６がHMAC演算により算出する第１基本ソフト４５のハッシュ値も、In（OS1_HMAC）としている。同様に、図２６では、HMAC演算により算出される第２基本ソフト４６のハッシュ値をIn（OS2_HMAC）としている。
【０１４３】
図２５、図２６、図２７を比較すると、起動状態に応じてPCR4の値が異なることがわかる。例えば、"起動時"では、PCR3の値が"起動途中"や"起動済み"と異なるので、PCR3の値を用いて算出されるPCR4の値も"起動途中"や"起動済み"と異なることとなる。また、"起動途中"と"起動済み"とを比べると、PCR4の値が異なることもわかる。
そのため、ステップＳ６９のように所定のPCRの値の有無によらずとも、ステップＳ５１において、PCR4の値が、予め保持しているどの認証子と一致したかによって電子端末３０の起動状態を判定することもできる。
【０１４４】
このPCR4の値は、その値が演算された後、記録メディア１０が抜かれた場合でも変化せずに起動状態を反映した値のままである。そのため、いったん記録メディア１０を挿入して記録メディア１０の挿入時の処理を実行すれば、その後記録メディア１０を抜いて再び挿した時においても、SM３４内の、正当性の確認に用いられる所定のPCR（PCR4）の値と端末判定部１６の認証子とを比較することで、初めて記録メディア１０を挿入した時の電子端末３０の起動状態を判定することができる。つまり、電子端末３０は、記録メディア１０を抜く前と同等のセキュリティで、記録メディア１０の再挿入時においても記録メディア１０のセキュア領域のデータにアクセスすることができる。
【０１４５】
このような処理は、例えば、図１３のステップＳ６９、すなわち図１４で詳しく説明した処理に代えて、図２８で示した処理を記録メディア１０が行うことで実現できる。図２８は、起動状態の判定処理の詳細を示すフローチャートである。なお、記録メディア１０は、図２５、図２６、図２７に示したような、各起動状態に対応したPCR4の値を、端末判定部１６において予め認証子として保持している。そして、記録メディア１０は、電子端末３０からステップＳ７３において取得したPCR4の値を、これら予め保持している認証子と比較する。
【０１４６】
図１４に示した処理と図２８に示した処理との相違点は、ステップＳ７５においてPCR4に値があると判断された場合に（Ｓ７５：YES）、PCR4の値を、端末状態判定部１２が上記認証子と比較し（Ｓ８０）、一致した認証子に応じて起動状態フラグに値をセットする（Ｓ８２）点である。例えば、ステップＳ７３において取得したPCR4の値が、図２５に示すPCR4の値と一致する場合は、初めて記録メディア１０を挿入した時に、電子端末３０の起動状態が"起動時"と判定されたことを示すので、起動状態フラグを"起動時"を示すものにする。同様に、ステップＳ７３において取得したPCR4の値が、図２６に示すPCR4の値と一致するときは、ステップＳ８２において起動状態フラグを"起動途中"を示すものにし、図２７に示すPCR4の値と一致するときは、ステップＳ８２において起動状態フラグを"起動済み"を示すものにする。
【０１４７】
なお、上記動作例の説明では、まずPCR4に値があるかないか、すなわちPCR4の値が"０"と一致するかを判断し（Ｓ７５）、それからステップＳ８０の処理を行うとしているが、まず"０"と一致するかを判断する必要は無く、PCR4の値を上記認証子および"０"（すなわち、値がない場合）と比較していき、PCR4の値が"０"と一致する場合に、ステップＳ７７の処理に進むこととしてもよい。
【０１４８】
なお、ステップＳ８０の処理は、実質的にステップＳ５１、Ｓ５３の処理を兼ねている。そこで、ステップＳ８０においてPCR4の値が、端末判定部１６において保持されている、起動状態を判定するための認証子と一致しない場合は、電子端末３０が不正であるとみなして、ステップＳ５５の処理を行うこととする。
なお、PCR4の値に基づいて、電子端末３０の起動状態を判定していることとしているが、他のPCRの値に基づいて、起動状態を判定することとしてもよい。例えば、図２５〜２７を参照すると、PCR2やPCR3の値は、"起動時"とそれ以外の状態とで異なるので、PCR2やPCR3の値に基づいて、"起動時"か否かを判定することができる。すなわち、起動状態に応じて値が異なるPCRを用いれば、当該PCRが、図２５〜２７に示すような所定の値と一致するか否かによって起動状態を判定することができる。
【０１４９】
なお、HMAC演算に用いる鍵は、記録メディアに固有の鍵には限らず、各端末制御プログラムごとに異なる鍵であるとしてもよい。この場合も、同様の結果が得られる。
また、上記説明では、図１５等を用いて、各コンポーネントとPCRとが一対一に対応しているものとして説明したが、必ずしも一対一に対応する必要はない。例えば、１つのPCRを用いてPCRの拡張処理を行うこととしてもよい。この場合も、起動状態の判定をすることができる。例えば、記録メディア１０が電子端末３０に挿入された時における、このPCRの値が、SHA-1（In（BIOS））と一致すれば、図２５により、起動状態は"起動時"と判定できる。もし"起動途中"や"起動済み"の状態で記録メディア１０が電子端末３０に挿入されたのであれば、このPCRの値は、図２６でPCR3として示した値か、図２７でPCR4として示した値と一致するはずだからである。すなわち、各起動状態において当該１のPCRの値がとりうる値と、記録メディア１０挿入時に電子端末３０から出力される当該１のPCRの値とを比較すればよい。本実施形態の例で言うと、電子端末３０は、ステップＳ６７において、この１のPCRの値を記録メディア１０に出力する。以降の、ステップＳ６９の処理の詳細、すなわち記録メディア１０による起動状態の判定処理の詳細を図２９にフローチャートとして示す。起動状態判定部１３は、電子端末３０からこの１のPCRの値を受け取ると（Ｓ７３−１）、当該PCRの値を、図２５のPCR1の値や図２６のPCR3の値や図２７のPCR4の値と比較し、これらの値と一致するか判断する（Ｓ８０−１）。一致した値に応じて、起動状態フラグに値をセットする（Ｓ８２−１）。このようにして、１のPCRによって拡張処理が行われる場合も、起動状態を判定することができる。
【０１５０】
また、上記のように電子端末３０がTCGの仕様に適合したものである場合、電子端末３０は、SML（Stored Measurement Log）を生成するので、このSMLに基づいて、端末状態判定部１２は、起動状態を判定することとしてもよい。
（１２）その他
また、SM３４から認証子が奪われる危険性を考慮して、記録メディア１０が電子端末３０から抜かれた場合は、電子端末３０は、SM３４内の認証子を消去することとしてもよい。
【０１５１】
なお、この場合、SM３４の、起動状態の判定に用いられる所定のPCR（PCR4）には何らかの値を入れておく。こうすると、端末状態判定部１２による判定において、電子端末３０が"起動済み"と判定されることとなる。
すなわち、電子端末３０は、記録メディア１０を抜く前にアクセスできたセキュア領域にかかわらず、いったん記録メディア１０が抜かれると、その後は、"起動済み"の状態においてアクセス可能な領域にアクセスできるのみである。または、いったん記録メディア１０が抜かれたら、セキュア領域のうち所定の領域（例えば、通常領域）にのみアクセスが許可されるとしてもよい。
＜補足＞
以上のように本発明にかかる記録メディア、電子端末について実施の形態に基づいて説明したが、以下のように変形することもでき、本発明は上述の実施の形態で示した記録デバイス、電子端末に限られないことは勿論である。
（１）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。なお、各装置は、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
（２）上記の各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。
【０１５２】
なお、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０１５３】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
（３）上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、などから構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
（４）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１５４】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【０１５５】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
【０１５６】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（５）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０１５７】
本発明にかかる記録デバイスと電子端末を用いれば、例えば、日常的にデータを扱う場所（オフィスなど）における作業で用いられるデータは記録デバイスに記録しておく。そして、外出時には記録デバイスのみを持ち出し、外出先においては、アクセスしたいデータのセキュリティレベルに応じて、外出先の電器端末の機器認証を行い、秘匿すべきデータへのアクセスの制限を実現する。そのため、それほどセキュリティレベルを要求しないデータに高速にアクセスする場合には極めて有用である。
【図面の簡単な説明】
【０１５８】
【図１】本発明の実施の形態１におけるシステムの全体の構成を示す図。
【図２】本記録メディア１０の構成を示す機能ブロック図。
【図３】電子端末３０の構成を示す機能ブロック図。
【図４】アクセス設定テーブル５１を示す図。
【図５】プログラム送信設定テーブル５２を示す図。
【図６】アクセス制御テーブル５３を示す図。
【図７】電子端末３０の動作の概略を示す図。
【図８】電子端末３０が起動を開始してから起動を完了するまでの処理を示すフローチャート。
【図９】電子端末３０が起動を開始してから起動を完了するまでの処理を示すフローチャート。
【図１０】ブートローダ起動済みの電子端末３０の動作を示す図。
【図１１】記録メディア１０が電子端末３０に挿入された時の、記録メディア１０および電子端末３０の動作を示す図。
【図１２】記録メディア１０が電子端末３０に挿入された時の、記録メディア１０および電子端末３０の動作を示す図。
【図１３】電子端末３０の動作、および、端末状態判定部１２による電子端末３０の起動状態の判定処理を示すフローチャート。
【図１４】起動状態の判定処理の詳細を示すフローチャート。
【図１５】起動処理時に起動される各プログラムと対応しているPCRを示す図。
【図１６】起動状態の判定処理を終えた後、電子端末３０によって実行された端末制御プログラム２６が、ハッシュ値の算出対象を制御する処理を示すフローチャート。
【図１７】起動状態の判定処理を終えた後、電子端末３０によって実行された端末制御プログラム２６が、ハッシュ値の算出対象を制御する処理を示すフローチャート。
【図１８】アクセス制御部１９によるアクセス制御処理を示すフローチャート。
【図１９】電子端末３０の起動状態を判定する処理を外部の装置によって行う場合のフローチャート。
【図２０】ネットワークブートに対応した電子端末３０の起動時の処理を示すフローチャート。
【図２１】電子端末３０のブートローダ４４が起動済みの状態において、電子端末３０がネットワークブートに対応したサーバを検知した場合の処理を示すフローチャート。
【図２２】電子端末３０がネットワークブートに対応したサーバに接続した際の処理を示すフローチャート。
【図２３】電子端末３０がネットワークブートに対応したサーバに接続した際の処理を示すフローチャート。
【図２４】電子端末３０の動作、および、サーバ１による電子端末３０の起動状態の判定処理を示すフローチャート。
【図２５】"起動時"の場合におけるPCR4の値を示す図。
【図２６】"起動途中"の場合におけるPCR4の値を示す図。
【図２７】"起動済み"の場合におけるPCR4の値を示す図。
【図２８】起動状態の判定処理の詳細を示すフローチャート。
【図２９】起動状態の判定処理の詳細を示すフローチャート。
【符号の説明】
【０１５９】
１  サーバ
２  ネットワーク
１０  記録メディア
１１  端末制御部
１２  端末状態判定部
１３  起動手順記録部
１４  アクセス設定記録部
１５  実行部
１６  端末判定部
１７ａ、１７ｂ、１７ｃ  端末側認証部
１８ａ、１８ｂ、１８ｃ  メディア側認証部
１９  アクセス制御部
２０  メモリ領域
２１  第１セキュア領域
２２  第２セキュア領域
２３  第３セキュア領域
３４  プログラム保存領域
２５  通常領域
３０（３０ａ、３０ｂ）  電子端末
３１  記録メディア入出力インタフェース
３２  端末起動部
３３  記憶部
３４  SM
３５  端末側制御部
３６  端末側認証部
４１  PCR
４２  SHA-1演算器
４３  BIOS
４４  ブートローダ
４５  第１基本ソフト
４６  第２基本ソフト
【図１】
2008165758.tif 000003
【図２】
2008165758.tif 000004
【図３】
2008165758.tif 000005
【図４】
2008165758.tif 000006
【図５】
2008165758.tif 000007
【図６】
2008165758.tif 000008
【図７】
2008165758.tif 000009
【図８】
2008165758.tif 000010
【図９】
2008165758.tif 000011
【図１０】
2008165758.tif 000012
【図１１】
2008165758.tif 000013
【図１２】
2008165758.tif 000014
【図１３】
2008165758.tif 000015
【図１４】
2008165758.tif 000016
【図１５】
2008165758.tif 000017
【図１６】
2008165758.tif 000018
【図１７】
2008165758.tif 000019
【図１８】
2008165758.tif 000020
【図１９】
2008165758.tif 000021
【図２０】
2008165758.tif 000022
【図２１】
2008165758.tif 000023
【図２２】
2008165758.tif 000024
【図２３】
2008165758.tif 000025
【図２４】
2008165758.tif 000026
【図２５】
2008165758.tif 000027
【図２６】
2008165758.tif 000028
【図２７】
2008165758.tif 000029
【図２８】
2008165758.tif 000030
【図２９】
2008165758.tif 000031