(57)【要約】【課題】不揮発性メモリとしてフラッシュメモリを用いた場合であっても認証制限を容易に実現できる認証装置を提供する。【解決手段】フラッシュメモリのデータエリア上に認証制御フラグ群８を設ける。認証制御フラグ群８は、複数の認証制御フラグを備えている。そして各認証制御フラグは例えば４ビットで構成する。認証失敗時には、認証制御フラグ６の先頭ビットに「０」を書き込み、再認証待ちとする。再認証失敗時には、次のビットに「０」を書き込み、再々認証待ちとする。再々認証失敗時には、次のビットに「０」を書き込み、認証ロックとし、認証が行われると常にエラーを返すように構成する。認証制御フラグの書き換えを必要とせず、書き込みのみで認証失敗回数をカウントしているので、フラッシュメモリを用いても認証制限を容易に実現できる。【選択図】図２
2006054554.tif 000002
【特許請求の範囲】
【請求項１】
一括消去可能なデータエリアを少なくとも２つ備えるフラッシュメモリと、
前記データエリアの複数のビットにより構成された認証制御フラグの複数個と、
前記認証制御フラグを制御する演算器とを備え、
前記演算器は、一の前記データエリアにおいて、認証失敗毎に一の前記認証制御フラグの異なる前記ビットに書き込みを行い、所定数の前記ビットが書き込まれると認証を停止し、前記所定数の前記ビットが書き込まれる前に認証が成功すると、前記一の認証制御フラグの前記所定数より多い第２の所定数の前記ビットに書き込みを行い、第３の所定数の前記認証制御フラグの前記ビットが、前記第２の所定数書き込まれた状態となると、前記一のデータエリア上のデータと初期化した前記認証制御フラグの複数個を他のデータエリアに書き込み、前記一のデータエリアを消去することを特徴とする認証装置。
【請求項２】
前記フラッシュメモリは、鍵更新用認証鍵が設けられたデータエリアをさらに備え、
前記演算器は、前記鍵更新用認証鍵を用いた認証を行い、前記認証が成功すると新たな認証鍵と初期化した前記認証制御フラグの複数個を前記他のデータエリアに書き込み、前記一のデータエリアを消去することを特徴とする請求項１に記載の認証装置。
【請求項３】
前記データエリアの複数のビットにより構成された鍵更新用認証制御フラグの複数個をさらに備え、
前記演算器は、一の前記データエリアにおいて、前記鍵更新用認証鍵を用いた認証失敗毎に一の前記鍵更新用認証制御フラグの異なる前記ビットに書き込みを行い、所定数の前記ビットが書き込まれると認証を停止し、前記所定数の前記ビットが書き込まれる前に認証が成功すると、前記一の鍵更新用認証制御フラグの前記所定数より多い第２の所定数の前記ビットに書き込みを行い、第３の所定数の鍵更新用認証制御フラグの前記ビットが、前記第２の所定数書き込まれた状態となると、前記一のデータエリア上のデータと初期化した前記鍵更新用認証制御フラグの複数個を他のデータエリアに書き込み、前記一のデータエリアを消去することを特徴とする請求項２に記載の認証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリを用いた認証装置に関するものである。
【背景技術】
【０００２】
課金情報を扱うような高いセキュリティ機能を必要とする装置、例えばキャッシュディスペンサーやクレジットカードリーダライター等では、パスワード認証を実施している。
【０００３】
これらの装置では、３回連続してパスワードを間違えるとシステムがそのキャッシュカードを受け付けなくしている。又は、ＩＣカード上の不揮発性メモリにフラグを設け、３回連続して間違えるとコマンドを受け付けなくしている。ここで不揮発性メモリには、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）のようなビット（ｂｉｔ）単位で書き換え可能なメモリが通常用いられている。
なお、本発明に関連する発明が特許文献１に開示されている。
【０００４】
【特許文献１】特開昭６２−２８０９６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
システム−端末間においてリアルタイムに認証が必要なシステムにおいては、非常に短い時間内に認証を実施する必要がある。このようなシステムにおいて、認証制限をシステム側で実施するには、認証時にデータベース等にアクセスして認証失敗回数を呼び出す等の作業が必要である。このような作業は時間がかかり、リアルタイムの認証制限を実現するのは難しい。
【０００６】
また、端末側で認証制限を実現しようとすると、以下のような問題がある。
端末側の認証装置は、ＥＥＰＲＯＭに比べて大容量記憶できるフラッシュメモリを記憶装置として用いている。フラッシュメモリを用いるのは、課金情報や個人の情報を保持する必要があるシステムでは、情報を保護するため、認証に必要な鍵情報等、大量のデータを保持する必要があるためである。
【０００７】
そして、フラッシュメモリ上で認証制限を実現しようとすると、フラッシュメモリ上に認証制御フラグを設け、認証制御フラグの書き換え等の制御を行う必要がある。フラッシュメモリ上で認証制御フラグを書き換えるには、フラッシュメモリはビット単位の書き換えができないため、認証制御フラグが設けられているデータエリア全体を一旦消去する必要がある。フラッシュ消去には時間がかかり、また同じデータエリアに書き込まれた他のデータも同時に消去されてしまう。以上のように、フラッシュメモリ上に認証制御フラグを設けるのは困難である。
【０００８】
そのため、端末側でリアルタイムの認証制限を実現するには、ＥＥＰＲＯＭのようなビット単位で書き換えが可能な不揮発性メモリを外付けで搭載する必要があり、製造単価が上がるなどの問題があった。
【０００９】
そこで本発明の課題は、不揮発性メモリとしてフラッシュメモリを用いた場合であっても認証制限を容易に実現できる認証装置を提供することである。
【課題を解決するための手段】
【００１０】
請求項１に係る認証装置は、一括消去可能なデータエリアを少なくとも２つ備えるフラッシュメモリと、前記データエリアの複数のビットにより構成された認証制御フラグの複数個と、前記認証制御フラグを制御する演算器とを備え、前記演算器は、一の前記データエリアにおいて、認証失敗毎に一の前記認証制御フラグの異なる前記ビットに書き込みを行い、所定数の前記ビットが書き込まれると認証を停止し、前記所定数の前記ビットが書き込まれる前に認証が成功すると、前記一の認証制御フラグの前記所定数より多い第２の所定数の前記ビットに書き込みを行い、第３の所定数の前記認証制御フラグの前記ビットが、前記第２の所定数書き込まれた状態となると、前記一のデータエリア上のデータと初期化した前記認証制御フラグの複数個を他のデータエリアに書き込み、前記一のデータエリアを消去することを特徴とする。
【発明の効果】
【００１１】
本発明は、認証制御フラグの書き換えを必要とせず、書き込みのみで認証失敗回数をカウントし、所定回数認証に失敗すると認証を停止するように構成している。そのため、フラッシュメモリを用いても認証制限を容易に実現できる。
【発明を実施するための最良の形態】
【００１２】
＜実施の形態１＞
本発明は、暗号機能を有する認証装置のように、秘密鍵・公開鍵・管理番号等のデータを不揮発性メモリに記憶する必要がある装置において、ページ単位で消去が必要なフラッシュメモリ上で認証制御フラグを用いた認証制限を実現する装置である。ここでページとは、一括消去可能なフラッシュメモリ上のデータエリアを指している。
【００１３】
図１は、本実施の形態に係る認証装置の構成を示す構成図である。本実施の形態に係る認証装置は、ＣＰＵ（演算器）１、ＲＡＭ（Random Access Memory）２、プログラムＲＯＭ（Read Only Memory）３、不揮発性メモリ４、暗号／複合回路５及びこれらを結合するバスから構成されている。
【００１４】
ＲＡＭ２は、主に作業用の記憶領域として使用される。プログラムＲＯＭ３には、主にプログラムが格納されており、ＣＰＵ１はこのプログラムに従って動作する。そして不揮発性メモリ４は、秘密鍵、公開鍵、管理番号等のデータが記憶されている。ここで本実施の形態では、不揮発性メモリ４としてフラッシュメモリを用いている。また、暗号／復号回路５は、機器間の暗号化通信に用いられ、認証鍵等の通信データを暗号化若しくは復号化する回路である。
【００１５】
次に、不揮発性メモリ４に用いられるフラッシュメモリの構成について説明する。図２は、フラッシュメモリの構成を示す図である。フラッシュメモリは、複数の一括消去可能なデータエリア（ページ０〜２）から構成されている。ページ０には、認証鍵１〜３、及び認証制御フラグ群（認証制御フラグの複数個）８等の情報が書き込まれている。ページ１は、何も情報が書き込まれていない状態となっている。そして、ページ２には、認証鍵の更新時に必要とされる鍵更新用認証鍵が書き込まれている。ここで、一つの認証鍵が攻撃者によって解読された場合に備えて、複数の認証鍵１〜３が用意されている。すなわち認証鍵１が解読された場合には、解読がされていない認証鍵２若しくは認証鍵３を用いて認証を行う。
【００１６】
次に、以上のように構成された認証装置の認証動作について説明する。機器間の認証は、秘密鍵暗号若しくは公開鍵暗号方式を使用し、認証鍵を用いて実施する。認証成功時には、機器間の正当性が保障されるのでその後の処理（例えば課金データ等のシステム間の通信等）を継続する。
【００１７】
認証失敗時は、機器間の正当性が保障されないので以後の処理は継続せず、再認証待ちとなる。そして、３回連続して認証に失敗すると認証ロックを行うように動作する。ここで、認証ロックとは、認証が行われると常にエラーを返すようにすることである。認証ロックは、不揮発性メモリ内に認証制御フラグ群８を設けることにより実施している。
【００１８】
認証制御フラグ群８は、データエリアのうち４ｂｉｔを一つの認証制御フラグ（以下、単にフラグと称する場合がある。）とし、複数個（図２の例では８個）のフラグから構成されている。
【００１９】
図２から５を参照して、３回連続して認証に失敗した場合の認証装置の動作について詳細に説明する。以下の説明では、フラッシュメモリの書き込み状態がデータ「０」に、消去状態がデータ「１」に対応している。また、課金情報を扱うシステムとしてＥＴＣを例にし、端末側に設けられた認証装置の動作について説明する。
【００２０】
図２に示すように、認証制御フラグ群８の各フラグは初期状態で「１１１１」となっている。
ＣＰＵ１は外部から認証鍵が入力されると、フラッシュメモリ内に書き込まれた認証鍵１を読み出す。そして、外部から入力された認証鍵と認証鍵１を比較する。比較の結果、認証鍵が一致すれば、端末とシステム間の暗号通信処理を行う。
【００２１】
そして認証失敗（認証鍵が不一致）の場合、ＣＰＵ１は、図３に示すように、フラグ６の先頭ｂｉｔに「０」を書き込み、フラグ６の状態を「０１１１」とする。そしてこの状態を１回認証が失敗した状態とする。そして以後の処理は継続せず、再認証待ちの状態となる。
【００２２】
続けて認証を失敗すると、次のｂｉｔに「０」を書き込み、図４に示すようにフラグ６の状態を「００１１」とする。そしてこの状態を２回認証が失敗した状態とする。
【００２３】
さらに認証が失敗すると、図５に示すようにフラグ６の状態を「０００１」とする。ＣＰＵ１は、フラグが「０００１」であるとき、３回連続で認証が失敗したと認識して認証ロック（認証の停止）を行う。認証ロックの外し方は後述する。
【００２４】
ここまで、３回連続で認証に失敗した場合について説明したが、１回若しくは２回の認証失敗後に一度でも認証に成功するとフラグ６を「００００」として、認証成功状態とする。フラグ６が「００００」状態にあるのをＣＰＵ１が認識すると、以後の処理を継続する。ここで、認証制御フラグを４ｂｉｔで構成しているのは、認証ロック状態（「０００１」）と、認証成功状態（「００００」）となって次のフラグを使う必要があることを最後のｂｉｔで区別するためである。
【００２５】
以上の動作について図６から８を用いて詳細に説明する。図６は、図４において説明したように、２回認証に失敗した状態を示している。３回目の認証により、認証に成功すると、ＣＰＵ１は、図７に示すように先頭フラグ６を「００００」状態とする。そしてＣＰＵ１は、この状態を認証成功状態と認識する。
【００２６】
次回認証失敗時には、隣に配置されたフラグ７を用いて同様の動作を行う。なお、この順序（どのフラグを使用するか）は任意でかまわない。図８は、１回若しくは２回の認証失敗後に認証に成功し、その後さらに認証に失敗した状態を示している。図８に示すように、認証成功後、さらに１回目の認証失敗時にはフラグ７の先頭ビットに「０」を書き込む。以後の動作は、フラグ６と同様であるので詳細な説明は省略する。
【００２７】
以上説明した動作をフローチャートを用いて説明する。図９は、本実施の形態に係る認証装置の動作を説明するためのフローチャート図である。
ステップ１では認証制御フラグ群８は初期状態となっており、図２において説明したように、認証制御フラグ群８の各フラグは「１１１１」となっている。
ステップ２では、一回目の認証を実施する。認証が成功した場合は、ステップ３に進み以後の処理を継続する。
認証に失敗した場合は、ステップ４に進む。ステップ４では、フラグの先頭ビットに「０」を書き込んでフラグの状態を「０１１１」にする。そして、以後の処理は継続せず、再認証待ちとなる。
【００２８】
再認証が行われた場合はステップ５に進み、再認証が成功か否かを判断する。再認証が成功した場合は、ステップ６に進みフラグの状態を「００００」とし、認証成功状態とする。続いてステップ３に進み以後の処理を継続する。
再認証に失敗した場合はステップ７に進む。ステップ７では、先頭ビットの次のビットに「０」を書き込んでフラグの状態を「００１１」にする。そして、以後の処理は継続せず、再々認証待ちとなる。
【００２９】
再々認証が行われた場合はステップ８に進み、再々認証が成功か否かを判断する。再々認証が成功した場合は、ステップ６に進みフラグの状態を「００００」とし、認証成功状態とする。続いてステップ３に進み以後の処理を継続する。
【００３０】
再々認証に失敗した場合はステップ９に進む。ステップ９では、さらに次のビットに「０」を書き込んでフラグの状態を「０００１」にする。ＣＰＵ１は、３回連続で認証失敗としたと判断して認証ロックを行う。
【００３１】
次に図１０、１１を用いて認証ロック状態から認証ロックを解除するための動作について説明する。
認証ロック状態の解除は、認証鍵の更新が必要とする。すなわち、認証鍵の更新をすると認証ロック状態が解除できるように構成する。認証鍵が全く新しい鍵に更新されることにより、今までの攻撃によって攻撃者が得た認証鍵についての情報を無意味なものにすることができる。
【００３２】
すなわち、攻撃によって失敗した鍵の情報から攻撃者が認証鍵を絞り込んでいく可能性があるが、認証ロックの解除と同時に認証鍵を新しい鍵に更新することにより、攻撃者が得た情報を無意味なものとすることができる。
【００３３】
認証鍵の更新は、フラッシュメモリの別のデータエリア（ページ２）に書き込まれた鍵更新用認証鍵を用いて機器間で認証を行い、認証が成功した場合のみ、認証鍵の更新ができるように構成する。
【００３４】
図１０は、最初のフラグが「０００１」となっており、認証ロック状態を示している。外部から鍵更新のための鍵が入力されると、ＣＰＵ１は、鍵更新用認証鍵をページ２から読み出し、外部から入力された鍵と比較する。不一致の場合、認証鍵の更新は行われず、認証ロック状態のままとなる。
【００３５】
一致した場合、フラッシュメモリのデータエリアの消去状態のページ（図１０の例ではページ１）に新しい認証鍵４〜６及び初期化した認証制御フラグ群８を書き込む（図１１参照）。そして、次回からの認証では、新しい認証鍵４〜６を用いて、認証を実施し、認証鍵の更新と同時に初期状態となった認証制御フラグ群８を用いて、認証動作を行う。ここで、新しい認証鍵４〜６はシステム側で作成され、端末に送られる。
【００３６】
認証失敗が１回若しくは２回までで終わり、一度認証成功してから再度認証失敗するような処理が連続して行われると、複数個あるフラグを使い果たす可能性がある。本実施の形態では、認証鍵１〜３と認証制御フラグ群８を同じページに書き込むことで、認証鍵１〜３の更新を行うと同時に認証制御フラグ群８を初期化することができる。その結果、認証制御フラグ群８を使い果たしてしまう可能性を低減することができる。
【００３７】
フラッシュメモリの古い認証鍵が書かれているページ（図１１の例ではページ０）は、機器のパワーオン時等の消去時間が確保できるタイミングで実施する。そして、次の認証鍵の更新時に、更新された認証鍵と初期化された認証制御フラグ群８が書き込まれるように備える。
【００３８】
また、図１２に示すように、認証失敗が１回若しくは２回までで終わり、一度認証成功してから再度認証失敗するような処理が連続して行われ、その間鍵更新が行われないと複数個あるフラグを全て使い果たす可能性がある。図１２は、認証制御フラグ群８の各フラグが「００００」となっており、認証制御フラグ群８を全て使い果たしたことを示している。
【００３９】
このような場合であっても図１３のように、認証鍵と初期化した認証制御フラグ群８をもう一方のページに書き込み、古いページ（図１３の例ではページ０）を消去する。古いページは機器のパワーオン時など消去時間が確保できるタイミングで実施する。そして、次の鍵更新時にページ１に書き込まれた情報を複製できるように備える。このようにすることで認証制御フラグ群８が全て使い果たされるのを防ぐことができる。
【００４０】
本実施の形態に係る認証装置は、以上のように構成されているので、認証制御フラグの書き換えを必要とせず、書き込みのみで認証失敗回数をカウントし、所定回数認証に失敗すると認証を停止するように構成している。そのため、フラッシュメモリを用いても認証制限を容易に実現できる。
【００４１】
なお、本実施の形態では、認証を３回連続で失敗すると認証ロックとなり、認証鍵の更新を必要とする構成とした。しかし、認証ロックに必要な連続の認証失敗回数は、３回に限るものではない。例えば、フラグを５ｂｉｔで構成することにより、４回連続で認証ロックとする構成にすることができる。
【００４２】
また、本実施の形態では、認証制御フラグのうち所定数（本実施の形態の例では３）のビットが書き込み状態になると認証を停止し、所定数が書き込まれる前に認証が成功すると、所定数より多い第２の所定数（本実施の形態の例では４）のビットに書き込みを行った。しかし、所定数は３である必要はなく、また第２の所定数は所定数より多ければよい。例えば所定数が２、第２の所定数は３であってもよい。
【００４３】
さらに、本実施の形態では、第３の所定数（本実施の形態の例では８）の認証制御フラグのビットが第２の所定数（本実施の形態の例では４）書き込まれた状態になると、一のデータエリア（本実施の形態の例ではページ０）上のデータと、初期化した認証制御フラグの複数個（本実施の形態では８個）を他のデータエリア（本実施の形態の例ではページ１）に書き込んでいる。このとき第３の所定数は、任意（例えば５）でもよい。
【００４４】
＜実施の形態２＞
図１４は、本実施の形態に係る認証装置のフラッシュメモリの構成を示す図である。図１４に示すように、ページ０に鍵更新用認証制御フラグ群１１をさらに設けている。その他の構成は実施の形態１と同様であり、同一の構成には同一の符号を付し、重複する説明は省略する。
【００４５】
鍵更新用認証鍵を得て認証鍵の更新を自由に行う目的で、攻撃者が全ての鍵パターンを用いて鍵更新用認証鍵との認証を行う攻撃を実行する可能性がある。そこで図１４に示すように、鍵更新の認証においても同様に、鍵更新用認証制御フラグ群１１を設ける。
【００４６】
そして、鍵更新用認証制御フラグ群１１は、認証制御フラグ群８と同様に動作するようにする。例えば、鍵更新の認証に３回連続で失敗すると、認証ロックを行うように動作する。その他の動作についての詳細な説明は、実施の形態１における認証制御フラグ群８の動作と同様であるので省略する。
【００４７】
このように認証鍵の更新にも認証制限を設けると、３回連続して認証に失敗すると認証鍵の更新が行えなくなる。そこで、認証ロックを解除するためには、装置をその販売店に持ち込み、初期化を行う必要があるように構成する。
【００４８】
販売店に持ち込まないと認証ロックを解除できないということから、攻撃者からの攻撃を抑止する効果が期待できる。
【００４９】
なお、本実施の形態では鍵更新用認証制御フラグのうち、所定数（本実施の形態の例では３）のビットが書き込み状態になると認証を停止し、所定数が書き込まれる前に認証が成功すると、所定数より多い第２の所定数（本実施の形態の例では４）のビットに書き込みを行った。しかし、所定数は３である必要はなく、また第２の所定数は所定数より多ければよい。例えば所定数が２、第２の所定数が３であってもよい。
【００５０】
さらに、本実施の形態では、第３の所定数（本実施の形態の例では８）の鍵更新用認証制御フラグのビットが第２の所定数（本実施の形態の例では４）書き込まれた状態になると、一のデータエリア（本実施の形態の例ではページ０）上のデータと、初期化した鍵更新用認証制御フラグの複数個を他のデータエリア（本実施の形態の例ではページ１）に書き込んでいる。このとき第３の所定数は、任意（例えば５）でもよい。
【図面の簡単な説明】
【００５１】
【図１】実施の形態１に係る認証装置の構成を示す図である。
【図２】実施の形態１に係るフラッシュメモリのデータエリアの構成を示す図である。
【図３】実施の形態１に係る１回認証に失敗したフラグの状態を示す図である。
【図４】実施の形態１に係る２回連続して認証に失敗したフラグの状態を示す図である。
【図５】実施の形態１に係る３回連続して認証に失敗し、認証ロック状態となったフラグの状態を示す図である。
【図６】実施の形態１に係る２回連続して認証に失敗したフラグの状態を示す図である。
【図７】実施の形態１に係る１回若しくは２回連続して認証に失敗した後、認証に成功したフラグの状態を示す図である。
【図８】実施の形態１に係る１回若しくは２回連続して認証に失敗した後、認証に成功し、次に認証に失敗したフラグの状態を示す図である。
【図９】実施の形態１に係る認証装置の動作を説明するためのフローチャート図である。
【図１０】実施の形態１に係る３回連続して認証に失敗し、認証ロック状態となったフラグの状態を示す図である。
【図１１】実施の形態１に係る認証鍵の更新が行われたフラッシュメモリのデータエリアを示す図である。
【図１２】実施の形態１に係るフラッシュメモリのデータエリアにおいて、認証制御フラグ群のフラグが全て使用された状態を示す図である。
【図１３】実施の形態１に係るフラッシュメモリのデータエリアにおいて、認証鍵、認証制御フラグ群をページ１に複製した状態を示す図である。
【図１４】実施の形態２に係るフラッシュメモリのデータエリアの構成を示す図である。
【符号の説明】
【００５２】
６，７  認証制御フラグ、８  認証制御フラグ群、１１  鍵更新用認証制御フラグ群。
【図１】
2006054554.tif 000003
【図２】
2006054554.tif 000004
【図３】
2006054554.tif 000005
【図４】
2006054554.tif 000006
【図５】
2006054554.tif 000007
【図６】
2006054554.tif 000008
【図７】
2006054554.tif 000009
【図８】
2006054554.tif 000010
【図９】
2006054554.tif 000011
【図１０】
2006054554.tif 000012
【図１１】
2006054554.tif 000013
【図１２】
2006054554.tif 000014
【図１３】
2006054554.tif 000015
【図１４】
2006054554.tif 000016