説明

情報処理装置および方法、並びに認証システム

【課題】より容易かつ安全に認証処理を行うことができるようにする。
【解決手段】ペア個別鍵生成部214は、記憶部202からID2および秘密鍵222を取得する。ペア個別鍵生成部214は、ID1とID2の排他的論理和を算出し、その値と、秘密鍵222を暗号処理部203に供給し、暗号化させる。暗号処理部203は、供給された秘密鍵222を用いて、ID1とID2の排他的論理和をDESで暗号化する。暗号処理部203は、その暗号結果をペア個別鍵生成部214に供給する。ペア個別鍵生成部214は、その暗号結果を、ID1およびID2との組み合わせに対応するペア個別鍵とする。本発明は、例えば、復号装置に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および方法、並びに認証システムに関し、特に、より容易かつ安全に認証処理を行うことができるようにした情報処理装置および方法、並びに認証システムに関する。
【背景技術】
【0002】
近年、偽造電池パックが市場に流通しており、様々な問題を引き起こしている。例えば、過充電保護回路のない偽造電池パックが接続されることにより、デジタルカメラやノート型パーソナルコンピュータが爆発するといった事故が発生している。
【0003】
そのため、本体側の装置が自社の純正電池パックと偽造電池パックとを識別認証する方法が考えられている。例えば、本体側の装置が接続された電池パックの認証を行い、不正な電池パックを検出すると、充電動作を開始しないようにすることで過熱や爆発を防ぐ方法が考えられている。
【0004】
このような電池パックの認証方法として、例えば、図1に示されるように、本体装置と電池パック内の暗号認証ICチップ(以下において、機器認証チップと称する)との間で所謂チャレンジ-レスポンス認証を行う方法である。
【0005】
まず、電池パックが純正のものであることを確認するために、本体装置が電池パックにチャレンジ(Challenge)(乱数)を送信する(S1)。電池パックは、このチャレンジを受け取ると、そのチャレンジを秘密鍵(Key_Private)を用いて所定のセキュリティアルゴリズムで暗号化することにより、レスポンス(Response)を生成する(S2)。このセキュリティアルゴリズムには様々なものを適用できるが、例えば、DES(Data Encryption Standard)やAES(Advanced Encryption Standard)などの暗号演算がある。
【0006】
本体装置は、この電池パック側で生成されたレスポンスを受け取ると、自身でも、チャレンジを同じ秘密鍵(Key_Private)を用いて、同じセキュリティアルゴリズムで暗号化し、正解と思われるレスポンス(Response_answer)を生成する(S3)。
【0007】
本体装置は、正解と思われるレスポンスと、電池パックから取得したレスポンスとを比較し(S4)、それらの値が互いに一致すれば、その電池パックを正当なものとみなす(S5)。正解と思われるレスポンスと、電池パックから取得したレスポンスとで値が一致しない場合、認証に失敗した、すなわち、不正な電池パックであるものとみなす(S6)。
【0008】
このような機器認証において、重要なことは、各装置が持っている秘密鍵を漏洩させないことである。この秘密鍵が攻撃者に漏洩すると、攻撃者が、偽造の機器認証チップを作成することができるようになってしまう。つまり、上述したような機器認証が成功する偽造電池パックの製造が可能となる。
【0009】
したがって攻撃者は、この秘密鍵を特定する(漏洩させる)ことを目的とした攻撃を行う。秘密鍵を割り出す強力な攻撃方法として、例えば、DPA(Differential Power Analysis)攻撃といったサイドチャネル攻撃が知られている。このようなサイドチャネル攻撃を用いれば、秘密鍵を一瞬にして割り出すことが可能である。
【0010】
そこで、安全な機器認証を実現するためには、サイドチャネル攻撃に対する対策が必要となる。例えば、モジュールを用いて入力値のモジュラ逆数である返値を計算することにより、サイドチャネル攻撃に対して耐性のあるデータ暗号化法を実現することが考えられている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特表2008−542802号
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、このようにいくつかのサイドチャネル攻撃への対策方法は既に存在するものの、これらを実装すると回路面積が数倍程度に大きくなってしまう。また処理も複雑なため、負荷も大きく、コストが増大する恐れがあった。そのため、コストが最優先される機器認証チップに従来のサイドチャネル攻撃対策を実装するのは、現実的には困難であった。
【0013】
また、仮に秘密鍵が漏洩した場合でも、認証システムの全てが破たんしないように、各チップに登録する秘密鍵を互いに異なる個別鍵とする方法がある。
【0014】
例えば、あるチップの個別鍵が漏洩してしまった場合、その個別鍵は今後一切使えないように他のチップにネットワークを介して周知させる。例えば、漏洩が疑われた個別鍵のブラックリストをチップ内に持たせ、ネットワーク経由でそのリストを更新することで、漏洩した個別鍵を無効化する。
【0015】
このようにすることにより、その他の漏洩していない個別鍵は、そのまま使用することができる。つまり、少数の個別鍵が漏洩した場合であっても、認証システム全体が破たんしてしまう危険性が低減される。ただし、このような秘密鍵を個別化する方法の場合、あらゆるチップがネットワークに接続され、サーバ等から、そのブラックリストを更新することができるようにする必要があった。
【0016】
しかしながら、実際には、認証を行う全ての機器認証チップが、ブラックリストを更新するサーバと通信可能な状態を保つことが可能なシステムは少ない。例えば、デジタルカメラやノート型パーソナルコンピュータが、装着される電池パックの認証を行うような認証システムの場合、少なくとも電池パックがネットワークを介してサーバと通信を行う機能を備えることは稀である。また、仮にそのような通信機能を電池パックに付与するとしても、コストが増大してしまう恐れがあった。
【0017】
このように、ブラックリストによって使用の可否を制御可能な個別鍵を用いる方法は、ブラックリストの管理が複雑であるため、容易に適用することができない恐れがあった。
【0018】
本発明は、このような状況に鑑みて提案されたものであり、認証側と非認証側の両方の装置の識別情報に対応する個別鍵を用いて認証を行うことにより、より容易かつ安全に認証処理を行うすることを目的とする。
【課題を解決するための手段】
【0019】
本発明の一側面は、他の情報処理装置の認証を行う情報処理装置であって、前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵を生成する個別鍵生成手段と、前記個別鍵生成手段により生成された前記個別鍵を用いて、所定の乱数を所定の暗号化方式で暗号化し、前記乱数をチャレンジとするときの、前記チャレンジに対する正しい応答である正解応答を生成する正解応答生成手段と、前記他の情報処理装置を認証するために、前記正解応答生成手段により生成された前記正解応答を用いて、前記他の情報処理装置により生成される前記チャレンジに対する応答を認証する応答認証手段とを備える情報処理装置である。
【0020】
前記応答認証手段により実行可能な前記他の情報処理装置の認証の残り回数を管理し、前記認証が行われるたびに前記残り回数を1減算する残回数処理手段をさらに備えることができる。
【0021】
前記個別鍵生成手段は、前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との排他的論理和を、所定の秘密鍵を用いて、所定の暗号化方式で暗号化することにより前記個別鍵を生成することができる。
【0022】
前記個別鍵生成手段は、前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との排他的論理和を、所定の秘密鍵を用いて、HMACで暗号化することにより前記個別鍵を生成することができる。
【0023】
前記個別鍵生成手段により生成された前記個別鍵を記憶する記憶手段をさらに備え、前記個別鍵生成手段は、前記他の情報処理装置を初めて認証する場合のみ、前記個別鍵を生成することができる。
【0024】
前記個別鍵生成手段は、前記他の情報処理装置において生成され、非対称暗号化方式により暗号化された前記個別鍵を前記非対称暗号化方式により復号することにより、前記個別鍵をえることができる。
【0025】
前記応答認証手段により前記応答を認証した前記他の情報処理装置の識別情報を管理する管理手段をさらに備えることができる。
【0026】
前記管理手段は、前記応答認証手段により前記応答を認証した前記他の情報処理装置の識別情報のCRC演算値を管理することができる。
【0027】
本発明の一側面は、また、他の情報処理装置の認証を行う情報処理装置の情報処理方法であって、前記情報処理装置の個別鍵生成手段が、前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵を生成し、前記情報処理装置の前記正解応答生成手段が、生成された前記個別鍵を用いて、所定の乱数を所定の暗号化方式で暗号化し、前記乱数をチャレンジとするときの、前記チャレンジに対する正しい応答である正解応答を生成し、前記情報処理装置の応答認証手段が、前記他の情報処理装置を認証するために、生成された前記正解応答を用いて、前記他の情報処理装置により生成される前記チャレンジに対する応答を認証する情報処理方法である。
【0028】
本発明の他の側面は、第1の情報処理装置が前記第2の情報処理装置の認証を行う認証システムであって、前記第1の情報処理装置においては、所定の乱数と前記第1の情報処理装置自身の識別情報とを前記第2の情報処理装置に送信する第1の送信手段と、前記第2の情報処理装置から送信される、前記第2の情報処理装置の識別情報および前記乱数に対する応答を受信する第1の受信手段と、前記第1の情報処理装置自身の識別情報と、前記第1の受信手段により受信された前記第2の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵を生成する第1の個別鍵生成手段と、前記第1の個別鍵生成手段により生成された前記個別鍵を用いて、前記乱数を、所定の暗号化方式で暗号化し、正しい応答である正解応答を生成する正解応答生成手段と、前記第2の情報処理装置を認証するために、前記正解応答生成手段により生成された前記正解応答を用いて、前記受信手段により受信された前記応答を認証する応答認証手段とを備え、前記第2の情報処理装置においては、前記第1の情報処理装置から送信される前記乱数および前記識別情報を受信する第2の受信手段と、前記第2の受信手段により受信された前記第1の情報処理装置の識別情報と前記第2の情報処理装置自身の識別情報との両方に対応する鍵情報である個別鍵を生成する第2の個別鍵生成手段と、前記第2の個別鍵生成手段により生成された前記個別鍵を用いて、前記第2の受信手段により受信された前記乱数を、所定の暗号化方式で暗号化し、応答を生成する応答生成手段と、前記応答生成手段により生成された前記応答を、前記第1の情報処理装置に送信する第2の送信手段とを備える認証システムである。
【0029】
本発明の一側面においては、情報処理装置自身の識別情報と、他の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵が生成され、生成された個別鍵を用いて、所定の乱数が所定の暗号化方式で暗号化され、乱数をチャレンジとするときの、チャレンジに対する正しい応答である正解応答が生成され、他の情報処理装置を認証するために、生成された正解応答を用いて、他の情報処理装置により生成されるチャレンジに対する応答が認証される。
【0030】
本発明の他の側面においては、所定の乱数と第1の情報処理装置自身の識別情報とが第2の情報処理装置に送信され、第2の情報処理装置から送信される、第2の情報処理装置の識別情報および乱数に対する応答が受信され、第1の情報処理装置自身の識別情報と、受信された第2の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵が生成され、生成された個別鍵を用いて、乱数が、所定の暗号化方式で暗号化され、正しい応答である正解応答が生成され、第2の情報処理装置を認証するために、生成された正解応答を用いて、受信された応答が認証され、送信される乱数および識別情報が受信され、受信された第1の情報処理装置の識別情報と第2の情報処理装置自身の識別情報との両方に対応する鍵情報である個別鍵が生成され、生成された個別鍵を用いて、受信された乱数が、所定の暗号化方式で暗号化され、応答が生成され、生成された応答が、第1の情報処理装置に送信される。
【発明の効果】
【0031】
本発明によれば、通信相手を認証することができる。特に、より容易かつ安全に認証処理を行うことができる。
【図面の簡単な説明】
【0032】
【図1】従来の認証方法を説明する図である。
【図2】本発明を適用した電源供給制御システムの構成例を示す図である。
【図3】本体装置の認証処理部の主な構成例を示すブロック図である。
【図4】バッテリ装置の認証処理部の主な構成例を示すブロック図である。
【図5】認証処理の流れの例を説明するフローチャートである。
【図6】認証処理の流れの例を説明する、図5に続くフローチャートである。
【図7】認証処理の流れの例を説明するフローチャートである。
【図8】認証処理の流れの例を説明する、図7に続くフローチャートである。
【図9】認証処理の流れの例を説明するフローチャートである。
【図10】認証処理の流れの例を説明する、図9に続くフローチャートである。
【図11】本体装置の認証処理部の主な構成例を示すブロック図である。
【図12】バッテリ装置の認証処理部の主な構成例を示すブロック図である。
【図13】認証処理の流れの例を説明するフローチャートである。
【図14】認証処理の流れの例を説明する、図13に続くフローチャートである。
【図15】認証処理の流れの例を説明する、図14に続くフローチャートである。
【図16】認証処理の流れの例を説明するフローチャートである。
【図17】認証処理の流れの例を説明する、図16に続くフローチャートである。
【図18】本体装置の認証処理部の主な構成例を示すブロック図である。
【図19】認証処理の流れの例を説明するフローチャートである。
【図20】認証処理の流れの例を説明する、図19に続くフローチャートである。
【図21】本体装置の認証処理部の主な構成例を示すブロック図である。
【図22】バッテリ装置の認証処理部の主な構成例を示すブロック図である。
【図23】認証処理の流れの例を説明するフローチャートである。
【図24】認証処理の流れの例を説明する、図23に続くフローチャートである。
【図25】本体装置の認証処理部の主な構成例を示すブロック図である。
【図26】バッテリ装置の認証処理部の主な構成例を示すブロック図である。
【図27】認証処理の流れの例を説明するフローチャートである。
【図28】認証処理の流れの例を説明する、図27に続くフローチャートである。
【図29】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【0033】
以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(認証システム)
2.第2の実施の形態(認証システム)
3.第3の実施の形態(認証システム)
4.第4の実施の形態(認証システム)
5.第5の実施の形態(認証システム)
6.第6の実施の形態(認証システム)
7.第7の実施の形態(認証システム)
8.第8の実施の形態(認証システム)
9.第9の実施の形態(パーソナルコンピュータ)
【0034】
<1.第1の実施の形態>
[電源供給制御システムの説明]
図2は、本発明を適用した電源供給制御システムの構成例を示す図である。
【0035】
図2に示される電源供給制御システム100は、本体装置101が、本体装置101自身の筐体に装着されるバッテリ装置102を認証する認証システムである。
【0036】
本体装置101は、筐体の所定の位置に、バッテリ装置102を装着可能な機構が設けられており、その位置に装着されたバッテリ装置102から電源供給を受け、動作する電子機器である。
【0037】
バッテリ装置102は、本体装置101の所定の位置に装着された状態で、本体装置101に電源を供給する装置である。
【0038】
本体装置101は、自身に装着されたバッテリ装置102の認証を行い、バッテリ装置102が正規品である場合に限り、電源供給を受ける。
【0039】
図1に示されるように本体装置101は、認証処理部111、通信部112、電源制御部113、および本体処理部114を有する。
【0040】
認証処理部111は、バッテリ装置102の認証処理を行う。詳細については後述するが、バッテリ装置102の認証は、所謂チャレンジレスポンス方式により行う。認証処理部111は、通信部112を介してバッテリ装置102と通信を行い、チャレンジを供給し、そのチャレンジに対するレスポンスを取得する。
【0041】
通信部112は、本体装置101に装着されたバッテリ装置102の通信部122と通信を行い、情報を授受する。この通信は有線通信であってもよいし、無線通信であってもよい。
【0042】
電源制御部113は、認証処理部111による認証結果に基づいて、本体装置101に装着されたバッテリ装置102から供給される電力の本体処理部114への供給を制御する。つまり、電源制御部113は、認証処理部111により、バッテリ装置102が正規品として認証された場合のみ、本体処理部114への電力供給を許可し、バッテリ装置102が正規品として認証されなかった場合は、本体処理部114への電力供給を許可しない。
【0043】
本体処理部114は、バッテリ装置102から供給される電力により動作し、本体装置101としての機能を実現する。また本体処理部114は、ディスプレイやスピーカ等を含む出力部115を有する。出力部115は、認証処理部111から供給されるバッテリ装置102の認証結果をディスプレイに表示したり、スピーカから音声出力したりして、ユーザに通知する。
【0044】
バッテリ装置102は、認証処理部121、通信部122、電源制御部123、および蓄電部124を有する。
【0045】
認証処理部121は、通信部122を介して、本体装置101の認証処理部111からのチャレンジに対して応答を行う。また、認証処理部121は、認証が成功した場合、電源制御部123を制御し、電力の供給を許可させる。
【0046】
通信部122は、本体装置101の通信部112と通信を行い、情報を授受する。
【0047】
電源制御部123は、認証処理部121による認証結果に基づいて、蓄電部124から本体装置101への電力の供給を制御する。つまり、電源制御部123は、本体装置101によりバッテリ装置102が正規品として認証された場合のみ、蓄電部124から本体装置101への電力の供給を許可し、バッテリ装置102が正規品として認証されなかった場合は、本体装置101への電力の供給を許可しない。
【0048】
換言すれば、電源制御部123は、バッテリ装置102が、バッテリ装置102自身が対応しない不正な本体装置101に接続される場合に電力の供給を行わないように制御する。
【0049】
蓄電部124は、例えば、一次電池や二次電池等により構成され、電気を蓄える。蓄電部124は、電源制御部113や電源制御部123により許可された場合、本体処理部114に電力を供給する。この電力の供給路は、有線であってもよいし、無線であってもよい。
【0050】
なお、蓄電部124が二次電池を有する場合、バッテリ装置102は、充電に関する機能も備えるが、ここではその説明は省略する。
【0051】
バッテリ装置102の認証処理部121、通信部122、および電源制御部123は、蓄電部124から供給される電力により動作する。これに対して、本体装置101の認証処理部111、通信部112、電源制御部113も、蓄電部124から供給される電力により動作する。
【0052】
ただし、その場合、認証処理部111乃至電源制御部113は、バッテリ装置102の認証が成功する前から、バッテリ装置102からの電力の供給を受ける必要がある。このことによる不具合の発生を抑制するために、本体装置101が、認証処理部111乃至電源制御部113を動作させるための電力供給部(バッテリ等)を有するようにしてもよい。また、認証処理部111乃至電源制御部113が、バッテリ装置102が認証されるまで、その本体装置101の電力供給部から供給される電力により動作し、バッテリ装置102が認証された後は、バッテリ装置102から供給される電力により動作するようにしてもよい。
【0053】
以上のように、認証処理部111、通信部112、通信部122、および認証処理部121が、バッテリ装置102の認証を行うための認証システム131を形成する。電源供給制御システム100は、その認証システム131の認証結果に応じて電力の供給を制御するシステムである。
【0054】
上述したように、認証システム131は、チャレンジレスポンス方式で認証を行う。認証処理部111および認証処理部121は、予め共通の秘密鍵を有している。また、認証処理部111および認証処理部121は、それぞれ、自分自身を他と識別するための識別情報を有している。
【0055】
認証処理部11が、乱数を生成し、その乱数をチャレンジとして自身の識別情報とともに、認証処理部121に供給する。
【0056】
認証処理部121は、自身の識別情報と認証処理部111の識別情報を用いて、両者の識別情報に対応する個別鍵を生成し、その個別鍵を用いて乱数を暗号化し、チャレンジに対する応答を生成する。認証処理部121は、その応答を、自身の識別情報とともに認証処理部111に供給する。
【0057】
認証処理部111は、自身の識別情報と認証処理部121の識別情報とを用いて、両社の識別情報に対応する個別鍵を生成し、その個別鍵を用いて乱数を暗号化し、正解とする応答(正解応答)を生成する。認証処理部111は、その正解応答と認証処理部121から供給された応答とを比較する。
【0058】
正解応答と応答が一致すれば、認証は成功であり、正解応答と応答が一致しなければ、認証は失敗である。
【0059】
このような認証システム131の認証結果に基づいて電力の供給が制御される。
【0060】
以上のように認証システム131(認証処理部111および認証処理部121)は、認証側と被認証側との両方の識別情報に対応する個別鍵を用いて、チャレンジレスポンスを行う。
【0061】
[本体装置の認証処理部の構成]
図3は、本体装置101の認証処理部111の主な構成例を示すブロック図である。
【0062】
図3に示されるように、認証処理部111は、制御部151、乱数生成部152、記憶部153、および暗号処理部154を有する。
【0063】
制御部151は、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、およびRAM(Random Access Memory)等を有し、認証に関する処理を実行し、必要に応じて各部を制御する。制御部151は、送信制御部161、受信制御部162、縁結び処理部163、残回数処理部164、ペア個別鍵生成部165、正解応答生成部166、応答認証部167、および電源制御指示部168を有する。
【0064】
乱数生成部152は、制御部151に制御されて乱数を生成し、それを制御部151に供給したり、記憶部153に供給して記憶させたりする。
【0065】
記憶部153は、例えば、ROM、RAM、EEPROM(Electronically Erasable and Programmable Read Only Memory)、フラッシュメモリ、若しくはハードディスク等の、任意の記録媒体を有し、制御部151が処理するデータやプログラム等を記憶する。
【0066】
記憶部151は、例えば、認証処理部111(若しくは本体装置101)を他と識別するための本体識別情報171(ID1)と、認証処理部121と共通に有する秘密鍵172(Key_Private)とを予め記憶している。また、記憶部151は、乱数生成部152により生成された乱数173(Challenge)を記憶する。
【0067】
さらに、記憶部151は、認証済みのバッテリ装置の識別情報を登録管理する縁結びリスト174(Marriage_list)を記憶する。また、記憶部151は、残回数処理部164によりカウントされるカウント値であり、認証可能なバッテリ装置の残数を示す残り回数175を記憶する。
【0068】
暗号処理部154は、制御部151から供給される情報を、制御部151から供給される鍵情報を用いて、DES(Data Encryption Standard)で暗号化し、その暗号化結果を制御部151に返す。
【0069】
[バッテリ装置の認証処理部の構成]
図4は、バッテリ装置102の認証処理部121の主な構成例を示すブロック図である。
【0070】
図4に示されるように、認証処理部121は、制御部201、記憶部202、および暗号処理部203を有する。
【0071】
制御部201は、例えばCPU、ROM、およびRAM等を有し、認証に関する処理を実行し、必要に応じて各部を制御する。制御部201は、受信制御部211、縁結び処理部212、残回数処理部213、ペア個別鍵生成部214、応答生成部215、返信制御部216、および電源制御指示部217を有する。
【0072】
記憶部202は、例えば、ROM、RAM、EEPROM、フラッシュメモリ、若しくはハードディスク等の、任意の記録媒体を有し、制御部201が処理するデータやプログラム等を記憶する。
【0073】
記憶部202は、例えば、認証処理部121(若しくはバッテリ装置102)を他と識別するためのバッテリ識別情報221(ID2)と、認証処理部111と共通に有する秘密鍵222(Key_Private)とを予め記憶している。
【0074】
さらに、記憶部202は、バッテリ装置102自身が認証された本体装置の識別情報を登録管理する縁結びリスト223(Marriage_list)を記憶する。また、記憶部202は、残回数処理部213によりカウントされるカウント値であり、自分自身を認証させることができる本体装置の残数を示す残り回数224を記憶する。
【0075】
暗号処理部203は、制御部201から供給される情報を、制御部201から供給される鍵情報を用いて、DES(Data Encryption Standard)で暗号化し、その暗号化結果を制御部201に返す。
【0076】
[処理の流れ]
次に、図5および図6のフローチャートを参照して、これらの認証処理部により実行される認証処理の流れの例を説明する。
【0077】
本体装置101の所定の位置にバッテリ装置102が装着されると、認証処理が開始される。
【0078】
認証処理が開始されると、ステップS101において、本体装置101の認証処理部111において、送信制御部161は、乱数生成部152に乱数(Challenge)を生成させて取得し、さらに、記憶部153から本体識別情報171(ID1)を取得する。送信制御部161は、それらをチャレンジコマンドとして、通信部112を介してバッテリ装置102に送信する。
【0079】
バッテリ装置102の受信制御部211は、ステップS111において、通信部122を介して、そのチャレンジコマンドを取得する。受信制御部211は、受信したID1を縁結び処理部212に供給する。
【0080】
ステップS112において、縁結び処理部212は、取得したID1の本体装置101と、既に機器認定されているか否かを判定する。縁結び処理部212は、記憶部202の縁結びリスト223(Marriage_list)を参照し、ID1を検索する。
【0081】
For(i=0; i<N; i++)
Marriage_list[i] == ID1?
【0082】
縁結びリスト223は、バッテリ装置102(認証処理部121)自身を認証させた本体装置101(認証処理部111)の識別情報のリストである。後述するように、自分自身を認証させる相手の数は所定の数に制限される。したがって、既に認証させている相手の場合、その相手を改めてカウントしないようにする必要がある。そこで、縁結び処理部212は、縁結びリスト223を用いて、既に認証させた相手の識別情報を管理する。
【0083】
なお、ここでいう認証とは、単に認証処理を行うことであり、相手が正当であるか否か(すなわち認証結果)については考慮しない。例えば、不正な本体装置101と認証処理を行った場合でも、その不正な本体装置101の識別情報が得られれば、その識別情報が縁結びリスト223に登録される。
【0084】
ID1が縁結びリスト223に登録されておらず、本体装置101がまだバッテリ装置102を認証させていない相手であると判定された場合、制御部201は、処理をステップS113に進める。縁結び処理部212は、ID1を残回数処理部213に供給する。
【0085】
ステップS113において、残回数処理部213は、認証の残り回数が0か否かを判定する。
【0086】
Residual == 0?
【0087】
残回数処理部213は、記憶部202の残り回数224(Residual)の値が0か否かを判定する。
【0088】
バッテリ装置102(認証処理部121)は、自分自身を認証させることができる本体装置101の最大数が所定の数に予め定められている。つまり、1つのバッテリ装置102を使い回すことができる装置の数に制限(例えば、最大100台まで等)が設けられている。
【0089】
DPAで秘密鍵を特定するためには数万個の電力波形サンプルが必要になる。つまり、数万個の識別情報が必要になる。そこで、認証処理の相手の数を、例えば100台以下に制限することにより、数万個の電力波形サンプルを得るためには、100台以上の装置が必要になる。
【0090】
つまり、バッテリ装置102を認証させる本体装置101の数を、上述したように、例えば100台までに制限することにより、このバッテリ装置102から秘密鍵を盗み出すために、100台以上の本体装置101が必要になるようにすることができる。
【0091】
つまり、初期状態において、記憶部202には、残り回数224として所定の数値(例えば100)が設定されている。そして、バッテリ装置102自身が新たな本体装置101に認証される度に、残回数処理部213により、その値が1ずつ低減される。そして、残り回数224の値が0になると、それ以上の新たな本体装置101に対する認証処理が禁止される。
【0092】
このようにすることにより、秘密鍵を盗み出すためのコストや作業量が増大するので、攻撃者のモチベーションを低減させることができる。すなわち、認証処理部121は、秘密鍵の漏洩リスクを低減させることができる。
【0093】
図5に戻り、残り回数224の値が0でないと判定された場合、制御部201は、処理をステップS114に進める。ステップS114において、縁結び処理部212は、ID1を記憶部202の縁結びリスト223に登録することによりID1と機器認定する。
【0094】
Marriage_list[N-Residual] = ID1
【0095】
また、残回数処理部213は、記憶部202の残り回数224の値を1低減させる。
【0096】
Residual--
【0097】
残回数処理部213は、ID1をペア個別鍵生成部214に供給する。制御部201は、処理をステップS115に進める。また、ステップS112において、ID1が縁結びリスト223に存在し、既にID1と機器認定されていると判定された場合、制御部201は、処理をステップS115に進める。この場合、縁結び処理部212は、ID1をペア個別鍵生成部214に供給する。
【0098】
ステップS115において、ペア個別鍵生成部214は、ID1とID2のペア個別鍵を生成する。
【0099】
ペア個別鍵生成部214は、記憶部202からバッテリ識別情報221(ID2)および秘密鍵222(Key_Private)を取得する。この秘密鍵222は、本体装置101の記憶部153に記憶されている秘密鍵172と同一の鍵情報である。
【0100】
ペア個別鍵生成部214は、ID1とID2の排他的論理和(XOR)を算出し、その値と、秘密鍵222を暗号処理部203に供給し、暗号化させる。暗号処理部203は、供給された秘密鍵222を用いて、ID1とID2の排他的論理和をDESで暗号化する。暗号処理部203は、その暗号化された値(暗号結果)をペア個別鍵生成部214に供給する。
【0101】
Key_ID1-ID2 = DES(ID1 xor ID2)
Key_Private
【0102】
ペア個別鍵生成部214は、その暗号結果を、ID1およびID2との組み合わせ(つまり、ID1とID2の両方)に対応するペア個別鍵(Key_ID1-ID2)とする。
【0103】
このペア個別鍵(Key_ID1-ID2)は、ID1とID2を用いて生成されるので、ID1の本体装置101と、ID2のバッテリ装置102との間でしか使用することができない。つまり、このペア個別鍵(Key_ID1-ID2)は、他の装置において利用することができない。
【0104】
したがって、仮に、サイドチャネル攻撃等により、このペア個別鍵が漏洩したとしても、このペア個別鍵を用いて、任意の装置に対して使用することができる有効なバッテリ装置や本体装置を偽造することはできない。
【0105】
つまり、バッテリ装置102(認証処理部121)は、このペア個別鍵を用いて応答を生成することにより、秘密鍵の漏洩リスクを低減させることができる。また、この方法の場合、認証システム131(認証処理部111および認証処理部121)は、従来の方法のようにブラックリスト等を必要とせずに、漏洩したペア個別鍵を用いて生成される応答を不正と判断することができる。
【0106】
以上のようにペア個別鍵(Key_ID1-ID2)を生成すると、ペア個別鍵生成部214は、そのペア個別鍵(Key_ID1-ID2)を応答生成部215に供給する。
【0107】
応答生成部215は、ステップS116において、ステップS111において受信されたチャレンジコマンドに対する応答をペア個別鍵から生成する。
【0108】
応答生成部215は、受信制御部211により受信された乱数(Challenge)を取得する。応答生成部215は、その乱数(Challenge)とペア個別鍵(Key_ID1-ID2)を暗号処理部203に供給する。
【0109】
暗号処理部203は、ペア個別鍵(Key_ID1-ID2)を用いて、乱数(Challenge)をDESで暗号化し、その暗号結果を応答生成部215に返す。
【0110】
Response = DES(Challenge)
Key_ID1-ID2
【0111】
応答生成部215は、その暗号結果を応答(Response)とし、返信制御部216に供給する。
【0112】
返信制御部216は、記憶部202よりバッテリ識別情報221(ID2)を取得し、そのID2を応答(Response)とともに、レスポンスコマンドとして、通信部122を介して本体装置101に送信する。
【0113】
本体装置101の受信制御部162は、ステップS102において、通信部112を介して、そのレスポンスコマンドを取得する。受信制御部162は、受信したID2を縁結び処理部163に供給する。
【0114】
図6のステップS121において、縁結び処理部163は、取得したID2のバッテリ装置102と既に機器認定されているか否かを判定する。縁結び処理部163は、記憶部153の縁結びリスト174(Marriage_list)を参照し、ID2を検索する。
【0115】
For(i=0; i<N; i++)
Marriage_list[i] == ID2?
【0116】
縁結びリスト174は、縁結びリスト223と同様の、本体装置101(認証処理部111)自身が認証したバッテリ装置102(認証処理部121)の識別情報のリストである。本体装置101(認証処理部111)において、認証することができる相手の数は所定の数に制限される。したがって、既に認証している相手の場合、その相手を改めてカウントしないようにする必要がある。そこで、縁結び処理部163は、縁結びリスト174を用いて、既に認証した相手の識別情報を管理する。
【0117】
なお、ここでいう認証とは、単に認証処理を行うことであり、相手が正当であるか否か(すなわち認証結果)については考慮しない。例えば、不正なバッテリ装置102と認証処理を行った場合でも、その不正なバッテリ装置102の識別情報が得られれば、その識別情報が縁結びリスト174に登録される。
【0118】
ID2が縁結びリスト174に登録されておらず、バッテリ装置102がまだ認証していない相手であると判定された場合、制御部151は、処理をステップS122に進める。縁結び処理部163は、ID2を残回数処理部164に供給する。
【0119】
ステップS122において、残回数処理部164は、認証の残り回数が0か否かを判定する。
【0120】
Residual == 0?
【0121】
残回数処理部164は、記憶部153の残り回数175(Residual)の値が0か否かを判定する。
【0122】
バッテリ装置102(認証処理部121)の場合と同様に、本体装置101(認証処理部111)も、認証することができるバッテリ装置102(認証処理部121)の最大数が所定の数に予め定められている。つまり、1つの本体装置101に使用可能なバッテリ装置102の数に制限(例えば、最大100台まで等)が設けられている。
【0123】
これは、上述したバッテリ装置102の場合と同様に、秘密鍵を盗み出すためのコストや作業量が増大させ、攻撃者のモチベーションを低減させるためのものである。このような制限を設けることにより、認証処理部111は、秘密鍵の漏洩リスクを低減させることができる。
【0124】
残り回数175の値が0でないと判定された場合、制御部151は、処理をステップS123に進める。ステップS123において、縁結び処理部163は、ID2を記憶部153の縁結びリスト174に登録することによりID2と機器認定する。
【0125】
Marriage_list[N-Residual] = ID2
【0126】
また、残回数処理部164は、記憶部153の残り回数175の値を1低減させる。
【0127】
Residual--
【0128】
残回数処理部164は、ID2をペア個別鍵生成部165に供給する。制御部151は、処理をステップS124に進める。また、ステップS121において、ID2が縁結びリスト174に存在し、既にID2と機器認定されていると判定された場合、制御部151は、処理をステップS124に進める。この場合、縁結び処理部163は、ID2をペア個別鍵生成部165に供給する。
【0129】
ステップS124において、ペア個別鍵生成部165は、ID1とID2のペア個別鍵(Key_ID1-ID2)を生成する。
【0130】
ペア個別鍵生成部165は、記憶部153から本体識別情報171(ID1)および秘密鍵172(Key_Private)を取得する。
【0131】
ペア個別鍵生成部165は、ID1とID2の排他的論理和(XOR)を算出し、その値と、秘密鍵172を暗号処理部154に供給し、暗号化させる。暗号処理部154は、供給された秘密鍵172を用いて、ID1とID2の排他的論理和をDESで暗号化する。暗号処理部154は、その暗号化された値(暗号結果)をペア個別鍵生成部165に供給する。
【0132】
Key_ID1-ID2 = DES(ID1 xor ID2)
Key_Private
【0133】
ペア個別鍵生成部165は、その暗号結果を、ID1およびID2との組み合わせ(つまり、ID1とID2の両方)に対応するペア個別鍵(Key_ID1-ID2)とする。
【0134】
このペア個別鍵(Key_ID1-ID2)は、上述したようにバッテリ装置102(認証処理部121)において生成されるペア個別鍵(Key_ID1-ID2)と同一である。つまり、このペア個別鍵(Key_ID1-ID2)も、他の装置において利用することができない。
【0135】
つまり、本体装置101(認証処理部111)は、このペア個別鍵を用いて正解応答を生成し、その正解応答によって応答を認証することにより、秘密鍵の漏洩リスクを低減させることができる。また、この方法の場合、認証システム131(認証処理部111および認証処理部121)は、従来の方法のようにブラックリスト等を必要とせずに、漏洩したペア個別鍵を用いて生成される応答を不正と判断することができる。
【0136】
以上のようにペア個別鍵(Key_ID1-ID2)を生成すると、ペア個別鍵生成部165は、そのペア個別鍵(Key_ID1-ID2)を正解応答生成部166に供給する。
【0137】
正解応答生成部166は、ステップS125において、図5のステップS101において送信したチャレンジコマンドに対する正しい応答である正解応答をペア個別鍵から生成する。
【0138】
正解応答生成部166は、記憶部153により保持されている乱数173(Challenge)を取得する。この乱数173は、図5のステップS101において乱数生成部152により生成されたものである。正解応答生成部166は、その乱数173とペア個別鍵(Key_ID1-ID2)を暗号処理部154に供給する。
【0139】
暗号処理部154は、ペア個別鍵(Key_ID1-ID2)を用いて、乱数173(Challenge)をDESで暗号化し、その暗号結果を正解応答生成部166に返す。
【0140】
Response_anser = DES(Challenge)
Key_ID1-ID2
【0141】
正解応答生成部166は、その暗号結果を正解応答(Response_anser)とし、応答認証部167に供給する。
【0142】
ステップS126において、応答認証部167は、応答を認証する。応答認証部167は、受信制御部162から、認証処理部121から供給された応答(Response)を取得し、その応答と、正解応答を比較し、互いが一致するか否かによって、応答を認証する。
【0143】
Response_anser == Response?
【0144】
応答(Response)が正当なバッテリ装置102(認証処理部121)において生成されたものであれば、その値は正解応答と一致する。したがって、その場合、応答認証部167は、バッテリ装置102(認証処理部121)を正当な装置として認証する(認証に成功する)。
【0145】
逆に、応答(Response)が不正なバッテリ装置102(認証処理部121)において生成されたものであれば、その値は正解応答と一致しない。したがって、その場合、応答認証部167は、バッテリ装置102(認証処理部121)を正当な装置として認証しない(認証に失敗する)。
【0146】
ステップS127において、応答認証部167は、このような認証結果をユーザやバッテリ装置102(認証処理部121)に通知する。つまり、応答認証部167は、例えば、認証結果を本体処理部114の出力部115に供給し、画像や音声等で認証結果をユーザに通知させる。また、応答認証部167は、例えば、認証結果を、通信部112を介してバッテリ装置102(認証処理部121)に供給する。さらに、応答認証部167は、例えば、認証結果を電源制御指示部168に供給する。
【0147】
電源制御指示部168は、ステップS128において、電流制御部113に対して指示を出し、認証結果に応じた電力供給の制御を行わせる。例えば、バッテリ装置102(認証処理部121)の認証に成功した場合、電流制御指示部168は、電流制御部113を制御し、バッテリ装置102から供給される電力を本体処理部114に供給させる。
【0148】
また、例えば、バッテリ装置102(認証処理部121)の認証に失敗した場合、電流制御指示部168は、電流制御部113を制御し、バッテリ装置102から供給される電力を本体処理部114に供給させないようにする。
【0149】
ステップS128の処理が終了すると、制御部151は認証処理を終了する。
【0150】
また、ステップS122において、残り回数が0であると判定された場合、制御部151は、処理をステップS129に進める。この場合、本体装置101(認証処理部111)は、新たなバッテリ装置102(認証処理部121)と認証処理を行うことができない。
【0151】
したがって、ステップS129において、残回数処理部164は、出力部115を介して画像や音声等によりエラー通知を行う。この場合、電力制御指示部168は、電流制御部113を制御し、バッテリ装置102から供給される電力を本体処理部114に供給させないようにする。
【0152】
ステップS129の処理が終了すると、制御部151は認証処理を終了する。
【0153】
ところで、ステップS127において応答認証部167から送信された通知は、ステップS141において、バッテリ装置102の電源制御指示部217により取得される。
【0154】
通信部122を介してその認証結果の通知を取得すると、電源制御指示部217は、ステップS142において、電流制御部123に対して指示を出し、認証結果に応じた電力供給の制御を行わせる。例えば、バッテリ装置102(認証処理部121)の認証に成功した場合、電流制御指示部217は、電流制御部123を制御し、蓄電部124から供給される電力を本体装置101に供給させる。
【0155】
また、例えば、バッテリ装置102(認証処理部121)の認証に失敗した場合、電流制御指示部217は、電流制御部123を制御し、蓄電部124から供給される電力を本体装置101に供給させないようにする。
【0156】
ステップS142の処理が終了すると、制御部201は認証処理を終了する。
【0157】
また、図5のステップS113において、残り回数が0であると判定された場合、制御部201は、処理をステップS118に進める。この場合、バッテリ装置102(認証処理部121)は、新たな本体装置101(認証処理部111)と認証処理を行うことができない。
【0158】
したがって、ステップS118において、残回数処理部213は、通信部122を介してその旨を本体装置101に通知し、画像や音声等によりエラー通知を行わせる。この場合、本体装置101の電力制御指示部168は、その通知を取得すると、電流制御部113を制御し、バッテリ装置102から供給される電力を本体処理部114に供給させないようにする。
【0159】
ステップS118の処理が終了すると、制御部201は認証処理を終了する。
【0160】
以上のように、認証システム131(認証処理部111および認証処理部121)は、認証処理の相手の数を制限することによって、秘密鍵を漏洩させるための攻撃のコストを増大させ、秘密鍵の漏洩リスクを低減させることができる。
【0161】
また、認証システム131(認証処理部111および認証処理部121)は、仮に、チャレンジレスポンスに使用される鍵が漏洩したとしても、その漏洩した鍵を使用して不正な認証処理を行うことができないように、互いの識別情報の組み合わせに固有のペア個別鍵を生成し、そのペア個別鍵を用いて認証処理を行う。
【0162】
したがって、認証システム131(認証処理部111および認証処理部121)は、より容易かつ安全に認証処理を行うことができる。
【0163】
<2.第2の実施の形態>
[処理の流れ]
第1の実施の形態においては、暗号化方法としてDESを用いるように説明したが、暗号処理部154および暗号処理部203が使用する暗号化方法は、互いの暗号化方法が同一であるか若しくは対応しているものであれば任意である。例えば、暗号処理部154および暗号処理部203が、DESの代わりにAES(Advanced Encryption Standard)を用いるようにしてもよい。
【0164】
その場合の認証処理の流れの例を図7および図8のフローチャートを参照して説明する。
【0165】
この場合も、認証処理は、基本的に第1の実施の形態の場合と同様に行われる。例えば、図7において、本体装置101の認証処理部111は、ステップS151およびステップS152の各処理を、図5のステップS101およびステップS102の各処理と同様に実行する。
【0166】
また、バッテリ装置102の認証処理部121は、図7のステップS161乃至ステップS164、並びに、ステップS167およびステップS168の各処理を、図5のステップS111乃至ステップS114、並びに、ステップS117およびステップS118の各処理と同様に実行する。
【0167】
ただし、図7のステップS165において、暗号処理部203は、ペア個別鍵生成部214から供給された秘密鍵222を用いて、ID1とID2の排他的論理和をAESで暗号化する。暗号処理部203は、その暗号化された値(暗号結果)をペア個別鍵生成部214に供給する。
【0168】
Key_ID1-ID2 = AES(ID1 xor ID2)
Key_Private
【0169】
ペア個別鍵生成部214は、その暗号結果を、ID1およびID2との組み合わせ(つまり、ID1とID2の両方)に対応するペア個別鍵(Key_ID1-ID2)とする。以上のようにペア個別鍵(Key_ID1-ID2)を生成すると、ペア個別鍵生成部214は、そのペア個別鍵(Key_ID1-ID2)を応答生成部215に供給する。
【0170】
また、ステップS166において、暗号処理部203は、応答生成部215から供給されたペア個別鍵(Key_ID1-ID2)を用いて、乱数(Challenge)をAESで暗号化し、その暗号結果を応答生成部215に返す。
【0171】
Response = AES(Challenge)
Key_ID1-ID2
【0172】
応答生成部215は、その暗号結果を応答(Response)とし、返信制御部216に供給する。
【0173】
また、例えば、図8において、バッテリ装置102の認証処理部121は、ステップS201およびステップS202の各処理を、図6のステップS141およびステップS142の各処理と同様に実行する。
【0174】
また、例えば、図8において、本体装置101の認証処理部111は、ステップS181乃至ステップS183、並びに、ステップS186乃至ステップS189の各処理を、図6のステップS121乃至ステップS123、並びに、ステップS126乃至ステップS129の各処理と同様に実行する。
【0175】
ただし、図8のステップS184において、暗号処理部154は、ペア個別鍵生成部165から供給された秘密鍵172を用いて、ID1とID2の排他的論理和をAESで暗号化する。暗号処理部154は、その暗号化された値(暗号結果)をペア個別鍵生成部165に供給する。
【0176】
Key_ID1-ID2 = AES(ID1 xor ID2)
Key_Private
【0177】
ペア個別鍵生成部165は、その暗号結果を、ID1およびID2との組み合わせ(つまり、ID1とID2の両方)に対応するペア個別鍵(Key_ID1-ID2)とする。以上のようにペア個別鍵(Key_ID1-ID2)を生成すると、ペア個別鍵生成部165は、そのペア個別鍵(Key_ID1-ID2)を正解応答生成部166に供給する。
【0178】
また、ステップS185において、暗号処理部154は、正解応答生成部166から供給されたペア個別鍵(Key_ID1-ID2)を用いて、乱数173(Challenge)をAESで暗号化し、その暗号結果を正解応答生成部166に返す。
【0179】
Response_anser = AES(Challenge)
Key_ID1-ID2
【0180】
正解応答生成部166は、その暗号結果を正解応答(Response_anser)とし、応答認証部167に供給する。
【0181】
以上のように、認証システム131(認証処理部111および認証処理部121)は、DESの場合と同様に、AESを用いて認証処理を行うことができる。したがって、この場合も、認証システム131(認証処理部111および認証処理部121)は、より容易かつ安全に認証処理を行うことができる。なお、DESよりAESの方が、安全性は高い。つまり、認証システム131(認証処理部111および認証処理部121)は、AESを用いることにより、DESを用いる場合よりも、より安全に認証処理を行うことができる。
【0182】
もちろん、認証システム131(認証処理部111および認証処理部121)は、DESおよびAES以外の暗号化方法を利用することもできる。
【0183】
<3.第3の実施の形態>
[処理の流れ]
また、認証システム131(認証処理部111および認証処理部121)は、DESの代わりに、HMAC(Keyed-Hashing for Message Authentication code)を用いるようにしてもよい。
【0184】
HMACは、ハッシュ関数を使って秘密鍵と組み合わせて計算するMAC(Message Authentication Code)である。MACは認証及び改竄検出技術の核となるアルゴリズムである。 MAC値の算出時にHMACアルゴリズムの中で用いられるハッシュアルゴリズムは、MD5やSHA-1など任意のハッシュ関数が適用可能である。
【0185】
HMACは次の式(1)のように定義される。
【0186】
HMACK(m) = h((K xor opad) || h((K xor ipad) || m)), ・・・(1)
【0187】
ここで、hは繰り返し型ハッシュ関数、Kは秘密鍵をそれぞれ示し、ハッシュ関数のブロックサイズより短い場合は0でパディングを行う。mは認証対象メッセージである。「||」は連結を示し、xorは排他的論理和を示す。2つの定数「ipad」と「opad」は、各々ブロック長サイズであり、以下のように定義される。
【0188】
ipad = 0x363636...3636
opad = 0x5c5c5c...5c5c
【0189】
つまり、ハッシュ関数のブロック長が512bit(64octet)の場合ならば、"ipad" と "opad" は、それぞれ64個の 0x36 や 0x5c の連続である。
【0190】
この場合の認証処理の流れの例を図9および図10のフローチャートを参照して説明する。
【0191】
この場合も、認証処理は、基本的に第1の実施の形態の場合と同様に行われる。例えば、図9において、本体装置101の認証処理部111は、ステップS211およびステップS212の各処理を、図5のステップS101およびステップS102の各処理と同様に実行する。
【0192】
また、バッテリ装置102の認証処理部121は、図9のステップS221乃至ステップS224、並びに、ステップS227およびステップS228の各処理を、図5のステップS111乃至ステップS114、並びに、ステップS117およびステップS118の各処理と同様に実行する。
【0193】
ただし、図9のステップS225において、暗号処理部203は、ペア個別鍵生成部214から供給された秘密鍵222を用いて、ID1とID2の排他的論理和をHMACで暗号化する。暗号処理部203は、その暗号化された値(暗号結果)をペア個別鍵生成部214に供給する。
【0194】
Key_ID1-ID2 = HMACKey_Private(ID1 xor ID2)
【0195】
ペア個別鍵生成部214は、その暗号結果を、ID1およびID2との組み合わせ(つまり、ID1とID2の両方)に対応するペア個別鍵(Key_ID1-ID2)とする。以上のようにペア個別鍵(Key_ID1-ID2)を生成すると、ペア個別鍵生成部214は、そのペア個別鍵(Key_ID1-ID2)を応答生成部215に供給する。
【0196】
また、ステップS166において、暗号処理部203は、応答生成部215から供給されたペア個別鍵(Key_ID1-ID2)を用いて、乱数(Challenge)をHMACで暗号化し、その暗号結果を応答生成部215に返す。
【0197】
Response = HMACKey_ID1-ID2(Challenge)
【0198】
応答生成部215は、その暗号結果を応答(Response)とし、返信制御部216に供給する。
【0199】
また、例えば、図10において、バッテリ装置102の認証処理部121は、ステップS261およびステップS262の各処理を、図6のステップS141およびステップS142の各処理と同様に実行する。
【0200】
また、例えば、図10において、本体装置101の認証処理部111は、ステップS241乃至ステップS243、並びに、ステップS246乃至ステップS249の各処理を、図6のステップS121乃至ステップS123、並びに、ステップS126乃至ステップS129の各処理と同様に実行する。
【0201】
ただし、図10のステップS244において、暗号処理部154は、ペア個別鍵生成部165から供給された秘密鍵172を用いて、ID1とID2の排他的論理和をHMACで暗号化する。暗号処理部154は、その暗号化された値(暗号結果)をペア個別鍵生成部165に供給する。
【0202】
Key_ID1-ID2 = HMACKey_Private(ID1 xor ID2)
【0203】
ペア個別鍵生成部165は、その暗号結果を、ID1およびID2との組み合わせ(つまり、ID1とID2の両方)に対応するペア個別鍵(Key_ID1-ID2)とする。以上のようにペア個別鍵(Key_ID1-ID2)を生成すると、ペア個別鍵生成部165は、そのペア個別鍵(Key_ID1-ID2)を正解応答生成部166に供給する。
【0204】
また、ステップS245において、暗号処理部154は、正解応答生成部166から供給されたペア個別鍵(Key_ID1-ID2)を用いて、乱数173(Challenge)をHMACで暗号化し、その暗号結果を正解応答生成部166に返す。
【0205】
Response_anser = HMACKey_ID1-ID2(Challenge)
【0206】
正解応答生成部166は、その暗号結果を正解応答(Response_anser)とし、応答認証部167に供給する。
【0207】
以上のように、認証システム131(認証処理部111および認証処理部121)は、DESの場合と同様に、HMACを用いて認証処理を行うことができる。したがって、この場合も、認証システム131(認証処理部111および認証処理部121)は、より容易かつ安全に認証処理を行うことができる。
【0208】
<4.第4の実施の形態>
[本体装置の認証処理部の構成]
なお、以上においては、片方向の認証処理について説明したが、認証処理は、双方向で行うようにしてもよい。すなわち、バッテリ装置102が本体装置101を認証するようにしてもよい。
【0209】
図11は、その場合の、本体装置101の認証処理部111の主な構成例を示すブロック図である。
【0210】
この場合の認証処理部111も、図3に示される第1の実施の形態の場合と、基本的に同様の構成を有する。ただし、図11の例の場合、制御部151は、図3の場合の構成に加えてさらに、応答生成部301および返信制御部302を有する。
【0211】
応答生成部301は、本体装置101(認証処理部111)をバッテリ装置102(認証処理部121)に認証させるための、バッテリ装置102(認証処理部121)からのチャレンジコマンドに対する応答を生成する。返信制御部302は、通信部112を介して、バッテリ装置102(認証処理部121)からのチャレンジコマンドに対するレスポンスコマンドをバッテリ装置102(認証処理部121)に送信する。
【0212】
[バッテリ装置の認証処理部の構成]
図12は、この場合のバッテリ装置102の認証処理部121の主な構成例を示すブロック図である。
【0213】
この場合の認証処理部121も、図4に示される第1の実施の形態の場合と、基本的に同様の構成を有する。ただし、図12の例の場合、認証処理部121は、図4の場合の構成に加えて、さらに乱数生成部324を有する。
【0214】
この乱数生成部324は、本体装置101の乱数生成部152と同様の処理部であり、乱数325を生成し、生成した乱数325を、返信制御部216に供給する。また、乱数生成部324は、生成した乱数325を記憶部202に保持させる。
【0215】
なお、本実施の形態においては、説明の便宜上、乱数生成部152が生成する乱数173をChallenge1と称し、乱数生成部324が生成する乱数325をChallenge2と称する。この乱数173(Challenge1)と、乱数325(Challenge2)は、互いに独立して生成され、基本的に互いに異なる値をとる。
【0216】
また、図12において、制御部201は、図4の場合の構成に加えてさらに、受信制御部321、正解応答生成部322、および応答認証部323を有する。
【0217】
[処理の流れ]
その場合の認証処理の流れの例を図13乃至図15のフローチャートを参照して説明する。
【0218】
この場合も、認証処理は、基本的に第1の実施の形態の場合と同様に行われる。例えば、図13において、本体装置101の認証処理部111は、ステップS281およびステップS282の各処理を、図5のステップS101およびステップS102の各処理と同様に実行する。
【0219】
また、バッテリ装置102の認証処理部121は、図13のステップS291乃至ステップS296、並びにステップS299の各処理を、図5のステップS111乃至ステップS116、並びにステップS118の各処理と同様に実行する。
【0220】
ただし、図13のステップS297において、乱数生成部324は、乱数325(Challenge2)を生成する。乱数生成部324は、生成した乱数325(Challenge2)を返信制御部216に供給する。また、乱数生成部324は、生成した乱数325(Challenge2)を記憶部202に記憶させる。
【0221】
返信制御部216は、記憶部202よりバッテリ識別情報221(ID2)を取得し、そのID2を乱数325(Challenge2)や応答(Response)とともに、レスポンスコマンドとして、通信部122を介して本体装置101に送信する。
【0222】
本体装置101の受信制御部162は、ステップS282において、通信部112を介して、そのレスポンスコマンドを取得する。
【0223】
また、例えば、図14において、本体装置101の認証処理部111は、ステップS311乃至ステップS316、並びにステップS319の各処理を、図6のステップS121乃至ステップS126、並びにステップS129の各処理と同様に実行する。
【0224】
ただし、図14のステップS317において、応答生成部301は、ペア個別鍵生成部165において生成されたペア個別鍵を用いて、バッテリ装置102(認証処理部121)からのチャレンジコマンドに対する応答を生成する。
【0225】
応答生成部301は、受信制御部162により受信された乱数(Challenge2)を取得する。応答生成部301は、その乱数(Challenge2)とペア個別鍵(Key_ID1-ID2)を暗号処理部154に供給する。
【0226】
暗号処理部154は、ペア個別鍵(Key_ID1-ID2)を用いて、乱数(Challenge2)をDESで暗号化し、その暗号結果を応答生成部301に返す。
【0227】
Response2 = DES(Challenge2)
Key_ID1-ID2
【0228】
応答生成部301は、その暗号結果を応答(Response)とし、返信制御部302に供給する。
【0229】
返信制御部302は、ステップS318において、応答認証部167から応答(Response1)の認証結果(Result_Response1)を取得し、その認証結果(Result_Response1)を、応答生成部301により生成された応答(Response2)とともに、レスポンスコマンドとして、通信部112を介してバッテリ装置102に送信する。
【0230】
バッテリ装置102の受信制御部321は、ステップS331において、通信部122を介して、そのレスポンスコマンドを取得する。
【0231】
正解応答生成部322は、図15のステップS351において、図13のステップS298において送信したチャレンジコマンドに対する正しい応答である正解応答をペア個別鍵から生成する。
【0232】
正解応答生成部322は、記憶部153により保持されている乱数325(Challenge2)を取得する。この乱数325は、図13のステップS281において乱数生成部152により生成されたものである。正解応答生成部322は、その乱数325とペア個別鍵(Key_ID1-ID2)を暗号処理部203に供給する。
【0233】
暗号処理部203は、ペア個別鍵(Key_ID1-ID2)を用いて、乱数325(Challenge2)をDESで暗号化し、その暗号結果を正解応答生成部322に返す。
【0234】
Response_anser2 = DES(Challenge2)
Key_ID1-ID2
【0235】
正解応答生成部322は、その暗号結果を正解応答(Response_anser)とし、応答認証部323に供給する。
【0236】
ステップS352において、応答認証部323は、応答を認証する。応答認証部323は、受信制御部321から、認証処理部121から供給された応答(Response2)を取得し、その応答と、正解応答を比較し、互いが一致するか否かによって、応答を認証する。
【0237】
Response_anser2 == Response2?
【0238】
応答(Response2)が、正当な本体装置101(認証処理部111)において生成されたものであれば、その値は正解応答と一致する。したがって、その場合、応答認証部323は、本体装置101(認証処理部111)を正当な装置として認証する(認証に成功する)。
【0239】
逆に、応答(Response2)が不正なバッテリ装置102(認証処理部121)において生成されたものであれば、その値は正解応答と一致しない。したがって、その場合、応答認証部323は、バッテリ装置102(認証処理部121)を正当な装置として認証しない(認証に失敗する)。
【0240】
ステップS353において、応答認証部323は、このような認証結果を本体装置101(認証処理部111)に通知する。つまり、応答認証部323は、例えば、通信部122を介して本体装置101(認証処理部111)に供給する。さらに、応答認証部323は、例えば、認証結果を電源制御指示部217に供給する。
【0241】
電源制御指示部217は、ステップS354において、電流制御部113に対して指示を出し、上述した他の実施の形態の場合と同様に、認証結果に応じた電力供給の制御を行わせる。
【0242】
ステップS354の処理が終了すると、制御部201は認証処理を終了する。
【0243】
ところで、ステップS353において応答認証部323から送信された通知は、ステップS341において、バッテリ装置102の電源制御指示部217により取得される。
【0244】
通信部112を介してその認証結果の通知を取得すると、電源制御指示部168は、ステップS342において、電流制御部113に対して指示を出し、認証結果に応じた電力供給の制御を行わせる。
【0245】
ステップS342の処理が終了すると、制御部151は認証処理を終了する。
【0246】
このようにすることにより、認証システム131(認証処理部111および認証処理部121)は、相互に認証を行うことができる。また、バッテリ装置102を不正な本体装置101に使用されることを抑制することができる。
【0247】
つまり、認証システム131(認証処理部111および認証処理部121)は、より容易かつ安全に認証処理を行うことができる。
【0248】
<5.第5の実施の形態>
[処理の流れ]
以上においては、縁結びリストに認証処理の相手の識別情報を登録するように説明したが、これ以外にも、例えば、CRC(Cyclic Redundancy Check)演算結果を登録するようにしてもよい。
【0249】
その場合の、認証処理の流れの例を図16および図17のフローチャートを参照して説明する。
【0250】
この場合も、認証処理は、基本的に第1の実施の形態の場合と同様に行われる。例えば、図16において、本体装置101の認証処理部111は、ステップS361およびステップS362の各処理を、図5のステップS101およびステップS102の各処理と同様に実行する。
【0251】
また、バッテリ装置102の認証処理部121は、図16のステップS371、ステップS373、並びに、ステップS375乃至ステップS378の各処理を、図5のステップS111、ステップS113、並びに、ステップS115乃至ステップS118の各処理と同様に実行する。
【0252】
ただし、図16のステップS372において、縁結び処理部212は、取得したID1の本体装置101と既に機器認定されているか否かを判定する。縁結び処理部212は、記憶部202の縁結びリスト223(Marriage_list)を参照し、ID1のCRC演算結果を求め、それを検索する。
【0253】
For(i=0; i<N; i++)
Marriage_list[i] == CRC(ID1)?
【0254】
また、図16のステップS373において、残り回数224の値が0でないと判定された場合、制御部201は、処理をステップS374に進める。ステップS374において、縁結び処理部212は、ID1のCRC演算結果を求め、それを記憶部202の縁結びリスト223に登録することによりID1と機器認定する。
【0255】
Marriage_list[N-Residual] = CRC(ID1)
【0256】
また、例えば、図17において、バッテリ装置102の認証処理部121は、ステップS411およびステップS412の各処理を、図6のステップS141およびステップS142の各処理と同様に実行する。
【0257】
また、例えば、図17において、本体装置101の認証処理部111は、ステップS392、並びに、ステップS394乃至ステップS399の各処理を、図6のステップS122、並びに、ステップS124乃至ステップS129の各処理と同様に実行する。
【0258】
ただし、図17のステップS391において、縁結び処理部163は、記憶部153の縁結びリスト174(Marriage_list)を参照し、ID2のCRC演算結果を検索する。
【0259】
For(i=0; i<N; i++)
Marriage_list[i] == CRC(ID2)?
【0260】
また、ステップS393において、縁結び処理部163は、ID2のCRC演算結果を求め、それを記憶部153の縁結びリスト174に登録することによりID2と機器認定する。
【0261】
Marriage_list[N-Residual] = CRC(ID2)
【0262】
以上のように、認証システム131(認証処理部111および認証処理部121)は、縁結びリストに識別情報のCRC演算結果を挿入する場合も、他の実施の形態の場合と同様に、認証処理を行うことができる。したがって、この場合も、認証システム131(認証処理部111および認証処理部121)は、より容易かつ安全に認証処理を行うことができる。
【0263】
なお、このようにすることにより、記憶部153や記憶部202のメモリ使用量を低減させることができる。例えば、IDが8Byteのシリアル番号であるとすると、100個のIDを登録するには少なくとも0.8KByteのメモリが必要になる。記憶部153の容量が少ない場合、大きな負担になる。記憶部153の使用量を低減させるために、本実施の形態においては、縁結びリストに8ByteのIDは、そのCRC値(2Byte)を計算し、その値を登録する。これにより、100個のIDを登録しても0.2KByteで済ませるようにすることができる。
【0264】
<6.第6の実施の形態>
[本体装置の認証処理部の構成]
なお、以上においては、応答の認証を行う際に、乱数(Challenge)を再度暗号化して正解応答を生成するように説明したが、これ以外にも、例えば、応答を復号して得られた平文の乱数を用いて認証を行うようにしてもよい。
【0265】
図18は、その場合の本体装置101の認証処理部111の主な構成例を示すブロック図である。
【0266】
この場合、認証処理部111は、基本的に図3に示される第1の実施の形態の場合と同様の構成を有するが、さらに復号処理部341を有し、正解応答生成部166の代わりに正解応答生成部342を有する。
【0267】
復号処理部341は、暗号処理部154や暗号処理部203の暗号化方法に対応する方法で復号処理を行う。つまり復号処理部341は、暗号処理部154や暗号処理部203が暗号化したものを復号し、平文に戻すことができる。
【0268】
正解応答生成部342は、この復号処理部341を用いて応答を復号させ、平文の乱数(Challenge)を取得する。
【0269】
[処理の流れ]
この場合の認証処理の流れの例を図19および図20を参照して説明する。
【0270】
この場合も、認証処理は、基本的に第1の実施の形態の場合と同様に行われる。例えば、図19において、本体装置101の認証処理部111は、ステップS421およびステップS422の各処理を、図5のステップS101およびステップS102の各処理と同様に実行する。
【0271】
また、バッテリ装置102の認証処理部121は、図19のステップS431乃至ステップS438の各処理を、図5のステップS111乃至ステップS118の各処理と同様に実行する。
【0272】
また、例えば、図20において、バッテリ装置102の認証処理部121は、ステップS471およびステップS472の各処理を、図6のステップS141およびステップS142の各処理と同様に実行する。
【0273】
また、例えば、図20において、本体装置101の認証処理部111は、ステップS451乃至ステップS454、並びに、ステップS457乃至ステップS459の各処理を、図6のステップS121乃至ステップS124、並びに、ステップS127乃至ステップS129の各処理と同様に実行する。
【0274】
ただし、図8のステップS455において、正解応答生成部342は、受信制御部162が受信した、バッテリ装置102(認証処理部121)からの応答を取得すると、その応答と、ペア個別鍵生成部165において生成されたペア個別鍵(Key_ID1-ID2)を復号処理部341に供給する。
【0275】
復号処理部341は、ペア個別鍵を用いてその応答を復号し、平文の乱数(Challenge)を復元し、それを正解応答生成部342に供給する。
【0276】
正解応答生成部342その復元された平文の乱数(復号乱数)を正解応答(Challenge_anser)とし、応答認証部167に供給する。
【0277】
Challenge_anser = DEC(Responce)
Key_ID1-ID2
【0278】
応答認証部167は、この正解応答生成部342から供給された正解応答(Challenge_anser)と、記憶部153に保持されている乱数173(Challenge)とを比較し、互いが一致するか否かによって、応答を認証する。
【0279】
Challenge_anser == Challenge?
【0280】
応答(Response)が正当なバッテリ装置102(認証処理部121)において生成されたものであれば、乱数173(Challenge)は正解応答(Challenge_anser)と一致する。したがって、その場合、応答認証部167は、バッテリ装置102(認証処理部121)を正当な装置として認証する(認証に成功する)。
【0281】
逆に、応答(Response)が不正なバッテリ装置102(認証処理部121)において生成されたものであれば、乱数173(Challenge)は正解応答(Challenge_anser)と一致しない。したがって、その場合、応答認証部167は、バッテリ装置102(認証処理部121)を正当な装置として認証しない(認証に失敗する)。
【0282】
このようにすることにより、認証システム131(認証処理部111および認証処理部121)は、第1の実施の形態の場合と同様に、より容易かつ安全に認証処理を行うことができる。
【0283】
暗号化方式によっては、暗号化処理と復号処理とで負荷の大きさが異なる場合がある。例えばその負荷の大きさによって認証方法を選択することにより、認証システム131(認証処理部111および認証処理部121)は、認証処理の負荷を低減させることができる。
【0284】
例えば、暗号化処理の方が復号処理よりも負荷が大きい場合、第6の実施の形態の方法の方が、第1の実施の形態の場合よりも認証処理の負荷を低減させることができる。
【0285】
逆に、暗号化処理の方が復号処理よりも負荷が小さい場合、第1の実施の形態の方法の方が、第6の実施の形態の場合よりも認証処理の負荷を低減させることができる。
【0286】
<7.第7実施の形態>
[本体装置の認証処理部の構成]
なお、以上においては、ペア個別鍵を認証の度に毎回生成するように説明したが、ペア個別鍵の生成を初回の認証時のみに制限するようにしてもよい。
【0287】
ペア個別鍵を毎回生成するようにすると、秘密鍵(Key_Private)をつかった暗号演算を毎回行うことになる。その場合、非常に難易度は高いが、DFA攻撃(Differential Fault Analysis)で秘密鍵を解析される可能性がある。
【0288】
DFA攻撃を成功させるには、同じ平文に対してエラー発生時とエラー非発生時の2つのケースの暗号結果が必要になるので、暗号デバイスに秘密鍵を用いた暗号演算を少なくとも2回実行させる必要がある。そこで、初回登録時のみペア個別鍵を生成するようにすると、秘密鍵の使用も初回登録時のみとなる。このようにすることにより、上述した2つの暗号結果を得られないので、DFA攻撃が不可能になる。
【0289】
図21は、この場合の本体装置101の認証処理部111の主な構成例を示すブロック図である。
【0290】
この場合、認証処理部111は、基本的に図3に示される第1の実施の形態の場合と同様の構成を有する。ただし、制御部151は、ペア個別鍵生成部165の代わりにペア個別鍵生成部361を有し、正解応答生成部166の代わりに正解応答生成部362を有する。
【0291】
また、記憶部153には、鍵リスト363が記憶される。
【0292】
鍵リスト363(Key_list)は、ペア個別鍵生成部361が生成したペア個別鍵が登録される。ペア個別鍵生成部361は、認証処理を行う相手が、ペア個別鍵を生成していない初めての相手(バッテリ装置102(認証処理部121))の場合のみ(初回認証時のみ)、ペア個別鍵を生成する。そして、ペア個別鍵生成部361は、生成したペア個別鍵を記憶部153の鍵リスト363に登録する。
【0293】
正解応答生成部362は、初回認証時のみペア個別鍵生成部361が生成したペア個別鍵を用いて正解応答を生成し、既にペア個別鍵が鍵リスト363に登録されている場合、その鍵リスト363からペア個別鍵を取得し、正解応答を生成する。
【0294】
[バッテリ装置の認証処理部の構成]
図22は、この場合のバッテリ装置102の認証処理部121の主な構成例を示すブロック図である。
【0295】
この場合、認証処理部121は、基本的に図4に示される第1の実施の形態の場合と同様の構成を有する。ただし、制御部201は、ペア個別鍵生成部214の代わりにペア個別鍵生成部381を有し、応答生成部215の代わりに応答生成部382を有する。
【0296】
また、記憶部202には、鍵リスト383が記憶される。
【0297】
鍵リスト383(Key_list)は、ペア個別鍵生成部381が生成したペア個別鍵が登録される。ペア個別鍵生成部381は、認証処理を行う相手が、ペア個別鍵を生成していない初めての相手(本体装置101(認証処理部111))の場合のみ(初回認証時のみ)、ペア個別鍵を生成する。そして、ペア個別鍵生成部381は、生成したペア個別鍵を記憶部202の鍵リスト383に登録する。
【0298】
応答生成部382は、初回認証時のみペア個別鍵生成部381が生成したペア個別鍵を用いて応答を生成し、既にペア個別鍵が鍵リスト383に登録されている場合、その鍵リスト383からペア個別鍵を取得し、応答を生成する。
【0299】
[処理の流れ]
次に、この場合の認証処理の流れの例を図23および図24のフローチャートを参照して説明する。
【0300】
この場合も、認証処理は、基本的に第1の実施の形態の場合と同様に行われる。例えば、図23において、本体装置101の認証処理部111は、ステップS481およびステップS482の各処理を、図5のステップS101およびステップS102の各処理と同様に実行する。
【0301】
また、バッテリ装置102の認証処理部121は、図23のステップS491乃至ステップS495、並びに、ステップS499およびステップS500の各処理を、図5のステップS111乃至ステップS115、並びに、ステップS117およびステップS118の各処理と同様に実行する。
【0302】
ただし、図23のステップS495においてペア個別鍵を生成すると、ペア個別鍵生成部381は、その生成したペア個別鍵を、ステップS496において、応答生成部382に供給するとともに、記憶部202の鍵リスト383に登録する。
【0303】
Key_list[i] = Key_ID1-ID2
【0304】
また、既にID1と機器認定されている場合、応答生成部382は、ステップS497において、ペア個別鍵を鍵リスト383から取り出す。
【0305】
Key_ID1-ID2 = Key_list[i]
【0306】
応答生成部382は、ステップS498において、応答を、以上のように取得したペア個別鍵から生成する。
【0307】
Response = DES(Challenge)
Key_ID1-ID2
【0308】
また、例えば、図24において、バッテリ装置102の認証処理部121は、ステップS541およびステップS542の各処理を、図6のステップS141およびステップS142の各処理と同様に実行する。
【0309】
また、例えば、図24において、本体装置101の認証処理部111は、ステップS521乃至ステップS524、並びに、ステップS528乃至ステップS531の各処理を、図6のステップS121乃至ステップS124、並びに、ステップS126乃至ステップS129の各処理と同様に実行する。
【0310】
ただし、図24のステップS525において、ペア個別鍵生成部361は、ステップS524において生成されたペア個別鍵を、正解応答生成部362に供給するとともに、記憶部153の鍵リスト363に登録する。
【0311】
Key_list[i] = Key_ID1-ID2
【0312】
また、既にID2と機器認定されている場合、正解応答生成部362は、ステップS526において、ペア個別鍵を鍵リスト363から取り出す。
【0313】
Key_ID1-ID2 = Key_list[i]
【0314】
正解応答生成部362は、ステップS527において、正解応答を、以上のように取得したペア個別鍵から生成する。
【0315】
Response_anser = DES(Challenge)
Key_ID1-ID2
【0316】
以上のように認証処理を行うことにより、認証システム131(認証処理部111および認証処理部121)は、DFA攻撃に対する耐性を向上させ、より容易かつ安全に認証処理を行うことができる。
【0317】
<8.第8実施の形態>
[本体装置の認証処理部の構成]
以上においては、認証処理に、対称秘密鍵を用いた対称暗号化方式を用いるように説明したが、これ以外にも非対称暗号化方式を用いるようにしてもよい。特に、非対象暗号化方式と対称暗号化方式とを組み合わせることにより、認証システム131(認証処理部111および認証処理部121)は、より容易かつ安全に認証処理を行うことができる。
【0318】
非対称暗号化方式には、例えば、RSA(Rivest Shamir Adleman)がある。もちろん、これ以外の非対称暗号化方式を採用するようにしてもよい。
【0319】
非対称暗号方式と対称暗号方式を組み合わせることにより、本体装置101に守るべき情報資産を持たせずに済む。本体装置101側にはRSAの公開鍵しか持たせておらず、この公開鍵が漏洩してもセキュリティ上は問題にならない。
【0320】
このようにすることにより、本体装置101の設計の自由度が増し、セキュリティを気にせずソフトウェアを実装できるようになる。例えば、本体装置101の認証処理部111を汎用CPUのソフトウェアに置き換えることができ、システムコストを低減させることができる。
【0321】
また、低速で負荷の大きな非対称暗号化(RSA)の実行回数を機器認定の初回だけに限定している。これにより、ペア個別鍵を一度交換した後は高速な共通鍵暗号(DES)を用いた認証処理が行われるようにすることができ、認証処理速度を向上させることができる。
【0322】
図25は、本体装置の認証処理部の主な構成例を示すブロック図である。
【0323】
この場合、認証処理部111は、基本的に図21に示される第7の実施の形態の場合と同様の構成を有する。ただし、認証処理部111は、暗号処理部154の代わりに、RSA復号処理部401およびDES暗号処理部402を有する。
【0324】
また、制御部151は、ペア個別鍵生成部361の代わりにペア個別鍵生成部403を有する。
【0325】
さらに、記憶部153には、RSA公開鍵404(Key_Public)が記憶される。
【0326】
[バッテリ装置の認証処理部の構成]
図26は、バッテリ装置102の認証処理部121の主な構成例を示すブロック図である。
【0327】
この場合、認証処理部121は、基本的に図22に示される第7の実施の形態の場合と同様の構成を有する。ただし、認証処理部121は、乱数生成部421を有する。また、認証処理部121は、暗号処理部203の代わりに、DES暗号処理部422およびRSA暗号処理部423を有する。
【0328】
また、制御部201は、ペア個別鍵生成部361の代わりにペア個別鍵生成部424を有し、さらに送信用ペア個別鍵生成部425を有する。また、制御部201は、応答生成部382の代わりに応答生成部426を有する。
【0329】
さらに、記憶部202には、RSA秘密鍵427(Key_Private)が記憶される。
【0330】
[処理の流れ]
次に、図27および図28のフローチャートを参照して、この場合の認証処理の流れの例を説明する。
【0331】
この場合も、認証処理は、基本的に第7の実施の形態の場合と同様に行われる。例えば、図27において、本体装置101の認証処理部111は、ステップS551およびステップS552の各処理を、図23のステップS481およびステップS482の各処理と同様に実行する。
【0332】
また、バッテリ装置102の認証処理部121は、図23のステップS561乃至ステップS564、並びに、ステップS569乃至ステップS571の各処理を、図23のステップS491乃至ステップS494、並びに、ステップS498およびステップS500の各処理と同様に実行する。
【0333】
ただし、図23のステップS565において、ペア個別鍵生成部424は、乱数生成部421に乱数(Random())を生成させ、その生成させた乱数をペア個別鍵(Key_ID1-ID2)とする。
【0334】
Key_ID1-ID2 = Random()
【0335】
ペア個別鍵生成部424は、ステップS566において、そのペア個別鍵を、送信用ペア個別鍵生成部425に供給するとともに、鍵リスト383に登録する。
【0336】
また、既にID1と機器認定されている場合、送信用ペア個別鍵生成部425は、ステップS567において、ペア個別鍵を鍵リスト383から取得する。
【0337】
送信用ペア個別鍵生成部425は、ステップS568において、ペア個別鍵を送信用にRSA暗号化する。
【0338】
Key_ENC = RSA_ENC(Key_ID1-ID2)
Key_Private
【0339】
その後、この応答は、本体装置101に転送される。
【0340】
本体装置101においては、図28に示されるように処理される。
【0341】
ステップS584において、ペア個別鍵生成部403は、受信制御部162が受信した送信用のペア個別鍵をRSA復号処理部401を利用して、RSA公開鍵404によりRSA復号する。
【0342】
Key_ID1-ID2 = RSA_DEC(Key_ENC)
Key_Public
【0343】
ステップS585において、ペア個別鍵生成部403は、生成したペア個別鍵を正解応答生成部362に供給するとともに、鍵リスト363に登録する。
【0344】
また、既にID2と機器認定されている場合には、正解応答生成部362は、ステップS586において、ペア個別鍵を鍵リスト363から取得する。
【0345】
正解応答生成部362は、ステップS587において、DES暗号処理部402を利用して、正解応答をペア個別鍵から生成する。
【0346】
このように非対称暗号方式と対称暗号方式を組み合わせることにより、認証システム131(認証処理部111および認証処理部121)は、より容易かつ安全に認証処理を行うことができる。
【0347】
なお、以上においては、認証システム131の認証結果を電源供給制御システム100による電源供給制御に利用する場合について説明したが、これに限らず、認証システム131の認証は、どのような処理に利用されるようにしてもよい。
【0348】
つまり、認証システム131は、任意の装置またはシステムにおいて行われる認証処理に適用することができる。例えば、薬とその薬を管理する薬箱のシステムにおいて薬箱がその薬箱に格納される薬を認証するのに、上述した認証システム131を適用することができる。また、ゲーム機が自身に装着されたゲームソフトを認証するのに、上述した認証システム131を適用することができる。もちろん、これら以外のシステムにも適用可能である。
【0349】
ただし、上述した本体装置101とバッテリ装置102のように、通常の使用方法において、多数の装置と認証処理を行わないようなシステムほど好ましい。また、サーバ等との通信を行うことができないようなシステムに適用する場合の方が、得られる効果が大きい。
【0350】
<9.第9の実施の形態>
[パーソナルコンピュータ]
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、図29に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【0351】
図29において、パーソナルコンピュータ600のCPU(Central Processing Unit)601は、ROM(Read Only Memory)602に記憶されているプログラム、または記憶部613からRAM(Random Access Memory)603にロードされたプログラムに従って各種の処理を実行する。RAM603にはまた、CPU601が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0352】
CPU601、ROM602、およびRAM603は、バス604を介して相互に接続されている。このバス604にはまた、入出力インタフェース610も接続されている。
【0353】
入出力インタフェース610には、キーボード、マウスなどよりなる入力部611、CRT(Cathode Ray Tube)ディスプレイやLCD(Liquid Crystal Display)等のディスプレイ、並びにスピーカなどよりなる出力部612、フラッシュメモリ等SSD(Solid State Drive)やハードディスクなどよりなる記憶部613、有線LAN(Local Area Network)や無線LANのインタフェースやモデムなどよりなる通信部614が接続されている。通信部614は、インターネットを含むネットワークを介しての通信処理を行う。
【0354】
入出力インタフェース610にはまた、必要に応じてドライブ615が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア621が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部613にインストールされる。
【0355】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【0356】
この記録媒体は、例えば、図29に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア621により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM602や、記憶部613に含まれるハードディスクなどにより構成される。
【0357】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0358】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0359】
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
【0360】
また、以上において、1つの装置(または処理部)として説明した構成が、複数の装置(または処理部)として構成されるようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成が、まとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成が付加されるようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部が他の装置(または他の処理部)の構成に含まれるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0361】
100 電源供給制御システム, 101 本体装置, 102 バッテリ装置, 111 認証処理部, 121 認証処理部, 131 認証システム, 151 制御部, 152 乱数生成部, 153 記憶部, 154 暗号処理部, 201 制御部, 202 記憶部, 203 暗号処理部

