(57)【要約】【課題】  ＯＳやアプリケーションソフトよりも高いレベルでのデータ保護を可能とする。【解決手段】  複数のモードから使用モードの選択を行い、管理者モードであれば、管理者モードパーティションテーブル群６０２をＭＢＲ２０１のパーティションテーブル群４０２にコピーし、Ｍａｘ Ａｄｄｒｅｓｓにｋを設定する。一般ユーザモードであれば、一般ユーザモードパーティションテーブル群６０１をＭＢＲ２０１のパーティションテーブル群４０２にコピーし、Ｍａｘ Ａｄｄｒｅｓｓにｉ（ｉ＜ｋ）を設定する。【選択図】  図７
2006106811.tif 000002
【特許請求の範囲】
【請求項１】
ハードディスク装置を有する情報処理装置であって、
前記ハードディスク装置は、複数のパーティション情報を記憶する記憶手段を備え、
前記記憶手段に記憶されたパーティション情報の一つを起動時に選択する選択手段と、
前記ハードディスク装置のマスターブートレコード内のパーティション情報を、前記選択手段により選択されたパーティション情報に書き換える書き換え手段と、
前記選択手段により選択されたパーティション情報に基づき前記ハードディスク装置の最大アドレスを設定する設定手段とを備えることを特徴とする情報処理装置。
【請求項２】
起動時にユーザ認証を行う認証手段を備え、前記認証手段によるユーザ認証が正しく行われた場合のみ、前記書き換え手段によるパーティション情報の書き換えと、前記設定手段による最大アドレスの設定を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
ハードディスク装置を有する情報処理装置における情報処理方法であって、
前記ハードディスク装置は、複数のパーティション情報を記憶する記憶手段を備え、
前記記憶手段に記憶されたパーティション情報の一つを起動時に選択する選択工程と、
前記ハードディスク装置のマスターブートレコード内のパーティション情報を、前記選択手段により選択されたパーティション情報に書き換える書き換え工程と、
前記選択工程により選択されたパーティション情報に基づき前記ハードディスク装置の最大アドレスを設定する設定工程とを有することを特徴とする情報処理方法。
【請求項４】
起動時にユーザ認証を行う認証工程を備え、前記認証工程によるユーザ認証が正しく行われた場合のみ、前記書き換え工程によるパーティション情報の書き換えと、前記設定工程による最大アドレスの設定を行うことを特徴とする請求項３に記載の情報処理方法。
【請求項５】
ハードディスク装置を有する情報処理装置の動作を実現するためのコンピュータプログラムであって、
前記ハードディスク装置は、複数のパーティション情報を記憶する記憶手段を備え、
前記記憶手段に記憶されたパーティション情報の一つを起動時に選択する選択処理と、
前記ハードディスク装置のマスターブートレコード内のパーティション情報を、前記選択手段により選択されたパーティション情報に書き換える書き換え処理と、
前記選択処理により選択されたパーティション情報に基づき前記ハードディスク装置の最大アドレスを設定する設定処理とをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項６】
起動時にユーザ認証を行う認証処理を実行させ、前記認証処理によるユーザ認証が正しく行われた場合のみ、前記書き換え処理によるパーティション情報の書き換えと、前記設定処理による最大アドレスの設定を行うことを特徴とする請求項５に記載のコンピュータプログラム。
【請求項７】
請求項５又は６に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はハードディスク装置を備えた情報処理装置、情報処理装置における情報処理方法、かかる情報処理装置の動作を実現するためのコンピュータプログラム、及びコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
昨今、パーソナルコンピュータ（以下「ＰＣ」）をはじめとして、ハードディスク装置を備えた情報処理装置が広く使われている。例えば、一台のＰＣを複数のユーザで共用する場合、そのＰＣの管理者のみが必要とする設定情報などは、管理者以外のユーザによる不用意な書き換えを防止したい。このような場合、ＰＣの管理者は、オペレーティングシステム（以下「ＯＳ」）や、アプリケーションソフトのユーザ認証機能を使い、管理者のみがアクセス可能な領域をハードディスク装置内に設け、その領域に設定情報などを記憶しておく方法を用いている。また、取り外し可能な記憶媒体であるフレキシブルディスクやメモリカードなどに設定情報を記憶しておき、ＰＣとは別に管理する方法もある。しかしＰＣ本体とは別の媒体を用意し管理するよりは、ＰＣ本体内のハードディスク装置に記憶する方が使い勝手が良いため、ハードディスク装置に記憶する方法が多く採られている。起動時にパーティション選択を行う方法の一つが、特許文献１に開示されている。
【０００３】
一方、ハードディスク装置の標準インタフェースとして知られるＡＴＡインタフェース規格（非特許文献１）では、ホスト保護領域（Ｈｏｓｔ Ｐｒｏｔｅｃｔｅｄ Ａｒｅａ、以下「ＨＰＡ」）として、ハードディスク装置内のファームウェアレベルで保護可能な領域を規定している。ＨＰＡは、ＡＴＡコマンドによる読み書きをできなくすることにより、領域内のデータ保護を実現している。
【０００４】
ここで、ＨＰＡについて説明する。ＨＰＡを設定するためには、Ｓｅｔ Ｍａｘ Ａｄｄｒｅｓｓコマンドを用いる。Ｓｅｔ Ｍａｘ Ａｄｄｒｅｓｓコマンドは、読み書き可能な領域の最大アドレス（Ｍａｘ Ａｄｄｒｅｓｓ）を設定するためのコマンドであって、Ｍａｘ Ａｄｄｒｅｓｓと、ハードディスク装置が本来有する最大アドレス（Ｎａｔｉｖｅ Ｍａｘ Ａｄｄｒｅｓｓ）とで囲まれた領域がＨＰＡとなる。
【０００５】
【特許文献１】特開２００２−１０８４８５号公報
【非特許文献１】ＡＴ  Ａｔｔａｃｈｍｅｎｔ、http://www.t13.org/
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＰＣの管理者のみがアクセスできる領域をハードディスク装置内に確保するための方法として、ＯＳやアプリケーションソフトのユーザ認証機能を用いた場合、ハードディスク装置内の領域としては読み書き可能な領域にデータを記憶しているため、データを確実に保護できるとは言い難い状態にある。具体的には、管理者以外のユーザであっても、ＣＤ−ＲＯＭなどに記憶されたソフトウェアを用いてＰＣを起動した場合、ハードディスク装置内の読み書き可能な領域に記憶した情報は書き換えることが可能である。情報が暗号化されている場合は、情報の内容を読まれることはないが、ＣＤ−ＲＯＭなどからの起動によりハードディスク装置のフォーマットは可能なため、ハードディスク装置に記憶している情報を消去してしまうことは可能である。これは、ＰＣの管理者が保存している設定情報などを誰でも書き換えたり消したりすることが可能ということであり、大きな問題である。
【０００７】
一方、ＨＰＡは、これまでＢＩＯＳがＰＣの設定を管理するための領域としてしか活用されておらず、ＨＰＡをユーザに対しても使用可能とする装置や方法は考案されていない。
【０００８】
本発明は以上の問題を鑑みてなされたものであり、ＨＰＡをユーザに対しても使用可能とし、このＨＰＡを利用することにより、ＯＳやアプリケーションソフトよりも高いレベルでのデータ保護を可能とすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の情報処理装置は、ハードディスク装置を有する情報処理装置であって、前記ハードディスク装置は、複数のパーティション情報を記憶する記憶手段を備え、前記記憶手段に記憶されたパーティション情報の一つを起動時に選択する選択手段と、前記ハードディスク装置のマスターブートレコード内のパーティション情報を、前記選択手段により選択されたパーティション情報に書き換える書き換え手段と、前記選択手段により選択されたパーティション情報に基づき前記ハードディスク装置の最大アドレスを設定する設定手段とを備える点に特徴を有する。
本発明の情報処理方法は、ハードディスク装置を有する情報処理装置における情報処理方法であって、前記ハードディスク装置は、複数のパーティション情報を記憶する記憶手段を備え、前記記憶手段に記憶されたパーティション情報の一つを起動時に選択する選択工程と、前記ハードディスク装置のマスターブートレコード内のパーティション情報を、前記選択手段により選択されたパーティション情報に書き換える書き換え工程と、前記選択工程により選択されたパーティション情報に基づき前記ハードディスク装置の最大アドレスを設定する設定工程とを有する点に特徴を有する。
本発明のコンピュータプログラムは、ハードディスク装置を有する情報処理装置の動作を実現するためのコンピュータプログラムであって、前記ハードディスク装置は、複数のパーティション情報を記憶する記憶手段を備え、前記記憶手段に記憶されたパーティション情報の一つを起動時に選択する選択処理と、前記ハードディスク装置のマスターブートレコード内のパーティション情報を、前記選択手段により選択されたパーティション情報に書き換える書き換え処理と、前記選択処理により選択されたパーティション情報に基づき前記ハードディスク装置の最大アドレスを設定する設定処理とをコンピュータに実行させる点に特徴を有する。
本発明のコンピュータ読み取り可能な記録媒体は、本発明のコンピュータプログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の効果】
【００１０】
本発明によれば、ＨＰＡを利用したユーザによるデータ保護管理が可能となり、不用意なアクセスよるデータの書き換えを防止することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
（第１の実施形態）
図１は、本発明の実施形態に係る情報処理装置のシステム全体の構成を示すブロック図である。同図において、ＣＰＵ１０１は、情報処理装置１００全体の制御を行う。メモリ１０５には、ＣＰＵ１０１により実行されるプログラムや、プログラムの実行に必要なデータがロードされる。グラフィックコントローラ１０９は、ディスプレイ１１５の表示を制御する。
【００１２】
チップセット１０３は、ＣＰＵバス１０２、メモリバス１０４、ＬＰＣ（Ｌｏｗ Ｐｉｎ Ｃｏｕｎｔ）バス１０６、グラフィックバス１０８、ＡＴＡバス１１０、キーボード／マウス・インタフェース１１２を接続するためのブリッジチップである。
【００１３】
ＢＩＯＳ−ＲＯＭ１０７は、情報処理装置１００の起動時、ＣＰＵ１０１、チップセット１０３、メモリ１０５、グラフィックコントローラ１０９、ハードディスク１１１、キーボード／マウス１１３の初期化処理を行うためのプログラム及びデータを記憶している。
【００１４】
ハードディスク１１１は、ＣＰＵ１０１により実行される各種のプログラム（オペレーティングシステム、デバイスドライバ、アプリケーションプログラムなど）や、各種の管理情報を記憶する。ハードディスク１１１に記憶されたプログラムやデータは必要に応じてメモリ１０５にロードされる。
【００１５】
キーボード／マウス１１３は、情報処理装置１００に対する指示や、文字・数字などを入力するための入力部である。ディスプレイ１１５は、情報処理装置１００の処理結果を表示するための表示部である。
【００１６】
ハードディスク１１１のパーティション構造について説明する。管理者以外の一般ユーザモードのパーティション構造を図２に、管理者モードのパーティション構造を図３に示す。
【００１７】
図２において、ＭＢＲ（Ｍａｓｔｅｒ Ｂｏｏｔ Ｒｅｃｏｒｄ）２０１は、情報処理装置１００の起動に関わる起動プログラム、ハードディスク１１１のパーティション構造を示すパーティションテーブルなどを記憶している。ＭＢＲ２０１の詳細については後述する。
【００１８】
一般ユーザパーティション２０２は、ＬＢＡ＝１からＬＢＡ＝ｉまでの領域であって、さらに、ｉ＝Ｍａｘ Ａｄｄｒｅｓｓに設定する。Ｍａｘ ＡｄｄｒｅｓｓはＡＴＡ規格で規定されたＳＥＴ ＭＡＸ ＡＤＤＲＥＳＳコマンドによって設定する。これにより、一般ユーザパーティション２０２に記憶しているデータは、読み書きを行うためのコマンドによって読み書き可能であり、Ｍａｘ Ａｄｄｒｅｓｓ、すなわちＬＢＡ＝ｉ以降の領域がＨＰＡ２０３となる。
【００１９】
図３に示す管理者モードのパーティション構造では、ｋ＝Ｍａｘ Ａｄｄｒｅｓｓ（ｉ＜ｋ）に設定する点が、図２に示した一般ユーザ向けのパーティション構造と異なる。これにより、一般ユーザパーティション２０２に加えて、ＬＢＡ＝ｉからＬＢＡ＝ｋまでの管理者パーティション３０１についても記憶しているデータの読み書きが可能であり、ＬＢＡ＝ｋ以降の領域がＨＰＡ３０２となる。
【００２０】
ＭＢＲ２０１は、図４に示す構造を持つ。起動プログラム４０１は、情報処理装置１００の起動時に、ＢＩＯＳ−ＲＯＭ１０７によって読み出され実行されるプログラムを記憶する。パーティションテーブル群４０２は、Ｍａｘ Ａｄｄｒｅｓｓまでの領域のパーティション構造を記述するものである。ブートシグネチャ４０３は、ＭＢＲ２０１の正当性を示すための情報であって、通常、十六進数表記で「５５ＡＡ」という値が格納する。
【００２１】
図２に示す一般ユーザモードのパーティション構造を定義する場合、パーティションテーブル群４０２は、図５（ａ）に示すように、パーティション１として、一般ユーザパーティション２０２の先頭ＬＢＡ「１」とセクタ数「ｉ−１」を記述する。図３に示す管理者モードのパーティション構造を定義する場合、パーティションテーブル群４０２は、図５（ｂ）に示すように、パーティション１として、一般ユーザパーティション２０２の先頭ＬＢＡ「１」とセクタ数「ｉ−１」を記述することに加え、パーティション２として、管理者パーティション３０１の先頭ＬＢＡ「ｉ」とセクタ数「ｋ−ｉ」を記述する。
【００２２】
一般ユーザモードで使用するパーティションテーブル群と、管理者モードで使用するパーティションテーブル群は、図６に示すフォーマットで、ＨＰＡ３０２に記憶する。ＬＢＡ＝ｋのセクタに、図５（ａ）に示した一般ユーザモードパーティションテーブル群６０１を、ＬＢＡ＝ｋ＋１のセクタに、図５（ｂ）に示した管理者モードパーティションテーブル群６０２を記憶する。
【００２３】
図７のフローチャートを参照しながら、一般ユーザモードと管理者モードのいずれかを選択し、各モードに応じたパーティション構造を設定する方法を説明する。図７のフローチャートで示す処理手順は、起動プログラム４０１に記憶されており、情報処理装置１００の起動時、ＢＩＯＳ−ＲＯＭ１０７に記憶されたプログラムによって読み出され実行される。
【００２４】
まず、ＳＥＴ ＭＡＸ ＡＤＤＲＥＳＳコマンドを用いて、Ｍａｘ ＡｄｄｒｅｓｓにＮａｔｉｖｅ Ｍａｘ Ａｄｄｒｅｓｓを設定する（ステップＳ７０１）。これはＬＢＡ＝ｋ以降に記憶している一般ユーザモードで使用するパーティションテーブル群と、管理者モードで使用するパーティションテーブル群を読み出し可能とするためである。
【００２５】
次に、情報処理装置１００を一般ユーザモードで使用するか、管理者モードで使用するかの選択を行う（ステップＳ７０２）。モードの選択は、ディスプレイ１１５の表示に従い、キーボード／マウス１１３からの入力によって行う。
【００２６】
次に、選択されたモードが管理者モードであるか否かの判別を行い（ステップＳ７０３）、管理者モードであれば、管理者モードパーティションテーブル群６０２をＭＢＲ２０１のパーティションテーブル群４０２にコピーし（ステップＳ７０４）、Ｍａｘ Ａｄｄｒｅｓｓにｋを設定し（ステップＳ７０５）、処理を終了する。
【００２７】
ステップＳ７０３において、選択されたモードが管理者モードでなく、一般ユーザモードであった場合は、一般ユーザモードパーティションテーブル群６０１をＭＢＲ２０１のパーティションテーブル群４０２にコピーし（ステップＳ７０６）、Ｍａｘ Ａｄｄｒｅｓｓにｉを設定し（ステップＳ７０７）、処理を終了する。
【００２８】
これにより、ＬＢＡ＝ｉからＬＢＡ＝ｋの領域が、管理者モードでは読み書き可能領域となり、一般ユーザモードではＨＰＡ、すなわち読み書き不可能な領域となるため、一般ユーザモードでは不用意に書き換えられることのない領域を提供することが可能である。
【００２９】
（第２の実施形態）
上記第１の実施形態では、モードの選択を、ユーザの単純な選択行為によって行う場合について説明したが、パスワード認証を行ったユーザのみが管理者モードの選択を可能にする方法について図８のフローチャートを参照しながら以下に説明する。図８のフローチャートで示す処理手順は、起動プログラム４０１に記憶されており、情報処理装置１００の起動時、ＢＩＯＳ−ＲＯＭ１０７に記憶されたプログラムによって読み出され実行される。
【００３０】
まず、ＳＥＴ ＭＡＸ ＡＤＤＲＥＳＳコマンドを用いて、Ｍａｘ ＡｄｄｒｅｓｓにＮａｔｉｖｅ Ｍａｘ Ａｄｄｒｅｓｓを設定する（ステップＳ８０１）。これはＬＢＡ＝ｋ以降に記憶している一般ユーザモードで使用するパーティションテーブル群と、管理者モードで使用するパーティションテーブル群を読み出し可能とするためである。
【００３１】
次に、パスワード認証を行う（ステップＳ８０２）。パスワードの入力は、ディスプレイ１１５の表示に従い、キーボード／マウス１１３からの入力によって行う。
【００３２】
次に、パスワードによる認証が行えたか否かの判別を行い（ステップＳ８０３）、認証が行えた場合は、管理者モードパーティションテーブル群６０２をＭＢＲ２０１のパーティションテーブル群４０２にコピーし（ステップＳ８０４）、Ｍａｘ Ａｄｄｒｅｓｓにｋを設定し（ステップＳ８０５）、処理を終了する。
【００３３】
ステップＳ８０３において、パスワードによる認証が行えなかった場合は、一般ユーザモードパーティションテーブル群６０１をＭＢＲ２０１のパーティションテーブル群４０２にコピーし（ステップＳ８０６）、Ｍａｘ Ａｄｄｒｅｓｓにｉを設定し（ステップＳ８０７）、処理を終了する。
【００３４】
これにより、ＬＢＡ＝ｉからＬＢＡ＝ｋの領域が、パスワード認証がされたユーザには読み書き可能領域となり、パスワード認証がされなかったユーザにはＨＰＡ、すなわち読み書き不可能な領域となるため、管理者のみがパスワード認証行うことにより、管理者以外の一般ユーザには不用意に書き換えられることのない領域を提供することが可能である。
【００３５】
なお、本発明の目的は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００３６】
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３７】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００３８】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００３９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００４０】
【図１】実施形態に係る情報処理装置のシステム全体の構成を示すブロック図である。
【図２】一般ユーザモードのパーティション構造を示す図である。
【図３】管理者モードのパーティション構造を示す図である。
【図４】ＭＢＲを示す図である。
【図５】各モードのパーティションテーブル群を示す図である。
【図６】複数のパーティションテーブル群を記憶するフォーマットを示す図である。
【図７】パーティションテーブル群の選択とＨＰＡの設定を行う動作フローチャートである。
【図８】パーティションテーブル群の選択とＨＰＡの設定を行う動作フローチャートである。
【符号の説明】
【００４１】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＣＰＵバス
１０３  チップセット
１０４  メモリバス
１０５  メモリ
１０６  ＬＰＣバス
１０７  ＢＩＯＳ−ＲＯＭ
１０８  グラフィックバス
１０９  グラフィックコントローラ
１１０  ＡＴＡバス
１１１  ハードディスク
１１２  キーボード／マウス・インタフェース
１１３  キーボード／マウス
１１４  ディスプレイインタフェース
１１５  ディスプレイ
２０１  ＭＢＲ（Ｍａｓｔｅｒ Ｂｏｏｔ Ｒｅｃｏｒｄ）
２０２  一般ユーザパーティション
２０３  ＨＰＡ（Ｈｏｓｔ Ｐｒｏｔｅｃｅｄ Ａｒｅａ）
３０１  管理者パーティション
３０２  ＨＰＡ（Ｈｏｓｔ Ｐｒｏｔｅｃｅｄ Ａｒｅａ）
４０１  起動プログラム
４０２  パーティションテーブル群
４０３  ブートシグネチャ
６０１  一般ユーザモードパーティションテーブル群
６０２  管理者モードパーティションテーブル群
【図１】
2006106811.tif 000003
【図２】
2006106811.tif 000004
【図３】
2006106811.tif 000005
【図４】
2006106811.tif 000006
【図５】
2006106811.tif 000007
【図６】
2006106811.tif 000008
【図７】
2006106811.tif 000009
【図８】
2006106811.tif 000010