(57)【要約】【課題】グループ内の通信相手以外の通信装置への通信内容の秘匿が可能で、しかも、グループ全体で管理すべき暗号化用および復号用の鍵の種類が少なくてすむ通信システムを提供する。【解決手段】各通信装置２は、通信システム１の通信装置２に設定された公開鍵の全てと、他の通信装置に設定された秘密鍵の全てとを記憶する。各通信装置２は、通信相手の通信装置以外に設定された公開鍵の全てを用いて暗号化データを生成し、ブロードキャスト送信する。他の通信装置２は、ブロードキャスト送信された暗号化データを受信し、通信相手の通信装置以外に設定された秘密鍵の全てを用いて復号する。【選択図】図４
2019047210.tif 000002
【特許請求の範囲】
【請求項１】
相互にデータ通信を行う複数の通信装置を備えた通信システムであって、前記複数の通信装置それぞれには、データの暗号化に用いられる固有の公開鍵と、前記固有の公開鍵を用いて暗号化されたデータの復号に用いられる固有の秘密鍵とが設定され、
前記複数の通信装置それぞれは、
前記通信装置に設定された公開鍵の全てと、他の前記通信装置に設定された秘密鍵の全てとを記憶する記憶手段と、
記憶された前記公開鍵の内、データ通信の相手の１つ以上の前記通信装置以外の前記通信装置に設定された前記公開鍵の全てを用いて、送信の対象の送信データを暗号化して暗号化データを得る暗号化手段と、
得られた前記暗号化データを、他の前記通信装置の全てに送信する送信手段と、
前記複数の通信装置のいずれかから送信された前記暗号化データを受信する受信手段と、
記憶された前記秘密鍵の内、このデータ通信の相手の１つ以上の前記通信装置以外の前記通信装置に設定された前記秘密鍵の全てを用いて、受信された前記暗号化データから前記送信データの復号を行う復号手段と、
を有する通信システム。
【請求項２】
前記暗号化手段は、前記記憶された公開鍵の内、前記暗号化に用いられる前記公開鍵を、一定の順番に用いて、前記暗号化を行う
請求項１に記載の通信システム。
【請求項３】
前記復号手段は、前記記憶された秘密鍵の内、前記暗号化に用いられた前記公開鍵に対応する前記秘密鍵を、前記対応する公開鍵が用いられた順番とは逆の順番に用いて、前記復号を行う
請求項１または２に記載の通信システム。
【請求項４】
前記送信手段は、前記データ通信の相手の１つ以上の前記通信装置以外の前記通信装置を示すデータを付して前記暗号化データを送信し、
前記復号手段は、前記暗号化データに付されたデータに基づいて、前記データ通信の相手の１つ以上の前記通信装置以外の前記通信装置に設定された前記秘密鍵の全てを用いて前記送信データの復号を行う
請求項１〜３のいずれかに記載の通信システム。
【請求項５】
前記記憶手段は、前記通信装置に設定された公開鍵の全てと、前記他の通信装置に設定された秘密鍵の全てとを、前記通信装置の外部に読み出し不可能に記憶する
請求項１〜４のいずれかに記載の通信システム。
【請求項６】
暗号化手段と復号手段とを含む複数の公開鍵暗号化装置それぞれであって、
前記複数の公開鍵暗号化装置それぞれは、
前記複数の公開鍵暗号化装置に固有に設定された公開鍵の全てと、他の前記通信装置に固有に設定された秘密鍵の全てとを記憶する記憶手段と、
記憶された前記公開鍵の内、暗号化データの復号を行わせる前記公開鍵暗号化装置以外の前記公開鍵暗号化装置に設定された前記公開鍵の全てを用いて、暗号化の対象のデータを暗号化して暗号化データを得る暗号化手段と、
得られた前記暗号化データを、他の前記公開鍵暗号化装置の全てに配信する配信手段と、
他の前記公開鍵暗号化装置のいずれかから配信された前記暗号化データを受信する受信手段と、
記憶された前記秘密鍵の内、前記暗号化データの復号を行わせる公開鍵暗号化装置以外の前記公開鍵暗号化装置に設定された前記秘密鍵の全てを用いて、受信された前記暗号化データを復号する復号手段と、
を備えた公開鍵暗号化装置。
【請求項７】
複数の公開鍵暗号化装置それぞれであって、
前記複数の公開鍵暗号化装置に固有に設定された公開鍵の全てを記憶する記憶手段と、
記憶された前記公開鍵の内、暗号化データの復号を行わせる前記公開鍵暗号化装置以外の前記公開鍵暗号化装置に設定された前記公開鍵の全てを用いて、暗号化の対象のデータを暗号化して暗号化データを得る暗号化手段と、
を備えた公開鍵暗号化装置。
【請求項８】
前記複数の公開鍵暗号化装置それぞれにおいて、
前記記憶手段は、他の前記公開鍵暗号化装置に固有に設定された秘密鍵の全てをさらに記憶し、
前記複数の公開鍵暗号化装置それぞれは、
得られた前記暗号化データを、他の前記公開鍵暗号化装置の全てに配信する配信手段と、
前記複数の公開鍵暗号化装置のいずれかから配信された前記暗号化データを受信する受信手段と、
記憶された前記秘密鍵の内、このデータ通信の相手の１つ以上の前記公開鍵暗号化装置以外の前記公開鍵暗号化装置に設定された前記秘密鍵の全てを用いて、配信された前記暗号化データから前記送信データの復号を行う復号手段と、
をさらに備えた請求項７に記載の公開鍵暗号化装置。
【請求項９】
それぞれ暗号化手段と復号手段とを含む複数の公開鍵暗号化装置それぞれにおける公開鍵暗号化方法であって、
前記複数の公開鍵暗号化装置それぞれは、
前記複数の公開鍵暗号化装置に固有に設定された公開鍵の全てと、他の前記通信装置に固有に設定された秘密鍵の全てとを記憶し、
記憶された前記公開鍵の内、暗号化データの復号を行わせる前記公開鍵暗号化装置以外の前記公開鍵暗号化装置に設定された前記公開鍵の全てを用いて、暗号化の対象のデータを暗号化して暗号化データを得て、
得られた前記暗号化データを、他の前記公開鍵暗号化装置の全てに配信し、
他の前記公開鍵暗号化装置のいずれかから配信された前記暗号化データを受信し、
記憶された前記秘密鍵の内、前記暗号化データの復号を行わせる公開鍵暗号化装置以外の前記公開鍵暗号化装置に設定された前記秘密鍵の全てを用いて、受信された前記暗号化データを復号する
公開鍵暗号化方法。
【請求項１０】
複数の公開鍵暗号化装置それぞれにおける公開鍵暗号化方法であって、
前記複数の公開鍵暗号化装置に固有に設定された公開鍵の全てを記憶し、
記憶された前記公開鍵の内、暗号化データの復号を行わせる前記公開鍵暗号化装置以外の前記公開鍵暗号化装置に設定された前記公開鍵の全てを用いて、暗号化の対象のデータを暗号化して暗号化データを得る
公開鍵暗号化方法。
【請求項１１】
前記複数の公開鍵暗号化装置それぞれにおいて、
他の前記公開鍵暗号化装置に固有に設定された秘密鍵の全てをさらに記憶し、
得られた前記暗号化データを、他の前記公開鍵暗号化装置の全てに配信し、
前記複数の公開鍵暗号化装置のいずれかから配信された前記暗号化データを受信し、
記憶された前記秘密鍵の内、このデータ通信の相手の１つ以上の前記公開鍵暗号化装置以外の前記公開鍵暗号化装置に設定された前記秘密鍵の全てを用いて、配信された前記暗号化データから前記送信データの復号を行う
請求項１０に記載の公開鍵暗号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施の形態は、通信システム、公開鍵暗号化装置およびその方法に関する。
【背景技術】
【０００２】
共通鍵を用いてデータを暗号化し、暗号化したデータを復号する共通鍵暗号化方式が知られている。また、公開鍵を用いてデータを暗号化し、秘密鍵を用いて暗号化されたデータを復号する公開鍵暗号化方式が知られている。さらに、暗号化通信システムにおいて、暗号化鍵を管理し、配布するためにサーバを用いられた登録・認証方式が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開Ｈ１１−９６６５８号公報
【特許文献２】特許第３６２８２５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ｎ台の通信装置のグループにおいて、通信装置同士が共通鍵を用いて暗号化したデータの通信を行って、送信元から受信先へ送られた情報の秘匿する方法が知られている。このグループにおいて、１台の通信装置から、他の１〜（ｎ−１）台の通信装置に暗号化したデータを送るためには２(ｎ-1)−１種類のもの共通鍵が必要とされる。従って、このようなグループにおいては、共通鍵の管理が非常に煩雑になる。また、背景技術として示したサーバを用いた登録・認証方式による暗号化通信方式は、通信装置のみを含み、サーバまたは基地局を含まない通信システムに適用できない。
【０００５】
本発明の実施の形態は上述した問題を解消するためになされ、サーバまたは基地局なしに、少ない種類の暗号化鍵で、通信相手へのデータを暗号化して送信し、通信相手以外へのデータを確実に秘匿することができる通信システム、公開鍵暗号化装置およびその方法を提供することを目的とする。
【０００６】
本発明の実施の形態は上述した問題を解消するためになされ、サーバまたは基地局なしに、少ない種類の暗号化鍵で、通信相手へのデータを暗号化して送信し、通信相手以外へのデータを確実に秘匿することができる通信システム、公開鍵暗号化装置およびその方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記に記載された課題を解決するために、この発明の実施の形態にかかる通信システムは、相互にデータ通信を行う複数の通信装置を備えた通信システムであって、前記複数の通信装置それぞれには、データの暗号化に用いられる固有の公開鍵と、前記固有の公開鍵を用いて暗号化されたデータの復号に用いられる固有の秘密鍵とが設定され、前記複数の通信装置それぞれは、前記通信装置に設定された公開鍵の全てと、他の前記通信装置に設定された秘密鍵の全てとを記憶する記憶手段と、記憶された前記公開鍵の内、データ通信の相手の１つ以上の前記通信装置以外の前記通信装置に設定された前記公開鍵の全てを用いて、送信の対象の送信データを暗号化して暗号化データを得る暗号化手段と、得られた前記暗号化データを、他の前記通信装置の全てに送信する送信手段と、前記複数の通信装置のいずれかから送信された前記暗号化データを受信する受信手段と、記憶された前記秘密鍵の内、このデータ通信の相手の１つ以上の前記通信装置以外の前記通信装置に設定された前記秘密鍵の全てを用いて、受信された前記暗号化データから前記送信データの復号を行う復号手段と、を有する。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態にかかる通信システムの構成を示す図である。
【図２】図１に示した通信システムに含まれるｎ台の通信装置の１つが記憶する公開鍵・秘密鍵テーブルの内容を示す図である。
【図３】暗号化されたデータの伝送に用いられるパケットを示す図である。
【図４】図１に示された通信装置の構成を示す図である。
【図５】図１，図４に示された通信システムの通信装置による暗号化処理（Ｓ１０）を示すフローチャートである。
【図６】図１，図４に示した通信システムの通信装置による復号処理（Ｓ２０）を示すフローチャートである。
【発明を実施するための形態】
【０００９】
［通信システム１における暗号化および復号の方法］
以下、実施の形態について、図面を参照しながら詳細に説明する。まず、本発明の実施の形態にかかる通信システム１における処理の前提となる暗号化および復号の方法を説明する。図１は、本発明の実施の形態にかかる通信システム１の構成を示す図である。なお、図１には、ｎ＝８の場合が示されている。図２は、図１に示した通信システム１に含まれるｎ台の通信装置２−１〜２―ｎ（通信装置）の１つ（通信装置２−ｉ；ｉは１〜ｎのいずれか）が記憶する公開鍵・秘密鍵テーブルの内容を示す図である。図３は、暗号化されたデータの伝送に用いられるパケットを示す図である。なお、以下、通信装置２−１〜２―ｎなど、通信システム１において複数ありうる「通信装置２−１〜２−ｎ」などの構成要素のいずれかが特定されずに示されるときには、単に「通信装置２」などと略記されることがある。また、以下、「暗号化されたデータ」は、「暗号化データ」とも記載される。
【００１０】
図１に示されるように、通信システム１は、有線通信回路および無線通信回路またはこれらの一方を介して相互に通信可能なｎ台の通信装置２−１〜２−ｎを含み、暗号化鍵を管理し、通信装置２それぞれに配信する装置を含まない。通信装置２それぞれは、通信相手の他の１つ以上の通信装置２との間で、公開鍵暗号化方式により暗号化対象データＭｏを暗号化した暗号化データＭｅを送信し、送信された暗号化データＭｅを受信し、暗号化対象データＭｏに復号して通信を行う。
【００１１】
通信装置２−１〜２−ｎそれぞれには、識別番号ＩＤ＃１〜ＩＤ＃ｎそれぞれが固有に設定されている。また、通信装置２−１〜２−ｎそれぞれには、公開鍵Ｐｕ１〜Ｐｕｎそれぞれと、秘密鍵Ｐｒ１〜Ｐｒｎそれぞれとが固有に設定されている。なお、各図において、各図における通信装置２−１，２−２，２−３，・・・，ｉ−１，ｉ，ｉ＋１，・・・，ｎ−１，ｎとの表記は、数学における慣習に沿っており、ｉが５以上でｎ−２以下であることを意味しない。
【００１２】
通信装置２−ｉは、図２に示される公開鍵・秘密鍵テーブルを記憶する。公開鍵・秘密鍵テーブルには、通信装置２−１〜２−ｎそれぞれのＩＤ＃１〜ＩＤ＃ｎと、通信システム１に含まれる通信装置２−１〜２−ｎそれぞれに設定された公開鍵Ｐｕ１〜Ｐｕｎの全てと、通信装置２−１〜２−ｎそれぞれに設定された秘密鍵Ｐｒ１〜Ｐｒｎの内、通信装置２−ｉ自体に設定された秘密鍵Ｐｒｉ以外の秘密鍵Ｐｒ１〜Ｐｒ（ｉ−１），Ｐｒ（ｉ＋１）〜Ｐｒｎとが、通信装置２のＩＤ＃１〜ＩＤ＃ｎに対応づけて記憶される。
【００１３】
公開鍵Ｐｕ１〜Ｐｕｎは、図２に下方向の矢印で示されるように、ＩＤの値が最小の通信装置２−１に設定された公開鍵Ｐｕ１から、ＩＤの値が最大の通信装置２−ｎに設定された公開鍵Ｐｕｎへの順番で暗号化に使用される。また、秘密鍵Ｐｒ１〜Ｐｒ（ｉ−１），Ｐｒ（ｉ＋１）〜Ｐｒｎは、図２に上方向の矢印で示されるように、ＩＤの値が最大の通信装置２−ｎに設定された公開鍵Ｐｒｎから、ＩＤの値が最も小さい通信装置２に設定された公開鍵Ｐｒ１への順番で復号に使用される。
【００１４】
図３に示されるように、暗号化データの伝送に用いられるパケットのヘッダには、通信相手以外の通信装置２の識別子ＩＤｅが少なくとも格納される。なお、ＩＤｅは、通信相手以外の通信装置２のＩＤの集合を示す。また、このパケットのペイロード部分には、暗号化データ本体が格納され、さらに、必要に応じて、パケットの最後の部分に誤り訂正符号およびその他のデータを含むフッダが付される。
【００１５】
通信装置２−ｉの公開鍵・秘密鍵テーブルには、図２に示されるように、通信装置２に設定された全ての公開鍵Ｐｕ１〜Ｐｕｎ、および、通信装置２−ｉ以外に設定された全ての秘密鍵Ｐｒ１〜Ｐｒ（ｉ−１），Ｐｒ（ｉ＋１）〜Ｐｒｎが記憶される。つまり、通信装置２−ｉにおいては、通信装置２−ｉ自体に設定された秘密鍵Ｐｕｉは記憶されない。
【００１６】
［暗号化および復号の具体的方法］
以下、理解を容易にするために、通信システム１において、送信元の通信装置２−１が、通信装置２−２，２−５，２−ｎを通信相手として通信を行い、これらの通信装置２以外には通信内容を秘匿しようとする場合を具体例として説明する。この場合には、通信装置２−１は、通信相手の通信装置２−２，２−５，２−ｎ以外の通信装置２−３，２−４，２−６〜２−（ｎ−１）の全てと、通信装置２−１自体に設定された公開鍵Ｐｕ１とを用いて、暗号化対象データＭｏを、下式２に示されるように暗号化し、暗号化データＭｅを得る。
【００１７】
Ｍｅ  ＝  Ｍｏ・Ｐｕ１，Ｐｕ３・Ｐｕ４・Ｐｕ６・・・・Ｐｕ（ｎ−１）  （式２）
【００１８】
上述のように、通信装置２−ｉは、それ自体に設定された秘密鍵Ｐｒｉを記憶していない。つまり、通信装置２−１が暗号化対象データＭｏの内容を秘匿しようとする通信装置２−３，２−４，２−６〜２−（ｎ−１）それぞれは、秘密鍵Ｐｒ３，Ｐｒ４，Ｐｒ６〜Ｐｒ（ｎ−１）それぞれを記憶していない。従って、通信装置２−３，２−４，２−６〜２−（ｎ−１）それぞれは、上式２に示した暗号化対象データＭｏを復号できない。
【００１９】
一方、通信装置２−２，２−５，２−ｎは、秘密鍵Ｐｒ１，Ｐｒ３，Ｐｒ４，Ｐｒ６〜Ｐｒ（ｎ−１）を記憶している。従って、通信装置２−２，２−５，２−ｎは、上式２に示した暗号化データＭｅを、下式３に示されるように、秘密鍵Ｐｒ３，Ｐｒ４，Ｐｒ６〜Ｐｒ（ｎ−１）を用いて暗号化対象データＭｏに復号することができる。なお、送信元の通信装置２−１による上式２に示した暗号化データＭｅの復号の必要がないことはいうまでもない。
【００２０】
Ｍｅ・Ｐｒ（ｎ−１）・・・・・Ｐｒ６・Ｐｒ４・Ｐｒ３
＝  Ｍｏ・Ｐｕ１・Ｐｕ３・Ｐｕ４・Ｐｕ６・・・（Ｐｕ（ｎ−１）・Ｐｒ（ｎ−１））・・・・・Ｐｒ６・Ｐｒ４・Ｐｒ３・Ｐｒ１
＝  Ｍｏ・Ｐｕ１・Ｐｕ３・Ｐｕ４・Ｐｕ６・・・（Ｐｕ（ｎ−２）・Ｐｒ（ｎ−２））・・・・・Ｐｒ６，Ｐｒ４・Ｐｒ３・Ｐｒ１
・
・
・
＝  Ｍｏ・Ｐｕ１・Ｐｕ３・Ｐｕ４・（Ｐｕ６・Ｐｒ６）・Ｐｒ４・Ｐｒ３・Ｐｒ１
＝  Ｍｏ・Ｐｕ１・Ｐｕ３・（Ｐｕ４・Ｐｒ４）・Ｐｒ３・Ｐｒ１
＝  Ｍｏ・Ｐｕ１・（Ｐｕ３・Ｐｒ３）・Ｐｒ１
＝  Ｍｏ・（Ｐｕ１・Ｐｒ１）
＝  Ｍｏ                                            （式３）
【００２１】
以上説明したように、通信装置２−１は、通信装置２−１自体に設定された公開鍵Ｐｕ１と、暗号データの内容の秘匿先の通信装置２−３，２−４，２−６〜２−（ｎ−１）に設定された公開鍵Ｐｕ３・Ｐｕ４・Ｐｕ６・・・・Ｐｕ（ｎ−１）の全てとを用いて暗号化対象データＭｏを暗号化し、暗号化データＭｅとする。通信装置２−１が、このような暗号化データＭｅを含むパケット（図３）を、他の通信装置２−２〜２−ｎの全てに一斉送信（ブロードキャスト）すると、他の通信装置２−２〜２−ｎの全てが通信装置２−１からの暗号化データＭｅを受信する。
【００２２】
しかしながら、上式３を参照して説明したように、通信相手の通信装置２−２，２−５，２−ｎのみが、受信された暗号化データＭｅから暗号化対象データＭｏを復号できる。以上説明したように、通信装置２−１から通信相手の通信装置２−２，２−５，２−ｎにおいてのみ復号可能な暗号化データＭｅが送信される。一方、通信相手以外の通信装置２−３，２−４，２−６〜２−（ｎ−１）においては、通信装置２−１により送信された暗号化データＭｅは復号されず、暗号化対象データＭｏの内容は秘匿される。
【００２３】
ただし、通信装置２−１の通信相手の通信装置２−２，２−５，２−ｎには、通信装置２−１における暗号化において、通信装置２に設定された公開鍵のいずれが、どのような順番で用いられたかが通知される必要がある。これらを示す情報は、図３に示されたようにパケットのヘッダに格納される。なお、図２に示されたように、暗号化対象データＭｏの暗号化および暗号化データＭｅの復号に用いられる公開鍵および秘密鍵の使用の順番が予め決まっているときには、暗号化データＭｅの内容が秘匿される通信装置２のＩＤのみがヘッダに記憶されていればよい。
【００２４】
なお、以上、特定の通信装置２−１と通信装置２−２，２−５，２−ｎとの間における公開鍵暗号化方式による通信方法が具体例とされたが、この通信方法は、通信システム１の任意の通信装置２が、他の１つ以上の任意の通信装置２を通信相手とする場合にも一般化されて応用されうる。
【００２５】
［通信装置２の構成］
図４は、図１に示した通信装置２−ｉの構成を示す図である。図４に示されるように、バス２３０を介して接続された送受信装置２０、通信処理装置２２および公開鍵暗号化装置２４−ｉを備える。
【００２６】
送受信装置２０は、アンテナまたはネットワークにデータを送信する送信回路２００（送信手段）、および、アンテナまたはネットワークからデータを受信する受信回路２０２（受信手段）を備える。送信回路２００は、暗号化データＭｅを格納したパケット（図３）を、アンテナまたはネットワークを介して他の通信装置２に送信する。受信回路２０２は、暗号化データＭｅを格納したパケットを、アンテナまたはネットワークを介して他の通信装置２から受信し、また、暗号化の対象となる暗号化対象データＭｏを、ネットワークを介して受信する。
【００２７】
通信処理装置２２は、バス２３０を介して接続される演算回路２２０、メモリ２２２、記録装置２２４および入出力装置インターフェース（ＩＦ）２２６を備え、出力装置ＩＦ２２６には入出力装置２２８が接続される。演算回路２２０は、ＣＰＵおよび割り込みコントローラなどの周辺回路を含み、記録装置２２４または送受信装置２０の受信回路２０２からメモリ２２２にロードされたプログラムを実行する。メモリ２２２は、ＲＡＭおよびＲＯＭを含み、上述のようにロードされて演算回路２２０により実行されるプログラムを記憶し、このプログラムが実行されるときに用いられるワーキングメモリとして動作する。
【００２８】
記録装置２２４は、ＨＤＤ、ＣＤ、ＤＶＤ、フラッシュメモリなどの不揮発性記憶媒体との間で、暗号化の対象となる暗号化対象データＭｏ、復号された暗号化対象データＭｏおよびその他のデータの書き込みおよび読み出しを行う。入出力装置ＩＦ２２６は、入出力装置２２８から入力されたデータを、バス２３０を介して通信装置２の他の構成要素に出力し、通信装置２の他の構成要素からバス２３０を介して入力されたデータを入出力装置２２８に出力する。
【００２９】
入出力装置２２８は、ユーザの操作を受け入れ、受け入れたユーザの操作を示すデータを入出力装置ＩＦ２２６に出力し、入出力装置ＩＦ２２６から入力されたデータをユーザに表示する。通信処理装置２２は、これらの構成要素により、通信処理装置２２における暗号化処理、復号処理および通信処理を制御する。
【００３０】
通信装置２−ｉの公開鍵暗号化装置２４−ｉ（公開鍵暗号化装置）は、公開鍵、秘密鍵（図２）およびその他のデータを記憶する暗号鍵メモリ２４０−ｉ（記憶手段）と、公開鍵暗号化方式により暗号化対象データＭｏを暗号化する暗号化回路２４２（暗号化手段）と、暗号化データＭｅから暗号化対象データＭｏを復号する復号回路２４４（復号手段）とを備える。公開鍵暗号化装置２４−ｉは、これらの構成要素により、暗号鍵メモリ２４０−ｉに記憶された公開鍵および秘密鍵（図２）を用いて、送受信装置２０から入力された暗号化対象データＭｏを暗号化して暗号化データＭｅとする。また、公開鍵暗号化装置２４−ｉは、これらの構成要素により、送受信装置２０から入力された暗号化データＭｅを暗号化対象データＭｏに復号する。つまり、公開鍵暗号化装置２４−ｉは、図１〜図３を参照して上述した方法で公開鍵暗号化方式を実現する。
【００３１】
なお、公開鍵暗号化装置２４−ｉの暗号鍵メモリ２４０−ｉ、暗号化回路２４２および復号回路２４４は、同一の半導体チップに組み込まれる。また、暗号鍵メモリ２４０−ｉは、図２に示した通信装置２−ｉのＩＤ＃ｉを公開鍵暗号化装置２４−ｉの外部に出力する他は、記憶した公開鍵および秘密鍵を、公開鍵暗号化装置２４−ｉの内部において、暗号化回路２４２および復号回路２４４だけに出力する。
【００３２】
また、暗号鍵メモリ２４０−ｉに記憶される公開鍵Ｐｕ１〜Ｐｕ（ｉ−１），Ｐｕ（ｉ＋１）〜Ｐｕｎ、秘密鍵Ｐｒ１〜Ｐｒ（ｉ−１），Ｐｒ（ｉ＋１）〜Ｐｒｎおよび通信装置２−ｉのＩＤ＃ｉの内容は、通信装置２−ｉに固有である。また、秘密保持のために、通信装置２−ｉのＩＤ＃ｉ以外は、暗号鍵メモリ２４０−ｉから公開鍵暗号化装置２４−ｉの外部に読み出されてはならない。つまり、公開鍵Ｐｕ１〜Ｐｕｎおよび秘密鍵Ｐｒ１〜Ｐｒ（ｉ−１），Ｐｒ（ｉ＋１）〜Ｐｒｎは、暗号鍵メモリ２４０−ｉの外部に読み出されてはならない。従って、これらの鍵は、半導体チップの破壊なしに暗号鍵メモリ２４０−ｉから読み出されないように、半導体チップ製造時に、半導体チップ内にハードウェア的に書き込まれる。
【００３３】
［通信装置２の動作］
以下、通信装置２の全体的な動作を説明する。図５は、図１，図４に示された通信システム１の通信装置２−ｉによる暗号化処理（Ｓ１０）を示すフローチャートである。図６は、図１，図４に示した通信システム１の通信装置２−ｉによる復号処理（Ｓ２０）を示すフローチャートである。
【００３４】
［暗号化および送信］
まず、暗号化対象データＭｏの暗号化、および、暗号化の結果として得られた暗号化データＭｅの送信のための通信装置２−ｉの動作を説明する。図４に示した通信処理装置２２のメモリ２２２には、通信装置２−ｉの通信制御のためのプログラム（不図示）がロードされており、演算回路２２０は、ロードされたプログラムを実行する。
【００３５】
また、公開鍵暗号化装置２４−ｉの暗号鍵メモリ２４０−ｉから、通信装置２−ｉのＩＤ＃ｉが読み出され、メモリ２２２に記憶される。さらに、送受信装置２０の受信回路２０２または記録装置２２４から、暗号化対象データＭｏが入力されると、演算回路２２０は、入力された暗号化対象データＭｏを、メモリ２２２に記憶する。
【００３６】
図５に示すステップＳ１００において、ユーザは、通信装置２−ｉの通信処理装置２２の入出力装置２２８に対して、通信相手とする１つ以上の他の通信装置２の識別子ＩＤｄと、暗号化対象データＭｏとを指定する操作を行う。なお、ＩＤｄは、通信相手とされた通信装置２−ｉ以外の通信装置２のＩＤの集合である。入出力装置２２８は、ユーザによるこれらの操作を受け入れて、通信相手とする１つ以上の他の通信装置２および送信元の通信装置２のＩＤｄと、暗号化対象データＭｏとを指定とを指定するデータを、入出力装置ＩＦ２２６に出力する。
【００３７】
ステップＳ１０２において、入出力装置ＩＦ２２６は、これらのデータの入力を、割り込みにより演算回路２２０に通知し、入力されたこれらのデータをメモリ２２２に記憶させる。さらに、演算回路２２０は、メモリに記憶され、通信相手とする通信装置２以外の通信装置２、つまり、通信相手以外で、暗号化データＭｅの内容が秘匿されるべき通信装置２および送信元の通信装置２−ｉのＩＤｅを求める。このＩＤｅは、通信システム１に含まれる全ての通信装置２のＩＤの集合においてＩＤｄの補集合として求められる。さらに、演算回路２２０は、暗号化データＭｅの内容の秘匿先の通信装置２および送信元の通信装置２のＩＤｅを、小さい値が先になり大きな値が後になるように並び替え（ソートし）、公開鍵暗号化装置２４−ｉの暗号化回路２４２に出力する。
【００３８】
ステップＳ１０４において、公開鍵暗号化装置２４−ｉの暗号化回路２４２は、暗号鍵メモリ２４０−ｉを参照し、ソートされて通信処理装置２２から入力された通信装置２のＩＤｅに対応する公開鍵Ｐｕｅを、図２に下方向の矢印で示した順番に読み出す。ただし、Ｐｕｅは、ＩＤｅに対応する公開鍵の集合である。
【００３９】
ステップＳ１１０において、暗号化回路２４２は、ステップＳ１０４において読み出された公開鍵Ｐｕｅを用いた暗号化が終了したか否かを判断する。全ての公開鍵Ｐｕｅを用いた暗号化が終了したときには（Ｓ１１２：Ｙ）、暗号化回路２４２はＳ１２０の処理に進み、これ以外のときには（同：Ｎ）Ｓ１１２の処理に進む。
【００４０】
ステップＳ１１２において、暗号化回路２４２は、Ｓ１０４において読み出された全ての公開鍵Ｐｕｅの内、暗号化に未だ用いられておらず、最も値が小さい通信装置２のＩＤに対応する公開鍵Ｐｕｊを取得する。
【００４１】
ステップＳ１１４において、暗号化回路２４２は、Ｓ１１２の処理において取得された公開鍵Ｐｕｊを用いて、暗号化対象データＭｏを暗号化する。この暗号化対象データＭｏの暗号化には、暗号化対象データＭｏを暗号化することと、他の公開鍵を用いて既に暗号化された暗号化対象データＭｏを、Ｓ１１２の処理において取得された公開鍵Ｐｕｊでさらに暗号化することとが含まれる。
【００４２】
ステップＳ１２０において、暗号化回路２４２は、上式２を参照して説明したように暗号化が完了した暗号化データＭｅと、通信処理装置２２に出力する。
【００４３】
ステップＳ１２２において、通信処理装置２２の演算回路２２０は、図３に示した伝送用のパケットを生成する。つまり、受信回路は、通信相手の他の通信装置２における復号のためのデータとして、Ｓ１０２の処理により得られた通信相手以外の通信装置２のＩＤｅを格納する。さらに、演算回路２２０は、パケットのペイロード部分に、Ｓ１２０の処理において暗号化回路２４２が出力した暗号化データＭｅを格納し、さらに、必要に応じてパケットにフッダを付加する。
【００４４】
ステップＳ１２４において、通信処理装置２２は、Ｓ１２２の処理において生成されたパケットを送受信装置２０の送信回路２００に出力し、通信システム１に含まれる全ての通信装置２にブロードキャスト送信させる。
【００４５】
［受信および復号］
次に、他の通信装置２から図３に示した伝送用のパケットを受信したときの通信装置２−ｉの動作を説明する。ステップＳ２００において、通信装置２−ｉの送受信装置２０の受信回路２０２は、他の通信装置２からブロードキャスト送信されてきた伝送用のパケットを受信し、通信処理装置２２に出力する。
【００４６】
ステップＳ２０２において、通信処理装置２２は、受信したパケットのヘッダから、通信相手以外の通信装置２のＩＤｅを取得する。
【００４７】
ステップＳ２０４において、通信処理装置２２は、Ｓ２０２の処理において取得した通信相手以外の通信装置２のＩＤｅに、通信装置２−ｉのＩＤ＃ｉが含まれているか否かを判断する。つまり、通信処理装置２２は、通信装置２−ｉが、パケットの送信先であるか否かを判断する。
【００４８】
通信処理装置２２は、通信装置２−ｉがパケットの送信先でないとき（Ｓ２０４：Ｙ）、つまり、通信相手でないときには処理を終了する。通信処理装置２２は、これ以外のとき（同：Ｎ）には、Ｓ２０２の処理において取得された通信相手以外の通信装置２のＩＤｅを公開鍵暗号化装置２４−ｉの復号回路２４４に出力し、Ｓ２０６の処理に進む。なお、Ｓ２０２において取得された通信相手以外の通信装置２のＩＤｅは、送信元の通信装置２において、図５に示したＳ１０２の処理がなされているので、小さい値が先になり大きな値が後になるようにソートされている。
【００４９】
ステップＳ２０６において、復号回路２４４は、Ｓ２０４の処理において通信処理装置２２から入力された通信相手以外の通信装置２のＩＤｅを後ろから読み出し、大きい値のＩＤｅが先になり小さい値のＩＤｅが後になるようにソートする。さらに、復号回路２４４は、暗号鍵メモリ２４０−ｉを参照し、ソートされた通信装置２のＩＤｅに対応する秘密鍵Ｐｒｅを、図２に上方向の矢印で示されるように、対応する公開鍵Ｐｕｅとは逆の順番に読み出す。なお、Ｐｒｅは、ＩＤｅに対応する秘密鍵の集合を示す。
【００５０】
Ｓ２１０において、復号回路２４４は、Ｓ２０６において秘密鍵Ｐｒｅに含まれる全ての秘密鍵Ｐｒｋを用いた復号が終了したか否かを判断する。秘密鍵Ｐｒｅに含まれる全ての秘密鍵Ｐｒｋを用いた暗号化が終了したときには（Ｓ２１０：Ｙ）、復号回路２４４はＳ２２０の処理に進み、これ以外のときには（同：Ｎ）Ｓ２１２の処理に進む。
【００５１】
ステップＳ２１２において、復号回路２４４は、Ｓ２０６において読み出された全ての秘密鍵Ｐｒｅの内、復号に未だ用いられておらず、最も値が大きいＩＤｅに対応する公開鍵Ｐｒｋを取得する。
【００５２】
ステップＳ２１４において、復号回路２４４は、Ｓ２１２の処理において取得された秘密鍵Ｐｒｋを用いて、暗号化データＭｅを、暗号化対象データＭｏに復号する。この暗号化データＭｅの復号には、暗号化データＭｅを復号することと、他の秘密鍵Ｐｒｋを用いて既に復号された暗号化データＭｅを、Ｓ２１２の処理において取得された秘密鍵Ｐｒｋでさらに復号することとが含まれる。
【００５３】
ステップＳ２１６において、復号回路２４４は、復号により得られた暗号化対象データＭｏを通信処理装置２２に出力する。通信処理装置２２は、復号回路２４４から入力された暗号化対象データＭｏを、入出力装置２２８に表示し、さらに、記録装置２２４の記憶媒体に記憶する。
【００５４】
［技術的効果］
以上説明した通信装置２によれば、通信装置２それぞれが記憶すべき公開鍵の数はｎ−1であり、秘密鍵の数はｎである。従って、通信装置２それぞれが記憶する暗号化用および復号用の鍵の数は２ｎ−１種類でよく、通信システム１全体でも２ｎ種類でよい。従って、通信装置２相互が共通鍵を用いて暗号化したデータを送信し、秘密鍵を用いて復号する場合と比べて、通信システム１における暗号化用および復号用の鍵の管理が容易である。
【００５５】
［変形例］
なお、通信相手の通信装置２のＩＤｄのみが、図３に示したパケットのヘッダに記憶されていてもよい。この場合には、復号のために、全ての通信装置２のＩＤｄから、ヘッダに記憶されている通信装置２のＩＤｄを除いたＩＤｅに対応づけられた秘密鍵が、図２に示された順番に復号に用いられる。また、このパケットのヘッダには、通信相手の通信装置２の識別番号が、小さい値から大きい値の順番に格納されてもよい。さらに、このパケットのヘッダには、通信システム１において用いられる通信方式の実現のために必要とされるその他のデータが適宜、格納されてもよい。
【００５６】
また、以上、図２に示されたように暗号鍵メモリ２４０に記憶された公開鍵を、下方向の矢印で示される順番で読み出して、暗号化を順次、行う場合の通信装置２の動作を説明したが、公開鍵の読み出しの順番は、予め決められた他の順番でもよい。また、秘密鍵の読み出しの順番は、上式３に示したように、秘密鍵に対応する公開鍵の読み出しと逆の順番であればよく、図２を参照して説明した順番でなくともよい。また、通信システム１は、アドホック通信システムであってもよい。
【００５７】
本発明の実施の形態を説明したが、この実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５８】
１  通信システム
２  通信装置
２０  送受信装置
２００  送信回路
２０２  受信回路
２２  通信制御装置
２２０  演算回路
２２２  メモリ
２２４  記録装置
２２６  入出力装置ＩＦ
２２８  入出力装置
２３０  バス
２４  公開鍵暗号化装置
２４０  暗号鍵メモリ
２４２  暗号化回路
２４４  復号回路
【図１】
2019047210.tif 000003
【図２】
2019047210.tif 000004
【図３】
2019047210.tif 000005
【図４】
2019047210.tif 000006
【図５】
2019047210.tif 000007
【図６】
2019047210.tif 000008