(57)【特許請求の範囲】
【請求項１】
パスワード認証期間を少なくとも第１の期間と第２の期間に分割し、前記各期間を計時するタイマを備え、
前記第１の期間では、入力されたパスワードに対して、パスワード書き込み許可信号を非活性状態としてパスワードレジスタへの書き込みを不許可とし、
前記第２の期間のうちの第１の所定の期間では、前記パスワード書き込み許可信号を活性状態として、入力されたパスワードの前記パスワードレジスタへの書き込みを許可し、
前記第２の期間のうち前記第１の所定の期間と異なる第２の所定の期間では、前記パスワード書き込み許可信号を非活性状態として、入力されたパスワードの前記パスワードレジスタへの書き込みを不許可とする制御を行う制御回路と、
前記パスワードレジスタに書き込まれたパスワードとパスワード期待値を比較し入力パスワードの認証を行うパスワード比較部と、
前記第１の期間を可変に制御する第１期間生成部と、
を備え、
前記第２の期間の前記第１の所定の期間内に前記パスワードレジスタに書き込まれたパスワードが複数有る場合、最後に書き込まれたパスワードを認証対象とする、ことを特徴とするパスワード認証回路。
【請求項２】
前記タイマが、
計時用のカウンタと、
前記カウンタのカウント値とタイマ設定値とを比較し両者が一致した場合、一致信号を前記制御回路に出力する比較回路と、
前記第１の期間の値と、前記第２の期間のうち前記第１の所定の期間の値と、前記第２の所定の期間の値とを、第１乃至第３の入力に入力し、前記制御回路から出力される、認証期間が、前記第１の期間、前記第２の期間のうちの前記第１の所定の期間、前記第２の期間のうちの前記第２の所定の期間のうちのいずれであるかを示す制御信号を選択信号として受け、前記第１乃至第３の入力のいずれか１つを選択して前記比較回路の前記タイマ設定値として出力するセレクタと、
を備えている、ことを特徴とする請求項１記載のパスワード認証回路。
【請求項３】
前記第１期間生成部が、前記第１の期間として、前記パスワードの認証失敗回数に対応した長さの第１の期間を生成し、生成した前記第１の期間の値を前記セレクタの第１の入力に供給する回路を備えている、ことを特徴とする請求項２記載のパスワード認証回路。
【請求項４】
前記制御回路からの前記パスワード書き込み許可信号と、入力されたパスワードとを受け、前記パスワード書き込み許可信号が非活性状態のときは、前記入力されたパスワードを前記パスワードレジスタに伝達せず、前記パスワード書き込み許可信号が活性状態のときは、前記入力されたパスワードを前記パスワードレジスタに入力して書き込むパスワード書き込みマスク回路を備えたことを特徴とする請求項１乃至３のいずれか１項に記載のパスワード認証回路。
【請求項５】
前記制御回路は、
認証開始信号を受けると、前記第１の期間に推移し、前記カウンタを初期化する信号を出力し、前記パスワード書き込み許可信号を非活性状態とし、前記セレクタに前記制御信号を出力して前記第１の入力を選択し前記比較回路のタイマ設定値とし、
前記比較回路から一致信号が出力されると、前記第２の期間のうちの前記第１の所定の期間に推移し、前記カウンタを初期化する初期化信号を出力し、前記パスワード書き込み許可信号を活性状態とし、前記セレクタに前記制御信号を出力して前記第２の入力を選択し前記比較回路のタイマ設定値とし、
前記比較回路から一致信号が出力されると、前記第２の期間の前記第２の所定の期間に推移し、前記パスワード書き込み許可信号を非活性状態とし、前記セレクタに前記制御信号を出力して前記第３の入力を選択し前記比較回路のタイマ設定値とし、
前記比較回路から一致信号が出力されると、パスワード比較有効信号を活性状態として前記パスワード比較部で、前記パスワードレジスタに書き込まれたパスワードとパスワード期待値とを比較し、前記パスワード比較部での比較の結果が不一致の場合、前記第１期間生成部の認証失敗回数を更新する、ことを特徴とする請求項２記載のパスワード認証回路。
【請求項６】
前記第２の期間のうち前記第１の所定の期間の長さを可変に設定し、前記セレクタの第２の入力に供給する可変回路を備えた、ことを特徴とする請求項２に記載のパスワード認証回路。
【請求項７】
前記可変回路は、認証期間が前記第１の期間、前記第２の期間のうち前記第１の所定の期間、前記第２の所定の期間のうちのいずれであるかを示す信号を前記制御回路から受け、前記第２の期間の前記第１の所定の期間に対してその長さを可変させる、ことを特徴とする請求項６記載のパスワード認証回路。
【請求項８】
請求項１乃至７のいずれか１項に記載のパスワード認証回路と、
前記パスワード認証回路でのパスワード認証結果に基づき、アクセス対象のデータ又は資源へのアクセスが許可されるＣＰＵと、
を備えた電子装置。
【請求項９】
パスワード認証期間を少なくとも第１の期間と第２の期間に分割し、前記各期間をタイマで計時し、
前記第１の期間では、入力されたパスワードに対して、パスワード書き込み許可信号を非活性状態としてパスワードレジスタへの書き込みを不許可とし、
前記第２の期間のうちの第１の所定の期間では、前記パスワード書き込み許可信号を活性状態として、入力されたパスワードの前記パスワードレジスタへの書き込みを許可し、
前記第２の期間のうち前記第１の所定の期間とは異なる第２の所定の期間では、前記パスワード書き込み許可信号を非活性状態として、入力されたパスワードの前記パスワードレジスタへの書き込みを不許可とする制御を行い、
前記第１の期間を可変に制御し、
前記第２の期間の前記第１の所定の期間内に前記パスワードレジスタに書き込まれたパスワードが複数有る場合、最後に書き込まれたパスワードを認証対象とする、ことを特徴とするパスワード認証方法。
【請求項１０】
認証失敗回数に対応した長さの前記第１の期間を生成する、ことを特徴とする請求項９記載のパスワード認証方法。
【請求項１１】
前記第２の期間のうち前記第１の所定の期間の長さを可変に設定することを特徴とする請求項９又は１０記載のパスワード認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パスワード認証回路と方法に関する。
【背景技術】
【０００２】
ディジタルテレビ等のディジタル映像コンテンツを扱う分野において、著作権保護の為にコンテンツが暗号化されるようになっている。コンテンツの暗号化に必要な暗号鍵等の機密性の高い情報（秘匿データ）を、半導体集積回路（ＬＳＩ）の内部メモリ等に格納することになるため、半導体機器に対して、セキュリティ強度を向上させる要求が高まっている。
【０００３】
特許文献１には、パスワード認証に失敗した回数に応じて、キー操作に対するレスポンスを遅延させる遅延時間を増加させていくことで、正当なユーザの利便性を損なうことなく、悪意ある使用者からの攻撃に対するセキュリティ性を向上させる構成が開示されている。以下では、特許文献１の概略を説明する（詳細は特許文献１が参照される）。
【０００４】
操作部に対するキー操作があってからレスポンスが生じるまでの遅延時間Ｄは、例えば以下に示す式により算出される。
【０００５】
0005764075.tif 000002
【０００６】
ここで、パラメータＳは、正当なユーザが任意に予め設定可能な係数であり、セキュリティレベルＳという。パラメータＣは、認証失敗の回数である。すなわち、キー操作に対するレスポンスの遅延時間Ｄは、認証失敗の回数Ｃに応じて、対数的に長くなる。また、遅延時間Ｄは、ユーザが予め設定したセキュリティレベルＳに応じて長くなる。セキュリティレベルＳは例えば１〜１０までの整数にユーザが任意に設定可能であり、セキュリティレベルが大きいほど遅延時間Ｄが長くなる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２５８８４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以下に関連技術の分析を与える。
【０００９】
上記特許文献１に開示された関連技術は、パスワードによる認証であるため、総当り攻撃に弱い、という問題がある（本発明者による分析結果）。その理由は以下の通りである。
【００１０】
上記関連技術は、認証失敗の回数Ｃに応じて、操作部へのキー操作に対するレスポンスを遅延させるというものであるが、パスワードは固定長のレジスタで用意されているため、パスワードの設定レジスタに対して、０〜最大値までの値の全てを総当り的に設定することによって、パスワードが解読されてしまう。この結果、解読されたパスワードの入力により、秘匿データ等へのアクセスが可能となる。
【００１１】
例えば、遅延時間Ｄを式（１）のようにした場合（Ｓ＝１０、Ｃ＝１〜２＾１６（＾は冪乗））、総当り攻撃に必要な時間Ｔ１は以下のように計算される。
【００１２】
0005764075.tif 000003
【００１３】
総当り攻撃に必要な時間Ｔ１は、上式（２）のとおり、約２３日となる。すなわち、パスワードを自動で総当り的に生成して認証装置に入力する機器を用いた、機械的な総当り攻撃によって正規のパスワードの解析は容易となる。
【００１４】
製品寿命等に対応したセキュリティの確保、及び、セキュリティ強度の向上が必要となる。そこで、正規のパスワードの解析を困難とし、正規のパスワードの漏洩を防ぐことを可能とするパスワード認証回路と方法を以下に提示する。
【課題を解決するための手段】
【００１５】
本発明の１つの側面によれば、パスワード認証期間を少なくとも第１の期間と第２の期間に分割し、前記各期間を計時するタイマを備え、前記第１の期間では、入力されたパスワードに対して、パスワード書き込み許可信号を非活性状態としてパスワードレジスタへの書き込みを不許可とし、前記第２の期間のうちの第１の所定の期間では、前記パスワード書き込み許可信号を活性状態として、入力されたパスワードの前記パスワードレジスタへの書き込みを許可し、前記第２の期間のうち前記第１の所定の期間と異なる第２の所定の期間では、前記パスワード書き込み許可信号を非活性状態として、入力されたパスワードの前記パスワードレジスタへの書き込みを不許可とする制御を行う制御回路と、前記パスワードレジスタに書き込まれたパスワードとパスワード期待値を比較し入力パスワードの認証を行うパスワード比較部と、前記第１の期間を可変に制御する第１期間生成部と、を備え、前記第２の期間の前記第１の所定の期間内に前記パスワードレジスタに書き込まれたパスワードが複数有る場合、最後に書き込まれたパスワードを認証対象とするパスワード認証回路が提供される。
【００１６】
本発明の別の側面によれば、パスワード認証期間を少なくとも第１の期間と第２の期間に分割し、前記各期間をタイマで計時し、
前記第１の期間では、入力されたパスワードに対して、パスワード書き込み許可信号を非活性状態としてパスワードレジスタへの書き込みを不許可とし、
前記第２の期間のうちの第１の所定の期間では、前記パスワード書き込み許可信号を活性状態として、入力されたパスワードの前記パスワードレジスタへの書き込みを許可し、
前記第２の期間のうち前記第１の所定の期間とは異なる第２の所定の期間では、前記パスワード書き込み許可信号を非活性状態として、入力されたパスワードの前記パスワードレジスタへの書き込みを不許可とする制御を行い、前記第１の期間が可変され、前記第２の期間の前記第１の所定の期間内に前記パスワードレジスタに書き込まれたパスワードが複数有る場合、最後に書き込まれたパスワードを認証対象とするパスワード認証方法が提供される。
【発明の効果】
【００１７】
本発明の前記側面によれば、構成の複雑化を抑制しながら、正規のパスワードの解析を困難とし、総当り攻撃等による正規のパスワードの漏洩を防ぐことが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態のパスワード認証回路の構成を示す図である。
【図２】本発明の一実施形態の装置構成を示す図である。
【図３】本発明の一実施形態の制御手順を示す流れ図である。
【図４】本発明の一実施形態の制御回路の状態遷移を示す図である。
【図５】本発明の一実施形態のタイミング動作を示すタイミング図である。
【図６】本発明の一実施形態の変形例を示す図である。
【発明を実施するための形態】
【００１９】
いくつかの好ましい形態について説明する。図１を参照すると、パスワード認証回路（１００）は、パスワード認証期間を少なくとも第１の期間と第２の期間に分割し、前記期間を計時するタイマ（例えばカウンタ１０４、比較回路１０５からなる）を備え、前記第１の期間では、入力されたパスワード（１０２）に対して、パスワードレジスタ書き込み許可信号（１０９）を非活性状態としてパスワードレジスタ（１２１）への書き込みを不許可とし、前記第２の期間のうちの第１の所定の期間では、前記パスワードレジスタ書き込み許可信号（１０９）を活性状態として、入力されたパスワードの前記パスワードレジスタ（１２１）への書き込みを許可し、前記第２の期間のうち第１の所定の期間とは異なる第２の所定の期間では、前記パスワードレジスタ書き込み許可信号（１０９）を非活性状態として、入力されたパスワードの前記パスワードレジスタ（１２１）への書き込みを不許可とする制御を行う制御回路（１１０）と、前記パスワードレジスタ（１２１）に書き込まれたパスワードとパスワード期待値（１２２）を比較し入力パスワードの認証を行うパスワード比較部（１２０）と、第１の期間に可変に制御する第１期間生成部（１３０）を備え、前記第２の期間の前記第１の所定の期間内に、パスワードが複数入力された場合に、最後に前記パスワードレジスタに書き込まれたパスワードをパスワード認証対象とする。
【００２０】
いくつかの好ましい形態によれば、パスワード認証において、総当り攻撃による認証パスワードの漏洩を防止するために、パスワード認証期間をいくつかの期間、例えばパスワード入力を無効化する第１の期間（無効期間）と、パスワード入力を有効とする期間を含む第２の期間（第１の所定期間と第２の所定期間を含む）とに分割し、第１の期間に入力されたパスワードは、パスワードレジスタへの書き込みが無効化され、第２の期間の第１の所定期間（有効期間）内では、パスワード入力を許可し、第２の期間の第１の所定期間（有効期間）内に入力されたパスワードのうち最後に入力されたパスワードが認証対象とされ、第２の期間内であっても前記第１の所定期間（有効期間）以外に入力されたパスワードは認証対象とはされない。
【００２１】
好ましい形態の１つによれば、第１の期間は、パスワード認証失敗回数に基づき、可変に設定される。また、好ましい形態の１つによれば、第２の期間のうち第１の所定期間（パスワード入力を許可する有効期間）を可変に設定することで、認証対象となるパスワード入力のタイミング（いつ入力したパスワードが認証されたのか）、及び、正規のパスワードの解析を困難とし、総当り攻撃による、正規のパスワードの漏洩を防ぐことが可能となる。
【００２２】
正規のパスワードを保持するユーザは、入力タイミングがいつのタイミングであっても正しいパスワードを入力することが可能であることから、どのタイミングで入力したパスワードが認証対象とされるかという情報は基本的に必要としない（正規のパスワードを保持するユーザは総当り的な入力は基本的に行わない）。どのタイミングで入力したパスワードが認証対象とされるかという情報を必要とする者は、一般的に、例えば総当り攻撃等を行う悪意ある解析者（パスワード攻撃者）等である。上記した好ましい形態によれば、パスワード入力が許可となる期間がいつ始まり、いつ終わるのかという情報は、外部には通知されず、不正アクセス者は、たとえパスワード認証に成功したとしても、どの時点で入力したパスワードが正規のパスワードであるかを特定することは困難である。その結果、正規のパスワードの漏洩を防ぐことができる。
【００２３】
逆に、パスワード認証期間の全期間内において、１つのパスワードしか入力しない場合、第１の期間に入力したパスワード、及び、第２の期間の第１の所定期間以外の期間に入力したパスワードは、いずれも、パスワードレジスタには書き込まれず、パスワード認証対象とはならないことから（パスワードレジスタに書き込み可能な期間の、パスワード認証期間に占める割合は、例えば第１の期間の増大等により小さくなる）、総当り攻撃の試行に必要な時間が激増する。以下、本発明の例示的な実施形態を説明する。
【００２４】
＜実施形態１＞
図１は、一実施形態のパスワード認証回路の構成を示す図である。図１を参照すると、パスワード認証回路１００は、制御部１０３と、パスワード比較部１２０と、無効期間生成部１３０とを備えている。
【００２５】
制御部１０３は、カウンタ１０４と、比較回路１０５と、セレクタ１０８と、制御回路１１０と、パスワード書き込みマスク回路１１２と、を備えている。
【００２６】
カウンタ１０４は、不図示のクロック信号をカウントする。比較回路１０５は、カウンタ１０４のカウンタ値１１８が、認証期間に対応する値１１４と一致するか否かを比較し認証期間を計測する。カウンタ１０４と比較回路１０５とは、認証期間（比較回路１０５に入力される値１１４）を計時するタイマー（タイマーカウンタ）として機能する。
【００２７】
セレクタ１０８は、制御回路１１０から入力される現状の認証期間を示す信号１１３によって、
・認証有効期間を示す値１０６と、
・認証待ち合わせ期間を示す値１０７と、
・無効期間生成部１３０からの無効期間を示す値１３５
の３つの値の中から１つを選択し、選択した値１１４を比較回路１０５へ出力する。
【００２８】
パスワード書き込みマスク回路１１２は、パスワードレジスタ１２１へのＣＰＵ等からのパスワード書き込み信号１０２の書き込みを制御する。
【００２９】
比較回路１０５は、セレクタ１０８で選択された値１１４と、カウンタ１０４から出力されるカウンタ値１１８とが一致するか比較し、一致した場合、一致信号１１５を制御回路１１０へ出力する。
【００３０】
制御回路１１０は、認証開始信号１０１と比較回路１０５からの一致信号１１５を受け取り、現状の認証期間を示す信号１１３を選択制御信号としてセレクタ１０８へ出力する。
【００３１】
また制御回路１１０は、カウンタ１０４の初期化信号１１６をカウンタ１０４へ出力する。
【００３２】
さらに制御回路１１０は、認証有効期間にパスワードレジスタ１２１への書き込みを許可するパスワードレジスタ書き込み許可信号１０９を、パスワード書き込みマスク回路１１２に出力する。
【００３３】
制御回路１１０は、パスワード比較有効信号１１１を、パスワード比較部１２０へ出力する。
【００３４】
パスワード書き込みマスク回路１１２は、パスワードレジスタ１２１への書き込み信号１０２と、制御回路１１０からのパスワードレジスタ書き込み許可信号１０９を入力し、両者をＡＮＤ（論理積演算）したパスワードレジスタ書き込み信号１１７を、パスワード比較部１２０へ出力する。
【００３５】
無効期間生成部１３０は、パスワード認証の失敗回数をカウントするための認証失敗回数制御回路１３１と、リセットや電源オフ時に認証失敗回数を記憶しておくための記憶回路（不揮発性ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）（ＮＶＲＡＭ）、又は電気的に消去及び書き込み可能なＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）（ＥＥＰＲＯＭ）等）１３２と、無効期間初期値１３３と、無効期間計算部１３４と、を備えている。
【００３６】
認証失敗回数制御回路１３１は、パスワード比較部１２０から比較結果信号１２４を受け、制御部１０３からパスワード比較有効信号１１１を受け、認証失敗回数の初期化や認証失敗回数のインクリメントを行う。
【００３７】
また、認証失敗回数制御回路１３１は、記憶回路１３２から前回の認証失敗回数を示す値１３８を受け取り、記憶回路１３２に、現状の認証失敗回数を示す値１３７を出力する。
【００３８】
無効期間計算部１３４は、認証失敗回数制御回路１３１から出力される認証失敗回数を示す値１３６と、無効期間初期値１３３とから、無効期間を示す値１３５を算出し、制御部１０３へ出力する。
【００３９】
パスワード比較部１２０は、パスワードの値を保持するパスワード期待値１２２と、パスワードとして設定された値を保持するパスワードレジスタ１２１と、設定されたパスワードがパスワード期待値１２２と一致するかどうかを検出するための比較回路１２３からなる。
【００４０】
パスワードレジスタ１２１は、パスワード書き込みマスク回路１１２の出力を入力として、パスワード書き込み信号が有効な場合に、パスワードレジスタ１２１への書き込みを行う。
【００４１】
比較回路１２３は、パスワードレジスタ１２１の値と、パスワード期待値１２２の値と、パスワード比較有効信号１１１と、を入力し、パスワード比較有効信号１１１が活性状態（アクティブ）の場合に、パスワードレジスタ１２１とパスワード期待値１２２の比較結果信号１２４として、出力する。
【００４２】
図２は、図１のパスワード認証回路１００を、秘匿データのアクセス制御に用いた装置構成の一例を示す図である。図２の装置は、ユーザが利用するときにパスワード認証を必要とする任意の電子機器あるいは情報処理装置等であってよい。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２００は、入力したパスワードがパスワード認証回路１００で認証された場合、秘匿データ１４０をアクセスする（読み出す）ことができる。なお、図２では、秘匿データ１４０が秘匿データ読み出しマスク回路１５０を介してＣＰＵ２００に読み出される構成とされているが、秘匿データ１４０の読み出しに制限されるものでないことは勿論である。例えばＣＰＵ２００は、パスワードがパスワード認証回路１００で認証された場合、特定の資源（ＩＯデバイス、ファイル装置、データべース、通信ネットワーク等）に対するアクセス（書き込み又は読み出し等）が許可される構成としてもよいことは勿論である。
【００４３】
ＣＰＵ２００は、認証開始を示す認証開始信号１０１と、パスワードレジスタ１２１へのパスワード書き込み信号１０２を、パスワード認証回路１００の制御部１０３へ出力し、秘匿データ１４０からの値をマスクした後の読み出しデータ１５１を入力する。ＣＰＵ２００は、装置全体のソフトウェア制御を司る部分であり、図示されない記憶装置内に格納されているプログラムに従って所望の動作を行う。
【００４４】
秘匿データ読み出しマスク回路１５０は、パスワード比較部１２０の比較回路１２３からの比較結果信号１２４と秘匿データ１４０の値を入力し、比較結果信号１２４が一致を示す場合（活性状態）にのみ、秘匿データ１４０をＣＰＵ２００へ出力する。比較結果信号１２４が不一致を示す場合は、秘匿データ１４０の値をマスクした値（例えば全ビット＝Ｌｏｗ等）をＣＰＵ２００へ出力する。
【００４５】
図３は、一実施形態のパスワード認証回路の動作を示すフローチャートである。図３を参照して、本実施例の動作を説明する。
【００４６】
パワーオン時等のリセットの解除後、認証失敗回数制御回路１３１は、記憶回路１３２から前回の認証失敗回数を示す値１３８を読み出して、無効期間計算部１３４へ、認証失敗回数を示す値１３６を出力する。
【００４７】
無効期間計算部１３４は、認証失敗回数を示す値１３６と無効期間初期値１３３より、無効期間を示す値１３５を生成する（ステップＳ１）。
【００４８】
ＣＰＵ２００は、認証開始信号１０１を活性状態（アクティブ）として認証の開始を制御部１０３へ通知する（ステップＳ２）。
【００４９】
制御回路１１０は、認証の第１の期間である無効期間へ移行し、カウンタ１０４の初期化信号１１６を活性状態（アクティブ）にする。
【００５０】
カウンタ１０４は、カウンタの初期化信号１１６によって初期値（例えば零）に初期化され、当該初期値から順次カウントアップしていく（ステップＳ３）。
【００５１】
制御回路１１０が、現状の認証期間を示す信号１１３に、認証の第１の期間である「無効期間」の値を出力すると、セレクタ１０８は、無効期間を示す値１３５を選択し、該選択した値１１４へ出力する。
【００５２】
比較回路１０５は、選択した値１１４とカウンタ値１１８を比較し、カウンタ１０４がカウントアップしていき、無効期間に到達すると、一致信号１１５を活性状態（アクティブ）とし、無効期間が経過したことを制御回路１１０へ通知する。
【００５３】
ＣＰＵ２００からパスワードレジスタ１２１への書き込みは、無効期間の間、制御回路１１０がパスワードレジスタ書き込み許可信号１０９を非活性状態（インアクティブ）に保つことで、パスワード書き込みマスク回路１１２によってマスクされる（ステップＳ４）。
【００５４】
制御回路１１０は、活性状態の一致信号１１５を受け取ることで、認証の第２の期間である有効期間へ移行し、パスワードレジスタ書き込み許可信号１０９を活性状態（アクティブ）に保つ。
【００５５】
ＣＰＵ２００が、パスワードレジスタ１２１へのパスワード書き込み信号１０２によってパスワードレジスタ１２１への書き込みを行うと、パスワード書き込みマスク回路１１２を通過して、パスワードレジスタ書き込み信号１１７が有効となり、パスワードレジスタ１２１へ書き込むことが可能となる（ステップＳ５）。
【００５６】
制御回路１１０が現状の認証期間を示す信号１１３に「有効期間」の値を出力することで、セレクタ１０８は、認証有効期間を示す値１０６を選択して選択した値１１４へ出力する。比較回路１０５は、選択した値１１４とカウンタ値１１８を比較し、一致した場合に一致信号１１５を活性状態（アクティブ）とし（ワンショットパルスを生成する）、有効期間が経過したことを、制御回路１１０へ通知する（ステップＳ６）。
【００５７】
制御回路１１０は、一致信号１１５を受け取ると、有効期間が完了したことを検知し、待ち合わせ期間に移行し、現状の認証期間を示す信号１１３に「待ち合わせ期間」の値を出力するとともに、カウンタの初期化信号１１６を活性状態（アクティブ）とし、カウンタ１０４を初期化する。
【００５８】
セレクタ１０８は、認証待ち合わせ期間を示す値１０７を選択し、選択した値１１４へ出力する。
【００５９】
比較回路１０５は、選択した値１１４とカウンタ値１１８を比較し、一致した場合に一致信号１１５を活性状態（アクティブ）とし、待ち合わせ期間が経過したことを制御回路１１０へ通知する（ステップＳ７）。
【００６０】
制御回路１１０は、一致信号１１５を受け取ると、待ち合わせ期間が完了したことを検知し、パスワード比較有効信号１１１を活性状態（アクティブ）とする（ステップＳ８）。
【００６１】
比較回路１２３は、パスワードレジスタ１２１とパスワード期待値１２２の値を比較し、一致している場合には、比較結果信号１２４を活性状態（アクティブ）とする。不一致の場合には、比較回路１２３は、比較結果信号１２４を非活性状態（インアクティブ）とする（ステップＳ９）。
【００６２】
認証に成功した場合、認証失敗回数制御回路１３１は、認証失敗回数を初期化し、記憶回路１３２に、現状の認証失敗回数を示す値１３７を書き込む（ステップＳ１０）。
【００６３】
認証成功後、ＣＰＵ２００は、秘匿データ１４０の値を読み出すことが可能となる（ステップＳ１１）。
【００６４】
認証に失敗した場合、認証失敗回数制御回路１３１は、認証失敗回数をインクリメント（＋１）し、記憶回路１３２に、現状の認証失敗回数を示す値１３７を書き込む（ステップＳ１２）。
【００６５】
認証失敗後に、ＣＰＵ２００は、秘匿データ１４０の値を読み出すことはできない（ステップＳ１３）。比較結果信号１２４がインアクティブであり、秘匿データ読み出しマスク回路１５０はその出力である読み出しデータ１５１を例えば全て０とする。
【００６６】
図４は、本発明の一実施形態の制御回路１１０（ｓｔａｔｅ  ｍａｃｈｉｎｅ）の状態遷移を示す図（ｓｔａｔｅ  ｔｒａｎｓｉｔｉｏｎ  ｄｉａｇｒａｍ）である。電源オン時のリセット（パワーオンリセット）あるいは強制リセット等のリセットが解除されると、制御回路１１０はアイドル状態となる。この状態で、認証開始信号１０１が活性化されると、無効状態に遷移する。制御回路１１０は、認証期間を示す信号１１３を無効期間とし、パスワードレジスタ書き込み許可信号１０９を非活性状態とする。
【００６７】
無効期間が完了すると、有効状態に遷移する。制御回路１１０は、認証期間を示す信号１１３を有効期間（認証有効期間）とし、パスワードレジスタ書き込み許可信号１０９を活性化させる。
【００６８】
有効期間（認証有効期間）が完了すると、待ち合わせ状態に推移する。制御回路１１０は、認証期間を示す信号１１３を待ち合わせ期間（認証待ち合わせ期間）とし、パスワードレジスタ書き込み許可信号１０９を非活性状態とする。
【００６９】
待ち合わせ期間（認証待ち合わせ期間）が完了すると、認証状態に遷移し、制御回路１１０は、パスワード比較有効信号１１１を活性化させる。認証が完了すると、例えば認証成功の場合、アイドル状態に遷移する。認証に失敗した場合、認証開始信号１０１が活性化されている場合、図４に破線で示すように、再び無効状態に戻るようにしてもよい。なお、実装に固有であるが、所定回数連続してパスワード認証に失敗した場合、ＣＰＵ２００等に通知する等してパスワード認証を中断する等してもよいことは勿論である。
【００７０】
図５は、図２に示した構成の動作を説明するタイミングチャートであり、図２の認証開始信号１０１、認証期間を示す信号１１３、カウンタ１０４のカウント値、一致信号１１５、パスワードレジスタ書き込み許可信号１０９、パスワード書き込み信号１０２、パスワードレジスタ１２１、パスワード比較有効信号１１１、比較結果信号１２４の信号波形が示されている。図５を参照して、パスワード認証回路１００の動作の一例を説明する。
【００７１】
ＣＰＵ２００が、認証開始信号１０１を活性状態（アクティブ）とすることによって、認証処理を開始すると、カウンタ１０４がカウントを開始し、無効期間→有効期間（認証有効期間）→待ち合わせ期間（認証待ち合わせ期間）と３つの状態を遷移する。カウンタ１０４で無効期間を計時すると（カウンタ１０４のカウント値が無効期間を示す値１３５と一致すると）、比較回路１０５から一致信号１１５（ワンショットパルス）が出力され、有効期間（認証有効期間）に移行し、制御回路１１０は、パスワードレジスタ書き込み許可信号１０９を活性状態（アクティブ）とし、カウンタ１０４で有効期間を計時すると（カウンタ１０４のカウント値が認証有効期間を示す値１０６と一致すると）、比較回路１０５から一致信号１１５（ワンショットパルス）が出力され、待ち合わせ期間（認証待ち合わせ期間）に移行する。待ち合わせ期間において、制御回路１１０はパスワードレジスタ書き込み許可信号１０９を非活性状態（インアクティブ）とし、カウンタ１０４で待ち合わせ期間を計時すると（カウンタ１０４のカウント値が認証待ち合わせ期間を示す値１０７と一致すると）、比較回路１０５から一致信号１１５（ワンショットパルス）が出力され、制御回路１１０はパスワード比較有効信号１１１を活性化し（ワンショットパルス）、パスワード比較有効信号１１１の活性化に応答して、比較回路１２３は、パスワードレジスタ１２１に書き込まれた値をパスワード期待値１２２と比較する。
【００７２】
図５に示すように、無効期間に、ＣＰＵ２００がパスワードレジスタ１２１へのパスワード書き込み信号１０２によってパスワードレジスタ１２１へ書き込みを行おうとしても、パスワードレジスタ書き込み許可信号１０９が非活性（インアクティブ）であるため、パスワードレジスタ１２１を書き変えることはできない。
【００７３】
有効期間中、パスワードレジスタ１２１への書き込みは、何度でも実行することができ（図５では、有効期間中、ＣＰＵ２００からパスワードレジスタ１２１へのパスワード書き込み信号１０２は２回活性化されている）、最後にパスワードレジスタ１２１へ書き込んだ値が有効となる。
【００７４】
比較回路１２３は、待ち合わせ期間中に、パスワードが入力されても、パスワードレジスタ１２１に値は保持されないため、認証には用いない。
【００７５】
悪意ある解析者（パスワード攻撃者）が、無効期間や認証待ち合わせ期間に、正規のパスワードを書き込んだとしても、認証に失敗することとなる。このため、機械的な総当り攻撃が行われたとしても、無効期間や認証待ち合わせ期間に入力されたパスワードから正規のパスワードが特定されることはない。特に、無効期間、認証有効期間、認証待ち合わせ期間に関して、例えば各サイクル単位で、当該認証有効期間の長さを可変制御する構成とすることで、総当り的にパスワードを連続入力しても、どの時点で入力したパスワードが有効であるのか特定することは困難である。
【００７６】
このように、本実施形態によれば、認証失敗回数に応じて、パスワード無効期間の長さを可変にするとともに、認証有効期間とそれに続く認証待ち合わせ期間を設けたことで、悪意ある解析者による解析時間を長くすることができ、総当り攻撃による正規のパスワードの漏洩を防止する事ができる。解析時間の算出は、パスワード長を１６ｂｉｔ、認証失敗回数をＮ＝２＾１６＝６５５３６の条件で行なう。遅延時間算出を前記関連技術と同じ条件で行なう。認証パスワードは、認証有効期間中に一度だけパスワードレジスタに書き込むものとする。
【００７７】
解析時間Ｔ２は、無効期間を示す値１３５をα、無効期間初期値１３３をΔα、認証有効期間を示す値１０６をβ、認証待ち合わせ期間を示す値１０７をγとし、αの生成アルゴリズム及び、β、γの値を、
0005764075.tif 000004
と仮定した場合、以下の通り、約３４年必要となる。
【００７８】
0005764075.tif 000005
・・・（３）
【００７９】
本実施形態によれば、パスワードレジスタへの書き込みをマスクするパスワード書き込みマスク回路１１２を追加することにより、β期間中でなければ、パスワードレジスタ１２１に正規のパスワードを書き込んでも、認証に失敗する。このため、悪意ある解析者は、認証に失敗したパスワードは、正規のパスワードではないと判断し、試行には用いなくなる。その結果、正規のパスワードが漏洩する可能性は低くなり、セキュリティ強度を向上させることができる。
【００８０】
図６は、上記実施形態の変形例を示す図である。図６を参照すると、認証有効期間を示す値１０６を可変に設定する認証有効期間可変回路１６１を備えている。図６に示す構成では、認証有効期間可変回路１６１は、制御回路１１０から認証期間を示す信号１１３が「認証有効期間」であることを示すたびに、順次、認証有効期間を示す値を可変させて、認証有効期間を示す値１０６に設定し、セレクタ１０８に供給する。認証有効期間可変回路１６１は、リセット時、あるいは、認証開始信号１０１の活性化時に、認証有効期間を示す値を初期化する構成としてもよい。あるいは、認証有効期間可変回路１６１は、例えば０以上１未満の乱数（擬似乱数）を生成し、該乱数に基づき、認証有効期間を示す値１０６の下限と上限の間の整数値に変換し、認証有効期間を示す値１０６に設定する構成としてもよい。
【００８１】
さらに、認証有効期間の所定期間（パスワード入力が許可される時間）を可変とすることで、認証対象となるパスワード入力のタイミング（いつ入力したパスワードが認証されたのか）、及び、正規のパスワードの解析を困難とし、総当り攻撃による、正規のパスワードの漏洩を防ぐことが可能となる。
【００８２】
上記実施形態では、パスワード入力を無効とする第１の期間（無効期間）、パスワード入力を有効とする第２の期間とに分け、第２の期間を認証有効期間（第１の所定の期間）と、認証待ち合わせ期間（第２の所定の期間）とに分けているが、前記第２の期間において、第１の認証有効期間及び第１の認証待ち合わせ期間、第２の認証有効期間及び第２の認証待ち合わせ期間、・・・・等といった具合に、さらに、分割数をさらに増やしてもよいことは勿論である。
【００８３】
また無効期間生成部１３０において、パスワード入力を無効とする第１の期間（無効期間）を認証失敗回数に基づき生成するにあたり、上記変形例と同様に、認証失敗回数に基づき生成した第１の期間の値にさらに乱数等で加算した値を第１の期間としてセレクタ１０８に供給するようにしてもよいことは勿論である。
【００８４】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施例の各要素、各図面の各要素等を含む）の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００８５】
１００  パスワード認証回路
１０１  認証開始信号
１０２  パスワード書き込み信号
１０３  制御部
１０４  カウンタ
１０５  比較回路
１０６  認証有効期間を示す値
１０７  認証待ち合わせ期間を示す値
１０８  セレクタ
１０９  パスワードレジスタ書き込み許可信号
１１０  制御回路
１１１  パスワード比較有効信号
１１２  パスワード書き込みマスク回路
１１３  認証期間を示す信号
１１４  選択した値
１１５  一致信号
１１６  カウンタの初期化信号
１１７  パスワードレジスタ書き込み信号
１１８  カウンタ値
１２０  パスワード比較部
１２１  パスワードレジスタ
１２２  パスワード期待値
１２３  比較回路
１２４  比較結果信号
１３０  無効期間生成部
１３１  認証失敗回数制御回路
１３２  記憶回路
１３３  無効期間初期値
１３４  無効期間計算部
１３５  無効期間を示す値
１３６  認証失敗回数を示す値
１３７  現状の認証失敗回数を示す値
１３８  前回の認証失敗回数を示す値
１４０  秘匿データ
１５０  秘匿データ読み出しマスク回路
１５１  読み出しデータ
１６１  認証有効期間可変回路
２００  ＣＰＵ
【図１】
0005764075.tif 000006
【図２】
0005764075.tif 000007
【図３】
0005764075.tif 000008
【図４】
0005764075.tif 000009
【図５】
0005764075.tif 000010
【図６】
0005764075.tif 000011