説明

認証システム

【課題】正規品を精度よく判別可能な認証システムを提供する。
【解決手段】本体ホストは、認証チップマスタに対して認証開始を指示する(S2)。本体ホストは、認証開始の実行の指示とともに、タイマカウンタに指示してタイマカウントを開始する(S12)。認証チップマスタは、本体ホストの認証開始の実行の指示に応答して、チャレンジコードを認証チップスレーブに対して出力する(S4)。認証チップスレーブは、チャレンジコードに対して暗号化処理を実行する(S6)。その結果をレスポンスコードとして出力する(S8)。そして、レスポンスコードの一致判断処理を実行する(S9)。認証チップマスタは、当該認証結果を本体ホストに出力する(S10)。認証結果に応答して、タイマカウントを停止(S14)し、検証処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証システムに関し、特に、IC(Integrated Circuit)チップ間の認証に関する。
【背景技術】
【0002】
近年、ネットワークの普及により、ネットワークを介した機器間でデータの授受を実行する際には、セキュリティを高めるために暗号化技術や認証技術が一般的に用いられており、種々の方式が採用されている(特許文献1〜3)。
【0003】
一方で、ネットワークを介した機器間の接続ではなく、本体装置と接続されて、連携して動作する部品装置と本体装置との装置間における認証処理も一般的に行われている。例えば、特開2007−109444号公報においては、充電装置と電池パックとの間で実行する認証処理方式が開示されており、当該認証処理により、正規品か模造品かを区別して適切な制御を実行することが可能である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−101107号公報
【特許文献2】特開2004−248270号公報
【特許文献3】特開2007−336558号公報
【特許文献4】特開2007−109444号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、認証処理が成功するか否かのみでは、当該装置に内蔵された認証処理を実行する認証チップが解析された場合には、正規品かあるいは模倣チップであるかを単純に区別することはできない。正規品の認証チップの代わりに汎用のマイコンを用いてソフトウェアによりエミュレートすることも考えられる。
【0006】
本発明は、上記のような問題を解決するためになされたものであって、正規品を精度よく判別可能な認証システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一実施例に従う認証システムは、本体チップと、本体チップと接続され、本体チップとの間で認証処理を実行するサブチップとを備える。サブチップは、本体チップからの認証実行の指示に対して複数回の暗号化処理を実行して、その結果を本体チップに出力する第1の暗号化処理部を含む。本体チップは、サブチップからの暗号化処理の結果および認証実行の指示から当該結果までの時間に基づいてサブチップが正当であるか否かを判断するための認証判断部を含む。
【発明の効果】
【0008】
本発明の一実施例によれば、認証判断部は、暗号化処理の結果だけでなく、認証実行の指示から当該結果までの時間に基づいてサブチップが正当であるか否かを判断するため、正規品を精度よく判別することが可能である。
【図面の簡単な説明】
【0009】
【図1】本発明の実施の形態1に従う認証システムを説明する概略図である。
【図2】本発明の実施の形態1に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【図3】本発明の実施の形態に従う検証処理を説明するフロー図である。
【図4】比較例である模造品について説明する図である。
【図5】本発明の実施の形態に従う認証チップスレーブ(正規品)20と認証チップスレーブ(模造品)30との認証処理時間との比較について説明する図である。
【図6】本発明の実施の形態に従う暗号化処理の方式を説明する概念図である。
【図7】本発明の実施の形態1の変形例1に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【図8】本発明の実施の形態1の変形例2に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【図9】本発明の実施の形態2に従う認証システムを説明する概略図である。
【図10】本発明の実施の形態2に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【発明を実施するための形態】
【0010】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0011】
[実施の形態1]
図1は、本発明の実施の形態1に従う認証システムを説明する概略図である。
【0012】
図1を参照して、本発明の実施の形態1に従う認証システムは、本体ホスト2と、認証チップマスタ10と、認証チップスレーブ20とを含む。
【0013】
本体ホスト2は、認証システム全体を制御する。具体的には、認証チップマスタ10に指示し、認証チップマスタ10と認証チップスレーブ(正規品)20との間で認証処理を実行するように指示する。
【0014】
例えば、本体ホスト2と、認証チップマスタ10とは、本体装置に設けられており、認証チップスレーブ(正規品)20とは部品装置に設けられているものとする。
【0015】
本体装置に部品装置が装着された場合に、認証チップマスタ10と認証チップスレーブ20との間で通信路が確立される。
【0016】
本体ホスト2は、時刻を計時するタイマカウンタ4と、本体ホスト2全体を制御するCPU(Central Processing Unit)6と、他の装置とのデータの授受を実行するインターフェースであるI/O8とを含む。各部は、CPU6と接続されている。
【0017】
認証チップマスタ10は、PLC(Programmable Logic Controller)14と、I/O12,18と、暗号IP(Intellectual. Property)16とを含む。各部は、PLC14と接続されている。PLC14は、認証チップマスタ10を制御するコントローラとして設計されている。I/O12は、I/O8と接続されてデータの授受を実行する。I/O18は、I/O26と接続されてデータの授受を実行する。暗号IP16は、複数回の所定の暗号化処理が可能であるものとする。
【0018】
認証チップスレーブ20は、PLC22と、I/O26,28と、暗号IP24とを含む。各部は、PLC22と接続されている。PLC22は、認証チップスレーブ20を制御するコントローラとして設計されている。I/O26は、I/O18と接続されてデータの授受を実行する。暗号IP24は、複数回の所定の暗号化処理が可能であるものとする。
【0019】
ここで、本例においては、一例として、認証チップマスタ10と認証チップスレーブ20とは同一のハードウェアで構成されており、同一のチップであるものとする。
【0020】
そして、図示しないPLCの内容を設計するPLC設計回路により、PLCの内容が設定されて、一方が、認証チップマスタ側、他方が認証チップスレーブ側にそれぞれ設定されるものとする。
【0021】
同一のチップを用いることにより認証チップのコストを安価にするとともに、設計期間も短縮することが可能である。
【0022】
なお、本例においては、一例として、認証チップマスタ10および認証チップスレーブ20がハードウェアとして同一のチップである場合について説明するが、特にこれに限られず、それぞれ独立のチップとして設けるようにしても良い。具体的には、認証チップスレーブ20においては、I/O28の部品を特に設けなくても良い。
【0023】
また、本体ホスト2と認証チップマスタ10についても同様であり、同一のチップまたはそれぞれ独立のチップとして設けるようにしても良い。具体的には、同一のチップにすれば本体ホスト2のI/O8と、認証チップマスタ10のI/O12の部品を特に設けなくても良い。
【0024】
図2は、本発明の実施の形態1に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【0025】
ここでは、暗号化処理を用いたチャレンジ&レスポンス方式の認証処理について説明する。
【0026】
図2を参照して、本体ホスト2は、認証チップマスタ10に対して認証開始を指示する(シーケンスS2)。具体的には、CPU6は、I/O8を介して認証チップマスタ10のPLC14に対して認証開始の実行を指示する。
【0027】
また、本体ホスト2のCPU6は、認証開始の実行の指示とともに、タイマカウンタ4に指示してタイマカウントを開始する(シーケンスS12)。これにより認証処理が実行されている時間が計測される。
【0028】
認証チップマスタ10のPLC14は、本体ホスト2の認証開始の実行の指示に応答して、チャレンジコードを認証チップスレーブ20に対して出力する(シーケンスS4)。当該チャレンジコードは、一例として乱数の中から1つを選択したものでも良いし、予め定まっているものでも良い。
【0029】
次に、認証チップスレーブ20は、認証チップマスタ10からのチャレンジコードに対して暗号化処理を実行する(シーケンスS6)。具体的には、認証チップスレーブ20のPLC22は、I/O26を介して認証チップマスタ10から出力されたチャレンジコードを受け付けて、当該チャレンジコードを暗号IP24に出力する。暗号IP24は、PLC22から出力されたチャレンジコードに対して複数回、所定の暗号化処理を実行する。
【0030】
そして、認証チップスレーブ20は、認証チップマスタ10に対して暗号化処理した結果をレスポンスコードとして出力する(シーケンスS8)。具体的には、PLC22は、暗号IP24で暗号化処理された結果(レスポンスコード)をI/O26を介して認証チップマスタ10に対して出力する。
【0031】
一方、認証チップマスタ10は、チャレンジコードに対して暗号化処理を実行する(シーケンスS5)。具体的には、PLC14は、チャレンジコードを暗号IP16に出力する。そして、暗号IP16は、チャレンジコードに対して複数回、所定の暗号化処理を実行する。
【0032】
そして、認証チップマスタ10は、レスポンスコードの一致判断処理を実行する(シーケンスS9)。具体的には、PLC14は、チャレンジコードに対して、認証チップスレーブ20から出力された暗号IP24で暗号化処理したレスポンスコードと、暗号IP16で暗号化処理した結果(レスポンスコード)とを比較して、一致するかどうかを判断する。
【0033】
そして、当該認証チップマスタ10は、当該認証結果を本体ホスト2に出力する(シーケンスS10)。具体的には、PLC14は、一致、不一致の判断結果を本体ホスト2のCPU6に出力する。
【0034】
CPU6は、認証チップマスタ10からの認証結果に応答して、タイマカウントを停止する(シーケンスS14)。具体的には、タイマカウンタ4に指示して、認証処理の実行が開始されてから認証結果が得られるまでの認証処理時間である当該カウンタ値を取得する。
【0035】
そして、CPU6は、検証処理を実行する(シーケンスS16)。具体的には、認証結果および認証処理時間に基づいて認証チップスレーブ20が正規品か否かを検証する。
【0036】
図3は、本発明の実施の形態に従う検証処理を説明するフロー図である。
図3を参照して、CPU6は、レスポンスコードが一致しているかどうかを判断する(ステップST0)。一致していない場合には、NG判定とする(ステップST4)。
【0037】
一方、CPU6は、レスポンスコードが一致していると判断した場合(ステップST0においてYES)には、次に、タイマカウントが所定期間以内であるかどうかを判断する(ステップST1)。
【0038】
ステップST1において、タイマカウントが所定期間以内であると判断した場合(ステップST1においてYES)には、OK判定とする(ステップST2)。そして、処理を終了する(エンド)。
【0039】
一方、ステップST1において、タイマカウントが所定期間を超えると判断した場合(ステップST1においてNO)には、NG判定とする(ステップST4)。そして、処理を終了する(エンド)。
【0040】
すなわち、レスポンスコードが一致していて、かつ、認証処理時間が所定期間以内の場合にOK判定すなわち認証チップスレーブ20は正規品であると判断され、それ以外の場合には、正規品でないと判断される。
【0041】
図4は、比較例である模造品について説明する図である。
図4を参照して、図1の認証システムと比較して、認証チップスレーブ(正規品)20を認証チップスレーブ(模造品)30に置換した点が異なる。
【0042】
本発明の実施の形態に従う認証チップマスタ10および認証チップスレーブ20は、PLCと、暗号IPと、I/Oとで構成された簡易な構成であり、当該認証チップが解析されて模造品が作成される場合も考えられる。
【0043】
一例として、認証チップスレーブ(模造品)30は、汎用のマイコン(CPU)を用いてソフトウェアにより認証チップスレーブ(正規品)20をエミュレートしたものである。
【0044】
認証チップスレーブ(模造品)30は、CPU32と、メモリ34と、I/O36とを含む。各部は、CPU32と接続されている。
【0045】
メモリ34には、図1で説明した暗号IP24で実行する所定の暗号化処理を実行することが可能なプログラムが格納されているものとする。CPU32は、当該プログラムを読み込んで実行することにより図1で説明した暗号IP24と同じ処理を実行することが可能であるものとする。
【0046】
当該認証チップスレーブ(模造品)30を用いた場合であっても、図2で説明した認証処理が実行される。具体的には、認証チップマスタ10からチャレンジコードを受け付けて、チャレンジコードに対して複数回の所定の暗号化処理を実行して、その結果であるレスポンスコードを認証チップマスタ10に出力することが可能である。すなわち、認証チップスレーブ(模造品)30を用いた場合であっても一致するレスポンスコードを認証チップマスタ10に出力することが可能である。
【0047】
図5は、本発明の実施の形態に従う認証チップスレーブ(正規品)20と認証チップスレーブ(模造品)30との認証処理時間との比較について説明する図である。
【0048】
一般的な暗号化処理を用いたチャレンジ&レスポンス方式の認証処理は、所定の暗号化処理を1回のみ実行する場合が多い。
【0049】
図5(A)を参照して、一例として、認証チップスレーブ(正規品)20および認証チップスレーブ(模造品)30において1回の所定の暗号化処理を実行した場合の認証処理時間が示されている。
【0050】
認証処理時間は、大別すると通信、判断等の処理時間と、暗号化処理時間とに大別される。
【0051】
図1で説明した認証チップスレーブ(正規品)20の場合、通信、判断等の処理時間としては、一例として3msである場合が示されている。また、暗号IP24はハードウェアで構成されており、暗号IP24の暗号化処理速度は高速であり、1回の暗号化処理時間として、一例として1msである場合が示されている。
【0052】
一方、認証チップスレーブ(模造品)30の場合、通信、判断等の処理時間としては、一例として3msである場合が示されている。また、1回の暗号化処理時間として、一例として5msである場合が示されている。この場合、暗号IP24と同等の機能は、CPU32がメモリ34に格納されているプログラムを読み込むことにより実現される。プログラムの読み込みおよび演算処理等に時間がかかることになる。
【0053】
処理時間差としては、一例として4ms程度である場合が示されている。
一方で、本例の場合、暗号化処理の回数は1回であり、全体の認証処理時間に対して通信、判断等の処理時間に占める割合が大きく、暗号化処理時間の割合は小さい。したがって、認証チップスレーブ(正規品)20と、認証チップスレーブ(模造品)30との間での認証処理時間の差(暗号化処理時間の差)はそれほど大きくない。通信遅延等を考慮すると、当該処理時間差では認証チップスレーブ(正規品)20と、認証チップスレーブ(模造品)30とを適切に識別することは難しい可能性が高い。
【0054】
そこで、本発明の実施の形態に従う認証システムは、認証処理として、複数回の所定の暗号化処理を実行する。
【0055】
図5(B)を参照して、ここでは、一例として、認証チップスレーブ(正規品)20および認証チップスレーブ(模造品)30において100回の所定の暗号化処理を実行した場合の認証処理時間が示されている。
【0056】
認証処理時間は、大別すると通信、判断等の処理時間と、暗号化処理時間とに大別される。
【0057】
上記したように、図1で説明した認証チップスレーブ(正規品)20の場合、通信、判断等の処理時間としては、一例として3msである。また、暗号IP24は、ハードウェアで構成されており、100回の暗号化処理時間として、一例として100msである場合が示されている。
【0058】
一方、認証チップスレーブ(模造品)30の場合、上記したように、通信、判断等の処理時間としては、3msである。また、CPU32がメモリ34に格納されたプログラムにより暗号IP24をエミュレートしているため100回の所定の暗号化処理時間として、一例として500msである場合が示されている。
【0059】
したがって、処理時間差としては、400ms程度である場合が示されている。
本例の場合には、暗号化処理の回数は100回であり、全体の認証処理時間に対して暗号化処理時間の占める割合が大きい。したがって、認証チップスレーブ(正規品)20と、認証チップスレーブ(模造品)30との間での暗号化処理時間の差がそのまま認証処理時間の差に大きく影響を与えることになる。
【0060】
そして、本例の場合、認証処理時間差が400ms程度であるため、例えば、一例として、所定期間として200msをしきい値として検証することにより、当該処理時間差により認証チップスレーブ(正規品)20と、認証チップスレーブ(模造品)30とを十分に識別することが可能である。
【0061】
したがって、本発明の実施の形態1に従う認証システムにより、認証チップマスタ10と認証チップスレーブ20との間での認証結果とともに、認証処理時間を考慮することにより、認証処理時間が所定期間以内であれば正規品であると判断し、そうでない場合には、模造品と判断して、精度の高い識別が可能である。
【0062】
なお、本発明の実施の形態においては、一例として、認証チップマスタ10での暗号化処理(シーケンスS5)をシーケンスS4とシーケンスS8との間に実施させている場合について説明したが、特にこれに限られず、認証チップマスタ10での暗号化処理(シーケンスS5)をシーケンスS8とシーケンスS9との間に実施させるようにしても良い。
【0063】
図6は、本発明の実施の形態に従う暗号化処理の方式を説明する概念図である。
図6(A)を参照して、暗号IP24で繰り返し暗号化処理を実行する場合が示されている。
【0064】
ここで、暗号IP24には、暗号化処理を繰り返し実行する回数(繰り返し回数)を設定する繰り返し回数設定レジスタが設けられており、当該繰り返し回数設定レジスタに入力された回数に応じて、暗号化処理する回数が設定されるものとする。当該繰り返し回数設定レジスタに設定される回数は、固定値として予め有していても良いし、外部から入力して可変可能なように構成されていても良い。本例においては、複数回の回数が設定されるものとする。
【0065】
暗号IP24は、入力されるデータに対して、予め定められている暗号鍵を用いて暗号化処理を実行する。そして、暗号化処理した結果を繰り返し回数設定レジスタに設定された回数に基づいて、再び、入力側にフィードバックすることにより、複数回の暗号化処理を実行することが可能である。
【0066】
図6(B)は、別の暗号化処理について説明する図である。
ここでは、暗号化されるデータと、暗号鍵とが同じデータ長であるものとする。
【0067】
データ長が同じである場合には、暗号化結果を暗号化されるデータとしてフィードバックするのではなく、暗号鍵としてフィードバックして複数回の暗号化処理を実行することが可能である。
【0068】
暗号IP24は、入力されるデータに対して、まず、予め定められている暗号鍵を用いて暗号化処理を実行する。そして、暗号化処理した結果を暗号鍵として、入力されるデータに対して暗号化処理を実行する。繰り返し回数設定レジスタに設定された回数に基づいて、暗号化処理した結果を暗号鍵側にフィードバックすることにより、複数回の暗号化処理を実行することが可能である。
【0069】
(実施の形態1の変形例1)
上記の実施の形態1においては、認証開始の実行の指示に従って、暗号IPにおいて複数回の所定の暗号化処理を実行する場合について説明したが、当該複数回の所定の暗号化処理は、所定のコマンドの入力があったときに実行し、コマンドの入力が無いような場合には、通常の暗号化処理(1回の暗号化処理)のみ実行するようにしても良い。
【0070】
図7は、本発明の実施の形態1の変形例1に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【0071】
図7を参照して、本体ホスト2は、認証チップマスタ10に対して認証開始を指示する(シーケンスS20)。具体的には、CPU6は、I/O8を介して認証チップマスタ10のPLC14に対して認証開始の実行を指示する。
【0072】
認証チップマスタ10のPLC14は、本体ホスト2の認証開始の実行の指示に応答して、チャレンジコードを認証チップスレーブ20に対して出力する(シーケンスS22)。当該チャレンジコードは、一例として乱数の中から1つを選択したものでも良いし、予め定まっているものでも良い。
【0073】
次に、認証チップスレーブ20は、認証チップマスタ10からのチャレンジコードに対して暗号化処理を実行する(シーケンスS24)。具体的には、認証チップスレーブ20のPLC22は、I/O26を介して認証チップマスタ10から出力されたチャレンジコードを受け付けて、当該チャレンジコードを暗号IP24に出力する。暗号IP24は、PLC22から出力されたチャレンジコードに対して1回、所定の暗号化処理を実行する。
【0074】
そして、認証チップスレーブ20は、認証チップマスタ10に対して暗号化処理した結果をレスポンスコードとして出力する(シーケンスS26)。具体的には、PLC22は、暗号IP24で暗号化処理された結果(レスポンスコード)をI/O26を介して認証チップマスタ10に対して出力する。
【0075】
一方、認証チップマスタ10は、チャレンジコードに対して暗号化処理を実行する(シーケンスS23)。具体的には、PLC14は、チャレンジコードを暗号IP16に出力する。そして、暗号IP16は、チャレンジコードに対して1回、所定の暗号化処理を実行する。
【0076】
そして、認証チップマスタ10は、レスポンスコードの一致判断処理を実行する(シーケンスS27)。具体的には、PLC14は、チャレンジコードに対して、認証チップスレーブ20から出力された暗号IP24で暗号化処理したレスポンスコードと、暗号IP16で暗号化処理した結果(レスポンスコード)とを比較して、一致するかどうかを判断する。
【0077】
そして、当該認証チップマスタ10は、当該認証結果を本体ホスト2に出力する(シーケンスS28)。具体的には、PLC14は、一致、不一致の判断結果を本体ホスト2のCPU6に出力する。
【0078】
CPU6は、認証チップマスタ10からの認証結果に基づいて検証する(シーケンスS29)。具体的には、一致している場合には、次の処理に進み、不一致の場合には、処理を終了する。
【0079】
本体ホスト2のCPU6は、認証結果としてレスポンスコードが一致している場合には、次に、正規品か否かを詳細に識別するための処理命令である所定のコマンドを出力する。当該所定のコマンドに従って、認証チップマスタ10および認証チップスレーブ20は、複数回の所定の暗号化処理を実行するものとする。
【0080】
また、本体ホスト2のCPU6は、当該所定のコマンドの出力とともに、タイマカウンタ4に指示してタイマカウントを開始する(シーケンスS40)。これにより時間が計測される。
【0081】
認証チップマスタ10のPLC14は、本体ホスト2の所定のコマンドの入力に応答して、チャレンジコードと所定のコマンドとを認証チップスレーブ20に対して出力する(シーケンスS32)。当該チャレンジコードは、一例として乱数の中から1つを選択したものでも良いし、予め定まっているものでも良い。
【0082】
次に、認証チップスレーブ20は、認証チップマスタ10からのチャレンジコードに対して暗号化処理を実行する(シーケンスS34)。具体的には、認証チップスレーブ20のPLC22は、I/O26を介して認証チップマスタ10から出力されたチャレンジコードおよびコマンドを受け付けて、当該チャレンジコードおよび所定のコマンドを暗号IP24に出力する。暗号IP24は、所定のコマンドに従ってPLC22から出力されたチャレンジコードに対して複数回、所定の暗号化処理を実行する。
【0083】
そして、認証チップスレーブ20は、認証チップマスタ10に対して暗号化処理した結果をレスポンスコードとして出力する(シーケンスS36)。具体的には、PLC22は、暗号IP24で暗号化処理された結果(レスポンスコード)をI/O26を介して認証チップマスタ10に対して出力する。
【0084】
一方、認証チップマスタ10は、チャレンジコードに対して暗号化処理を実行する(シーケンスS33)。具体的には、PLC14は、チャレンジコードおよび所定のコマンドを暗号IP16に出力する。そして、暗号IP16は、所定のコマンドに従ってチャレンジコードに対して複数回、所定の暗号化処理を実行する。
【0085】
そして、認証チップマスタ10は、レスポンスコードの一致判断処理を実行する(シーケンスS37)。具体的には、PLC14は、チャレンジコードに対して、認証チップスレーブ20から出力された暗号IP24で暗号化処理したレスポンスコードと、暗号IP16で暗号化処理した結果(レスポンスコード)とを比較して、一致するかどうかを判断する。
【0086】
そして、当該認証チップマスタ10は、当該認証結果を本体ホスト2に出力する(シーケンスS38)。具体的には、PLC14は、一致、不一致の判断結果を本体ホスト2のCPU6に出力する。
【0087】
CPU6は、認証チップマスタ10からの認証結果に応答して、タイマカウントを停止する(シーケンスS42)。具体的には、タイマカウンタ4に指示して、認証処理の実行が開始されてから認証結果が得られるまでの認証処理時間である当該カウンタ値を取得する。
【0088】
そして、CPU6は、検証処理を実行する(シーケンスS44)。具体的には、認証結果および認証処理時間に基づいて認証チップスレーブ20が正規品か否かを検証する。
【0089】
本実施の形態1の変形例1に従う認証システムにおいても、上記で説明したように、認証チップスレーブ(模造品)30が用いられた場合には、認証チップマスタ10と認証チップスレーブ20との間での認証結果とともに、認証処理時間を考慮することにより、認証処理時間が所定期間以内であれば正規品であると判断し、そうでない場合には、模造品と判断して、精度の高い識別が可能である。
【0090】
そして、本例においては、ステップS29において1回目の検証が実行されて、レスポンスコードが一致するか否かの検証が実行されるため、その時点で認証が成功したものと仮に判断させるようにすることが可能である。そして、所定のコマンドにより模造品か否かの精度の高い検証を実行させることが可能である。
【0091】
実施の形態1では、暗号IPを用いて複数回の暗号化処理を実行するため最終的な検証が完了して認証が成功するまでに時間が長時間かかる可能性があり、認証が成功してから他の機能の立ち上げ処理等が実行されるため、正規品を使用している場合であっても高速な立ち上げができない可能性があるが、本実施の形態1の変形例1の如く、2回の検証に分けることにより、1回目の検証期間を短くして、早期に認証を成功と判断させ、立ち上げ処理等を高速に実行することが可能である。そして、それと並行して、模造品か否かの2回目の検証を実行して、精度よく正規品か否かを判別することにより、例えば、模造品であると判断した場合には、機能に制限を付加したり、あるいは、立ち下げ処理等を実行するようにしても良い。
【0092】
(実施の形態1の変形例2)
上記の実施の形態1の変形例1においては、所定のコマンドの入力があった場合に、複数回の所定の暗号化処理を実行する場合について説明した。本変形例2においては、所定のコマンドに回数情報を含めた場合について説明する。
【0093】
図8は、本発明の実施の形態1の変形例2に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【0094】
図8を参照して、本体ホスト2は、認証チップマスタ10に対して認証開始を指示する(シーケンスS20)。具体的には、CPU6は、I/O8を介して認証チップマスタ10のPLC14に対して認証開始の実行を指示する。
【0095】
認証チップマスタ10のPLC14は、本体ホスト2の認証開始の実行の指示に応答して、チャレンジコードを認証チップスレーブ20に対して出力する(シーケンスS22)。当該チャレンジコードは、一例として乱数の中から1つを選択したものでも良いし、予め定まっているものでも良い。
【0096】
次に、認証チップスレーブ20は、認証チップマスタ10からのチャレンジコードに対して暗号化処理を実行する(シーケンスS24)。具体的には、認証チップスレーブ20のPLC22は、I/O26を介して認証チップマスタ10から出力されたチャレンジコードを受け付けて、当該チャレンジコードを暗号IP24に出力する。暗号IP24は、PLC22から出力されたチャレンジコードに対して1回、所定の暗号化処理を実行する。この場合、暗号IP24には暗号回数が入力されていないが、初期値の1回として暗号化処理を実行するものとする。
【0097】
そして、認証チップスレーブ20は、認証チップマスタ10に対して暗号化処理した結果をレスポンスコードとして出力する(シーケンスS26)。具体的には、PLC22は、暗号IP24で暗号化処理された結果(レスポンスコード)をI/O26を介して認証チップマスタ10に対して出力する。
【0098】
一方、認証チップマスタ10は、チャレンジコードに対して暗号化処理を実行する(シーケンスS23)。具体的には、PLC14は、チャレンジコードを暗号IP16に出力する。そして、暗号IP16は、チャレンジコードに対して1回、所定の暗号化処理を実行する。
【0099】
そして、認証チップマスタ10は、レスポンスコードの一致判断処理を実行する(シーケンスS27)。具体的には、PLC14は、チャレンジコードに対して、認証チップスレーブ20から出力された暗号IP24で暗号化処理したレスポンスコードと、暗号IP16で暗号化処理した結果(レスポンスコード)とを比較して、一致するかどうかを判断する。
【0100】
そして、当該認証チップマスタ10は、当該認証結果を本体ホスト2に出力する(シーケンスS28)。具体的には、PLC14は、一致、不一致の判断結果を本体ホスト2のCPU6に出力する。
【0101】
CPU6は、認証チップマスタ10からの認証結果に基づいて検証する(シーケンスS29)。具体的には、一致している場合には、次の処理に進み、不一致の場合には、処理を終了する。
【0102】
本体ホスト2のCPU6は、認証結果としてレスポンスコードが一致している場合には、次に、正規品か否かを詳細に識別するための処理命令である所定のコマンドを出力する。当該所定のコマンドには、暗号化処理する回数(暗号回数)が含められているものとする。認証チップマスタ10および認証チップスレーブ20は、暗号回数に応じて複数回の所定の暗号化処理を実行するものとする。
【0103】
また、本体ホスト2のCPU6は、当該所定のコマンドの出力とともに、タイマカウンタ4に指示してタイマカウントを開始する(シーケンスS40)。これにより時間が計測される。
【0104】
認証チップマスタ10のPLC14は、本体ホスト2の所定のコマンドの入力に応答して、チャレンジコードと暗号回数とを認証チップスレーブ20に対して出力する(シーケンスS32)。当該チャレンジコードは、一例として乱数の中から1つを選択したものでも良いし、予め定まっているものでも良い。
【0105】
次に、認証チップスレーブ20は、認証チップマスタ10からのチャレンジコードに対して暗号化処理を実行する(シーケンスS34)。具体的には、認証チップスレーブ20のPLC22は、I/O26を介して認証チップマスタ10から出力されたチャレンジコードおよび暗号回数を受け付けて、当該チャレンジコードおよび暗号回数を暗号IP24に出力する。暗号IP24は、暗号回数に応じてPLC22から出力されたチャレンジコードに対して複数回、所定の暗号化処理を実行する。
【0106】
そして、認証チップスレーブ20は、認証チップマスタ10に対して暗号化処理した結果をレスポンスコードとして出力する(シーケンスS36)。具体的には、PLC22は、暗号IP24で暗号化処理された結果(レスポンスコード)をI/O26を介して認証チップマスタ10に対して出力する。
【0107】
一方、認証チップマスタ10は、チャレンジコードに対して暗号化処理を実行する(シーケンスS33)。具体的には、PLC14は、チャレンジコードおよび暗号回数を暗号IP16に出力する。そして、暗号IP16は、暗号回数に応じてチャレンジコードに対して複数回、所定の暗号化処理を実行する。
【0108】
そして、認証チップマスタ10は、レスポンスコードの一致判断処理を実行する(シーケンスS37)。具体的には、PLC14は、チャレンジコードに対して、認証チップスレーブ20から出力された暗号IP24で暗号化処理したレスポンスコードと、暗号IP16で暗号化処理した結果(レスポンスコード)とを比較して、一致するかどうかを判断する。
【0109】
そして、当該認証チップマスタ10は、当該認証結果を本体ホスト2に出力する(シーケンスS38)。具体的には、PLC14は、一致、不一致の判断結果を本体ホスト2のCPU6に出力する。
【0110】
CPU6は、認証チップマスタ10からの認証結果に応答して、タイマカウントを停止する(シーケンスS42)。具体的には、タイマカウンタ4に指示して、認証処理の実行が開始されてから認証結果が得られるまでの認証処理時間である当該カウンタ値を取得する。
【0111】
そして、CPU6は、検証処理を実行する(シーケンスS44)。具体的には、認証結果および認証処理時間に基づいて認証チップスレーブ20が正規品か否かを検証する。
【0112】
本実施の形態1の変形例2に従う認証システムにおいても、上記で説明したように、認証チップスレーブ(模造品)30が用いられた場合には、認証チップマスタ10と認証チップスレーブ20との間での認証結果とともに、認証処理時間を考慮することにより、認証処理時間が所定期間以内であれば正規品であると判断し、そうでない場合には、模造品と判断して、精度の高い識別が可能である。
【0113】
そして、本例においては、ステップS29において1回目の検証が実行されて、レスポンスコードが一致するか否かの検証が実行されるため、その時点で認証が成功したものと仮に判断させるようにすることが可能である。そして、所定のコマンドにより模造品か否かの精度の高い検証を実行させることが可能である。
【0114】
本例においては、所定のコマンドに暗号化処理する回数(暗号回数)を含めることにより、回数を可変して暗号化処理時間を調節することが可能である。
【0115】
[実施の形態2]
上記の実施の形態1においては、認証チップマスタ10および認証チップスレーブ20において、共にチャレンジコードに対して暗号化処理を実行する場合について説明したが、特にこれに限られず、認証チップマスタにおいて、暗号化処理した結果を復号化処理する認証方式とすることも可能である。
【0116】
図9は、本発明の実施の形態2に従う認証システムを説明する概略図である。
図9を参照して、本発明の実施の形態2に従う認証システムは、図1で説明した認証システムと比較して、認証チップマスタ10を認証チップマスタ40に置換した点が異なる。その他の点については同様であるのでその詳細な説明は繰り返さない。
【0117】
認証チップマスタ40は、PLC(Programmable Logic Controller)44と、I/O42,48と、復号IP(Intellectual. Property)46とを含む。各部は、PLC44と接続されている。PLC44は、認証チップマスタ40を制御するコントローラとして設計されている。I/O42は、I/O8と接続されてデータの授受を実行する。I/O48は、I/O26と接続されてデータの授受を実行する。復号IP46は、複数回の所定の復号化処理が可能であるものとする。
【0118】
図10は、本発明の実施の形態2に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【0119】
ここでは、暗号化処理を用いたチャレンジ&レスポンス方式の認証処理について説明する。
【0120】
図10を参照して、本体ホスト2は、認証チップマスタ40に対して認証開始を指示する(シーケンスS2)。具体的には、CPU6は、I/O8を介して認証チップマスタ40のPLC44に対して認証開始の実行を指示する。
【0121】
また、本体ホスト2のCPU6は、認証開始の実行の指示とともに、タイマカウンタ4に指示してタイマカウントを開始する(シーケンスS12)。これにより認証処理が実行されている時間が計測される。
【0122】
認証チップマスタ40のPLC44は、本体ホスト2の認証開始の実行の指示に応答して、チャレンジコードを認証チップスレーブ20に対して出力する(シーケンスS4)。当該チャレンジコードは、一例として乱数の中から1つを選択したものでも良いし、予め定まっているものでも良い。
【0123】
次に、認証チップスレーブ20は、認証チップマスタ40からのチャレンジコードに対して暗号化処理を実行する(シーケンスS6)。具体的には、認証チップスレーブ20のPLC22は、I/O26を介して認証チップマスタ40から出力されたチャレンジコードを受け付けて、当該チャレンジコードを暗号IP24に出力する。暗号IP24は、PLC22から出力されたチャレンジコードに対して複数回、所定の暗号化処理を実行する。
【0124】
そして、認証チップスレーブ20は、認証チップマスタ40に対して暗号化処理した結果をレスポンスコードとして出力する(シーケンスS8)。具体的には、PLC22は、暗号IP24で暗号化処理された結果(レスポンスコード)をI/O26を介して認証チップマスタ40に対して出力する。
【0125】
一方、認証チップマスタ40は、チャレンジコードに対して復号化処理を実行する(シーケンスS8#)。具体的には、PLC44は、チャレンジコードを復号IP46に出力する。そして、復号IP46は、チャレンジコードに対して複数回、所定の復号化処理を実行する。
【0126】
そして、認証チップマスタ40は、レスポンスコードの一致判断処理を実行する(シーケンスS9)。具体的には、PLC44は、出力したチャレンジコードと、復号IP46により復号化処理したレスポンスコード(チャレンジコード)とを比較して、一致するかどうかを判断する。
【0127】
そして、当該認証チップマスタ40は、当該認証結果を本体ホスト2に出力する(シーケンスS10)。具体的には、PLC44は、一致、不一致の判断結果を本体ホスト2のCPU6に出力する。
【0128】
CPU6は、認証チップマスタ40からの認証結果に応答して、タイマカウントを停止する(シーケンスS14)。具体的には、タイマカウンタ4に指示して、認証処理の実行が開始されてから認証結果が得られるまでの認証処理時間である当該カウンタ値を取得する。
【0129】
そして、CPU6は、検証処理を実行する(シーケンスS16)。具体的には、認証結果および認証処理時間に基づいて認証チップスレーブ20が正規品か否かを検証する。
【0130】
本発明の実施の形態2に従う認証システムにおいても、上記で説明したように、認証チップスレーブ(模造品)30が用いられた場合には、認証チップマスタ40と認証チップスレーブ20との間での認証結果とともに、認証処理時間を考慮することにより、認証処理時間が所定期間以内であれば正規品であると判断し、そうでない場合には、模造品と判断して、精度の高い識別が可能である。
【0131】
上記の実施の形態においては、本体ホスト2と、認証チップマスタ10,40とがそれぞれ独立したチップである場合について説明したが、特にこれに限られず、同一チップで構成されていても良い。その場合、特にI/O8,12,42を設けず、直接CPU6とPLC14,44とが接続されている構成とすることも可能である。また、PLC14,44の機能をCPU6が実行するようにして、PLC14,44を設けない構成とすることも可能である。
【0132】
また、本体ホスト2、認証チップマスタ10,40については、例えば、充電装置に搭載し、認証チップスレーブ20については、充電池に搭載して、認証処理を実行するようにすることが可能である。あるいは、画像形成装置の本体側に本体ホスト2および認証チップマスタ10,40を設け、消耗品である画像形成装置のトナーカートリッジに認証チップスレーブ20を搭載して認証処理を実行するようにすることも可能である。また、これらに限られず、他の装置あるいは部品の組み合わせにおいて本発明の実施の形態に従う認証システムを実現することが可能である。
【0133】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0134】
2 本体ホスト、4 タイマカウンタ、6 CPU、8,12,18,26,28 I/O、10 認証チップマスタ、14,22,44 PLC、16,24 暗号IP、46 復号IP。

【特許請求の範囲】
【請求項1】
本体チップと、
前記本体チップと接続され、前記本体チップとの間で認証処理を実行するサブチップとを備え、
前記サブチップは、前記本体チップからの認証実行の指示に対して複数回の暗号化処理を実行して、その結果を前記本体チップに出力する第1の暗号化処理部を含み、
前記本体チップは、前記サブチップからの前記暗号化処理の結果および前記認証実行の指示から当該結果までの時間に基づいて前記サブチップが正当であるか否かを判断するための認証判断部を含む、認証システム。
【請求項2】
前記本体チップは、
複数回の暗号化処理が可能な第2の暗号化処理部と、
認証時間を計時するタイマとを含み、
前記認証判断部は、前記認証実行の指示としてチャレンジコードを前記第1および第2の暗号化処理部に出力し、
前記第1および第2の暗号化処理部は、前記チャレンジコードに対して前記複数回の暗号化処理を実行して、その結果としてそれぞれ第1および第2のレスポンスコードを前記認証判断部に出力し、
前記認証判断部は、
前記第1および第2のレスポンスコードが一致するか否かを判断し、
一致する場合には、前記タイマを用いて計時していた前記認証時間が所定時間以内であるか否かを判断し、
前記所定時間以内である場合には、前記サブチップが正当であると判断する、請求項1記載の認証システム。
【請求項3】
前記本体チップは、
複数回の暗号化処理が可能な第2の暗号化処理部と、
認証時間を計時するタイマとを含み、
前記認証判断部は、前記認証実行の指示として第1のチャレンジコードを前記第1および第2の暗号化処理部に出力し、
前記第1および第2の暗号化処理部は、前記第1のチャレンジコードに対して1回の暗号化処理を実行して、その結果としてそれぞれ第1および第2のレスポンスコードを前記認証判断部に出力し、
前記認証判断部は、
前記第1および第2のレスポンスコードが一致するか否かを判断し、
一致する場合には、第2のチャレンジコードを前記第1および第2の暗号化処理部に出力し、
前記第1および第2の暗号化処理部は、前記第2のチャレンジコードに対して前記複数回の暗号化処理を実行して、その結果としてそれぞれ第3および第4のレスポンスコードを前記認証判断部に出力し、
前記認証判断部は、
前記第3および第4のレスポンスコードが一致するか否かを判断し、
一致する場合には、前記タイマを用いて計時していた前記認証時間が所定時間以内であるか否かを判断し、
前記所定時間以内である場合には、前記サブチップが正当であると判断する、請求項1記載の認証システム。
【請求項4】
前記本体チップは、
複数回の暗号化処理が可能な第2の暗号化処理部と、
認証時間を計時するタイマとを含み、
前記認証判断部は、前記認証実行の指示として第1のチャレンジコードを前記第1および第2の暗号化処理部に出力し、
前記第1および第2の暗号化処理部は、前記第1のチャレンジコードに対して1回の暗号化処理を実行して、その結果としてそれぞれ第1および第2のレスポンスコードを前記認証判断部に出力し、
前記認証判断部は、前記第1および第2のレスポンスコードが一致するか否かを判断し、
一致する場合には、第2のチャレンジコードおよび暗号化処理する回数情報を前記第1および第2の暗号化処理部に出力し、
前記第1および第2の暗号化処理部は、前記第2のチャレンジコードに対して前記回数情報に応じた回数の暗号化処理を実行して、それぞれその結果として第3および第4のレスポンスコードを前記認証判断部に出力し、
前記認証判断部は、前記第3および第4のレスポンスコードが一致するか否かを判断し、
一致する場合には、前記タイマを用いて計時していた前記認証時間が所定時間以内であるか否かを判断し、
前記所定時間以内である場合には、前記サブチップが正当であると判断する、請求項1記載の認証システム。
【請求項5】
前記本体チップは、
複数回の復号化処理が可能な復号化処理部と、
認証時間を計時するタイマとを含み、
前記認証判断部は、前記認証実行の指示としてチャレンジコードを前記第1の暗号化処理部に出力し、
前記第1の暗号化処理部は、前記チャレンジコードに対して前記複数回の暗号化処理を実行して、第1のレスポンスコードを前記復号化処理部に出力し、
前記復号化処理部は、前記第1のレスポンスコードに対して前記複数回の復号化処理を実行して、第2のレスポンスコードを前記認証判断部に出力し、
前記認証判断部は、前記チャレンジコードおよび前記第2のレスポンスコードが一致するか否かを判断し、
一致する場合には、前記タイマを用いて計時していた前記認証時間が所定時間以内であるか否かを判断し、
前記所定時間以内である場合には、前記サブチップが正当であると判断する、請求項1記載の認証システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−174195(P2012−174195A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−38437(P2011−38437)
【出願日】平成23年2月24日(2011.2.24)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】