(57)【要約】【課題】安全性の高い暗号通信を提供可能な通信装置を得ること。【解決手段】認証側の通信装置１０Ａが、乱数を生成し、自身を識別するための固有情報および乱数を被認証側の通信装置１０Ｂに送信するとともに、この乱数から第１の乱数および第２の乱数を生成し、固有情報および第１の乱数と装置間で共有するマスター鍵とを用いた暗号化処理により一時鍵を生成し、第２の乱数を一時鍵で暗号化して第１の検証データを生成し、さらに、第１の検証データと、被認証側の通信装置１０Ｂにより固有情報および乱数に基づき生成され送られてきた第２の検証データとを比較検証することにより、被認証側の通信装置に対する認証処理を行う。【選択図】        図２
2009278565.tif 000002
【特許請求の範囲】
【請求項１】
被認証側の通信装置と暗号通信を行う通信装置であって、
乱数を生成する認証側乱数生成手段と、
自身を識別するための固有情報および前記乱数を前記被認証側の通信装置に送信するとともに、前記乱数に所定の処理を施して第１の乱数および第２の乱数を生成し、前記固有情報および前記第１の乱数と装置間で共有するマスター鍵とを用いた暗号化処理により一時鍵を生成する認証側制御手段と、
前記第２の乱数を前記一時鍵で暗号化して第１の検証データを生成する認証側暗号処理手段と、
を備え、
前記認証側制御手段は、さらに、前記第１の検証データと、前記被認証側の通信装置により前記固有情報および前記乱数に基づき生成され送られてきた第２の検証データとを比較検証することにより、前記被認証側の通信装置に対する認証処理を行うことを特徴とする通信装置。
【請求項２】
前記被認証側の通信装置が生成した乱数と連接された状態で、前記第２の検証データを受信した場合、受信データを予め規定された位置で分離することにより、前記第２の検証データを得ることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記第２の検証データが前記被認証側の通信装置が生成した乱数でマスクされ、かつ当該マスクデータと当該乱数が連接された状態で、前記第２の検証データを受信した場合、受信データを予め規定された位置で分離することによりマスクデータと乱数とを分離し、当該乱数を用いて当該マスクデータのマスクを解除することにより、前記第２の検証データを得ることを特徴とする請求項１に記載の通信装置。
【請求項４】
前記認証側制御手段は、前記所定の処理として、前記乱数の一部または全部を２分割し、一方を第１の乱数とし、他方を第２の乱数とすることを特徴とする請求項１、２または３に記載の通信装置。
【請求項５】
前記認証側制御手段は、前記所定の処理として、前記乱数の一部を共有する第１の乱数および第２の乱数を生成することを特徴とする請求項１、２または３に記載の通信装置。
【請求項６】
前記認証側制御手段にて生成した一時鍵が過去に生成した一時鍵と同じであると判断された場合、前記認証側暗号処理手段は、前記第１の検証データの生成を中止することを特徴とする請求項１〜５のいずれか一つに記載の通信装置。
【請求項７】
前記認証側制御手段は、前記固有情報および前記第１の乱数を、前記マスター鍵を用いて暗号化し、その結果を一時鍵とすることを特徴とする請求項１〜６のいずれか一つに記載の通信装置。
【請求項８】
前記認証側制御手段は、前記固有情報および前記第１の乱数を連接したデータ系列を所定の回数にわたってインクリメント演算し、当該演算前後の各データ系列を、前記マスター鍵を用いてそれぞれ暗号化し、得られた各暗号化データを連接したデータ系列に対してさらにハッシュ演算を行い、その結果を一時鍵とすることを特徴とする請求項１〜６のいずれか一つに記載の通信装置。
【請求項９】
前記請求項１に記載の通信装置として動作する認証側の通信装置と暗号通信を行う通信装置であって、
前記認証側の通信装置から送られてくる固有情報および乱数を受信した場合に、当該乱数に所定の処理を施して第３の乱数および第４の乱数を生成し、前記固有情報および前記第４の乱数と装置間で共有するマスター鍵とを用いた暗号化処理により一時鍵を生成する被認証側制御手段と、
前記第４の乱数を前記一時鍵で暗号化して第２の検証データを生成する被認証側暗号処理手段と、
を備え、
前記被認証側制御手段は、さらに、前記第２の検証データを前記認証側の通信装置に送信することを特徴とする通信装置。
【請求項１０】
前記請求項１に記載の通信装置として動作する認証側の通信装置と暗号通信を行う通信装置であって、
前記認証側の通信装置から送られてくる固有情報および乱数を受信した場合に、当該乱数に所定の処理を施して第３の乱数および第４の乱数を生成し、前記固有情報および前記第４の乱数と装置間で共有するマスター鍵とを用いた暗号化処理により一時鍵を生成する被認証側制御手段と、
前記第４の乱数を前記一時鍵で暗号化して第２の検証データを生成する被認証側暗号処理手段と、
乱数を生成する被認証側乱数生成手段と、
を備え、
前記被認証側制御手段は、前記第２の検証データおよび前記被認証側乱数生成手段により生成された乱数に基づき生成した送信系列を、前記認証側の通信装置に送信することを特徴とする通信装置。
【請求項１１】
前記送信系列を、前記第２の検証データと前記被認証側乱数生成手段により生成された乱数とを連接することにより生成することを特徴とする請求項１０に記載の通信装置。
【請求項１２】
前記送信系列を、前記第２の検証データを前記被認証側乱数生成手段により生成された乱数でマスクし、当該マスクデータと当該乱数とを連接することにより生成することを特徴とする請求項１０に記載の通信装置。
【請求項１３】
前記被認証側制御手段は、前記所定の処理として、前記認証側の通信装置から送られてきた乱数の一部または全部を２分割し、一方を第３の乱数とし、他方を第４の乱数とすることを特徴とする請求項９〜１２のいずれか一つに記載の通信装置。
【請求項１４】
前記被認証側制御手段は、前記所定の処理として、前記認証側の通信装置から送られてきた乱数の一部を共有する第３の乱数および第４の乱数を生成することを特徴とする請求項９〜１２のいずれか一つに記載の通信装置。
【請求項１５】
前記被認証側制御手段にて生成した一時鍵が過去に生成した一時鍵と同じであると判断された場合、前記被認証側暗号処理手段は、前記第２の検証データの生成を中止することを特徴とする請求項９〜１４のいずれか一つに記載の通信装置。
【請求項１６】
前記被認証側制御手段は、前記固有情報および前記第３の乱数を、前記マスター鍵を用いて暗号化し、その結果を一時鍵とすることを特徴とする請求項９〜１５のいずれか一つに記載の通信装置。
【請求項１７】
前記被認証側制御手段は、前記固有情報および前記第３の乱数を連接したデータ系列を所定の回数にわたってインクリメント演算し、当該演算前後の各データ系列を、前記マスター鍵を用いてそれぞれ暗号化し、得られた各暗号化データを連接したデータ系列に対してさらにハッシュ演算を行い、その結果を一時鍵とすることを特徴とする請求項９〜１５のいずれか一つに記載の通信装置。
【請求項１８】
前記請求項１に記載の通信装置の機能と、
前記請求項９に記載の通信装置の機能と、
を有し、
認証側または被認証側として動作可能なことを特徴とする通信装置。
【請求項１９】
前記請求項２に記載の通信装置の機能と、
前記請求項１１に記載の通信装置の機能と、
を有し、
認証側または被認証側として動作可能なことを特徴とする通信装置。
【請求項２０】
前記請求項３に記載の通信装置の機能と、
前記請求項１２に記載の通信装置の機能と、
を有し、
認証側または被認証側として動作可能なことを特徴とする通信装置。
【請求項２１】
前記請求項１に記載の通信装置として動作する認証側の通信装置と、
前記請求項９に記載の通信装置として動作する被認証側の通信装置と、
を含むことを特徴とする通信システム。
【請求項２２】
前記請求項２に記載の通信装置として動作する認証側の通信装置と、
前記請求項１１に記載の通信装置として動作する被認証側の通信装置と、
を含むことを特徴とする通信システム。
【請求項２３】
前記請求項３に記載の通信装置として動作する認証側の通信装置と、
前記請求項１２に記載の通信装置として動作する被認証側の通信装置と、
を含むことを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号通信を行う通信装置および通信システムに関する。
【背景技術】
【０００２】
従来、様々な暗号通信システムが提案されている。たとえば、下記特許文献１では、固有情報をＩＶとし、チャレンジデータをｒａｗとして暗号キーを生成し、そのチャレンジデータを暗号キーで暗号化して検証データを作成し、公衆通信網を利用して暗号キーを通知している。
【０００３】
【特許文献１】特開２００６−３３９９６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献１の技術では、固有情報をＩＶとし、チャレンジデータをｒａｗとして暗号キーを生成しており、固有情報，チャレンジデータともに秘密情報ではない。このため、暗号キー生成方法が推測され、暗号キーを盗まれる恐れがある、という問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、より安全性の高い暗号通信を提供可能な通信装置および通信システムを得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、被認証側の通信装置と暗号通信を行う通信装置であって、乱数を生成する認証側乱数生成手段と、自身を識別するための固有情報および前記乱数を前記被認証側の通信装置に送信するとともに、前記乱数に所定の処理を施して第１の乱数および第２の乱数を生成し、前記固有情報および前記第１の乱数と装置間で共有するマスター鍵とを用いた暗号化処理により一時鍵を生成する認証側制御手段と、前記第２の乱数を前記一時鍵で暗号化して第１の検証データを生成する認証側暗号処理手段と、を備え、前記認証側制御手段は、さらに、前記第１の検証データと、前記被認証側の通信装置により前記固有情報および前記乱数に基づき生成され送られてきた第２の検証データとを比較検証することにより、前記被認証側の通信装置に対する認証処理を行うことを特徴とする。
【発明の効果】
【０００７】
この発明によれば、鍵生成および暗号処理に使用されるデータは、装置外部からの把握が困難となり、より安全性の高い暗号通信を提供することが可能となる、という効果を奏する。また、連接された固有情報と乱数から一時鍵を作成するので、検証データを作成するための一時鍵は毎回変わることとなるので、選択的平文攻撃などへの耐性を向上させることが可能となり、さらに安全性の高い暗号通信を提供できる、という効果を奏する。
【発明を実施するための最良の形態】
【０００８】
以下に、本発明にかかる通信装置および通信システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【０００９】
実施の形態１．
図１は、本発明にかかる通信装置の実施の形態１の構成例を示す図である。図１の通信装置１０は、通信部１と、ＣＰＵやロジック回路、シーケンスＲＯＭなどで構成される制御部２と、不揮発メモリ３と、乱数生成部４と、暗号処理部５と、を備えている。通信部１は、通信データの送受信を行う機能部であって、たとえば、スマートカード用の接触式インターフェースや非接触式インターフェース，パラレルインターフェース，シリアルインターフェース，ＩＥＥＥ１３９４やＵＳＢなどの有線インターフェース，赤外線通信／Ｂｌｕｅｔｏｏｔｈ／無線ＬＡＮ／ＤＳＲＣ／携帯電話などの無線インターフェース、などが用いられる。
【００１０】
制御部２は、通信装置１０全体を制御するとともに、通信部１で受信した通信データを解析し、また、自身が送信する通信データを作成する。不揮発メモリ３は、暗号処理時に使用する固有情報や、マスター鍵といった秘密情報等を保持する。ここで、固有情報は、通信装置１０の固体番号やＩＤといった情報であって、特に秘密情報ではない。また、マスター鍵は、予め装置間で共有している。乱数生成部４は、乱数を発生させる。暗号処理部５は、通信データを暗号化または復号化する。
【００１１】
ここで、以上のように構成された通信装置を用いた認証処理の動作を説明する。認証を行う側の通信装置を通信装置１０Ａとし、認証される側の通信装置を通信装置１０Ｂとする。通信装置１０Ａおよび１０Ｂは、いずれも通信装置１０と同じ構成を有する。
【００１２】
図２は、本実施の形態における通信装置（通信装置１０Ａおよび１０Ｂ）の相互認証の動作を示すシーケンス図である。通信装置１０Ａの制御部２は、不揮発メモリ３から固有情報を読み出し（ステップＳ１）、伝送するためのフォーマットの変換などを行う。つぎに、制御部２は、乱数生成部４に乱数の発生の指令を発行し、これを受けた乱数生成部４は、乱数を生成して（ステップＳ２）、制御部２に出力する。そして、制御部２は、固有情報および乱数を連接し、通信部１を介して通信装置１０Ｂに向けて送信する（ステップＳ３）。
【００１３】
また、通信装置１０Ａの制御部２は、ステップＳ２で生成された乱数を２つのパートに分割して乱数＃１と乱数＃２とし、固有情報および乱数＃１を連接したものと、乱数＃２とを得る。
【００１４】
固有情報と乱数を連接したイメージを乱数の様々な分割例について示す。図３−１は、固有情報と乱数をそのまま連接した状態を示す図である。図３−２は、乱数のビット列を２分割した例を示す図である。図３−３は、乱数のビット列を２分割した別の例として、乱数＃２、乱数＃１の順に配置した例を示す図である。図３−４は、乱数の一部のビットを使用せずに、乱数＃１と乱数＃２とに分割した例を示す図である。図３−５は、乱数の一部のビットを、乱数＃１と乱数＃２の双方に用いた例を示す図である。このように、乱数は、様々な分割の仕方が可能である。分割の方法は、各通信装置内に予め設定されており、固定的であってもいいし、所定のルールに則って変動してもよい。
【００１５】
つぎに、通信装置１０Ａの制御部２は、不揮発メモリ３からマスター鍵を読み出す。そして、連接した固有情報および乱数＃１を平文とし、マスター鍵を暗号鍵として一時鍵を作成する（ステップＳ４）。図４は、一時鍵の作成方法を説明するための図である。
【００１６】
つぎに、通信装置１０Ａの制御部２は、上記で作成した一時鍵および乱数＃２と、暗号化処理の命令を暗号処理部５に通知する。命令を受信した暗号処理部５は、乱数＃２を平文とし、通知された一時鍵を暗号鍵として暗号演算を行い、検証データ＃１を作成して（ステップＳ５）、制御部２に出力する。
【００１７】
一方、通信装置１０Ｂの通信部１が通信装置１０Ａから固有情報および乱数を受信すると、通信装置１０Ｂの制御部２では、通信装置１０Ａの制御部２と同様の処理で、乱数を、乱数＃１と乱数＃２に分割する（ステップＳ６）。
【００１８】
つぎに、通信装置１０Ｂの制御部２および暗号処理部５では、通信装置１０Ａと同様の処理で、一時鍵および検証データを作成する。すなわち、制御部２は、不揮発メモリ３からマスター鍵を読み出し、連接した固有情報および乱数＃１を平文とし、マスター鍵を暗号鍵として一時鍵を作成する（ステップＳ７）。また、暗号処理部５は、乱数＃２を平文とし、生成された一時鍵を新たに暗号鍵として暗号演算を行い、検証データ＃２を作成し（ステップＳ８）、制御部２に出力する。そして、制御部２は、通信部１を用いて通信装置１０Ａに検証データを送信する（ステップＳ９）。
【００１９】
通信装置１０Ａの制御部２は、通信部１を介して通信装置１０Ｂから検証データ＃２を受信すると（ステップＳ１０）、自身（通信装置１０Ａ）が作成した検証データ＃１と、被認証側（通信装置１０Ｂ）から送信された検証データ＃２とを比較する検証処理を行う（ステップＳ１１）。具体的には、制御部２は、双方の検証データが一致したと判断した場合、通信装置１０Ｂは正当な通信装置であると認定する。一方、一致しないと判断した場合、通信装置１０Ｂを正当な通信装置とは認定せず、以後、通信装置１０Ｂとの間の処理は行わない。
【００２０】
通信装置１０Ａが通信装置１０Ｂを正当な通信装置と認定すると、つぎに、通信装置１０Ｂが通信装置１０Ａを認証する処理が行われる（ステップＳ１２）。処理手順は、上記と同じである。通信装置１０Ｂが通信装置１０Ａを正当な通信装置として認証すると、相互認証が完了し、以後は、互いにデータ通信を行うことができる。
【００２１】
以上説明したように、本実施の形態では、暗号処理に乱数を用いるとともに、乱数部分を分割して暗号鍵の作成に用いることとした。これにより、鍵生成および暗号処理に使用されるデータは、装置外部からの把握が困難となり、より安全性の高い暗号通信を提供することが可能となる。また、連接された固有情報と乱数から一時鍵を作成するので、検証データを作成するための一時鍵は毎回変わることとなる。これにより、選択的平文攻撃などへの耐性を向上させることが可能となり、さらに安全性の高い暗号通信を提供できる。
【００２２】
なお、上記実施の形態では、作成した一時鍵に対しては何ら制限を加えていないが、たとえば、作成した一時鍵または一時鍵のＳＵＭ値を記録しておき、過去に作成されたものと同じ一時鍵を再度作成した場合は、検証データを生成せずに、認証処理をやり直すこととしてもよい。このようにすることで、一時鍵は必ず変化することとなり、セキュリティを高めることができる。
【００２３】
また、上記実施の形態では、図４に示したように一時鍵を作成することとしたが、他の方法を採用してもよい。図５は、他の一時鍵の作成方法（その２）を説明するための図である。図５の作成方法で用いるマスター鍵，暗号演算方法は、上記実施の形態と同様である。本作成方法では、（固有情報｜乱数＃１）をインクリメントし、都度それぞれについて暗号演算を行い、得られた結果を、“Ｃ０｜Ｃ１｜・・・｜Ｃｎ”と連接する。そして、連接した結果をハッシュ演算し、一時鍵とする。インクリメントする回数“ｎ”は、あらかじめ決めておいてもよく、また、乱数＃１の下位４ビットの数など可変であってもよい。
【００２４】
この場合、連接した固有情報および乱数＃１と、一時鍵との関係が複雑になり、一時鍵の推定をさらに困難にすることが可能となる。
【００２５】
実施の形態２．
実施の形態１では、乱数を分割して多段的に暗号化したものを検証データとして、通信装置間の認証に用いるとした。本実施の形態では、被認証側の通信装置がさらに乱数を生成し、この乱数を用いて検証データを加工してから送信する場合について説明する。
【００２６】
実施の形態１に引き続き、通信端末１０Ａを認証側、通信装置Ｂを被認証側として、実施の形態１と異なる動作を中心に説明する。図６は、本実施の形態における通信装置（通信装置１０Ａおよび１０Ｂ）の相互認証の動作を示すシーケンス図である。
【００２７】
本実施の形態における動作は、実施の形態１における動作と比較すると、被認証側の通信装置１０Ｂが、認証側の通信装置１０Ａから受信した乱数とは別に乱数の生成を行い、この乱数を検証データに連接して送信する点が異なっている。
【００２８】
図６において、通信装置１０Ｂの通信部１が、通信装置１０Ａから送信された固有情報および乱数を受信すると、上述同様にステップＳ６〜Ｓ８の処理が行われる。つぎに、通信装置１０Ｂの制御部２は、乱数生成部４に、乱数の生成を指令する通知を発行する。これを受けた乱数生成部４が乱数を生成し（ステップＳ１３）、制御部２に出力すると、制御部２は、既に作成した検証データ＃２に、新たに生成された乱数を連接する。そして、制御部２は、（検証データ＃２｜乱数）を、通信部１を介して通信装置１０Ａに送信する（ステップＳ１４）。
【００２９】
通信装置１０Ａの制御部２は、通信装置１０Ｂから（検証データ＃２｜乱数）を受信すると、検証データ受信処理を行う（ステップＳ１５）。具体的には、検証データ＃２および乱数の連接を外す。ここで、連接される箇所は、予め設定されるなどにより通信装置間で共有されている。
【００３０】
つぎに、通信装置１０Ａの制御部２は、上述同様、自身（通信装置１０Ａ）が作成した検証データ＃１と、被認証側（通信装置１０Ｂ）から送信された検証データ＃２とを比較する検証処理を行う（ステップＳ１１）。具体的には、制御部２は、双方の検証データが一致したと判断した場合、通信装置１０Ｂは正当な通信装置であると認定する。一方、一致しないと判断した場合、通信装置１０Ｂを正当な通信装置とは認定せず、以後、通信装置１０Ｂとの間の処理は行わない。
【００３１】
以上説明したように、本実施の形態では、認証される側でも乱数を生成し、作成した検証データに連接して送信することとした。これにより、外部からは検証データの抽出が困難になる。すなわち、簡易な手段によって、より安全性を高めた通信装置を得ることができる。
【００３２】
なお、上記実施の形態では、検証データに乱数を連接することとしたが、検証データを乱数でマスク（排他的論理和）して、その結果と乱数を連接して認証側に送ることとしてもよい。この場合、認証側は、受信したデータから連接した乱数を取り除き、その乱数を用いてマスクを外すことで検証データを得ることができるので、さらに安全性を高めることができる。
【産業上の利用可能性】
【００３３】
以上のように、本発明にかかる通信装置は、相互認証を行う通信装置に有用であり、特に、暗号化したデータを用いて相互認証を行う通信装置に適している。
【図面の簡単な説明】
【００３４】
【図１】本発明にかかる通信装置の実施の形態１の構成例を示す図である。
【図２】実施の形態１における通信装置の相互認証の動作を示すシーケンス図である。
【図３−１】固有情報と乱数をそのまま連接した状態を示す図である。
【図３−２】乱数のビット列を２分割した例を示す図である。
【図３−３】乱数のビット列を２分割した例を示す図である。
【図３−４】乱数の一部のビットを使用せずに乱数を分割した例を示す図である。
【図３−５】乱数の一部のビットを乱数＃１と乱数＃２の双方に用いた例を示す図である。
【図４】一時鍵の作成方法の一例を示す図である。
【図５】一時鍵の作成方法の一例を示す図である。
【図６】実施の形態２における通信装置の相互認証の動作を示すシーケンス図である。
【符号の説明】
【００３５】
１  通信部
２  制御部
３  不揮発メモリ
４  乱数生成部
５  暗号処理部
１０，１０Ａ，１０Ｂ  通信装置
【図１】
2009278565.tif 000003
【図２】
2009278565.tif 000004
【図３−１】
2009278565.tif 000005
【図３−２】
2009278565.tif 000006
【図３−３】
2009278565.tif 000007
【図３−４】
2009278565.tif 000008
【図３−５】
2009278565.tif 000009
【図４】
2009278565.tif 000010
【図５】
2009278565.tif 000011
【図６】
2009278565.tif 000012