(57)【特許請求の範囲】
【請求項１】
送信装置と受信装置とを有するデータ伝送システムであって、
前記送信装置は、
送信元アドレス、送信先アドレス及びメッセージを含むデータパケットに対し、前記メッセージの開示が許可される受信装置を示す情報である開示許可情報を付加する開示許可情報付加部と、
前記開示許可情報が付加されたデータパケットに含まれる前記送信元アドレス、前記送信先アドレス、又は前記開示許可情報を匿名化暗号鍵で暗号化する暗号化部と、
前記暗号化された前記データパケットを送信する送信部と、
前記暗号化部が用いる前記匿名化暗号鍵を当該送信装置の外部から読み取り不可能な状態で格納する第１匿名化暗号鍵格納部と、を有し、
前記受信装置は、
前記送信されたデータパケットを受信する受信部と、
前記受信されたデータパケットの暗号化された前記送信元アドレス、前記送信先アドレス又は前記開示許可情報を前記匿名化暗号鍵で復号する復号部と、
当該受信装置が、前記受信されたデータパケットの前記開示許可情報によって前記メッセージの開示が許可されている場合に、前記受信されたデータパケットの前記メッセージを外部に出力する出力部と、
前記復号部が用いる匿名化暗号鍵を当該受信装置の外部から読み取り不可能な状態で格納する第２匿名化暗号鍵格納部と、を有し、
前記受信装置と一意に対応する固有暗号鍵が、当該受信装置と一意に対応する固有鍵生成情報、及びマスタ暗号鍵とを用いて生成でき、
前記開示許可情報は、前記メッセージの開示が許可される前記受信装置と一意に対応する固有鍵生成情報を示しており、
前記受信装置は、その受信装置と一意に対応する鍵生成情報をその受信装置の外部から読み取り不可能な状態で格納する固有鍵生成情報格納部を有し、
前記出力部は、前記固有鍵生成情報格納部に格納されている鍵生成情報が、前記受信されたデータパケットの前記開示許可情報によって示されている場合に、前記受信されたデータパケットの前記メッセージを外部に出力し、
前記マスタ暗号鍵は別の暗号鍵から算出できない、データ伝送システム。
【請求項２】
前記開示許可情報によってメッセージの開示が許可される受信装置には、送信先の受信装置以外の受信装置が含まれる、請求項１に記載のデータ伝送システム。
【請求項３】
１つ又は複数の前記メッセージについて処理を施し、その処理の結果を示す処理結果情報を生成する匿名処理部と、
前記処理結果情報を出力する第２出力部と、を有する請求項１又は２に記載のデータ伝送システム。
【請求項４】
前記データ伝送システムは中継装置をさらに含み、
前記送信装置の前記暗号化部は、少なくとも前記データパケットの前記送信元アドレス又は前記送信先アドレスを暗号化し、
前記中継装置は、
前記送信されたデータパケットを受信する第２受信部と、
前記受信されたデータパケットの暗号化された前記送信元アドレス又は前記送信先アドレスを前記匿名化暗号鍵で復号する第２復号部と、
前記送信元アドレス又は前記送信先アドレスの変換を行う変換部と、
前記変換された前記送信元アドレス又は前記送信先アドレスを前記匿名化暗号鍵で暗号化する第２暗号化部と、
前記第２暗号化部によって暗号化された前記データパケットを送信する第２送信部と、
前記第２暗号化部及び前記第２復号部が用いる前記匿名化暗号鍵を当該中継装置の外部から読み取り不可能な状態で格納する第３匿名化暗号鍵格納部と、を有する請求項１から３いずれか一項に記載のデータ伝送システム。
【請求項５】
送信装置と受信装置とを有するデータ伝送システムにおいて実行されるデータ伝送方法であって、
前記送信装置が、送信元アドレス、送信先アドレス及びメッセージを含むデータパケットに対し、前記メッセージの開示が許可される受信装置を示す情報である開示許可情報を付加する開示許可情報付加ステップと、
前記送信装置が、前記開示許可情報が付加されたデータパケットに含まれる前記送信元アドレス、前記送信先アドレス、又は前記開示許可情報を匿名化暗号鍵で暗号化する暗号化ステップと、
前記送信装置が、前記暗号化されたデータパケットを送信する送信ステップと、
前記受信装置が、前記送信されたデータパケットを受信する受信ステップと、
前記受信装置が、前記受信されたデータパケットの暗号化された前記送信元アドレス、前記送信先アドレス、又は前記開示許可情報を前記匿名化暗号鍵で復号する復号ステップと、
前記受信されたデータパケットの前記開示許可情報によって前記メッセージの開示が許可されている場合に、当該受信装置が、前記受信されたデータパケットの前記メッセージを外部に出力する出力ステップと、を有し、
前記送信装置は、前記暗号化ステップで用いる前記匿名化暗号鍵を当該送信装置の外部から読み取り不可能な状態で格納する第１匿名化暗号鍵格納部を有し、
前記受信装置は、前記復号ステップで用いる前記匿名化暗号鍵を当該受信装置の外部から読み取り不可能な状態で格納する第２匿名化暗号鍵格納部を有し、
前記受信装置と一意に対応する固有暗号鍵が、当該受信装置と一意に対応する固有鍵生成情報、及びマスタ暗号鍵とを用いて生成でき、
前記開示許可情報は、前記メッセージの開示が許可される前記受信装置と一意に対応する固有鍵生成情報を示しており、
前記受信装置は、その受信装置と一意に対応する鍵生成情報をその受信装置の外部から読み取り不可能な状態で格納する固有鍵生成情報格納部を有し、
前記出力ステップにおいて、前記固有鍵生成情報格納部に格納されている鍵生成情報が、前記受信されたデータパケットの前記開示許可情報によって示されている場合に、前記受信されたデータパケットの前記メッセージを外部に出力し、
前記マスタ暗号鍵は別の暗号鍵から算出できない、データ伝送方法。
【請求項６】
前記データ伝送システムは中継装置をさらに含み、
前記送信装置の前記暗号化ステップは、少なくとも前記データパケットの前記送信元アドレス又は前記送信先アドレスを暗号化し、
当該データ伝送方法は、
前記中継装置が、前記送信されたデータパケットを受信する第２受信ステップと、
前記中継装置が、前記受信されたデータパケットの暗号化された前記送信元アドレス又は前記送信先アドレスを前記匿名化暗号鍵で復号する第２復号ステップと、
前記中継装置が、前記送信元アドレス又は前記送信先アドレスの変換を行う変換ステップと、
前記中継装置が、前記変換された前記送信元アドレス又は前記送信先アドレスを前記匿名化暗号鍵で暗号化する第２暗号化ステップと、
前記中継装置が、前記第２暗号化ステップによって暗号化された前記データパケットを送信する第２送信ステップと、を有し、
前記中継装置は、前記暗号化ステップ及び前記第２復号ステップで用いる前記匿名化暗号鍵を当該中継装置の外部から読み取り不可能な状態で格納する第３匿名化暗号鍵格納部を有する、請求項５に記載のデータ伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号技術に関する。
【背景技術】
【０００２】
ネットワークにおいて匿名性を有する通信を実現する技術が開発されている。例えば特許文献１は、相手にメールアドレスを知られることなくメッセージを送受信できる技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−５３７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般にネットワークを介した通信では、送信先や送信元を特定するアドレス（例えば IP（Internet Protocol）アドレスなど）が付与されたデータパケットが送受信される。特許文献１に開示されている技術を利用しても、このようなネットワークアドレスを秘匿化することはできない。
【０００５】
本発明は、以上の課題を鑑みてなされたものである。本発明の目的は、ネットワークを介して行われる通信の匿名性を向上する技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明の第１のデータ伝送システムは、送信装置と受信装置とを有するデータ伝送システムである。
前記送信装置は、１）送信元アドレス、送信先アドレス及びメッセージを含むデータパケットに対し、前記メッセージの開示が許可される受信装置を示す情報である開示許可情報を付加する開示許可情報付加部と、２）前記開示許可情報が付加されたデータパケットに含まれる前記送信元アドレス、前記送信先アドレス、又は前記開示許可情報を匿名化暗号鍵で暗号化する暗号化部と、３）前記暗号化された前記データパケットを送信する送信部と、４）前記暗号化部が用いる前記匿名化暗号鍵を当該送信装置の外部から読み取り不可能な状態で格納する第１匿名化暗号鍵格納部と、を有する。
前記受信装置は、５）前記送信されたデータパケットを受信する受信部と、６）前記受信されたデータパケットの暗号化された前記送信元アドレス、前記送信先アドレス又は前記開示許可情報を前記匿名化暗号鍵で復号する復号部と、７）当該受信装置が、前記受信されたデータパケットの前記開示許可情報によって前記メッセージの開示が許可されている場合に、前記受信されたデータパケットの前記メッセージを外部に出力する出力部と、８）前記復号部が用いる匿名化暗号鍵を当該受信装置の外部から読み取り不可能な状態で格納する第２匿名化暗号鍵格納部と、を有する。
【０００７】
本発明の第２のデータ伝送システムは、送信装置と受信装置とを有するデータ伝送システムである。
前記送信装置は、１）前記受信装置へ伝達する伝達データに対して、前記伝達データの開示が許可される受信装置を示す情報である開示許可情報を付加する開示許可情報付加部と、２）前記開示許可情報が付加された伝達データを分割することで複数のメッセージを生成し、各メッセージに送信元アドレス及び送信先アドレスを付加して、複数のデータパケットを生成するデータパケット生成部と、３）各前記データパケットのアドレス情報又は各前記データパケットを、匿名化暗号鍵で暗号化する暗号化部と、４）各前記暗号化されたデータパケットを送信する送信部と、５）前記暗号化部が用いる前記匿名化暗号鍵を当該送信装置の外部から読み取り不可能な状態で格納する第１匿名化暗号鍵格納部と、を有する。
前記受信装置は、６）各前記送信されたデータパケットを受信する受信部と、７）各前記受信されたデータパケットを前記匿名化暗号鍵で復号する復号部と、８）各前記復号されたデータパケットに含まれる前記メッセージを結合することで、前記開示許可情報が付加された伝達データを復元する復元部と、９）当該受信装置が前記開示許可情報によって前記伝達データの開示が許可されている場合に、前記復元された伝達データを外部に出力する出力部と、１０）前記復号部が用いる匿名化暗号鍵を当該受信装置の外部から読み取り不可能な状態で格納する第２匿名化暗号鍵格納部と、を有する。
【０００８】
本発明の第１のデータ伝送方法は、送信装置と受信装置とを有するデータ伝送システムにおいて実行されるデータ伝送方法である。当該データ伝送方法は、１）前記送信装置が、送信元アドレス、送信先アドレス及びメッセージを含むデータパケットに対し、前記メッセージの開示が許可される受信装置を示す情報である開示許可情報を付加する開示許可情報付加ステップと、２）前記送信装置が、前記開示許可情報が付加されたデータパケットに含まれる前記送信元アドレス、前記送信先アドレス、又は前記開示許可情報を匿名化暗号鍵で暗号化する暗号化ステップと、３）前記送信装置が、前記暗号化されたデータパケットを送信する送信ステップと、４）前記受信装置が、前記送信されたデータパケットを受信する受信ステップと、５）前記受信装置が、前記受信されたデータパケットの暗号化された前記送信元アドレス、前記送信先アドレス、又は前記開示許可情報を前記匿名化暗号鍵で復号する復号ステップと、６）前記受信されたデータパケットの前記開示許可情報によって前記メッセージの開示が許可されている場合に、当該受信装置が、前記受信されたデータパケットの前記メッセージを外部に出力する出力ステップと、を有する。
７）前記送信装置は、前記暗号化ステップで用いる前記匿名化暗号鍵を当該送信装置の外部から読み取り不可能な状態で格納する第１匿名化暗号鍵格納部を有する。
８）前記受信装置は、前記復号ステップで用いる前記匿名化暗号鍵を当該受信装置の外部から読み取り不可能な状態で格納する第２匿名化暗号鍵格納部を有する。
【０００９】
本発明の第２のデータ伝送方法は、送信装置と受信装置とを有するデータ伝送システムにおいて実行されるデータ伝送方法である。当該データ伝送方法は、１）前記送信装置が、前記受信装置へ伝達する伝達データに対して、前記伝達データの開示が許可される受信装置を示す情報である開示許可情報を付加する開示許可情報付加ステップと、２）前記送信装置が、前記開示許可情報が付加された伝達データを分割することで複数のメッセージを生成し、各メッセージに送信元アドレス及び送信先アドレスを付加して、複数のデータパケットを生成するデータパケット生成ステップと、３）前記送信装置が、各前記データパケットのアドレス情報又は各前記データパケットを、匿名化暗号鍵で暗号化する暗号化ステップと、４）前記送信装置が、各前記暗号化されたデータパケットを送信する送信ステップと、５）前記受信装置が、各前記送信されたデータパケットを受信する受信ステップと、６）前記受信装置が、各前記受信されたデータパケットを前記匿名化暗号鍵で復号する復号ステップと、７）前記受信装置が、各前記復号されたデータパケットに含まれる前記メッセージを結合することで、前記開示許可情報が付加された伝達データを復元する復元ステップと、８）前記受信装置が、当該受信装置が前記開示許可情報によって前記伝達データの開示が許可されている場合に、前記復元された伝達データを外部に出力する出力ステップと、を有する。
９）前記送信装置は、前記暗号化ステップで用いる前記匿名化暗号鍵を当該送信装置の外部から読み取り不可能な状態で格納する第１匿名化暗号鍵格納部を有する。
１０）前記受信装置は、前記復号ステップで用いる匿名化暗号鍵を当該受信装置の外部から読み取り不可能な状態で格納する第２匿名化暗号鍵格納部を有する。
【発明の効果】
【００１０】
本発明によれば、ネットワークを介して行われる通信の匿名性を向上する技術が提供される。
【図面の簡単な説明】
【００１１】
【図１】実施形態１に係るデータ伝送システムの概要を表す図である。
【図２】実施形態１に係るデータ伝送システムの構成を例示するブロック図である。
【図３】実施形態１の送信装置によって実行される処理の流れを例示するフローチャートである。
【図４】実施形態１の送信装置によって実行される処理の流れを例示するフローチャートである。
【図５】中継装置を有するデータ伝送システムを例示する図である。
【図６】中継装置を例示するブロック図である。
【図７】匿名処理部及び第２出力部を有する実施形態１の受信装置を例示するブロック図である。
【図８】実施形態２の受信装置によって行われる処理の流れを例示するフローチャートである。
【図９】鍵生成情報を例示する第１の図である。
【図１０】鍵生成情報を例示する第２の図である。
【図１１】実施例の送信装置を例示するブロック図である。
【図１２】電子署名付与部によって実行される処理をブロック図と共に例示する図である。
【図１３】実施例の受信装置を例示するブロック図である。
【図１４】正当性検証部によって実行される処理をブロック図と共に例示する図である。
【図１５】電子署名に付加された鍵生成情報が改ざんされない場合における電子署名付加部及び正当性判定部による処理を例示する図である。
【図１６】電子署名に付加された鍵生成情報が改ざんされる場合における正当性判定部による処理を例示する図である。
【図１７】実施形態３に係るデータ伝送システムの概要を表す図である。
【図１８】実施形態３に係るデータ伝送システムの構成を例示するブロック図である。
【図１９】匿名処理部及び第２出力部を有する実施形態３の受信装置を例示するブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、各ブロック図において、矢印の流れは、情報の流れを示している。さらに、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。
【００１３】
[実施形態１]
＜データ伝送システム４０００の概要＞
図１は、実施形態１に係るデータ伝送システム４０００の概要を表す図である。データ伝送システム４０００は、送信装置２０００及び受信装置３０００を有する。送信装置２０００はデータパケットを送信し、受信装置３０００はそのデータパケットを受信する。送信装置２０００から送信されるデータパケットのヘッダには、送信元アドレス、送信先アドレス、及び開示許可情報が含まれる。開示許可情報は、メッセージの開示が許可される受信装置３０００を表す情報である。さらにデータパケットは、受信装置３０００へ伝達する情報（以下、メッセージ）を含む。メッセージは任意の形式のデータである。
【００１４】
送信装置２０００は、データパケットに含まれるデータのうち、少なくとも送信元アドレス、送信先アドレス、又は開示許可情報を暗号化して送信する。受信装置３０００は、受信したデータパケットについて、暗号化された情報の復号を行う。さらに受信装置３０００は、自身が、開示許可情報によって開示が許可されている受信装置３０００である場合に、利用可能な状態でデータパケットに含まれるメッセージを出力する。
【００１５】
なおデータパケットは、送信装置２０００と受信装置３０００との間で送受信されるひとかたまりのデータであればよく、一般に「パケット」と呼ばれる IP パケットに限定されない。例えばデータパケットとしては、IP パケットやイーサネット（登録商標）フレームを扱うことができる。
【００１６】
図２は、実施形態１に係るデータ伝送システム４０００の構成を例示するブロック図である。図２において、矢印の流れは情報の流れを示している。さらに、図２において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００１７】
送信装置２０００は、暗号化部２０２０、開示許可情報付加部２０４０、送信部２０６０及び第１匿名化暗号鍵格納部２０８０を有する。開示許可情報付加部２０４０は、データパケットに前述した開示許可情報を付加する。開示許可情報の具体的な内容については後述する。暗号化部２０２０は、データパケットに含まれる送信元アドレス、送信先アドレス又は開示許可情報を、暗号鍵を用いて暗号化する。以下、この暗号鍵を匿名化暗号鍵と呼ぶ。また、暗号化部２０２０による暗号化の対象となる情報を匿名化対象情報と呼ぶ。送信部２０６０は、暗号化部２０２０によって暗号化されたデータパケットを送信する。第１匿名化暗号鍵格納部２０８０は、暗号化部２０２０が用いる匿名化暗号鍵を、送信装置２０００の外部から読み取り不可能な状態で格納する。つまり送信装置２０００は、匿名化暗号鍵について耐タンパ性を有する。匿名化暗号鍵を外部から読み取り不可能な状態で格納する具体的な方法については後述する。
【００１８】
受信装置３０００は、受信部３０２０、復号部３０４０、出力部３０６０及び第２匿名化暗号鍵格納部３０８０を有する。受信部３０２０は、送信装置２０００によって送信されたデータパケットを受信する。復号部３０４０は、受信されたデータパケットに含まれる匿名化対象情報（送信元アドレス、送信先アドレス、又は開示許可情報）を、匿名化暗号鍵を用いて復号する。この匿名化暗号鍵は、第２匿名化暗号鍵格納部３０８０に、当該受信装置３０００の外部から読み取り不可能な状態で格納されている。つまり受信装置３０００は、匿名化暗号鍵について耐タンパ性を有する。出力部３０６０は、当該受信装置３０００が、受信したデータパケットの開示許可情報によって示される、データパケットの開示が許可される受信装置３０００に該当するか否かを判定する。そして、出力部３０６０は、当該受信装置３０００がデータパケットの開示が許可される受信装置３０００に該当する場合に、出力部３０６０の外部へ受信したデータパケットのメッセージを出力する。出力部３０６０がメッセージを出力する具体的な方法は、後述する各実施形態で説明する。
【００１９】
＜送信装置２０００によって実行される処理の流れ＞
図３は、実施形態１の送信装置２０００によって実行される処理の流れを例示するフローチャートである。開示許可情報付加部２０４０は、データパケットを取得する（Ｓ１０２）。開示許可情報付加部２０４０は、開示許可情報をデータパケットに付加する（Ｓ１０４）。暗号化部２０２０は、データパケットに含まれる匿名化対象情報を匿名化暗号鍵で暗号化する（Ｓ１０６）。送信部２０６０は、データパケットを送信する（Ｓ１０８）。
【００２０】
＜受信装置３０００によって実行される処理の流れ＞
図４は、実施形態１の送信装置２０００によって実行される処理の流れを例示するフローチャートである。受信部３０２０は、データパケットを受信する（Ｓ２０２）。復号部３０４０は、暗号化部２０２０によって匿名化対象情報を、匿名化暗号鍵を用いて復号する（Ｓ２０４）。出力部３０６０は、当該受信装置３０００が、データパケットの開示許可情報によってメッセージの開示が許可されている場合、出力部３０６０の外部へデータパケットのメッセージを出力する（Ｓ２０６）。
【００２１】
以下、上述のフローチャートと適宜参照しながら、各機能構成部の具体的な機能について説明する。
【００２２】
＜開示許可情報付加部２０４０の詳細＞
開示許可情報付加部２０４０はデータパケットを取得する（Ｓ１０２）。開示許可情報付加部２０４０が取得するデータパケットは、送信元アドレス、送信先アドレス、及びメッセージを含む。例えばデータパケットは、ヘッダ部分に送信元 IP アドレスと送信先 IP アドレスを含み、かつデータ部分にメッセージを含む IP パケットである。ただしデータパケットは IP パケットには限定されず、任意のネットワークプロトコルで送受信されるデータでよい。
【００２３】
データパケットの生成には既知の技術を利用できる。例えば IP パケットは、OS（Operating System）の IP プロトコルスタックによって生成される。ここで、OS のプロトコルスタック等がデータパケットを生成する方法は既知の技術であるため、その具体的な方法についての説明は省略する。
【００２４】
前述したように、データパケットに含まれるメッセージは任意のデータである。例えばこのメッセージは、送信装置２０００のユーザによって生成される。具体的には、ユーザは、キーボード等の入力デバイスを用いて文字データ等を入力することで、メッセージを生成する。またメッセージは、送信装置２０００によって自動的に生成されたものでもよい。さらに例えば、メッセージは、送信装置２０００が、送信装置２０００の外部から取得したものでもよい。なお、メッセージは文字データに限定されず、画像データ、音声データなどの任意の形式のデータでよい。
【００２５】
データパケットに含まれる送信元のアドレスは、データパケットを送信する送信装置２０００を特定するアドレスである。例えば送信元のアドレスは、送信元の送信装置２０００の IP アドレス、MAC（Media Access Control）アドレス、又はこれらの双方である。
【００２６】
データパケットに含まれる送信先のアドレスは、データパケットの送信先である受信装置３０００を特定するアドレスである。例えば送信先のアドレスは、送信先の受信装置３０００の IP アドレス、MAC アドレス、又はこれらの双方である。ただし、送信先のアドレスは、マルチキャストアドレスやブロードキャストアドレスなど、送信先の装置を一意には特定しないアドレスであってもよい。
【００２７】
開示許可情報付加部２０４０は、開示許可情報をデータパケットに付加する（Ｓ１０４）。前述したように開示許可情報は、メッセージの開示が許可される受信装置３０００を示す情報である。例えば開示許可情報は、メッセージの開示が許可される受信装置３０００の ID（Identifier）を示す。ここで、受信装置３０００のＩＤは、受信装置３０００を特定できる任意の識別子である。例えば受信装置３０００のＩＤは、受信装置３０００の IP アドレス、MAC アドレス、又はUUID（Universally Unique Identifier）などである。なお、メッセージの開示が許可される受信装置３０００は１つには限定されず、複数であってもよい。
【００２８】
また、開示許可情報は、メッセージの開示が許可される受信装置３０００に固有の鍵生成情報を示してもよい。鍵生成情報については、後述の実施例で説明する。
【００２９】
また開示許可情報は、メッセージの開示が許可される受信装置３０００のグループを示す情報でもよい。例えば受信装置３０００のグループを示す情報は、マルチキャストアドレス（マルチキャスト IP アドレスやマルチキャスト MAC アドレスなど）である。また例えば、データ伝送システム４０００において、その他の方法で予め受信装置３０００のグループを定めてもよい。この場合、どの受信装置３０００がどのグループに属するかの情報は、送信装置２０００や受信装置３０００に予め設定されていてもよいし、送信装置２０００や受信装置３０００からアクセス可能な記憶装置に記憶されていてもてよい。
【００３０】
開示許可情報付加部２０４０は、データパケットのヘッダに付加情報を付加する。例えば開示許可情報付加部２０４０は、IP ヘッダやイーサネット（登録商標）ヘッダなどの既存のヘッダ内にある使用されていないデータ領域に付加情報を格納する。また例えば、開示許可情報付加部２０４０は、これら既存のヘッダとは別に新たなヘッダを生成し、そのヘッダに付加情報を格納して、データパケットに挿入してもよい。
【００３１】
開示許可情報付加部２０４０は、メッセージの開示を許可する受信装置３０００として、送信先の受信装置３０００を含める。さらに開示許可情報付加部２０４０は、メッセージの開示が許可される受信装置３０００として、送信先の受信装置３０００以外の所定の受信装置３０００を含める。この所定の受信装置３０００は、警察等の特別な権限を持つ機関や人などが所有する受信装置３０００である。こうすることで、このような特別な権限を持つ機関や人などが所有する受信装置３０００が備えられた計算機を用いれば、任意の受信装置３０００へ向けて送信されたデータパケットのメッセージを取得・閲覧できるようになる。
【００３２】
例えば犯罪の捜査などにおいて、容疑者が送信したメールなどに重要な証拠となる情報などが含まれていることがある。このような場合、警察等は、犯人が所有する計算機などを利用せずともこのメールを閲覧できることが好ましい。開示許可情報付加部２０４０が開示許可情報に上述した特別な権限を有する機関や人が所有する受信装置３０００を示すようにすることで、これらの機関等において犯罪の重要な証拠などを容易に得ることができる。一方で、開示許可情報によってメッセージを開示できる受信装置３０００が制限されるため、データパケットのメッセージを任意の受信装置３０００で開示できる場合と比較し、メッセージをやりとりする者のプライバシーが尊重される。
【００３３】
また、開示許可情報付加部２０４０は、送信先の受信装置３０００や警察等が所有する受信装置３０００以外の受信装置３０００も、開示許可情報に含めてもよい。
【００３４】
開示許可情報に含める受信装置３０００を決定する方法は様々である。例えば開示許可情報付加部２０４０は、送信装置２０００を有する計算機のユーザから、メッセージの開示を許可する受信装置３０００のＩＤの入力を受け付ける。そして、開示許可情報付加部２０４０は、入力された受信装置３０００のＩＤを開示許可情報に含める。ただし、送信先の受信装置３０００については、送信先アドレスから特定することも可能である。そこで開示許可情報付加部２０４０は、開示許可情報が示す受信装置３０００のＩＤがネットワークアドレスであれば、データパケットの送信先アドレスを自動的に開示許可情報に含めてもよい。また、開示許可情報付加部２０４０は、開示許可情報が示す受信装置３０００のＩＤがネットワークアドレス以外である場合、データパケットの送信先アドレスから送信先の受信装置３０００のＩＤを特定し、その特定したＩＤを開示許可情報に含めてもよい。例えば開示許可情報付加部２０４０が、各受信装置３０００のＩＤとネットワークアドレスとを対応付けたデータベース等にアクセス可能である場合、開示許可情報付加部２０４０は、このデータベースにアクセスして、受信装置３０００のＩＤを特定する。
【００３５】
また開示許可情報付加部２０４０は、上述した警察等の機関や人が所有する受信装置３０００のＩＤをデフォルトで自動的に開示許可情報に含める。このようにデフォルトで開示許可情報に含める受信装置３０００のＩＤは、開示許可情報付加部２０４０に予め設定されていてもよいし、開示許可情報付加部２０４０からアクセス可能な記憶装置に記憶されていてもよい。
【００３６】
＜暗号化部２０２０の詳細＞
暗号化部２０２０はデータパケットの匿名化対象情報（送信元アドレス、送信先アドレス、又は開示許可情報）を暗号化する（Ｓ１０６）。ここで、暗号化部２０２０は、送信元アドレス、送信先アドレス、及び開示許可情報のうち、いずれか２つ以上を暗号化してもよい。さらに暗号化部２０２０は、上記３つの情報だけでなく、データパケット全体を暗号化してもよい。この場合、データパケット全体が匿名化対象情報となる。
【００３７】
なお、データパケットには、異なる種類の複数の送信元アドレスが含まれていることがある。例えば、イーサネット（登録商標）フレームには、MAC アドレスと IP アドレスが含まれうる。同様に、データパケットには、異なる種類の複数の送信先アドレスが含まれていることがある。このような場合、暗号化部２０２０は、これら複数のアドレスのうち、いずれか１つ以上を暗号化する。
【００３８】
＜＜暗号化の方式について＞＞
暗号化部２０２０によるデータの暗号化と復号部３０４０によるデータの復号には、同じ匿名化暗号鍵が用いられる。つまり暗号化部２０２０による暗号化と復号部３０４０による復号は、共通鍵暗号方式で行われる。そしてデータ伝送システム４０００は、共通鍵暗号方式に分類される任意の暗号方式を利用できる。例えばデータ伝送システム４０００は、AES（Advanced Encryption Standard）暗号や、特許第４７３７３３４号公報に記載されている再配置暗号などを利用できる。
【００３９】
匿名化暗号鍵の具体的な態様は、利用する共通鍵暗号方式によって定まる。匿名化暗号鍵の具体例については、後述の実施例で説明する。
【００４０】
＜送信部２０６０の詳細＞
送信部２０６０は、付加情報が付加されたデータパケットを送信する（Ｓ１０８）。ここで、データパケットに示されている送信先のアドレスに従ってデータパケットを送信する方法は既知の技術であるため、具体的な説明は省略する。
【００４１】
＜受信部３０２０の詳細＞
受信部３０２０は、データパケットを受信する（Ｓ２０２）。ここでデータ伝送システム４０００では、データパケットの送信先アドレスが暗号化されている場合がある。この場合、受信装置３０００は、データパケットの送信先アドレスを復号しなければ、そのデータパケットがその受信装置３０００を送信先とするものであるか否かを判別できない。そこでこの場合、受信部３０２０がデータパケットを受信し、復号部３０４０がそのデータパケットの匿名化対象情報を復号する。そして受信装置３０００は、復号された送信先アドレスによって、そのデータパケットがその受信装置３０００を送信先とするものであるか否かを判断する。
【００４２】
データパケットの送信先アドレスが暗号化されていない場合、受信部３０２０は、データパケットの送信先アドレスに基づいてデータパケットの受信処理を行う。ここで、送信先アドレスが暗号化されていない場合におけるデータパケットの受信処理は、既知の処理である。そのため、この処理に関する詳細な説明は省略する。
【００４３】
ここで、受信装置３０００は、送信先アドレスがその受信装置３０００のアドレスではないデータパケットを受信してもよい。例えば受信装置３０００は、受信装置３０００が接続されているネットワークを流れる全てのデータパケットを受信する。また受信装置３０００は、アドレス情報が所定の条件に当てはまるデータパケットを受信する。この所定の条件は、受信装置３０００に記憶されているものとする。
【００４４】
送信先アドレスがその受信装置３０００のアドレスではないデータパケットを受信するする受信装置３０００は、例えばネットワークに流れるデータパケットをキャプチャする装置や、後述するような警察等の機関が有する装置などである。データパケットのキャプチャをする装置は、例えばネットワークを流れるデータパケットついて、データパケットの統計データを生成したり、データパケットに含まれるメッセージに対してウイルススキャンなどを行ったりする装置である。
【００４５】
＜復号部３０４０の詳細＞
復号部３０４０は、受信部３０２０によって受信されたデータパケットに含まれる匿名化対象情報を、匿名化暗号鍵を用いて復号する（Ｓ２０４）。ここで復号部３０４０は、データパケットに含まれるデータのうち、どのデータが暗号化されているのかを把握する必要がある。どのデータが暗号化されているのかを復号部３０４０が把握する方法は様々である。例えばデータ伝送システム４０００において、データパケットのうちのどのデータを暗号化するかを予め定めておく。この場合、暗号化部２０２０は、予め定められたデータ（例えば送信先 IP アドレスなど）を暗号化する。そして、復号部３０４０は、この予め定められたデータを復号する。「データパケットのうちのどのデータを暗号化するか」を定義した情報は、予め暗号化部２０２０及び復号部３０４０に設定されていてもよいし、暗号化部２０２０及び復号部３０４０それぞれからアクセス可能な記憶装置等に格納されていてもよい。
【００４６】
また例えば、暗号化部２０２０は、データパケットのどのデータを暗号化したかを表す情報をデータパケットに付加してもよい。この場合、復号部３０４０は、この付加された情報を参照することで、データパケットのどのデータが暗号化されているのかを把握する。「データパケットのどのデータを暗号化したか」を表す情報は、例えばデータパケットの先頭に付加される。ただし、この情報を付加する位置はデータパケットの先頭に限定されない。
【００４７】
ここで、暗号化されたデータを所定の暗号鍵を用いて復号する技術は既知の技術である。そのため、復号部３０４０が匿名化暗号鍵を用いて匿名化対象情報を復号する方法についての詳細な説明は省略する。
【００４８】
＜出力部３０６０について＞
出力部３０６０は、その出力部３０６０を有する受信装置３０００が、データパケットの開示許可情報によって示される、メッセージの開示が許可される受信装置３０００に該当する場合に、出力部３０６０の外部にデータパケットのメッセージを出力する（Ｓ２０６）。外部にメッセージが出力されることにより、その出力部３０６０を有する計算機上で動作する OS などがメッセージを利用できる。例えばその OS などは、ディスプレイ上にメッセージを表示したりすることができる。なお、出力部３０６０を実現する具体的な方法については、後述の実施形態で説明する。
【００４９】
＜ハードウエア構成＞
送信装置２０００及び受信装置３０００はそれぞれ、一つのハードウエアチップ、又は複数のハードウエアチップの組み合わせを用いて実装される。ハードウエアチップは、例えば LSI (Large Scale Integration) などの集積回路である。ただし、送信装置２０００及び受信装置３０００の実装方法は、集積回路を用いた実装方法に限定されない。
【００５０】
例えば、暗号化部２０２０、開示許可情報付加部２０４０、及び送信部２０６０はそれぞれ、ワイヤードロジックなどにより、上記ハードウエアチップ上にハードウエアとして実装される。その他にも例えば、上記各機能構成部は、ソフトウエアとハードウエアの組み合わせとして実装される。ソフトウエアとハードウエアの組み合わせとは、例えば、プロセッサ、メモリ、及びストレージなどのハードウエアと、メモリ又はストレージに格納されたプログラムの組み合わせである。プロセッサは、例えば、上記各機能構成部を実現する各プログラムをメモリに読み出して実行することで、上記各機能構成部が有する機能を実現する。例えば上記プロセッサ等の種々のハードウエアは、SoC（System on Chip）としてハードウエアチップ上に実装される。
【００５１】
第１匿名化暗号鍵格納部２０８０は、例えば、送信装置２０００の外部との間に通信路を持たない ROM や RAM として実装される。この場合、匿名化暗号鍵は、この ROM や RAM に格納される。その他にも例えば、第１匿名化暗号鍵格納部２０８０は、ワイヤードロジックなどを用いて実装されてもよい。この場合、匿名化暗号鍵は、第１匿名化暗号鍵格納部２０８０に組み込まれた物理的な電気回路として実装される。例えば暗号化部２０２０、開示許可情報付加部２０４０、及び送信部２０６０が一つのハードウエアチップ上に実装される場合、第１匿名化暗号鍵格納部２０８０は、そのハードウエアチップ上に実装される。ただし、第１匿名化暗号鍵格納部２０８０は、暗号化部２０２０などが実装されるハードウエアチップとの間に通信路を持つ別のハードウエアチップとして実装されてもよい。
【００５２】
受信部３０２０、復号部３０４０、及び出力部３０６０を実装する方法は、暗号化部２０２０、開示許可情報付加部２０４０、及び送信部２０６０を実装する方法と同様である。また、第２匿名化暗号鍵格納部３０８０を実装する方法は、第１匿名化暗号鍵格納部２０８０を実装する方法と同様である。例えば受信部３０２０、復号部３０４０、及び出力部３０６０が一つのハードウエアチップ上に実装される場合、第２匿名化暗号鍵格納部３０８０は、そのハードウエアチップ上に実装される。ただし、第２匿名化暗号鍵格納部３０８０は、受信部３０２０などが実装されるハードウエアチップとの間に通信路を持つ別のハードウエアチップとして実装されてもよい。
【００５３】
例えば送信装置２０００と受信装置３０００はそれぞれ、PC (Personal Computer）、サーバ、携帯端末等の種々の計算機が有するネットワークインタフェース上に実装される。こうすることで、送信装置２０００を有する計算機の OS 等がネットワークを経由して送信しようとする各データパケットが、送信装置２０００によって処理されてから送信される。そして、ネットワークを経由して受信装置３０００によって受信されたデータパケットは、受信装置３０００によって処理された後、受信装置３０００を有する計算機の OS 等によって利用される。
【００５４】
＜データパケットの中継について＞
データパケットがレイヤ２スイッチやルータなどの中継装置によって中継される場合、これらの中継装置は、匿名化暗号鍵を用いてデータパケットに含まれるアドレス情報を復号し、復号されたアドレス情報に基づいて中継先を決定する。そして、中継装置は、アドレス情報の変更が必要な場合はアドレス情報を変更し、変更後のデータパケットを匿名化暗号鍵で暗号化して送信する。中継装置は、送信装置２０００や受信装置３０００と同様に、その中継装置の外部からは読み取り不可能な状態で匿名化暗号鍵を格納する格納部を有する。中継装置が匿名化暗号鍵を用いてデータパケットの暗号化を行う方法は、暗号化部２０２０がデータパケットの暗号化を行う方法と同様である。中継装置が匿名化暗号鍵を用いてデータパケットの復号を行う方法は、復号部３０４０がデータパケットの復号を行う方法と同様である。
【００５５】
中継装置が行うアドレス情報の変更は、例えば Network Address Translation（NAT）や Network Address Port Translation（NAPT）などである。この場合、中継装置は、Local Area Network（LAN)と Wide Area Network（WAN）との境界に位置するゲートウェイ装置である。なお、NAT や NAPT は既知の技術であるため、これらの詳細な説明は省略する。
【００５６】
図５は、中継装置５０００を有するデータ伝送システム４０００を例示する図である。中継装置５０００は、送信装置２０００と受信装置３０００の間に位置し、データパケットの中継を行う。なお、送信装置２０００と受信装置３０００の間に複数の中継装置５０００が介在してもよい。
【００５７】
図６は、中継装置５０００を例示するブロック図である。各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。
【００５８】
中継装置５０００は、第２受信部５０２０、第２復号部５０４０、変換部５０６０、第２暗号化部５０８０、第２送信部５１００、及び第３匿名化暗号鍵格納部５１２０を有する。第２受信部５０２０はデータパケットを受信する。
【００５９】
第２復号部５０４０は、匿名化暗号鍵を用いて、データパケットの暗号化された送信元アドレス又は送信先アドレスを復号する。第２復号部５０４０がデータパケットの復号を行う方法は、復号部３０４０がデータパケットの復号を行う方法と同様である。なお、データパケットの開示許可情報が送信元アドレスなどと共に暗号化されている場合、開示許可情報も一緒に復号される。ただし、送信元アドレス、送信先アドレス、及び開示許可情報がそれぞれ別個に暗号化されている場合、第２復号部５０４０は、開示許可情報を復号しなくてもよい。
【００６０】
変換部５０６０は、送信元アドレス又は送信先アドレスの変換を行う。この変換は、例えば前述した NAT や NAPT の処理である。
【００６１】
第２暗号化部５０８０は、変換された送信元アドレス又は送信先アドレスを匿名化暗号鍵で暗号化する。第２暗号化部５０８０がデータパケットを暗号化する方法は、暗号化部２０２０がデータパケットを暗号化する方法と同様である。なお、受信したデータパケットにおいて開示許可情報が暗号化されていた場合、第２暗号化部５０８０は、開示許可情報も暗号化する。
【００６２】
第２送信部５１００は、第２暗号化部５０８０によって暗号化されたデータパケットを送信する。
【００６３】
第３匿名化暗号鍵格納部５１２０は、第２復号部５０４０及び第２暗号化部５０８０が用いる匿名化暗号鍵を、当該中継装置５０００の外部から読み取り不可能な状態で格納する。
【００６４】
中継装置５０００のハードウエア構成は、送信装置２０００や受信装置３０００のハードウエア構成と同様である。
【００６５】
＜作用・効果＞
本実施形態のデータ伝送システム４０００によれば、データパケットが送信装置２０００から受信装置３０００へ送信される際、そのデータパケットの送信元アドレス、送信先アドレス、又は開示許可情報（匿名化対象情報）が暗号化されている。そして、その暗号化に用いられる匿名化暗号鍵は、送信装置２０００や受信装置３０００の外部からは読み出し不可能な状態で格納されている。そのため、たとえデータパケットが第三者に傍受等されたとしても、その第三者はそのデータパケットの送信先や送信元などを特定することができない。よって、データ伝送システム４０００によれば、データパケットの秘匿性を向上させることができる。
【００６６】
また、本実施形態のデータ伝送システム４０００によれば、匿名化対象情報は共通鍵暗号によって暗号化・復号される。ここで一般に、公開鍵暗号方式の暗号処理は共通鍵暗号方式の暗号処理よりも時間がかかるため、データパケット単位で暗号化すると暗号処理のオーバヘッドが大きくなってしまう。これに対し、共通鍵暗号方式の暗号処理は高速であるため、データパケットごとに暗号処理を行っても暗号処理のオーバヘッドが小さいといえる。そのため、データ伝送システム４０００によれば、暗号処理によるオーバヘッドを小さく抑えつつ、データパケットの秘匿性を向上できる。
【００６７】
さらにデータ伝送システム４０００によれば、開示許可情報によってメッセージの開示が許可される受信装置３０００を自由に設定できる。前述したように、開示許可情報によってメッセージの開示が許可される受信装置３０００には、送信先の受信装置３０００に加え、警察等の特別な権限を持つ機関や人が所有する受信装置３０００が含まれる。こうすることで、これら特別な機関において、犯罪の証拠等を取得することが容易になる。また、このように特別な権限を持つ機関等がメッセージを閲覧できるようにネットワークを運用することで、犯罪の実行自体が難しくなり、犯罪の抑止力になるという効果もある。
【００６８】
＜変形例＞
受信装置３０００は、外部にデータパケットのメッセージを出力することに加え、又は外部にデータパケットのメッセージを出力することに代え、１つ又は複数のデータパケットに含まれるメッセージについて任意の処理（例えば統計処理）を施し、その結果を示す情報を生成して出力してもよい。以下、１つ又は複数のデータパケットに含まれるメッセージについて任意の処理を施した結果を示す情報を、処理結果情報と表記する。
【００６９】
この場合、受信装置３０００は、匿名処理部３２００及び第２出力部３２２０をさらに有する。図７は、匿名処理部３２００及び第２出力部３２２０を有する実施形態１の受信装置３０００を例示するブロック図である。匿名処理部３２００は、復号部３０４０によって復号された１つ又は複数のデータパケットのメッセージについて任意の処理（例えば匿名化を行う処理）を施して、処理結果情報を生成する。第２出力部３２２０は、処理結果情報を外部へ出力する。外部に処理結果情報が出力されることにより、その第２出力部３２２０を有する計算機上で動作する OS などがメッセージを利用できる。例えばその OS などは、ディスプレイ上にメッセージを表示したりすることができる。
【００７０】
例えば匿名処理部３２００は、守秘義務のあるデータを表すメッセージに対して匿名化を伴う統計処理を行い、その結果を示す処理結果情報を生成する。例えば受信装置３０００が、選挙の投票データを受信する装置であるとする。この場合、データパケットのメッセージは、どの候補者に投票するのかを示すデータである。そしてこの場合、処理結果情報の具体的な内容は、各候補者に何票投票されたかを表す投票結果などである。受信装置３０００がメッセージ自体を出力せずに処理結果情報のみを出力すれば、「誰が誰に投票したか」を外部に開示することなく、選挙結果のみを外部に開示することができる。よって、選挙権者のプライバシーを守りつつ、選挙結果を開示することができる。
【００７１】
なお、データ伝送システム４０００が扱う守秘義務のあるデータは、選挙に関するデータに限られない。守秘義務のあるその他のデータは、例えば医療関係の情報（カルテなど）、又はマイナンバーや運転免許証に関する情報など、各種の個人情報である。
【００７２】
また例えば、匿名処理部３２００は、防犯カメラから取得した画像データを表すメッセージに対して匿名化を伴う画像処理を行い、その結果を示す処理結果情報を生成する。例えば受信装置３０００が、防犯カメラから画像データを収集して、指名手配犯などの捜索を行う装置であるとする。この場合、データパケットのメッセージは画像データを表す。そしてこの場合、処理結果情報の具体的な内容は、画像データに指名手配犯が写っているか否かを示す情報である。受信装置３０００がメッセージ自体を出力せずに処理結果情報のみを出力すれば、防犯カメラから取得した画像データを外部に開示することなく、指名手配犯などが発見された場合にその旨を開示することができる。よって、防犯カメラに写る一般の人のプライバシーを守りつつ、指名手配犯などの捜索を行うことができる。
【００７３】
ただし、匿名処理部３２００が行う処理は、匿名化を伴う処理に限定されない。また例えば、匿名処理部３２００は、メッセージに対してウイルスチェックを行い、その結果を示す処理結果情報を生成する。この場合、処理結果情報の具体的な内容は、メッセージからウイルスが検出されたか否かを示す情報である。受信装置３０００がメッセージ自体を出力せずに処理結果情報のみを出力すれば、各メッセージの内容を開示することなく、メッセージに対してウイルスチェックを施すことができる。
【００７４】
ここで匿名処理部３２００は、開示許可情報によってメッセージの開示が許可されているか否かを判定しなくてもよいし、判定してもよい。前者の場合、匿名処理部３２００は、開示許可情報によって開示が許可されていないメッセージについても前述した任意の処理を施して、処理結果情報を生成する。後者の場合、匿名処理部３２００は、出力部３０６０と同様の方法で、開示許可情報によってメッセージの開示が許可されているか否かを判定する。そして、匿名処理部３２００は、開示が許可されているメッセージについてのみ上述した任意の処理を施して、処理結果情報を生成する。
【００７５】
匿名処理部３２００が開示許可情報によって開示が許可されていないメッセージについても匿名化処理などを行う場合、受信装置３０００のユーザは、メッセージの内容自体を知ることはできないものの、メッセージについて所定の処理を施した結果については知ることができる。例えば上述の各例では、受信装置３０００のユーザは、１）「誰が誰に投票したか」を知ることはできないものの、投票結果を知ることができ、２）防犯カメラの各画像データに誰が写っているかを知ることはできないものの、防犯カメラに指名手配犯が写っていたかどうかを知ることはでき、３）メッセージの内容を知ることはできないものの、メッセージにウイルスが含まれているかどうかを知ることはできる。
【００７６】
ここで、匿名処理部３２００が複数のデータパケットに含まれるメッセージについて匿名化処理などを施す場合、匿名処理部３２００は、複数のデータパケットに含まれるメッセージをそれぞれ蓄積しておき、所定の要件が満たされた場合に匿名化処理などを施す。例えば所定の要件は、所定時間の経過、所定数のデータパケットの受信、又は統計処理などを開始すべき旨を示すフラグがヘッダに含まれているデータパケットの受信などである。
【００７７】
なお、受信装置３０００がメッセージを出力せずに処理結果情報を出力する場合、受信装置３０００は、出力部３０６０を有さなくてもよい。また、受信装置３０００が出力部３０６０と第２出力部３２２０の双方を有する場合、受信装置３０００は、メッセージと処理結果情報の双方を出力してもよいし、いずれかのみを出力してもよい。メッセージと処理結果情報のいずれかのみを出力する場合、例えば受信装置３０００のユーザやデータ伝送システム４０００の管理者が、受信装置３０００に対し、メッセージと処理結果情報のいずれを出力するかを設定できるようにする。
【００７８】
［実施形態２］
実施形態２に係るデータ伝送システム４０００の機能構成は、実施形態１のデータ伝送システム４０００と同様に、例えば図１で表される。以下で説明する点を除き、実施形態２のデータ伝送システム４０００は、実施形態１のデータ伝送システム４０００と同様の機能を有する。
【００７９】
実施形態２において、開示許可情報は、データパケットの開示が許可される受信装置３０００のリストを示す。例えばこのリストは、実施形態１で説明した受信装置３０００のＩＤや受信装置３０００が属するグループのＩＤを示す。
【００８０】
実施形態２において、出力部３０６０は、その出力部３０６０を有する受信装置３０００がリストに示されている場合のみ、受信したデータパケットに含まれるメッセージを外部に出力する。
【００８１】
図８は、実施形態２の受信装置３０００によって行われる処理の流れを例示するフローチャートである。図８のフローチャートは、実施形態２の出力部３０６０が行う、図２のＳ２０６の具体的な流れを示す。出力部３０６０は、データパケットの開示許可情報が、その出力部３０６０を有する受信装置を示しているか否かを判定する（Ｓ３０２）。例えば出力部３０６０は、開示許可情報が示す上記リストに、その出力部３０６０を有する受信装置３０００のＩＤ又はその受信装置３０００が属するグループのＩＤが含まれているか否かを判定する。
【００８２】
データパケットの開示許可情報が、その出力部３０６０を有する受信装置を示している場合（Ｓ３０２：ＹＥＳ）、図８の処理はＳ３０４に進む。一方、データパケットの開示許可情報が、その出力部３０６０を有する受信装置を示していない場合（Ｓ３０２：ＮＯ）、図８の処理は終了する。
【００８３】
Ｓ３０４において、出力部３０６０は、データパケットのメッセージを出力する。
【００８４】
＜作用・効果＞
実施形態２のデータ伝送システム４０００によれば、データパケットを受信した受信装置３０００が、そのデータパケットのメッセージの開示を許可されている場合、出力部３０６０によってそのデータパケットのメッセージが出力される。よってこの場合、受信装置３０００を有する計算機等のユーザが、データパケットのメッセージを閲覧等することができる。一方で、データパケットを受信した受信装置３０００がメッセージの開示を許可されていない場合、出力部３０６０はそのデータパケットのメッセージを出力しない。よってこの場合、受信装置３０００を有する計算機等のユーザは、データパケットのメッセージを閲覧等することができない。以上により、本実施形態によれば、送信装置２０００によってデータパケットに付加される開示許可情報に示される受信装置３０００のリストに基づいて、メッセージを閲覧等できる者を制限できる。
【００８５】
［実施例］
以下、データ伝送システム４０００のより具体的な実現方法及び動作の例を、実施例として説明する。なお、以下で説明するデータ伝送システム４０００の構成は、あくまで１つの例示であり、データ伝送システム４０００の実現方法を限定するものではない。
【００８６】
本実施例では、１）固有暗号鍵、２）鍵生成情報、及び３）マスタ暗号鍵というデータを導入する。固有暗号鍵は、受信装置３０００と一意に対応する暗号鍵である。つまり、ある受信装置３０００と別の受信装置３０００とでは、それぞれ対応する固有暗号鍵が異なる。ある受信装置３０００の固有暗号鍵は、その受信装置３０００の外部から読み取り不可能な状態で、その受信装置３０００の内部に格納される。つまり受信装置３０００は、固有暗号鍵について耐タンパ性を有する。
【００８７】
鍵生成情報は、固有暗号鍵を生成するための情報である。固有暗号鍵は、鍵生成情報に対して一意に対応する。つまり、ある固有暗号鍵と別の固有暗号鍵とでは、それぞれ対応する鍵生成情報が異なる。なお、固有暗号鍵を鍵生成情報から安全なハッシュ関数で生成する場合、この一意性は生成される固有暗号鍵に対する衝突困難性と置き換えても良い。
【００８８】
マスタ暗号鍵は、鍵生成情報を用いた固有暗号鍵の生成に利用される暗号鍵である。ただし、固有暗号鍵からマスタ暗号鍵を算出することはできない。マスタ暗号鍵は、受信装置３０００の外部から読み取り不可能な状態で受信装置３０００の内部に格納される。つまり、受信装置３０００は、マスタ暗号鍵についても耐タンパ性を有する。
【００８９】
＜鍵生成情報の詳細＞
鍵生成情報のデータ構造は任意である。例えば鍵生成情報は、複数のデータの組み合わせによって構成されることで、階層構造（例：木構造）を持つ。図９は、鍵生成情報を例示する第１の図である。図９において、鍵生成情報Ｔａは、固定の長さを持つ８つのデータＴａ１〜Ｔａ８によって構成されている。Ｔａ１〜Ｔａ８の各サイズは、例えば１６バイトである。例えば鍵生成情報が木構造を表す場合、鍵生成情報Ｔａは、Ｔａ１が根であり、Ｔａ８が葉である木構造を表す鍵生成情報となる。
【００９０】
図１０は、鍵生成情報を例示する第２の図である。図１０において、鍵生成情報Ｔｂは、サイズが異なる複数のデータＴｂ１〜Ｔｂ３、及び各データのサイズを表すヘッダによって構成されている。Ｔｂ１〜Ｔｂ３のサイズはそれぞれ５バイト、１６バイト、２５６バイトである。
【００９１】
なお、鍵生成情報は暗号鍵に対して衝突困難であればよく、上記の構成には限定されない。
【００９２】
＜固有暗号鍵の詳細＞
固有暗号鍵は、鍵生成情報及びマスタ暗号鍵に基づいて生成することができる。例えば固有暗号鍵は、鍵生成情報及びマスタ暗号鍵を入力とする関数によって算出される値である。例えばこの関数は、SHA-256 等のハッシュ関数である。この関数は、一方向性又は原像計算困難性を有する必要がある。さらにこの関数は、単射であるか又は衝突困難性を有する必要がある。単射である場合、異なる鍵生成情報からは必ず異なる固有暗号鍵が生成される。また、衝突困難性を有する場合、異なる鍵生成情報から同じ固有暗号鍵が生成されうるものの、同じ固有暗号鍵が生成されるような複数の鍵生成情報の組を求めることが計算量的に困難である。
【００９３】
例えば前述した SHA-256 は、一般に原像困難性及び衝突困難性を有すると言われており、少なくともデータ伝送システム４０００で利用される鍵生成情報の集合（例えば、100 億個程度の鍵生成情報の集合）については、原像困難性及び衝突困難性を有すると考えられる。なお、上記の「100 億個程度」はあくまで例示であり、データ伝送システム４０００を運用する際に利用可能な鍵生成情報の集合の大きさを限定するものではない。
【００９４】
また、少数の鍵生成情報の集合に対して異なる鍵生成情報から同じ固有暗号鍵が生成される確率が低い関数を用いることが好ましい。
【００９５】
マスタ暗号鍵は、鍵生成情報に基づいて固有暗号鍵を生成するために用いられる。ここで、マスタ暗号鍵の生成方法は公開されないものとする。これにより、第３者がマスタ暗号鍵を生成することはできない。また前述したとおり、マスタ暗号鍵格納部３１２０からマスタ暗号鍵を読み出すことはできない。
【００９６】
なお、出力部３０６０で利用される各固有暗号鍵は、出力部３０６０で用いられる暗号方式に対応する暗号鍵である。ここで、出力部３０６０は、様々な暗号方式を用いることができる。例えば出力部３０６０は、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) モード、又はカウンタモードなどがある。
【００９７】
＜暗号鍵の生成方法の具体例＞
出力部３０６０が固有暗号鍵を生成する方法の具体例を説明する。上述したように、出力部３０６０は、様々な暗号方式を利用できる。以下では、３つの具体例を説明する。
【００９８】
＜＜方法１＞＞
例えば出力部３０６０は、式（１）を用いて、鍵生成情報Ｔ１に対して一意に対応する固有暗号鍵Ｋ１を算出する。Ｈは一方向性及び衝突困難性を有するハッシュ関数である。Ｋｍはマスタ暗号鍵である。Ｔ１｜Ｋｍは、Ｔ１を構成するビット列とＫｍを構成するビット列を結合したものである。例えばＴ１が 001 であり、Ｋｍが 101 の場合、Ｔ１｜Ｋｍは 001101 となる。
【数１】
0006636301.tif 000002
【００９９】
なお、出力部３０６０は、Ｈ（Ｔ１｜Ｋｍ）を構成するビット列の一部を固有暗号鍵Ｋ１として用いてもよい。例えば出力部３０６０は、Ｈ（Ｔ１｜Ｋｍ）の先頭１２８ビットを固有暗号鍵Ｋ１とする。例えば AES 暗号方式を利用する場合に、Ｈ（Ｔ１｜Ｋｍ）のサイズと AES 暗号方式のブロックサイズとが異なるとき、出力部３０６０は、固有暗号鍵Ｋ１のサイズをブロックサイズと等しくするために、Ｈ（Ｔ１｜Ｋｍ）の一部分を固有暗号鍵Ｋ１とする。
【０１００】
＜＜方法２＞＞
また例えば、出力部３０６０は、式（２）を用いて、鍵生成情報Ｔｂに対して一意に対応する固有暗号鍵Ｋｂを生成する。鍵生成情報Ｔｂは、図１０に示される鍵生成情報である。Ｅａは、鍵生成情報を構成する部分データＴｂ１などを任意の値に変換する関数である。ここで、AES 暗号方式を利用する場合、Ｅａは、部分データＴｂ１などを、利用する AES 暗号方式のブロックサイズと等しい大きさを持つ任意の値に変換する。
【数２】
0006636301.tif 000003
【０１０１】
＜＜方法３＞＞
また例えば、出力部３０６０は、再配置暗号方式に用いる固有暗号鍵をマスタ暗号鍵及び鍵生成情報から生成する。再配置暗号方式は、暗号化するデータを複数に分割し、分割したそれぞれのデータを、固有暗号鍵に示される情報に基づいて再配置することで、データを暗号化する。
【０１０２】
まず出力部３０６０は、疑似乱数のヘッダＲを生成する。次に、出力部３０６０は、Ｒを初期値として疑似乱数を生成し、暗号化対象のデータをストリーム暗号化する。次に、出力部３０６０は、Ｒを含めて再配置表ＫをＳＢＯＸとして用い、非線形な一体化をする。最後に、出力部３０６０は、上記ストリーム暗号化されたデータを、Ｋを用いて再配置することで、最終的な暗号文を出力する。
【０１０３】
なお、再配置暗号方式のさらなる詳細は、特許第４７３７３３４号公報に記載されているため、ここでは省略する。
【０１０４】
＜送信装置２０００の構成＞
図１１は、実施例の送信装置２０００を例示するブロック図である。本実施例の開示許可情報付加部２０４０は、メッセージの開示が許される各受信装置３０００に固有の固有鍵生成情報のリストを示す開示許可情報を生成する。また、本実施例の送信装置２０００は、実施形態２の送信装置２０００の機能に加え、メッセージに電子署名を付す機能を有する。メッセージに電子署名を付す機能を実現するため、送信装置２０００は、鍵生成情報格納部２１００、固有暗号鍵格納部２１２０、及び電子署名付加部２１４０を有する。
【０１０５】
固有暗号鍵格納部２１２０は、その固有暗号鍵格納部２１２０を有する送信装置２０００と一意に対応する固有暗号鍵を、外部から読み出し不可能か状態で格納する。よって、送信装置２０００は、固有暗号鍵について耐タンパ性を有する。鍵生成情報格納部２１００は、その鍵生成情報格納部２１００を有する送信装置２０００の固有暗号鍵と一意に対応する鍵生成情報を格納する。以下、ある装置の固有暗号鍵と一意に対応する鍵生成情報を、その装置の固有鍵生成情報とも表記する。
【０１０６】
図１２は電子署名付与部２１４０によって実行される処理をブロック図と共に例示する図である。図１２に示すように、本実施例において各データパケットに含まれるメッセージは、電子署名付きのメッセージ（以下、署名データ）を分割したものである。署名データは、送信元の送信装置２０００と一意に対応する鍵生成情報（以下、固有鍵生成情報）と、送信先へ伝達すべきデータ（以下、伝達データ）を暗号化した暗号データとを含む。この固有鍵生成情報は、送信元の送信装置２０００を示す識別子としての役割を持ち、それと同時に電子署名として機能する。
【０１０７】
電子署名付加部２１４０は、伝達データから署名データを生成する。具体的にはまず、電子署名付加部２１４０は、その電子署名付加部２１４０を有する送信装置２０００の固有暗号鍵を用いて伝達データを暗号化し、暗号データを生成する。次に電子署名付加部２１４０は、暗号データに鍵生成情報格納部２１００に格納されている鍵生成情報を付加することで、署名データを生成する。
【０１０８】
送信装置２０００は、署名データを分割し、分割された署名データをそれぞれメッセージとして含む複数のデータパケットを生成する。そして、このデータパケットは、実施形態１で説明したように開示許可情報付加部２０４０、開示許可情報付加部２０４０、及び送信部２０６０によって処理されることで、受信装置３０００へ送信される。なお、署名データ全体が１つのデータパケットに収まる場合、署名データの分割は不要である。
【０１０９】
＜＜ハードウエア構成について＞＞
実施例の送信装置２０００を有する計算機は、その計算機から送信されるデータパケットが、必ず送信装置２０００によって処理されるように構成される。例えば前述したように、送信装置２０００は、送信装置２０００を有する計算機のネットワークインタフェース上に設けられる。こうすることで、送信装置２０００によって送信されるデータパケットには、必ず上述の電子署名が付加される。
【０１１０】
電子署名付加部２１４０は、送信装置２０００のその他の機能構成部と同じハードウエアチップ上に実装されてもよいし、別のハードウエアチップ上に実装されてもよい。
【０１１１】
固有暗号鍵格納部２１２０は、第１匿名化暗号鍵格納部２０８０など、耐タンパ性を有する他の格納部と同様の方法で実装される。鍵生成情報格納部２１００は、RAM や ROM などの任意のメモリやストレージとして実装される。鍵生成情報格納部２１００は、送信装置２０００の外部の装置からアクセス可能であってもよい。
【０１１２】
＜受信装置３０００の構成＞
図１３は、本実施例の受信装置３０００を例示するブロック図である。本実施例の受信装置３０００は、開示許可情報として鍵生成情報を扱う。また、本実施例の受信装置３０００は、メッセージに付された電子署名を用いて、データパケットが改ざんされているか否かを判定する機能を有する。そのために受信装置３０００は、固有暗号鍵格納部３１００、マスタ暗号鍵格納部３１２０、固有鍵生成情報格納部３１４０、及び正当性判定部３１６０を有する。
【０１１３】
固有暗号鍵格納部３１００は、受信装置３０００の外部から読み取り不可能な状態で、固有暗号鍵を格納する。そのため、受信装置３０００は固有暗号鍵について耐タンパ性を有する。
【０１１４】
マスタ暗号鍵格納部３１２０は、受信装置３０００の外部から読み取り不可能な状態で、マスタ暗号鍵を格納する。そのため、受信装置３０００はマスタ暗号鍵について耐タンパ性を有する。
【０１１５】
固有鍵生成情報格納部３１４０は、受信装置３０００の外部から読み取り不可能な状態で、固有鍵生成情報を格納する。そのため、受信装置３０００は固有鍵生成情報について耐タンパ性を有する。
【０１１６】
受信部３０２０によって受信されたデータパケットは、復号部３０４０によって復号される。出力部３０６０は、復号されたデータパケットの開示許可情報が示す鍵生成情報のリストに、固有鍵生成情報格納部３１４０に格納されている固有鍵生成情報が示されているか否かを判定する。これが示されている場合、出力部３０６０は、データパケットに含まれるメッセージを正当性検証部３１６０へ出力する。一方、これが示されていない場合、出力部３０６０は、データパケットに含まれるメッセージを正当性検証部３１６０へ出力しない。
【０１１７】
図１４は、正当性検証部３１６０によって実行される処理の流れをブロック図と共に例示する図である。出力部３０６０によって出力される各メッセージは、署名データが分割されたものである。正当性検証部３１６０は、分割された署名データを結合することによって復元された署名データを取得する。なお、署名データ全体が１つのデータパケットに収まる場合、この結合は不要である。
【０１１８】
正当性判定部３１６０は、復元された署名データに含まれる鍵生成情報と、マスタ暗号鍵格納部３１２０に格納されているマスタ暗号鍵とを用いて、この鍵生成情報と一意に対応する固有暗号鍵を生成する。そして、正当性判定部３１６０は、生成した固有暗号鍵で署名データに含まれる暗号データを復号する。
【０１１９】
暗号データが正しく復号できた場合、受信装置３０００は復号された伝達データを取得できる。一方で、暗号データが正しく復号できた場合、受信装置３０００は復号された伝達データを取得できる。また暗号データが正しく復号できた場合、正当性検証部３１６０は、署名データが改ざんされておらず、伝達データが正当なものであると判定である。一方、暗号データが正しく復号できなかった場合、正当性検証部３１６０は、署名データが改ざんされており、伝達データが不正なものであると判定する。
【０１２０】
正当性検証部３１６０が署名データの改ざんの有無を判定する仕組みについて説明する。なお、この仕組みは本発明の発明者による発明であり、詳細は特願２０１４−１２７６７０に記載されている。
【０１２１】
図１５は、電子署名に付加された署名データが改ざんされない場合における電子署名付加部２１４０及び正当性判定部３１６０による処理を例示する図である。なお、電子署名付加部２１４０及び正当性判定部３１６０以外の機能構成部による処理は省略している。
【０１２２】
図１５では、送信装置２０００−１から受信装置３０００へ伝達データ１０が送信される。送信装置２０００−１において、電子署名付加部２１４０は、送信装置２０００−１の固有暗号鍵である固有暗号鍵３０−１を用いて伝達データ１０を暗号化し、暗号データ２０を生成する。また電子署名付加部２１４０は、送信装置２０００の固有鍵生成情報である鍵生成情報５０−１を暗号文２０に付加し、署名データ４０を生成する。
【０１２３】
正当性判定部３１６０は、受信した署名データ４０に含まれる鍵生成情報５０−１、及びマスタ暗号鍵格納部３１２０に格納されているマスタ暗号鍵６０を用いて、固有暗号鍵３０−１を生成する。ここで、署名データ４０に含まれる鍵生成情報５０−１は、送信装置２０００−１の固有鍵生成情報であるため、正当性判定部３１６０は、送信装置２０００−１による暗号化で利用された固有暗号鍵と同一の固有暗号鍵３０−１を生成する。よって、正当性判定部３１６０によって正しく暗号データ２０が復号され、伝達データ１０が算出される。したがって、正当性判定部３１６０は、署名データ４０が改ざんされていないと判定する。
【０１２４】
一方、図１６は、電子署名に付加された鍵生成情報が改ざんされる場合における正当性判定部３１６０による処理を例示する図である。なお、電子署名付加部２１４０による処理の流れは図１５と同様であるため、省略されている。
【０１２５】
図１６では、受信装置３０００が受信する署名データ４０に含まれる鍵生成情報が、鍵生成情報５０−１ではなく、鍵生成情報５０−２となっている。つまり、署名データ４０の送信元を示す鍵生成情報の改ざんが行われている。この場合、正当性判定部３１６０が鍵生成情報５０−２とマスタ暗号鍵６０を用いて生成する固有暗号鍵３０−２は、固有暗号鍵３０−１とは異なる暗号鍵となる。よって、正当性判定部３１６０によって暗号データ２０を正しく復号することができない。したがって、正当性判定部３１６０は、署名データ４０が改ざんされていると判定する。
【０１２６】
以上、図１５及び図１６を用いて説明したように、電子署名付加部２１４０及び正当性判定部３１６０による処理によって、署名データが改ざんされているか否かが判定できる。
【０１２７】
また前述したように、鍵生成情報は、送信元の送信装置２０００を示す識別子としての役割も持つ。そのため、署名データが改ざんされていないと判定された場合、「署名データを送信した送信装置２０００は署名データに含まれる鍵生成情報と一意に対応する送信装置２０００である」ということも把握することができる。
【０１２８】
このように正当性判定部３１６０によれば、署名データが改ざんされているか否かを把握し、さらには送信元の送信装置２０００を特定することができる。よって、電子署名付加部２１４０によって処理された署名データは、データの改ざんを回避して送信元の装置を証明できる電子署名付きのデータパケットであるといえる。
【０１２９】
＜＜ハードウエア構成について＞＞
実施例の受信装置３０００を有する計算機は、その計算機によって受信されるデータパケットが、必ず受信装置３０００によって処理されるように構成される。例えば前述したように、受信装置３０００は受信装置３０００を有する計算機のネットワークインタフェースに設けられる。
【０１３０】
正当性判定部３１６０は、受信部３０２０などが実装されるハードウエアチップと同じハードウエアチップ上に実装されてもよいし、異なるハードウエアチップ上に実装されてもよい。
【０１３１】
＜本実施例のデータ伝送システム４０００における具体的な処理の例＞
本実施例のデータ伝送システム４０００は、送信装置２０００−１、受信装置３０００−１、及び受信装置３０００−２を有する。本実施例において、あるユーザ（以下、加害者）から別のユーザ（以下、被害者）へ脅迫文が送られるとする。送信装置２０００−１は、加害者が所有する計算機に内蔵されている。受信装置３０００−１は、被害者が所有する計算機に内蔵されている。受信装置３０００−２は、警察が有する捜査用の受信装置３０００である。
【０１３２】
送信装置２０００−１は上記脅迫文に電子署名を付して送信する。まず電子署名付与部２１４０は、脅迫文を、送信装置２０００−１の固有暗号鍵で暗号化して暗号データを生成し、その暗号データに送信装置２０００−１の固有鍵生成情報を付して署名データを生成する。次に、送信装置２０００−１は、署名データを分割した複数のメッセージＭ１からＭｎそれぞれを含むデータパケットＡ１からＡｎを生成する。各データパケットにおいて、送信元アドレスは送信装置２０００−１のアドレスであり、送信先アドレスは受信装置３０００−１のアドレスである。
【０１３３】
開示許可情報付加部２０４０は、Ａ１に開示許可情報を付加する。本実施例では、開示許可情報付加部２０４０は、送信先の受信装置３０００−１の固有鍵生成情報及び警察が所有する受信装置３０００−２の固有鍵生成情報を開示許可情報に含めるように構成されている。そのため、開示許可情報付加部２０４０は、受信装置３０００−１の固有鍵生成情報及び受信装置３０００−２の固有鍵生成情報を含む開示許可情報を生成し、データパケットに付加する。暗号化部２０２０は、Ａ１の送信元アドレス、送信先アドレス、及び開示許可情報を暗号化する。送信部２０６０は、暗号化部２０２０によって処理された後のＡ１を受信装置３０００−１へ送信する。
【０１３４】
開示許可情報付加部２０４０、暗号化部２０２０、及び送信部２０６０は、残りのＡ２からＡｎについても同様の処理を行う。
【０１３５】
Ａ１からＡｎは、受信装置３０００−１の受信部３０２０によって受信される。復号部３０４０は、匿名化暗号鍵を用いてＡ１の送信元アドレス、送信先アドレス、及び開示許可情報を復号する。
【０１３６】
出力部３０６０は、Ａ１の開示許可情報が示す鍵生成情報のリストの中に、受信装置３０００−１の固有鍵生成情報が含まれているか否かを判定する。ここで、本実施例では、開示許可情報が示す鍵生成情報のリストの中に受信装置３０００−１の固有鍵生成情報が含まれている。そこで出力部３０６０は、Ａ１に含まれるＭ１を出力する。
【０１３７】
受信部３０２０、復号部３０４０、及び出力部３０６０は、残りのＡ２からＡｎについても同様の処理を行う。その結果、Ｍ２からＭｎが出力される。
【０１３８】
正当性検証部３１６０は、Ｍ１からＭｎを結合して復元された署名データを取得する。正当性検証部３１６０は、署名データに含まれている鍵生成情報、及びマスタ暗号鍵格納部３１２０に格納されているマスタ暗号鍵を用いて、署名データに含まれている鍵生成情報と一意に対応する固有暗号鍵を生成する。正当性判定部３１６０は、この固有暗号鍵を用いて、署名データに含まれている暗号データを復号することで、上記脅迫文を取得する。
【０１３９】
また正当性判定部３１６０は、上記復号処理によって暗号データを正しく復号できたか否かを判定する。暗号データを正しく復号できた場合、前述したように、署名データの改ざんが行われていないと言える。
【０１４０】
上記脅迫文を受信した被害者が警察に相談すると、警察は脅迫文の送信者、つまりは加害者の特定を試みる。
【０１４１】
ここで、データパケットＡ１からＡｎの開示許可情報は、受信装置３０００−２による開示を許可することを表している。そのため警察は、受信装置３０００−２によってデータパケットＡ１からＡｎを受信することで上記脅迫文を取得できるため、Ａ１からＡｎに脅迫文が含まれていることを確認できる。さらには前述したように、上記脅迫文は電子署名付きの署名データとして送信されており、受信装置３０００−２を有する警察は、脅迫文を送信した送信装置２０００が送信装置２０００−１であるという確証を得ることができる。よって警察は、脅迫文を送信した装置が、送信装置２０００−１を有する計算機であるという、証拠能力の高い証拠を得ることができる。例えば加害者が、「脅迫文の送信元は改ざんされており、この脅迫文は送信装置２０００−１から送信されたものではない」と言い逃れをしようとしても、このような改ざんがなされていないことは電子署名によって証明されるため、このような言い逃れはできない。
【０１４２】
なお、データ伝送システム４０００の利用方法は、警察などにおける捜査への利用に限定されない。例えばデータ伝送システム４０００は、電子マネーシステム、匿名アンケートシステム、電子投票システム、匿名納税システム、電子入札システム、匿名医療情報システム、及びグループ署名方式などに利用できる。
【０１４３】
［実施形態３］
図１７は、実施形態３に係るデータ伝送システム４０００の概要を表す図である。実施形態３のデータ伝送システム４０００は、開示許可情報によって受信装置３０００によるデータの出力を制御する概念において、実施形態１及び２のデータ伝送システム４０００と共通する。
【０１４４】
一方で、実施形態３のデータ伝送システム４０００は、受信装置３０００へ伝達すべきデータ（伝達データ）に対して開示許可情報を付加し、開示許可情報が付加された伝達データを分割することでデータパケットを生成するという点において、実施形態１及び２のデータ伝送システム４０００と異なる。
【０１４５】
図１８は、実施形態３のデータ伝送システム４０００の構成を例示するブロック図である。図１８において、矢印の流れは情報の流れを示している。さらに、図１８において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【０１４６】
実施形態３の送信装置２０００は、開示許可情報付加部２０４０、データパケット生成部２１６０、暗号化部２０２０、送信部２０６０、及び第１匿名化暗号鍵格納部２０８０を有する。実施形態３の開示許可情報付加部２０４０は、伝達データに対して開示許可情報を付加する。データパケット生成部２１６０は、開示許可情報が付加された伝達データを分割して複数のメッセージを生成し、各メッセージにアドレス情報を付加することで、複数のデータパケットを生成する。実施形態３の暗号化部２０２０は、データパケット生成部２１６０によって生成されたデータパケットについて、アドレス情報のみ又はデータパケット全体の暗号化を行う。実施形態３の送信部２０６０は、暗号化部２０２０によって暗号化された各データパケットを受信装置３０００へ送信する。実施形態３の第１匿名化暗号鍵格納部２０８０の機能は、実施形態１の第１匿名化暗号鍵格納部２０８０の機能と同様である。
【０１４７】
なお、開示許可情報やアドレス情報の内容、及び匿名化暗号鍵を用いた暗号化の方法については、前述した各実施形態や実施例で説明した通りである。また、データを複数のデータパケットに分割する方法は既知の技術であるため、その方法についての詳細は省略する。
【０１４８】
実施形態３の受信装置３０００は、受信部３０２０、復号部３０４０、復元部３１８０、出力部３０６０、及び第２匿名化暗号鍵格納部３０８０を有する。実施形態３の受信部３０２０は、送信装置２０００によって送信された複数のデータパケットを受信する。実施形態３の復号部３０４０は、各データパケットの暗号化されたデータを、匿名化暗号鍵で復号する。復元部３１８０は、復号された各データパケットに含まれるメッセージを結合することで、開示許可情報が付加された伝達データを復元する。実施形態３の出力部３０６０は、当該受信装置３０００が、復元された開示許可情報によって示される、伝達データの開示が許可されている受信装置３０００に該当するか否かを判定する。そして、出力部３０６０は、当該受信装置３０００が伝達データの開示が許可されている受信装置３０００に該当する場合、伝達データを外部へ出力する。実施形態３の第２匿名化暗号鍵格納部３０８０が有する機能は、実施形態１の第２匿名化暗号鍵格納部３０８０が有する機能と同様である。
【０１４９】
なお、データパケットを受信する方法、匿名化暗号鍵を用いた復号の方法及び開示許可情報を用いた判定の方法は、前述した各実施形態や実施例で説明した通りである。また、複数のデータパケットを結合する方法は既知の技術であるため、その方法についての詳細は省略する。
【０１５０】
＜ハードウエア構成＞
本実施形態の送信装置２０００と受信装置３０００のハードウエア構成はそれぞれ、実施形態１の送信装置２０００と受信装置３０００のハードウエア構成と同様である。
【０１５１】
＜変形例＞
実施形態３の受信装置３０００は、実施形態１の変形例における受信装置３０００と同様に、匿名処理部３２００及び第２出力部３２２０をさらに有していてもよい。この場合、受信装置３０００は、外部に伝達データを出力することに加え、又は外部にデータパケットのメッセージを出力することに代え、１つ又は複数の伝達データについて任意の処理（例えば匿名化を伴う統計処理）を施した結果を示す処理結果情報を生成して出力する。図１９は、匿名処理部３２００及び第２出力部３２２０を有する実施形態３の受信装置３０００を例示するブロック図である。
【０１５２】
本変形例における匿名処理部３２００は、復元部３１８０によって復元された１つ又は複数の伝達データに対して任意の処理を施し、その結果を示す処理結果情報を生成する。本変形例における匿名処理部３２００が１つ又は複数の伝達データについて処理結果情報を生成する処理は、実施形態１の変形例における匿名処理部３２００が１つ又は複数のデータパケットのメッセージについて処理結果情報を生成する処理と同様である。また、本変形例における第２出力部３２２０の動作は、実施形態１の変形例の第２出力部３２２０の動作と同様である。
【０１５３】
以上、図面を参照して本発明の実施形態及び実施例について述べたが、これらは本発明の例示であり、上記実施形態や実施例の組み合わせ、及び上記実施形態や実施例以外の様々な構成を採用することもできる。
【０１５４】
以下、参考形態の例を付記する。
１．  送信装置と受信装置とを有するデータ伝送システムであって、
前記送信装置は、
送信元アドレス、送信先アドレス及びメッセージを含むデータパケットに対し、前記メッセージの開示が許可される受信装置を示す情報である開示許可情報を付加する開示許可情報付加部と、
前記開示許可情報が付加されたデータパケットに含まれる前記送信元アドレス、前記送信先アドレス、又は前記開示許可情報を匿名化暗号鍵で暗号化する暗号化部と、
前記暗号化された前記データパケットを送信する送信部と、
前記暗号化部が用いる前記匿名化暗号鍵を当該送信装置の外部から読み取り不可能な状態で格納する第１匿名化暗号鍵格納部と、を有し、
前記受信装置は、
前記送信されたデータパケットを受信する受信部と、
前記受信されたデータパケットの暗号化された前記送信元アドレス、前記送信先アドレス又は前記開示許可情報を前記匿名化暗号鍵で復号する復号部と、
当該受信装置が、前記受信されたデータパケットの前記開示許可情報によって前記メッセージの開示が許可されている場合に、前記受信されたデータパケットの前記メッセージを外部に出力する出力部と、
前記復号部が用いる匿名化暗号鍵を当該受信装置の外部から読み取り不可能な状態で格納する第２匿名化暗号鍵格納部と、を有するデータ伝送システム。
２．  前記開示許可情報は、前記メッセージの開示が許可される前記受信装置のリストを示しており、
前記受信装置の前記出力部は、当該受信装置が前記リストに示されている場合のみ、前記受信されたデータパケットのメッセージを外部に出力する、１．に記載のデータ伝送システム。
３．  前記受信装置と一意に対応する固有暗号鍵が、当該受信装置と一意に対応する固有鍵生成情報、及びマスタ暗号鍵とを用いて生成でき、
前記開示許可情報は、前記メッセージの開示が許可される前記受信装置と一意に対応する固有鍵生成情報を示しており、
前記受信装置は、その受信装置と一意に対応する鍵生成情報をその受信装置の外部から読み取り不可能な状態で格納する固有鍵生成情報格納部を有し、
前記出力部は、前記固有鍵生成情報格納部に格納されている鍵生成情報が、前記受信されたデータパケットの前記開示許可情報によって示されている場合に、前記受信されたデータパケットの前記メッセージを外部に出力し、
前記マスタ暗号鍵は別の暗号鍵から算出できない、１．又は２．に記載のデータ伝送システム。
４．  前記開示許可情報によってメッセージの開示が許可される受信装置には、送信先の受信装置以外の受信装置が含まれる、１．乃至３．いずれか一つに記載のデータ伝送システム。
５．  １つ又は複数の前記メッセージについて処理を施し、その処理の結果を示す処理結果情報を生成する匿名処理部と、
前記処理結果情報を出力する第２出力部と、を有する１．乃至４．いずれか一つに記載のデータ伝送システム。
６．  送信装置と受信装置とを有するデータ伝送システムであって、
前記送信装置は、
前記受信装置へ伝達する伝達データに対して、前記伝達データの開示が許可される受信装置を示す情報である開示許可情報を付加する開示許可情報付加部と、
前記開示許可情報が付加された伝達データを分割することで複数のメッセージを生成し、各メッセージに送信元アドレス及び送信先アドレスを付加して、複数のデータパケットを生成するデータパケット生成部と、
各前記データパケットのアドレス情報又は各前記データパケットを、匿名化暗号鍵で暗号化する暗号化部と、
各前記暗号化されたデータパケットを送信する送信部と、
前記暗号化部が用いる前記匿名化暗号鍵を当該送信装置の外部から読み取り不可能な状態で格納する第１匿名化暗号鍵格納部と、を有し、
前記受信装置は、
各前記送信されたデータパケットを受信する受信部と、
各前記受信されたデータパケットを前記匿名化暗号鍵で復号する復号部と、
各前記復号されたデータパケットに含まれる前記メッセージを結合することで、前記開示許可情報が付加された伝達データを復元する復元部と、
当該受信装置が前記開示許可情報によって前記伝達データの開示が許可されている場合に、前記復元された伝達データを外部に出力する出力部と、
前記復号部が用いる匿名化暗号鍵を当該受信装置の外部から読み取り不可能な状態で格納する第２匿名化暗号鍵格納部と、を有するデータ伝送システム。
７．  前記開示許可情報は、前記伝達データの開示が許可される前記受信装置のリストを示しており、
前記受信装置の前記出力部は、当該受信装置が前記リストに示されている場合のみ、前記復元された伝達データを外部に出力する、６．に記載のデータ伝送システム。
８．  前記受信装置と一意に対応する固有暗号鍵が、当該受信装置と一意に対応する固有鍵生成情報、及びマスタ暗号鍵とを用いて生成でき、
前記開示許可情報は、前記伝達データの開示が許可される前記受信装置と一意に対応する固有鍵生成情報を示しており、
前記受信装置は、その受信装置と一意に対応する鍵生成情報をその受信装置の外部から読み取り不可能な状態で格納する固有鍵生成情報格納部を有し、
前記出力部は、前記固有鍵生成情報格納部に格納されている鍵生成情報が、前記復元されたデータパケットに付加されている前記開示許可情報によって示されている場合に、前記復元された伝達データを外部に出力し、
前記マスタ暗号鍵は別の暗号鍵から算出できない、６．又は７．に記載のデータ伝送システム。
９．  前記開示許可情報によってメッセージの開示が許可される受信装置には、送信先の受信装置以外の受信装置が含まれる、１．乃至４．いずれか一つに記載のデータ伝送システム。
１０．  １つ又は複数の前記伝達データについて処理を施し、その処理の結果を示す処理結果情報を生成する匿名処理部と、
前記処理結果情報を出力する第２出力部と、を有する６．乃至９．いずれか一つに記載のデータ伝送システム。
１１．  前記データ伝送システムは中継装置をさらに含み、
前記送信装置の前記暗号化部は、少なくとも前記データパケットの前記送信元アドレス又は前記送信先アドレスを暗号化し、
前記中継装置は、
前記送信されたデータパケットを受信する第２受信部と、
前記受信されたデータパケットの暗号化された前記送信元アドレス又は前記送信先アドレスを前記匿名化暗号鍵で復号する第２復号部と、
前記送信元アドレス又は前記送信先アドレスの変換を行う変換部と、
前記変換された前記送信元アドレス又は前記送信先アドレスを前記匿名化暗号鍵で暗号化する第２暗号化部と、
前記第２暗号化部によって暗号化された前記データパケットを送信する第２送信部と、
前記第２暗号化部及び前記第２復号部が用いる前記匿名化暗号鍵を当該中継装置の外部から読み取り不可能な状態で格納する第３匿名化暗号鍵格納部と、を有する１．乃至１０．いずれか一つに記載のデータ伝送システム。
１２．  １．乃至１１．いずれか一つに記載のデータ伝送システムが有する送信装置。
１３．  １．乃至１１．いずれか一つに記載のデータ伝送システムが有する受信装置。
１４．  １１．に記載のデータ伝送システムが有する中継装置。
１５．  送信装置と受信装置とを有するデータ伝送システムにおいて実行されるデータ伝送方法であって、
前記送信装置が、送信元アドレス、送信先アドレス及びメッセージを含むデータパケットに対し、前記メッセージの開示が許可される受信装置を示す情報である開示許可情報を付加する開示許可情報付加ステップと、
前記送信装置が、前記開示許可情報が付加されたデータパケットに含まれる前記送信元アドレス、前記送信先アドレス、又は前記開示許可情報を匿名化暗号鍵で暗号化する暗号化ステップと、
前記送信装置が、前記暗号化されたデータパケットを送信する送信ステップと、
前記受信装置が、前記送信されたデータパケットを受信する受信ステップと、
前記受信装置が、前記受信されたデータパケットの暗号化された前記送信元アドレス、前記送信先アドレス、又は前記開示許可情報を前記匿名化暗号鍵で復号する復号ステップと、
前記受信されたデータパケットの前記開示許可情報によって前記メッセージの開示が許可されている場合に、当該受信装置が、前記受信されたデータパケットの前記メッセージを外部に出力する出力ステップと、を有し、
前記送信装置は、前記暗号化ステップで用いる前記匿名化暗号鍵を当該送信装置の外部から読み取り不可能な状態で格納する第１匿名化暗号鍵格納部を有し、
前記受信装置は、前記復号ステップで用いる前記匿名化暗号鍵を当該受信装置の外部から読み取り不可能な状態で格納する第２匿名化暗号鍵格納部を有するデータ伝送方法。
１６．  前記開示許可情報は、前記メッセージの開示が許可される前記受信装置のリストを示しており、
前記受信装置が実行する前記出力ステップは、当該受信装置が前記リストに示されている場合のみ、前記受信されたデータパケットのメッセージを外部に出力する、１５．に記載のデータ伝送方法。
１７．  前記受信装置と一意に対応する固有暗号鍵が、当該受信装置と一意に対応する固有鍵生成情報、及びマスタ暗号鍵とを用いて生成でき、
前記開示許可情報は、前記メッセージの開示が許可される前記受信装置と一意に対応する固有鍵生成情報を示しており、
前記受信装置は、その受信装置と一意に対応する鍵生成情報をその受信装置の外部から読み取り不可能な状態で格納する固有鍵生成情報格納部を有し、
前記出力ステップは、前記固有鍵生成情報格納部に格納されている鍵生成情報が、前記受信されたデータパケットの前記開示許可情報によって示されている場合に、前記受信されたデータパケットの前記メッセージを外部に出力し、
前記マスタ暗号鍵は別の暗号鍵から算出できない、１５．又は１６．に記載のデータ伝送方法。
１８．  前記開示許可情報によってメッセージの開示が許可される受信装置には、送信先の受信装置以外の受信装置が含まれる、１５．乃至１７．いずれか一つに記載のデータ伝送方法。
１９．  １つ又は複数の前記メッセージについて処理を施し、その処理の結果を示す処理結果情報を生成する匿名処理ステップと、
前記処理結果情報を出力する第２出力ステップと、を有する１５．乃至１７．いずれか一つに記載のデータ伝送方法。
２０．  送信装置と受信装置とを有するデータ伝送システムにおいて実行されるデータ伝送方法であって、
前記送信装置が、前記受信装置へ伝達する伝達データに対して、前記伝達データの開示が許可される受信装置を示す情報である開示許可情報を付加する開示許可情報付加ステップと、
前記送信装置が、前記開示許可情報が付加された伝達データを分割することで複数のメッセージを生成し、各メッセージに送信元アドレス及び送信先アドレスを付加して、複数のデータパケットを生成するデータパケット生成ステップと、
前記送信装置が、各前記データパケットのアドレス情報又は各前記データパケットを、匿名化暗号鍵で暗号化する暗号化ステップと、
前記送信装置が、各前記暗号化されたデータパケットを送信する送信ステップと、
前記受信装置が、各前記送信されたデータパケットを受信する受信ステップと、
前記受信装置が、各前記受信されたデータパケットを前記匿名化暗号鍵で復号する復号ステップと、
前記受信装置が、各前記復号されたデータパケットに含まれる前記メッセージを結合することで、前記開示許可情報が付加された伝達データを復元する復元ステップと、
前記受信装置が、当該受信装置が前記開示許可情報によって前記伝達データの開示が許可されている場合に、前記復元された伝達データを外部に出力する出力ステップと、を有し、
前記送信装置は、前記暗号化ステップで用いる前記匿名化暗号鍵を当該送信装置の外部から読み取り不可能な状態で格納する第１匿名化暗号鍵格納部を有し、
前記受信装置は、前記復号ステップで用いる匿名化暗号鍵を当該受信装置の外部から読み取り不可能な状態で格納する第２匿名化暗号鍵格納部を有するデータ伝送システム。
２１．  前記開示許可情報は、前記伝達データの開示が許可される前記受信装置のリストを示しており、
前記受信装置が実行する前記出力ステップは、当該受信装置が前記リストに示されている場合のみ、前記伝達データを外部に出力する、２０．に記載のデータ伝送方法。
２２．  前記受信装置と一意に対応する固有暗号鍵が、当該受信装置と一意に対応する固有鍵生成情報、及びマスタ暗号鍵とを用いて生成でき、
前記開示許可情報は、前記伝達データの開示が許可される前記受信装置と一意に対応する固有鍵生成情報を示しており、
前記受信装置は、その受信装置と一意に対応する鍵生成情報をその受信装置の外部から読み取り不可能な状態で格納する固有鍵生成情報格納部を有し、
前記出力ステップは、前記固有鍵生成情報格納部に格納されている鍵生成情報が、前記復元されたデータパケットに付加されている前記開示許可情報によって示されている場合に、前記復元された伝達データを外部に出力し、
前記マスタ暗号鍵は別の暗号鍵から算出できない、２０．又は２１．に記載のデータ伝送方法。
２３．  前記開示許可情報によって伝達データの開示が許可される受信装置には、送信先の受信装置以外の受信装置が含まれる、２０．乃至２２．いずれか一つに記載のデータ伝送方法。
２４．  １つ又は複数の前記伝達データについて処理を施し、その処理の結果を示す処理結果情報を生成する匿名処理ステップと、
前記処理結果情報を出力する第２出力ステップと、を有する２０．乃至２３．いずれか一つに記載のデータ伝送方法。
２５．  前記データ伝送システムは中継装置をさらに含み、
前記送信装置の前記暗号化ステップは、少なくとも前記データパケットの前記送信元アドレス又は前記送信先アドレスを暗号化し、
当該データ伝送方法は、
前記中継装置が、前記送信されたデータパケットを受信する第２受信ステップと、
前記中継装置が、前記受信されたデータパケットの暗号化された前記送信元アドレス又は前記送信先アドレスを前記匿名化暗号鍵で復号する第２復号ステップと、
前記中継装置が、前記送信元アドレス又は前記送信先アドレスの変換を行う変換ステップと、
前記中継装置が、前記変換された前記送信元アドレス又は前記送信先アドレスを前記匿名化暗号鍵で暗号化する第２暗号化ステップと、
前記中継装置が、前記第２暗号化ステップによって暗号化された前記データパケットを送信する第２送信ステップと、を有し、
前記中継装置は、前記暗号化ステップ及び前記復号ステップで用いる前記匿名化暗号鍵を当該中継装置の外部から読み取り不可能な状態で格納する第３匿名化暗号鍵格納部を有する、１５．乃至２４．いずれか一つに記載のデータ伝送方法。
２６．  １５．乃至２５．いずれか一つに記載のデータ伝送方法において送信装置によって実行される各ステップを有する送信方法。
２７．  １５．乃至２５．いずれか一つに記載のデータ伝送方法において受信装置によって実行される各ステップを有する受信方法。
２８．  ２５．に記載のデータ伝送方法において中継装置によって実行される各ステップを有する中継方法。
２９．  ２６．に記載の送信方法が有する各ステップをコンピュータに実行させるプログラム。
３０．  ２７．に記載の受信方法が有する各ステップをコンピュータに実行させるプログラム。
３１．  ２８．に記載の中継方法が有する各ステップをコンピュータに実行させるプログラム。
【符号の説明】
【０１５５】
１０  伝達データ
２０  暗号データ
３０  固有暗号鍵
４０  署名データ
５０  鍵生成情報
６０  マスタ暗号鍵
７０  固有暗号鍵
２０００  送信装置
２０２０  暗号化部
２０４０  開示許可情報付加部
２０６０  送信部
２０８０  第１匿名化暗号鍵格納部
２１００  固有鍵生成情報格納部
２１００  鍵生成情報格納部
２１２０  固有暗号鍵格納部
２１４０  電子署名付加部
２１６０  データパケット生成部
３０００  受信装置
３０２０  受信部
３０４０  復号部
３０６０  出力部
３０８０  第２匿名化暗号鍵格納部
３１００  固有暗号鍵格納部
３１２０  マスタ暗号鍵格納部
３１４０  第２復号部
３１６０  正当性判定部
３１８０  復元部
３２００  匿名処理部
３２２０  第２出力部
４０００  データ伝送システム
【図１】
0006636301.tif 000004
【図２】
0006636301.tif 000005
【図３】
0006636301.tif 000006
【図４】
0006636301.tif 000007
【図５】
0006636301.tif 000008
【図６】
0006636301.tif 000009
【図７】
0006636301.tif 000010
【図８】
0006636301.tif 000011
【図９】
0006636301.tif 000012
【図１０】
0006636301.tif 000013
【図１１】
0006636301.tif 000014
【図１２】
0006636301.tif 000015
【図１３】
0006636301.tif 000016
【図１４】
0006636301.tif 000017
【図１５】
0006636301.tif 000018
【図１６】
0006636301.tif 000019
【図１７】
0006636301.tif 000020
【図１８】
0006636301.tif 000021
【図１９】
0006636301.tif 000022