(57)【要約】【課題】  処理負荷の大きい大規模な機能を導入することなく、第三者による暗号解読や伝送データの模倣などの攻撃に対して強固な耐性を有する認証処理を実現する。【解決手段】  ビデオカメラ（認証装置）１００とバッテリ（被認証装置）２００とが接続された際、認証用基底データ生成部１０１で生成された認証用基底データ内に検証用データ生成部１０２で生成された検証用データが埋め込まれて認証用データが生成され、ビデオカメラからバッテリに送信される。バッテリの検証用応答データ生成部２０３では、検証用データに基づいて検証用応答データが生成され、応答用基底データ生成部２０４で生成された応答用基底データ内に検証用応答データが埋め込まれた認証用応答データが、ビデオカメラに返信される。ビデオカメラは、バッテリに送信した検証用データと、認証用応答データ内の検証用応答データとを比較して、バッテリが正規な装置か否かの認証を行う。【選択図】  図１
2007067680.tif 000002
【特許請求の範囲】
【請求項１】
被認証装置が正規の装置であるか否かの認証を行う認証装置であって、
Ｎ（Ｎは自然数）バイトの認証用基底データを生成する認証用基底データ生成手段と、
Ｎバイトよりも小さいＭ（Ｍは自然数）バイトの検証用データを生成する検証用データ生成手段と、
前記検証用データ生成手段で生成された前記検証用データを格納する検証用データ格納手段と、
所定の埋め込みパターンに基づいて、前記認証用基底データ生成手段で生成された前記認証用基底データ内に、前記検証用データ生成手段で生成された前記検証用データを埋め込むことによって、認証用データを生成する認証用データ生成手段と、
前記認証用データ生成手段で生成された前記認証用データを前記被認証装置に送信する認証用データ送信手段と、
前記認証用データの応答データであり、Ｍバイトよりも大きいＬ（Ｌは自然数）バイトの認証用応答データを前記被認証装置から受信する認証用応答データ受信手段と、
所定の埋め込みパターンに基づいて、前記認証用応答データ受信手段で受信した前記認証用応答データ内から、Ｍバイトの検証用応答データを抽出する検証用応答データ抽出手段と、
前記検証用応答データ抽出手段で抽出された前記検証用応答データを、Ｘ（Ｘは自然数）ビット幅を有する複数のＸビット検証用応答データに分割する検証用応答データ分割手段と、
前記検証用データ格納手段に格納されている前記検証用データを、Ｘビット幅を有する複数のＸビット検証用データに分割する検証用データ分割手段と、
任意のＸビット検証用データに対してあらかじめ設定されている所定の範囲の値をそれぞれ加算した加算結果のいずれか１つと、前記任意のＸビット検証用データが存在する前記検証用データ内のビット領域に対応する前記検証用応答データ内のビット領域に存在するＸビット検証用応答データの値とが一致するか否かをそれぞれ検証する検証手段と、
すべての前記Ｘビット検証用データ及び前記Ｘビット検証用応答データの組み合わせに関して前記検証手段による検証結果が一致した場合には、前記被認証装置が正規の装置であると判断して動作制御を行う一方、前記Ｘビット検証用データ及び前記Ｘビット検証用応答データの組み合わせのうちの少なくとも１つに関して前記検証結果が一致しなかった場合には、前記被認証装置が正規の装置ではないと判断して、前記被認証装置に対する動作が行われないように制御する動作制御手段とを、
有する認証装置。
【請求項２】
認証装置に対して正規の装置であることを証明する被認証装置であって、
Ｎ（Ｎは自然数）バイトの認証用データを前記認証装置から受信する認証用データ受信手段と、
所定の埋め込みパターンに基づいて、前記認証用データ受信手段で受信した前記認証用データ内から、Ｎバイトより小さいＭ（Ｍは自然数）バイトの検証用データを抽出する検証用データ抽出手段と、
前記検証用データ抽出手段で抽出された前記検証用データを、Ｘ（Ｘは自然数）ビット幅を有する複数のビット領域からなるＸビット検証用データに分割する検証用データ分割手段と、
あらかじめ設定されている所定の範囲内の値となる複数の乱数を発生して、前記検証用データ分割手段から取得した複数のＸビット検証用データのそれぞれに対して、前記複数の乱数のそれぞれを加算する加算手段と、
前記加算手段で前記乱数が加算された複数のＸビット検証用データを前記検証用データ分割手段で分割された前記ビット領域にそれぞれ戻すことによって、Ｍバイトの検証用応答データを生成する検証用応答データ生成手段と、
Ｍバイトよりも大きいＬ（Ｌは自然数）バイトの応答用基底データを生成する応答用基底データ生成手段と、
所定の埋め込みパターンに基づいて、前記応答用基底データ生成手段で生成された前記応答用基底データ内に、前記検証用応答データ生成手段で生成された前記検証用応答データを埋め込むことによって、前記認証用データの応答データである認証用応答データを生成する認証用応答データ生成手段と、
前記認証用応答データ生成手段で生成された前記認証用応答データを前記認証装置に送信する認証用応答データ送信手段とを、
有する被認証装置。
【請求項３】
被認証装置が正規の装置であるか否かの認証を行う認証装置と、前記被認証装置とにより構成されている機器認証システムであって、
前記認証装置が、
Ｎ（Ｎは自然数）バイトの認証用基底データを生成する認証用基底データ生成手段と、
Ｎバイトよりも小さいＭ（Ｍは自然数）バイトの検証用データを生成する検証用データ生成手段と、
前記検証用データ生成手段で生成された前記検証用データを格納する検証用データ格納手段と、
所定の埋め込みパターンに基づいて、前記認証用基底データ生成手段で生成された前記認証用基底データ内に、前記検証用データ生成手段で生成された前記検証用データを埋め込むことによって、認証用データを生成する認証用データ生成手段と、
前記認証用データ生成手段で生成された前記認証用データを前記被認証装置に送信する認証用データ送信手段と、
前記認証用データの応答データであり、Ｍバイトよりも大きいＬ（Ｌは自然数）バイトの認証用応答データを前記被認証装置から受信する認証用応答データ受信手段と、
所定の埋め込みパターンに基づいて、前記認証用応答データ受信手段で受信した前記認証用応答データ内から、Ｍバイトの検証用応答データを抽出する検証用応答データ抽出手段と、
前記検証用応答データ抽出手段で抽出された前記検証用応答データを、Ｘ（Ｘは自然数）ビット幅を有する複数のＸビット検証用応答データに分割する検証用応答データ分割手段と、
前記検証用データ格納手段に格納されている前記検証用データを、Ｘビット幅を有する複数のＸビット検証用データに分割する検証用データ分割手段と、
任意のＸビット検証用データに対してあらかじめ設定されている所定の範囲の値をそれぞれ加算した加算結果のいずれか１つと、前記任意のＸビット検証用データが存在する前記検証用データ内のビット領域に対応する前記検証用応答データ内のビット領域に存在するＸビット検証用応答データの値とが一致するか否かをそれぞれ検証する検証手段と、
すべての前記Ｘビット検証用データ及び前記Ｘビット検証用応答データの組み合わせに関して前記検証手段による検証結果が一致した場合には、前記被認証装置が正規の装置であると判断して動作制御を行う一方、前記Ｘビット検証用データ及び前記Ｘビット検証用応答データの組み合わせのうちの少なくとも１つに関して前記検証結果が一致しなかった場合には、前記被認証装置が正規の装置ではないと判断して、前記被認証装置に対する動作が行われないように制御する動作制御手段とを有し、
前記被認証装置が、
前記認証用データを前記認証装置から受信する認証用データ受信手段と、
所定の埋め込みパターンに基づいて、前記認証用データ受信手段で受信した前記認証用データ内から、前記検証用データを抽出する検証用データ抽出手段と、
前記検証用データ抽出手段で抽出された前記検証用データを、Ｘビット幅を有する複数のビット領域からなるＸビット検証用データに分割する検証用データ分割手段と、
あらかじめ設定されている所定の範囲内の値となる複数の乱数を発生して、前記検証用データ分割手段から取得した複数のＸビット検証用データのそれぞれに対して、前記複数の乱数のそれぞれを加算する加算手段と、
前記加算手段で前記乱数が加算された複数のＸビット検証用データを前記検証用データ分割手段で分割された前記ビット領域のそれぞれに戻すことによって、前記検証用応答データを生成する検証用応答データ生成手段と、
Ｌバイトの前記応答用基底データを生成する応答用基底データ生成手段と、
所定の埋め込みパターンに基づいて、前記応答用基底データ生成手段で生成された前記応答用基底データ内に、前記検証用応答データ生成手段で生成された前記検証用応答データを埋め込むことによって、前記認証用応答データを生成する認証用応答データ生成手段と、
前記認証用応答データ生成手段で生成された前記認証用応答データを前記認証装置に送信する認証用応答データ送信手段とを有する機器認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主装置に接続する副装置が、正規の装置（純正品）であるか否かを確認するための認証装置及び被認証装置並びに機器認証システムに関し、特に、ビデオカメラが、バッテリの接続を検知した場合に、バッテリが純正品であるか否かを確認するための認証装置及び被認証装置並びに機器認証システムに関する。
【背景技術】
【０００２】
従来、主装置（認証装置）に接続して使用する副装置（被認証装置）は、動作の信頼性や安全性、性能などの様々な点から、メーカによって定められた正規の装置（純正品）を使用することが望ましいとされている。例えば、上記の主装置としてビデオカメラ、上記の副装置としてビデオカメラへの給電を行うバッテリを考えた場合、定格電圧・電流の安全性、性能、信頼性から、そのビデオカメラの製造メーカによって定められたバッテリを使用することが望ましい。
【０００３】
上述のように、相互に接続する装置を認証する従来の技術としては、例えば、下記の特許文献１に開示されている技術が知られている。特許文献１に開示されている技術では、主装置が、副装置の認証を行うために、まず乱数を発生し、複数の異なる秘密鍵からなる鍵束のうちのいずれかの秘密鍵を暗号鍵として、この乱数を暗号化して副装置に送信する。副装置は、主装置と同一の鍵束を有しており、この鍵束を用いて暗号化データを復号して乱数を取り出すとともに、鍵束のうちのいずれかの秘密鍵を暗号鍵として、この乱数を暗号化して主装置に返信する。そして、主装置は、鍵束を用いて、受信した返信データを復号して乱数を取り出し、最初に発生した乱数と一致する値が得られた場合には、認証合格として、副装置が正当な装置であると判断する。
【特許文献１】特開平１１−８６１８号公報（図３）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示されている技術のように、秘密鍵を用いた暗号処理及び復号処理を行った場合には、主装置と副装置との間で伝送されるデータが複雑化して、第三者による暗号解読や伝送データの模倣などの攻撃に対する耐性は強固なものとなるが、鍵を用いた暗号処理及び復号処理は、その処理負荷が非常に大きいという問題がある。
【０００５】
例えば、特許文献１に開示されている技術では、主装置及び副装置の両方共、データの暗号処理及び復号処理を行うために、それぞれが複雑な演算を実行する必要があるとともに、複数の秘密鍵からなる鍵束があらかじめ格納されている不揮発性メモリを有する必要がある。
【０００６】
純正品の認証処理は、主装置及び副装置による本来の動作の前処理に当たるため、このような前処理のために回路（又はソフトウェア）の規模を大きくしたくはないという要請がある一方、上述の特許文献１に開示されている技術では、各装置に暗号処理及び復号処理に係る複雑な演算を実行するための機能や、鍵束を格納しておくための不揮発性メモリなどを設ける必要がある。このように大規模な機能の導入によって、各装置のコンパクト化や軽量化、コストの低減、各装置における処理負荷の軽減を実現することは困難になる。また、鍵を用いた暗号処理や復号処理は演算量が多いため、特許文献１に開示されている技術では、認証の合格／不合格が判断されるまでに時間がかかるという問題もある。
【０００７】
上記の課題に鑑み、本発明は、処理負荷の大きい大規模な機能を導入することなく、第三者による暗号解読や伝送データの模倣などの攻撃に対して強固な耐性を有する認証処理を実現するための認証装置及び被認証装置並びに機器認証システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するため、本発明によれば、被認証装置が正規の装置であるか否かの認証を行う認証装置であって、
Ｎ（Ｎは自然数）バイトの認証用基底データを生成する認証用基底データ生成手段と、
Ｎバイトよりも小さいＭ（Ｍは自然数）バイトの検証用データを生成する検証用データ生成手段と、
前記検証用データ生成手段で生成された前記検証用データを格納する検証用データ格納手段と、
所定の埋め込みパターンに基づいて、前記認証用基底データ生成手段で生成された前記認証用基底データ内に、前記検証用データ生成手段で生成された前記検証用データを埋め込むことによって、認証用データを生成する認証用データ生成手段と、
前記認証用データ生成手段で生成された前記認証用データを前記被認証装置に送信する認証用データ送信手段と、
前記認証用データの応答データであり、Ｍバイトよりも大きいＬ（Ｌは自然数）バイトの認証用応答データを前記被認証装置から受信する認証用応答データ受信手段と、
所定の埋め込みパターンに基づいて、前記認証用応答データ受信手段で受信した前記認証用応答データ内から、Ｍバイトの検証用応答データを抽出する検証用応答データ抽出手段と、
前記検証用応答データ抽出手段で抽出された前記検証用応答データを、Ｘ（Ｘは自然数）ビット幅を有する複数のＸビット検証用応答データに分割する検証用応答データ分割手段と、
前記検証用データ格納手段に格納されている前記検証用データを、Ｘビット幅を有する複数のＸビット検証用データに分割する検証用データ分割手段と、
任意のＸビット検証用データに対してあらかじめ設定されている所定の範囲の値をそれぞれ加算した加算結果のいずれか１つと、前記任意のＸビット検証用データが存在する前記検証用データ内のビット領域に対応する前記検証用応答データ内のビット領域に存在するＸビット検証用応答データの値とが一致するか否かをそれぞれ検証する検証手段と、
すべての前記Ｘビット検証用データ及び前記Ｘビット検証用応答データの組み合わせに関して前記検証手段による検証結果が一致した場合には、前記被認証装置が正規の装置であると判断して動作制御を行う一方、前記Ｘビット検証用データ及び前記Ｘビット検証用応答データの組み合わせのうちの少なくとも１つに関して前記検証結果が一致しなかった場合には、前記被認証装置が正規の装置ではないと判断して、前記被認証装置に対する動作が行われないように制御する動作制御手段とを、
有する認証装置が提供される。
【０００９】
また、上記の目的を達成するため、本発明によれば、認証装置に対して正規の装置であることを証明する被認証装置であって、
Ｎ（Ｎは自然数）バイトの認証用データを前記認証装置から受信する認証用データ受信手段と、
所定の埋め込みパターンに基づいて、前記認証用データ受信手段で受信した前記認証用データ内から、Ｎバイトより小さいＭ（Ｍは自然数）バイトの検証用データを抽出する検証用データ抽出手段と、
前記検証用データ抽出手段で抽出された前記検証用データを、Ｘ（Ｘは自然数）ビット幅を有する複数のビット領域からなるＸビット検証用データに分割する検証用データ分割手段と、
あらかじめ設定されている所定の範囲内の値となる複数の乱数を発生して、前記検証用データ分割手段から取得した複数のＸビット検証用データのそれぞれに対して、前記複数の乱数のそれぞれを加算する加算手段と、
前記加算手段で前記乱数が加算された複数のＸビット検証用データを前記検証用データ分割手段で分割された前記ビット領域にそれぞれ戻すことによって、Ｍバイトの検証用応答データを生成する検証用応答データ生成手段と、
Ｍバイトよりも大きいＬ（Ｌは自然数）バイトの応答用基底データを生成する応答用基底データ生成手段と、
所定の埋め込みパターンに基づいて、前記応答用基底データ生成手段で生成された前記応答用基底データ内に、前記検証用応答データ生成手段で生成された前記検証用応答データを埋め込むことによって、前記認証用データの応答データである認証用応答データを生成する認証用応答データ生成手段と、
前記認証用応答データ生成手段で生成された前記認証用応答データを前記認証装置に送信する認証用応答データ送信手段とを、
有する被認証装置が提供される。
【００１０】
また、上記の目的を達成するため、本発明によれば、被認証装置が正規の装置であるか否かの認証を行う認証装置と、前記被認証装置とにより構成されている機器認証システムであって、
前記認証装置が、
Ｎ（Ｎは自然数）バイトの認証用基底データを生成する認証用基底データ生成手段と、
Ｎバイトよりも小さいＭ（Ｍは自然数）バイトの検証用データを生成する検証用データ生成手段と、
前記検証用データ生成手段で生成された前記検証用データを格納する検証用データ格納手段と、
所定の埋め込みパターンに基づいて、前記認証用基底データ生成手段で生成された前記認証用基底データ内に、前記検証用データ生成手段で生成された前記検証用データを埋め込むことによって、認証用データを生成する認証用データ生成手段と、
前記認証用データ生成手段で生成された前記認証用データを前記被認証装置に送信する認証用データ送信手段と、
前記認証用データの応答データであり、Ｍバイトよりも大きいＬ（Ｌは自然数）バイトの認証用応答データを前記被認証装置から受信する認証用応答データ受信手段と、
所定の埋め込みパターンに基づいて、前記認証用応答データ受信手段で受信した前記認証用応答データ内から、Ｍバイトの検証用応答データを抽出する検証用応答データ抽出手段と、
前記検証用応答データ抽出手段で抽出された前記検証用応答データを、Ｘ（Ｘは自然数）ビット幅を有する複数のＸビット検証用応答データに分割する検証用応答データ分割手段と、
前記検証用データ格納手段に格納されている前記検証用データを、Ｘビット幅を有する複数のＸビット検証用データに分割する検証用データ分割手段と、
任意のＸビット検証用データに対してあらかじめ設定されている所定の範囲の値をそれぞれ加算した加算結果のいずれか１つと、前記任意のＸビット検証用データが存在する前記検証用データ内のビット領域に対応する前記検証用応答データ内のビット領域に存在するＸビット検証用応答データの値とが一致するか否かをそれぞれ検証する検証手段と、
すべての前記Ｘビット検証用データ及び前記Ｘビット検証用応答データの組み合わせに関して前記検証手段による検証結果が一致した場合には、前記被認証装置が正規の装置であると判断して動作制御を行う一方、前記Ｘビット検証用データ及び前記Ｘビット検証用応答データの組み合わせのうちの少なくとも１つに関して前記検証結果が一致しなかった場合には、前記被認証装置が正規の装置ではないと判断して、前記被認証装置に対する動作が行われないように制御する動作制御手段とを有し、
前記被認証装置が、
前記認証用データを前記認証装置から受信する認証用データ受信手段と、
所定の埋め込みパターンに基づいて、前記認証用データ受信手段で受信した前記認証用データ内から、前記検証用データを抽出する検証用データ抽出手段と、
前記検証用データ抽出手段で抽出された前記検証用データを、Ｘビット幅を有する複数のビット領域からなるＸビット検証用データに分割する検証用データ分割手段と、
あらかじめ設定されている所定の範囲内の値となる複数の乱数を発生して、前記検証用データ分割手段から取得した複数のＸビット検証用データのそれぞれに対して、前記複数の乱数のそれぞれを加算する加算手段と、
前記加算手段で前記乱数が加算された複数のＸビット検証用データを前記検証用データ分割手段で分割された前記ビット領域のそれぞれに戻すことによって、前記検証用応答データを生成する検証用応答データ生成手段と、
Ｌバイトの前記応答用基底データを生成する応答用基底データ生成手段と、
所定の埋め込みパターンに基づいて、前記応答用基底データ生成手段で生成された前記応答用基底データ内に、前記検証用応答データ生成手段で生成された前記検証用応答データを埋め込むことによって、前記認証用応答データを生成する認証用応答データ生成手段と、
前記認証用応答データ生成手段で生成された前記認証用応答データを前記認証装置に送信する認証用応答データ送信手段とを有する機器認証システムが提供される。
【発明の効果】
【００１１】
本発明は、上記の構成を有しており、処理負荷の大きい大規模な機能を導入せずに、小規模の演算処理のみで、第三者による暗号解読や伝送データの模倣などの攻撃に対して強固な耐性を有する認証処理を実現できるという効果を有している。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照しながら、本発明の実施の形態における認証装置及び被認証装置並びに機器認証システムについて説明する。なお、以下では、本発明の実施の形態における認証装置がビデオカメラであり、本発明の実施の形態における被認証装置が上記のビデオカメラに接続するバッテリである場合を一例として説明するが、認証装置及び被認証装置の組み合わせは、これに限定されるものではなく、任意の装置と、この任意の装置に接続して動作を行う装置との任意の組み合わせを、本発明に係る認証装置及び被認証装置とすることが可能である。また、ここでは、ビデオカメラを認証装置、バッテリを被認証装置としているが、認証を行う主体である主装置及び認証される客体である副装置の設定は任意であり、例えば、バッテリを認証装置、ビデオカメラを被認証装置としてもよい。
【００１３】
まず、図１を参照しながら、本発明に係る認証装置の一例として挙げるビデオカメラ、及び本発明に係る被認証装置の一例として挙げるバッテリのそれぞれが有する機能について説明する。図１は、本発明の実施の形態における認証装置及び被認証装置が有する機能の一例を模式的に示す機能ブロック図である。図１には、ビデオカメラ１００と、このビデオカメラ１００に接続して給電を行うバッテリ２００とが図示されている。なお、図１には、主に本発明に係る機能に関連する構成要素のみが図示されており、ビデオカメラ１００やバッテリ２００の各種機能（例えば、ＣＣＤ（Charge Coupled Devices）カメラ、画像処理ＤＳＰ（Digital Signal Processor）、ＬＣＤ（Liquid Crystal Display：液晶ディスプレイ）や、給電制御を行うレギュレータなど）に関しては、図示省略する。
【００１４】
図１に図示されているビデオカメラ１００は、認証用基底データ生成部１０１、検証用データ生成部１０２、認証用データ生成部１０３、検証用データ格納部１０４、認証用データ送信部１０５、認証用応答データ受信部１０６、検証用応答データ抽出部１０７、比較検証部１０８、動作制御部１０９を有している。一方、図１に図示されているバッテリ２００は、認証用データ受信部２０１、検証用データ抽出部２０２、検証用応答データ生成部２０３、応答用基底データ生成部２０４、認証用応答データ生成部２０５、認証用応答データ送信部２０６を有している。なお、各構成要素によって表されるデータ処理機能、データ演算機能、データ比較機能などは、回路などのハードウェア及び／又はＣＰＵ（Central Processing Unit：中央演算処理装置）などによって実行されるソフトウェアによって実現可能である。
【００１５】
ビデオカメラ１００の認証用基底データ生成部１０１は、認証用基底データＰを生成する機能を有している。この認証用基底データ生成部１０１で生成された認証用基底データＰは、認証用データ生成部１０３に供給される。
【００１６】
認証用基底データＰは、所定のＮバイト配列を有するとともに、各ビットの値が０又は１にランダムに設定されているデータである。なお、認証用基底データＰは、後述のように、検証用データＡが埋め込まれる基底となるデータであり、認証処理に必要となる検証用データＡを隠蔽するためのダミーのビットを構成するデータである。
【００１７】
具体的には、例えばＮ＝４とした場合には、認証用基底データＰは、図５に図示されている４バイトのランダムなビット配列となる。なお、図５には、認証用基底データＰが、“０１０１００１１１１０００１０１００１０１０１０１１０１０００１”の値を有している場合が一例として図示されているが、図示が明瞭となるように、１バイト（８ビット）ごとに行を分けて表記するとともに、各行に対してＹ１〜Ｙ４の座標、各列に対してＸ０〜Ｘ７の座標を設定して表記を行うことにする。また、以下では、認証用基底データＰの各ビットを表す際には、例えばＰ（Ｘ４，Ｙ３）などのような座標表現によって表すこともある。
【００１８】
また、ビデオカメラ１００の検証用データ生成部１０２は、検証用データＡを生成する機能を有しており、この検証用データ生成部１０２で生成された検証用データＡは、認証用データ生成部１０３に供給されるとともに、検証用データ格納部１０４に格納される。
【００１９】
検証用データＡは、所定のＭバイト配列を有するとともに、各ビットの値が０又は１にランダムに設定されているデータである。ただし、検証用データＡのバイト数Ｍは、上記の認証用基底データＰのバイト数Ｎよりも小さな値とする必要がある。具体的には、例えばＭ＝２とした場合には、検証用基底データＡは、図６に図示されている２バイトのランダムなビット配列となる。なお、図６には、検証用データＡが、“０１１０１０１１１１１００００１”の値を有している場合が一例として図示されているが、図示が明瞭となるように、１バイト（８ビット）ごとに行を分けて表記するとともに、各行に対してＹ１〜Ｙ２の座標、各列に対してＸ０〜Ｘ７の座標を設定して表記を行うことにする。また、以下では、検証用データＡの各ビットを表す際には、例えばＡ（Ｘ５，Ｙ２）などのような座標表現によって表すこともある。
【００２０】
また、ビデオカメラ１００の認証用データ生成部１０３は、認証用基底データ生成部１０１で生成された認証用基底データＰと、検証用データ生成部１０２で生成された検証用データＡとに基づいて、認証用データＱを生成する機能を有している。この認証用データ生成部１０３で生成された認証用データＱは、認証用データ送信部１０５に供給される。
【００２１】
認証用データＱは、認証用基底データＰに検証用データＡが埋め込まれることによって生成される。例えば、認証用データ生成部１０３は、仕様によってあらかじめ定められている埋め込みパターンを把握しており、この埋め込みパターンに従って、認証用基底データＰ内に検証用データＡの埋め込み処理を行う。
【００２２】
具体的には、例えば、図７に図示されているような埋め込みパターンが仕様によってあらかじめ定められている。図７に図示されている埋め込みパターンは、認証用基底データＰにおいて、検証用データＡのビットによる置換が行われる位置を模式的に示すものである。認証用データ生成部１０３は、図７に図示されているような埋め込みパターンに基づいて、図５に図示されている認証用基底データＰ内に、図６に図示されている検証用データＡの埋め込み処理を行う。
【００２３】
これにより、認証用データ生成部１０３は、Ｐ（Ｘ０，Ｙ１）のビット値をＡ（Ｘ７，Ｙ１）のビット値に、Ｐ（Ｘ３，Ｙ１）のビット値をＡ（Ｘ０，Ｙ２）のビット値に、Ｐ（Ｘ４，Ｙ１）のビット値をＡ（Ｘ６，Ｙ２）のビット値に、Ｐ（Ｘ６，Ｙ１）のビット値をＡ（Ｘ１，Ｙ２）のビット値に、Ｐ（Ｘ１，Ｙ２）のビット値をＡ（Ｘ５，Ｙ２）のビット値に、Ｐ（Ｘ２，Ｙ２）のビット値をＡ（Ｘ６，Ｙ１）のビット値に、Ｐ（Ｘ５，Ｙ２）のビット値をＡ（Ｘ５，Ｙ１）のビット値に、Ｐ（Ｘ７，Ｙ２）のビット値をＡ（Ｘ２，Ｙ１）のビット値に、Ｐ（Ｘ１，Ｙ３）のビット値をＡ（Ｘ３，Ｙ１）のビット値に、Ｐ（Ｘ３，Ｙ３）のビット値をＡ（Ｘ２，Ｙ２）のビット値に、Ｐ（Ｘ５，Ｙ３）のビット値をＡ（Ｘ０，Ｙ１）のビット値に、Ｐ（Ｘ０，Ｙ４）のビット値をＡ（Ｘ４，Ｙ２）のビット値に、Ｐ（Ｘ２，Ｙ４）のビット値をＡ（Ｘ３，Ｙ２）のビット値に、Ｐ（Ｘ４，Ｙ４）のビット値をＡ（Ｘ４，Ｙ１）のビット値に、Ｐ（Ｘ６，Ｙ４）のビット値をＡ（Ｘ７，Ｙ２）のビット値に、Ｐ（Ｘ７，Ｙ４）のビット値をＡ（Ｘ１，Ｙ１）のビット値にそれぞれ置換して、認証用データＱを生成する。
【００２４】
この結果、認証用基底データＰ内への検証用データＡの埋め込みが行われ、図８に図示されているように、“１１０１００１１１０１００００１００１１１０１００１０１１０１１”の値を有する４バイト（認証用基底データＰと同一のバイト数Ｎ）の認証用データＱが生成される。なお、例えば、認証用基底データＰと検証用データＡとはそれぞれ独立して生成されるため、上述の例において、Ｐ（Ｘ３，Ｙ１）のビット値１をＡ（Ｘ０，Ｙ２）のビット値１に置換する場合のように、実質的にはビット値の置換が行われない場合も起こり得る。
【００２５】
また、ビデオカメラ１００の検証用データ格納部１０４は、検証用データ生成部１０２で生成された検証用データＡを格納する機能を有している。検証用データ格納部１０４は、検証用データ生成部１０２で生成されてから、比較検証部１０８によって読み出されるまで、検証用データＡの格納を行う。
【００２６】
また、ビデオカメラ１００の認証用データ送信部１０５は、認証用データ生成部１０３で生成された認証用データＱを、バッテリ２００に送信する機能を有している。
【００２７】
一方、バッテリ２００の認証用データ受信部２０１は、ビデオカメラ１００の認証用データ送信部１０５から送信された認証用データＱを受信する機能を有している。この認証用データ受信部２０１で受信された認証用データＱは、検証用データ抽出部２０２に供給される。
【００２８】
また、バッテリ２００の検証用データ抽出部２０２は、認証用データ受信部２０１で受信した認証用データＱ内に埋め込まれている検証用データＡを抽出する機能を有している。この検証用データ抽出部２０２は、ビデオカメラ１００の認証用データ生成部１０３が認証用データＱの生成の際に使用する埋め込みパターン（図７に図示されている埋め込みパターン）をあらかじめ把握している。したがって、検証用データ抽出部２０２は、上述の認証用データ生成部１０３における認証用データＱ内への検証用データＡの埋め込み処理と逆の流れの処理を行うことによって、図８に図示されている認証用データＱから、図６に図示されている検証用データＡを抽出することが可能である。検証用データ抽出部２０２で抽出された検証用データＡは、検証用応答データ生成部２０３に供給される。
【００２９】
また、バッテリ２００の検証用応答データ生成部２０３は、検証用データ抽出部２０２で抽出された検証用データＡに対して、所定のアルゴリズムを実行することによって、検証用応答データＢを生成する機能を有している。検証用応答データ生成部２０３において実行される所定のアルゴリズムは、その処理負荷や処理遅延を考慮して、例えば、下記に示す演算を実行するアルゴリズムが採用されることが望ましい。
【００３０】
ここで、図２を参照しながら、検証用データＡから検証用応答データＢを生成するためにバッテリ２００の検証用データ抽出部２０２で実行されるアルゴリズムについて説明する。図２は、本発明の実施の形態において、検証用データＡから検証用応答データＢを生成するために被認証装置で実行されるアルゴリズムの一例を示すフローチャートである。
【００３１】
図２において、検証用応答データ生成部２０３は、検証用データ抽出部２０２から検証用データＡが供給された場合、この検証用データＡをバイト単位に分割するとともに、さらに、各バイト単位のデータを上位４ビット及び下位４ビットに分割する（ステップＳ４０１）。これにより、例えば、図６に図示されている２バイトの検証用データＡから、図９に図示されている４ビット単位の４つのデータが生成される。なお、以下では、図６に図示されている検証用データＡから生成される４つのデータのうち、“１０１１”の値を有するデータをデータＡ１、“０１１０”の値を有するデータをデータＡ２、“０００１”の値を有するデータをデータＡ３、“１１１０”の値を有するデータをデータＡ４と表記する。
【００３２】
次に、検証用応答データ生成部２０３は、例えば１〜４（すなわち、ビット表記では“００１”〜“１００”）の範囲となる４つの乱数ｒ１〜ｒ４を発生し（ステップＳ４０３）、これら４つのデータＡ１〜Ａ４のそれぞれに対して、各乱数ｒ１〜ｒ４を加算することによって、データＢ１＝データＡ１＋乱数ｒ１、データＢ２＝データＡ２＋乱数ｒ２、データＢ３＝データＡ３＋乱数ｒ３、データＢ４＝データＡ４＋乱数ｒ４の４つのデータＢ１〜Ｂ４を生成する（ステップＳ４０５）。例えば、乱数ｒ１＝４、乱数ｒ２＝１、乱数ｒ３＝２、乱数ｒ４＝１とした場合、図９に図示されている４つのデータＡ１〜Ａ４から、図１０に図示されている４つのデータＢ１〜Ｂ４（データＢ１の値“１１１１”、データＢ２の値“０１１１”、データＢ３の値“００１１”、データＢ４の値“１１１１”）が生成される。なお、乱数ｒ１〜ｒ４の加算によって“１１１１”を超えるキャリー（桁上がり）が発生した場合には、最上位ビット（下位５ビット目）の値が切り捨てられ、下位４ビットの値を加算結果にすることが望ましい。
【００３３】
データＢ１〜Ｂ４の演算後、検証用応答データ生成部２０３は、検証用データＡからデータＡ１〜Ａ４を生成した処理とは逆の流れの処理を行って、データＢ１とデータＢ２との結合、データＢ３とのデータＢ４との結合によって１バイトのデータを２つ生成し、さらに、これら２つのデータを結合して２バイトの検証用応答データＢを生成する（ステップＳ４０７）。この結果、図１１に図示されている検証用応答データＢが生成される。検証用応答データ生成部２０３で生成された検証用応答データＢは、認証用応答データ生成部２０５に供給される。なお、図１１には、検証用応答データＢが、“０１１１１１１１１１１１００１１”の値を有している場合が一例として図示されているが、図示が明瞭となるように、１バイト（８ビット）ごとに行を分けて表記するとともに、各行に対してＹ１〜Ｙ２の座標、各列に対してＸ０〜Ｘ７の座標を設定して表記を行うことにする。また、以下では、検証用応答データＢの各ビットを表す際には、例えばＢ（Ｘ５，Ｙ２）などのような座標表現によって表すこともある。
【００３４】
また、上述の例では、検証用データＡを４分割した後に、各４ビット単位のデータに対して１〜４の範囲の乱数ｒ１〜ｒ４を加算して検証用応答データＢを生成するアルゴリズムが一例として挙げられているが、例えば、検証用データＡの分割数は４に限定されるものではなく、乱数ｒ１〜ｒ４の範囲も１〜４に限定されるものではない。また、検証用データＡの分割単位は４ビット幅には限定されるものではなく、検証用データＡは、異なるビット幅のデータに分割されてもよい。さらに、上述のアルゴリズムとは異なる任意のアルゴリズムを用いて、検証用データＡから検証用応答データＢが生成されてもよい。
【００３５】
また、バッテリ２００の応答用基底データ生成部２０４は、応答用基底データＲを生成する機能を有している。この応答用基底データ生成部２０４で生成された応答用基底データＲは、認証用応答データ生成部２０５に供給される。
【００３６】
応答用基底データＲは、所定のＬバイト配列を有するとともに、各ビットの値が０又は１にランダムに設定されているデータである。なお、応答用基底データＲは、後述のように、検証用応答データＢが埋め込まれる基底となるデータであり、認証処理に必要となる検証用応答データＢを隠蔽するためのダミーのビットを構成するデータである。
【００３７】
具体的には、例えばＬ＝４とした場合には、応答用基底データＲは、図１２に図示されている４バイトのランダムなビット配列となる。なお、応答用基底データＲは、ビデオカメラ１００の認証用基底データ生成部１０１で生成される認証用基底データＰと同様の構造を有しているが、応答用基底データ生成部２０４は、独自に応答用基底データＲを生成するため、基本的には応答用基底データＲの値は、認証用基底データＰの値とは異なる値を取る。
【００３８】
また、図１２には、応答用基底データＲが、“０１０００００１０１００１１０００００１０１１００１００１１１１”の値を有している場合が一例として図示されているが、図示が明瞭となるように、１バイト（８ビット）ごとに行を分けて表記するとともに、各行に対してＹ１〜Ｙ４の座標、各列に対してＸ０〜Ｘ７の座標を設定して表記を行うことにする。なお、以下では、応答用基底データＲの各ビットを表す際には、例えばＲ（Ｘ４，Ｙ３）などのような座標表現によって表すこともある。また、以下では、応答用基底データＲのバイト数Ｌを、認証用基底データＰ及び認証用データＱと同一のバイト数Ｎ（＝４）として説明を行うが、応答用基底データＲのバイト数Ｌと、認証用基底データＰ及び認証用データＱのバイト数Ｎとは同一である必要はない。ただし、応答用基底データＲのバイト数Ｌは、上記の検証用応答データＢのバイト数Ｍよりも大きな値とする必要がある。
【００３９】
また、バッテリ２００の認証用応答データ生成部２０５は、検証用応答データ生成部２０３で生成された検証用応答データＢと、応答用基底データ生成部２０４で生成された応答用基底データＲとに基づいて、認証用応答データＳを生成する機能を有している。この認証用応答データ生成部２０５で生成された認証用応答データＳは、認証用応答データ送信部２０６に供給される。
【００４０】
認証用応答データＳは、応答用基底データＲに検証用応答データＢが埋め込まれることによって生成される。例えば、認証用応答データ生成部２０５は、仕様によってあらかじめ定められている埋め込みパターンを把握しており、この埋め込みパターンに従って、応答用基底データＲ内に検証用応答データＢの埋め込み処理を行う。
【００４１】
具体的には、例えば、ビデオカメラ１００の認証用データ生成部１０３と同様に、図７に図示されているような埋め込みパターンが仕様によってあらかじめ定められており、認証用データＱの生成（認証用基底データＰ内への検証用データＡの埋め込み）と同様に、応答用基底データＲ内に検証用応答データＢが埋め込まれる。
【００４２】
これにより、認証用応答データ生成部２０５は、Ｒ（Ｘ０，Ｙ１）のビット値をＢ（Ｘ７，Ｙ１）のビット値に、Ｒ（Ｘ３，Ｙ１）のビット値をＢ（Ｘ０，Ｙ２）のビット値に、Ｒ（Ｘ４，Ｙ１）のビット値をＢ（Ｘ６，Ｙ２）のビット値に、Ｒ（Ｘ６，Ｙ１）のビット値をＢ（Ｘ１，Ｙ２）のビット値に、Ｒ（Ｘ１，Ｙ２）のビット値をＢ（Ｘ５，Ｙ２）のビット値に、Ｒ（Ｘ２，Ｙ２）のビット値をＢ（Ｘ６，Ｙ１）のビット値に、Ｒ（Ｘ５，Ｙ２）のビット値をＢ（Ｘ５，Ｙ１）のビット値に、Ｒ（Ｘ７，Ｙ２）のビット値をＢ（Ｘ２，Ｙ１）のビット値に、Ｒ（Ｘ１，Ｙ３）のビット値をＢ（Ｘ３，Ｙ１）のビット値に、Ｒ（Ｘ３，Ｙ３）のビット値をＢ（Ｘ２，Ｙ２）のビット値に、Ｒ（Ｘ５，Ｙ３）のビット値をＢ（Ｘ０，Ｙ１）のビット値に、Ｒ（Ｘ０，Ｙ４）のビット値をＢ（Ｘ４，Ｙ２）のビット値に、Ｒ（Ｘ２，Ｙ４）のビット値をＢ（Ｘ３，Ｙ２）のビット値に、Ｒ（Ｘ４，Ｙ４）のビット値をＢ（Ｘ４，Ｙ１）のビット値に、Ｒ（Ｘ６，Ｙ４）のビット値をＢ（Ｘ７，Ｙ２）のビット値に、Ｒ（Ｘ７，Ｙ４）のビット値をＢ（Ｘ１，Ｙ１）のビット値にそれぞれ置換して、認証用応答データＳを生成する。
【００４３】
この結果、応答用基底データＲ内への検証用応答データＢの埋め込みが行われ、図１３に図示されているように、“１１０１１０１１００１０１１０１０１０１００１００１１０１１１１”の値を有する４バイト（応答用基底データＲと同一のバイト数Ｌ）の認証用応答データＳが生成される。なお、ここでは、認証用応答データ生成部２０５は、ビデオカメラ１００の認証用データ生成部１０３が認証用データＱの生成時に用いた埋め込みパターン（図７に図示されている埋め込みパターン）と同様の埋め込みパターンを用いて応答用基底データＲ内に検証用応答データＢを埋め込んで認証用応答データＳを生成する場合が示されているが、認証用応答データ生成部２０５が用いる埋め込みパターンは、ビデオカメラ１００の認証用データ生成部１０３が用いる埋め込みパターンとは異なっていてもよい。
【００４４】
また、バッテリ２００の認証用応答データ送信部２０６は、認証用応答データ生成部２０５で生成された認証用応答データＳを、ビデオカメラ１００に送信する機能を有している。
【００４５】
一方、ビデオカメラ１００の認証用応答データ受信部１０６は、認証用データＱに対する応答である認証用応答データＳをバッテリ２００から受信する機能を有している。この認証用応答データ受信部１０６で受信した認証用応答データＳは、検証用応答データ抽出部１０７に供給される。
【００４６】
また、ビデオカメラ１００の検証用応答データ抽出部１０７は、認証用応答データ受信部１０６で受信した認証用応答データＳ内に埋め込まれている検証用応答データＢを抽出する機能を有している。この検証用応答データ抽出部１０７は、バッテリ２００の認証用応答データ生成部２０５が認証用応答データＳの生成の際に使用する埋め込みパターン（ここでは、図７に図示されている埋め込みパターン）をあらかじめ把握している。したがって、検証用応答データ抽出部１０７は、上述の認証用応答データ生成部２０５における認証用応答データＳ内への検証用応答データＢの埋め込み処理と逆の流れの処理を行うことによって、図１３に図示されている認証用応答データＳから、図１１に図示されている検証用応答データＢを抽出することが可能である。検証用応答データ抽出部１０７で抽出された検証用応答データＢは、比較検証部１０８に供給される。
【００４７】
また、ビデオカメラ１００の比較検証部１０８は、検証用データ格納部１０４に格納されている検証用データＡと、検証用応答データ抽出部１０７によって認証用応答データＳから抽出された検証用応答データＢとの比較を行い、検証用応答データＢが検証用データＡに基づいて正しく生成されたものであるか否かを検証する機能を有している。
【００４８】
ここで、図３を参照しながら、検証用応答データＢが検証用データＡに基づいて正しく生成されたものであるか否かを検証するためにビデオカメラ１００の比較検証部１０８で実行されるアルゴリズムについて説明する。図３は、本発明の実施の形態において、検証用応答データＢが検証用データＡに基づいて正しく生成されたものであるか否かを検証するために認証装置で実行されるアルゴリズムの一例を示すフローチャートである。
【００４９】
図３において、比較検証部１０８は、バッテリ２００の検証用応答データ生成部２０３によって実行されるアルゴリズムを把握しており、検証用応答データ抽出部１０７から供給された検証用応答データＢをバイト単位に分割するとともに、さらに、各バイト単位のデータを上位４ビット及び下位４ビットに分割して、図１０に図示されている４つのデータＢ１〜Ｂ４を生成する（ステップＳ５０１）。また、同様に、比較検証部１０８は、検証用データ格納部１０４から読み出した検証用データＡをバイト単位に分割するとともに、さらに、各バイト単位のデータを上位４ビット及び下位４ビットに分割して、図９に図示されている４つのデータＡ１〜Ａ４を生成する（ステップＳ５０３）。
【００５０】
そして、比較検証部１０８は、データＡ１〜Ａ４のそれぞれと、データＢ１〜Ｂ４のそれぞれとの検証を行う。具体的には、比較検証部１０８は、例えば、変数ｕ、変数ｖをそれぞれｕ＝１、ｖ＝１に設定して（ステップＳ５０５、Ｓ５０７）、データＡｕに対して値ｖを加算して加算結果αを取得し（ステップＳ５０９）、この加算結果αと、データＢｕの値とが一致するか否かの比較を行う（ステップＳ５１１）。例えば、最初の演算では、変数ｕ、変数ｖはそれぞれｕ＝１、ｖ＝１に設定されており、ステップＳ５１１では、加算結果α＝データＡ１＋１と、データＢ１の値とが一致するか否かの比較が行われる。なお、バッテリ２００の検証用応答データ生成部２０３におけるデータＢ１〜Ｂ４の生成時と同様に、データＡ１に対して１〜４の値のいずれか１つを加算した値が“１１１１”を超えた場合には、最上位ビットの値は切り捨てられ、下位４ビットを有効な値とする。
【００５１】
なお、検証用データＡ及び検証用応答データＢは同一バイトの大きさを有しており、データＡｕ及びデータＢｕの変数ｕが同一の値である場合には、データＡｕ及びデータＢｕは同一のビット領域に対応している。例えば、ｕ＝１の場合には、データＡ１及びデータＢ１は、それぞれ検証用データＡ及び検証用応答データＢの最初の８ビット領域の値である。
【００５２】
このとき、加算結果αとデータＢｕの値とが一致しない場合（ステップＳ５１１で『いいえ』）には、値ｖが１つインクリメントされて（ステップＳ５１５）、再び、ステップＳ５０９及びＳ５１１の処理が行われる。すなわち、加算結果α＝データＡ１＋１とデータＢ１の値とが一致しなかった場合には、加算結果α＝データＡ１＋２とデータＢ１との値が一致するか否かの比較が行われる。同様に、変数ｖが３、４の値を取る場合に関しても同様の処理が行われ、ｖ＝１〜４のすべての場合において、加算結果α＝データＡ１＋ｖとデータＢ１の値とが一致しなかった場合には、ステップＳ５１３で変数ｖが４に達したか否かの判断を経た後、この検証用応答データＢの検証を不合格として、バッテリ２００の認証を不合格とし、比較検証部１０８は、動作制御部１０９に対して、認証不合格の通知を送出する（ステップＳ５１７）。
【００５３】
一方、加算結果αとデータＢｕの値とが一致した場合（ステップＳ５１１で『はい』）には、データＢｕの検証は合格とみなされて値ｕが１つインクリメントされ（ステップＳ５２１）、同様に、別のデータＢｕに関してデータＡｕとの比較検証が行われる。
【００５４】
具体的には、図６及び図９に図示されている検証用データＡ、図１０及び図１１に図示されている検証用応答データＢの例では、比較検証部１０８は、まず、データＡ１の値“１０１１”に対して１を加算した値“１１００”とデータＢ１の値“１１１１”とを比較する。これらの値は一致しないので、比較検証部１０８は、さらに１を加算した値（データＡ１の値“１０１１”に対して２を加算した値）“１１０１”とデータＢ１の値“１１１１”とを比較する。これらの値は一致しないので、比較検証部１０８は、さらに１を加算した値（データＡ１の値“１０１１”に対して３を加算した値）“１０１１” とデータＢ１の値“１１１１”とを比較する。これらの値は一致しないので、比較検証部１０８は、さらに１を加算した値（データＡ１の値“１０１１”に対して４を加算した値）“１１１１”とデータＢ１の値“１１１１”とを比較する。これらの値は一致するので、比較検証部１０８は、データＢ１の検証を合格とみなして、次にデータＢ２の検証に関しても同様に行う。
【００５５】
そして、変数ｕ＝１〜４のすべての場合において、加算結果α＝データＡｕ＋ｖ（ｖ＝１〜４のいずれかの値）とデータＢｕとが一致した場合（すなわち、データＢ１の値がデータＡ１の値に１を加算した値〜データＡ１の値に４を加算した値の範囲内、データＢ２の値がデータＡ２の値に１を加算した値〜データＡ２の値に４を加算した値の範囲内、データＢ３の値がデータＡ３の値に１を加算した値〜データＡ３の値に４を加算した値の範囲内、データＢ４の値がデータＡ４の値に１を加算した値〜データＡ４の値に４を加算した値の範囲内のすべての条件を満たす場合）には、ステップＳ５１９で変数ｕが４に達したか否かの判断（すなわち、データＡ１〜Ａ４とデータＢ１〜Ｂ４とのすべての対応に関して検証が行われたか否かの判断）を経た後、バッテリ２００の認証を合格とし、比較検証部１０８は、動作制御部１０９に対して、認証合格の通知を送出する（ステップＳ５２３）。
【００５６】
なお、バッテリ２００の検証用応答データ生成部２０３でデータＢ１〜Ｂ４を生成する際に、データＡ１〜Ａ４のそれぞれに対して加算する値を仕様によって固定値に定めておき、ビデオカメラ１００の比較検証部１０８が、データＡ１〜Ａ４のそれぞれに対して固定値を加算することによってデータＢ１〜Ｂ４のそれぞれとの一致を検証することも可能である。一方、上述のように、バッテリ２００の検証用応答データ生成部２０３がデータＡ１〜Ａ４のそれぞれに対して加算する値を所定の範囲内の乱数ｒ１〜ｒ４にして、比較検証部１０８において、データＢ１〜Ｂ４のそれぞれと、データＡ１〜Ａ４のそれぞれに対して、ある範囲内の値を加算した値との一致を検証した場合には、バッテリ２００の認証が合格とみなされる解が複数成立することになる。このように、複数の解のいずれか１つに適合している場合に認証が合格とみなされるようにすることにより、認証に合格する解が得られる規則性の推測を困難にし、当該認証において用いられているアルゴリズムの解読や、認証用データ又は認証用応答データの不正な作成を防ぐことが可能となる。
【００５７】
また、ビデオカメラ１００の動作制御部１０９は、比較検証部１０８からの認証合格又は認証不合格の通知に応じて、ビデオカメラ１００の動作制御を行う機能を有している。比較検証部１０８から認証合格の通知を受けた場合には、動作制御部１０９は、ビデオカメラ１００とバッテリ２００との間の接続を動作させて、バッテリ２００からビデオカメラ１００への給電が正常に行われるように制御する。一方、比較検証部１０８から認証不合格の通知を受けた場合には、動作制御部１０９は、バッテリ２００からビデオカメラ１００への給電が行われないように、ビデオカメラ１００又はバッテリ２００の動作制御を行うとともに、バッテリ２００の認証に失敗した旨を報知する。この報知の一態様としては、例えば、図１４に図示されているように、ビデオカメラ１００のディスプレイ上に、ビデオカメラ１００とバッテリ２００との通信にエラーが生じた旨を表示する。
【００５８】
次に、図４を参照しながら、本発明に係るビデオカメラ１００とバッテリ２００との間で行われる通信動作の一例について説明する。図４は、本発明の実施の形態における認証装置及び被認証装置の通信動作の一例を示すシーケンスチャートである。
【００５９】
図４において、バッテリ２００との物理的な接続を検知したビデオカメラ１００は、まず、認証用基底データ生成部１０１で、例えば４バイトの認証用基底データＰを生成し（ステップＳ３０１）、検証用データ生成部１０２で、例えば２バイトの検証用データＡを生成する（ステップＳ３０３）。これらの認証用基底データＰ及び検証用データＡは、認証用データ生成部１０３に送られるとともに、検証用データＡは、検証用データ格納部１０４に格納される（ステップＳ３０５）。
【００６０】
次に、ビデオカメラ１００の認証用データ生成部１０３は、上述のように、仕様によって定められた埋め込みパターンに基づいて認証用基底データＰに検証用データＡを埋め込んで、４バイトの認証用データＱを生成し（ステップＳ３０７）、この認証用データＱを認証用データ送信部１０５からバッテリ２００に送信する（ステップＳ３０９）。
【００６１】
ステップＳ３０９でビデオカメラ１００から送信された認証用データＱを認証用データ受信部２０１で受信したバッテリ２００は、検証用データ抽出部２０２において、仕様によって定められた埋め込みパターンに基づいて認証用データＱから検証用データＡを抽出し（ステップＳ３１１）、検証用応答データ生成部２０３において、抽出された検証用データＡに対して所定のアルゴリズムによる演算を行って、２バイトの検証用応答データＢを生成する（ステップＳ３１３）。なお、検証用応答データＢは、例えば、上述のように、検証用データＡを４ビット単位で４分割し、分割された４つの４ビット単位のデータに対して所定の範囲（１〜４）の乱数を加算した後、再び２バイトのデータに結合されたものである。
【００６２】
また、バッテリ２００は、応答用基底データ生成部２０４で、例えば４バイトの応答用基底データＲを生成する（ステップＳ３１５）。そして、バッテリ２００の認証用応答データ生成部２０５は、上述のように、仕様によって定められた埋め込みパターン（この埋め込みパターンは、ステップＳ３０７、Ｓ３１１で参照された埋め込みパターンと異なっていてもよい）に基づいて応答用基底データＲに検証用応答データＢを埋め込んで、４バイトの認証用応答データＳを生成し（ステップＳ３１７）、この認証用応答データＳを認証用応答データ送信部２０６からビデオカメラ１００に送信する（ステップＳ３１９）。
【００６３】
ステップＳ３１９でバッテリ２００から送信された認証用応答データＳを認証用応答データ受信部１０６で受信したビデオカメラ１００は、検証用応答データ抽出部１０７において、仕様によって定められた埋め込みパターンに基づいて認証用応答データＳから検証用応答データＢを抽出する（ステップＳ３２１）。ビデオカメラ１００の比較検証部１０８は、ステップＳ３０５で検証用データ格納部１０４に格納された検証用データＡと、検証用応答データ抽出部１０７で抽出された検証用応答データＢとを比較検証することによって、検証用応答データＢが、検証用データＡに基づいて生成されたものであるか否かを判断し、バッテリ２００の認証を行う（ステップＳ３２３）。なお、検証用応答データＢの検証では、例えば、上述のように、検証用データＡ及び検証用応答データＢをそれぞれ４ビット単位で４分割して、データＡ１〜Ａ４とデータＢ１〜Ｂ４とを生成し、データＢ１〜Ｂ４のそれぞれが、データＡ１〜Ａ４のそれぞれに対して１〜４を加算した値のいずれか１つの値に一致するか否かが判断される。
【００６４】
そして、比較検証部１０８は、バッテリ２００に対する認証の合格又は不合格を決定し、この認証結果に応じて、動作制御部１０９がビデオカメラ１００及び／又はバッテリ２００の動作制御を行う（ステップＳ３２５）。
【００６５】
以上、説明したように、本発明の実施の形態によれば、認証装置と被認証装置との間で認証処理が行われる際に、認証装置及び被認証装置は、単純な演算処理を実行することによってデータの生成や検証を行うことが可能となる。また、所定の埋め込みパターンに基づいて、ダミーのビットを構成する基底データ（認証用基底データＰ又は応答用基底データＲ）内に、認証処理に必要となるデータ（検証用データＡ又は検証用応答データＢ）が埋め込まれることによって、認証装置と被認証装置との間で伝送されるデータ（認証用データＱ又は認証用応答データＳ）が生成されることにより、第三者が、認証処理に必要となるデータを盗取することを困難にすることが可能となる。また、例えば、被認証装置は、検証用データＡを４ビット単位で４分割したデータに対して、所定の範囲の乱数を加算して検証用応答データＢを生成することによって、検証用データＡに対して一意に対応した検証用応答データＢを生成するのではなく、ある範囲の検証用応答データＢを生成することが可能となり、検証用データＡから検証用応答データＢを生成する際の規則性が容易に解読されないようにすることが可能となる。
【産業上の利用可能性】
【００６６】
本発明は、処理負荷の大きい大規模な機能を導入せずに、小規模の演算処理のみで、第三者による暗号解読や伝送データの模倣などの攻撃に対して強固な耐性を有する認証処理を実現できるという効果を有しており、主装置に接続する副装置が、正規の装置（純正品）であるか否かを確認するための認証処理技術に適用可能である。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施の形態における認証装置及び被認証装置が有する機能の一例を模式的に示す機能ブロック図である。
【図２】本発明の実施の形態において、検証用データＡから検証用応答データＢを生成するために被認証装置で実行されるアルゴリズムの一例を示すフローチャートである。
【図３】本発明の実施の形態において、検証用応答データＢが検証用データＡに基づいて正しく生成されたものであるか否かを検証するために認証装置で実行されるアルゴリズムの一例を示すフローチャートである。
【図４】本発明の実施の形態における認証装置及び被認証装置の通信動作の一例を示すシーケンスチャートである。
【図５】本発明の実施の形態における認証装置で生成される認証用基底データＰの一例を示す図である。
【図６】本発明の実施の形態における認証装置で生成される検証用データＡの一例を示す図である。
【図７】本発明の実施の形態における認証装置で認証用データＱの生成の際に使用される埋め込みパターンの一例を示す図である。
【図８】本発明の実施の形態における認証装置で生成される認証用データＱの一例を示す図である。
【図９】本発明の実施の形態における被認証装置で生成される、検証用データＡが４ビットに分割されたデータＡ１〜Ａ４の一例を示す図である。
【図１０】本発明の実施の形態における被認証装置で生成される、データＡ１〜Ａ４に乱数ｒ１〜ｒ４が加算されたデータＢ１〜Ｂ４の一例を示す図である。
【図１１】本発明の実施の形態における被認証装置で生成される検証用応答データＢの一例を示す図である。
【図１２】本発明の実施の形態における被認証装置で生成される応答用基底データＲの一例を示す図である。
【図１３】本発明の実施の形態における被認証装置で生成される認証用応答データＳの一例を示す図である。
【図１４】本発明の実施の形態における認証装置で、被認証装置の認証が不合格に終わった際にディスプレイ上に表示される表示画面の一例を示す図である。
【符号の説明】
【００６８】
１００  ビデオカメラ（認証装置）
１０１  認証用基底データ生成部
１０２  検証用データ生成部
１０３  認証用データ生成部
１０４  検証用データ格納部
１０５  認証用データ送信部
１０６  認証用応答データ受信部
１０７  検証用応答データ抽出部
１０８  比較検証部
１０９  動作制御部
２００  バッテリ（被認証装置）
２０１  認証用データ受信部
２０２  検証用データ抽出部
２０３  検証用応答データ生成部
２０４  応答用基底データ生成部
２０５  認証用応答データ生成部
２０６  認証用応答データ送信部
【図１】
2007067680.tif 000003
【図２】
2007067680.tif 000004
【図３】
2007067680.tif 000005
【図４】
2007067680.tif 000006
【図５】
2007067680.tif 000007
【図６】
2007067680.tif 000008
【図７】
2007067680.tif 000009
【図８】
2007067680.tif 000010
【図９】
2007067680.tif 000011
【図１０】
2007067680.tif 000012
【図１１】
2007067680.tif 000013
【図１２】
2007067680.tif 000014
【図１３】
2007067680.tif 000015
【図１４】
2007067680.tif 000016