(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、各ブロック図において、矢印の流れは、情報の流れを示している。さらに、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。
【0013】
[実施形態1]
<データ伝送システム4000の概要>
図1は、実施形態1に係るデータ伝送システム4000の概要を表す図である。データ伝送システム4000は、送信装置2000及び受信装置3000を有する。送信装置2000はデータパケットを送信し、受信装置3000はそのデータパケットを受信する。送信装置2000から送信されるデータパケットのヘッダには、送信元アドレス、送信先アドレス、及び開示許可情報が含まれる。開示許可情報は、メッセージの開示が許可される受信装置3000を表す情報である。さらにデータパケットは、受信装置3000へ伝達する情報(以下、メッセージ)を含む。メッセージは任意の形式のデータである。
【0014】
送信装置2000は、データパケットに含まれるデータのうち、少なくとも送信元アドレス、送信先アドレス、又は開示許可情報を暗号化して送信する。受信装置3000は、受信したデータパケットについて、暗号化された情報の復号を行う。さらに受信装置3000は、自身が、開示許可情報によって開示が許可されている受信装置3000である場合に、利用可能な状態でデータパケットに含まれるメッセージを出力する。
【0015】
なおデータパケットは、送信装置2000と受信装置3000との間で送受信されるひとかたまりのデータであればよく、一般に「パケット」と呼ばれる IP パケットに限定されない。例えばデータパケットとしては、IP パケットやイーサネット(登録商標)フレームを扱うことができる。
【0016】
図2は、実施形態1に係るデータ伝送システム4000の構成を例示するブロック図である。
図2において、矢印の流れは情報の流れを示している。さらに、
図2において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【0017】
送信装置2000は、暗号化部2020、開示許可情報付加部2040、送信部2060及び第1匿名化暗号鍵格納部2080を有する。開示許可情報付加部2040は、データパケットに前述した開示許可情報を付加する。開示許可情報の具体的な内容については後述する。暗号化部2020は、データパケットに含まれる送信元アドレス、送信先アドレス又は開示許可情報を、暗号鍵を用いて暗号化する。以下、この暗号鍵を匿名化暗号鍵と呼ぶ。また、暗号化部2020による暗号化の対象となる情報を匿名化対象情報と呼ぶ。送信部2060は、暗号化部2020によって暗号化されたデータパケットを送信する。第1匿名化暗号鍵格納部2080は、暗号化部2020が用いる匿名化暗号鍵を、送信装置2000の外部から読み取り不可能な状態で格納する。つまり送信装置2000は、匿名化暗号鍵について耐タンパ性を有する。匿名化暗号鍵を外部から読み取り不可能な状態で格納する具体的な方法については後述する。
【0018】
受信装置3000は、受信部3020、復号部3040、出力部3060及び第2匿名化暗号鍵格納部3080を有する。受信部3020は、送信装置2000によって送信されたデータパケットを受信する。復号部3040は、受信されたデータパケットに含まれる匿名化対象情報(送信元アドレス、送信先アドレス、又は開示許可情報)を、匿名化暗号鍵を用いて復号する。この匿名化暗号鍵は、第2匿名化暗号鍵格納部3080に、当該受信装置3000の外部から読み取り不可能な状態で格納されている。つまり受信装置3000は、匿名化暗号鍵について耐タンパ性を有する。出力部3060は、当該受信装置3000が、受信したデータパケットの開示許可情報によって示される、データパケットの開示が許可される受信装置3000に該当するか否かを判定する。そして、出力部3060は、当該受信装置3000がデータパケットの開示が許可される受信装置3000に該当する場合に、出力部3060の外部へ受信したデータパケットのメッセージを出力する。出力部3060がメッセージを出力する具体的な方法は、後述する各実施形態で説明する。
【0019】
<送信装置2000によって実行される処理の流れ>
図3は、実施形態1の送信装置2000によって実行される処理の流れを例示するフローチャートである。開示許可情報付加部2040は、データパケットを取得する(S102)。開示許可情報付加部2040は、開示許可情報をデータパケットに付加する(S104)。暗号化部2020は、データパケットに含まれる匿名化対象情報を匿名化暗号鍵で暗号化する(S106)。送信部2060は、データパケットを送信する(S108)。
【0020】
<受信装置3000によって実行される処理の流れ>
図4は、実施形態1の送信装置2000によって実行される処理の流れを例示するフローチャートである。受信部3020は、データパケットを受信する(S202)。復号部3040は、暗号化部2020によって匿名化対象情報を、匿名化暗号鍵を用いて復号する(S204)。出力部3060は、当該受信装置3000が、データパケットの開示許可情報によってメッセージの開示が許可されている場合、出力部3060の外部へデータパケットのメッセージを出力する(S206)。
【0021】
以下、上述のフローチャートと適宜参照しながら、各機能構成部の具体的な機能について説明する。
【0022】
<開示許可情報付加部2040の詳細>
開示許可情報付加部2040はデータパケットを取得する(S102)。開示許可情報付加部2040が取得するデータパケットは、送信元アドレス、送信先アドレス、及びメッセージを含む。例えばデータパケットは、ヘッダ部分に送信元 IP アドレスと送信先 IP アドレスを含み、かつデータ部分にメッセージを含む IP パケットである。ただしデータパケットは IP パケットには限定されず、任意のネットワークプロトコルで送受信されるデータでよい。
【0023】
データパケットの生成には既知の技術を利用できる。例えば IP パケットは、OS(Operating System)の IP プロトコルスタックによって生成される。ここで、OS のプロトコルスタック等がデータパケットを生成する方法は既知の技術であるため、その具体的な方法についての説明は省略する。
【0024】
前述したように、データパケットに含まれるメッセージは任意のデータである。例えばこのメッセージは、送信装置2000のユーザによって生成される。具体的には、ユーザは、キーボード等の入力デバイスを用いて文字データ等を入力することで、メッセージを生成する。またメッセージは、送信装置2000によって自動的に生成されたものでもよい。さらに例えば、メッセージは、送信装置2000が、送信装置2000の外部から取得したものでもよい。なお、メッセージは文字データに限定されず、画像データ、音声データなどの任意の形式のデータでよい。
【0025】
データパケットに含まれる送信元のアドレスは、データパケットを送信する送信装置2000を特定するアドレスである。例えば送信元のアドレスは、送信元の送信装置2000の IP アドレス、MAC(Media Access Control)アドレス、又はこれらの双方である。
【0026】
データパケットに含まれる送信先のアドレスは、データパケットの送信先である受信装置3000を特定するアドレスである。例えば送信先のアドレスは、送信先の受信装置3000の IP アドレス、MAC アドレス、又はこれらの双方である。ただし、送信先のアドレスは、マルチキャストアドレスやブロードキャストアドレスなど、送信先の装置を一意には特定しないアドレスであってもよい。
【0027】
開示許可情報付加部2040は、開示許可情報をデータパケットに付加する(S104)。前述したように開示許可情報は、メッセージの開示が許可される受信装置3000を示す情報である。例えば開示許可情報は、メッセージの開示が許可される受信装置3000の ID(Identifier)を示す。ここで、受信装置3000のIDは、受信装置3000を特定できる任意の識別子である。例えば受信装置3000のIDは、受信装置3000の IP アドレス、MAC アドレス、又はUUID(Universally Unique Identifier)などである。なお、メッセージの開示が許可される受信装置3000は1つには限定されず、複数であってもよい。
【0028】
また、開示許可情報は、メッセージの開示が許可される受信装置3000に固有の鍵生成情報を示してもよい。鍵生成情報については、後述の実施例で説明する。
【0029】
また開示許可情報は、メッセージの開示が許可される受信装置3000のグループを示す情報でもよい。例えば受信装置3000のグループを示す情報は、マルチキャストアドレス(マルチキャスト IP アドレスやマルチキャスト MAC アドレスなど)である。また例えば、データ伝送システム4000において、その他の方法で予め受信装置3000のグループを定めてもよい。この場合、どの受信装置3000がどのグループに属するかの情報は、送信装置2000や受信装置3000に予め設定されていてもよいし、送信装置2000や受信装置3000からアクセス可能な記憶装置に記憶されていてもてよい。
【0030】
開示許可情報付加部2040は、データパケットのヘッダに付加情報を付加する。例えば開示許可情報付加部2040は、IP ヘッダやイーサネット(登録商標)ヘッダなどの既存のヘッダ内にある使用されていないデータ領域に付加情報を格納する。また例えば、開示許可情報付加部2040は、これら既存のヘッダとは別に新たなヘッダを生成し、そのヘッダに付加情報を格納して、データパケットに挿入してもよい。
【0031】
開示許可情報付加部2040は、メッセージの開示を許可する受信装置3000として、送信先の受信装置3000を含める。さらに開示許可情報付加部2040は、メッセージの開示が許可される受信装置3000として、送信先の受信装置3000以外の所定の受信装置3000を含める。この所定の受信装置3000は、警察等の特別な権限を持つ機関や人などが所有する受信装置3000である。こうすることで、このような特別な権限を持つ機関や人などが所有する受信装置3000が備えられた計算機を用いれば、任意の受信装置3000へ向けて送信されたデータパケットのメッセージを取得・閲覧できるようになる。
【0032】
例えば犯罪の捜査などにおいて、容疑者が送信したメールなどに重要な証拠となる情報などが含まれていることがある。このような場合、警察等は、犯人が所有する計算機などを利用せずともこのメールを閲覧できることが好ましい。開示許可情報付加部2040が開示許可情報に上述した特別な権限を有する機関や人が所有する受信装置3000を示すようにすることで、これらの機関等において犯罪の重要な証拠などを容易に得ることができる。一方で、開示許可情報によってメッセージを開示できる受信装置3000が制限されるため、データパケットのメッセージを任意の受信装置3000で開示できる場合と比較し、メッセージをやりとりする者のプライバシーが尊重される。
【0033】
また、開示許可情報付加部2040は、送信先の受信装置3000や警察等が所有する受信装置3000以外の受信装置3000も、開示許可情報に含めてもよい。
【0034】
開示許可情報に含める受信装置3000を決定する方法は様々である。例えば開示許可情報付加部2040は、送信装置2000を有する計算機のユーザから、メッセージの開示を許可する受信装置3000のIDの入力を受け付ける。そして、開示許可情報付加部2040は、入力された受信装置3000のIDを開示許可情報に含める。ただし、送信先の受信装置3000については、送信先アドレスから特定することも可能である。そこで開示許可情報付加部2040は、開示許可情報が示す受信装置3000のIDがネットワークアドレスであれば、データパケットの送信先アドレスを自動的に開示許可情報に含めてもよい。また、開示許可情報付加部2040は、開示許可情報が示す受信装置3000のIDがネットワークアドレス以外である場合、データパケットの送信先アドレスから送信先の受信装置3000のIDを特定し、その特定したIDを開示許可情報に含めてもよい。例えば開示許可情報付加部2040が、各受信装置3000のIDとネットワークアドレスとを対応付けたデータベース等にアクセス可能である場合、開示許可情報付加部2040は、このデータベースにアクセスして、受信装置3000のIDを特定する。
【0035】
また開示許可情報付加部2040は、上述した警察等の機関や人が所有する受信装置3000のIDをデフォルトで自動的に開示許可情報に含める。このようにデフォルトで開示許可情報に含める受信装置3000のIDは、開示許可情報付加部2040に予め設定されていてもよいし、開示許可情報付加部2040からアクセス可能な記憶装置に記憶されていてもよい。
【0036】
<暗号化部2020の詳細>
暗号化部2020はデータパケットの匿名化対象情報(送信元アドレス、送信先アドレス、又は開示許可情報)を暗号化する(S106)。ここで、暗号化部2020は、送信元アドレス、送信先アドレス、及び開示許可情報のうち、いずれか2つ以上を暗号化してもよい。さらに暗号化部2020は、上記3つの情報だけでなく、データパケット全体を暗号化してもよい。この場合、データパケット全体が匿名化対象情報となる。
【0037】
なお、データパケットには、異なる種類の複数の送信元アドレスが含まれていることがある。例えば、イーサネット(登録商標)フレームには、MAC アドレスと IP アドレスが含まれうる。同様に、データパケットには、異なる種類の複数の送信先アドレスが含まれていることがある。このような場合、暗号化部2020は、これら複数のアドレスのうち、いずれか1つ以上を暗号化する。
【0038】
<<暗号化の方式について>>
暗号化部2020によるデータの暗号化と復号部3040によるデータの復号には、同じ匿名化暗号鍵が用いられる。つまり暗号化部2020による暗号化と復号部3040による復号は、共通鍵暗号方式で行われる。そしてデータ伝送システム4000は、共通鍵暗号方式に分類される任意の暗号方式を利用できる。例えばデータ伝送システム4000は、AES(Advanced Encryption Standard)暗号や、特許第4737334号公報に記載されている再配置暗号などを利用できる。
【0039】
匿名化暗号鍵の具体的な態様は、利用する共通鍵暗号方式によって定まる。匿名化暗号鍵の具体例については、後述の実施例で説明する。
【0040】
<送信部2060の詳細>
送信部2060は、付加情報が付加されたデータパケットを送信する(S108)。ここで、データパケットに示されている送信先のアドレスに従ってデータパケットを送信する方法は既知の技術であるため、具体的な説明は省略する。
【0041】
<受信部3020の詳細>
受信部3020は、データパケットを受信する(S202)。ここでデータ伝送システム4000では、データパケットの送信先アドレスが暗号化されている場合がある。この場合、受信装置3000は、データパケットの送信先アドレスを復号しなければ、そのデータパケットがその受信装置3000を送信先とするものであるか否かを判別できない。そこでこの場合、受信部3020がデータパケットを受信し、復号部3040がそのデータパケットの匿名化対象情報を復号する。そして受信装置3000は、復号された送信先アドレスによって、そのデータパケットがその受信装置3000を送信先とするものであるか否かを判断する。
【0042】
データパケットの送信先アドレスが暗号化されていない場合、受信部3020は、データパケットの送信先アドレスに基づいてデータパケットの受信処理を行う。ここで、送信先アドレスが暗号化されていない場合におけるデータパケットの受信処理は、既知の処理である。そのため、この処理に関する詳細な説明は省略する。
【0043】
ここで、受信装置3000は、送信先アドレスがその受信装置3000のアドレスではないデータパケットを受信してもよい。例えば受信装置3000は、受信装置3000が接続されているネットワークを流れる全てのデータパケットを受信する。また受信装置3000は、アドレス情報が所定の条件に当てはまるデータパケットを受信する。この所定の条件は、受信装置3000に記憶されているものとする。
【0044】
送信先アドレスがその受信装置3000のアドレスではないデータパケットを受信するする受信装置3000は、例えばネットワークに流れるデータパケットをキャプチャする装置や、後述するような警察等の機関が有する装置などである。データパケットのキャプチャをする装置は、例えばネットワークを流れるデータパケットついて、データパケットの統計データを生成したり、データパケットに含まれるメッセージに対してウイルススキャンなどを行ったりする装置である。
【0045】
<復号部3040の詳細>
復号部3040は、受信部3020によって受信されたデータパケットに含まれる匿名化対象情報を、匿名化暗号鍵を用いて復号する(S204)。ここで復号部3040は、データパケットに含まれるデータのうち、どのデータが暗号化されているのかを把握する必要がある。どのデータが暗号化されているのかを復号部3040が把握する方法は様々である。例えばデータ伝送システム4000において、データパケットのうちのどのデータを暗号化するかを予め定めておく。この場合、暗号化部2020は、予め定められたデータ(例えば送信先 IP アドレスなど)を暗号化する。そして、復号部3040は、この予め定められたデータを復号する。「データパケットのうちのどのデータを暗号化するか」を定義した情報は、予め暗号化部2020及び復号部3040に設定されていてもよいし、暗号化部2020及び復号部3040それぞれからアクセス可能な記憶装置等に格納されていてもよい。
【0046】
また例えば、暗号化部2020は、データパケットのどのデータを暗号化したかを表す情報をデータパケットに付加してもよい。この場合、復号部3040は、この付加された情報を参照することで、データパケットのどのデータが暗号化されているのかを把握する。「データパケットのどのデータを暗号化したか」を表す情報は、例えばデータパケットの先頭に付加される。ただし、この情報を付加する位置はデータパケットの先頭に限定されない。
【0047】
ここで、暗号化されたデータを所定の暗号鍵を用いて復号する技術は既知の技術である。そのため、復号部3040が匿名化暗号鍵を用いて匿名化対象情報を復号する方法についての詳細な説明は省略する。
【0048】
<出力部3060について>
出力部3060は、その出力部3060を有する受信装置3000が、データパケットの開示許可情報によって示される、メッセージの開示が許可される受信装置3000に該当する場合に、出力部3060の外部にデータパケットのメッセージを出力する(S206)。外部にメッセージが出力されることにより、その出力部3060を有する計算機上で動作する OS などがメッセージを利用できる。例えばその OS などは、ディスプレイ上にメッセージを表示したりすることができる。なお、出力部3060を実現する具体的な方法については、後述の実施形態で説明する。
【0049】
<ハードウエア構成>
送信装置2000及び受信装置3000はそれぞれ、一つのハードウエアチップ、又は複数のハードウエアチップの組み合わせを用いて実装される。ハードウエアチップは、例えば LSI (Large Scale Integration) などの集積回路である。ただし、送信装置2000及び受信装置3000の実装方法は、集積回路を用いた実装方法に限定されない。
【0050】
例えば、暗号化部2020、開示許可情報付加部2040、及び送信部2060はそれぞれ、ワイヤードロジックなどにより、上記ハードウエアチップ上にハードウエアとして実装される。その他にも例えば、上記各機能構成部は、ソフトウエアとハードウエアの組み合わせとして実装される。ソフトウエアとハードウエアの組み合わせとは、例えば、プロセッサ、メモリ、及びストレージなどのハードウエアと、メモリ又はストレージに格納されたプログラムの組み合わせである。プロセッサは、例えば、上記各機能構成部を実現する各プログラムをメモリに読み出して実行することで、上記各機能構成部が有する機能を実現する。例えば上記プロセッサ等の種々のハードウエアは、SoC(System on Chip)としてハードウエアチップ上に実装される。
【0051】
第1匿名化暗号鍵格納部2080は、例えば、送信装置2000の外部との間に通信路を持たない ROM や RAM として実装される。この場合、匿名化暗号鍵は、この ROM や RAM に格納される。その他にも例えば、第1匿名化暗号鍵格納部2080は、ワイヤードロジックなどを用いて実装されてもよい。この場合、匿名化暗号鍵は、第1匿名化暗号鍵格納部2080に組み込まれた物理的な電気回路として実装される。例えば暗号化部2020、開示許可情報付加部2040、及び送信部2060が一つのハードウエアチップ上に実装される場合、第1匿名化暗号鍵格納部2080は、そのハードウエアチップ上に実装される。ただし、第1匿名化暗号鍵格納部2080は、暗号化部2020などが実装されるハードウエアチップとの間に通信路を持つ別のハードウエアチップとして実装されてもよい。
【0052】
受信部3020、復号部3040、及び出力部3060を実装する方法は、暗号化部2020、開示許可情報付加部2040、及び送信部2060を実装する方法と同様である。また、第2匿名化暗号鍵格納部3080を実装する方法は、第1匿名化暗号鍵格納部2080を実装する方法と同様である。例えば受信部3020、復号部3040、及び出力部3060が一つのハードウエアチップ上に実装される場合、第2匿名化暗号鍵格納部3080は、そのハードウエアチップ上に実装される。ただし、第2匿名化暗号鍵格納部3080は、受信部3020などが実装されるハードウエアチップとの間に通信路を持つ別のハードウエアチップとして実装されてもよい。
【0053】
例えば送信装置2000と受信装置3000はそれぞれ、PC (Personal Computer)、サーバ、携帯端末等の種々の計算機が有するネットワークインタフェース上に実装される。こうすることで、送信装置2000を有する計算機の OS 等がネットワークを経由して送信しようとする各データパケットが、送信装置2000によって処理されてから送信される。そして、ネットワークを経由して受信装置3000によって受信されたデータパケットは、受信装置3000によって処理された後、受信装置3000を有する計算機の OS 等によって利用される。
【0054】
<データパケットの中継について>
データパケットがレイヤ2スイッチやルータなどの中継装置によって中継される場合、これらの中継装置は、匿名化暗号鍵を用いてデータパケットに含まれるアドレス情報を復号し、復号されたアドレス情報に基づいて中継先を決定する。そして、中継装置は、アドレス情報の変更が必要な場合はアドレス情報を変更し、変更後のデータパケットを匿名化暗号鍵で暗号化して送信する。中継装置は、送信装置2000や受信装置3000と同様に、その中継装置の外部からは読み取り不可能な状態で匿名化暗号鍵を格納する格納部を有する。中継装置が匿名化暗号鍵を用いてデータパケットの暗号化を行う方法は、暗号化部2020がデータパケットの暗号化を行う方法と同様である。中継装置が匿名化暗号鍵を用いてデータパケットの復号を行う方法は、復号部3040がデータパケットの復号を行う方法と同様である。
【0055】
中継装置が行うアドレス情報の変更は、例えば Network Address Translation(NAT)や Network Address Port Translation(NAPT)などである。この場合、中継装置は、Local Area Network(LAN)と Wide Area Network(WAN)との境界に位置するゲートウェイ装置である。なお、NAT や NAPT は既知の技術であるため、これらの詳細な説明は省略する。
【0056】
図5は、中継装置5000を有するデータ伝送システム4000を例示する図である。中継装置5000は、送信装置2000と受信装置3000の間に位置し、データパケットの中継を行う。なお、送信装置2000と受信装置3000の間に複数の中継装置5000が介在してもよい。
【0057】
図6は、中継装置5000を例示するブロック図である。各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。
【0058】
中継装置5000は、第2受信部5020、第2復号部5040、変換部5060、第2暗号化部5080、第2送信部5100、及び第3匿名化暗号鍵格納部5120を有する。第2受信部5020はデータパケットを受信する。
【0059】
第2復号部5040は、匿名化暗号鍵を用いて、データパケットの暗号化された送信元アドレス又は送信先アドレスを復号する。第2復号部5040がデータパケットの復号を行う方法は、復号部3040がデータパケットの復号を行う方法と同様である。なお、データパケットの開示許可情報が送信元アドレスなどと共に暗号化されている場合、開示許可情報も一緒に復号される。ただし、送信元アドレス、送信先アドレス、及び開示許可情報がそれぞれ別個に暗号化されている場合、第2復号部5040は、開示許可情報を復号しなくてもよい。
【0060】
変換部5060は、送信元アドレス又は送信先アドレスの変換を行う。この変換は、例えば前述した NAT や NAPT の処理である。
【0061】
第2暗号化部5080は、変換された送信元アドレス又は送信先アドレスを匿名化暗号鍵で暗号化する。第2暗号化部5080がデータパケットを暗号化する方法は、暗号化部2020がデータパケットを暗号化する方法と同様である。なお、受信したデータパケットにおいて開示許可情報が暗号化されていた場合、第2暗号化部5080は、開示許可情報も暗号化する。
【0062】
第2送信部5100は、第2暗号化部5080によって暗号化されたデータパケットを送信する。
【0063】
第3匿名化暗号鍵格納部5120は、第2復号部5040及び第2暗号化部5080が用いる匿名化暗号鍵を、当該中継装置5000の外部から読み取り不可能な状態で格納する。
【0064】
中継装置5000のハードウエア構成は、送信装置2000や受信装置3000のハードウエア構成と同様である。
【0065】
<作用・効果>
本実施形態のデータ伝送システム4000によれば、データパケットが送信装置2000から受信装置3000へ送信される際、そのデータパケットの送信元アドレス、送信先アドレス、又は開示許可情報(匿名化対象情報)が暗号化されている。そして、その暗号化に用いられる匿名化暗号鍵は、送信装置2000や受信装置3000の外部からは読み出し不可能な状態で格納されている。そのため、たとえデータパケットが第三者に傍受等されたとしても、その第三者はそのデータパケットの送信先や送信元などを特定することができない。よって、データ伝送システム4000によれば、データパケットの秘匿性を向上させることができる。
【0066】
また、本実施形態のデータ伝送システム4000によれば、匿名化対象情報は共通鍵暗号によって暗号化・復号される。ここで一般に、公開鍵暗号方式の暗号処理は共通鍵暗号方式の暗号処理よりも時間がかかるため、データパケット単位で暗号化すると暗号処理のオーバヘッドが大きくなってしまう。これに対し、共通鍵暗号方式の暗号処理は高速であるため、データパケットごとに暗号処理を行っても暗号処理のオーバヘッドが小さいといえる。そのため、データ伝送システム4000によれば、暗号処理によるオーバヘッドを小さく抑えつつ、データパケットの秘匿性を向上できる。
【0067】
さらにデータ伝送システム4000によれば、開示許可情報によってメッセージの開示が許可される受信装置3000を自由に設定できる。前述したように、開示許可情報によってメッセージの開示が許可される受信装置3000には、送信先の受信装置3000に加え、警察等の特別な権限を持つ機関や人が所有する受信装置3000が含まれる。こうすることで、これら特別な機関において、犯罪の証拠等を取得することが容易になる。また、このように特別な権限を持つ機関等がメッセージを閲覧できるようにネットワークを運用することで、犯罪の実行自体が難しくなり、犯罪の抑止力になるという効果もある。
【0068】
<変形例>
受信装置3000は、外部にデータパケットのメッセージを出力することに加え、又は外部にデータパケットのメッセージを出力することに代え、1つ又は複数のデータパケットに含まれるメッセージについて任意の処理(例えば統計処理)を施し、その結果を示す情報を生成して出力してもよい。以下、1つ又は複数のデータパケットに含まれるメッセージについて任意の処理を施した結果を示す情報を、処理結果情報と表記する。
【0069】
この場合、受信装置3000は、匿名処理部3200及び第2出力部3220をさらに有する。
図7は、匿名処理部3200及び第2出力部3220を有する実施形態1の受信装置3000を例示するブロック図である。匿名処理部3200は、復号部3040によって復号された1つ又は複数のデータパケットのメッセージについて任意の処理(例えば匿名化を行う処理)を施して、処理結果情報を生成する。第2出力部3220は、処理結果情報を外部へ出力する。外部に処理結果情報が出力されることにより、その第2出力部3220を有する計算機上で動作する OS などがメッセージを利用できる。例えばその OS などは、ディスプレイ上にメッセージを表示したりすることができる。
【0070】
例えば匿名処理部3200は、守秘義務のあるデータを表すメッセージに対して匿名化を伴う統計処理を行い、その結果を示す処理結果情報を生成する。例えば受信装置3000が、選挙の投票データを受信する装置であるとする。この場合、データパケットのメッセージは、どの候補者に投票するのかを示すデータである。そしてこの場合、処理結果情報の具体的な内容は、各候補者に何票投票されたかを表す投票結果などである。受信装置3000がメッセージ自体を出力せずに処理結果情報のみを出力すれば、「誰が誰に投票したか」を外部に開示することなく、選挙結果のみを外部に開示することができる。よって、選挙権者のプライバシーを守りつつ、選挙結果を開示することができる。
【0071】
なお、データ伝送システム4000が扱う守秘義務のあるデータは、選挙に関するデータに限られない。守秘義務のあるその他のデータは、例えば医療関係の情報(カルテなど)、又はマイナンバーや運転免許証に関する情報など、各種の個人情報である。
【0072】
また例えば、匿名処理部3200は、防犯カメラから取得した画像データを表すメッセージに対して匿名化を伴う画像処理を行い、その結果を示す処理結果情報を生成する。例えば受信装置3000が、防犯カメラから画像データを収集して、指名手配犯などの捜索を行う装置であるとする。この場合、データパケットのメッセージは画像データを表す。そしてこの場合、処理結果情報の具体的な内容は、画像データに指名手配犯が写っているか否かを示す情報である。受信装置3000がメッセージ自体を出力せずに処理結果情報のみを出力すれば、防犯カメラから取得した画像データを外部に開示することなく、指名手配犯などが発見された場合にその旨を開示することができる。よって、防犯カメラに写る一般の人のプライバシーを守りつつ、指名手配犯などの捜索を行うことができる。
【0073】
ただし、匿名処理部3200が行う処理は、匿名化を伴う処理に限定されない。また例えば、匿名処理部3200は、メッセージに対してウイルスチェックを行い、その結果を示す処理結果情報を生成する。この場合、処理結果情報の具体的な内容は、メッセージからウイルスが検出されたか否かを示す情報である。受信装置3000がメッセージ自体を出力せずに処理結果情報のみを出力すれば、各メッセージの内容を開示することなく、メッセージに対してウイルスチェックを施すことができる。
【0074】
ここで匿名処理部3200は、開示許可情報によってメッセージの開示が許可されているか否かを判定しなくてもよいし、判定してもよい。前者の場合、匿名処理部3200は、開示許可情報によって開示が許可されていないメッセージについても前述した任意の処理を施して、処理結果情報を生成する。後者の場合、匿名処理部3200は、出力部3060と同様の方法で、開示許可情報によってメッセージの開示が許可されているか否かを判定する。そして、匿名処理部3200は、開示が許可されているメッセージについてのみ上述した任意の処理を施して、処理結果情報を生成する。
【0075】
匿名処理部3200が開示許可情報によって開示が許可されていないメッセージについても匿名化処理などを行う場合、受信装置3000のユーザは、メッセージの内容自体を知ることはできないものの、メッセージについて所定の処理を施した結果については知ることができる。例えば上述の各例では、受信装置3000のユーザは、1)「誰が誰に投票したか」を知ることはできないものの、投票結果を知ることができ、2)防犯カメラの各画像データに誰が写っているかを知ることはできないものの、防犯カメラに指名手配犯が写っていたかどうかを知ることはでき、3)メッセージの内容を知ることはできないものの、メッセージにウイルスが含まれているかどうかを知ることはできる。
【0076】
ここで、匿名処理部3200が複数のデータパケットに含まれるメッセージについて匿名化処理などを施す場合、匿名処理部3200は、複数のデータパケットに含まれるメッセージをそれぞれ蓄積しておき、所定の要件が満たされた場合に匿名化処理などを施す。例えば所定の要件は、所定時間の経過、所定数のデータパケットの受信、又は統計処理などを開始すべき旨を示すフラグがヘッダに含まれているデータパケットの受信などである。
【0077】
なお、受信装置3000がメッセージを出力せずに処理結果情報を出力する場合、受信装置3000は、出力部3060を有さなくてもよい。また、受信装置3000が出力部3060と第2出力部3220の双方を有する場合、受信装置3000は、メッセージと処理結果情報の双方を出力してもよいし、いずれかのみを出力してもよい。メッセージと処理結果情報のいずれかのみを出力する場合、例えば受信装置3000のユーザやデータ伝送システム4000の管理者が、受信装置3000に対し、メッセージと処理結果情報のいずれを出力するかを設定できるようにする。
【0078】
[実施形態2]
実施形態2に係るデータ伝送システム4000の機能構成は、実施形態1のデータ伝送システム4000と同様に、例えば
図1で表される。以下で説明する点を除き、実施形態2のデータ伝送システム4000は、実施形態1のデータ伝送システム4000と同様の機能を有する。
【0079】
実施形態2において、開示許可情報は、データパケットの開示が許可される受信装置3000のリストを示す。例えばこのリストは、実施形態1で説明した受信装置3000のIDや受信装置3000が属するグループのIDを示す。
【0080】
実施形態2において、出力部3060は、その出力部3060を有する受信装置3000がリストに示されている場合のみ、受信したデータパケットに含まれるメッセージを外部に出力する。
【0081】
図8は、実施形態2の受信装置3000によって行われる処理の流れを例示するフローチャートである。
図8のフローチャートは、実施形態2の出力部3060が行う、
図2のS206の具体的な流れを示す。出力部3060は、データパケットの開示許可情報が、その出力部3060を有する受信装置を示しているか否かを判定する(S302)。例えば出力部3060は、開示許可情報が示す上記リストに、その出力部3060を有する受信装置3000のID又はその受信装置3000が属するグループのIDが含まれているか否かを判定する。
【0082】
データパケットの開示許可情報が、その出力部3060を有する受信装置を示している場合(S302:YES)、
図8の処理はS304に進む。一方、データパケットの開示許可情報が、その出力部3060を有する受信装置を示していない場合(S302:NO)、
図8の処理は終了する。
【0083】
S304において、出力部3060は、データパケットのメッセージを出力する。
【0084】
<作用・効果>
実施形態2のデータ伝送システム4000によれば、データパケットを受信した受信装置3000が、そのデータパケットのメッセージの開示を許可されている場合、出力部3060によってそのデータパケットのメッセージが出力される。よってこの場合、受信装置3000を有する計算機等のユーザが、データパケットのメッセージを閲覧等することができる。一方で、データパケットを受信した受信装置3000がメッセージの開示を許可されていない場合、出力部3060はそのデータパケットのメッセージを出力しない。よってこの場合、受信装置3000を有する計算機等のユーザは、データパケットのメッセージを閲覧等することができない。以上により、本実施形態によれば、送信装置2000によってデータパケットに付加される開示許可情報に示される受信装置3000のリストに基づいて、メッセージを閲覧等できる者を制限できる。
【0085】
[実施例]
以下、データ伝送システム4000のより具体的な実現方法及び動作の例を、実施例として説明する。なお、以下で説明するデータ伝送システム4000の構成は、あくまで1つの例示であり、データ伝送システム4000の実現方法を限定するものではない。
【0086】
本実施例では、1)固有暗号鍵、2)鍵生成情報、及び3)マスタ暗号鍵というデータを導入する。固有暗号鍵は、受信装置3000と一意に対応する暗号鍵である。つまり、ある受信装置3000と別の受信装置3000とでは、それぞれ対応する固有暗号鍵が異なる。ある受信装置3000の固有暗号鍵は、その受信装置3000の外部から読み取り不可能な状態で、その受信装置3000の内部に格納される。つまり受信装置3000は、固有暗号鍵について耐タンパ性を有する。
【0087】
鍵生成情報は、固有暗号鍵を生成するための情報である。固有暗号鍵は、鍵生成情報に対して一意に対応する。つまり、ある固有暗号鍵と別の固有暗号鍵とでは、それぞれ対応する鍵生成情報が異なる。なお、固有暗号鍵を鍵生成情報から安全なハッシュ関数で生成する場合、この一意性は生成される固有暗号鍵に対する衝突困難性と置き換えても良い。
【0088】
マスタ暗号鍵は、鍵生成情報を用いた固有暗号鍵の生成に利用される暗号鍵である。ただし、固有暗号鍵からマスタ暗号鍵を算出することはできない。マスタ暗号鍵は、受信装置3000の外部から読み取り不可能な状態で受信装置3000の内部に格納される。つまり、受信装置3000は、マスタ暗号鍵についても耐タンパ性を有する。
【0089】
<鍵生成情報の詳細>
鍵生成情報のデータ構造は任意である。例えば鍵生成情報は、複数のデータの組み合わせによって構成されることで、階層構造(例:木構造)を持つ。
図9は、鍵生成情報を例示する第1の図である。
図9において、鍵生成情報T
aは、固定の長さを持つ8つのデータT
a1〜T
a8によって構成されている。T
a1〜T
a8の各サイズは、例えば16バイトである。例えば鍵生成情報が木構造を表す場合、鍵生成情報T
aは、T
a1が根であり、T
a8が葉である木構造を表す鍵生成情報となる。
【0090】
図10は、鍵生成情報を例示する第2の図である。
図10において、鍵生成情報T
bは、サイズが異なる複数のデータT
b1〜T
b3、及び各データのサイズを表すヘッダによって構成されている。T
b1〜T
b3のサイズはそれぞれ5バイト、16バイト、256バイトである。
【0091】
なお、鍵生成情報は暗号鍵に対して衝突困難であればよく、上記の構成には限定されない。
【0092】
<固有暗号鍵の詳細>
固有暗号鍵は、鍵生成情報及びマスタ暗号鍵に基づいて生成することができる。例えば固有暗号鍵は、鍵生成情報及びマスタ暗号鍵を入力とする関数によって算出される値である。例えばこの関数は、SHA-256 等のハッシュ関数である。この関数は、一方向性又は原像計算困難性を有する必要がある。さらにこの関数は、単射であるか又は衝突困難性を有する必要がある。単射である場合、異なる鍵生成情報からは必ず異なる固有暗号鍵が生成される。また、衝突困難性を有する場合、異なる鍵生成情報から同じ固有暗号鍵が生成されうるものの、同じ固有暗号鍵が生成されるような複数の鍵生成情報の組を求めることが計算量的に困難である。
【0093】
例えば前述した SHA-256 は、一般に原像困難性及び衝突困難性を有すると言われており、少なくともデータ伝送システム4000で利用される鍵生成情報の集合(例えば、100 億個程度の鍵生成情報の集合)については、原像困難性及び衝突困難性を有すると考えられる。なお、上記の「100 億個程度」はあくまで例示であり、データ伝送システム4000を運用する際に利用可能な鍵生成情報の集合の大きさを限定するものではない。
【0094】
また、少数の鍵生成情報の集合に対して異なる鍵生成情報から同じ固有暗号鍵が生成される確率が低い関数を用いることが好ましい。
【0095】
マスタ暗号鍵は、鍵生成情報に基づいて固有暗号鍵を生成するために用いられる。ここで、マスタ暗号鍵の生成方法は公開されないものとする。これにより、第3者がマスタ暗号鍵を生成することはできない。また前述したとおり、マスタ暗号鍵格納部3120からマスタ暗号鍵を読み出すことはできない。
【0096】
なお、出力部3060で利用される各固有暗号鍵は、出力部3060で用いられる暗号方式に対応する暗号鍵である。ここで、出力部3060は、様々な暗号方式を用いることができる。例えば出力部3060は、DES (Data Encryption Standard) 暗号、AES (Advanced Encryption Standard) 暗号、又は再配置暗号などを用いる。再配置暗号の詳細については後述する。また、DES 暗号や AES 暗号などのブロック暗号を用いる場合、その利用モードは任意である。ブロック暗号の利用モードには、例えば、ECB (Electric Code Book) モード、CFB (Cipher Feed Back) モード、OFB (Output Feed Back) モード、CBC (Cipher Block Chaining) モード、又はカウンタモードなどがある。
【0097】
<暗号鍵の生成方法の具体例>
出力部3060が固有暗号鍵を生成する方法の具体例を説明する。上述したように、出力部3060は、様々な暗号方式を利用できる。以下では、3つの具体例を説明する。
【0098】
<<方法1>>
例えば出力部3060は、式(1)を用いて、鍵生成情報T
1に対して一意に対応する固有暗号鍵K
1を算出する。Hは一方向性及び衝突困難性を有するハッシュ関数である。K
mはマスタ暗号鍵である。T
1|K
mは、T
1を構成するビット列とK
mを構成するビット列を結合したものである。例えばT
1が 001 であり、K
mが 101 の場合、T
1|K
mは 001101 となる。
【数1】
【0099】
なお、出力部3060は、H(T
1|K
m)を構成するビット列の一部を固有暗号鍵K
1として用いてもよい。例えば出力部3060は、H(T
1|K
m)の先頭128ビットを固有暗号鍵K
1とする。例えば AES 暗号方式を利用する場合に、H(T
1|K
m)のサイズと AES 暗号方式のブロックサイズとが異なるとき、出力部3060は、固有暗号鍵K
1のサイズをブロックサイズと等しくするために、H(T
1|K
m)の一部分を固有暗号鍵K
1とする。
【0100】
<<方法2>>
また例えば、出力部3060は、式(2)を用いて、鍵生成情報T
bに対して一意に対応する固有暗号鍵K
bを生成する。鍵生成情報T
bは、
図10に示される鍵生成情報である。E
aは、鍵生成情報を構成する部分データT
b1などを任意の値に変換する関数である。ここで、AES 暗号方式を利用する場合、E
aは、部分データT
b1などを、利用する AES 暗号方式のブロックサイズと等しい大きさを持つ任意の値に変換する。
【数2】
【0101】
<<方法3>>
また例えば、出力部3060は、再配置暗号方式に用いる固有暗号鍵をマスタ暗号鍵及び鍵生成情報から生成する。再配置暗号方式は、暗号化するデータを複数に分割し、分割したそれぞれのデータを、固有暗号鍵に示される情報に基づいて再配置することで、データを暗号化する。
【0102】
まず出力部3060は、疑似乱数のヘッダRを生成する。次に、出力部3060は、Rを初期値として疑似乱数を生成し、暗号化対象のデータをストリーム暗号化する。次に、出力部3060は、Rを含めて再配置表KをSBOXとして用い、非線形な一体化をする。最後に、出力部3060は、上記ストリーム暗号化されたデータを、Kを用いて再配置することで、最終的な暗号文を出力する。
【0103】
なお、再配置暗号方式のさらなる詳細は、特許第4737334号公報に記載されているため、ここでは省略する。
【0104】
<送信装置2000の構成>
図11は、実施例の送信装置2000を例示するブロック図である。本実施例の開示許可情報付加部2040は、メッセージの開示が許される各受信装置3000に固有の固有鍵生成情報のリストを示す開示許可情報を生成する。また、本実施例の送信装置2000は、実施形態2の送信装置2000の機能に加え、メッセージに電子署名を付す機能を有する。メッセージに電子署名を付す機能を実現するため、送信装置2000は、鍵生成情報格納部2100、固有暗号鍵格納部2120、及び電子署名付加部2140を有する。
【0105】
固有暗号鍵格納部2120は、その固有暗号鍵格納部2120を有する送信装置2000と一意に対応する固有暗号鍵を、外部から読み出し不可能か状態で格納する。よって、送信装置2000は、固有暗号鍵について耐タンパ性を有する。鍵生成情報格納部2100は、その鍵生成情報格納部2100を有する送信装置2000の固有暗号鍵と一意に対応する鍵生成情報を格納する。以下、ある装置の固有暗号鍵と一意に対応する鍵生成情報を、その装置の固有鍵生成情報とも表記する。
【0106】
図12は電子署名付与部2140によって実行される処理をブロック図と共に例示する図である。
図12に示すように、本実施例において各データパケットに含まれるメッセージは、電子署名付きのメッセージ(以下、署名データ)を分割したものである。署名データは、送信元の送信装置2000と一意に対応する鍵生成情報(以下、固有鍵生成情報)と、送信先へ伝達すべきデータ(以下、伝達データ)を暗号化した暗号データとを含む。この固有鍵生成情報は、送信元の送信装置2000を示す識別子としての役割を持ち、それと同時に電子署名として機能する。
【0107】
電子署名付加部2140は、伝達データから署名データを生成する。具体的にはまず、電子署名付加部2140は、その電子署名付加部2140を有する送信装置2000の固有暗号鍵を用いて伝達データを暗号化し、暗号データを生成する。次に電子署名付加部2140は、暗号データに鍵生成情報格納部2100に格納されている鍵生成情報を付加することで、署名データを生成する。
【0108】
送信装置2000は、署名データを分割し、分割された署名データをそれぞれメッセージとして含む複数のデータパケットを生成する。そして、このデータパケットは、実施形態1で説明したように開示許可情報付加部2040、開示許可情報付加部2040、及び送信部2060によって処理されることで、受信装置3000へ送信される。なお、署名データ全体が1つのデータパケットに収まる場合、署名データの分割は不要である。
【0109】
<<ハードウエア構成について>>
実施例の送信装置2000を有する計算機は、その計算機から送信されるデータパケットが、必ず送信装置2000によって処理されるように構成される。例えば前述したように、送信装置2000は、送信装置2000を有する計算機のネットワークインタフェース上に設けられる。こうすることで、送信装置2000によって送信されるデータパケットには、必ず上述の電子署名が付加される。
【0110】
電子署名付加部2140は、送信装置2000のその他の機能構成部と同じハードウエアチップ上に実装されてもよいし、別のハードウエアチップ上に実装されてもよい。
【0111】
固有暗号鍵格納部2120は、第1匿名化暗号鍵格納部2080など、耐タンパ性を有する他の格納部と同様の方法で実装される。鍵生成情報格納部2100は、RAM や ROM などの任意のメモリやストレージとして実装される。鍵生成情報格納部2100は、送信装置2000の外部の装置からアクセス可能であってもよい。
【0112】
<受信装置3000の構成>
図13は、本実施例の受信装置3000を例示するブロック図である。本実施例の受信装置3000は、開示許可情報として鍵生成情報を扱う。また、本実施例の受信装置3000は、メッセージに付された電子署名を用いて、データパケットが改ざんされているか否かを判定する機能を有する。そのために受信装置3000は、固有暗号鍵格納部3100、マスタ暗号鍵格納部3120、固有鍵生成情報格納部3140、及び正当性判定部3160を有する。
【0113】
固有暗号鍵格納部3100は、受信装置3000の外部から読み取り不可能な状態で、固有暗号鍵を格納する。そのため、受信装置3000は固有暗号鍵について耐タンパ性を有する。
【0114】
マスタ暗号鍵格納部3120は、受信装置3000の外部から読み取り不可能な状態で、マスタ暗号鍵を格納する。そのため、受信装置3000はマスタ暗号鍵について耐タンパ性を有する。
【0115】
固有鍵生成情報格納部3140は、受信装置3000の外部から読み取り不可能な状態で、固有鍵生成情報を格納する。そのため、受信装置3000は固有鍵生成情報について耐タンパ性を有する。
【0116】
受信部3020によって受信されたデータパケットは、復号部3040によって復号される。出力部3060は、復号されたデータパケットの開示許可情報が示す鍵生成情報のリストに、固有鍵生成情報格納部3140に格納されている固有鍵生成情報が示されているか否かを判定する。これが示されている場合、出力部3060は、データパケットに含まれるメッセージを正当性検証部3160へ出力する。一方、これが示されていない場合、出力部3060は、データパケットに含まれるメッセージを正当性検証部3160へ出力しない。
【0117】
図14は、正当性検証部3160によって実行される処理の流れをブロック図と共に例示する図である。出力部3060によって出力される各メッセージは、署名データが分割されたものである。正当性検証部3160は、分割された署名データを結合することによって復元された署名データを取得する。なお、署名データ全体が1つのデータパケットに収まる場合、この結合は不要である。
【0118】
正当性判定部3160は、復元された署名データに含まれる鍵生成情報と、マスタ暗号鍵格納部3120に格納されているマスタ暗号鍵とを用いて、この鍵生成情報と一意に対応する固有暗号鍵を生成する。そして、正当性判定部3160は、生成した固有暗号鍵で署名データに含まれる暗号データを復号する。
【0119】
暗号データが正しく復号できた場合、受信装置3000は復号された伝達データを取得できる。一方で、暗号データが正しく復号できた場合、受信装置3000は復号された伝達データを取得できる。また暗号データが正しく復号できた場合、正当性検証部3160は、署名データが改ざんされておらず、伝達データが正当なものであると判定である。一方、暗号データが正しく復号できなかった場合、正当性検証部3160は、署名データが改ざんされており、伝達データが不正なものであると判定する。
【0120】
正当性検証部3160が署名データの改ざんの有無を判定する仕組みについて説明する。なお、この仕組みは本発明の発明者による発明であり、詳細は特願2014−127670に記載されている。
【0121】
図15は、電子署名に付加された署名データが改ざんされない場合における電子署名付加部2140及び正当性判定部3160による処理を例示する図である。なお、電子署名付加部2140及び正当性判定部3160以外の機能構成部による処理は省略している。
【0122】
図15では、送信装置2000−1から受信装置3000へ伝達データ10が送信される。送信装置2000−1において、電子署名付加部2140は、送信装置2000−1の固有暗号鍵である固有暗号鍵30−1を用いて伝達データ10を暗号化し、暗号データ20を生成する。また電子署名付加部2140は、送信装置2000の固有鍵生成情報である鍵生成情報50−1を暗号文20に付加し、署名データ40を生成する。
【0123】
正当性判定部3160は、受信した署名データ40に含まれる鍵生成情報50−1、及びマスタ暗号鍵格納部3120に格納されているマスタ暗号鍵60を用いて、固有暗号鍵30−1を生成する。ここで、署名データ40に含まれる鍵生成情報50−1は、送信装置2000−1の固有鍵生成情報であるため、正当性判定部3160は、送信装置2000−1による暗号化で利用された固有暗号鍵と同一の固有暗号鍵30−1を生成する。よって、正当性判定部3160によって正しく暗号データ20が復号され、伝達データ10が算出される。したがって、正当性判定部3160は、署名データ40が改ざんされていないと判定する。
【0124】
一方、
図16は、電子署名に付加された鍵生成情報が改ざんされる場合における正当性判定部3160による処理を例示する図である。なお、電子署名付加部2140による処理の流れは
図15と同様であるため、省略されている。
【0125】
図16では、受信装置3000が受信する署名データ40に含まれる鍵生成情報が、鍵生成情報50−1ではなく、鍵生成情報50−2となっている。つまり、署名データ40の送信元を示す鍵生成情報の改ざんが行われている。この場合、正当性判定部3160が鍵生成情報50−2とマスタ暗号鍵60を用いて生成する固有暗号鍵30−2は、固有暗号鍵30−1とは異なる暗号鍵となる。よって、正当性判定部3160によって暗号データ20を正しく復号することができない。したがって、正当性判定部3160は、署名データ40が改ざんされていると判定する。
【0126】
以上、
図15及び
図16を用いて説明したように、電子署名付加部2140及び正当性判定部3160による処理によって、署名データが改ざんされているか否かが判定できる。
【0127】
また前述したように、鍵生成情報は、送信元の送信装置2000を示す識別子としての役割も持つ。そのため、署名データが改ざんされていないと判定された場合、「署名データを送信した送信装置2000は署名データに含まれる鍵生成情報と一意に対応する送信装置2000である」ということも把握することができる。
【0128】
このように正当性判定部3160によれば、署名データが改ざんされているか否かを把握し、さらには送信元の送信装置2000を特定することができる。よって、電子署名付加部2140によって処理された署名データは、データの改ざんを回避して送信元の装置を証明できる電子署名付きのデータパケットであるといえる。
【0129】
<<ハードウエア構成について>>
実施例の受信装置3000を有する計算機は、その計算機によって受信されるデータパケットが、必ず受信装置3000によって処理されるように構成される。例えば前述したように、受信装置3000は受信装置3000を有する計算機のネットワークインタフェースに設けられる。
【0130】
正当性判定部3160は、受信部3020などが実装されるハードウエアチップと同じハードウエアチップ上に実装されてもよいし、異なるハードウエアチップ上に実装されてもよい。
【0131】
<本実施例のデータ伝送システム4000における具体的な処理の例>
本実施例のデータ伝送システム4000は、送信装置2000−1、受信装置3000−1、及び受信装置3000−2を有する。本実施例において、あるユーザ(以下、加害者)から別のユーザ(以下、被害者)へ脅迫文が送られるとする。送信装置2000−1は、加害者が所有する計算機に内蔵されている。受信装置3000−1は、被害者が所有する計算機に内蔵されている。受信装置3000−2は、警察が有する捜査用の受信装置3000である。
【0132】
送信装置2000−1は上記脅迫文に電子署名を付して送信する。まず電子署名付与部2140は、脅迫文を、送信装置2000−1の固有暗号鍵で暗号化して暗号データを生成し、その暗号データに送信装置2000−1の固有鍵生成情報を付して署名データを生成する。次に、送信装置2000−1は、署名データを分割した複数のメッセージM1からMnそれぞれを含むデータパケットA1からAnを生成する。各データパケットにおいて、送信元アドレスは送信装置2000−1のアドレスであり、送信先アドレスは受信装置3000−1のアドレスである。
【0133】
開示許可情報付加部2040は、A1に開示許可情報を付加する。本実施例では、開示許可情報付加部2040は、送信先の受信装置3000−1の固有鍵生成情報及び警察が所有する受信装置3000−2の固有鍵生成情報を開示許可情報に含めるように構成されている。そのため、開示許可情報付加部2040は、受信装置3000−1の固有鍵生成情報及び受信装置3000−2の固有鍵生成情報を含む開示許可情報を生成し、データパケットに付加する。暗号化部2020は、A1の送信元アドレス、送信先アドレス、及び開示許可情報を暗号化する。送信部2060は、暗号化部2020によって処理された後のA1を受信装置3000−1へ送信する。
【0134】
開示許可情報付加部2040、暗号化部2020、及び送信部2060は、残りのA2からAnについても同様の処理を行う。
【0135】
A1からAnは、受信装置3000−1の受信部3020によって受信される。復号部3040は、匿名化暗号鍵を用いてA1の送信元アドレス、送信先アドレス、及び開示許可情報を復号する。
【0136】
出力部3060は、A1の開示許可情報が示す鍵生成情報のリストの中に、受信装置3000−1の固有鍵生成情報が含まれているか否かを判定する。ここで、本実施例では、開示許可情報が示す鍵生成情報のリストの中に受信装置3000−1の固有鍵生成情報が含まれている。そこで出力部3060は、A1に含まれるM1を出力する。
【0137】
受信部3020、復号部3040、及び出力部3060は、残りのA2からAnについても同様の処理を行う。その結果、M2からMnが出力される。
【0138】
正当性検証部3160は、M1からMnを結合して復元された署名データを取得する。正当性検証部3160は、署名データに含まれている鍵生成情報、及びマスタ暗号鍵格納部3120に格納されているマスタ暗号鍵を用いて、署名データに含まれている鍵生成情報と一意に対応する固有暗号鍵を生成する。正当性判定部3160は、この固有暗号鍵を用いて、署名データに含まれている暗号データを復号することで、上記脅迫文を取得する。
【0139】
また正当性判定部3160は、上記復号処理によって暗号データを正しく復号できたか否かを判定する。暗号データを正しく復号できた場合、前述したように、署名データの改ざんが行われていないと言える。
【0140】
上記脅迫文を受信した被害者が警察に相談すると、警察は脅迫文の送信者、つまりは加害者の特定を試みる。
【0141】
ここで、データパケットA1からAnの開示許可情報は、受信装置3000−2による開示を許可することを表している。そのため警察は、受信装置3000−2によってデータパケットA1からAnを受信することで上記脅迫文を取得できるため、A1からAnに脅迫文が含まれていることを確認できる。さらには前述したように、上記脅迫文は電子署名付きの署名データとして送信されており、受信装置3000−2を有する警察は、脅迫文を送信した送信装置2000が送信装置2000−1であるという確証を得ることができる。よって警察は、脅迫文を送信した装置が、送信装置2000−1を有する計算機であるという、証拠能力の高い証拠を得ることができる。例えば加害者が、「脅迫文の送信元は改ざんされており、この脅迫文は送信装置2000−1から送信されたものではない」と言い逃れをしようとしても、このような改ざんがなされていないことは電子署名によって証明されるため、このような言い逃れはできない。
【0142】
なお、データ伝送システム4000の利用方法は、警察などにおける捜査への利用に限定されない。例えばデータ伝送システム4000は、電子マネーシステム、匿名アンケートシステム、電子投票システム、匿名納税システム、電子入札システム、匿名医療情報システム、及びグループ署名方式などに利用できる。
【0143】
[実施形態3]
図17は、実施形態3に係るデータ伝送システム4000の概要を表す図である。実施形態3のデータ伝送システム4000は、開示許可情報によって受信装置3000によるデータの出力を制御する概念において、実施形態1及び2のデータ伝送システム4000と共通する。
【0144】
一方で、実施形態3のデータ伝送システム4000は、受信装置3000へ伝達すべきデータ(伝達データ)に対して開示許可情報を付加し、開示許可情報が付加された伝達データを分割することでデータパケットを生成するという点において、実施形態1及び2のデータ伝送システム4000と異なる。
【0145】
図18は、実施形態3のデータ伝送システム4000の構成を例示するブロック図である。
図18において、矢印の流れは情報の流れを示している。さらに、
図18において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【0146】
実施形態3の送信装置2000は、開示許可情報付加部2040、データパケット生成部2160、暗号化部2020、送信部2060、及び第1匿名化暗号鍵格納部2080を有する。実施形態3の開示許可情報付加部2040は、伝達データに対して開示許可情報を付加する。データパケット生成部2160は、開示許可情報が付加された伝達データを分割して複数のメッセージを生成し、各メッセージにアドレス情報を付加することで、複数のデータパケットを生成する。実施形態3の暗号化部2020は、データパケット生成部2160によって生成されたデータパケットについて、アドレス情報のみ又はデータパケット全体の暗号化を行う。実施形態3の送信部2060は、暗号化部2020によって暗号化された各データパケットを受信装置3000へ送信する。実施形態3の第1匿名化暗号鍵格納部2080の機能は、実施形態1の第1匿名化暗号鍵格納部2080の機能と同様である。
【0147】
なお、開示許可情報やアドレス情報の内容、及び匿名化暗号鍵を用いた暗号化の方法については、前述した各実施形態や実施例で説明した通りである。また、データを複数のデータパケットに分割する方法は既知の技術であるため、その方法についての詳細は省略する。
【0148】
実施形態3の受信装置3000は、受信部3020、復号部3040、復元部3180、出力部3060、及び第2匿名化暗号鍵格納部3080を有する。実施形態3の受信部3020は、送信装置2000によって送信された複数のデータパケットを受信する。実施形態3の復号部3040は、各データパケットの暗号化されたデータを、匿名化暗号鍵で復号する。復元部3180は、復号された各データパケットに含まれるメッセージを結合することで、開示許可情報が付加された伝達データを復元する。実施形態3の出力部3060は、当該受信装置3000が、復元された開示許可情報によって示される、伝達データの開示が許可されている受信装置3000に該当するか否かを判定する。そして、出力部3060は、当該受信装置3000が伝達データの開示が許可されている受信装置3000に該当する場合、伝達データを外部へ出力する。実施形態3の第2匿名化暗号鍵格納部3080が有する機能は、実施形態1の第2匿名化暗号鍵格納部3080が有する機能と同様である。
【0149】
なお、データパケットを受信する方法、匿名化暗号鍵を用いた復号の方法及び開示許可情報を用いた判定の方法は、前述した各実施形態や実施例で説明した通りである。また、複数のデータパケットを結合する方法は既知の技術であるため、その方法についての詳細は省略する。
【0150】
<ハードウエア構成>
本実施形態の送信装置2000と受信装置3000のハードウエア構成はそれぞれ、実施形態1の送信装置2000と受信装置3000のハードウエア構成と同様である。
【0151】
<変形例>
実施形態3の受信装置3000は、実施形態1の変形例における受信装置3000と同様に、匿名処理部3200及び第2出力部3220をさらに有していてもよい。この場合、受信装置3000は、外部に伝達データを出力することに加え、又は外部にデータパケットのメッセージを出力することに代え、1つ又は複数の伝達データについて任意の処理(例えば匿名化を伴う統計処理)を施した結果を示す処理結果情報を生成して出力する。
図19は、匿名処理部3200及び第2出力部3220を有する実施形態3の受信装置3000を例示するブロック図である。
【0152】
本変形例における匿名処理部3200は、復元部3180によって復元された1つ又は複数の伝達データに対して任意の処理を施し、その結果を示す処理結果情報を生成する。本変形例における匿名処理部3200が1つ又は複数の伝達データについて処理結果情報を生成する処理は、実施形態1の変形例における匿名処理部3200が1つ又は複数のデータパケットのメッセージについて処理結果情報を生成する処理と同様である。また、本変形例における第2出力部3220の動作は、実施形態1の変形例の第2出力部3220の動作と同様である。
【0153】
以上、図面を参照して本発明の実施形態及び実施例について述べたが、これらは本発明の例示であり、上記実施形態や実施例の組み合わせ、及び上記実施形態や実施例以外の様々な構成を採用することもできる。
【0154】
以下、参考形態の例を付記する。
1. 送信装置と受信装置とを有するデータ伝送システムであって、
前記送信装置は、
送信元アドレス、送信先アドレス及びメッセージを含むデータパケットに対し、前記メッセージの開示が許可される受信装置を示す情報である開示許可情報を付加する開示許可情報付加部と、
前記開示許可情報が付加されたデータパケットに含まれる前記送信元アドレス、前記送信先アドレス、又は前記開示許可情報を匿名化暗号鍵で暗号化する暗号化部と、
前記暗号化された前記データパケットを送信する送信部と、
前記暗号化部が用いる前記匿名化暗号鍵を当該送信装置の外部から読み取り不可能な状態で格納する第1匿名化暗号鍵格納部と、を有し、
前記受信装置は、
前記送信されたデータパケットを受信する受信部と、
前記受信されたデータパケットの暗号化された前記送信元アドレス、前記送信先アドレス又は前記開示許可情報を前記匿名化暗号鍵で復号する復号部と、
当該受信装置が、前記受信されたデータパケットの前記開示許可情報によって前記メッセージの開示が許可されている場合に、前記受信されたデータパケットの前記メッセージを外部に出力する出力部と、
前記復号部が用いる匿名化暗号鍵を当該受信装置の外部から読み取り不可能な状態で格納する第2匿名化暗号鍵格納部と、を有するデータ伝送システム。
2. 前記開示許可情報は、前記メッセージの開示が許可される前記受信装置のリストを示しており、
前記受信装置の前記出力部は、当該受信装置が前記リストに示されている場合のみ、前記受信されたデータパケットのメッセージを外部に出力する、1.に記載のデータ伝送システム。
3. 前記受信装置と一意に対応する固有暗号鍵が、当該受信装置と一意に対応する固有鍵生成情報、及びマスタ暗号鍵とを用いて生成でき、
前記開示許可情報は、前記メッセージの開示が許可される前記受信装置と一意に対応する固有鍵生成情報を示しており、
前記受信装置は、その受信装置と一意に対応する鍵生成情報をその受信装置の外部から読み取り不可能な状態で格納する固有鍵生成情報格納部を有し、
前記出力部は、前記固有鍵生成情報格納部に格納されている鍵生成情報が、前記受信されたデータパケットの前記開示許可情報によって示されている場合に、前記受信されたデータパケットの前記メッセージを外部に出力し、
前記マスタ暗号鍵は別の暗号鍵から算出できない、1.又は2.に記載のデータ伝送システム。
4. 前記開示許可情報によってメッセージの開示が許可される受信装置には、送信先の受信装置以外の受信装置が含まれる、1.乃至3.いずれか一つに記載のデータ伝送システム。
5. 1つ又は複数の前記メッセージについて処理を施し、その処理の結果を示す処理結果情報を生成する匿名処理部と、
前記処理結果情報を出力する第2出力部と、を有する1.乃至4.いずれか一つに記載のデータ伝送システム。
6. 送信装置と受信装置とを有するデータ伝送システムであって、
前記送信装置は、
前記受信装置へ伝達する伝達データに対して、前記伝達データの開示が許可される受信装置を示す情報である開示許可情報を付加する開示許可情報付加部と、
前記開示許可情報が付加された伝達データを分割することで複数のメッセージを生成し、各メッセージに送信元アドレス及び送信先アドレスを付加して、複数のデータパケットを生成するデータパケット生成部と、
各前記データパケットのアドレス情報又は各前記データパケットを、匿名化暗号鍵で暗号化する暗号化部と、
各前記暗号化されたデータパケットを送信する送信部と、
前記暗号化部が用いる前記匿名化暗号鍵を当該送信装置の外部から読み取り不可能な状態で格納する第1匿名化暗号鍵格納部と、を有し、
前記受信装置は、
各前記送信されたデータパケットを受信する受信部と、
各前記受信されたデータパケットを前記匿名化暗号鍵で復号する復号部と、
各前記復号されたデータパケットに含まれる前記メッセージを結合することで、前記開示許可情報が付加された伝達データを復元する復元部と、
当該受信装置が前記開示許可情報によって前記伝達データの開示が許可されている場合に、前記復元された伝達データを外部に出力する出力部と、
前記復号部が用いる匿名化暗号鍵を当該受信装置の外部から読み取り不可能な状態で格納する第2匿名化暗号鍵格納部と、を有するデータ伝送システム。
7. 前記開示許可情報は、前記伝達データの開示が許可される前記受信装置のリストを示しており、
前記受信装置の前記出力部は、当該受信装置が前記リストに示されている場合のみ、前記復元された伝達データを外部に出力する、6.に記載のデータ伝送システム。
8. 前記受信装置と一意に対応する固有暗号鍵が、当該受信装置と一意に対応する固有鍵生成情報、及びマスタ暗号鍵とを用いて生成でき、
前記開示許可情報は、前記伝達データの開示が許可される前記受信装置と一意に対応する固有鍵生成情報を示しており、
前記受信装置は、その受信装置と一意に対応する鍵生成情報をその受信装置の外部から読み取り不可能な状態で格納する固有鍵生成情報格納部を有し、
前記出力部は、前記固有鍵生成情報格納部に格納されている鍵生成情報が、前記復元されたデータパケットに付加されている前記開示許可情報によって示されている場合に、前記復元された伝達データを外部に出力し、
前記マスタ暗号鍵は別の暗号鍵から算出できない、6.又は7.に記載のデータ伝送システム。
9. 前記開示許可情報によってメッセージの開示が許可される受信装置には、送信先の受信装置以外の受信装置が含まれる、1.乃至4.いずれか一つに記載のデータ伝送システム。
10. 1つ又は複数の前記伝達データについて処理を施し、その処理の結果を示す処理結果情報を生成する匿名処理部と、
前記処理結果情報を出力する第2出力部と、を有する6.乃至9.いずれか一つに記載のデータ伝送システム。
11. 前記データ伝送システムは中継装置をさらに含み、
前記送信装置の前記暗号化部は、少なくとも前記データパケットの前記送信元アドレス又は前記送信先アドレスを暗号化し、
前記中継装置は、
前記送信されたデータパケットを受信する第2受信部と、
前記受信されたデータパケットの暗号化された前記送信元アドレス又は前記送信先アドレスを前記匿名化暗号鍵で復号する第2復号部と、
前記送信元アドレス又は前記送信先アドレスの変換を行う変換部と、
前記変換された前記送信元アドレス又は前記送信先アドレスを前記匿名化暗号鍵で暗号化する第2暗号化部と、
前記第2暗号化部によって暗号化された前記データパケットを送信する第2送信部と、
前記第2暗号化部及び前記第2復号部が用いる前記匿名化暗号鍵を当該中継装置の外部から読み取り不可能な状態で格納する第3匿名化暗号鍵格納部と、を有する1.乃至10.いずれか一つに記載のデータ伝送システム。
12. 1.乃至11.いずれか一つに記載のデータ伝送システムが有する送信装置。
13. 1.乃至11.いずれか一つに記載のデータ伝送システムが有する受信装置。
14. 11.に記載のデータ伝送システムが有する中継装置。
15. 送信装置と受信装置とを有するデータ伝送システムにおいて実行されるデータ伝送方法であって、
前記送信装置が、送信元アドレス、送信先アドレス及びメッセージを含むデータパケットに対し、前記メッセージの開示が許可される受信装置を示す情報である開示許可情報を付加する開示許可情報付加ステップと、
前記送信装置が、前記開示許可情報が付加されたデータパケットに含まれる前記送信元アドレス、前記送信先アドレス、又は前記開示許可情報を匿名化暗号鍵で暗号化する暗号化ステップと、
前記送信装置が、前記暗号化されたデータパケットを送信する送信ステップと、
前記受信装置が、前記送信されたデータパケットを受信する受信ステップと、
前記受信装置が、前記受信されたデータパケットの暗号化された前記送信元アドレス、前記送信先アドレス、又は前記開示許可情報を前記匿名化暗号鍵で復号する復号ステップと、
前記受信されたデータパケットの前記開示許可情報によって前記メッセージの開示が許可されている場合に、当該受信装置が、前記受信されたデータパケットの前記メッセージを外部に出力する出力ステップと、を有し、
前記送信装置は、前記暗号化ステップで用いる前記匿名化暗号鍵を当該送信装置の外部から読み取り不可能な状態で格納する第1匿名化暗号鍵格納部を有し、
前記受信装置は、前記復号ステップで用いる前記匿名化暗号鍵を当該受信装置の外部から読み取り不可能な状態で格納する第2匿名化暗号鍵格納部を有するデータ伝送方法。
16. 前記開示許可情報は、前記メッセージの開示が許可される前記受信装置のリストを示しており、
前記受信装置が実行する前記出力ステップは、当該受信装置が前記リストに示されている場合のみ、前記受信されたデータパケットのメッセージを外部に出力する、15.に記載のデータ伝送方法。
17. 前記受信装置と一意に対応する固有暗号鍵が、当該受信装置と一意に対応する固有鍵生成情報、及びマスタ暗号鍵とを用いて生成でき、
前記開示許可情報は、前記メッセージの開示が許可される前記受信装置と一意に対応する固有鍵生成情報を示しており、
前記受信装置は、その受信装置と一意に対応する鍵生成情報をその受信装置の外部から読み取り不可能な状態で格納する固有鍵生成情報格納部を有し、
前記出力ステップは、前記固有鍵生成情報格納部に格納されている鍵生成情報が、前記受信されたデータパケットの前記開示許可情報によって示されている場合に、前記受信されたデータパケットの前記メッセージを外部に出力し、
前記マスタ暗号鍵は別の暗号鍵から算出できない、15.又は16.に記載のデータ伝送方法。
18. 前記開示許可情報によってメッセージの開示が許可される受信装置には、送信先の受信装置以外の受信装置が含まれる、15.乃至17.いずれか一つに記載のデータ伝送方法。
19. 1つ又は複数の前記メッセージについて処理を施し、その処理の結果を示す処理結果情報を生成する匿名処理ステップと、
前記処理結果情報を出力する第2出力ステップと、を有する15.乃至17.いずれか一つに記載のデータ伝送方法。
20. 送信装置と受信装置とを有するデータ伝送システムにおいて実行されるデータ伝送方法であって、
前記送信装置が、前記受信装置へ伝達する伝達データに対して、前記伝達データの開示が許可される受信装置を示す情報である開示許可情報を付加する開示許可情報付加ステップと、
前記送信装置が、前記開示許可情報が付加された伝達データを分割することで複数のメッセージを生成し、各メッセージに送信元アドレス及び送信先アドレスを付加して、複数のデータパケットを生成するデータパケット生成ステップと、
前記送信装置が、各前記データパケットのアドレス情報又は各前記データパケットを、匿名化暗号鍵で暗号化する暗号化ステップと、
前記送信装置が、各前記暗号化されたデータパケットを送信する送信ステップと、
前記受信装置が、各前記送信されたデータパケットを受信する受信ステップと、
前記受信装置が、各前記受信されたデータパケットを前記匿名化暗号鍵で復号する復号ステップと、
前記受信装置が、各前記復号されたデータパケットに含まれる前記メッセージを結合することで、前記開示許可情報が付加された伝達データを復元する復元ステップと、
前記受信装置が、当該受信装置が前記開示許可情報によって前記伝達データの開示が許可されている場合に、前記復元された伝達データを外部に出力する出力ステップと、を有し、
前記送信装置は、前記暗号化ステップで用いる前記匿名化暗号鍵を当該送信装置の外部から読み取り不可能な状態で格納する第1匿名化暗号鍵格納部を有し、
前記受信装置は、前記復号ステップで用いる匿名化暗号鍵を当該受信装置の外部から読み取り不可能な状態で格納する第2匿名化暗号鍵格納部を有するデータ伝送システム。
21. 前記開示許可情報は、前記伝達データの開示が許可される前記受信装置のリストを示しており、
前記受信装置が実行する前記出力ステップは、当該受信装置が前記リストに示されている場合のみ、前記伝達データを外部に出力する、20.に記載のデータ伝送方法。
22. 前記受信装置と一意に対応する固有暗号鍵が、当該受信装置と一意に対応する固有鍵生成情報、及びマスタ暗号鍵とを用いて生成でき、
前記開示許可情報は、前記伝達データの開示が許可される前記受信装置と一意に対応する固有鍵生成情報を示しており、
前記受信装置は、その受信装置と一意に対応する鍵生成情報をその受信装置の外部から読み取り不可能な状態で格納する固有鍵生成情報格納部を有し、
前記出力ステップは、前記固有鍵生成情報格納部に格納されている鍵生成情報が、前記復元されたデータパケットに付加されている前記開示許可情報によって示されている場合に、前記復元された伝達データを外部に出力し、
前記マスタ暗号鍵は別の暗号鍵から算出できない、20.又は21.に記載のデータ伝送方法。
23. 前記開示許可情報によって伝達データの開示が許可される受信装置には、送信先の受信装置以外の受信装置が含まれる、20.乃至22.いずれか一つに記載のデータ伝送方法。
24. 1つ又は複数の前記伝達データについて処理を施し、その処理の結果を示す処理結果情報を生成する匿名処理ステップと、
前記処理結果情報を出力する第2出力ステップと、を有する20.乃至23.いずれか一つに記載のデータ伝送方法。
25. 前記データ伝送システムは中継装置をさらに含み、
前記送信装置の前記暗号化ステップは、少なくとも前記データパケットの前記送信元アドレス又は前記送信先アドレスを暗号化し、
当該データ伝送方法は、
前記中継装置が、前記送信されたデータパケットを受信する第2受信ステップと、
前記中継装置が、前記受信されたデータパケットの暗号化された前記送信元アドレス又は前記送信先アドレスを前記匿名化暗号鍵で復号する第2復号ステップと、
前記中継装置が、前記送信元アドレス又は前記送信先アドレスの変換を行う変換ステップと、
前記中継装置が、前記変換された前記送信元アドレス又は前記送信先アドレスを前記匿名化暗号鍵で暗号化する第2暗号化ステップと、
前記中継装置が、前記第2暗号化ステップによって暗号化された前記データパケットを送信する第2送信ステップと、を有し、
前記中継装置は、前記暗号化ステップ及び前記復号ステップで用いる前記匿名化暗号鍵を当該中継装置の外部から読み取り不可能な状態で格納する第3匿名化暗号鍵格納部を有する、15.乃至24.いずれか一つに記載のデータ伝送方法。
26. 15.乃至25.いずれか一つに記載のデータ伝送方法において送信装置によって実行される各ステップを有する送信方法。
27. 15.乃至25.いずれか一つに記載のデータ伝送方法において受信装置によって実行される各ステップを有する受信方法。
28. 25.に記載のデータ伝送方法において中継装置によって実行される各ステップを有する中継方法。
29. 26.に記載の送信方法が有する各ステップをコンピュータに実行させるプログラム。
30. 27.に記載の受信方法が有する各ステップをコンピュータに実行させるプログラム。
31. 28.に記載の中継方法が有する各ステップをコンピュータに実行させるプログラム。