(57)【要約】【課題】  認証する側に乱数を発生させる機能を持たせることができない場合であっても安全な認証機能を保つことを目的とする。【解決手段】  第１の情報と第２の情報とを外部装置から入力する入力部１１１と、入力された第１の情報を演算して第１の情報とは異なる第３の情報を生成する加算器１４０と、演算され生成された第３の情報を所定の暗号鍵情報を用いて暗号化して第４の情報を生成するエンコーダ１３０と、上記外部装置が上記第２の情報を生成するために上記加算器１４０により演算され生成された第３の情報を上記外部装置に出力する出力部１１２と、上記入力部１１１により入力された第２の情報と上記エンコーダ１３０により暗号化された結果生成された第４の情報とが一致するかどうかを判断する比較器１５０と、上記比較器１５０により一致すると判断された場合に、上記外部装置を認証する認証部１８０とを備えたことを特徴とする。【選択図】        図１
2005094089.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報と第２の情報とを外部装置から入力する入力部と、
上記入力部により入力された第１の情報を演算して第１の情報とは異なる第３の情報を生成する演算部と、
上記演算部により演算され生成された第３の情報を所定の暗号鍵情報を用いて暗号化して第４の情報を生成する暗号化部と、
上記外部装置が上記第２の情報を生成するために上記演算部により演算され生成された第３の情報を上記外部装置に出力する出力部と、
上記入力部により入力された第２の情報と上記暗号化部により暗号化された結果生成された第４の情報とが一致するかどうかを判断する判断部と、
上記判断部により一致すると判断された場合に、上記外部装置を認証する認証部と
を備えたことを特徴とする認証装置。
【請求項２】
上記第１の情報は、不規則に生成された乱数値情報を有することを特徴とする請求項１記載の認証装置。
【請求項３】
上記乱数値情報は、上記外部装置において生成されることを特徴とする請求項２記載の認証装置。
【請求項４】
上記入力部は、複数の第１の情報を入力し、
上記演算部は、上記複数の第１の情報が同じ情報であっても、上記入力部により上記複数の第１の情報の各第１の情報が入力される毎に上記複数の第１の情報の各第１の情報を演算することにより異なる第３の情報を生成することを特徴とする請求項１記載の認証装置。
【請求項５】
上記認証装置は、チャレンジ＆レスポンス方式により上記外部装置を認証し、
上記出力部は、チャレンジ情報として第３の情報を上記外部装置に出力し、
上記外部装置は、上記出力部により出力された第３の情報を上記所定の暗号鍵情報を用いて暗号化して上記第２の情報を生成し、
上記入力部は、レスポンス情報として上記外部装置により暗号化された結果生成された上記第２の情報を入力することを特徴とする請求項１記載の認証装置。
【請求項６】
チャレンジ＆レスポンス方式を用いて認証装置から認証を受ける被認証装置であって、
乱数を生成する乱数生成部と、
上記乱数生成部により生成された乱数を乱数情報として上記認証装置に出力する出力部と、
上記認証装置から上記乱数情報に基づくチャレンジ情報を入力する入力部と、
上記入力部により入力されたチャレンジ情報を所定の暗号鍵情報を用いて暗号化してレスポンス情報を生成する暗号化部と、
上記認証装置により認証を受けるために上記暗号化部により暗号化された結果生成されたレスポンス情報を上記認証装置に出力する出力部と
を備えたことを特徴とする被認証装置。
【請求項７】
チャレンジ＆レスポンス方式を用いて外部装置との間で相互認証をおこなう認証装置であって、
乱数を生成する乱数生成部と、
上記乱数生成部により生成された乱数を乱数情報として上記外部装置に出力する出力部と、
上記外部装置から上記乱数情報に基づくチャレンジ情報を入力する入力部と、
上記入力部により入力されたチャレンジ情報を所定の暗号鍵情報を用いて暗号化してレスポンス情報を生成する暗号化部と、
上記外部装置により認証を受けるために上記暗号化部により暗号化された結果生成されたレスポンス情報を上記認証装置に出力する出力部と
を備え、
上記暗号化部は、上記乱数生成部により生成された乱数を所定の暗号鍵情報を用いて暗号化して上記外部装置を認証するための認証確認用に用いる認証確認用情報を生成し、
上記入力部は、さらに、上記外部装置から上記外部装置を認証するための上記乱数情報に基づくレスポンス情報を入力し、
上記被認証装置は、さらに、上記入力部により入力されたレスポンス情報と上記暗号化部により暗号化された結果生成された認証確認用情報とが一致するかどうかを判断する判断部と、
上記判断部により一致すると判断された場合に、上記外部装置を認証する認証部と
を備えたことを特徴とする認証装置。
【請求項８】
チャレンジ＆レスポンス方式を用いて外部装置との間で相互認証をおこなう認証装置であって、
外部装置により生成された乱数を第１のチャレンジ情報として入力する入力部と、
上記入力部により入力された第１のチャレンジ情報としての乱数を所定の暗号鍵情報を用いて暗号化して上記外部装置から認証を受けるための第１のレスポンス情報を生成する暗号化部と、
上記暗号化部により暗号化された結果生成された第１のレスポンス情報を上記外部装置に出力する出力部と、
上記入力部により入力された第１のチャレンジ情報としての乱数を演算して第１のチャレンジ情報とは異なる第２のチャレンジ情報を生成する演算部と、
上記演算部により演算され生成された第２のチャレンジ情報を所定の暗号鍵情報を用いて暗号化して上記外部装置を認証するための認証確認用に用いる認証確認用情報を生成する暗号化部と
を備え、
上記出力部は、上記外部装置が上記認証装置から認証を受けるための第２のレスポンス情報を生成するために上記演算部により演算され生成された第２のチャレンジ情報を上記外部装置に出力し、
上記入力部は、上記外部装置から上記第２のレスポンス情報を入力し、
上記認証装置は、さらに、
上記入力部により入力された第２のレスポンス情報と上記暗号化部により暗号化された結果生成された認証確認用情報とが一致するかどうかを判断する判断部と、
上記判断部により一致すると判断された場合に、上記外部装置を認証する認証部と
を備えたことを特徴とする認証装置。
【請求項９】
第１と第２の通信装置間でチャレンジ＆レスポンス方式を用いて相互認証をおこなう相互認証システムであって、
第１と第２の通信装置の少なくとも一方に乱数を生成する能力を有するかどうかを判定する能力判定部を備え、
上記相互認証システムは、上記能力判定部により乱数を生成する能力を有すると判定された第１と第２の通信装置のうちの一方から他方の通信装置へ一方の通信装置により生成された乱数を乱数情報として出力し、出力された乱数情報に基づいて、第１と第２の通信装置間で相互認証をおこなうことを特徴とする相互認証システム。
【請求項１０】
第１の情報と第２の情報とを外部装置から入力する入力工程と、
上記入力工程により入力された第１の情報を演算して第１の情報とは異なる第３の情報を生成する演算工程と、
上記演算工程により演算され生成された第３の情報を所定の暗号鍵情報を用いて暗号化して第４の情報を生成する暗号化工程と、
上記外部装置が上記第２の情報を生成するために上記演算工程により演算され生成された第３の情報を上記外部装置に出力する出力工程と、
上記入力工程により入力された第２の情報と上記暗号化工程により暗号化された結果生成された第４の情報とが一致するかどうかを判断する判断工程と、
上記判断工程により一致すると判断された場合に、上記外部装置を認証する認証工程と
を備えたことを特徴とする認証方法。
【請求項１１】
チャレンジ＆レスポンス方式を用いて認証装置から認証を受ける被認証方法であって、
乱数を生成する乱数生成工程と、
上記乱数生成工程により生成された乱数を乱数情報として上記認証装置に出力する出力工程と、
上記認証装置から上記乱数情報に基づくチャレンジ情報を入力する入力工程と、
上記入力工程により入力されたチャレンジ情報を所定の暗号鍵情報を用いて暗号化してレスポンス情報を生成する暗号化工程と、
上記認証装置により認証を受けるために上記暗号化工程により暗号化された結果生成されたレスポンス情報を上記認証装置に出力する出力工程と
を備えたことを特徴とする被認証方法。
【請求項１２】
チャレンジ＆レスポンス方式を用いて外部装置との間で相互認証をおこなう認証方法であって、
乱数を生成する乱数生成工程と、
上記乱数生成工程により生成された乱数を第１のチャレンジ情報として上記外部装置に出力する第１の出力工程と、
上記乱数生成工程により生成された乱数を所定の暗号鍵情報を用いて暗号化して上記認証装置を認証するための認証確認用に用いる認証確認用情報を生成する第１の暗号化工程と、
上記外部装置から上記外部装置を認証するための上記第１のチャレンジ情報に基づく第１のレスポンス情報を入力する第１の入力工程と、
上記第１の入力工程により入力された第１のレスポンス情報と上記第１の暗号化工程により暗号化された結果生成された認証確認用情報とが一致するかどうかを判断する判断工程と、
上記判断工程により一致すると判断された場合に、上記外部装置を認証する認証工程と、
上記外部装置から上記第１の出力工程により出力された上記第１のチャレンジ情報に基づく第２のチャレンジ情報を入力する第２の入力工程と、
上記第２の入力工程により入力された第２のチャレンジ情報を所定の暗号鍵情報を用いて暗号化して第２のレスポンス情報を生成する第２の暗号化工程と、
上記外部装置により認証を受けるために上記第２の暗号化工程により暗号化された結果生成された第２のレスポンス情報を上記外部装置に出力する第２の出力工程と
を備えたことを特徴とする認証方法。
【請求項１３】
チャレンジ＆レスポンス方式を用いて外部装置との間で相互認証をおこなう認証方法であって、
外部装置により生成された乱数を第１のチャレンジ情報として入力する第１の入力工程と、
上記第１の入力工程により入力された第１のチャレンジ情報としての乱数を所定の暗号鍵情報を用いて暗号化して上記外部装置から認証を受けるための第１のレスポンス情報を生成する第１の暗号化工程と、
上記第１の暗号化工程により暗号化された結果生成された第１のレスポンス情報を上記外部装置から認証を受けるために上記外部装置に出力する第１の出力工程と、
上記第１の入力工程により入力された第１のチャレンジ情報としての乱数を演算して第１のチャレンジ情報とは異なる第２のチャレンジ情報を生成する演算工程と、
上記演算工程により演算され生成された第２のチャレンジ情報を所定の暗号鍵情報を用いて暗号化して上記外部装置を認証するための認証確認用に用いる認証確認用情報を生成する第２の暗号化工程と、
上記外部装置が認証を受けるための第２のレスポンス情報を生成するために上記演算工程により演算され生成された第２のチャレンジ情報を上記外部装置に出力する第２の出力工程と、
上記外部装置から上記第２のレスポンス情報を入力する第２の入力工程と、
上記第２の入力工程により入力された第２のレスポンス情報と上記第２の暗号化工程により暗号化された結果生成された認証確認用情報とが一致するかどうかを判断する判断工程と、
上記判断工程により一致すると判断された場合に、上記外部装置を認証する認証工程と
を備えたことを特徴とする認証方法。
【請求項１４】
第１の情報と第２の情報とを外部装置から入力する入力処理と、
上記入力処理により入力された第１の情報を演算して第１の情報とは異なる第３の情報を生成する演算処理と、
上記演算処理により演算され生成された第３の情報を所定の暗号鍵情報を用いて暗号化して第４の情報を生成する暗号化処理と、
上記外部装置が上記第２の情報を生成するために上記演算処理により演算され生成された第３の情報を上記外部装置に出力する出力処理と、
上記入力処理により入力された第２の情報と上記暗号化処理により暗号化された結果生成された第４の情報とが一致するかどうかを判断する判断処理と、
上記判断処理により一致すると判断された場合に、上記外部装置を認証する認証処理と
をコンピュータに実行させるプログラムまたは上記プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１５】
チャレンジ＆レスポンス方式を用いて認証装置から認証を受ける被認証処理をコンピュータに実行させるプログラムまたは上記プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
乱数を生成する乱数生成処理と、
上記乱数生成処理により生成された乱数を乱数情報として上記認証装置に出力する出力処理と、
上記認証装置から上記乱数情報に基づくチャレンジ情報を入力する入力処理と、
上記入力処理により入力されたチャレンジ情報を所定の暗号鍵情報を用いて暗号化してレスポンス情報を生成する暗号化処理と、
上記認証装置により認証を受けるために上記暗号化処理により暗号化された結果生成されたレスポンス情報を上記認証装置に出力する出力処理と
をコンピュータに実行させるプログラムまたは上記プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１６】
チャレンジ＆レスポンス方式を用いて外部装置との間で相互認証をおこなう認証処理をコンピュータに実行させるプログラムまたは上記プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
乱数を生成する乱数生成処理と、
上記乱数生成処理により生成された乱数を第１のチャレンジ情報として上記外部装置に出力する第１の出力処理と、
上記乱数生成処理により生成された乱数を所定の暗号鍵情報を用いて暗号化して上記認証装置を認証するための認証確認用に用いる認証確認用情報を生成する第１の暗号化処理と、
上記外部装置から上記外部装置を認証するための上記第１のチャレンジ情報に基づく第１のレスポンス情報を入力する第１の入力処理と、
上記第１の入力処理により入力された第１のレスポンス情報と上記第１の暗号化処理により暗号化された結果生成された認証確認用情報とが一致するかどうかを判断する判断処理と、
上記判断処理により一致すると判断された場合に、上記外部装置を認証する認証処理と、
上記外部装置から上記第１の出力処理により出力された上記第１のチャレンジ情報に基づく第２のチャレンジ情報を入力する第２の入力処理と、
上記第２の入力処理により入力された第２のチャレンジ情報を所定の暗号鍵情報を用いて暗号化して第２のレスポンス情報を生成する第２の暗号化処理と、
上記外部装置により認証を受けるために上記第２の暗号化処理により暗号化された結果生成された第２のレスポンス情報を上記外部装置に出力する第２の出力処理と
をコンピュータに実行させるプログラムまたは上記プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１７】
チャレンジ＆レスポンス方式を用いて外部装置との間で相互認証をおこなう認証処理をコンピュータに実行させるプログラムまたは上記プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
外部装置により生成された乱数を第１のチャレンジ情報として入力する第１の入力処理と、
上記第１の入力処理により入力された第１のチャレンジ情報としての乱数を所定の暗号鍵情報を用いて暗号化して上記外部装置から認証を受けるための第１のレスポンス情報を生成する第１の暗号化処理と、
上記第１の暗号化処理により暗号化された結果生成された第１のレスポンス情報を上記外部装置から認証を受けるために上記外部装置に出力する第１の出力処理と、
上記第１の入力処理により入力された第１のチャレンジ情報としての乱数を演算して第１のチャレンジ情報とは異なる第２のチャレンジ情報を生成する演算処理と、
上記演算処理により演算され生成された第２のチャレンジ情報を所定の暗号鍵情報を用いて暗号化して上記外部装置を認証するための認証確認用に用いる認証確認用情報を生成する第２の暗号化処理と、
上記外部装置が認証を受けるための第２のレスポンス情報を生成するために上記演算処理により演算され生成された第２のチャレンジ情報を上記外部装置に出力する第２の出力処理と、
上記外部装置から上記第２のレスポンス情報を入力する第２の入力処理と、
上記第２の入力処理により入力された第２のレスポンス情報と上記第２の暗号化処理により暗号化された結果生成された認証確認用情報とが一致するかどうかを判断する判断処理と、
上記判断処理により一致すると判断された場合に、上記外部装置を認証する認証処理と
をコンピュータに実行させるプログラムまたは上記プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証装置、被認証装置、認証システム、認証方法、被認証方法、プログラムまたはプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。特に、少リソースな、組込機器、家電品、携帯機器に用いられる認証及び被認証装置等に関するものである。
【背景技術】
【０００２】
チャレンジ＆（アンド）レスポンス方式を用いた認証方式として、認証する側（サーバ）で乱数を発生させ、これを認証される側（クライアント）へのチャレンジに用いる技術が紹介されている（非特許文献１参照）。
【０００３】
また、認証する側（ＶＥＮＤＩＮＧ  ＭＡＣＨＩＮＥ）で乱数を発生させている技術として非特許文献２が紹介されている（非特許文献２参照）。
【０００４】
また、一般的な乱数生成の技術として、自装置内で乱数生成を行い、外部からの解析にも耐えるための手段が開示されている（特許文献１参照）。
【０００５】
また、直近の乱数のやり取りを覚えておき、使った乱数値を使わないようにすることで認証の安全性を高めようとする方法が開示されている（特許文献２参照）。
【０００６】
また、少ないリソースで乱数生成を実現しようとするもので、自装置内で乱数生成する手段が開示されている（特許文献３参照）。
【特許文献１】特開２０００−２４２４７０号公報
【特許文献２】特開２００１−１７７５１９号公報
【特許文献３】特開平１０−２４７１４０号公報
【非特許文献１】大橋巧著  「ユーザ認証」，牧野内研究室「インターネット実習」Ｗｅｂページ，ｈｔｔｐ：／／ｗｗｗ．ｄｂ．ｉｓ．ｋｙｕｓｈｕ−ｕ．ａｃ．ｊｐ／ｒｉｎｋｏｕ／ｉｎｔｅｒｎｅｔ／ｂ−８．ｐｐｔ  （１３ページ目）
【非特許文献２】「ＳＨＡ−１を使った電子取引の安全保証」，ｈｔｔｐ：／／ｐｄｆｓｅｒｖ．ｍａｘｉｍ−ｉｃ．ｃｏｍ／ａｒｐｄｆ／ＡｐｐＮｏｔｅｓ／ＡＤ０１１５Ｊ．ｐｄｆ  （２ページ目，図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、既に存在している機器に対して認証機能を付与する場合や、限られたリソースで認証機能を実現しなければならない場合では、必ずしも認証する側に乱数を発生させる機能を持たせることができない場合があるといった問題があった。例えば、デジタルカメラに用いるバッテリを例に挙げれば、品質が劣るいわゆるオフブランド製品としてのバッテリがオフブランドメーカーにより生産され、巷に出回っている。このオフブランド製品を排除するためには、デジタルカメラがバッテリを認証することが有効である。そして、認証されたバッテリのみをデジタルカメラが電源として用いるようになれば、このオフブランド製品を排除することができる。ここで、デジタルカメラに認証機能を搭載する場合、上記非特許文献１，２のような認証側であるデジタルカメラに乱数を発生させるように構成するには、リソースが限定されたデジタルカメラにとって不都合である。しかし、チャレンジ＆レスポンス方式の認証方式において、チャレンジを出力する認証側で不規則なチャレンジ情報を出力できないとすると、悪意の攻撃者（例えば、上記オフブランドメーカー）によりレスポンス情報を見抜かれてしまうおそれがあるといった問題があった。チャレンジ情報と対応するレスポンス情報とを見抜かれてしまうといわゆるリピート攻撃の対象となってしまう。
【０００８】
本発明は、認証する側に乱数を発生させる機能を持たせることができない場合であっても安全な認証機能を保つことを目的とする。
【０００９】
また、本発明は、偽者かもしれない被認証側からの情報に基づいてチャレンジ＆レスポンス方式の認証方式を用いた場合でも安全な認証機能を保つことを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係る認証装置は、第１の情報と第２の情報とを外部装置から入力する入力部と、
上記入力部により入力された第１の情報を演算して第１の情報とは異なる第３の情報を生成する演算部と、
上記演算部により演算され生成された第３の情報を所定の暗号鍵情報を用いて暗号化して第４の情報を生成する暗号化部と、
上記外部装置が上記第２の情報を生成するために上記演算部により演算され生成された第３の情報を上記外部装置に出力する出力部と、
上記入力部により入力された第２の情報と上記暗号化部により暗号化された結果生成された第４の情報とが一致するかどうかを判断する判断部と、
上記判断部により一致すると判断された場合に、上記外部装置を認証する認証部と
を備えたことを特徴とする。
【００１１】
この発明に係る被認証装置は、チャレンジ＆レスポンス方式を用いて認証装置から認証を受ける被認証装置であって、
乱数を生成する乱数生成部と、
上記乱数生成部により生成された乱数を乱数情報として上記認証装置に出力する出力部と、
上記認証装置から上記乱数情報に基づくチャレンジ情報を入力する入力部と、
上記入力部により入力されたチャレンジ情報を所定の暗号鍵情報を用いて暗号化してレスポンス情報を生成する暗号化部と、
上記認証装置により認証を受けるために上記暗号化部により暗号化された結果生成されたレスポンス情報を上記認証装置に出力する出力部と
を備えたことを特徴とする。
【００１２】
この発明に係る認証装置は、チャレンジ＆レスポンス方式を用いて外部装置との間で相互認証をおこなう認証装置であって、
乱数を生成する乱数生成部と、
上記乱数生成部により生成された乱数を乱数情報として上記外部装置に出力する出力部と、
上記外部装置から上記乱数情報に基づくチャレンジ情報を入力する入力部と、
上記入力部により入力されたチャレンジ情報を所定の暗号鍵情報を用いて暗号化してレスポンス情報を生成する暗号化部と、
上記外部装置により認証を受けるために上記暗号化部により暗号化された結果生成されたレスポンス情報を上記認証装置に出力する出力部と
を備え、
上記暗号化部は、上記乱数生成部により生成された乱数を所定の暗号鍵情報を用いて暗号化して上記外部装置を認証するための認証確認用に用いる認証確認用情報を生成し、
上記入力部は、さらに、上記外部装置から上記外部装置を認証するための上記乱数情報に基づくレスポンス情報を入力し、
上記被認証装置は、さらに、上記入力部により入力されたレスポンス情報と上記暗号化部により暗号化された結果生成された認証確認用情報とが一致するかどうかを判断する判断部と、
上記判断部により一致すると判断された場合に、上記外部装置を認証する認証部と
を備えたことを特徴とする。
【００１３】
この発明に係る認証装置は、チャレンジ＆レスポンス方式を用いて外部装置との間で相互認証をおこなう認証装置であって、
外部装置により生成された乱数を第１のチャレンジ情報として入力する入力部と、
上記入力部により入力された第１のチャレンジ情報としての乱数を所定の暗号鍵情報を用いて暗号化して上記外部装置から認証を受けるための第１のレスポンス情報を生成する暗号化部と、
上記暗号化部により暗号化された結果生成された第１のレスポンス情報を上記外部装置に出力する出力部と、
上記入力部により入力された第１のチャレンジ情報としての乱数を演算して第１のチャレンジ情報とは異なる第２のチャレンジ情報を生成する演算部と、
上記演算部により演算され生成された第２のチャレンジ情報を所定の暗号鍵情報を用いて暗号化して上記外部装置を認証するための認証確認用に用いる認証確認用情報を生成する暗号化部と
を備え、
上記出力部は、上記外部装置が上記認証装置から認証を受けるための第２のレスポンス情報を生成するために上記演算部により演算され生成された第２のチャレンジ情報を上記外部装置に出力し、
上記入力部は、上記外部装置から上記第２のレスポンス情報を入力し、
上記認証装置は、さらに、
上記入力部により入力された第２のレスポンス情報と上記暗号化部により暗号化された結果生成された認証確認用情報とが一致するかどうかを判断する判断部と、
上記判断部により一致すると判断された場合に、上記外部装置を認証する認証部と
を備えたことを特徴とする。
【００１４】
この発明に係る相互認証システムは、第１と第２の通信装置間でチャレンジ＆レスポンス方式を用いて相互認証をおこなう相互認証システムであって、
第１と第２の通信装置の少なくとも一方に乱数を生成する能力を有するかどうかを判定する能力判定部を備え、
上記相互認証システムは、上記能力判定部により乱数を生成する能力を有すると判定された第１と第２の通信装置のうちの一方から他方の通信装置へ一方の通信装置により生成された乱数を乱数情報として出力し、出力された乱数情報に基づいて、第１と第２の通信装置間で相互認証をおこなうことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、認証する側に乱数を発生させる機能を持たせることができない場合であっても安全な認証機能を保つことができる。
【００１６】
本発明によれば、被認証側から乱数を得る構成としても安全な認証機能を保つことができる。
【００１７】
本発明によれば、偽者かもしれない被認証側からの情報に基づいてチャレンジ＆レスポンス方式の認証方式を用いた場合でも安全な認証機能を保つことができる。
【００１８】
本発明によれば、リソースに負担となる乱数発生装置を持たない認証装置であって、チャレンジ＆レスポンス方式を用いた場合でも、被認証装置について安全な認証機能を保って認証をおこなう認証装置を提供することができる。
【００１９】
本発明によれば、チャレンジ＆レスポンス方式を用いた場合でも認証装置から安全な認証機能を保って認証を受ける被認証装置を提供することができる。
【００２０】
本発明によれば、一方に乱数発生機能を持った装置間でチャレンジ＆レスポンス方式を用いた場合でも安全な認証機能を保って相互認証をおこなうことができる。
【発明を実施するための最良の形態】
【００２１】
実施の形態１．
まず、上記非特許文献１，２の一般的な認証方式では、認証を行なう側で乱数を発生させ、これを被認証側にチャレンジとして送り、認証側と被認証側とのそれぞれが持つ共通鍵でチャレンジを暗号化処理し、被認証側からレスポンスとして返された暗号化処理結果を認証側で比較することで被認証側が正しい機器であるか否かを判定する。この場合、認証処理毎にチャレンジの値が異なるため、機器間の通信を傍受されることによるいわゆるリピート攻撃の影響は受けない。
【００２２】
図１は、実施の形態１における構成を示す図である。
【００２３】
図１において、認証装置１００は、通信部１１０、エンコーダ１３０（暗号化部の一例である）、加算器１４０（演算部、演算部の一例である）、比較器１５０（判断部の一例である）、認証部１８０を備えている。通信部１１０は、入力部１１１、出力部１１２を有している。その他の構成は省略している。
【００２４】
被認証装置２００は、通信部２１０、エンコーダ２３０（暗号化部の一例である）、乱数発生器２６０（乱数生成部の一例である）を備えている。通信部２１０は、入力部２１１、出力部２１２を有している。その他の構成は省略している。
【００２５】
図２は、実施の形態１における各装置の認証手順を示すフローチャート図である。
【００２６】
乱数生成工程として、チャレンジ＆レスポンス方式を用いて認証装置１００から認証を受ける被認証装置２００の乱数発生器２６０（図２におけるＲＮＧ）は、乱数を生成する。
【００２７】
被認証装置２００側からの第１の出力工程として、上記乱数発生器２６０により生成された乱数を乱数情報として上記認証装置１００に出力する。
【００２８】
認証装置１００側における第１の入力工程として、入力部１１１は、第１の情報の一例としての乱数情報を認証装置１００にとって外部装置となる被認証装置２００から入力する。言い換えれば、上記第１の情報は、不規則に生成された乱数値情報を有する。そして、上記乱数値情報は、認証装置１００にとって外部装置となる被認証装置２００において生成される。
【００２９】
認証装置１００側における演算工程として、加算器１４０（図２における演算Ｘ）は、上記入力部１１１により入力された第１の情報の一例としての乱数情報を演算して第１の情報とは異なる第３の情報の一例となるチャレンジ情報を生成する。（言い換えれば、加算器１４０は、上記入力部１１１により入力された第１の情報の一例としての乱数情報を第１の情報とは異なる第３の情報の一例となるチャレンジ情報に変換する。）ここでは、一例として、加算器１４０が、乱数情報に所定の値を加算（演算）することでチャレンジ情報を生成する。ここで、上記入力部１１１は、複数の第１の情報を入力し、上記加算器１４０は、上記複数の第１の情報が同じ情報であっても、上記入力部１１１により上記複数の第１の情報の各第１の情報が入力される毎に上記複数の第１の情報の各第１の情報を演算することによって異なる第３の情報を生成する。すなわち、悪意の被認証者によって行なわれるかも知れない同一値の入力による同一チャレンジ値及び対となるレスポンス値の傍受を排除するために、加算器１４０が加算する所定の値は、以下に説明するように認証工程毎に異なる値を用いる。
【００３０】
認証装置１００側における暗号化工程として、エンコーダ１３０（図２におけるＥＮＣ）は、上記加算器１４０により演算され生成された第３の情報の一例となるチャレンジ情報を所定の暗号鍵情報の一例である共通鍵を用いて暗号化して上記外部装置となる被認証装置２００を認証するための認証確認用に用いる第４の情報の一例となる認証確認用情報を生成する。
【００３１】
認証装置１００側における出力工程として、出力部１１２は、上記外部装置となる被認証装置２００が第２の情報の一例となるレスポンス情報を生成するために上記加算器１４０により演算され生成された第３の情報の一例となるチャレンジ情報を上記外部装置となる被認証装置２００に出力する。
【００３２】
被認証装置２００側における入力工程として、入力部２１１は、上記認証装置１００から上記乱数情報に基づいて上記加算器１４０により演算され生成された第３の情報の一例となるチャレンジ情報を入力する。
【００３３】
被認証装置２００側における暗号化工程として、エンコーダ２３０は、上記入力部２１１により入力されたチャレンジ情報を所定の暗号鍵情報の一例である認証装置１００側と同じ共通鍵を用いて暗号化してレスポンス情報を生成する。
【００３４】
被認証装置２００側における第２の出力工程として、出力部２１２は、上記認証装置１００により認証を受けるために上記エンコーダ２３０により暗号化された結果生成されたレスポンス情報を上記認証装置１００に出力する。
【００３５】
認証装置１００側における第２の入力工程として、入力部１１１は、第２の情報の一例としてのレスポンス情報を外部装置となる被認証装置２００から入力する。
【００３６】
認証装置１００側における判断工程として、比較器１５０は、上記入力部１１１により入力された第２の情報の一例としてのレスポンス情報と上記エンコーダ１３０により暗号化された結果生成された第４の情報の一例となる認証確認用情報とが一致するかどうかを比較し、判断する。
【００３７】
認証装置１００側における認証工程として、認証部１８０は、上記比較器１５０により一致すると判断された場合に、上記外部装置となる被認証装置２００を認証する。
【００３８】
そして、認証装置１００により被認証装置２００が認証された場合に、図示していないその他の構成により各必要な処理をおこなう。例えば、デジタルカメラとデジタルカメラに用いるバッテリとを例に挙げれば、認証装置１００となるデジタルカメラにより被認証装置２００となるバッテリが認証された場合に、デジタルカメラは、その後のバッテリからの電源供給を受ける。或いは、デジタルカメラは、その他の電源供給装置（例えば、ＡＣアダプタ）からの電力をバッテリに供給し、バッテリを充電させる。認証装置１００と被認証装置２００とは、デジタルカメラとデジタルカメラに用いるバッテリとに限られるものではない。例えば、少リソースな、組込機器、家電品、携帯機器に用いられる認証装置及び被認証装置等に有効である。
【００３９】
以上のように、実施の形態１では、認証側がリソースの制約等により乱数を発生できず、被認証側が乱数を発生可能な場合である。そして、この場合、被認証側から送られてきた乱数を演算部、或いは変換部の一例としての加算器１４０によって加工して（演算或いは変換して）チャレンジを生成し、これを被認証側に送り返すことになる。このとき、乱数とチャレンジとが１対１に対応付け可能としてしまう処理を加算器１４０によって行なってしまうと、悪意の攻撃者は正規な機器同士の認証通信を傍受することによりリピート攻撃が可能となってしまう。つまり、偽者の被認証側機器が乱数値として常に同じ値を認証側に与えることで常に同じチャレンジが使用されることになり、正規な機器同士で正しい認証に使われた乱数とそれに対応するチャレンジとレスポンスの組が攻撃に利用されてしまうのである。
【００４０】
したがって、実施の形態１では、演算部、或いは変換部の一例としての加算器１４０の処理において、認証装置側への入力である乱数が同じものであっても出力であるチャレンジ値が毎回異なるものとなることが特徴の１つとなる。例えば、認証側機器が計時機能を持つのであれば、単純に乱数に現在の時刻を例えば秒単位まで加算するというような処理を加算器１４０に行なわせれば、乱数に対して常に異なる値のチャレンジを被認証側に送ることが可能となり、リピート攻撃を排除することができる。一般にチャレンジ＆レスポンス方式の認証方法においては、乱数の品質が重要となるが、被認証側が持つ乱数発生器２６０（乱数生成器：ＲＮＧ）の品質が満たされれば、本実施の形態１のように認証側に乱数発生器がない構成としても認証システムとしては問題がない。乱数の品質としては、例えば、６４ビットの情報において、６４ビット全体で乱数を発生できることが品質が高いものといえる。言い換えれば、６４ビットのうちのある一部でしか乱数を発生できないものは品質が低いものとなる。また、一定の計算式から乱数値を作らないことも乱数の品質が高いものとなる。
【００４１】
上記加算器１４０が加算する所定の値は、時刻値に限られるものではなく、認証側機器が持つ時々刻々変化する値であれば構わない。また、演算部、或いは変換部は、上記加算器１４０に限られるものではなく、簡易な乱数発生器（本来の乱数より品質が悪くても構わない）を用いてもよい。ここで、簡易な乱数発生器の一例としては、例えば、６４ビットの情報において、６４ビットのうちのある一部（例えば、２ビット、８ビット等）でしか乱数を発生できないようなものでも構わない。被認証側機器から乱数として入力された値に一ひねり加えて被認証側機器にチャレンジ値を予想させなければよい。
【００４２】
また、加算器１４０が加算する手法（演算処理あるいは変換処理のバリエーション）として時刻を利用し、被認証側から受取った乱数にこの時刻情報を加味することで、被認証側へ送るチャレンジを生成する場合において、物理的に時刻情報が攻撃されて固定な時刻データを強制されるようなことが有り得た場合に備え、２度以上時刻情報を読出すことで値が変化していることを変化していることを確認してからチャレンジ情報を生成するようにしても構わない。これは、時刻情報を利用する場合に限らず、常に変化する値を利用するために、このようなチェック機構を備えるようにしても構わない。
【００４３】
以上のように、信頼性の高い乱数発生器に比べ、リソースの小さい加算器、或いは簡易な乱数発生器を認証側に用いることにより、信頼性の高い乱数発生器を搭載しなくても安全な認証をおこなうことができる。
【００４４】
実施の形態２．
実施の形態１では、一方向の認証方式をおこなう形態であったが、実施の形態２では、各機器間において相互認証を行なう場合について説明する。
【００４５】
図３は、実施の形態２における構成を示す図である。
【００４６】
図３において、認証装置３００は、通信部２１０、エンコーダ２３０（暗号化部の一例である）、乱数発生器２６０（乱数生成部の一例である）、比較器２５０（判断部の一例である）、認証部２８０を備えている。通信部２１０は、入力部２１１、出力部２１２を有している。認証装置１００は、図１と同様である。認証装置３００は、図１における被認証装置２００に対し、比較器２５０、認証部２８０をさらに備えている。その他の構成は省略している。
【００４７】
実施の形態２では、認証装置１００と認証装置３００との間でチャレンジ＆レスポンス方式を用いて相互認証をおこなう手段（相互認証システム）を説明する。
【００４８】
図４は、実施の形態２における各装置の認証手順を示すフローチャート図である。
【００４９】
認証装置３００側における乱数生成工程として、乱数発生器２６０は、乱数を生成する。
【００５０】
認証装置３００側における第１の出力工程として、出力部２１２は、上記乱数発生器２６０により生成された乱数を第１のチャレンジ情報として認証装置３００とって外部装置となる認証装置１００に出力する。
【００５１】
認証装置３００側における第１の暗号化工程として、エンコーダ２３０は、上記乱数発生器２６０により生成された乱数を所定の暗号鍵情報を用いて暗号化して上記認証装置１００を認証するための認証確認用に用いる認証確認用情報を生成する。
【００５２】
認証装置１００側における第１の入力工程として、入力部１１１は、認証装置１００とって外部装置となる認証装置３００により生成された乱数を第１のチャレンジ情報として入力する。
【００５３】
認証装置１００側における第１の暗号化工程として、エンコーダ１３０は、上記入力部１１１により入力された第１のチャレンジ情報としての乱数を所定の暗号鍵情報を用いて暗号化して認証装置１００とって外部装置となる認証装置３００から認証を受けるための第１のレスポンス情報を生成する。
【００５４】
認証装置１００側における第１の出力工程として、出力部１１２は、上記エンコーダ１３０により暗号化された結果生成された第１のレスポンス情報を認証装置１００とって外部装置となる認証装置３００から認証を受けるために上記認証装置３００に出力する。
【００５５】
認証装置３００側における第１の入力工程として、入力部２１１は、認証装置３００とって外部装置となる認証装置１００から上記認証装置１００を認証するための上記第１のチャレンジ情報に基づく第１のレスポンス情報を入力する。
【００５６】
認証装置３００側における判断工程として、比較器２５０は、上記入力部２１１により入力された第１のレスポンス情報と上記エンコーダ２３０により暗号化された結果生成された認証確認用情報とが一致するかどうかを判断する。
【００５７】
認証装置３００側における認証工程として、上記比較器２５０により一致すると判断された場合に、認証装置３００とって外部装置となる認証装置１００を認証する。
【００５８】
認証装置１００側における演算工程として、加算器１４０は、上記入力部１１１により入力された第１のチャレンジ情報としての乱数を演算して第１のチャレンジ情報とは異なる第２のチャレンジ情報を生成する。
【００５９】
認証装置１００側における第２の暗号化工程として、エンコーダ１３０は、上記加算器１４０により演算され生成された第２のチャレンジ情報を所定の暗号鍵情報を用いて暗号化して認証装置１００とって外部装置となる認証装置３００を認証するための認証確認用に用いる認証確認用情報を生成する。
【００６０】
認証装置１００側における第２の出力工程として、出力部１１２は、認証装置１００とって外部装置となる認証装置３００が認証を受けるための第２のレスポンス情報を生成するために上記加算器１４０により演算され生成された第２のチャレンジ情報を上記認証装置３００に出力する。
【００６１】
認証装置３００側における第２の入力工程として、入力部２１１は、認証装置３００とって外部装置となる認証装置１００から上記出力部２１２により出力された上記第１のチャレンジ情報に基づく第２のチャレンジ情報を入力する。
【００６２】
認証装置３００側における第２の暗号化工程として、エンコーダ２３０は、上記入力部２１１により入力された第２のチャレンジ情報を所定の暗号鍵情報を用いて暗号化して第２のレスポンス情報を生成する。
【００６３】
認証装置３００側における第２の出力工程として、出力部２１２は、認証装置３００とって外部装置となる認証装置１００により認証を受けるためにエンコーダ２３０により暗号化された結果生成された第２のレスポンス情報を認証装置１００に出力する。
【００６４】
認証装置１００側における第２の入力工程として、入力部１１１は、上記外部装置から上記第２のレスポンス情報を入力する。
【００６５】
認証装置１００側における判断工程として、比較器１５０は、上記入力部１１１により入力された第２のレスポンス情報と上記エンコーダ１３０により暗号化された結果生成された認証確認用情報とが一致するかどうかを判断する。
【００６６】
認証装置１００側における認証工程として、認証部１８０は、上記比較器１５０により一致すると判断された場合に、認証装置１００とって外部装置となる認証装置３００を認証する。
【００６７】
そして、認証装置１００と認証装置３００との間で相互認証がされた場合に、図示していないその他の構成により各必要な処理をおこなう。例えば、デジタルカメラとデジタルカメラに用いるバッテリとを例に挙げれば、認証装置１００となるデジタルカメラと認証装置３００となるバッテリとの間で相互認証された場合に、デジタルカメラは、その後のバッテリからの電源供給を受ける。或いは、デジタルカメラは、その他の電源供給装置（例えば、ＡＣアダプタ）からの電力をバッテリに供給し、バッテリを充電させる。認証装置１００と認証装置３００とは、デジタルカメラとデジタルカメラに用いるバッテリとに限られるものではない。例えば、少リソースな、組込機器、家電品、携帯機器に用いられる認証装置等に有効である。
【００６８】
実施の形態２では、実施の形態１を相互認証に拡張した場合で、認証装置３００（実施の形態１における被認証側）が認証装置１００（実施の形態１における認証側）を認証する場合の最初のレスポンスは、固定の乱数値に対して暗号処理を掛けていても固定のレスポンスしか発生しないが、これは、認証装置３００（実施の形態１における被認証側）が正規の機器であれば、乱数値が固定されることなく問題はない。また、認証装置１００（実施の形態１における認証側）において演算部、或いは変換部の一例としての加算器１４０による演算をおこなうことで２回目のチャレンジ（乱数発生器を持たない機器側から乱数発生器を持つ機器側へのチャレンジ）は、最初の乱数と１対１に対応しなくなるのでリピート攻撃を排除することが可能となる。実施の形態２では、相互認証をおこなうにあたり、ＲＮＧ（乱数発生器）を持つ側から処理を開始する点が特徴である。言い換えれば、不規則不確定な乱数に基づいて、チャレンジ＆レスポンス値を生成していくことが特徴である。
【００６９】
演算部、或いは変換部の一例としての加算器１４０の処理において、認証装置１００側への入力である乱数が同じものであっても出力であるチャレンジ値が毎回異なるものとなる点は、実施の形態１と同様である。一例となる具体的な手法は、実施の形態１と同様である。チャレンジを出力する側は、自己において、相手に（特に悪意の攻撃者に）チャレンジ値を見破らせないように一ひねり加工することが重要である。実施の形態２では、認証装置３００は、乱数発生器２６０を用い、認証装置１００は、加算器１４０を用いて相手に（特に悪意の攻撃者に）チャレンジ値を見破らせないように一ひねり加工している。特に、実施の形態２では、乱数発生器２６０において精度の高い乱数を発生可能な認証装置３００側から処理を開始することでより安全性の高い相互認証をおこなうことができる。
【００７０】
実施の形態３．
実施の形態３では、実施の形態２における相互認証方法に対し、さらに拡張して、第１と第２の通信装置間でチャレンジ＆レスポンス方式を用いて相互認証をおこなう場合、第１と第２の通信装置としての認証装置１００，３００間のうち、どちらの装置から処理を開始するかを判断することにより、より安全性の高い相互認証をおこなう手段（相互認証システム）を説明する。
【００７１】
図５は、実施の形態３における構成を示す図である。
【００７２】
図５において、認証装置１００は、図３に対し、さらに、能力判定部１７０を備えている。認証装置３００は、図３と同様である。図５では、認証装置１００側に能力判定部１７０を備えているが、認証装置３００側にあっても構わない。或いは双方が備えていても構わない。
【００７３】
能力判定部１７０は、第１と第２の通信装置（ここでは、認証装置１００，３００）の少なくとも一方に乱数を生成する能力を有するかどうかを判定する。
【００７４】
実施の形態３における上記相互認証システムは、上記能力判定部１７０により乱数を生成する能力を有すると判定された第１と第２の通信装置のうちの一方から他方の通信装置へ一方の通信装置により生成された乱数を乱数情報として出力し、出力された乱数情報に基づいて、第１と第２の通信装置間で相互認証をおこなうことを特徴とする。言い換えれば、能力判定部１７０は、通信部１１０，２１０を用いて認証装置１００，３００間で通信し、乱数発生器を備えている装置を判定し、判定された装置（図５では、認証装置３００）から実施の形態２における各処理を開始する。
【００７５】
以上のように、予め、相互の認証機能としての能力を確認して品質の高い乱数を生成できる機器側から処理を開始することにより、より安全性の高い相互認証をおこなうことができる。
【００７６】
以上の説明において、各実施の形態の説明において「〜器」、「エンコーダ」或いは「〜部」として説明したものは、一部或いはすべてコンピュータで動作可能なプログラムにより構成することができる。これらのプログラムは、例えば、Ｃ言語により作成することができる。或いは、ＨＴＭＬやＳＧＭＬやＸＭＬを用いても構わない。
【００７７】
また、以上の説明において、各実施の形態の説明において「〜器」、「エンコーダ」或いは「〜部」として説明したものを、一部或いはすべてコンピュータで動作可能なプログラムにより構成する場合、認証装置１００，３００、被認証装置２００は、図示されていないが、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。ＣＰＵは、内蔵された、或いはバスを介してＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）（記憶装置、記憶部の一例である）と接続され、また、外部と通信可能な通信ボードに接続されている。また、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）（記憶装置の一例である）に接続されていても構わない。
【００７８】
プログラム群は、ＣＰＵに作り込まれている。プログラム群は、ＣＰＵ、ＯＳ等により実行される。記憶装置は、各処理の結果を記憶する。
【００７９】
プログラムにより構成する場合、上記プログラム群には、各実施の形態の説明において「〜器」、「エンコーダ」或いは「〜部」として説明したものにより実行されるプログラムが記憶されている。
【００８０】
また、各実施の形態の説明において「〜器」、「エンコーダ」或いは「〜部」として説明したものは、ＲＯＭに記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェア或いは、ハードウェア或いは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実施されても構わない。
【００８１】
また、上記各実施の形態を実施させるプログラムは、磁気ディスク装置、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体による記録装置を用いて記憶されても構わない。
【産業上の利用可能性】
【００８２】
このような実装形態を採用したので、安全な認証或いは相互認証をおこなうことができるとする効果がある。そして、以上説明したような少リソースな、組込機器、家電品、携帯機器に用いられる認証及び被認証装置等の用途に適用できる。
【図面の簡単な説明】
【００８３】
【図１】実施の形態１における構成を示す図である。
【図２】実施の形態１における各装置の認証手順を示すフローチャート図である。
【図３】実施の形態２における構成を示す図である。
【図４】実施の形態２における各装置の認証手順を示すフローチャート図である。
【図５】実施の形態３における構成を示す図である。
【符号の説明】
【００８４】
１００  認証装置、１１０  通信部、１１１  入力部、１１２  出力部、１３０  エンコーダ、１４０  加算器、１５０  比較器、１７０  能力判定部、１８０  認証部、２００  被認証装置、２１０  通信部、２１１  入力部、２１２  出力部、２３０  エンコーダ、２５０  比較器、２６０  乱数発生器、２８０  認証部、３００  認証装置。
【図１】
2005094089.tif 000003
【図２】
2005094089.tif 000004
【図３】
2005094089.tif 000005
【図４】
2005094089.tif 000006
【図５】
2005094089.tif 000007