(57)【要約】【課題】可搬型記憶装置を複数のユーザで共用するような場合に、それぞれのユーザに最適な、安全で確実なデータ保護機能を、容易に実現する。【解決手段】認証情報を登録した可搬型ディスク装置１０７を着脱可能な情報処理装置１０９は、可搬型ディスク装置１０７の装着後にユーザ認証情報を送信して認証を行ない、可搬型ディスク装置１０７をアクセス可能な状態とする。その後、ユーザによる可搬型ディスク装置１０７へのアクセスが発生した場合には、可搬型ディスク装置１０７に登録されている認証情報の照会により当該ユーザの認証を行なう。上記認証又は照会によって認証が得られた場合、可搬型ディスク装置１０７へのアクセスが許可される。また、認証が得られたユーザの情報を情報処理装置１０９にテーブル３０２として登録しおてき、該テーブルの参照で認証がとれる場合は可搬型ディスク装置１０７による照会は行なわない。【選択図】　図１９
2004086337.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置を着脱可能な情報処理装置であって、
前記記憶装置の装着後、該記憶装置をアクセス可能な状態とするべく、該記憶装置にユーザ認証情報を送信して認証を行なう認証手段と、
前記記憶装置がアクセス可能な状態となった後、ユーザによる該記憶装置へのアクセスがあった場合に、該記憶装置に該ユーザの認証情報を照会する照会手段と、
前記認証手段又は照会手段によってユーザの認証が得られた場合、当該ユーザによる前記記憶装置へのアクセスを許可するアクセス許可手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記認証手段及び前記照会手段によって認証済みとなったユーザを登録する登録手段を更に備え、
前記照会手段は、前記登録手段に登録された情報を用いて認証を行ない、該登録手段に登録されていないユーザに関して前記記憶装置に該ユーザの認証情報を照会することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶装置には、認証情報が登録されたユーザの各々に対してアクセスレベルが登録されており、
前記アクセス許可手段は、前記記憶装置に対してアクセスを行なったユーザに登録されたアクセスレベルに基づいて該記憶装置へのアクセスを許可することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記アクセスレベルは、少なくとも“読み出しおよび書き込み可能”と“読み出しのみ可能”の２つのアクセスレベルを含むことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記認証手段及び前記照会手段によって認証済みとなったユーザを対応するアクセスレベルと共に登録する登録手段を更に備え、
前記照会手段は、前記登録手段に登録された情報を用いて認証を行ない、該登録手段に登録されていないユーザに関して前記記憶装置に該ユーザの認証情報を照会することを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記アクセス許可手段は、前記認証手段で認証されたユーザのアクセスレベルと前記照会手段で認証されたユーザのアクセスレベルの両方のアクセスレベルによって許可されたアクセスの実行を許可することを特徴とする請求項３乃至５のいずれかに記載の情報処理装置。
【請求項７】
記憶装置を着脱可能な情報処理装置において該記憶装置へのアクセスを行なうための方法であって、
前記記憶装置の装着後、該記憶装置をアクセス可能な状態とするべく、該記憶装置にユーザ認証情報を送信して認証を行なう認証工程と、
前記記憶装置がアクセス可能な状態となった後、ユーザによる該記憶装置へのアクセスがあった場合に、該記憶装置に該ユーザの認証情報を照会する照会工程と、
前記認証工程又は照会工程によってユーザの認証が得られた場合、当該ユーザによる前記記憶装置へのアクセスを許可するアクセス許可工程と
を備えることを特徴とする情報処理方法。
【請求項８】
前記認証工程及び前記照会工程によって認証済みとなったユーザを当該情報処理装置内のメモリに登録する登録工程を更に備え、
前記照会工程は、前記メモリに登録された情報を用いて認証を行ない、該メモリに登録されていないユーザに関して前記記憶装置に該ユーザの認証情報を照会することを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記記憶装置には、認証情報が登録されたユーザの各々に対してアクセスレベルが登録されており、
前記アクセス許可工程は、前記記憶装置に対してアクセスを行なったユーザに登録されたアクセスレベルに基づいて該記憶装置へのアクセスを許可することを特徴とする請求項７に記載の情報処理方法。
【請求項１０】
前記アクセスレベルは、少なくとも“読み出しおよび書き込み可能”と“読み出しのみ可能”の２つのアクセスレベルを含むことを特徴とする請求項９に記載の情報処理方法。
【請求項１１】
前記認証工程及び前記照会工程によって認証済みとなったユーザを対応するアクセスレベルと共に当該情報処理装置内のメモリに登録する登録工程を更に備え、
前記照会工程は、前記メモリに登録された情報を用いて認証を行ない、該メモリに登録されていないユーザに関して前記記憶装置に該ユーザの認証情報を照会することを特徴とする請求項９に記載の情報処理方法。
【請求項１２】
前記アクセス許可工程は、前記認証工程で認証されたユーザのアクセスレベルと前記照会工程で認証されたユーザのアクセスレベルの両方のアクセスレベルによって許可されたアクセスの実行を許可することを特徴とする請求項９乃至１１のいずれかに記載の情報処理方法。
【請求項１３】
請求項７乃至１２のいずれかに記載の情報処理方法をコンピュータに実行させるための制御プログラム。
【請求項１４】
請求項１３に記載の制御プログラムを格納したことを特徴とする記憶媒体。
【請求項１５】
着脱可能な記憶装置が装着された情報処理装置であって、ここで該記憶装置は、ユーザを認証するための認証情報を登録するメモリと、前記情報処理装置からの認証要求に応じて前記認証情報に基づく認証を行なう認証手段と、前記情報処理装置からの照会要求に応じて前記認証情報の照会を行なう照会手段と、前記認証手段によって認証が得られた場合に前記情報処理装置からのデータへのアクセスが可能な状態に移行するアクセス制御手段とを備えており、
前記記憶装置の装着後、該記憶装置をアクセス可能な状態とするべく、該記憶装置にユーザ認証情報を送信して前記認証手段による認証を行わせる第１手段と、
前記記憶装置がアクセス可能な状態となった後、ユーザによる該記憶装置へのアクセスがあった場合に、前記照会手段によって該ユーザの認証情報を照会する第２手段と、
前記第１手段又は第２手段によってユーザの認証が得られた場合に、当該ユーザによる前記記憶装置へのアクセスを実行する第３手段と
を備えることを特徴とする情報処理装置。
【請求項１６】
着脱可能な記憶装置が装着された情報処理装置における情報処理方法であって、該記憶装置は、ユーザを認証するための認証情報を登録するメモリと、前記情報処理装置からの認証要求に応じて前記認証情報に基づく認証を行なう認証手段と、前記情報処理装置からの照会要求に応じて前記認証情報の照会を行なう照会手段と、前記認証手段によって認証が得られた場合に前記情報処理装置からのデータへのアクセスが可能な状態に移行するアクセス制御手段とを備えており、
前記記憶装置の装着後、該記憶装置をアクセス可能な状態とするべく、該記憶装置にユーザ認証情報を送信して前記認証手段による認証を行わせる第１工程と、
前記記憶装置がアクセス可能な状態となった後、ユーザによる該記憶装置へのアクセスがあった場合に、前記照会手段によって該ユーザの認証情報を照会する第２工程と、
前記第１工程又は第２工程によってユーザの認証が得られた場合に、当該ユーザによる前記記憶装置へのアクセスを実行する第３工程と
を備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディスク装置などの情報処理装置に関し、特に、正当なユーザ以外へのデータ漏洩防止する手段を備えた情報処理装置及び方法に関する。
【０００２】
【従来の技術】
近年、ディスク装置は、大容量化、小型化、高速化、高機能化、および低価格化が急速に進んでおり、パーソナルコンピュータ（ＰＣ）等の補助記憶装置として広く使用されている。また、テレビ番組をディスク装置に録画再生可能なハードディスクレコーダと呼ばれる製品も販売され、ディスク装置の用途は多岐に渡っている。２００２年３月には、ｉＶＤＲ（Ｉｎｆｏｒｍａｔｉｏｎ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｋ　ｆｏｒ　Ｒｅｍｏｖａｂｌｅ　ｕｓａｇｅ）と呼ばれる、２．５インチディスク装置をカートリッジに収容し、ＡＶ機器からＰＣまで幅広い用途に対応できる、持ち運びに適した、新しい可搬型ディスク装置が、業界団体８社から発表された。
【０００３】
また、ディスク装置のインターフェースも従来のＳＣＳＩ（Ｓｍａｌｌ　Ｃｏｍｐｕｔｅｒ　Ｓｙｓｔｅｍ　Ｉｎｔｅｒｆａｃｅ）、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ　Ｍｅｍｏｒｙ　Ｃａｒｄ　Ｉｎｔｅｒｎａｔｉｏｎａｌ　Ａｓｓｏｃｉａｔｉｏｎ）、ＩＤＥ（Ｉｎｔｅｌｌｉｇｅｎｔ　Ｄｒｉｖｅ　Ｅｌｅｃｔｒｏｎｉｃｓ）などの標準パラレルインターフェースに加え、ＩＥＥＥ１３９４、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　ＳｅｒｉａｌＢｕｓ）、Ｓｅｒｉａｌ　ＡＴＡ等の高速シリアルインターフェースの普及も進んでおり、誰でも気軽にディスク装置をホストに装着して使用することが可能な、可搬型ディスク装置が、今後、急速に普及することが予想される。
【０００４】
ところで、ディスク装置の記憶容量は年々急激に伸びている。例えば、上述のｉＶＤＲに採用されている２．５インチディスク装置でも、記憶容量が１００ＧＢに達する勢いである。このような大容量の可搬型ディスク装置が、個人で所有され、個人データ管理に使える様になってきている。
【０００５】
このように個人で所有されたディスク装置は、気軽に自分のホストコンピュータに装着してデータを読み書きできるが、多量のデータの中には、他人に知られては困る個人データなどが保存されることもある。一方、ｉＶＤＲのような可搬型ディスク装置は、その簡便性がゆえに、持ち運ぶことによって、置き忘れたり、また盗難にあったりする危険性が増し、ディスク装置内に保存されているデータのセキュリティを確保するための対策がますます重要となっている。
【０００６】
従来、ディスク装置等に保存されているデータのセキュリティを確保するためのアクセス制御方法としては、次のような方法が知られている。
【０００７】
例えば、ハードディスク装置の標準インターフェース規格として知られているＡＴＡ（ＡＴ　Ａｔｔａｃｈｍｅｎｔ）インターフェース規格では、記憶装置に格納されるデータのセキュリティを確保するためのアクセス制御方法が「Ｓｅｃｕｒｉｔｙ　Ｍｏｄｅ　ｆｅａｔｕｒｅ　ｓｅｔ」として規定されている。ＡＴＡインターフェース規格では、Ｕｓｅｒ　ｐａｓｓｗｏｒｄを設定することによりセキュリティシステムが有効となり、Ｕｓｅｒ　ｐａｓｓｗｏｒｄの入力なしにはディスク装置へのアクセスができなくなる。Ｕｓｅｒ　ｐａｓｓｗｏｒｄは、１台のディスク装置に対し、１つだけ設定可能である。
【０００８】
しかしながら、単一のパスワードによるデータのセキュリティでは、ディスク装置の持ち主が、他人に対してデータの読み書きを許可する場合、そのパスワードを他人に教える必要が生じる。このため、パスワード効果が薄れ、データのセキュリティ機能が低下すると言う問題がある。
【０００９】
そこで、その解決策の一つとして、複数ユーザ対応のパスワードによるセキュリティ技術が、特開平０８−２６３３８３号公報に開示されている。この発明によれば、ディスク装置を複数の領域に分け、それぞれの領域毎に、１対１で対応する第一のパスワードを設定するとともに、同時に、それぞれの領域毎に第一のパスワードとは異なる第二のパスワードを対応付ける事が出来る。ディスク装置は、第一のパスワード、あるいは第二のパスワードの何れかの一致により、それぞれのパスワードと対応付けられる当該記憶領域へのアクセスを許可することにより、ディスク所有者が、他人にパスワードを教える事による、パスワード効果の低減を防止するものである。
【００１０】
【発明が解決しようとする課題】
しかしながら、上記発明では、複数ユーザのパスワード認証、およびアクセス制御を全てディスク装置側で行う為、この発明を実施したディスク装置をホストに装着して、同時に複数ユーザからのアクセスを可能とする為には、ホストが、ディスク装置に対してデータの読み書きを行う際に、どのユーザのデータであるかの識別をディスク装置が行う為の冗長な識別情報を、ディスク装置とやり取りするコマンドパケット毎あるいはデータパケット毎に付与して伝送する必要がある。それ故、従来の単一のパスワード認証によるディスク装置、あるいはパスワード認証機能の無いディスク装置とソフトウェアレベルの互換性を保てず、ホスト装置側に専用のディスク装置制御ソフト、および専用アプリケーションを準備しなければ行けないと言う問題があった。
【００１１】
さて、一方、このようなディスク装置側のセキュリティ機能に頼らずに、複数ユーザ毎に、それぞれが異なるパスワードで、データのセキュリティを実現する方法として、Ｌｉｎｕｘ等のマルチユーザ対応ＯＳで採用されているファイル管理方法がある。このファイル管理方法においては、特別なアクセス権限を付与された特権ユーザの基、他の一般ユーザがアクセス可能な領域のアクセス権を、ファイルシステム単位で設定が可能である。しかしながら、特権ユーザに対してはデータを秘匿できないこと、あるいは、データを保存したディスク装置を他のＬｉｎｕｘ　ＯＳ搭載システムに取り付けた場合にも、そのホスト装置固有の特権ユーザレベルでディスク装置をアクセス出来る為に、同様の理由により、データのセキュリティを十分に守れないと言う問題があった。
【００１２】
本発明は、以上のような課題に鑑みてなされたものであり、ディスク装置側に備える複数ユーザ対応のデータ保全機能を最大限活かし、ホスト装置側の変更を最小限に抑え、安全で確実な、データ保全機能の強固な、マルチユーザ対応の情報処理装置を提供することにある。
【００１３】
【課題を解決するための手段】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。すなわち、
記憶装置を着脱可能な情報処理装置であって、
前記記憶装置の装着後、該記憶装置をアクセス可能な状態とするべく、該記憶装置にユーザ認証情報を送信して認証を行なう認証手段と、
前記記憶装置がアクセス可能な状態となった後、ユーザによる該記憶装置へのアクセスがあった場合に、該記憶装置に該ユーザの認証情報を照会する照会手段と、
前記認証手段又は照会手段によってユーザの認証が得られた場合、当該ユーザによる前記記憶装置へのアクセスを許可するアクセス許可手段とを備える。
【００１４】
また、上記の目的を達成するための本発明による情報処理方法は以下の工程を備える。すなわち、
記憶装置を着脱可能な情報処理装置において該記憶装置へのアクセスを行なうための方法であって、
前記記憶装置の装着後、該記憶装置をアクセス可能な状態とするべく、該記憶装置にユーザ認証情報を送信して認証を行なう認証工程と、
前記記憶装置がアクセス可能な状態となった後、ユーザによる該記憶装置へのアクセスがあった場合に、該記憶装置に該ユーザの認証情報を照会する照会工程と、
前記認証工程又は照会工程によってユーザの認証が得られた場合、当該ユーザによる前記記憶装置へのアクセスを許可するアクセス許可工程とを備える。
【００１５】
更に、上記の目的を達成するための本発明による情報処理装置は、
着脱可能な記憶装置が装着された情報処理装置であって、ここで該記憶装置は、ユーザを認証するための認証情報を登録するメモリと、前記情報処理装置からの認証要求に応じて前記認証情報に基づく認証を行なう認証手段と、前記情報処理装置からの照会要求に応じて前記認証情報の照会を行なう照会手段と、前記認証手段によって認証が得られた場合に前記情報処理装置からのデータへのアクセスが可能な状態に移行するアクセス制御手段とを備えており、
前記記憶装置の装着後、該記憶装置をアクセス可能な状態とするべく、該記憶装置にユーザ認証情報を送信して前記認証手段による認証を行わせる第１手段と、
前記記憶装置がアクセス可能な状態となった後、ユーザによる該記憶装置へのアクセスがあった場合に、前記照会手段によって該ユーザの認証情報を照会する第２手段と、
前記第１手段又は第２手段によってユーザの認証が得られた場合に、当該ユーザによる前記記憶装置へのアクセスを実行する第３手段とを備える。
【００１６】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【００１７】
以下の実施形態で説明する可搬型記憶装置（可搬型ディスク装置）へのアクセス制御方法では、可搬型記憶装置が、情報処理装置本体に取り付けられる際に、可搬型記憶装置内に登録されている当該可搬型記憶装置にアクセス許可されているユーザでのパスワード認証が行われるまで、アクセス可能状態には遷移しないように動作することにより、不正なユーザによるデータの盗用、改竄を防ぐ事が可能となる。更に、当該可搬型記憶装置をアクセス可能状態に遷移させたユーザ以外の、他のユーザが、当該可搬型記憶装置へのアクセスを要求する際には、アクセス要求を出したユーザが、当該可搬型記憶装置に登録されている、アクセス許可されているユーザであるか否かを、当該可搬型記憶装置に照会し、その結果に基づきアクセス制御を行うよう動作する。この結果、複数の異なるアクセス権を持つユーザに対する適切なアクセス権制御を、情報処理装置側のＯＳ、ファイルシステムに依存せず、確実に実現する事が可能となる。
【００１８】
また、上記パスワード認証及び照会によってアクセスが許可されたユーザをテーブルに登録しておくことにより、可搬型記憶装置による照会処理を減少させ、効率良く記憶装置へのアクセスを行なえるようにした。以下、本実施形態の可搬型記憶装置及びこれを装着する情報処理装置について詳細に説明する。
【００１９】
図１は、本発明の一実施形態の可搬型ディスク装置の構成を示すブロック図である。可搬型ディスク装置１０７は、ソケット５０を介し、ホストコンピュータ１０９に着脱可能に接続され、ホストコンピュータ１０９から送出される制御コマンドにより動作する。
【００２０】
３７００は、ホストコンピュータ１０９に接続されたモニタであり、３９５０、３９００は、それぞれホストコンピュータ１０９に接続されたマウス、及びキーボードである。詳細は説明しないが、ホストコンピュータ１０９上で動作するソフトウェアの制御により、ホストコンピュータ１０９を使用するユーザは、マウス３９５０、およびキーボード３９００を操作することにより、様々な処理を実行し、また、その実行結果をモニタ３７００により確認することが出来る。
【００２１】
可搬型ディスク装置１０７は、機構部１００と電子回路部１０５とを備えている。本実施形態では、この電子回路部１０５に、ユーザ登録情報を格納する部分を設けている。具体的には、本実施形態では、電源遮断時でも記憶情報を維持するために、並びに、悪意のある第三者に記憶情報を読み出され難くするために、ワンチップマイコン５００に内蔵されたフラッシュメモリ１０６に上記ユーザ登録情報を格納している。
【００２２】
機構部１００は、データを読み書きするためのヘッド１０１、ユーザデータを保存するための円盤型磁気媒体１０２、ヘッドを駆動するためのモータであるボイスコイルモータ１０３、円盤型磁気媒体１０２を回転するためのスピンドルモータ１０４とを備えている。
【００２３】
また、電子回路部１０５は、ワンチップマイコン５００と、機構制御部５１１と、データ処理部５０２と、ヘッド１０１とデータ処理部５０２との間で記録再生するデータの受け渡しおよび受け取りを行う記録／再生回路５０１と、円盤型磁気媒体１０２から読み出したデータを一時的に保持するデータバッファ５０９とを備えている。
【００２４】
ワンチップマイコン５００は、ＣＰＵ５０５と、フラッシュメモリ１０６と、ＲＯＭ（不図示）と、ＲＡＭ（不図示）とを備え、ホストコンピュータ１０９からのコマンドを解釈し、そのコマンドに基づいて、機構部１００の制御などを行う。また、フラッシュメモリ１０６に格納されたユーザ登録情報に基づくユーザ認証、アクセス制御などの処理も、ワンチップマイコン５００によって行う。
【００２５】
機構制御部５１１およびデータ処理部５０２は、ワンチップマイコン５００のシステムバス１１に接続されている。機構制御部５１１とヘッド１０１とは、制御線１２によって接続されている。機構制御部５１１は、制御線１２を介して、機構部１００に、機械的な動作を制御する信号を出力する。記録／再生回路５０１は、データ線１３によってヘッド１０１と接続され、ヘッド１０１に記録すべきデータ信号を受渡し、ヘッドが再生したデータ信号を受け取る。記録／再生回路５０１と機構制御部５１１とは、制御線１４によって接続されている。また、データ処理部５０２とデータバッファ５０９とはデータバス１５によって接続されている。
【００２６】
データ処理部５０２の構成を更に説明する。データ処理部５０２は、ＣＰＵインタフェースコントロール部５０４と、ホストインタフェースコントロール部５１０と、ドライブインタフェースコントロール部５０３と、バッファコントロール部５０７と、読み出し誤り検出情報（ＥＣＣ）処理部５０６とを備えている。ＣＰＵインタフェースコントロール部５０４、ホストインタフェースコントロール部５１０、および、ドライブインタフェースコントロール部５０３は、内部制御バス１６に接続されている。バッファコントロール部５０７、ホストインタフェースコントロール部５１０、ドライブインタフェースコントロール部５０３、および、ＥＣＣ処理部５０６は、データバス１７によって接続されている。ホストインタフェースコントロール部５１０には、内部にコマンドレジスタ５２１とエラーレジスタ５２２とが配置され、ＩＤＥ等のインタフェース１０８を介してコネクタ５０８と接続されている。
【００２７】
可搬型ディスク装置１０７とソケット５０とは、可搬型ディスク装置１０７のコネクタ５０８と、ソケット５０のコネクタ５１とを嵌合することによって接続される。
【００２８】
ソケット５０は、可搬型ディスク装置１０７を接続するためのコネクタ５１と、可搬型ディスク装置１０７がソケット５０に装着されたことを検出するためのマイクロスイッチ５２とを備えている。コネクタ５１はＩＤＥ等のインタフェース５３を介してホストコンピュータ１０９と接続されている。
【００２９】
マイクロスイッチ５２は信号線５４によりホストコンピュータ１０９と接続され、ホストコンピュータ１０９によるポーリングや、ホストコンピュータ１０９への割り込み信号の発生によって、ホストコンピュータ１０９が、可搬型ディスク装置１０７の装着を検出することが可能な構成となっている。
【００３０】
ホストコンピュータ１０９は、パーソナルコンピュータ（ＰＣ）に代表されるコンピュータ装置である。また、図１では、ソケット５０がホストコンピュータ１０９の外部にある構成になっているが、接続形態が同様であれば、ソケット５０はホストコンピュータ１０９の内部にあっても構わない。
【００３１】
次に、フラッシュメモリ１０６に格納する登録情報について説明する。図２はユーザ登録情報のフォーマットを示す図である。登録情報は（ａ）に示すように、ディスク情報７１、オーナー情報７２、ゲスト情報７３の３種類から構成される。オーナーとゲストとは、共に使用者であるユーザを表すユーザ登録情報であるが、違いについては後述する。
【００３２】
ディスク情報７１は、図２の（ｂ）に示すように、シリアル番号７１ａ、ディスク名７１ｂ、ロックモード７１ｃを含む。シリアル番号７１ａは、工場出荷時に設定されるもので、当該可搬型ディスク装置１０７の製造上の通し番号が記憶されている。ディスク名７１ｂは、後述するディスク情報登録コマンドによりユーザによって設定される。ロックモード７１ｃは、当該可搬型ディスク装置１０７がロック状態にあるか否かを示す情報であり、後述するオーナー名７２ａとオーナーパスワード７２ｂ、またはゲスト名７３ａとゲストパスワード７３ｂが登録されている時に、ユーザ認証なしで可搬型ディスク装置１０７のデータ領域にアクセスできる状態を「非ロック状態」、ユーザ認証しなければアクセスできない状態を「ロック状態」として表す。
【００３３】
オーナー情報７２は、図２の（ｃ）に示すように、オーナー名７２ａ、オーナーパスワード７２ｂ、オーナー属性７２ｃを含む。オーナー情報７２は、後述するオーナー登録コマンドによりユーザによって設定される。オーナー名７２ａ、オーナーパスワード７２ｂは、可搬型ディスク装置１０７にアクセスするためのユーザ認証に使用する情報である。オーナー属性７２ｃは、オーナーでユーザ認証した場合の、ユーザの可搬型ディスク装置１０７に対する属性を設定する。属性には、可搬型ディスク装置１０７のデータ領域全体に対する、読み書きを許可する属性、読み出しのみを許可する属性等が設定可能である。
【００３４】
ゲスト情報７３は、図２の（ａ）に示すように、１からｎまで複数の設定が可能である。また、ゲスト情報７３は、図２の（ｄ）に示すように、ゲスト名７３ａ、ゲストパスワード７３ｂ、ゲスト属性７３ｃを含む。ゲスト名７３ａ、ゲストパスワード７３ｂは、可搬型ディスク装置１０７にアクセスするためのユーザ認証に使用する情報である。ゲスト属性７３ｃは、ゲストでユーザ認証したユーザの可搬型ディスク装置１０７に対する属性を設定する。属性には、可搬型ディスク装置１０７のデータ領域全体に対する、読み書きを許可する属性、書き込みを禁止する属性等が設定可能である。
【００３５】
なお、オーナーパスワード７２ｂとゲストパスワード７３ｂは、秘匿性を高めるために、ハッシュ関数と呼ばれる一方向性関数で変換処理を行ったハッシュ値を記憶することも可能である。
【００３６】
また、工場出荷時におけるフラッシュメモリ１０６に格納されている登録情報は、ロックモードは非ロック状態、ディスク名、オーナー情報およびゲスト情報は未登録となっている。
【００３７】
ここで、オーナー情報７２と、ゲスト情報７３の違いについて説明する。オーナー情報７２は、可搬型ディスク装置１０７に対して一つだけ設定可能であり、可搬型ディスク装置１０７の所有者を意味する情報である。これに対し、ゲスト情報７３は、オーナーによって可搬型ディスク装置１０７へのアクセスを許可されたユーザを示す情報である。登録やユーザ認証に関わる詳細な手順については後述するが、オーナー名７２ａ、オーナーパスワード７２ｂを入力することにより認証（オーナー認証）されたユーザ（オーナー）は、ディスク名７１ｂ、ロックモード７１ｃ、オーナー名７２ａ、オーナーパスワード７２ｂ、オーナー属性７２ｃ、ゲスト名７３ａ、ゲストパスワード７３ｂ、ゲスト属性７３ｃ、の登録や変更が可能である。これに対して、ゲスト名７３ａ、ゲストパスワード７３ｂを入力することにより認証（ゲスト認証）されたユーザ（ゲスト）は、自分自身のゲストパスワード７３ｃの変更ができるのみである。
【００３８】
次に、本ディスク装置におけるユーザ認証処理について説明する。図３は、ロックモード７１ｃがロック状態に設定されている場合の、ホストコンピュータとディスク装置間のコマンド等のやり取りを示したタイムチャートである。また、図４は、ロックモード７１ｃが非ロック状態に設定されている場合の、ホストコンピュータとディスク装置間のコマンド等のやり取りを示したタイムチャートである。また、図５は、ユーザ認証に失敗した場合の、ホストコンピュータとディスク装置間のコマンド等のやり取りを示したタイムチャートである。また、図６は、ユーザ認証処理を行う可搬型ディスク装置１０７内のワンチップマイコン５００による処理の流れを示したフローチャートである。更に、図７は可搬型ディスク装置１０７よりホストコンピュータに出力される登録情報の内容を示す図である。
【００３９】
図３において、まず、ユーザがソケット５０に可搬型ディスク装置１０７を挿入すると、マイクロスイッチ５２によって可搬型ディスク装置１０７の挿入が検知され、これがホストコンピュータ１０９に通知される。可搬型ディスク装置１０７の挿入を検知したホストコンピュータ１０９は、可搬型ディスク装置１０７に対して登録情報の要求を行う情報要求コマンドを発行する。
【００４０】
情報要求コマンドを受けた可搬型ディスク装置１０７は、フラッシュメモリ１０６に格納されている情報のうち、図７に示す登録情報をホストコンピュータ１０９に通知する。ホストコンピュータ１０９は通知された登録情報をユーザに表示する。ユーザはディスク認証のためのユーザ名（オーナー名またはゲスト名）とパスワード（オーナーパスワードまたはゲストパスワード）を入力する。
【００４１】
ホストコンピュータ１０９はユーザによって入力されたユーザ名とパスワードを含むユーザ認証コマンドを、可搬型ディスク装置１０７に対して発行する。ユーザ認証コマンドを受けた可搬型ディスク装置１０７は、入力されたユーザ名、パスワードが正しければ、ホストコンピュータ１０９に正しく認証が行われたことを通知し、可搬型ディスク装置１０７のデータ領域にアクセス可能な状態に遷移する。ここで、パスワードがハッシュ値で記憶されている場合は、入力されたパスワードをハッシュ値に変換処理してハッシュ値同志での比較を行う。また、省電力のために、正しく認証が行われるまでは、スピンドルモータ１０４を回転させず、正しく認証が行われてはじめてスピンドルモータ１０４を回転させることも可能である。
【００４２】
次に、図４を用いて、非ロック状態の場合について説明する。ホストコンピュータ１０９からの情報要求コマンドに対して、可搬型ディスク装置１０７が登録情報を通知するところまでは図３の場合（ロック状態の場合）と同様である。その後、ロックモード７１ｃが非ロック状態であった場合は、可搬型ディスク装置１０７はユーザ名とパスワードの入力を待たずに、データ領域にアクセス可能な状態に遷移する。
【００４３】
次に、図５を用いて、ロック状態においてユーザ認証に失敗した場合について説明する。ホストコンピュータ１０９がユーザ認証コマンドを発行するところまでは図３の場合と同様である。入力されたユーザ名、パスワードが正しくなかった場合、可搬型ディスク装置１０７はホストコンピュータ１０９に認証が正しく行われなかったことを通知する。この結果、ホストコンピュータ１０９から可搬型ディスク装置１０７のデータ領域へのアクセスはできないままとなる。
【００４４】
次に、図６３から図５のタイムチャートに該当する、可搬型ディスク装置１０７による処理の流れについて、図９のフローチャートに沿って説明する。ここで、可搬型ディスク装置１０７の処理とは、すなわち可搬型ディスク装置１０７内のワンチップマイコン５００によってなされる処理のことである。
【００４５】
可搬型ディスク装置１０７は、ホストコンピュータ１０９からの情報要求コマンドを受信すると（ステップＳ１０１）、フラッシュメモリ１０６に格納されている登録情報のうち、図７に示す情報をホストコンピュータ１０９に通知する（ステップＳ１０２）。図７は、上述したステップＳ１０２において、ホストコンピュータ１０９に出力する登録情報を示している。図７に示すように、ホストコンピュータ１０９に通知する登録情報は、シリアル番号７１ａ、ディスク名７１ｂ、ロックモード７１ｃ、オーナー名７２ａ、オーナー属性７２ｃ、ゲスト名７３ａ、ゲスト属性７３ｃである。ゲスト情報は１からｎまでのゲストの人数分が出力される。
【００４６】
次に、フラッシュメモリ１０６に格納されたロックモード７１ｃを自身で評価し（ステップＳ１０３）、ロック状態であればステップＳ１０４に、非ロック状態であればステップＳ１０６に分岐する。
【００４７】
ロック状態であった場合、可搬型ディスク装置１０７はユーザ認証コマンドの受信を待ち、ユーザ認証コマンドを受信すると（ステップＳ１０４）、受信したユーザ名、パスワードと、フラッシュメモリ１０６に記憶されているユーザ名（オーナー名またはゲスト名）、パスワード（オーナーパスワードまたはゲストパスワード）との照合を行い（ステップＳ１０５）、ユーザ名、パスワードが共に合致するユーザが登録されていればステップＳ１０６に進み、合致しなかった場合はアクセス可能な状態に遷移することなく処理を終了する。或いは、ステップＳ１０４へ戻り、ユーザ認証コマンドを待つようにしてもよい。
【００４８】
ステップＳ１０６では、図８に示すように、可搬型ディスク装置１０７がロック状態であるか否かを示すロックモード８１、ロック状態であった場合に認証されたユーザがオーナーであったかゲストであったか、またゲストであった場合はどのゲストであったかを示す認証ユーザレベル８２、および認証されたユーザの属性８３（読み書き可能か、読み出し専用か等のアクセスレベル）をワンチップマイコン５００内のＲＡＭ領域に一時記憶する。そして、ホストコンピュータ１０９が、可搬型ディスク装置１０７のデータ領域にアクセス可能な状態に遷移する。なお、上記のようにして認証されたユーザを以下、認証ユーザと呼ぶ。よって、認証ユーザレベル８２には認証ユーザがゲストかオーナーか、ゲストであれば当該認証ユーザのユーザ名が保持され、属性８３には認証ユーザのアクセスレベルが保持される。
【００４９】
データ領域にアクセス可能な状態に遷移したとき、可搬型ディスク装置１０７は、自身が非ロック状態であった場合は、読み書き可能なハードディスクとして動作する。また、ロック状態でユーザ認証が行われた場合は、認証ユーザの属性８３に基づき、属性が読み書き可能であった場合は読み書き可能なハードディスクとして、読み出しのみであった場合は、データの書き込みコマンドを受け付けないハードディスクとして動作する。このデータ書き込み時の動作を、図９のフローチャートに沿って説明する。
【００５０】
ホストコンピュータ１０９からデータ書き込みコマンドが来ると（ステップＳ２０１）、ＲＡＭに記憶されたロックモード８１を調べ（ステップＳ２０２）、非ロック状態であった場合はステップＳ２０３に分岐し、ロック状態であった場合はステップＳ２０５に分岐する。ステップＳ２０３では、受け取った書きコマンドに相応する書き込み処理を行い、上位装置すなわちホストコンピュータ１０９に対して正常に書き込みができた旨を通知し（ステップＳ２０４）、処理を終了する。ステップＳ２０５では、ＲＡＭに一時記憶されている、前記認証ユーザの属性８３を調べ、読み書き可能であれば上述のステップＳ２０３の書き込み処理に分岐する。一方、読み出しのみであった場合はステップＳ２０７へ進み、書き込み処理は行わず、上位装置すなわちホストコンピュータ１０９に書き込みができなかった旨を通知し、処理を終了する。
【００５１】
次に、フラッシュメモリ１０６に格納しているユーザ情報をホストコンピュータ１０９から照会する場合の処理について説明する。このユーザ照会処理のコマンドは、図６のフローチャートで説明した認証処理が終了し、アクセス可能になった状態で有効となるコマンドである。
【００５２】
図１０は、ユーザ照会時に可搬型ディスク装置１０７が受け取るユーザ照会コマンドの内容を表した図である。９１は本コマンドがユーザ照会コマンドであることを表すコマンドコード、９２は登録されているか否かを照会したいユーザ名、９３は照会したいユーザ（照会したいユーザ名９２）のパスワードである。
【００５３】
図１１のフローチャートを用い、可搬型ディスク装置１０７におけるユーザ照会動作について説明する。ユーザ照会コマンドを受け取ると（ステップＳ３０１）、現在認証している認証ユーザレベル８２（図８）を調べる（ステップＳ３０２）。この結果、オーナーで無い場合はホストコンピュータ１０９にエラーを通知し（ステップＳ３０３、Ｓ３０７）、本処理を終了する。認証ユーザレベル８２がオーナーであった場合は、このユーザ照会コマンドで受け取ったユーザ名９２とパスワード９４とが、フラッシュメモリ１０６に格納されているユーザ名（オーナー名またはゲスト名）とパスワード（オーナーパスワードまたはゲストパスワード）に一致するか否かを調べる（ステップＳ３０３、Ｓ３０４）。一致するユーザが登録されていれば、そのユーザの属性（アクセスレベル）と正常にコマンドが終了したことをホストコンピュータ１０９に通知し処理を終了する（ステップＳ３０５、Ｓ３０６）。一方、一致するユーザが登録されていなかった場合はエラーを返す（ステップＳ３０５、Ｓ３０７）。
【００５４】
次に、フラッシュメモリ１０６に格納する情報の登録、変更に関わる処理について説明する。
【００５５】
図１２は、新規にオーナー情報７２を登録する場合の、ホストコンピュータ１０９におけるユーザインタフェースの一例を示した図である。オーナー登録に際しては、オーナー登録ウインドウ２００において、オーナー名２０１、オーナーパスワード２０２、オーナー属性２０３を入力し、ＯＫボタン２０４をクリックすることにより、可搬型ディスク装置１０７に対してこれらの情報を伴ったオーナー登録コマンドが送られる。ここで属性２０３は、ＲＷ（Ｒｅａｄ／Ｗｒｉｔｅ、読み書き可能）とＲＯ（Ｒｅａｄ　Ｏｎｌｙ、読み出しのみ可能）の何れかを設定する。なお、キャンセルボタン２０５がクリックされると、オーナー登録コマンドが発行されることなく処理が終了する。
【００５６】
このオーナー登録の処理の流れを、図１３のフローチャートに沿って説明する。なお、この処理は、装着された可搬型ディスクにオーナーが未登録の場合に起動可能である。ユーザによって、オーナー名、オーナーパスワード、オーナー属性が入力され（ステップＳ４０１）、オーナー登録コマンドがホストコンピュータ１０９から可搬型ディスク装置１０７に送信されると（ステップＳ４０２）、オーナー登録コマンドを受信した可搬型ディスク装置１０７は、既にフラッシュメモリ１０６にオーナーが登録されているか否かを判別する（ステップＳ４０３）。オーナーが登録されていなければステップＳ４０２で受信したオーナー登録コマンドに従ってオーナー登録（ステップＳ４０４）を行う。一方、既にオーナー登録がされていれば、オーナー登録を行わずに処理を終了する。
【００５７】
なお、上記処理ではオーナーの新規登録が行なわれるが、既に登録されているオーナーを変更したい場合は、当該登録されたオーナーによって自分自身の登録を削除してから、上記図１２、図１３で説明した処理を実行する。なお、現在登録されているオーナーに対してオーナー変更の権限を与えてもよい。この場合、例えば後述のゲスト登録処理におけるインターフェース（図１７）に類似のインターフェースを提示し（２１３、２１４はそれぞれ新規オーナー名、新規パスワードとなる）、現在のオーナーの認証がとれた場合に限り、新規オーナー名と新規パスワードに変更する。
【００５８】
図１４は、ゲスト情報７３を登録する場合の、ホストコンピュータ１０９におけるユーザインタフェースの一例を示した図である。ゲスト登録はオーナーにしかできないので、オーナー名とオーナーパスワードの入力も要求される。ゲスト登録ウインドウ２１０において、オーナー名２１１、オーナーパスワード２１２、登録したいゲスト名２１３、そのゲストパスワード２１４、ゲスト属性２１５を入力し、ＯＫボタン２１６をクリックすることにより、可搬型ディスク装置１０７に対してこれらの情報を伴ったゲスト登録コマンドが送られる。
【００５９】
このゲスト登録の処理の流れを、図１５のフローチャートに沿って説明する。ゲスト登録ウインドウ２１０を用いて、ユーザによって、オーナー名、オーナーパスワード、登録したいゲスト名、ゲストパスワード、ゲスト属性が入力され（ステップＳ５０１）、ゲスト登録コマンドがホストコンピュータ１０９から可搬型ディスク装置１０７に送信されると（ステップＳ５０２）、ゲスト登録コマンドを受信した可搬型ディスク装置１０７は、フラッシュメモリ１０６にゲスト名が一致するゲストが既に登録されているか否かを判別する（ステップＳ５０３）。登録されていなければ、入力されたオーナー名とオーナーパスワードが、フラッシュメモリ１０６に格納されているオーナー名、オーナーパスワードと一致しているか否かの判別を行う（ステップＳ５０４）。一致していれば、ユーザ入力されたゲスト名、ゲストパスワード、ゲスト属性をフラッシュメモリ１０６に格納する（ステップＳ５０５）。ステップＳ５０３においてゲストが登録済みであった場合と、ステップＳ５０４においてオーナー名またはオーナーパスワードの何れかが不一致であった場合は、ゲスト登録を行わずに処理を終了する。
なお、オーナーは登録されているゲストを消去する権限も有する。登録ゲストの消去では、ゲスト消去用のウインドウ（図１４と類似のウインドウ）を提示し、消去すべきゲスト名（ゲストのパスワードは不要）をゲスト消去コマンドとともに可搬型ディスクに送信する。可搬型ディスクは、オーナーの認証を行なった後に、ゲスト名で特定される認証情報をフラッシュメモリ１０６より消去する。但し、ホストコンピュータ１０９内のアクセス許可管理テーブル（後述）に消去されたゲストが登録されている可能性があるので、これをフラッシュメモリ１０６内の認証情報と同期させるべく、後述のアクセス許可管理テーブルを初期化する処理（図２２）を行なう。
【００６０】
図１６は、ディスク情報７１を登録する場合の、ホストコンピュータ１０９におけるユーザインタフェースの一例を示した図である。ディスク情報登録はオーナーにしかできないため、オーナー名、オーナーパスワードの入力が要求される。ディスク情報登録ウインドウ２２０において、オーナー名２２１、オーナーパスワード２２２、ディスク名２２３、ロックモード２２４を入力し、ＯＫボタン２２５をクリックすることにより、可搬型ディスク装置１０７に対してこれらの情報を伴ったディスク情報登録コマンドが送られる。なお、本実施形態では、ディスク名とロックモードのうち変更したいものだけを選択できるチェックボックス２２３ａ，２２４ａを設け、ディスク情報登録コマンドにより登録したいものだけを送信できるようにしている。
【００６１】
このディスク情報登録の処理の流れを、図１７のフローチャートに沿って説明する。ユーザによって、オーナー名、オーナーパスワード、ディスク名、ロックモードが入力され（ステップＳ６０１）、ディスク情報登録コマンドがホストコンピュータ１０９から可搬型ディスク装置１０７に送信されると（ステップＳ６０２）、ディスク情報登録コマンドを受信した可搬型ディスク装置１０７は、入力されたオーナー名とオーナーパスワードが、フラッシュメモリ１０６に格納されているオーナー名、オーナーパスワードと一致しているか否かの判別を行う（ステップＳ６０３）。この判別の結果、両者が一致していれば、ユーザ入力されたディスク名、ロックモードをフラッシュメモリ１０６に格納する（ステップＳ６０４）。一方、ステップＳ６０３においてオーナー名またはオーナーパスワードの何れかが不一致であった場合は、ディスク情報の登録を行わずに処理を終了する。このディスク情報登録の処理によって、ロックモードの変更が可能となる。
【００６２】
以上、可搬型ディスク装置側の動作を主体として処理を説明した。次いで、ホストコンピュータ１０９の動作を、図面を用いて説明する。
【００６３】
図１８は、ホストコンピュータ１０９の構成を示すブロック図である。図１８において、点線で囲った部分がホストコンピュータ１０９を示す。前述の如く、３７００、５０、５２、１０７は、それぞれ上述したモニタ、ソケット、マイクロスイッチ、および可搬型ディスク装置である。なお、本実施形態では、ソケット５０とホストコンピュータ１０９の間の接続バス５３は、ＩＤＥインターフェースとして説明する。
【００６４】
ホストコンピュータ１０９は、マザーボード３０００、電源ユニット３３００、無停電電源装置（ＵＰＳ）３４００、ＣＤ−ＲＷドライブ装置３６００、および拡張ボードとして構成されたＩＤＥコントローラボード３１００を備える。
【００６５】
まず、初めに、マザーボード３０００の構成について説明する。３００１は、ＣＰＵであり、ホストコンピュータ１０９で実行するアプリケーションソフトウェアの処理全般を司る。３００２は、所謂ノースブリッジであり、ＣＰＵ３００１のローカルバス３０２８に接続されており、ＣＰＵ３００１の動作に応じて、マザーボード３０００内部で必要な、各種のタイミング信号を発生する。主な機能としては、リフレッシュ、リード／ライト等のメインメモリ制御、内部バスを介しての入出力デバイス制御、グラフィックス専用バスを介してのグラフィックスコントローラ制御、後述のメモリバス３００６、グラフィックス専用バス３００７、内部バス３００８と、ＣＰＵローカルバス３０２８間の動作タイミングの調停等を司る。
【００６６】
３００３はメインメモリであり、メモリバス３００６を介して、前述のノースブリッジ３００２に接続されている。リフレッシュ動作、リード／ライト動作等に必要なタイミング信号は、ノースブリッジ３００２より供給される。３００４は、グラフィックスコントローラであり、グラフィックスコントローラ専用バス（ＡＧＰバス）３００７を介してノースブリッジ３００２に接続されている。
【００６７】
グラフィックスコントローラ３００４には、ＣＰＵ３００１が実行するプログラムにより生成される、ライン描画、塗りつぶし、ＢｉｔＢｌｔ等の描画コマンド、あるいは、ＣＰＵ３００１が実行するプログラムにより生成されるラスターイメージの画像データ等が、ノースブリッジ３００２、およびＡＧＰバス３００７を介して供給される。また、グラフィックスコントローラ３００４は、内部に、モニタ３７００に送出する映像信号に必要な同期信号を発生する同期信号発生器、デジタル信号をモニタに適したアナログ信号に変換する為のＡ／Ｄ変換器等を含んでいる。更に、後述の表示用ラスターイメージを保持するビデオメモリの動作に必要なタイミング信号等も発生する。
【００６８】
３００５は、グラフィックコントローラに接続されているビデオメモリであり、前述の如く、グラフィックスコントローラ３００４により生成されるラスターイメージの画像データを保持している。ビデオメモリ３００５の動作に必要な全ての制御信号は、グラフィックスコントローラ３００４より供給される。
【００６９】
３０１１はモニタ接続用コネクタであり、グラフィックスコントローラ３００４の映像出力ピンに接続される。グラフィックスコントローラ３００４で生成される映像出力信号は、このコネクタ３０１１と接続ケーブルを介してモニタ３７００へ送出される。
【００７０】
３００９は、所謂サウスブリッジであり、内部バス３００８を介して、前述のノースブリッジ３００２に接続されている。サウスブリッジ３００９は、内部に、ハードディスクドライブ、ＣＤ−ＲＯＭドライブ等を接続する為のＩＤＥコントローラ、Ｆｌａｓｈ　ＲＯＭ、キーボード、およびマウス等の低速デバイス接続用のＬＰＣ（Ｌｏｗ　Ｐｉｎ　Ｃｏｕｎｔ）バスコントローラ、ＡＣ９７コントローラ、汎用バス規格であるＰＣＩバスコントローラ、汎用ディスクリート信号入出力コントローラ（ＰＩＯ）等の標準インターフェースを含んでいる。ＩＤＥコントローラはＩＤＥバス３０１０を介し、ＬＰＣバスコントローラはＬＰＣバス３０１６を介し、ＡＣ９７コントローラはＡＣ９７バス３０４９を介し、ＰＣＩバスコントローラはＰＣＩバス３０２６を介し、それぞれのバスに接続してあるデバイスと接続されている。更に、外部のボタン型リチウム電池３０２５より電源供給される、小容量のＣＭＯＳメモリも内臓しており、システム動作に必要な、各種パラメータを記録しておくことが出来る。
【００７１】
ＰＩＯ入力端子３０２７には、前述のソケット５０に取り付けてあるマイクロスイッチ５２の出力信号線５４が接続されており、ＰＩＯ出力端子３０４７には、後述のスイッチ３０４６の制御端子が接続されている。
【００７２】
３０１２、および３０４８は、ＩＤＥバス３０１０に接続されたコネクタであり、それぞれ接続ケーブルを介して、ＣＤ−ＲＯＭドライブ装置３６００、およびハードディスクドライブ装置３６１０に接続されている。ハードディスクドライブ３６１０は、ホストコンピュータ１０９を制御するオペレーティングシステム（例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）（商標）オペレーティングシステム）、前述のユーザ認証用アプリケーションソフトウェアを含む各種のアプリケーションソフトウェア等を格納する。
【００７３】
３０１３は、ＡＣ９７コーデックであり、音声ライン入力コネクタ３０１７、ステレオ音声ライン出力コネクタ３０１８および３０１９を介して入出力されるアナログオーディオ信号を、それぞれＡ／Ｄ変換およびＤ／Ａ変換し、ＡＣ９７規格に準拠したプロトコルで、ＡＣ９７バス３０４９を介して、前述のサウスブリッジ３００９内のＡＣ９７コントローラと通信を行なう。
【００７４】
３０１４はＦＬＡＳＨ　ＲＯＭであり、ＬＰＣバス３０１６を介してサウスブリッジ３００９に接続されている。電源投入直後に、ＣＰＵ３００１が最初に実行する初期化プログラム、マザーボードに搭載されている周辺デバイス等を制御する基本入出力制御プログラム、ハードディスク３６１０より、オペレーティングシステム（ＯＳ）を起動実行する為のイニシャルブートローダ等を含む。
【００７５】
ＬＰＣバス３０１６には、Ｓｕｐｅｒ　ＩＯチップ（ＩＣ）３０１５も接続されている。Ｓｕｐｅｒ　ＩＯチップ３０１５は、キーボード、マウス、ＲＳ２３２Ｃシリアル、セントロニクスパラレル等の、低速デバイス用コントローラを集積したＩＣである。Ｓｕｐｅｒ　ＩＯチップ３０１５には、キーボードコネクタ３０２０、マウスコネクタ３０２１、シリアルコネクタ３０２２、パラレルコネクタ３０２３を介して、対応する周辺デバイスが接続される。なお、図１８には示していないが、図１に示したように、キーボードコネクタ３０２０には、キーボード３９００が、マウスコネクタ３０２１には、マウス３９５０が接続されている。
【００７６】
３０３４は、ＵＳＢ２．０規格に準拠したホストコントローラである。ホストコントローラ３０３４はＰＣＩバス３０２６に接続され、ＣＰＵ３００１によって実行される制御ソフトウェアにより、コネクタ３０３９、３０４０、３０４１、３０４２、３０４３を介して接続される様々なＵＳＢ規格準拠の周辺装置を制御する。ＵＳＢ規格準拠の周辺装置としては、デジタルカメラ、プリンタ、スキャナ等が挙げられる。
【００７７】
３０４４および３０２９は、イーサネット（登録商標）コントローラである。イーサネット（登録商標）コントローラ３０２９は、コネクタ３０３８を介し、ＰＡＮ（Ｐｅｒｓｏｎａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）３２００に接続されている。イーサネット（登録商標）コントローラ３０４４は、スイッチ３０４６、コネクタ３０４５を介し、ＷＡＮ（Ｗｉｄｅ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）３８００に接続されている。スイッチ３０４６は、前述のサウスブリッジ３００９内のＰＩＯの出力信号端子３０４７に接続されており、ＣＰＵ３００１によって実行されるプログラムの働きにより、任意にＯＮ／ＯＦＦが制御できる。３０３０、３０３１、３０３２、３０３３はＰＣＩバスに接続された、拡張ボード搭載用のコネクタである。
【００７８】
３０３５は、電源回路であり、電源コネクタ３０３７を介して供給されるＤＣ電源より、各部の動作に必要なＤＣ電圧を生成し、各部へ供給する。３３００は、電源ユニットであり、無停電電源装置３４００よリ供給されるＡＣ電源より、ＤＣ電圧を生成し、電源回路３０３５へ供給する。３４００は、無停電電源装置であり、内臓バッテリにより、外部ＡＣ電源の出力低下時にも、間断なく、電源ユニット３３００に電力供給ケーブル３５００を介して、ＡＣ電源を供給するように動作する。また、外部ＡＣ電源の出力低下検知時には、コネクタ３０３６、信号線３０２４を介して、ＣＰＵ３００１により実行される電源管理制御プログラムへ、電源異常の発生した事が通知される。信号線３０２４は、前述のＳｕｐｅｒ　ＩＯチップ３０１５内部のシリアルコントローラに接続されている。
【００７９】
次いで、本実施形態のホストコンピュータ１０９によって実行される制御プログラムの動作を、図を用いて説明する。
【００８０】
図１９は、本実施形態によるディスクアクセスの動作を模式的に説明した図である。図１９において、イチロー、ジローは、前述の可搬型ディスク装置１０７に登録されているユーザであり、サブローは未登録ユーザである。イチロー、ジロー、サブローの何れも、ホストコンピュータ１０９を使用するユーザである。各ユーザは、キーボード３９００、およびマウス３９５０を介して、ホストコンピュータ１０９にアクセスしても良いし、前述のＷＡＮ３８００、あるいはＰＡＮ３２００に接続してある、他のクライアントコンピュータからネットワークを介してアクセスしても良い。
【００８１】
さて、図１９において、３００はホストコンピュータ１０９内部におけるソフトウェア階層を模式的に示している。最上位の階層はアプリケーションプログラム３０１であり、各ユーザが可搬型ディスク装置１０７に対して何らかのデータの書き込みまたは読み出しを要求する。アプリケーションプログラム３０１が可搬型ディスク装置１０７に対して書き込み、または読み出し処理を行なう場合、通常は、オペレーティングシステムのファイルシステム（３０３）に対して、書き込み、または読み出し処理のサービスを要求する。
【００８２】
本実施形態によるアクセス制御プログラムは、アプリケーション３０１とファイルシステムドライバ３０３の中間に位置するように構成されている。図１９において、アクセス許可管理テーブル３０２として示された部分がこれに該当する。この部分は、実際には、管理テーブルだけがあるのではなく、管理テーブルのメンテナンス機能、および管理テーブルを使用した各ユーザ毎のアクセス許可管理機能を有する。なお、管理テーブルは、ホストコンピュータ１０９上のメインメモリ上に存在する。
【００８３】
動作の詳細は後述するが、例えば、図示した管理テーブルにおいては、イチローには可搬型ディスク装置１０７に対して書き込みおよび読み出し許可が与えられ、ジローには可搬型ディスク装置１０７に対して書き込み許可および読み出し不許可が与えられていることを示す情報が書き込まれている。この状態で、アプリケーション３０１により、各ユーザが可搬型ディスク装置１０７に対して書き込み、あるいは読み出し処理を要求すると、本実施形態によるプログラムは、アクセス許可管理テーブルを基に、次のような処理を行なう。
【００８４】
▲１▼イチローからの書き込みあるいは読み出し処理要求：
管理テーブル３０２により、可搬型ディスク装置１０７に対するアクセスは、書き込み、読み出しともに許可されていることが判明するので、アプリケーション３０１からの書き込みあるいは読み出し処理要求を、ファイルシステムに対しそのまま通過させる（但し、認証ユーザの属性８３（図８）の内容とのＡＮＤがとられる。例えば、認証ユーザの属性が読み書き可能であれば上記のように書込み及び読み出しの処理要求が通過されるが、認証ユーザの属性が読み出しであれば、書込み要求はブロックされる。詳細は図２６により後述する）。
【００８５】
▲２▼ジローからの書き込みあるいは読み出し処理要求：
管理テーブル３０２により、可搬型ディスク装置１０７に対するアクセスは、書き込みは不許可であり、読み出しは許可されていることが判明するので、アプリケーション３０１からの書き込み処理要求をブロックし、ファイルシステムに対し通知せず、エラーステータスを当該アプリケーション３０１に返す。一方、アプリケーション３０１からの読み出し処理要求については、ファイルシステムに対し、そのまま通過させる。なお、書込み処理要求をブロックした際には、当該要求者（ジローのコンピュータ）に対してその旨の通知を行なうようにしてもよい。
【００８６】
▲３▼サブローからの書き込みあるいは読み出し処理要求：
管理テーブル３０２にはサブローは登録されておらず、可搬型ディスク装置１０７に対するアクセス権限は不明である。よって、可搬型ディスク装置１０７に対して、前述のユーザ照会コマンドを発行する。その結果、未登録ユーザであることが判明したら、アプリケーション３０１からの書き込み処理要求および読み出し処理要求をともにブロックし、ファイルシステムに対して通知せず、エラーステータスをアプリケーション３０１に返す。なお、読み出し処理要求及び書込み処理要求をブロックした際には、当該要求者（ジローのコンピュータ）に対してその旨の通知を行なうようにしてもよい。
【００８７】
以下、フローチャートを用いて、上記の動作を詳細に説明する。
【００８８】
図２０は、ディスク挿入時のホストコンピュータ１０９内の本実施形態にかかわる処理をフローチャートで示したものである。
【００８９】
前述したように、可搬型ディスク装置１０７がソケット５０に装着されると、マイクロスイッチ５２はオンとなり、信号線５４、サウスブリッジ３００９のＰＩＯ入力線３０２７を経由して、ＣＰＵ３００１に対して割り込み処理要求が発生される。図２０は、この割り込み処理要求に対応した処理ルーチンのフローを示している。
【００９０】
可搬型ディスク装置１０７がソケット５０に装着されたことを検知すると、ステップＳ７０１において、可搬型ディスク装置１０７に対して前述の情報要求コマンドを発行する。次いで、ステップＳ７０２において、可搬型ディスク装置１０７より、情報要求コマンドに対する応答として図７に示した如き登録情報を取得する。
【００９１】
ステップＳ７０３では、ステップＳ７０２で取得した登録情報に含まれるロックモード７１ｃの値を調べ、当該可搬型ディスク装置が、ロック状態であるか否かを判断する。ロック状態であった場合は、ステップＳ７０４に進み、ユーザに対し、ユーザ名とパスワードの入力を促す。図３１は、ユーザ名とパスワードの入力を促す場合の、ユーザインターフェースの一例を示した図である。ユーザが、ユーザ名とパスワードをそれぞれ該当するフィールド３２１、３２２に入力した後、ＯＫボタン３２３をクリックすることにより、ステップＳ７０４の処理が完了し、ステップＳ７０６へと処理が進む。
【００９２】
ステップＳ７０６では、ステップＳ７０４でユーザが入力したユーザ名を、変数ｕｎａｍｅに、パスワードを変数ｐａｓｓｗｄに保存し、後述のアクセス可否判断処理を行なう。その後、処理はステップＳ７０７へと進む。なお、ステップＳ７０６において実行されるアクセス可否判断処理では、変数ｕｎａｍｅに保存されたユーザ名、変数ｐａｓｓｗｄに保存されたパスワードが、当該可搬型ディスク装置１０７に登録されたユーザであるか否かを調べる。そして、その結果として、アクセスの可否を変数ｇｏＡｈｅａｄに、許可されているアクセスモードを変数ｍｏｄｅに保存するように処理が行なわれる。なお、変数ｇｏＡｈｅａｄの値が１の場合はアクセス許可を示し、値が０の場合はアクセス不許可を示す。また、変数ｍｏｄｅには、当該ユーザに許可されたアクセスモード、すなわち読み出し可能および書き込み可能を意味するフラグが各々図３２に示したビット位置にセット、またはリセットされる。本例では、ビット内容が１であればアクセス権限有りを、ビット内容が０であればアクセス権限無しを意味する。
【００９３】
一方、ステップＳ７０３にて、ステップＳ７０２で取得した登録情報に含まれる、図３に示したディスク情報内のロックモード７１ｃの値を調べた結果、当該可搬型ディスク装置１０７が非ロック状態であった場合は、変数ｇｏＡｈｅａｄに値１を保存し、ステップＳ７０７へと進む。
【００９４】
ステップＳ７０７では、変数ｇｏＡｈｅａｄの値を調べ、其の値が１、すなわち当該可搬型ディスク装置１０７に当該ユーザが登録されている場合、あるいは当該可搬型ディスク装置１０７が非ロック状態である場合にはステップＳ７０８へ進む。一方、其の値が０、すなわち当該可搬型ディスク装置１０７がロック状態であり、かつ、当該可搬型ディスク装置１０７に当該ユーザが登録されていない場合には、ステップＳ７０９へと進む。
【００９５】
ステップＳ７０８では、当該可搬型ディスク装置１０７をシステムが使用可能状態とする為に、当該可搬型ディスク装置１０７より、パーティション情報を読み取り、ホストコンピュータ１０９で当該可搬型ディスク装置１０７を正しく取り扱う為の内部変数の初期化等を行なう。具体的な処理内容は、ホストコンピュータ１０９に搭載しているオペレーティングシステム、可搬型ディスク装置１０７を制御するデバイスドライバの構造に依存するので、詳細は、ここでは詳しくは説明しない。ステップＳ７１０では、当該可搬型ディスク装置１０７をファイルシステムに登録して処理を終了する。
【００９６】
ステップＳ７０９では、当該可搬型ディスク装置１０７がロック状態であり、かつ、当該可搬型ディスク装置１０７に当該ユーザが登録されていない旨を示すダイアログ画面等をモニタ３７００に表示して本処理を終了する。
【００９７】
図２１は、上述したステップＳ７０６におけるアクセス可否判断処理の動作を説明する為のフローチャートである。本処理ルーチンに制御が移る前に、ステップＳ７０４によって変数ｕｎａｍｅにはユーザ名が、変数ｐａｓｓｗｄにはパスワードが予め書き込まれている。また、システム初期化時に、変数ａｕｔｈには、値０が書き込まれている。
【００９８】
本アクセス可否判断処理ルーチンに制御が移ると、ステップＳ７６１にて、当該可搬型ディスク装置１０７が、既に、ユーザ認証済みであるか否かの判断を行なう。これは、変数ａｕｔｈの値を調べることにより行なわれる。変数ａｕｔｈの値が１であれば、当該可搬型ディスク装置１０７は認証済みであり、処理はステップＳ７６２に進む。一方、ステップＳ７６１において変数ａｕｔｈの値が０であれば、当該可搬型ディスク装置１０７は未認証であり、従って処理はステップＳ７６８に進む。
【００９９】
ステップＳ７６８では、前述のユーザ認証コマンドを当該可搬型ディスク装置１０７に対して発行する。この認証の結果、認証ＯＫの場合は、変数ｓｕｃｃｅｓｓに値１を、認証ＮＧの場合は、変数ｓｕｃｃｅｓｓに値０を書き込み、ステップＳ７６９へと進む。ステップＳ７６９では、変数ｓｕｃｃｅｓｓの値を調べ、其の値が１であればステップＳ７７０へ進み、其の値が０であればステップＳ７７５へ進む。すなわち、ステップＳ７６８で行なわれた当該可搬型ディスク装置１０７に対するユーザ認証の結果、認証に成功した場合はステップＳ７７０へ、失敗した場合はステップＳ７７５へと進む。
【０１００】
ステップＳ７７０では、変数ａｕｔｈに値１を書き込み、当該可搬型ディスク装置１０７が認証済みであることをマークし、ステップＳ７７１へと進む。ステップＳ７７１では、詳細は後述するが、アクセス許可管理テーブルの初期化を行い、ステップＳ７７２へと進む。
【０１０１】
ステップＳ７７２では、前述の情報要求コマンドを、当該可搬型ディスク装置１０７に対して発行し、ステップＳ７７３へと進む。ステップＳ７７３では、当該可搬型ディスク装置１０７より、ステップＳ７７２で発行した情報要求コマンドに対する応答として、図７に示した登録情報を取得し、ステップＳ７７４へと進む。ステップＳ７７４では、変数ｕｎａｍｅ、およびステップＳ７７３で取得した登録情報から、必要なデータを上述したアクセス許可管理テーブル３０２にコピーし、ステップＳ７６４へと進む。
【０１０２】
ステップＳ７７５では、ステップＳ７６８におけるユーザ認証に失敗、あるいは、後述のステップＳ７６６におけるユーザ照会に失敗し、当該可搬型ディスク装置１０７に対するアクセス権を獲得できなかったことを、変数ｇｏＡｈｅａｄに値０を書き込むことにより示し処理を終了する。
【０１０３】
一方、ステップＳ７６１において、当該可搬型ディスク装置１０７が既にユーザ認証済みであると判断され、ステップＳ７６２に進んだ場合には、以下のように処理される。まず、ステップＳ７６２において、詳細は後述するが、変数ｕｎａｍｅに保持されているユーザ名がアクセス許可管理テーブル３０２に存在するか否かを調べる。この処理の結果、もし変数ｕｎａｍｅに保持されているユーザ名がアクセス許可管理テーブル３０２に存在しない場合は変数ｉｎｄｅｘに値０を書き込み、存在する場合はアクセス許可管理テーブル３０２内の相対位置を示す０以外の値を変数ｉｎｄｅｘに書き込むよう処理を行い、ステップＳ７６３へと進む。ステップＳ７６３では、変数ｉｎｄｅｘの値を調べ、其の値が０であればステップＳ７６６へ進み、其の値が０以外であればステップＳ７６４へ進む。すなわち、変数ｕｎａｍｅに保持されているユーザ名が、既にアクセス許可管理テーブル３０２に存在する場合は、ステップＳ７６４へ進み、存在しない場合は、ステップＳ７６６へ進む。
【０１０４】
ステップＳ７６６では、前述のユーザ照会コマンドを当該可搬型ディスク装置１０７に対して発行する。そして、その照会結果が照会ＯＫの場合は変数ｒｅｇｉｓｔｅｒｅｄに値１を、照会ＮＧの場合は変数ｒｅｇｉｓｔｅｒｅｄに値０を書き込み、ステップＳ７６７へと進む。ステップＳ７６７では、変数ｒｅｇｉｓｔｅｒｅｄの値を調べ、其の値が１の場合は、前述のステップＳ７７２へ、其の値が０の場合は、前述のステップＳ７７５へと進む。すなわち、ステップＳ７６６におけるユーザ照会コマンドの結果、変数ｕｎａｍｅに保存されているユーザ名のユーザが、当該可搬型ディスク装置１０７に登録されており、アクセスが許可されている場合にはステップＳ７７２へと進み、未登録でアクセスが不許可の場合には、ステップＳ７７５へと進む。
【０１０５】
ステップＳ７６４では、アクセス許可管理テーブル３０２から、当該ユーザのアクセスモードを、変数ｍｏｄｅにコピーし、ステップＳ７６５へ進む。ステップＳ７６５では、当該可搬型ディスク装置１０７に対するアクセス権を獲得できたことを、変数ｇｏＡｈｅａｄに値１を書き込むことにより示し、本アクセス可否判断処理を終了する。
【０１０６】
図２２は、アクセス管理許可テーブル（ステップＳ７７１）の初期化処理の動作を示すフローチャートである。
【０１０７】
ステップＳ８０１においては、ステップＳ８０２以降の処理の為に、変数ｉｎｄｅｘの値を１に初期化する。ステップＳ８０２では、変数ｉｎｄｅｘの値と、変数ｉｎｄｅｘの取り得る値の最大値を表す定数ＭａｘＵｓｅｒの値との比較を行い、変数ｉｎｄｅｘの値が、定数ＭａｘＵｓｅｒの値以下であれば、ステップＳ８０３に進む。変数ｉｎｄｅｘの値が定数ＭａｘＵｓｅｒの値より大きければ、ステップＳ８０９進む。ここでは、ＭａｘＵｓｅｒの値は規定しないが、１０でも２０でも、ホストコンピュータ１０９に想定される最大ユーザ数以上の適当な整数値であれば何でも構わない。
【０１０８】
ステップＳ８０３においては、変数ｉｎｄｅｘにより相対位置を特定される、アクセス許可管理テーブル３０２のインデックスフィールド（ｔａｂｌｅ．ｉｎｄｅｘ［ｉｎｄｅｘ］）に、変数ｉｎｄｅｘの値をコピーする。ステップＳ８０４においては、変数ｉｎｄｅｘにより相対位置を特定される、アクセス許可管理テーブル３０２のユーザ名フィールド（ｔａｂｌｅ．ｕｎａｍｅ［ｉｎｄｅｘ］）に空白文字列（“”）を書き込む。ステップＳ８０５においては、変数ｉｎｄｅｘにより相対位置を特定される、アクセス許可管理テーブル３０２の認証フィールド（ｔａｂｌｅ．ａｕｔｈ［ｉｎｄｅｘ］）に、不許可を意味する定数ＮＯを書き込む。ＮＯの値は、前述の説明によれば値０である。ステップＳ８０６においては、変数ｉｎｄｅｘにより相対位置を特定される、アクセス許可管理テーブル３０２のアクセスモードフィールド（ｔａｂｌｅ．ｍｏｄｅ［ｉｎｄｅｘ］）に値０を書き込む。値０は、前述の説明では、書き込みと読み出しともに不許可を意味する。ステップＳ８０７においては、変数ｉｎｄｅｘにより相対位置を特定される、アクセス許可管理テーブルのリンクフィールド（ｔａｂｌｅ．ｌｉｎｋ［ｉｎｄｅｘ］）に変数ｉｎｄｅｘの値をコピーする。
【０１０９】
以上、ステップＳ８０３からステップＳ８０７までの処理が完了したら、ステップＳ８０８へと進み、変数ｉｎｄｅｘの値を１だけ増分し、ステップＳ８０１に戻って上述の処理を繰り返す。
【０１１０】
結果、変数ｉｎｄｅｘの値が、１から定数ＭａｘＵｓｅｒまでの範囲で相対位置を特定されるアクセス許可管理テーブル３０２の各フィールドに所定の値が書き込まれることになる。最後に、変数ｉｎｄｅｘの値が、定数ＭａｘＵｓｅｒの値より大きくなったとろこで、ステップＳ８０９へ進み、変数ｉｎｄｅｘに値０を書き込み、アクセス許可管理テーブルの初期化処理は完了する。図２７に初期化処理完了後のアクセス許可管理テーブルの状態を示す。
【０１１１】
図２３は、アクセス許可管理テーブルへ、新規ユーザの追加登録する際の処理（ステップＳ７７４）を説明する為の、フローチャートである。
【０１１２】
ステップＳ８５１においては、ステップＳ８５２以降の処理の為に、変数ｉｎｄｅｘの値を１に初期化する。ステップＳ８５２では、変数ｉｎｄｅｘの値と、変数ｉｎｄｅｘの取り得る値の最大値を表す定数ＭａｘＵｓｅｒの値との比較を行い、変数ｉｎｄｅｘの値が、定数ＭａｘＵｓｅｒの値以下であれば、ステップＳ８５３に進み、変数ｉｎｄｅｘの値が、定数ＭａｘＵｓｅｒの値より大きければ、ステップＳ８６３へ進む。ここで、定数ＭａｘＵｓｅｒは上記図２２のフローチャートで説明したものと同じである。
【０１１３】
ステップＳ８５３では、変数ｉｎｄｅｘにより相対位置を特定される、アクセス許可管理テーブル３０２のインデックスフィールド（ｔａｂｌｅ．ｉｎｄｅｘ［ｉｎｄｅｘ］）の値と変数ｉｎｄｅｘの値を比較し、その値が等しくなければ処理はステップＳ８５４へ進み、値が等しければ処理はステップＳ８５５へ進む。ステップＳ８５４では、変数ｉｎｄｅｘの値を１だけ増分し、ステップＳ８５２に戻り上記処理を繰り返す。
【０１１４】
ステップＳ８５５では、変数ｉｎｄｅｘにより相対位置を特定される、アクセス許可管理テーブル３０２のユーザ名フィールド（ｔａｂｌｅ．ｕｎａｍｅ［ｉｎｄｅｘ］）に変数ｕｎａｍｅに保持されているユーザ名をコピーする。ステップＳ８５６では、変数ｉｎｄｅｘにより相対位置を特定されるアクセス許可管理テーブル３０２の認証フィールド（ｔａｂｌｅ．ａｕｔｈ［ｉｎｄｅｘ］）に、許可を意味する定数ＹＥＳを書き込む。ＹＥＳの値は、前述の説明では、値１である。
【０１１５】
また、ステップＳ８５７〜ステップＳ８６１では、アクセスモードフィールド（ｔａｂｌｅ．ｍｏｄｅ［ｉｎｄｅｘ］）の設定が行なわれる。まず、ステップＳ８５７において、変数ｉｎｄｅｘにより相対位置を特定されるアクセス許可管理テーブルのアクセスモードフィールド（ｔａｂｌｅ．ｍｏｄｅ［ｉｎｄｅｘ］）に、書き込み不許可及び読み出し不許可を示す値０を書き込む。
【０１１６】
ステップＳ８５８では、前述の情報要求コマンドにより得られる、当該認証ユーザの登録情報内の属性情報、すなわち、オーナの場合は図２の（ｃ）に示したオーナ属性、ゲストの場合は図２の（ｄ）に示したゲスト属性に含まれる、当該認証ユーザに許可された書き込み許可属性に則り、対応するアクセスモードフィールドを設定する。すなわち、書込み許可属性が書込み許可を示す場合は、ステップＳ８５８からステップＳ８５９へ進み、変数ｉｎｄｅｘにより相対位置が特定されるアクセス許可管理テーブルのアクセスモードフィールドの書き込み許可フラグを１にセットする。一方、不許可の場合は、何もせずに、ステップＳ８６０へ進む。
【０１１７】
ステップＳ８６０では、前述の情報要求コマンドにより得られる、当該認証ユーザの登録情報内の属性情報、すなわち、オーナの場合は、図２の（ｃ）に示したオーナ属性、ゲストの場合は、図２の（ｄ）に示したゲスト属性に含まれる、当該認証ユーザに許可された読み出し許可属性に則ってアクセスモードフィールドが設定される。すなわち、読み出し許可属性が読み出し許可を示す場合は、ステップＳ８６１へ進み、変数ｉｎｄｅｘにより相対位置を特定されるアクセス許可管理テーブルのアクセスモードフィールドの読み出し許可フラグを、１にセットする。不許可の場合は、何もせずに、ステップＳ８６２へ進む。
【０１１８】
更に、ステップＳ８６２では、当該フィールドが有効であることを示す為に、変数ｉｎｄｅｘにより相対位置を特定される、アクセス許可管理テーブルのリンクフィールド（ｔａｂｌｅ．ｌｉｎｋ［ｉｎｄｅｘ］）に、変数ｉｎｄｅｘの値に１を加えた値をコピーし、処理を終了する。
【０１１９】
一方、ステップＳ８５２で、変数ｉｎｄｅｘの値と、変数ｉｎｄｅｘの取り得る値の最大値を表す定数ＭａｘＵｓｅｒの値との比較を行い、変数ｉｎｄｅｘの値が、定数ＭａｘＵｓｅｒの値より大きかった場合は、ステップＳ８６３へ進む。これは、アクセス許可管理テーブルがオーバーフローしたことを示す。オーバーフロー時の、ホストコンピュータ１０９のアプリケーションの処理は説明しないが、例えば、ユーザにその旨を通知するダイアログを表示し、ユーザからのリクエストをキャンセルするように処理を行なえば良い。
【０１２０】
図２８は、当該可搬型ディスク装置１０７に、書き込み許可、読み出し許可として登録されているユーザ、イチローを登録した後の、前記アクセス許可管理テーブルの状態を示したものである。
【０１２１】
図２９は、当該可搬型ディスク装置１０７に、書き込み不許可、読み出し許可として登録されているユーザ、ジローを登録した後の、前記アクセス許可管理テーブルの状態を示したものである。
【０１２２】
更に、図３０は、当該可搬型ディスク装置１０７に、登録されていないユーザ、サブローによってディスクアクセスしようとした後のアクセス許可管理テーブルの状態を示したものである。この場合の結果は、図２９と同様である。
【０１２３】
図２４は、アクセス管理許可テーブル３０２に当該ユーザが登録済みであるか否かを確認するユーザ確認処理ルーチンの動作を説明する為のフローチャートである。
【０１２４】
ステップＳ８８１においては、ステップＳ８８２以降の処理の為に、変数ｉｎｄｅｘの値を１に初期化する。ステップＳ８８２では、変数ｉｎｄｅｘの値と、変数ｉｎｄｅｘの取り得る値の最大値を表す定数ＭａｘＵｓｅｒの値との比較を行い、変数ｉｎｄｅｘの値が、定数ＭａｘＵｓｅｒの値以下であれば、ステップＳ８８３に進み、変数ｉｎｄｅｘの値が、定数ＭａｘＵｓｅｒの値より大きければ、ステップＳ８８５へ進む。ここで、定数ＭａｘＵｓｅｒは上記図２２、図２３のフローチャートで説明したものと同じである。
【０１２５】
ステップＳ８８３では、変数ｉｎｄｅｘにより相対位置を特定される、アクセス許可管理テーブルのユーザ名フィールド（ｔａｂｌｅ．ｕｎａｍｅ［ｉｎｄｅｘ］）と、変数ｕｎａｍｅに保持されるユーザ名を比較し、一致した場合は、そのままユーザ確認処理を終了する。不一致の場合は、ステップＳ８８４に進み、変数ｉｎｄｅｘの値を１だけ増分し、ステップＳ８８２へ戻る。ステップＳ８８５では、変数ｉｎｄｅｘに、値０を書き込み、処理を終了する。
【０１２６】
以上の処理により、変数ｕｎａｍｅに保持されたユーザ名と一致するユーザがアクセス許可管理テーブルに登録されている場合は、アクセス許可管理テーブルの相対位置を示す値が変数ｉｎｄｅｘに保持される。一方、変数ｕｎａｍｅに保持されたユーザ名と一致するユーザがアクセス許可管理テーブルに登録されていなかった場合は値０が変数ｉｎｄｅｘに保持されるようになる。
【０１２７】
図２５は、当該可搬型ディスク装置１０７が、ホストコンピュータ１０９から取り外された事を検知した際の処理を示したフローチャートである。
【０１２８】
前述したように、可搬型ディスク装置１０７が、ソケット５０より取り外されると、マイクロスイッチ５２はオフとなり、信号線５４、サウスブリッジ３００９のＰＩＯ入力線３０２７を経由して、ＣＰＵ３００１に対して割り込み処理要求が発生する。図２５は、この割り込み処理要求に対応した処理ルーチンのフローを示している。
【０１２９】
上記割り込み処理要求を受け付けると、ステップＳ９０１で、当該可搬型ディスク装置１０７のファイルシステムへの登録を削除する。次いで、ステップＳ９０２では、可搬型ディスク装置１０７が、未認証状態であることを示す値０を、変数ａｕｔｈに書き込む。次いで、ステップＳ９０３で、アクセス許可管理テーブルを初期化し（図２２）、可搬型ディスク装置１０７取り外し処理を終了する。
【０１３０】
次に、ディスクアクセス要求時の処理について図２６のフローチャートを参照して説明する。本処理は例えば、ネットワーク上の他のコンピュータから可搬型ディスク装置１０７にアクセスがあった場合に起動されることになる。まず、ステップＳ９２１において、図２１のフローチャートで説明したアクセス可否の判断処理を行なう。ステップＳ９２２ではこのアクセス可否の判断処理の結果をチェックし、アクセス可能であると判断されていれば（ｇｏＡｈｅａｄ＝１）ステップＳ９２３へ進む。
【０１３１】
ステップＳ９２３では、アクセス可否判断処理の結果、ｉｎｄｅｘが１となっているか否かを判定する。ｉｎｄｅｘが１である場合は、当該アクセス要求者が、ディスク挿入検知時（図２０）にアクセスした者であることを示す。従って、可搬型ディスク装置のＲＡＭに一時的に記憶されているディスク認証ユーザ（図８）は当該アクセス要求者と一致するので、その属性（アクセス可能動作モード）も一致するので、そのままアクセス処理が行なわれる。
【０１３２】
ステップＳ９２３でｉｎｄｅｘ≠１であった場合は、ステップＳ９２４へ進む。この場合、当該アクセス要求者はディスク認証ユーザとは異なるため、その属性（アクセス可能動作モード）も異なる可能性がある。従って、可搬型ディスク装置のＲＡＭに一時的に記憶されているディスク認証ユーザの属性（図８の８３）を変数ａｕｔｈｍｏｄｅにコピーし（ステップＳ９２４）、当該アクセス要求者の属性が保持されている変数ｍｏｄｅとのアンドをとり、これをアクセス可能動作モードとする（ステップＳ９２５）。例えば、認証ユーザが読み出しのみを許可されている場合、当該アクセス要求者が書込みと読み出しを許可されたユーザであったとしても、当該アクセスにおいては読み出しのみが許可されることになる（仮にステップＳ９２４、Ｓ９２５の処理がなくても、図９で説明した可搬型ディスクのデータ書き込み処理によって同様のアクセス結果を生じることになる）。
【０１３３】
以上説明したように上記実施形態によれば、オーナー認証されたユーザであれば、ユーザ照会コマンドによって登録ユーザの照会が可能となり、複数ユーザ対応のデータ保全機能を備えながら、上位装置によって、同時に複数ユーザからのアクセスを制御することが可能となる。
【０１３４】
さらには、オーナー認証されたユーザであれば、ディスク情報登録コマンドにより、ディスクを「ロック状態」と「非ロック状態」とに簡単に切り替えることが可能であり、ディスクに設定されたユーザ認証情情報（オーナー情報とゲスト情報）を消去すること無しに、認証無しでディスクにアクセスすることが可能となる。よって、本アクセス制御方法に対応していない本体装置（従来のパソコン等）でも、本可搬型記憶装置の使用が可能となり、利便性が向上する。
【０１３５】
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１３６】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３７】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１３８】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３９】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４０】
【発明の効果】
以上、説明したように、本発明によれば、携帯性に優れた可搬型ディスク装置を持ち運んで使用したり、複数のユーザで共用するような場合に、それぞれのユーザに最適な、安全で確実なデータ保護機能を、容易に実現することが可能となる。
【図面の簡単な説明】
【図１】可搬型ディスク装置の構成を示すブロック図である。
【図２】フラッシュメモリに格納する登録情報のフォーマットと、ディスク情報、オーナー情報、ゲスト情報の詳細を示す図である。
【図３】ロック状態に設定されている場合の、可搬型ディスク装置とホストコンピュータとの通信動作を示すタイムチャートである。
【図４】非ロック状態に設定されている場合の、可搬型ディスク装置とホストコンピュータとの通信動作を示すタイムチャートである。
【図５】ユーザ認証に失敗した場合の、可搬型ディスク装置とホストコンピュータとの通信動作を示すタイムチャートである。
【図６】ユーザ認証処理の手順を示すフローチャートである。
【図７】ホストコンピュータに出力する登録情報の内容を示す図である。
【図８】ユーザ認証後、ＲＡＭに一時的に記憶される情報を示す図である。
【図９】データ書き込み処理における可搬型ディスク装置のフローチャートである。
【図１０】ユーザ照会コマンドの内容を示す図である。
【図１１】可搬型ディスク装置におけるユーザ照会処理を示すフローチャートである。
【図１２】オーナー登録処理の画面表示の例を示す図である。
【図１３】オーナー登録処理を説明するフローチャートである。
【図１４】ゲスト登録処理の画面表示の例を示す図である。
【図１５】ゲスト登録処理を説明するフローチャートである。
【図１６】ディスク情報登録処理の画面表示の例を示す図である。
【図１７】ディスク情報登録処理を説明するフローチャートである。
【図１８】ホストコンピュータ１０９の構成を示すブロック図である。
【図１９】本実施形態による制御プログラムの動作を模式的に説明した図である。
【図２０】可搬型ディスク装置挿入時の処理を説明するためのフローチャートである。
【図２１】アクセス可否判断処理ルーチンの動作を説明するためのフローチャートである。
【図２２】アクセス許可管理テーブルの、初期化処理を説明するためのフローチャートである。
【図２３】アクセス許可管理テーブルへ、新規ユーザを登録する際の動作を説明するためのフローチャートである。
【図２４】ユーザ名が、アクセス管理許可テーブルに登録されているか否かを調べる処理ルーチンの動作を説明するためのフローチャートである。
【図２５】可搬型ディスク取り外しの動作を説明するためのフローチャートである。
【図２６】可搬型ディスク装置へのアクセス要求があった場合の、ホストコンピュータにおける処理を説明するためのフローチャートである。
【図２７】初期化処理完了後のアクセス許可管理テーブルの状態を示した図である。
【図２８】ユーザ認証後のアクセス許可管理テーブルの状態を示した図である。
【図２９】登録ユーザが、ユーザ照会した後のアクセス許可管理テーブルの状態を示した図である。
【図３０】未登録ユーザが、ユーザ照会した後のアクセス許可管理テーブルの状態を示した図である。
【図３１】ユーザ名とパスワード入力を促すダイアログの説明図である。
【図３２】アクセスモードを保持する変数ｍｏｄｅのビット割り当ての説明図である。
【図１】
2004086337.tif 000003
【図２】
2004086337.tif 000004
【図３】
2004086337.tif 000005
【図４】
2004086337.tif 000006
【図５】
2004086337.tif 000007
【図６】
2004086337.tif 000008
【図７】
2004086337.tif 000009
【図８】
2004086337.tif 000010
【図９】
2004086337.tif 000011
【図１０】
2004086337.tif 000012
【図１１】
2004086337.tif 000013
【図１２】
2004086337.tif 000014
【図１３】
2004086337.tif 000015
【図１４】
2004086337.tif 000016
【図１５】
2004086337.tif 000017
【図１６】
2004086337.tif 000018
【図１７】
2004086337.tif 000019
【図１８】
2004086337.tif 000020
【図１９】
2004086337.tif 000021
【図２０】
2004086337.tif 000022
【図２１】
2004086337.tif 000023
【図２２】
2004086337.tif 000024
【図２３】
2004086337.tif 000025
【図２４】
2004086337.tif 000026
【図２５】
2004086337.tif 000027
【図２６】
2004086337.tif 000028
【図２７】
2004086337.tif 000029
【図２８】
2004086337.tif 000030
【図２９】
2004086337.tif 000031
【図３０】
2004086337.tif 000032
【図３１】
2004086337.tif 000033
【図３２】
2004086337.tif 000034