[go: up one dir, main page]

JP2004086337A - Information processing apparatus and method - Google Patents

Information processing apparatus and method Download PDF

Info

Publication number
JP2004086337A
JP2004086337A JP2002243844A JP2002243844A JP2004086337A JP 2004086337 A JP2004086337 A JP 2004086337A JP 2002243844 A JP2002243844 A JP 2002243844A JP 2002243844 A JP2002243844 A JP 2002243844A JP 2004086337 A JP2004086337 A JP 2004086337A
Authority
JP
Japan
Prior art keywords
user
authentication
storage device
information
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2002243844A
Other languages
Japanese (ja)
Inventor
Tadashi Takayama
高山 正
Noriyuki Suzuki
鈴木 範之
Makoto Kobayashi
小林 誠
▲高▼田 智行
Satoyuki Takada
Hiroyasu Ito
伊藤 博康
Kyohei Inukai
犬飼 恭平
Takeshi Toyama
外山 猛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002243844A priority Critical patent/JP2004086337A/en
Publication of JP2004086337A publication Critical patent/JP2004086337A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】可搬型記憶装置を複数のユーザで共用するような場合に、それぞれのユーザに最適な、安全で確実なデータ保護機能を、容易に実現する。
【解決手段】認証情報を登録した可搬型ディスク装置107を着脱可能な情報処理装置109は、可搬型ディスク装置107の装着後にユーザ認証情報を送信して認証を行ない、可搬型ディスク装置107をアクセス可能な状態とする。その後、ユーザによる可搬型ディスク装置107へのアクセスが発生した場合には、可搬型ディスク装置107に登録されている認証情報の照会により当該ユーザの認証を行なう。上記認証又は照会によって認証が得られた場合、可搬型ディスク装置107へのアクセスが許可される。また、認証が得られたユーザの情報を情報処理装置109にテーブル302として登録しおてき、該テーブルの参照で認証がとれる場合は可搬型ディスク装置107による照会は行なわない。
【選択図】 図19
When a portable storage device is shared by a plurality of users, a safe and reliable data protection function optimal for each user is easily realized.
An information processing apparatus (109) to which a portable disk device (107) in which authentication information has been registered is detachable, transmits user authentication information after mounting the portable disk device (107), performs authentication, and accesses the portable disk device (107). Make it possible. Thereafter, when the user accesses the portable disk device 107, the user is authenticated by referring to the authentication information registered in the portable disk device 107. If the authentication or inquiry is successful, access to the portable disk device 107 is permitted. The information of the user who has been authenticated is registered in the information processing apparatus 109 as a table 302, and if the authentication can be obtained by referring to the table, the portable disk device 107 does not perform the inquiry.
[Selection diagram] FIG.

Description

