(57)【特許請求の範囲】
【請求項１】
共通鍵を格納する記憶部と、
第１認証要求とともに、乱数である第１チャレンジ値を出力する第１出力部と、
第２認証要求とともに、複数個の第２チャレンジ値が入力される第２入力部と、
複数個の第１レスポンス値が入力される第１入力部と、
前記共通鍵を用いて前記複数個の第２チャレンジ値のそれぞれを共通鍵暗号方式で暗号化して得られる複数個の第２レスポンス値を出力する第２出力部と、
前記共通鍵を用いて前記複数個の第１レスポンス値のそれぞれを復号して得られる復号結果と前記第１チャレンジ値とが一致するかを判定する判定部と、
前記複数個の第１レスポンス値を要素とする集合が互いに同一の要素を含むかを判定する第２判定部と、
を有し、
前記共通鍵暗号方式は確率的暗号方式であり、
前記集合が互いに同一の要素を含む場合に、前記第１出力部の処理および前記第２入力部の処理をやり直す、認証装置。
【請求項２】
請求項１の認証装置であって、
前記判定部で一致すると判定された場合に認証が成功したことを表し、前記判定部で一致しないと判定された場合に認証が失敗したことを表す、第１認証成否情報を出力する第３出力部と、
第２認証成否情報が入力される第３入力部と、
前記第１認証成否情報および前記第２認証成否情報がともに認証が成功したことを表す場合に、最終的に認証が成功した旨の情報を出力する認証成否判定部と、
を有する、認証装置。
【請求項３】
第１認証装置と複数個の第２認証装置とを有し、
前記第１認証装置は、
共通鍵を格納する第１記憶部と、
第１認証要求とともに、第１乱数である第１チャレンジ値を前記複数個の第２認証装置に出力する第１出力部と、
前記複数個の第２認証装置から出力された第２認証要求と複数個の第２チャレンジ値が入力される第２入力部と、
前記複数個の第２認証装置から出力された複数個の第１レスポンス値が入力される第１入力部と、
前記共通鍵を用いて前記複数個の第２チャレンジ値のそれぞれを共通鍵暗号方式で暗号化して得られる複数個の第２レスポンス値を出力する第２出力部と、
前記共通鍵を用いて前記複数個の第１レスポンス値のそれぞれを復号して得られる復号結果と前記第１チャレンジ値とが一致するかを判定する判定部と、
前記複数個の第１レスポンス値を要素とする集合が互いに同一の要素を含むかを判定する第２判定部と、
を有し、
前記共通鍵暗号方式は確率的暗号方式であり、
前記集合が互いに同一の要素を含む場合に、前記第１出力部の処理および前記第２入力部の処理をやり直す、認証システム。
【請求項４】
第１出力部が、第１認証要求とともに、乱数である第１チャレンジ値を出力する第１ステップと、
第２認証要求とともに、複数個の第２チャレンジ値が第２入力部に入力される第２ステップと、
複数個の第１レスポンス値が第１入力部に入力される第３ステップと、
第２出力部が、記憶部に格納された共通鍵を用いて前記複数個の第２チャレンジ値のそれぞれを共通鍵暗号方式で暗号化して得られる複数個の第２レスポンス値を出力する第４ステップと、
判定部が、前記共通鍵を用いて前記複数個の第１レスポンス値のそれぞれを復号して得られる復号結果と前記第１チャレンジ値とが一致するかを判定する第５ステップと、
第２判定部が、前記複数個の第１レスポンス値を要素とする集合が互いに同一の要素を含むかを判定する第６ステップと、
を有し、
前記共通鍵暗号方式は確率的暗号方式であり、
前記集合が互いに同一の要素を含む場合に、前記第１ステップおよび前記第２ステップの処理をやり直す、認証方法。
【請求項５】
請求項１または２の認証装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号技術に関し、特に、暗号技術を利用した認証技術に関する。
【背景技術】
【０００２】
認証技術の一つにチャレンジ・アンド・レスポンスによる手法がある（特許文献１）。従来のチャレンジ・アンド・レスポンスによる認証では、（１）まず認証を受けようとする被認証装置が認証要求を認証装置に送り、（２）認証装置はそれに対してチャレンジ値を被認証装置に送り、（３）被認証装置はこのチャレンジ値に対するレスポンス値を認証装置に送る。（４）認証装置はチャレンジ値とレスポンス値とを照合し、レスポンス値がチャレンジ値に対応するものであれば成功とし、そうでなければ失敗とする。認証装置は認証結果を被認証装置に送る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１３４８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のチャレンジ・アンド・レスポンスによる認証では、認証装置と被認証装置とに主従関係があり、被認証装置が認証要求を認証装置に送ってから認証装置がそれに対してチャレンジ値を被認証装置に送るため、１つの認証のために４段の通信を行う必要がある。
【０００５】
本発明の課題は、チャレンジ・アンド・レスポンスによる認証での通信段数を削減することである。
【課題を解決するための手段】
【０００６】
第１認証装置および第２認証装置が同一の共通鍵を格納する。第１認証装置は、第１認証要求とともに、第１乱数に対応する第１チャレンジ値を出力し、第２認証装置は、第２認証要求とともに、第２乱数に対応する第２チャレンジ値を出力する。
【０００７】
第１認証装置には当該第２認証要求とともに当該第２チャレンジ値が入力され、第１認証装置は、上記共通鍵を用いて第２チャレンジ値に対応する値を共通鍵暗号方式で暗号化して得られる第２レスポンス値を出力する。第２認証装置には当該第１認証要求とともに第１チャレンジ値が入力され、第２認証装置は、上記共通鍵を用いて第１チャレンジ値に対応する値を共通鍵暗号方式で暗号化して得られる第１レスポンス値を出力する。
【０００８】
第１認証装置には第１レスポンス値が入力され、当該第１認証装置は、上記共通鍵を用いて第１レスポンス値を復号して得られる第１復号結果と第１チャレンジ値に対応する値とが一致するかを判定する。第２認証装置には第２レスポンス値が入力され、当該第２認証装置は、上記共通鍵を用いて第２レスポンス値を復号して得られる第２復号結果と第２チャレンジ値に対応する値とが一致するかを判定する。
【発明の効果】
【０００９】
本発明では、第１認証装置および第２認証装置に主従関係がなく、互いに認証要求とチャレンジ値とを同時に送るため、通信の段数を削減できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態の認証システムの機能構成を例示したブロック図である。
【図２】図２は、実施形態の認証装置の機能構成を例示したブロック図である。
【図３】図３は、第１実施形態の処理を例示するためのフロー図である。
【図４】図４は、第２，３実施形態の処理を例示するためのフロー図である。
【図５】図５Ａおよび図５Ｂは、第２，３実施形態の処理を例示するための概念図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態を説明する。
［第１実施形態］
まず、第１実施形態を説明する。
【００１２】
＜構成＞
図１に例示するように、本形態の認証システム１はＮ個の認証装置１１−１〜１１−Ｎを有する。本形態のＮは２以上の整数である。Ｎ個の認証装置１１−１〜１１−Ｎは、それぞれインターネット等のネットワーク１２を通じて通信可能に構成されている。
【００１３】
図２に例示するように、本形態の認証装置１１−ｎ（ただし、ｎ∈｛１，・・・，Ｎ｝）は、記憶部１１１−ｎ、通信部１１２−ｎ（入力部および出力部）、乱数生成部１１３−ｎ、チャレンジ生成部１１４−ｎ、レスポンス生成部１１５−ｎ、復号部１１６−ｎ、判定部１１７−ｎ、認証成否判定部１１８−ｎ、および制御部１１９−ｎを有する。認証装置１１−ｎは、例えば、ＣＰＵ（central processing unit）等のプロセッサ（ハードウェア・プロセッサ）およびＲＡＭ（random-access memory）・ＲＯＭ（read-only memory）等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。このコンピュータは１個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めＲＯＭ等に記録されていてもよい。また、ＣＰＵのようにプログラムが読み込まれることで機能構成を実現する電子回路（circuitry）ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、１個の装置を構成する電子回路が複数のＣＰＵを含んでいてもよい。認証装置１１−ｎは、制御部１１９−ｎの制御のもとで各処理を実行する。また、以下では説明を省略するが、通信部１１２−ｎに入力されたデータおよび各処理部で得られたデータは図示していない一時メモリに格納され、必要に応じて何れかの処理部に読み込まれて利用される。
【００１４】
＜事前処理＞
事前処理として、各認証装置１１−ｎ（ただし、ｎ∈｛１，・・・，Ｎ｝）の記憶部１１１−ｎ（図２）に共通鍵暗号方式の共通鍵Ｋが格納される。この共通鍵暗号方式に限定はなく、例えば、ＡＥＳ（Advanced Encryption Standard）やCamellia（登録商標）等を利用できる。本形態の共通鍵暗号方式は、確率的暗号方式であってもよいし、確定的暗号方式であってもよい。確率的暗号方式は、暗号文がランダム性を持つ暗号方式であり、一つの平文に複数個の暗号文が対応し、暗号化の際にそれらの何れかが選択される方式である。確率的暗号方式の一例はＣＢＣモードのＡＥＳである。確定的暗号方式は、暗号文がランダム性を持たない暗号方式であり、一つの平文に一つの暗号文が対応する方式である。また、各認証装置１１−ｎには固有な識別子ＩＤ（ｎ）（ただし、ｎ∈｛１，・・・，Ｎ｝）が割り当てられており、各認証装置１１−ｎの記憶部１１１−ｎにはすべての識別子ＩＤ（１），・・・，ＩＤ（Ｎ）が格納される。
【００１５】
＜認証処理＞
図３を用いて本形態の認証処理を説明する。以下では、１個の認証装置１１−ｎ（ただし、ｎ∈｛１，・・・，Ｎ｝）と１個の認証装置１１−ｍ（ただし、ｍ∈｛１，・・・，Ｎ｝）との間で認証処理が行われる例を説明する。ただし、他の認証装置の組が同じように認証処理を実行してもよい。また、認証装置１１−ｎおよび認証装置１１−ｍの処理は互いに対称であり、いずれが先に処理を行ってよいが、以下では説明の便宜上、特定の順序で説明を行う。
【００１６】
認証装置１１−ｎの乱数生成部１１３−ｎは、乱数ｒ（ｎ）（第１乱数）を生成し、それを記憶部１１１−ｎに格納するとともに、チャレンジ生成部１１４−ｎに送る（ステップＳ１１３−ｎ）。
【００１７】
認証装置１１−ｍの乱数生成部１１３−ｍは、乱数ｒ（ｍ）（第２乱数）を生成し、それを記憶部１１１−ｍに格納するとともに、チャレンジ生成部１１４−ｍに送る（ステップＳ１１３−ｍ）。
【００１８】
チャレンジ生成部１１４−ｎは、乱数ｒ（ｎ）に対応するチャレンジ値Ｃ（ｎ，ｍ）（第１チャレンジ値）を生成する。チャレンジ値Ｃ（ｎ，ｍ）は、乱数ｒ（ｎ）そのものであってもよいし、乱数ｒ（ｎ）を含む情報であってもよいし、乱数ｒ（ｎ）の関数値であってもよいし、乱数ｒ（ｎ）を含む情報の関数値であってもよい。このようなチャレンジ値をＣ（ｎ，ｍ）＝ｇｎ（ｒ（ｎ））と表記する。またチャレンジ生成部１１４−ｎは、記憶部１１１−ｎから識別子ＩＤ（ｎ），ＩＤ（ｍ）を読み込む。さらにチャレンジ生成部１１４−ｎは、認証装置１１−ｎから認証装置１１−ｍへの認証要求Ｒｅｑ（ｎ，ｍ）（第１認証要求）を生成する。認証要求Ｒｅｑ（ｎ，ｍ）、チャレンジ値Ｃ（ｎ，ｍ）、および識別子ＩＤ（ｎ），ＩＤ（ｍ）は通信部１１２−ｎに送られ、通信部１１２−ｎは、認証要求Ｒｅｑ（ｎ，ｍ）とともに、チャレンジ値Ｃ（ｎ，ｍ）および識別子ＩＤ（ｎ），ＩＤ（ｍ）を出力（送信）する（ステップＳ１１４−ｎ）。
【００１９】
チャレンジ生成部１１４−ｍは、乱数ｒ（ｍ）に対応するチャレンジ値Ｃ（ｍ，ｎ）（第２チャレンジ値）を生成する。チャレンジ値Ｃ（ｍ，ｎ）は、乱数ｒ（ｍ）そのものであってもよいし、乱数ｒ（ｍ）を含む情報であってもよいし、乱数ｒ（ｍ）の関数値であってもよいし、乱数ｒ（ｍ）を含む情報の関数値であってもよい。このようなチャレンジ値をＣ（ｍ，ｎ）＝ｇｍ（ｒ（ｍ））と表記する。またチャレンジ生成部１１４−ｍは、記憶部１１１−ｍから識別子ＩＤ（ｎ），ＩＤ（ｍ）を読み込む。さらにチャレンジ生成部１１４−ｍは、認証装置１１−ｍから認証装置１１−ｎへの認証要求Ｒｅｑ（ｍ，ｎ）（第２認証要求）を生成する。認証要求Ｒｅｑ（ｍ，ｎ）、チャレンジ値Ｃ（ｍ，ｎ）、および識別子ＩＤ（ｎ），ＩＤ（ｍ）は通信部１１２−ｍに送られ、通信部１１２−ｍは、認証要求Ｒｅｑ（ｍ，ｎ）とともに、チャレンジ値Ｃ（ｍ，ｎ）および識別子ＩＤ（ｎ），ＩＤ（ｍ）を出力（送信）する（ステップＳ１１４−ｍ）。
【００２０】
認証装置１１−ｍから送信された認証要求Ｒｅｑ（ｍ，ｎ）、チャレンジ値Ｃ（ｍ，ｎ）、および識別子ＩＤ（ｎ），ＩＤ（ｍ）は、認証装置１１−ｎの通信部１１２−ｎに入力され、レスポンス生成部１１５−ｎに送られる（ステップＳ１１５１−ｎ）。レスポンス生成部１１５−ｎは、記憶部１１１−ｎから識別子ＩＤ（ｎ），ＩＤ（ｍ）（便宜上、「ＩＤ’（ｎ），ＩＤ’（ｍ）」と表記する）を読み込み、記憶部１１１−ｎから読み込んだ識別子ＩＤ’（ｎ），ＩＤ’（ｍ）と、認証装置１１−ｍから送信された識別子ＩＤ（ｎ），ＩＤ（ｍ）とが、それぞれ等しいかが判定される（ステップＳ１１５２−ｎ）。ここでＩＤ’（ｎ）＝ＩＤ（ｎ）かつＩＤ’（ｍ）＝ＩＤ（ｍ）であれば、ＩＤ（ｎ），ＩＤ（ｍ）が合格であるとしてステップＳ１１５３−ｎに進む。一方、ＩＤ’（ｎ）≠ＩＤ（ｎ）またはＩＤ’（ｍ）≠ＩＤ（ｍ）であれば、認証が失敗であるとして（ステップＳ１１７３−ｎ）、ステップＳ１１７４−ｎに進む。ステップＳ１１５３−ｎでは、レスポンス生成部１１５−ｎが記憶部１１１−ｎから共通鍵Ｋを読み込む。レスポンス生成部１１５−ｎは、共通鍵Ｋを用いてチャレンジ値Ｃ（ｍ，ｎ）（第２チャレンジ値）に対応する値を前述の共通鍵暗号方式で暗号化してレスポンス値Ｒ（ｍ，ｎ）（第２レスポンス値）を得て出力する。チャレンジ値Ｃ（ｍ，ｎ）に対応する値は、チャレンジ値Ｃ（ｍ，ｎ）そのものであってもよいし、チャレンジ値Ｃ（ｍ，ｎ）を含む情報であってもよいし、チャレンジ値Ｃ（ｍ，ｎ）の関数値であってもよいし、チャレンジ値Ｃ（ｍ，ｎ）を含む情報の関数値であってもよい。このようなチャレンジ値Ｃ（ｍ，ｎ）に対応する値をｆｎ（Ｃ（ｍ，ｎ））と表記する。共通鍵Ｋを用いてｆｎ（Ｃ（ｍ，ｎ））を前述の共通鍵暗号方式で暗号化して得られる暗号文をＥＫ（ｆｎ（Ｃ（ｍ，ｎ）））と表記すると、Ｒ（ｍ，ｎ）＝ＥＫ（ｆｎ（Ｃ（ｍ，ｎ）））となる。レスポンス値Ｒ（ｍ，ｎ）は通信部１１２−ｎに送られ、通信部１１２−ｎはレスポンス値Ｒ（ｍ，ｎ）を出力（送信）する（ステップＳ１１５３−ｎ）。
【００２１】
同様に認証装置１１−ｍでも、レスポンス生成部１１５−ｍが、記憶部１１１−ｍから識別子ＩＤ（ｎ），ＩＤ（ｍ）（便宜上、「ＩＤ”（ｎ），ＩＤ”（ｍ）」と表記する）を読み込み、記憶部１１１−ｍから読み込んだ識別子ＩＤ”（ｎ），ＩＤ”（ｍ）と、認証装置１１−ｎから送信された識別子ＩＤ（ｎ），ＩＤ（ｍ）とが、それぞれ等しいかが判定される（ステップＳ１１５２−ｍ）。ここでＩＤ’（ｎ）＝ＩＤ（ｎ）かつＩＤ”（ｍ）＝ＩＤ（ｍ）であれば、ＩＤ（ｎ），ＩＤ（ｍ）が合格であるとしてステップＳ１１５３−ｍに進む。一方、ＩＤ”（ｎ）≠ＩＤ（ｎ）またはＩＤ”（ｍ）≠ＩＤ（ｍ）であれば、認証が失敗であるとして（ステップＳ１１７３−ｍ）、ステップＳ１１７４−ｍに進む。ステップＳ１１５３−ｍでは、レスポンス生成部１１５−ｍが記憶部１１１−ｍから共通鍵Ｋを読み込む。レスポンス生成部１１５−ｍは、共通鍵Ｋを用いてチャレンジ値Ｃ（ｎ，ｍ）（第１チャレンジ値）に対応する値を前述の共通鍵暗号方式で暗号化してレスポンス値Ｒ（ｎ，ｍ）（第１レスポンス値）を得て出力する。チャレンジ値Ｃ（ｎ，ｍ）に対応する値は、チャレンジ値Ｃ（ｎ，ｍ）そのものであってもよいし、チャレンジ値Ｃ（ｎ，ｍ）を含む情報であってもよいし、チャレンジ値Ｃ（ｎ，ｍ）の関数値であってもよいし、チャレンジ値Ｃ（ｎ，ｍ）を含む情報の関数値であってもよい。このようなチャレンジ値Ｃ（ｎ，ｍ）に対応する値をｆｍ（Ｃ（ｎ，ｍ））と表記する。共通鍵Ｋを用いてｆｍ（Ｃ（ｎ，ｍ））を前述の共通鍵暗号方式で暗号化して得られる暗号文をＥＫ（ｆｍ（Ｃ（ｎ，ｍ）））と表記すると、Ｒ（ｎ，ｍ）＝ＥＫ（ｆｍ（Ｃ（ｎ，ｍ）））となる。レスポンス値Ｒ（ｎ，ｍ）は通信部１１２−ｍに送られ、通信部１１２−ｍはレスポンス値Ｒ（ｎ，ｍ）を出力（送信）する（ステップＳ１１５３−ｍ）。
【００２２】
レスポンス値Ｒ（ｎ，ｍ）は、認証装置１１−ｎの通信部１１２−ｎに入力され、復号部１１６−ｎに送られる（ステップＳ１１５４−ｎ）。復号部１１６−ｎは、記憶部１１１−ｎから共通鍵Ｋを読み込み、当該共通鍵Ｋを用い、前述の共通鍵暗号方式に則って、レスポンス値Ｒ（ｎ，ｍ）を復号して復号結果ＤＫ（Ｒ（ｎ，ｍ））（第１復号結果）を得て出力する。復号結果ＤＫ（Ｒ（ｎ，ｍ））は判定部１１７−ｎに送られる（ステップＳ１１６−ｎ）。判定部１１７−ｎは、記憶部１１１−ｎから乱数ｒ（ｎ）を読み込み、復号結果ＤＫ（Ｒ（ｎ，ｍ））がＣ（ｎ，ｍ）＝ｇｎ（ｒ（ｎ））に対応する値ｆｍ（Ｃ（ｎ，ｍ））と一致するか（すなわち、ＤＫ（Ｒ（ｎ，ｍ））＝ｆｍ（Ｃ（ｎ，ｍ））を満たすか）を判定する。例えば、ＤＫ（Ｒ（ｎ，ｍ））＝Ｃ（ｎ，ｍ）であるかが判定される（ステップＳ１１７１−ｎ）。ここで、レスポンス値Ｒ（ｎ，ｍ）が共通鍵Ｋを用いて正しく生成されたのであれば、ＤＫ（Ｒ（ｎ，ｍ））＝ｆｍ（Ｃ（ｎ，ｍ）を満たす。一方、共通鍵Ｋを用いることなくＤＫ（Ｒ（ｎ，ｍ））＝ｆｍ（Ｃ（ｎ，ｍ）を満たすレスポンス値Ｒ（ｎ，ｍ）を生成できる確率は無視できるほど小さい。そのため、ＤＫ（Ｒ（ｎ，ｍ））＝ｆｍ（Ｃ（ｎ，ｍ）を満たすか否かによって、レスポンス値Ｒ（ｎ，ｍ）が共通鍵Ｋを保持する正当な装置によって生成されたかを判定できる。これに基づき、ＤＫ（Ｒ（ｎ，ｍ））＝ｆｍ（Ｃ（ｎ，ｍ））であれば、認証が成功であるとして（ステップＳ１１７２−ｎ）、ステップＳ１１７４−ｎに進む。一方、ＤＫ（Ｒ（ｎ，ｍ））≠ｆｍ（Ｃ（ｎ，ｍ））であれば、認証が失敗であるとして（ステップＳ１１７３−ｎ）、ステップＳ１１７４−ｎに進む。ステップＳ１１７４−ｎでは、判定部１１７−ｎが、認証が成功したか（Ｔ）、失敗したか（Ｆ）を表す認証成否情報Ｄ（ｎ，ｍ）∈｛Ｔ，Ｆ｝を認証成否判定部１１８−ｎおよび通信部１１２−ｎに送る。通信部１１２−ｎは認証成否情報Ｄ（ｎ，ｍ）を出力（送信）する（ステップＳ１１７４−ｎ）。
【００２３】
同様に、認証装置１１−ｎから送られたレスポンス値Ｒ（ｍ，ｎ）は、認証装置１１−ｍの通信部１１２−ｍに入力され、復号部１１６−ｍに送られる（ステップＳ１１５４−ｍ）。復号部１１６−ｍは、記憶部１１１−ｍから共通鍵Ｋを読み込み、当該共通鍵Ｋを用い、前述の共通鍵暗号方式に則って、レスポンス値Ｒ（ｍ，ｎ）を復号して復号結果ＤＫ（Ｒ（ｍ，ｎ））（第２復号結果）を得て出力する。復号結果ＤＫ（Ｒ（ｍ，ｎ））は判定部１１７−ｎに送られる（ステップＳ１１６−ｎ）。判定部１１７−ｎは、記憶部１１１−ｎから乱数ｒ（ｍ）を読み込み、復号結果ＤＫ（Ｒ（ｍ，ｎ））がＣ（ｍ，ｎ）＝ｇｍ（ｒ（ｍ））に対応する値ｆｎ（Ｃ（ｍ，ｎ））と一致するか（すなわち、ＤＫ（Ｒ（ｍ，ｎ））＝ｆｎ（Ｃ（ｍ，ｎ））を満たすか）を判定する。例えば、ＤＫ（Ｒ（ｍ，ｎ））＝Ｃ（ｍ，ｎ）であるかが判定される（ステップＳ１１７１−ｍ）。ここで、レスポンス値Ｒ（ｍ，ｎ）が共通鍵Ｋを用いて正しく生成されたのであれば、ＤＫ（Ｒ（ｍ，ｎ））＝ｆｎ（Ｃ（ｍ，ｎ）を満たす。一方、共通鍵Ｋを用いることなくＤＫ（Ｒ（ｍ，ｎ））＝ｆｎ（Ｃ（ｍ，ｎ））を満たすレスポンス値Ｒ（ｍ，ｎ）を生成できる確率は無視できるほど小さい。そのため、ＤＫ（Ｒ（ｍ，ｎ））＝ｆｎ（Ｃ（ｍ，ｎ））を満たすか否かによって、レスポンス値Ｒ（ｍ，ｎ）が共通鍵Ｋを保持する正当な装置によって生成されたかを判定できる。これに基づき、ＤＫ（Ｒ（ｍ，ｎ））＝ｆｎ（Ｃ（ｍ，ｎ））であれば、認証が成功であるとして（ステップＳ１１７２−ｍ）、ステップＳ１１７４−ｍに進む。一方、ＤＫ（Ｒ（ｍ，ｎ））≠ｆｎ（Ｃ（ｍ，ｎ））であれば、認証が失敗であるとして（ステップＳ１１７３−ｍ）、ステップＳ１１７４−ｍに進む。ステップＳ１１７４−ｍでは、判定部１１７−ｍが、認証が成功したか（Ｔ）、失敗したか（Ｆ）を表す認証成否情報Ｄ（ｍ，ｎ）∈｛Ｔ，Ｆ｝を認証成否判定部１１８−ｍおよび通信部１１２−ｍに送る。通信部１１２−ｍは認証成否情報Ｄ（ｍ，ｎ）を出力（送信）する（ステップＳ１１７４−ｍ）。
【００２４】
認証装置１１−ｍから送られた認証成否情報Ｄ（ｍ，ｎ）は認証装置１１−ｎの通信部１１２−ｎに入力され、認証成否判定部１１８−ｎに送られる。認証成否判定部１１８−ｎは、認証成否情報Ｄ（ｎ，ｍ）およびＤ（ｍ，ｎ）が「認証が成功したこと（Ｔ）」を表すかを判定する（ステップＳ１１８１−ｎ）。これらすべてが「認証が成功したこと（Ｔ）」を表す場合（Ｄ（ｎ，ｍ）＝Ｄ（ｍ，ｎ）＝Ｔ）、認証成否判定部１１８−ｎは、最終的に認証が成功した旨の情報を出力する（ステップＳ１１８２−ｎ）。一方、認証成否情報Ｄ（ｎ，ｍ）およびＤ（ｍ，ｎ）の少なくとも一方が「認証が失敗したこと（Ｆ）」を表す場合（Ｄ（ｎ，ｍ）＝ＦまたはＤ（ｍ，ｎ）＝Ｆ）、認証成否判定部１１８−ｎは、最終的に認証が失敗した旨の情報を出力する（ステップＳ１１８３−ｎ）。
【００２５】
同様に、認証装置１１−ｎから送られた認証成否情報Ｄ（ｎ，ｍ）は認証装置１１−ｍの通信部１１２−ｍに入力され、認証成否判定部１１８−ｍに送られる。認証成否判定部１１８−ｍは、認証成否情報Ｄ（ｎ，ｍ）およびＤ（ｍ，ｎ）が「認証が成功したこと（Ｔ）」を表すかを判定する（ステップＳ１１８１−ｍ）。これらすべてが「認証が成功したこと（Ｔ）」を表す場合（Ｄ（ｎ，ｍ）＝Ｄ（ｍ，ｎ）＝Ｔ）、認証成否判定部１１８−ｍは、最終的に認証が成功した旨の情報を出力する（ステップＳ１１８２−ｍ）。一方、認証成否情報Ｄ（ｎ，ｍ）およびＤ（ｍ，ｎ）の少なくとも一方が「認証が失敗したこと（Ｆ）」を表す場合（Ｄ（ｎ，ｍ）＝ＦまたはＤ（ｍ，ｎ）＝Ｆ）、認証成否判定部１１８−ｍは、最終的に認証が失敗した旨の情報を出力する（ステップＳ１１８３−ｍ）。
【００２６】
＜本形態の特徴＞
本形態では、互いに対等な認証装置１１−ｎと認証装置１１−ｍとが、認証要求とともにチャレンジ値を送信して認証処理を開始し、互いに対称な認証処理を行う。そのため、それぞれが行う必要がある通信は、（１）認証要求およびチャレンジの出力、（２）それに対応するレスポンスの入力、および（３）認証結果の出力の３段であり、従来よりも通信段数を削減できる。
【００２７】
また本形態では、すべての認証成否情報が「認証が成功したこと」を表す場合に最終的に認証が成功したとし、それ以外のときに最終的に認証が失敗したとする。これにより、通信相手の認証装置が正当であることを互いに確認できる。
【００２８】
［第２実施形態］
第２実施形態では、３個以上の認証装置が互いに対称な認証処理を並行に行う。以下では、これまでに説明した事項との相違点を中心に説明し、既に説明した事項については同じ参照番号を流用して説明を簡略化する。
【００２９】
＜構成＞
図１に例示するように、本形態の認証システム２はＮ個の認証装置２１−１〜２１−Ｎを有する。本形態のＮは３以上の整数である。Ｎ個の認証装置２１−１〜２１−Ｎは、それぞれインターネット等のネットワーク１２を通じて通信可能に構成されている。
【００３０】
図２に例示するように、本形態の認証装置２１−ｎ（ただし、ｎ∈｛１，・・・，Ｎ｝）は、記憶部１１１−ｎ、通信部２１２−ｎ（入力部および出力部）、乱数生成部１１３−ｎ、チャレンジ生成部２１４−ｎ、レスポンス生成部２１５−ｎ、復号部２１６−ｎ、判定部２１７−ｎ、認証成否判定部２１８−ｎ、および制御部１１９−ｎを有する。認証装置２１−ｎは、第１実施形態で説明したコンピュータが所定のプログラムを実行することで構成される装置であってもよいし、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。認証装置２１−ｎは、制御部１１９−ｎの制御のもとで各処理を実行する。また、以下では説明を省略するが、通信部２１２−ｎに入力されたデータおよび各処理部で得られたデータは図示していない一時メモリに格納され、必要に応じて何れかの処理部に読み込まれて利用される。
【００３１】
＜事前処理＞
第１実施形態と同じである。
【００３２】
＜認証処理＞
図４を用いて本形態の認証処理を説明する。本形態では、各認証装置２１−ｎ（ただし、ｎ∈｛１，・・・，Ｎ｝）がその他の複数個（Ｎ−１個）の認証装置２１−ｍ（ただし、ｍ∈｛１，・・・，Ｎ｝かつｎ≠ｍ）との間で第１実施形態と同様な認証処理を並行に行う。ただし、第１実施形態では１対１の認証処理であったのに対し、本形態では、各認証装置２１−ｎが１対多の認証処理を行う。具体的には、例えば、各認証装置２１−ｎ（ただし、ｎ∈｛１，・・・，Ｎ｝）が以下の処理を行う。
【００３３】
各認証装置２１−ｎ（ただし、ｎ∈｛１，・・・，Ｎ｝）の乱数生成部１１３−ｎは、乱数ｒ（ｎ）（第１乱数）を生成し、それを記憶部１１１−ｎに格納するとともに、チャレンジ生成部２１４−ｎに送る（ステップＳ２１３−ｎ）。
【００３４】
各チャレンジ生成部２１４−ｎは、乱数ｒ（ｎ）に対応するＮ−１個のチャレンジ値Ｃ（ｎ，ｍ）＝ｇｎ（ｒ（ｎ））（第１チャレンジ値）（ただし、ｍ∈｛１，・・・，Ｎ｝かつｎ≠ｍ）を生成する。ただし、各ｍに対応するチャレンジ値Ｃ（ｎ，ｍ）は互いに同一であってもよいし、そうでなくてもよい。また各チャレンジ生成部２１４−ｎは、記憶部１１１−ｎから識別子ＩＤ（１），・・・，ＩＤ（Ｎ）を読み込む。さらに各チャレンジ生成部２１４−ｎは、認証装置２１−ｎからＮ−１個の認証装置２１−ｍ（ただし、ｍ∈｛１，・・・，Ｎ｝かつｎ≠ｍ）への認証要求Ｒｅｑ（ｎ，ｍ）（第１認証要求）を生成する。認証要求Ｒｅｑ（ｎ，ｍ）、チャレンジ値Ｃ（ｎ，ｍ）、および識別子ＩＤ（１），・・・，ＩＤ（Ｎ）は通信部２１２−ｎに送られ、各通信部２１２−ｎは、認証要求Ｒｅｑ（ｎ，ｍ）とともに、チャレンジ値Ｃ（ｎ，ｍ）および識別子ＩＤ（１），・・・，ＩＤ（Ｎ）を各認証装置２１−ｍ（ただし、ｍ∈｛１，・・・，Ｎ｝かつｎ≠ｍ）に出力（送信）する（ステップＳ２１４−ｎ）。
【００３５】
Ｎ−１個の認証装置２１−ｍ（ただし、ｍ∈｛１，・・・，Ｎ｝かつｎ≠ｍ）から送信された認証要求Ｒｅｑ（ｍ，ｎ）、チャレンジ値Ｃ（ｍ，ｎ）、および識別子ＩＤ（１），・・・，ＩＤ（Ｎ）は、各認証装置２１−ｎの通信部２１２−ｎに入力され、レスポンス生成部２１５−ｎに送られる（ステップＳ２１５１−ｎ）。レスポンス生成部２１５−ｎは、記憶部１１１−ｎから識別子ＩＤ（１），・・・，ＩＤ（Ｎ）（便宜上、「ＩＤ’（１），・・・，ＩＤ’（Ｎ）」と表記する）を読み込み、記憶部１１１−ｎから読み込んだ識別子ＩＤ’（１），・・・，ＩＤ’（Ｎ）と、Ｎ−１個の認証装置２１−ｍから送信された識別子ＩＤ（１），・・・，ＩＤ（Ｎ）とが、それぞれ等しいかが判定される（ステップＳ２１５２−ｎ）。ここで、すべてのｉ∈｛１，・・・，Ｎ｝についてＩＤ’（ｉ）＝ＩＤ（ｉ）であれば、ＩＤ（１），・・・，ＩＤ（Ｎ）が合格であるとしてステップＳ２１５３−ｎに進む。一方、何れかのｉについてＩＤ’（ｉ）≠ＩＤ（ｉ）であれば、認証が失敗であるとして（ステップＳ２１７３−ｎ）、ステップＳ２１７４−ｎに進む。ステップＳ２１５３−ｎでは、レスポンス生成部２１５−ｎが記憶部１１１−ｎから共通鍵Ｋを読み込む。レスポンス生成部２１５−ｎは、共通鍵Ｋを用いてＮ−１個のチャレンジ値Ｃ（ｍ，ｎ）（ただし、ｍ∈｛１，・・・，Ｎ｝かつｎ≠ｍ）（第２チャレンジ値）のそれぞれに対応する値ｆｎ（Ｃ（ｍ，ｎ））を前述の共通鍵暗号方式で暗号化してＮ−１個のレスポンス値Ｒ（ｍ，ｎ）＝ＥＫ（ｆｎ（Ｃ（ｍ，ｎ）））（第２レスポンス値）を得て出力する。レスポンス値Ｒ（ｍ，ｎ）は通信部２１２−ｎに送られ、通信部２１２−ｎはＮ−１個のレスポンス値Ｒ（ｍ，ｎ）を出力（送信）する（ステップＳ２１５３−ｎ）。
【００３６】
Ｎ−１個の認証装置２１−ｍ（ただし、ｍ∈｛１，・・・，Ｎ｝かつｎ≠ｍ）から送信されたＮ−１個のレスポンス値Ｒ（ｎ，ｍ）は、各認証装置２１−ｎの通信部２１２−ｎに入力され、復号部２１６−ｎに送られる（ステップＳ２１５４−ｎ）。各復号部２１６−ｎは、記憶部１１１−ｎから共通鍵Ｋを読み込み、当該共通鍵Ｋを用い、前述の共通鍵暗号方式に則って、レスポンス値Ｒ（ｎ，ｍ）を復号してＮ−１個の復号結果ＤＫ（Ｒ（ｎ，ｍ））（第１復号結果）を得て出力する。Ｎ−１個の復号結果ＤＫ（Ｒ（ｎ，ｍ））は判定部２１７−ｎに送られる（ステップＳ２１６−ｎ）。判定部２１７−ｎは、記憶部１１１−ｎから乱数ｒ（ｎ）を読み込み、各復号結果ＤＫ（Ｒ（ｎ，ｍ））がＣ（ｎ，ｍ）＝ｇｎ（ｒ（ｎ））に対応する値ｆｍ（Ｃ（ｎ，ｍ））と一致するか（すなわち、ＤＫ（Ｒ（ｎ，ｍ））＝ｆｍ（Ｃ（ｎ，ｍ））を満たすか）を判定する。例えば、ＤＫ（Ｒ（ｎ，ｍ））＝Ｃ（ｎ，ｍ）を満たすかが判定される（ステップＳ２１７１−ｎ）。ここで、すべてのｍ（ただし、ｍ∈｛１，・・・，Ｎ｝かつｎ≠ｍ）についてＤＫ（Ｒ（ｎ，ｍ））＝ｆｍ（Ｃ（ｎ，ｍ））であれば、認証が成功であるとして（ステップＳ２１７２−ｎ）、ステップＳ２１７４−ｎに進む。一方、何れかのｍについてＤＫ（Ｒ（ｎ，ｍ））≠ｆｍ（Ｃ（ｎ，ｍ））であれば、認証が失敗であるとして（ステップＳ２１７３−ｎ）、ステップＳ２１７４−ｎに進む。ステップＳ２１７４−ｎでは、判定部２１７−ｎが、認証が成功したか（Ｔ）、失敗したか（Ｆ）を表す認証成否情報Ｄ（ｎ，ｍ）∈｛Ｔ，Ｆ｝を認証成否判定部２１８−ｎおよび通信部２１２−ｎに送る。通信部２１２−ｎは、認証成否情報Ｄ（ｎ，ｍ）をＮ−１個の認証装置２１−ｍ（ただし、ｍ∈｛１，・・・，Ｎ｝かつｎ≠ｍ）に出力（送信）する（ステップＳ２１７４−ｎ）。
【００３７】
Ｎ−１個の認証装置２１−ｍから送られたＮ−１個の認証成否情報Ｄ（ｍ，ｎ）は認証装置２１−ｎの通信部２１２−ｎに入力され、認証成否判定部２１８−ｎに送られる。各認証成否判定部２１８−ｎは、認証成否情報Ｄ（ｎ，ｍ）およびＮ−１個のＤ（ｍ，ｎ）（ただし、ｍ∈｛１，・・・，Ｎ｝かつｎ≠ｍ）が「認証が成功したこと（Ｔ）」を表すかを判定する（ステップＳ２１８１−ｎ）。これらすべてが「認証が成功したこと（Ｔ）」を表す場合（Ｄ（ｎ，ｍ）＝Ｄ（ｍ，ｎ）＝Ｔ）、認証成否判定部２１８−ｎは、最終的に認証が成功した旨の情報を出力する（ステップＳ２１８２−ｎ）。一方、何れかの認証成否情報Ｄ（ｎ，ｍ）およびＤ（ｍ，ｎ）が「認証が失敗したこと（Ｆ）」を表す場合、認証成否判定部２１８−ｎは、最終的に認証が失敗した旨の情報を出力する（ステップＳ２１８３−ｎ）。
【００３８】
＜Ｎ＝３の例＞
図５Ａおよび図５Ｂを用いて、Ｎ＝３の場合の認証装置２１−１〜２１−３間での情報のやり取りを例示する。
【００３９】
≪ステップＳ２１３−１、Ｓ２１３−２、Ｓ２１３−３≫
図５Ａに例示するように、ステップＳ２１３−１では、認証装置２１−１が、認証装置２１−２および認証装置２１−３に対し、それぞれ（Ｒｅｑ（１，２），Ｃ（１，２），ＩＤ（１），・・・，ＩＤ（Ｎ））および（Ｒｅｑ（１，３），Ｃ（１，３），ＩＤ（１），・・・，ＩＤ（Ｎ））を送る。ステップＳ２１３−２では、認証装置２１−２が、認証装置２１−１および認証装置２１−３に対し、それぞれ（Ｒｅｑ（２，１），Ｃ（２，１），ＩＤ（１），・・・，ＩＤ（Ｎ））および（Ｒｅｑ（２，３），Ｃ（２，３），ＩＤ（１），・・・，ＩＤ（Ｎ））を送る。ステップＳ２１３−３では、認証装置２１−３が、認証装置２１−１および認証装置２１−２に対し、それぞれ（Ｒｅｑ（３，１），Ｃ（３，１），ＩＤ（１），・・・，ＩＤ（Ｎ））および（Ｒｅｑ（３，２），Ｃ（３，２），ＩＤ（１），・・・，ＩＤ（Ｎ））を送る。
【００４０】
≪ステップＳ２１５３−１、Ｓ２１５３−２、Ｓ２１５３−３≫
図５Ｂに例示するように、ステップＳ２１５３−１では、認証装置２１−１が、認証装置２１−２および認証装置２１−３に対し、それぞれＲ（２，１）およびＲ（３，１）を送る。ステップＳ２１５３−２では、認証装置２１−２が、認証装置２１−１および認証装置２１−３に対し、それぞれＲ（１，２）およびＲ（３，２）を送る。ステップＳ２１５３−３では、認証装置２１−３が、認証装置２１−１および認証装置２１−２に対し、それぞれＲ（２，３）およびＲ（１，３）を送る。
【００４１】
≪ステップＳ２１７４−１、Ｓ２１７４−２、Ｓ２１７４−３≫
図５Ｂに例示するように、ステップＳ２１７４−１では、認証装置２１−１が、認証装置２１−２および認証装置２１−３に対し、それぞれＤ（１，２）およびＤ（１，３）を送る。ステップＳ２１７４−２では、認証装置２１−２が、認証装置２１−１および認証装置２１−３に対し、それぞれＤ（２，１）およびＤ（２，３）を送る。ステップＳ２１７４−３では、認証装置２１−３が、認証装置２１−１および認証装置２１−２に対し、それぞれＤ（３，１）およびＤ（３，２）を送る。
【００４２】
＜本形態の特徴＞
本形態では、互いに対等な認証装置１１−ｎと複数個の認証装置１１−ｍ（ただし、ｍ∈｛１，・・・，Ｎ｝かつｎ≠ｍ）とが、認証要求とともにチャレンジ値を送信して認証処理を開始し、互いに対称な認証処理を並行して行う。この場合も、それぞれが行う必要がある通信は、（１）認証要求およびチャレンジの出力、（２）それに対応するレスポンスの入力、および（３）認証結果の出力の３段であり、従来よりも通信段数を削減できる。さらに、各認証装置１１−ｎが複数個の認証装置１１−ｍと１対多の認証処理を並行に実行するため、効率的に複数個の認証装置１１−ｍとの間で認証処理を行うことができる。
【００４３】
また本形態では、すべての認証成否情報が「認証が成功したこと」を表す場合に最終的に認証が成功したとし、それ以外のときに最終的に認証が失敗したとする。これにより、すべての認証装置が正当であることを互いに確認できる。
【００４４】
［第３実施形態］
本形態は、第２実施形態の変形例である。本形態でも３個以上の認証装置が互いに対称な認証処理を並行に行う。第２実施形態との相違点は、共通鍵暗号方式を確率的暗号方式に限定し、Ｎ−１個の認証装置２１−ｍから認証装置２１−ｎに返されたレスポンス値Ｒ（ｍ，ｎ）の何れかが互いに同値となる場合にリトライする点である。
【００４５】
＜構成＞
図１に例示するように、本形態の認証システム３はＮ個の認証装置２１−１〜２１−Ｎを有する。本形態のＮは３以上の整数である。Ｎ個の認証装置３１−１〜３１−Ｎは、それぞれインターネット等のネットワーク１２を通じて通信可能に構成されている。
【００４６】
図２に例示するように、本形態の認証装置３１−ｎ（ただし、ｎ∈｛１，・・・，Ｎ｝）は、記憶部１１１−ｎ、通信部２１２−ｎ（入力部および出力部）、乱数生成部１１３−ｎ、チャレンジ生成部２１４−ｎ、レスポンス生成部２１５−ｎ、復号部２１６−ｎ、判定部２１７−ｎ，３１７−ｎ、認証成否判定部２１８−ｎ、および制御部１１９−ｎを有する。認証装置３１−ｎは、第１実施形態で説明したコンピュータが所定のプログラムを実行することで構成される装置であってもよいし、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。認証装置３１−ｎは、制御部１１９−ｎの制御のもとで各処理を実行する。また、以下では説明を省略するが、通信部２１２−ｎに入力されたデータおよび各処理部で得られたデータは図示していない一時メモリに格納され、必要に応じて何れかの処理部に読み込まれて利用される。
【００４７】
＜事前処理＞
第１実施形態と同じである。ただし、本形態で使用される共通鍵暗号方式は確率的暗号方式である。
【００４８】
＜認証処理＞
図４を用いて本形態の認証処理を説明する。まず、第２実施形態で説明したステップＳ２１３−ｎからステップＳ２１５４−ｎまでの処理が実行される。ただし、認証装置２１−ｎが認証装置３１−ｎに置換され、認証装置２１−ｍが認証装置３１−ｍに置換される。また、Ｎ−１個の認証装置３１−ｍ（ただし、ｍ∈｛１，・・・，Ｎ｝かつｎ≠ｍ）から送信されたＮ−１個のレスポンス値Ｒ（ｎ，ｍ）は、各認証装置３１−ｎの判定部３１７−ｎにも送られる。判定部３１７−ｎは、これらＮ−１個のレスポンス値Ｒ（ｎ，ｍ）（ただし、ｍ∈｛１，・・・，Ｎ｝かつｎ≠ｍ）を要素とする集合ＳＥＴが互いに同一の要素を含むかを判定する。言い換えると、これらＮ−１個のレスポンス値Ｒ（ｎ，ｍ）のうち、互いに同値となるものが存在するかが判定される（ステップＳ３１５４−ｎ）。ここで、集合ＳＥＴが互いに同一の要素を含むと判定された場合には、不正が行われた可能性があるものとして処理をステップＳ２１３−ｎに戻し、最初から処理をやり直す（第１出力部の処理および第２入力部の処理をやり直す）。なお、このやり直し回数の上限を定め、その上限を超えるやり直しが生じた場合には認証処理をエラー終了させてもよい。一方、集合ＳＥＴが互いに同一の要素を含まないと判定された場合には、第２実施形態で説明したステップＳ２１６−ｎ以降の処理が実行される。
【００４９】
＜本形態の特徴＞
レスポンスの生成に使用する共通鍵暗号方式を確率的暗号方式とした場合、認証装置３１−ｎから出力されるＮ−１個のチャレンジ値Ｃ（ｎ，ｍ）が同値であったとしても、それに対してＮ−１個の認証装置３１−ｍから認証装置３１−ｎに返されたレスポンス値Ｒ（ｍ，ｎ）のいずれかが同値となる確率は低い。それにもかかわらず、レスポンス値Ｒ（ｍ，ｎ）のいずれかが同値となった場合には不正が行われた可能性がある。本形態では、このような場合に処理をやり直すため、何れかの認証装置３１−ｍから出力されたレスポンス値Ｒ（ｍ，ｎ）を流用した成りすましを防止できる。その他、第２実施形態と同じ作用効果も得られる。
【００５０】
［その他の変形例］
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各実施形態では、認証要求およびチャレンジ値とともに識別子ＩＤ（ｉ）を送ることとしたが、識別子ＩＤ（ｉ）が省略されてもよい。この場合にはステップＳ１１５２−ｎ，Ｓ１１５２−ｍ，Ｓ２１５２−ｎの処理が省略され、ステップＳ１１５１−ｎ，Ｓ１１５１−ｍ，Ｓ２１５１−ｎの後にステップＳ１１５３−ｎ，Ｓ１１５３−ｍ，Ｓ２１５３−ｎが実行される。
【００５１】
例えば、各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００５２】
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な（non-transitory）記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
【００５３】
このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００５４】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。
【００５５】
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
【産業上の利用可能性】
【００５６】
上述した認証技術は、例えば、不特定多数の信頼できない端末装置ではないが、（１）完全に信頼できるわけではなく認証は必要であり、（２）通信路が物理的にセキュアとは限らずなりすまし防止が必要であり、端末装置の総数が一定数であり、共通鍵を予め共有することができるようなノード間の接続を安全に確立する技術分野（秘密分散や秘密計算など）に適用できる。
【符号の説明】
【００５７】
１〜３  認証システム
１１−ｎ，２１−ｎ，３１−ｎ  認証装置
【要約】
【課題】チャレンジ・アンド・レスポンスによる認証での通信段数を削減する。
【解決手段】認証装置は、第１認証要求とともに、乱数に対応する第１チャレンジ値を出力する。また、認証装置には第２認証要求とともに、第２チャレンジ値が入力され、認証装置は、共通鍵を用いて第２チャレンジ値に対応する値を共通鍵暗号方式で暗号化して得られる第２レスポンス値を出力する。さらに、当該認証装置には第１チャレンジ値に対する第１レスポンス値が入力され、共通鍵を用いて第１レスポンス値を復号して得られる復号結果と第１チャレンジ値に対応する値とが一致するかを判定する。
【選択図】図２【図１】
0006023853.tif 000002
【図２】
0006023853.tif 000003
【図３】
0006023853.tif 000004
【図４】
0006023853.tif 000005
【図５】
0006023853.tif 000006