(57)【要約】【課題】再起動が発生しうる被認証機器において、再起動が発生してもナンスの一意性を保つことによって攻撃を防御でき、しかも低コストで実現可能なセキュア通信システム及びセキュア通信方法を提供する。【解決手段】被認証機器である通信機器Ａａが電源投入されて起動した後に不揮発性メモリ１３ａより数値データを読み出すメモリ読み出し手段８ａと、読み出した数値データをナンスＮとして記憶装置１２ａに記憶させる記憶装置書き込み手段１０ａと、前記数値データに所定の演算を行った結果を不揮発性メモリ１３ａに書き込むメモリ書き込み手段９ａと、を備えるものであり、メモリ読み出し手段８ａにより読み出した数値データをナンスＮの上位桁に用いられるセキュア通信システムＩ及びセキュア通信方法である。【選択図】図１
2008108230.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して認証機器が被認証機器を認証するセキュア通信システムであって、被認証機器は、中央処理装置と記憶装置と不揮発性メモリとを備え、被認証機器の中央処理装置は、メモリ読み出し手段と記憶装置書き込み手段とメモリ書き込み手段とを有し、メモリ読み出し手段は、被認証機器が電源投入されて起動した後に不揮発性メモリより数値データを読み出すものであり、記憶装置書き込み手段は、読み出した数値データをナンスに用いるものとして記憶装置へ記憶させるものであり、メモリ書き込み手段は、前記数値データに所定の演算を行った結果を不揮発性メモリに書き込むものであることを特徴とするセキュア通信システム。
【請求項２】
メモリ書き込み手段は、数値データに所定の演算を行った結果を、被認証機器の電源がＯＦＦされた後に補助電源を用いて不揮発性メモリに書き込むものであることを特徴とする請求項１記載のセキュア通信システム。
【請求項３】
メモリ書き込み手段は、メモリ読み込み手段によって不揮発性メモリより数値データが読み出された直後に、前記数値データに所定の演算を行った結果を不揮発性メモリに書き込むものであることを特徴とする請求項１記載のセキュア通信システム。
【請求項４】
記憶装置書き込み手段は、メモリ読み出し手段により読み出した数値データをナンスの上位桁に用いるものであることを特徴とする請求項１乃至３のいずれか一項に記載のセキュア通信システム。
【請求項５】
記憶装置書き込み手段は、通信セッション毎にナンスの下位桁をインクリメントし、下位桁が桁あふれした場合に上位桁をインクリメントして記憶装置へ記憶させるものであり、メモリ書き込み手段は、上位桁がインクリメントされたときに該上位桁を数値データとして不揮発性メモリに書き込むものであることを特徴とする請求項４記載のセキュア通信システム。
【請求項６】
記憶装置書き込み手段は、ナンスの下位桁を、被認証機器の電源起動時に、全てゼロとするものであることを特徴とする請求項４又は５記載のセキュア通信システム。
【請求項７】
ネットワークを介して認証機器が被認証機器を認証するセキュア通信方法であって、被認証機器は、中央処理装置と記憶装置と不揮発性メモリとを備え、被認証機器の中央処理装置は、メモリ読み出し手段と記憶装置書き込み手段とメモリ書き込み手段とを有し、メモリ読み出し手段は、被認証機器が電源投入されて起動した後に不揮発性メモリより数値データを読み出し、記憶装置書き込み手段は、読み出した数値データをナンスに用いるものとして記憶装置へ記憶させ、メモリ書き込み手段は、前記数値データに所定の演算を行った結果を不揮発性メモリに書き込むことを特徴とするセキュア通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、通信ネットワークのセキュリティに関し、特に、互いに通信可能な通信機器間でナンスを用いた安全な暗号鍵の配布を行うセキュア通信システム及びセキュア通信方法に関する。
【背景技術】
【０００２】
互いに通信可能な通信機器に基づく通信ネットワークにおいて、被認証機器と認証機器との間で通信確立を行い、実際にデータの送受信を実施するにあたり、相手の通信機器が信頼関係を保証する機器であるか否かを確認した上で通信を行うことが、安全な通信ネットワークを構築するためには非常に重要である。そこで、安全な通信システムを実現するために、従来から様々な認証プロトコルやキー配布プロトコルが用いられている。
【０００３】
例えば、特許第３０７８８４１号公報に示されるように、機器Ａと機器Ｂの二機器間での通信を行う場合に、それぞれの機器には予め秘密に共通の鍵Ｋａｂが配布されており、さらに安全な認証を行うためには、予測不能な一度だけ使用される数であるナンスＮが用いられる。図１０に示すように、このプロトコルの実行は、ブロック５０１から開始され、機器Ａが、自機の名称Ａと生成したナンスＮａｂを機器Ｂに送る。機器Ａからのメッセージを受け取る際に、共有キーＫａｂ、ナンスＮａｂ、機器Ｂによって生成される新ナンスＮｂａおよびメッセージ発信元である自機の名称Ｂに基づく認証関数ＡＵＴＨ（Ｋａｂ、Ｎａｂ、Ｎｂａ、Ｂ）が、機器Ｂによって計算される。ブロック５０２を参照すると、この認証関数の値とナンスＮｂａが、機器Ｂから機器Ａに送られる。機器Ｂからのメッセージを受け取る際に、機器Ａは、認証関数ＡＵＴＨ（Ｋａｂ、Ｎａｂ、Ｎｂａ、Ｂ）の値を再計算し、機器Ｂが送ったメッセージ内の対応物と比較する。これが一致すると、機器Ｂの認証がもたらされる。その後、機器Ａは、両方向認証を完了するため、共有キーＫａｂ、ナンスＮａｂおよびナンスＮｂａに基づくもう１つの認証関数ＡＣＫ（Ｋａｂ、Ｎａｂ、Ｎｂａ）の値を計算する。ブロック５０３を参照すると、認証関数ＡＣＫ（Ｋａｂ、Ｎａｂ、Ｎｂａ）の値が機器Ａから機器Ｂへ送られる。機器Ａからのメッセージを受け取る際に、機器Ｂは、認証関数ＡＣＫ（Ｋａｂ、Ｎａｂ、Ｎｂａ）の値を再計算し、機器Ａが送ったメッセージの対応物と比較する。これが一致すると、機器Ａの認証がもたらされる。
【０００４】
ここで、生成時点より以前に生成されていない値を生成する方法を用いて、機器Ａ及び機器Ｂによって予測不能な一度だけ使用される数であるナンスＮが生成されて認証に使用されているが、ナンスＮの一意性を保つために、ナンスＮには連続数を用いる方法と乱数を用いる方法とがある。通常、連続数を用いる方法では、あるビット幅内でナンスＮの値を逐次インクリメントする。しかし、以前のナンスＮの値を溜め込んで後でカウンタの一周後にタイミングよく再送する再送攻撃が他の機器より行われることも考えられるので、ビット幅はすぐに一杯にならないように大きな値でなければならない。また、乱数を用いる方法では、擬似乱数を用いると、推論が行われてしまう可能性があるので、十分にランダムである必要がある。
【特許文献１】特許第３０７８８４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来例であるセキュア通信システム及びセキュア通信方法にあっては、連続数を用いる方法でナンスを生成する場合には、何らかの障害によって被認証機器の電源が再起動することが発生すれば、被認証機器の電源起動時にナンスは同じ値から開始されるので攻撃を受けやすくなる。また、電源起動時のナンスを同じ値としないために、乱数を用いる方法を採用することが考えられるが、乱数は十分にランダムである必要があり、コストがかかるといった問題点がある。
【０００６】
本願発明は、上記背景技術に鑑みて発明されたものであり、再起動が発生しうる被認証機器において、再起動が発生してもナンスの一意性を保つことによって攻撃を防御でき、しかも低コストで実現可能なセキュア通信システム及びセキュア通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本願請求項１記載の発明では、ネットワークを介して認証機器が被認証機器を認証するセキュア通信システムであって、被認証機器は、中央処理装置と記憶装置と不揮発性メモリとを備え、被認証機器の中央処理装置は、メモリ読み出し手段と記憶装置書き込み手段とメモリ書き込み手段とを有し、メモリ読み出し手段は、被認証機器が電源投入されて起動した後に不揮発性メモリより数値データを読み出すものであり、記憶装置書き込み手段は、読み出した数値データをナンスに用いるものとして記憶装置へ記憶させるものであり、メモリ書き込み手段は、前記数値データに所定の演算を行った結果を不揮発性メモリに書き込むものであることを特徴としている。
【０００８】
本願請求項２記載の発明では、上記請求項１記載のセキュア通信システムにおいて、メモリ書き込み手段は、数値データに所定の演算を行った結果を、被認証機器の電源がＯＦＦされた後に補助電源を用いて不揮発性メモリに書き込むものであることを特徴としている。
【０００９】
本願請求項３記載の発明では、上記請求項１記載のセキュア通信システムにおいて、メモリ書き込み手段は、メモリ読み込み手段によって不揮発性メモリより数値データが読み出された直後に、前記数値データに所定の演算を行った結果を不揮発性メモリに書き込むものであることを特徴としている。
【００１０】
本願請求項４記載の発明では、上記請求項１乃至３のいずれか一項に記載のセキュア通信システムにおいて、記憶装置書き込み手段は、メモリ読み出し手段により読み出した数値データをナンスの上位桁に用いるものであることを特徴としている。
【００１１】
本願請求項５記載の発明では、上記請求項４記載のセキュア通信システムにおいて、記憶装置書き込み手段は、通信セッション毎にナンスの下位桁をインクリメントし、下位桁が桁あふれした場合に上位桁をインクリメントして記憶装置へ記憶させるものであり、メモリ書き込み手段は、上位桁がインクリメントされたときに該上位桁を数値データとして不揮発性メモリに書き込むものであることを特徴としている。
【００１２】
本願請求項６記載の発明では、上記請求項４又は５記載のセキュア通信システムにおいて、記憶装置書き込み手段は、ナンスの下位桁を、被認証機器の電源起動時に、全てゼロとするものであることを特徴としている。
【００１３】
本願請求項７記載の発明では、ネットワークを介して認証機器が被認証機器を認証するセキュア通信方法であって、被認証機器は、中央処理装置と記憶装置と不揮発性メモリとを備え、被認証機器の中央処理装置は、メモリ読み出し手段と記憶装置書き込み手段とメモリ書き込み手段とを有し、メモリ読み出し手段は、被認証機器が電源投入されて起動した後に不揮発性メモリより数値データを読み出し、記憶装置書き込み手段は、読み出した数値データをナンスに用いるものとして記憶装置へ記憶させ、メモリ書き込み手段は、前記数値データに所定の演算を行った結果を不揮発性メモリに書き込むことを特徴としている。
【発明の効果】
【００１４】
本願請求項１記載の発明のセキュア通信システムにおいては、被認証機器が起動したときに、不揮発性メモリより数値データを読み出し、読み出した数値データをナンスとして記憶装置に記憶され、さらに、数値データに所定の演算を行った結果を不揮発性メモリに書き込むことによって、被認証機器の電源が再起動した場合でも、再起動前に次のナンスに用いられる数値データを不揮発性メモリに保存されているので、再起動後すでに保存された数値データをナンスとして利用することによって、ナンスの値が再起動時に同じ値から開始することとはならず、常に異なるナンスを生成することができ、ナンスの一意性を保つことができる。また、連続数を用いる方法でナンスを生成することが可能であり、乱数を用いる必要がなく、低コスト化を実現できる。
【００１５】
本願請求項２記載の発明のセキュア通信システムにおいては、特に、被認証機器の電源がＯＦＦされた後に補助電源を用いて次のナンスに用いられる数値データを不揮発性メモリに保存するので、最終に使用されたナンスの値を確実に捕らえることができ、この最終のナンスの値より次のナンスに用いられる数値データを算出し保存することができるので、ナンスの一意性を保つ精度を向上させることができる。
【００１６】
本願請求項３記載の発明のセキュア通信システムにおいては、特に、不揮発性メモリに保存されている数値データを読み出した直後に次のナンスに用いられる数値データを不揮発メモリに書き込み保存することで、常に再起動後のナンスに用いられる数値データを予め保存しておくことができるので、被認証機器の突然の電源ＯＦＦにも対応することができる。
【００１７】
本願請求項４記載の発明のセキュア通信システムにおいては、特に、不揮発メモリより読み出した数値データをナンスの上位桁に用いるので、不揮発性メモリに書き込む数値データの桁数を少なくすることができ、このことによって、不揮発性メモリの使用するメモリ領域を削減することができる。
【００１８】
本願請求項５記載の発明のセキュア通信システムにおいては、特に、通信セッション毎にナンスの下位桁をインクリメントし下位桁が桁あふれした場合に上位桁をインクリメントし、上位桁がインクリメントされたときにこの上位桁を数値データとして不揮発性メモリに書き込むので、上位桁の変化回数は下位桁の変化回数より少なく、不揮発性メモリへの書き込み回数を削減することができる。
【００１９】
本願請求項６記載の発明のセキュア通信システムにおいては、特に、被認証機器の起動時にナンスの下位桁を全てゼロとすることで、ナンスとして用いることのできる有効な数をより多く確保することができる。
【００２０】
本願請求項７記載の発明のセキュア通信方法においては、被認証機器が起動したときに、不揮発性メモリより数値データを読み出し、読み出した数値データをナンスとして記憶装置に記憶され、さらに、数値データに所定の演算を行った結果を不揮発性メモリに書き込むことによって、被認証機器の電源が再起動した場合でも、再起動前に次のナンスに用いられる数値データを不揮発性メモリに保存されているので、再起動後すでに保存された数値データをナンスとして利用することによって、ナンスの値が再起動時に同じ値から開始することとはならず、常に異なるナンスＮを生成することができ、ナンスの一意性を保つことができる。また、連続数を用いる方法でナンスを生成することが可能であり、乱数を用いる必要がなく、低コスト化を実現できる。
【発明を実施するための最良の形態】
【００２１】
図１〜図６は、本願発明の第１の実施形態であるセキュア通信システム及びセキュア通信方法を示している。例えば、図１〜図６に示すように、被認証機器である通信機器Ａａは中央処理装置３ａと記憶装置１２ａとを備え、該中央処理装置３ａは暗号鍵要請手段４ａと暗号鍵受信手段６ａと暗号鍵通信確立手段７ａとを有し、認証機器である通信機器Ａｂは中央処理装置３ｂと記憶装置１２ｂを備え、該中央処理装置３ｂは暗号鍵送付手段５ｂと暗号鍵通信確立手段７ｂとを有し、暗号鍵要請手段４ａは被認証機器である通信機器Ａａにおいてその記憶装置１２ａから読み出したナンスを通信ネットワーク上の認証機器である通信機器Ａｂに送付し暗号鍵の送付要請を行うものであり、暗号鍵送付手段５ｂは被認証機器である通信機器Ａａの暗号鍵要請手段４ａが送付した暗号鍵の送付要請を受信した認証機器である通信機器Ａｂにおいて、前記ナンス及び記憶装置１２ｂに記憶された暗号鍵を被認証機器である通信機器Ａａへ送付するものであり、暗号鍵受信手段６ａは暗号鍵の送付要請を行った被認証機器である通信機器Ａａにおいて、認証機器より送付される前記ナンス及び前記暗号鍵を受信するものであり、暗号鍵通信確立手段７ａは、被認証機器である通信機器Ａａにおいてその暗号鍵受信手段６ａが受信したナンスと暗号鍵要請手段４ａが送付したナンスが一致するか否かを判断した上で、暗号鍵を用いて認証機器である通信機器Ａｂとの通信状態を確立するものであり、該通信機器Ａ同士がナンスを用いた安全な暗号鍵を配布して通信を行うセキュア通信システムＩであって、被認証機器である通信機器Ａａは不揮発性メモリ１３ａを備え、中央処理装置３ａはメモリ読み出し手段８ａと記憶装置書き込み手段１０ａとメモリ書き込み手段９ａとを有し、メモリ読み出し手段８ａは通信機器Ａａが電源投入されて起動した後に不揮発性メモリ１３ａより数値データを読み出すものであり、記憶装置書き込み手段１０ａは読み出した数値データをナンスに用いるものとして記憶装置１２ａへ記憶させるものであり、メモリ書き込み手段９ａは前記数値データに所定の演算を行った結果を不揮発性メモリ１３ａに書き込むものである。
【００２２】
また、メモリ書き込み手段９ａは、メモリ読み込み手段８ａによって不揮発性メモリ１３ａより数値データが読み出された直後に、前記数値データに所定の演算を行った結果を不揮発性メモリ１３ａに書き込むものである。
【００２３】
また、記憶装置書き込み手段１０ａは、メモリ読み出し手段８ａにより読み出した数値データをナンスの上位桁に用いられ、通信セッション毎にナンスの下位桁をインクリメントし、下位桁が桁あふれした場合に上位桁をインクリメントして記憶装置１２ａへ記憶させるものであり、メモリ書き込み手段９ａは、上位桁がインクリメントされたときに該上位桁を数値データとして不揮発性メモリ１３ａに書き込むものである。さらに、記憶装置書き込み手段１０ａは、ナンスの下位桁を、被認証機器である通信機器Ａａの電源起動時に、全てゼロとするものである。
【００２４】
以下、この実施形態のセキュア通信システムを、より具体的詳細に説明する。図１に示す例は、同一の通信ネットワークに被認証機器である通信機器Ａａ及び認証機器である通信機器Ａｂが接続され、この二機器間での通信を行う場合に、それぞれの通信機器Ａには予め秘密に共通の鍵Ｋａｂが配布されており、さらに安全な認証を行うためには、予測不能な一度だけ使用される数であるナンスＮが用いられる。また、通信機器Ａａには、電源１ａ、補助電源２ａ、中央演算装置３ａ、通信モジュール１１ａ、記憶装置１２ａ、不揮発性メモリ１３ａが搭載され、通信機器Ａｂには、電源１ｂ、中央演算装置３ｂ、通信モジュール１１ｂ、記憶装置１２ｂが搭載されている。なお、記憶装置１２ａ及び１２ｂにはＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が用いられる。
【００２５】
ここで、本明細書において、総称する場合にはアルファベットの添え字を省略した参照符号で示し、個別の構成を指す場合にはアルファベットの添え字を付した参照符号で示す。
【００２６】
次に、ナンスＮに１０進数で６桁の数字を用い、上位桁、下位桁がそれぞれ３桁とした場合を例に挙げて、通信機器Ａａと通信機器Ａｂとの間で、通信機器Ａａによりナンスが生成され、通信機器Ａｂに対して暗号鍵を要請して通信確立を行って、実際にセッションが開始されるまでの通信内容を説明する。
【００２７】
図２に示すように、通信機器Ａａは工場出荷時点の初期段階では、不揮発性メモリ１３ａに上位桁である数値データ「００１」が予め書き込まれている。通信機器Ａａに電源が投入されて起動した場合、メモリ読み出し手段８ａによって不揮発性メモリ１３ａに書き込まれている数値データ「００１」を読み出して（Ｓ１００）、「００１」を上位桁とし、下位桁の初期値としての「０００」と組み合わせてナンスＮａｂの値として「００１０００」を記憶装置書き込み手段１０ａによって記憶装置１２ａに記憶される（Ｓ１０３）。また、下位桁の初期値を「０００」と全てゼロとすることで、ナンスＮａｂとして用いることのできる有効な数をより多く確保することができる。さらに、メモリ読み出し手段８ａによって数値データ「００１」を読み出された（Ｓ１００）直後には、読み込まれた上位桁「００１」にインクリメントした数値データ「００２」を算出し（Ｓ１０１）、メモリ書き込み手段９ａによって、この数値データを不揮発性メモリ１３ａに書き込まれる（Ｓ１０２）。
【００２８】
ここで、通信機器Ａａは生成したナンスＮａｂである「００１０００」を記憶装置１２ａより読み出して、自機の名称である「Ａａ」と共に同一の通信ネットワーク上に存在する通信機器Ａｂに通信モジュール１１ａを用いて送付し、暗号鍵要請手段４ａによって、暗号鍵Ｋｂａの送付要請を行う（Ｓ１０４）。暗号鍵Ｋｂａの送付要請を受信した（Ｓ１０５）通信機器Ａｂは、暗号鍵送付手段５ｂによって、通信機器Ａａより受信したナンスＮａｂ、共有の鍵Ｋａｂ、通信機器Ａｂが有している暗号鍵Ｋｂａ及び自機の名称Ａｂに基づく認証関数Ｆ（Ｋａｂ、Ｎａｂ、Ｋｂａ、Ａｂ）を計算し（Ｓ１０６）、この認証関数Ｆの値を機器Ａａに対して送付する（Ｓ１０７）。
【００２９】
次に、図３に示すように、通信機器Ａａは、暗号鍵受信手段６ａによって、通信機器Ａｂからのメッセージを受け取った（Ｓ１０８）場合に、通信機器Ａｂが用いた認証関数Ｆの内容が予め共有されているので、暗号鍵通信確立手段７ａによって、認証関数Ｆ（Ｋａｂ、Ｎａｂ、Ｋｂａ、Ａｂ）よりＫａｂ、Ｎａｂ、Ｋｂａ、Ａｂを算出でき（Ｓ１０９）、機器Ａｂが送ったメッセージの内容と、自機で保持している共有の鍵Ｋａｂと生成したナンスＮａｂとを比較する（Ｓ１１０）。これが一致すると、通信機器Ａｂの認証がもたらされる（Ｓ１１１）。
【００３０】
その後、通信機器Ａａは、両方向認証を完了するため、共有の鍵Ｋａｂ、ナンスＮａｂおよび通信機器Ａｂから取得した暗号鍵Ｋｂａに基づいてもう１つの認証関数Ｆ‘（Ｋａｂ、Ｎａｂ、Ｋｂａ）の値を計算する（Ｓ１１２）。そして、認証関数Ｆ‘（Ｋａｂ、Ｎａｂ、Ｋｂａ）の値が通信機器Ａａから通信機器Ａｂへ送られる（Ｓ１１３）。通信機器Ａａからのメッセージを受け取った場合に（Ｓ１１４）、通信機器Ａｂは、通信機器Ａａが用いた認証関数Ｆ‘の内容を予め有しているので、暗号鍵通信確立手段７ｂによって、認証関数Ｆ‘（Ｋａｂ、Ｎａｂ、Ｋｂａ）よりＫａｂ、Ｎａｂ、Ｋｂａを算出でき（Ｓ１１５）、機器Ａａが送ったメッセージの内容と、自機で保持している共有の鍵Ｋａｂ、ナンスＮａｂ、暗号鍵Ｋｂａとを比較する（Ｓ１１６）。これが一致すると、通信機器Ａａの認証がもたらされる（Ｓ１１７）。
【００３１】
この両方向認証が終了すると通信機器Ａａと通信機器Ａｂとの間で初めてセッションを開始することができる。一度セッションが終了した場合、二機器間での両方向認証を新たに行わなければ、再度セッションを開始することはできない。なお、セッションとは、二機器間で暗号鍵を用いて行う一連の暗号化通信をいう。
【００３２】
図４に示すように、新たなセッションを開始する場合には、新たにナンスＮを生成することになるが、前回生成されたナンスＮａｂは「００１０００」の下位桁にインクリメントした「００１００１」を新たなナンスＮａｂとする（Ｓ１５０）。このように、新たなセッションを開始する度に、新たなナンスＮａｂは前回生成したナンスＮａｂの値の下位桁をインクリメントすることによって生成されることを繰り返し行われる。
【００３３】
次に、通信機器Ａａに何らかの障害が発生し、電源１ａが再起動した場合について説明する。例えば、図５に示すように、ナンスＮａｂを「００１０００」として通信確立し、セッションを行っているときに、通信機器Ａａの電源１ａが再起動した場合（Ｓ２００）、メモリ読み出し手段８ａによって不揮発性メモリ１３ａに既に書き込まれている数値データ「００２」を読み出される（Ｓ２０１）。さらに、下位桁の初期値としての「０００」と組み合わせてナンスＮａの値として「００２０００」が、記憶装置書き込み手段１０ａによって記憶装置１２ａに記憶される（Ｓ２０２）。また、数値データ「００２」が不揮発性メモリ１３ａからの読み出しが実行された直後には、読み込まれた上位桁「００２」にインクリメントした「００３」が、メモリ書き込み手段９ａによって不揮発性メモリ１３ａに書き込まれる（Ｓ２０３）。このことによって、通信機器Ａａは、起動直後に生成するナンスＮａｂを、常に異なる上位桁を用いて生成することができるので、突然の再起動が発生しても、必ず異なるナンスＮａｂを生成することができる。
【００３４】
また、複数のセッションを実施していくとナンスＮａｂの値は順次インクリメントされていくが、例えば、図６に示すように、上位桁が「００２」であって下位桁が「９９９」となった場合、すなわちナンスＮａｂが「００２９９９」となった場合には、次のナンスＮａｂは下位桁が桁あふれするので、上位桁をインクリメントして、「００３０００」とし、記憶装置書き込み手段１０ａによって記憶装置１２ａに書き込まれる（Ｓ３００）。上位桁が「００２」から「００３」へインクリメントされたために、不揮発性メモリ１３ａには次の上位桁として用いる数値データとして「００４」がメモリ書き込み手段９ａによって書き込まれる（Ｓ３０１）。このことによって、常に現在使用されている上位桁より１大きい値を不揮発性メモリ１３ａに保存されることとなるため、通信機器Ａａが再起動した場合でも、起動後に生成されるナンスＮａｂの上位桁は、起動前に使用されていた上位桁と必ず異なった値となるため、ナンスＮａｂも必ず異なった値となり、ナンスＮａｂの一意性を保つことができる。
【００３５】
したがって、被認証機器である通信機器Ａａが起動したときに、不揮発性メモリ１３ａより数値データを読み出し、読み出した数値データをナンスＮとして記憶装置１２ａに記憶され、さらに、数値データに所定の演算を行った結果を不揮発性メモリ１３ａに書き込むことによって、被認証機器である通信機器Ａａの電源１ａが再起動した場合でも、再起動前に次のナンスＮに用いられる数値データを不揮発性メモリ１３ａに保存されているので、再起動後すでに保存された数値データをナンスＮとして利用することによって、ナンスＮの値が再起動時に同じ値から開始することとはならず、常に異なるナンスＮを生成することができ、ナンスＮの一意性を保つことができる。また、連続数を用いる方法でナンスＮを生成することが可能であり、乱数を用いる必要がなく、低コスト化を実現できる。
【００３６】
さらに、不揮発性メモリ１３ａに保存されている数値データを読み出した直後に次のナンスＮに用いられる数値データを不揮発メモリ１３ａに書き込み保存することで、常に再起動後のナンスＮに用いられる数値データを予め保存しておくことができるので、被認証機器である通信機器Ａａの突然の電源ＯＦＦにも対応することができる。
【００３７】
また、不揮発メモリ１３ａより読み出した数値データをナンスＮの上位桁に用いるので、不揮発性メモリ１３ａに書き込む数値データの桁数を少なくすることができ、このことによって、不揮発性メモリ１３ａの使用するメモリ領域を削減することができる。
【００３８】
しかも、通信セッション毎にナンスＮの下位桁をインクリメントし下位桁が桁あふれした場合に上位桁をインクリメントし、上位桁がインクリメントされたときにこの上位桁を数値データとして不揮発性メモリ１３ａに書き込むので、上位桁の変化回数は下位桁の変化回数より少なく、不揮発性メモリ１３ａへの書き込み回数を削減することができる。
【００３９】
さらに、被認証機器である通信機器Ａａの起動時にナンスＮの下位桁を全てゼロとすることで、ナンスＮとして用いることのできる有効な数をより多く確保することができる。
【００４０】
図７は、本願発明の第２の実施形態であるセキュア通信システム及びセキュア通信方法を示している。ここでは、上記第１の実施形態と相違する事項についてのみ説明し、その他の事項（構成、作用効果等）については、上記第１の実施形態と同様であるのでその説明を省略する。図７に示すように、被認証機器である通信機器Ａａの電源１ａがＯＦＦした場合に（Ｓ４００）、補助電源２ａを用いて現在使用されている上位桁「００１」をインクリメントした値である数値データ「００２」を算出し（Ｓ４０１）、この数値データ「００２」がメモリ書き込み手段９ａによって不揮発性メモリ１３ａに書き込まれる（Ｓ４０２）。
【００４１】
ここで、補助電源２ａには、コンデンサを利用することもでき、また短時間電源供給のできるバッテリーでもよい。また、数値データ「００２」を算出する（Ｓ４０１）は電源１ａがＯＦＦした後に実行せずに、電源１ａが起動しているいずれの時に行ってもよい。
【００４２】
したがって、通信機器Ａａの電源１ａがＯＦＦされた直後に補助電源２ａを用いて次のナンスＮに用いられる数値データを不揮発性メモリ１３ａに保存するので、最終に使用されたナンスＮの値を確実に捕らえることができ、この最終のナンスＮの値より次のナンスＮに用いられる数値データを算出し保存することができるので、ナンスＮの一意性を保つ精度を向上させることができる。
【００４３】
図８は、本願発明の第３の実施形態であるセキュア通信システム及びセキュア通信方法を示している。ここでは、上記第１及び第２の実施形態と相違する事項についてのみ説明し、その他の事項（構成、作用効果等）については、上記第１及び第２の実施形態と同様であるのでその説明を省略する。図８に示すように、使用されるナンスＮを上位桁と下位桁に分割することなく全ての桁を不揮発性メモリ１３ａへ書き込むこともできる。
【００４４】
被認証機器である通信機器Ａａは工場出荷時点の初期段階では、不揮発性メモリ１３ａに数値データ「０００００１」が予め書き込まれている。通信機器Ａａに電源が投入されて起動した場合、メモリ読み出し手段８ａによって不揮発性メモリ１３ａに書き込まれている数値データ「０００００１」を読み出し（Ｓ５００）、ナンスＮａｂの値として「００１０００」を記憶装置書き込み手段１０ａによって記憶装置１２ａに記憶される（Ｓ５０３）。さらに、メモリ読み出し手段８ａによって数値データ「０００００１」を読み出された（Ｓ５００）後には、読み込まれた「０００００１」にインクリメントした数値データ「０００００２」を算出し（Ｓ５０１）、メモリ書き込み手段９ａによって、この数値データを不揮発性メモリ１３ａに書き込まれる（Ｓ５０２）。
【００４５】
ここで、通信機器Ａａは生成したナンスＮａｂである「０００００１」を記憶装置１２ａより読み出して、自機の名称である「Ａａ」と共に同一の通信ネットワーク上に存在する通信機器Ａｂに通信モジュール１１ａを用いて送付し、暗号鍵要請手段４ａによって、暗号鍵Ｋｂａの送付要請を行う（Ｓ５０４）。
【００４６】
したがって、被認証機器である通信機器Ａａが起動したときに、不揮発性メモリ１３ａより数値データを読み出し、読み出した数値データをナンスＮとして記憶装置１２ａに記憶され、さらに、数値データに所定の演算を行った結果を不揮発性メモリ１３ａに書き込むことによって、通信機器Ａａの電源１ａが再起動した場合でも、再起動前に次のナンスＮに用いられる数値データを不揮発性メモリ１３ａに保存されているので、再起動後すでに保存された数値データをナンスＮとして利用することによって、ナンスＮの値が再起動時に同じ値から開始することとはならず、常に異なるナンスＮを生成することができ、ナンスＮの一意性を保つことができる。また、連続数を用いる方法でナンスＮを生成することが可能であり、乱数を用いる必要がなく、低コスト化を実現できる。
【００４７】
本願発明の第１〜第３の実施形態は以下の構成とすることができる。図９に示すように、被認証機器である通信機器Ａａにおいて、中央処理装置３ａに暗号鍵送付手段５ａを有することによって、認証機器としての機能を併せて備えることができる。また、認証機器である通信機器Ａｂにおいて、記憶装置１２ｂと不揮発性メモリ１３ｂと補助電源２ｂを備え、中央処理装置３ｂに暗号鍵要請手段４ｂと暗号鍵受信手段６ｂとメモリ読み出し手段８ｂと記憶装置書き込み手段１０ｂとメモリ書き込み手段９ｂとを有することによって、被認証機器としての機能を併せて備えることができる。
【００４８】
したがって、通信機器Ａは被認証機器及び認証機器の両機能を有することができるので、認証、被認証の区別なく、いずれの通信機器Ａ同士でもナンスＮ及び暗号鍵を用いたセキュア通信システムＩを構築することができるので、システム構築の自由度が高まる。
【００４９】
なお、第１〜第３の実施形態では二機器間の通信に関しての例を示したが、複数機器間で通信を行うシステム場合にも、本願発明のセキュア通信システムＩを構築及び本願発明のセキュア通信方法を使用することができる。
【００５０】
また、ナンスＮの上位桁及び下位桁、またはナンスＮの全ての桁はインクリメントされることによって、一度だけ使用される数とされる第１〜第３の実施形態を示したが、２以上の数が増加する演算を行ってもよく、また、減算していく演算を行ってもよい。
【図面の簡単な説明】
【００５１】
【図１】本願発明の第１の実施形態であるセキュア通信システムの構成を示すブロック構成図である。
【図２】同セキュア通信システムにおけるナンス生成と通信認証のフローチャート及びシーケンス図である。
【図３】同セキュア通信システムにおけるナンス生成と通信認証のフローチャート及びシーケンス図である。
【図４】同セキュア通信システムにおけるナンスの下位桁をインクリメントしてナンスを生成する場合のフローチャート及びシーケンス図である。
【図５】同セキュア通信システムにおける電源が再起動した場合のナンス生成のフローチャート及びシーケンス図である。
【図６】同セキュア通信システムにおけるナンスの下位桁が桁あふれした場合に上位桁をインクリメントするフローチャート及びシーケンス図である。
【図７】本願発明の第２の実施形態であるセキュア通信システムにおける通信機器の電源がＯＦＦした場合に、補助電源を用いて再起動後に使用するナンスの上位桁の数値データを保存する場合のフローチャート及びシーケンス図である。
【図８】本願発明の第３の実施形態であるセキュア通信システムにおけるナンス生成と通信認証のフローチャート及びシーケンス図である。
【図９】本願発明の第１〜第３の実施形態の変形例であるセキュア通信システムの構成を示すブロック構成図である。
【図１０】従来例であるセキュア通信システムの認証プロトコルを示すフローチャートである。
【符号の説明】
【００５２】
Ｉ  セキュア通信システム
Ａ  通信機器
１  電源
２  補助電源
３  中央演算装置
４  暗号鍵要請手段
５  暗号鍵送付手段
６  暗号鍵受信手段
７  暗号鍵通信確立手段
８  メモリ読み出し手段
９  メモリ書き込み手段
１０  記憶装置書き込み手段
１１  通信モジュール
１２  記憶装置
１３  不揮発性メモリ
【図１】
2008108230.tif 000003
【図２】
2008108230.tif 000004
【図３】
2008108230.tif 000005
【図４】
2008108230.tif 000006
【図５】
2008108230.tif 000007
【図６】
2008108230.tif 000008
【図７】
2008108230.tif 000009
【図８】
2008108230.tif 000010
【図９】
2008108230.tif 000011
【図１０】
2008108230.tif 000012