【0001】
【発明の属する技術分野】
本発明は、ディスク装置などの情報処理装置に関し、特に、正当なユーザ以外へのデータ漏洩防止する手段を備えた情報処理装置及び方法に関する。
【0002】
【従来の技術】
近年、ディスク装置は、大容量化、小型化、高速化、高機能化、および低価格化が急速に進んでおり、パーソナルコンピュータ(PC)等の補助記憶装置として広く使用されている。また、テレビ番組をディスク装置に録画再生可能なハードディスクレコーダと呼ばれる製品も販売され、ディスク装置の用途は多岐に渡っている。2002年3月には、iVDR(Information Versatile Disk for Removable usage)と呼ばれる、2.5インチディスク装置をカートリッジに収容し、AV機器からPCまで幅広い用途に対応できる、持ち運びに適した、新しい可搬型ディスク装置が、業界団体8社から発表された。
【0003】
また、ディスク装置のインターフェースも従来のSCSI(Small Computer System Interface)、PCMCIA(Personal Computer Memory Card International Association)、IDE(Intelligent Drive Electronics)などの標準パラレルインターフェースに加え、IEEE1394、USB(Universal SerialBus)、Serial ATA等の高速シリアルインターフェースの普及も進んでおり、誰でも気軽にディスク装置をホストに装着して使用することが可能な、可搬型ディスク装置が、今後、急速に普及することが予想される。
【0004】
ところで、ディスク装置の記憶容量は年々急激に伸びている。例えば、上述のiVDRに採用されている2.5インチディスク装置でも、記憶容量が100GBに達する勢いである。このような大容量の可搬型ディスク装置が、個人で所有され、個人データ管理に使える様になってきている。
【0005】
このように個人で所有されたディスク装置は、気軽に自分のホストコンピュータに装着してデータを読み書きできるが、多量のデータの中には、他人に知られては困る個人データなどが保存されることもある。一方、iVDRのような可搬型ディスク装置は、その簡便性がゆえに、持ち運ぶことによって、置き忘れたり、また盗難にあったりする危険性が増し、ディスク装置内に保存されているデータのセキュリティを確保するための対策がますます重要となっている。
【0006】
従来、ディスク装置等に保存されているデータのセキュリティを確保するためのアクセス制御方法としては、次のような方法が知られている。
【0007】
例えば、ハードディスク装置の標準インターフェース規格として知られているATA(AT Attachment)インターフェース規格では、記憶装置に格納されるデータのセキュリティを確保するためのアクセス制御方法が「Security Mode feature set」として規定されている。ATAインターフェース規格では、User passwordを設定することによりセキュリティシステムが有効となり、User passwordの入力なしにはディスク装置へのアクセスができなくなる。User passwordは、1台のディスク装置に対し、1つだけ設定可能である。
【0008】
しかしながら、単一のパスワードによるデータのセキュリティでは、ディスク装置の持ち主が、他人に対してデータの読み書きを許可する場合、そのパスワードを他人に教える必要が生じる。このため、パスワード効果が薄れ、データのセキュリティ機能が低下すると言う問題がある。
【0009】
そこで、その解決策の一つとして、複数ユーザ対応のパスワードによるセキュリティ技術が、特開平08−263383号公報に開示されている。この発明によれば、ディスク装置を複数の領域に分け、それぞれの領域毎に、1対1で対応する第一のパスワードを設定するとともに、同時に、それぞれの領域毎に第一のパスワードとは異なる第二のパスワードを対応付ける事が出来る。ディスク装置は、第一のパスワード、あるいは第二のパスワードの何れかの一致により、それぞれのパスワードと対応付けられる当該記憶領域へのアクセスを許可することにより、ディスク所有者が、他人にパスワードを教える事による、パスワード効果の低減を防止するものである。
【0010】
【発明が解決しようとする課題】
しかしながら、上記発明では、複数ユーザのパスワード認証、およびアクセス制御を全てディスク装置側で行う為、この発明を実施したディスク装置をホストに装着して、同時に複数ユーザからのアクセスを可能とする為には、ホストが、ディスク装置に対してデータの読み書きを行う際に、どのユーザのデータであるかの識別をディスク装置が行う為の冗長な識別情報を、ディスク装置とやり取りするコマンドパケット毎あるいはデータパケット毎に付与して伝送する必要がある。それ故、従来の単一のパスワード認証によるディスク装置、あるいはパスワード認証機能の無いディスク装置とソフトウェアレベルの互換性を保てず、ホスト装置側に専用のディスク装置制御ソフト、および専用アプリケーションを準備しなければ行けないと言う問題があった。
【0011】
さて、一方、このようなディスク装置側のセキュリティ機能に頼らずに、複数ユーザ毎に、それぞれが異なるパスワードで、データのセキュリティを実現する方法として、Linux等のマルチユーザ対応OSで採用されているファイル管理方法がある。このファイル管理方法においては、特別なアクセス権限を付与された特権ユーザの基、他の一般ユーザがアクセス可能な領域のアクセス権を、ファイルシステム単位で設定が可能である。しかしながら、特権ユーザに対してはデータを秘匿できないこと、あるいは、データを保存したディスク装置を他のLinux OS搭載システムに取り付けた場合にも、そのホスト装置固有の特権ユーザレベルでディスク装置をアクセス出来る為に、同様の理由により、データのセキュリティを十分に守れないと言う問題があった。
【0012】
本発明は、以上のような課題に鑑みてなされたものであり、ディスク装置側に備える複数ユーザ対応のデータ保全機能を最大限活かし、ホスト装置側の変更を最小限に抑え、安全で確実な、データ保全機能の強固な、マルチユーザ対応の情報処理装置を提供することにある。
【0013】
【課題を解決するための手段】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。すなわち、
記憶装置を着脱可能な情報処理装置であって、
前記記憶装置の装着後、該記憶装置をアクセス可能な状態とするべく、該記憶装置にユーザ認証情報を送信して認証を行なう認証手段と、
前記記憶装置がアクセス可能な状態となった後、ユーザによる該記憶装置へのアクセスがあった場合に、該記憶装置に該ユーザの認証情報を照会する照会手段と、
前記認証手段又は照会手段によってユーザの認証が得られた場合、当該ユーザによる前記記憶装置へのアクセスを許可するアクセス許可手段とを備える。
【0014】
また、上記の目的を達成するための本発明による情報処理方法は以下の工程を備える。すなわち、
記憶装置を着脱可能な情報処理装置において該記憶装置へのアクセスを行なうための方法であって、
前記記憶装置の装着後、該記憶装置をアクセス可能な状態とするべく、該記憶装置にユーザ認証情報を送信して認証を行なう認証工程と、
前記記憶装置がアクセス可能な状態となった後、ユーザによる該記憶装置へのアクセスがあった場合に、該記憶装置に該ユーザの認証情報を照会する照会工程と、
前記認証工程又は照会工程によってユーザの認証が得られた場合、当該ユーザによる前記記憶装置へのアクセスを許可するアクセス許可工程とを備える。
【0015】
更に、上記の目的を達成するための本発明による情報処理装置は、
着脱可能な記憶装置が装着された情報処理装置であって、ここで該記憶装置は、ユーザを認証するための認証情報を登録するメモリと、前記情報処理装置からの認証要求に応じて前記認証情報に基づく認証を行なう認証手段と、前記情報処理装置からの照会要求に応じて前記認証情報の照会を行なう照会手段と、前記認証手段によって認証が得られた場合に前記情報処理装置からのデータへのアクセスが可能な状態に移行するアクセス制御手段とを備えており、
前記記憶装置の装着後、該記憶装置をアクセス可能な状態とするべく、該記憶装置にユーザ認証情報を送信して前記認証手段による認証を行わせる第1手段と、
前記記憶装置がアクセス可能な状態となった後、ユーザによる該記憶装置へのアクセスがあった場合に、前記照会手段によって該ユーザの認証情報を照会する第2手段と、
前記第1手段又は第2手段によってユーザの認証が得られた場合に、当該ユーザによる前記記憶装置へのアクセスを実行する第3手段とを備える。
【0016】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【0017】
以下の実施形態で説明する可搬型記憶装置(可搬型ディスク装置)へのアクセス制御方法では、可搬型記憶装置が、情報処理装置本体に取り付けられる際に、可搬型記憶装置内に登録されている当該可搬型記憶装置にアクセス許可されているユーザでのパスワード認証が行われるまで、アクセス可能状態には遷移しないように動作することにより、不正なユーザによるデータの盗用、改竄を防ぐ事が可能となる。更に、当該可搬型記憶装置をアクセス可能状態に遷移させたユーザ以外の、他のユーザが、当該可搬型記憶装置へのアクセスを要求する際には、アクセス要求を出したユーザが、当該可搬型記憶装置に登録されている、アクセス許可されているユーザであるか否かを、当該可搬型記憶装置に照会し、その結果に基づきアクセス制御を行うよう動作する。この結果、複数の異なるアクセス権を持つユーザに対する適切なアクセス権制御を、情報処理装置側のOS、ファイルシステムに依存せず、確実に実現する事が可能となる。
【0018】
また、上記パスワード認証及び照会によってアクセスが許可されたユーザをテーブルに登録しておくことにより、可搬型記憶装置による照会処理を減少させ、効率良く記憶装置へのアクセスを行なえるようにした。以下、本実施形態の可搬型記憶装置及びこれを装着する情報処理装置について詳細に説明する。
【0019】
図1は、本発明の一実施形態の可搬型ディスク装置の構成を示すブロック図である。可搬型ディスク装置107は、ソケット50を介し、ホストコンピュータ109に着脱可能に接続され、ホストコンピュータ109から送出される制御コマンドにより動作する。
【0020】
3700は、ホストコンピュータ109に接続されたモニタであり、3950、3900は、それぞれホストコンピュータ109に接続されたマウス、及びキーボードである。詳細は説明しないが、ホストコンピュータ109上で動作するソフトウェアの制御により、ホストコンピュータ109を使用するユーザは、マウス3950、およびキーボード3900を操作することにより、様々な処理を実行し、また、その実行結果をモニタ3700により確認することが出来る。
【0021】
可搬型ディスク装置107は、機構部100と電子回路部105とを備えている。本実施形態では、この電子回路部105に、ユーザ登録情報を格納する部分を設けている。具体的には、本実施形態では、電源遮断時でも記憶情報を維持するために、並びに、悪意のある第三者に記憶情報を読み出され難くするために、ワンチップマイコン500に内蔵されたフラッシュメモリ106に上記ユーザ登録情報を格納している。
【0022】
機構部100は、データを読み書きするためのヘッド101、ユーザデータを保存するための円盤型磁気媒体102、ヘッドを駆動するためのモータであるボイスコイルモータ103、円盤型磁気媒体102を回転するためのスピンドルモータ104とを備えている。
【0023】
また、電子回路部105は、ワンチップマイコン500と、機構制御部511と、データ処理部502と、ヘッド101とデータ処理部502との間で記録再生するデータの受け渡しおよび受け取りを行う記録/再生回路501と、円盤型磁気媒体102から読み出したデータを一時的に保持するデータバッファ509とを備えている。
【0024】
ワンチップマイコン500は、CPU505と、フラッシュメモリ106と、ROM(不図示)と、RAM(不図示)とを備え、ホストコンピュータ109からのコマンドを解釈し、そのコマンドに基づいて、機構部100の制御などを行う。また、フラッシュメモリ106に格納されたユーザ登録情報に基づくユーザ認証、アクセス制御などの処理も、ワンチップマイコン500によって行う。
【0025】
機構制御部511およびデータ処理部502は、ワンチップマイコン500のシステムバス11に接続されている。機構制御部511とヘッド101とは、制御線12によって接続されている。機構制御部511は、制御線12を介して、機構部100に、機械的な動作を制御する信号を出力する。記録/再生回路501は、データ線13によってヘッド101と接続され、ヘッド101に記録すべきデータ信号を受渡し、ヘッドが再生したデータ信号を受け取る。記録/再生回路501と機構制御部511とは、制御線14によって接続されている。また、データ処理部502とデータバッファ509とはデータバス15によって接続されている。
【0026】
データ処理部502の構成を更に説明する。データ処理部502は、CPUインタフェースコントロール部504と、ホストインタフェースコントロール部510と、ドライブインタフェースコントロール部503と、バッファコントロール部507と、読み出し誤り検出情報(ECC)処理部506とを備えている。CPUインタフェースコントロール部504、ホストインタフェースコントロール部510、および、ドライブインタフェースコントロール部503は、内部制御バス16に接続されている。バッファコントロール部507、ホストインタフェースコントロール部510、ドライブインタフェースコントロール部503、および、ECC処理部506は、データバス17によって接続されている。ホストインタフェースコントロール部510には、内部にコマンドレジスタ521とエラーレジスタ522とが配置され、IDE等のインタフェース108を介してコネクタ508と接続されている。
【0027】
可搬型ディスク装置107とソケット50とは、可搬型ディスク装置107のコネクタ508と、ソケット50のコネクタ51とを嵌合することによって接続される。
【0028】
ソケット50は、可搬型ディスク装置107を接続するためのコネクタ51と、可搬型ディスク装置107がソケット50に装着されたことを検出するためのマイクロスイッチ52とを備えている。コネクタ51はIDE等のインタフェース53を介してホストコンピュータ109と接続されている。
【0029】
マイクロスイッチ52は信号線54によりホストコンピュータ109と接続され、ホストコンピュータ109によるポーリングや、ホストコンピュータ109への割り込み信号の発生によって、ホストコンピュータ109が、可搬型ディスク装置107の装着を検出することが可能な構成となっている。
【0030】
ホストコンピュータ109は、パーソナルコンピュータ(PC)に代表されるコンピュータ装置である。また、図1では、ソケット50がホストコンピュータ109の外部にある構成になっているが、接続形態が同様であれば、ソケット50はホストコンピュータ109の内部にあっても構わない。
【0031】
次に、フラッシュメモリ106に格納する登録情報について説明する。図2はユーザ登録情報のフォーマットを示す図である。登録情報は(a)に示すように、ディスク情報71、オーナー情報72、ゲスト情報73の3種類から構成される。オーナーとゲストとは、共に使用者であるユーザを表すユーザ登録情報であるが、違いについては後述する。
【0032】
ディスク情報71は、図2の(b)に示すように、シリアル番号71a、ディスク名71b、ロックモード71cを含む。シリアル番号71aは、工場出荷時に設定されるもので、当該可搬型ディスク装置107の製造上の通し番号が記憶されている。ディスク名71bは、後述するディスク情報登録コマンドによりユーザによって設定される。ロックモード71cは、当該可搬型ディスク装置107がロック状態にあるか否かを示す情報であり、後述するオーナー名72aとオーナーパスワード72b、またはゲスト名73aとゲストパスワード73bが登録されている時に、ユーザ認証なしで可搬型ディスク装置107のデータ領域にアクセスできる状態を「非ロック状態」、ユーザ認証しなければアクセスできない状態を「ロック状態」として表す。
【0033】
オーナー情報72は、図2の(c)に示すように、オーナー名72a、オーナーパスワード72b、オーナー属性72cを含む。オーナー情報72は、後述するオーナー登録コマンドによりユーザによって設定される。オーナー名72a、オーナーパスワード72bは、可搬型ディスク装置107にアクセスするためのユーザ認証に使用する情報である。オーナー属性72cは、オーナーでユーザ認証した場合の、ユーザの可搬型ディスク装置107に対する属性を設定する。属性には、可搬型ディスク装置107のデータ領域全体に対する、読み書きを許可する属性、読み出しのみを許可する属性等が設定可能である。
【0034】
ゲスト情報73は、図2の(a)に示すように、1からnまで複数の設定が可能である。また、ゲスト情報73は、図2の(d)に示すように、ゲスト名73a、ゲストパスワード73b、ゲスト属性73cを含む。ゲスト名73a、ゲストパスワード73bは、可搬型ディスク装置107にアクセスするためのユーザ認証に使用する情報である。ゲスト属性73cは、ゲストでユーザ認証したユーザの可搬型ディスク装置107に対する属性を設定する。属性には、可搬型ディスク装置107のデータ領域全体に対する、読み書きを許可する属性、書き込みを禁止する属性等が設定可能である。
【0035】
なお、オーナーパスワード72bとゲストパスワード73bは、秘匿性を高めるために、ハッシュ関数と呼ばれる一方向性関数で変換処理を行ったハッシュ値を記憶することも可能である。
【0036】
また、工場出荷時におけるフラッシュメモリ106に格納されている登録情報は、ロックモードは非ロック状態、ディスク名、オーナー情報およびゲスト情報は未登録となっている。
【0037】
ここで、オーナー情報72と、ゲスト情報73の違いについて説明する。オーナー情報72は、可搬型ディスク装置107に対して一つだけ設定可能であり、可搬型ディスク装置107の所有者を意味する情報である。これに対し、ゲスト情報73は、オーナーによって可搬型ディスク装置107へのアクセスを許可されたユーザを示す情報である。登録やユーザ認証に関わる詳細な手順については後述するが、オーナー名72a、オーナーパスワード72bを入力することにより認証(オーナー認証)されたユーザ(オーナー)は、ディスク名71b、ロックモード71c、オーナー名72a、オーナーパスワード72b、オーナー属性72c、ゲスト名73a、ゲストパスワード73b、ゲスト属性73c、の登録や変更が可能である。これに対して、ゲスト名73a、ゲストパスワード73bを入力することにより認証(ゲスト認証)されたユーザ(ゲスト)は、自分自身のゲストパスワード73cの変更ができるのみである。
【0038】
次に、本ディスク装置におけるユーザ認証処理について説明する。図3は、ロックモード71cがロック状態に設定されている場合の、ホストコンピュータとディスク装置間のコマンド等のやり取りを示したタイムチャートである。また、図4は、ロックモード71cが非ロック状態に設定されている場合の、ホストコンピュータとディスク装置間のコマンド等のやり取りを示したタイムチャートである。また、図5は、ユーザ認証に失敗した場合の、ホストコンピュータとディスク装置間のコマンド等のやり取りを示したタイムチャートである。また、図6は、ユーザ認証処理を行う可搬型ディスク装置107内のワンチップマイコン500による処理の流れを示したフローチャートである。更に、図7は可搬型ディスク装置107よりホストコンピュータに出力される登録情報の内容を示す図である。
【0039】
図3において、まず、ユーザがソケット50に可搬型ディスク装置107を挿入すると、マイクロスイッチ52によって可搬型ディスク装置107の挿入が検知され、これがホストコンピュータ109に通知される。可搬型ディスク装置107の挿入を検知したホストコンピュータ109は、可搬型ディスク装置107に対して登録情報の要求を行う情報要求コマンドを発行する。
【0040】
情報要求コマンドを受けた可搬型ディスク装置107は、フラッシュメモリ106に格納されている情報のうち、図7に示す登録情報をホストコンピュータ109に通知する。ホストコンピュータ109は通知された登録情報をユーザに表示する。ユーザはディスク認証のためのユーザ名(オーナー名またはゲスト名)とパスワード(オーナーパスワードまたはゲストパスワード)を入力する。
【0041】
ホストコンピュータ109はユーザによって入力されたユーザ名とパスワードを含むユーザ認証コマンドを、可搬型ディスク装置107に対して発行する。ユーザ認証コマンドを受けた可搬型ディスク装置107は、入力されたユーザ名、パスワードが正しければ、ホストコンピュータ109に正しく認証が行われたことを通知し、可搬型ディスク装置107のデータ領域にアクセス可能な状態に遷移する。ここで、パスワードがハッシュ値で記憶されている場合は、入力されたパスワードをハッシュ値に変換処理してハッシュ値同志での比較を行う。また、省電力のために、正しく認証が行われるまでは、スピンドルモータ104を回転させず、正しく認証が行われてはじめてスピンドルモータ104を回転させることも可能である。
【0042】
次に、図4を用いて、非ロック状態の場合について説明する。ホストコンピュータ109からの情報要求コマンドに対して、可搬型ディスク装置107が登録情報を通知するところまでは図3の場合(ロック状態の場合)と同様である。その後、ロックモード71cが非ロック状態であった場合は、可搬型ディスク装置107はユーザ名とパスワードの入力を待たずに、データ領域にアクセス可能な状態に遷移する。
【0043】
次に、図5を用いて、ロック状態においてユーザ認証に失敗した場合について説明する。ホストコンピュータ109がユーザ認証コマンドを発行するところまでは図3の場合と同様である。入力されたユーザ名、パスワードが正しくなかった場合、可搬型ディスク装置107はホストコンピュータ109に認証が正しく行われなかったことを通知する。この結果、ホストコンピュータ109から可搬型ディスク装置107のデータ領域へのアクセスはできないままとなる。
【0044】
次に、図63から図5のタイムチャートに該当する、可搬型ディスク装置107による処理の流れについて、図9のフローチャートに沿って説明する。ここで、可搬型ディスク装置107の処理とは、すなわち可搬型ディスク装置107内のワンチップマイコン500によってなされる処理のことである。
【0045】
可搬型ディスク装置107は、ホストコンピュータ109からの情報要求コマンドを受信すると(ステップS101)、フラッシュメモリ106に格納されている登録情報のうち、図7に示す情報をホストコンピュータ109に通知する(ステップS102)。図7は、上述したステップS102において、ホストコンピュータ109に出力する登録情報を示している。図7に示すように、ホストコンピュータ109に通知する登録情報は、シリアル番号71a、ディスク名71b、ロックモード71c、オーナー名72a、オーナー属性72c、ゲスト名73a、ゲスト属性73cである。ゲスト情報は1からnまでのゲストの人数分が出力される。
【0046】
次に、フラッシュメモリ106に格納されたロックモード71cを自身で評価し(ステップS103)、ロック状態であればステップS104に、非ロック状態であればステップS106に分岐する。
【0047】
ロック状態であった場合、可搬型ディスク装置107はユーザ認証コマンドの受信を待ち、ユーザ認証コマンドを受信すると(ステップS104)、受信したユーザ名、パスワードと、フラッシュメモリ106に記憶されているユーザ名(オーナー名またはゲスト名)、パスワード(オーナーパスワードまたはゲストパスワード)との照合を行い(ステップS105)、ユーザ名、パスワードが共に合致するユーザが登録されていればステップS106に進み、合致しなかった場合はアクセス可能な状態に遷移することなく処理を終了する。或いは、ステップS104へ戻り、ユーザ認証コマンドを待つようにしてもよい。
【0048】
ステップS106では、図8に示すように、可搬型ディスク装置107がロック状態であるか否かを示すロックモード81、ロック状態であった場合に認証されたユーザがオーナーであったかゲストであったか、またゲストであった場合はどのゲストであったかを示す認証ユーザレベル82、および認証されたユーザの属性83(読み書き可能か、読み出し専用か等のアクセスレベル)をワンチップマイコン500内のRAM領域に一時記憶する。そして、ホストコンピュータ109が、可搬型ディスク装置107のデータ領域にアクセス可能な状態に遷移する。なお、上記のようにして認証されたユーザを以下、認証ユーザと呼ぶ。よって、認証ユーザレベル82には認証ユーザがゲストかオーナーか、ゲストであれば当該認証ユーザのユーザ名が保持され、属性83には認証ユーザのアクセスレベルが保持される。
【0049】
データ領域にアクセス可能な状態に遷移したとき、可搬型ディスク装置107は、自身が非ロック状態であった場合は、読み書き可能なハードディスクとして動作する。また、ロック状態でユーザ認証が行われた場合は、認証ユーザの属性83に基づき、属性が読み書き可能であった場合は読み書き可能なハードディスクとして、読み出しのみであった場合は、データの書き込みコマンドを受け付けないハードディスクとして動作する。このデータ書き込み時の動作を、図9のフローチャートに沿って説明する。
【0050】
ホストコンピュータ109からデータ書き込みコマンドが来ると(ステップS201)、RAMに記憶されたロックモード81を調べ(ステップS202)、非ロック状態であった場合はステップS203に分岐し、ロック状態であった場合はステップS205に分岐する。ステップS203では、受け取った書きコマンドに相応する書き込み処理を行い、上位装置すなわちホストコンピュータ109に対して正常に書き込みができた旨を通知し(ステップS204)、処理を終了する。ステップS205では、RAMに一時記憶されている、前記認証ユーザの属性83を調べ、読み書き可能であれば上述のステップS203の書き込み処理に分岐する。一方、読み出しのみであった場合はステップS207へ進み、書き込み処理は行わず、上位装置すなわちホストコンピュータ109に書き込みができなかった旨を通知し、処理を終了する。
【0051】
次に、フラッシュメモリ106に格納しているユーザ情報をホストコンピュータ109から照会する場合の処理について説明する。このユーザ照会処理のコマンドは、図6のフローチャートで説明した認証処理が終了し、アクセス可能になった状態で有効となるコマンドである。
【0052】
図10は、ユーザ照会時に可搬型ディスク装置107が受け取るユーザ照会コマンドの内容を表した図である。91は本コマンドがユーザ照会コマンドであることを表すコマンドコード、92は登録されているか否かを照会したいユーザ名、93は照会したいユーザ(照会したいユーザ名92)のパスワードである。
【0053】
図11のフローチャートを用い、可搬型ディスク装置107におけるユーザ照会動作について説明する。ユーザ照会コマンドを受け取ると(ステップS301)、現在認証している認証ユーザレベル82(図8)を調べる(ステップS302)。この結果、オーナーで無い場合はホストコンピュータ109にエラーを通知し(ステップS303、S307)、本処理を終了する。認証ユーザレベル82がオーナーであった場合は、このユーザ照会コマンドで受け取ったユーザ名92とパスワード94とが、フラッシュメモリ106に格納されているユーザ名(オーナー名またはゲスト名)とパスワード(オーナーパスワードまたはゲストパスワード)に一致するか否かを調べる(ステップS303、S304)。一致するユーザが登録されていれば、そのユーザの属性(アクセスレベル)と正常にコマンドが終了したことをホストコンピュータ109に通知し処理を終了する(ステップS305、S306)。一方、一致するユーザが登録されていなかった場合はエラーを返す(ステップS305、S307)。
【0054】
次に、フラッシュメモリ106に格納する情報の登録、変更に関わる処理について説明する。
【0055】
図12は、新規にオーナー情報72を登録する場合の、ホストコンピュータ109におけるユーザインタフェースの一例を示した図である。オーナー登録に際しては、オーナー登録ウインドウ200において、オーナー名201、オーナーパスワード202、オーナー属性203を入力し、OKボタン204をクリックすることにより、可搬型ディスク装置107に対してこれらの情報を伴ったオーナー登録コマンドが送られる。ここで属性203は、RW(Read/Write、読み書き可能)とRO(Read Only、読み出しのみ可能)の何れかを設定する。なお、キャンセルボタン205がクリックされると、オーナー登録コマンドが発行されることなく処理が終了する。
【0056】
このオーナー登録の処理の流れを、図13のフローチャートに沿って説明する。なお、この処理は、装着された可搬型ディスクにオーナーが未登録の場合に起動可能である。ユーザによって、オーナー名、オーナーパスワード、オーナー属性が入力され(ステップS401)、オーナー登録コマンドがホストコンピュータ109から可搬型ディスク装置107に送信されると(ステップS402)、オーナー登録コマンドを受信した可搬型ディスク装置107は、既にフラッシュメモリ106にオーナーが登録されているか否かを判別する(ステップS403)。オーナーが登録されていなければステップS402で受信したオーナー登録コマンドに従ってオーナー登録(ステップS404)を行う。一方、既にオーナー登録がされていれば、オーナー登録を行わずに処理を終了する。
【0057】
なお、上記処理ではオーナーの新規登録が行なわれるが、既に登録されているオーナーを変更したい場合は、当該登録されたオーナーによって自分自身の登録を削除してから、上記図12、図13で説明した処理を実行する。なお、現在登録されているオーナーに対してオーナー変更の権限を与えてもよい。この場合、例えば後述のゲスト登録処理におけるインターフェース(図17)に類似のインターフェースを提示し(213、214はそれぞれ新規オーナー名、新規パスワードとなる)、現在のオーナーの認証がとれた場合に限り、新規オーナー名と新規パスワードに変更する。
【0058】
図14は、ゲスト情報73を登録する場合の、ホストコンピュータ109におけるユーザインタフェースの一例を示した図である。ゲスト登録はオーナーにしかできないので、オーナー名とオーナーパスワードの入力も要求される。ゲスト登録ウインドウ210において、オーナー名211、オーナーパスワード212、登録したいゲスト名213、そのゲストパスワード214、ゲスト属性215を入力し、OKボタン216をクリックすることにより、可搬型ディスク装置107に対してこれらの情報を伴ったゲスト登録コマンドが送られる。
【0059】
このゲスト登録の処理の流れを、図15のフローチャートに沿って説明する。ゲスト登録ウインドウ210を用いて、ユーザによって、オーナー名、オーナーパスワード、登録したいゲスト名、ゲストパスワード、ゲスト属性が入力され(ステップS501)、ゲスト登録コマンドがホストコンピュータ109から可搬型ディスク装置107に送信されると(ステップS502)、ゲスト登録コマンドを受信した可搬型ディスク装置107は、フラッシュメモリ106にゲスト名が一致するゲストが既に登録されているか否かを判別する(ステップS503)。登録されていなければ、入力されたオーナー名とオーナーパスワードが、フラッシュメモリ106に格納されているオーナー名、オーナーパスワードと一致しているか否かの判別を行う(ステップS504)。一致していれば、ユーザ入力されたゲスト名、ゲストパスワード、ゲスト属性をフラッシュメモリ106に格納する(ステップS505)。ステップS503においてゲストが登録済みであった場合と、ステップS504においてオーナー名またはオーナーパスワードの何れかが不一致であった場合は、ゲスト登録を行わずに処理を終了する。
なお、オーナーは登録されているゲストを消去する権限も有する。登録ゲストの消去では、ゲスト消去用のウインドウ(図14と類似のウインドウ)を提示し、消去すべきゲスト名(ゲストのパスワードは不要)をゲスト消去コマンドとともに可搬型ディスクに送信する。可搬型ディスクは、オーナーの認証を行なった後に、ゲスト名で特定される認証情報をフラッシュメモリ106より消去する。但し、ホストコンピュータ109内のアクセス許可管理テーブル(後述)に消去されたゲストが登録されている可能性があるので、これをフラッシュメモリ106内の認証情報と同期させるべく、後述のアクセス許可管理テーブルを初期化する処理(図22)を行なう。
【0060】
図16は、ディスク情報71を登録する場合の、ホストコンピュータ109におけるユーザインタフェースの一例を示した図である。ディスク情報登録はオーナーにしかできないため、オーナー名、オーナーパスワードの入力が要求される。ディスク情報登録ウインドウ220において、オーナー名221、オーナーパスワード222、ディスク名223、ロックモード224を入力し、OKボタン225をクリックすることにより、可搬型ディスク装置107に対してこれらの情報を伴ったディスク情報登録コマンドが送られる。なお、本実施形態では、ディスク名とロックモードのうち変更したいものだけを選択できるチェックボックス223a,224aを設け、ディスク情報登録コマンドにより登録したいものだけを送信できるようにしている。
【0061】
このディスク情報登録の処理の流れを、図17のフローチャートに沿って説明する。ユーザによって、オーナー名、オーナーパスワード、ディスク名、ロックモードが入力され(ステップS601)、ディスク情報登録コマンドがホストコンピュータ109から可搬型ディスク装置107に送信されると(ステップS602)、ディスク情報登録コマンドを受信した可搬型ディスク装置107は、入力されたオーナー名とオーナーパスワードが、フラッシュメモリ106に格納されているオーナー名、オーナーパスワードと一致しているか否かの判別を行う(ステップS603)。この判別の結果、両者が一致していれば、ユーザ入力されたディスク名、ロックモードをフラッシュメモリ106に格納する(ステップS604)。一方、ステップS603においてオーナー名またはオーナーパスワードの何れかが不一致であった場合は、ディスク情報の登録を行わずに処理を終了する。このディスク情報登録の処理によって、ロックモードの変更が可能となる。
【0062】
以上、可搬型ディスク装置側の動作を主体として処理を説明した。次いで、ホストコンピュータ109の動作を、図面を用いて説明する。
【0063】
図18は、ホストコンピュータ109の構成を示すブロック図である。図18において、点線で囲った部分がホストコンピュータ109を示す。前述の如く、3700、50、52、107は、それぞれ上述したモニタ、ソケット、マイクロスイッチ、および可搬型ディスク装置である。なお、本実施形態では、ソケット50とホストコンピュータ109の間の接続バス53は、IDEインターフェースとして説明する。
【0064】
ホストコンピュータ109は、マザーボード3000、電源ユニット3300、無停電電源装置(UPS)3400、CD−RWドライブ装置3600、および拡張ボードとして構成されたIDEコントローラボード3100を備える。
【0065】
まず、初めに、マザーボード3000の構成について説明する。3001は、CPUであり、ホストコンピュータ109で実行するアプリケーションソフトウェアの処理全般を司る。3002は、所謂ノースブリッジであり、CPU3001のローカルバス3028に接続されており、CPU3001の動作に応じて、マザーボード3000内部で必要な、各種のタイミング信号を発生する。主な機能としては、リフレッシュ、リード/ライト等のメインメモリ制御、内部バスを介しての入出力デバイス制御、グラフィックス専用バスを介してのグラフィックスコントローラ制御、後述のメモリバス3006、グラフィックス専用バス3007、内部バス3008と、CPUローカルバス3028間の動作タイミングの調停等を司る。
【0066】
3003はメインメモリであり、メモリバス3006を介して、前述のノースブリッジ3002に接続されている。リフレッシュ動作、リード/ライト動作等に必要なタイミング信号は、ノースブリッジ3002より供給される。3004は、グラフィックスコントローラであり、グラフィックスコントローラ専用バス(AGPバス)3007を介してノースブリッジ3002に接続されている。
【0067】
グラフィックスコントローラ3004には、CPU3001が実行するプログラムにより生成される、ライン描画、塗りつぶし、BitBlt等の描画コマンド、あるいは、CPU3001が実行するプログラムにより生成されるラスターイメージの画像データ等が、ノースブリッジ3002、およびAGPバス3007を介して供給される。また、グラフィックスコントローラ3004は、内部に、モニタ3700に送出する映像信号に必要な同期信号を発生する同期信号発生器、デジタル信号をモニタに適したアナログ信号に変換する為のA/D変換器等を含んでいる。更に、後述の表示用ラスターイメージを保持するビデオメモリの動作に必要なタイミング信号等も発生する。
【0068】
3005は、グラフィックコントローラに接続されているビデオメモリであり、前述の如く、グラフィックスコントローラ3004により生成されるラスターイメージの画像データを保持している。ビデオメモリ3005の動作に必要な全ての制御信号は、グラフィックスコントローラ3004より供給される。
【0069】
3011はモニタ接続用コネクタであり、グラフィックスコントローラ3004の映像出力ピンに接続される。グラフィックスコントローラ3004で生成される映像出力信号は、このコネクタ3011と接続ケーブルを介してモニタ3700へ送出される。
【0070】
3009は、所謂サウスブリッジであり、内部バス3008を介して、前述のノースブリッジ3002に接続されている。サウスブリッジ3009は、内部に、ハードディスクドライブ、CD−ROMドライブ等を接続する為のIDEコントローラ、Flash ROM、キーボード、およびマウス等の低速デバイス接続用のLPC(Low Pin Count)バスコントローラ、AC97コントローラ、汎用バス規格であるPCIバスコントローラ、汎用ディスクリート信号入出力コントローラ(PIO)等の標準インターフェースを含んでいる。IDEコントローラはIDEバス3010を介し、LPCバスコントローラはLPCバス3016を介し、AC97コントローラはAC97バス3049を介し、PCIバスコントローラはPCIバス3026を介し、それぞれのバスに接続してあるデバイスと接続されている。更に、外部のボタン型リチウム電池3025より電源供給される、小容量のCMOSメモリも内臓しており、システム動作に必要な、各種パラメータを記録しておくことが出来る。
【0071】
PIO入力端子3027には、前述のソケット50に取り付けてあるマイクロスイッチ52の出力信号線54が接続されており、PIO出力端子3047には、後述のスイッチ3046の制御端子が接続されている。
【0072】
3012、および3048は、IDEバス3010に接続されたコネクタであり、それぞれ接続ケーブルを介して、CD−ROMドライブ装置3600、およびハードディスクドライブ装置3610に接続されている。ハードディスクドライブ3610は、ホストコンピュータ109を制御するオペレーティングシステム(例えば、マイクロソフト社のWindows(登録商標)(商標)オペレーティングシステム)、前述のユーザ認証用アプリケーションソフトウェアを含む各種のアプリケーションソフトウェア等を格納する。
【0073】
3013は、AC97コーデックであり、音声ライン入力コネクタ3017、ステレオ音声ライン出力コネクタ3018および3019を介して入出力されるアナログオーディオ信号を、それぞれA/D変換およびD/A変換し、AC97規格に準拠したプロトコルで、AC97バス3049を介して、前述のサウスブリッジ3009内のAC97コントローラと通信を行なう。
【0074】
3014はFLASH ROMであり、LPCバス3016を介してサウスブリッジ3009に接続されている。電源投入直後に、CPU3001が最初に実行する初期化プログラム、マザーボードに搭載されている周辺デバイス等を制御する基本入出力制御プログラム、ハードディスク3610より、オペレーティングシステム(OS)を起動実行する為のイニシャルブートローダ等を含む。
【0075】
LPCバス3016には、Super IOチップ(IC)3015も接続されている。Super IOチップ3015は、キーボード、マウス、RS232Cシリアル、セントロニクスパラレル等の、低速デバイス用コントローラを集積したICである。Super IOチップ3015には、キーボードコネクタ3020、マウスコネクタ3021、シリアルコネクタ3022、パラレルコネクタ3023を介して、対応する周辺デバイスが接続される。なお、図18には示していないが、図1に示したように、キーボードコネクタ3020には、キーボード3900が、マウスコネクタ3021には、マウス3950が接続されている。
【0076】
3034は、USB2.0規格に準拠したホストコントローラである。ホストコントローラ3034はPCIバス3026に接続され、CPU3001によって実行される制御ソフトウェアにより、コネクタ3039、3040、3041、3042、3043を介して接続される様々なUSB規格準拠の周辺装置を制御する。USB規格準拠の周辺装置としては、デジタルカメラ、プリンタ、スキャナ等が挙げられる。
【0077】
3044および3029は、イーサネット(登録商標)コントローラである。イーサネット(登録商標)コントローラ3029は、コネクタ3038を介し、PAN(Personal Area Network)3200に接続されている。イーサネット(登録商標)コントローラ3044は、スイッチ3046、コネクタ3045を介し、WAN(Wide Area Network)3800に接続されている。スイッチ3046は、前述のサウスブリッジ3009内のPIOの出力信号端子3047に接続されており、CPU3001によって実行されるプログラムの働きにより、任意にON/OFFが制御できる。3030、3031、3032、3033はPCIバスに接続された、拡張ボード搭載用のコネクタである。
【0078】
3035は、電源回路であり、電源コネクタ3037を介して供給されるDC電源より、各部の動作に必要なDC電圧を生成し、各部へ供給する。3300は、電源ユニットであり、無停電電源装置3400よリ供給されるAC電源より、DC電圧を生成し、電源回路3035へ供給する。3400は、無停電電源装置であり、内臓バッテリにより、外部AC電源の出力低下時にも、間断なく、電源ユニット3300に電力供給ケーブル3500を介して、AC電源を供給するように動作する。また、外部AC電源の出力低下検知時には、コネクタ3036、信号線3024を介して、CPU3001により実行される電源管理制御プログラムへ、電源異常の発生した事が通知される。信号線3024は、前述のSuper IOチップ3015内部のシリアルコントローラに接続されている。
【0079】
次いで、本実施形態のホストコンピュータ109によって実行される制御プログラムの動作を、図を用いて説明する。
【0080】
図19は、本実施形態によるディスクアクセスの動作を模式的に説明した図である。図19において、イチロー、ジローは、前述の可搬型ディスク装置107に登録されているユーザであり、サブローは未登録ユーザである。イチロー、ジロー、サブローの何れも、ホストコンピュータ109を使用するユーザである。各ユーザは、キーボード3900、およびマウス3950を介して、ホストコンピュータ109にアクセスしても良いし、前述のWAN3800、あるいはPAN3200に接続してある、他のクライアントコンピュータからネットワークを介してアクセスしても良い。
【0081】
さて、図19において、300はホストコンピュータ109内部におけるソフトウェア階層を模式的に示している。最上位の階層はアプリケーションプログラム301であり、各ユーザが可搬型ディスク装置107に対して何らかのデータの書き込みまたは読み出しを要求する。アプリケーションプログラム301が可搬型ディスク装置107に対して書き込み、または読み出し処理を行なう場合、通常は、オペレーティングシステムのファイルシステム(303)に対して、書き込み、または読み出し処理のサービスを要求する。
【0082】
本実施形態によるアクセス制御プログラムは、アプリケーション301とファイルシステムドライバ303の中間に位置するように構成されている。図19において、アクセス許可管理テーブル302として示された部分がこれに該当する。この部分は、実際には、管理テーブルだけがあるのではなく、管理テーブルのメンテナンス機能、および管理テーブルを使用した各ユーザ毎のアクセス許可管理機能を有する。なお、管理テーブルは、ホストコンピュータ109上のメインメモリ上に存在する。
【0083】
動作の詳細は後述するが、例えば、図示した管理テーブルにおいては、イチローには可搬型ディスク装置107に対して書き込みおよび読み出し許可が与えられ、ジローには可搬型ディスク装置107に対して書き込み許可および読み出し不許可が与えられていることを示す情報が書き込まれている。この状態で、アプリケーション301により、各ユーザが可搬型ディスク装置107に対して書き込み、あるいは読み出し処理を要求すると、本実施形態によるプログラムは、アクセス許可管理テーブルを基に、次のような処理を行なう。
【0084】
▲1▼イチローからの書き込みあるいは読み出し処理要求:
管理テーブル302により、可搬型ディスク装置107に対するアクセスは、書き込み、読み出しともに許可されていることが判明するので、アプリケーション301からの書き込みあるいは読み出し処理要求を、ファイルシステムに対しそのまま通過させる(但し、認証ユーザの属性83(図8)の内容とのANDがとられる。例えば、認証ユーザの属性が読み書き可能であれば上記のように書込み及び読み出しの処理要求が通過されるが、認証ユーザの属性が読み出しであれば、書込み要求はブロックされる。詳細は図26により後述する)。
【0085】
▲2▼ジローからの書き込みあるいは読み出し処理要求:
管理テーブル302により、可搬型ディスク装置107に対するアクセスは、書き込みは不許可であり、読み出しは許可されていることが判明するので、アプリケーション301からの書き込み処理要求をブロックし、ファイルシステムに対し通知せず、エラーステータスを当該アプリケーション301に返す。一方、アプリケーション301からの読み出し処理要求については、ファイルシステムに対し、そのまま通過させる。なお、書込み処理要求をブロックした際には、当該要求者(ジローのコンピュータ)に対してその旨の通知を行なうようにしてもよい。
【0086】
▲3▼サブローからの書き込みあるいは読み出し処理要求:
管理テーブル302にはサブローは登録されておらず、可搬型ディスク装置107に対するアクセス権限は不明である。よって、可搬型ディスク装置107に対して、前述のユーザ照会コマンドを発行する。その結果、未登録ユーザであることが判明したら、アプリケーション301からの書き込み処理要求および読み出し処理要求をともにブロックし、ファイルシステムに対して通知せず、エラーステータスをアプリケーション301に返す。なお、読み出し処理要求及び書込み処理要求をブロックした際には、当該要求者(ジローのコンピュータ)に対してその旨の通知を行なうようにしてもよい。
【0087】
以下、フローチャートを用いて、上記の動作を詳細に説明する。
【0088】
図20は、ディスク挿入時のホストコンピュータ109内の本実施形態にかかわる処理をフローチャートで示したものである。
【0089】
前述したように、可搬型ディスク装置107がソケット50に装着されると、マイクロスイッチ52はオンとなり、信号線54、サウスブリッジ3009のPIO入力線3027を経由して、CPU3001に対して割り込み処理要求が発生される。図20は、この割り込み処理要求に対応した処理ルーチンのフローを示している。
【0090】
可搬型ディスク装置107がソケット50に装着されたことを検知すると、ステップS701において、可搬型ディスク装置107に対して前述の情報要求コマンドを発行する。次いで、ステップS702において、可搬型ディスク装置107より、情報要求コマンドに対する応答として図7に示した如き登録情報を取得する。
【0091】
ステップS703では、ステップS702で取得した登録情報に含まれるロックモード71cの値を調べ、当該可搬型ディスク装置が、ロック状態であるか否かを判断する。ロック状態であった場合は、ステップS704に進み、ユーザに対し、ユーザ名とパスワードの入力を促す。図31は、ユーザ名とパスワードの入力を促す場合の、ユーザインターフェースの一例を示した図である。ユーザが、ユーザ名とパスワードをそれぞれ該当するフィールド321、322に入力した後、OKボタン323をクリックすることにより、ステップS704の処理が完了し、ステップS706へと処理が進む。
【0092】
ステップS706では、ステップS704でユーザが入力したユーザ名を、変数unameに、パスワードを変数passwdに保存し、後述のアクセス可否判断処理を行なう。その後、処理はステップS707へと進む。なお、ステップS706において実行されるアクセス可否判断処理では、変数unameに保存されたユーザ名、変数passwdに保存されたパスワードが、当該可搬型ディスク装置107に登録されたユーザであるか否かを調べる。そして、その結果として、アクセスの可否を変数goAheadに、許可されているアクセスモードを変数modeに保存するように処理が行なわれる。なお、変数goAheadの値が1の場合はアクセス許可を示し、値が0の場合はアクセス不許可を示す。また、変数modeには、当該ユーザに許可されたアクセスモード、すなわち読み出し可能および書き込み可能を意味するフラグが各々図32に示したビット位置にセット、またはリセットされる。本例では、ビット内容が1であればアクセス権限有りを、ビット内容が0であればアクセス権限無しを意味する。
【0093】
一方、ステップS703にて、ステップS702で取得した登録情報に含まれる、図3に示したディスク情報内のロックモード71cの値を調べた結果、当該可搬型ディスク装置107が非ロック状態であった場合は、変数goAheadに値1を保存し、ステップS707へと進む。
【0094】
ステップS707では、変数goAheadの値を調べ、其の値が1、すなわち当該可搬型ディスク装置107に当該ユーザが登録されている場合、あるいは当該可搬型ディスク装置107が非ロック状態である場合にはステップS708へ進む。一方、其の値が0、すなわち当該可搬型ディスク装置107がロック状態であり、かつ、当該可搬型ディスク装置107に当該ユーザが登録されていない場合には、ステップS709へと進む。
【0095】
ステップS708では、当該可搬型ディスク装置107をシステムが使用可能状態とする為に、当該可搬型ディスク装置107より、パーティション情報を読み取り、ホストコンピュータ109で当該可搬型ディスク装置107を正しく取り扱う為の内部変数の初期化等を行なう。具体的な処理内容は、ホストコンピュータ109に搭載しているオペレーティングシステム、可搬型ディスク装置107を制御するデバイスドライバの構造に依存するので、詳細は、ここでは詳しくは説明しない。ステップS710では、当該可搬型ディスク装置107をファイルシステムに登録して処理を終了する。
【0096】
ステップS709では、当該可搬型ディスク装置107がロック状態であり、かつ、当該可搬型ディスク装置107に当該ユーザが登録されていない旨を示すダイアログ画面等をモニタ3700に表示して本処理を終了する。
【0097】
図21は、上述したステップS706におけるアクセス可否判断処理の動作を説明する為のフローチャートである。本処理ルーチンに制御が移る前に、ステップS704によって変数unameにはユーザ名が、変数passwdにはパスワードが予め書き込まれている。また、システム初期化時に、変数authには、値0が書き込まれている。
【0098】
本アクセス可否判断処理ルーチンに制御が移ると、ステップS761にて、当該可搬型ディスク装置107が、既に、ユーザ認証済みであるか否かの判断を行なう。これは、変数authの値を調べることにより行なわれる。変数authの値が1であれば、当該可搬型ディスク装置107は認証済みであり、処理はステップS762に進む。一方、ステップS761において変数authの値が0であれば、当該可搬型ディスク装置107は未認証であり、従って処理はステップS768に進む。
【0099】
ステップS768では、前述のユーザ認証コマンドを当該可搬型ディスク装置107に対して発行する。この認証の結果、認証OKの場合は、変数successに値1を、認証NGの場合は、変数successに値0を書き込み、ステップS769へと進む。ステップS769では、変数successの値を調べ、其の値が1であればステップS770へ進み、其の値が0であればステップS775へ進む。すなわち、ステップS768で行なわれた当該可搬型ディスク装置107に対するユーザ認証の結果、認証に成功した場合はステップS770へ、失敗した場合はステップS775へと進む。
【0100】
ステップS770では、変数authに値1を書き込み、当該可搬型ディスク装置107が認証済みであることをマークし、ステップS771へと進む。ステップS771では、詳細は後述するが、アクセス許可管理テーブルの初期化を行い、ステップS772へと進む。
【0101】
ステップS772では、前述の情報要求コマンドを、当該可搬型ディスク装置107に対して発行し、ステップS773へと進む。ステップS773では、当該可搬型ディスク装置107より、ステップS772で発行した情報要求コマンドに対する応答として、図7に示した登録情報を取得し、ステップS774へと進む。ステップS774では、変数uname、およびステップS773で取得した登録情報から、必要なデータを上述したアクセス許可管理テーブル302にコピーし、ステップS764へと進む。
【0102】
ステップS775では、ステップS768におけるユーザ認証に失敗、あるいは、後述のステップS766におけるユーザ照会に失敗し、当該可搬型ディスク装置107に対するアクセス権を獲得できなかったことを、変数goAheadに値0を書き込むことにより示し処理を終了する。
【0103】
一方、ステップS761において、当該可搬型ディスク装置107が既にユーザ認証済みであると判断され、ステップS762に進んだ場合には、以下のように処理される。まず、ステップS762において、詳細は後述するが、変数unameに保持されているユーザ名がアクセス許可管理テーブル302に存在するか否かを調べる。この処理の結果、もし変数unameに保持されているユーザ名がアクセス許可管理テーブル302に存在しない場合は変数indexに値0を書き込み、存在する場合はアクセス許可管理テーブル302内の相対位置を示す0以外の値を変数indexに書き込むよう処理を行い、ステップS763へと進む。ステップS763では、変数indexの値を調べ、其の値が0であればステップS766へ進み、其の値が0以外であればステップS764へ進む。すなわち、変数unameに保持されているユーザ名が、既にアクセス許可管理テーブル302に存在する場合は、ステップS764へ進み、存在しない場合は、ステップS766へ進む。
【0104】
ステップS766では、前述のユーザ照会コマンドを当該可搬型ディスク装置107に対して発行する。そして、その照会結果が照会OKの場合は変数registeredに値1を、照会NGの場合は変数registeredに値0を書き込み、ステップS767へと進む。ステップS767では、変数registeredの値を調べ、其の値が1の場合は、前述のステップS772へ、其の値が0の場合は、前述のステップS775へと進む。すなわち、ステップS766におけるユーザ照会コマンドの結果、変数unameに保存されているユーザ名のユーザが、当該可搬型ディスク装置107に登録されており、アクセスが許可されている場合にはステップS772へと進み、未登録でアクセスが不許可の場合には、ステップS775へと進む。
【0105】
ステップS764では、アクセス許可管理テーブル302から、当該ユーザのアクセスモードを、変数modeにコピーし、ステップS765へ進む。ステップS765では、当該可搬型ディスク装置107に対するアクセス権を獲得できたことを、変数goAheadに値1を書き込むことにより示し、本アクセス可否判断処理を終了する。
【0106】
図22は、アクセス管理許可テーブル(ステップS771)の初期化処理の動作を示すフローチャートである。
【0107】
ステップS801においては、ステップS802以降の処理の為に、変数indexの値を1に初期化する。ステップS802では、変数indexの値と、変数indexの取り得る値の最大値を表す定数MaxUserの値との比較を行い、変数indexの値が、定数MaxUserの値以下であれば、ステップS803に進む。変数indexの値が定数MaxUserの値より大きければ、ステップS809進む。ここでは、MaxUserの値は規定しないが、10でも20でも、ホストコンピュータ109に想定される最大ユーザ数以上の適当な整数値であれば何でも構わない。
【0108】
ステップS803においては、変数indexにより相対位置を特定される、アクセス許可管理テーブル302のインデックスフィールド(table.index[index])に、変数indexの値をコピーする。ステップS804においては、変数indexにより相対位置を特定される、アクセス許可管理テーブル302のユーザ名フィールド(table.uname[index])に空白文字列(“”)を書き込む。ステップS805においては、変数indexにより相対位置を特定される、アクセス許可管理テーブル302の認証フィールド(table.auth[index])に、不許可を意味する定数NOを書き込む。NOの値は、前述の説明によれば値0である。ステップS806においては、変数indexにより相対位置を特定される、アクセス許可管理テーブル302のアクセスモードフィールド(table.mode[index])に値0を書き込む。値0は、前述の説明では、書き込みと読み出しともに不許可を意味する。ステップS807においては、変数indexにより相対位置を特定される、アクセス許可管理テーブルのリンクフィールド(table.link[index])に変数indexの値をコピーする。
【0109】
以上、ステップS803からステップS807までの処理が完了したら、ステップS808へと進み、変数indexの値を1だけ増分し、ステップS801に戻って上述の処理を繰り返す。
【0110】
結果、変数indexの値が、1から定数MaxUserまでの範囲で相対位置を特定されるアクセス許可管理テーブル302の各フィールドに所定の値が書き込まれることになる。最後に、変数indexの値が、定数MaxUserの値より大きくなったとろこで、ステップS809へ進み、変数indexに値0を書き込み、アクセス許可管理テーブルの初期化処理は完了する。図27に初期化処理完了後のアクセス許可管理テーブルの状態を示す。
【0111】
図23は、アクセス許可管理テーブルへ、新規ユーザの追加登録する際の処理(ステップS774)を説明する為の、フローチャートである。
【0112】
ステップS851においては、ステップS852以降の処理の為に、変数indexの値を1に初期化する。ステップS852では、変数indexの値と、変数indexの取り得る値の最大値を表す定数MaxUserの値との比較を行い、変数indexの値が、定数MaxUserの値以下であれば、ステップS853に進み、変数indexの値が、定数MaxUserの値より大きければ、ステップS863へ進む。ここで、定数MaxUserは上記図22のフローチャートで説明したものと同じである。
【0113】
ステップS853では、変数indexにより相対位置を特定される、アクセス許可管理テーブル302のインデックスフィールド(table.index[index])の値と変数indexの値を比較し、その値が等しくなければ処理はステップS854へ進み、値が等しければ処理はステップS855へ進む。ステップS854では、変数indexの値を1だけ増分し、ステップS852に戻り上記処理を繰り返す。
【0114】
ステップS855では、変数indexにより相対位置を特定される、アクセス許可管理テーブル302のユーザ名フィールド(table.uname[index])に変数unameに保持されているユーザ名をコピーする。ステップS856では、変数indexにより相対位置を特定されるアクセス許可管理テーブル302の認証フィールド(table.auth[index])に、許可を意味する定数YESを書き込む。YESの値は、前述の説明では、値1である。
【0115】
また、ステップS857〜ステップS861では、アクセスモードフィールド(table.mode[index])の設定が行なわれる。まず、ステップS857において、変数indexにより相対位置を特定されるアクセス許可管理テーブルのアクセスモードフィールド(table.mode[index])に、書き込み不許可及び読み出し不許可を示す値0を書き込む。
【0116】
ステップS858では、前述の情報要求コマンドにより得られる、当該認証ユーザの登録情報内の属性情報、すなわち、オーナの場合は図2の(c)に示したオーナ属性、ゲストの場合は図2の(d)に示したゲスト属性に含まれる、当該認証ユーザに許可された書き込み許可属性に則り、対応するアクセスモードフィールドを設定する。すなわち、書込み許可属性が書込み許可を示す場合は、ステップS858からステップS859へ進み、変数indexにより相対位置が特定されるアクセス許可管理テーブルのアクセスモードフィールドの書き込み許可フラグを1にセットする。一方、不許可の場合は、何もせずに、ステップS860へ進む。
【0117】
ステップS860では、前述の情報要求コマンドにより得られる、当該認証ユーザの登録情報内の属性情報、すなわち、オーナの場合は、図2の(c)に示したオーナ属性、ゲストの場合は、図2の(d)に示したゲスト属性に含まれる、当該認証ユーザに許可された読み出し許可属性に則ってアクセスモードフィールドが設定される。すなわち、読み出し許可属性が読み出し許可を示す場合は、ステップS861へ進み、変数indexにより相対位置を特定されるアクセス許可管理テーブルのアクセスモードフィールドの読み出し許可フラグを、1にセットする。不許可の場合は、何もせずに、ステップS862へ進む。
【0118】
更に、ステップS862では、当該フィールドが有効であることを示す為に、変数indexにより相対位置を特定される、アクセス許可管理テーブルのリンクフィールド(table.link[index])に、変数indexの値に1を加えた値をコピーし、処理を終了する。
【0119】
一方、ステップS852で、変数indexの値と、変数indexの取り得る値の最大値を表す定数MaxUserの値との比較を行い、変数indexの値が、定数MaxUserの値より大きかった場合は、ステップS863へ進む。これは、アクセス許可管理テーブルがオーバーフローしたことを示す。オーバーフロー時の、ホストコンピュータ109のアプリケーションの処理は説明しないが、例えば、ユーザにその旨を通知するダイアログを表示し、ユーザからのリクエストをキャンセルするように処理を行なえば良い。
【0120】
図28は、当該可搬型ディスク装置107に、書き込み許可、読み出し許可として登録されているユーザ、イチローを登録した後の、前記アクセス許可管理テーブルの状態を示したものである。
【0121】
図29は、当該可搬型ディスク装置107に、書き込み不許可、読み出し許可として登録されているユーザ、ジローを登録した後の、前記アクセス許可管理テーブルの状態を示したものである。
【0122】
更に、図30は、当該可搬型ディスク装置107に、登録されていないユーザ、サブローによってディスクアクセスしようとした後のアクセス許可管理テーブルの状態を示したものである。この場合の結果は、図29と同様である。
【0123】
図24は、アクセス管理許可テーブル302に当該ユーザが登録済みであるか否かを確認するユーザ確認処理ルーチンの動作を説明する為のフローチャートである。
【0124】
ステップS881においては、ステップS882以降の処理の為に、変数indexの値を1に初期化する。ステップS882では、変数indexの値と、変数indexの取り得る値の最大値を表す定数MaxUserの値との比較を行い、変数indexの値が、定数MaxUserの値以下であれば、ステップS883に進み、変数indexの値が、定数MaxUserの値より大きければ、ステップS885へ進む。ここで、定数MaxUserは上記図22、図23のフローチャートで説明したものと同じである。
【0125】
ステップS883では、変数indexにより相対位置を特定される、アクセス許可管理テーブルのユーザ名フィールド(table.uname[index])と、変数unameに保持されるユーザ名を比較し、一致した場合は、そのままユーザ確認処理を終了する。不一致の場合は、ステップS884に進み、変数indexの値を1だけ増分し、ステップS882へ戻る。ステップS885では、変数indexに、値0を書き込み、処理を終了する。
【0126】
以上の処理により、変数unameに保持されたユーザ名と一致するユーザがアクセス許可管理テーブルに登録されている場合は、アクセス許可管理テーブルの相対位置を示す値が変数indexに保持される。一方、変数unameに保持されたユーザ名と一致するユーザがアクセス許可管理テーブルに登録されていなかった場合は値0が変数indexに保持されるようになる。
【0127】
図25は、当該可搬型ディスク装置107が、ホストコンピュータ109から取り外された事を検知した際の処理を示したフローチャートである。
【0128】
前述したように、可搬型ディスク装置107が、ソケット50より取り外されると、マイクロスイッチ52はオフとなり、信号線54、サウスブリッジ3009のPIO入力線3027を経由して、CPU3001に対して割り込み処理要求が発生する。図25は、この割り込み処理要求に対応した処理ルーチンのフローを示している。
【0129】
上記割り込み処理要求を受け付けると、ステップS901で、当該可搬型ディスク装置107のファイルシステムへの登録を削除する。次いで、ステップS902では、可搬型ディスク装置107が、未認証状態であることを示す値0を、変数authに書き込む。次いで、ステップS903で、アクセス許可管理テーブルを初期化し(図22)、可搬型ディスク装置107取り外し処理を終了する。
【0130】
次に、ディスクアクセス要求時の処理について図26のフローチャートを参照して説明する。本処理は例えば、ネットワーク上の他のコンピュータから可搬型ディスク装置107にアクセスがあった場合に起動されることになる。まず、ステップS921において、図21のフローチャートで説明したアクセス可否の判断処理を行なう。ステップS922ではこのアクセス可否の判断処理の結果をチェックし、アクセス可能であると判断されていれば(goAhead=1)ステップS923へ進む。
【0131】
ステップS923では、アクセス可否判断処理の結果、indexが1となっているか否かを判定する。indexが1である場合は、当該アクセス要求者が、ディスク挿入検知時(図20)にアクセスした者であることを示す。従って、可搬型ディスク装置のRAMに一時的に記憶されているディスク認証ユーザ(図8)は当該アクセス要求者と一致するので、その属性(アクセス可能動作モード)も一致するので、そのままアクセス処理が行なわれる。
【0132】
ステップS923でindex≠1であった場合は、ステップS924へ進む。この場合、当該アクセス要求者はディスク認証ユーザとは異なるため、その属性(アクセス可能動作モード)も異なる可能性がある。従って、可搬型ディスク装置のRAMに一時的に記憶されているディスク認証ユーザの属性(図8の83)を変数authmodeにコピーし(ステップS924)、当該アクセス要求者の属性が保持されている変数modeとのアンドをとり、これをアクセス可能動作モードとする(ステップS925)。例えば、認証ユーザが読み出しのみを許可されている場合、当該アクセス要求者が書込みと読み出しを許可されたユーザであったとしても、当該アクセスにおいては読み出しのみが許可されることになる(仮にステップS924、S925の処理がなくても、図9で説明した可搬型ディスクのデータ書き込み処理によって同様のアクセス結果を生じることになる)。
【0133】
以上説明したように上記実施形態によれば、オーナー認証されたユーザであれば、ユーザ照会コマンドによって登録ユーザの照会が可能となり、複数ユーザ対応のデータ保全機能を備えながら、上位装置によって、同時に複数ユーザからのアクセスを制御することが可能となる。
【0134】
さらには、オーナー認証されたユーザであれば、ディスク情報登録コマンドにより、ディスクを「ロック状態」と「非ロック状態」とに簡単に切り替えることが可能であり、ディスクに設定されたユーザ認証情情報(オーナー情報とゲスト情報)を消去すること無しに、認証無しでディスクにアクセスすることが可能となる。よって、本アクセス制御方法に対応していない本体装置(従来のパソコン等)でも、本可搬型記憶装置の使用が可能となり、利便性が向上する。
【0135】
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0136】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0137】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0138】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0139】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0140】
【発明の効果】
以上、説明したように、本発明によれば、携帯性に優れた可搬型ディスク装置を持ち運んで使用したり、複数のユーザで共用するような場合に、それぞれのユーザに最適な、安全で確実なデータ保護機能を、容易に実現することが可能となる。
【図面の簡単な説明】
【図1】可搬型ディスク装置の構成を示すブロック図である。
【図2】フラッシュメモリに格納する登録情報のフォーマットと、ディスク情報、オーナー情報、ゲスト情報の詳細を示す図である。
【図3】ロック状態に設定されている場合の、可搬型ディスク装置とホストコンピュータとの通信動作を示すタイムチャートである。
【図4】非ロック状態に設定されている場合の、可搬型ディスク装置とホストコンピュータとの通信動作を示すタイムチャートである。
【図5】ユーザ認証に失敗した場合の、可搬型ディスク装置とホストコンピュータとの通信動作を示すタイムチャートである。
【図6】ユーザ認証処理の手順を示すフローチャートである。
【図7】ホストコンピュータに出力する登録情報の内容を示す図である。
【図8】ユーザ認証後、RAMに一時的に記憶される情報を示す図である。
【図9】データ書き込み処理における可搬型ディスク装置のフローチャートである。
【図10】ユーザ照会コマンドの内容を示す図である。
【図11】可搬型ディスク装置におけるユーザ照会処理を示すフローチャートである。
【図12】オーナー登録処理の画面表示の例を示す図である。
【図13】オーナー登録処理を説明するフローチャートである。
【図14】ゲスト登録処理の画面表示の例を示す図である。
【図15】ゲスト登録処理を説明するフローチャートである。
【図16】ディスク情報登録処理の画面表示の例を示す図である。
【図17】ディスク情報登録処理を説明するフローチャートである。
【図18】ホストコンピュータ109の構成を示すブロック図である。
【図19】本実施形態による制御プログラムの動作を模式的に説明した図である。
【図20】可搬型ディスク装置挿入時の処理を説明するためのフローチャートである。
【図21】アクセス可否判断処理ルーチンの動作を説明するためのフローチャートである。
【図22】アクセス許可管理テーブルの、初期化処理を説明するためのフローチャートである。
【図23】アクセス許可管理テーブルへ、新規ユーザを登録する際の動作を説明するためのフローチャートである。
【図24】ユーザ名が、アクセス管理許可テーブルに登録されているか否かを調べる処理ルーチンの動作を説明するためのフローチャートである。
【図25】可搬型ディスク取り外しの動作を説明するためのフローチャートである。
【図26】可搬型ディスク装置へのアクセス要求があった場合の、ホストコンピュータにおける処理を説明するためのフローチャートである。
【図27】初期化処理完了後のアクセス許可管理テーブルの状態を示した図である。
【図28】ユーザ認証後のアクセス許可管理テーブルの状態を示した図である。
【図29】登録ユーザが、ユーザ照会した後のアクセス許可管理テーブルの状態を示した図である。
【図30】未登録ユーザが、ユーザ照会した後のアクセス許可管理テーブルの状態を示した図である。
【図31】ユーザ名とパスワード入力を促すダイアログの説明図である。
【図32】アクセスモードを保持する変数modeのビット割り当ての説明図である。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an information processing device such as a disk device, and more particularly, to an information processing device and a method including means for preventing data leakage to a user other than an authorized user.
[0002]
[Prior art]
2. Description of the Related Art In recent years, disk devices have been rapidly increasing in capacity, miniaturization, high speed, high function, and low price, and are widely used as auxiliary storage devices such as personal computers (PCs). Also, a product called a hard disk recorder capable of recording and reproducing television programs on a disk device has been sold, and the disk device has a wide variety of uses. In March 2002, a 2.5-inch disk device called iVDR (Information Versatile Disk for Removable usage) was housed in a cartridge, and it is a new portable type that can be used in a wide range of applications from AV devices to PCs. Disk drives have been announced by eight industry associations.
[0003]
Also, the interface of the disk device is a conventional SCSI (Small Computer System Interface), PCMCIA (Personal Computer Memory Card International Association); With the spread of high-speed serial interfaces such as ATA, portable disk devices that allow anyone to easily mount a disk device on a host and use it are expected to rapidly spread in the future.
[0004]
By the way, the storage capacity of a disk device is rapidly increasing year by year. For example, the storage capacity of a 2.5-inch disk device used in the above-described iVDR has reached 100 GB. Such large-capacity portable disk devices are owned by individuals and can be used for personal data management.
[0005]
In this way, a disk device owned by an individual can easily read and write data by attaching it to his / her own host computer, but in a large amount of data, personal data and the like that are difficult to be known to others are stored. Sometimes. On the other hand, a portable disk device such as an iVDR increases the risk of being left behind or being stolen due to its simplicity, and ensures the security of data stored in the disk device. Measures are becoming increasingly important.
[0006]
2. Description of the Related Art Conventionally, the following methods are known as access control methods for ensuring security of data stored in a disk device or the like.
[0007]
For example, in an ATA (AT Attachment) interface standard known as a standard interface standard of a hard disk device, an access control method for ensuring security of data stored in a storage device is defined as a “Security Mode feature set”. I have. In the ATA interface standard, the security system is enabled by setting the User password, and the disk device cannot be accessed without inputting the User password. Only one User password can be set for one disk device.
[0008]
However, in data security using a single password, when the owner of the disk device permits another person to read and write data, it is necessary to give the password to another person. For this reason, there is a problem that the password effect is weakened and the data security function is reduced.
[0009]
Therefore, as one of the solutions, a security technique using a password corresponding to a plurality of users is disclosed in Japanese Patent Application Laid-Open No. 08-263383. According to the present invention, the disk device is divided into a plurality of areas, a first password corresponding to each area is set on a one-to-one basis, and at the same time, the first password is different from the first password for each area. You can associate a second password. The disk device allows the disk owner to give the password to another person by permitting access to the storage area associated with each password by matching either the first password or the second password. This prevents the password effect from being reduced.
[0010]
[Problems to be solved by the invention]
However, in the above invention, since all of the password authentication and access control of a plurality of users are performed on the disk device side, the disk device embodying the present invention is mounted on the host to enable simultaneous access from a plurality of users. When the host reads / writes data from / to the disk device, redundant identification information for the disk device to identify which data the user belongs to is provided for each command packet exchanged with the disk device or data. It must be transmitted for each packet. Therefore, it is not possible to maintain software-level compatibility with conventional disk devices that use single password authentication or disk devices that do not have a password authentication function, and dedicated disk device control software and a dedicated application are prepared on the host device side. There was a problem that I could not go without it.
[0011]
On the other hand, as a method of realizing data security with a different password for each of a plurality of users without relying on the security function of the disk device side, a multi-user OS such as Linux is employed. There is a file management method. In this file management method, the access right of an area accessible to other general users can be set on a file system basis based on a privileged user who has been granted a special access right. However, even if the data cannot be concealed from the privileged user, or if the disk device storing the data is attached to another Linux OS system, the disk device can be accessed at the privileged user level unique to the host device. For the same reason, there is a problem that data security cannot be sufficiently secured.
[0012]
The present invention has been made in view of the above-described problems, and makes the most of a data maintenance function for a plurality of users provided on a disk device side, minimizes changes on a host device side, and provides a secure and reliable Another object of the present invention is to provide an information processing apparatus which has a strong data security function and is compatible with multi-users.
[0013]
[Means for Solving the Problems]
An information processing apparatus according to the present invention for achieving the above object has the following configuration. That is,
An information processing device having a removable storage device,
Authentication means for transmitting user authentication information to the storage device for authentication so that the storage device can be accessed after mounting the storage device;
Inquiring means for inquiring the storage device for the authentication information of the user when the user accesses the storage device after the storage device becomes accessible,
An access permitting unit for permitting the user to access the storage device when the user is authenticated by the authentication unit or the inquiry unit;
[0014]
An information processing method according to the present invention for achieving the above object includes the following steps. That is,
A method for accessing a storage device in an information processing device to which the storage device is detachable,
After mounting the storage device, an authentication step of transmitting user authentication information to the storage device to perform authentication in order to make the storage device accessible,
An inquiry step of inquiring the storage device for authentication information of the user when the user accesses the storage device after the storage device becomes accessible;
An access permission step of permitting the user to access the storage device when the user is authenticated in the authentication step or the inquiry step.
[0015]
Furthermore, an information processing apparatus according to the present invention for achieving the above object,
An information processing device having a detachable storage device mounted thereon, wherein the storage device includes a memory for registering authentication information for authenticating a user, and the authentication device in response to an authentication request from the information processing device. Authentication means for performing authentication based on information; inquiry means for inquiring the authentication information in response to an inquiry request from the information processing apparatus; and data from the information processing apparatus when authentication is obtained by the authentication means. Access control means for shifting to a state in which access to
A first unit for transmitting user authentication information to the storage device and performing authentication by the authentication unit so that the storage device can be accessed after the storage device is mounted;
Second means for inquiring authentication information of the user by the inquiring means when a user accesses the storage device after the storage device becomes accessible; and
A third means for accessing the storage device by the user when the authentication of the user is obtained by the first means or the second means.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
[0017]
In the method for controlling access to a portable storage device (portable disk device) described in the following embodiments, the portable storage device is registered in the portable storage device when the portable storage device is attached to the information processing apparatus main body. Until the password is authenticated by a user who is permitted to access the portable storage device, the operation is performed so as not to transition to the accessible state, thereby preventing theft and falsification of data by an unauthorized user. Become. Further, when another user other than the user who has caused the portable storage device to transition to the accessible state requests access to the portable storage device, the user who issued the access request receives the portable The portable storage device is queried as to whether or not the user is a user permitted to access, which is registered in the storage device, and operates to perform access control based on the result. As a result, appropriate access right control for users having a plurality of different access rights can be reliably realized without depending on the OS and the file system on the information processing apparatus side.
[0018]
In addition, by registering in the table the users who have been permitted access by the password authentication and the inquiry, the inquiry processing by the portable storage device is reduced, and the storage device can be accessed efficiently. Hereinafter, a portable storage device according to the present embodiment and an information processing device to which the storage device is attached will be described in detail.
[0019]
FIG. 1 is a block diagram showing a configuration of a portable disk device according to one embodiment of the present invention. The portable disk device 107 is detachably connected to the host computer 109 via the socket 50, and operates according to a control command sent from the host computer 109.
[0020]
Reference numeral 3700 denotes a monitor connected to the host computer 109, and reference numerals 3950 and 3900 denote a mouse and a keyboard connected to the host computer 109, respectively. Although not described in detail, a user using the host computer 109 executes various processes by operating the mouse 3950 and the keyboard 3900 under the control of software operating on the host computer 109, and executes the processes. The result can be confirmed by the monitor 3700.
[0021]
The portable disk device 107 includes a mechanism unit 100 and an electronic circuit unit 105. In the present embodiment, a part for storing user registration information is provided in the electronic circuit unit 105. Specifically, in the present embodiment, in order to maintain the stored information even when the power is turned off, and to make it difficult for a malicious third party to read the stored information, the one-chip microcomputer 500 is provided. The user registration information is stored in the flash memory 106.
[0022]
The mechanism unit 100 includes a head 101 for reading and writing data, a disk-shaped magnetic medium 102 for storing user data, a voice coil motor 103 serving as a motor for driving the head, and a disk-shaped magnetic medium 102 for rotating. And a spindle motor 104.
[0023]
The electronic circuit unit 105 includes a one-chip microcomputer 500, a mechanism control unit 511, a data processing unit 502, and a recording / reproducing unit for transferring and receiving data to be recorded / reproduced between the head 101 and the data processing unit 502. The circuit includes a circuit 501 and a data buffer 509 for temporarily storing data read from the disk-shaped magnetic medium 102.
[0024]
The one-chip microcomputer 500 includes a CPU 505, a flash memory 106, a ROM (not shown), and a RAM (not shown), interprets a command from the host computer 109, and executes a command of the Perform control and so on. The one-chip microcomputer 500 also performs processes such as user authentication and access control based on the user registration information stored in the flash memory 106.
[0025]
The mechanism control unit 511 and the data processing unit 502 are connected to the system bus 11 of the one-chip microcomputer 500. The mechanism control unit 511 and the head 101 are connected by a control line 12. The mechanism control unit 511 outputs a signal for controlling a mechanical operation to the mechanism unit 100 via the control line 12. The recording / reproducing circuit 501 is connected to the head 101 via the data line 13, passes a data signal to be recorded on the head 101, and receives a data signal reproduced by the head. The recording / reproducing circuit 501 and the mechanism control unit 511 are connected by the control line 14. Further, the data processing unit 502 and the data buffer 509 are connected by the data bus 15.
[0026]
The configuration of the data processing unit 502 will be further described. The data processing unit 502 includes a CPU interface control unit 504, a host interface control unit 510, a drive interface control unit 503, a buffer control unit 507, and a read error detection information (ECC) processing unit 506. The CPU interface control unit 504, the host interface control unit 510, and the drive interface control unit 503 are connected to the internal control bus 16. The buffer control unit 507, the host interface control unit 510, the drive interface control unit 503, and the ECC processing unit 506 are connected by the data bus 17. A command register 521 and an error register 522 are arranged inside the host interface control unit 510, and are connected to the connector 508 via the interface 108 such as an IDE.
[0027]
The portable disk device 107 and the socket 50 are connected by fitting the connector 508 of the portable disk device 107 and the connector 51 of the socket 50.
[0028]
The socket 50 includes a connector 51 for connecting the portable disk device 107 and a microswitch 52 for detecting that the portable disk device 107 is mounted on the socket 50. The connector 51 is connected to the host computer 109 via an interface 53 such as an IDE.
[0029]
The microswitch 52 is connected to the host computer 109 via the signal line 54, and the host computer 109 can detect the mounting of the portable disk device 107 by polling by the host computer 109 or generation of an interrupt signal to the host computer 109. It has a possible configuration.
[0030]
The host computer 109 is a computer device represented by a personal computer (PC). Also, in FIG. 1, the socket 50 is provided outside the host computer 109, but the socket 50 may be provided inside the host computer 109 as long as the connection form is the same.
[0031]
Next, registration information stored in the flash memory 106 will be described. FIG. 2 is a diagram showing a format of the user registration information. As shown in (a), the registration information is composed of three types: disk information 71, owner information 72, and guest information 73. The owner and the guest are user registration information indicating a user who is both a user, and the difference will be described later.
[0032]
As shown in FIG. 2B, the disk information 71 includes a serial number 71a, a disk name 71b, and a lock mode 71c. The serial number 71a is set at the time of shipment from the factory, and stores a serial number in manufacturing the portable disk device 107. The disk name 71b is set by the user using a disk information registration command described later. The lock mode 71c is information indicating whether or not the portable disk device 107 is locked. When the owner name 72a and the owner password 72b, which will be described later, or the guest name 73a and the guest password 73b are registered, The state in which the data area of the portable disk device 107 can be accessed without user authentication is referred to as “unlocked state”, and the state in which access is not possible without user authentication is referred to as “locked state”.
[0033]
As shown in FIG. 2C, the owner information 72 includes an owner name 72a, an owner password 72b, and an owner attribute 72c. The owner information 72 is set by the user using an owner registration command described later. The owner name 72a and the owner password 72b are information used for user authentication for accessing the portable disk device 107. The owner attribute 72c sets the attribute of the user with respect to the portable disk device 107 when the user is authenticated by the owner. As the attribute, an attribute that permits reading and writing and an attribute that allows reading only for the entire data area of the portable disk device 107 can be set.
[0034]
As shown in FIG. 2A, a plurality of settings can be made for the guest information 73 from 1 to n. The guest information 73 includes a guest name 73a, a guest password 73b, and a guest attribute 73c, as shown in FIG. The guest name 73a and the guest password 73b are information used for user authentication for accessing the portable disk device 107. The guest attribute 73c sets the attribute of the user authenticated by the guest with respect to the portable disk device 107. As the attribute, an attribute that permits reading and writing and an attribute that prohibits writing to the entire data area of the portable disk device 107 can be set.
[0035]
Note that the owner password 72b and the guest password 73b can also store hash values that have been converted by a one-way function called a hash function in order to increase confidentiality.
[0036]
In the registration information stored in the flash memory 106 at the time of factory shipment, the lock mode is unlocked, and the disk name, owner information, and guest information are unregistered.
[0037]
Here, the difference between the owner information 72 and the guest information 73 will be described. Only one owner information 72 can be set for the portable disk device 107, and is information indicating the owner of the portable disk device 107. On the other hand, the guest information 73 is information indicating a user permitted to access the portable disk device 107 by the owner. Although the detailed procedure related to registration and user authentication will be described later, the user (owner) authenticated (owner authentication) by inputting the owner name 72a and the owner password 72b includes the disc name 71b, the lock mode 71c, the owner name Registration and change of 72a, owner password 72b, owner attribute 72c, guest name 73a, guest password 73b, guest attribute 73c are possible. On the other hand, a user (guest) authenticated (guest authentication) by inputting the guest name 73a and the guest password 73b can only change his / her own guest password 73c.
[0038]
Next, a user authentication process in the present disk device will be described. FIG. 3 is a time chart showing exchange of commands and the like between the host computer and the disk device when the lock mode 71c is set to the locked state. FIG. 4 is a time chart showing exchange of commands and the like between the host computer and the disk device when the lock mode 71c is set to the unlocked state. FIG. 5 is a time chart showing exchange of commands and the like between the host computer and the disk device when user authentication fails. FIG. 6 is a flowchart showing a flow of processing by the one-chip microcomputer 500 in the portable disk device 107 for performing the user authentication processing. FIG. 7 is a diagram showing the contents of registration information output from the portable disk device 107 to the host computer.
[0039]
In FIG. 3, first, when the user inserts the portable disk device 107 into the socket 50, the insertion of the portable disk device 107 is detected by the microswitch 52, and this is notified to the host computer 109. The host computer 109 that has detected the insertion of the portable disk device 107 issues an information request command for requesting the portable disk device 107 for registration information.
[0040]
The portable disk device 107 that has received the information request command notifies the host computer 109 of the registration information shown in FIG. 7 among the information stored in the flash memory 106. The host computer 109 displays the notified registration information to the user. The user inputs a user name (owner name or guest name) and password (owner password or guest password) for disk authentication.
[0041]
The host computer 109 issues a user authentication command including the user name and password input by the user to the portable disk device 107. If the input user name and password are correct, the portable disk device 107 that has received the user authentication command notifies the host computer 109 that the authentication has been correctly performed and can access the data area of the portable disk device 107. Transition to an unusual state. Here, when the password is stored as a hash value, the input password is converted into a hash value, and comparison is performed between the hash values. Further, for power saving, it is possible to rotate the spindle motor 104 only after the authentication is correctly performed without rotating the spindle motor 104 until the authentication is correctly performed.
[0042]
Next, the case of the unlocked state will be described with reference to FIG. The process up to the point where the portable disk device 107 notifies the registration information in response to the information request command from the host computer 109 is the same as the case of FIG. Thereafter, when the lock mode 71c is in the unlocked state, the portable disk device 107 transits to a state where the data area can be accessed without waiting for the input of the user name and the password.
[0043]
Next, a case where user authentication fails in the locked state will be described with reference to FIG. The process up to the point where the host computer 109 issues the user authentication command is the same as in the case of FIG. If the input user name and password are incorrect, the portable disk device 107 notifies the host computer 109 that the authentication has not been performed correctly. As a result, the host computer 109 cannot access the data area of the portable disk device 107.
[0044]
Next, the flow of processing by the portable disk device 107 corresponding to the time charts of FIGS. 63 to 5 will be described with reference to the flowchart of FIG. Here, the process of the portable disk device 107 is a process performed by the one-chip microcomputer 500 in the portable disk device 107.
[0045]
Upon receiving the information request command from the host computer 109 (step S101), the portable disk device 107 notifies the host computer 109 of the information shown in FIG. 7 among the registration information stored in the flash memory 106 (step S101). S102). FIG. 7 shows registration information output to the host computer 109 in step S102 described above. As shown in FIG. 7, the registration information notified to the host computer 109 is a serial number 71a, a disk name 71b, a lock mode 71c, an owner name 72a, an owner attribute 72c, a guest name 73a, and a guest attribute 73c. The guest information is output for the number of guests from 1 to n.
[0046]
Next, the lock mode 71c stored in the flash memory 106 is evaluated by itself (step S103). If the locked state is reached, the process branches to step S104. If the locked mode is unlocked, the process branches to step S106.
[0047]
In the locked state, the portable disk device 107 waits for a user authentication command, and upon receiving the user authentication command (step S104), receives the received user name and password and the user name stored in the flash memory 106. (Owner name or guest name) and password (owner password or guest password) are collated (step S105). If a user whose user name and password match both is registered, the process proceeds to step S106, and no match is found. In this case, the process ends without transiting to an accessible state. Alternatively, the process may return to step S104 and wait for a user authentication command.
[0048]
In step S106, as shown in FIG. 8, a lock mode 81 indicating whether or not the portable disk device 107 is in a locked state, whether the user authenticated in the locked state is an owner or a guest, If the user is a guest, an authenticated user level 82 indicating which guest the user is and an attribute 83 of the authenticated user (access level such as read / write or read-only) are temporarily stored in a RAM area in the one-chip microcomputer 500. I do. Then, the host computer 109 transits to a state where the data area of the portable disk device 107 can be accessed. The user authenticated as described above is hereinafter referred to as an authenticated user. Thus, the authenticated user level 82 holds the authenticated user whether it is a guest or an owner. If the guest is a guest, the user name of the authenticated user is held. The attribute 83 holds the access level of the authenticated user.
[0049]
When the portable disk device 107 shifts to a state where the data area can be accessed, the portable disk device 107 operates as a readable / writable hard disk if the device itself is in the unlocked state. When user authentication is performed in the locked state, the hard disk is readable and writable if the attribute is readable and writable based on the attribute 83 of the authenticated user. Operates as a hard disk that does not accept. The operation at the time of data writing will be described with reference to the flowchart of FIG.
[0050]
When a data write command is received from the host computer 109 (step S201), the lock mode 81 stored in the RAM is checked (step S202). Branches to step S205. In step S203, a write process corresponding to the received write command is performed, and the host device, that is, the host computer 109 is notified that the writing has been normally performed (step S204), and the process ends. In step S205, the attribute 83 of the authenticated user, which is temporarily stored in the RAM, is checked. If the attribute 83 is readable and writable, the process branches to the writing process in step S203. On the other hand, if only reading has been performed, the process proceeds to step S207, where the writing process is not performed, the host device 109, that is, the host computer 109 is notified that writing was not performed, and the process ends.
[0051]
Next, a process when the host computer 109 inquires the user information stored in the flash memory 106 will be described. The user inquiry processing command is a command that is valid when the authentication processing described with reference to the flowchart of FIG. 6 is completed and access is enabled.
[0052]
FIG. 10 is a diagram showing the contents of a user inquiry command received by the portable disk device 107 at the time of user inquiry. Reference numeral 91 denotes a command code indicating that this command is a user inquiry command; 92, a user name for inquiring whether or not the command is registered; and 93, a password of a user to be inquired (a user name for inquiry 92).
[0053]
The user inquiry operation in the portable disk device 107 will be described with reference to the flowchart in FIG. When the user inquiry command is received (step S301), the currently authenticated authenticated user level 82 (FIG. 8) is checked (step S302). As a result, if the user is not the owner, an error is notified to the host computer 109 (steps S303 and S307), and the process ends. When the authentication user level 82 is the owner, the user name 92 and the password 94 received by the user inquiry command are replaced with the user name (owner name or guest name) and the password (owner password) stored in the flash memory 106. Or, it is checked whether the password matches the password (step S303, S304). If a matching user is registered, the host computer 109 is notified of the attribute (access level) of the user and that the command has been normally completed, and the process is terminated (steps S305 and S306). On the other hand, if the matching user is not registered, an error is returned (steps S305 and S307).
[0054]
Next, processing related to registration and change of information stored in the flash memory 106 will be described.
[0055]
FIG. 12 is a diagram illustrating an example of a user interface in the host computer 109 when newly registering the owner information 72. At the time of owner registration, an owner name 201, an owner password 202, and an owner attribute 203 are input in an owner registration window 200, and an OK button 204 is clicked. A registration command is sent. Here, the attribute 203 sets one of RW (Read / Write, readable and writable) and RO (Read Only, readable only). When the cancel button 205 is clicked, the process ends without issuing the owner registration command.
[0056]
The flow of the owner registration process will be described with reference to the flowchart of FIG. This process can be started when the owner is not registered in the mounted portable disk. When the user inputs an owner name, an owner password, and an owner attribute (step S401), and transmits an owner registration command from the host computer 109 to the portable disk device 107 (step S402), the portable device receives the owner registration command. The disk device 107 determines whether or not the owner has already been registered in the flash memory 106 (step S403). If the owner has not been registered, the owner is registered (step S404) according to the owner registration command received in step S402. On the other hand, if the owner has already been registered, the process ends without performing the owner registration.
[0057]
In the above processing, new registration of an owner is performed. However, if it is desired to change an already registered owner, the registered owner deletes his / her own registration, and will be described with reference to FIGS. Execute the executed processing. The currently registered owner may be given the authority to change the owner. In this case, for example, an interface similar to the interface (FIG. 17) in the guest registration process described later is presented (213 and 214 are new owner names and new passwords, respectively), and only when the current owner is authenticated, Change to a new owner name and new password.
[0058]
FIG. 14 is a diagram illustrating an example of a user interface in the host computer 109 when the guest information 73 is registered. Since only the owner can register as a guest, you will also be required to enter an owner name and owner password. In the guest registration window 210, an owner name 211, an owner password 212, a guest name 213 to be registered, a guest password 214 and a guest attribute 215 are input, and an OK button 216 is clicked. Is sent with the information of the guest registration.
[0059]
The flow of the guest registration process will be described with reference to the flowchart of FIG. Using the guest registration window 210, the user inputs an owner name, an owner password, a guest name to be registered, a guest password, and a guest attribute (step S501), and transmits a guest registration command from the host computer 109 to the portable disk device 107. When the guest registration command is received (step S502), the portable disk device 107 determines whether a guest having the same guest name has already been registered in the flash memory 106 (step S503). If not registered, it is determined whether or not the input owner name and owner password match the owner name and owner password stored in the flash memory 106 (step S504). If they match, the guest name, guest password, and guest attribute input by the user are stored in the flash memory 106 (step S505). If the guest has been registered in step S503 and if the owner name or the owner password does not match in step S504, the process ends without performing guest registration.
The owner also has the right to delete registered guests. In erasing a registered guest, a guest erasing window (a window similar to FIG. 14) is presented, and a guest name to be erased (no guest password is required) is transmitted to the portable disk together with a guest erasing command. The portable disk erases the authentication information specified by the guest name from the flash memory 106 after authenticating the owner. However, since the erased guest may be registered in an access permission management table (described later) in the host computer 109, an access permission management table (described later) is used to synchronize the deleted guest with authentication information in the flash memory 106. Is initialized (FIG. 22).
[0060]
FIG. 16 is a diagram showing an example of a user interface in the host computer 109 when registering the disk information 71. Since only disk owners can register disk information, it is required to input the owner name and owner password. By inputting an owner name 221, an owner password 222, a disk name 223, and a lock mode 224 in the disk information registration window 220 and clicking an OK button 225, the disk with these information is transmitted to the portable disk device 107. An information registration command is sent. In the present embodiment, check boxes 223a and 224a are provided for selecting only a disk name and a lock mode that the user wants to change, so that only a disk name and a lock mode can be transmitted by a disk information registration command.
[0061]
The flow of this disk information registration process will be described with reference to the flowchart of FIG. When a user inputs an owner name, an owner password, a disk name, and a lock mode (step S601), and a disk information registration command is transmitted from the host computer 109 to the portable disk device 107 (step S602), the disk information registration command is issued. The portable disk device 107 receives the owner name and the owner password, and determines whether or not the input owner name and owner password match the owner name and the owner password stored in the flash memory 106 (step S603). If the result of this determination is that they match, the disk name and lock mode input by the user are stored in the flash memory 106 (step S604). On the other hand, if either the owner name or the owner password does not match in step S603, the process ends without registering the disc information. The lock mode can be changed by this disk information registration process.
[0062]
The processing has been described above mainly on the operation of the portable disk device. Next, the operation of the host computer 109 will be described with reference to the drawings.
[0063]
FIG. 18 is a block diagram showing a configuration of the host computer 109. In FIG. 18, a portion surrounded by a dotted line indicates the host computer 109. As described above, 3700, 50, 52, and 107 are the above-described monitor, socket, microswitch, and portable disk device, respectively. In this embodiment, the connection bus 53 between the socket 50 and the host computer 109 will be described as an IDE interface.
[0064]
The host computer 109 includes a motherboard 3000, a power supply unit 3300, an uninterruptible power supply (UPS) 3400, a CD-RW drive 3600, and an IDE controller board 3100 configured as an expansion board.
[0065]
First, the configuration of motherboard 3000 will be described. Reference numeral 3001 denotes a CPU, which controls overall processing of application software executed by the host computer 109. Reference numeral 3002 denotes a so-called north bridge, which is connected to the local bus 3028 of the CPU 3001 and generates various timing signals required inside the motherboard 3000 according to the operation of the CPU 3001. Main functions include main memory control such as refresh, read / write, input / output device control via an internal bus, graphics controller control via a dedicated graphics bus, a memory bus 3006 described later, Arbitration of operation timing between the bus 3007, the internal bus 3008, and the CPU local bus 3028 is performed.
[0066]
A main memory 3003 is connected to the north bridge 3002 via a memory bus 3006. Timing signals necessary for a refresh operation, a read / write operation, and the like are supplied from the north bridge 3002. Reference numeral 3004 denotes a graphics controller, which is connected to the north bridge 3002 via a graphics controller dedicated bus (AGP bus) 3007.
[0067]
The graphics controller 3004 includes drawing commands such as line drawing, filling, and BitBlt generated by a program executed by the CPU 3001, or image data of a raster image generated by a program executed by the CPU 3001, and the like. , And AGP bus 3007. Further, the graphics controller 3004 includes a synchronization signal generator for generating a synchronization signal necessary for a video signal to be sent to the monitor 3700, and an A / D converter for converting a digital signal into an analog signal suitable for the monitor. Etc. are included. Further, a timing signal and the like necessary for operation of a video memory for holding a display raster image described later are also generated.
[0068]
Reference numeral 3005 denotes a video memory connected to the graphic controller, and holds image data of a raster image generated by the graphics controller 3004 as described above. All control signals necessary for the operation of the video memory 3005 are supplied from the graphics controller 3004.
[0069]
A monitor connection connector 3011 is connected to a video output pin of the graphics controller 3004. The video output signal generated by the graphics controller 3004 is transmitted to the monitor 3700 via the connector 3011 and the connection cable.
[0070]
Reference numeral 3009 denotes a so-called south bridge, which is connected to the above-described north bridge 3002 via an internal bus 3008. The south bridge 3009 includes an IDE controller for connecting a hard disk drive, a CD-ROM drive, and the like, an LPC (Low Pin Count) bus controller for connecting a low-speed device such as a flash ROM, a keyboard, and a mouse, and an AC97 controller. It includes standard interfaces such as a general-purpose bus standard such as a PCI bus controller and a general-purpose discrete signal input / output controller (PIO). The IDE controller is connected via the IDE bus 3010, the LPC bus controller is via the LPC bus 3016, the AC97 controller is via the AC97 bus 3049, the PCI bus controller is via the PCI bus 3026, and connected to devices connected to the respective buses. ing. Furthermore, a small-capacity CMOS memory, which is supplied with power from an external button-type lithium battery 3025, is built in, and various parameters necessary for system operation can be recorded.
[0071]
The PIO input terminal 3027 is connected to the output signal line 54 of the microswitch 52 attached to the socket 50, and the PIO output terminal 3047 is connected to a control terminal of a switch 3046 described later.
[0072]
Reference numerals 3012 and 3048 denote connectors connected to the IDE bus 3010, which are respectively connected to the CD-ROM drive 3600 and the hard disk drive 3610 via connection cables. The hard disk drive 3610 stores an operating system for controlling the host computer 109 (for example, Windows (registered trademark) (trademark) operating system of Microsoft Corporation), various application software including the above-described user authentication application software, and the like.
[0073]
Reference numeral 3013 denotes an AC97 codec, which performs A / D conversion and D / A conversion on analog audio signals input and output via an audio line input connector 3017 and stereo audio line output connectors 3018 and 3019, respectively, and conforms to the AC97 standard. The communication is performed with the AC97 controller in the south bridge 3009 via the AC97 bus 3049 according to the protocol described above.
[0074]
Reference numeral 3014 denotes a FLASH ROM, which is connected to the south bridge 3009 via the LPC bus 3016. Immediately after turning on the power, an initial boot loader for starting and executing an operating system (OS) from a hard disk 3610, an initialization program executed first by the CPU 3001, a basic input / output control program for controlling peripheral devices mounted on the motherboard, and the like. And so on.
[0075]
A Super IO chip (IC) 3015 is also connected to the LPC bus 3016. The Super IO chip 3015 is an IC in which controllers for low-speed devices such as a keyboard, a mouse, RS232C serial, and Centronics parallel are integrated. Corresponding peripheral devices are connected to the Super IO chip 3015 via a keyboard connector 3020, a mouse connector 3021, a serial connector 3022, and a parallel connector 3023. Although not shown in FIG. 18, as shown in FIG. 1, a keyboard 3900 is connected to the keyboard connector 3020, and a mouse 3950 is connected to the mouse connector 3021.
[0076]
Reference numeral 3034 denotes a host controller conforming to the USB 2.0 standard. The host controller 3034 is connected to the PCI bus 3026 and controls various USB standard-compliant peripheral devices connected via connectors 3039, 3040, 3041, 3042, and 3043 by control software executed by the CPU 3001. Peripheral devices conforming to the USB standard include digital cameras, printers, scanners, and the like.
[0077]
3044 and 3029 are Ethernet controllers. The Ethernet (registered trademark) controller 3029 is connected to a PAN (Personal Area Network) 3200 via a connector 3038. The Ethernet (registered trademark) controller 3044 is connected to a WAN (Wide Area Network) 3800 via a switch 3046 and a connector 3045. The switch 3046 is connected to the output signal terminal 3047 of the PIO in the south bridge 3009, and can be arbitrarily turned ON / OFF by the operation of a program executed by the CPU 3001. Reference numerals 3030, 3031, 3032, and 3033 are connectors for mounting expansion boards, which are connected to the PCI bus.
[0078]
A power supply circuit 3035 generates a DC voltage necessary for the operation of each unit from a DC power supply supplied via a power supply connector 3037 and supplies the DC voltage to each unit. Reference numeral 3300 denotes a power supply unit, which generates a DC voltage from the AC power supplied from the uninterruptible power supply 3400 and supplies the DC voltage to the power supply circuit 3035. Reference numeral 3400 denotes an uninterruptible power supply, which operates so as to supply AC power to the power supply unit 3300 via the power supply cable 3500 without interruption even when the output of the external AC power is reduced by the built-in battery. When the output of the external AC power supply is detected to decrease, the power supply management control program executed by the CPU 3001 is notified via the connector 3036 and the signal line 3024 that a power supply abnormality has occurred. The signal line 3024 is connected to the serial controller inside the above-described Super IO chip 3015.
[0079]
Next, the operation of the control program executed by the host computer 109 of the present embodiment will be described with reference to the drawings.
[0080]
FIG. 19 is a diagram schematically illustrating a disk access operation according to the present embodiment. In FIG. 19, Ichiro and Giro are users registered in the portable disk device 107 described above, and Saburo is an unregistered user. Each of Ichiro, Jiro and Saburo is a user who uses the host computer 109. Each user may access the host computer 109 via the keyboard 3900 and the mouse 3950, or may access via the network from another client computer connected to the WAN 3800 or the PAN 3200. good.
[0081]
Now, in FIG. 19, reference numeral 300 schematically shows a software hierarchy inside the host computer 109. The uppermost layer is an application program 301. Each user requests the portable disk device 107 to write or read some data. When the application program 301 performs a write or read process on the portable disk device 107, it normally requests a service of the write or read process from the file system (303) of the operating system.
[0082]
The access control program according to the present embodiment is configured to be located between the application 301 and the file system driver 303. In FIG. 19, the part shown as the access permission management table 302 corresponds to this. This part actually has not only a management table but also a maintenance function for the management table and an access permission management function for each user using the management table. The management table exists on the main memory of the host computer 109.
[0083]
Although details of the operation will be described later, for example, in the illustrated management table, write and read permission are given to Ichiro to the portable disk device 107, and write permission and write permission to the portable disk device 107 are given to Jiro. Information indicating that read permission is given is written. In this state, when each user requests the portable disk device 107 to perform writing or reading processing by the application 301, the program according to the present embodiment performs the following processing based on the access permission management table. .
[0084]
(1) Write or read processing request from Ichiro:
From the management table 302, since it is clear that both writing and reading are permitted to access the portable disk device 107, the writing or reading processing request from the application 301 is passed to the file system as it is (authentication). An AND operation is performed with the contents of the user attribute 83 (FIG. 8) For example, if the authentication user attribute is readable and writable, the write and read processing requests are passed as described above, but the authentication user attribute is If it is a read, the write request is blocked, details will be described later with reference to FIG.
[0085]
(2) Write or read processing request from Jiro:
From the management table 302, it is determined that writing to the portable disk device 107 is not permitted and reading is permitted. Therefore, the writing processing request from the application 301 is blocked, and the file system is notified. The error status is returned to the application 301. On the other hand, the read processing request from the application 301 is passed to the file system as it is. When the write processing request is blocked, the requester (Jiro's computer) may be notified to that effect.
[0086]
(3) Write or read processing request from sub row:
No sub row is registered in the management table 302, and the access authority to the portable disk device 107 is unknown. Therefore, the above-mentioned user inquiry command is issued to the portable disk device 107. As a result, if it is determined that the user is an unregistered user, both the write processing request and the read processing request from the application 301 are blocked, and an error status is returned to the application 301 without notifying the file system. When the read processing request and the write processing request are blocked, the requester (Jiro's computer) may be notified to that effect.
[0087]
Hereinafter, the above operation will be described in detail with reference to a flowchart.
[0088]
FIG. 20 is a flowchart showing processing in the host computer 109 according to the present embodiment when a disc is inserted.
[0089]
As described above, when the portable disk device 107 is mounted in the socket 50, the microswitch 52 is turned on, and the interrupt processing request is sent to the CPU 3001 via the signal line 54 and the PIO input line 3027 of the south bridge 3009. Is generated. FIG. 20 shows a flow of a processing routine corresponding to the interrupt processing request.
[0090]
Upon detecting that the portable disk device 107 has been mounted in the socket 50, the above-described information request command is issued to the portable disk device 107 in step S701. Next, in step S702, registration information as shown in FIG. 7 is obtained from the portable disk device 107 as a response to the information request command.
[0091]
In step S703, the value of the lock mode 71c included in the registration information acquired in step S702 is checked to determine whether the portable disk device is in the locked state. If it is locked, the process proceeds to step S704, and prompts the user to enter a user name and password. FIG. 31 is a diagram illustrating an example of a user interface in a case where input of a user name and a password is prompted. After the user inputs the user name and password in the corresponding fields 321 and 322, and clicks on an OK button 323, the process of step S704 is completed, and the process proceeds to step S706.
[0092]
In step S706, the user name input by the user in step S704 is stored in the variable uname, and the password is stored in the variable passwd, and access permission / non-permission determination processing described later is performed. Thereafter, processing proceeds to step S707. In the access permission / non-permission determination process performed in step S706, it is determined whether the user name stored in the variable unname and the password stored in the variable passwd are the users registered in the portable disk device 107. . Then, as a result, a process is performed so as to store whether or not the access is allowed in the variable goAhead and store the permitted access mode in the variable mode. When the value of the variable goAhead is 1, the access is permitted, and when the value is 0, the access is not permitted. Further, in the variable mode, an access mode permitted for the user, that is, a flag indicating readable and writable is set or reset at the bit position shown in FIG. 32, respectively. In this example, if the bit content is 1, the access right is granted, and if the bit content is 0, the access right is absent.
[0093]
On the other hand, in step S703, as a result of examining the value of the lock mode 71c in the disk information shown in FIG. 3 included in the registration information acquired in step S702, the portable disk device 107 is in the unlocked state. In this case, the value 1 is stored in the variable goAhead, and the process proceeds to step S707.
[0094]
In step S707, the value of the variable goAhead is checked, and when the value is 1, that is, when the user is registered in the portable disk device 107, or when the portable disk device 107 is in the unlocked state, Proceed to step S708. On the other hand, if the value is 0, that is, if the portable disk device 107 is in the locked state and the user is not registered in the portable disk device 107, the process proceeds to step S709.
[0095]
In step S708, in order to make the portable disk device 107 usable by the system, partition information is read from the portable disk device 107, and an internal part for properly handling the portable disk device 107 by the host computer 109 is read. Initialize variables. The specific processing content depends on the operating system installed in the host computer 109 and the structure of the device driver that controls the portable disk device 107, and thus the details will not be described in detail here. In step S710, the portable disk device 107 is registered in the file system, and the process ends.
[0096]
In step S709, a dialog screen or the like indicating that the portable disk device 107 is locked and the user is not registered in the portable disk device 107 is displayed on the monitor 3700, and the process ends. .
[0097]
FIG. 21 is a flowchart for explaining the operation of the access permission / inhibition determination processing in step S706 described above. Before control is transferred to the present processing routine, the user name is written in the variable uname and the password is written in the variable passwd in advance in step S704. At the time of system initialization, a value 0 is written in the variable auth.
[0098]
When the control proceeds to the access permission / inhibition determination processing routine, in step S761, the portable disk device 107 determines whether or not the user has already been authenticated. This is performed by checking the value of the variable auth. If the value of the variable auth is 1, the portable disk device 107 has been authenticated, and the process proceeds to step S762. On the other hand, if the value of the variable auth is 0 in step S761, the portable disk device 107 has not been authenticated, and the process proceeds to step S768.
[0099]
In step S768, the above-mentioned user authentication command is issued to the portable disk device 107. As a result of this authentication, if the authentication is OK, the value 1 is written to the variable success, and if the authentication is NG, the value 0 is written to the variable success, and the process proceeds to step S769. In step S769, the value of the variable success is checked. If the value is 1, the process proceeds to step S770, and if the value is 0, the process proceeds to step S775. That is, as a result of the user authentication for the portable disk device 107 performed in step S768, if the authentication is successful, the process proceeds to step S770, and if the authentication fails, the process proceeds to step S775.
[0100]
In the step S770, the value 1 is written in the variable auth to mark that the portable disk device 107 has been authenticated, and the process proceeds to a step S771. In step S771, the details will be described later, the access permission management table is initialized, and the flow advances to step S772.
[0101]
In step S772, the above-described information request command is issued to the portable disk device 107, and the flow advances to step S773. In step S773, the portable disk device 107 acquires the registration information shown in FIG. 7 as a response to the information request command issued in step S772, and proceeds to step S774. In step S774, necessary data is copied from the variable uname and the registration information acquired in step S773 into the above-described access permission management table 302, and the flow advances to step S764.
[0102]
In step S775, the value 0 is written to the variable goAhead to indicate that the user authentication in step S768 has failed or the user inquiry in step S766 described later has failed and the access right to the portable disk device 107 has not been obtained. To end the process.
[0103]
On the other hand, in step S761, when it is determined that the portable disk device 107 has already been user-authenticated and the process proceeds to step S762, the following processing is performed. First, in step S762, it is checked whether or not the user name held in the variable unname exists in the access permission management table 302, as will be described in detail later. As a result of this processing, if the user name held in the variable unname does not exist in the access permission management table 302, the value 0 is written in the variable index, and if it exists, 0 indicating the relative position in the access permission management table 302 is written. A process is performed to write a value other than the above into the variable “index”, and the process proceeds to step S763. In step S763, the value of the variable index is checked. If the value is 0, the process proceeds to step S766. If the value is other than 0, the process proceeds to step S764. That is, if the user name held in the variable “name” already exists in the access permission management table 302, the process proceeds to step S764; otherwise, the process proceeds to step S766.
[0104]
In step S766, the above-mentioned user inquiry command is issued to the portable disk device 107. Then, if the inquiry result is inquiry OK, the value 1 is written into the variable registered, and if the inquiry result is NG, the value 0 is written into the variable registered, and the flow advances to step S767. In step S767, the value of the variable registered is checked. If the value is 1, the process proceeds to step S772, and if the value is 0, the process proceeds to step S775. That is, as a result of the user inquiry command in step S766, if the user having the user name stored in the variable unname is registered in the portable disk device 107 and access is permitted, the process proceeds to step S772. If not registered and access is not permitted, the process proceeds to step S775.
[0105]
In step S764, the access mode of the user is copied from the access permission management table 302 to a variable mode, and the process proceeds to step S765. In step S765, the fact that the access right to the portable disk device 107 has been acquired is indicated by writing the value 1 to the variable goAhead, and the access permission / inhibition determination process ends.
[0106]
FIG. 22 is a flowchart showing the operation of the initialization processing of the access management permission table (step S771).
[0107]
In step S801, the value of the variable "index" is initialized to 1 for the processing after step S802. In step S802, the value of the variable index is compared with the value of a constant MaxUser representing the maximum value of the variable index. If the value of the variable index is equal to or less than the value of the constant MaxUser, the process proceeds to step S803. . If the value of the variable index is larger than the value of the constant MaxUser, the process proceeds to step S809. Here, the value of MaxUser is not specified, but any value of 10 or 20 may be used as long as it is an appropriate integer value equal to or greater than the maximum number of users assumed in the host computer 109.
[0108]
In step S803, the value of the variable index is copied to the index field (table.index [index]) of the access permission management table 302 whose relative position is specified by the variable index. In step S804, a blank character string ("") is written in the user name field (table.unname [index]) of the access permission management table 302 whose relative position is specified by the variable index. In step S805, a constant NO indicating non-permission is written in the authentication field (table.auth [index]) of the access permission management table 302 whose relative position is specified by the variable index. The value of NO is the value 0 according to the above description. In step S806, the value 0 is written in the access mode field (table.mode [index]) of the access permission management table 302 whose relative position is specified by the variable index. The value 0 means that both writing and reading are not permitted in the above description. In step S807, the value of the variable index is copied to the link field (table.link [index]) of the access permission management table whose relative position is specified by the variable index.
[0109]
When the processes from step S803 to step S807 are completed, the process proceeds to step S808, the value of the variable index is incremented by 1, and the process returns to step S801 to repeat the above process.
[0110]
As a result, a predetermined value is written to each field of the access permission management table 302 whose relative position is specified in the range of the variable index from 1 to the constant MaxUser. Finally, when the value of the variable index becomes larger than the value of the constant MaxUser, the process advances to step S809 to write the value 0 to the variable index, and the initialization processing of the access permission management table is completed. FIG. 27 shows the state of the access permission management table after the completion of the initialization processing.
[0111]
FIG. 23 is a flowchart for explaining the process (step S774) when additionally registering a new user in the access permission management table.
[0112]
In step S851, the value of the variable "index" is initialized to 1 for the processing after step S852. In step S852, the value of the variable index is compared with the value of the constant MaxUser representing the maximum value of the variable index. If the value of the variable index is equal to or less than the value of the constant MaxUser, the process advances to step S853. If the value of the variable index is larger than the value of the constant MaxUser, the process advances to step S863. Here, the constant MaxUser is the same as that described in the flowchart of FIG.
[0113]
In step S853, the value of the index field (table.index [index]) of the access permission management table 302 whose relative position is specified by the variable index is compared with the value of the variable index, and if the values are not equal, the process proceeds to step S853. The process advances to step S854, and if the values are equal, the process advances to step S855. In step S854, the value of the variable index is incremented by 1, and the process returns to step S852 and repeats the above processing.
[0114]
In step S855, the user name stored in the variable “name” is copied into the user name field (table.unname [index]) of the access permission management table 302 whose relative position is specified by the variable “index”. In step S856, a constant YES indicating permission is written in the authentication field (table.auth [index]) of the access permission management table 302 whose relative position is specified by the variable index. The value of YES is the value 1 in the above description.
[0115]
In steps S857 to S861, an access mode field (table.mode [index]) is set. First, in step S857, a value 0 indicating writing non-permission and reading non-permission is written to the access mode field (table.mode [index]) of the access permission management table whose relative position is specified by the variable index.
[0116]
In step S858, the attribute information in the registration information of the authenticated user obtained by the above-mentioned information request command, that is, the owner attribute shown in FIG. The corresponding access mode field is set in accordance with the write permission attribute permitted to the authenticated user included in the guest attribute shown in d). That is, when the write permission attribute indicates write permission, the process proceeds from step S858 to step S859, and the write permission flag in the access mode field of the access permission management table whose relative position is specified by the variable index is set to 1. On the other hand, if not permitted, the process proceeds to step S860 without doing anything.
[0117]
In step S860, the attribute information in the registration information of the authenticated user obtained by the information request command described above, that is, in the case of the owner, the owner attribute shown in FIG. The access mode field is set in accordance with the read permission attribute included in the guest attribute shown in FIG. That is, if the read permission attribute indicates read permission, the flow advances to step S861 to set the read permission flag in the access mode field of the access permission management table whose relative position is specified by the variable index to 1. If not, the process proceeds to step S862 without doing anything.
[0118]
Further, in step S862, in order to indicate that the field is valid, the relative position is specified by the variable index, the link field (table.link [index]) of the access permission management table, and the value of the variable index The value obtained by adding 1 is copied, and the process ends.
[0119]
On the other hand, in step S852, the value of the variable index is compared with the value of the constant MaxUser representing the maximum value of the variable index, and if the value of the variable index is larger than the value of the constant MaxUser, the process proceeds to step S852. Proceed to S863. This indicates that the access permission management table has overflowed. Although the processing of the application of the host computer 109 at the time of overflow is not described, for example, a dialog for notifying the user may be displayed, and the processing may be performed to cancel the request from the user.
[0120]
FIG. 28 shows the state of the access permission management table after the user and Ichiro registered as write permission and read permission in the portable disk device 107 are registered.
[0121]
FIG. 29 shows the state of the access permission management table after the user and the groom registered as write non-permission and read permission in the portable disk device 107 are registered.
[0122]
Further, FIG. 30 shows the state of the access permission management table after the user who has not been registered in the portable disk device 107 tries to access the disk. The result in this case is similar to FIG.
[0123]
FIG. 24 is a flowchart for explaining the operation of a user confirmation processing routine for confirming whether or not the user has been registered in the access management permission table 302.
[0124]
In step S881, the value of the variable index is initialized to 1 for the processing in step S882 and thereafter. In step S882, the value of the variable index is compared with the value of the constant MaxUser representing the maximum value of the variable index. If the value of the variable index is equal to or less than the value of the constant MaxUser, the process proceeds to step S883. If the value of the variable index is larger than the value of the constant MaxUser, the process proceeds to step S885. Here, the constant MaxUser is the same as that described in the flowcharts of FIGS. 22 and 23.
[0125]
In step S883, the user name field (table.unname [index]) of the access permission management table, whose relative position is specified by the variable index, is compared with the user name stored in the variable uname. The user confirmation processing ends. If they do not match, the process proceeds to step S884, increments the value of the variable index by 1, and returns to step S882. In step S885, the value 0 is written to the variable "index", and the process ends.
[0126]
With the above processing, when a user matching the user name stored in the variable unname is registered in the access permission management table, a value indicating the relative position of the access permission management table is stored in the variable index. On the other hand, if the user corresponding to the user name stored in the variable unname is not registered in the access permission management table, the value 0 is stored in the variable index.
[0127]
FIG. 25 is a flowchart showing a process when the portable disk device 107 detects that it has been detached from the host computer 109.
[0128]
As described above, when the portable disk device 107 is removed from the socket 50, the microswitch 52 is turned off, and the interrupt processing request is sent to the CPU 3001 via the signal line 54 and the PIO input line 3027 of the south bridge 3009. Occurs. FIG. 25 shows a flow of a processing routine corresponding to the interrupt processing request.
[0129]
Upon receiving the interrupt processing request, the registration of the portable disk device 107 to the file system is deleted in step S901. Next, in step S902, the portable disk device 107 writes the value 0 indicating an unauthenticated state to the variable auth. Next, in step S903, the access permission management table is initialized (FIG. 22), and the removal process of the portable disk device 107 ends.
[0130]
Next, processing at the time of a disk access request will be described with reference to the flowchart in FIG. This process is started, for example, when another computer on the network accesses the portable disk device 107. First, in step S921, the access permission / inhibition determination processing described in the flowchart of FIG. 21 is performed. In step S922, the result of the access permission / inhibition determination process is checked. If it is determined that access is possible (goAhead = 1), the flow advances to step S923.
[0131]
In step S923, it is determined whether or not the index is 1 as a result of the access permission / inhibition determination process. When the index is 1, it indicates that the access requester is the one who accessed when the disc insertion was detected (FIG. 20). Accordingly, the disk authentication user (FIG. 8) temporarily stored in the RAM of the portable disk device matches the access requester, and the attribute (accessible operation mode) also matches. Done.
[0132]
If index ≠ 1 in step S923, the process proceeds to step S924. In this case, since the access requester is different from the disk authentication user, the attribute (accessible operation mode) may be different. Therefore, the attribute of the disk authentication user (83 in FIG. 8) temporarily stored in the RAM of the portable disk device is copied to the variable "authmode" (step S924), and the variable holding the attribute of the access requester is stored. An AND with the mode is taken, and this is set as an accessible operation mode (step S925). For example, when the authenticated user is permitted to read only, even if the access requester is a user permitted to write and read, only reading is permitted in the access (temporarily, step S924). , And S925, a similar access result will be generated by the data write processing of the portable disk described with reference to FIG. 9).
[0133]
As described above, according to the above-described embodiment, if the user has been authenticated as an owner, the registered user can be inquired by the user inquiry command. Access from the user can be controlled.
[0134]
Furthermore, if the user has been authenticated as an owner, the disc can be easily switched between the "locked state" and the "unlocked state" by the disc information registration command, and the user authentication information set in the disc is set. The disk can be accessed without authentication without erasing (owner information and guest information). Therefore, the portable storage device can be used even in a main unit (such as a conventional personal computer) that does not support the access control method, and the convenience is improved.
[0135]
An object of the present invention is to provide a storage medium storing a program code of software for realizing the functions of the above-described embodiments to a system or an apparatus, and a computer (or CPU or MPU) of the system or apparatus to store the storage medium. It is needless to say that the present invention can also be achieved by reading and executing the program code stored in the program.
[0136]
In this case, the program code itself read from the storage medium realizes the function of the above-described embodiment, and the storage medium storing the program code constitutes the present invention.
[0137]
As a storage medium for supplying the program code, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, and the like can be used.
[0138]
When the computer executes the readout program code, not only the functions of the above-described embodiments are realized, but also an OS (Operating System) running on the computer based on the instruction of the program code. It goes without saying that a part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing.
[0139]
Further, after the program code read from the storage medium is written into a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that a CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the processing realizes the functions of the above-described embodiments.
[0140]
【The invention's effect】
As described above, according to the present invention, when a portable disk device excellent in portability is carried and used, or when shared by a plurality of users, it is safe and secure for each user. A simple data protection function can be easily realized.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a portable disk device.
FIG. 2 is a diagram showing a format of registration information stored in a flash memory and details of disk information, owner information, and guest information.
FIG. 3 is a time chart showing a communication operation between the portable disk device and a host computer when the locked state is set.
FIG. 4 is a time chart illustrating a communication operation between the portable disk device and a host computer when the unlocked state is set;
FIG. 5 is a time chart showing a communication operation between the portable disk device and the host computer when user authentication fails.
FIG. 6 is a flowchart illustrating a procedure of a user authentication process.
FIG. 7 is a diagram showing the contents of registration information output to a host computer.
FIG. 8 is a diagram showing information temporarily stored in a RAM after user authentication.
FIG. 9 is a flowchart of a portable disk device in a data writing process.
FIG. 10 is a diagram showing the contents of a user inquiry command.
FIG. 11 is a flowchart illustrating a user inquiry process in the portable disk device.
FIG. 12 is a diagram illustrating an example of a screen display of an owner registration process.
FIG. 13 is a flowchart illustrating an owner registration process.
FIG. 14 is a diagram illustrating an example of a screen display of a guest registration process.
FIG. 15 is a flowchart illustrating a guest registration process.
FIG. 16 is a diagram showing an example of a screen display of a disk information registration process.
FIG. 17 is a flowchart illustrating disk information registration processing.
FIG. 18 is a block diagram showing a configuration of a host computer 109.
FIG. 19 is a diagram schematically illustrating the operation of the control program according to the present embodiment.
FIG. 20 is a flowchart for explaining processing when a portable disk device is inserted.
FIG. 21 is a flowchart illustrating an operation of an access permission / inhibition determination processing routine;
FIG. 22 is a flowchart illustrating an initialization process of an access permission management table.
FIG. 23 is a flowchart illustrating an operation when registering a new user in the access permission management table.
FIG. 24 is a flowchart illustrating an operation of a processing routine for checking whether a user name is registered in an access management permission table.
FIG. 25 is a flowchart illustrating an operation of removing a portable disk.
FIG. 26 is a flowchart for explaining processing in a host computer when an access request to a portable disk device is made;
FIG. 27 is a diagram showing a state of an access permission management table after completion of an initialization process.
FIG. 28 is a diagram showing a state of an access permission management table after user authentication.
FIG. 29 is a diagram showing a state of an access permission management table after a registered user makes a user inquiry.
FIG. 30 is a diagram showing a state of an access permission management table after an unregistered user makes a user inquiry.
FIG. 31 is an explanatory diagram of a dialog for prompting input of a user name and a password.
FIG. 32 is an explanatory diagram of bit allocation of a variable mode holding an access mode.

