(57)【要約】      （修正有）【課題】正規品を精度よく判別可能な認証システムを提供する。【解決手段】本体ホストは、認証チップマスタに対して認証開始を指示する（Ｓ２）。本体ホストは、認証開始の実行の指示とともに、タイマカウンタに指示してタイマカウントを開始する（Ｓ１２）。認証チップマスタは、本体ホストの認証開始の実行の指示に応答して、チャレンジコードを認証チップスレーブに対して出力する（Ｓ４）。認証チップスレーブは、チャレンジコードに対して暗号化処理を実行する（Ｓ６）。その結果をレスポンスコードとして出力する（Ｓ８）。そして、レスポンスコードの一致判断処理を実行する（Ｓ９）。認証チップマスタは、当該認証結果を本体ホストに出力する（Ｓ１０）。認証結果に応答して、タイマカウントを停止（Ｓ１４）し、検証処理を実行する。【選択図】図２
2012174195.tif 000002
【特許請求の範囲】
【請求項１】
本体チップと、
前記本体チップと接続され、前記本体チップとの間で認証処理を実行するサブチップとを備え、
前記サブチップは、前記本体チップからの認証実行の指示に対して複数回の暗号化処理を実行して、その結果を前記本体チップに出力する第１の暗号化処理部を含み、
前記本体チップは、前記サブチップからの前記暗号化処理の結果および前記認証実行の指示から当該結果までの時間に基づいて前記サブチップが正当であるか否かを判断するための認証判断部を含む、認証システム。
【請求項２】
前記本体チップは、
複数回の暗号化処理が可能な第２の暗号化処理部と、
認証時間を計時するタイマとを含み、
前記認証判断部は、前記認証実行の指示としてチャレンジコードを前記第１および第２の暗号化処理部に出力し、
前記第１および第２の暗号化処理部は、前記チャレンジコードに対して前記複数回の暗号化処理を実行して、その結果としてそれぞれ第１および第２のレスポンスコードを前記認証判断部に出力し、
前記認証判断部は、
前記第１および第２のレスポンスコードが一致するか否かを判断し、
一致する場合には、前記タイマを用いて計時していた前記認証時間が所定時間以内であるか否かを判断し、
前記所定時間以内である場合には、前記サブチップが正当であると判断する、請求項１記載の認証システム。
【請求項３】
前記本体チップは、
複数回の暗号化処理が可能な第２の暗号化処理部と、
認証時間を計時するタイマとを含み、
前記認証判断部は、前記認証実行の指示として第１のチャレンジコードを前記第１および第２の暗号化処理部に出力し、
前記第１および第２の暗号化処理部は、前記第１のチャレンジコードに対して１回の暗号化処理を実行して、その結果としてそれぞれ第１および第２のレスポンスコードを前記認証判断部に出力し、
前記認証判断部は、
前記第１および第２のレスポンスコードが一致するか否かを判断し、
一致する場合には、第２のチャレンジコードを前記第１および第２の暗号化処理部に出力し、
前記第１および第２の暗号化処理部は、前記第２のチャレンジコードに対して前記複数回の暗号化処理を実行して、その結果としてそれぞれ第３および第４のレスポンスコードを前記認証判断部に出力し、
前記認証判断部は、
前記第３および第４のレスポンスコードが一致するか否かを判断し、
一致する場合には、前記タイマを用いて計時していた前記認証時間が所定時間以内であるか否かを判断し、
前記所定時間以内である場合には、前記サブチップが正当であると判断する、請求項１記載の認証システム。
【請求項４】
前記本体チップは、
複数回の暗号化処理が可能な第２の暗号化処理部と、
認証時間を計時するタイマとを含み、
前記認証判断部は、前記認証実行の指示として第１のチャレンジコードを前記第１および第２の暗号化処理部に出力し、
前記第１および第２の暗号化処理部は、前記第１のチャレンジコードに対して１回の暗号化処理を実行して、その結果としてそれぞれ第１および第２のレスポンスコードを前記認証判断部に出力し、
前記認証判断部は、前記第１および第２のレスポンスコードが一致するか否かを判断し、
一致する場合には、第２のチャレンジコードおよび暗号化処理する回数情報を前記第１および第２の暗号化処理部に出力し、
前記第１および第２の暗号化処理部は、前記第２のチャレンジコードに対して前記回数情報に応じた回数の暗号化処理を実行して、それぞれその結果として第３および第４のレスポンスコードを前記認証判断部に出力し、
前記認証判断部は、前記第３および第４のレスポンスコードが一致するか否かを判断し、
一致する場合には、前記タイマを用いて計時していた前記認証時間が所定時間以内であるか否かを判断し、
前記所定時間以内である場合には、前記サブチップが正当であると判断する、請求項１記載の認証システム。
【請求項５】
前記本体チップは、
複数回の復号化処理が可能な復号化処理部と、
認証時間を計時するタイマとを含み、
前記認証判断部は、前記認証実行の指示としてチャレンジコードを前記第１の暗号化処理部に出力し、
前記第１の暗号化処理部は、前記チャレンジコードに対して前記複数回の暗号化処理を実行して、第１のレスポンスコードを前記復号化処理部に出力し、
前記復号化処理部は、前記第１のレスポンスコードに対して前記複数回の復号化処理を実行して、第２のレスポンスコードを前記認証判断部に出力し、
前記認証判断部は、前記チャレンジコードおよび前記第２のレスポンスコードが一致するか否かを判断し、
一致する場合には、前記タイマを用いて計時していた前記認証時間が所定時間以内であるか否かを判断し、
前記所定時間以内である場合には、前記サブチップが正当であると判断する、請求項１記載の認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証システムに関し、特に、ＩＣ（Integrated Circuit）チップ間の認証に関する。
【背景技術】
【０００２】
近年、ネットワークの普及により、ネットワークを介した機器間でデータの授受を実行する際には、セキュリティを高めるために暗号化技術や認証技術が一般的に用いられており、種々の方式が採用されている（特許文献１〜３）。
【０００３】
一方で、ネットワークを介した機器間の接続ではなく、本体装置と接続されて、連携して動作する部品装置と本体装置との装置間における認証処理も一般的に行われている。例えば、特開２００７−１０９４４４号公報においては、充電装置と電池パックとの間で実行する認証処理方式が開示されており、当該認証処理により、正規品か模造品かを区別して適切な制御を実行することが可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１０１１０７号公報
【特許文献２】特開２００４−２４８２７０号公報
【特許文献３】特開２００７−３３６５５８号公報
【特許文献４】特開２００７−１０９４４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、認証処理が成功するか否かのみでは、当該装置に内蔵された認証処理を実行する認証チップが解析された場合には、正規品かあるいは模倣チップであるかを単純に区別することはできない。正規品の認証チップの代わりに汎用のマイコンを用いてソフトウェアによりエミュレートすることも考えられる。
【０００６】
本発明は、上記のような問題を解決するためになされたものであって、正規品を精度よく判別可能な認証システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施例に従う認証システムは、本体チップと、本体チップと接続され、本体チップとの間で認証処理を実行するサブチップとを備える。サブチップは、本体チップからの認証実行の指示に対して複数回の暗号化処理を実行して、その結果を本体チップに出力する第１の暗号化処理部を含む。本体チップは、サブチップからの暗号化処理の結果および認証実行の指示から当該結果までの時間に基づいてサブチップが正当であるか否かを判断するための認証判断部を含む。
【発明の効果】
【０００８】
本発明の一実施例によれば、認証判断部は、暗号化処理の結果だけでなく、認証実行の指示から当該結果までの時間に基づいてサブチップが正当であるか否かを判断するため、正規品を精度よく判別することが可能である。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１に従う認証システムを説明する概略図である。
【図２】本発明の実施の形態１に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【図３】本発明の実施の形態に従う検証処理を説明するフロー図である。
【図４】比較例である模造品について説明する図である。
【図５】本発明の実施の形態に従う認証チップスレーブ（正規品）２０と認証チップスレーブ（模造品）３０との認証処理時間との比較について説明する図である。
【図６】本発明の実施の形態に従う暗号化処理の方式を説明する概念図である。
【図７】本発明の実施の形態１の変形例１に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【図８】本発明の実施の形態１の変形例２に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【図９】本発明の実施の形態２に従う認証システムを説明する概略図である。
【図１０】本発明の実施の形態２に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【発明を実施するための形態】
【００１０】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００１１】
［実施の形態１］
図１は、本発明の実施の形態１に従う認証システムを説明する概略図である。
【００１２】
図１を参照して、本発明の実施の形態１に従う認証システムは、本体ホスト２と、認証チップマスタ１０と、認証チップスレーブ２０とを含む。
【００１３】
本体ホスト２は、認証システム全体を制御する。具体的には、認証チップマスタ１０に指示し、認証チップマスタ１０と認証チップスレーブ（正規品）２０との間で認証処理を実行するように指示する。
【００１４】
例えば、本体ホスト２と、認証チップマスタ１０とは、本体装置に設けられており、認証チップスレーブ（正規品）２０とは部品装置に設けられているものとする。
【００１５】
本体装置に部品装置が装着された場合に、認証チップマスタ１０と認証チップスレーブ２０との間で通信路が確立される。
【００１６】
本体ホスト２は、時刻を計時するタイマカウンタ４と、本体ホスト２全体を制御するＣＰＵ（Central Processing Unit）６と、他の装置とのデータの授受を実行するインターフェースであるＩ／Ｏ８とを含む。各部は、ＣＰＵ６と接続されている。
【００１７】
認証チップマスタ１０は、ＰＬＣ（Programmable Logic Controller）１４と、Ｉ／Ｏ１２，１８と、暗号ＩＰ（Intellectual. Property）１６とを含む。各部は、ＰＬＣ１４と接続されている。ＰＬＣ１４は、認証チップマスタ１０を制御するコントローラとして設計されている。Ｉ／Ｏ１２は、Ｉ／Ｏ８と接続されてデータの授受を実行する。Ｉ／Ｏ１８は、Ｉ／Ｏ２６と接続されてデータの授受を実行する。暗号ＩＰ１６は、複数回の所定の暗号化処理が可能であるものとする。
【００１８】
認証チップスレーブ２０は、ＰＬＣ２２と、Ｉ／Ｏ２６，２８と、暗号ＩＰ２４とを含む。各部は、ＰＬＣ２２と接続されている。ＰＬＣ２２は、認証チップスレーブ２０を制御するコントローラとして設計されている。Ｉ／Ｏ２６は、Ｉ／Ｏ１８と接続されてデータの授受を実行する。暗号ＩＰ２４は、複数回の所定の暗号化処理が可能であるものとする。
【００１９】
ここで、本例においては、一例として、認証チップマスタ１０と認証チップスレーブ２０とは同一のハードウェアで構成されており、同一のチップであるものとする。
【００２０】
そして、図示しないＰＬＣの内容を設計するＰＬＣ設計回路により、ＰＬＣの内容が設定されて、一方が、認証チップマスタ側、他方が認証チップスレーブ側にそれぞれ設定されるものとする。
【００２１】
同一のチップを用いることにより認証チップのコストを安価にするとともに、設計期間も短縮することが可能である。
【００２２】
なお、本例においては、一例として、認証チップマスタ１０および認証チップスレーブ２０がハードウェアとして同一のチップである場合について説明するが、特にこれに限られず、それぞれ独立のチップとして設けるようにしても良い。具体的には、認証チップスレーブ２０においては、Ｉ／Ｏ２８の部品を特に設けなくても良い。
【００２３】
また、本体ホスト２と認証チップマスタ１０についても同様であり、同一のチップまたはそれぞれ独立のチップとして設けるようにしても良い。具体的には、同一のチップにすれば本体ホスト２のＩ／Ｏ８と、認証チップマスタ１０のＩ／Ｏ１２の部品を特に設けなくても良い。
【００２４】
図２は、本発明の実施の形態１に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【００２５】
ここでは、暗号化処理を用いたチャレンジ＆レスポンス方式の認証処理について説明する。
【００２６】
図２を参照して、本体ホスト２は、認証チップマスタ１０に対して認証開始を指示する（シーケンスＳ２）。具体的には、ＣＰＵ６は、Ｉ／Ｏ８を介して認証チップマスタ１０のＰＬＣ１４に対して認証開始の実行を指示する。
【００２７】
また、本体ホスト２のＣＰＵ６は、認証開始の実行の指示とともに、タイマカウンタ４に指示してタイマカウントを開始する（シーケンスＳ１２）。これにより認証処理が実行されている時間が計測される。
【００２８】
認証チップマスタ１０のＰＬＣ１４は、本体ホスト２の認証開始の実行の指示に応答して、チャレンジコードを認証チップスレーブ２０に対して出力する（シーケンスＳ４）。当該チャレンジコードは、一例として乱数の中から１つを選択したものでも良いし、予め定まっているものでも良い。
【００２９】
次に、認証チップスレーブ２０は、認証チップマスタ１０からのチャレンジコードに対して暗号化処理を実行する（シーケンスＳ６）。具体的には、認証チップスレーブ２０のＰＬＣ２２は、Ｉ／Ｏ２６を介して認証チップマスタ１０から出力されたチャレンジコードを受け付けて、当該チャレンジコードを暗号ＩＰ２４に出力する。暗号ＩＰ２４は、ＰＬＣ２２から出力されたチャレンジコードに対して複数回、所定の暗号化処理を実行する。
【００３０】
そして、認証チップスレーブ２０は、認証チップマスタ１０に対して暗号化処理した結果をレスポンスコードとして出力する（シーケンスＳ８）。具体的には、ＰＬＣ２２は、暗号ＩＰ２４で暗号化処理された結果（レスポンスコード）をＩ／Ｏ２６を介して認証チップマスタ１０に対して出力する。
【００３１】
一方、認証チップマスタ１０は、チャレンジコードに対して暗号化処理を実行する（シーケンスＳ５）。具体的には、ＰＬＣ１４は、チャレンジコードを暗号ＩＰ１６に出力する。そして、暗号ＩＰ１６は、チャレンジコードに対して複数回、所定の暗号化処理を実行する。
【００３２】
そして、認証チップマスタ１０は、レスポンスコードの一致判断処理を実行する（シーケンスＳ９）。具体的には、ＰＬＣ１４は、チャレンジコードに対して、認証チップスレーブ２０から出力された暗号ＩＰ２４で暗号化処理したレスポンスコードと、暗号ＩＰ１６で暗号化処理した結果（レスポンスコード）とを比較して、一致するかどうかを判断する。
【００３３】
そして、当該認証チップマスタ１０は、当該認証結果を本体ホスト２に出力する（シーケンスＳ１０）。具体的には、ＰＬＣ１４は、一致、不一致の判断結果を本体ホスト２のＣＰＵ６に出力する。
【００３４】
ＣＰＵ６は、認証チップマスタ１０からの認証結果に応答して、タイマカウントを停止する（シーケンスＳ１４）。具体的には、タイマカウンタ４に指示して、認証処理の実行が開始されてから認証結果が得られるまでの認証処理時間である当該カウンタ値を取得する。
【００３５】
そして、ＣＰＵ６は、検証処理を実行する（シーケンスＳ１６）。具体的には、認証結果および認証処理時間に基づいて認証チップスレーブ２０が正規品か否かを検証する。
【００３６】
図３は、本発明の実施の形態に従う検証処理を説明するフロー図である。
図３を参照して、ＣＰＵ６は、レスポンスコードが一致しているかどうかを判断する（ステップＳＴ０）。一致していない場合には、ＮＧ判定とする（ステップＳＴ４）。
【００３７】
一方、ＣＰＵ６は、レスポンスコードが一致していると判断した場合（ステップＳＴ０においてＹＥＳ）には、次に、タイマカウントが所定期間以内であるかどうかを判断する（ステップＳＴ１）。
【００３８】
ステップＳＴ１において、タイマカウントが所定期間以内であると判断した場合（ステップＳＴ１においてＹＥＳ）には、ＯＫ判定とする（ステップＳＴ２）。そして、処理を終了する（エンド）。
【００３９】
一方、ステップＳＴ１において、タイマカウントが所定期間を超えると判断した場合（ステップＳＴ１においてＮＯ）には、ＮＧ判定とする（ステップＳＴ４）。そして、処理を終了する（エンド）。
【００４０】
すなわち、レスポンスコードが一致していて、かつ、認証処理時間が所定期間以内の場合にＯＫ判定すなわち認証チップスレーブ２０は正規品であると判断され、それ以外の場合には、正規品でないと判断される。
【００４１】
図４は、比較例である模造品について説明する図である。
図４を参照して、図１の認証システムと比較して、認証チップスレーブ（正規品）２０を認証チップスレーブ（模造品）３０に置換した点が異なる。
【００４２】
本発明の実施の形態に従う認証チップマスタ１０および認証チップスレーブ２０は、ＰＬＣと、暗号ＩＰと、Ｉ／Ｏとで構成された簡易な構成であり、当該認証チップが解析されて模造品が作成される場合も考えられる。
【００４３】
一例として、認証チップスレーブ（模造品）３０は、汎用のマイコン（ＣＰＵ）を用いてソフトウェアにより認証チップスレーブ（正規品）２０をエミュレートしたものである。
【００４４】
認証チップスレーブ（模造品）３０は、ＣＰＵ３２と、メモリ３４と、Ｉ／Ｏ３６とを含む。各部は、ＣＰＵ３２と接続されている。
【００４５】
メモリ３４には、図１で説明した暗号ＩＰ２４で実行する所定の暗号化処理を実行することが可能なプログラムが格納されているものとする。ＣＰＵ３２は、当該プログラムを読み込んで実行することにより図１で説明した暗号ＩＰ２４と同じ処理を実行することが可能であるものとする。
【００４６】
当該認証チップスレーブ（模造品）３０を用いた場合であっても、図２で説明した認証処理が実行される。具体的には、認証チップマスタ１０からチャレンジコードを受け付けて、チャレンジコードに対して複数回の所定の暗号化処理を実行して、その結果であるレスポンスコードを認証チップマスタ１０に出力することが可能である。すなわち、認証チップスレーブ（模造品）３０を用いた場合であっても一致するレスポンスコードを認証チップマスタ１０に出力することが可能である。
【００４７】
図５は、本発明の実施の形態に従う認証チップスレーブ（正規品）２０と認証チップスレーブ（模造品）３０との認証処理時間との比較について説明する図である。
【００４８】
一般的な暗号化処理を用いたチャレンジ＆レスポンス方式の認証処理は、所定の暗号化処理を１回のみ実行する場合が多い。
【００４９】
図５（Ａ）を参照して、一例として、認証チップスレーブ（正規品）２０および認証チップスレーブ（模造品）３０において１回の所定の暗号化処理を実行した場合の認証処理時間が示されている。
【００５０】
認証処理時間は、大別すると通信、判断等の処理時間と、暗号化処理時間とに大別される。
【００５１】
図１で説明した認証チップスレーブ（正規品）２０の場合、通信、判断等の処理時間としては、一例として３ｍｓである場合が示されている。また、暗号ＩＰ２４はハードウェアで構成されており、暗号ＩＰ２４の暗号化処理速度は高速であり、１回の暗号化処理時間として、一例として１ｍｓである場合が示されている。
【００５２】
一方、認証チップスレーブ（模造品）３０の場合、通信、判断等の処理時間としては、一例として３ｍｓである場合が示されている。また、１回の暗号化処理時間として、一例として５ｍｓである場合が示されている。この場合、暗号ＩＰ２４と同等の機能は、ＣＰＵ３２がメモリ３４に格納されているプログラムを読み込むことにより実現される。プログラムの読み込みおよび演算処理等に時間がかかることになる。
【００５３】
処理時間差としては、一例として４ｍｓ程度である場合が示されている。
一方で、本例の場合、暗号化処理の回数は１回であり、全体の認証処理時間に対して通信、判断等の処理時間に占める割合が大きく、暗号化処理時間の割合は小さい。したがって、認証チップスレーブ（正規品）２０と、認証チップスレーブ（模造品）３０との間での認証処理時間の差（暗号化処理時間の差）はそれほど大きくない。通信遅延等を考慮すると、当該処理時間差では認証チップスレーブ（正規品）２０と、認証チップスレーブ（模造品）３０とを適切に識別することは難しい可能性が高い。
【００５４】
そこで、本発明の実施の形態に従う認証システムは、認証処理として、複数回の所定の暗号化処理を実行する。
【００５５】
図５（Ｂ）を参照して、ここでは、一例として、認証チップスレーブ（正規品）２０および認証チップスレーブ（模造品）３０において１００回の所定の暗号化処理を実行した場合の認証処理時間が示されている。
【００５６】
認証処理時間は、大別すると通信、判断等の処理時間と、暗号化処理時間とに大別される。
【００５７】
上記したように、図１で説明した認証チップスレーブ（正規品）２０の場合、通信、判断等の処理時間としては、一例として３ｍｓである。また、暗号ＩＰ２４は、ハードウェアで構成されており、１００回の暗号化処理時間として、一例として１００ｍｓである場合が示されている。
【００５８】
一方、認証チップスレーブ（模造品）３０の場合、上記したように、通信、判断等の処理時間としては、３ｍｓである。また、ＣＰＵ３２がメモリ３４に格納されたプログラムにより暗号ＩＰ２４をエミュレートしているため１００回の所定の暗号化処理時間として、一例として５００ｍｓである場合が示されている。
【００５９】
したがって、処理時間差としては、４００ｍｓ程度である場合が示されている。
本例の場合には、暗号化処理の回数は１００回であり、全体の認証処理時間に対して暗号化処理時間の占める割合が大きい。したがって、認証チップスレーブ（正規品）２０と、認証チップスレーブ（模造品）３０との間での暗号化処理時間の差がそのまま認証処理時間の差に大きく影響を与えることになる。
【００６０】
そして、本例の場合、認証処理時間差が４００ｍｓ程度であるため、例えば、一例として、所定期間として２００ｍｓをしきい値として検証することにより、当該処理時間差により認証チップスレーブ（正規品）２０と、認証チップスレーブ（模造品）３０とを十分に識別することが可能である。
【００６１】
したがって、本発明の実施の形態１に従う認証システムにより、認証チップマスタ１０と認証チップスレーブ２０との間での認証結果とともに、認証処理時間を考慮することにより、認証処理時間が所定期間以内であれば正規品であると判断し、そうでない場合には、模造品と判断して、精度の高い識別が可能である。
【００６２】
なお、本発明の実施の形態においては、一例として、認証チップマスタ１０での暗号化処理（シーケンスＳ５）をシーケンスＳ４とシーケンスＳ８との間に実施させている場合について説明したが、特にこれに限られず、認証チップマスタ１０での暗号化処理（シーケンスＳ５）をシーケンスＳ８とシーケンスＳ９との間に実施させるようにしても良い。
【００６３】
図６は、本発明の実施の形態に従う暗号化処理の方式を説明する概念図である。
図６（Ａ）を参照して、暗号ＩＰ２４で繰り返し暗号化処理を実行する場合が示されている。
【００６４】
ここで、暗号ＩＰ２４には、暗号化処理を繰り返し実行する回数（繰り返し回数）を設定する繰り返し回数設定レジスタが設けられており、当該繰り返し回数設定レジスタに入力された回数に応じて、暗号化処理する回数が設定されるものとする。当該繰り返し回数設定レジスタに設定される回数は、固定値として予め有していても良いし、外部から入力して可変可能なように構成されていても良い。本例においては、複数回の回数が設定されるものとする。
【００６５】
暗号ＩＰ２４は、入力されるデータに対して、予め定められている暗号鍵を用いて暗号化処理を実行する。そして、暗号化処理した結果を繰り返し回数設定レジスタに設定された回数に基づいて、再び、入力側にフィードバックすることにより、複数回の暗号化処理を実行することが可能である。
【００６６】
図６（Ｂ）は、別の暗号化処理について説明する図である。
ここでは、暗号化されるデータと、暗号鍵とが同じデータ長であるものとする。
【００６７】
データ長が同じである場合には、暗号化結果を暗号化されるデータとしてフィードバックするのではなく、暗号鍵としてフィードバックして複数回の暗号化処理を実行することが可能である。
【００６８】
暗号ＩＰ２４は、入力されるデータに対して、まず、予め定められている暗号鍵を用いて暗号化処理を実行する。そして、暗号化処理した結果を暗号鍵として、入力されるデータに対して暗号化処理を実行する。繰り返し回数設定レジスタに設定された回数に基づいて、暗号化処理した結果を暗号鍵側にフィードバックすることにより、複数回の暗号化処理を実行することが可能である。
【００６９】
（実施の形態１の変形例１）
上記の実施の形態１においては、認証開始の実行の指示に従って、暗号ＩＰにおいて複数回の所定の暗号化処理を実行する場合について説明したが、当該複数回の所定の暗号化処理は、所定のコマンドの入力があったときに実行し、コマンドの入力が無いような場合には、通常の暗号化処理（１回の暗号化処理）のみ実行するようにしても良い。
【００７０】
図７は、本発明の実施の形態１の変形例１に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【００７１】
図７を参照して、本体ホスト２は、認証チップマスタ１０に対して認証開始を指示する（シーケンスＳ２０）。具体的には、ＣＰＵ６は、Ｉ／Ｏ８を介して認証チップマスタ１０のＰＬＣ１４に対して認証開始の実行を指示する。
【００７２】
認証チップマスタ１０のＰＬＣ１４は、本体ホスト２の認証開始の実行の指示に応答して、チャレンジコードを認証チップスレーブ２０に対して出力する（シーケンスＳ２２）。当該チャレンジコードは、一例として乱数の中から１つを選択したものでも良いし、予め定まっているものでも良い。
【００７３】
次に、認証チップスレーブ２０は、認証チップマスタ１０からのチャレンジコードに対して暗号化処理を実行する（シーケンスＳ２４）。具体的には、認証チップスレーブ２０のＰＬＣ２２は、Ｉ／Ｏ２６を介して認証チップマスタ１０から出力されたチャレンジコードを受け付けて、当該チャレンジコードを暗号ＩＰ２４に出力する。暗号ＩＰ２４は、ＰＬＣ２２から出力されたチャレンジコードに対して１回、所定の暗号化処理を実行する。
【００７４】
そして、認証チップスレーブ２０は、認証チップマスタ１０に対して暗号化処理した結果をレスポンスコードとして出力する（シーケンスＳ２６）。具体的には、ＰＬＣ２２は、暗号ＩＰ２４で暗号化処理された結果（レスポンスコード）をＩ／Ｏ２６を介して認証チップマスタ１０に対して出力する。
【００７５】
一方、認証チップマスタ１０は、チャレンジコードに対して暗号化処理を実行する（シーケンスＳ２３）。具体的には、ＰＬＣ１４は、チャレンジコードを暗号ＩＰ１６に出力する。そして、暗号ＩＰ１６は、チャレンジコードに対して１回、所定の暗号化処理を実行する。
【００７６】
そして、認証チップマスタ１０は、レスポンスコードの一致判断処理を実行する（シーケンスＳ２７）。具体的には、ＰＬＣ１４は、チャレンジコードに対して、認証チップスレーブ２０から出力された暗号ＩＰ２４で暗号化処理したレスポンスコードと、暗号ＩＰ１６で暗号化処理した結果（レスポンスコード）とを比較して、一致するかどうかを判断する。
【００７７】
そして、当該認証チップマスタ１０は、当該認証結果を本体ホスト２に出力する（シーケンスＳ２８）。具体的には、ＰＬＣ１４は、一致、不一致の判断結果を本体ホスト２のＣＰＵ６に出力する。
【００７８】
ＣＰＵ６は、認証チップマスタ１０からの認証結果に基づいて検証する（シーケンスＳ２９）。具体的には、一致している場合には、次の処理に進み、不一致の場合には、処理を終了する。
【００７９】
本体ホスト２のＣＰＵ６は、認証結果としてレスポンスコードが一致している場合には、次に、正規品か否かを詳細に識別するための処理命令である所定のコマンドを出力する。当該所定のコマンドに従って、認証チップマスタ１０および認証チップスレーブ２０は、複数回の所定の暗号化処理を実行するものとする。
【００８０】
また、本体ホスト２のＣＰＵ６は、当該所定のコマンドの出力とともに、タイマカウンタ４に指示してタイマカウントを開始する（シーケンスＳ４０）。これにより時間が計測される。
【００８１】
認証チップマスタ１０のＰＬＣ１４は、本体ホスト２の所定のコマンドの入力に応答して、チャレンジコードと所定のコマンドとを認証チップスレーブ２０に対して出力する（シーケンスＳ３２）。当該チャレンジコードは、一例として乱数の中から１つを選択したものでも良いし、予め定まっているものでも良い。
【００８２】
次に、認証チップスレーブ２０は、認証チップマスタ１０からのチャレンジコードに対して暗号化処理を実行する（シーケンスＳ３４）。具体的には、認証チップスレーブ２０のＰＬＣ２２は、Ｉ／Ｏ２６を介して認証チップマスタ１０から出力されたチャレンジコードおよびコマンドを受け付けて、当該チャレンジコードおよび所定のコマンドを暗号ＩＰ２４に出力する。暗号ＩＰ２４は、所定のコマンドに従ってＰＬＣ２２から出力されたチャレンジコードに対して複数回、所定の暗号化処理を実行する。
【００８３】
そして、認証チップスレーブ２０は、認証チップマスタ１０に対して暗号化処理した結果をレスポンスコードとして出力する（シーケンスＳ３６）。具体的には、ＰＬＣ２２は、暗号ＩＰ２４で暗号化処理された結果（レスポンスコード）をＩ／Ｏ２６を介して認証チップマスタ１０に対して出力する。
【００８４】
一方、認証チップマスタ１０は、チャレンジコードに対して暗号化処理を実行する（シーケンスＳ３３）。具体的には、ＰＬＣ１４は、チャレンジコードおよび所定のコマンドを暗号ＩＰ１６に出力する。そして、暗号ＩＰ１６は、所定のコマンドに従ってチャレンジコードに対して複数回、所定の暗号化処理を実行する。
【００８５】
そして、認証チップマスタ１０は、レスポンスコードの一致判断処理を実行する（シーケンスＳ３７）。具体的には、ＰＬＣ１４は、チャレンジコードに対して、認証チップスレーブ２０から出力された暗号ＩＰ２４で暗号化処理したレスポンスコードと、暗号ＩＰ１６で暗号化処理した結果（レスポンスコード）とを比較して、一致するかどうかを判断する。
【００８６】
そして、当該認証チップマスタ１０は、当該認証結果を本体ホスト２に出力する（シーケンスＳ３８）。具体的には、ＰＬＣ１４は、一致、不一致の判断結果を本体ホスト２のＣＰＵ６に出力する。
【００８７】
ＣＰＵ６は、認証チップマスタ１０からの認証結果に応答して、タイマカウントを停止する（シーケンスＳ４２）。具体的には、タイマカウンタ４に指示して、認証処理の実行が開始されてから認証結果が得られるまでの認証処理時間である当該カウンタ値を取得する。
【００８８】
そして、ＣＰＵ６は、検証処理を実行する（シーケンスＳ４４）。具体的には、認証結果および認証処理時間に基づいて認証チップスレーブ２０が正規品か否かを検証する。
【００８９】
本実施の形態１の変形例１に従う認証システムにおいても、上記で説明したように、認証チップスレーブ（模造品）３０が用いられた場合には、認証チップマスタ１０と認証チップスレーブ２０との間での認証結果とともに、認証処理時間を考慮することにより、認証処理時間が所定期間以内であれば正規品であると判断し、そうでない場合には、模造品と判断して、精度の高い識別が可能である。
【００９０】
そして、本例においては、ステップＳ２９において１回目の検証が実行されて、レスポンスコードが一致するか否かの検証が実行されるため、その時点で認証が成功したものと仮に判断させるようにすることが可能である。そして、所定のコマンドにより模造品か否かの精度の高い検証を実行させることが可能である。
【００９１】
実施の形態１では、暗号ＩＰを用いて複数回の暗号化処理を実行するため最終的な検証が完了して認証が成功するまでに時間が長時間かかる可能性があり、認証が成功してから他の機能の立ち上げ処理等が実行されるため、正規品を使用している場合であっても高速な立ち上げができない可能性があるが、本実施の形態１の変形例１の如く、２回の検証に分けることにより、１回目の検証期間を短くして、早期に認証を成功と判断させ、立ち上げ処理等を高速に実行することが可能である。そして、それと並行して、模造品か否かの２回目の検証を実行して、精度よく正規品か否かを判別することにより、例えば、模造品であると判断した場合には、機能に制限を付加したり、あるいは、立ち下げ処理等を実行するようにしても良い。
【００９２】
（実施の形態１の変形例２）
上記の実施の形態１の変形例１においては、所定のコマンドの入力があった場合に、複数回の所定の暗号化処理を実行する場合について説明した。本変形例２においては、所定のコマンドに回数情報を含めた場合について説明する。
【００９３】
図８は、本発明の実施の形態１の変形例２に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【００９４】
図８を参照して、本体ホスト２は、認証チップマスタ１０に対して認証開始を指示する（シーケンスＳ２０）。具体的には、ＣＰＵ６は、Ｉ／Ｏ８を介して認証チップマスタ１０のＰＬＣ１４に対して認証開始の実行を指示する。
【００９５】
認証チップマスタ１０のＰＬＣ１４は、本体ホスト２の認証開始の実行の指示に応答して、チャレンジコードを認証チップスレーブ２０に対して出力する（シーケンスＳ２２）。当該チャレンジコードは、一例として乱数の中から１つを選択したものでも良いし、予め定まっているものでも良い。
【００９６】
次に、認証チップスレーブ２０は、認証チップマスタ１０からのチャレンジコードに対して暗号化処理を実行する（シーケンスＳ２４）。具体的には、認証チップスレーブ２０のＰＬＣ２２は、Ｉ／Ｏ２６を介して認証チップマスタ１０から出力されたチャレンジコードを受け付けて、当該チャレンジコードを暗号ＩＰ２４に出力する。暗号ＩＰ２４は、ＰＬＣ２２から出力されたチャレンジコードに対して１回、所定の暗号化処理を実行する。この場合、暗号ＩＰ２４には暗号回数が入力されていないが、初期値の１回として暗号化処理を実行するものとする。
【００９７】
そして、認証チップスレーブ２０は、認証チップマスタ１０に対して暗号化処理した結果をレスポンスコードとして出力する（シーケンスＳ２６）。具体的には、ＰＬＣ２２は、暗号ＩＰ２４で暗号化処理された結果（レスポンスコード）をＩ／Ｏ２６を介して認証チップマスタ１０に対して出力する。
【００９８】
一方、認証チップマスタ１０は、チャレンジコードに対して暗号化処理を実行する（シーケンスＳ２３）。具体的には、ＰＬＣ１４は、チャレンジコードを暗号ＩＰ１６に出力する。そして、暗号ＩＰ１６は、チャレンジコードに対して１回、所定の暗号化処理を実行する。
【００９９】
そして、認証チップマスタ１０は、レスポンスコードの一致判断処理を実行する（シーケンスＳ２７）。具体的には、ＰＬＣ１４は、チャレンジコードに対して、認証チップスレーブ２０から出力された暗号ＩＰ２４で暗号化処理したレスポンスコードと、暗号ＩＰ１６で暗号化処理した結果（レスポンスコード）とを比較して、一致するかどうかを判断する。
【０１００】
そして、当該認証チップマスタ１０は、当該認証結果を本体ホスト２に出力する（シーケンスＳ２８）。具体的には、ＰＬＣ１４は、一致、不一致の判断結果を本体ホスト２のＣＰＵ６に出力する。
【０１０１】
ＣＰＵ６は、認証チップマスタ１０からの認証結果に基づいて検証する（シーケンスＳ２９）。具体的には、一致している場合には、次の処理に進み、不一致の場合には、処理を終了する。
【０１０２】
本体ホスト２のＣＰＵ６は、認証結果としてレスポンスコードが一致している場合には、次に、正規品か否かを詳細に識別するための処理命令である所定のコマンドを出力する。当該所定のコマンドには、暗号化処理する回数（暗号回数）が含められているものとする。認証チップマスタ１０および認証チップスレーブ２０は、暗号回数に応じて複数回の所定の暗号化処理を実行するものとする。
【０１０３】
また、本体ホスト２のＣＰＵ６は、当該所定のコマンドの出力とともに、タイマカウンタ４に指示してタイマカウントを開始する（シーケンスＳ４０）。これにより時間が計測される。
【０１０４】
認証チップマスタ１０のＰＬＣ１４は、本体ホスト２の所定のコマンドの入力に応答して、チャレンジコードと暗号回数とを認証チップスレーブ２０に対して出力する（シーケンスＳ３２）。当該チャレンジコードは、一例として乱数の中から１つを選択したものでも良いし、予め定まっているものでも良い。
【０１０５】
次に、認証チップスレーブ２０は、認証チップマスタ１０からのチャレンジコードに対して暗号化処理を実行する（シーケンスＳ３４）。具体的には、認証チップスレーブ２０のＰＬＣ２２は、Ｉ／Ｏ２６を介して認証チップマスタ１０から出力されたチャレンジコードおよび暗号回数を受け付けて、当該チャレンジコードおよび暗号回数を暗号ＩＰ２４に出力する。暗号ＩＰ２４は、暗号回数に応じてＰＬＣ２２から出力されたチャレンジコードに対して複数回、所定の暗号化処理を実行する。
【０１０６】
そして、認証チップスレーブ２０は、認証チップマスタ１０に対して暗号化処理した結果をレスポンスコードとして出力する（シーケンスＳ３６）。具体的には、ＰＬＣ２２は、暗号ＩＰ２４で暗号化処理された結果（レスポンスコード）をＩ／Ｏ２６を介して認証チップマスタ１０に対して出力する。
【０１０７】
一方、認証チップマスタ１０は、チャレンジコードに対して暗号化処理を実行する（シーケンスＳ３３）。具体的には、ＰＬＣ１４は、チャレンジコードおよび暗号回数を暗号ＩＰ１６に出力する。そして、暗号ＩＰ１６は、暗号回数に応じてチャレンジコードに対して複数回、所定の暗号化処理を実行する。
【０１０８】
そして、認証チップマスタ１０は、レスポンスコードの一致判断処理を実行する（シーケンスＳ３７）。具体的には、ＰＬＣ１４は、チャレンジコードに対して、認証チップスレーブ２０から出力された暗号ＩＰ２４で暗号化処理したレスポンスコードと、暗号ＩＰ１６で暗号化処理した結果（レスポンスコード）とを比較して、一致するかどうかを判断する。
【０１０９】
そして、当該認証チップマスタ１０は、当該認証結果を本体ホスト２に出力する（シーケンスＳ３８）。具体的には、ＰＬＣ１４は、一致、不一致の判断結果を本体ホスト２のＣＰＵ６に出力する。
【０１１０】
ＣＰＵ６は、認証チップマスタ１０からの認証結果に応答して、タイマカウントを停止する（シーケンスＳ４２）。具体的には、タイマカウンタ４に指示して、認証処理の実行が開始されてから認証結果が得られるまでの認証処理時間である当該カウンタ値を取得する。
【０１１１】
そして、ＣＰＵ６は、検証処理を実行する（シーケンスＳ４４）。具体的には、認証結果および認証処理時間に基づいて認証チップスレーブ２０が正規品か否かを検証する。
【０１１２】
本実施の形態１の変形例２に従う認証システムにおいても、上記で説明したように、認証チップスレーブ（模造品）３０が用いられた場合には、認証チップマスタ１０と認証チップスレーブ２０との間での認証結果とともに、認証処理時間を考慮することにより、認証処理時間が所定期間以内であれば正規品であると判断し、そうでない場合には、模造品と判断して、精度の高い識別が可能である。
【０１１３】
そして、本例においては、ステップＳ２９において１回目の検証が実行されて、レスポンスコードが一致するか否かの検証が実行されるため、その時点で認証が成功したものと仮に判断させるようにすることが可能である。そして、所定のコマンドにより模造品か否かの精度の高い検証を実行させることが可能である。
【０１１４】
本例においては、所定のコマンドに暗号化処理する回数（暗号回数）を含めることにより、回数を可変して暗号化処理時間を調節することが可能である。
【０１１５】
［実施の形態２］
上記の実施の形態１においては、認証チップマスタ１０および認証チップスレーブ２０において、共にチャレンジコードに対して暗号化処理を実行する場合について説明したが、特にこれに限られず、認証チップマスタにおいて、暗号化処理した結果を復号化処理する認証方式とすることも可能である。
【０１１６】
図９は、本発明の実施の形態２に従う認証システムを説明する概略図である。
図９を参照して、本発明の実施の形態２に従う認証システムは、図１で説明した認証システムと比較して、認証チップマスタ１０を認証チップマスタ４０に置換した点が異なる。その他の点については同様であるのでその詳細な説明は繰り返さない。
【０１１７】
認証チップマスタ４０は、ＰＬＣ（Programmable Logic Controller）４４と、Ｉ／Ｏ４２，４８と、復号ＩＰ（Intellectual. Property）４６とを含む。各部は、ＰＬＣ４４と接続されている。ＰＬＣ４４は、認証チップマスタ４０を制御するコントローラとして設計されている。Ｉ／Ｏ４２は、Ｉ／Ｏ８と接続されてデータの授受を実行する。Ｉ／Ｏ４８は、Ｉ／Ｏ２６と接続されてデータの授受を実行する。復号ＩＰ４６は、複数回の所定の復号化処理が可能であるものとする。
【０１１８】
図１０は、本発明の実施の形態２に従う認証システムの認証処理の流れについて説明するシーケンス図である。
【０１１９】
ここでは、暗号化処理を用いたチャレンジ＆レスポンス方式の認証処理について説明する。
【０１２０】
図１０を参照して、本体ホスト２は、認証チップマスタ４０に対して認証開始を指示する（シーケンスＳ２）。具体的には、ＣＰＵ６は、Ｉ／Ｏ８を介して認証チップマスタ４０のＰＬＣ４４に対して認証開始の実行を指示する。
【０１２１】
また、本体ホスト２のＣＰＵ６は、認証開始の実行の指示とともに、タイマカウンタ４に指示してタイマカウントを開始する（シーケンスＳ１２）。これにより認証処理が実行されている時間が計測される。
【０１２２】
認証チップマスタ４０のＰＬＣ４４は、本体ホスト２の認証開始の実行の指示に応答して、チャレンジコードを認証チップスレーブ２０に対して出力する（シーケンスＳ４）。当該チャレンジコードは、一例として乱数の中から１つを選択したものでも良いし、予め定まっているものでも良い。
【０１２３】
次に、認証チップスレーブ２０は、認証チップマスタ４０からのチャレンジコードに対して暗号化処理を実行する（シーケンスＳ６）。具体的には、認証チップスレーブ２０のＰＬＣ２２は、Ｉ／Ｏ２６を介して認証チップマスタ４０から出力されたチャレンジコードを受け付けて、当該チャレンジコードを暗号ＩＰ２４に出力する。暗号ＩＰ２４は、ＰＬＣ２２から出力されたチャレンジコードに対して複数回、所定の暗号化処理を実行する。
【０１２４】
そして、認証チップスレーブ２０は、認証チップマスタ４０に対して暗号化処理した結果をレスポンスコードとして出力する（シーケンスＳ８）。具体的には、ＰＬＣ２２は、暗号ＩＰ２４で暗号化処理された結果（レスポンスコード）をＩ／Ｏ２６を介して認証チップマスタ４０に対して出力する。
【０１２５】
一方、認証チップマスタ４０は、チャレンジコードに対して復号化処理を実行する（シーケンスＳ８＃）。具体的には、ＰＬＣ４４は、チャレンジコードを復号ＩＰ４６に出力する。そして、復号ＩＰ４６は、チャレンジコードに対して複数回、所定の復号化処理を実行する。
【０１２６】
そして、認証チップマスタ４０は、レスポンスコードの一致判断処理を実行する（シーケンスＳ９）。具体的には、ＰＬＣ４４は、出力したチャレンジコードと、復号ＩＰ４６により復号化処理したレスポンスコード（チャレンジコード）とを比較して、一致するかどうかを判断する。
【０１２７】
そして、当該認証チップマスタ４０は、当該認証結果を本体ホスト２に出力する（シーケンスＳ１０）。具体的には、ＰＬＣ４４は、一致、不一致の判断結果を本体ホスト２のＣＰＵ６に出力する。
【０１２８】
ＣＰＵ６は、認証チップマスタ４０からの認証結果に応答して、タイマカウントを停止する（シーケンスＳ１４）。具体的には、タイマカウンタ４に指示して、認証処理の実行が開始されてから認証結果が得られるまでの認証処理時間である当該カウンタ値を取得する。
【０１２９】
そして、ＣＰＵ６は、検証処理を実行する（シーケンスＳ１６）。具体的には、認証結果および認証処理時間に基づいて認証チップスレーブ２０が正規品か否かを検証する。
【０１３０】
本発明の実施の形態２に従う認証システムにおいても、上記で説明したように、認証チップスレーブ（模造品）３０が用いられた場合には、認証チップマスタ４０と認証チップスレーブ２０との間での認証結果とともに、認証処理時間を考慮することにより、認証処理時間が所定期間以内であれば正規品であると判断し、そうでない場合には、模造品と判断して、精度の高い識別が可能である。
【０１３１】
上記の実施の形態においては、本体ホスト２と、認証チップマスタ１０，４０とがそれぞれ独立したチップである場合について説明したが、特にこれに限られず、同一チップで構成されていても良い。その場合、特にＩ／Ｏ８，１２，４２を設けず、直接ＣＰＵ６とＰＬＣ１４，４４とが接続されている構成とすることも可能である。また、ＰＬＣ１４，４４の機能をＣＰＵ６が実行するようにして、ＰＬＣ１４，４４を設けない構成とすることも可能である。
【０１３２】
また、本体ホスト２、認証チップマスタ１０，４０については、例えば、充電装置に搭載し、認証チップスレーブ２０については、充電池に搭載して、認証処理を実行するようにすることが可能である。あるいは、画像形成装置の本体側に本体ホスト２および認証チップマスタ１０，４０を設け、消耗品である画像形成装置のトナーカートリッジに認証チップスレーブ２０を搭載して認証処理を実行するようにすることも可能である。また、これらに限られず、他の装置あるいは部品の組み合わせにおいて本発明の実施の形態に従う認証システムを実現することが可能である。
【０１３３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３４】
２  本体ホスト、４  タイマカウンタ、６  ＣＰＵ、８，１２，１８，２６，２８  Ｉ／Ｏ、１０  認証チップマスタ、１４，２２，４４  ＰＬＣ、１６，２４  暗号ＩＰ、４６  復号ＩＰ。
【図１】
2012174195.tif 000003
【図２】
2012174195.tif 000004
【図３】
2012174195.tif 000005
【図４】
2012174195.tif 000006
【図５】
2012174195.tif 000007
【図６】
2012174195.tif 000008
【図７】
2012174195.tif 000009
【図８】
2012174195.tif 000010
【図９】
2012174195.tif 000011
【図１０】
2012174195.tif 000012