(57)【要約】【課題】ＯＳの動作を停止することなく、ＨＤＤのセキュリティに係る設定を容易に変更できる方法を提供する。【解決手段】リクエスト・プログラムからＨＤＤに対して発行されたアクセス要求をキューイングし、その間にＨＤＤをリセットする。このことにより、セキュリティに係る設定の操作の禁止が解除される。設定の変更の操作が完了したら、キューイングを停止し、リクエスト・プログラムからＨＤＤへのアクセス制限を解除する。【選択図】図３
2008033388.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティング・システムが動作している環境でセキュリティ状態が変更されることが禁止された磁気ディスク装置を搭載するコンピュータにおいて、前記磁気ディスク装置に対するセキュリティ操作を実行する方法であって、
前記オペレーティング・システム上で動作するリクエスト・プログラムから前記磁気ディスク装置に対するアクセスを制限するステップと、
前記アクセスを制限するステップの後に前記磁気ディスク装置をリセットするステップと、
前記リセットされた磁気ディスク装置に対してセキュリティ状態を操作する実行ステップと、
前記磁気ディスク装置に対するリクエスト・プログラムからのアクセス制限を解除するステップと
を有するセキュリティ操作の実行方法。
【請求項２】
前記アクセスを制限するステップが、
前記リクエスト・プログラムから発行されたアクセス要求をキューイングするステップを含む請求項１記載のセキュリティ操作の実行方法。
【請求項３】
前記磁気ディスク装置に対するアクセス制限を解除するステップの後に、前記キューイングされていたアクセス要求を処理するステップを有する請求項２記載のセキュリティ操作の実行方法。
【請求項４】
前記リセットするステップが、前記アクセスを制限した時点で未処理のアクセス要求が全て処理されたことを確認するステップを含む請求項１記載のセキュリティ操作の実行方法。
【請求項５】
前記リセットがパワーオン・リセットである請求項１記載のセキュリティ操作の実行方法。
【請求項６】
前記リセットがハードウェア・リセットである請求項１記載のセキュリティ操作の実行方法。
【請求項７】
前記リセットするステップの前に、前記磁気ディスク装置に設定された構成情報を前記コンピュータに保存するステップを有する請求項１記載のセキュリティ操作の実行方法。
【請求項８】
パスワードが設定された状態で前記磁気ディスク装置が前記コンピュータに接続され、前記セキュリティ操作を実行するステップが、前記磁気ディスク装置に設定されたパスワードを解除するステップを含む請求項１記載のセキュリティ操作の実行方法。
【請求項９】
パスワードが設定されていない状態で前記磁気ディスク装置が前記コンピュータに接続され、前記セキュリティ操作を実行するステップが、前記磁気ディスク装置にパスワードを設定するステップを含む請求項１記載のセキュリティ操作の実行方法。
【請求項１０】
前記磁気ディスク装置に対するアクセスを制限するステップの前に、前記磁気ディスク装置が前記コンピュータにホット・スワップされた状態を検出するステップを有する請求項１記載のセキュリティ操作の実行方法。
【請求項１１】
前記磁気ディスク装置に対するアクセスを制限するステップの前にユーザから前記セキュリティ操作の設定内容を受け取るステップを有し、前記セキュリティ操作を実行するステップが、前記ユーザから受け取った設定内容に基づいて前記磁気ディスク装置のセキュリティ操作を実行する請求項１記載のセキュリティ操作の実行方法。
【請求項１２】
ＡＴＡ規格に準拠する磁気ディスク装置を搭載し、オペレーティング・システムが動作するコンピュータにおいて、前記磁気ディスク装置に対するセキュリティ操作を実行する方法であって、
前記磁気ディスク装置のセキュリティ状態をフローズン(Frozen)状態に設定してから前記オペレーティング・システムを起動するステップと、
前記オペレーティング・システム上で動作するリクエスト・プログラムから前記磁気ディスク装置に対するアクセスを制限するステップと、
前記アクセスを制限するステップの後に前記磁気ディスク装置をリセットして前記磁気ディスク装置のフローズン状態を解除するステップと、
前記フローズン状態を解除された磁気ディスク装置に対してセキュリティに係る設定の操作を実行するステップと、
前記磁気ディスク装置に対するリクエスト・プログラムからのアクセス制限を解除するステップと
を有するセキュリティ操作の実行方法。
【請求項１３】
前記セキュリティ操作を実行するステップの後に、前記磁気ディスク装置のセキュリティ状態をフローズン状態に設定するステップを有する請求項１２記載のセキュリティ操作の実行方法。
【請求項１４】
オペレーティング・システムを格納する第１の磁気ディスク装置と、ホット・スワップによる接続が可能でかつパスワードの設定が可能な第２の磁気ディスク装置とを搭載するコンピュータにおいて、前記第２の磁気ディスク装置のパスワードを解除する方法であって、
パスワードが設定された状態の前記第２の磁気ディスク装置を前記コンピュータに接続して前記コンピュータの電源を投入するステップと、
前記第２の磁気ディスク装置を認識しない状態で前記オペレーティング・システムを起動するステップと、
前記オペレーティング・システムが起動された後で前記第２の磁気ディスク装置を認識するステップと、
前記オペレーティング・システム上で動作するリクエスト・プログラムから前記第２の磁気ディスク装置に対するアクセスを制限するステップと、
前記アクセスを制限するステップの後に前記第２の磁気ディスク装置をリセットするステップと、
前記リセットされた第２の磁気ディスク装置に対してパスワードを入力するステップと、
前記第２の磁気ディスク装置に対するリクエスト・プログラムからのアクセス制限を解除するステップと
を有するパスワードの解除方法。
【請求項１５】
磁気ディスク装置のセキュリティ操作を実行することが可能なコンピュータであって、
プロセッサと、
オペレーティング・システムと、
セキュリティ・コマンドとパスワードの入力が可能な磁気ディスク装置と、
セキュリティ・プログラムを格納する記憶媒体とを有し、
前記セキュリティ・プログラムが前記プロセッサに、
前記オペレーティング・システム上で動作するリクエスト・プログラムから前記磁気ディスク装置に対するアクセスを制限するステップと、
前記アクセスを制限するステップの後に前記磁気ディスク装置をリセットするステップと、
前記リセットされた磁気ディスク装置に対してセキュリティ操作を実行するステップと、
前記磁気ディスク装置に対するリクエスト・プログラムからのアクセス制限を解除するステップと
を実行させるコンピュータ。
【請求項１６】
前記磁気ディスク装置がＡＴＡ規格に準拠し、前記アクセスを制限される前の前記磁気ディスク装置のセキュリティ状態がフローズン(Frozen)状態に設定されており、前記リセットされた後の磁気ディスク装置は前記フローズン状態を解除される請求項１５記載のコンピュータ。
【請求項１７】
前記セキュリティ操作を実行するステップが、ｓｅｃｕｒｉｔｙ  ｓｅｔ  ｐａｓｓｗｏｒｄ、ｓｅｃｕｒｉｔｙ  ｕｎｌｏｃｋ、ｓｅｃｕｒｉｔｙ  ｆｒｅｅｚｅ  ｌｏｃｋ、ｓｅｃｕｒｉｔｙ  ｄｉｓａｂｌｅ  ｐａｓｓｗｏｒｄからなるグループから選択されたいずれか１つまたは複数のセキュリティ・コマンドを前記磁気ディスク装置に送るステップを含む、請求項１６記載のコンピュータ。
【請求項１８】
前記リセットがパワーオン・リセットである請求項１５記載のコンピュータ。
【請求項１９】
ユーザからの入力を受け付ける入力装置をさらに有し、
前記セキュリティ・プログラムが前記プロセッサに、前記磁気ディスク装置に対するアクセスを制限するステップの前に前記入力装置を介して前記セキュリティ操作の設定内容を受け取るステップをさらに実行させ、
前記セキュリティ操作を実行するステップが、前記受け取った設定内容に基づいて前記磁気ディスク装置のセキュリティ操作を実行する請求項１５記載のコンピュータ。
【請求項２０】
前記磁気ディスク装置に対するアクセスを制限するステップが、前記リクエスト・プログラムから前記磁気ディスク装置に対するアクセス要求を記憶装置にキューイングするステップを含み、
前記セキュリティ・プログラムが前記プロセッサに、前記磁気ディスク装置に対するアクセス制限を解除するステップの後に、前記キューイングされていたアクセス要求を処理するステップをさらに実行させる請求項１５記載のコンピュータ。
【請求項２１】
磁気ディスク装置のセキュリティ操作を実行することが可能なコンピュータであって、
プロセッサと、
オペレーティング・システムを格納する第１の磁気ディスク装置と、
ホット・スワップによる接続が可能でかつセキュリティ・コマンドとパスワードの入力が可能な第２の磁気ディスク装置と、
セキュリティ・プログラムを格納する記憶媒体とを有し、
前記オペレーティング・システムは前記第２の磁気ディスク装置を認識しない状態で起動された後で前記第２の磁気ディスク装置を認識し、
前記セキュリティ・プログラムが前記プロセッサに、
前記オペレーティング・システム上で動作するリクエスト・プログラムから前記第２の磁気ディスク装置に対するアクセスを制限するステップと、
前記アクセスを制限するステップの後に前記第２の磁気ディスク装置をリセットするステップと、
前記リセットされた第２の磁気ディスク装置に対してパスワードを入力するステップと、
前記第２の磁気ディスク装置に対するリクエスト・プログラムからのアクセス制限を解除するステップと
を実行させるコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに接続される磁気ディスク装置のセキュリティ操作に関し、さらに詳細にはコンピュータのオペレーティング・システムの動作を停止させずに磁気ディスク装置のセキュリティ操作を実行する技術に関する。
【背景技術】
【０００２】
パーソナル・コンピュータ（以下ＰＣという）は、種々のデバイスを必要に応じて取り付け、必要がなくなったら取り外して使用されることが多い。特にノートブック型ＰＣ（以下ノートＰＣという）においては、多数のデバイスを一台のノートＰＣに内蔵すると携帯性を損なうことになるので、たとえばフロッピー（登録商標）・ディスク・ドライブ（ＦＤＤ）、光学ドライブ（ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＯＭドライブなど）、内蔵の磁気ディスク装置（ハード・ディスク・ドライブ、以後ＨＤＤという）とは別の増設用ＨＤＤ、またはバッテリ・パックなどの各種デバイスの中から、必要なものを選択して装備できる構造を採用している。その構造の代表的なものが、デバイス・ベイ（Device Bay）である。デバイス・ベイは、米国マイクロソフト社、米国インテル社、米国コンパック・コンピュータ社（現ヒューレット・パッカード社）が西暦１９９７年に発表した規格である。この構造によれば、ノートＰＣ本体の電源が投入された状態のまま、同規格に対応したデバイス（以下ベイ・デバイスという）をデバイス・ベイに着脱することができる。なお、ＰＣ本体の電源が投入された状態のままでデバイスの着脱を行うことを、ホット・スワップという。また、ＰＣがサスペンド状態、もしくはハイバーネーションが実行された状態でデバイスの着脱を行うことを、ウォーム・スワップという。
【０００３】
ベイ・デバイスは、ＩＤＥ（Integrated Device Electronics）、ＩＥＥＥ１３９４、ＵＳＢなどのインターフェイスを介してＰＣ本体と接続される。特にＩＤＥを介して接続されるＨＤＤなどのデバイスでは、オペレーティング・システム（以下ＯＳという）の動作中に同規格に対応したデバイスが着脱された場合に、接続されている各々のデバイスに対し一旦電源供給を停止し、マスターおよびスレーブの設定を行った後で再び電源を供給して動作させている。このことによって、ベイ・デバイスをホット・スワップ（およびウォーム・スワップ）することが可能なデバイス・ベイが実現されている。
【０００４】
一方、人間の生活におけるほとんどの場面でコンピュータが深く浸透している現代社会においては、個人のプライバシーに関わる情報、もしくは業務上の機密に関わる情報などの漏洩は、深刻な被害をもたらす重大な問題である。中でも、ＨＤＤを介して情報漏洩が発生することがある。廃棄されたコンピュータ、中古品として売買されたコンピュータ、あるいは盗難にあったコンピュータなどからＨＤＤを抜き取られ、抜き取られたＨＤＤが別のコンピュータに接続され、そこに記録されていた情報を第三者に読み出されるのである。
【０００５】
そのような情報漏洩を防止するために推奨されている対策の一つが、ＨＤＤパスワードである。アメリカ規格協会によって標準化されたＩＤＥの正式な規格であるＡＴＡ（AT Attachment）では、１９９６年に制定されたＡＴＡ−３で追加されたセキュリティ機能を利用して、ＨＤＤのセキュリティをパスワードによって保護することが可能になった。セキュリティ機能が有効であるＨＤＤが取り付けられたＰＣの電源を投入すると、ＢＩＯＳがユーザに対してＨＤＤパスワードの入力を要求する。ユーザが正しいパスワードを入力した場合のみ、ＢＩＯＳはＯＳを起動させて当該ＰＣを使用可能にさせる。ユーザが間違ったパスワードを入力した場合、ＢＩＯＳは再びユーザにＨＤＤパスワードの入力を要求する。ユーザがパスワードの入力を一定回数（通常は３回〜５回程度）失敗すると、ＢＩＯＳは動作を停止するようになっているため、ユーザは当該ＰＣの電源を切って再投入しない限りＨＤＤパスワードの入力操作に戻ることはできない。このことによって、辞書攻撃や総当たり攻撃などのブルート・フォース攻撃でＨＤＤパスワードを割り出すためには膨大な時間を要するようになるので、ＨＤＤパスワードによるＨＤＤのセキュリティ保護はより強固になる。なお、ＨＤＤパスワードは当該ＨＤＤの磁気ディスクに設けられた管理領域に磁気的に記録され、ＨＤＤパスワードをＰＣ側のＯＳもしくはＢＩＯＳによる操作で直接読み取ることはできない。以後、ＨＤＤパスワードを単にパスワードという。
【０００６】
図８は、ＡＴＡ対応のＨＤＤのセキュリティ状態について示す図である。ＡＴＡ対応のＨＤＤは、インターフェイスから入力されるセキュリティ・コマンドと電源供給状態との組み合わせによって、図８（Ａ）に示すＳＥＣ０〜６の７通りのセキュリティ状態に推移することができる。図８（Ａ）の中で、「Power」は当該ＨＤＤに対するオンまたはオフの電源供給状態、「Enabled」はセキュリティ機能の有効または無効状態（０だと無効、１だと有効）、「Locked」はパスワードによるロック状態（０だとロックされていない、１だとロックされている）、「Frozen」はセキュリティ機能の変更可能状態（０だと変更できる、１だと変更できない）をそれぞれ表す。以後ここでは、セキュリティ機能またはセキュリティ状態を変更できない状態（Frozenが１に設定された状態）をフローズン状態という。ロック状態のＨＤＤに対してデータの読み書きをすることはできないが、フローズン状態のＨＤＤに対してデータの読み書きをすることは可能である。
【０００７】
図８（Ｂ）は、ＳＥＣ０〜６のセキュリティ状態の遷移について表している。セキュリティ機能が無効のＳＥＣ０（ブロック５０１）の状態のＨＤＤを接続してＰＣの電源を投入すると、ＨＤＤはセキュリティ機能が無効でフローズン状態でないＳＥＣ１（ブロック５０３）の状態となる。ＢＩＯＳによるセルフ・チェックおよび各種デバイスの初期化が終了したら、すぐにＨＤＤに対してＢＩＯＳより「security freeze lock」のコマンドが発行され、セキュリティ機能が無効でフローズン状態であるＳＥＣ２（ブロック５０５）の状態に移行し、その後にＯＳが起動される。ＯＳの動作を終了させてＰＣの電源を切ると、ＨＤＤはＳＥＣ０（ブロック５０１）の状態に戻る。
【０００８】
ＨＤＤのセキュリティ機能を有効にする場合は、ＳＥＣ１（ブロック５０３）の状態でＢＩＯＳが動作しているうちに（ＳＥＣ２に移行してＯＳが起動される前に）、ＢＩＯＳはＨＤＤに対して「security set password」のコマンドを入力する機会をユーザに与える。そして、ユーザは「鍵」として使用するパスワードを、ＢＩＯＳ経由でＨＤＤに対して入力する。ＳＥＣ１（ブロック５０３）の状態で「security set password」のコマンドを発行することによって、ＨＤＤは一時的に、セキュリティ機能が有効で、フローズン状態でないＳＥＣ５（ブロック５０７）の状態に移行するが、すぐにＢＩＯＳより「security freeze lock」のコマンドが発行されて、セキュリティ機能が有効でフローズン状態であるＳＥＣ６（ブロック５０９）の状態に移行し、その後ＯＳが起動される。ＯＳの動作を終了させ、ＰＣの電源を切ると、ＨＤＤはセキュリティ機能が有効なＳＥＣ３（ブロック５１１）の状態に移行する。
【０００９】
ここで再びＰＣの電源を投入すると、ＨＤＤは、セキュリティ機能が有効でロック状態のＳＥＣ４（ブロック５１３）の状態となり、ユーザはＨＤＤに対してデータの読み書きをすることができない。この状態でＢＩＯＳはユーザにパスワードを入力する機会を与え、パスワードが入力されると、「security unlock」のコマンドをＨＤＤに発行する。正しいパスワードが入力されれば、前述と同様にＨＤＤはＳＥＣ５（ブロック５０７）の状態に移行し、その後すぐにＢＩＯＳより「security freeze lock」のコマンドが発行されてＳＥＣ６（ブロック５０９）のフローズン状態に移行してＯＳが起動される。ＨＤＤのセキュリティ機能を無効にしたい場合は、ＳＥＣ４（ブロック５１３）の状態から正しいパスワードが入力されてＳＥＣ５（ブロック５０７）の状態に移行したとき、ＳＥＣ６の状態に移行してＯＳが起動される前に、ユーザが「security disable」のコマンドを入力し、ＨＤＤをＳＥＣ１（ブロック５０３）の状態に移行させる。
【００１０】
ＳＥＣ１（ブロック５０３）およびＳＥＣ２（ブロック５０５）の状態から電源を切った場合、ＨＤＤはＳＥＣ０（ブロック５０１）の状態となる。ＳＥＣ４〜６（ブロック５０７，５０９，５１３）の状態から電源を切った場合、ＨＤＤはＳＥＣ３（ブロック５１１）の状態となる。各々のセキュリティ状態で、ＨＤＤがリセット信号である＃ＩＤＥＲＳＴをアサートされた場合（これをハードウェア・リセットという）のセキュリティ状態は、ＨＤＤの電源を切って再び電源を投入した場合（これをパワーオン・リセットという）と同じ遷移を行う。なお、セキュリティ状態を操作するセキュリティ・コマンドには、以上の説明で登場した「security set password」、「security unlock」、「security freeze lock」、「security disable」の４種類以外にも存在するが、セキュリティ状態の遷移を行うには上記の４種類が対応する。また、上記の４種類以外のセキュリティ状態を操作するセキュリティ・コマンドの中には、ＨＤＤのメーカーおよび機種によって異なる動作を行うものがある。従って、本明細書の説明の中で行われるセキュリティ状態の遷移の操作は、上記の４種類のコマンド、電源を投入する操作、電源を切る操作、およびハードウェア・リセットで行われるものとする。
【００１１】
以上で説明したセキュリティ状態の遷移において、注意すべき点は次に述べる２点である。一つは、ＯＳが起動される際に、ＨＤＤは必ずＳＥＣ２またはＳＥＣ６のフローズン状態で動作するという点である。もう一つは、フローズン状態を解除してＨＤＤのセキュリティ状態を変更するには、パワーオン・リセットまたはハードウェア・リセットをする必要があるという点である。特にウィンドウズ（登録商標）などのようなマルチ・タスクのＯＳでは、悪意のあるソフトウェアが介在することにより、意図しないセキュリティ状態の変更、たとえば正当なユーザが入力できないパスワードの付加、あるいはスパイウェアなどによるパスワードの取得などをされてしまう可能性がある。このため、ＡＴＡの規格では明確に規定されていないが、ほとんどのＰＣではセキュリティ機能にまつわる操作は全て、シングル・タスクで悪意のあるソフトウェアが介在する余地のないＢＩＯＳによる動作で行う。そして、ＨＤＤをフローズン状態にしてからＯＳを動作させる。フローズン状態になったＨＤＤに対して、セキュリティ・コマンドが発行されても、ＨＤＤはそれらを無視するので、ユーザは正当なパスワードを保有しない限りセキュリティ操作をすることはできない。
【００１２】
なお、ベイ・デバイスのホット・スワップに関する技術として、特許文献１がある。特許文献１は、ホット・スワップされるデバイスに対して、コントローラがコネクタを電気的に一旦切り離し、マスター・スレーブ等の設定を行なうという技術を開示する。また、ＨＤＤのパスワードの設定に関する技術としては、特許文献２がある。特許文献２は、ＢＩＯＳ内部でパスワードを生成してＨＤＤに対して設定することにより、当該ＰＣでしかＨＤＤを使用できなくする技術を開示する。特許文献３は、ＯＳにＨＤＤの接続を通知する前に、ＢＩＯＳがパスワードを解除することにより、デバイス・ドライバの再ロードを不要とする技術を開示する。
【特許文献１】特開２００３−８４８７４号公報
【特許文献２】特開２００４−７８５３９号公報
【特許文献３】特開２００２−２２９８５４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
ベイ・デバイスであるＨＤＤは、ＰＣに内蔵されたＨＤＤなどと比べて容易に取り外すことが可能である。もちろん、あるＰＣのデバイス・ベイから取り外されたＨＤＤを、他のＰＣのデバイス・ベイに取り付けて使用することも容易である。従って、ベイ・デバイスであるＨＤＤが取り外されて別のコンピュータに接続されることによる情報漏洩のリスクは、ベイ・デバイスではないものよりも大きい。そのようなホット・スワップに対応したベイ・デバイスであるＨＤＤに対して、前述のパスワードによってセキュリティを保護することは、有意義である。
【００１４】
しかし、前述のＡＴＡ規格によるセキュリティ機能は、従来はホット・スワップに十分に対応していない。ベイ・デバイスであるＨＤＤでパスワードを利用しようとした場合、たとえば以下のような場面で問題が発生する。まず、セキュリティ機能が有効とされているＨＤＤがデバイス・ベイにホット・スワップされたときに、ＯＳが動作している状態でＨＤＤにパスワードを入力してデータを読み書きできる状態にすることは従来できなかった。ＯＳが動作しているＰＣで、空いているデバイス・ベイにセキュリティ機能が有効に設定されているＨＤＤをホット・スワップした場合、ＨＤＤは電源が供給されることによってＳＥＣ３からＳＥＣ４に移行する。しかし、ＨＤＤにパスワードを入力することは、ＰＣがＢＩＯＳによって動作している状態でないと不可能であった。そのため、ＨＤＤのロックを解除して読み書きが可能な状態にするには、当該ＰＣにおけるＯＳの動作を中断してパワーオン・リセットまたはハードウェア・リセットし、ＢＩＯＳによる制御に移行させるしかなかった。以後、パワーオン・リセットとハードウェア・リセットを区別する必要がないときは、両方の意味でリセットという用語を使用することにする。
【００１５】
また、ＯＳが動作しているＰＣのデバイス・ベイに取り付けられて使用されているＨＤＤで、セキュリティに係る設定を変更することも従来できなかった。前述したように、ＯＳが起動される際にはＨＤＤは必ずフローズン状態で動作し、フローズン状態を解除してＨＤＤのセキュリティ状態を変更するには、ＨＤＤをリセットする必要がある。ＨＤＤをリセットするためにはＯＳの動作を中断する必要がある。たとえば、デバイス・ベイに取り付けられて使用されているＨＤＤのセキュリティ機能を有効に設定するためのパスワードを一時的に無効にしてからＨＤＤを取り外し、一時的に他のＰＣに取り付けて使用してから、元のＰＣに戻して再びパスワードを有効にするといった行為は、パスワードを操作するたびにＨＤＤのリセットが必要であった。また、パスワードは定期的に変更することが望ましいが、そのパスワードの変更にもＨＤＤのリセットが必要であった。
【００１６】
さらに、一つのＩＤＥインターフェイスに複数のＨＤＤを取り付けた場合、取り付けられたＨＤＤの中に一つでもロック状態が解除されていないＨＤＤがあると、当該ＰＣでＯＳを起動すること自体が不可能となる。このことはＡＴＡの規格では明確に規定されていないが、多くのＰＣではこのような方式を採用している。たとえば、ＩＤＥインターフェイスにＯＳがインストールされた第１のＨＤＤのみが取り付けられている状態であれば第１のＨＤＤからＯＳを起動することが可能なＰＣであっても、同一インターフェイスにセキュリティ機能が有効に設定されている第２のＨＤＤを取り付けて電源を投入すると、この第２のＨＤＤのロック状態を解除できない限り、第１のＨＤＤからＯＳを起動することが不可能になる。
【００１７】
その一方で、特許文献１のように、ＯＳが動作している状態のままでＩＤＥインターフェイスおよびＨＤＤに対する電源の供給を中断し、必要な設定を行なうことによってＨＤＤをホット・スワップに対応させる技術は存在している。ＨＤＤに対する電源の供給を中断すれば、ＨＤＤはパワーオン・リセットされるので、ＨＤＤのフローズン状態は解除される。従って、ＯＳが動作している状態でＨＤＤのフローズン状態を解除してセキュリティに係る設定を変更するために、この技術を応用することが考えられる。しかし、マルチ・タスクのＯＳが動作している状態では、多くのプロセスが起動しており、ＨＤＤは常にそれらのプロセスから数多くのアクセス要求を受けている。ＯＳが動作している状態でＨＤＤをパワーオン・リセットしようとすると、ＨＤＤはこれらのアクセス要求に応えて動作することができなくなるので、ＰＣはフリーズしたりエラーが発生したりする。
【００１８】
そこで本発明の目的は、セキュリティ操作が禁止された状態のＨＤＤに対して、ＯＳの動作を停止することなく、セキュリティ操作を実行する方法を提供することにある。さらに本発明の目的は、ホット・スワップが可能なＨＤＤのパスワードの解除を、ＯＳの動作を停止することなく行う方法を提供することにある。さらに本発明の目的は、そのような方法を実現するコンピュータを提供することにある。
【課題を解決するための手段】
【００１９】
本発明の一つの態様は、ＯＳが動作している環境でセキュリティ操作が禁止された状態のＨＤＤを搭載するコンピュータにおいて、ＨＤＤに対するセキュリティ操作を実行する方法を提供する。セキュリティ操作とは、コンピュータからＨＤＤに対してセキュリティ・コマンドやパスワードを入力することをいう。ＯＳのバックグラウンドで起動されている多くのサービス、もしくはＯＳの制御下で動作するアプリケーション（これらを総称してリクエスト・プログラムという）からＨＤＤに対するアクセスを制限する。この構成は、ＯＳが動作している間にＨＤＤをリセットしても、リクエスト・プログラムがＨＤＤにアクセスできないことによりＰＣにフリーズやエラーが発生することを防止し、ＨＤＤをリセットすることを可能にする。ＨＤＤをリセットすれば、セキュリティ操作の禁止が解除され、セキュリティ操作を実行できる。セキュリティ操作が完了したら、リクエスト・プログラムからＨＤＤに対するアクセス制限を解除すれば、ＨＤＤの使用が可能となる。
【００２０】
ＨＤＤに対するアクセスを制限している間、リクエスト・プログラムから発行されたアクセス要求を先入れ先出し（ＦＩＦＯ）方式でキューイングする。キューイングされたアクセス要求は、アクセス制限が解除された後に処理することができる。このようにすれば、リクエスト・プログラムは、ＨＤＤのセキュリティ操作のためのリセットを意識する必要がなくなりリセット前のＨＤＤに対するアクセスが確実に実行される。そして、既にＨＤＤに送られた未処理のアクセス要求が全て処理されたことを確認してからＨＤＤをリセットすれば、アクセス要求が未処理の状態でリセットされることがない。このリセットは、パワーオン・リセットであってもよく、またハードウェア・リセットであってもよい。しかし、前述のように辞書攻撃あるいは総当たり攻撃への耐性をより強化するという意味においては、パワーオン・リセットである方がより望ましい。また、ＨＤＤがリセットされる際には、ＨＤＤに設定された構成情報が失われるので、リセット前のＨＤＤの動作状態を継続させるためにリセットする前に構成情報を保存することが望ましい。
【００２１】
ここでいうセキュリティ操作の実例としては、たとえばセキュリティ機能が有効であるＨＤＤをコンピュータに接続してから、パスワードを入力してロックを解除することを挙げることができる。また、セキュリティ機能が無効であるＨＤＤをコンピュータに接続してから、パスワードを設定してロックすることも挙げることができる。なお、ＨＤＤに対するアクセスを制限する前にＨＤＤがコンピュータにホット・スワップされた状態を検出することができるようにすれば、ＨＤＤがホット・スワップされる際にセキュリティに係る設定を行うことができる。
【００２２】
ＯＳが動作している状態でのＨＤＤに対するアクセスの制限が長時間に及ぶことは、望ましいことではない。そこで、ＨＤＤに対するアクセスを制限する前に、設定画面を表示するなどしてユーザからセキュリティに係る設定内容をあらかじめ受け取っておき、その後でＨＤＤに対するアクセスを制限する。そして、セキュリティ・イベントが発生したらあらかじめユーザから受け取っていた内容に基づいて設定操作を実行するとアクセス制限を短時間にすることができる。
【００２３】
このＨＤＤをＡＴＡ規格に準拠するものとすれば、前述のセキュリティ操作が禁止された状態は「フローズン(Frozen)状態」に対応する。ＨＤＤは、電源を投入されるとすぐにフローズン状態に設定されてからＯＳが起動されるが、リクエスト・プログラムからＨＤＤに対するアクセスを制限して、ＨＤＤをリセットすることによりフローズン状態は解除される。その後でセキュリティ操作を行い、セキュリティ操作が完了したらアクセス制限を解除する。セキュリティ操作が完了した後、アクセス制限を解除する前に再びＨＤＤをフローズン状態に設定しておけば、従来からのＨＤＤに対するセキュリティ・ポリシィを維持することができる。
【００２４】
本発明の別の態様は、２台のＨＤＤを搭載し、一方にＯＳが格納され、他方がホット・スワップによる着脱可能でかつセキュリティ・コマンドとパスワードの入力が可能であるコンピュータにおいて、着脱可能なＨＤＤに対してパスワードを解除する方法を提供する。着脱可能なＨＤＤをパスワードが設定された状態でコンピュータに接続し、コンピュータの電源を投入すると、当該ＨＤＤを認識しない状態でＯＳが起動され、ＯＳが起動された後で当該ＨＤＤが認識される。以後は前述と同じ処理によって、ＨＤＤに対するリクエスト・プログラムからのアクセスが制限され、リセットされてからパスワードが入力され、その後でアクセス制限が解除される。これによって、パスワードが設定された状態で着脱可能なＨＤＤを取り付けるとＯＳを起動することもできなくなるという問題を解決する。
【００２５】
本発明のさらに他の態様では、磁気ディスク装置のセキュリティ操作を実行することが可能なコンピュータを提供することもできる。このコンピュータは、プロセッサと、ＯＳと、セキュリティに係る設定コマンドとパスワードの設定が可能なＨＤＤと、セキュリティ・プログラムを格納する記憶媒体とを有し、このセキュリティ・プログラムがプロセッサに、セキュリティ操作の実行方法として説明した各々のステップを実行させる。また、ＨＤＤがＡＴＡ規格に準拠するときは、アクセスを制限される状態ではフローズン(Frozen)状態に設定され、リセットされた後にはフローズン状態が解除される。さらにＡＴＡ規格では、セキュリティ・コマンドとして、ｓｅｃｕｒｉｔｙ  ｓｅｔ  ｐａｓｓｗｏｒｄ，ｓｅｃｕｒｉｔｙ  ｕｎｌｏｃｋ，ｓｅｃｕｒｉｔｙ  ｆｒｅｅｚｅ  ｌｏｃｋ，ｓｅｃｕｒｉｔｙ  ｄｉｓａｂｌｅといったコマンドをＨＤＤを対応させることができる。
【００２６】
さらに、このコンピュータがユーザからの入力を受け付ける入力装置を有していれば、ユーザからセキュリティに係る設定の内容を受け取ることができ、その後で受け取った設定の内容に基づいてセキュリティ操作を実行することができる。そして、ＨＤＤに対するアクセスを制限している間にリクエスト・プログラムからのアクセス要求をキューイングして、アクセス制限が解除された後にキューイングされていたアクセス要求を処理することができる。２台のＨＤＤを搭載し、一方のＨＤＤにＯＳが格納され、他方のＨＤＤがホット・スワップによる着脱可能でかつセキュリティ・コマンドとパスワードの入力が可能な場合のコンピュータについても、プロセッサに、パスワードの解除方法として説明した各々のステップを実行させるセキュリティ・プログラムを格納した記憶媒体を備えるようにすることもできる。
【発明の効果】
【００２７】
本発明により、セキュリティ操作が禁止された状態のＨＤＤに対して、ＯＳの動作を停止することなく、セキュリティ操作を実行する方法を提供することができた。さらに本発明により、ホット・スワップが可能なＨＤＤのパスワードの解除を、ＯＳの動作を停止することなく行う方法を提供することができた。さらに本発明により、そのような方法を実現するコンピュータを提供することができた。
【発明を実施するための最良の形態】
【００２８】
図１は、本発明の実施の形態に係るコンピュータであるＰＣ１０のシステム構成を示す概略ブロック図である。ＰＣ１０の筐体内部には、図１に示す各種のデバイスが搭載されている。ＣＰＵ１１は、ＰＣ１０の中枢機能を担う演算処理装置で、ＯＳ、ＢＩＯＳ、デバイス・ドライバ、あるいはアプリケーション・プログラムなどを実行する。ＣＰＵ１１は、システム・バスとしてのＦＳバス(Front Side Bus)１３、ＣＰＵ１１と周辺機器との間の通信を行うためのＰＣＩ(Peripheral Component Interconnect)バス１５、ＩＳＡバスに代わるインターフェイスであるＬＰＣ(Low Pin Count)バス１７という３段階のバスを介して各デバイスに接続されて信号の送受を行っている。ＦＳバス１３とＰＣＩバス１５は、メモリ／ＰＣＩチップと呼ばれるＣＰＵブリッジ１９によって連絡されている。ＣＰＵブリッジ１９は、メイン・メモリ２１へのアクセス動作を制御するためのメモリ・コントローラ機能や、ＦＳバス１３とＰＣＩバス１５との間のデータ転送速度の差を吸収するためのデータ・バッファ機能などを含んだ構成となっている。メイン・メモリ２１は、ＣＰＵ１１が実行するプログラムの読み込み領域、処理データを書き込む作業領域として利用される書き込み可能メモリである。同時にメイン・メモリ２１はＳＭＭで動作するＣＰＵ１１が独占的に使用できるＳＭＲＡＭ（System Management RAM）としての領域を含む。ビデオ・カード２３は、ビデオ・チップ（図示せず）およびＶＲＡＭ（図示せず）を有し、ＣＰＵ２１からの描画命令を受けて描画すべきイメージを生成しＶＲＡＭに書き込み、ＶＲＡＭから読み出されたイメージを描画データとしてディスプレイ２５に送る。
【００２９】
ＰＣＩバス１５には、Ｉ／Ｏブリッジ２７、および有線ＬＡＮ、無線ＬＡＮ、ＰＣカードなどを接続するための各種コントローラ（いずれも図示せず）などが接続されている。Ｉ／Ｏブリッジ２７は、ＰＣＩバス１５とＬＰＣバス１７との間のブリッジとしての機能を備えている。また、Ｉ／Ｏブリッジ２７は、ＩＤＥ(Integrated Device Electronics)インターフェイス６１としての機能を備えており、ＵＳＢコネクタ（図示せず）、ハード・ディスク・ドライブ(ＨＤＤ)２９、および光学ドライブ３１（ＣＤドライブ，ＤＶＤドライブ等）が接続される。また、Ｉ／Ｏブリッジ２７にはデバイス・ベイ３３を介して、ベイ・デバイス３５が接続されている。なお、ＨＤＤ２９はＰＣ１０の筐体に内蔵され、着脱自在に実装されているものではないので、ベイ・デバイス３５と区別する意味で以後固定ＨＤＤ２９という。また、ベイ・デバイス３５はＨＤＤであるものとして以後の説明を行うので、以後ベイＨＤＤ３５という。
【００３０】
ＬＰＣバス１７には、エンベデッド・コントローラ３７、ゲートアレイ・ロジック３９、ＢＩＯＳフラッシュＲＯＭ４１、ＣＭＯＳ−ＲＡＭ４３、Ｉ／Ｏコントローラ４７などが接続されている。エンベデッド・コントローラ３７は、８〜１６ビットのＣＰＵ、ＲＯＭ、ＲＡＭなどで構成されたマイクロ・コンピュータであり、さらに複数チャネルのＡ／Ｄ入力端子、Ｄ／Ａ出力端子、およびデジタル入出力端子を備えている。エンベデッド・コントローラ３７には、それらの入出力端子を介して冷却ファン（図示せず）および温度センサ（図示せず）などが接続されており、ＰＣ１０内部の動作環境の管理にかかるプログラムをＣＰＵ１１とは独立して動作させることができる。さらに、エンベデッド・コントローラ３７はゲートアレイ・ロジック３９と相互に接続され、電源装置４５を制御することができ、それによってＰＣ１０を構成する各々のデバイスへの電力の供給を制御することができる。電源装置４５は、ＡＣアダプタ、バッテリ・パック、ＤＣ／ＤＣコンバータおよびそれらの切り替え回路を含む。Ｉ／Ｏコントローラ４７は、キーボード４９、マウス５１などの入出力装置が接続される。
【００３１】
ＢＩＯＳフラッシュＲＯＭ４１は、不揮発性で記憶内容を電気的に書き替え可能なメモリであり、システムの起動および管理に使われる基本プログラムであるシステムＢＩＯＳ５３、ＰＣ１０の起動時にハードウェアのテストを行うソフトウェアであるＰＯＳＴ（Power-On Self Test）、ＨＤＤにアクセスするＩＮＴ１３Ｈハンドラなどが記憶されている。ＣＭＯＳ−ＲＡＭ４３は、ＰＣ１０の電源を切っても記憶された内容が消失しないように電池でバックアップされたＲＡＭであり、ＰＣ１０のデバイス・コントローラの設定情報、たとえばディスク装置の起動順序やドライブ番号、各周辺機器の接続方法やデータ転送に関するパラメータなどが記憶されている。
【００３２】
なお、図１は本実施の形態を説明するために、本実施の形態に関連する主要なハードウェアの構成および接続関係を簡素化して記載したに過ぎないものである。ここまでの説明で言及した以外にも、ＰＣ１０を構成するには多くのデバイスが使われる。しかしそれらは当業者には周知であるので、ここでは詳しく言及しない。図で記載した複数のブロックを１個の集積回路もしくは装置としたり、逆に１個のブロックを複数の集積回路もしくは装置に分割して構成したりすることも、当業者が任意に選択することができる範囲においては本発明の範囲に含まれる。
【００３３】
図２は、本実施の形態に係るＩ／Ｏブリッジ２７およびベイ・デバイス３５の管理に係るハードウェアの構成についてさらに詳しく示すブロック図である。Ｉ／Ｏブリッジ２７のＩＤＥインターフェイス６１には、プライマリ系統のマスターとして固定ＨＤＤ２９、スレーブとして光学ドライブ３１が接続されている。セカンダリ系統のマスターとしてデバイス・ベイ３３が設けられており、スレーブには何も接続されない。固定ＨＤＤ２９はＯＳがインストールされているブート・ドライブであり、ＰＣ１０の電源を投入すると、システムＢＩＯＳ５３によるデバイスの初期化の後で固定ＨＤＤ２９からＯＳが起動される。デバイス・ベイ３３には、ＩＤＥインターフェイスに対応したＨＤＤであるベイＨＤＤ３５が接続される。ＣＰＵ１１は、Ｉ／Ｏブリッジ２７を介して固定ＨＤＤ２９、光学ドライブ３１、およびベイ・デバイス３５をコントロールする。それと同時にＣＰＵ１１は、ゲートアレイ・ロジック３９を介して電源装置４５を制御することによって、固定ＨＤＤ２９、光学ドライブ３１、およびデバイス・ベイ３３への電力の供給を制御することができる。ベイＨＤＤ３５は、デバイス・ベイ３３を介して電力の供給を受ける。また、ゲートアレイ・ロジック３９は、デバイス・ベイ３３を介してベイＨＤＤ３５に対してハードウェア・リセット信号（＃ＩＤＥＲＳＴ）を送信することもできる。
【００３４】
図３は、本実施の形態に係るソフトウェアの構成について示す概略ブロック図である。ＯＳで起動している多くのサービス１０１および各種アプリケーション・ソフトウェア１０３（サービス１０１およびアプリケーション・ソフトウェア１０３を総称してリクエスト・プログラムという）がベイＨＤＤ３５に対してアクセス要求を出すと、ファイル・システム・マネージャ１０５がそれらのアクセス要求を整理し、インターフェイスの種類に依存しない汎用コマンドとして、ディスク・クラス・マネージャ１０７に伝達する。この汎用コマンドはバイナリ・ツリー構造であり、Ｉ／Ｏリクエスト・パケット、リード／ライト・アドレス（ＬＢＡ）、およびアクセス要求元のリクエスト・プログラムについての情報が含まれる。ディスク・クラス・マネージャ１０７は、伝達されたコマンドをインターフェイスの種類（ここではＡＴＡ）に応じたコマンドに変換し、ストレージ・ポート・ドライバ１０９に伝達する。ストレージ・ポート・ドライバ１０９は、伝達されたコマンドに基づいてＩＤＥインターフェイス６１を駆動し、ベイＨＤＤ３５を操作する。
【００３５】
本実施の形態では、ファイル・システム・マネージャ１０５とディスク・クラス・マネージャ１０７の間に、フィルタ・ドライバ１１１を設ける。フィルタ・ドライバ１１１は、ファイル・システム・マネージャ１０５から発せられたベイＨＤＤ３５へのアクセス・コマンドを、一時的にキューイングすることができる。キューイングされたアクセス・コマンドは、ＯＳの記憶領域（通常はメイン・メモリ２１）にＦＩＦＯ（先入れ先出し）方式で記憶される。アクセス・コマンドをキューイングしている間は、ディスク・クラス・マネージャ１０７以後にそれらのコマンドは伝達されない。キューイングが終了したら、キューイングされていたアクセス・コマンドをメイン・メモリ２１からＦＩＦＯ方式で読み出してディスク・クラス・マネージャ１０７以後に伝達して、ベイＨＤＤ３５の操作を継続することができる。また、フィルタ・ドライバ１１１は、ゲートアレイ・ロジック３９を操作して、ベイＨＤＤ３５への電力の供給を制御することもできる。さらにフィルタ・ドライバ１１１は、アクセス・コマンドをキューイングしている間に、ディスク・クラス・マネージャ１０７、ストレージ・ポート・ドライバ１０９およびＩＤＥインターフェイス６１を介して、ベイＨＤＤ３５に対するセキュリティ機能に係る操作、ベイＨＤＤの設定情報の読み出しおよび動作状態の確認を行うことも可能である。
【００３６】
アプリケーション・ソフトウェア１０３の中には、セキュリティ機能に係る設定ユーティリティ１１３が含まれる。設定ユーティリティ１１３は、ユーザが自らＯＳのメニューの中から起動して、固定ＨＤＤ２９およびベイＨＤＤ３５のセキュリティ機能について設定したい内容を指定することができる。また、ベイＨＤＤ３５の接続が検出され、ベイＨＤＤに必要なデバイス・ドライバなどの読み込みが完了した後にも、設定ユーティリティ１１３が起動される。以後、ここではベイＨＤＤ３５をセキュリティ機能に係る設定の対象とする。アクセス・コマンドのキューイングが長時間に及ぶと、アクセス要求に対するリクエスト・プログラムへの応答が遅れるので、リクエスト・プログラムの動作不安定の原因となる。そこで、設定ユーティリティ１１３は、あらかじめユーザから設定の内容を受け取っておき、セキュリティ・イベントが発生したときにユーザから受け取った設定の内容をフィルタ・ドライバ１１１に伝達することができる。フィルタ・ドライバ１１１がキューイングを開始するのは、ユーザから設定の内容を受け取った後である。このことにより、ベイＨＤＤ３５へのアクセス・コマンドのキューイングをしている時間が短縮されるので、リクエスト・プログラムの動作不安定の防止につながる。
【００３７】
ちなみに、ＰＣ１０を構成するＢＩＯＳ、ＯＳおよびハードウェアはすべてプラグ・アンド・プレイ（ＰｎＰ）に対応しているので、デバイス・ベイ３３にベイＨＤＤ３５が接続された場合に、ＯＳがベイＨＤＤに対する接続を検出することができる。ベイＨＤＤ３５の接続が検出される場合には、ベイＨＤＤ３５がホット・スワップもしくはウォーム・スワップされた場合の他に、ＰＣ１０の電源を切った状態でデバイス・ベイ３３にベイＨＤＤ３５を接続した後でＰＣの電源を投入した場合（これをコールド・スワップという）も含まれる。
【００３８】
図４〜５は、本発明の実施の形態におけるＨＤＤのセキュリティに係る設定の手順を表すフローチャートである。図面の錯綜を回避するために、フローチャートは図４と図５の２枚に分けて表記されている。図６は、本発明の実施の形態における設定ユーティリティ１１３がディスプレイ２５に表示する画面の例である。ＰＣ１０が動作を開始すると（ブロック２０１）、システムＢＩＯＳ５３によるデバイスの初期化の後、固定ＨＤＤ２９はフローズン状態に移行させられる。コールド・スワップされたベイ・ＨＤＤは、セキュリティ機能が有効に設定されている場合であっても、無効に設定されている場合であっても、フローズン状態に移行させられる。セキュリティ機能が有効に設定されていないベイＨＤＤ３５をフローズン状態にしておくことで、第３者によるセキュリティ操作を防止することができる。なお、セキュリティ状態が有効に設定されているベイＨＤＤ３５がコールド・スワップされた場合については後述する。全てのＨＤＤがフローズン状態にされた後で、固定ＨＤＤ２９から読み出されたＯＳが起動される（ブロック２０３）。ＰＣ１０では、ＯＳが動作している状態で発生したセキュリティ・イベントが受け付けられる。セキュリティ・イベントには、ＯＳがベイＨＤＤ３５の接続を検出した場合（ブロック２０５）と、ユーザが設定ユーティリティ１１３を起動して操作した場合（ブロック２０７）とがある。ブロック２０５で、ベイＨＤＤ３５の接続が検出されると、設定ユーティリティ１１３が起動し、設定ユーティリティ１１３はベイＨＤＤ３５がセキュリティ機能が有効に設定されているか否かを検出する（ブロック２０９）。ベイＨＤＤ３５に対してセキュリティ機能が有効に設定されていなければ、設定ユーティリティ１１３はすぐに終了し、ＯＳはＰｎＰによってベイＨＤＤ３５を使用可能にする（ブロック２１１）。ベイＨＤＤ３５に対してセキュリティ機能が有効に設定されていれば、設定ユーティリティ１１３はディスプレイ２５に画面表示３０１に示す画面を表示し、ユーザにパスワードの入力を求める（ブロック２１３）。ユーザは、キーボード４９、マウス５１などの入出力装置を介してパスワードを入力して「ＯＫ」をクリックする。
【００３９】
ブロック２０７で、ユーザが設定ユーティリティ１１３を起動すると、以下に述べるような操作が可能である（ブロック２１５）。ベイＨＤＤ３５のセキュリティ機能が有効である場合、設定ユーティリティ１１３はディスプレイ２５に画面表示３０３に示す画面を表示する。画面表示３０３の画面では、パスワードを変更する処理、およびベイＨＤＤのセキュリティ機能を無効にする処理が可能である。パスワードを変更する処理では、ユーザはキーボード４９、マウス５１などの入出力装置を介して、現在のパスワードおよび新しいパスワードを２回程度入力して「ＯＫ」をクリックする。セキュリティ機能を無効にする処理では、現在のパスワードを入力して「ＯＫ」をクリックする。ベイＨＤＤ３５のセキュリティ機能が無効である場合、設定ユーティリティ１１３はディスプレイ２５に画面表示３０５に示す画面を表示する。画面表示３０５の画面では、ベイＨＤＤ３５のセキュリティ機能を有効にする処理が可能である。セキュリティ機能を有効にする処理では、ユーザは新しいパスワード（２回）を入力して「ＯＫ」を押す。
【００４０】
ブロック２１３または２１５でユーザからのパスワードもしくはセキュリティ・コマンドの設定内容の入力を受け付けた設定ユーティリティ１１３は、フィルタ・ドライバ１１１を起動し、設定内容を伝達する（ブロック２１７）。フィルタ・ドライバ１１１は、ベイＨＤＤ３５へのアクセス・コマンドのキューイングを開始する（ブロック２１９）。そしてフィルタ・ドライバ１１１は、キューイングを開始する前にベイＨＤＤ３５に対して送られていた未処理のアクセス・コマンドの処理が完了したか否かを確認する（ブロック２２１）。その一方でフィルタ・ドライバ１１１は、ベイＨＤＤ３５の設定情報をベイＨＤＤから読み出し、読み出した設定情報をＯＳの記憶領域（通常はメイン・メモリ２１）に記憶する（ブロック２２３）。設定情報には、ベイＨＤＤ３５とＩＤＥインターフェイス６１との間のデータ転送モード（ＤＭＡモード、ＰＩＯモードなど）、および当該モードに係る設定パラメータなどが含まれる。
【００４１】
ベイＨＤＤ３５へのアクセス・コマンドのキューイングが開始され、未処理のアクセス・コマンドの処理が完了したことが確認されれば、ベイＨＤＤを安全にパワーオン・リセットする準備が整ったことになる。ここでフィルタ・ドライバ１１１はゲートアレイ・ロジック３９を操作して、ベイＨＤＤ３５への電力の供給を停止して、すぐに再開することにより、パワーオン・リセットを行う（ブロック２２５）。ここでフィルタ・ドライバ１１１は、ブロック２１９で読み出されて記憶されていたベイＨＤＤ３５の設定情報を、再びベイＨＤＤ３５に対して設定する（ブロック２２７）。これによってベイＨＤＤ３５は、パワーオン・リセットされる前と同一の設定で利用可能となる。ベイＨＤＤ３５のセキュリティ機能が無効に設定されていれば、フィルタ・ドライバ１１１は電力の供給を停止することによりベイＨＤＤ３５をＳＥＣ０の状態とし、そこから電力の供給を再開して、フローズン状態が解除されてセキュリティに係る設定を変更できるＳＥＣ１の状態とする。セキュリティ機能が有効の状態であれば、フィルタ・ドライバ１１１は電力の供給を停止することによりベイＨＤＤ３５をＳＥＣ３の状態とし、そこから電力の供給を再開してＳＥＣ４の状態とする。ここで、後述する処理でベイＨＤＤにパスワードを入力して正しく認証されれば、フローズン状態が解除されてセキュリティに係る設定を変更できるＳＥＣ５の状態となる。
【００４２】
この状態でフィルタ・ドライバ１１１は、設定ユーティリティ１１３からブロック２１７で伝達された内容に基づいて、ベイＨＤＤ３５のセキュリティに係る設定についての操作を行い、その後すぐにベイＨＤＤ３５をフローズン状態にする。ベイＨＤＤ３５のセキュリティ機能が無効の状態であれば、フィルタ・ドライバ１１１はＳＥＣ１の状態で設定の操作を行い（ブロック２２９〜２３１）、終了したらすぐにフローズン状態であるＳＥＣ２の状態にする（ブロック２３３）。ベイＨＤＤ３５のセキュリティ機能が有効であれば、フィルタ・ドライバ１１１はＳＥＣ４の状態でパスワードが入力されることによってＨＤＤ３５をＳＥＣ５の状態に移行させ（ブロック２３５）、ベイＨＤＤ３５のセキュリティに係るその他の操作（パスワードを変更する処理、またはセキュリティ機能を無効にする処理）をユーザから指定されている場合はそれらの処理を行い（ブロック２３７）、終了したらすぐにフローズン状態であるＳＥＣ６の状態にする（ブロック２３９）。
【００４３】
ベイＨＤＤ３５がフローズン状態に移行してから、フィルタ・ドライバ１１１はベイＨＤＤ３５へのアクセス・コマンドのキューイングを終了する（ブロック２４１）。キューイングされていたアクセス・コマンドは、メイン・メモリ２１からＦＩＦＯ方式で読み出され、ベイＨＤＤ３５に送られる。ＦＩＦＯ方式であるので、キューイングされていたアクセス・コマンドは実際にファイル・システム・マネージャ１０５から発せられたアクセス要求の順番に処理される。従って、アクセス要求の順番に対して実際に処理される順番が前後することに起因するリクエスト・プログラムの動作不安定が生じにくい。また、たとえキューイングされていたアクセス・コマンドの中にベイＨＤＤのセキュリティに係る操作のコマンドがあったとしても、ベイＨＤＤ３５がフローズン状態を解除されている間はフィルタ・ドライバ１１１によってベイＨＤＤへのアクセス要求は全てキューイングされ、コマンドがベイＨＤＤに届くことはない。キューイングが終了してコマンドがベイＨＤＤに届いても、その時点ではベイＨＤＤはフローズン状態に移行した後であるので、そのコマンドは無視される。従って、悪意のあるソフトウェアなどによって意図しないセキュリティ状態の変更がなされることもない。以上で、ベイＨＤＤ３５のセキュリティ状態に係る操作が完了する（ブロック２４３）。なお、セキュリティ状態に係る操作が完了した後、ＯＳはＰｎＰに係るデバイス・ドライバの読み込みおよび設定変更などを行うことがある。
【００４４】
なお、上記の実施の形態で、ブロック２２５でパワーオン・リセットを行うかわりに、ハードウェア・リセットを行うこともできる。ゲートアレイ・ロジック３９からベイＨＤＤ３５に対してハードウェア・リセット信号（＃ＩＤＥＲＳＴ）を送信することによって、ハードウェア・リセットが可能である。ハードウェア・リセットを行った場合、セキュリティ状態はパワーオン・リセットした場合と同じ遷移を行う。つまり、フローズン状態を解除する効果も、パワーオン・リセットの場合と同一である。ただし、辞書攻撃あるいは総当たり攻撃への耐性をより強化するという意味においては、電源供給の停止と再開を伴うパワーオン・リセットはハードウェア・リセットよりも多くの時間を要するので、ハードウェア・リセットよりもパワーオン・リセットを行う方がより望ましい。
【００４５】
図７は、本実施の形態の拡張で、ＰＣ１０にセキュリティ機能が有効であるベイＨＤＤ３５をコールド・スワップした場合の動作を示すフローチャートである。従来技術では、ＩＤＥインターフェイス６１に接続された全てのＨＤＤのロックが解除されない限り、デバイスの初期化を行うシステムＢＩＯＳはＯＳを起動しない。しかし本実施の形態では、ＰＣ１０の電源が投入されると（ブロック４０１）、システムＢＩＯＳ５３はＩＤＥインターフェイス６１に接続されたＨＤＤの中で、ＯＳがインストールされているＨＤＤであるブート・ドライブのセキュリティ機能が有効であるか否かを判断する（ブロック４０３）。本実施の形態では、ブート・ドライブは固定ＨＤＤ２９である。ブート・ドライブのセキュリティ機能が有効に設定されていれば、システムＢＩＯＳ５３はブート・ドライブのパスワードを受け付けるための画面をユーザに提供してパスワードを受け取る（ブロック４０５）。ここで受け付けたパスワードが正しくないと、ブート・ドライブにアクセスすることはできないので、ＰＣ１０はＯＳを起動することはできない。
【００４６】
次にシステムＢＩＯＳ５３は、ブート・ドライブ以外のＨＤＤのセキュリティ機能が有効か否かを判断する（ブロック４０７）。セキュリティ機能が有効に設定されているドライブがなければ、システムＢＩＯＳ５３はＩＤＥインターフェイス６１に接続された全てのデバイスを使用可能と認識した上でＯＳを起動し（ブロック４０９）、以後はＰＣ１０は図４のブロック２０３以後と同一の動作をする。しかしながら、本実施の形態ではベイＨＤＤ３５のセキュリティ機能が有効に設定されている場合も想定している。この場合は、ベイＨＤＤ３５の存在を無視して、それ以外の全てのデバイスを使用可能と認識した上で、ＯＳを起動する（ブロック４１１）。ＯＳが起動された後で、ＰｎＰを利用してＯＳがベイＨＤＤ３５の接続を検出する（ブロック４１３）。以後は、図４のブロック２０９以後と同一の動作となるので、図７への記載を省略し、また説明も省略する。
【００４７】
上記の実施の形態は、ＡＴＡ規格に準拠したＩＤＥインターフェイスおよびＨＤＤを利用するものとして説明した。しかし、本発明の適用は必ずしもＡＴＡに限定されない。たとえば、ＡＴＡの拡張仕様であるシリアルＡＴＡにおいても、セキュリティ機能についてはＡＴＡと同一のセキュリティ状態を持ち、ＡＴＡと同様の遷移を行う。また、Ｕｌｔｒａ  ＳＣＳＩなどの規格にも、ＡＴＡと同様のセキュリティ機能が採用される動きがある。これらの、ＡＴＡと同様のセキュリティ機能を持つ規格に対応したインターフェイスおよびＨＤＤについて、本発明を適用することができる。もちろん、本発明の適用はＯＳの種類に依存しない。
【００４８】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。
【産業上の利用可能性】
【００４９】
セキュリティ機能を備えるＨＤＤが接続されたコンピュータに対して利用可能である。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施の形態にかかるＰＣの概略ブロック図である。
【図２】Ｉ／Ｏブリッジおよびベイ・デバイスの管理に係るハードウェアの構成についてさらに詳しく示す概略ブロック図である。
【図３】ソフトウェアの構成について示す概略ブロック図である。
【図４】本発明の実施の形態におけるＨＤＤのセキュリティに係る設定の手順を表すフローチャートである。
【図５】図４の続きである。
【図６】設定ユーティリティの画面表示の例である。
【図７】本実施の形態の拡張で、ＰＣにセキュリティ機能が有効であるベイＨＤＤをコールド・スワップした場合の動作を示すフローチャートである。
【図８】ＡＴＡ対応のＨＤＤのセキュリティ状態について示す図である。
【符号の説明】
【００５１】
１０  ＰＣ
１１  ＣＰＵ
２１  メイン・メモリ
２７  Ｉ／Ｏブリッジ
２９  固定ＨＤＤ
３３  デバイス・ベイ
３５  ベイＨＤＤ
３９  ゲートアレイ・ロジック
４５  電源装置
５３  システムＢＩＯＳ
６１  ＩＤＥインターフェイス
１０５  ファイル・システム・マネージャ
１０７  ディスク・クラス・マネージャ
１０９  ストレージ・ポート・ドライバ
１１１  フィルタ・ドライバ
１１３  設定ユーティリティ
【図１】
2008033388.tif 000003
【図２】
2008033388.tif 000004
【図３】
2008033388.tif 000005
【図４】
2008033388.tif 000006
【図５】
2008033388.tif 000007
【図６】
2008033388.tif 000008
【図７】
2008033388.tif 000009
【図８】
2008033388.tif 000010