Claims (16)

記憶装置を着脱可能な情報処理装置であって、
前記記憶装置の装着後、該記憶装置をアクセス可能な状態とするべく、該記憶装置にユーザ認証情報を送信して認証を行なう認証手段と、
前記記憶装置がアクセス可能な状態となった後、ユーザによる該記憶装置へのアクセスがあった場合に、該記憶装置に該ユーザの認証情報を照会する照会手段と、
前記認証手段又は照会手段によってユーザの認証が得られた場合、当該ユーザによる前記記憶装置へのアクセスを許可するアクセス許可手段と
を備えることを特徴とする情報処理装置。
An information processing device having a removable storage device,
Authentication means for transmitting user authentication information to the storage device for authentication so that the storage device can be accessed after mounting the storage device;
Inquiring means for inquiring the storage device for the authentication information of the user when the user accesses the storage device after the storage device becomes accessible,
An information processing apparatus, comprising: an access permission unit that permits access to the storage device by the user when the user is authenticated by the authentication unit or the inquiry unit.
前記認証手段及び前記照会手段によって認証済みとなったユーザを登録する登録手段を更に備え、
前記照会手段は、前記登録手段に登録された情報を用いて認証を行ない、該登録手段に登録されていないユーザに関して前記記憶装置に該ユーザの認証情報を照会することを特徴とする請求項1に記載の情報処理装置。
A registration unit for registering a user who has been authenticated by the authentication unit and the inquiry unit,
2. The authentication device according to claim 1, wherein the inquiry unit performs authentication using information registered in the registration unit, and inquires the storage device about authentication information of the user regarding a user not registered in the registration unit. An information processing apparatus according to claim 1.
前記記憶装置には、認証情報が登録されたユーザの各々に対してアクセスレベルが登録されており、
前記アクセス許可手段は、前記記憶装置に対してアクセスを行なったユーザに登録されたアクセスレベルに基づいて該記憶装置へのアクセスを許可することを特徴とする請求項1に記載の情報処理装置。
In the storage device, an access level is registered for each of the users whose authentication information is registered,
2. The information processing apparatus according to claim 1, wherein the access permission unit permits access to the storage device based on an access level registered by a user who has accessed the storage device.
前記アクセスレベルは、少なくとも“読み出しおよび書き込み可能”と“読み出しのみ可能”の2つのアクセスレベルを含むことを特徴とする請求項3に記載の情報処理装置。The information processing apparatus according to claim 3, wherein the access level includes at least two access levels of “read and write are possible” and “read only is possible”. 前記認証手段及び前記照会手段によって認証済みとなったユーザを対応するアクセスレベルと共に登録する登録手段を更に備え、
前記照会手段は、前記登録手段に登録された情報を用いて認証を行ない、該登録手段に登録されていないユーザに関して前記記憶装置に該ユーザの認証情報を照会することを特徴とする請求項3に記載の情報処理装置。
A registration unit for registering the user authenticated by the authentication unit and the inquiry unit together with a corresponding access level,
4. The authentication device according to claim 3, wherein the inquiry unit performs authentication using information registered in the registration unit, and inquires the storage device about authentication information of the user regarding a user who is not registered in the registration unit. An information processing apparatus according to claim 1.
前記アクセス許可手段は、前記認証手段で認証されたユーザのアクセスレベルと前記照会手段で認証されたユーザのアクセスレベルの両方のアクセスレベルによって許可されたアクセスの実行を許可することを特徴とする請求項3乃至5のいずれかに記載の情報処理装置。The access permitting means permits execution of access permitted by both the access level of the user authenticated by the authentication means and the access level of the user authenticated by the inquiry means. Item 6. An information processing apparatus according to any one of Items 3 to 5. 記憶装置を着脱可能な情報処理装置において該記憶装置へのアクセスを行なうための方法であって、
前記記憶装置の装着後、該記憶装置をアクセス可能な状態とするべく、該記憶装置にユーザ認証情報を送信して認証を行なう認証工程と、
前記記憶装置がアクセス可能な状態となった後、ユーザによる該記憶装置へのアクセスがあった場合に、該記憶装置に該ユーザの認証情報を照会する照会工程と、
前記認証工程又は照会工程によってユーザの認証が得られた場合、当該ユーザによる前記記憶装置へのアクセスを許可するアクセス許可工程と
を備えることを特徴とする情報処理方法。
A method for accessing a storage device in an information processing device to which the storage device is detachable,
After mounting the storage device, an authentication step of transmitting user authentication information to the storage device to perform authentication in order to make the storage device accessible,
An inquiry step of inquiring the storage device for authentication information of the user when the user accesses the storage device after the storage device becomes accessible;
An information processing method, comprising: when the user is authenticated in the authentication step or the inquiry step, an access permission step of permitting the user to access the storage device.
前記認証工程及び前記照会工程によって認証済みとなったユーザを当該情報処理装置内のメモリに登録する登録工程を更に備え、
前記照会工程は、前記メモリに登録された情報を用いて認証を行ない、該メモリに登録されていないユーザに関して前記記憶装置に該ユーザの認証情報を照会することを特徴とする請求項7に記載の情報処理方法。
The information processing apparatus further includes a registration step of registering the user authenticated by the authentication step and the inquiry step in a memory in the information processing apparatus,
9. The authentication method according to claim 7, wherein in the inquiry step, authentication is performed using information registered in the memory, and the storage device is queried for authentication information of the user for a user not registered in the memory. Information processing method.
前記記憶装置には、認証情報が登録されたユーザの各々に対してアクセスレベルが登録されており、
前記アクセス許可工程は、前記記憶装置に対してアクセスを行なったユーザに登録されたアクセスレベルに基づいて該記憶装置へのアクセスを許可することを特徴とする請求項7に記載の情報処理方法。
In the storage device, an access level is registered for each of the users whose authentication information is registered,
8. The information processing method according to claim 7, wherein the access permission step permits access to the storage device based on an access level registered for a user who has accessed the storage device.
前記アクセスレベルは、少なくとも“読み出しおよび書き込み可能”と“読み出しのみ可能”の2つのアクセスレベルを含むことを特徴とする請求項9に記載の情報処理方法。The information processing method according to claim 9, wherein the access level includes at least two access levels of “read and write are possible” and “read only is possible”. 前記認証工程及び前記照会工程によって認証済みとなったユーザを対応するアクセスレベルと共に当該情報処理装置内のメモリに登録する登録工程を更に備え、
前記照会工程は、前記メモリに登録された情報を用いて認証を行ない、該メモリに登録されていないユーザに関して前記記憶装置に該ユーザの認証情報を照会することを特徴とする請求項9に記載の情報処理方法。
The information processing apparatus further includes a registration step of registering the user authenticated by the authentication step and the inquiry step together with a corresponding access level in a memory in the information processing apparatus,
The method according to claim 9, wherein in the inquiry step, authentication is performed using information registered in the memory, and the storage device is queried for authentication information of the user regarding a user not registered in the memory. Information processing method.
前記アクセス許可工程は、前記認証工程で認証されたユーザのアクセスレベルと前記照会工程で認証されたユーザのアクセスレベルの両方のアクセスレベルによって許可されたアクセスの実行を許可することを特徴とする請求項9乃至11のいずれかに記載の情報処理方法。The access permitting step permits execution of an access permitted by both an access level of the user authenticated in the authentication step and an access level of the user authenticated in the inquiry step. Item 12. The information processing method according to any one of Items 9 to 11. 請求項7乃至12のいずれかに記載の情報処理方法をコンピュータに実行させるための制御プログラム。A control program for causing a computer to execute the information processing method according to claim 7. 請求項13に記載の制御プログラムを格納したことを特徴とする記憶媒体。A storage medium storing the control program according to claim 13. 着脱可能な記憶装置が装着された情報処理装置であって、ここで該記憶装置は、ユーザを認証するための認証情報を登録するメモリと、前記情報処理装置からの認証要求に応じて前記認証情報に基づく認証を行なう認証手段と、前記情報処理装置からの照会要求に応じて前記認証情報の照会を行なう照会手段と、前記認証手段によって認証が得られた場合に前記情報処理装置からのデータへのアクセスが可能な状態に移行するアクセス制御手段とを備えており、
前記記憶装置の装着後、該記憶装置をアクセス可能な状態とするべく、該記憶装置にユーザ認証情報を送信して前記認証手段による認証を行わせる第1手段と、
前記記憶装置がアクセス可能な状態となった後、ユーザによる該記憶装置へのアクセスがあった場合に、前記照会手段によって該ユーザの認証情報を照会する第2手段と、
前記第1手段又は第2手段によってユーザの認証が得られた場合に、当該ユーザによる前記記憶装置へのアクセスを実行する第3手段と
を備えることを特徴とする情報処理装置。
An information processing device having a detachable storage device mounted thereon, wherein the storage device includes a memory for registering authentication information for authenticating a user, and the authentication device in response to an authentication request from the information processing device. Authentication means for performing authentication based on information; inquiry means for inquiring the authentication information in response to an inquiry request from the information processing apparatus; and data from the information processing apparatus when authentication is obtained by the authentication means. Access control means for shifting to a state in which access to
A first unit for transmitting user authentication information to the storage device and performing authentication by the authentication unit so that the storage device can be accessed after the storage device is mounted;
Second means for inquiring authentication information of the user by the inquiring means when a user accesses the storage device after the storage device becomes accessible; and
An information processing apparatus comprising: a third unit configured to execute access to the storage device by the user when the authentication of the user is obtained by the first unit or the second unit.
着脱可能な記憶装置が装着された情報処理装置における情報処理方法であって、該記憶装置は、ユーザを認証するための認証情報を登録するメモリと、前記情報処理装置からの認証要求に応じて前記認証情報に基づく認証を行なう認証手段と、前記情報処理装置からの照会要求に応じて前記認証情報の照会を行なう照会手段と、前記認証手段によって認証が得られた場合に前記情報処理装置からのデータへのアクセスが可能な状態に移行するアクセス制御手段とを備えており、
前記記憶装置の装着後、該記憶装置をアクセス可能な状態とするべく、該記憶装置にユーザ認証情報を送信して前記認証手段による認証を行わせる第1工程と、
前記記憶装置がアクセス可能な状態となった後、ユーザによる該記憶装置へのアクセスがあった場合に、前記照会手段によって該ユーザの認証情報を照会する第2工程と、
前記第1工程又は第2工程によってユーザの認証が得られた場合に、当該ユーザによる前記記憶装置へのアクセスを実行する第3工程と
を備えることを特徴とする情報処理方法。
An information processing method in an information processing apparatus having a removable storage device mounted thereon, the storage device comprising: a memory for registering authentication information for authenticating a user; An authentication unit that performs authentication based on the authentication information; an inquiry unit that performs an inquiry on the authentication information in response to an inquiry request from the information processing device; and an authentication unit that obtains authentication when the authentication unit obtains authentication. Access control means for shifting to a state where data can be accessed,
A first step of, after mounting the storage device, transmitting user authentication information to the storage device and performing authentication by the authentication means so as to make the storage device accessible;
A second step of, when the user accesses the storage device after the storage device becomes accessible, inquiring authentication information of the user by the inquiry means;
A third step of, when the user is authenticated in the first step or the second step, accessing the storage device by the user.
JP2002243844A 2002-08-23 2002-08-23 Information processing apparatus and method Withdrawn JP2004086337A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002243844A JP2004086337A (en) 2002-08-23 2002-08-23 Information processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002243844A JP2004086337A (en) 2002-08-23 2002-08-23 Information processing apparatus and method

