(57)【特許請求の範囲】
【請求項１】
記憶装置と、この記憶装置にアクセスするコンピュータと、に接続され、前記コンピュータからの指示に従って前記記憶装置にアクセスするアクセス制御装置であって、
前記記憶装置は、この記憶装置へのアクセスを可能にするためのイネーブルコマンドを書き換え可能に記憶するイネーブルコマンドエリア、及び、認証用のパスワードを書き換え可能に記憶するパスワードエリアを有し、
前記コンピュータは、このアクセス制御装置がアクセスコマンドを受け付けている状態において、前記記憶装置へとデータを書き込ませるために、ライトコマンドと書き込み対象のデータをアクセス制御装置に供給し、このアクセス制御装置に前記記憶装置からデータを読み出させるために、リードコマンドをアクセス制御装置に供給するアクセス指示手段と、イネーブルコマンド及びパスワードを前記アクセス制御装置に供給する認証指示手段と、を備え、
このアクセス制御装置は、
このアクセス制御装置の初期化処理時に、前記パスワードエリアの記憶内容がアクセスコマンドを受け付けるための所定の条件に合致するか否かを判別して、合致すると判別したときは、前記コンピュータから供給されるアクセスコマンドを受け付けて、当該アクセスコマンドに従って前記記憶装置にアクセスする第１の状態に入り、合致しないと判別したときは、前記コンピュータから供給されるアクセスコマンドの実行を拒絶する第２の状態に入る、という初期処理を行う初期化手段と、
前記初期処理の終了後、前記パスワードエリアの記憶内容が前記所定の条件に合致していないためアクセスコマンドの実行を拒絶している前記第２の状態において、前記コンピュータよりイネーブルコマンド及びパスワードが供給されると、供給されたイネーブルコマンドが前記イネーブルコマンドエリアに記憶されているイネーブルコマンドに合致し、且つ、供給されたパスワードが前記パスワードエリアに記憶されているパスワードに合致するか否かを判別し、イネーブルコマンドとパスワードの少なくともいずれか一方が合致しないと判別した場合に、アクセスコマンドの実行を拒絶している前記第２の状態を維持し、両方が合致すると判別した場合に、アクセスコマンドを受け付ける第３の状態に移る、という認証処理を行う認証処理手段と、
アクセスコマンドを受け付けている前記第１又は第３の状態において前記コンピュータよりアクセスコマンドを供給されたとき、供給されたアクセスコマンドが示す内容に従って、前記記憶装置にアクセスするアクセス手段と、を備える、
ことを特徴とするアクセス制御装置。
【請求項２】
アクセスコマンドを受け付けている前記第１又は第３の状態において、前記コンピュータよりイネーブルコマンド及びパスワードが供給されると、供給されたイネーブルコマンドが前記イネーブルコマンドエリアに記憶されているイネーブルコマンドに合致し、且つ、供給されたパスワードが前記パスワードエリアに記憶されているパスワードと異なる、という関係にあるか否かを判別し、当該関係にないと判別した場合、アクセスコマンドを受け付ける状態を維持し、当該関係にあると判別した場合更に、前記パスワードエリアの記憶内容が前記所定の条件に合致するか否かを判別して、合致すると判別したときはアクセスコマンドを受け付ける状態を維持し、合致しないと判別したときはアクセスコマンドの実行を拒絶する前記第２の状態に移る、という処理を行う手段を備える、
ことを特徴とする請求項１に記載のアクセス制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、認証システム及びアクセス制御装置、特に、記憶装置の記憶内容の守秘を図るための認証システム及びアクセス制御装置に関する。
【０００２】
【従来の技術】
近年、可搬性の不揮発性の記憶媒体、特に携帯情報端末用の記憶媒体として、フラッシュメモリを備えたメモリカードなどが用いられるようになっている。
メモリカードは、通常、例えばＰＣＭＣＩＡバスを介してコンピュータ等と接続され、該コンピュータ等のアクセスに応答して、該コンピュータ等より供給されたデータを記憶したり、記憶しているデータを該コンピュータ等に供給したりする。
【０００３】
【発明が解決しようとする課題】
しかし、上述のメモリカードに格納されたデータは、そのメモリカードの所有者以外の者によって、例えば他のコンピュータに接続されることにより、その記憶内容が容易に漏洩する危険性を有する。この危険性は、携帯性に優れたメモリカードにおいては、特に大きい。
【０００４】
この問題を解決する手法としては、メモリカードに格納するデータを暗号化する手法が考えられる。
しかし、データの暗号化や復号化を行うためのソフトウェアは、暗号化や復号化を行う数学的処理が膨大となるため実行時間が増大し、この結果、メモリカードを快適に利用することが困難になる。また、データの暗号化や復号化を行うためのソフトウェアは、上述の数学的処理の煩雑さのために開発が困難である。
【０００５】
また、メモリカードの所有者等が、他の者にデータを与えたい場合、暗号化されたデータは、一旦コンピュータ等によりすべて復号化してからでないと、相手方にとっては無意味なデータしか与えられない。このため、データの譲渡や交換が煩雑になる。
【０００６】
この発明は上記実状に鑑みてなされたもので、記憶装置に格納されたデータを、その譲渡の容易さを確保しつつ秘匿する簡便な認証システムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るアクセス制御装置は、
記憶装置と、この記憶装置にアクセスするコンピュータと、に接続され、前記コンピュータからの指示に従って前記記憶装置にアクセスするアクセス制御装置であって、
前記記憶装置は、この記憶装置へのアクセスを可能にするためのイネーブルコマンドを書き換え可能に記憶するイネーブルコマンドエリア、及び、認証用のパスワードを書き換え可能に記憶するパスワードエリアを有し、
前記コンピュータは、このアクセス制御装置がアクセスコマンドを受け付けている状態において、前記記憶装置へとデータを書き込ませるために、ライトコマンドと書き込み対象のデータをアクセス制御装置に供給し、このアクセス制御装置に前記記憶装置からデータを読み出させるために、リードコマンドをアクセス制御装置に供給するアクセス指示手段と、イネーブルコマンド及びパスワードを前記アクセス制御装置に供給する認証指示手段と、を備え、
このアクセス制御装置は、
このアクセス制御装置の初期化処理時に、前記パスワードエリアの記憶内容がアクセスコマンドを受け付けるための所定の条件に合致するか否かを判別して、合致すると判別したときは、前記コンピュータから供給されるアクセスコマンドを受け付けて、当該アクセスコマンドに従って前記記憶装置にアクセスする第１の状態に入り、合致しないと判別したときは、前記コンピュータから供給されるアクセスコマンドの実行を拒絶する第２の状態に入る、という初期処理を行う初期化手段と、
前記初期処理の終了後、前記パスワードエリアの記憶内容が前記所定の条件に合致していないためアクセスコマンドの実行を拒絶している前記第２の状態において、前記コンピュータよりイネーブルコマンド及びパスワードが供給されると、供給されたイネーブルコマンドが前記イネーブルコマンドエリアに記憶されているイネーブルコマンドに合致し、且つ、供給されたパスワードが前記パスワードエリアに記憶されているパスワードに合致するか否かを判別し、イネーブルコマンドとパスワードの少なくともいずれか一方が合致しないと判別した場合に、アクセスコマンドの実行を拒絶している前記第２の状態を維持し、両方が合致すると判別した場合に、アクセスコマンドを受け付ける第３の状態に移る、という認証処理を行う認証処理手段と、
アクセスコマンドを受け付けている前記第１又は第３の状態において前記コンピュータよりアクセスコマンドを供給されたとき、供給されたアクセスコマンドが示す内容に従って、前記記憶装置にアクセスするアクセス手段と、を備える、
ことを特徴とする。
【００１１】
前記アクセス制御装置は、アクセスコマンドを受け付けている前記第１又は第３の状態において、前記コンピュータよりイネーブルコマンド及びパスワードが供給されると、供給されたイネーブルコマンドが前記イネーブルコマンドエリアに記憶されているイネーブルコマンドに合致し、且つ、供給されたパスワードが前記パスワードエリアに記憶されているパスワードと異なる、という関係にあるか否かを判別し、当該関係にないと判別した場合、アクセスコマンドを受け付ける状態を維持し、当該関係にあると判別した場合更に、前記パスワードエリアの記憶内容が前記所定の条件に合致するか否かを判別して、合致すると判別したときはアクセスコマンドを受け付ける状態を維持し、合致しないと判別したときはアクセスコマンドの実行を拒絶する前記第２の状態に移る、という処理を行う手段を備えるものであってもよい。
【００１２】
これにより、記憶装置に格納されているデータは、記憶装置の使用中であっても、他の者が読み出せないような状態に変更される。従って、例えば記憶装置のユーザが一時的に記憶装置のある場所を離れるような場合であっても、記憶装置に格納されているデータは確実に秘匿される。
【００２０】
なお、括弧内に付した番号は、実施の形態中の対応する構成の参照番号であり、参考のためのみに使用されるべきものであり、この発明を限定するものではない。
【００２１】
【発明の実施の形態】
以下、この発明の実施の形態を、メモリカード及びコンピュータからなる認証システムを例とし、図面を参照して説明する。
【００２２】
図１は、この発明の実施の形態にかかる認証システムの物理的構成を示すブロック図である。
図示するように、この認証システムは、メモリカード１と、コンピュータ２とから構成されている。メモリカード１は、コンピュータ２が備えるスロットを介して、コンピュータ２に着脱可能に装着されている。
コンピュータ２が備えるスロットは、例えば、ＰＣＭＣＩＡバスを中継するためのＰＣＭＣＩＡスロットからなる。
【００２３】
メモリカード１は、フラッシュメモリ１１と、コントローラ１２とからなる。
【００２４】
フラッシュメモリ１１は、記憶装置あるいは記憶手段を構成するものであり、フラッシュメモリ１１は、ＥＥＰＲＯＭ（Electrically Erasable/Programable Read Only Memory）等からなる。フラッシュメモリ１１は、コントローラ１２が行うアクセスに応答し、コンピュータ２から供給されたデータの記憶と、記憶しているデータのコンピュータ２への供給と、記憶しているデータの消去とを行う。
【００２５】
フラッシュメモリ１１が有する記憶領域にはアドレスが割り当てられており、先頭のアドレスより５１２バイト分の記憶領域は、図２に示すように認証情報記憶エリアを形成する。
図２に示すように、認証情報記憶エリアのうち、先頭の５１０バイトの記憶領域は、後述するパスワードを記憶するためのパスワードエリアを形成し、残る２バイトの記憶領域は、後述するイネーブルコマンドを示すコードを記憶するためのコマンドコードエリアを形成する。
また、フラッシュメモリ１１は、自らの記憶領域のデータ構造を示すデータからなるＦＡＴ（File Allocation Table）を記憶している。
【００２６】
コントローラ１２は、アクセス制御装置を構成するものであり、図３に示すように、ＣＰＵ（Central Processing Unit）１２１と、ＣＰＵ１２１が実行する動作プログラムを格納するＲＯＭ（Read Only Memory）１２２とを備えている。
ＣＰＵ１２１は、ＲＯＭ１２２及びフラッシュメモリ１１に接続され、コンピュータ２が備えるＰＣＭＣＩＡスロットを介してコンピュータ２に着脱可能に接続されている。また、ＣＰＵ１２１はステータスレジスタを備える。
【００２７】
ＣＰＵ１２１は、ＲＯＭ１２２に格納されている上述の動作プログラムを実行することにより、後述するコマンド実行手段、許可手段及び更新手段の機能を行うものである。
【００２８】
ＣＰＵ１２１は、アクセス装置を構成するコンピュータ２から供給されるコマンドデータを取得し、そのコマンドデータが所定の命令を表すものである場合、その命令に従った動作を行う。
ＣＰＵ１２１が従う命令には、イネーブルコマンド、保守用のコマンドである製造者識別コマンド、セットパスワードコマンド及びＡＴＡコマンドに準拠し記憶媒体の読み書きを指示するアクセスコマンドの４種が含まれる。
【００２９】
イネーブルコマンドは、パスワードと対になってフラッシュメモリ１１へのアクセスの許可をコンピュータ２に与えることを指示する命令である。イネーブルコマンドを示すコードは、上述の通り、フラッシュメモリ１１のコマンドコードエリアに格納されている。
【００３０】
ＣＰＵ１２１は、コンピュータ２よりイネーブルコマンド及びパスワードからなるコマンドデータを供給されると、後述する処理に従って、コンピュータ２から供給される後述のアクセスコマンドを受け付けるか否かを決定し、決定結果に従って、アクセスコマンドの受け付け及び拒絶を行う。
【００３１】
すなわち、ＣＰＵ１２１は、コンピュータ２から供給されたコマンドデータがイネーブルコマンド及びフラッシュメモリ１１のパスワードエリアに記憶されているパスワードであるとき、コンピュータ２が供給するアクセスコマンドを受信することをＣＰＵ１２１自身に許可する。従って、ＣＰＵ１２１は、許可手段としての機能を行う。
【００３２】
ただし、ＣＰＵ１２１は、フラッシュメモリ１１のパスワードエリアに格納されているデータの内容が所定の条件に合致しているとき（例えば、パスワードエリア内のすべてのビットが「１」である場合）、コンピュータ２から供給されるアクセスコマンドを無条件に受け付けることを決定する。
【００３３】
また、ＣＰＵ１２１は、コンピュータ２から所定の製造者識別コマンドが供給されたときも、コンピュータ２から供給されるアクセスコマンドを無条件に受け付けることを決定する。
製造者識別コマンドは、ユーザがイネーブルコマンドやパスワードを忘れた等の非常の場合に、製造者等がフラッシュメモリ１１に記憶されているデータを読み出すための保守用のコマンドであって、製造者識別コマンドを示すコードは、ＣＰＵ１２１の製造者等により予め指定されている。
【００３４】
なお、ＣＰＵ１２１は、コンピュータ２から供給されるアクセスコマンドを受け付けると決定した場合、例えば自らが備える上述のステータスレジスタをセットし、このステータスレジスタの状態をコンピュータ２に通知することにより、アクセスコマンドを受け付ける旨を通知する。また、アクセスを拒絶すると決定した場合は、ステータスレジスタをリセットすることにより、拒絶する旨をコンピュータ２に通知する。
【００３５】
セットパスワードコマンドは、イネーブルコマンド及びパスワードの変更を指示する命令である。セットパスワードコマンドを示すコードは、コントローラ１２の製造者等により予め指定されている。
ＣＰＵ１２１は、アクセスコマンドを受け付けている状態でコンピュータ２よりセットパスワードコマンドを供給されると、後述する処理に従って、フラッシュメモリ１１の認証情報記憶エリアに格納されているイネーブルコマンドのコード及びパスワードを更新する。すなわち、ＣＰＵ１２１は、更新手段の機能を行う。
【００３６】
アクセスコマンドは、フラッシュメモリ１１へのアクセスをＣＰＵ１２１に指示する命令である。アクセスコマンドは、例えばＡＴＡコマンド等の既存のコマンドセットに準拠して、製造者等により予め指定されている。
【００３７】
ＣＰＵ１２１は、アクセスコマンドを受け付けている状態でコンピュータ２よりアクセスコマンドを供給されると、供給されたアクセスコマンドが示す内容に従って、フラッシュメモリ１１へのアクセスを行う。
具体的には、ＣＰＵ１２１は、コンピュータ２から供給される、フラッシュメモリ１１に書き込む対象のデータをフラッシュメモリ１１に格納したり、フラッシュメモリ１１に格納されているデータを読み出してコンピュータ２に供給したりする。すなわち、ＣＰＵ１２１は、コンピュータ２から供給されたアクセスコマンドに従った動作を行うとき、コマンド実行手段の機能を行う。
【００３８】
また、ＣＰＵ１２１は、コンピュータ２の要求に応答して、自らが属するメモリカード１を識別する属性情報を、コンピュータ２に供給する。
【００３９】
コンピュータ２は、アクセス装置あるいはアクセス手段を構成するものであり、入力手段と、コマンド供給手段とを含むものである。
コンピュータ２はパーソナルコンピュータ等からなり、ＰＣＭＣＩＡスロットを備え、オペレーティングシステム（ＯＳ）、ドライバ及び認証プログラムを記憶する。
【００４０】
コンピュータ２はＯＳを実行し、ＯＳの処理に従い、ＰＣＭＣＩＡスロットにメモリカード１が装着されたことを検知して、ドライバを起動する。一方でコンピュータ２は、ＯＳの制御の下にユーザの操作に従って認証プログラムを起動し、認証プログラムの処理に従い、後述の通りにして、コントローラ１２に自らが供給するアクセスコマンドを受け付けるよう要求する。
【００４１】
アクセスコマンドが受け付けられるようになった状態において、コンピュータ２は、ドライバの処理に従って、コントローラ１２にアクセスコマンドやフラッシュメモリ１１に書き込む対象のデータを供給することにより、ＣＰＵ１２１に、フラッシュメモリ１１へのアクセスを行わせる。そして、自らが供給したアクセスコマンドに従ってＣＰＵ１２１がフラッシュメモリ１１から読み出して自らに供給したデータを、ＣＰＵ１２１より取得する。
【００４２】
（動作）
次に、この認証システムの動作を、図４〜図６を参照して説明する。
図４（ａ）及び（ｂ）は、初期処理を示すフローチャートである。
図５（ａ）及び（ｂ）は、認証処理を示すフローチャートである。
図６（ａ）及び（ｂ）は、パスワードロックをかける処理を示すフローチャートである。
【００４３】
（初期処理）
コンピュータ２に電源が投入されると、コンピュータ２は、図４（ａ）に示す初期処理を行い、一方、メモリカード１は、図４（ｂ）に示す初期処理を行う。
【００４４】
すなわち、まずコンピュータ２に電源が投入されると、コンピュータ２はＯＳの処理を実行し（ステップＳ００１）、ＯＳの処理に従い、メモリカード１がＰＣＭＣＩＡスロットに装着されたか否かの検知を行う。
【００４５】
メモリカード１がＰＣＭＣＩＡスロットに挿入されると、コンピュータ２は、ハードウェアの挿入を検出し（ステップＳ００２）、メモリカード１のコントローラ１２にアクセスして、属性情報の供給を要求する。コントローラ１２のＣＰＵ１２１は属性情報をコンピュータ２に供給し、コンピュータ２は属性情報を取得する（ステップＳ００３）。
【００４６】
次に、コンピュータ２は、取得した属性情報が、メモリカード１を表すものであるか否かを判別する（ステップＳ００４）。具体的には、例えば、取得した属性情報が、製造者によって所定の規格に合致するメモリカードに予め割り当てられている属性情報に合致するか否かをを判別する。
【００４７】
コンピュータ２は、メモリカード１を表すものでないと判別すると、処理をステップＳ００２に戻す。ただし、属性情報が他の利用可能な装置を表すものであればその装置が装着されたことを認識し、その装置を利用するために行うべき所定の処理を行うようにする。
【００４８】
ステップＳ００４で、属性情報がメモリカード１を表すと判別すると、コンピュータ２は、ドライバを起動する（ステップＳ００５）。
【００４９】
一方、メモリカード１のコントローラ１２のＣＰＵ１２１は、メモリカード１がＰＣＭＣＩＡスロットに装着されると、フラッシュメモリ１のパスワードエリアの内容を読み込み、その内容が、アクセスコマンドを無条件に受け付けるための所定の条件に合致するか否かを判別する（ステップＳ０１１）。
【００５０】
合致すると判別されると、ＣＰＵ１２１はコンピュータ２から供給されるアクセスコマンドを受け付ける状態に移り（ステップＳ０１２）、メモリカード１の側での初期処理を終了して、コンピュータ２からアクセスコマンド等のデータが供給されるのを待機する。
合致しないと判別されると、コンピュータ２から供給されるアクセスコマンドを拒絶する状態に移り（ステップＳ０１３）、メモリカード１の側での初期処理を終了する。
【００５１】
ステップＳ０１２で、ＣＰＵ１２１がアクセスコマンドを受け付ける状態に移ると、コンピュータ２は、ＣＰＵ１２１に、ＦＡＴの内容の読み出しを指示するアクセスコマンドを供給する。ＣＰＵ１２１は、供給されたアクセスコマンドに応答してフラッシュメモリ１１に記憶されたＦＡＴの内容を読み出し、コンピュータ２に供給する。コンピュータ２は、ＣＰＵ１２１から供給されたＦＡＴの内容を取得し、フラッシュメモリ１１の記憶領域のデータ構造を把握する（ステップＳ００６）。
【００５２】
そして、コンピュータ２は、フラッシュメモリ１１が、コンピュータ２から供給されるアクセスコマンドに従ってアクセスされる状態となったことを示すアイコンを表示して（ステップＳ００７）、コンピュータ２の側での初期処理を終了する。
【００５３】
該アイコンを表示して以降、コンピュータ２は、ユーザの操作や、コンピュータ２が実行するアプリケーションプログラムの処理に従って、コントローラ１２にアクセスコマンド等を供給することにより、コントローラ１２にフラッシュメモリ１１へのアクセスを行わせることが可能な状態となる。
【００５４】
（認証処理）
一方、コンピュータ２は、ドライバの起動後、ユーザの操作に従って、認証プログラムを起動する。以下では、メモリカード１のコントローラ１２のＣＰＵ１２１がコンピュータ２から供給されるアクセスコマンドを拒絶している場合における認証プログラムの処理（認証処理）と、コンピュータ２が認証プログラムの処理を実行している間におけるメモリカード１の動作とを、図５（ａ）及び（ｂ）を参照して説明する。
【００５５】
コンピュータ２は、認証プログラムの処理を開始すると、例えばイネーブルコマンド及びパスワードを書き込むためのテキストボックスを表示するなどして、ユーザに、イネーブルコマンド及びパスワードの入力を促す（ステップＳ１０１）。
【００５６】
イネーブルコマンド及びパスワードを表すデータが入力されると、コンピュータ２は、ドライバの処理に従って、イネーブルコマンド及びパスワードとして入力されたデータをメモリカード１のコントローラ１２に供給し（ステップＳ１０２）処理を終える。
【００５７】
メモリカード１は、コンピュータ２よりデータが供給されるのを待機する（ステップＳ２０１）。そして、データが供給されると、メモリカード１のコントローラ１２のＣＰＵ１２１は、そのデータのうちイネーブルコマンドを表す部分が、フラッシュメモリ１１のコマンドコードエリアに記憶されているイネーブルコマンドのコードに合致するか否かを判別する（ステップＳ２０２）。
そして、合致しないと判別した場合、供給されたデータを無視して、処理をステップＳ２０１に戻す。
【００５８】
ステップＳ２０２で、供給されたデータがイネーブルコマンドに合致すると判別した場合、ＣＰＵ１２１は、コンピュータ２より供給されたデータのうちパスワードを表す部分が、フラッシュメモリ１１のパスワードエリアに記憶されているパスワードに合致するか否かを判別する（ステップＳ２０３）。
【００５９】
該データがパスワードに合致しないと判別した場合、ＣＰＵ１２１は、該データを無視して、処理をステップＳ２０１に戻す。この結果、ＣＰＵ１２１は、コンピュータ２から供給されるアクセスコマンドを拒絶したままとなる。
【００６０】
一方、合致すると判別した場合、ＣＰＵ１２１は、コンピュータ２から供給されるアクセスコマンドを受け付ける状態に移り（ステップＳ２０４）、認証処理を終了し、コンピュータ２からアクセスコマンド等のデータが供給されるのを待機する。
【００６１】
コンピュータ２は、ＣＰＵ１２１がステップＳ２０４でアクセスコマンドを受け付ける状態に移ると、ステップＳ００６及びＳ００７と実質的に同一の処理を行う。すなわち、ＦＡＴの内容を取得してフラッシュメモリ１１の記憶領域のデータ構造を把握し、フラッシュメモリ１１が、コンピュータ２から供給されるアクセスコマンドに従ってアクセスされる状態となったことを示すアイコンを表示する。
以上のようにして、コンピュータ２は、ＣＰＵ１２１にフラッシュメモリ１１へのアクセスを行わせることが可能な状態となる。
【００６２】
（イネーブルコマンド及びパスワードを変更する処理）
コンピュータ２は、コントローラ１２のＣＰＵ１２１がアクセスコマンドを受け付けている状態で、例えば認証プログラムの処理に従って、コントローラ１２にセットパスワードコマンドを供給することにより、イネーブルコマンド及びパスワードの変更を指示する。コントローラ１２のＣＰＵ１２１は、指示に従ってイネーブルコマンド及びパスワードを変更する。
【００６３】
具体的には、認証プログラム等の処理を実行するコンピュータ２は、例えば、新たなイネーブルコマンド及びパスワードを書き込むためのテキストボックスを表示するなどして、新たなイネーブルコマンド及び新たなパスワードの入力をユーザに促す。
ユーザが新たなイネーブルコマンド及び新たなパスワードを入力すると、コンピュータ２は、コントローラ１２に、セットパスワードコマンドと、新たなイネーブルコマンド及び新たなパスワードとを供給する。
【００６４】
コントローラ１２のＣＰＵ１２１は、セットパスワードコマンド、新たなイネーブルコマンド及び新たなパスワードを供給されると、新たなイネーブルコマンドをフラッシュメモリ１１のコマンドコードエリアに書き込み、新たなパスワードを、フラッシュメモリ１１のパスワードエリアに書き込む。
以上説明した処理により、イネーブルコマンド及びパスワードが更新される。
【００６５】
なお、以上説明した処理によって、パスワードを、コンピュータ２から供給されるアクセスコマンドが無条件に受け付けられる条件に合致するよう更新すれば、フラッシュメモリ１１に格納されたデータは、ユーザの認証を要せずに読み出されることが可能な状態になる。
従って、メモリカード１を、イネーブルコマンドを知らない他の者に引き渡しても、その者はフラッシュメモリ１１に格納されているデータを、コンピュータ２のみならず他のコンピュータ等を用いて読み出すことができる。
【００６６】
（パスワードロックをかける処理）
コンピュータ２は、コントローラ１２のＣＰＵ１２１がアクセスコマンドを受け付けている場合であっても、認証プログラムの処理に従い、ＣＰＵ１２１にイネーブルコマンド及びパスワードを供給することができる。
この場合、ユーザは、コンピュータ２を操作して、正しいイネーブルコマンド及び誤ったパスワードを意図的に入力することにより、ＣＰＵ１２１を、コンピュータ２から供給されるアクセスコマンドを拒絶した状態にさせることができる。従って、ＣＰＵ１２１を、再びアクセスコマンドを受け付ける状態にさせるためには、正しいイネーブルコマンド及びパスワードの入力が必要となる（すなわち、パスワードロックがかかる）。
これにより、ユーザが一時的にコンピュータ２の設置場所を離れた場合などに、フラッシュメモリ１１に格納されたデータが他の者に取得される事態が防止され、データの守秘が行われる。
以下では、フラッシュメモリ１１にパスワードロックをかけるためのパスワードロック処理を、図６（ａ）及び（ｂ）を参照して説明する。
【００６７】
まず、コンピュータ２は、上述のステップＳ１０１及びＳ１０２と実質的に同一の処理を行い、ユーザが入力したイネーブルコマンド及びパスワードを含むデータをメモリカード１のコントローラ１２に供給する（ステップＳ３０１）。
【００６８】
コントローラ１２のＣＰＵ１２１は、コンピュータ２よりデータが供給されると、ステップＳ２０２と実質的に同一の処理を行い、該データが示すイネーブルコマンドがフラッシュメモリ１１に格納されているものに合致するか否かを判別する（ステップＳ４０１）。
そして、合致しないと判別した場合、ＣＰＵ１２１は、該データを無視して処理を終了し、コンピュータ２から他のデータが供給されるのを待機する。
【００６９】
合致すると判別した場合、メモリカード１は、ステップＳ２０３と実質的に同一の処理を行い、コンピュータ２より供給されたデータが示すパスワードが、フラッシュメモリ１１に格納されているものに合致するか否かを判別する（ステップＳ４０２）。
【００７０】
そして、合致すると判別した場合は、コンピュータ２から供給されたデータを無視して処理を終了し、コンピュータ２から他のデータが供給されるのを待機する。
一方、合致しないと判別した場合、ＣＰＵ１２１は、フラッシュメモリ１１に格納されているパスワードが、コンピュータ２から供給されるアクセスコマンドを無条件で受け付けるための条件に合致しているか否かを判別する（ステップＳ４０３）
【００７１】
条件に合致していると判別されると、ＣＰＵ１２１はコンピュータ２より供給されたデータを無視して処理を終了し、コンピュータ２から他のデータが供給されるのを待機する。
【００７２】
条件に合致しないと判別した場合、ＣＰＵ１２１は、コンピュータ２から供給されるアクセスコマンドを拒絶する状態に移り（ステップＳ４０４）、処理を終了して、コンピュータ２から他のデータが供給されるのを待機する。
【００７３】
以上説明した処理により、フラッシュメモリ１１にパスワードロックがかかり、フラッシュメモリ１１に格納されたデータが他の者に取得される事態が防止される。
【００７４】
なお、この認証システムの構成は上述のものである必要はない。
例えば、フラッシュメモリ１１はＥＥＰＲＯＭである必要はなく、ＣＰＵ１２１やその他任意の装置からのアクセスに応答してデータを書き換え可能に記憶したり、記憶している内容を出力したりするものである限り、任意の記憶装置であってよい。
また、メモリカード１は、物理的に破壊された場合に、フラッシュメモリ１１に格納されているデータが失われるような、いわゆるタンパフリー構造を有するものであれば、データの守秘はより確実に行われる。
【００７５】
また、イネーブルコマンド及びパスワードは、フラッシュメモリの記憶領域のうち、任意のアドレスにあたる位置に格納されていてよく、この場合、例えば、コントローラ１２が、イネーブルコマンド及びパスワードが記憶されている位置のアドレスを記憶するようにすればよい。
また、イネーブルコマンド及びパスワードのデータ長は、いずれも任意である。
【００７６】
また、フラッシュメモリ１１が記憶するイネーブルコマンド及びパスワードは一つずつである必要はなく、例えば、イネーブルコマンド及びパスワードのペアを複数記憶していてもよい。この場合、上述の認証処理においては、ユーザにより入力されたイネーブルコマンド及びパスワードに合致するイネーブルコマンド及びパスワードが、上述のペアをなしてフラッシュメモリ１１に記憶されている場合に限り、コンピュータ２から供給されるアクセスコマンドを受け付けることを決定するものとしてもよい。
【００７７】
また、コンピュータ２が備えるスロットは、コンピュータ２に着脱可能に装着されるようにしてもよい。
【００７８】
以上、この発明の実施の形態を説明したが、この発明の認証システムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、外部記憶装置を備えるコンピュータに上述の動作を実行するためのプログラムを格納した媒体（フロッピーディスク、ＣＤ−ＲＯＭ等）から該プログラムをインストールすることにより、上述の処理を実行する認証システムを構成することができる。
【００７９】
また、コンピュータにプログラムを供給するための媒体は、通信媒体（通信回線、通信ネットワーク、通信システムのように、一時的且つ流動的にプログラムを保持する媒体）でも良い。例えば、通信ネットワークの掲示板（ＢＢＳ）に該プログラムを掲示し、これをネットワークを介して配信してもよい。
そして、このプログラムを起動し、ＯＳの制御下に、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。
【００８０】
なお、ＯＳが処理の一部を分担する場合、あるいは、ＯＳが本願発明の１つの構成要素の一部を構成するような場合には、記録媒体には、その部分をのぞいたプログラムを格納してもよい。この場合も、この発明では、その記録媒体には、コンピュータが実行する各機能又はステップを実行するためのプログラムが格納されているものとする。
【００８１】
【発明の効果】
以上説明したように、この発明によれば、記憶装置に格納されたデータを、その譲渡の容易さを確保しつつ秘匿する簡便な認証システムが実現される。
【図面の簡単な説明】
【図１】本発明の実施の形態にかかる認証システムの構成を示すブロック図である。
【図２】フラッシュメモリのデータ構造を模式的に示す図である。
【図３】コントローラの構成を示すブロック図である。
【図４】（ａ）は、コンピュータの側での初期処理を示すフローチャートであり、（ｂ）は、メモリカードの側での初期処理を示すフローチャートである。
【図５】（ａ）は、コンピュータの側での認証処理を示すフローチャートであり、（ｂ）は、メモリカードの側での認証処理を示すフローチャートである。
【図６】（ａ）は、コンピュータの側における、パスワードロックをかける処理を示すフローチャートであり、（ｂ）は、メモリカードの側における、パスワードロックをかける処理を示すフローチャートである。
【符号の説明】
１      メモリカード
１１    フラッシュメモリ
１２    コントローラ
１２１  ＣＰＵ
１２２  ＲＯＭ
２      コンピュータ
【図１】
0003825917.tif 000002
【図２】
0003825917.tif 000003
【図３】
0003825917.tif 000004
【図４】
0003825917.tif 000005
【図５】
0003825917.tif 000006
【図６】
0003825917.tif 000007