JP5001123B2 - 記録デバイス、集積回路、アクセス制御方法、プログラム記録媒体 - Google Patents
記録デバイス、集積回路、アクセス制御方法、プログラム記録媒体 Download PDFInfo
- Publication number
- JP5001123B2 JP5001123B2 JP2007310986A JP2007310986A JP5001123B2 JP 5001123 B2 JP5001123 B2 JP 5001123B2 JP 2007310986 A JP2007310986 A JP 2007310986A JP 2007310986 A JP2007310986 A JP 2007310986A JP 5001123 B2 JP5001123 B2 JP 5001123B2
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- electronic terminal
- recording device
- activation
- electronic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00681—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which prevent a specific kind of data access
- G11B20/00695—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which prevent a specific kind of data access said measures preventing that data are read from the recording medium
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/60—Solid state media
- G11B2220/61—Solid state media wherein solid state memory is used for storing A/V content
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
このような技術としては、例えば、シンクライアントシステムがある。シンクライアントシステムは、サーバの側でファイルやアプリケーションなどの資源を管理する。そして、ユーザ側の端末には、データの持ち出しを防ぐために、HDD(Hard Disk Drive)や光学書き込みドライブなどのデータを記録する機能を持たせないようにし、モニタやキーボードなどの最低限の機能のみを持たせておく。こうすることで、データの不正な流出を防ぐこととしている。
そこで、本発明は、データの秘匿性を確保しつつ、利便性の高い記録デバイスを提供することを目的とする。
異なるレベルのアクセス制限を課すことについて簡単に説明する。
例えば、端末状態判定部による判定の結果、既に電子端末の起動処理が完了している状態で記録デバイスが電子端末に接続したと判明したとする。この場合は、記録デバイスが電子端末の起動とともに認証を行ったわけではない。したがって、記録デバイスは、電子端末の正当性が不明であるとみなしてセキュア領域へのアクセスに厳しい制限を課す、つまりアクセス可能な範囲を狭める、とすることができる。
上述のように電子端末が構成情報を逐次更新するものである場合、記録デバイスの側に、電子端末の構成を調べるための特別な手段が不要となる。
ここで、前記記録デバイスは、前記電子端末を制御するコードを含む端末制御プログラムを記録しており、前記端末制御プログラムは、固有の情報を含んでおり、前記記録デバイスが前記電子端末と接続した時に前記電子端末によって読み出されて実行され、前記構成情報は、前記複数の構成要素のそれぞれが起動する都度、更新され、前記端末制御プログラムには、前記電子端末に実行させる処理として、前記複数の構成要素のうち、未起動の構成要素を起動させる際に、前記未起動の構成要素の起動に伴う構成情報の更新を行う更新ステップが含まれ、前記更新ステップにおいて、前記端末制御プログラムは、前記更新にかかる構成情報を、前記未起動の構成要素と前記固有の情報に依存した情報にする処理を前記電子端末に行わせることにより前記更新を行うこととしてもよい。
ここで、前記電子端末は、TCG(Trusted Computing Group)により仕様が定められたTPM(Trusted Platform Module)を含んでおり、前記TPMには、前記複数の構成要素の起動に伴って各構成要素のハッシュ値が送り込まれ、前記TPMは、PCRを複数備え、送り込まれたハッシュ値を用いてPCRを拡張する処理を行って各PCRに値を格納し、前記構成情報とは、拡張処理が行われて各PCRに格納されている値のことであり、前記端末状態判定部は、前記記録デバイスが前記電子端末に接続した時における前記電子端末の所定のPCRに、初期値以外の値が格納されているか否かに応じて前記判定を行うこととしてもよい。
また、本発明は、電子端末と接続が可能な記録デバイスであって、データを格納するセキュア領域と、前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況が、複数の起動状態のいずれに該当するかを示す起動状態情報を取得する取得手段と、取得した起動状態情報に示される起動状態に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限するアクセス制御部とを含むことを特徴とする記録デバイスでもある。
また、本発明は、電子端末と接続が可能であり、データを格納するセキュア領域を有する記録デバイスに用いられる集積回路であって、前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況を判定する端末状態判定部と、前記判定された結果に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限するアクセス制御部とを含むことを特徴とする集積回路でもある。
以下、主に、本発明の記録デバイスについて、図面を用いて説明する。
1 概略
図1は、本発明の実施の形態におけるシステムの全体の構成を示している。
図1に示すように、サーバ1は、インターネット2を介して電子端末30a、電子端末30bと接続している。なお、電子端末30a、30bは、記録メディア10(記録デバイスと言うこともある)を用いたブート処理を実行することができ、本発明を実施するための機能を備えていれば、それぞれが同一の構成を備える必要はない。そこで、以降、電子端末30a、30bを区別せず、電子端末30として説明する。なお、電子端末30は、複数(図1では、電子端末30a、30bの2つ)存在することが必須ではなく、1つであってもよい。
記録メディア10は、可搬な記録メディアで実現される。例えばSDカードである。
電子端末30は、駅や空港などの公衆の場所に設置されたPC(Personal Computer)端末や、外出先へ持ち出し可能な携帯端末などとして実現される。また、例えば、記録メディア10の保持者が日常的に利用する端末と同等の機能を有する端末、例えば会社内のオフィスに設置されたPC端末と同等の機能を有する携帯端末などとして実現される。詳しくは後述するが、電子端末30は、CPU(Central Processing Unit)、RAM(Random Access Memory)などを備えるコンピュータシステムである。電子端末30には、記録メディア10を挿入することができる。
次に、記録メディア10および電子端末30の構成を説明する。
2.1 記録メディア10の構成
まず、記録メディア10の構成を詳しく説明する。
図2は、記録メディア10の構成を示す機能ブロック図である。記録メディア10は、端末側制御部11と、端末状態判定部12と、起動手順記録部13と、アクセス設定記録部14と、実行部15と、端末判定部16と、端末側認証部17と、第1メディア側認証部18aと、第2メディア側認証部18bと、第3メディア側認証部18cと、アクセス制御部19と、メモリ領域20とを備える。
順に説明すると、端末側制御部11は、図示するように、端末制御プログラム26を記憶している。
この端末制御プログラム26は、記録メディア10が電子端末30に挿入された時に、電子端末30に読み込まれて様々な処理を行う。端末制御プログラム26には、電子端末30のOS(Operating System)起動させるためのブートコードが含まれている。ここで、端末制御プログラム26による様々な処理とは、例えば、電子端末30の起動の制御や、電子端末30の認証処理などである。なお、端末制御プログラム26は、記録メディア10に固有の鍵を保持している。この鍵と一方向性関数を用いて、端末制御プログラム26自身や、電子端末30の第1基本ソフト45や第2基本ソフト46のハッシュ値などを算出する。ここで、端末制御プログラム26が用いる一方向性関数は、SHA-1やMD5などの一方向性関数に鍵値をからめるHMAC(Keyed-Hashing for Message Authentication)アルゴリズムであるとする。したがって、ハッシュ値の算出対象が同じであっても、端末制御プログラム26が保持している鍵が異なれば、端末制御プログラム26が算出するハッシュ値はそれぞれ異なるものとなる。端末制御プログラム26が電子端末30に読み込まれて行うこれらの処理については後の動作の説明で詳しく述べることとする。
端末状態判定部12は、電子端末30の起動完了に必要なソフトウェアがどの程度起動しているかに応じて段階的に分類された複数の状態のうち、電子端末30がいずれの状態であるかを判定する。
ここで、具体的には、端末状態判定部12は、本実施形態では、電子端末30が
(i)"起動時":後述する第2基本ソフト46も第1基本ソフト45も起動を開始していない状態
(ii)"起動途中":第2基本ソフト46が起動を開始しておらず、第1基本ソフト45が起動を開始してメモリにロードされている状態
(iii)"起動済み":第2基本ソフト46が起動を開始してメモリにロードされている状態
の3つのうちいずれの状態(起動状態)であるかを判定する。すなわち、本実施形態では、電子端末30の起動状態を、"起動時""起動途中""起動済み"の3つに分類している。
2.1.3 起動手順記録部13
起動手順記録部13は、端末状態判定部12の判定結果を保持する。起動手順記録部13は、例えば、端末状態判定部12の判定を受けて、端末状態判定部12の判定結果を示す起動状態フラグ(起動状態情報)を記憶する。起動状態フラグは、例えば数値が格納され、起動状態フラグが"1"であれば、端末状態判定部12が"起動時"と判定したことを示すものとする。同様に、起動状態フラグが"2"であれば"起動途中"、起動状態フラグが"3"であれば"起動済み"と端末状態判定部12が判定したことを示すものとする。
アクセス設定記録部14は、メモリ領域20の第1セキュア領域21、第2セキュア領域22、第3セキュア領域23へのアクセスの可否を、記録メディア10の挿入時における電子端末30の起動状態それぞれと対応づけてアクセス設定テーブル51として記憶している。アクセス設定テーブル51の詳細は後述する。
2.1.5 実行部15
実行部15は、例えばメモリ領域20へのアクセスの要求や電子端末30とのデータのやりとりなど、記録メディア10で実行されるさまざまな処理を実行する。
端末判定部16は、電子端末30が正当であるか否かの判定を行う。また、記録メディア10から電子端末30へ出力される端末制御プログラム26が正当であるか否かの判定を行うこともある。
端末判定部16は、図示するように複数の認証子を記憶している。本実施形態では、この認証子は、電子端末30の検証の際に、電子端末30が正当である場合に電子端末30から送られてくる認証子と同一の値であるとする。なお、端末認証プログラム26が第1基本ソフト45等のハッシュ値を算出し、この算出値を用いて電子端末30が認証子を生成した場合と同一の値の認証子も端末判定部16は記憶している。また、端末判定部16は、端末制御プログラム26が正当である場合の、端末制御プログラム26のハッシュ値も記憶している。
2.1.7 端末側認証部17
端末側認証部17は、電子端末30において実行される端末認証プログラムを複数記憶している。
2.1.8 メディア側認証部18
メディア側認証部18は、電子端末30において実行される端末認証プログラムとの間で認証処理を行って、上述のようにセッション鍵を生成する処理や、生成したセッション鍵を用いて記録メディア10と電子端末30とが安全にデータを通信する処理などを行う。認証処理は、例えば、チャレンジレスポンス型の認証方式によって実現される。
2.1.9 アクセス制御部19
アクセス制御部19は、端末状態判定部12の判定結果に応じて、セキュア領域のうち、電子端末30からのアクセスが可能な範囲を制限する。
メモリ領域20は、データを保存する領域である。メモリ領域20は、図示するように、セキュア領域(第1セキュア領域21、第2セキュア領域22、第3セキュア領域23)、プログラム保存領域24、通常領域25を含んでいる。
セキュア領域には、通常、秘匿すべきデータが記憶される(ただし、秘匿する必要がないデータを記憶していてもよい)。本実施形態では、セキュア領域のデータを安全に通信するために、セキュア領域のデータは、暗号化されて通信される。暗号化は、具体的には、端末判定部16により指定されたメディア側認証部と、指定されて電子端末30に出力された端末認証プログラムとが行う。
まず、後述するように記録メディア10に記録されている端末制御プログラム26が、電子端末30の起動処理にかかる所定のソフトウェア(後述する第1基本ソフト45と第2基本ソフト46)の改ざん検出のための処理を行う。電子端末30は不正な端末である可能性があるため、電子端末30のソフトウェアが改ざん検出のための処理を行う場合と比べると、端末制御プログラム26が上記基本ソフトの改ざん検出のための処理を行う方が、改ざん検出の信頼性が高いと考えられる。
また、上記のように正当性検証の信頼性が高い場合には、より信頼性が低い場合にアクセス許可される領域全てにアクセスできるようにするのではなく、各信頼性の高さそれぞれについて、独立したセキュア領域をアクセス許可する領域として割り当ててもよい。例えば、"起動時"と判定されれば第1セキュア領域21のみが、"起動途中"と判定されれば第2セキュア領域22のみが、"起動済み"と判定されれば第3セキュア領域23のみがアクセス許可されるとしてもよい。
通常領域25は、主に、安全に取り扱う必要のないデータを記録するための領域である。
次に、電子端末30の構成を詳しく説明する。
図3は、電子端末30の構成を示す機能ブロック図である。電子端末30は、記録メディア入出力インタフェース31と、端末起動部32と、記憶部33と、SM(Secure Module)34とからなる。また、記録メディア10から端末制御プログラム26を読み出してメモリにロードして実行することにより端末側制御部35が実現される。同様に、記録メディア10から端末認証プログラムを読み出してメモリにロードして実行することにより端末側認証部36が実現される。
順に説明すると、記録メディア入出力インタフェース31は、電子端末30が記録メディア10と通信を行うためのインタフェースである。また、記録メディア10が挿入されたことを検知する機構を有する。
2.2.2 端末起動部32
端末起動部32は、電子端末30の起動を行う。具体的には、図示するように、BIOS43と、ブートローダ44とを記憶している。ブートローダ44は、OSの一部分である第1基本ソフト45を起動させるためのブートプログラムである。なお、TCGの仕様に準拠して、BIOS43には、ブートローダ44のハッシュ値を算出するためのCRTM(Core Root of Trust Measurement)が含まれているとする。また、ブートローダ44には第1基本ソフト45のハッシュ値を算出するために、そして、第1基本ソフト45には第2基本ソフト46のハッシュ値を算出するために、それぞれRTM(Root of Trust Measurement)が含まれていることとする。
(i)記録メディア10の挿入が記録メディア入出力インタフェース31により検知されている場合:
BIOS43は、記録メディア10から端末制御プログラム26を読み出す。この端末制御プログラム26は、第1基本ソフト45を起動させるためのブートコードも含んでいる。この端末制御プログラム26により第1基本ソフト45が起動される。
(ii)記録メディア入出力インタフェース31が記録メディア10の挿入を検知していない場合:
BIOS43は、ブートローダ44の起動処理を行う。
なお、BIOS43とブートローダ44とは、本実施形態では、不正アクセスを防止する機構を有するセキュアな記憶領域に記憶されていることとするが、これに限らず他の記憶領域に記憶されていてもよい。
記憶部33は、第1基本ソフト45と第2基本ソフト46とを記憶している。なお、第2基本ソフト46も、第1基本ソフト45と同様、OSの一部分である。なお、OSに含まれるプログラムを複数のグループに分けることとし、本実施形態では第1基本ソフト45と第2基本ソフト46の2つに大別したが、分け方は2つに限るものではなく3つ以上であってもよいし、また、複数に分けることに限るものでもない。
SM34は、RSAなどの暗号回路、SHA-1やHMACなどの演算回路、データを保存する領域、乱数生成回路などを備えたセキュリティモジュールである。一般的には、上述のように、TCGによって仕様が公開されたTPMで実現される。TPMの詳細は、TCGのWebホームページhttp://www.trustedcomputinggroup.orgにおいて公開されている。SM34内の動作は、TCGで公開されたIntegrity Measurementと呼ばれる方式およびTPMの仕様において定められている。
図3においては、SM34の備える構成の一部を図示している。
PCR(Platform Configuration Register)41は、複数のレジスタ(PCR1、PCR2、PCR3、・・)を備える記憶領域である。
SHA-1演算器42は、ハッシュ演算を行う。なお、ハッシュ演算に用いるアルゴリズムはSHA-1とするが、他のアルゴリズムによりハッシュ演算を行うこととしてもよい。
端末側制御部35は、上述のように端末制御プログラム26が電子端末30のメモリにロードされて実行されることで実現される。なお、ハッシュ演算のためのハッシュ演算部47を備える。ここで、ハッシュ演算に用いるアルゴリズムはHMACとするが、他のアルゴリズムによりハッシュ演算を行うこととしてもよい。そして、電子端末30の起動状態に応じた処理を行う。詳しくは動作の説明で述べる。
端末側認証部36は、上述のように端末認証プログラムが電子端末30のメモリにロードされて実行されることで実現される。そして、記録メディア10との間で、データ通信のためのセッション鍵生成の処理などを行う。
3 データ
次に、各データについて説明する。
図4は、アクセス設定テーブル51を示す図である。
アクセス設定テーブル51は、記録メディア10の挿入時における電子端末30の起動状態それぞれについて、アクセス可能なセキュア領域の範囲を示す。なお、同図に示すように、アクセス設定テーブル51では、起動状態それぞれと対応づけてセキュリティ強度を記憶する。セキュリティ強度とは、電子端末30が記録メディア10のセキュア領域のデータにアクセスする際に、どの程度のレベルの安全性を必要とするかを示すものである。例えば、セキュリティ強度"高"の場合は、より安全にデータをやりとりするために、改ざんが困難なプログラムや、暗号解読がより困難なアルゴリズムを用いることを示す。
3.2 プログラム送信設定テーブル52
図5は、プログラム送信設定テーブル52を示す図である。
例えば、図示するように、セキュリティ強度が「高」であれば、第1端末認証プログラム27aが端末判定部16により指定される。このとき、第1端末認証プログラム27aに対応するメディア側認証部は、第1メディア側認証部18aとなる。したがって、第1端末認証プログラム27aが電子端末30に出力されると、第1端末認証プログラム27aが電子端末30のメモリにロードされ実行されることにより実現される端末側制御部35と第1メディア側認証部18aとがセッション鍵生成の処理などを行う。なお、本実施形態では、各端末認証プログラムおよび各メディア側認証部のうち、第1端末認証プログラム27aと第1メディア側認証部18aとの組が、最も安全にデータをやりとりできるものとする。また、第3端末認証プログラム27cと第3メディア側認証部18cとの組は、最も簡易な方法でデータをやりとりする、つまり高速でデータをやりとりできる反面、データの安全性については第1端末認証プログラム27aと第1メディア側認証部18aとの組、第2端末認証プログラム27bと第2メディア側認証部18bとの組より劣るものとする。
図6は、アクセス制御テーブル53を示す図である。
アクセス制御テーブル53は、セキュア領域のうち、電子端末30からアクセスされる対象と、アクセスが許可される端末認証プログラムとを対応づけている。
例えば、図示するように、電子端末30から第1セキュア領域21へのアクセスが許可されている端末認証プログラムは、第1端末認証プログラム27aのみである。同様に、第3セキュア領域23へのアクセスが許可されている端末認証プログラムは、第1端末認証プログラム27a、第2端末認証プログラム27b、第3端末認証プログラム27cである。すなわち、第3端末認証プログラム27cが電子端末30へと出力された場合、電子端末30は、第1セキュア領域21および第2セキュア領域22にはアクセスできず、第3セキュア領域23へのアクセスが許可される。つまり、本実施形態では、より秘匿すべき要請の強いデータほど、安全な方法でデータをやりとりするものとする。
次に、記録メディア10および電子端末30の動作について説明する。
4.1 電子端末30の動作の概略
まず、電子端末30の動作の概略を、図7に示す。
図示するように、電子端末30は、動作を開始すると、起動処理を行う(S1000)。この起動処理の詳細は、図8等を用いて詳しく説明する。
4.2 記録メディア10が挿入されない場合の起動処理
以下、まずステップS1000の起動処理について詳しく説明する。
まず電子端末30の起動時において記録メディア10が挿入されない場合の動作を説明する。なお、本実施形態においては、電子端末30は、上述のようにTCGにより定められた仕様に従った動作を行う。具体的には"Integrity Measurement"やPCRを拡張(Extend)する処理を行う。
起動処理を開始した電子端末30は、まずBIOS43のブートブロックに記述されているCRTM(Core Root of Trust Measurement)が実行され、CRTMがBIOS43のハッシュ値を算出する。なお、算出したBIOS43のハッシュ値をIn(BIOS)とする。
SM34は、算出値を受け取り、 PCR1=SHA-1(In(BIOS)) という演算によりPCRを拡張する処理を行う。拡張処理が行われた値を、複数あるPCRのうち所定のPCRに記録する。本実施形態では、BIOS43とPCR1とが対応しているものとし、SM34は、BIOSのハッシュ値を拡張処理した値をPCR1に記録することとする(S7)。なお、各PCRと対応しているコンポーネントについて簡単に説明すると、本実施形態では、ブートローダ44とPCR2が対応し、第1基本ソフト45とPCR3が対応し、第2基本ソフト46とPCR4が対応していることとしている。なお、PCRを拡張する処理は、一般的に、 PCR(n+1)=SHA-1(PCR(n)+measured data)という演算により行われる。ここで、measured dataは、コンポーネントのハッシュ値を示し、PCR(n+1)は、そのハッシュ値が算出されたコンポーネントに対応するPCRを示す。また、PCR(n)は、PCR(n+1)よりも1つ前に計算されたPCR、すなわち、PCR(n+1)に対応するコンポーネントの直前に起動されたコンポーネントに対応するPCRを意味する。また、SHA-1(PCR(n)+measured data)は、PCR(n)とmeasured dataとを連結してSHA-1によりハッシュ演算を行うことを意味する。すなわち、"+"は連結を意味する。
BIOS43に対応するPCR(PCR1)に値が記録されると、BIOS43がメモリにロードされて実行される(S9)。
BIOS43は、実行されると、OSを起動させるためのブートローダを探索する。ここで、BIOS43は、記録メディア入出力インタフェース31によって記録メディア10の挿入が検知されている場合は、記録メディア10からブートを実行し(S11:YES)、検知されていない場合は、電子端末30のブートローダによりブートを実行する(S11:NO)。なお、記録メディア10が挿入された時の処理(S40)は、後で詳しく説明することとし、ここでは、まず、電子端末30のブートローダ44によりOSを起動する場合を説明する。
図9に基づいて説明を続ける。
ブートローダ44が実行されると、ブートローダ44のRTMコードが実行されることにより、第1基本ソフト45のハッシュ値が算出される(S21)。算出された第1基本ソフト45のハッシュ値をIn(OS1)とすると、RTMは、算出したハッシュ値In(OS1)をSM34に出力する(S23)。
第1基本ソフト45に対応するPCRであるPCR3に値が記録されると、第1基本ソフト45がブートローダ44によりメモリにロードされて実行される(S27)。
算出された第2基本ソフト46のハッシュ値をIn(OS2)とすると、RTMは、算出したハッシュ値In(OS2)をSM34に出力する(S31)。SM34は、ハッシュ値を受け取り、 PCR4=SHA-1(PCR3+In(OS2)) という演算によりPCRを拡張する処理を行う。拡張処理が行われた値を、第2基本ソフト46に対応するPCRであるPCR4に記録する(S33)。第2基本ソフト46に対応するPCRであるPCR4に値が記録されると、第2基本ソフト46がメモリにロードされて実行される(S35)。
以上が電子端末30の、記録メディア10が挿入されなかった場合の動作の説明であるが、ブートローダ44が起動した後において記録メディア10が挿入された場合の動作を簡単に説明する。図10においてブートローダ起動済みの電子端末30の動作として示すように、電子端末30は、ブートローダ44が起動した後、記録メディア入出力インタフェース31により記録メディア10の挿入を検知すると(S37)、記録メディア10が挿入された時の処理(S40)を行う。
続いて、図8や図10にて示したステップS40の処理の詳細を、図11等を用いて説明する。
図11および図12は、記録メディア10が電子端末30に挿入された時の、記録メディア10および電子端末30の動作を示す図である。なお、概略を述べると、主に、(i)記録メディア10が挿入された時における電子端末30の起動状態を判定する処理と、(ii)電子端末30の正当性を検証する処理とが記録メディア10により行われる。また、記録メディア10は、記録メディア10が電子端末30に挿入される時点に応じて異なる処理を行う。
そして、電子端末30の端末側制御部35と記録メディア10とは、電子端末30の起動状態を判定する処理を行う(S43、S45)。ここで、ステップS43、S45の詳細は、図13〜15を用いて後述する。このステップS43、S45により、起動手順記録部13において、起動状態の判定結果が起動状態フラグとして記憶される。
第2基本ソフト46が起動すると(上述のステップS35)、端末側制御部35は、第2基本ソフト46に対応するPCR(PCR4)の値を認証子として記録メディア10に出力する(S49)。なお、ステップS47の詳細な説明で後述するが、ステップS43において電子端末30の起動状態が"起動途中""起動済み"と判定された場合は、ステップS47において、電子端末30は、ステップS41でロードした端末制御プログラム26のハッシュ値を所定の記憶領域に記憶しておくこととしている。そして、上記のように"起動途中""起動済み"と判定された場合、ステップS49において、電子端末30は、上述の認証子に加えて、端末制御プログラム26のハッシュ値も記録メディア10に出力する。なお、このハッシュ値は、後述するステップS51における正当性の検証処理において、端末制御プログラム26の正当性の検証のために用いられる。なお、ステップS43およびS45において"起動済み"と判定された場合は、ステップS43およびS45において起動状態の判定のために送られたPCR4の値をそのまま認証子として用いることができるので、ステップS49においてはPCR4の値を送る必要は無い。
記録メディア10は、電子端末30から送られた認証子を受け取ると、端末判定部16によって電子端末30の正当性を判定する(S51)。なお、起動状態が"起動途中"または"起動済み"と判定される場合は、電子端末30から、端末制御プログラム26のハッシュ値も出力されるので、このハッシュ値を用いて、端末制御プログラム26が正当であるかの判定も行う。より具体的には、記録メディア10は、各端末制御プログラムのハッシュ値を予め記録しており、電子端末30から受け取ったハッシュ値が、記録しているハッシュ値と等しいものであるか否かを確認することで判定を行う。
電子端末30は、記録メディア10から出力される端末認証プログラムを受信して端末側認証部36を実現する(S59)。端末側認証部36は、記録メディア10のメディア側認証部との間でセッション鍵を共有するなど、セキュア領域のデータを安全にやりとりするための所定の処理を行う(S61)。
そして、実行部15は、端末判定部16により指定されたメディア側認証部を起動させて、電子端末30の端末側認証部36との間でステップS61で述べた所定の処理を行う(S65)。
ここで、ステップS43、S45の処理の詳細、すなわち電子端末30の起動状態の判定処理について詳しく説明する。
図13は、電子端末30の動作、および、端末状態判定部12による電子端末30の起動状態の判定処理を示すフローチャートである。なお、図8〜9で示したように、電子端末30は、起動とともに各PCRに値を記録している。この点に着目し、本実施形態では、端末状態判定部12は、記録メディア10の挿入時において、BIOS43等と対応している所定のPCRに値が記録されているか否か、すなわち、PCRの値が初期値"0"でないか否かに基づいて、電子端末30の起動状態を判定している。なお、PCRの値が初期値"0"でないことを、「PCRに値がある」といい、PCRの値が初期値"0"であることを、「PCRに値がない」という。
ステップS67により電子端末30から所定のPCRの値(本実施形態ではPCR2とPCR3とPCR4)が記録メディア10に出力されると、記録メディア10は、端末状態判定部12により、各PCRの値に応じて電子端末30の起動状態を判定する(S69)。
ここで、ステップS69の詳細を説明する。
記録メディア10の端末状態判定部12は、ステップS67において電子端末30から出力されたPCR(PCR4とPCR3とPCR2)の値を取得する(S73)。
そして、PCR4に値があるか否か、つまりPCR4が"0"でないか否かを判断する(S75)。
ステップS75において、PCR4に値がないと判断すると(S75:NO)、端末状態判定部12は、PCR3に値があるか否かを判断する(S77)。
ステップS77において、PCR3に値がないと判断すると(S77:NO)、端末状態判定部12は、PCR2に値があるか否かを判断する(S78)。
ステップS78において、PCR2に値があると判断すると(S78:YES)、端末状態判定部12は、"起動途中"と判定し、起動手順記録部13の起動状態フラグを、"起動途中"を示すものにする(S81)。本実施形態では起動状態フラグに"2"をセットする。
ステップS43、S45の処理の詳細は以上である。
4.6 端末制御プログラム26の処理の詳細
次に、ステップS47の処理の詳細を説明する。
ステップS87において端末制御プログラム26が取得した起動状態フラグが、
(i)"起動時"を示すものであれば(S89:起動時)、端末制御プログラム26は、ステップS85において算出した自身のハッシュ値をSM34に出力する(S91)。つまり、起動状態フラグが"起動時"ということは、電子端末30においてはBIOS43が起動していてブートローダ44が起動していないということである。そのため、端末制御プログラム26がブートローダ44に代わって第1基本ソフト45の起動を行うこととなる。そこで、ブートローダ44のハッシュ値に代えて、端末制御プログラム26のハッシュ値をSM34に送る。なお、SM34では、図15に示すように、端末制御プログラム26のハッシュ値を受け付けて、このハッシュ値をIn(BL)として、PCR2=SHA-1(PCR1+In(BL)) という演算によりPCRを拡張する処理を行う。拡張処理が行われた値を、ブートローダ44に対応するPCRであるPCR2に記録する(S93)。
また、ステップS87において端末制御プログラム26が取得した起動状態フラグが、(ii)"起動途中"を示すものであれば(S89:起動途中)、端末制御プログラム26は、ステップS85において算出した自身のハッシュ値をSM34の所定のPCRに記憶させる。なお、このハッシュ値は、上述のように、ステップS51の処理において、端末制御プログラム26自身が正当であるかの判定に用いられる。
なお、ステップS111やS115において、端末制御プログラム26のハッシュ値を所定のPCRに記憶させることとしているが、これは一例であり、記憶させる領域はPCRに限らず、他の領域、例えばPCR以外の電子端末30内のメモリに記憶することとしてもよい。
4.7 アクセス制限にかかる処理
続いて、起動処理が完了した後の電子端末30の動作(S2000)を説明する。なお、メモリ領域に対してアクセス制限を実施する方法は様々なものがあるため、ここでは一例を説明することとする。
アクセス禁止であれば(S119:YES)、電子端末30からセキュア領域へのアクセスを拒否する(S127)。
また、ステップS121の判断の結果が否定的であれば(S123:NO)、電子端末30からのアクセスを拒否する(S127)。
ここで、アクセス設定記録部14の説明において、セキュア領域へのアクセスの可否をユーザがカスタマイズできることとしていると説明したが、そのカスタマイズによってアクセス設定テーブル51を更新する方法について説明する。
電子端末30のユーザは、記録メディア10を電子端末30に挿入し、プログラム保存領域24に記憶されたアクセス設定プログラムを電子端末30で実行する。ユーザは、アクセス設定プログラムを通じて、アクセス設定テーブル51を更新する。具体的には、アクセス設定テーブル51の、"メディア挿入時の起動状態"に対応づけられている"セキュリティ強度"および"アクセス可能なセキュア領域"を、ユーザは更新する。例えば、図4では、起動状態が"起動途中"であれば、第2セキュア領域22と第3セキュア領域23とにアクセス可能としているが、ユーザの設定変更により、"アクセス可能なセキュア領域"を第2セキュア領域22のみにする、などとすることができる。
(まとめ)
本発明によれば、従来のPC等に備わっている、外部機器からのブート機能や記録媒体挿入時の自動実行機能さえあれば、これら機能によって記録メディア10から端末制御プログラム26等を起動させることができ、起動状態の判定等を行うことができる。つまり、本発明は、特殊なクライアント装置を用意しなくとも実現することができる。
<変形例>
以下、本発明の変形例について述べる。
(1)電子端末30の正当性を検証する主体
(1−1)外部の装置による検証
上述の「4.4 記録メディア10挿入時の処理の詳細」において説明したように、上記実施形態では、記録メディア10が電子端末30に挿入されると、主に、(i)記録メディア10が挿入された時における電子端末30の起動状態を判定する処理と、(ii)電子端末30の正当性を検証する処理とが記録メディア10により行われる。ここで、(ii)電子端末30の正当性を検証する処理について変形例を述べる。
図19に示される処理と図13に示される処理との相違点は、要するに、起動状態の判定のために電子端末30から出力される各PCRの値の出力先がサーバ1になり、サーバ1において起動状態の判定が行われ、その判定結果がサーバ1から電子端末30を介して記録メディア10へと通知される点である。
電子端末30は、サーバ1から通知される起動状態フラグを受信して記録メディア10へ通知する(S71)。
このようにして、(i)記録メディア10が挿入された時における電子端末30の起動状態を判定する処理を、サーバ1などの外部の装置によって実行することができる。
なお、上記のように、ネットワークを介して接続される外部の装置によって(i)電子端末30の起動状態を判定する処理や(ii)電子端末30の正当性を検証する処理などを行う場合、ネットワークが安全とは限らないので、起動状態の判定結果や電子端末30の正当性の検証結果などの情報が、外部の装置から記録メディア10へと通知される際に不正者により改ざん等される可能性がある。そのため、外部の装置から記録メディア10へと通知されるこれらの情報に、改ざんを検出するための処理を行うとよい。改ざんを検出するための処理は様々なものがある。例えば、これら通知される情報に、当該通知を行う外部の装置の秘密鍵で作成した電子署名を付し、記録メディア10が、当該外部の装置の公開鍵で検証する等するとよい。
また、例えば、正当な認証子に関する情報(具体的には、端末判定部16が保持している認証子のそれぞれ)を、端末制御プログラム26などの、記録メディア10から電子端末30へと供給するプログラムに含めておき、電子端末30にて実行されたこのプログラム(検証機能付きプログラム)が、端末判定部16によらず、電子端末30内で、自プログラムが保持している認証子に基づいてステップS51に相当する処理を行うとしてもよい。この場合、電子端末30内で認証子の改ざんが行われることを防ぐために、この検証機能付きプログラムを保護する必要があるが、記録メディア10の側に、電子端末30の正当性を検証するための構成を備える必要が無くなる。そのため、さまざまな記録メディアで本発明を適用することができるようになる。
(2)ブート方法の提示
上述の実施形態の動作に加えて、例えば、記録メディア10を電子端末30に挿入した時に、電子端末30が、複数の起動方法の選択肢をモニタ等に表示して、ユーザに起動方法を選択させるようにしてもよい。起動方法の選択肢とは、例えば、
(i)フルセキュアブート:再起動して電源投入時から記録メディア10が挿入されていた場合の処理を実行
(ii)セキュアブート:挿入時に判定された起動状態に応じた処理を実行
(iii)ノーマルブート:認証処理を行わない処理を実行
などがある。ここで、(i)のフルセキュアブートを実行すると、電子端末30の再起動が行われる。その後、図8のステップS11においてYESと判定され、起動状態フラグに"起動時"と設定されるので、この"起動時"に対応したセキュア領域にアクセスできることとなる。(ii)のセキュアブートを実行すると、起動状態に応じた範囲でセキュア領域にアクセスできることとなる。(iii)のノーマルブートを実行すると、電子端末30は、少なくとも、認証処理の実行を禁止する。これにより、ステップS49等の認証処理を行わず、したがってセキュア領域のデータをやりとりするためのセッション鍵の生成等の処理も行わないので、セキュア領域のデータにはアクセスできないこととなる。また、セキュア領域へのアクセスができないこととするので、起動状態を判定する必要もなくなるため、ステップS43やS45の処理も行わないこととしてもよい。また、端末制御プログラム26をロードする必要もないのであれば、ステップS41の処理を行う必要もない。
(3)端末認証プログラムとメディア側認証部との組の数
上記の説明では、端末認証プログラムとメディア側認証部との組は3つであるとしたが、これは、端末状態判定部12が"起動時""起動途中""起動済み"の3つの状態を判定することに対応し、各状態に応じてそれぞれ異なるセキュリティ強度の認証の方法を提供することを目的としたからである。
(4)起動状態の分類
上述の説明では、特に、端末状態判定部12の説明において、起動状態とは"起動時""起動途中""起動済み"の3つであるとしたが、起動状態の分類は、上記3つに限られない。例えば、実際には記録メディア10は、電子端末30の電源投入時から挿入されているか、電子端末30がOSの起動を完了した後から挿入される場合が多い(つまりOSの起動中に挿入されることが比較的少ない)可能性を考慮して、"起動途中"の場合を判定しないこととしてもよい。この場合、"起動時""起動済み"の2つの状態を端末状態判定部12は判定することになる。
なお、"起動途中"となる場合の例としては、第1基本ソフト45をメモリにいったんロードして休眠状態にあるときに記録メディア10を挿入し、第2基本ソフト46のロードから起動を再開する場合などが考えられる。電子端末30の高速起動が必要である場合に、このような手法がとられる。
(5)セキュア領域
また、セキュア領域を第1セキュア領域21、第2セキュア領域22、第3セキュア領域23の3つの領域からなるとしたが、3つに限られず、1つでも良いし、さらに多くの領域に分けてもよい。
また、第1セキュア領域21、第2セキュア領域22、第3セキュア領域23は、1つのハードウェアとして実現されたセキュア領域をアドレス範囲ごとに使い分けることで実現されるとしてもよい。この場合、各領域に割り当てるアドレス範囲を変更することで、各領域の大きさを柔軟に変更することができる。したがって、保護の必要なデータが多い場合にはセキュリティ強度"高"用の領域を広くしたり、"起動時"にアクセスできる領域を広くしたりすることができる。逆に保護の必要なデータが少ない場合にはセキュリティ強度"低"用の領域を広く設定したりすること等ができる。
また、上記実施形態では、セキュア領域へのアクセスを制限するためにアクセス制御部19を備えることとしていたが、これ以外に、メモリ領域に対してアクセス制限を実施する方法は、以下のものがある。例えば、セキュア領域に対するアクセス制限を行う機能をプログラムとして実装し、電子端末30の側でこのプログラムを実行することでアクセス制限を行うとしてもよい。つまり、アクセス制限を行う主体が、記録メディア10から電子端末30へと移る。この場合、このプログラムは、記録メディア10内のアクセス制御テーブル53等を参照しながらアクセス制限を行う。なお、この場合も、記録メディア10から一部の機能、つまりアクセス制御部19の機能を省けるようになる。
(6)認証子の算出主体
上記の実施形態では、SM34が、電子端末30から記録メディア10に送るための認証子を算出することとしていたが、認証子の算出主体は、他のものであってもよい。例えば、記録メディア10から電子端末30へと供給されるプログラムが、代わりに認証子を算出することとしてもよい。この場合、電子端末30の側に、認証子を算出するための特別な構成、例えばハードウェア構成が不要となるので、本発明を実施することが容易となる。
(7)正当性の検証の方法
上記の実施形態では、電子端末30がTCGにより定められた仕様に適合するものとし、PCRの拡張処理が行われた値を用いて電子端末30の正当性を検証することとしていたが、電子端末30の正当性の検証方法は、これに限らない。例えば、電子端末30の起動処理に伴って段階的に起動される複数の構成要素(例えばプログラム)のハッシュ値を、所定の認証子と比較することで電子端末30の正当性を検証してもよい。例えば、電子端末30のOS(第1基本ソフト45や第2基本ソフト46)のハッシュ値を算出して、このハッシュ値を、OSが正当である場合のハッシュ値と比較する等により正当性を検証することとしてもよい。
また、正当性を確認することができる方法であれば、認証子の比較以外の方法によって正当性を検証してもよい。
(8)起動状態の判定を行う主体
上記実施形態では、記録メディア10の端末状態判定部12が、電子端末30から出力される所定の情報(実施例では所定のPCRの値)に基づいて、電子端末30の起動状態を判定することとしていたが、起動状態を判定する主体は、記録メディア10の側に限られない。例えば、電子端末30や、外部の機器であってもよい。例えば、起動状態を判定する機能を、記録メディア10から電子端末30へと供給するプログラム(例えば端末制御プログラム26)に含めておき、電子端末30内で、電子端末30の起動状態を判定するステップS69等の処理を行うこととしてもよい。
(9)起動処理の内容
上記実施形態では、記録メディア10が電子端末30の起動開始直後から挿入されていた場合、端末制御プログラム26によって第1基本ソフト45が起動され、その後、電子端末30内の第1基本ソフト45や第2基本ソフト46に処理が引き継がれるが、起動されるOSは、電子端末30が保持している場合に限られない。
(10)記録デバイス
上記実施形態では、本発明の記録デバイスについて、特に、可搬型の記録メディアの例を取り上げて説明したが、例えばHDD(Hard Disk Drive)などの磁気ディスクやフラッシュメモリなどであってもよい。USB(Universal Serial Bus)等のデータ伝送規格に対応した外付けのHDDなどが広く流通している。また、記録デバイスは、電子端末30内に含まれる構成であってもよい。
例えば、上記記録メディア10の構成をサーバ1が備えており、電子端末30がサーバ1と接続した時の電子端末30の起動状況に応じて、サーバ1のセキュア領域のうちアクセスできる範囲が変わることとするとよい。
ここで、この記録デバイスの具体的な動作について簡単に説明する。
図20は、ネットワークブートに対応した電子端末30の起動時の処理を示すフローチャートである。なお、図20は、図8に示した処理とほぼ同一である。この変形例において、電子端末30は、図8のステップS11に代えて、ステップS11−1の処理を行う。
次に、電子端末30のブートローダ44が起動済みの状態において、電子端末30がネットワークブートに対応したサーバを検知した場合の処理を図21を用いて説明する。なお、図21において、サーバ1は、ネットワークブートに対応しており、記録メディア10と同一の構成を備えているものとする。また、サーバ1は、ネットワーク2を介して電子端末30と接続している。ここで、ネットワーク2は、有線接続か無線接続かを問わないし、また、LANやMAN(Metropolitan Area Network)やWAN(Wide Area Network)など、その通信網の規模もどのようなものであってもよい。
なお、ステップS40−1の処理は、以下に図22を用いて詳しく説明するが、上述の「4.4 記録メディア10挿入時の処理の詳細」の説明において、「記録メディア10」を「サーバ1」に置き換えたものとほぼ同一である。異なる点は、上記実施の形態の説明では、(i)記録メディア10が挿入された時における電子端末30の起動状態を判定する処理を行うとしたのに対し、この変形例では、電子端末30がサーバ1と接続した時における電子端末30の起動状態を判定する処理を行う点である。
図22と図23は、電子端末30がネットワークブートに対応したサーバに接続した際の処理を示すフローチャートである。
電子端末30は、サーバ1と接続すると、サーバ1に端末制御プログラム26の送信を要求する。この要求に応じてサーバ1から送信される端末制御プログラム26を受信し、受信した端末制御プログラム26をメモリにロードすることにより端末側制御部35を実現する(S41−1)。
以下、具体的に説明すると、電子端末30の端末側制御部35は、電子端末30の起動処理時に起動される各プログラムと対応しているPCRのうち少なくとも1つの値をサーバ1へネットワーク2を介して出力する(S67−1)。なお、図13のステップS67との相違点は、PCRの値の出力先が記録メディア10からサーバ1へと変わっている点である。
第2基本ソフト46が起動すると(ステップS35)、端末側制御部35は、第2基本ソフト46に対応するPCR(PCR4)の値を認証子としてサーバ1へネットワーク2を介して出力する(S49−1)。なお、ステップS49とステップS49−1との相違点は、認証子の出力先が記録メディア10からサーバ1へと変わっている点である。
サーバ1は、電子端末30から認証子を受け取ると、図12においてステップS51、S53、S55として説明したのと同様の処理を行う。なお、図12では、記録メディア10がステップS51、S53、S55の処理を行うが、この変形例ではサーバ1がこれらの処理を行う。
以降の電子端末30およびサーバ1の処理は、図12においてステップS59、S61、S63、S65として示した動作の説明における「記録メディア10」を、「サーバ1」と読み替えたものと同一であるため説明を省略する。
(11)起動状態の判定方法
なお、上述の実施形態においては、端末制御プログラム26は、自プログラムが含んでいる鍵(記録メディア10に固有の鍵)を絡めたHMAC演算によりハッシュ値を算出する。そして、"起動時"や"起動途中"において記録メディア10が挿入された場合は、端末制御プログラム26によって第2基本ソフト46等のハッシュ値がHMAC演算により算出されることとしている。HMAC演算は使用した鍵および演算の対象に依存して結果が変化する演算である。そのため、同一の鍵(本変形例では記録メディア10に固有の鍵)を使ったHMAC演算が関与するPCRの値であっても、第1基本ソフトの認証にHMAC演算が使われた場合("起動時")と、第2基本ソフトの認証にHMAC演算が使われた場合("起動途中")とでは、最終的に得られるPCR4の値は全く異なる。また、"起動済み"の場合のPCR4の値は、端末制御プログラムによるHMAC演算自体が行われないので、この値も他の起動状態の場合に得られる値と異なる。したがって、記録メディア10を電子端末30へと挿入した時点によって、つまり"起動時""起動途中""起動済み"のそれぞれの状態でPCR4の値が異なることとなる。
そのため、ステップS69のように所定のPCRの値の有無によらずとも、ステップS51において、PCR4の値が、予め保持しているどの認証子と一致したかによって電子端末30の起動状態を判定することもできる。
なお、PCR4の値に基づいて、電子端末30の起動状態を判定していることとしているが、他のPCRの値に基づいて、起動状態を判定することとしてもよい。例えば、図25〜27を参照すると、PCR2やPCR3の値は、"起動時"とそれ以外の状態とで異なるので、PCR2やPCR3の値に基づいて、"起動時"か否かを判定することができる。すなわち、起動状態に応じて値が異なるPCRを用いれば、当該PCRが、図25〜27に示すような所定の値と一致するか否かによって起動状態を判定することができる。
また、上記説明では、図15等を用いて、各コンポーネントとPCRとが一対一に対応しているものとして説明したが、必ずしも一対一に対応する必要はない。例えば、1つのPCRを用いてPCRの拡張処理を行うこととしてもよい。この場合も、起動状態の判定をすることができる。例えば、記録メディア10が電子端末30に挿入された時における、このPCRの値が、SHA-1(In(BIOS))と一致すれば、図25により、起動状態は"起動時"と判定できる。もし"起動途中"や"起動済み"の状態で記録メディア10が電子端末30に挿入されたのであれば、このPCRの値は、図26でPCR3として示した値か、図27でPCR4として示した値と一致するはずだからである。すなわち、各起動状態において当該1のPCRの値がとりうる値と、記録メディア10挿入時に電子端末30から出力される当該1のPCRの値とを比較すればよい。本実施形態の例で言うと、電子端末30は、ステップS67において、この1のPCRの値を記録メディア10に出力する。以降の、ステップS69の処理の詳細、すなわち記録メディア10による起動状態の判定処理の詳細を図29にフローチャートとして示す。起動状態判定部13は、電子端末30からこの1のPCRの値を受け取ると(S73−1)、当該PCRの値を、図25のPCR1の値や図26のPCR3の値や図27のPCR4の値と比較し、これらの値と一致するか判断する(S80−1)。一致した値に応じて、起動状態フラグに値をセットする(S82−1)。このようにして、1のPCRによって拡張処理が行われる場合も、起動状態を判定することができる。
(12)その他
また、SM34から認証子が奪われる危険性を考慮して、記録メディア10が電子端末30から抜かれた場合は、電子端末30は、SM34内の認証子を消去することとしてもよい。
すなわち、電子端末30は、記録メディア10を抜く前にアクセスできたセキュア領域にかかわらず、いったん記録メディア10が抜かれると、その後は、"起動済み"の状態においてアクセス可能な領域にアクセスできるのみである。または、いったん記録メディア10が抜かれたら、セキュア領域のうち所定の領域(例えば、通常領域)にのみアクセスが許可されるとしてもよい。
<補足>
以上のように本発明にかかる記録メディア、電子端末について実施の形態に基づいて説明したが、以下のように変形することもでき、本発明は上述の実施の形態で示した記録デバイス、電子端末に限られないことは勿論である。
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。なお、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
(2)上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
(3)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM、などから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
(4)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
2 ネットワーク
10 記録メディア
11 端末制御部
12 端末状態判定部
13 起動手順記録部
14 アクセス設定記録部
15 実行部
16 端末判定部
17a、17b、17c 端末側認証部
18a、18b、18c メディア側認証部
19 アクセス制御部
20 メモリ領域
21 第1セキュア領域
22 第2セキュア領域
23 第3セキュア領域
34 プログラム保存領域
25 通常領域
30(30a、30b) 電子端末
31 記録メディア入出力インタフェース
32 端末起動部
33 記憶部
34 SM
35 端末側制御部
36 端末側認証部
41 PCR
42 SHA-1演算器
43 BIOS
44 ブートローダ
45 第1基本ソフト
46 第2基本ソフト
Claims (14)
- 電子端末と接続が可能な記録デバイスであって、
データを格納するセキュア領域と、
前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況を判定する端末状態判定部と、
前記判定された結果に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限するアクセス制御部とを含む
ことを特徴とする記録デバイス。 - 請求項1に記載の記録デバイスであって、
前記電子端末は、前記複数の構成要素の起動に伴って、自端末の構成を示す構成情報を逐次更新し、
前記端末状態判定部は、前記記録デバイスが前記電子端末に接続した時における前記構成情報を取得して、取得した構成情報に基づいて前記判定を行う
ことを特徴とする記録デバイス。 - 請求項2に記載の記録デバイスであって、
前記記録デバイスは、前記電子端末を制御するコードを含む端末制御プログラムを記録しており、
前記端末制御プログラムは、前記記録デバイスが前記電子端末と接続した時に前記電子端末によって読み出されて実行され、
前記端末制御プログラムには、前記構成情報を前記記録デバイスに出力させる出力ステップが含まれ、
前記端末状態判定部は、前記端末制御プログラムが前記電子端末において実行され前記出力ステップによって出力された前記構成情報を受け付けて、受け付けた構成情報に基づいて前記判定を行う
ことを特徴とする記録デバイス。 - 請求項2に記載の記録デバイスであって、
前記記録デバイスは、前記電子端末を制御するコードを含む端末制御プログラムを記録しており、
前記端末制御プログラムは、固有の情報を含んでおり、前記記録デバイスが前記電子端末と接続した時に前記電子端末によって読み出されて実行され、
前記構成情報は、前記複数の構成要素のそれぞれが起動する都度、更新され、
前記端末制御プログラムには、前記電子端末に実行させる処理として、
前記複数の構成要素のうち、未起動の構成要素を起動させる際に、前記未起動の構成要素の起動に伴う構成情報の更新を行う更新ステップが含まれ、
前記更新ステップにおいて、前記端末制御プログラムは、前記更新にかかる構成情報を、前記未起動の構成要素と前記固有の情報に依存した情報にする処理を前記電子端末に行わせることにより前記更新を行う
ことを特徴とする記録デバイス。 - 請求項4に記載の記録デバイスであって、
前記記録デバイスは、
前記複数の構成要素が起動完了したならば構成情報がとるべき情報を比較情報として保持しており、
前記比較情報には、前記更新ステップにおいて、前記複数の構成要素のいずれを対象として前記更新を行ったかに応じて定まる、構成情報がとるべき情報が複数含まれ、
前記端末状態判定部は、
取得した構成情報を、前記比較情報に含まれる複数の前記構成情報がとるべき情報と比較し、そのいずれと一致するかにより前記判定を行う
ことを特徴とする記録デバイス。 - 請求項2に記載の記録デバイスであって、
前記電子端末は、起動時またはリセット時に構成情報を初期化し、前記複数の構成要素が段階的に起動されるのに伴って段階ごとに前記構成情報に情報を追加することで構成情報の更新を行うものであり、
前記端末状態判定部は、
前記段階ごとに追加されるべき各情報の有無により前記判定を行う
ことを特徴とする記録デバイス。 - 請求項2に記載の記録デバイスであって、
前記電子端末は、前記複数の構成要素が段階的に起動されるのに伴って、段階ごとに前記構成情報を更新するものであり、
前記端末状態判定部は、
前記段階のそれぞれにおいて構成情報がとるべき情報それぞれと、前記記録デバイスが前記電子端末に接続した時における前記構成情報とを比較し、いずれと一致するかにより前記判定を行う
ことを特徴とする記録デバイス。 - 請求項1に記載の記録デバイスであって、
前記セキュア領域は、前記端末状態判定部による判定が行われた場合にのみアクセス可能であり、
前記電子端末は、
前記記録デバイスの接続を検知する入出力インタフェースと、
前記入出力インタフェースにより前記検知を行った際、(i)前記端末状態判定部による判定を含む第1のブート処理を実行させるか、(ii)前記端末状態判定部による判定を行わない第2のブート処理を実行させるかの選択をユーザから受け付ける受付手段とを備え、
前記受付手段が前記第1のブート処理を実行させることを受け付けた場合、前記端末状態判定部による判定のための処理を実行し、
前記受付手段が前記第2のブート処理を実行させることを受け付けた場合、前記端末状態判定部による判定のための処理を禁止する
ことを特徴とする記録デバイス。 - 請求項6に記載の記録デバイスであって、
前記電子端末は、TCG(Trusted Computing Group)により仕様が定められたTPM(Trusted Platform Module)を含んでおり、
前記TPMには、前記複数の構成要素の起動に伴って各構成要素のハッシュ値が送り込まれ、
前記TPMは、PCRを複数備え、送り込まれたハッシュ値を用いてPCRを拡張する処理を行って各PCRに値を格納し、
前記構成情報とは、拡張処理が行われて各PCRに格納されている値のことであり、
前記端末状態判定部は、前記記録デバイスが前記電子端末に接続した時における前記電子端末の所定のPCRに、初期値以外の値が格納されているか否かに応じて前記判定を行う
ことを特徴とする記録デバイス。 - 請求項7に記載の記録デバイスであって、
前記電子端末は、TCG(Trusted Computing Group)により仕様が定められたTPM(Trusted Platform Module)を含んでおり、
前記TPMには、前記複数の構成要素の起動に伴って各構成要素のハッシュ値が送り込まれ、
前記TPMは、PCRを備え、送り込まれたハッシュ値を用いてPCRを拡張する処理を行ってPCRに値を格納し、
前記構成情報とは、拡張処理が行われてPCRに格納されている値のことであり、
前記端末状態判定部は、前記段階のそれぞれにおいて前記PCRに格納されるべき値それぞれと、前記記録デバイスが前記電子端末に接続した時におけるPCRの値とを比較し、いずれと一致するかにより前記判定を行う
ことを特徴とする記録デバイス。 - 電子端末と接続が可能な記録デバイスであって、
データを格納するセキュア領域と、
前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況が、複数の起動状態のいずれに該当するかを示す起動状態情報を取得する取得手段と、
取得した起動状態情報に示される起動状態に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限するアクセス制御部とを含む
ことを特徴とする記録デバイス。 - 電子端末と接続が可能であり、データを格納するセキュア領域を有する記録デバイスに用いられる集積回路であって、
前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況を判定する端末状態判定部と、
前記判定された結果に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限するアクセス制御部とを含む
ことを特徴とする集積回路。 - 電子端末と接続が可能であり、データを格納するセキュア領域を有する記録デバイスに対する電子端末からのアクセスを制限するアクセス制限方法であって、
前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況を判定する端末状態判定ステップと、
前記判定された結果に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限するアクセス制御ステップとを含む
ことを特徴とするアクセス制限方法。 - 電子端末と接続が可能であり、データを格納するセキュア領域を有する記録デバイスに対する電子端末からのアクセスを制限する処理を前記記録デバイスに行わせるためのコンピュータ読み取り可能な制御プログラムを記録するプログラム記録媒体であって、
前記制御プログラムは、
前記記録デバイスが前記電子端末に接続した時に、前記電子端末の起動処理時に段階的に起動される前記電子端末の複数の構成要素の起動完了状況を判定する処理を前記記録デバイスに行わせる端末状態判定ステップと、
前記判定された結果に応じて、前記セキュア領域のうち前記電子端末からのアクセスが可能な範囲を制限する処理を前記記録デバイスに行わせるアクセス制御ステップとを含む
ことを特徴とするプログラム記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007310986A JP5001123B2 (ja) | 2006-12-07 | 2007-11-30 | 記録デバイス、集積回路、アクセス制御方法、プログラム記録媒体 |
US11/951,051 US20080278285A1 (en) | 2006-12-07 | 2007-12-05 | Recording device |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006330193 | 2006-12-07 | ||
JP2006330193 | 2006-12-07 | ||
JP2007310986A JP5001123B2 (ja) | 2006-12-07 | 2007-11-30 | 記録デバイス、集積回路、アクセス制御方法、プログラム記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008165758A JP2008165758A (ja) | 2008-07-17 |
JP5001123B2 true JP5001123B2 (ja) | 2012-08-15 |
Family
ID=39695094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007310986A Active JP5001123B2 (ja) | 2006-12-07 | 2007-11-30 | 記録デバイス、集積回路、アクセス制御方法、プログラム記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080278285A1 (ja) |
JP (1) | JP5001123B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5355351B2 (ja) * | 2009-11-06 | 2013-11-27 | 株式会社日立ソリューションズ | コンピュータ |
JP5986897B2 (ja) * | 2012-11-13 | 2016-09-06 | Kddi株式会社 | 端末装置、完全性検証システム、およびプログラム |
CN104268461B (zh) * | 2014-09-16 | 2018-03-06 | 华为技术有限公司 | 一种可信度量方法及装置 |
US10225736B2 (en) * | 2014-10-06 | 2019-03-05 | Lg Electronics Inc. | Method and apparatus for managing authentication in wireless communication system while subscriber identity module is not available |
JP6494373B2 (ja) * | 2015-03-31 | 2019-04-03 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム |
US10262164B2 (en) | 2016-01-15 | 2019-04-16 | Blockchain Asics Llc | Cryptographic ASIC including circuitry-encoded transformation function |
US10489142B1 (en) * | 2018-02-09 | 2019-11-26 | American Megatrends International, Llc | Secure firmware integrity monitoring using rest over IPMI interface |
FR3079044B1 (fr) * | 2018-03-14 | 2020-05-22 | Ledger | Traitement securise de donnees |
US10372943B1 (en) | 2018-03-20 | 2019-08-06 | Blockchain Asics Llc | Cryptographic ASIC with combined transformation and one-way functions |
JP7040215B2 (ja) * | 2018-03-29 | 2022-03-23 | 富士通株式会社 | アクセス制御装置、アクセス制御プログラムおよびアクセス制御システム |
US10256974B1 (en) | 2018-04-25 | 2019-04-09 | Blockchain Asics Llc | Cryptographic ASIC for key hierarchy enforcement |
US11561907B2 (en) | 2020-08-18 | 2023-01-24 | Micron Technology, Inc. | Access to data stored in quarantined memory media |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6694434B1 (en) * | 1998-12-23 | 2004-02-17 | Entrust Technologies Limited | Method and apparatus for controlling program execution and program distribution |
GB9905056D0 (en) * | 1999-03-05 | 1999-04-28 | Hewlett Packard Co | Computing apparatus & methods of operating computer apparatus |
US6633981B1 (en) * | 1999-06-18 | 2003-10-14 | Intel Corporation | Electronic system and method for controlling access through user authentication |
US6412068B1 (en) * | 1999-07-07 | 2002-06-25 | Dell Products, L.P. | Card management bus and method |
US6473857B1 (en) * | 1999-12-06 | 2002-10-29 | Dell Products, L.P. | Centralized boot |
US20030120827A1 (en) * | 2001-12-20 | 2003-06-26 | Dominic Fulginiti | Method and apparatus for automatically detecting machine states during an operating system installation through a network |
JP3863447B2 (ja) * | 2002-03-08 | 2006-12-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 認証システム、ファームウェア装置、電気機器、及び認証方法 |
JP2004171416A (ja) * | 2002-11-21 | 2004-06-17 | Ntt Docomo Inc | 通信端末、価値実体提供サーバ、アプリケーション配信サーバ、電子購買支援システム、電子購買支援方法、及び電子購買支援プログラム |
JP2004295504A (ja) * | 2003-03-27 | 2004-10-21 | Fujitsu Ltd | セキュリティ管理プログラムおよびセキュリティ管理方法 |
US20050132031A1 (en) * | 2003-12-12 | 2005-06-16 | Reiner Sailer | Method and system for measuring status and state of remotely executing programs |
US20060085629A1 (en) * | 2003-12-24 | 2006-04-20 | Intel Corporation | Mapping a reset vector |
US20050221766A1 (en) * | 2004-03-31 | 2005-10-06 | Brizek John P | Method and apparatus to perform dynamic attestation |
US20060047944A1 (en) * | 2004-09-01 | 2006-03-02 | Roger Kilian-Kehr | Secure booting of a computing device |
JP2006092081A (ja) * | 2004-09-22 | 2006-04-06 | Hitachi Software Eng Co Ltd | 不特定者または多数者が利用するパソコンの安全な起動利用方法及びそのような利用を実現する記録媒体 |
US7725703B2 (en) * | 2005-01-07 | 2010-05-25 | Microsoft Corporation | Systems and methods for securely booting a computer with a trusted processing module |
US7681226B2 (en) * | 2005-01-28 | 2010-03-16 | Cisco Technology, Inc. | Methods and apparatus providing security for multiple operational states of a computerized device |
JP4093494B2 (ja) * | 2005-09-08 | 2008-06-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 秘密情報へのアクセスを制御するシステムおよびその方法 |
-
2007
- 2007-11-30 JP JP2007310986A patent/JP5001123B2/ja active Active
- 2007-12-05 US US11/951,051 patent/US20080278285A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20080278285A1 (en) | 2008-11-13 |
JP2008165758A (ja) | 2008-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5001123B2 (ja) | 記録デバイス、集積回路、アクセス制御方法、プログラム記録媒体 | |
US6609199B1 (en) | Method and apparatus for authenticating an open system application to a portable IC device | |
US7139915B2 (en) | Method and apparatus for authenticating an open system application to a portable IC device | |
US9229706B2 (en) | Method and apparatus for field firmware updates in data storage systems | |
JP4982825B2 (ja) | コンピュータおよび共有パスワードの管理方法 | |
Kinney | Trusted platform module basics: using TPM in embedded systems | |
EP2854066B1 (en) | System and method for firmware integrity verification using multiple keys and OTP memory | |
US8429389B2 (en) | ROM BIOS based trusted encrypted operating system | |
US8332930B2 (en) | Secure use of user secrets on a computing platform | |
Garriss et al. | Trustworthy and personalized computing on public kiosks | |
AU2008200225B2 (en) | ROM bios based trusted encrypted operating system | |
JP6391439B2 (ja) | 情報処理装置、サーバ装置、情報処理システム、制御方法及びコンピュータプログラム | |
CN109983465A (zh) | 增强的安全引导 | |
TW200820076A (en) | Portable mass storage with virtual machine activation | |
JP4724107B2 (ja) | リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ | |
EP3338214B1 (en) | Secure computation environment | |
CN113448681B (zh) | 一种虚拟机监控器公钥的注册方法、设备和存储介质 | |
WO2024036832A1 (zh) | 基于tpm的智能密码钥匙密码应用接口的实现方法 | |
US12019752B2 (en) | Security dominion of computing device | |
US8914901B2 (en) | Trusted storage and display | |
Amato et al. | Mobile Systems Secure State Management | |
JP5126530B2 (ja) | コンピュータの環境を測定する機能を備えた外部記憶デバイス | |
CN114780929A (zh) | 一种电子设备及处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101019 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120329 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120424 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120517 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5001123 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150525 Year of fee payment: 3 |