Publications (1)

Publication Number Publication Date
JP2004086337A true JP2004086337A (en) 2004-03-18

Family

ID=32052505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002243844A Withdrawn JP2004086337A (en) 2002-08-23 2002-08-23 Information processing apparatus and method

Country Status (1)

Country Link
JP (1) JP2004086337A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005332117A (en) * 2004-05-19 2005-12-02 Sony Corp Information processor and information processing method, recording medium, and program
JP2007184044A (en) * 2006-01-06 2007-07-19 Hitachi Global Storage Technologies Netherlands Bv Disk device, magnetic disk device, and information storage device
JP2007316768A (en) * 2006-05-23 2007-12-06 Seiko Epson Corp HDD driver, electronic device, and access control method
JP2008108354A (en) * 2006-10-25 2008-05-08 Sony Corp Media driving device, method of operating media driving device, information processing apparatus, recording and reproducing access method of information processing apparatus, program, and program recording medium
JP2012515372A (en) * 2009-01-16 2012-07-05 日本電気株式会社 Circuit card data protection

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005332117A (en) * 2004-05-19 2005-12-02 Sony Corp Information processor and information processing method, recording medium, and program
JP2007184044A (en) * 2006-01-06 2007-07-19 Hitachi Global Storage Technologies Netherlands Bv Disk device, magnetic disk device, and information storage device
US8424081B2 (en) 2006-01-06 2013-04-16 HGST Netherlands B.V. Disk unit, magnetic disk unit and information storage unit
JP2007316768A (en) * 2006-05-23 2007-12-06 Seiko Epson Corp HDD driver, electronic device, and access control method
JP2008108354A (en) * 2006-10-25 2008-05-08 Sony Corp Media driving device, method of operating media driving device, information processing apparatus, recording and reproducing access method of information processing apparatus, program, and program recording medium
US8266108B2 (en) 2006-10-25 2012-09-11 Sony Corporation Medium drive apparatus, operation method for medium drive apparatus, information processing apparatus, recording and reproduction accessing method for information processing apparatus, program, and program recording medium
JP2012515372A (en) * 2009-01-16 2012-07-05 日本電気株式会社 Circuit card data protection
JP2015043231A (en) * 2009-01-16 2015-03-05 レノボ・イノベーションズ・リミテッド(香港) Data protection method, circuit card, and mobile radio communications device

