JP2006023943A - 情報処理装置、制御方法及びプログラム - Google Patents
情報処理装置、制御方法及びプログラム Download PDFInfo
- Publication number
- JP2006023943A JP2006023943A JP2004200805A JP2004200805A JP2006023943A JP 2006023943 A JP2006023943 A JP 2006023943A JP 2004200805 A JP2004200805 A JP 2004200805A JP 2004200805 A JP2004200805 A JP 2004200805A JP 2006023943 A JP2006023943 A JP 2006023943A
- Authority
- JP
- Japan
- Prior art keywords
- disk device
- password
- removable disk
- storage means
- information processing
- 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.)
- Withdrawn
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
【課題】 高いセキュリティ管理の信頼性を維持しつつ、ユーザの利便性を高める。
【解決手段】 パスワードによるセキュリティ管理された複数の記憶装置を有する情報処理装置は、複数の記憶装置のうち、第1記憶装置のパスワードを入力する入力部と、入力されたパスワードにより、第1の記憶装置のセキュリティ管理を解除する第1解除部と、第1記憶装置に、複数の記憶装置のうち、第1記憶装置を除く他の記憶装置のパスワードを保持する保持部と、保持されたパスワードによって、他の記憶装置のセキュリティ管理を解除する第2解除部とを備える。
【選択図】 図1
【解決手段】 パスワードによるセキュリティ管理された複数の記憶装置を有する情報処理装置は、複数の記憶装置のうち、第1記憶装置のパスワードを入力する入力部と、入力されたパスワードにより、第1の記憶装置のセキュリティ管理を解除する第1解除部と、第1記憶装置に、複数の記憶装置のうち、第1記憶装置を除く他の記憶装置のパスワードを保持する保持部と、保持されたパスワードによって、他の記憶装置のセキュリティ管理を解除する第2解除部とを備える。
【選択図】 図1
Description
本発明は、ハードディスク装置を備えた情報処理装置、特にパスワードによるセキュリティ管理が可能なハードディスク装置、リムーバブルディスク装置を備えた情報処理装置、情報処理装置の制御方法、かかる制御方法をコンピュータに実行させるプログラム等に関するものである。
近年、ハードディスク装置は、大容量化、および低価格化が急速に進んでおり、パーソナルコンピュータ(PC)等の補助記憶装置として広く使用され、ハードディスク装置に保存されているデータのセキュリティを確保するための対策がますます重要になっている。ここで、ハードディスク装置等に代表されるディスク装置に保存されているデータのセキュリティを確保するためのアクセス制御方法として、いくつかの方法が知られている。
例えば、ハードディスク装置の標準インタフェースとして知られているATAインタフェース規格(非特許文献1)では、ディスク装置に格納されるデータのセキュリティを確保するためのアクセス制御方法が「Security Mode feature set」として規定されている。ATAでは、User password(以下、ATAパスワード)を設定することによりセキュリティシステムが有効となり、ATAパスワードの認証なしにはディスク装置へのアクセスができなくなる仕組みとなっている。
また、特許文献1では、ハードディスク上にロック機構のためのプログラム領域を設け、パスワードに基づく認証によるセキュリティチェックを行う方法が開示されている。
一方、PC等の情報処理装置で扱うデータ量の増大化に対応するため、ディスク装置自体の容量拡張はもちろんのこと、1台の情報処理装置に複数のディスク装置を接続する場合がある。
特に最近では、iVDR(非特許文献2)に代表されるリムーバブルハードディスク装置を備え、ディスク装置の容量拡張に応える情報処理装置が提案されている。
ここで、先に述べたディスク装置のセキュリティについて考えた場合、複数のディスク装置に対してセキュリティを確保することが重要となってくる。特にiVDR等のリムーバブルディスクは、情報処理装置本体から取り外すことも多いため、より強固なセキュリティの確保が求められている。
そこで、従来のATAパスワード等によるロック機構では、ディスク装置に対するアクセスを可能にするか、または不可能にすることしかできなくなるため、複数のディスク装置を備える情報処理装置においては、ディスク装置毎に個別のパスワードを設定するか、または、全てのディスク装置に同一のパスワードを設定する方法が採られている。
AT Attachment、http://www.t13.org/ 特開2003−150455号公報
Information Versatile Disk for Removable usage、http://www.ivdr.org/
AT Attachment、http://www.t13.org/
しかしながら、ディスク装置毎に個別のパスワードを設定する方法では、ロック解除のためにディスク装置の数だけパスワードを入力する必要があり、操作が煩わしかったり、どのディスクにどのパスワードを設定しているかを忘れてしまったりすることがある。そのため、煩わしさから逃れようとパスワードを設定しないで使用する場合があり、セキュリティを確保するためのパスワードロック機構が有効に利用されないことがあった。
また、全てのディスク装置に同一のパスワードを設定する方法では、iVDR等のリムーバブルディスク装置に対しても同一のパスワードを使用することとなり、リムーバブルディスクを他人に利用させる場合など、常に使用しているパスワードを他人に教えることとなり、セキュリティ上好ましくないという問題があった。
本発明は以上の問題を鑑みてなされたものであり、PC等情報処理装置において、複数のディスク装置を使用する場合、ディスク装置毎に個別のパスワードを設定することができ、使用時には1つのディスク装置のパスワードを入力することにより全てのディスク装置のロック機構を解除することが可能な、高いセキュリティ管理の信頼性を確保し、かつ利便性の高いディスク装置を備えた情報処理装置等を提供することを目的とする。
上記目的を達成するために、本発明にかかる情報処理装置は以下の構成を備える。
すなわち、パスワードによるセキュリティ管理された複数の記憶手段を有する情報処理装置は、
前記複数の記憶手段のうち、第1記憶手段のパスワードを入力する入力手段と、
前記入力されたパスワードにより、前記第1の記憶手段のセキュリティ管理を解除する第1解除手段と、
前記第1記憶手段に、前記複数の記憶手段のうち、当該第1記憶手段を除く他の記憶手段のパスワードを保持する保持手段と、
前記保持されたパスワードによって、当該他の記憶手段のセキュリティ管理を解除する第2解除手段とを備えることを特徴とする。
前記複数の記憶手段のうち、第1記憶手段のパスワードを入力する入力手段と、
前記入力されたパスワードにより、前記第1の記憶手段のセキュリティ管理を解除する第1解除手段と、
前記第1記憶手段に、前記複数の記憶手段のうち、当該第1記憶手段を除く他の記憶手段のパスワードを保持する保持手段と、
前記保持されたパスワードによって、当該他の記憶手段のセキュリティ管理を解除する第2解除手段とを備えることを特徴とする。
上記目的を達成するために、本発明にかかる制御方法は以下の構成を備える。
すなわち、パスワードによるセキュリティ管理された複数の記憶手段を有する装置の制御方法は、
前記複数の記憶手段のうち、第1記憶手段のパスワードを入力する入力工程と、
前記入力されたパスワードにより、前記第1の記憶手段のセキュリティ管理を解除する第1解除工程と、
前記第1記憶手段は、前記複数の記憶手段のうち、当該第1記憶手段を除く他の記憶手段のパスワードを保持しており、前記保持されたパスワードにより、当該他の記憶手段のセキュリティ管理を解除する第2解除工程とを備えることを特徴とする。
前記複数の記憶手段のうち、第1記憶手段のパスワードを入力する入力工程と、
前記入力されたパスワードにより、前記第1の記憶手段のセキュリティ管理を解除する第1解除工程と、
前記第1記憶手段は、前記複数の記憶手段のうち、当該第1記憶手段を除く他の記憶手段のパスワードを保持しており、前記保持されたパスワードにより、当該他の記憶手段のセキュリティ管理を解除する第2解除工程とを備えることを特徴とする。
上記目的を達成するために、本発明にかかるプログラムは上記の制御方法をコンピュータに実行させることを特徴とする。
また、上記目的を達成するために、本発明にかかるコンピュータ可読の記憶媒体は上記のプログラムを格納したことを特徴とする。
本発明によれば、複数の記憶装置(第1記憶装置および他の記憶装置)に個別のパスワードを設定し、かかるパスワードによる認証に基づいて個別の記憶装置のセキュリティを管理する場合であっても、記憶装置の使用時には代表となる第1記憶装置のパスワードの入力によりセキュリティ管理の解除を行うだけで、他の記憶装置に対するパスワードの認証によるセキュリティ管理の解除は情報処理装置内部の処理により実行することが可能となり、高いセキュリティ管理の信頼性を維持しつつ利便性を高めることが可能になる。
以下、図面を参照しながら、本発明の実施形態を説明する。
図1は、本発明の実施形態に係る情報処理装置のシステム全体の構成を示すブロック図である。同図において、CPU101は、情報処理装置100全体の制御を行う。メインメモリ105には、CPU101により実行されるプログラム等がロードされる。グラフィックコントローラ107は、ディスプレイ108の表示を制御する。
ノースブリッジ103は、CPUローカルバス102、メモリバス104、AGP(Accelerated Graphics Port)バス106、PCI(Peripheral Component Interconnect)バス109を接続するためのブリッジである。サウスブリッジ111は、ATA(AT Attachment)バス112、114、PCIバス121、LPC(Low Pin Count)バス151を接続するブリッジである。
ハードディスク装置113は、CPU101により実行される各種のプログラム(オペレーティングシステム、デバイスドライバ、アプリケーションプログラム等)や、各種の管理情報を記憶する。ハードディスク装置113に記憶されたプログラムは必要に応じてメインメモリ105にロードされる。CD/DVDドライブ装置115は、CD、あるいはDVDといった記憶メディアにアクセスし、各種のプログラムや情報を情報処理装置100にインストールしたり、あるいはコピーしたりする際に使用される。
PCIバス121には、NIC(Network Interface Card)122とインターフェース制御部123が接続している。NIC122は情報処理装置100をネットワーク(例えばLAN等)に接続する。インターフェース制御部123は、リムーバブルスロット部132に挿入され、ATAバス131と接続するリムーバブルディスク装置141と各種のデータ通信を行う。
LPCバス151には、BIOS−ROM152とエンベデッドコントローラ(以後、「EC」と称す。)153が接続している。
BIOS−ROM152は、情報処理装置100内の各種ハードウェアがアクセスするファンクション実行ルーチンを体系化したプログラムを記憶し、情報処理装置100の起動時に読み出されるものである。一般に、BIOSは情報処理装置100内で不揮発性メモリ(フラッシュROM等)の一部に記憶されている。
EC153は、キーボード154によるキー入力操作を制御するとともに、排出スイッチ155の押下の検知、及び挿抜検知部161、モータ制御部162、ロック制御部163をも制御する。即ち、リムーバブルディスク装置141のリムーバブルスロット部132への挿入を、EC153が挿抜検知部161経由で検知した場合、リムーバブルディスク装置141がATAバス131に接続されるよう、モータ制御部162にローディングの指示をし、ローディング終了を待ってロック制御部163へリムーバブルディスク装置141のメカニカルなロックを指示する。また排出スイッチ押下155によるリムーバブルディスク装置141の排出時も同様に、EC153は、ロック制御部163へロックの解除を指示した後、モータ制御部162にイジェクトの指示を行い、挿抜検知部161経由で排出処理の完了を検知する。
図2は、情報処理装置100上で動作する主なソフトウエア・コンポーネントの概略構成を示すブロック図である。情報処理装置100は、ソフトウエア・コンポーネントとして、リムーバブルディスク装置141の入出力を制御するBIOS200、リムーバブルディスク装置141を制御するための着脱制御ドライバ201、OS202、ユーティリティ203とを備えている。
BIOS200は、リムーバブルディスク装置141の着脱を検知し、着脱制御ドライバ201とリムーバブルディスク装置141との間のコマンドの受け渡し、またその応答の返送を行い、OS202に対してPnPイベントを通知するなどの制御を行う。
着脱制御ドライバ201は、BIOS200の検知に基づいてリムーバブルディスク装置141の着脱を認識すると、BIOS200に対してコマンドの発行や、その結果の取得を依頼するなどの制御を行う。
OS202は、BIOS200からリムーバブルディスク装置141を含む各種デバイスの着脱の状態を受信すると、その状態に応じて、自身の初期化や着脱制御ドライバ201のロードなどの制御を行う。
ユーティリティ203は、着脱制御ドライバ201の要求に応じて、ディスプレイ108にパスワード入力画面を表示し、ユーザに対してパスワードの入力を促し、ユーザによって入力されたパスワードを着脱制御ドライバ201に対して供給するなどの制御を行う。
図3は、本実施形態に係るリムーバブルディスク装置141における媒体301上のデータレイアウトと、リムーバブルディスク装置141と情報処理装置100との論理的な接続関係を示した図である。
リムーバブルディスク装置141は媒体301、フラッシュメモリ302、RAM303、およびリムーバブル装置141の動作をコントロールするための制御回路390を有している。媒体301は、ユーザデータ領域304、リスト領域305の2つの領域を有している。リムーバブルディスク装置141と情報処理装置100とは、ATAバス131(図1を参照)を介して、論理的な3つの接続用の経路314、315、316により接続する。フラッシュメモリ302上に設けられた管理領域306は、リムーバブルディスク装置141自体の動作を制御するための情報を記憶する領域であって、ATAパスワード307と、アクセスコントロール設定情報308とを記憶する。ユーザデータ領域304は、ユーザデータを記憶する領域であって、通常パソコン等によってディスク装置に保存されるデータはここに記憶される。リスト領域305は、ユーザデータ領域304とは別に設けられた領域であって、例えばリムーバブルディスク装置141のタイトル情報や所有者情報など、情報処理装置100のオペレーティングシステムやユーザデータ領域304のフォーマットに依存しない情報を記憶する。情報処理装置100からリスト領域305へのアクセスには、後述する専用のATAコマンドを使用する。
ATAパスワード307は、アクセスコントロール設定レジスタ309とユーザデータ領域304へのアクセスを制限するためのパスワードであって、情報処理装置100より入力されたパスワードと、ATAパスワード307に記憶しているパスワードとが一致した場合のみ、アクセスコントロール設定レジスタ309とユーザデータ領域304へのアクセスが可能になるよう制御される。
アクセスコントロール設定情報308は、ユーザデータ領域304およびリスト領域305へのアクセスを制限するための情報であって、情報処理装置100からアクセスコントロール設定情報308へのアクセスは、RAM303上に設けられたアクセスコントロール設定レジスタ309を介して行う。アクセスコントロール設定レジスタ309へのアクセスには、後述する専用のATAコマンドを使用する。情報処理装置100から、ユーザデータ領域304とリスト領域305へのアクセスの可否は、アクセスコントロール設定レジスタ309の情報を基に制御される。
制御回路390内に含まれる論理スイッチ310、311、312、313は、経路314、315、316のアクセス制御を、スイッチの形で模式的に表したものであり、情報処理装置100とリムーバルディスク装置141との間で、各経路314、315、316を介した通信は、スイッチのONで行われ、OFFの状態で通信が行われないように制御回路390が制御する。
なお本説明では、管理領域306はフラッシュメモリ302に設けられているとしたが、本実施形態はこの形態に限定されるものではなく、例えば、管理領域306を媒体301に設けるようにしても構わない。
次に、アクセスコントロール設定情報308と、アクセスコントロール設定レジスタ309について詳細に説明する。上述したように、アクセスコントロール設定レジスタ309は、情報処理装置100からアクセスコントロール設定情報308へのアクセスを行うためのレジスタであり、アクセスコントロール設定情報308とアクセスコントロール設定レジスタ309のデータフォーマットは同一となる。これらのデータフォーマットを図4に示す。
図4は、アクセスコントロール設定情報のデータフォーマットを示す図であり、bit6「User Data Write」は、情報処理装置100からユーザデータ領域304へのデータ書き込みを制限するための情報であって、値が0(Disable)のときは書き込み不可、値が1(Enable)のときは書き込み可能を表す。
bit5「User Data Read」は、ユーザデータ領域304からのデータ読み出しを制限するための情報であって、値が0(Disable)の時は読み出し不可、値が1(Enable)の時は読み出し可能を表す。
bit4「List Data Write」は、リスト領域305へのデータ書き込みを制限するための情報であって、値が0(Disable)のときは書き込み不可、値が1(Enable)のときは書き込み可能を表す。
bit3「List Data Read」は、リスト領域305からのデータ読み出しを制限するための情報であって、値が0(Disable)の時は読み出し不可、値が1(Enable)の時は読み出し可能を表す。
bit2「Initial Control」は、電源投入時ならびにハードウェアリセット時、アクセスコントロール設定情報308をアクセスコントロール設定レジスタ309にコピーする際に、上述したbit3〜6の情報に対して制限を設けるための情報であって、本bit2の値が0(Disable)のときは、アクセスコントロール設定情報308のbit3〜6に記憶された値が0または1の何れであっても、アクセスコントロール設定レジスタ309には0をコピーする。本bit2の値が1(Hold)のときは、アクセスコントロール設定情報308のbit3〜6に記憶された値をそのままアクセスコントロール設定レジスタ309にコピーする。
bit1「Utility 1」と、bit0「Utility 0」は、情報処理装置100が利用するための情報を記憶しておくためのフラグであって、例えば、リムーバブルディスク装置141が起動ドライブである場合にbit1「Utility 1」を1に設定する、などといったように情報処理装置100によって自由に利用されることを想定している。このbit1、bit0は、リムーバブルディスク装置141自体の動作に影響を与えるのもではなく、情報処理装置100によってのみ利用されるものである。
次に、アクセスコンロトール設定レジスタ309およびリスト領域305にアクセスするための専用ATAコマンドとステータスについて図5を参照しながら説明する。
図5(a)は情報処理装置100からリムーバルディスク141へのアクセスをコントロールするための専用ATAコマンドの内容を示す図であり(データアウトフェーズ)、図5(b)はリムーバルディスク141から情報処理装置100へのレスポンス(データインフェーズ)を示す図である。専用ATAコマンドは、アクセスコントロール設定レジスタ309に値を書き込むための「Set Access Control」、アクセスコントロール設定レジスタ309の値を読み出すための「Read Access Control」、リスト領域305にデータを書き込むための「Put List Data」、リスト領域305のデータを読み出すための「Get List Data」、の4つのコマンドを有する。
Set Access ControlコマンドのプロトコルはPIOデータアウトであり、ATAレジスタのCommandレジスタにFFh、Featuresレジスタに03h、Sector Countレジスタにアクセスコントロール設定値、をセットすることを表している。さらに、データアウトフェーズではパスワードを送信することを表している。
Read Access ControlコマンドのプロトコルはPIOデータアウトであり、ATAレジスタのCommandレジスタにFFh、Featuresレジスタに04h、をセットする。さらに、データアウトフェーズではパスワードを送信する。また、コマンドに対するステータスとして、Sector Countレジスタに、読み出されたアクセスコントロール設定値がセットされる。
Put List DataコマンドのプロトコルはPIOデータアウトであり、ATAレジスタのCommandレジスタにFFh、Featuresレジスタに05h、Sector Countに書き込むデータのセクタ数、Sector Number、Cylinder High、Cylinder Lowレジスタにリスト領域305内の書き込み先の先頭アドレスをセットする。さらに、データアウトフェーズでは、リスト領域305に書き込むデータを送信する。また、コマンドに対するステータスとして、Sector Countには実際に書き込んだセクタ数、Sector Number、Cylinder High、Cylinder Lowレジスタにはリスト領域305内にデータを書き込んだ最終アドレスがセットされる。
Get List DataコマンドのプロトコルはPIOデータインであり、ATAレジスタのCommandレジスタにFFh、Featuresレジスタに06h、Sector Countに読み出すデータのセクタ数、Sector Number、Cylinder High、Cylinder Lowレジスタにリスト領域305内の読み出し先の先頭アドレスをセットする。また、コマンドに対するステータスとして、Sector Countには実際に読み出したセクタ数、Sector Number、Cylinder High、Cylinder Lowレジスタにはリスト領域305内からデータを読み出した最終アドレスがセットされる。さらに、データインフェーズでは、リスト領域305から読み出されたデータが送信される。
[リムーバブルディスク装置の挿入からプラグインまでの処理]
次にリムーバブルディスク装置の挿入からプラグインまでの処理を添付の図6、図7を参照して説明する。図6は、本発明の実施形態に係る情報処理装置100において、リムーバブルディスク装置141がリムーバブルスロット部132に挿入されてから、オペレーティングシステム(以後、OSと称す)202へリムーバブルディスク装置141の装着が通知されるまでの手順について、各種のプログラム(図2)間における処理を示すブロック図である。なお、図6は左側から右側に向かって時系列順に記述されている。
次にリムーバブルディスク装置の挿入からプラグインまでの処理を添付の図6、図7を参照して説明する。図6は、本発明の実施形態に係る情報処理装置100において、リムーバブルディスク装置141がリムーバブルスロット部132に挿入されてから、オペレーティングシステム(以後、OSと称す)202へリムーバブルディスク装置141の装着が通知されるまでの手順について、各種のプログラム(図2)間における処理を示すブロック図である。なお、図6は左側から右側に向かって時系列順に記述されている。
リムーバブルディスク装置141が情報処理装置100のリムーバブルスロット部132に挿入された場合、挿抜検知部161はその旨をEC153へ通知する。さらにEC153は、BIOS200へリムーバブルディスク装置141の挿入を通知する(ステップS601)。
リムーバブルディスク装置141の挿入の通知を受信したBIOS200は、リムーバブルディスク装置141をインターフェース制御部123へ接続するために、挿入されたリムーバブルディスク装置141のローディング処理を行うようEC153に指示する(ステップS602)。ローディング処理の指示を受信したEC153は、モータ制御部162を動作させ、リムーバブルディスク装置141のローディング処理を行う。
次にBIOS200は、ローディング処理の終了を待って、リムーバブルディスク装置141の不用意な取り外しが行われないようにするために、ローディング処理されたリムーバブルディスク装置141のメカニカルなロック処理を行うようEC153に指示する(ステップS603)。メカニカルなロック処理の指示を受信したEC153は、ロック制御部163を動作させ、リムーバブルディスク装置141のメカニカルなロック処理を行う。なお、ローディング処理、及びメカニカルなロック処理の終了の検知、あるいはエラー終了の検知は、BIOS200が定期的にEC153に問い合わせしてもよいし、時間、及びその他のセンサー等から判断してもよい。またステップS602のローディング処理の指示、及びステップS603のメカニカルなロック処理の指示を一度の指示にて行うようにしてもよい。
さらにBIOS200は、メカニカルなロック処理の終了後、リムーバブルディスク装置141のインターフェース制御部123への接続を、リムーバブルディスク装置141の着脱の制御を行う着脱制御ドライバ201へ通知する(ステップS604)。
リムーバブルディスク装置141のインターフェース制御部123への接続通知を受信した着脱制御ドライバ201は、接続されたリムーバブルディスク装置141の状態確認をBIOS200に対し指示する(ステップS605)。
リムーバブルディスク装置141に対する状態確認の指示を受信したBIOS200は、着脱制御ドライバ201からの指示に従って、リムーバブルディスク装置141の状態確認を行う(ステップS606)。具体的には、インターフェース制御部123、及びATAバス131を通じてIdentify Deviceコマンド(コード:ECh)をリムーバブルディスク装置141に送信し、その応答によりリムーバブルディスク装置141の状態を知ることができる。なお同コマンドは、ATA規格で規定されているコマンドである。
Identify Deviceコマンドを受信したリムーバブルディスク装置141は、その応答として自己の状態、及び性能等の情報をATAバス131、及びインターフェース制御部123を通じてBIOS200へ送信する。その返信される情報のワード128(図14を参照)にはリムーバブルディスク装置141のセキュリティ機能の情報がセットされており、ビット2の値により、そのリムーバブルディスク装置141がパスワードロックされているかどうかが識別可能である。 即ちリムーバブルディスク装置141の状態としてパスワードロックされているかどうかの情報がBIOS200へ返信される(ステップS607)。
Identify Deviceコマンドに対する応答を受信したBIOS200は、その応答を着脱制御ドライバ201へ通知することにより、リムーバブルディスク装置141の状態、即ちパスワードロックされているかどうか等の情報を着脱制御ドライバ201へ通知する(ステップS608)。
BIOS200からリムーバブルディスク装置141の状態、即ちパスワードロックされているかどうか等の情報を受信した着脱制御ドライバ201は、リムーバブルディスク装置141がパスワードロックされているどうか判断を行い、パスワードロックされていると判断された場合、ユーティリティ203へ、パスワードの要求を行う(ステップS609)。
着脱制御ドライバ201からパスワードの要求を受信したユーティリティ203は、ユーザに対してパスワードの入力画面をディスプレイ108に表示する。さらに、ユーティリティ203は、ユーザによってキーボード154を使用して入力されたパスワードを、着脱制御ドライバ201へ通知する(ステップS610)。
ユーティリティ203からのパスワードの通知を受信した着脱制御ドライバ201は、そのパスワードを用いた、リムーバブルディスク装置141のパスワードロックの解除をBIOS200に対し指示する(ステップS611)。
リムーバブルディスク装置141に対するパスワードロックの解除指示を受信したBIOS200は、着脱制御ドライバ201から受信したパスワードを用いて、リムーバブルディスク装置141のパスワードロックの解除を行う(ステップS612)。具体的には、インターフェース制御部123、及びATAバス131を通じてSecurity Unlockコマンド(コード:F2h)に受信したパスワードをセットしてリムーバブルディスク装置141に送信する。なお同コマンドは、ATA規格で規定されているコマンドである。
Security Unlockコマンドを受信したリムーバブルディスク装置141は、コマンドにセットされているパスワードが、リムーバブルディスク装置141内に記憶されている、パスワードロックを解除するパスワードと一致するかどうかの比較を行い、一致すればリムーバブルディスク装置141のパスワードロックを解除し、その旨をBIOS200へ返信する(ステップS613)。また一致しない場合においても、パスワードロックを解除しない旨をBIOS200へ返信する。
Security Unlockコマンドに対する応答を受信したBIOS200は、リムーバブルディスク装置141のパスワードロックの解除が成功したかどうかを、着脱制御ドライバ201へ通知する(ステップS614)。
リムーバブルディスク装置141のパスワードロックの解除が成功したかどうかの情報を受信した着脱制御ドライバ201は、ロック解除に成功した場合、OS202に対して、リムーバブルディスク装置141が、リムーバブルスロット部132に挿入され、ATAバス131を通じてインターフェース制御部123に接続、即ちプラグイン(Plug in)されたことを通知するよう、BIOS200に指示する(ステップS615)。
OS202に対して、リムーバブルディスク装置141が、リムーバブルスロット部132に挿入され、ATAバス131を通じてインターフェース制御部123に接続、即ちプラグインされたことを通知するよう指示されたBIOS200は、その旨をOS202に通知する(ステップS616)。その後通知を受けたOS202は、プラグアンドプレイ(Plug and Play)に必要な処理を行う。その結果、OS202上で動作する各種アプリケーションから、リムーバブルディスク装置141内の記憶領域に対してアクセス可能となる。
なお、ステップS614において、着脱制御ドライバ201が、パスワードロックの解除が成功しなかった旨の情報を受信した場合、その旨をユーティリティ203に表示するよう依頼し、ATA規格の許される限りの範囲で、ステップS609に戻り、繰り返し処理を行うことによって、リムーバブルディスク装置141に対してパスワードのロック状態の解除が試行される。
またステップS609において、リムーバブルディスク装置141がパスワードロックされていないと判断された場合、ユーティリティ203へのパスワードのリクエストを行わず、以降のステップS610からステップS614までの処理を省略し、着脱制御ドライバ201は、OS202に対して、リムーバブルディスク装置141が、リムーバブルスロット部132に挿入され、ATAバス131を通じてインターフェース制御部123に接続、即ちプラグインされたことを通知するよう、BIOS200に指示し、ステップS616へと移行する。
図7は、本発明の実施形態に係る情報処理装置100において、リムーバブルディスク装置141がリムーバブルスロット部132に挿入されてから、OS202に通知されるまでの、CPU101における処理の流れを説明するフローチャートである。
なお、リムーバブルディスク装置141が情報処理装置100のリムーバブルスロット部132に挿入された場合、挿抜検知部161はその旨をEC153へ通知し、さらにEC153がBIOS200へ通知することにより検知される。
リムーバブルディスク装置141の挿入を検知したBIOS200は、リムーバブルディスク装置141のローディング処理を行う(ステップS701)。即ちBIOS200は、リムーバブルディスク装置141をインターフェース制御部123へ接続するために、挿入されたリムーバブルディスク装置141のローディング処理を行うようEC153へ指示する。ローディング処理の指示を受信したEC153は、モータ制御部162を動作させ、リムーバブルディスク装置141のローディング処理を行う。
次にBIOS200は、ローディング処理の終了を待って、リムーバブルディスク装置141の不用意な取り外しが行われないようにするために、リムーバブルディスク装置141のメカニカルなロック処理を行う(ステップS702)。即ちBIOS200は、ローディング処理されたリムーバブルディスク装置141のメカニカルなロック処理を行うようEC153へ指示する。メカニカルなロック処理の指示を受信したEC153は、ロック制御部163を動作させ、リムーバブルディスク装置141のメカニカルなロック処理を行う。
さらにBIOS200は、メカニカルなロック処理の終了後、リムーバブルディスク装置141のインターフェース制御部123への接続を、リムーバブルディスク装置141の着脱の制御を行う着脱制御ドライバ201へ通知する(ステップS703)。
リムーバブルディスク装置141のインターフェース制御部123への接続通知を受信した着脱制御ドライバ201は、接続されたリムーバブルディスク装置141の状態確認を行う(ステップS704)。即ち着脱制御ドライバ201は、BIOS200に対し状態確認を指示し、BIOS200は、リムーバブルディスク装置141の状態確認を行う。具体的には、インターフェース制御部123、及びATAバス131を通じてIdentify Deviceコマンド(コード:ECh)をリムーバブルディスク装置141に送信し、その応答によりリムーバブルディスク装置141の状態を知ることができる。
Identify Deviceコマンドを受信したリムーバブルディスク装置141は、その応答として自己の状態、及び性能等の情報をATAバス131、及びインターフェース制御部123を通じてBIOS200へ送信する。その返信される情報のワード128(図14を参照)にリムーバブルディスク装置141のセキュリティ機能の情報がセットされており、ビット2の値により、そのリムーバブルディスク装置141がパスワードロックされているかどうかを判断可能である。即ちリムーバブルディスク装置141の状態としてパスワードロックされているかどうかの情報がBIOS200へ返信され、BIOS200は、その応答を着脱制御ドライバ201へ通知することにより、リムーバブルディスク装置141の状態、即ちパスワードロックされているかどうか等の情報が着脱制御ドライバ201へ通知される。
BIOS200からリムーバブルディスク装置141の状態、即ちパスワードロックされているかどうか等の情報を受信した着脱制御ドライバ201は、リムーバブルディスク装置141がパスワードロックされているどうか判断を行う(ステップS705)。リムーバブルディスク装置141がパスワードロックされている場合(S705-YES)、処理をステップS706へ移行し、パスワードロックされていない場合(S705-NO)は、処理をステップS708へ移行する。
ステップS706では、リムーバブルディスク装置141に対してパスワードロックの解除処理を行う。即ちユーティリティ203へパスワードのリクエストを行い、ユーティリティ203は、ユーザに対してパスワードの入力画面をディスプレイ108に表示してパスワードの入力を促す。ユーザにより入力されたパスワードは着脱制御ドライバ201へ通知され、そのパスワードを使用して着脱制御ドライバ201は、BIOS200経由でリムーバブルディスク装置141のパスワードロックの解除を行う。具体的には、インターフェース制御部123、及びATAバス131を通じて、Security Unlockコマンド(コード:F2h)に受信したパスワードをセットしてリムーバブルディスク装置141に送信する。Security Unlockコマンドを受信したリムーバブルディスク装置141は、コマンドにセットされているパスワードが、リムーバブルディスク装置141内に記憶されている、パスワードロックを解除するパスワードと一致するかどうか比較を行い、一致すればリムーバブルディスク装置141のパスワードロックを解除し、その旨をBIOS200経由で着脱制御ドライバ201へ通知する。なお、パスワードロックの解除が成功しなかった場合、その旨をユーティリティ203に表示するよう依頼し、ATA規格の許される限り、繰り返しユーザによるパスワード入力、及び入力されたパスワードを用いたパスワードロックの解除の試行が行われる。
次にステップS706の結果、リムーバブルディスク装置141のパスワードロックの解除が成功したかどうか判断する(ステップS707)。即ちATA規格にて許される回数内の試行でパスワードロックの解除が成功したかどうか判断する。解除が成功した場合(S707-YES)、処理をステップS708へ移行し、成功しなかった場合(S707-NO)は、処理をステップS709へ移行する。
ステップS708では、OS202に対して、リムーバブルディスク装置141がプラグインされたことを通知する。即ち、着脱制御ドライバ201は、リムーバブルディスク装置141が、リムーバブルスロット部132に挿入され、ATAバス131を通じてインターフェース制御部123に接続、即ちプラグインされたことを、OS202に通知するようBIOS200に指示する。BIOS200は、指示に従ってその旨をOS202に通知する。その後通知を受けたOS202は、プラグアンドプレイに必要な処理を行う。その結果、OS202上で動作する各種アプリケーションから、リムーバブルディスク装置141内の記憶領域に対してアクセス可能となる。
ステップS709では、ATA規格にて許される回数内の試行でパスワードロックの解除が成功しなく、リムーバブルディスク装置141がOS202上で動作する各種アプリケーションから使用可能にならない旨をユーティリティ203に表示させる。また、必要であるならばリムーバブルディスク装置141のロック制御部126を動作させメカニカルなロックの解除を行い、モータ制御部125を動作させリムーバブルディスク装置141をリムーバブルスロット部118からイジェクトさせてもよい。
以上説明したように、情報処理装置は、リムーバブルディスク装置がプラグインされた旨をOSへ通知する前に、リムーバブルディスク装置を確実にインターフェース制御部へ接続できるようにローディングし、メカニカルなロックを行うことができる。さらにセキュリティ機能によりパスワードロックされていればその解除を行った後に、OSへプラグインの旨を通知することにより、OSからのプラグイン処理をより安全に行える情報処理装置を提供することができる。
なお、上述の説明ではセキュリティ機能を有するリムーバブルディスク装置を例にして説明してきたが、予めセキュリティ機能を有さないと判明している可搬型記憶媒体であるリムーバブルディスク装置ならば、セキュリティ機能の確認、及びパスワードロックの解除にかかわる処理を省略することができる。
また、リムーバブルディスク装置に対してメカニカルなロック機能を有さない情報処理装置、あるいはリムーバブルディスク装置のローディング機能を有さない情報処理装置であるならば、それらの処理を省略してもよい。
[リスト領域305のデータの読み出しと保護に関する処理]
次に、リスト領域305のデータの読み出しと保護について説明する。情報処理装置100にリムーバブルディスク装置141が接続された後、OS202以外のプログラム(ユーティリティ203)がBIOS200を介してリムーバブルディスク装置141のリスト領域305から所定情報を読み出し、読み出し後にリスト領域305へのアクセスを禁止し、その後OS202に対してリムーバブルディスク装置141の接続を通知する。ここでは、上述の所定情報をリムーバブルディスク装置141へのアクセスを許可する認証情報として説明する。OS202が接続されたリムーバブルディスク装置141を認識する前に、ユーティリティ203はリムーバブルディスク装置141から認証情報を読み出して、リムーバブルディスク装置141にアクセスする際のユーザ認証を司るソフトウエアである認証制御コンポーネントにかかる認証情報を供給する。
次に、リスト領域305のデータの読み出しと保護について説明する。情報処理装置100にリムーバブルディスク装置141が接続された後、OS202以外のプログラム(ユーティリティ203)がBIOS200を介してリムーバブルディスク装置141のリスト領域305から所定情報を読み出し、読み出し後にリスト領域305へのアクセスを禁止し、その後OS202に対してリムーバブルディスク装置141の接続を通知する。ここでは、上述の所定情報をリムーバブルディスク装置141へのアクセスを許可する認証情報として説明する。OS202が接続されたリムーバブルディスク装置141を認識する前に、ユーティリティ203はリムーバブルディスク装置141から認証情報を読み出して、リムーバブルディスク装置141にアクセスする際のユーザ認証を司るソフトウエアである認証制御コンポーネントにかかる認証情報を供給する。
図8は、情報処理装置100上で動作するソフトウエア・コンポーネントの構成例を示した図である。同図では、図2で示した構成例にソフトウエア・コンポーネント801および802が追加されている。
既出のユーティリティ203は、着脱制御ドライバ201を介してBIOS200と通信し、リムーバブルディスク装置141が接続されたことを検出する処理、接続されたリムーバブルディスク装置141に種々のディスクコマンドを発行して所望の制御を実行する処理、および、OS202に対してリムーバブルディスク装置141が接続されたことを通知する処理を行う。
また、ユーティリティ203は、接続されたリムーバブルディスク装置141のリスト領域305からアクセス許可リストを読み出し、そして、そのアクセス許可リストに記録されている認証情報をリムーバブルディスク装置141へのアクセスの際の認証処理を司るアプリケーション801内の認証制御コンポーネントに供給し、リムーバブルディスク装置141へアクセスする際の認証情報として利用できるようにする。これにより、リムーバブルディスク装置に格納されたリムーバブルディスク装置固有の認証情報を、接続先の情報処理装置100に反映させることができる。
図9に、アクセス許可リストのデータフォーマットの例を示す。同図に示すように、ユーザID901、パスワード902、フォルダ情報903およびアクセス権904が関連づけられて記憶されている。ここで、フォルダ情報903はフォルダ単位でアクセス権を設定する場合に用いる。
アプリケーション801は、リムーバブルディスク装置141に記憶されている情報をローカルユーザまたはリモートユーザがアクセスすることを可能にするためのソフトウエア・コンポーネントである。また、アクセス制御ドライバ802は、ユーザからのリムーバブルディスク装置141へのアクセス要求に介在し、ユーティリティ203と連携してアクセス要求の正当性を判断し、それが正当であると判断した場合に、そのアクセス要求に対して許可を与えるソフトウエア・コンポーネントである。
<アクセス要求の正当性判断の手順>
次に、ユーティリティ203とアクセス制御ドライバ802によるリムーバブルディスク装置141へのアクセス要求の正当性判断の手順を説明する。
次に、ユーティリティ203とアクセス制御ドライバ802によるリムーバブルディスク装置141へのアクセス要求の正当性判断の手順を説明する。
まず、ユーティリティ203は、現在接続されているリムーバブルディスク装置141へアクセスするための許可を与えるユーザのユーザIDとパスワードの組からなる情報(以下、「アクセス許可リスト」と称する)を保持しているものとする。このアクセス許可リストはリムーバブルディスク装置141のリスト領域305にも格納されている。
アクセス制御ドライバ802は、リムーバブルディスク装置へのアクセス要求を検知すると、そのアクセス要求を一時留め置き、アクセス要求があった旨をユーティリティ203へ通知する。
ユーティリティ203は、アクセス制御ドライバ802からの通知に応じてユーザIDとパスワードを要求するための画面をディスプレイ108に表示する。
キーボード154からユーザIDとパスワードが入力されると、予め保持しているアクセス情報に設定されているユーザIDとパスワードの組のいずれかと一致するか否かを判断し、その判断結果をアクセス制御ドライバ802に通知する。
アクセス制御ドライバ802は、通知された判断結果が一致する旨の肯定判断であれば一時留め置いたアクセス要求を下位レイヤのソフトウエア・コンポーネント(不図示)に渡すことでアクセスを許可する。通知された判断結果が一致しない旨の否定判断であれば一時留め置いたアクセス要求を下位レイヤのソフトウエア・コンポーネントに渡すことなくキャンセルすることでアクセスを禁止する。
以上のような手順により、リムーバブルディスク装置141へのアクセス要求の正当性が判断される。
<ユーティリティ203の動作>
次に、リムーバブルディスク装置141が情報処理装置100に接続されたときのユーティリティ203の動作を説明する。
次に、リムーバブルディスク装置141が情報処理装置100に接続されたときのユーティリティ203の動作を説明する。
図10は、情報処理装置100にリムーバブルディスク装置141が接続されたときのユーティリティ203の動作の流れを示すフローチャートである。ユーティリティ203は、BIOS200および着脱制御ドライバ201と連携しながら、各処理ステップを実行する。
まずステップS1001では、BIOS200がリムーバブルディスク装置141の接続を検知したか否かを判断し、接続を検知した場合は(S1001-YES)、処理をステップS1002に進め、以降、接続されたリムーバブルディスク装置を対象とした処理を実行する。リムーバブルディスク装置141の接続が検知されない場合は(S1001−NO)、BIOS200はリムーバルディスク141の接続があるまで待機状態となる。
ステップS1002において、ユーティリティ203は、リムーバブルディスク装置141がロック状態である場合にユーザにパスワード入力を促し、入力されたパスワードによりロックの解除を行う。
ステップS1003において、ユーティリティ203は、アクセスコントロール設定レジスタ309にパスワードを設定することによりユーザデータ領域304のアクセスを許可状態に設定する。
ステップS1004において、ユーティリティ203は、アクセスコントロール設定レジスタ309にパスワードを設定することによりリスト領域305のアクセスを許可状態に設定する。
ステップS1005において、ユーティリティ203は、リスト領域305に格納されているアクセス許可リストを読み出す。
ステップS1006では、ステップS1005で読み出したアクセス許可リストに設定されているユーザIDとパスワードの組から成る認証情報を、リムーバブルディスク装置141にアクセスする際の認証情報として使用できるように、対応するソフトウエア・コンポーネント(認証制御コンポーネント)に供給する。アクセス制御ドライバ802が認証制御コンポーネントから認証情報を取得し、リムーバブルディスク装置141へのアクセス要求に対して許可または禁止を行う。
ステップS1007において、ユーティリティ203は、アクセスコントロール設定レジスタ309のリスト領域305に対するアクセスを禁止状態に設定する。
ステップS1008において、ユーティリティ203は、BIOS200に対して、リムーバブルディスク装置141が接続された旨をOS202に通知するよう指示を行う。BIOS200はその指示に応じてOS202にPnPイベントを発行し、リムーバブルディスク装置141が接続された旨をOS202に通知する。
以降、OS202はリムーバブルディスク装置141の存在を認識するので、ローカルユーザまたはリモートユーザがユーザデータ領域304にアクセスできるように設定する。その際は、アクセス制御ドライバ802がリムーバブルディスク装置141へのアクセス要求に介在し、リムーバブルディスク装置141から読み出したアクセス許可リスト(認証情報)に基づいてアクセスの許可または禁止を行う。
Webサーバによりネットワーク上のリモートユーザにリモートディスク装置114に記憶されている情報を公開する場合には、リモートディスク装置111のリスト領域305から読み出したアクセス情報リストに設定されているユーザID情報とパスワードをWebサーバで使用するユーザ認証情報として供給するようにすればよい。
以上説明したように、情報処理装置100にリムーバブルディスク装置141が接続された後、OS202以外のプログラム(例えば、ユーティリティ203)がBIOS200を介してリムーバブルディスク装置141のリスト領域305からリムーバブルディスク装置141へのアクセスを許可する認証情報を読み出し、その読み出し後にリスト領域305のアクセスを禁止し、その後OS202に対してリムーバブルディスク装置141の接続を通知する。
すなわち、リムーバブルディスク装置141がOS202に認識される前に、ユーティリティ203はリムーバブルディスク装置141から認証情報を読み出し、リムーバブルディスク装置141にアクセスする際のユーザ認証を司る認証制御コンポーネントに認証情報を供給した後、OS202がリムーバブルディスク装置141を認識するように制御する。これにより、OS202が認識したリムーバブルディスク装置141をローカルユーザまたはリモートユーザの利用に供する時点では、接続されたリムーバブルディスク装置141ごとに設定されている認証情報に基づく認証制御を稼動状態にさせておくことが可能になる。
また、リムーバブルディスク装置141がOS202に認識される前にリムーバブルディスク装置141の所定領域(リスト領域305)から情報を読み出し、所定領域へのアクセスを禁止状態に設定した後、OS202がリムーバブルディスク装置141を認識するように制御するので、所定領域が悪意のユーザやプログラムから不当にアクセスされるのを防止することができる。
[複数の記憶装置に関する認証処理]
次に、情報処理装置100に対して複数の記憶装置が取り付けられた場合の認証処理に関して説明する。ここでは、ハードディスク装置113が、図3におけるリスト領域305等の構成を有するものとする。図11は、ハードディスク装置113が図3の構成を持つディスク装置である場合のブートシーケンスとデータの位置関係を示した図である。
次に、情報処理装置100に対して複数の記憶装置が取り付けられた場合の認証処理に関して説明する。ここでは、ハードディスク装置113が、図3におけるリスト領域305等の構成を有するものとする。図11は、ハードディスク装置113が図3の構成を持つディスク装置である場合のブートシーケンスとデータの位置関係を示した図である。
媒体301は、マスターブートレコード(MBR)1101、ユーザデータ領域304、リスト領域305とから構成される。MBRは媒体301の先頭セクタに配置され、通常BIOSによって実行される起動プログラムであるブートローダ1102、パーティション構造を定義するためのパーティションテーブル(不図示)、ブートシグニチャ(不図示)を含んでいる。
BIOSはブート時、POST(Power On Self Test)処理と呼ばれる自己診断処理の後、リスト領域305に格納された認証プログラム1104をメインメモリ105に読み込み、認証プログラム1104を実行する。認証プログラム1104は、認証データ1105を参照し、リムーバブルディスク装置141が認証データ1105に登録されていれば、認証データ1105に登録されているパスワードを使用してリムーバブルディスク装置141のセキュリティロック解除を行う。
認証プログラム1104は、リムーバブルディスク141のセキュリティロック解除を行った後、MBR1101に格納されているブートローダ1102をメインメモリ105に読み込み、ブートローダ1102を実行する。ブートローダ1102には、従来の装置と同様にオペレーティングシステム(OS)を起動するためのプログラムが書かれており、ブートローダ1102はIPL(Initial Program Loader)1103に制御を渡し、BIOSによって実行されるブート処理を終了する。
<認証データの説明>
ここで、認証データ1105について、図12を参照しながら説明する。認証データ1105には複数のリムーバブルディスク装置の情報を記述することが可能であり、各認証データ1105には、情報処理装置100に接続されるリムーバブルディスク装置141の型名、シリアル番号、ATAパスワードが各リムーバブルディスク装置141ごとに記述されている。図12の例では、型名「AAAAA」、シリアル番号「11111」のリムーバブルディスク装置に設定されているATAパスワードが「XXXXXXXX」であって、型名「BBBBB」、シリアル番号「22222」のリムーバブルディスク装置に設定されているATAパスワードが「YYYYYYYY」であることを表している。認証プログラム1104による認証は、認証データ1105に記述されている型名、シリアル番号と、リムーバブルディスク装置141のIdentify Device Informationから得られる型名、シリアル番号とを比較することにより行う。
ここで、認証データ1105について、図12を参照しながら説明する。認証データ1105には複数のリムーバブルディスク装置の情報を記述することが可能であり、各認証データ1105には、情報処理装置100に接続されるリムーバブルディスク装置141の型名、シリアル番号、ATAパスワードが各リムーバブルディスク装置141ごとに記述されている。図12の例では、型名「AAAAA」、シリアル番号「11111」のリムーバブルディスク装置に設定されているATAパスワードが「XXXXXXXX」であって、型名「BBBBB」、シリアル番号「22222」のリムーバブルディスク装置に設定されているATAパスワードが「YYYYYYYY」であることを表している。認証プログラム1104による認証は、認証データ1105に記述されている型名、シリアル番号と、リムーバブルディスク装置141のIdentify Device Informationから得られる型名、シリアル番号とを比較することにより行う。
<Identify Deviceコマンド>
次に、ATAの標準的なコマンドであるIdentify Deviceコマンドについて説明する。Identify Deviceコマンドはディスク装置に関する詳細な情報を得るためのコマンドであって、コマンドに応答してディスク装置より上位装置(ここではBIOS)に返送される情報(データ)をIdentify Device Informationと呼ぶ。Identify Device Informationには、図14に示すように、ディスク装置の型名(Model number)、シリアル番号(Serial number)、セキュリティ状態(Security status)を示す情報などが格納されている。本発明に係るディスク装置の場合は、上記のデータに加えて、図14に示すword156に示す付加情報を格納することが可能である。
次に、ATAの標準的なコマンドであるIdentify Deviceコマンドについて説明する。Identify Deviceコマンドはディスク装置に関する詳細な情報を得るためのコマンドであって、コマンドに応答してディスク装置より上位装置(ここではBIOS)に返送される情報(データ)をIdentify Device Informationと呼ぶ。Identify Device Informationには、図14に示すように、ディスク装置の型名(Model number)、シリアル番号(Serial number)、セキュリティ状態(Security status)を示す情報などが格納されている。本発明に係るディスク装置の場合は、上記のデータに加えて、図14に示すword156に示す付加情報を格納することが可能である。
このword156は従来Vendor Specificな領域として割り当てられている領域であり、この領域には以下に挙げる情報を格納することができる。bit15から8と、bit6から3はReserved領域であり、ここでは使用していない。bit7はディスク装置が情報処理装置においてセキュリティ管理が可能なディスク装置であることを示すビットであり、常に1がセットされる。bit2はInitial Controlであって、図4で説明したアクセスコントロール情報のbit2と同一の情報が格納される。bit1はUtility 1であって、図4で説明したアクセスコントロール情報のbit1と同一の情報が格納される。bit0はUtility 0であって、図4で説明したアクセスコントロール情報のbit0と同一の情報が格納される。
<リムーバブルディスクの認証とセキュリティ解除>
ブート時におけるBIOS200のプログラム処理について図13のフローチャートに沿って詳細に説明する。BIOS200は、POST処理を行った後(ステップS1301)、起動ディスクであるハードディスク装置113に対してIdentify Deviceコマンドを送信し、ディスク装置113から返送されるIdentify Device Informationを受信する(ステップS1302)。BIOS200は、Identify Device Informationを解析し、Security lockedの状態であれば(ステップS1303)、操作者によるパスワード入力によって(ステップS1304)、Security lockの解除を行い(ステップS1305)、Security lockedの状態でなければ(S1303-NO)、ブートローダ1102(図11を参照)に制御を渡し(ステップS1315)、BIOS200によって実行されるブート処理を終了する。
ブート時におけるBIOS200のプログラム処理について図13のフローチャートに沿って詳細に説明する。BIOS200は、POST処理を行った後(ステップS1301)、起動ディスクであるハードディスク装置113に対してIdentify Deviceコマンドを送信し、ディスク装置113から返送されるIdentify Device Informationを受信する(ステップS1302)。BIOS200は、Identify Device Informationを解析し、Security lockedの状態であれば(ステップS1303)、操作者によるパスワード入力によって(ステップS1304)、Security lockの解除を行い(ステップS1305)、Security lockedの状態でなければ(S1303-NO)、ブートローダ1102(図11を参照)に制御を渡し(ステップS1315)、BIOS200によって実行されるブート処理を終了する。
ここで、ハードディスクがSecurity lockedの状態か否かの判別については、Identify Device Informationのword128のbit(ビット)2(図14を参照)を解析することにより行い、ビットが「1」であればSecurity lockedの状態であると判断し、「0」であればSecurity lockedの状態でないと判断する。Identify Device Informationのword(ワード)128の構成を図14に示す。また、Security lockの解除については、ステップS1304で入力されたパスワードを伴うSecurity UnlockコマンドをBIOSからハードディスク装置113に対して送信することにより行う。
図13のフローチャートに戻って説明を続ける。Security lockの解除を行った後(ステップS1305)、Indentify Device Informationのword156のbit7を解析し(ステップS1306)、ビットが「1」であれば(S1306-YES)、処理をステップS1307に進、ビットが「0」であれば(S1306-NO)、処理をステップS1315に進め、ブートローダ1102に制御を渡し(ステップS1315)、BIOSによって実行されるブート処理を終了する。ここで、Indentify Device Informationのword156のビットが「1」であるということは、このハードディスク装置113が情報処理装置100でセキュリティ管理が可能なディスク装置であること、すなわち図3で示す「リスト領域」305を持つハードディスク装置であるということを意味している。
ステップS1307では、前述したSet Access Controlコマンドによってリスト領域305の読み出しをEnableに設定し、読み出し可能となったリスト領域305から認証プログラム1104を読み出す(ステップS1308)。ここで、ステップS1309以降の処理は、ステップS1308で読み出された認証プログラムを実行することによって行われる処理となる。
認証プログラム1104は、認証データ1105を参照し(図11)、リムーバブルディスク装置141が認証データ1105に登録されていれば、認証データ1105に登録されているパスワードを使用してリムーバブルディスク装置141のセキュリティロック解除を行う。
ステップS1309では、情報処理装置100に接続されているリムーバブルディスク装置141(認証データ1105中に登録されているリムーバブルディスク装置が複数の場合は、複数の装置が対象となる)に対しIdentify Deviceコマンドを送信し、リムーバブルディスク装置141から返送されるIdentify Device Informationを受信する(ステップS1309)。
認証データ1105に記憶されているリムーバブルディスク装置の型名1201(Medel number)、シリアル番号1202(Serial number)と、ステップS1309において、リムーバブル装置から受信したIdentify Device Informationに含まれるMedel number、Serial numberとの照合を行い、認証データ1105の登録内容と合致する場合(ステップS1310-YES)、処理をステップS1311に進め、リムーバブルディスク装置がSecurity locked(セキュリティ ロック)の状態である場合は(ステップS1311-YES)、認証データ1105に記憶しているATAパスワード1203(図12を参照)を伴うSecurity Unlockコマンドを各リムーバブルディスク装置に送信し、Security lockの解除を行う(ステップS1312)。
ステップS1312において、Security lockの解除を行った後、及び先のステップS1310において認証データが合致しなかった場合(S1310-NO)、ステップS1311においてSecurity locked状態でなかった場合(S1311-NO)は、ステップS1313において、リムーバブルディスク装置141が複数台、接続されている場合には全てのリムーバブルディスク装置全てに対して認証データの照合と、Security lockの解除が終了しているか否かを判断し、全ての装置に対して処理が完了していない場合(S1313-NO)はステップS1309〜S1312の処理を繰り返し実行し、全てのリムーバブルディスク装置に対する処理が終了している場合には(S1313-YES)、処理をステップS1314に進める。
ステップS1314において、全リムーバブルディスク装置に対する処理が完了している場合は、Set Access Controlコマンドによってハードディスク装置113のリスト領域305の読み出しをDisableに設定し(ステップS1314)、ハードディスク装置113のブートローダ1102に制御を渡し(ステップS1315)、BIOSによって実行されるブート処理を終了する。
上述の説明のように、パスワードによるセキュリティ管理が可能な複数の記憶装置を有する情報処理装置は、代表となるハードディスク等の記憶装置(第1記憶装置)に他のハードディスク、リムーバブルディスク装置等(他の記憶装置)のパスワードを記憶しておき、第1記憶装置のセキュリティをパスワードにより解除した後に、第1記憶装置に記憶してある認証データに基づいて、他の記憶装置を個別に認証し、他の記憶装置がセキュリティ管理されている場合は、第1記憶装置に格納されているパスワードを読み出し、他の記憶装置のセキュリティを解除する。
これよって、複数の記憶装置(第1記憶装置および他の記憶装置)に個別のパスワードを設定し、かかるパスワードによる認証に基づいて個別の記憶装置のセキュリティを管理する場合であっても、記憶装置の使用時には代表となる第1記憶装置のパスワードの入力によりセキュリティ管理の解除を行うだけで、他の記憶装置に対するパスワードの認証によるセキュリティ管理の解除は情報処理装置100内部の処理により実行することが可能となり、高いセキュリティ管理の信頼性を維持しつつ利便性を高めることが可能になる。
[リムーバブルディスク装置の排出処理]
次にリムーバブルディスク装置の排出処理を添付の図15、図16を参照して説明する。図15は、情報処理装置100において、リムーバブルディスク装置141の排出に関し、排出を要求してから、その要求に応じて機能するユーティリティ203、着脱制御ドライバ201、BIOS200の関係と、リムーバブルディスク装置141を排出し、その旨をOS202に通知するまでの各プログラム間における処理の流れを示すブロック図である。ここで、リムーバブルディスク装置141は、リムーバブルスロット部132に挿入された状態で接続しており、ATAバス131及びインターフェース制御部123を介して記憶媒体として、OS202上で動作しているアプリケーションプログラムからアクセスされている。なお、図15は左側から右側に向かって時系列順に処理の流れが記述されている。
次にリムーバブルディスク装置の排出処理を添付の図15、図16を参照して説明する。図15は、情報処理装置100において、リムーバブルディスク装置141の排出に関し、排出を要求してから、その要求に応じて機能するユーティリティ203、着脱制御ドライバ201、BIOS200の関係と、リムーバブルディスク装置141を排出し、その旨をOS202に通知するまでの各プログラム間における処理の流れを示すブロック図である。ここで、リムーバブルディスク装置141は、リムーバブルスロット部132に挿入された状態で接続しており、ATAバス131及びインターフェース制御部123を介して記憶媒体として、OS202上で動作しているアプリケーションプログラムからアクセスされている。なお、図15は左側から右側に向かって時系列順に処理の流れが記述されている。
ユーザがリムーバブルディスク装置141の排出を要求する方法としては、排出スイッチ155(図1を参照)を押下する、あるいはユーティリティ203が提供するUIから排出操作を行う方法が挙げられる。前者の場合、排出スイッチ155が押下されたことをEC153が検知し、その旨をユーティリティ203へ通知する。後者の場合は、ユーティリティ203がユーザからのUIを通じた排出操作により、排出指示の要求を受信する。排出指示要求を受信したユーティリティ203は、リムーバブルディスク装置141の着脱の制御を行う着脱制御ドライバ201に対して排出指示を行う(ステップS1501)。
あるいは後述のように、着脱制御ドライバ201がユーティリティ203に対して周期的に問い合わせを行い、排出指示があったかどうかを検知するようにしてもよい。
排出指示を受信した着脱制御ドライバ201は、ユーザ、即ちアプリケーションプログラムからのアクセスを切断する処理や、BIOS200に対してATA規格で規定されているATAコマンドを用いてリムーバブルディスク装置141のキャッシュの掃き出し処理等の終端処理を要求して、リムーバブルディスク装置141に対する更なるアクセスを禁止し、かつデータの損失を防ぎ、安全にリムーバブルディスク装置141を排出する為の処理要求を行う(ステップS1502)。また、その他リムーバブルディスク装置141に関する固有の設定などを要求することも可能である。
リムーバブルディスク装置141に対する終端処理要求を受信したBIOS200は、リムーバブルディスク装置141の終端処理を行う(ステップS1503)。具体的には、インターフェース制御部123、及びATAバス131を通じてATAコマンドをリムーバブルディスク装置141に送信する。
終端処理が終了すると、BIOS200は、リムーバブルディスク装置141を排出するために、メカニカルなアンロック処理を行うようEC153に指示する(ステップS1504)。メカニカルなアンロック処理の指示を受信したEC153は、ロック制御部163を動作させ、リムーバブルディスク装置141のメカニカルなアンロック処理を行う。
さらにBIOS200は、メカニカルなアンロック処理の終了後、リムーバブルディスク装置141とATAバス131との接続を切断するためにリムーバブルディスク装置141の排出処理を行うようEC153に指示する(ステップS1505)。
排出処理の指示を受信したEC153は、モータ制御部162を動作させ、リムーバブルディスク装置141の排出処理を行う。EC153は、挿抜検知部161経由で排出処理の完了を検知し、BIOS200に通知する。なおメカニカルなアンロック処理完了の検知及び排出処理完了の検知、あるいはエラー終了の検知は、BIOS200が定期的にEC153に問い合わせしてもよいし、時間、及びその他のセンサー等から判断してもよい。
リムーバブルディスク装置141の排出処理完了の通知を受信したBIOS200は、その旨をユーティリティ203に通知する(ステップS1506)。
排出処理完了の通知を受信したユーティリティ203は、BIOS200を通じてOS202に対して、リムーバブルディスク装置141がATAバス131から切断、即ちプラグアウト(Plug out)されたことを通知するよう、着脱制御ドライバ201に指示する(ステップS1507)。
プラグアウト通知の指示を受信した着脱制御ドライバ201は、OS202に対して、リムーバブルディスク装置141がプラグアウトされたことを通知するよう、BIOS200に指示する(ステップS1508)。
OS202に対してリムーバブルディスク装置141がプラグアウトされたことを通知するよう指示されたBIOS200は、その旨をOS202に通知する(ステップS1509)。その後通知を受信したOS202は、プラグアンドプレイ(Plug and Play)に必要な処理を行う。その結果、リムーバブルディスク装置141はOS202からデバイスとして認識されず、OS202上で動作する各種アプリケーションからアクセスすることが不可能となる。
次に図16は、情報処理装置100において、ユーザがユーティリティ203を通じて、リムーバブルスロット部132に接続されているリムーバブルディスク装置141の排出を要求してから、OS202においてプラグアンドプレイに必要な処理が行われるまでの、CPU101における処理の流れを説明するフローチャートである。なお、リムーバブルディスク装置141の排出指示は、ユーザが排出スイッチ155を押下する、あるいはユーティリティ203が提供するUIからの排出操作によって行われる。
まず、ステップS1601において、着脱制御ドライバ201はユーティリティ203を周期的にポーリングすることによって、排出指示があったことを検知する。
ステップS1602において、排出指示を検知した着脱制御ドライバ201は、リムーバブルディスク装置141を安全に排出できるようにするべく、BIOS200に対して、リムーバブルディスク装置141の終端処理を要求する。
終端処理要求を受信したBIOS200は、リムーバブルディスク装置141に対して、キャッシュの掃き出しを行うなどの終端処理を行う(図15のステップS1503が対応する)。また、ユーザに対して、リムーバブルディスク装置141へのアクセスを切断するといった処理も行う。以上のようにして終端処理を行うことにより、データの損失を防ぎ、安全にリムーバブルディスク装置141を排出することが可能となる。また、その他リムーバブルディスク装置141に関する固有の設定などを行うことも可能である。
次に、ステップS1603において、リムーバブルディスク装置141を排出するために、メカニカルなアンロック処理を行う。具体的には、BIOS200がEC153に対してメカニカルなアンロック処理を行うように指示し、その旨を受信したEC153は、ロック制御部163を動作させ、リムーバブルディスク装置141のメカニカルなアンロック処理を行う。
次に、ステップS1604において、リムーバブルディスク装置141の排出処理を行い、リムーバブルディスク装置141を情報処理装置100の外部に排出する。具体的には、BIOS200がEC153に対して排出処理を行うように指示し、その旨を受信したEC153は、モータ制御部162を動作させ、リムーバブルディスク装置141の排出処理を行う。そして、BIOS200は挿抜検知部161により排出処理完了を検知する。
最後に、ステップS1605において、リムーバブルディスク装置141がプラグアウトされたことをOS202に対して通知する。具体的には、排出処理完了を検知したBIOS200は、ユーティリティ203に対して排出処理完了を通知し(図15のステップS1506が対応する)、排出処理完了の通知を受信したユーティリティ203は、BIOS200を介してOS202にプラグアウト通知するために、着脱制御ドライバ201にプラグアウト通知を指示する(図15のステップS1507)。さらに、プラグアウト通知の指示を受信した着脱制御ドライバ201は、BIOS200に対してプラグアウト通知を指示し(図15のステップS1508)、プラグアウト通知の指示を受信したBIOS200は、OS202に対してプラグアウト通知を行う(図15のステップS1509)。プラグアウト通知を受信したOS202は、プラグアンドプレイに必要な処理を行う。
以上説明したように、本実施形態においては、リムーバブルディスク装置141の排出要求をOS202が検出する前に、リムーバブルディスク装置141の終端処理や固有の設定を行うことが可能となり、またメカニカルなアンロック処理、排出処理を行うことによって、OS202からのプラグアウト処理をより確実にかつ安全に行える情報処理装置を提供することが可能になる。
[他の実施形態]
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
Claims (9)
- パスワードによるセキュリティ管理された複数の記憶手段を有する情報処理装置であって、
前記複数の記憶手段のうち、第1記憶手段のパスワードを入力する入力手段と、
前記入力されたパスワードにより、前記第1の記憶手段のセキュリティ管理を解除する第1解除手段と、
前記第1記憶手段に、前記複数の記憶手段のうち、当該第1記憶手段を除く他の記憶手段のパスワードを保持する保持手段と、
前記保持されたパスワードによって、当該他の記憶手段のセキュリティ管理を解除する第2解除手段とを備えることを特徴とする情報処理装置。 - 前記保持手段は、当該第1記憶手段を除く他の記憶手段の各々に対応するパスワードを含む認証データを保持する保持手段であり、
前記認証データに基づいて、当該他の記憶手段を個別に認証する認証手段を有することを特徴とする請求項1に記載の情報処理装置。 - 前記認証手段は、前記他の記憶手段の各々に対して識別コマンドを送信し、当該識別コマンドに対する当該他の記憶手段からの応答内容と、前記第1記憶手段における前記認証データとを照合して、当該他の記憶手段を個別に認証することを特徴とする請求項2に記載の情報処理装置。
- 前記複数の記憶手段は、ATAインタフェースを備えるハードディスク装置を含むことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- 前記セキュリティ管理は、前記記憶手段のアクセス管理であることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
- パスワードによるセキュリティ管理された複数の記憶手段を有する装置の制御方法であって、
前記複数の記憶手段のうち、第1記憶手段のパスワードを入力する入力工程と、
前記入力されたパスワードにより、前記第1の記憶手段のセキュリティ管理を解除する第1解除工程と、
前記第1記憶手段は、前記複数の記憶手段のうち、当該第1記憶手段を除く他の記憶手段のパスワードを保持しており、前記保持されたパスワードにより、当該他の記憶手段のセキュリティ管理を解除する第2解除工程とを備えることを特徴とする制御方法。 - 前記第1の記憶手段は、当該第1記憶手段を除く他の記憶手段の各々に対応するパスワードを含む認証データを保持しており、
前記認証データに基づいて、当該他の記憶手段を個別に認証する認証工程を有することを特徴とする請求項6に記載の制御方法。 - 請求項6又は請求項7に記載の装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
- 請求項8に記載のプログラムを格納したことを特徴とするコンピュータ可読の記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004200805A JP2006023943A (ja) | 2004-07-07 | 2004-07-07 | 情報処理装置、制御方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004200805A JP2006023943A (ja) | 2004-07-07 | 2004-07-07 | 情報処理装置、制御方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006023943A true JP2006023943A (ja) | 2006-01-26 |
Family
ID=35797179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004200805A Withdrawn JP2006023943A (ja) | 2004-07-07 | 2004-07-07 | 情報処理装置、制御方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006023943A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006031575A (ja) * | 2004-07-21 | 2006-02-02 | Hitachi Ltd | ハードディスクセキュリティ管理システムおよびその方法 |
JP2010511209A (ja) * | 2006-07-27 | 2010-04-08 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | ユーザ認証に基づいて完全性測定値を修正するための方法及びシステム |
US7900252B2 (en) | 2006-08-28 | 2011-03-01 | Lenovo (Singapore) Pte. Ltd. | Method and apparatus for managing shared passwords on a multi-user computer |
US9405938B2 (en) | 2011-12-15 | 2016-08-02 | Canon Kabushiki Kaisha | Information processing apparatus, method for releasing restriction on use of storage device, and storage medium |
-
2004
- 2004-07-07 JP JP2004200805A patent/JP2006023943A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006031575A (ja) * | 2004-07-21 | 2006-02-02 | Hitachi Ltd | ハードディスクセキュリティ管理システムおよびその方法 |
JP4561213B2 (ja) * | 2004-07-21 | 2010-10-13 | 株式会社日立製作所 | ハードディスクセキュリティ管理システムおよびその方法 |
JP2010511209A (ja) * | 2006-07-27 | 2010-04-08 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | ユーザ認証に基づいて完全性測定値を修正するための方法及びシステム |
US8190916B1 (en) | 2006-07-27 | 2012-05-29 | Hewlett-Packard Development Company, L.P. | Methods and systems for modifying an integrity measurement based on user authentication |
US7900252B2 (en) | 2006-08-28 | 2011-03-01 | Lenovo (Singapore) Pte. Ltd. | Method and apparatus for managing shared passwords on a multi-user computer |
US9405938B2 (en) | 2011-12-15 | 2016-08-02 | Canon Kabushiki Kaisha | Information processing apparatus, method for releasing restriction on use of storage device, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10565383B2 (en) | Method and apparatus for secure credential entry without physical entry | |
JP4690310B2 (ja) | セキュリティシステム及びその方法 | |
EP2389645B1 (en) | Removable memory storage device with multiple authentication processes | |
JP4676696B2 (ja) | コンピュータのためのセキュリティシステムおよび方法 | |
JP5194204B2 (ja) | Usb保護記憶装置 | |
US7360073B1 (en) | Method and apparatus for providing a secure boot for a computer system | |
JP5565040B2 (ja) | 記憶装置、データ処理装置、登録方法、及びコンピュータプログラム | |
US20120011354A1 (en) | Boot loading of secure operating system from external device | |
JP4576336B2 (ja) | 電子データ管理装置、その制御プログラム及び電子データ管理方法 | |
JP2004062796A (ja) | 記憶装置及び情報処理装置並びにアクセス制御方法 | |
CN103164241A (zh) | 利用了生物认证装置的计算机的启动方法以及计算机 | |
JP2006518500A (ja) | コンピュータ用のバスブリッジセキュリティシステムおよび方法 | |
US20150363763A1 (en) | Mobile Information Apparatus That Includes A Secure Element Storing Payment Information And Using A Cryptographic Technique For Implementing Mobile Payment | |
WO2007123728A2 (en) | Methods and apparatuses for securely operating shared host computers with portable apparatuses | |
US20100083366A1 (en) | Blocking Computer System Ports on Per User Basis | |
US20050246512A1 (en) | Information-processing apparatus and method and program for starting the same | |
KR102195344B1 (ko) | Usb 저장 매체를 이용하는 컴퓨터용 보안 시스템 및 방법 | |
US8151115B2 (en) | Computer including at least one connector for a replaceable storage medium, and method for starting and operating a computer via a replaceable storage medium | |
US20050182860A1 (en) | Method for operating a peripheral device on a bus system of a computer system | |
JP3917221B2 (ja) | コンピュータシステム | |
JP4550526B2 (ja) | 情報処理システム、情報処理装置、登録サーバ、制御プログラム、及び制御方法 | |
JP2010535381A (ja) | 指紋読取り装置リセットシステムおよび方法 | |
JP4561213B2 (ja) | ハードディスクセキュリティ管理システムおよびその方法 | |
JP2006023943A (ja) | 情報処理装置、制御方法及びプログラム | |
JP2007122731A (ja) | バイオ認証センサー付きハードディスク装置とそのデータ保護方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20071002 |