(57)【要約】【課題】  HDDのセキュリティモード機能で定義している32バイトの全てを使い、かつ利便性の良いパスワードセキュリティシステムを提供すること。【解決手段】  情報処理装置に自由に装着できるストレージデバイスを備え、このストレージデバイスにHDDパスワード、HDDロック管理プログラムを格納し、情報処理装置にストレージデバイスが装着されている場合、HDDに優先して当該ストレージデバイスからシステムを立ち上げる手段を備え、HDDロック管理プログラムに、ストレージデバイスからディスクパスワードを取出す手段、そのパスワードを使って、HDDのセキュリティモードを制御する手段を備える。【選択図】  図１
2006031575.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置アクセス管理装置であって、
第１のＯＳプログラムと当該第１のＯＳプログラムをブートするための第１のブートプログラムとを格納した記憶装置に接続された情報処理装置と、
前記情報処理装置に接続され、前記記憶装置のアクセス制限を解除するためのプログラムと、前記情報処理装置が起動される際に該情報処理装置が有するＢＩＯＳによって実行される第２のブートプログラムと、当該ブートプログラム対応した第２のＯＳプログラムとが格納された記憶媒体とを有し、
前記情報処理装置のＢＩＯＳは、前記記憶媒体に格納されたブートプログラムを前記情報処理装置が有するブートプログラムよりも先に検出するよう設定され、
前記情報処理装置のＣＰＵは、電源を投入後に、前記記憶媒体に格納された第２のブートプログラムを検出して、当該第２のブートプログラムにより前記第２のＯＳプログラムを取得して前記記憶装置アクセス解除プログラムを実行し、予め登録された記憶装置アクセス用パスワードと前記記憶媒体から読み出した記憶装置アクセス用パスワードとを比較して一致した場合、前記第１のブートプログラムにアクセスし、当該第１のブートプログラムにより前記第１のＯＳプログラムを実行可能とすることを特徴とする記憶装置アクセス管理装置。
【請求項２】
請求項１記載の記憶装置アクセス管理装置であって、
前記情報処理装置は、前記記憶装置にアクセス制限がされているか否かを判断し、
アクセス制限がされている場合、
前記記憶装置アクセス用パスワードを用いて前記アクセス制限を解除して前記記憶装置に格納された第１のＯＳプログラムを実行することを特徴とする記憶装置アクセス管理装置。
【請求項３】
請求項２記載の記憶装置アクセス管理装置であって、
前記情報処理装置が複数の記憶装置に接続されている場合、当該情報処理装置は、前記記憶装置から該記憶装置の識別情報である記憶装置識別情報を取得し、
前記記憶装置識別情報に基づき、アクセス先の記憶装置を特定してアクセス制限の有無を判断し、
アクセス制限がされている場合、
前記記憶装置に対応する前記記憶装置アクセス用パスワードを用いて、前記複数の記憶装置のうちのいずれかにアクセスすることを特徴とする記憶装置アクセス管理装置。
【請求項４】
請求項３記載の記憶装置アクセス管理装置であって、
前記記憶媒体には、複数の記憶装置のそれぞれの記憶装置に関連付けられた記憶装置アクセス用パスワードに対応する利用者番号が格納され、
前記情報処理装置は、利用者により入力された利用者番号と前記記憶媒体に予め格納された前記利用者番号とを比較し、一致した場合、当該利用者番号に対応する記憶装置アクセス用パスワードにアクセスし、前記記憶装置のアクセス制限解除処理プログラムを実行することを特徴とする記憶装置アクセス管理装置。
【請求項５】
請求項４記載の記憶装置アクセス管理装置であって
前記情報処理装置は、利用者により入力された利用者番号と前記記憶媒体に予め格納された利用者番号が、所定回数一致しなかった場合、前記利用者番号に対応する記憶装置へのアクセスを中止することを特徴とする記憶装置アクセス管理装置。
【請求項６】
記憶装置アクセス管理システムであって、
第１のＯＳプログラムと当該第１のＯＳプログラムをブートするための第１のブートプログラムとを格納した記憶装置に接続されたサーバと、
前記サーバにアクセスするクライアント機器と、
前記サーバと前記クライアント機器とを接続するネットワークと、
前記クライアント機器に接続され、前記サーバを遠隔操作する遠隔操作アプリケーションプログラムと、前記ネットワーク上の通信を暗号化する暗号化アプリケーションプログラムと、前記記憶装置のアクセス制限を解除するためのプログラムおよび記憶装置アクセス用パスワードと、前記クライアント機器が起動される際に該クライアント機器が有するＢＩＯＳによって実行される第２のブートプログラムと、当該ブートプログラム対応した第２のＯＳプログラムとが格納された記憶媒体とを有し、
前記クライアント機器のＢＩＯＳは、前記記憶媒体に格納されたブートプログラムを前記クライアント機器が有するブートプログラムよりも先に検出するよう設定され、
前記クライント機器のＣＰＵは、電源を投入後に、前記記憶媒体に格納された第２のブートプログラムを検出して、当該第２のブートプログラムにより前記第２のＯＳプログラムを取得して前記記憶装置アクセス解除プログラムを実行し、前記記憶装置アクセス用パスワードを前記サーバへ送信し、
前記サーバは、予め登録された記憶装置アクセス用パスワードと前記クライアント機器から送信された記憶装置アクセス用パスワードとを比較して一致した場合、前記第１のブートプログラムにアクセスし、当該第１のブートプログラムにより前記第１のＯＳプログラムを取得して当該サーバ内のＣＰＵにより実行させることを特徴とする記憶装置アクセス管理システム。
【請求項７】
請求項６記載の記憶装置アクセス管理システムであって、
前記クライアント機器は、前記サーバに接続された記憶装置にアクセス制限がされているか否かを判断し、
アクセス制限がされている場合、
前記記憶装置アクセス用パスワードを用いて前記アクセス制限を解除して前記記憶装置に格納された第１のＯＳプログラムを実行することを特徴とする記憶装置アクセス管理システム。
【請求項８】
請求項７記載の記憶装置アクセス管理システムであって、
前記サーバが複数の記憶装置に接続されている場合、前記サーバにアクセスして、前記接続された記憶装置から該記憶装置の識別情報である記憶装置識別情報を取得し、
前記記憶装置識別情報に基づきアクセス先の記憶装置を特定してアクセス制限の有無を判断し、
アクセス制限がされている場合、
前記記憶装置に対応する前記記憶装置アクセス用パスワードを用いて、前記複数の記憶装置のうちのいずれかにアクセスすることを特徴とする記憶装置アクセス管理システム。
【請求項９】
請求項８記載の記憶装置アクセス管理システムであって、
前記記憶媒体には、複数の記憶装置のそれぞれの記憶装置に関連付けられた記憶装置アクセス用パスワードに対応する利用者番号が格納され、
前記クライアント機器は、利用者により入力された利用者番号と前記記憶媒体に予め格納された前記利用者番号とを比較し、一致した場合、当該利用者番号に対応する記憶装置アクセス用パスワードにアクセスし、前記記憶装置のアクセス制限解除処理プログラムを実行することを特徴とする記憶装置アクセス管理システム。
【請求項１０】
請求項９記載の記憶装置アクセス管理システムであって
前記クライアント機器は、利用者により入力された利用者番号と前記記憶媒体に予め格納された利用者番号が、所定回数一致しなかった場合、前記利用者番号に対応する記憶装置へのアクセスを中止することを特徴とする記憶装置アクセス管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報システムの構成デバイスの一つであるハードディスクのアクセスを許可したり禁止するセキュリティパスワードシステムに関する。
【背景技術】
【０００２】
近年、携帯性の良い小型の情報処理装置が普及してきた。それに伴って情報処理装置の置き忘れや盗難に会う危険が増加し、情報処理装置に搭載されているハードディスク（以下、HDDとする）内の秘密情報が外部に漏洩することが問題になってきている。また、ネットワーク経由の遠隔操作で情報処理装置の電源を入れ起動して、リモートデスクトップソフトと組合わせて使うシステムも普及しつつあり、それに伴い、不正なリモートアクセスによってHDD内の情報が盗まれるということも問題となる。
【０００３】
HDDのセキュリティモード機能は、ATA/ATAPI標準規格で決められている。
【０００４】
この機能は、数個のセキュリティモード制御コマンドでHDDのセキュリティモード（ロックモード、アンロックモード）を管理し、HDDに対するデータの書込みや読出しを許可または禁止する機能である。この機能は、３２バイトのパスワードによってセキュリティモードを変更するコマンドの実行を認証している。HDDがロックモード状態にある場合、情報処理装置はHDDからデータを読出すことも、書込むこともできない。（図５、図６参照）。
【０００５】
最近の情報処理装置のROMBIOSではほとんどの場合、接続しているHDDのセキュリティモード機能に対応している。つまり、情報処理装置の電源をオンした直後、プロンプトを表示して、HDDのパスワードをユーザに要求する。ユーザがパスワードを入力すると、当該パスワードをパラメータとして、HDDにSecurity Unlockコマンド４０２２を発行する。このコマンドによって、HDDはLocked状態４００４からUnlock状態４００５に移る。これ以降、ROMBIOSは当該HDDからOSプログラムを読み出すことができるようになる。すなわち、情報処理システムが立ち上がる。
【０００６】
もしパスワードを間違えた場合、HDDのロックモードが解除されないので、ROMBIOSは情報システムを立ち上げることができない。仮に、複数のHDDを接続していて、一つのHDDから情報処理システムが立ち上がったとしても、ロックモードが解除できなかった別のHDDをアクセスすることはできない。このようなHDDのパスワードセキュリティシステムで、HDD内に格納されている秘密情報が漏洩することを防いでいる。
【０００７】
しかし、実際のHDDのパスワードは３２バイト長であるが、ユーザの利便性を考えて、ROMBIOSはユーザから多くても８文字だけ入力し、残りはデフォルトデータを詰め込み、32バイトのパスワードとしている状態である。実質８バイト程度のパスワードであるため、解読される危険性は高い。
【０００８】
また、ネットワーク経由の遠隔操作で情報処理装置を使う場合、HDDのパスワード入力処理がリモート操作となるので、パスワードの漏洩防止対策やユーザ認証機能が要求される。この要求をROMBIOSだけで対応することは困難であった。
【０００９】
このような、問題点に関し、特許文献１では、フラッシュメモリインタフェースとＩＣカード機能を持つフラッシュメモリカードを開示している。このカードのＩＣカード領域は耐タンパ性にすぐれていて、秘密にしておきたいHDDのパスワードを安全に格納して持ち運ぶことができる。また、フラッシュメモリ領域の記憶容量は大きく、前記パスワードを使ってＨＤＤのセキュリティ状態を管理する拡張プログラムも同じデバイスに格納して持ち運ぶことができるので都合が良い。
【００１０】
特許文献２では、ユーザ認証用の認証データ等のセキュリティデータを記憶するハードウェアロックと、デバイスドライバを記憶するメモリを具備する認証装置を開示している。
【００１１】
特許文献３では、ＢＩＯＳにセキュリティチェック機構を具備し、スマートカード内にセキュリティデータを格納するＨＤＤのセキュリティシステムを開示している。
【００１２】
【特許文献１】特開２００１−２０９７７３号公報
【特許文献２】特開２００４−８６５８４号公報
【特許文献３】特開２００２−７２１６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
従来の情報処理装置で行っているHDDのパスワードセキュリティシステムでは、HDDのパスワードをユーザに要求する場合、ユーザの利便性を考えて、最大でも8文字のデータ入力だけを要求する。残りの24バイトにはパディングデータを詰め込み、32バイトのパスワードとして使っていた。このような実質8文字のパスワードでは簡単に解読される危険性が大きいという問題があった。
【００１４】
本発明では、HDDのセキュリティモード機能で定義している32バイトの全てを使い、かつ利便性の良いパスワードセキュリティシステムを、従来のＲＯＭＢＩＯＳの変更を最小限で提供する。
【００１５】
また、リモートで情報処理装置のセキュリティモードを操作する場合、なりすましや盗聴から保護されたセキュリティレベルの高いリモートユーザ認証、HDDパスワード交換方法を適用しなければならない。さらに、サーバ側のOSがブートされる前に、これらの処理を実行しなければならない。ROMBIOSだけでこれらの処理に対応することは困難である。
【課題を解決するための手段】
【００１６】
本発明では、充分大きいバイト長のHDDパスワードを安全に格納し、情報処理装置に自由に装着できるストレージデバイスを備える。
【００１７】
本発明に係わるHDDセキュリティ管理システムは、このストレージデバイスに、HDDパスワード、HDDロック管理プログラム、該HDDロック管理プログラムをメモリにローディングし実行するOS（以下、ヘルプOSとする）を備える。また、情報処理装置にストレージデバイスが装着されている場合、該情報処理装置のHDDに優先して当該ストレージデバイスからヘルプＯＳを立ち上げる（ブートする）手段を備える。HDDロック管理プログラムには、ストレージデバイスのセキュリティ領域からHDDパスワードを取出す手段、そのパスワードを使って、HDDのセキュリティモードを制御する手段、HDDのロックを解除したあと、HDDからターゲットのシステムを立ち上げる手段が含まれている。
【発明の効果】
【００１８】
本発明によれば、HDDのセキュリティモード機能で定義しているバイト数の全てを使い、かつ利便性の良いパスワードセキュリティシステムを提供できる。
【００１９】
また、本発明によれば、ネットワークを介して接続されるHDDのセキュリティ状態を制御可能である。
【発明を実施するための最良の形態】
【００２０】
本発明の実施例について図面を用いて説明する。
【実施例１】
【００２１】
図1に本発明の第1実施例の全体構成図を示す。情報処理装置１００は計算機の全体制御、および各種プログラムを実行する中央処理装置（以下ＣＰＵ）１１０、各種プログラムやデータがロードされるメモリ装置１２０、ＲＯＭＢＩＯＳ１３０、アダプタ１５０、１６０で構成されていて、それらはシステムバス１４０で接続される。アダプタ１５０を介してHDD４０００のホストインタフェース４０５０が接続する。アダプタ１６０を介して装着可能なストレージデバイスを接続するリーダライタ３００が接続する。この実施例ではストレージデバイスとして、統合セキュリティカード２０００を用いる。統合セキュリティカード２０００はストレージデバイス機能とセキュアデバイス機能の両方を備える。なお、本実施例では記憶装置としてＨＤＤを例に説明するが、本実施例の効果を奏する範囲内であればＤＶＤレコーダ等の他の記憶装置でもよい。
【００２２】
統合セキュリティカード２０００としては、特許文献１で開示されているようなICカード機能と通常のメモリ機能の両方を備えているデバイスが好都合である。しかし、、セキュリティ機能を持たないメモリカードやＦＤ等の記憶手段を採用してもよい。
【００２３】
ＲＯＭＢＩＯＳ１３０には、HDD４０００あるいはストレージデバイス２０００などのシステムブート可能デバイスから一つのデバイスを選択する手段、当該デバイスからシステムブートローダをメモリ装置１２０に読出す手段、読み出したシステムブートローダに分岐する手段（いわゆるシステムブート機能）を備える。
【００２４】
HDD４０００あるいはストレージデバイス２０００から読み出されたOSプログラムは、メモリ装置１２０に格納され、ＣＰＵ１１０により実行される。
【００２５】
図２は、ストレージデバイス（統合セキュリティカード）２０００のブロック図である。ストレージデバイス２０００は、ホストインタフェース２０５０を介して情報処理装置１００と接続される。内部には、ファイルデータ領域２１００とセキュアデータ領域２８００（耐タンパ性を有する領域）を備える。ホストインタフェース２０５０は、上記２つのデータ領域へのアクセスを制御する。
【００２６】
ファイルデータ領域２１００には、HDDロック管理処理プログラム群２４００、HDDロック管理プログラム２４００をメモリにローディングし実行する制御プログラムするヘルプＯＳ２２００、２３００が格納されている。また、ファイルデータ領域２１００には、HDD４０００のロック状態を解除した後、再びＲＯＭＢＩＯＳを呼び出してHDD４０００からＯＳプログラム（ターゲットＯＳ）を立ち上げるときに使うＢＩＯＳ初期設定情報を格納しておく退避ファイル２７００が格納されている。  セキュアデータ領域２８００には、HDDのパスワード２８０１から２８０３と、それぞれのパスワードを保護するＰＩＮデータ２８１１から２８１３が格納されている。このHDDのパスワード２８０１から２８０３は最大長のバイト数（例えば、３２バイト長）を持つ。
【００２７】
一つの統合セキュリティカード２０００に複数のHDDのパスワードが格納されている。HDD識別情報（ID）として、HDDのモデル番号、シリアル番号等を組合わせて使い、アクセス先となるHDDとパスワードの対応付けを自動的に処理できるようにする。
【００２８】
また、ユーザが入力したＰＩＮデータが上記PINデータ２８１１から２８１３のいずれかと一致したとき、該当するパスワードを読み出し、または変更できる。パスワード長に比べてＰＩＮデータ長は短いので、ＰＩＮデータの不一致がリトライ回数をオーバした場合、パスワードへのアクセスを禁止する機能も備えている。
【００２９】
ホストインタフェース２０５０は、前記に説明した機能を、セキュアデータ領域２８００のアクセスコマンド（図７参照）としてユーザに提供しており、例えば、ユーザはホスト機器１００を介して該コマンドを入力しHDDにアクセス可能となる。例えば、Password Readコマンド２０６１はHDD識別情報とPINデータをパラメータとして、セキュアデータ領域２８００からHDDパスワードを読み出す。
【００３０】
図３は、HDDロック管理処理プログラム群２４００の詳細構成図である。これらのプログラムはヘルプＯＳ２３００の制御下で実行される。
【００３１】
２４１０はHDDロック解除処理プログラム、２４３０はセットパスワード（HDDにパスワードを初期設定する処理）プログラム、２４５０はリセットパスワード（HDDのパスワードをクリアする処理）プログラム、２４７０はカード発行ユーティリティ（ストレージデバイス２０００にHDDのパスワードをセットアップする処理）プログラム、である。２４９０はパスワードの取り出し（ストレージデバイス２０００からHDDのパスワードを取り出す処理）プログラム、２５１０はターゲットＯＳのブート処理プログラムであり、いずれもサブルーチンである。
【００３２】
２６１０はセキュリティカードロウドライバ（ストレージデバイス２０００のセキュアデータ領域２８００のアクセス処理）、２６３０はHDDロウドライバ（HDD４０００のセキュリティモード制御コマンド処理）である。これらのプログラムの動きを図８から図２０を用いて説明する。
【００３３】
図４は、HDD４０００のブロック図である。ホストインタフェース４０５０は図５、図６に示すセキュリティモード機能を備える。HDD４０００は、ホストインタフェース４０５０を介して情報処理装置１００と接続される。内部には、ファイルデータ領域４１００を備える。ホストインタフェース４０５０はHDDのセキュリティモード（ロックモード、アンロックモード）を管理し、ファイルデータ領域４１００に対するデータの書込みや読出しコマンドを許可または禁止する。
【００３４】
ファイルデータ領域４１００には、ターゲットＯＳのブートローダ４２００、ターゲットＯＳのシステムファイル群４３００、ユーザファイル群４４００を格納される。ターゲットＯＳのシステムファイル群、ユーザファイル群とは、HDDに格納されているOSのことである。なお、上述の通り、統合セキュリティカード内に格納されているOSはヘルプOSである。
【００３５】
図５、図６で、ATA/ATAPI標準規格で決められているHDDのセキュリティ機構を説明する。
【００３６】
図５は、HDD４０００のセキュリティモードの状態遷移図である。
Security Disabled状態４００２は、パスワードが設定されていない状態で、全てのコマンドを受付ける状態である。Security Enabled状態４００３はパスワードが設定してある状態で、Locked状態４００４とUnlock状態４００５の２つの状態がある。Locked状態４００４は、ファイルデータ領域４１００をアクセスするコマンドを受付けない状態である。この状態では、情報処理装置１００はHDDからまったくデータを読出したり書き込むことができなくなる。Unlock状態４００５は、全てのコマンドを受付ける状態である。
【００３７】
HDDの電源をオンした後、パスワードが設定されていないと、HDDはSecurity Disabled状態４００２になる。またパスワードが設定されているとLocked状態４００４になる。HDDは数個のセキュリティモード制御コマンドにより制御可能であり、該コマンドによりセキュリティモードを遷移させることができる。
【００３８】
図６にセキュリティモード制御コマンドのリストを示す。Security Set Passwordコマンド４０２０はSecurity Disabled状態４００２からUnlock状態４００５に遷移させるコマンド、Security Disable Passwordコマンド４０２１はUnlock状態４００５からSecurity Disabled状態４００２に遷移させるコマンドである。Locked状態４００４では、Security Unlockコマンド４０２２が使用でき、Locked状態４００４からUnlock状態４００５に遷移できる。Identity Deviceコマンド４０２２は、デバイス情報（ＩＤセクタ）を読み出す情報である。情報処理装置１００はこのデバイス情報でHDD４０００のセキュリティ状態を知ることができる。
【００３９】
図８は、本発明HDDセキュリティ管理方式の全体の制御フロー図である。情報処理装置１００の電源がオンされるとＲＯＭＢＩＯＳ１３０の処理が開始する。まず最初に、メモリの動作チェックなどのハード診断処理とメモリの初期化、ディスクなどのハードウェア初期化を行ってROMBIOSが動作できる状態にするシステムの初期化処理１３１０が実行される。続いて、ブートデバイスの認識処理１３２０とシステムブート処理１３３０が実行される。ブートデバイスの認識処理の詳細は、図９に示す。システムブート処理の詳細については、図１０に示す。システムブート処理１３３０では、ヘルプＯＳブートローダ処理プログラム２２００がメモリ装置１２０にローディングされ、CPUにより実行される。ヘルプＯＳブートローダ処理２２００では、ヘルプＯＳ２３００がメモリ装置１２０にローディングされ、CPUにより実行される。ヘルプＯＳ２３００は、HDDロック管理処理プログラム２４００をメモリ装置１２０にローディングし、実行する。HDDロック管理処理２４００はHDD４０００に格納されているターゲットＯＳのブート処理を行う。
【００４０】
図９のように、ＲＯＭＢＩＯＳのブートデバイスの認識処理１３２０では、HDD４０００、ストレージデバイス２０００、あるいはフロッピー（登録商標）ディスク７０００などがあればそれらをブートデバイスとして認識する（１３２１）。複数のブートデバイスを認識した場合、ストレージデバイス２０００が第1ブートデバイスに設定される（１３２２）。HDD４０００は第２ブートデバイス以降に設定される。本実施例では、ＨＤＤロック管理プログラム群２４００が格納されているストレージデバイスが第１ブートデバイスに設定される。ストレージデバイス２０００が装着されていない場合はHDD４０００が第１ブートデバイスとなる。
【００４１】
次に、ディスクＢＩＯＳ関数（ＩＮＴ１３ｈ）のパラメータであるドライブ番号とブートデバイスを対応付け、ディスクＢＩＯＳ関数でブートデバイスをアクセスできるように設定する（１３２３、１３５０）。例えば、第1ブートデバイスのドライブ番号は８０ｈ、第2ブートデバイスは８１ｈに割り振られる。ディスクＢＩＯＳ関数はブートデバイスからプログラムをローディングする処理で使われる。
【００４２】
図１０のように、ＲＯＭＢＩＯＳのシステムブート処理１３３０では、第１ブートデバイスから順番にブートローダを読み出し、正しく読み出せたかチェックする（１３３１，１３３２）。正しく読み出せた場合、そのブートデバイスからシステムプログラムの立ち上げが可能であるとみなし、読み出したブートローダへ分岐する（１３３５）。第１ブートデバイスがストレージデバイス２０００の場合、ヘルプＯＳブートローダ２２００、ヘルプＯＳ２３００、HDD管理処理２４００が立ち上がることになる。一方、ストレージデバイス２０００が装着されていなくて第１ブートデバイスがHDD４０００の場合、ターゲットＯＳブートローダ４２００、ターゲットＯＳシステム４３００が立ち上がることになる。ここで、もしHDD４０００がLocked状態４００４ならば、ターゲットＯＳブートローダ４２００を読み出す処理１３３１がエラーとなり、結果としてシステムブートエラー１３３９となる。このように、HDD４０００をSecurity Enabled状態４００３に設定しておき、ストレージデバイス２０００を抜き差しすることで、HDD４０００からのターゲットＯＳシステム４３００の立ち上げを制御できる。
【００４３】
図１１はヘルプＯＳのブートローダ処理２２００である。最初に、ＢＩＯＳ設定情報を退避ファイル２７００に保存する（２２０１）。これは、ヘルプOSがBIOS設定情報を変更して、HDDロック解除後にHDDからターゲットOSをブートする場合、ヘルプOSが変更したBIOS設定情報、設定したアドレス情報を、システム管理上もとの状態に戻す必要があるためである。この情報は、HDD管理処理２４００がHDD４０００のロックを解除しターゲットＯＳ４２００，４３００をブートする時に必要になる。そして、ブートローダに設定されている各OS毎のアドレスに基づき、ヘルプＯＳシステム２３００を上記メモリ装置１２０へローディングし（２２０２）、ヘルプＯＳが実行される。
【００４４】
図１２は、HDDロック解除処理２４１０である。この処理プログラムは、ヘルプＯＳ２３００から起動される。最初に、HDD４０００からデバイス情報（ＩＤセクタ）を読出し、セキュリティ状態をチェックする（２４１１、２４１２）。セキュリティ状態がLocked状態４００４の場合、パスワードの取り出しサブルーチン２４９０を呼び出し、HDD４０００のパスワードを取得する（２４１３）。この時、処理２４１１で読み出したデバイス情報（ＩＤセクタ）から、HDDのモデル番号、シリアル番号を取出し、それを組合わせてHDD識別情報（ID）として使う。
【００４５】
HDD４０００にSecurity Unlockコマンド４０２２を送り、Locked状態を解除する（２４１４）。その後、ターゲットＯＳのブート処理２５１０を呼び出す（２４１５）。
【００４６】
図１３は、パスワードの取り出しサブルーチン２４９０である。この実施例では、ストレージデバイス（統合セキュリティカード）２０００のセキュアデータ領域２８００からHDDのパスワードを取り出す。一般にHDDのパスワードが複数格納されているので、選択メニュープロンプトを表示し、ユーザに選択指示を要求する（２４９１、２４９２）。この選択処理は、HDDＩＤ（識別子）としてHDDのシリアル番号などを使って自動的に処理することもできる。HDDが選択されたら次にこのパスワードを保護しているＰＩＮデータの入力をユーザに要求する（２４９３）。ユーザの指示したＰＩＮデータを使ってパスワードの取り出し処理を試みる（２４９４、２４９５）。ＰＩＮデータの不一致がリトライ回数をオーバした場合、エラー終了する（２４９６、２４９９、２５００）。ＰＩＮデータが一致した場合パスワードの取り出しが成功する（２４９７、２４９８）。
【００４７】
図１４は、ターゲットＯＳのブート処理２５１０である。以前、ヘルプＯＳのブートローダ処理２２０１でファイル２７００に退避しておいたＢＩＯＳ設定情報を回復する（２５１１）。この処理でヘルプＯＳ２３００の実行によって変更されたメモリ状態などをＲＯＭＢＩＯＳ１３０が初期設定した状態に回復する。そのあと、ディスク４０００に格納されているターゲットＯＳブートローダ４２００をメモリに読出し、そのブートローダへ分岐する（２５１２、２５１３）。ターゲットＯＳブートローダ４２００は、ターゲットＯＳシステム４３００をメモリ装置１２０にローディングし、CPUにより実行される。
【００４８】
図１５は、セットパスワードプログラム２４３０である。このプログラムは、情報処理装置のCPUにより駆動されHDDにパスワードを初期設定する。最初にHDD４０００からデバイス情報（ＩＤセクタ）を読出し、セキュリティ状態をチェックする（２４３１、２４３２）。セキュリティ状態がSecurity Disabled状態４００２の場合、パスワードの取り出しサブルーチン２４９０を呼び出し、HDD４０００のパスワードを取得する（２４３３）。HDD４０００にSecurity Set Passwordコマンド４０２０を送り、HDDをSecurity Enabled状態４００３に設定する（２４３４）。これ以降、当該HDDは電源をオンした後、自動的にLocked状態４００４に遷移する。
【００４９】
図１６は、リセットパスワードプログラム２４５０である。このプログラムはHDDのパスワードをクリアする。最初にHDD４０００からデバイス情報（ＩＤセクタ）を読出し、セキュリティ状態をチェックする（２４５１、２４５２）。セキュリティ状態がSecurity Enabled状態４００３の場合、パスワードの取り出しサブルーチン２４９０を呼び出し、HDD４０００のパスワードを取得する（２４５３）。HDD４０００にSecurity Unlockコマンド４０２２を送り、Locked状態を解除する（２４５４）。次に、HDD４０００にSecurity Disable Passwordコマンド４０２１を送り、HDDをSecurity Disabled状態４００２に設定する（２４５６）。これ以降、当該HDDは電源をオンした直後自動的にSecurity Disabled状態４００２に遷移する。
【００５０】
図１７は、HDDロウドライバサブルーチン２６１０である。このドライバサブルーチンは、呼び出し元プログラムからパラメータで指示されたHDDセキュリティモード制御コマンド（図６参照）をHDD４０００に送る。HDD４００のコマンドプロトコル仕様に従ってデータ転送を制御する。まず、HDDへ制御コマンドパラメータを送信する（２６１１）。次に、当該コマンドがデータ転送を伴うコマンドならば（２６１２）、HDDとのデータ転送を実行する（２６１３）。次に、HDDのステータス情報をチェックする（２６１４）。エラーのない場合、正常終了のリターンコードを呼び出し元プログラムに返す（２６１５）。エラーの場合、エラー終了のリターンコードを呼び出し元プログラムに返す（２６１７）。
【００５１】
図１８は、セキュリティカードロウドライバサブルーチン２６３０である。このドライバサブルーチンは呼び出し元プログラムから渡されたパラメータに従って、統合セキュリティカード（ストレージデバイス）２０００にセキュアデータ領域２８００に格納されているパスワードをアクセスするコマンド（図７参照）を送る。統合セキュリティカード２０００のコマンドプロトコル仕様に従ってコマンド送信処理を行う。まず、統合セキュリティカードへ制御コマンドパラメータを送信する（２６３１）。次に当該コマンドがデータ転送を伴うコマンドならばデータ転送を実行する（２６３２、２６３３）。次に、統合セキュリティカードのステータス情報をチェックする（２６３４）。エラーのない場合、正常終了のリターンコードを呼び出し元プログラムに返す（２６３５）。エラーの場合、エラー終了のリターンコードを呼び出し元プログラムに返す（２６３７）。
【００５２】
図１９は、カード発行プログラム２４７０である。このプログラムは統合セキュリティカード（ストレージデバイス）２０００にHDD４０００のパスワードをセットアップする。入力プロンプトを表示してHDD４０００のパスワードとＰＩＮデータの入力をユーザに要求する（２４７１、２４７２）。ユーザから取得したHDDのパスワードとＰＩＮデータをセキュアデータ領域２８００に格納する（２４７３）。
【実施例２】
【００５３】
図２０にブートデバイスの認識処理１３２０（図９参照）の別の実施例を示す。この実施例は、情報処理装置１００に自由に装着できるストレージデバイス２０００、６０００などに対して、システムを立ち上げる（システムブートできる）デバイスを特定のデバイスに限定し、セキュリティの程度を強化する。システムブートを許可するデバイスを１３９０ブートデバイスＩＤに格納する。リーダライタ３００のデバイスＩＤあるいはストレージデバイス２０００、６０００などのデバイスＩＤをブートデバイスＩＤに指定する。
【００５４】
ブートデバイスの認識処理１４００では、装着されたストレージデバイス２０００、６０００などを認識した場合（１４０１）そのデバイスＩＤが１３９０ブートデバイスＩＤに一致するかチェックする（１４０２）。一致した場合、当該ストレージデバイスを第1ブートデバイスに設定する（１４０３）。一致しない場合、ブートデバイス設定処理を無視する。その後、HDD４０００をブートデバイスとして設定する（１４０４）。ブートデバイスとして許可されていないストレージデバイス２０００、６０００が装着された場合、当該ストレージデバイスは無視されるので、HDD４０００からシステムを立ち上げることになる。しかし、HDD４０００のLocked状態が解除されていないのでシステムブート処理はエラーとなる。
【実施例３】
【００５５】
図２１に本発明の第３実施例の全体構成図を示す。この実施例では、ネットワーク経由の遠隔操作で、HDDのセキュリティモードをリモート操作する。
【００５６】
二つの情報処理装置がネットワーク９０００を経由して接続されている。
サーバ側のホスト機器１００ｓは、ネットワーク経由の遠隔操作で電源をオンする機構（Wake up on LAN）１３５を備える。また、HDD４０００と統合セキュリティカード２０００ｓを接続している。統合セキュリティカード２０００ｓ内に、ＨＤＤロック管理処理プログラム群（サーバ）２４００ｓを格納する。
【００５７】
クライアント側のホスト機器１００ｒは統合セキュリティカード２０００ｒを接続している。同様に、統合セキュリティカード２０００ｒ内に、ＨＤＤロック管理処理プログラム群（クライアント）２４００ｒを格納する。
【００５８】
クライアント側のホスト機器１００ｒとサーバ側のホスト機器１００ｓは、ＰＫＩ（公開鍵基盤）技術を使って、統合セキュリティカード２０００ｒ内に格納されているHDDのパスワードを送信、受信する。
【００５９】
図２２および図２３に、統合セキュリティカード２０００ｓ内に格納するＨＤＤロック管理処理プログラム群２４００ｓとセキュリティ情報２８００ｓを示す。ＨＤＤロック管理処理プログラムとして、サーバ側パスワードの取り出しプログラム２４９０ｓが追加されている。セキュリティ情報として、サーバプライベート鍵２８３０と前記サーバプライベート鍵を使う復号処理２８２０を備える。サーバは、クライアントから送信された暗号化されたHDDパスワードをサーバプライベート鍵を使って復号化する。また、クライアントを認証する際に用いるクライアント公開鍵２８３２とクライアント公開鍵を使う電子署名確認処理２８２２を備える。なお、統合セキュリティカード２０００ｓ内に格納されるＨＤＤロック管理処理プログラム群２４００ｓとセキュリティ情報２８００ｓは、ホスト機器側に格納されていてもよい。
【００６０】
図２４および図２５に、統合セキュリティカード２０００ｒ内に格納するＨＤＤロック管理処理プログラム群２４００ｒとセキュリティ情報２８００ｒを示す。ＨＤＤロック管理処理プログラムとして、図２５に示すクライアント側パスワードの取り出しプログラム２４９０ｒが追加されている。また、サーバ側のホスト機器１００ｓのリモート電源投入ソフト２６７０を備える。セキュリティ情報として、サーバ公開鍵２８３１、サーバ公開鍵を使う暗号処理２８２１、クライアントプライベート鍵２８３３、クライアントプライベート鍵を使う電子署名作成処理２８２３を備える。およびHDDのパスワード２８０１から２８０３と、このパスワードを保護するＰＩＮデータ２８１１から２８１３を備える。
【００６１】
図２８に、クライアント１００ｒ、クライアントに接続されている統合セキュリティカード２０００ｒ、サーバ１００ｓ、サーバに接続されている統合セキュリティカード２０００ｓ、HDD４０００間の信号のやり取りのシーケンス図を示す。
【００６２】
クライアント側のホスト機器１００ｒにおいて、リモート電源投入ソフト２６７０とクライアント側パスワードの取り出しプログラム２４９０ｒが動作する。
【００６３】
クライアント側のホスト機器１００ｒにおいて、リモート電源投入ソフト２６７０動作させて、ネットワークを経由してサーバ側のホスト機器１００ｓの電源オンを要求する。サーバ側のホスト機器１００ｓでは、Wake up on LAN機構１３５が応答してホスト機器の電源をオンする。サーバ側のホスト機器１００ｓでは図８に示した制御の流れで、ＨＤＤロック管理２４１０の動作が開始する。
【００６４】
図１２に、ＨＤＤロック解除管理２４１０の詳細を示す。リモート電源投入の場合、当該処理中のステップ２４１３で、サーバ側パスワードの取り出しプログラム２４９０ｓを呼び出し、クライアント側ホスト機器１００ｒからHDDのパスワードを取得する。ここで、サーバ側パスワード取り出しプログラム２４９０ｓとクライアント側パスワード取り出しプログラム２４９０ｒとの間で、ネットワークを経由して制御メッセージのやり取りを行う。サーバ側パスワード取り出しプログラム２４９０ｓは、コール元プログラムから依頼されたHDDパスワード取り出し処理を、クライアント側パスワード取り出しプログラム２４９０ｒに依頼する。クライアント側パスワード取り出しプログラム２４９０ｒは、サーバ側パスワード取り出しプログラム２４９０ｓから依頼された処理を行って結果をリターンする。
【００６５】
図２６に、サーバ側パスワードの取り出しプログラム２４９０ｓの詳細を示す。
【００６６】
まず最初のステップ２４９１ｓで、HDDのパスワードを要求する制御コマンド情報を作成する。制御コマンド情報にはランダムに発生するデータを含ませておく。次のステップ２４９２ｓで、前記HDDのパスワードを要求する制御コマンドを、ネットワーク経由で、クライアント側のホスト機器１００ｒ内で動作しているクライアント側パスワードの取り出しプログラム２４９０ｒへ送信する。ステップ２４９３ｓで、クライアント側パスワードの取り出しプログラム２４９０ｒからのリターン情報を受信する。前記リターン情報には、HDDのパスワードと電子署名が含まれている。このリターン情報は、サーバ公開鍵２８３１で暗号化されている。ステップ２４９４ｓで、リターン情報をサーバプライベート鍵２８３０で復号化する（統合セキュリティカード２０００ｓにDecryptコマンド２０６６を送り、復号処理２８２０を実行する）。ステップ２４９５ｓで、電子署名がクライアント側ホスト機器１００ｒで作成されたものか確認する。ステップ２４９１ｓで作成した制御コマンド情報に対応した電子署名であるかどうか検証する（統合セキュリティカード２０００ｓにVerifySignatureコマンド２０６４を送り、電子署名検証処理２８２２を実行する）。正しい電子署名であれば次の処理に進む（２４９６ｓ）。
【００６７】
図２７に、クライアント側パスワードの取り出しプログラム２４９０ｒの詳細を示す。最初のステップ２４９１ｒで、サーバ側のホスト機器１００ｓ内で動作しているサーバ側パスワードの取り出しプログラム２４９０ｓからの制御コマンドをネットワーク経由で受信する。
【００６８】
次のステップ２４９２ｒで、統合セキュリティカード２０００ｒ内に格納されているHDDのパスワードを取り出す。具体的にはパスワードの取り出し２４９０を呼び出す。図１３にパスワードの取り出し２４９０の詳細を示す。
ステップ２４９３ｒで、受信した制御コマンド情報に対応した電子署名を作成する（統合セキュリティカード２０００ｒにSignHashコマンド２０６３を送り、電子署名作成処理２８２３を実行する）。
【００６９】
ステップ２４９４ｒで、前記HDDのパスワードと電子署名を組合わせた情報を、サーバ公開鍵２８３１で暗号化して、リターン情報とする（統合セキュリティカード２０００ｒにEncryptコマンド２０６５を送り、暗号処理２８２１を実行する）。
【００７０】
ステップ２４９５ｒで、前記ステップで処理した暗号化したリターン情報を、サーバ側パスワードの取り出しプログラム２４９０ｓへ送信する。
【００７１】
図２９に、クライアント１００ｒ側でも統合セキュリティカードからヘルプOSを立ち上げた場合のシーケンス図を示す。クライアント側でHDD内のターゲットOSが立ち上がった後（２４１５ｒ）のシーケンスは、図２８と同じになる。
【図面の簡単な説明】
【００７２】
【図１】本発明の第1実施例の全体構成図である。
【図２】ストレージデバイス（統合セキュリティカード）のブロック図である。
【図３】HDDロック管理処理プログラム群の詳細構成図である。
【図４】HDDのブロック図である。
【図５】HDDのセキュリティモードの状態遷移図である。
【図６】HDDのセキュリティモード制御コマンドのリストである。
【図７】統合セキュリティカードへの制御コマンドリストである。
【図８】本発明HDDセキュリティ管理方式の全体の制御フロー図である。
【図９】ＲＯＭＢＩＯＳのブートデバイスの認識処理である。
【図１０】ＲＯＭＢＩＯＳのシステムブート処理である。
【図１１】ヘルプＯＳのブートローダ処理である。
【図１２】HDDロック解除処理である。
【図１３】パスワードの取り出しサブルーチンである。
【図１４】ターゲットＯＳのブート処理である。
【図１５】セットパスワードプログラムである。
【図１６】リセットパスワードプログラムである。
【図１７】HDDロウドライバサブルーチンである。
【図１８】セキュリティカードロウドライバサブルーチンである。
【図１９】カード発行プログラムである。
【図２０】ＲＯＭＢＩＯＳのブートデバイス認識処理の別の実施例である。
【図２１】本発明の第３実施例の全体構成図である。
【図２２】統合セキュリティカード（サーバ側）のブロック図である。
【図２３】ＨＤＤロック管理処理プログラム群（サーバ側）の詳細構成図である。
【図２４】統合セキュリティカード（クライアント側）のブロック図である。
【図２５】ＨＤＤロック管理処理プログラム群（クライアント側）の詳細構成図である。
【図２６】サーバ側パスワードの取り出し処理のフロー図である。
【図２７】クライアント側パスワードの取り出し処理のフロー図である。
【図２８】クライアント、サーバ、セキュリティカード、HDD間の信号シーケンス図である。
【図２９】クライアント、サーバ、セキュリティカード、HDD間の信号シーケンス図（その２）である。
【符号の説明】
【００７３】
１００、１００ｓ、１００ｒ…情報処理装置、１１０…中央処理装置（ＣＰＵ）、１２０…メモリ装置、１３０…ＲＯＭＢＩＯＳ、１４０…システムバス、１５０，１６０、１７０，１８０…アダプタ、３００、５００、６００…リーダライタ、４０００…HDD、２０００、２０００ｓ、２０００ｒ…統合セキュリティカード、６０００…メモリカード、７０００…フロッピディスク、４０５０、２０５０、６０５０、…ホストＩ／Ｆ、２２００…ヘルプＯＳブートローダ、２３００…ヘルプＯＳシステムファイル群、２４００、２４００ｓ、２４００ｒ…ＨＤＤロック管理プログラム群、２７００…ＢＩＯＳ設定情報退避ファイル、２８０１から２８０３…HDDのパスワード＃１から＃ｎ、
２８１１から２８１３…パスワード＃１から＃ｎ用のＰＩＮ、２０５１…カードのＩＤ、４２００…ターゲットＯＳブートローダ、４３００…ターゲットＯＳシステムファイル群、４４００…ユーザファイル群、２４１０…HDDロック解除処理、２４３０…セットパスワードユーティリティ、２４５０…リセットパスワードユーティリティ、２４７０…カード発行ユーティリティ、２４９０…パスワードの取り出しサブルーチン、２５１０…ターゲットＯＳのブート処理サブルーチン、２６１０…HDDロウドライバ、２６３０…セキュリティカードロウドライバ、１３１０…ハード診断・システム初期化処理、１３２０…ブートデバイスの認識処理、１３３０…システムブート処理、１３４０…ディスクＢＩＯＳ（ＩＮＴ１３ｈ）、１３５０…ブートデバイスとＢＩＯＳドライブ番号の対応付け、１３９０…ブートデバイスＩＤ、１４００…ブートデバイスの認識処理、９０００…ネットワーク、２４９０ｓ…サーバ側パスワードの取り出し処理、２４９０ｒ…クライアント側パスワードの取り出し処理、２８２０…復号処理、２８２１…暗号処理、２８２２…電子署名確認処理、２８２３…電子署名作成処理、２８３０…サーバプライベート鍵、２８３１…サーバ公開鍵、２８３２…クライアント公開鍵、２８３３…クライアントプライベート鍵、
【図１】
2006031575.tif 000003
【図２】
2006031575.tif 000004
【図３】
2006031575.tif 000005
【図４】
2006031575.tif 000006
【図５】
2006031575.tif 000007
【図６】
2006031575.tif 000008
【図７】
2006031575.tif 000009
【図８】
2006031575.tif 000010
【図９】
2006031575.tif 000011
【図１０】
2006031575.tif 000012
【図１１】
2006031575.tif 000013
【図１２】
2006031575.tif 000014
【図１３】
2006031575.tif 000015
【図１４】
2006031575.tif 000016
【図１５】
2006031575.tif 000017
【図１６】
2006031575.tif 000018
【図１７】
2006031575.tif 000019
【図１８】
2006031575.tif 000020
【図１９】
2006031575.tif 000021
【図２０】
2006031575.tif 000022
【図２１】
2006031575.tif 000023
【図２２】
2006031575.tif 000024
【図２３】
2006031575.tif 000025
【図２４】
2006031575.tif 000026
【図２５】
2006031575.tif 000027
【図２６】
2006031575.tif 000028
【図２７】
2006031575.tif 000029
【図２８】
2006031575.tif 000030
【図２９】
2006031575.tif 000031