(57)【要約】【課題】セキュリティのあるユーザーデータの保護のため、パスワードの検証回数に制限をかけて強制的にデータ消去を行うことで、アクセス権限を有しない第３者にデータが漏洩することを防止できるメモリカードを提供する。【解決手段】マルチメディアカード１と、このマルチメディアカード１に電気的に接続され、マルチメディアカード１の動作を制御するホスト機器２などから構成されるシステムであって、パスワード検証の失敗回数を記憶するリトライカウンタ５１を設け、さらに失敗回数の上限値５２をレジスタに設定しておき、パスワードの入力が１回目、・・・、ｎ回目と繰り返され、これを計数するリトライカウンタ５１が失敗回数の上限値５２に達した際に、データを強制的に消去し、フラッシュメモリ１１上にデータを残さないようにする。【選択図】        図２
2005011151.tif 000002
【特許請求の範囲】
【請求項１】
セキュア情報を格納し、パスワードによるアクセス管理を行うメモリカードであって、
誤パスワードの入力回数が一定回数を超えた場合、前記セキュア情報を格納した不揮発性メモリ領域のデータ消去を行うコントローラを有することを特徴とするメモリカード。
【請求項２】
不揮発性メモリと、第１コントローラと、セキュア情報の管理を行う第２コントローラとを有し、
前記第１コントローラは、誤パスワードの入力回数が一定回数を超えた場合、前記第２コントローラに対して、前記不揮発性メモリに格納したデータの消去指示を行う機能を有し、
前記第２コントローラは、前記第１コントローラからの消去指示を受けて、前記不揮発性メモリのデータ消去を行う機能を有することを特徴とするメモリカード。
【請求項３】
請求項１または２記載のメモリカードにおいて、
前記データ消去は、データ領域の全体を消去対象とすることを特徴とするメモリカード。
【請求項４】
請求項１または２記載のメモリカードにおいて、
前記データ消去は、データリードおよび／またはデータライトを不可能とするプロテクトビットをイネーブルにして行うことを特徴とするメモリカード。
【請求項５】
請求項１または２記載のメモリカードにおいて、
前記データ消去は、データ領域のうちの特定領域を消去対象とすることを特徴とするメモリカード。
【請求項６】
請求項５記載のメモリカードにおいて、
前記特定領域は、登録された消去対象領域のアドレスで範囲が設定されることを特徴とするメモリカード。
【請求項７】
請求項５記載のメモリカードにおいて、
前記特定領域は、管理領域の識別コードで範囲が設定されることを特徴とするメモリカード。
【請求項８】
請求項１または２記載のメモリカードにおいて、
前記データ消去の途中で電源が遮断された場合は、電源投入後に再びデータ消去を行うことを特徴とするメモリカード。
【請求項９】
請求項８記載のメモリカードにおいて、
前記誤パスワードの入力回数および前記一定回数は不揮発性メモリ領域に記憶しておき、前記電源投入後に、前記不揮発性メモリ領域に記憶してある前記誤パスワードの入力回数と前記一定回数とを読み込み、前記電源の遮断前の状態にしてデータ消去を行うことを特徴とするメモリカード。
【請求項１０】
請求項１または２記載のメモリカードにおいて、
前記誤パスワードの入力回数を計数する計数手段と、
前記一定回数を記憶する記憶手段とを有し、
前記コントローラまたは前記第１コントローラは、前記計数手段により計数された誤パスワードの入力回数と、前記記憶手段に記憶された一定回数とを比較し、前記誤パスワードの入力回数が前記一定回数を超えた場合にデータ消去を行うことを特徴とするメモリカード。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリカードに関し、特にフラッシュメモリ（フラッシュＥＥＰＲＯＭ）などのような不揮発性メモリを搭載したセキュリティ機能付きメモリカードに適用して有効な技術に関する。
【０００２】
【従来の技術】
本発明者が検討したところによれば、メモリカードに関しては、以下のような技術が考えられる。
【０００３】
たとえば、パーソナルコンピュータや携帯機器などの外部記憶媒体として、標準化団体であるＭＭＣＡ（ＭｕｌｔｉＭｅｄｉａＣａｒｄ  Ａｓｓｏｃｉａｔｉｏｎ）が標準化したマルチメディアカード（登録商標）などのメモリカードが広く知られており、デジタルビデオカメラの静止画像記録、携帯電話のデータ記録、携帯音楽プレーヤの音楽記録などに用いられている。
【０００４】
このようなマルチメディアカードは、パーソナルコンピュータや携帯機器などのホスト機器から発行される各種コマンドにより、カード内のフラッシュメモリに対するデータのリード／ライト／イレーズなどの各種動作が制御される。たとえば、ＭＭＣＡの非特許文献１で規格化されている、Ｌｏｃｋ＿Ｕｎｌｏｃｋコマンドでは、パスワードセット／パスワードクリア／ロック＿アンロック／イレーズを行うことができ、このコマンドによってフラッシュメモリに格納されているユーザーデータの保護を行うことが可能となっている。
【０００５】
【非特許文献１】
マルチメディアカード  システム仕様書  バージョン３．１  公式公開２００１年６月（ＭｕｌｔｉＭｅｄｉａＣａｒｄ  Ｓｙｓｔｅｍ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ３．１  Ｏｆｆｉｃｉａｌ  ＲｅｌｅａｓｅＪｕｎｅ  ２００１）、ｐ．３２−３４
【０００６】
【発明が解決しようとする課題】
ところで、前記のようなマルチメディアカードについて、本発明者が検討した結果、以下のようなことが明らかとなった。
【０００７】
たとえば、前記のようなＬｏｃｋ＿Ｕｎｌｏｃｋコマンドでは、パスワードセットによりロック状態となったマルチメディアカードでも、パスワードの再送攻撃により、パスワードセットしたユーザー以外の第３者にユーザーデータが漏洩する可能性がある。
【０００８】
すなわち、Ｌｏｃｋ＿Ｕｎｌｏｃｋコマンドは、パスワードを用いてフラッシュメモリへのアクセスを禁止する目的で用意されているが、パスワードを試行しながら入力を繰り返していくことによりパスワードが発見される恐れがあり、万一、パスワードが発見された場合には、フラッシュメモリにアクセスして格納されているユーザーデータが読み出され、第３者に漏れることとなる。
【０００９】
また、銀行のキャッシュカードシステムのようにパスワードの検証回数に制限を設けているシステムも存在するが、係るシステムではネットワークで接続されたホストシステムが集中管理をし、キャッシュカードにその情報が書き込まれ、また情報の書込前にキャッシュカード自体を強制的に抜き出すことが出来ないような構成となっている。しかしながら、メモリカードでは接続されるホスト機器との接続は容易に切断可能であり、又メモリカード自体を強制的に抜き出すことも可能である。
【００１０】
そこで、本発明の目的は、セキュリティのあるユーザーデータの保護のため、パスワードの検証回数に制限をかけて強制的にデータ消去を行うことで、アクセス権限を有しない第３者にデータが漏洩することを防止することができるメモリカードを提供することにある。
【００１１】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【００１２】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１３】
本発明は、セキュリティのあるユーザーデータの保護のため、パスワードロック状態のメモリカードに対して、誤パスワードの入力回数が一定回数を超えた場合に、セキュア情報が格納してある不揮発性メモリ領域からデータの強制的消去を行うものである。
【００１４】
また、本発明のメモリカードは、パスワード検証を行っているコントローラが、誤パスワードの入力回数が一定回数を超えた場合に他のコントローラに対してデータの消去指示を出し、他のコントローラが制御している不揮発性メモリのセキュリティデータを強制的に消去するものである。
【００１５】
具体的に、本発明のメモリカードはマルチメディアカード等のメモリカードに適用され、以下のような特徴を有するものである。
【００１６】
（１）パスワード検証の失敗回数（誤パスワードの入力回数）が、上限値（一定回数）を越えた場合に、フラッシュメモリまたは不揮発性メモリの全データを強制的に消去して、フラッシュメモリにユーザーデータを残さないようにする。ただし、セキュア領域を含む管理領域については消去しないように設定可能としても良い。管理領域には不良ビットの救済情報等が含まれており、係る領域の情報は消去しないようにすることで、該メモリカードの再利用が可能となる。
【００１７】
（２）パスワード検証の失敗回数が上限値を超えた場合には、リードプロテクトビットを立てて、データのリードを不可能とする。この場合には、フラッシュメモリまたは不揮発性メモリの全データを消去する時間がかからず、データの復帰もできる。この場合のデータ消去は、リードプロテクトビットをイネーブルにして行う。なお、ライトプロテクトビットにより、データのライトを不可能とすることも可能である。
【００１８】
（３）強制的に消去するフラッシュメモリまたは不揮発性メモリの範囲を、登録された消去対象領域のアドレスまたは管理領域の識別コードで任意に設定する。この場合には、秘匿データのみを消去することができるため、汎用性が広がる。
【００１９】
（４）パスワード検証の失敗回数およびその上限値の値は、フラッシュメモリまたは不揮発性メモリに記憶して電源を落としてもそのデータは残るようにする。そして、電源投入後のリセット処理で、パスワード検証の失敗回数およびその上限値を読み込んで比較し、もし失敗回数が上限値を超えた場合のデータ消去が電源遮断などにより途中で終わっていた場合には、電源再投入後にデータ消去を再開する。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一機能を有する部材には同一の符号を付し、その繰り返しの説明は省略する。
【００２１】
図１により、本発明の一実施の形態のメモリカードを用いたシステムの構成の一例を説明する。図１は本実施の形態のメモリカードを用いたシステムの構成図を示す。
【００２２】
本実施の形態のシステムは、たとえばメモリカードの一例としてのマルチメディアカードを用いたシステムとされ、マルチメディアカード１と、このマルチメディアカード１に電気的に接続され、マルチメディアカード１にコマンドを供給して、このマルチメディアカード１の動作を制御するホスト機器２などから構成される。このシステムでは、ホスト機器２は、たとえばパーソナルコンピュータや携帯機器などからなり、これらの外部記憶媒体としてマルチメディアカード１が用いられる。
【００２３】
マルチメディアカード１は、各種情報を記憶するフラッシュメモリ１１と、このフラッシュメモリ１１に対する動作を制御するコントローラ１２などから構成される。このマルチメディアカード１は、ホスト機器２に挿抜可能に設けられ、ホスト機器２への挿入状態において、外部端子１３を通じてホスト機器２と電気的に接続される。
【００２４】
フラッシュメモリ１１には、ユーザーデータを格納し、ユーザーが使用可能なユーザー使用領域２１と、フラッシュメモリ１１を管理するセキュア情報を格納するセキュア領域２２が設けられている。セキュア領域２２には、セキュリティに関する情報やパスワード認証に関する情報などが格納されている。また、セキュア領域２２内に、又はセキュア領域２２とは別の図示しない管理領域に、フラッシュメモリ１１のビット不良の救済情報やコントローラ１２が実行すべきプログラムの一部が格納されていても良い。
【００２５】
コントローラ１２には、カード全体の演算処理を司るＣＰＵ３１と、ホスト機器２とのインターフェースを司り、ホスト機器２と接続するための制御論理機能などを持つホストインターフェース制御ロジック３２と、フラッシュメモリ１１とのインターフェースを司り、フラッシュメモリ１１にアクセスするための制御論理機能などを持つフラッシュメモリインターフェース制御ロジック３３と、パスワード認証のためのデータをフラッシュメモリ１１のセキュア領域２２から読み出して一時的に格納するパスワード認証用レジスタ３４などが備えられている。
【００２６】
ＣＰＵ３１には、メモリ制御プログラム４１、セキュリティ処理プログラム４２、パスワード認証処理プログラム４３などが格納され、これらのプログラムに基づいて動作する。メモリ制御プログラム４１は、フラッシュメモリ１１に対するリード／ライト／イレーズの各動作におけるアクセス制御を実行するためのプログラムである。セキュリティ処理プログラム４２は、セキュリティに関する処理を実行するためのプログラムである。パスワード認証処理プログラム４３は、パスワードによるユーザー認証処理を実行するためのプログラムである。また、マルチメディアカード１へのアクセスが不正であるか否かを判断するための不正利用防止モジュール３５を有している。この不正利用防止モジュールについては、専用の回路を持つように構成され、又は専用の回路を持たずにＣＰＵが実行するプログラムのみとして構成するものであっても良い。
【００２７】
以上のように構成されるシステムにおいて、マルチメディアカード１には、ホスト機器２から、動作を制御するための各種コマンドが発行され、特にパスワードセット／パスワードクリア／ロック＿アンロック／イレーズを行うことができる、Ｌｏｃｋ＿Ｕｎｌｏｃｋコマンドが発行されるようになっている。このコマンドの発行において、パスワード検証失敗時には、データを強制的に消去してセキュリティの向上を図っている。この場合の消去とは、例えばファイルアロケーションテーブル上のファイル管理情報として、消去ビットをイネーブルにする等のファイルレベルで消去することではなく、フラッシュメモリ１１内のデータを格納するメモリセルのしきい値電圧を消去レベルにする等の物理的に消去することにより、データの痕跡を残さないことである。
【００２８】
次に、本実施の形態のメモリカードを用いたシステムにおいて、パスワードロックコマンドが発行された場合の動作の一例を順に説明する。
【００２９】
まず、図２〜図６により、パスワードロックコマンドが発行された場合のパスワード検証の一例を説明する。それぞれ、図２はパスワードロックコマンドが発行された場合のパスワード検証の説明図、図３はセキュア領域内のパスワードブロックのビット割り付けの説明図、図４〜図６はパスワードロックコマンド（パスワードセット／ロック、パスワードクリア／ロック解除、消去）が発行された場合の各動作のフロー図を示す。
【００３０】
パスワードロックコマンドで、パスワードの再送を繰り返された場合、パスワードが発見される恐れがあるため、パスワードの失敗回数によってフラッシュメモリ１１上のデータ（ユーザー使用領域２１）を全部消去して、情報の漏洩を防止する。
【００３１】
そのために、図２に示すように、パスワード検証の失敗回数を記憶するレジスタとしてのリトライカウンタ（計数手段）５１を設け、さらに失敗回数の上限値５２をレジスタ（記憶手段）に設定しておく。このリトライカウンタ５１、上限値５２は、図３において後述するフラッシュメモリ１１のセキュア領域２２内のパスワードブロックに割り当てられて設けられている。
【００３２】
このようなリトライカウンタ５１、上限値５２を設けた構成において、パスワードの入力が１回目、・・・、ｎ回目と繰り返され、これを計数するリトライカウンタ５１の値と失敗回数の上限値５２とを比較し、リトライカウンタ５１が上限値５２に達した際に、データを強制的に消去し、フラッシュメモリ１１上にデータを残さないようにする。また、パスワード検証成功時には、リトライカウンタ５１を０に戻す。なお、失敗回数の上限値５２は任意に設定でき、たとえば上限値＝０に設定すれば、回数無限大とすることも可能である。
【００３３】
図３に示すように、フラッシュメモリ１１上のセキュア領域２２内のパスワードブロックには、Ｂｙｔｅ０のＢｉｔ０にパスワードセット（ＳＥＴ＿ＰＷＤ）、Ｂｉｔ１にパスワードクリア（ＣＬＲ＿ＰＷＤ）、Ｂｉｔ２にロック＿アンロック（ＬＯＣＫ＿ＵＮＬＯＣＫ）、Ｂｉｔ３にイレーズ（ＥＲＡＳＥ）がそれぞれ割り当てられている。
【００３４】
たとえば、一例として、パスワードロックコマンド（パスワードセット／ロック）は、Ｂｉｔ０＝１／Ｂｉｔ２＝１で設定され、パスワードロックコマンド（パスワードクリア／ロック解除）はＢｉｔ１＝１／Ｂｉｔ２＝０で設定され、パスワードロックコマンド（消去）はＢｉｔ３＝１で設定される。
【００３５】
さらに、Ｂｙｔｅ１にはパスワード長（ＰＷＤ＿ＬＥＮ）、Ｂｙｔｅ２〜ＢｙｔｅＰＷＤ＿ＬＥＮ＋１にはパスワードデータ（Ｐａｓｓｗｏｒｄ  ｄａｔａ）がそれぞれ割り当てられている。
【００３６】
また、セキュア領域２２内のパスワードブロックには、前述した、パスワード検証の失敗回数を記憶するリトライカウンタ５１がＢｙｔｅＮ−３，Ｎ−２に割り当てられ、さらに失敗回数の上限値５２がＢｙｔｅＮ−１，Ｎに割り当てられている。
【００３７】
図４に示すように、ホスト機器２からマルチメディアカード１に対してパスワードロックコマンド（パスワードセット／ロック）が発行され、パスワードデータが送信されると（ステップＳ１０１）、マルチメディアカード１のコントローラ１２は、ホスト機器２からのコマンドでパスワードをセットするか否かを判定し（ステップＳ１０２）、パスワードをセットする場合（ＹＥＳ）、既にパスワードが設定されているか否かの判定を行う（ステップＳ１０３）。パスワードが既に設定されている場合は、図示しないがホスト機器２から認証用にパスワードが発行され、認証用パスワードと既に設定されているパスワードが一致するかの判定が行われる（ステップＳ１０６）。認証用パスワードと一致する（ステップＳ１０６のＹＥＳ）又はパスワードが設定されていない（ステップＳ１０３のＮＯ）場合は、ホストからのコマンドと共に送信されたパスワードデータによりパスワードの設定が行われる（ステップＳ１０５）。
【００３８】
該コマンドでパスワードを設定しない（ステップＳ１０２のＮＯ）場合はマルチメディアカード１がロック状態であるかを判定する（ステップＳ１０４）。
【００３９】
この判定の結果、ロック状態でない場合（ＮＯ）には、認証用パスワードと既に設定されているパスワードが一致するかの判定が行われる（ステップＳ１０７）。認証用パスワードと一致する（ＹＥＳ）場合には、パスワードロックの処理を行い（ステップＳ１０９）、リトライカウンタのクリアが行われ（ステップＳ１１０）、パスワードロック状態に設定されたことをホスト機器２に対して送信する。
【００４０】
認証用パスワードと既に設定されているパスワードとが一致しない場合（ステップＳ１０６のＮＯ又はステップＳ１０７のＮＯ）、失敗回数の上限値５２が０に設定されているか否かを判定し（ステップＳ１０８）、０に設定されている場合（ＮＯ）は、ホスト機器２に対してエラーを送信する（ステップＳ１１４）。
【００４１】
失敗回数の上限値５２が０以外に設定されている場合（ステップＳ１０８のＹＥＳ）、リトライカウンタ５１を＋１し（ステップＳ１１１）、リトライカウンタ５１の値が失敗回数の上限値５２を越えたか否かが判定される（ステップＳ１１２）。上限値５２を越えていない場合（ＮＯ）、ホスト機器２に対してエラーを送信する（ステップＳ１１４）。一方、リトライカウンタ５１の値が失敗回数の上限値５２を越えた場合（ステップＳ１１２のＹＥＳ）、フラッシュメモリ１１のユーザ使用領域２１に格納されている全てのデータの消去が行われる（ステップＳ１１３）。
【００４２】
そして、ホスト機器２は、ステップＳ１１０におけるリトライカウンタ５１のクリア後のパスワードクリア／ロック設定状態のステータス情報（ロック設定成功）、ステップＳ１１４におけるエラーのステータス情報（ロック設定失敗）を受信する（ステップＳ１１５）。
【００４３】
ステップＳ１１１からステップＳ１１３までは不正利用防止モジュールにおいてかかる制御が行われる。
【００４４】
図５に示すように、ホスト機器２からマルチメディアカード１に対してパスワードロックコマンド（パスワードクリア／ロック解除）が発行され、パスワードデータが送信されると（ステップＳ２０１）、マルチメディアカード１のコントローラ１２は、ロック状態であるかを判定する（ステップＳ２０２）。
【００４５】
この判定の結果、ロック状態である場合（ＹＥＳ）には、続いてパスワードが一致するかを判定する（ステップＳ２０３）。パスワードが一致した場合（ＹＥＳ）には、パスワードクリア／ロック解除の処理を行い（ステップＳ２０４）、さらにリトライカウンタ５１をクリアして（ステップＳ２０５）、パスワードクリア／ロック解除状態であることをホスト機器２に対して送信する。
【００４６】
また、ステップＳ２０３における判定の結果、パスワードが一致しない場合（ＮＯ）には、続いて上限値５２が０でないかを判定する（ステップＳ２０６）。上限値５２が０でない場合（ＹＥＳ）には、リトライカウンタ５１を＋１した後（ステップＳ２０７）、リトライカウンタ５１が上限値５２より大きいかを判定する（ステップＳ２０８）。リトライカウンタ５１が上限値５２より大きい場合（ＹＥＳ）には、フラッシュメモリ１１のユーザー使用領域２１のデータ全消去を行う（ステップＳ２０９）。
【００４７】
さらに、フラッシュメモリ１１のユーザー使用領域２１のデータ全消去を行った後、また、ステップＳ２０２における判定の結果がロック状態でない場合（ＮＯ）、ステップＳ２０６における判定の結果で上限値５２が０である場合（ＮＯ）、ステップＳ２０８における判定の結果でリトライカウンタ５１が上限値５２より大きくない場合（ＮＯ）にはそれぞれ、エラーとして（ステップＳ２１０）、ホスト機器２に対して送信する。
【００４８】
そして、ホスト機器２は、ステップＳ２０５におけるリトライカウンタ５１のクリア後のパスワードクリア／ロック解除状態のステータス情報（ロック解除成功）、ステップＳ２１０におけるエラーのステータス情報（ロック解除失敗）を受信する（ステップＳ２１１）。
【００４９】
ステップＳ２０７からステップＳ２０９までは不正利用防止モジュールにおいてかかる制御が行われる。
【００５０】
図６に示すように、ホスト機器２からマルチメディアカード１に対してパスワードロックコマンド（消去）が発行され、パスワードデータが送信されると（ステップＳ３０１）、マルチメディアカード１のコントローラ１２は、ロック状態であるかを判定する（ステップＳ３０２）。
【００５１】
この判定の結果、ロック状態である場合（ＹＥＳ）には、フラッシュメモリ１１のデータ全領域（ユーザー使用領域２１）を消去した後（ステップＳ３０３）、パスワードクリア／ロック解除の処理を行い（ステップＳ３０４）、パスワードクリア／ロック解除状態であることをホスト機器２に対して送信する。また、ロック状態である場合（ＹＥＳ）には、エラーとして（ステップＳ３０５）、ホスト機器２に対して送信する。そして、ホスト機器２は、これらの各ステータス情報を受信する（ステップＳ３０６）。
【００５２】
次に、図７〜図１１により、パスワードロックコマンドが発行された場合のリードプロテクトビットの設定の一例を説明する。それぞれ、図７はパスワードロックコマンドが発行された場合のリードプロテクトビットの設定の説明図、図８はパスワード失敗時のリードプロテクトビットの設定のフロー図、図９〜図１１はリードプロテクトビットの設定クリア（プログラム格納済み、プログラム未格納、消去）の各動作のフロー図を示す。
【００５３】
図７に示すように、パスワードロックコマンドで、リトライカウンタ５１が上限値５２に達した際に、フラッシュメモリ１１のセキュア領域２２にリードプロテクトビット（ＲｅａｄＰｒｏｔｅｃｔＢｉｔ）を立て、その後、パスワード検証に成功してもデータリードを不可能とする。さらに好適には、ライトプロテクトビットを設け、データライトも不可能とすることが望ましい。
【００５４】
前述した図２〜図６に示したデータ消去の方法と比較すると、データを使用不可能とするだけなので、データを残すことができる。また、消去時間もかからないというメリットがある。しかし、データ消去する方法の方がセキュリティは高い。また、この方法はフラッシュ全領域を対象とするだけではなく、部分的に適用しても可である。データを消去する方法をとっているフラッシュの一部分を、リード不可能もしくはライト不可能とする方法にすることも本発明は可能である。
この場合には、セキュリティの高さや消去可／不可などデータの内容によって、データごとに方法を選択することもできる。
【００５５】
データリード不可とするこの方法では、データは消去されないため、以下のような方法で読み出し可能に戻すことができる。▲１▼認証局用／製造者用コマンドにより、リードプロテクトビットを消去する。なお、認証局用／製造者用コマンドとは、一般ユーザーが使用できないコマンドであり、顧客側でシステム管理者（認証局）を設定した場合には認証局用パスワードにより使用可能とするコマンドである。この方法では、パスワードの変更も可能である。▲２▼データの強制消去を行ったときには、リードプロテクトビットも消去する。
【００５６】
図８に示すように、ホスト機器２からマルチメディアカード１に対してパスワードロックコマンド（パスワードクリア／ロック解除）が発行され、パスワードデータが送信されると（ステップＳ４０１）、マルチメディアカード１のコントローラ１２は、前述した図５と同様に、ロック状態の判定（ステップＳ４０２）、パスワード一致の判定（ステップＳ４０３）、パスワードクリア／ロック解除の処理（ステップＳ４０４）、リトライカウンタのクリア（ステップＳ４０５）、上限値≠０の判定（ステップＳ４０６）、リトライカウンタ＝＋１（ステップＳ４０７）、リトライカウンタ≧上限値の判定（ステップＳ４０８）を行った後、リトライカウンタ５１が上限値５２より大きい場合（ＹＥＳ）には、フラッシュメモリ１１のセキュア領域２２にリードプロテクトビットの設定を行う（ステップＳ４０９）。
【００５７】
その後、フラッシュメモリ１１のセキュア領域２２にリードプロテクトビットの設定を行った後、前述した図５と同様に、エラーとして（ステップＳ４１０）、ホスト機器２に対して送信する。そして、ホスト機器２は、ステップＳ４０５におけるリトライカウンタ５１のクリア後のパスワードクリア／ロック解除状態のステータス情報（ロック解除成功）、ステップＳ４１０におけるエラーのステータス情報（ロック解除失敗）を受信する（ステップＳ４１１）。
【００５８】
ステップＳ４０７からステップＳ４０９までは不正利用防止モジュールにおいてかかる制御が行われる。
【００５９】
図９に示すように、ホスト機器２からマルチメディアカード１に対して認証局／製造者用コマンド（リードプロテクトビット解除／ロックパスワード変更）が発行され、認証局／製造者用パスワードデータが送信されると（ステップＳ５０１）、マルチメディアカード１のコントローラ１２は、パスワードが一致するかを判定する（ステップＳ５０２）。
【００６０】
この判定の結果、パスワードが一致した場合（ＹＥＳ）には、リードプロテクトビット解除／ロックパスワード変更の処理を行う（ステップＳ５０３）。また、パスワードが一致しない場合（ＮＯ）には、エラーとなる（ステップＳ５０４）。この状態では、リードプロテクトビットが解除、すなわちイネーブルとなっているので、データリードが可能となり、またデータライト、データ消去を行うことができる。
【００６１】
この図９の例は、既にマルチメディアカード１にパスワード認証処理プログラム４３が格納されている場合の処理手順であり、もし、パスワード認証処理プログラム４３がマルチメディアカード１に格納されていない場合には、後述する図１０の処理手順で行われる。
【００６２】
図１０に示すように、パスワード認証処理プログラム４３がマルチメディアカード１に格納されていない場合には、まず、ホスト機器２からマルチメディアカード１に対してプログラムがダウンロードされ、認証局／製造者用パスワードデータ、プログラムデータが送信されると（ステップＳ６０１）、マルチメディアカード１のコントローラ１２は、パスワードが一致するかを判定し（ステップＳ６０２）、パスワードが一致した場合（ＹＥＳ）にはプログラムデータ記憶の処理を行い（ステップＳ６０３）、またパスワードが一致しない場合（ＮＯ）にはエラーとなる（ステップＳ６０４）。
【００６３】
その後、前記図９と同様に、ホスト機器２からマルチメディアカード１に対しての認証局／製造者用コマンド（リードプロテクトビット解除）の発行と認証局／製造者用パスワードデータの送信（ステップＳ６０５）、パスワード一致の判定（ステップＳ６０６）を行った後、パスワードが一致した場合（ＹＥＳ）には、ステップＳ６０３において記憶したプログラムデータを呼び出し（ステップＳ６０７）、リードプロテクトビット解除／ロックパスワード変更の処理を行い（ステップＳ６０８）、またパスワードが一致しない場合（ＮＯ）にはエラーとなる（ステップＳ６０９）。
【００６４】
図１１に示すように、フラッシュメモリ１１のデータ全領域（ユーザー使用領域２１）の強制消去を行う場合には、前記図６と同様に、ホスト機器２からマルチメディアカード１に対してパスワードロックコマンド（消去）の発行とパスワードデータの送信（ステップＳ７０１）、ロック状態の判定（ステップＳ７０２）、データ全領域の消去（ステップＳ７０３）、パスワードクリア／ロック解除の処理（ステップＳ７０４）を行った後、リードプロテクトビット解除の処理を行う（ステップ７０５）。
【００６５】
そして、ホスト機器２は、パスワードクリア／ロック解除、リードプロテクトビット解除状態として、またステップＳ７０２においてロック状態である場合（ＹＥＳ）にはエラーとして（ステップＳ７０６）、これらの各ステータス情報を受信する（ステップＳ７０７）。
【００６６】
次に、図１２〜図１４により、パスワードロックコマンドが発行された場合のデータ消去領域の設定の一例を説明する。それぞれ、図１２はパスワードロックコマンドが発行された場合のデータ消去領域の設定の説明図、図１３〜図１４はデータ消去領域の設定範囲（アドレス登録、管理領域識別コード）の説明図を示す。
【００６７】
図１２に示すように、パスワード検証失敗時に、フラッシュメモリ１１のデータ消去（データリード不可能）する領域を指定できる。すなわち、データ領域（ユーザー使用領域２１）のうち、秘匿データを格納する消去対象領域６１のみを消去し、秘匿データではないデータを格納する消去非対象領域６２は消去しない。このパスワード検証失敗時のデータ消去は、データ領域だけで、セキュア領域２２は残し、データ消去後の通常使用や、パスワードの再設定などはできるようにする。
【００６８】
図１３に示すように、消去対象領域のアドレスを登録しておく場合には、データ領域が消去対象領域６１と消去非対象領域６２に区分され、消去対象領域６１の最後のアドレス（Ｈ’ｘｘｘ）をセキュア領域２２に登録する。これにより、セキュア領域２２に登録したアドレス（Ｈ’ｘｘｘ）までは消去対象領域６１の範囲として、この領域のデータを消去する。
【００６９】
図１４に示すように、管理領域の識別コードで識別する場合には、データ領域が管理領域の識別コードにより、領域Ａは消去対象領域６１、領域Ｂは消去非対象領域６２に区分される。これにより、管理領域の識別コードにより区分された領域Ａは消去対象領域６１の範囲として、この領域のデータを消去する。
【００７０】
次に、図１５〜図１６により、パスワードロックコマンドが発行された場合のリトライカウンタのフラッシュメモリへの書き込みの一例を説明する。それぞれ、図１５はパスワードロックコマンドが発行された場合のリトライカウンタのフラッシュメモリへの書き込みの説明図、図１６はリセット処理でのデータ消去のフロー図を示す。
【００７１】
図１５に示すように、パスワード検証の失敗回数のリトライカウンタ５１はフラッシュメモリ１１のセキュア領域２２に記憶しておき、電源を遮断しても消えないようにしておく。検証失敗の上限値５２もフラッシュメモリ１１のセキュア領域２２に書き込み、その後、電源の遮断があっても、電源再投入時にフラッシュメモリ１１からリトライカウンタ５１、上限値５２を読み込むことにより、電源遮断前の状態にする。
【００７２】
そのため、もし、パスワード検証の失敗が上限値５２を超えて、強制的にデータ領域（ユーザー使用領域２１）の全消去となった瞬間に、故意に電源遮断をしてデータ消去を防いだとしても、電源再投入後にデータ領域の全消去が再び行われる。
【００７３】
リトライカウンタ５１又は上限値５２のフラッシュメモリ１１への書き込みにおいては、所謂追加書込機能を用いることが好適である。追加書込機能の詳細については、特開平１０−０７９１９７号及び特開平１１−３４５４９４号公報に記載されている。フラッシュメモリ１１への書き込みにおいては、通常は５１２バイト等のセクタと呼ばれる単位毎に書き込みが行われるのであるが、追加書込機能を用いることによりセクタ中の一部に対して書き込みが可能となり、リトライカウンタ５１又は上限値５２のフラッシュメモリ１１への書き込みに必要とされる時間を短縮することが可能となる。
【００７４】
図１６に示すように、リセット処理でのデータ消去を行う場合には、マルチメディアカード１のコントローラ１２がパスワード検証の失敗を確認すると（ステップＳ８０１）、リトライカウンタ５１を＋１した後（ステップＳ８０２）、フラッシュメモリ１１のセキュア領域２２にリトライカウンタ５１の書き込みを行う（ステップＳ８０３）。その後、書き込み終了をホスト機器２に対して送信する（ステップＳ８０４）。そして、ホスト機器２は、書き込み終了のステータス情報（パスワード検証失敗）を受信する（ステップＳ８０５）。図４他の図面では図示していないが、例えば図４のステップＳ１１１においてリトライカウンタ５１を＋１した後、同様にフラッシュメモリ１１のセキュア領域２２にリトライカウンタ５１の書き込みを行うと良い。
【００７５】
ここで、ホスト機器２の電源が遮断（ＯＦＦ）され（ステップＳ８０６）、再び電源が投入（ＯＮ）されると（ステップＳ８０７）、マルチメディアカード１のコントローラ１２は、リセット処理を行う（ステップＳ８０８）。そして、ステップＳ８０３においてフラッシュメモリ１１のセキュア領域２２に書き込んだリトライカウンタ５１を読み込み（ステップＳ８０９）、リトライカウンタ５１が上限値５２より大きいかを判定する（ステップＳ８１０）。
【００７６】
この判定の結果、リトライカウンタ５１が上限値５２より大きい場合（ＹＥＳ）には、フラッシュメモリ１１のデータ領域のデータ消去を行い（ステップＳ８１１）、さらにフラッシュメモリ１１のセキュア領域２２のリトライカウンタ５１をクリアする（ステップＳ８１２）。
【００７７】
そして、マルチメディアカード１のコントローラ１２は、リトライカウンタ５１をクリアした後、またステップＳ８１０における判定の結果でリトライカウンタ５１が上限値５２より大きくない場合（ＮＯ）にはそれぞれ、マルチメディアカード１を通常の実行状態にする（ステップＳ８１３）。
【００７８】
次に、図１７〜図１８により、パスワードロックコマンドが発行された場合の別コントローラでの秘匿データ消去の一例を説明する。それぞれ、図１７はパスワードロックコマンドが発行された場合の別コントローラでの秘匿データ消去の説明図、図１８は別コントローラへの消去命令送信のフロー図を示す。
【００７９】
図１７に示すように、マルチメディアカード１に、フラッシュメモリ１１へのアクセスを制御するコントローラ▲１▼１２の他に、不揮発性メモリ１４へのアクセスを制御するコントローラ▲２▼１５が搭載された構成において、パスワード検証失敗時に、別のコントローラ▲２▼１５で管理している不揮発性メモリ１４に対して消去指示を出し、不揮発性メモリ１４の秘匿データを消去する。
【００８０】
図１８に示すように、コントローラ▲１▼１２でパスワードの検証失敗が起き、リトライカウンタ５１が上限値５２に達した場合に（ステップＳ９０１）、コントローラ▲１▼１２からコントローラ▲２▼１５に対して不揮発性メモリ１４の秘匿データの消去命令を送信する（ステップＳ９０２）。この際に、消去命令は暗号化して送る（ステップＳ９０３）。
【００８１】
そして、コントローラ▲２▼１５では、受信した暗号化命令を復号し（ステップＳ９０４）、コントローラ▲１▼１２からの命令であるかを判定する（ステップＳ９０５）。この判定の結果、コントローラ▲１▼１２からの命令である場合（ＹＥＳ）に限り、消去指示により不揮発性メモリ１４の秘匿データの消去を行う（ステップＳ９０６）。
【００８２】
さらに、不揮発性メモリ１４の秘匿データの消去を行った後、またステップＳ９０５における判定の結果がコントローラ▲１▼１２からの命令でない場合（ＮＯ）にはエラーとして（ステップＳ９０７）、コントローラ▲２▼１５からコントローラ▲１▼１２に対してレスポンスを送信する（ステップＳ９０８）。そして、コントローラ▲１▼１２は、これらの各レスポンスを受信する（ステップＳ９０９）。
【００８３】
従って、本実施の形態によれば、パスワードの検証回数に制限がかけられるので、パスワードの再送攻撃を行うと、上限値を超えた場合にユーザーの意図に関わらずに強制的にデータ消去となるため、データの漏洩を防ぐことができる。また、パスワードが発見される危険性も少なくなる。
【００８４】
さらに、ホスト機器２側から見ると、マルチメディアカード１の通常コマンドと体系は変わらないため、マルチメディアカード互換の通常のホスト機器２で本機能を使用することができる。
【００８５】
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００８６】
前記実施の形態においては、ユーザ使用領域のデータを消去する例を示したが、これは該メモリカードをその後においても使用可能とするためであり、その後使用可能としないのであれば、ユーザ使用領域のみならずセキュア領域などの他の領域をもデータ消去しても良い。
【００８７】
たとえば、前記実施の形態においては、不揮発性メモリとしてフラッシュメモリを例に説明したが、ＥＥＰＲＯＭなどの不揮発性メモリなどにも適用することが可能である。
【００８８】
また、本発明は、前記のようにフラッシュメモリを搭載したマルチメディアカードに適用して効果的であるが、さらに他の規格のメモリカードや、フラッシュメモリ、不揮発性メモリなどを搭載したメモリモジュール、メモリ装置などの半導体記憶装置全般に広く応用可能であり、特にセキュリティデータが格納されている不揮発性メモリを持つ半導体記憶装置に良好に適用することができる。
【００８９】
【発明の効果】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【００９０】
（１）パスワードの再送攻撃に対して、パスワードの検証回数に制限をかけて強制的にデータ消去を行うことができるので、セキュリティのあるユーザーデータがアクセス権限を有しない第３者に漏洩することを防止することが可能となる。
【００９１】
（２）前記（１）により、パスワードが発見される危険性も低減することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施の形態のメモリカードを用いたシステムを示す構成図である。
【図２】本発明の一実施の形態において、パスワードロックコマンドが発行された場合のパスワード検証を示す説明図である。
【図３】本発明の一実施の形態において、セキュア領域内のパスワードブロックのビット割り付けを示す説明図である。
【図４】本発明の一実施の形態において、パスワードロックコマンド（パスワードセット／ロック）が発行された場合の動作を示すフロー図である。
【図５】本発明の一実施の形態において、パスワードロックコマンド（パスワードクリア／ロック解除）が発行された場合の動作を示すフロー図である。
【図６】本発明の一実施の形態において、パスワードロックコマンド（消去）が発行された場合の動作を示すフロー図である。
【図７】本発明の一実施の形態において、パスワードロックコマンドが発行された場合のリードプロテクトビットの設定を示す説明図である。
【図８】本発明の一実施の形態において、パスワード失敗時のリードプロテクトビットの設定を示すフロー図である。
【図９】本発明の一実施の形態において、リードプロテクトビットの設定クリア（プログラム格納済み）の動作を示すフロー図である。
【図１０】本発明の一実施の形態において、リードプロテクトビットの設定クリア（プログラム未格納）の動作を示すフロー図である。
【図１１】本発明の一実施の形態において、リードプロテクトビットの設定クリア（消去）の動作を示すフロー図である。
【図１２】本発明の一実施の形態において、パスワードロックコマンドが発行された場合のデータ消去領域の設定を示す説明図である。
【図１３】本発明の一実施の形態において、データ消去領域の設定範囲（アドレス登録）を示す説明図である。
【図１４】本発明の一実施の形態において、データ消去領域の設定範囲（管理領域識別コード）を示す説明図である。
【図１５】本発明の一実施の形態において、パスワードロックコマンドが発行された場合のリトライカウンタのフラッシュメモリへの書き込みを示す説明図である。
【図１６】本発明の一実施の形態において、リセット処理でのデータ消去を示すフロー図である。
【図１７】本発明の一実施の形態において、パスワードロックコマンドが発行された場合の別コントローラでの秘匿データ消去を示す説明図である。
【図１８】本発明の一実施の形態において、別コントローラへの消去命令送信を示すフロー図である。
【符号の説明】
１  マルチメディアカード
２  ホスト機器
１１  フラッシュメモリ
１２  コントローラ
１３  外部端子
１４  不揮発性メモリ
１５  コントローラ
２１  ユーザー使用領域
２２  セキュア領域
３１  ＣＰＵ
３２  ホストインターフェース制御ロジック
３３  フラッシュメモリインターフェース制御ロジック
３４  パスワード認証用レジスタ
３５  不正利用防止モジュール
４１  メモリ制御プログラム
４２  セキュリティ処理プログラム
４３  パスワード認証処理プログラム
５１  リトライカウンタ
５２  上限値
６１  消去対象領域
６２  消去非対象領域
【図１】
2005011151.tif 000003
【図２】
2005011151.tif 000004
【図３】
2005011151.tif 000005
【図４】
2005011151.tif 000006
【図５】
2005011151.tif 000007
【図６】
2005011151.tif 000008
【図７】
2005011151.tif 000009
【図８】
2005011151.tif 000010
【図９】
2005011151.tif 000011
【図１０】
2005011151.tif 000012
【図１１】
2005011151.tif 000013
【図１２】
2005011151.tif 000014
【図１３】
2005011151.tif 000015
【図１４】
2005011151.tif 000016
【図１５】
2005011151.tif 000017
【図１６】
2005011151.tif 000018
【図１７】
2005011151.tif 000019
【図１８】
2005011151.tif 000020