【特許請求の範囲】
【請求項1】
他の情報処理装置の認証を行う情報処理装置であって、
前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵を生成する個別鍵生成手段と、
前記個別鍵生成手段により生成された前記個別鍵を用いて、所定の乱数を所定の暗号化方式で暗号化し、前記乱数をチャレンジとするときの、前記チャレンジに対する正しい応答である正解応答を生成する正解応答生成手段と、
前記他の情報処理装置を認証するために、前記正解応答生成手段により生成された前記正解応答を用いて、前記他の情報処理装置により生成される前記チャレンジに対する応答を認証する応答認証手段と
を備える情報処理装置。
【請求項2】
前記応答認証手段により実行可能な前記他の情報処理装置の認証の残り回数を管理し、前記認証が行われるたびに前記残り回数を1減算する残回数処理手段をさらに備える
請求項1に記載の情報処理装置。
【請求項3】
前記個別鍵生成手段は、前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との排他的論理和を、所定の秘密鍵を用いて、所定の暗号化方式で暗号化することにより前記個別鍵を生成する
請求項1に記載の情報処理装置。
【請求項4】
前記個別鍵生成手段は、前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との排他的論理和を、所定の秘密鍵を用いて、HMACで暗号化することにより前記個別鍵を生成する
請求項1に記載の情報処理装置。
【請求項5】
前記個別鍵生成手段により生成された前記個別鍵を記憶する記憶手段をさらに備え、
前記個別鍵生成手段は、前記他の情報処理装置を初めて認証する場合のみ、前記個別鍵を生成する
請求項1に記載の情報処理装置。
【請求項6】
前記個別鍵生成手段は、前記他の情報処理装置において生成され、非対称暗号化方式により暗号化された前記個別鍵を前記非対称暗号化方式により復号することにより、前記個別鍵をえる
請求項1に記載の情報処理装置。
【請求項7】
前記応答認証手段により前記応答を認証した前記他の情報処理装置の識別情報を管理する管理手段をさらに備える
請求項1に記載の情報処理装置。
【請求項8】
前記管理手段は、前記応答認証手段により前記応答を認証した前記他の情報処理装置の識別情報のCRC演算値を管理する
請求項7に記載の情報処理装置。
【請求項9】
他の情報処理装置の認証を行う情報処理装置の情報処理方法であって、
前記情報処理装置の個別鍵生成手段が、前記情報処理装置自身の識別情報と、前記他の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵を生成し、
前記情報処理装置の前記正解応答生成手段が、生成された前記個別鍵を用いて、所定の乱数を所定の暗号化方式で暗号化し、前記乱数をチャレンジとするときの、前記チャレンジに対する正しい応答である正解応答を生成し、
前記情報処理装置の応答認証手段が、前記他の情報処理装置を認証するために、生成された前記正解応答を用いて、前記他の情報処理装置により生成される前記チャレンジに対する応答を認証する
情報処理方法。
【請求項10】
第1の情報処理装置が前記第2の情報処理装置の認証を行う認証システムであって、
前記第1の情報処理装置においては、
所定の乱数と前記第1の情報処理装置自身の識別情報とを前記第2の情報処理装置に送信する第1の送信手段と、
前記第2の情報処理装置から送信される、前記第2の情報処理装置の識別情報および前記乱数に対する応答を受信する第1の受信手段と、
前記第1の情報処理装置自身の識別情報と、前記第1の受信手段により受信された前記第2の情報処理装置の識別情報との両方に対応する鍵情報である個別鍵を生成する第1の個別鍵生成手段と、
前記第1の個別鍵生成手段により生成された前記個別鍵を用いて、前記乱数を、所定の暗号化方式で暗号化し、正しい応答である正解応答を生成する正解応答生成手段と、
前記第2の情報処理装置を認証するために、前記正解応答生成手段により生成された前記正解応答を用いて、前記受信手段により受信された前記応答を認証する応答認証手段と
を備え、
前記第2の情報処理装置においては、
前記第1の情報処理装置から送信される前記乱数および前記識別情報を受信する第2の受信手段と、
前記第2の受信手段により受信された前記第1の情報処理装置の識別情報と前記第2の情報処理装置自身の識別情報との両方に対応する鍵情報である個別鍵を生成する第2の個別鍵生成手段と、
前記第2の個別鍵生成手段により生成された前記個別鍵を用いて、前記第2の受信手段により受信された前記乱数を、所定の暗号化方式で暗号化し、応答を生成する応答生成手段と、
前記応答生成手段により生成された前記応答を、前記第1の情報処理装置に送信する第2の送信手段と
を備える認証システム。

【図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

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate


【公開番号】特開2011−171936(P2011−171936A)
【公開日】平成23年9月1日(2011.9.1)
【国際特許分類】
【出願番号】特願2010−32857(P2010−32857)
【出願日】平成22年2月17日(2010.2.17)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】