(57)【要約】【課題】再起動が発生しうる認証機器において、再起動が発生した場合においても、第三者に容易に初期値を推測されることがないナンスを生成することができ、しかも低コストで実現可能なセキュア通信方法を提供する。【解決手段】認証機器Ａは、乱数を発生される乱数発生手段１ａと、ナンスＮを生成するナンス生成手段２ａとを備え、ナンス生成手段２ａは、少なくとも認証機器Ａの再起動時に、乱数発生手段１ａで発生した乱数に基づいてナンスＮの初期値Ｎ（１）を生成するものであり、認証機器Ａが被認証機器Ｂを認証する際の初期値以外の新たなナンスＮ（ｎ＋１）は、前回の認証に用いられたナンスＮ（ｎ）をインクリメントして生成されるものである。【選択図】図１
2008141667.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して認証機器が被認証機器を認証するセキュア通信方法であって、認証機器及び被認証機器は、前記認証に用いられる鍵を予め保持しており、認証機器は、乱数を発生させる乱数発生手段と、ナンスを生成するナンス生成手段と、前記鍵を用いたナンスの暗号化又は暗号化されたナンスの復号化の少なくとも一方を行うナンス暗号復号化手段と、ナンス又は暗号化されたナンスを被認証機器へ送信するナンス送信手段とを備え、被認証機器は、認証機器より送信されてきたナンスの前記鍵を用いた暗号化又は認証機器より送信されてきた前記暗号化されたナンスの前記鍵を用いた復号化を行う受信ナンス暗号復号化手段と、受信ナンス暗号復号化手段で暗号化されたナンス又は受信ナンス暗号復号化手段で復号化されたナンスを認証機器へ送信するナンス返信手段とを備え、乱数発生手段は、少なくとも認証機器の再起動時に、乱数を発生させるものであり、ナンス生成手段は、乱数発生手段で発生した乱数に基づいてナンスの初期値を生成するものであり、初期値以外の認証機器が被認証機器を認証する際の新たなナンスは、前回の認証に用いられたナンスをインクリメントして生成されるものであることを特徴とするセキュア通信方法。
【請求項２】
ネットワークを介して認証機器が被認証機器を認証するセキュア通信方法であって、認証機器及び被認証機器は、前記認証に用いられる鍵を予め保持しており、認証機器は、現在の時刻を生成する時刻生成手段と、ナンスを生成するナンス生成手段と、前記鍵を用いたナンスの暗号化又は暗号化されたナンスの復号化の少なくとも一方を行うナンス暗号復号化手段と、ナンス又は暗号化されたナンスを被認証機器へ送信するナンス送信手段とを備え、被認証機器は、認証機器より送信されてきたナンスの前記鍵を用いた暗号化又は認証機器より送信されてきた前記暗号化されたナンスの前記鍵を用いた復号化を行う受信ナンス暗号復号化手段と、受信ナンス暗号復号化手段で暗号化されたナンス又は受信ナンス暗号復号化手段で復号化されたナンスを認証機器へ送信するナンス返信手段とを備え、時刻生成手段は、少なくとも認証機器の再起動時に、現在の時刻を生成するものであり、ナンス生成手段は、時刻生成手段で生成した時刻に基づいてナンスの初期値を生成するものであり、初期値以外の認証機器が被認証機器を認証する際の新たなナンスは、前回の認証に用いられたナンスをインクリメントして生成されるものであることを特徴とするセキュア通信方法。
【請求項３】
ネットワークを介して認証機器が被認証機器を認証するセキュア通信方法であって、認証機器及び被認証機器は、前記認証に用いられる鍵を予め保持しており、認証機器は、乱数を発生させる乱数発生手段と、現在の時刻を生成する時刻生成手段と、ナンスを生成するナンス生成手段と、前記鍵を用いたナンスの暗号化又は暗号化されたナンスの復号化の少なくとも一方を行うナンス暗号復号化手段と、ナンス又は暗号化されたナンスを被認証機器へ送信するナンス送信手段とを備え、被認証機器は、認証機器より送信されてきたナンスの前記鍵を用いた暗号化又は認証機器より送信されてきた前記暗号化されたナンスの前記鍵を用いた復号化を行う受信ナンス暗号復号化手段と、受信ナンス暗号復号化手段で暗号化されたナンス又は受信ナンス暗号復号化手段で復号化されたナンスを認証機器へ送信するナンス返信手段とを備え、乱数発生手段は、少なくとも認証機器の再起動時に、乱数を発生させるものであり、時刻生成手段は、少なくとも認証機器の再起動時に、現在の時刻を生成するものであり、ナンス生成手段は、ナンスの上位桁に時刻生成手段で生成した時刻を用い、ナンスの下位桁に乱数発生手段で発生した乱数を用いてナンスの初期値を生成するものであり、初期値以外の認証機器が被認証機器を認証する際の新たなナンスは、前回の認証に用いられたナンスをインクリメントして生成されるものであることを特徴とするセキュア通信方法。
【請求項４】
認証機器は、所定時間当たりの再起動頻度を検出するリブート頻度検出手段を備え、ナンス生成手段は、リブート頻度検出手段によって検出された所定時間当たりの再起動頻度に基づいて、生成するナンスの初期値の上位桁と下位桁の桁数比率を変更するものであることを特徴とする請求項３記載のセキュア通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、通信ネットワークのセキュリティに関し、特に、互いに通信可能な通信機器間でナンスを用いた安全な認証を行うセキュア通信方法に関する。
【背景技術】
【０００２】
互いに通信可能な通信機器に基づく通信ネットワークにおいて、被認証機器と認証機器との間で通信確立を行い、実際にデータの送受信を実施するにあたり、相手の通信機器が信頼関係を保証する機器であるか否かを確認した上で通信を行うことが、安全な通信ネットワークを構築するためには非常に重要である。そこで、安全な通信システムを実現するために、従来から様々な認証プロトコルや鍵配布プロトコルが用いられている。
【０００３】
例えば、特許第３０７８８４１号公報に示されるように、機器Ａと機器Ｂの二機器間での通信を行う場合に、それぞれの機器には予め秘密に共通の鍵Ｋａｂが配布されており、さらに安全な認証を行うためには、予測不能な一度だけ使用される数であるナンスＮが用いられる。図１４に示すように、このプロトコルの実行は、ブロック５０１から開始され、機器Ａが、自機の名称Ａと生成したナンスＮａｂを機器Ｂに送る。機器Ａからのメッセージを受け取る際に、共有キーＫａｂ、ナンスＮａｂ、機器Ｂによって生成される新ナンスＮｂａおよびメッセージ発信元である自機の名称Ｂに基づく認証関数ＡＵＴＨ（Ｋａｂ、Ｎａｂ、Ｎｂａ、Ｂ）が、機器Ｂによって計算される。ブロック５０２を参照すると、この認証関数の値とナンスＮｂａが、機器Ｂから機器Ａに送られる。機器Ｂからのメッセージを受け取る際に、機器Ａは、認証関数ＡＵＴＨ（Ｋａｂ、Ｎａｂ、Ｎｂａ、Ｂ）の値を再計算し、機器Ｂが送ったメッセージ内の対応物と比較する。これが一致すると、機器Ｂの認証がもたらされる。その後、機器Ａは、両方向認証を完了するため、共有キーＫａｂ、ナンスＮａｂおよびナンスＮｂａに基づくもう１つの認証関数ＡＣＫ（Ｋａｂ、Ｎａｂ、Ｎｂａ）の値を計算する。ブロック５０３を参照すると、認証関数ＡＣＫ（Ｋａｂ、Ｎａｂ、Ｎｂａ）の値が機器Ａから機器Ｂへ送られる。機器Ａからのメッセージを受け取る際に、機器Ｂは、認証関数ＡＣＫ（Ｋａｂ、Ｎａｂ、Ｎｂａ）の値を再計算し、機器Ａが送ったメッセージの対応物と比較する。これが一致すると、機器Ａの認証がもたらされる。
【０００４】
ここで、生成時点より以前に生成されていない値を生成する方法を用いて、機器Ａ及び機器Ｂによって予測不能な一度だけ使用される数であるナンスＮが生成されて認証に使用されているが、ナンスＮを一度だけ使用される状態に保つために、ナンスＮには連続数を用いる方法と乱数を用いる方法とがある。通常、連続数を用いる方法では、あるビット幅内でナンスＮの値を逐次インクリメントする。しかし、以前のナンスＮの値を溜め込んで後でカウンタの一周後にタイミングよく再送する再送攻撃が他の機器より行われることも考えられるので、ビット幅はすぐに一杯にならないように大きな値でなければならない。
【０００５】
また、特表２００４−５２５５５８号公報に示されるように、ナンスＮは、暗号的に強力なランダム数生成装置によって生成される乱数を使用することによって、データのレコード暗号化と暗号解読のための一意的な識別子としての役割を果たすことができる。
【特許文献１】特許第３０７８８４１号公報
【特許文献２】特表２００４−５２５５５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来例であるセキュア通信方法にあっては、連続数を用いる方法でナンスを生成する場合には、何らかの障害によって認証機器の電源またはソフトウェアの再起動が発生すれば、認証機器の再起動時にナンスは同じ値から開始されるので、第三者からの攻撃を受けやすくなる。
【０００７】
そこで、認証機器の電源停止または内部ソフトウェアのリブート時に、過去に使用されたナンスをフラッシュメモリなどの記憶媒体に保持して、再起動時の新たにナンスを生成する場合に、記憶媒体に保持しているナンスの値を参照して、過去のナンスと同値とならないようにナンスを生成することが考えられる。しかし、フラッシュメモリなどの不揮発性メモリには、書き込み回数の制限があり、制限以上の書き込みを行うと動作が保証されないという問題がある。さらに、制限される書き込み回数が多いフラッシュメモリを用いることはコストがかかるといった問題もある。
【０００８】
また、第三者が起動時に生成されるナンスを推論することを困難にするために、ナンス生成に乱数を用いる方法を採用することが考えられるが、再起動直後の初期値以外のナンス生成にも乱数を用いる場合には、ナンスは、第三者による推論の可能性を低減するために、高価な乱数発生装置を用いて十分にランダムにする必要があり、コストがかかるといった問題点がある。
【０００９】
本願発明は、上記背景技術に鑑みて発明されたものであり、再起動が発生しうる認証機器において、再起動が発生した場合においても、第三者に容易に初期値を推測されることがないナンスを生成することができ、しかも低コストで実現可能なセキュア通信方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本願請求項１記載の発明では、ネットワークを介して認証機器が被認証機器を認証するセキュア通信方法であって、認証機器及び被認証機器は、前記認証に用いられる鍵を予め保持しており、認証機器は、乱数を発生させる乱数発生手段と、ナンスを生成するナンス生成手段と、前記鍵を用いたナンスの暗号化又は暗号化されたナンスの復号化の少なくとも一方を行うナンス暗号復号化手段と、ナンス又は暗号化されたナンスを被認証機器へ送信するナンス送信手段とを備え、被認証機器は、認証機器より送信されてきたナンスの前記鍵を用いた暗号化又は認証機器より送信されてきた前記暗号化されたナンスの前記鍵を用いた復号化を行う受信ナンス暗号復号化手段と、受信ナンス暗号復号化手段で暗号化されたナンス又は受信ナンス暗号復号化手段で復号化されたナンスを認証機器へ送信するナンス返信手段とを備え、乱数発生手段は、少なくとも認証機器の再起動時に、乱数を発生させるものであり、ナンス生成手段は、乱数発生手段で発生した乱数に基づいてナンスの初期値を生成するものであり、初期値以外の認証機器が被認証機器を認証する際の新たなナンスは、前回の認証に用いられたナンスをインクリメントして生成されるものであることを特徴としている。
【００１１】
本願請求項２記載の発明では、ネットワークを介して認証機器が被認証機器を認証するセキュア通信方法であって、認証機器及び被認証機器は、前記認証に用いられる鍵を予め保持しており、認証機器は、現在の時刻を生成する時刻生成手段と、ナンスを生成するナンス生成手段と、前記鍵を用いたナンスの暗号化又は暗号化されたナンスの復号化の少なくとも一方を行うナンス暗号復号化手段と、ナンス又は暗号化されたナンスを被認証機器へ送信するナンス送信手段とを備え、被認証機器は、認証機器より送信されてきたナンスの前記鍵を用いた暗号化又は認証機器より送信されてきた前記暗号化されたナンスの前記鍵を用いた復号化を行う受信ナンス暗号復号化手段と、受信ナンス暗号復号化手段で暗号化されたナンス又は受信ナンス暗号復号化手段で復号化されたナンスを認証機器へ送信するナンス返信手段とを備え、時刻生成手段は、少なくとも認証機器の再起動時に、現在の時刻を生成するものであり、ナンス生成手段は、時刻生成手段で生成した時刻に基づいてナンスの初期値を生成するものであり、初期値以外の認証機器が被認証機器を認証する際の新たなナンスは、前回の認証に用いられたナンスをインクリメントして生成されるものであることを特徴としている。
【００１２】
本願請求項３記載の発明では、ネットワークを介して認証機器が被認証機器を認証するセキュア通信方法であって、認証機器及び被認証機器は、前記認証に用いられる鍵を予め保持しており、認証機器は、乱数を発生させる乱数発生手段と、現在の時刻を生成する時刻生成手段と、ナンスを生成するナンス生成手段と、前記鍵を用いたナンスの暗号化又は暗号化されたナンスの復号化の少なくとも一方を行うナンス暗号復号化手段と、ナンス又は暗号化されたナンスを被認証機器へ送信するナンス送信手段とを備え、被認証機器は、認証機器より送信されてきたナンスの前記鍵を用いた暗号化又は認証機器より送信されてきた前記暗号化されたナンスの前記鍵を用いた復号化を行う受信ナンス暗号復号化手段と、受信ナンス暗号復号化手段で暗号化されたナンス又は受信ナンス暗号復号化手段で復号化されたナンスを認証機器へ送信するナンス返信手段とを備え、乱数発生手段は、少なくとも認証機器の再起動時に、乱数を発生させるものであり、時刻生成手段は、少なくとも認証機器の再起動時に、現在の時刻を生成するものであり、ナンス生成手段は、ナンスの上位桁に時刻生成手段で生成した時刻を用い、ナンスの下位桁に乱数発生手段で発生した乱数を用いてナンスの初期値を生成するものであり、初期値以外の認証機器が被認証機器を認証する際の新たなナンスは、前回の認証に用いられたナンスをインクリメントして生成されるものであることを特徴としている。
【００１３】
本願請求項４記載の発明では、上記請求項３記載のセキュア通信方法において、認証機器は、所定時間当たりの再起動頻度を検出するリブート頻度検出手段を備え、ナンス生成手段は、リブート頻度検出手段によって検出された所定時間当たりの再起動頻度に基づいて、生成するナンスの初期値の上位桁と下位桁の桁数比率を変更するものであることを特徴としている。
【発明の効果】
【００１４】
本願請求項１記載の発明のセキュア通信方法においては、認証機器及び被認証機器は、認証に用いられる鍵を予め保持し、認証機器は、乱数発生手段と、ナンス生成手段と、ナンス暗号復号化手段と、ナンス送信手段とを備え、被認証機器は、受信ナンス暗号復号化手段と、ナンス返信手段とを備えているので、認証機器は、共通鍵とナンスを用いることによって、被認証機器を認証することができる。
【００１５】
さらに、ナンス生成手段は、少なくとも認証機器の再起動時に、乱数発生手段で発生した乱数に基づいてナンスの初期値を生成するので、第三者が容易にナンスの初期値を推測することを防ぐことができる。また、認証機器は、初期値以外のナンスの生成について、前回の認証に用いたナンスをインクリメントして新たにナンスを生成するものであるので、ナンス生成手段は、常に異なるナンスを生成することができ、ナンスを一度だけ使用される状態に保つことができる。また、初期値以外のナンスは、連続的な数を用いる方法でナンスを生成することが可能であり、乱数を用いる必要がなく、低コスト化を実現できる。
【００１６】
本願請求項２記載の発明のセキュア通信方法においては、認証機器及び被認証機器は、認証に用いられる鍵を予め保持し、認証機器は、時刻生成手段と、ナンス生成手段と、ナンス暗号復号化手段と、ナンス送信手段とを備え、被認証機器は、受信ナンス暗号復号化手段と、ナンス返信手段とを備えているので、認証機器は、共通鍵とナンスを用いることによって、被認証機器を認証することができる。
【００１７】
さらに、ナンス生成手段は、少なくとも認証機器の再起動時に、時刻生成手段で生成した現在の時刻に基づいてナンスの初期値を生成するので、過去の少なくとも認証機器の再起動時に生成したナンスの初期値と同値となることがなく、常に異なるナンスの初期値を生成することができる。また、認証機器が被認証機器を認証する際にナンスをインクリメントして新たにナンスを生成するものであるので、常に異なるナンスを生成することができ、ナンスを一度だけ使用される状態に保つことができる。また、初期値以外のナンスは、連続的な数を用いる方法でナンスを生成することが可能であり、低コスト化を実現できる。
【００１８】
本願請求項３記載の発明のセキュア通信方法においては、認証機器及び被認証機器は、認証に用いられる鍵を予め保持し、認証機器は、乱数発生手段と、時刻生成手段と、ナンス生成手段と、ナンス暗号復号化手段と、ナンス送信手段とを備え、被認証機器は、受信ナンス暗号復号化手段と、ナンス返信手段とを備えているので、認証機器は、共通鍵とナンスを用いることによって、被認証機器を認証することができる。
【００１９】
さらに、ナンス生成手段は、少なくとも認証機器の再起動時に、時刻生成手段で生成した現在の時刻に基づいてナンスの上位桁を生成し、乱数発生手段で発生した乱数に基づいてナンスの下位桁を生成するものであるので、ナンスの値が起動時に同じ値から開始することとはならず、常に異なるナンスの初期値を生成することができ、ナンスを一度だけ使用される状態に保つことができる。
【００２０】
また、ナンス生成手段は、認証機器が被認証機器を認証する際に、ナンスをインクリメントして新たにナンスを生成するものであるので、インクリメントによるナンスの変化頻度の少ない上位桁を、変化が緩やかであり同値が生じない時刻に基づいて生成することによって、ナンスとして用いることができる数値の消費を抑えることができる。
【００２１】
また、ナンス生成手段が、ナンスの下位桁を乱数に基づいて生成することによって、認証機器の再起動が非常に短時間で発生した場合に、ナンスの下位桁が近い値とならないようにすることができる。このことによって、過去にインクリメントによって生成されたナンスと、認証機器の起動によって新たに生成されたナンスの初期値とが同値になることを防ぐことができる。
【００２２】
本願請求項４記載の発明のセキュア通信方法においては、特に、ナンス生成手段は、リブート頻度検出手段により検出された所定時間当たりの再起動頻度に基づいて、生成するナンスの上位桁と下位桁の桁数比率を変更するものであるので、再起動頻度が高い場合に、ナンスの上位桁の桁数比率を下げることができる。
【００２３】
認証機器が短時間に再起動を繰り返した場合には、ナンス生成手段は、ナンスの初期値の生成を頻繁に行うこととなるために、インクリメントによるナンスの生成を行う回数が少なくなるので、下位桁の使用可能な数値を十分に使用することがなく、上位桁を早く消費していくこととなる。この場合に、ナンスの上位桁の桁数を減らして、下位桁の桁数を増やすことによって、ナンスとして使用可能な数値を有効に使用することができる。
【発明を実施するための最良の形態】
【００２４】
図１〜図４は、本願発明の第１の実施形態であるセキュア通信方法を示している。例えば、図１に示すように、セキュア通信方法は、ネットワークを介して認証機器Ａが被認証機器Ｂを認証するセキュア通信方法であって、認証機器Ａ及び被認証機器Ｂは、前記認証に用いられる共通鍵Ｋａを予め保持しており、認証機器Ａは、乱数を発生させる乱数発生手段１ａと、ナンスＮを生成するナンス生成手段２ａと、前記共通鍵Ｋａを用いたナンスＮの暗号化又は暗号化されたナンスＥ（Ｎ）の復号化の少なくとも一方を行うナンス暗号復号化手段３ａと、ナンスＮ又は暗号化されたナンスＥ（Ｎ）を被認証機器Ｂへ送信するナンス送信手段４ａとを備え、被認証機器Ｂは、認証機器Ａより送信されてきたナンスＮの前記共通鍵Ｋａを用いた暗号化又は認証機器Ａより送信されてきた前記暗号化されたナンスＥ（Ｎ）の前記共通鍵Ｋａを用いた復号化を行う受信ナンス暗号復号化手段５ｂと、受信ナンス暗号復号化手段５ｂで暗号化されたナンスＥ（Ｎ）又は受信ナンス暗号復号化手段で復号化されたナンスＮを認証機器Ａへ送信するナンス返信手段６ｂとを備え、乱数発生手段１ａは、少なくとも認証機器Ａの再起動時に、乱数を発生させるものであり、ナンス生成手段２ａは、乱数発生手段１ａで発生した乱数に基づいてナンスＮの初期値Ｎ（１）を生成するものであり、初期値Ｎ（１）以外の認証機器Ａが被認証機器Ｂを認証する際の新たなナンスＮ（ｎ＋１）は、前回の認証に用いられたナンスＮ（ｎ）をインクリメントして生成されるものである。
【００２５】
以下、この実施形態のセキュア通信方法を、より具体的詳細に説明する。
【００２６】
図１に示す例は、同一の通信ネットワークに認証機器Ａ及び被認証機器Ｂが接続され、この二機器間での通信を行う場合に、認証機器Ａ及び被認証機器Ｂには予め共通鍵Ｋａが配布されており、さらに安全な認証を行うためには、一度だけ使用される数であるナンスＮが用いられる。また、認証機器Ａ及び被認証機器Ｂには、電源１１、中央処理装置１２、通信モジュール１３、揮発性メモリ１４、読み出し専用記憶装置１５が搭載されている。
【００２７】
電源１１は、認証機器Ａ及び被認証機器Ｂの電源を管理するものである。
【００２８】
認証機器Ａの中央処理装置１２ａは、乱数発生手段１ａと、ナンス生成手段２ａと、ナンス暗号復号化手段３ａと、ナンス送信手段４ａとを備えるものである。また、被認証機器Ｂの中央処理装置１２ｂは、受信ナンス暗号復号化手段５ｂと、ナンス返信手段６ｂとを備えるものである。この中央処理装置１２は、電源１１より電力が供給されて起動するものである。さらに、中央処理装置１２は、揮発性メモリ１４に一時的に保存されている乱数を読み出し、読み出し専用記憶装置１５に予め保存されている共通鍵ＫａとナンスＮを用いた暗号通信のプログラムを読み出し、各手段を用いることによって種々の演算を行い、通信モジュール１３へ他の機器である認証機器Ａ又は被認証機器Ｂとの送受信の命令を行うものである。
【００２９】
通信モジュール１３は、中央処理装置１２より命令を受けて、通信ネットワークを介して認証機器Ａ又は被認証機器Ｂとの通信を行うものである。
【００３０】
揮発性メモリ１４ａは、乱数発生手段１ａによって発生した乱数を一時的に保存するものであり、中央処理装置１２ａによって、乱数が読み出されてナンス生成手段２ａによってナンスＮの初期値Ｎ（１）の生成に用いられる。
【００３１】
読み出し専用記憶装置１５は、共通鍵ＫａとナンスＮを用いた暗号通信のプログラムが予め保存されており、中央処理装置１２よりこのプログラムが読み出されて実行される。
【００３２】
なお、揮発性メモリ１４にはＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が用いられ、読み出し専用記憶装置１５にはＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）が用いられる。
【００３３】
ここで、本明細書において、総称する場合にはアルファベットの添え字を省略した参照符号で示し、個別の構成を指す場合にはアルファベットの添え字を付した参照符号で示す。
【００３４】
次に、認証機器Ａと被認証機器Ｂとの間で、認証機器ＡによりナンスＮが生成され、被認証機器Ｂに対して認証を行って、実際にセッションが開始されるまでの通信内容を図２〜図４に基づいて説明する。
【００３５】
図２に示すように、認証機器Ａが再起動した場合、乱数発生手段１ａは、乱数を発生させる（Ｓ１０１）。なお、乱数は、推測されないように一様な乱数である必要がある。例えば、擬似乱数にハッシュ関数を用いて乱数の生成を行うことができる。この乱数は、揮発性メモリ１４ａに一時的に保存される（Ｓ１０２）。ナンス生成手段２ａは、揮発性メモリ１４ａに保存された乱数を読み出して、ナンスＮの初期値Ｎ（１）を生成し、揮発性メモリ１４ａへ初期値Ｎ（１）を保存する（Ｓ１０３）。生成されたナンスＮの初期値Ｎ（１）は、ナンス暗号復号化手段３ａによって、予め保持されている共通鍵Ｋａを用いて暗号化される（Ｓ１０４）。さらに、暗号化されたナンスＥ（Ｎ（１））は、ナンス送信手段４ａによって、被認証機器Ｂへ送信される（Ｓ１０５）。
【００３６】
なお、上記の再起動とは、認証機器Ａの電源１１が再起動するコールドリブート及びソフトウェアがリセットされてハードウェアチェックの一部を省略して高速に起動するウォームリブートの両方を含むものである。また、認証機器Ａは、製造後の初回の電源投入時に、上記再起動した場合と同様であるとして動作するものであってもよい。
【００３７】
次に、図３に示すように、被認証機器Ｂは、認証機器Ａより受信した暗号化されたナンスＥ（Ｎ（１））を受信ナンス暗号復号化手段５ｂによって、予め保持されている共通鍵Ｋａを用いてナンスＮ（１）へ復号化する（Ｓ１０６）。さらに、被認証機器Ｂは、復号化されたナンスＮ（１）をナンス返信手段６ｂによって、認証機器Ａに送信する（Ｓ１０７）。
【００３８】
認証機器Ａは、被認証機器Ｂより送信された復号化されたナンスＮ（１）を受信して（Ｓ１０８）、ナンス生成手段２ａによって生成したナンスＮ（１）との照合を行い（Ｓ１０９）、一致している場合には、被認証機器Ｂを認証し（Ｓ１１０）、認証機器Ａと被認証機器Ｂとの間のセッションが開始される。
【００３９】
再度、認証機器Ａと被認証機器Ｂの間でセッションを開始する場合は、図４に示すように、認証機器Ａは、揮発性メモリ１４ａに保存されている前回用いたナンスＮ（ｎ）を読み出し、ナンス生成手段２ａは、ナンスＮ（ｎ）をインクリメントしたナンスＮ（ｎ＋１）を生成し、生成されたナンスＮ（ｎ＋１）は、揮発性メモリ１４ａに保存される（Ｓ１５１）。さらに、生成されたナンスＮ（ｎ＋１）は、ナンス暗号復号化手段３ａ によって、予め保持されている共通鍵Ｋａを用いて暗号化される（Ｓ１５２）。暗号化されたナンスＥ（Ｎ（ｎ＋１））は、ナンス送信手段４ａ によって、被認証機器Ｂへ送信される（Ｓ１５３）。
【００４０】
次に、被認証機器Ｂは、認証機器Ａより受信した暗号化されたナンスＥ（Ｎ（ｎ＋１））を受信ナンス暗号復号化手段５ｂによって、予め保持されている共通鍵Ｋａを用いてナンスＮ（ｎ＋１）へ復号化する（Ｓ１５４）。さらに、被認証機器Ｂは、復号化されたナンスＮ（ｎ＋１）をナンス返信手段６ｂによって、認証機器Ａに送信する（Ｓ１５５）。
【００４１】
認証機器Ａは、被認証機器Ｂより送信された復号化されたナンスＮ（ｎ＋１）を受信して（Ｓ１５６）、ナンス生成手段２ａによって生成したナンスＮ（ｎ＋１）との照合を行い（Ｓ１５７）、一致している場合には、被認証機器Ｂを認証し（Ｓ１５８）、認証機器Ａと被認証機器Ｂとの間のセッションが再び開始される。
【００４２】
本実施形態の他の例として、認証機器Ａから被認証機器Ｂへ送られるナンスＮは、暗号化されず、被認証機器Ｂから認証機器Ａへ送られるナンスＮは暗号化されているセキュア通信方法がある。具体的には、認証機器Ａは、ナンス生成手段２ａによって生成されたナンスＮを暗号化せずに、ナンス送信手段４ａによって被認証機器Ｂへ送信する。被認証機器Ｂは、受信したナンスＮを受信ナンス暗号復号化手段５ｂによって、予め保持されている共通鍵Ｋａを用いて暗号化し、暗号化されたナンスＥ（Ｎ）をナンス返信手段６ｂによって認証機器Ａへ返信する。さらに、認証機器Ａは、受信した暗号化されたナンスＥ（Ｎ）をナンス暗号復号化手段３ａによって、予め保持されている共通鍵Ｋａを用いてナンスＮへ復号化する。次に認証機器Ａは、この復号化したナンスＮと自機の有しているナンス生成手段２ａによって生成されたナンスＮとの照合を行い、一致している場合には、被認証機器Ｂを認証し、認証機器Ａと被認証機器Ｂとの間のセッションが開始される。
【００４３】
上述したように、初期値以外のナンスＮ（ｎ＋１）は、前回用いられたナンスＮ（ｎ）をインクリメントすることによって生成されていく。ここで、初期値以外のナンスＮはインクリメントすることによって連続的な数として生成されるが、このインクリメントとしては、２以上の数が増加する演算を行ってもよく、また、減算していく演算を行ってもよい。
【００４４】
したがって、認証機器Ａ及び被認証機器Ｂは、共通鍵Ｋａを予め保持し、認証機器Ａは、乱数発生手段１ａと、ナンス生成手段２ａと、ナンス暗号復号化手段３ａと、ナンス送信手段４ａとを備え、被認証機器Ｂは、受信ナンス暗号復号化手段５ｂと、ナンス返信手段６ｂとを備えているので、認証機器Ａは、共通鍵ＫａとナンスＮを用いることによって、被認証機器Ｂを認証することができる。
【００４５】
さらに、ナンス生成手段２ａは、少なくとも認証機器Ａの再起動時に、乱数発生手段１ａで発生した乱数に基づいてナンスＮの初期値Ｎ（１）を生成するので、第三者が容易にナンスＮの初期値Ｎ（１）を推測することを防ぐことができる。また、認証機器Ａは、初期値以外のナンスＮの生成について、前回の認証に用いたナンスＮ（ｎ）をインクリメントして新たにナンスＮ（ｎ＋１）を生成するものであるので、ナンス生成手段２ａは、常に異なるナンスＮを生成することができ、ナンスＮを一度だけ使用される状態に保つことができる。また、初期値以外のナンスＮは、連続的な数を用いる方法でナンスＮを生成することが可能であり、乱数を用いる必要がなく、低コスト化を実現できる。
【００４６】
図５は、本願発明の第２の実施形態であるセキュア通信方法を示している。ここでは、上記第１の実施形態と相違する事項についてのみ説明し、その他の事項（構成、作用効果等）については、上記第１の実施形態と同様であるのでその説明を省略する。
【００４７】
図５に示すように、セキュア通信方法は、ネットワークを介して認証機器Ａが被認証機器Ｂを認証するセキュア通信方法であって、認証機器Ａ及び被認証機器Ｂは、前記認証に用いられる共通鍵Ｋａを予め保持しており、認証機器Ａは、現在の時刻を生成する時刻生成手段７ａと、ナンスＮを生成するナンス生成手段２ａと、前記共通鍵Ｋａを用いたナンスＮの暗号化又は暗号化されたナンスＥ（Ｎ）の復号化の少なくとも一方を行うナンス暗号復号化手段３ａと、ナンスＮ又は暗号化されたナンスＥ（Ｎ）を被認証機器Ｂへ送信するナンス送信手段４ａとを備え、被認証機器Ｂは、認証機器Ａより送信されてきたナンスＮの前記共通鍵Ｋａを用いた暗号化又は認証機器Ａより送信されてきた前記暗号化されたナンスＥ（Ｎ）の前記共通鍵Ｋａを用いた復号化を行う受信ナンス暗号復号化手段５ｂと、受信ナンス暗号復号化手段５ｂで暗号化されたナンスＥ（Ｎ）又は受信ナンス暗号復号化手段で復号化されたナンスＮを認証機器Ａへ送信するナンス返信手段６ｂとを備え、時刻生成手段７ａは、少なくとも認証機器Ａの再起動時に、現在の時刻を生成するものであり、ナンス生成手段２ａは、時刻生成手段７ａで生成した時刻に基づいてナンスＮの初期値Ｎ（１）を生成するものであり、初期値Ｎ（１）以外の認証機器Ａが被認証機器Ｂを認証する際の新たなナンスＮ（ｎ＋１）は、前回の認証に用いられたナンスＮ（ｎ）をインクリメントして生成されるものである。
【００４８】
以下、この実施形態のセキュア通信方法を、より具体的詳細に説明する。
【００４９】
図６に示すように、認証機器Ａが再起動した場合、時刻生成手段７ａは、現在の時刻を生成する（Ｓ２０１）。この時刻は、例えば、西暦年、月、日、時、分、秒を用いて構成されるものであり、揮発性メモリ１４ａに一時的に保存される（Ｓ２０２）。ナンス生成手段２ａは、揮発性メモリ１４ａに保存された時刻を読み出して、ナンスの初期値Ｎ（１）を生成し、揮発性メモリ１４ａへ初期値Ｎ（１）を保存する（Ｓ２０３）。
【００５０】
なお、ナンスの初期値Ｎ（１）を生成した後、被認証機器Ｂを認証するまでのステップＳ２０４以降の認証のステップは、第1の実施形態のステップＳ１０４〜ステップＳ１１０と同様である。
【００５１】
したがって、認証機器Ａ及び被認証機器Ｂは、共通鍵Ｋａを予め保持し、認証機器Ａは、時刻生成手段７ａと、ナンス生成手段２ａと、ナンス暗号復号化手段３ａと、ナンス送信手段４ａとを備え、被認証機器Ｂは、受信ナンス暗号復号化手段５ｂと、ナンス返信手段６ｂとを備えているので、認証機器Ａは、共通鍵ＫａとナンスＮを用いることによって、被認証機器Ｂを認証することができる。
【００５２】
さらに、ナンス生成手段２ａは、少なくとも認証機器Ａの再起動時に、時刻生成手段７ａで生成した現在の時刻に基づいてナンスＮの初期値Ｎ（１）を生成するので、過去の少なくとも認証機器Ａの再起動時に生成したナンスＮの初期値Ｎ（１）と同値となることがなく、常に異なるナンスＮの初期値Ｎ（１）を生成することができる。
【００５３】
図７は、本願発明の第３の実施形態であるセキュア通信システム及びセキュア通信方法を示している。ここでは、上記第１及び第２の実施形態と相違する事項についてのみ説明し、その他の事項（構成、作用効果等）については、上記第１及び第２の実施形態と同様であるのでその説明を省略する。
【００５４】
図７に示すように、ネットワークを介して認証機器Ａが被認証機器Ｂを認証するセキュア通信方法であって、認証機器Ａ及び被認証機器Ｂは、前記認証に用いられる共通鍵Ｋａを予め保持しており、認証機器Ａは、乱数を発生させる乱数発生手段１ａと、現在の時刻を生成する時刻生成手段７ａと、ナンスＮを生成するナンス生成手段２ａと、前記共通鍵Ｋａを用いたナンスＮの暗号化又は暗号化されたナンスＥ（Ｎ）の復号化の少なくとも一方を行うナンス暗号復号化手段３ａと、ナンスＮ又は暗号化されたナンスＥ（Ｎ）を被認証機器Ｂへ送信するナンス送信手段４ａとを備え、被認証機器Ｂは、認証機器Ａより送信されてきたナンスＮの前記共通鍵Ｋａを用いた暗号化又は認証機器Ａより送信されてきた前記暗号化されたナンスＥ（Ｎ）の前記共通鍵Ｋａを用いた復号化を行う受信ナンス暗号復号化手段５ｂと、受信ナンス暗号復号化手段５ｂで暗号化されたナンスＥ（Ｎ）又は受信ナンス暗号復号化手段で復号化されたナンスＮを認証機器Ａへ送信するナンス返信手段６ｂとを備え、乱数発生手段１ａは、少なくとも認証機器Ａの再起動時に、乱数を発生させるものであり、時刻生成手段７ａは、少なくとも認証機器Ａの再起動時に、現在の時刻を生成するものであり、ナンス生成手段２ａは、ナンスＮの上位桁に時刻生成手段７ａで生成した時刻を用い、ナンスＮの下位桁に乱数発生手段１ａで発生した乱数を用いてナンスＮの初期値Ｎ（１）を生成するものであり、初期値Ｎ（１）以外の認証機器Ａが被認証機器Ｂを認証する際の新たなナンスＮ（ｎ＋１）は、前回の認証に用いられたナンスＮ（ｎ）をインクリメントして生成されるものである。さらに、認証機器Ａは、所定時間当たりの再起動頻度を検出するリブート頻度検出手段８ａを備え、ナンス生成手段２ａは、リブート頻度検出手段８ａによって検出された所定時間当たりの再起動頻度に基づいて、生成するナンスＮの初期値Ｎ（１）の上位桁と下位桁の桁数比率を変更するものである。
【００５５】
以下、この実施形態のセキュア通信方法を、より具体的詳細に説明する。
【００５６】
図８に示すように、認証機器Ａが再起動した場合、時刻生成手段７ａは、現在の時刻を生成する（Ｓ３０１）。この時刻は、例えば、西暦年、月、日、時、分、秒を用いて構成されるものであり、揮発性メモリ１４ａに一時的に保存される（Ｓ３０２）。また、乱数発生手段１ａは、乱数を発生させる（Ｓ３０３）。この乱数も同様に、揮発性メモリ１４ａに一時的に保存される（Ｓ３０４）。ナンス生成手段２ａは、揮発性メモリ１４ａに保存された時刻及び乱数を読み出して、ナンスＮの初期値Ｎ（１）を生成する（Ｓ３０５）。
【００５７】
生成されるナンスＮ（１）は、上位桁を時刻で構成され、下位桁を乱数で構成されるものである。例えば、ナンスＮを３２ビットとすると、上位１６ビットが時刻、下位１６ビットが乱数となる。ここでは、ナンスＮの上位桁と下位桁ではインクリメントの頻度が異なることを利用して、インクリメントの頻度が小さい上位桁に変化が緩やかな時刻の値を用い、ナンスＮとして用いることができる数値の消費を抑えている。また、ナンス生成手段２ａは、下位桁に乱数を用いて、初期値Ｎ（１）を生成するので、再起動が非常に短時間で発生した場合においても、生成されるナンスＮ（１）が近い値となることを防止して、ナンスが一度だけ使用される状態を確保している。
【００５８】
さらに、リブート頻度検出手段８ａは、認証機器Ａの所定時間当たりの再起動頻度を検出して、この頻度をナンス生成手段２ａへ送信するものである。ナンス生成手段２ａは、受信した頻度よりナンスＮの上位桁と下位桁の桁数比率の設定を行うものである。
【００５９】
ここで、セッションの頻繁な更新による認証の頻度や再起動頻度を検出する方法は、揮発性メモリ１４ａなどに記憶された機器固有の再起動の頻度を得ることで可能である。例えば、再起動の頻度については、認証機器Ａがサーバであるかクライアントであるかによって電源の入り切り頻度又はソフトウェアリセット頻度が異なる。認証機器Ａがサーバであれば、電源の入り切り頻度又はソフトウェアリセット頻度は非常に少なく、認証機器Ａがクライアントであれば、電源の入り切り又はソフトウェアリセットが頻繁に発生する可能性が高い。
【００６０】
また、実際の再起動の回数をカウントすることによっても、所定時間当たりの再起動頻度を検出することができる。この場合、リブート頻度検出手段８ａは、所定時間当たりの再起動頻度を定期的にナンス生成手段２ａへ送信し、ナンス生成手段２ａは、上位桁と下位桁の桁数比率を受信した頻度に応じて自動的に変更することができる。
【００６１】
リブート頻度検出手段８ａで検出された所定時間当たりの再起動頻度が高い場合には、ナンス生成手段２ａは、上位桁の桁数比率を小さくしてナンスＮの生成を行う。ナンスＮの上位桁は、認証機器の起動した時刻を用いて生成されるので、再起動頻度が高い場合、ナンスＮの上位桁の更新が頻繁に行われる。このため、ナンス生成手段２ａは、使用可能なナンスＮの下位桁の数値を十分に使用せずに上位桁を消費してしまい、ナンスＮの使用可能範囲を早く使い切ることとなる。
【００６２】
このような再起動頻度が高い場合に、ナンスＮの上位桁の桁数比率を減少させることによって、上位桁の早期の消費を防止することができる。例えば、上位桁として、西暦年、月、時、分、秒を用いていたものから、西暦年、月、時を用いるものへ桁数を減らす場合、認証機器Ａの再起動が短い時間に頻発した場合には、上位桁が前回の初期値と同値となり、上位桁の消費を抑えることができる。この場合においても、ナンスＮの下位桁は、乱数によって生成されるので、前回の初期値と同値になることを防ぐことが可能である。
【００６３】
なお、ナンスの初期値Ｎ（１）を生成した後、被認証機器Ｂを認証するまでのステップＳ３０６以降の認証のステップは、第1の実施形態のステップＳ１０４〜ステップＳ１１０と同様である。
【００６４】
したがって、認証機器Ａ及び被認証機器Ｂは、共通鍵Ｋａを予め保持し、認証機器Ａは、乱数発生手段１ａと、時刻生成手段７ａと、ナンス生成手段２ａと、ナンス暗号復号化手段３ａと、ナンス送信手段４ａとを備え、被認証機器Ｂは、受信ナンス暗号復号化手段５ｂと、ナンス返信手段６ｂとを備えているので、認証機器Ａは、共通鍵ＫａとナンスＮを用いることによって、被認証機器Ｂを認証することができる。
【００６５】
さらに、ナンス生成手段２ａは、少なくとも認証機器Ａの再起動時に、時刻生成手段７ａで生成した現在の時刻に基づいてナンスＮの上位桁を生成し、乱数発生手段１ａで発生した乱数に基づいてナンスＮの下位桁を生成するものであるので、ナンスＮの値が起動時に同じ値から開始することとはならず、常に異なるナンスＮの初期値Ｎ（１）を生成することができ、ナンスＮを一度だけ使用される状態に保つことができる。
【００６６】
また、ナンス生成手段２ａは、認証機器Ａが被認証機器Ｂを認証する際に、ナンスＮ（ｎ）をインクリメントして新たにナンスＮ（ｎ＋１）を生成するものであるので、インクリメントによるナンスＮの変化頻度の少ない上位桁を、変化が緩やかであり同値が生じない時刻に基づいて生成することによって、ナンスＮとして用いることができる数値の消費を抑えることができる。
【００６７】
また、ナンス生成手段２ａが、ナンスＮの下位桁を乱数に基づいて生成することによって、認証機器Ａの再起動が非常に短時間で発生した場合に、下位桁が近い値とならないようにすることができる。
【００６８】
このことによって、過去にインクリメントによって生成されたナンスＮと、認証機器Ａの起動によって新たに生成されたナンスＮの初期値Ｎ（１）が同値になることを防ぐことができる。
【００６９】
さらに、ナンス生成手段２ａは、リブート頻度検出手段８ａにより検出された所定時間当たりの再起動頻度に基づいて、生成するナンスＮの上位桁と下位桁の桁数比率を変更するものであるので、再起動頻度が高い場合に、ナンスＮの上位桁の桁数比率を下げることができる。
【００７０】
認証機器が短時間に再起動を繰り返した場合には、ナンス生成手段２ａは、初期値Ｎ（１）の生成を頻繁に行うこととなるために、インクリメントによるナンスＮの生成を行う回数が少なくなるので、下位桁の使用可能な数値を十分に使用することがなく、上位桁を早く消費していくこととなる。この場合に、ナンスの上位桁の桁数を減らして、下位桁の桁数を増やすことによって、ナンスＮとして使用可能な数値を有効に使用することができる。
【００７１】
なお、本願発明の互いに通信可能な通信機器は、認証機器及び被認証機器の両機能を有することができ、認証、被認証の区別なく、いずれの通信機器同士でもナンスＮ及び共通鍵Ｋａを用いたセキュア通信方法を使用することができるので、システム構築の自由度を高めることができる。
【００７２】
例えば、本願発明の第３の実施形態は以下の構成とすることができる。
【００７３】
図９に示すように、認証機器Ａは、中央処理装置１２ａに、受信ナンス暗号復号化手段５ａとナンス返信手段６ａとを備えることによって、被認証機器としての機能を併せて備えることができる。また、被認証機器Ｂは、中央処理装置１２ｂに、乱数発生手段１ｂと、ナンス生成手段２ｂと、ナンス暗号復号化手段３ｂと、ナンス送信手段４ｂと、時刻生成手段７ｂと、リブート頻度検出手段８ｂとを備えることによって、認証機器としての機能を併せて備えることができる。
【００７４】
また、第１及び第２の実施形態の認証機器及び被認証機器も同様の構成を有することによって、認証機器及び被認証機器の両機能を有することができる。
【００７５】
なお、第１〜第３の実施形態では、認証機器ＡにおいてナンスＮを生成して、被認証機器Ｂを認証する片方向認証についての例を示したが、被認証機器Ｂにおいて同様にナンスＮを生成して、片方向認証と組み合わせた双方向認証を行うこともできる。さらに、複数機器間で通信を行うシステム場合にも、本願発明のセキュア通信方法を使用することができ、相互認証、第三者を介在する認証など、ナンスＮを用いた様々な認証方式を行うこともできる。
【００７６】
上記の第１〜第３の実施形態は、一つのシンプルな組込みデバイスにおける例であり、さらに、実装される暗号処理を行う装置が許容できれば、様々な認証のためのオプションを付加した形が考えられる。
上記の本願発明の実施形態以外にも暗号アルゴリズムを用いた認証方式は様々なパターンが考えられる。
【００７７】
例えば、ＩＳＯ／ＩＥＣの９７９８−２標準として２者間の通信を認証するメカニズムが存在する。この認証メカニズムは、タイムスタンプを用いた片方向認証方式やナンスＮを用いた相互認証方式である。ここで、タイムスタンプを用いた片方向認証方式は、ナンスＮは必要としない認証方式である。
【００７８】
ナンスＮを用いた相互認証方式では、図１０に示すように、機器ｂから機器ａへ機器ｂのナンスＮｂを送り、機器ａは機器ｂに機器ａのナンスＮａと機器ｂのナンスＮｂおよび機器ｂへのメッセージを識別するため“ｂ”という値を付けて共通鍵Ｋａｂで暗号化して
｛Ｎａ、Ｎｂ、Ｂ｝Ｋａｂを送り、機器ｂは、機器ａに復号化した機器ａのナンスＮａを自身のナンスＮｂと共に共通鍵Ｋａｂで暗号化して｛Ｎｂ、Ｎａ｝Ｋａｂを送っている。括弧内はＫａｂによって暗号化されていることを示している。
【００７９】
また、第三者認証方式でも幅広くナンスＮが用いられている。図１１に示した例では、機器ａと機器ｂの間が直接認証を行わず、信頼できる第三者機器Ｐとで認証を行うものである。機器ａは機器Ｐに送信したい通信相手の識別のために“ａ”、“ｂ”の値およびナンスＮａを送信する。機器Ｐは機器ａと機器Ｐの間の共通鍵ＫａｐでナンスＮａと、識別の値“ｂ”と、機器ａと機器ｂとの間の共通鍵Ｋａｂ、および機器ｂのみが復号できるように共通鍵Ｋａｂと“ａ”の値を機器ｂと機器Ｐの間の共通鍵Ｋｂｐで暗号化したメッセージをさらにＫａｐで暗号化し、｛Ｎａ、ｂ、Ｋａｂ、｛Ｋａｂ、ａ｝Ｋｂｐ｝Ｋａｐとして機器ａに送る。機器ａはＫａｐでそのメッセージを復号化し、｛Ｋａｂ、ａ｝Ｋｂｐを機器ｂに送る。機器ｂはＫｂｐでそのメッセージを復号しＫａｂを得る。生成したナンスＮｂを得られたＫａｂで暗号化して機器ａに送る。機器ａはそのメッセージを復号化し、受け取った証にＮｂから１引いた値をＫａｂで暗号化して機器ｂに送る。
【００８０】
また、上記の第１〜第３の実施形態では、認証機器Ａと被認証機器Ｂの認証に共通鍵Ｋａｂを用いたが、暗号を用いた認証方式においては秘密裏に渡された認証機器Ａの鍵、被認証機器Ｂの鍵を片方、または双方で保持して認証してもよい。また、公開鍵の仕組みを使えば、認証機器Ａ、被認証機器Ｂの公開鍵を用いて、復号化時にはそれぞれ公開鍵に対する秘密鍵を用いればよい。
【００８１】
例えば、ＩＳＯ／ＩＥＣの９７９８−３標準として公開鍵暗号を用いた認証方式もある。認証としてタイムスタンプを用いた片方向認証方式を用いる場合には、ナンスＮは必要とされない。ＣＡ（ＰＫａ）は機器ａの公開鍵ＰＫａが機器ａの証明書に含まれている。ＳＩＧＮ（Ｔａ、ｂ）ＰＫａ−１は機器ａの公開鍵に対する秘密鍵ＰＫａ−１でデジタル署名を行っている。機器ａは機器ｂに対して、ＣＡ（ＰＫａ）、Ｔａ、ｂ、ＳＩＧＮ（Ｔａ、ｂ）ＰＫａ−１を送信して認証が行われる。ここで、Ｔａはタイムスタンプである。“ｂ”は機器ｂへのメッセージであるという識別の値である。
【００８２】
また、図１２に示した例では、機器ｂから機器ａへ機器ｂのナンスＮｂを送り、機器ａは機器ｂに機器ａの公開鍵ＰＫａを含む証明書ＣＡ（ＰＫａ）、機器ａのナンスＮａ、機器ｂへのメッセージの識別の値“ｂ”、およびＮａ、Ｎｂ、“ｂ”を秘密鍵ＰＫａ−１でデジタル署名してＣＡ（ＰＫａ）、Ｎａ、ｂ、ＳＩＧＮ（Ｎａ、Ｎｂ、ｂ）ＰＫａ−１を送り、機器ｂは機器ａに機器ｂの公開鍵ＰＫｂを含む証明書ＣＡ（ＰＫａ）、機器ａへのメッセージの識別の値“ａ”、およびＮｂ、Ｎａ、ａを秘密鍵ＰＫｂ−１でデジタル署名してＣＡ（ＰＫｂ）、ａ、ＳＩＧＮ（Ｎｂ、Ｎａ、ａ）ＰＫｂ−１を送っている。括弧内はＫａｂによって暗号化されていることを示している。
【００８３】
また、上記の第１〜第３の実施形態では、暗号鍵によるメッセージの暗号化を用いた認証だけを取り上げたが、それ以外にも暗号化よりも処理が高速なハッシュ系の技術を用いた２者間の認証プロトコルも存在する。
【００８４】
図１３に示した例では、機器ａが暗号化していないナンスＮａを機器ｂに送り、機器ｂは暗号化されていないナンスＮｂと共通鍵ＫｂａでＮａ、Ｎｂと“ｂ”を、高速なハッシュ系の技術を用いた処理をして機器ａに送り、機器ａは同様にＮａとＮｂを、高速なハッシュ系の技術を用いた処理をして送るものである。
【００８５】
このように、ＩＳＯ／ＩＥＣの標準の例では、タイムスタンプ方式を除けば、ナンスＮを用いた認証方式は多岐に渡る。
【図面の簡単な説明】
【００８６】
【図１】本願発明の第１の実施形態であるセキュア通信方法の構成を示すブロック構成図である。
【図２】同セキュア通信システムにおけるナンス生成と通信認証のフローチャート及びシーケンス図である。
【図３】同セキュア通信システムにおけるナンス生成と通信認証のフローチャート及びシーケンス図である。
【図４】同セキュア通信システムにおけるナンス生成と通信認証のフローチャート及びシーケンス図である。
【図５】本願発明の第２の実施形態であるセキュア通信方法の構成を示すブロック構成図である。
【図６】同セキュア通信システムにおけるナンス生成と通信認証のフローチャート及びシーケンス図である。
【図７】本願発明の第３の実施形態であるセキュア通信方法の構成を示すブロック構成図である。
【図８】同セキュア通信システムにおけるナンス生成と通信認証のフローチャート及びシーケンス図である。
【図９】本願発明の第３の実施形態の変形例であるセキュア通信システムの構成を示すブロック構成図である。
【図１０】２機器間の通信を認証するメカニズムの一例を示すフローチャートである。
【図１１】２機器間の通信を認証するメカニズムの一例を示すフローチャートである。
【図１２】２機器間の通信を認証するメカニズムの一例を示すフローチャートである。
【図１３】２機器間の通信を認証するメカニズムの一例を示すフローチャートである。
【図１４】従来例であるセキュア通信システムの認証プロトコルを示すフローチャートである。
【符号の説明】
【００８７】
Ａ  認証機器
Ｂ  被認証機器
Ｋａ  共通鍵
１  乱数発生手段
２  ナンス生成手段
３  ナンス暗号復号化手段
４  ナンス送信手段
５  受信ナンス暗号復号化手段
６  ナンス返信手段
７  時刻生成手段
８  リブート頻度検出手段
１１  電源
１２  中央処理装置
１３  通信モジュール
１４  揮発性メモリ
１５  読み出し専用記憶装置
【図１】
2008141667.tif 000003
【図２】
2008141667.tif 000004
【図３】
2008141667.tif 000005
【図４】
2008141667.tif 000006
【図５】
2008141667.tif 000007
【図６】
2008141667.tif 000008
【図７】
2008141667.tif 000009
【図８】
2008141667.tif 000010
【図９】
2008141667.tif 000011
【図１０】
2008141667.tif 000012
【図１１】
2008141667.tif 000013
【図１２】
2008141667.tif 000014
【図１３】
2008141667.tif 000015
【図１４】
2008141667.tif 000016