(57)【要約】【課題】より容易かつ安全に認証処理を行うことができるようにする。【解決手段】ペア個別鍵生成部２１４は、記憶部２０２からID2および秘密鍵２２２を取得する。ペア個別鍵生成部２１４は、ID1とID2の排他的論理和を算出し、その値と、秘密鍵２２２を暗号処理部２０３に供給し、暗号化させる。暗号処理部２０３は、供給された秘密鍵２２２を用いて、ID1とID2の排他的論理和をDESで暗号化する。暗号処理部２０３は、その暗号結果をペア個別鍵生成部２１４に供給する。ペア個別鍵生成部２１４は、その暗号結果を、ID1およびID2との組み合わせに対応するペア個別鍵とする。本発明は、例えば、復号装置に適用することができる。【選択図】図４
2011171936.tif 000002
【特許請求の範囲】
【請求項１】
他の情報処理装置の認証を行う情報処理装置であって、
前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵を生成する個別鍵生成手段と、
前記個別鍵生成手段により生成された前記個別鍵を用いて、所定の乱数を所定の暗号化方式で暗号化し、前記乱数をチャレンジとするときの、前記チャレンジに対する正しい応答である正解応答を生成する正解応答生成手段と、
前記他の情報処理装置を認証するために、前記正解応答生成手段により生成された前記正解応答を用いて、前記他の情報処理装置により生成される前記チャレンジに対する応答を認証する応答認証手段と
を備える情報処理装置。
【請求項２】
前記応答認証手段により実行可能な前記他の情報処理装置の認証の残り回数を管理し、前記認証が行われるたびに前記残り回数を１減算する残回数処理手段をさらに備える
請求項１に記載の情報処理装置。
【請求項３】
前記個別鍵生成手段は、前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との排他的論理和を、所定の秘密鍵を用いて、所定の暗号化方式で暗号化することにより前記個別鍵を生成する
請求項１に記載の情報処理装置。
【請求項４】
前記個別鍵生成手段は、前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との排他的論理和を、所定の秘密鍵を用いて、HMACで暗号化することにより前記個別鍵を生成する
請求項１に記載の情報処理装置。
【請求項５】
前記個別鍵生成手段により生成された前記個別鍵を記憶する記憶手段をさらに備え、
前記個別鍵生成手段は、前記他の情報処理装置を初めて認証する場合のみ、前記個別鍵を生成する
請求項１に記載の情報処理装置。
【請求項６】
前記個別鍵生成手段は、前記他の情報処理装置において生成され、非対称暗号化方式により暗号化された前記個別鍵を前記非対称暗号化方式により復号することにより、前記個別鍵をえる
請求項１に記載の情報処理装置。
【請求項７】
前記応答認証手段により前記応答を認証した前記他の情報処理装置の識別情報を管理する管理手段をさらに備える
請求項１に記載の情報処理装置。
【請求項８】
前記管理手段は、前記応答認証手段により前記応答を認証した前記他の情報処理装置の識別情報のCRC演算値を管理する
請求項７に記載の情報処理装置。
【請求項９】
他の情報処理装置の認証を行う情報処理装置の情報処理方法であって、
前記情報処理装置の個別鍵生成手段が、前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵を生成し、
前記情報処理装置の前記正解応答生成手段が、生成された前記個別鍵を用いて、所定の乱数を所定の暗号化方式で暗号化し、前記乱数をチャレンジとするときの、前記チャレンジに対する正しい応答である正解応答を生成し、
前記情報処理装置の応答認証手段が、前記他の情報処理装置を認証するために、生成された前記正解応答を用いて、前記他の情報処理装置により生成される前記チャレンジに対する応答を認証する
情報処理方法。
【請求項１０】
第１の情報処理装置が前記第２の情報処理装置の認証を行う認証システムであって、
前記第１の情報処理装置においては、
所定の乱数と前記第１の情報処理装置自身の識別情報とを前記第２の情報処理装置に送信する第１の送信手段と、
前記第２の情報処理装置から送信される、前記第２の情報処理装置の識別情報および前記乱数に対する応答を受信する第１の受信手段と、
前記第１の情報処理装置自身の識別情報と、前記第１の受信手段により受信された前記第２の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵を生成する第１の個別鍵生成手段と、
前記第１の個別鍵生成手段により生成された前記個別鍵を用いて、前記乱数を、所定の暗号化方式で暗号化し、正しい応答である正解応答を生成する正解応答生成手段と、
前記第２の情報処理装置を認証するために、前記正解応答生成手段により生成された前記正解応答を用いて、前記受信手段により受信された前記応答を認証する応答認証手段と
を備え、
前記第２の情報処理装置においては、
前記第１の情報処理装置から送信される前記乱数および前記識別情報を受信する第２の受信手段と、
前記第２の受信手段により受信された前記第１の情報処理装置の識別情報と前記第２の情報処理装置自身の識別情報との両方に対応する鍵情報である個別鍵を生成する第２の個別鍵生成手段と、
前記第２の個別鍵生成手段により生成された前記個別鍵を用いて、前記第２の受信手段により受信された前記乱数を、所定の暗号化方式で暗号化し、応答を生成する応答生成手段と、
前記応答生成手段により生成された前記応答を、前記第１の情報処理装置に送信する第２の送信手段と
を備える認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、並びに認証システムに関し、特に、より容易かつ安全に認証処理を行うことができるようにした情報処理装置および方法、並びに認証システムに関する。
【背景技術】
【０００２】
近年、偽造電池パックが市場に流通しており、様々な問題を引き起こしている。例えば、過充電保護回路のない偽造電池パックが接続されることにより、デジタルカメラやノート型パーソナルコンピュータが爆発するといった事故が発生している。
【０００３】
そのため、本体側の装置が自社の純正電池パックと偽造電池パックとを識別認証する方法が考えられている。例えば、本体側の装置が接続された電池パックの認証を行い、不正な電池パックを検出すると、充電動作を開始しないようにすることで過熱や爆発を防ぐ方法が考えられている。
【０００４】
このような電池パックの認証方法として、例えば、図１に示されるように、本体装置と電池パック内の暗号認証ＩＣチップ（以下において、機器認証チップと称する）との間で所謂チャレンジ-レスポンス認証を行う方法である。
【０００５】
まず、電池パックが純正のものであることを確認するために、本体装置が電池パックにチャレンジ（Challenge）（乱数）を送信する（Ｓ１）。電池パックは、このチャレンジを受け取ると、そのチャレンジを秘密鍵（Key_Private）を用いて所定のセキュリティアルゴリズムで暗号化することにより、レスポンス（Response）を生成する（Ｓ２）。このセキュリティアルゴリズムには様々なものを適用できるが、例えば、DES（Data Encryption Standard）やAES（Advanced Encryption Standard）などの暗号演算がある。
【０００６】
本体装置は、この電池パック側で生成されたレスポンスを受け取ると、自身でも、チャレンジを同じ秘密鍵（Key_Private）を用いて、同じセキュリティアルゴリズムで暗号化し、正解と思われるレスポンス（Response_answer）を生成する（Ｓ３）。
【０００７】
本体装置は、正解と思われるレスポンスと、電池パックから取得したレスポンスとを比較し（Ｓ４）、それらの値が互いに一致すれば、その電池パックを正当なものとみなす（Ｓ５）。正解と思われるレスポンスと、電池パックから取得したレスポンスとで値が一致しない場合、認証に失敗した、すなわち、不正な電池パックであるものとみなす（Ｓ６）。
【０００８】
このような機器認証において、重要なことは、各装置が持っている秘密鍵を漏洩させないことである。この秘密鍵が攻撃者に漏洩すると、攻撃者が、偽造の機器認証チップを作成することができるようになってしまう。つまり、上述したような機器認証が成功する偽造電池パックの製造が可能となる。
【０００９】
したがって攻撃者は、この秘密鍵を特定する（漏洩させる）ことを目的とした攻撃を行う。秘密鍵を割り出す強力な攻撃方法として、例えば、DPA（Differential Power Analysis）攻撃といったサイドチャネル攻撃が知られている。このようなサイドチャネル攻撃を用いれば、秘密鍵を一瞬にして割り出すことが可能である。
【００１０】
そこで、安全な機器認証を実現するためには、サイドチャネル攻撃に対する対策が必要となる。例えば、モジュールを用いて入力値のモジュラ逆数である返値を計算することにより、サイドチャネル攻撃に対して耐性のあるデータ暗号化法を実現することが考えられている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特表２００８−５４２８０２号
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、このようにいくつかのサイドチャネル攻撃への対策方法は既に存在するものの、これらを実装すると回路面積が数倍程度に大きくなってしまう。また処理も複雑なため、負荷も大きく、コストが増大する恐れがあった。そのため、コストが最優先される機器認証チップに従来のサイドチャネル攻撃対策を実装するのは、現実的には困難であった。
【００１３】
また、仮に秘密鍵が漏洩した場合でも、認証システムの全てが破たんしないように、各チップに登録する秘密鍵を互いに異なる個別鍵とする方法がある。
【００１４】
例えば、あるチップの個別鍵が漏洩してしまった場合、その個別鍵は今後一切使えないように他のチップにネットワークを介して周知させる。例えば、漏洩が疑われた個別鍵のブラックリストをチップ内に持たせ、ネットワーク経由でそのリストを更新することで、漏洩した個別鍵を無効化する。
【００１５】
このようにすることにより、その他の漏洩していない個別鍵は、そのまま使用することができる。つまり、少数の個別鍵が漏洩した場合であっても、認証システム全体が破たんしてしまう危険性が低減される。ただし、このような秘密鍵を個別化する方法の場合、あらゆるチップがネットワークに接続され、サーバ等から、そのブラックリストを更新することができるようにする必要があった。
【００１６】
しかしながら、実際には、認証を行う全ての機器認証チップが、ブラックリストを更新するサーバと通信可能な状態を保つことが可能なシステムは少ない。例えば、デジタルカメラやノート型パーソナルコンピュータが、装着される電池パックの認証を行うような認証システムの場合、少なくとも電池パックがネットワークを介してサーバと通信を行う機能を備えることは稀である。また、仮にそのような通信機能を電池パックに付与するとしても、コストが増大してしまう恐れがあった。
【００１７】
このように、ブラックリストによって使用の可否を制御可能な個別鍵を用いる方法は、ブラックリストの管理が複雑であるため、容易に適用することができない恐れがあった。  
【００１８】
本発明は、このような状況に鑑みて提案されたものであり、認証側と非認証側の両方の装置の識別情報に対応する個別鍵を用いて認証を行うことにより、より容易かつ安全に認証処理を行うすることを目的とする。
【課題を解決するための手段】
【００１９】
本発明の一側面は、他の情報処理装置の認証を行う情報処理装置であって、前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵を生成する個別鍵生成手段と、前記個別鍵生成手段により生成された前記個別鍵を用いて、所定の乱数を所定の暗号化方式で暗号化し、前記乱数をチャレンジとするときの、前記チャレンジに対する正しい応答である正解応答を生成する正解応答生成手段と、前記他の情報処理装置を認証するために、前記正解応答生成手段により生成された前記正解応答を用いて、前記他の情報処理装置により生成される前記チャレンジに対する応答を認証する応答認証手段とを備える情報処理装置である。
【００２０】
前記応答認証手段により実行可能な前記他の情報処理装置の認証の残り回数を管理し、前記認証が行われるたびに前記残り回数を１減算する残回数処理手段をさらに備えることができる。
【００２１】
前記個別鍵生成手段は、前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との排他的論理和を、所定の秘密鍵を用いて、所定の暗号化方式で暗号化することにより前記個別鍵を生成することができる。
【００２２】
前記個別鍵生成手段は、前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との排他的論理和を、所定の秘密鍵を用いて、HMACで暗号化することにより前記個別鍵を生成することができる。
【００２３】
前記個別鍵生成手段により生成された前記個別鍵を記憶する記憶手段をさらに備え、前記個別鍵生成手段は、前記他の情報処理装置を初めて認証する場合のみ、前記個別鍵を生成することができる。
【００２４】
前記個別鍵生成手段は、前記他の情報処理装置において生成され、非対称暗号化方式により暗号化された前記個別鍵を前記非対称暗号化方式により復号することにより、前記個別鍵をえることができる。
【００２５】
前記応答認証手段により前記応答を認証した前記他の情報処理装置の識別情報を管理する管理手段をさらに備えることができる。
【００２６】
前記管理手段は、前記応答認証手段により前記応答を認証した前記他の情報処理装置の識別情報のCRC演算値を管理することができる。
【００２７】
本発明の一側面は、また、他の情報処理装置の認証を行う情報処理装置の情報処理方法であって、前記情報処理装置の個別鍵生成手段が、前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵を生成し、前記情報処理装置の前記正解応答生成手段が、生成された前記個別鍵を用いて、所定の乱数を所定の暗号化方式で暗号化し、前記乱数をチャレンジとするときの、前記チャレンジに対する正しい応答である正解応答を生成し、前記情報処理装置の応答認証手段が、前記他の情報処理装置を認証するために、生成された前記正解応答を用いて、前記他の情報処理装置により生成される前記チャレンジに対する応答を認証する情報処理方法である。
【００２８】
本発明の他の側面は、第１の情報処理装置が前記第２の情報処理装置の認証を行う認証システムであって、前記第１の情報処理装置においては、所定の乱数と前記第１の情報処理装置自身の識別情報とを前記第２の情報処理装置に送信する第１の送信手段と、前記第２の情報処理装置から送信される、前記第２の情報処理装置の識別情報および前記乱数に対する応答を受信する第１の受信手段と、前記第１の情報処理装置自身の識別情報と、前記第１の受信手段により受信された前記第２の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵を生成する第１の個別鍵生成手段と、前記第１の個別鍵生成手段により生成された前記個別鍵を用いて、前記乱数を、所定の暗号化方式で暗号化し、正しい応答である正解応答を生成する正解応答生成手段と、前記第２の情報処理装置を認証するために、前記正解応答生成手段により生成された前記正解応答を用いて、前記受信手段により受信された前記応答を認証する応答認証手段とを備え、前記第２の情報処理装置においては、前記第１の情報処理装置から送信される前記乱数および前記識別情報を受信する第２の受信手段と、前記第２の受信手段により受信された前記第１の情報処理装置の識別情報と前記第２の情報処理装置自身の識別情報との両方に対応する鍵情報である個別鍵を生成する第２の個別鍵生成手段と、前記第２の個別鍵生成手段により生成された前記個別鍵を用いて、前記第２の受信手段により受信された前記乱数を、所定の暗号化方式で暗号化し、応答を生成する応答生成手段と、前記応答生成手段により生成された前記応答を、前記第１の情報処理装置に送信する第２の送信手段とを備える認証システムである。
【００２９】
本発明の一側面においては、情報処理装置自身の識別情報と、他の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵が生成され、生成された個別鍵を用いて、所定の乱数が所定の暗号化方式で暗号化され、乱数をチャレンジとするときの、チャレンジに対する正しい応答である正解応答が生成され、他の情報処理装置を認証するために、生成された正解応答を用いて、他の情報処理装置により生成されるチャレンジに対する応答が認証される。
【００３０】
本発明の他の側面においては、所定の乱数と第１の情報処理装置自身の識別情報とが第２の情報処理装置に送信され、第２の情報処理装置から送信される、第２の情報処理装置の識別情報および乱数に対する応答が受信され、第１の情報処理装置自身の識別情報と、受信された第２の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵が生成され、生成された個別鍵を用いて、乱数が、所定の暗号化方式で暗号化され、正しい応答である正解応答が生成され、第２の情報処理装置を認証するために、生成された正解応答を用いて、受信された応答が認証され、送信される乱数および識別情報が受信され、受信された第１の情報処理装置の識別情報と第２の情報処理装置自身の識別情報との両方に対応する鍵情報である個別鍵が生成され、生成された個別鍵を用いて、受信された乱数が、所定の暗号化方式で暗号化され、応答が生成され、生成された応答が、第１の情報処理装置に送信される。
【発明の効果】
【００３１】
本発明によれば、通信相手を認証することができる。特に、より容易かつ安全に認証処理を行うことができる。
【図面の簡単な説明】
【００３２】
【図１】従来の認証方法を説明する図である。
【図２】本発明を適用した電源供給制御システムの構成例を示す図である。
【図３】本体装置の認証処理部の主な構成例を示すブロック図である。
【図４】バッテリ装置の認証処理部の主な構成例を示すブロック図である。
【図５】認証処理の流れの例を説明するフローチャートである。
【図６】認証処理の流れの例を説明する、図５に続くフローチャートである。
【図７】認証処理の流れの例を説明するフローチャートである。
【図８】認証処理の流れの例を説明する、図７に続くフローチャートである。
【図９】認証処理の流れの例を説明するフローチャートである。
【図１０】認証処理の流れの例を説明する、図９に続くフローチャートである。
【図１１】本体装置の認証処理部の主な構成例を示すブロック図である。
【図１２】バッテリ装置の認証処理部の主な構成例を示すブロック図である。
【図１３】認証処理の流れの例を説明するフローチャートである。
【図１４】認証処理の流れの例を説明する、図１３に続くフローチャートである。
【図１５】認証処理の流れの例を説明する、図１４に続くフローチャートである。
【図１６】認証処理の流れの例を説明するフローチャートである。
【図１７】認証処理の流れの例を説明する、図１６に続くフローチャートである。
【図１８】本体装置の認証処理部の主な構成例を示すブロック図である。
【図１９】認証処理の流れの例を説明するフローチャートである。
【図２０】認証処理の流れの例を説明する、図１９に続くフローチャートである。
【図２１】本体装置の認証処理部の主な構成例を示すブロック図である。
【図２２】バッテリ装置の認証処理部の主な構成例を示すブロック図である。
【図２３】認証処理の流れの例を説明するフローチャートである。
【図２４】認証処理の流れの例を説明する、図２３に続くフローチャートである。
【図２５】本体装置の認証処理部の主な構成例を示すブロック図である。
【図２６】バッテリ装置の認証処理部の主な構成例を示すブロック図である。
【図２７】認証処理の流れの例を説明するフローチャートである。
【図２８】認証処理の流れの例を説明する、図２７に続くフローチャートである。
【図２９】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００３３】
以下、発明を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（認証システム）
２．第２の実施の形態（認証システム）
３．第３の実施の形態（認証システム）
４．第４の実施の形態（認証システム）
５．第５の実施の形態（認証システム）
６．第６の実施の形態（認証システム）
７．第７の実施の形態（認証システム）
８．第８の実施の形態（認証システム）
９．第９の実施の形態（パーソナルコンピュータ）
【００３４】
＜１．第１の実施の形態＞
［電源供給制御システムの説明］
図２は、本発明を適用した電源供給制御システムの構成例を示す図である。
【００３５】
図２に示される電源供給制御システム１００は、本体装置１０１が、本体装置１０１自身の筐体に装着されるバッテリ装置１０２を認証する認証システムである。
【００３６】
本体装置１０１は、筐体の所定の位置に、バッテリ装置１０２を装着可能な機構が設けられており、その位置に装着されたバッテリ装置１０２から電源供給を受け、動作する電子機器である。
【００３７】
バッテリ装置１０２は、本体装置１０１の所定の位置に装着された状態で、本体装置１０１に電源を供給する装置である。
【００３８】
本体装置１０１は、自身に装着されたバッテリ装置１０２の認証を行い、バッテリ装置１０２が正規品である場合に限り、電源供給を受ける。
【００３９】
図１に示されるように本体装置１０１は、認証処理部１１１、通信部１１２、電源制御部１１３、および本体処理部１１４を有する。
【００４０】
認証処理部１１１は、バッテリ装置１０２の認証処理を行う。詳細については後述するが、バッテリ装置１０２の認証は、所謂チャレンジレスポンス方式により行う。認証処理部１１１は、通信部１１２を介してバッテリ装置１０２と通信を行い、チャレンジを供給し、そのチャレンジに対するレスポンスを取得する。
【００４１】
通信部１１２は、本体装置１０１に装着されたバッテリ装置１０２の通信部１２２と通信を行い、情報を授受する。この通信は有線通信であってもよいし、無線通信であってもよい。
【００４２】
電源制御部１１３は、認証処理部１１１による認証結果に基づいて、本体装置１０１に装着されたバッテリ装置１０２から供給される電力の本体処理部１１４への供給を制御する。つまり、電源制御部１１３は、認証処理部１１１により、バッテリ装置１０２が正規品として認証された場合のみ、本体処理部１１４への電力供給を許可し、バッテリ装置１０２が正規品として認証されなかった場合は、本体処理部１１４への電力供給を許可しない。
【００４３】
本体処理部１１４は、バッテリ装置１０２から供給される電力により動作し、本体装置１０１としての機能を実現する。また本体処理部１１４は、ディスプレイやスピーカ等を含む出力部１１５を有する。出力部１１５は、認証処理部１１１から供給されるバッテリ装置１０２の認証結果をディスプレイに表示したり、スピーカから音声出力したりして、ユーザに通知する。
【００４４】
バッテリ装置１０２は、認証処理部１２１、通信部１２２、電源制御部１２３、および蓄電部１２４を有する。
【００４５】
認証処理部１２１は、通信部１２２を介して、本体装置１０１の認証処理部１１１からのチャレンジに対して応答を行う。また、認証処理部１２１は、認証が成功した場合、電源制御部１２３を制御し、電力の供給を許可させる。
【００４６】
通信部１２２は、本体装置１０１の通信部１１２と通信を行い、情報を授受する。
【００４７】
電源制御部１２３は、認証処理部１２１による認証結果に基づいて、蓄電部１２４から本体装置１０１への電力の供給を制御する。つまり、電源制御部１２３は、本体装置１０１によりバッテリ装置１０２が正規品として認証された場合のみ、蓄電部１２４から本体装置１０１への電力の供給を許可し、バッテリ装置１０２が正規品として認証されなかった場合は、本体装置１０１への電力の供給を許可しない。
【００４８】
換言すれば、電源制御部１２３は、バッテリ装置１０２が、バッテリ装置１０２自身が対応しない不正な本体装置１０１に接続される場合に電力の供給を行わないように制御する。
【００４９】
蓄電部１２４は、例えば、一次電池や二次電池等により構成され、電気を蓄える。蓄電部１２４は、電源制御部１１３や電源制御部１２３により許可された場合、本体処理部１１４に電力を供給する。この電力の供給路は、有線であってもよいし、無線であってもよい。
【００５０】
なお、蓄電部１２４が二次電池を有する場合、バッテリ装置１０２は、充電に関する機能も備えるが、ここではその説明は省略する。
【００５１】
バッテリ装置１０２の認証処理部１２１、通信部１２２、および電源制御部１２３は、蓄電部１２４から供給される電力により動作する。これに対して、本体装置１０１の認証処理部１１１、通信部１１２、電源制御部１１３も、蓄電部１２４から供給される電力により動作する。
【００５２】
ただし、その場合、認証処理部１１１乃至電源制御部１１３は、バッテリ装置１０２の認証が成功する前から、バッテリ装置１０２からの電力の供給を受ける必要がある。このことによる不具合の発生を抑制するために、本体装置１０１が、認証処理部１１１乃至電源制御部１１３を動作させるための電力供給部（バッテリ等）を有するようにしてもよい。また、認証処理部１１１乃至電源制御部１１３が、バッテリ装置１０２が認証されるまで、その本体装置１０１の電力供給部から供給される電力により動作し、バッテリ装置１０２が認証された後は、バッテリ装置１０２から供給される電力により動作するようにしてもよい。
【００５３】
以上のように、認証処理部１１１、通信部１１２、通信部１２２、および認証処理部１２１が、バッテリ装置１０２の認証を行うための認証システム１３１を形成する。電源供給制御システム１００は、その認証システム１３１の認証結果に応じて電力の供給を制御するシステムである。
【００５４】
上述したように、認証システム１３１は、チャレンジレスポンス方式で認証を行う。認証処理部１１１および認証処理部１２１は、予め共通の秘密鍵を有している。また、認証処理部１１１および認証処理部１２１は、それぞれ、自分自身を他と識別するための識別情報を有している。
【００５５】
認証処理部１１が、乱数を生成し、その乱数をチャレンジとして自身の識別情報とともに、認証処理部１２１に供給する。
【００５６】
認証処理部１２１は、自身の識別情報と認証処理部１１１の識別情報を用いて、両者の識別情報に対応する個別鍵を生成し、その個別鍵を用いて乱数を暗号化し、チャレンジに対する応答を生成する。認証処理部１２１は、その応答を、自身の識別情報とともに認証処理部１１１に供給する。
【００５７】
認証処理部１１１は、自身の識別情報と認証処理部１２１の識別情報とを用いて、両社の識別情報に対応する個別鍵を生成し、その個別鍵を用いて乱数を暗号化し、正解とする応答（正解応答）を生成する。認証処理部１１１は、その正解応答と認証処理部１２１から供給された応答とを比較する。
【００５８】
正解応答と応答が一致すれば、認証は成功であり、正解応答と応答が一致しなければ、認証は失敗である。
【００５９】
このような認証システム１３１の認証結果に基づいて電力の供給が制御される。
【００６０】
以上のように認証システム１３１（認証処理部１１１および認証処理部１２１）は、認証側と被認証側との両方の識別情報に対応する個別鍵を用いて、チャレンジレスポンスを行う。
【００６１】
［本体装置の認証処理部の構成］
図３は、本体装置１０１の認証処理部１１１の主な構成例を示すブロック図である。
【００６２】
図３に示されるように、認証処理部１１１は、制御部１５１、乱数生成部１５２、記憶部１５３、および暗号処理部１５４を有する。
【００６３】
制御部１５１は、例えばCPU（Central Processing Unit）、ROM（Read Only Memory）、およびRAM（Random Access Memory）等を有し、認証に関する処理を実行し、必要に応じて各部を制御する。制御部１５１は、送信制御部１６１、受信制御部１６２、縁結び処理部１６３、残回数処理部１６４、ペア個別鍵生成部１６５、正解応答生成部１６６、応答認証部１６７、および電源制御指示部１６８を有する。
【００６４】
乱数生成部１５２は、制御部１５１に制御されて乱数を生成し、それを制御部１５１に供給したり、記憶部１５３に供給して記憶させたりする。
【００６５】
記憶部１５３は、例えば、ROM、RAM、EEPROM（Electronically Erasable and Programmable Read Only Memory）、フラッシュメモリ、若しくはハードディスク等の、任意の記録媒体を有し、制御部１５１が処理するデータやプログラム等を記憶する。
【００６６】
記憶部１５１は、例えば、認証処理部１１１（若しくは本体装置１０１）を他と識別するための本体識別情報１７１（ID1）と、認証処理部１２１と共通に有する秘密鍵１７２（Key_Private）とを予め記憶している。また、記憶部１５１は、乱数生成部１５２により生成された乱数１７３（Challenge）を記憶する。
【００６７】
さらに、記憶部１５１は、認証済みのバッテリ装置の識別情報を登録管理する縁結びリスト１７４（Marriage_list）を記憶する。また、記憶部１５１は、残回数処理部１６４によりカウントされるカウント値であり、認証可能なバッテリ装置の残数を示す残り回数１７５を記憶する。
【００６８】
暗号処理部１５４は、制御部１５１から供給される情報を、制御部１５１から供給される鍵情報を用いて、DES（Data Encryption Standard）で暗号化し、その暗号化結果を制御部１５１に返す。
【００６９】
［バッテリ装置の認証処理部の構成］
図４は、バッテリ装置１０２の認証処理部１２１の主な構成例を示すブロック図である。
【００７０】
図４に示されるように、認証処理部１２１は、制御部２０１、記憶部２０２、および暗号処理部２０３を有する。
【００７１】
制御部２０１は、例えばCPU、ROM、およびRAM等を有し、認証に関する処理を実行し、必要に応じて各部を制御する。制御部２０１は、受信制御部２１１、縁結び処理部２１２、残回数処理部２１３、ペア個別鍵生成部２１４、応答生成部２１５、返信制御部２１６、および電源制御指示部２１７を有する。
【００７２】
記憶部２０２は、例えば、ROM、RAM、EEPROM、フラッシュメモリ、若しくはハードディスク等の、任意の記録媒体を有し、制御部２０１が処理するデータやプログラム等を記憶する。
【００７３】
記憶部２０２は、例えば、認証処理部１２１（若しくはバッテリ装置１０２）を他と識別するためのバッテリ識別情報２２１（ID2）と、認証処理部１１１と共通に有する秘密鍵２２２（Key_Private）とを予め記憶している。
【００７４】
さらに、記憶部２０２は、バッテリ装置１０２自身が認証された本体装置の識別情報を登録管理する縁結びリスト２２３（Marriage_list）を記憶する。また、記憶部２０２は、残回数処理部２１３によりカウントされるカウント値であり、自分自身を認証させることができる本体装置の残数を示す残り回数２２４を記憶する。
【００７５】
暗号処理部２０３は、制御部２０１から供給される情報を、制御部２０１から供給される鍵情報を用いて、DES（Data Encryption Standard）で暗号化し、その暗号化結果を制御部２０１に返す。
【００７６】
［処理の流れ］
次に、図５および図６のフローチャートを参照して、これらの認証処理部により実行される認証処理の流れの例を説明する。
【００７７】
本体装置１０１の所定の位置にバッテリ装置１０２が装着されると、認証処理が開始される。
【００７８】
認証処理が開始されると、ステップＳ１０１において、本体装置１０１の認証処理部１１１において、送信制御部１６１は、乱数生成部１５２に乱数（Challenge）を生成させて取得し、さらに、記憶部１５３から本体識別情報１７１（ID1）を取得する。送信制御部１６１は、それらをチャレンジコマンドとして、通信部１１２を介してバッテリ装置１０２に送信する。
【００７９】
バッテリ装置１０２の受信制御部２１１は、ステップＳ１１１において、通信部１２２を介して、そのチャレンジコマンドを取得する。受信制御部２１１は、受信したID1を縁結び処理部２１２に供給する。
【００８０】
ステップＳ１１２において、縁結び処理部２１２は、取得したID1の本体装置１０１と、既に機器認定されているか否かを判定する。縁結び処理部２１２は、記憶部２０２の縁結びリスト２２３（Marriage_list）を参照し、ID1を検索する。
【００８１】
For(i=0; i<N; i++)
Marriage_list[i] == ID1?
【００８２】
縁結びリスト２２３は、バッテリ装置１０２（認証処理部１２１）自身を認証させた本体装置１０１（認証処理部１１１）の識別情報のリストである。後述するように、自分自身を認証させる相手の数は所定の数に制限される。したがって、既に認証させている相手の場合、その相手を改めてカウントしないようにする必要がある。そこで、縁結び処理部２１２は、縁結びリスト２２３を用いて、既に認証させた相手の識別情報を管理する。
【００８３】
なお、ここでいう認証とは、単に認証処理を行うことであり、相手が正当であるか否か（すなわち認証結果）については考慮しない。例えば、不正な本体装置１０１と認証処理を行った場合でも、その不正な本体装置１０１の識別情報が得られれば、その識別情報が縁結びリスト２２３に登録される。
【００８４】
ID1が縁結びリスト２２３に登録されておらず、本体装置１０１がまだバッテリ装置１０２を認証させていない相手であると判定された場合、制御部２０１は、処理をステップＳ１１３に進める。縁結び処理部２１２は、ID1を残回数処理部２１３に供給する。
【００８５】
ステップＳ１１３において、残回数処理部２１３は、認証の残り回数が０か否かを判定する。
【００８６】
Residual == 0?
【００８７】
残回数処理部２１３は、記憶部２０２の残り回数２２４（Residual）の値が０か否かを判定する。
【００８８】
バッテリ装置１０２（認証処理部１２１）は、自分自身を認証させることができる本体装置１０１の最大数が所定の数に予め定められている。つまり、１つのバッテリ装置１０２を使い回すことができる装置の数に制限（例えば、最大１００台まで等）が設けられている。
【００８９】
DPAで秘密鍵を特定するためには数万個の電力波形サンプルが必要になる。つまり、数万個の識別情報が必要になる。そこで、認証処理の相手の数を、例えば１００台以下に制限することにより、数万個の電力波形サンプルを得るためには、１００台以上の装置が必要になる。
【００９０】
つまり、バッテリ装置１０２を認証させる本体装置１０１の数を、上述したように、例えば１００台までに制限することにより、このバッテリ装置１０２から秘密鍵を盗み出すために、１００台以上の本体装置１０１が必要になるようにすることができる。
【００９１】
つまり、初期状態において、記憶部２０２には、残り回数２２４として所定の数値（例えば１００）が設定されている。そして、バッテリ装置１０２自身が新たな本体装置１０１に認証される度に、残回数処理部２１３により、その値が１ずつ低減される。そして、残り回数２２４の値が０になると、それ以上の新たな本体装置１０１に対する認証処理が禁止される。
【００９２】
このようにすることにより、秘密鍵を盗み出すためのコストや作業量が増大するので、攻撃者のモチベーションを低減させることができる。すなわち、認証処理部１２１は、秘密鍵の漏洩リスクを低減させることができる。
【００９３】
図５に戻り、残り回数２２４の値が０でないと判定された場合、制御部２０１は、処理をステップＳ１１４に進める。ステップＳ１１４において、縁結び処理部２１２は、ID1を記憶部２０２の縁結びリスト２２３に登録することによりID1と機器認定する。
【００９４】
Marriage_list[N-Residual] = ID1
【００９５】
また、残回数処理部２１３は、記憶部２０２の残り回数２２４の値を１低減させる。
【００９６】
Residual--
【００９７】
残回数処理部２１３は、ID1をペア個別鍵生成部２１４に供給する。制御部２０１は、処理をステップＳ１１５に進める。また、ステップＳ１１２において、ID1が縁結びリスト２２３に存在し、既にID1と機器認定されていると判定された場合、制御部２０１は、処理をステップＳ１１５に進める。この場合、縁結び処理部２１２は、ID1をペア個別鍵生成部２１４に供給する。
【００９８】
ステップＳ１１５において、ペア個別鍵生成部２１４は、ID1とID2のペア個別鍵を生成する。
【００９９】
ペア個別鍵生成部２１４は、記憶部２０２からバッテリ識別情報２２１（ID2）および秘密鍵２２２（Key_Private）を取得する。この秘密鍵２２２は、本体装置１０１の記憶部１５３に記憶されている秘密鍵１７２と同一の鍵情報である。
【０１００】
ペア個別鍵生成部２１４は、ID1とID2の排他的論理和（XOR）を算出し、その値と、秘密鍵２２２を暗号処理部２０３に供給し、暗号化させる。暗号処理部２０３は、供給された秘密鍵２２２を用いて、ID1とID2の排他的論理和をDESで暗号化する。暗号処理部２０３は、その暗号化された値（暗号結果）をペア個別鍵生成部２１４に供給する。
【０１０１】
Key_ID1-ID2 = DES（ID1 xor ID2）
Key_Private
【０１０２】
ペア個別鍵生成部２１４は、その暗号結果を、ID1およびID2との組み合わせ（つまり、ID1とID2の両方）に対応するペア個別鍵（Key_ID1-ID2）とする。
【０１０３】
このペア個別鍵（Key_ID1-ID2）は、ID1とID2を用いて生成されるので、ID1の本体装置１０１と、ID2のバッテリ装置１０２との間でしか使用することができない。つまり、このペア個別鍵（Key_ID1-ID2）は、他の装置において利用することができない。
【０１０４】
したがって、仮に、サイドチャネル攻撃等により、このペア個別鍵が漏洩したとしても、このペア個別鍵を用いて、任意の装置に対して使用することができる有効なバッテリ装置や本体装置を偽造することはできない。
【０１０５】
つまり、バッテリ装置１０２（認証処理部１２１）は、このペア個別鍵を用いて応答を生成することにより、秘密鍵の漏洩リスクを低減させることができる。また、この方法の場合、認証システム１３１（認証処理部１１１および認証処理部１２１）は、従来の方法のようにブラックリスト等を必要とせずに、漏洩したペア個別鍵を用いて生成される応答を不正と判断することができる。
【０１０６】
以上のようにペア個別鍵（Key_ID1-ID2）を生成すると、ペア個別鍵生成部２１４は、そのペア個別鍵（Key_ID1-ID2）を応答生成部２１５に供給する。
【０１０７】
応答生成部２１５は、ステップＳ１１６において、ステップＳ１１１において受信されたチャレンジコマンドに対する応答をペア個別鍵から生成する。
【０１０８】
応答生成部２１５は、受信制御部２１１により受信された乱数（Challenge）を取得する。応答生成部２１５は、その乱数（Challenge）とペア個別鍵（Key_ID1-ID2）を暗号処理部２０３に供給する。
【０１０９】
暗号処理部２０３は、ペア個別鍵（Key_ID1-ID2）を用いて、乱数（Challenge）をDESで暗号化し、その暗号結果を応答生成部２１５に返す。
【０１１０】
Response = DES（Challenge）
Key_ID1-ID2
【０１１１】
応答生成部２１５は、その暗号結果を応答（Response）とし、返信制御部２１６に供給する。
【０１１２】
返信制御部２１６は、記憶部２０２よりバッテリ識別情報２２１（ID2）を取得し、そのID2を応答（Response）とともに、レスポンスコマンドとして、通信部１２２を介して本体装置１０１に送信する。
【０１１３】
本体装置１０１の受信制御部１６２は、ステップＳ１０２において、通信部１１２を介して、そのレスポンスコマンドを取得する。受信制御部１６２は、受信したID2を縁結び処理部１６３に供給する。
【０１１４】
図６のステップＳ１２１において、縁結び処理部１６３は、取得したID2のバッテリ装置１０２と既に機器認定されているか否かを判定する。縁結び処理部１６３は、記憶部１５３の縁結びリスト１７４（Marriage_list）を参照し、ID2を検索する。
【０１１５】
For(i=0; i<N; i++)
Marriage_list[i] == ID2?
【０１１６】
縁結びリスト１７４は、縁結びリスト２２３と同様の、本体装置１０１（認証処理部１１１）自身が認証したバッテリ装置１０２（認証処理部１２１）の識別情報のリストである。本体装置１０１（認証処理部１１１）において、認証することができる相手の数は所定の数に制限される。したがって、既に認証している相手の場合、その相手を改めてカウントしないようにする必要がある。そこで、縁結び処理部１６３は、縁結びリスト１７４を用いて、既に認証した相手の識別情報を管理する。
【０１１７】
なお、ここでいう認証とは、単に認証処理を行うことであり、相手が正当であるか否か（すなわち認証結果）については考慮しない。例えば、不正なバッテリ装置１０２と認証処理を行った場合でも、その不正なバッテリ装置１０２の識別情報が得られれば、その識別情報が縁結びリスト１７４に登録される。
【０１１８】
ID2が縁結びリスト１７４に登録されておらず、バッテリ装置１０２がまだ認証していない相手であると判定された場合、制御部１５１は、処理をステップＳ１２２に進める。縁結び処理部１６３は、ID2を残回数処理部１６４に供給する。
【０１１９】
ステップＳ１２２において、残回数処理部１６４は、認証の残り回数が０か否かを判定する。
【０１２０】
Residual == 0?
【０１２１】
残回数処理部１６４は、記憶部１５３の残り回数１７５（Residual）の値が０か否かを判定する。
【０１２２】
バッテリ装置１０２（認証処理部１２１）の場合と同様に、本体装置１０１（認証処理部１１１）も、認証することができるバッテリ装置１０２（認証処理部１２１）の最大数が所定の数に予め定められている。つまり、１つの本体装置１０１に使用可能なバッテリ装置１０２の数に制限（例えば、最大１００台まで等）が設けられている。
【０１２３】
これは、上述したバッテリ装置１０２の場合と同様に、秘密鍵を盗み出すためのコストや作業量が増大させ、攻撃者のモチベーションを低減させるためのものである。このような制限を設けることにより、認証処理部１１１は、秘密鍵の漏洩リスクを低減させることができる。
【０１２４】
残り回数１７５の値が０でないと判定された場合、制御部１５１は、処理をステップＳ１２３に進める。ステップＳ１２３において、縁結び処理部１６３は、ID2を記憶部１５３の縁結びリスト１７４に登録することによりID2と機器認定する。
【０１２５】
Marriage_list[N-Residual] = ID2
【０１２６】
また、残回数処理部１６４は、記憶部１５３の残り回数１７５の値を１低減させる。
【０１２７】
Residual--
【０１２８】
残回数処理部１６４は、ID2をペア個別鍵生成部１６５に供給する。制御部１５１は、処理をステップＳ１２４に進める。また、ステップＳ１２１において、ID2が縁結びリスト１７４に存在し、既にID2と機器認定されていると判定された場合、制御部１５１は、処理をステップＳ１２４に進める。この場合、縁結び処理部１６３は、ID2をペア個別鍵生成部１６５に供給する。
【０１２９】
ステップＳ１２４において、ペア個別鍵生成部１６５は、ID1とID2のペア個別鍵（Key_ID1-ID2）を生成する。
【０１３０】
ペア個別鍵生成部１６５は、記憶部１５３から本体識別情報１７１（ID1）および秘密鍵１７２（Key_Private）を取得する。
【０１３１】
ペア個別鍵生成部１６５は、ID1とID2の排他的論理和（XOR）を算出し、その値と、秘密鍵１７２を暗号処理部１５４に供給し、暗号化させる。暗号処理部１５４は、供給された秘密鍵１７２を用いて、ID1とID2の排他的論理和をDESで暗号化する。暗号処理部１５４は、その暗号化された値（暗号結果）をペア個別鍵生成部１６５に供給する。
【０１３２】
Key_ID1-ID2 = DES（ID1 xor ID2）
Key_Private
【０１３３】
ペア個別鍵生成部１６５は、その暗号結果を、ID1およびID2との組み合わせ（つまり、ID1とID2の両方）に対応するペア個別鍵（Key_ID1-ID2）とする。
【０１３４】
このペア個別鍵（Key_ID1-ID2）は、上述したようにバッテリ装置１０２（認証処理部１２１）において生成されるペア個別鍵（Key_ID1-ID2）と同一である。つまり、このペア個別鍵（Key_ID1-ID2）も、他の装置において利用することができない。
【０１３５】
つまり、本体装置１０１（認証処理部１１１）は、このペア個別鍵を用いて正解応答を生成し、その正解応答によって応答を認証することにより、秘密鍵の漏洩リスクを低減させることができる。また、この方法の場合、認証システム１３１（認証処理部１１１および認証処理部１２１）は、従来の方法のようにブラックリスト等を必要とせずに、漏洩したペア個別鍵を用いて生成される応答を不正と判断することができる。
【０１３６】
以上のようにペア個別鍵（Key_ID1-ID2）を生成すると、ペア個別鍵生成部１６５は、そのペア個別鍵（Key_ID1-ID2）を正解応答生成部１６６に供給する。
【０１３７】
正解応答生成部１６６は、ステップＳ１２５において、図５のステップＳ１０１において送信したチャレンジコマンドに対する正しい応答である正解応答をペア個別鍵から生成する。
【０１３８】
正解応答生成部１６６は、記憶部１５３により保持されている乱数１７３（Challenge）を取得する。この乱数１７３は、図５のステップＳ１０１において乱数生成部１５２により生成されたものである。正解応答生成部１６６は、その乱数１７３とペア個別鍵（Key_ID1-ID2）を暗号処理部１５４に供給する。
【０１３９】
暗号処理部１５４は、ペア個別鍵（Key_ID1-ID2）を用いて、乱数１７３（Challenge）をDESで暗号化し、その暗号結果を正解応答生成部１６６に返す。
【０１４０】
Response_anser = DES（Challenge）
Key_ID1-ID2
【０１４１】
正解応答生成部１６６は、その暗号結果を正解応答（Response_anser）とし、応答認証部１６７に供給する。
【０１４２】
ステップＳ１２６において、応答認証部１６７は、応答を認証する。応答認証部１６７は、受信制御部１６２から、認証処理部１２１から供給された応答（Response）を取得し、その応答と、正解応答を比較し、互いが一致するか否かによって、応答を認証する。
【０１４３】
Response_anser == Response?
【０１４４】
応答（Response）が正当なバッテリ装置１０２（認証処理部１２１）において生成されたものであれば、その値は正解応答と一致する。したがって、その場合、応答認証部１６７は、バッテリ装置１０２（認証処理部１２１）を正当な装置として認証する（認証に成功する）。
【０１４５】
逆に、応答（Response）が不正なバッテリ装置１０２（認証処理部１２１）において生成されたものであれば、その値は正解応答と一致しない。したがって、その場合、応答認証部１６７は、バッテリ装置１０２（認証処理部１２１）を正当な装置として認証しない（認証に失敗する）。
【０１４６】
ステップＳ１２７において、応答認証部１６７は、このような認証結果をユーザやバッテリ装置１０２（認証処理部１２１）に通知する。つまり、応答認証部１６７は、例えば、認証結果を本体処理部１１４の出力部１１５に供給し、画像や音声等で認証結果をユーザに通知させる。また、応答認証部１６７は、例えば、認証結果を、通信部１１２を介してバッテリ装置１０２（認証処理部１２１）に供給する。さらに、応答認証部１６７は、例えば、認証結果を電源制御指示部１６８に供給する。
【０１４７】
電源制御指示部１６８は、ステップＳ１２８において、電流制御部１１３に対して指示を出し、認証結果に応じた電力供給の制御を行わせる。例えば、バッテリ装置１０２（認証処理部１２１）の認証に成功した場合、電流制御指示部１６８は、電流制御部１１３を制御し、バッテリ装置１０２から供給される電力を本体処理部１１４に供給させる。
【０１４８】
また、例えば、バッテリ装置１０２（認証処理部１２１）の認証に失敗した場合、電流制御指示部１６８は、電流制御部１１３を制御し、バッテリ装置１０２から供給される電力を本体処理部１１４に供給させないようにする。
【０１４９】
ステップＳ１２８の処理が終了すると、制御部１５１は認証処理を終了する。
【０１５０】
また、ステップＳ１２２において、残り回数が０であると判定された場合、制御部１５１は、処理をステップＳ１２９に進める。この場合、本体装置１０１（認証処理部１１１）は、新たなバッテリ装置１０２（認証処理部１２１）と認証処理を行うことができない。
【０１５１】
したがって、ステップＳ１２９において、残回数処理部１６４は、出力部１１５を介して画像や音声等によりエラー通知を行う。この場合、電力制御指示部１６８は、電流制御部１１３を制御し、バッテリ装置１０２から供給される電力を本体処理部１１４に供給させないようにする。
【０１５２】
ステップＳ１２９の処理が終了すると、制御部１５１は認証処理を終了する。
【０１５３】
ところで、ステップＳ１２７において応答認証部１６７から送信された通知は、ステップＳ１４１において、バッテリ装置１０２の電源制御指示部２１７により取得される。
【０１５４】
通信部１２２を介してその認証結果の通知を取得すると、電源制御指示部２１７は、ステップＳ１４２において、電流制御部１２３に対して指示を出し、認証結果に応じた電力供給の制御を行わせる。例えば、バッテリ装置１０２（認証処理部１２１）の認証に成功した場合、電流制御指示部２１７は、電流制御部１２３を制御し、蓄電部１２４から供給される電力を本体装置１０１に供給させる。
【０１５５】
また、例えば、バッテリ装置１０２（認証処理部１２１）の認証に失敗した場合、電流制御指示部２１７は、電流制御部１２３を制御し、蓄電部１２４から供給される電力を本体装置１０１に供給させないようにする。
【０１５６】
ステップＳ１４２の処理が終了すると、制御部２０１は認証処理を終了する。
【０１５７】
また、図５のステップＳ１１３において、残り回数が０であると判定された場合、制御部２０１は、処理をステップＳ１１８に進める。この場合、バッテリ装置１０２（認証処理部１２１）は、新たな本体装置１０１（認証処理部１１１）と認証処理を行うことができない。
【０１５８】
したがって、ステップＳ１１８において、残回数処理部２１３は、通信部１２２を介してその旨を本体装置１０１に通知し、画像や音声等によりエラー通知を行わせる。この場合、本体装置１０１の電力制御指示部１６８は、その通知を取得すると、電流制御部１１３を制御し、バッテリ装置１０２から供給される電力を本体処理部１１４に供給させないようにする。
【０１５９】
ステップＳ１１８の処理が終了すると、制御部２０１は認証処理を終了する。
【０１６０】
以上のように、認証システム１３１（認証処理部１１１および認証処理部１２１）は、認証処理の相手の数を制限することによって、秘密鍵を漏洩させるための攻撃のコストを増大させ、秘密鍵の漏洩リスクを低減させることができる。
【０１６１】
また、認証システム１３１（認証処理部１１１および認証処理部１２１）は、仮に、チャレンジレスポンスに使用される鍵が漏洩したとしても、その漏洩した鍵を使用して不正な認証処理を行うことができないように、互いの識別情報の組み合わせに固有のペア個別鍵を生成し、そのペア個別鍵を用いて認証処理を行う。
【０１６２】
したがって、認証システム１３１（認証処理部１１１および認証処理部１２１）は、より容易かつ安全に認証処理を行うことができる。
【０１６３】
＜２．第２の実施の形態＞
［処理の流れ］
第１の実施の形態においては、暗号化方法としてDESを用いるように説明したが、暗号処理部１５４および暗号処理部２０３が使用する暗号化方法は、互いの暗号化方法が同一であるか若しくは対応しているものであれば任意である。例えば、暗号処理部１５４および暗号処理部２０３が、DESの代わりにAES（Advanced Encryption Standard）を用いるようにしてもよい。
【０１６４】
その場合の認証処理の流れの例を図７および図８のフローチャートを参照して説明する。
【０１６５】
この場合も、認証処理は、基本的に第１の実施の形態の場合と同様に行われる。例えば、図７において、本体装置１０１の認証処理部１１１は、ステップＳ１５１およびステップＳ１５２の各処理を、図５のステップＳ１０１およびステップＳ１０２の各処理と同様に実行する。
【０１６６】
また、バッテリ装置１０２の認証処理部１２１は、図７のステップＳ１６１乃至ステップＳ１６４、並びに、ステップＳ１６７およびステップＳ１６８の各処理を、図５のステップＳ１１１乃至ステップＳ１１４、並びに、ステップＳ１１７およびステップＳ１１８の各処理と同様に実行する。
【０１６７】
ただし、図７のステップＳ１６５において、暗号処理部２０３は、ペア個別鍵生成部２１４から供給された秘密鍵２２２を用いて、ID1とID2の排他的論理和をAESで暗号化する。暗号処理部２０３は、その暗号化された値（暗号結果）をペア個別鍵生成部２１４に供給する。
【０１６８】
Key_ID1-ID2 = AES（ID1 xor ID2）
Key_Private
【０１６９】
ペア個別鍵生成部２１４は、その暗号結果を、ID1およびID2との組み合わせ（つまり、ID1とID2の両方）に対応するペア個別鍵（Key_ID1-ID2）とする。以上のようにペア個別鍵（Key_ID1-ID2）を生成すると、ペア個別鍵生成部２１４は、そのペア個別鍵（Key_ID1-ID2）を応答生成部２１５に供給する。
【０１７０】
また、ステップＳ１６６において、暗号処理部２０３は、応答生成部２１５から供給されたペア個別鍵（Key_ID1-ID2）を用いて、乱数（Challenge）をAESで暗号化し、その暗号結果を応答生成部２１５に返す。
【０１７１】
Response = AES（Challenge）
Key_ID1-ID2
【０１７２】
応答生成部２１５は、その暗号結果を応答（Response）とし、返信制御部２１６に供給する。
【０１７３】
また、例えば、図８において、バッテリ装置１０２の認証処理部１２１は、ステップＳ２０１およびステップＳ２０２の各処理を、図６のステップＳ１４１およびステップＳ１４２の各処理と同様に実行する。
【０１７４】
また、例えば、図８において、本体装置１０１の認証処理部１１１は、ステップＳ１８１乃至ステップＳ１８３、並びに、ステップＳ１８６乃至ステップＳ１８９の各処理を、図６のステップＳ１２１乃至ステップＳ１２３、並びに、ステップＳ１２６乃至ステップＳ１２９の各処理と同様に実行する。
【０１７５】
ただし、図８のステップＳ１８４において、暗号処理部１５４は、ペア個別鍵生成部１６５から供給された秘密鍵１７２を用いて、ID1とID2の排他的論理和をAESで暗号化する。暗号処理部１５４は、その暗号化された値（暗号結果）をペア個別鍵生成部１６５に供給する。
【０１７６】
Key_ID1-ID2 = AES（ID1 xor ID2）
Key_Private
【０１７７】
ペア個別鍵生成部１６５は、その暗号結果を、ID1およびID2との組み合わせ（つまり、ID1とID2の両方）に対応するペア個別鍵（Key_ID1-ID2）とする。以上のようにペア個別鍵（Key_ID1-ID2）を生成すると、ペア個別鍵生成部１６５は、そのペア個別鍵（Key_ID1-ID2）を正解応答生成部１６６に供給する。
【０１７８】
また、ステップＳ１８５において、暗号処理部１５４は、正解応答生成部１６６から供給されたペア個別鍵（Key_ID1-ID2）を用いて、乱数１７３（Challenge）をAESで暗号化し、その暗号結果を正解応答生成部１６６に返す。
【０１７９】
Response_anser = AES（Challenge）
Key_ID1-ID2
【０１８０】
正解応答生成部１６６は、その暗号結果を正解応答（Response_anser）とし、応答認証部１６７に供給する。
【０１８１】
以上のように、認証システム１３１（認証処理部１１１および認証処理部１２１）は、DESの場合と同様に、AESを用いて認証処理を行うことができる。したがって、この場合も、認証システム１３１（認証処理部１１１および認証処理部１２１）は、より容易かつ安全に認証処理を行うことができる。なお、DESよりAESの方が、安全性は高い。つまり、認証システム１３１（認証処理部１１１および認証処理部１２１）は、AESを用いることにより、DESを用いる場合よりも、より安全に認証処理を行うことができる。
【０１８２】
もちろん、認証システム１３１（認証処理部１１１および認証処理部１２１）は、DESおよびAES以外の暗号化方法を利用することもできる。
【０１８３】
＜３．第３の実施の形態＞
［処理の流れ］
また、認証システム１３１（認証処理部１１１および認証処理部１２１）は、DESの代わりに、HMAC（Keyed-Hashing for Message Authentication code）を用いるようにしてもよい。
【０１８４】
HMACは、ハッシュ関数を使って秘密鍵と組み合わせて計算するMAC（Message Authentication Code）である。MACは認証及び改竄検出技術の核となるアルゴリズムである。 MAC値の算出時にHMACアルゴリズムの中で用いられるハッシュアルゴリズムは、MD5やSHA-1など任意のハッシュ関数が適用可能である。
【０１８５】
HMACは次の式（１）のように定義される。
【０１８６】
HMACK(m) = h((K xor opad) || h((K xor ipad) || m)),    ・・・（１）
【０１８７】
ここで、ｈは繰り返し型ハッシュ関数、Ｋは秘密鍵をそれぞれ示し、ハッシュ関数のブロックサイズより短い場合は０でパディングを行う。ｍは認証対象メッセージである。「｜｜」は連結を示し、xorは排他的論理和を示す。２つの定数「ipad」と「opad」は、各々ブロック長サイズであり、以下のように定義される。
【０１８８】
ipad = 0x363636...3636
opad = 0x5c5c5c...5c5c
【０１８９】
つまり、ハッシュ関数のブロック長が512bit（64octet）の場合ならば、"ipad" と "opad" は、それぞれ64個の 0x36 や 0x5c の連続である。
【０１９０】
この場合の認証処理の流れの例を図９および図１０のフローチャートを参照して説明する。
【０１９１】
この場合も、認証処理は、基本的に第１の実施の形態の場合と同様に行われる。例えば、図９において、本体装置１０１の認証処理部１１１は、ステップＳ２１１およびステップＳ２１２の各処理を、図５のステップＳ１０１およびステップＳ１０２の各処理と同様に実行する。
【０１９２】
また、バッテリ装置１０２の認証処理部１２１は、図９のステップＳ２２１乃至ステップＳ２２４、並びに、ステップＳ２２７およびステップＳ２２８の各処理を、図５のステップＳ１１１乃至ステップＳ１１４、並びに、ステップＳ１１７およびステップＳ１１８の各処理と同様に実行する。
【０１９３】
ただし、図９のステップＳ２２５において、暗号処理部２０３は、ペア個別鍵生成部２１４から供給された秘密鍵２２２を用いて、ID1とID2の排他的論理和をHMACで暗号化する。暗号処理部２０３は、その暗号化された値（暗号結果）をペア個別鍵生成部２１４に供給する。
【０１９４】
Key_ID1-ID2 = HMACKey_Private（ID1 xor ID2）
【０１９５】
ペア個別鍵生成部２１４は、その暗号結果を、ID1およびID2との組み合わせ（つまり、ID1とID2の両方）に対応するペア個別鍵（Key_ID1-ID2）とする。以上のようにペア個別鍵（Key_ID1-ID2）を生成すると、ペア個別鍵生成部２１４は、そのペア個別鍵（Key_ID1-ID2）を応答生成部２１５に供給する。
【０１９６】
また、ステップＳ１６６において、暗号処理部２０３は、応答生成部２１５から供給されたペア個別鍵（Key_ID1-ID2）を用いて、乱数（Challenge）をHMACで暗号化し、その暗号結果を応答生成部２１５に返す。
【０１９７】
Response = HMACKey_ID1-ID2（Challenge）
【０１９８】
応答生成部２１５は、その暗号結果を応答（Response）とし、返信制御部２１６に供給する。
【０１９９】
また、例えば、図１０において、バッテリ装置１０２の認証処理部１２１は、ステップＳ２６１およびステップＳ２６２の各処理を、図６のステップＳ１４１およびステップＳ１４２の各処理と同様に実行する。
【０２００】
また、例えば、図１０において、本体装置１０１の認証処理部１１１は、ステップＳ２４１乃至ステップＳ２４３、並びに、ステップＳ２４６乃至ステップＳ２４９の各処理を、図６のステップＳ１２１乃至ステップＳ１２３、並びに、ステップＳ１２６乃至ステップＳ１２９の各処理と同様に実行する。
【０２０１】
ただし、図１０のステップＳ２４４において、暗号処理部１５４は、ペア個別鍵生成部１６５から供給された秘密鍵１７２を用いて、ID1とID2の排他的論理和をHMACで暗号化する。暗号処理部１５４は、その暗号化された値（暗号結果）をペア個別鍵生成部１６５に供給する。
【０２０２】
Key_ID1-ID2 = HMACKey_Private（ID1 xor ID2）
【０２０３】
ペア個別鍵生成部１６５は、その暗号結果を、ID1およびID2との組み合わせ（つまり、ID1とID2の両方）に対応するペア個別鍵（Key_ID1-ID2）とする。以上のようにペア個別鍵（Key_ID1-ID2）を生成すると、ペア個別鍵生成部１６５は、そのペア個別鍵（Key_ID1-ID2）を正解応答生成部１６６に供給する。
【０２０４】
また、ステップＳ２４５において、暗号処理部１５４は、正解応答生成部１６６から供給されたペア個別鍵（Key_ID1-ID2）を用いて、乱数１７３（Challenge）をHMACで暗号化し、その暗号結果を正解応答生成部１６６に返す。
【０２０５】
Response_anser = HMACKey_ID1-ID2（Challenge）
【０２０６】
正解応答生成部１６６は、その暗号結果を正解応答（Response_anser）とし、応答認証部１６７に供給する。
【０２０７】
以上のように、認証システム１３１（認証処理部１１１および認証処理部１２１）は、DESの場合と同様に、HMACを用いて認証処理を行うことができる。したがって、この場合も、認証システム１３１（認証処理部１１１および認証処理部１２１）は、より容易かつ安全に認証処理を行うことができる。
【０２０８】
＜４．第４の実施の形態＞
［本体装置の認証処理部の構成］
なお、以上においては、片方向の認証処理について説明したが、認証処理は、双方向で行うようにしてもよい。すなわち、バッテリ装置１０２が本体装置１０１を認証するようにしてもよい。
【０２０９】
図１１は、その場合の、本体装置１０１の認証処理部１１１の主な構成例を示すブロック図である。
【０２１０】
この場合の認証処理部１１１も、図３に示される第１の実施の形態の場合と、基本的に同様の構成を有する。ただし、図１１の例の場合、制御部１５１は、図３の場合の構成に加えてさらに、応答生成部３０１および返信制御部３０２を有する。
【０２１１】
応答生成部３０１は、本体装置１０１（認証処理部１１１）をバッテリ装置１０２（認証処理部１２１）に認証させるための、バッテリ装置１０２（認証処理部１２１）からのチャレンジコマンドに対する応答を生成する。返信制御部３０２は、通信部１１２を介して、バッテリ装置１０２（認証処理部１２１）からのチャレンジコマンドに対するレスポンスコマンドをバッテリ装置１０２（認証処理部１２１）に送信する。
【０２１２】
［バッテリ装置の認証処理部の構成］
図１２は、この場合のバッテリ装置１０２の認証処理部１２１の主な構成例を示すブロック図である。
【０２１３】
この場合の認証処理部１２１も、図４に示される第１の実施の形態の場合と、基本的に同様の構成を有する。ただし、図１２の例の場合、認証処理部１２１は、図４の場合の構成に加えて、さらに乱数生成部３２４を有する。
【０２１４】
この乱数生成部３２４は、本体装置１０１の乱数生成部１５２と同様の処理部であり、乱数３２５を生成し、生成した乱数３２５を、返信制御部２１６に供給する。また、乱数生成部３２４は、生成した乱数３２５を記憶部２０２に保持させる。
【０２１５】
なお、本実施の形態においては、説明の便宜上、乱数生成部１５２が生成する乱数１７３をChallenge1と称し、乱数生成部３２４が生成する乱数３２５をChallenge2と称する。この乱数１７３（Challenge1）と、乱数３２５（Challenge2）は、互いに独立して生成され、基本的に互いに異なる値をとる。
【０２１６】
また、図１２において、制御部２０１は、図４の場合の構成に加えてさらに、受信制御部３２１、正解応答生成部３２２、および応答認証部３２３を有する。
【０２１７】
［処理の流れ］
その場合の認証処理の流れの例を図１３乃至図１５のフローチャートを参照して説明する。
【０２１８】
この場合も、認証処理は、基本的に第１の実施の形態の場合と同様に行われる。例えば、図１３において、本体装置１０１の認証処理部１１１は、ステップＳ２８１およびステップＳ２８２の各処理を、図５のステップＳ１０１およびステップＳ１０２の各処理と同様に実行する。
【０２１９】
また、バッテリ装置１０２の認証処理部１２１は、図１３のステップＳ２９１乃至ステップＳ２９６、並びにステップＳ２９９の各処理を、図５のステップＳ１１１乃至ステップＳ１１６、並びにステップＳ１１８の各処理と同様に実行する。
【０２２０】
ただし、図１３のステップＳ２９７において、乱数生成部３２４は、乱数３２５（Challenge2）を生成する。乱数生成部３２４は、生成した乱数３２５（Challenge2）を返信制御部２１６に供給する。また、乱数生成部３２４は、生成した乱数３２５（Challenge2）を記憶部２０２に記憶させる。
【０２２１】
返信制御部２１６は、記憶部２０２よりバッテリ識別情報２２１（ID2）を取得し、そのID2を乱数３２５（Challenge2）や応答（Response）とともに、レスポンスコマンドとして、通信部１２２を介して本体装置１０１に送信する。
【０２２２】
本体装置１０１の受信制御部１６２は、ステップＳ２８２において、通信部１１２を介して、そのレスポンスコマンドを取得する。
【０２２３】
また、例えば、図１４において、本体装置１０１の認証処理部１１１は、ステップＳ３１１乃至ステップＳ３１６、並びにステップＳ３１９の各処理を、図６のステップＳ１２１乃至ステップＳ１２６、並びにステップＳ１２９の各処理と同様に実行する。
【０２２４】
ただし、図１４のステップＳ３１７において、応答生成部３０１は、ペア個別鍵生成部１６５において生成されたペア個別鍵を用いて、バッテリ装置１０２（認証処理部１２１）からのチャレンジコマンドに対する応答を生成する。
【０２２５】
応答生成部３０１は、受信制御部１６２により受信された乱数（Challenge2）を取得する。応答生成部３０１は、その乱数（Challenge2）とペア個別鍵（Key_ID1-ID2）を暗号処理部１５４に供給する。
【０２２６】
暗号処理部１５４は、ペア個別鍵（Key_ID1-ID2）を用いて、乱数（Challenge2）をDESで暗号化し、その暗号結果を応答生成部３０１に返す。
【０２２７】
Response2 = DES（Challenge2）
Key_ID1-ID2
【０２２８】
応答生成部３０１は、その暗号結果を応答（Response）とし、返信制御部３０２に供給する。
【０２２９】
返信制御部３０２は、ステップＳ３１８において、応答認証部１６７から応答（Response1）の認証結果（Result_Response1）を取得し、その認証結果（Result_Response1）を、応答生成部３０１により生成された応答（Response2）とともに、レスポンスコマンドとして、通信部１１２を介してバッテリ装置１０２に送信する。
【０２３０】
バッテリ装置１０２の受信制御部３２１は、ステップＳ３３１において、通信部１２２を介して、そのレスポンスコマンドを取得する。
【０２３１】
正解応答生成部３２２は、図１５のステップＳ３５１において、図１３のステップＳ２９８において送信したチャレンジコマンドに対する正しい応答である正解応答をペア個別鍵から生成する。
【０２３２】
正解応答生成部３２２は、記憶部１５３により保持されている乱数３２５（Challenge2）を取得する。この乱数３２５は、図１３のステップＳ２８１において乱数生成部１５２により生成されたものである。正解応答生成部３２２は、その乱数３２５とペア個別鍵（Key_ID1-ID2）を暗号処理部２０３に供給する。
【０２３３】
暗号処理部２０３は、ペア個別鍵（Key_ID1-ID2）を用いて、乱数３２５（Challenge2）をDESで暗号化し、その暗号結果を正解応答生成部３２２に返す。
【０２３４】
Response_anser2 = DES（Challenge2）
Key_ID1-ID2
【０２３５】
正解応答生成部３２２は、その暗号結果を正解応答（Response_anser）とし、応答認証部３２３に供給する。
【０２３６】
ステップＳ３５２において、応答認証部３２３は、応答を認証する。応答認証部３２３は、受信制御部３２１から、認証処理部１２１から供給された応答（Response2）を取得し、その応答と、正解応答を比較し、互いが一致するか否かによって、応答を認証する。
【０２３７】
Response_anser2 == Response2?
【０２３８】
応答（Response2）が、正当な本体装置１０１（認証処理部１１１）において生成されたものであれば、その値は正解応答と一致する。したがって、その場合、応答認証部３２３は、本体装置１０１（認証処理部１１１）を正当な装置として認証する（認証に成功する）。
【０２３９】
逆に、応答（Response2）が不正なバッテリ装置１０２（認証処理部１２１）において生成されたものであれば、その値は正解応答と一致しない。したがって、その場合、応答認証部３２３は、バッテリ装置１０２（認証処理部１２１）を正当な装置として認証しない（認証に失敗する）。
【０２４０】
ステップＳ３５３において、応答認証部３２３は、このような認証結果を本体装置１０１（認証処理部１１１）に通知する。つまり、応答認証部３２３は、例えば、通信部１２２を介して本体装置１０１（認証処理部１１１）に供給する。さらに、応答認証部３２３は、例えば、認証結果を電源制御指示部２１７に供給する。
【０２４１】
電源制御指示部２１７は、ステップＳ３５４において、電流制御部１１３に対して指示を出し、上述した他の実施の形態の場合と同様に、認証結果に応じた電力供給の制御を行わせる。
【０２４２】
ステップＳ３５４の処理が終了すると、制御部２０１は認証処理を終了する。
【０２４３】
ところで、ステップＳ３５３において応答認証部３２３から送信された通知は、ステップＳ３４１において、バッテリ装置１０２の電源制御指示部２１７により取得される。
【０２４４】
通信部１１２を介してその認証結果の通知を取得すると、電源制御指示部１６８は、ステップＳ３４２において、電流制御部１１３に対して指示を出し、認証結果に応じた電力供給の制御を行わせる。
【０２４５】
ステップＳ３４２の処理が終了すると、制御部１５１は認証処理を終了する。
【０２４６】
このようにすることにより、認証システム１３１（認証処理部１１１および認証処理部１２１）は、相互に認証を行うことができる。また、バッテリ装置１０２を不正な本体装置１０１に使用されることを抑制することができる。
【０２４７】
つまり、認証システム１３１（認証処理部１１１および認証処理部１２１）は、より容易かつ安全に認証処理を行うことができる。
【０２４８】
＜５．第５の実施の形態＞
［処理の流れ］
以上においては、縁結びリストに認証処理の相手の識別情報を登録するように説明したが、これ以外にも、例えば、CRC（Cyclic Redundancy Check）演算結果を登録するようにしてもよい。
【０２４９】
その場合の、認証処理の流れの例を図１６および図１７のフローチャートを参照して説明する。
【０２５０】
この場合も、認証処理は、基本的に第１の実施の形態の場合と同様に行われる。例えば、図１６において、本体装置１０１の認証処理部１１１は、ステップＳ３６１およびステップＳ３６２の各処理を、図５のステップＳ１０１およびステップＳ１０２の各処理と同様に実行する。
【０２５１】
また、バッテリ装置１０２の認証処理部１２１は、図１６のステップＳ３７１、ステップＳ３７３、並びに、ステップＳ３７５乃至ステップＳ３７８の各処理を、図５のステップＳ１１１、ステップＳ１１３、並びに、ステップＳ１１５乃至ステップＳ１１８の各処理と同様に実行する。
【０２５２】
ただし、図１６のステップＳ３７２において、縁結び処理部２１２は、取得したID1の本体装置１０１と既に機器認定されているか否かを判定する。縁結び処理部２１２は、記憶部２０２の縁結びリスト２２３（Marriage_list）を参照し、ID1のCRC演算結果を求め、それを検索する。
【０２５３】
For(i=0; i<N; i++)
Marriage_list[i] == CRC(ID1)?
【０２５４】
また、図１６のステップＳ３７３において、残り回数２２４の値が０でないと判定された場合、制御部２０１は、処理をステップＳ３７４に進める。ステップＳ３７４において、縁結び処理部２１２は、ID1のCRC演算結果を求め、それを記憶部２０２の縁結びリスト２２３に登録することによりID1と機器認定する。
【０２５５】
Marriage_list[N-Residual] = CRC(ID1)
【０２５６】
また、例えば、図１７において、バッテリ装置１０２の認証処理部１２１は、ステップＳ４１１およびステップＳ４１２の各処理を、図６のステップＳ１４１およびステップＳ１４２の各処理と同様に実行する。
【０２５７】
また、例えば、図１７において、本体装置１０１の認証処理部１１１は、ステップＳ３９２、並びに、ステップＳ３９４乃至ステップＳ３９９の各処理を、図６のステップＳ１２２、並びに、ステップＳ１２４乃至ステップＳ１２９の各処理と同様に実行する。
【０２５８】
ただし、図１７のステップＳ３９１において、縁結び処理部１６３は、記憶部１５３の縁結びリスト１７４（Marriage_list）を参照し、ID2のCRC演算結果を検索する。
【０２５９】
For(i=0; i<N; i++)
Marriage_list[i] == CRC（ID2）?
【０２６０】
また、ステップＳ３９３において、縁結び処理部１６３は、ID2のCRC演算結果を求め、それを記憶部１５３の縁結びリスト１７４に登録することによりID2と機器認定する。
【０２６１】
Marriage_list[N-Residual] = CRC（ID2）
【０２６２】
以上のように、認証システム１３１（認証処理部１１１および認証処理部１２１）は、縁結びリストに識別情報のCRC演算結果を挿入する場合も、他の実施の形態の場合と同様に、認証処理を行うことができる。したがって、この場合も、認証システム１３１（認証処理部１１１および認証処理部１２１）は、より容易かつ安全に認証処理を行うことができる。
【０２６３】
なお、このようにすることにより、記憶部１５３や記憶部２０２のメモリ使用量を低減させることができる。例えば、IDが８Byteのシリアル番号であるとすると、１００個のIDを登録するには少なくとも０．８KByteのメモリが必要になる。記憶部１５３の容量が少ない場合、大きな負担になる。記憶部１５３の使用量を低減させるために、本実施の形態においては、縁結びリストに８ByteのIDは、そのCRC値（２Byte）を計算し、その値を登録する。これにより、１００個のIDを登録しても０．２KByteで済ませるようにすることができる。
【０２６４】
＜６．第６の実施の形態＞
［本体装置の認証処理部の構成］
なお、以上においては、応答の認証を行う際に、乱数（Challenge）を再度暗号化して正解応答を生成するように説明したが、これ以外にも、例えば、応答を復号して得られた平文の乱数を用いて認証を行うようにしてもよい。
【０２６５】
図１８は、その場合の本体装置１０１の認証処理部１１１の主な構成例を示すブロック図である。
【０２６６】
この場合、認証処理部１１１は、基本的に図３に示される第１の実施の形態の場合と同様の構成を有するが、さらに復号処理部３４１を有し、正解応答生成部１６６の代わりに正解応答生成部３４２を有する。
【０２６７】
復号処理部３４１は、暗号処理部１５４や暗号処理部２０３の暗号化方法に対応する方法で復号処理を行う。つまり復号処理部３４１は、暗号処理部１５４や暗号処理部２０３が暗号化したものを復号し、平文に戻すことができる。
【０２６８】
正解応答生成部３４２は、この復号処理部３４１を用いて応答を復号させ、平文の乱数（Challenge）を取得する。
【０２６９】
［処理の流れ］
この場合の認証処理の流れの例を図１９および図２０を参照して説明する。
【０２７０】
この場合も、認証処理は、基本的に第１の実施の形態の場合と同様に行われる。例えば、図１９において、本体装置１０１の認証処理部１１１は、ステップＳ４２１およびステップＳ４２２の各処理を、図５のステップＳ１０１およびステップＳ１０２の各処理と同様に実行する。
【０２７１】
また、バッテリ装置１０２の認証処理部１２１は、図１９のステップＳ４３１乃至ステップＳ４３８の各処理を、図５のステップＳ１１１乃至ステップＳ１１８の各処理と同様に実行する。
【０２７２】
また、例えば、図２０において、バッテリ装置１０２の認証処理部１２１は、ステップＳ４７１およびステップＳ４７２の各処理を、図６のステップＳ１４１およびステップＳ１４２の各処理と同様に実行する。
【０２７３】
また、例えば、図２０において、本体装置１０１の認証処理部１１１は、ステップＳ４５１乃至ステップＳ４５４、並びに、ステップＳ４５７乃至ステップＳ４５９の各処理を、図６のステップＳ１２１乃至ステップＳ１２４、並びに、ステップＳ１２７乃至ステップＳ１２９の各処理と同様に実行する。
【０２７４】
ただし、図８のステップＳ４５５において、正解応答生成部３４２は、受信制御部１６２が受信した、バッテリ装置１０２（認証処理部１２１）からの応答を取得すると、その応答と、ペア個別鍵生成部１６５において生成されたペア個別鍵（Key_ID1-ID2）を復号処理部３４１に供給する。
【０２７５】
復号処理部３４１は、ペア個別鍵を用いてその応答を復号し、平文の乱数（Challenge）を復元し、それを正解応答生成部３４２に供給する。
【０２７６】
正解応答生成部３４２その復元された平文の乱数（復号乱数）を正解応答（Challenge_anser）とし、応答認証部１６７に供給する。
【０２７７】
Challenge_anser = DEC(Responce)
Key_ID1-ID2
【０２７８】
応答認証部１６７は、この正解応答生成部３４２から供給された正解応答（Challenge_anser）と、記憶部１５３に保持されている乱数１７３（Challenge）とを比較し、互いが一致するか否かによって、応答を認証する。
【０２７９】
Challenge_anser == Challenge?
【０２８０】
応答（Response）が正当なバッテリ装置１０２（認証処理部１２１）において生成されたものであれば、乱数１７３（Challenge）は正解応答（Challenge_anser）と一致する。したがって、その場合、応答認証部１６７は、バッテリ装置１０２（認証処理部１２１）を正当な装置として認証する（認証に成功する）。
【０２８１】
逆に、応答（Response）が不正なバッテリ装置１０２（認証処理部１２１）において生成されたものであれば、乱数１７３（Challenge）は正解応答（Challenge_anser）と一致しない。したがって、その場合、応答認証部１６７は、バッテリ装置１０２（認証処理部１２１）を正当な装置として認証しない（認証に失敗する）。
【０２８２】
このようにすることにより、認証システム１３１（認証処理部１１１および認証処理部１２１）は、第１の実施の形態の場合と同様に、より容易かつ安全に認証処理を行うことができる。
【０２８３】
暗号化方式によっては、暗号化処理と復号処理とで負荷の大きさが異なる場合がある。例えばその負荷の大きさによって認証方法を選択することにより、認証システム１３１（認証処理部１１１および認証処理部１２１）は、認証処理の負荷を低減させることができる。
【０２８４】
例えば、暗号化処理の方が復号処理よりも負荷が大きい場合、第６の実施の形態の方法の方が、第１の実施の形態の場合よりも認証処理の負荷を低減させることができる。
【０２８５】
逆に、暗号化処理の方が復号処理よりも負荷が小さい場合、第１の実施の形態の方法の方が、第６の実施の形態の場合よりも認証処理の負荷を低減させることができる。
【０２８６】
＜７．第７実施の形態＞
［本体装置の認証処理部の構成］
なお、以上においては、ペア個別鍵を認証の度に毎回生成するように説明したが、ペア個別鍵の生成を初回の認証時のみに制限するようにしてもよい。
【０２８７】
ペア個別鍵を毎回生成するようにすると、秘密鍵（Key_Private）をつかった暗号演算を毎回行うことになる。その場合、非常に難易度は高いが、DFA攻撃（Differential Fault Analysis）で秘密鍵を解析される可能性がある。
【０２８８】
ＤＦＡ攻撃を成功させるには、同じ平文に対してエラー発生時とエラー非発生時の２つのケースの暗号結果が必要になるので、暗号デバイスに秘密鍵を用いた暗号演算を少なくとも２回実行させる必要がある。そこで、初回登録時のみペア個別鍵を生成するようにすると、秘密鍵の使用も初回登録時のみとなる。このようにすることにより、上述した２つの暗号結果を得られないので、DFA攻撃が不可能になる。
【０２８９】
図２１は、この場合の本体装置１０１の認証処理部１１１の主な構成例を示すブロック図である。
【０２９０】
この場合、認証処理部１１１は、基本的に図３に示される第１の実施の形態の場合と同様の構成を有する。ただし、制御部１５１は、ペア個別鍵生成部１６５の代わりにペア個別鍵生成部３６１を有し、正解応答生成部１６６の代わりに正解応答生成部３６２を有する。
【０２９１】
また、記憶部１５３には、鍵リスト３６３が記憶される。
【０２９２】
鍵リスト３６３（Key_list）は、ペア個別鍵生成部３６１が生成したペア個別鍵が登録される。ペア個別鍵生成部３６１は、認証処理を行う相手が、ペア個別鍵を生成していない初めての相手（バッテリ装置１０２（認証処理部１２１））の場合のみ（初回認証時のみ）、ペア個別鍵を生成する。そして、ペア個別鍵生成部３６１は、生成したペア個別鍵を記憶部１５３の鍵リスト３６３に登録する。
【０２９３】
正解応答生成部３６２は、初回認証時のみペア個別鍵生成部３６１が生成したペア個別鍵を用いて正解応答を生成し、既にペア個別鍵が鍵リスト３６３に登録されている場合、その鍵リスト３６３からペア個別鍵を取得し、正解応答を生成する。
【０２９４】
［バッテリ装置の認証処理部の構成］
図２２は、この場合のバッテリ装置１０２の認証処理部１２１の主な構成例を示すブロック図である。
【０２９５】
この場合、認証処理部１２１は、基本的に図４に示される第１の実施の形態の場合と同様の構成を有する。ただし、制御部２０１は、ペア個別鍵生成部２１４の代わりにペア個別鍵生成部３８１を有し、応答生成部２１５の代わりに応答生成部３８２を有する。
【０２９６】
また、記憶部２０２には、鍵リスト３８３が記憶される。
【０２９７】
鍵リスト３８３（Key_list）は、ペア個別鍵生成部３８１が生成したペア個別鍵が登録される。ペア個別鍵生成部３８１は、認証処理を行う相手が、ペア個別鍵を生成していない初めての相手（本体装置１０１（認証処理部１１１））の場合のみ（初回認証時のみ）、ペア個別鍵を生成する。そして、ペア個別鍵生成部３８１は、生成したペア個別鍵を記憶部２０２の鍵リスト３８３に登録する。
【０２９８】
応答生成部３８２は、初回認証時のみペア個別鍵生成部３８１が生成したペア個別鍵を用いて応答を生成し、既にペア個別鍵が鍵リスト３８３に登録されている場合、その鍵リスト３８３からペア個別鍵を取得し、応答を生成する。
【０２９９】
［処理の流れ］
次に、この場合の認証処理の流れの例を図２３および図２４のフローチャートを参照して説明する。
【０３００】
この場合も、認証処理は、基本的に第１の実施の形態の場合と同様に行われる。例えば、図２３において、本体装置１０１の認証処理部１１１は、ステップＳ４８１およびステップＳ４８２の各処理を、図５のステップＳ１０１およびステップＳ１０２の各処理と同様に実行する。
【０３０１】
また、バッテリ装置１０２の認証処理部１２１は、図２３のステップＳ４９１乃至ステップＳ４９５、並びに、ステップＳ４９９およびステップＳ５００の各処理を、図５のステップＳ１１１乃至ステップＳ１１５、並びに、ステップＳ１１７およびステップＳ１１８の各処理と同様に実行する。
【０３０２】
ただし、図２３のステップＳ４９５においてペア個別鍵を生成すると、ペア個別鍵生成部３８１は、その生成したペア個別鍵を、ステップＳ４９６において、応答生成部３８２に供給するとともに、記憶部２０２の鍵リスト３８３に登録する。
【０３０３】
Key_list[i] = Key_ID1-ID2
【０３０４】
また、既にID1と機器認定されている場合、応答生成部３８２は、ステップＳ４９７において、ペア個別鍵を鍵リスト３８３から取り出す。
【０３０５】
Key_ID1-ID2 = Key_list[i]
【０３０６】
応答生成部３８２は、ステップＳ４９８において、応答を、以上のように取得したペア個別鍵から生成する。
【０３０７】
Response = DES（Challenge）
Key_ID1-ID2
【０３０８】
また、例えば、図２４において、バッテリ装置１０２の認証処理部１２１は、ステップＳ５４１およびステップＳ５４２の各処理を、図６のステップＳ１４１およびステップＳ１４２の各処理と同様に実行する。
【０３０９】
また、例えば、図２４において、本体装置１０１の認証処理部１１１は、ステップＳ５２１乃至ステップＳ５２４、並びに、ステップＳ５２８乃至ステップＳ５３１の各処理を、図６のステップＳ１２１乃至ステップＳ１２４、並びに、ステップＳ１２６乃至ステップＳ１２９の各処理と同様に実行する。
【０３１０】
ただし、図２４のステップＳ５２５において、ペア個別鍵生成部３６１は、ステップＳ５２４において生成されたペア個別鍵を、正解応答生成部３６２に供給するとともに、記憶部１５３の鍵リスト３６３に登録する。
【０３１１】
Key_list[i] = Key_ID1-ID2
【０３１２】
また、既にID2と機器認定されている場合、正解応答生成部３６２は、ステップＳ５２６において、ペア個別鍵を鍵リスト３６３から取り出す。
【０３１３】
Key_ID1-ID2 = Key_list[i]
【０３１４】
正解応答生成部３６２は、ステップＳ５２７において、正解応答を、以上のように取得したペア個別鍵から生成する。
【０３１５】
Response_anser = DES（Challenge）
Key_ID1-ID2
【０３１６】
以上のように認証処理を行うことにより、認証システム１３１（認証処理部１１１および認証処理部１２１）は、DFA攻撃に対する耐性を向上させ、より容易かつ安全に認証処理を行うことができる。
【０３１７】
＜８．第８実施の形態＞
［本体装置の認証処理部の構成］
以上においては、認証処理に、対称秘密鍵を用いた対称暗号化方式を用いるように説明したが、これ以外にも非対称暗号化方式を用いるようにしてもよい。特に、非対象暗号化方式と対称暗号化方式とを組み合わせることにより、認証システム１３１（認証処理部１１１および認証処理部１２１）は、より容易かつ安全に認証処理を行うことができる。
【０３１８】
非対称暗号化方式には、例えば、RSA（Rivest Shamir Adleman）がある。もちろん、これ以外の非対称暗号化方式を採用するようにしてもよい。
【０３１９】
非対称暗号方式と対称暗号方式を組み合わせることにより、本体装置１０１に守るべき情報資産を持たせずに済む。本体装置１０１側にはRSAの公開鍵しか持たせておらず、この公開鍵が漏洩してもセキュリティ上は問題にならない。
【０３２０】
このようにすることにより、本体装置１０１の設計の自由度が増し、セキュリティを気にせずソフトウェアを実装できるようになる。例えば、本体装置１０１の認証処理部１１１を汎用CPUのソフトウェアに置き換えることができ、システムコストを低減させることができる。
【０３２１】
また、低速で負荷の大きな非対称暗号化（RSA）の実行回数を機器認定の初回だけに限定している。これにより、ペア個別鍵を一度交換した後は高速な共通鍵暗号（DES）を用いた認証処理が行われるようにすることができ、認証処理速度を向上させることができる。
【０３２２】
図２５は、本体装置の認証処理部の主な構成例を示すブロック図である。
【０３２３】
この場合、認証処理部１１１は、基本的に図２１に示される第７の実施の形態の場合と同様の構成を有する。ただし、認証処理部１１１は、暗号処理部１５４の代わりに、RSA復号処理部４０１およびDES暗号処理部４０２を有する。
【０３２４】
また、制御部１５１は、ペア個別鍵生成部３６１の代わりにペア個別鍵生成部４０３を有する。
【０３２５】
さらに、記憶部１５３には、RSA公開鍵４０４（Key_Public）が記憶される。
【０３２６】
［バッテリ装置の認証処理部の構成］
図２６は、バッテリ装置１０２の認証処理部１２１の主な構成例を示すブロック図である。
【０３２７】
この場合、認証処理部１２１は、基本的に図２２に示される第７の実施の形態の場合と同様の構成を有する。ただし、認証処理部１２１は、乱数生成部４２１を有する。また、認証処理部１２１は、暗号処理部２０３の代わりに、DES暗号処理部４２２およびRSA暗号処理部４２３を有する。
【０３２８】
また、制御部２０１は、ペア個別鍵生成部３６１の代わりにペア個別鍵生成部４２４を有し、さらに送信用ペア個別鍵生成部４２５を有する。また、制御部２０１は、応答生成部３８２の代わりに応答生成部４２６を有する。
【０３２９】
さらに、記憶部２０２には、RSA秘密鍵４２７（Key_Private）が記憶される。
【０３３０】
［処理の流れ］
次に、図２７および図２８のフローチャートを参照して、この場合の認証処理の流れの例を説明する。
【０３３１】
この場合も、認証処理は、基本的に第７の実施の形態の場合と同様に行われる。例えば、図２７において、本体装置１０１の認証処理部１１１は、ステップＳ５５１およびステップＳ５５２の各処理を、図２３のステップＳ４８１およびステップＳ４８２の各処理と同様に実行する。
【０３３２】
また、バッテリ装置１０２の認証処理部１２１は、図２３のステップＳ５６１乃至ステップＳ５６４、並びに、ステップＳ５６９乃至ステップＳ５７１の各処理を、図２３のステップＳ４９１乃至ステップＳ４９４、並びに、ステップＳ４９８およびステップＳ５００の各処理と同様に実行する。
【０３３３】
ただし、図２３のステップＳ５６５において、ペア個別鍵生成部４２４は、乱数生成部４２１に乱数（Random()）を生成させ、その生成させた乱数をペア個別鍵（Key_ID1-ID2）とする。
【０３３４】
Key_ID1-ID2 = Random()
【０３３５】
ペア個別鍵生成部４２４は、ステップＳ５６６において、そのペア個別鍵を、送信用ペア個別鍵生成部４２５に供給するとともに、鍵リスト３８３に登録する。
【０３３６】
また、既にID１と機器認定されている場合、送信用ペア個別鍵生成部４２５は、ステップＳ５６７において、ペア個別鍵を鍵リスト３８３から取得する。
【０３３７】
送信用ペア個別鍵生成部４２５は、ステップＳ５６８において、ペア個別鍵を送信用にRSA暗号化する。
【０３３８】
Key_ENC = RSA_ENC(Key_ID1-ID2)
Key_Private
【０３３９】
その後、この応答は、本体装置１０１に転送される。
【０３４０】
本体装置１０１においては、図２８に示されるように処理される。
【０３４１】
ステップＳ５８４において、ペア個別鍵生成部４０３は、受信制御部１６２が受信した送信用のペア個別鍵をRSA復号処理部４０１を利用して、RSA公開鍵４０４によりRSA復号する。
【０３４２】
Key_ID1-ID2 = RSA_DEC(Key_ENC)
Key_Public
【０３４３】
ステップＳ５８５において、ペア個別鍵生成部４０３は、生成したペア個別鍵を正解応答生成部３６２に供給するとともに、鍵リスト３６３に登録する。
【０３４４】
また、既にID2と機器認定されている場合には、正解応答生成部３６２は、ステップＳ５８６において、ペア個別鍵を鍵リスト３６３から取得する。
【０３４５】
正解応答生成部３６２は、ステップＳ５８７において、DES暗号処理部４０２を利用して、正解応答をペア個別鍵から生成する。
【０３４６】
このように非対称暗号方式と対称暗号方式を組み合わせることにより、認証システム１３１（認証処理部１１１および認証処理部１２１）は、より容易かつ安全に認証処理を行うことができる。
【０３４７】
なお、以上においては、認証システム１３１の認証結果を電源供給制御システム１００による電源供給制御に利用する場合について説明したが、これに限らず、認証システム１３１の認証は、どのような処理に利用されるようにしてもよい。
【０３４８】
つまり、認証システム１３１は、任意の装置またはシステムにおいて行われる認証処理に適用することができる。例えば、薬とその薬を管理する薬箱のシステムにおいて薬箱がその薬箱に格納される薬を認証するのに、上述した認証システム１３１を適用することができる。また、ゲーム機が自身に装着されたゲームソフトを認証するのに、上述した認証システム１３１を適用することができる。もちろん、これら以外のシステムにも適用可能である。
【０３４９】
ただし、上述した本体装置１０１とバッテリ装置１０２のように、通常の使用方法において、多数の装置と認証処理を行わないようなシステムほど好ましい。また、サーバ等との通信を行うことができないようなシステムに適用する場合の方が、得られる効果が大きい。
【０３５０】
＜９．第９の実施の形態＞
［パーソナルコンピュータ］
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、図２９に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０３５１】
図２９において、パーソナルコンピュータ６００のCPU（Central Processing Unit）６０１は、ROM（Read Only Memory）６０２に記憶されているプログラム、または記憶部６１３からRAM（Random Access Memory）６０３にロードされたプログラムに従って各種の処理を実行する。RAM６０３にはまた、CPU６０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０３５２】
CPU６０１、ROM６０２、およびRAM６０３は、バス６０４を介して相互に接続されている。このバス６０４にはまた、入出力インタフェース６１０も接続されている。
【０３５３】
入出力インタフェース６１０には、キーボード、マウスなどよりなる入力部６１１、CRT（Cathode Ray Tube）ディスプレイやLCD（Liquid Crystal Display）等のディスプレイ、並びにスピーカなどよりなる出力部６１２、フラッシュメモリ等SSD（Solid State Drive）やハードディスクなどよりなる記憶部６１３、有線LAN（Local Area Network）や無線LANのインタフェースやモデムなどよりなる通信部６１４が接続されている。通信部６１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０３５４】
入出力インタフェース６１０にはまた、必要に応じてドライブ６１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア６２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部６１３にインストールされる。
【０３５５】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０３５６】
この記録媒体は、例えば、図２９に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、若しくは半導体メモリなどよりなるリムーバブルメディア６２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM６０２や、記憶部６１３に含まれるハードディスクなどにより構成される。
【０３５７】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３５８】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３５９】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０３６０】
また、以上において、１つの装置（または処理部）として説明した構成が、複数の装置（または処理部）として構成されるようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成が、まとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成が付加されるようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部が他の装置（または他の処理部）の構成に含まれるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０３６１】
１００  電源供給制御システム，  １０１  本体装置，  １０２  バッテリ装置，  １１１  認証処理部，  １２１  認証処理部，  １３１  認証システム，  １５１  制御部，  １５２  乱数生成部，  １５３  記憶部，  １５４  暗号処理部，  ２０１  制御部，  ２０２  記憶部，  ２０３  暗号処理部
【図１】
2011171936.tif 000003
【図２】
2011171936.tif 000004
【図３】
2011171936.tif 000005
【図４】
2011171936.tif 000006
【図５】
2011171936.tif 000007
【図６】
2011171936.tif 000008
【図７】
2011171936.tif 000009
【図８】
2011171936.tif 000010
【図９】
2011171936.tif 000011
【図１０】
2011171936.tif 000012
【図１１】
2011171936.tif 000013
【図１２】
2011171936.tif 000014
【図１３】
2011171936.tif 000015
【図１４】
2011171936.tif 000016
【図１５】
2011171936.tif 000017
【図１６】
2011171936.tif 000018
【図１７】
2011171936.tif 000019
【図１８】
2011171936.tif 000020
【図１９】
2011171936.tif 000021
【図２０】
2011171936.tif 000022
【図２１】
2011171936.tif 000023
【図２２】
2011171936.tif 000024
【図２３】
2011171936.tif 000025
【図２４】
2011171936.tif 000026
【図２５】
2011171936.tif 000027
【図２６】
2011171936.tif 000028
【図２７】
2011171936.tif 000029
【図２８】
2011171936.tif 000030
【図２９】
2011171936.tif 000031