Similar Documents

Publication Publication Date Title
US5282247A (en) Apparatus and method for providing data security in a computer system having removable memory
JP3389186B2 (en) Semiconductor memory card and reading device
US8356360B2 (en) License management system and authentication method for the same
US8135880B2 (en) USB mass storage locking
WO1994011969A9 (en) Apparatus and method for providing data security in a computer system having a removable memory
US20120166524A1 (en) Information Processing Apparatus and Removable Media Management Method
US7620761B2 (en) Multi-functional storage apparatus and control method thereof
KR20210090505A (en) Memory controller, storage device including the same
TW200837602A (en) Cryptographic key containers on a USB token
CN100517276C (en) A method and device for securely storing data
US8695085B2 (en) Self-protecting storage
CN100426409C (en) Storage medium access control method
US20120246486A1 (en) Information-processing device and information management program
US20050216466A1 (en) Method and system for acquiring resource usage log and computer product
US20100106928A1 (en) Storage device, storage system, and unlock processing method
JP2003186819A (en) Computer system with USB device with security function
TWI446172B (en) Memory storage device, memory controller thereof, and access method thereof
JP2005222409A (en) Operating system, license management server, license management method, license management program, and recording medium
JP2004086337A (en) Information processing apparatus and method
US7814562B2 (en) Information processing apparatus, control method thereof, control program, and storage medium
JP5062687B2 (en) Information processing device
JP2004086336A (en) Storage device and control method thereof
JP2010237768A (en) Auxiliary storage device
JP2005346172A (en) Computer, method for preventing removal of removable device, and program
EP2390809A1 (en) System and method for managing health data

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20051101