Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4401415B2 - Electronic bulletin board providing device, message posting method, posted message search method, and electronic bulletin board providing program - Google Patents
[go: Go Back, main page]

JP4401415B2 - Electronic bulletin board providing device, message posting method, posted message search method, and electronic bulletin board providing program - Google Patents

Electronic bulletin board providing device, message posting method, posted message search method, and electronic bulletin board providing program Download PDF

Info

Publication number
JP4401415B2
JP4401415B2 JP2008010136A JP2008010136A JP4401415B2 JP 4401415 B2 JP4401415 B2 JP 4401415B2 JP 2008010136 A JP2008010136 A JP 2008010136A JP 2008010136 A JP2008010136 A JP 2008010136A JP 4401415 B2 JP4401415 B2 JP 4401415B2
Authority
JP
Japan
Prior art keywords
node
onion
anonymous
route
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008010136A
Other languages
Japanese (ja)
Other versions
JP2008109717A (en
Inventor
勧 坂本
達也 貝沼
和邦 古原
晋爾 山中
秀樹 今井
良一 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008010136A priority Critical patent/JP4401415B2/en
Publication of JP2008109717A publication Critical patent/JP2008109717A/en
Application granted granted Critical
Publication of JP4401415B2 publication Critical patent/JP4401415B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明はデータの送受信者の匿名性を守った電子掲示板提供装置、メッセージ投稿方法、投稿メッセージ検索方法、および電子掲示板提供プログラムに関し、特にオニオンルーティングの手法を利用した電子掲示板提供装置、メッセージ投稿方法、投稿メッセージ検索方法、および電子掲示板提供プログラムに関する。 The present invention is child BBS providing apparatus electrostatic defended the anonymity of the sender and recipient of the data, message posting process, post message retrieval method, and an electronic relates bulletin board providing program, in particular child BBS providing apparatus electrodeposition using onion routing techniques, The present invention relates to a message posting method, a posted message search method, and an electronic bulletin board providing program .

インターネットを介した様々な情報交換が盛んに行われている。インターネットにおいて一般に利用されている技術では、伝送されているパケットを解析すれば、パケットのヘッダから受信者が割り出せると共に、パケットルートの追跡も可能である。その結果、インターネットの利用者個人のプライバシが侵害される虞がでてきている。たとえば、匿名の掲示板への投稿内容から、投稿者の使用している端末の所在(IPアドレス等)が分かってしまうと、悪意の第三者から嫌がらせをうける危険性がある。   Various information exchanges are actively performed through the Internet. In a technique generally used on the Internet, if a transmitted packet is analyzed, a receiver can be determined from the header of the packet and a packet route can be traced. As a result, there is a risk that the privacy of individual users of the Internet is infringed. For example, if the location (IP address or the like) of the terminal used by the poster is known from the content posted on the anonymous bulletin board, there is a risk of harassment by a malicious third party.

そこで、インターネット上のデータの送受信者の匿名性を守るための様々な技術が考えられている。データの送受信の匿名性を守るためには、全てのデータ通信を暗号化すると共に、パケットの伝送経路も漏洩しないようにする必要がある。   Therefore, various techniques for protecting the anonymity of data senders and receivers on the Internet have been considered. In order to protect the anonymity of data transmission / reception, it is necessary to encrypt all data communication and not to leak the packet transmission path.

パケットの伝送経路の漏洩を防止するには、複数の中継地(ルータ)を活用することにより、通信中のパケットの受信元や転送先等の情報の漏洩をシャットアウトする必要がある。このような伝送経路の漏洩防止手法としては、「オニオンルーティング」と名付けられた手法が知られている(たとえば、特許文献1参照)。   In order to prevent the leakage of the packet transmission path, it is necessary to shut out the leakage of information such as the reception source and transfer destination of the packet during communication by utilizing a plurality of relay points (routers). As such a transmission path leakage prevention technique, a technique named “onion routing” is known (see, for example, Patent Document 1).

オニオンルーティングの手法では、オニオンルータと呼ばれる堅牢で固定的なルータがルーティングを司る。送信端末では、送信相手までの伝送経路を予め決定し、パケットを中継する各オニオンルータの公開鍵を用いてパケットの伝送経路に関する情報を暗号化する。   In the method of onion routing, routing is performed by a robust and fixed router called an onion router. In the transmission terminal, a transmission path to the transmission partner is determined in advance, and information on the transmission path of the packet is encrypted using the public key of each onion router that relays the packet.

パケットを受信したオニオンルータは、自身の秘密鍵で伝送経路に関する情報を復号する。この復号によりパケットの次の転送先が判別され、オニオンルータは、次のノード(オニオンルータ若しくは受信端末)にパケットを転送する。このように、各オニオンルータでは、次の転送先以外隠蔽された状態を保つことができるため、最終的な受信端末の情報を特定することができない。また、オニオンルータにおいて、パケットを送出する際に、それまでの伝送経路に関する情報をパケットに付加しないことで、送信元の漏洩を防止できる。   The onion router that receives the packet decrypts the information on the transmission path with its own secret key. This decryption determines the next transfer destination of the packet, and the onion router transfers the packet to the next node (onion router or receiving terminal). In this manner, each onion router can maintain a concealed state except for the next transfer destination, and therefore cannot identify the final receiving terminal information. Further, when sending a packet in the onion router, it is possible to prevent the transmission source from leaking by not adding to the packet information related to the transmission path up to that point.

このように、オニオンルーティングでは、データパケットが目的地までの経路情報を多重に暗号化して保持することで、ルーティングを行う各ノードやネットワーク上でのスキミングを行う者に対して経路情報の一部しか参照できないようにしている。
米国特許第6、266、704号
As described above, in onion routing, the route information to the destination in the data packet is multiplexed and stored, so that part of the route information is provided to each node that performs routing and those who perform skimming on the network. I can only refer to it.
US Pat. No. 6,266,704

しかし、従来のオニオンルーティングの手法は、ノード構成が動的に変化する環境に適用するのが困難である。ノード構成が動的に変化する環境としては、特にP2P(Peer to Peer)ネットワークがある。   However, the conventional onion routing method is difficult to apply to an environment in which the node configuration changes dynamically. As an environment in which the node configuration dynamically changes, there is a P2P (Peer to Peer) network in particular.

P2Pネットワークでは、Peerノードのネットワークへの参加やネットワークからの退場は任意である。このため、P2Pネットワーク上で通信を行う場合、その時点で参加しているPeerノード間でP2Pの通信を行いながら、送信相手のPeerノードへパケットを転送する。このようなP2P環境に対してオニオンルーティングの手法を適用する場合、次の問題が生る。
・ 固定のルータ及び固定の経路を予め決定することができない。
・ ルーティング途中でのノード構成変更に対して動的に対処するのが困難である。
In a P2P network, participation of a Peer node in the network or leaving the network is optional. For this reason, when communication is performed on the P2P network, the packet is transferred to the peer node of the transmission partner while performing P2P communication between the peer nodes participating at that time. When applying the technique of such onion routing for P2P environment, the following problems that Ji live.
・ Fixed routers and fixed routes cannot be determined in advance.
-It is difficult to dynamically cope with node configuration changes during routing.

このため、P2Pネットワークなど不安定なネットワークで匿名通信を行うには、経路発見を動的且つ匿名的に行い、ルーティング途中でのノード構成変更への対処ができなければならない。   For this reason, in order to perform anonymous communication in an unstable network such as a P2P network, route discovery must be performed dynamically and anonymously to cope with node configuration changes during routing.

本発明はこのような点に鑑みてなされたものであり、投稿者とその投稿の閲覧者とを匿名のままメッセージの交換が可能な電子掲示板提供装置、メッセージ投稿方法、投稿メッセージ検索方法、および電子掲示板提供プログラムを提供することを目的とする The present invention has been made in view of such a point, and an electronic bulletin board providing device , a message posting method, a posted message search method, and the like, in which messages can be exchanged anonymously between a contributor and a viewer of the post, and The purpose is to provide an electronic bulletin board providing program .

記課題を解決するために、ネットワーク上で匿名のメッセージ交換を行うための電子掲示板提供装置において、掲示板に掲載するメッセージ、投稿者の送信元から辿ってきた第1伝送ルートを示す第1戻り匿名ルート情報、および前記第1伝送ルート上で隣接するノードの識別情報である第1隣接ノード識別子を含む自分宛の投稿データパケットを受け取ると、前記データパケットの内容をデータベースに登録する登録手段と、前記メッセージに対する検索条件、検索者の送信元から辿ってきた第2伝送ルートを示す第2戻り匿名ルート情報、前記第2伝送ルート上で隣接するノードの識別情報である第2隣接ノード識別子、および返信データ暗号化用の送信元公開鍵を含む自分宛の検索データパケットを受け取ると、前記検索条件により前記データベース内を検索する検索手段と、前記検索手段で検出された前記メッセージ、前記第1戻り匿名ルート情報、および前記第1隣接ノード識別子を前記送信元公開鍵で暗号化する暗号化手段と、暗号化されたデータ、および前記第2戻り匿名ルート情報を含む応答データパケットを生成するパケット生成手段と、前記第2隣接ノード識別子で示されるノードに対して前記応答データパケットを送信する送信手段と、を有することを特徴とする電子掲示板提供装置が提供される。 To solve the above SL problems, the electronic bulletin board provided apparatus for performing message exchange anonymously over the network, the message to be posted on the bulletin board, the first return of a first transmission route which has followed from author source Registration means for registering the content of the data packet in a database upon receiving a posted data packet addressed to itself including anonymous route information and a first adjacent node identifier that is identification information of an adjacent node on the first transmission route; A search condition for the message, second return anonymous route information indicating a second transmission route traced from a sender of the searcher, a second adjacent node identifier which is identification information of an adjacent node on the second transmission route, And receiving a search data packet addressed to itself including the transmission source public key for reply data encryption, Search means for searching the database, encryption means for encrypting the message detected by the search means, the first return anonymous route information, and the first adjacent node identifier with the source public key; Packet generating means for generating encrypted data and a response data packet including the second return anonymous route information; and transmitting means for transmitting the response data packet to the node indicated by the second adjacent node identifier; , An electronic bulletin board providing device is provided.

これにより、電子掲示板の投稿者を匿名のまま、投稿者のメッセージが他の国名の検索者に通知される。   As a result, the poster's message is notified to the searcher of another country name while the poster on the electronic bulletin board remains anonymous.

発明では、匿名のルートを介して電子掲示板に投稿されたメッセージに対する検索が行われると、そのメッセージに投稿者の送信元までの匿名ルート情報を付加して検索者に送信するようにしたため、検索者は、匿名の投稿者に対して匿名のルートを介して応答することができる。 In the present invention, when a search for a message posted to an electronic bulletin board via an anonymous route is performed, the anonymous route information to the sender of the poster is added to the message and sent to the searcher. A searcher can respond to an anonymous poster via an anonymous route.

以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
First, the outline of the invention applied to the embodiment will be described, and then the specific contents of the embodiment will be described.

[発明の概要]
図1は、実施の形態に適用される発明の概念図である。本発明に係る通信は、送信ノード1、中継ノード2および受信ノード3間で行われる。なお、後述するように、中継ノード2は一般には複数ある。
[Summary of Invention]
FIG. 1 is a conceptual diagram of the invention applied to the embodiment. Communication according to the present invention is performed between the transmission node 1, the relay node 2, and the reception node 3. As will be described later, there are generally a plurality of relay nodes 2.

送信ノード1は、宛先識別子で宛先を指定した経路探索要求を受け取ると、自分の識別情報である自ノード識別子を自分のみが復号可能な形式で暗号化して返信用匿名ルート情報とする(ステップS1)。自分のみが復号可能に暗号化するには、たとえば、送信ノード1のみが有する秘密鍵(復号鍵)に対応する公開鍵(暗号鍵)で暗号化を行う。   Upon receiving the route search request specifying the destination by the destination identifier, the sending node 1 encrypts the own node identifier, which is its own identification information, in a format that only itself can be decrypted to obtain reply anonymous route information (step S1). ). In order to perform encryption only by itself, for example, encryption is performed with a public key (encryption key) corresponding to a secret key (decryption key) possessed only by the transmission node 1.

次に、送信ノード1は、任意に生成した匿名識別子、宛先識別子、返信用匿名ルート情報、および返信データ暗号化用の送信元公開鍵を含むルート探索パケットを生成する(ステップS2)。匿名識別子は、送信したルート探索パケットと返信されるルート通知パケットとの関連付けに利用される。宛先識別子は、宛先の受信ノード3を特定する情報である。宛先識別子は、予め公開された情報であってもよい。送信元公開鍵は、送信ノード1に対して他のノードが自己のノード識別子等の情報を渡すときに、その情報を暗号化するための暗号鍵である。送信元公開鍵に対応する秘密鍵(復号鍵)は、送信ノード1内に予め格納しておく。   Next, the transmission node 1 generates a route search packet including an arbitrarily generated anonymous identifier, destination identifier, reply anonymous route information, and a transmission source public key for reply data encryption (step S2). The anonymous identifier is used for associating the transmitted route search packet with the returned route notification packet. The destination identifier is information for specifying the destination receiving node 3. The destination identifier may be information published in advance. The transmission source public key is an encryption key for encrypting information when another node passes information such as its own node identifier to the transmission node 1. A secret key (decryption key) corresponding to the transmission source public key is stored in advance in the transmission node 1.

最後に、送信ノード1は、ルート探索パケットをブロードキャストで送信する(ステップS3)。
中継ノード2は、ルート探索パケットを受け取ると、返信用匿名ルート情報と隣接ノード識別子とを自分のみが復号可能な形式で暗号化する(ステップS4)。隣接ノード識別子は、ルート探索パケットの伝送ルートにおいて中継ノード2に隣接するノードの識別子である。送信ノード1からルート探索パケットが直接送られたのであれば、送信ノード1のノード識別子が隣接ノード識別子である。また、暗号化処理では、たとえば、中継ノード2が有する秘密鍵(復号鍵)に対応する公開鍵(暗号鍵)で暗号化を行う。返信用匿名ルート情報は、送信ノード若しくは伝送途中に介在した他の中継ノードで既に暗号化されているため、ステップS4の暗号化により、多重に暗号化されることになる。しかも、隣接ノード識別子を含めて暗号化することで、その情報を復号した際に隣接ノードのノード識別子が認識可能となる。
Finally, the transmission node 1 transmits a route search packet by broadcast (step S3).
When the relay node 2 receives the route search packet, the relay node 2 encrypts the return anonymous route information and the adjacent node identifier in a format that can only be decrypted by itself (step S4). The adjacent node identifier is an identifier of a node adjacent to the relay node 2 in the route search packet transmission route. If the route search packet is directly sent from the transmission node 1, the node identifier of the transmission node 1 is the adjacent node identifier. In the encryption process, for example, encryption is performed with a public key (encryption key) corresponding to a secret key (decryption key) possessed by the relay node 2. Since the reply anonymous route information has already been encrypted at the transmission node or other relay node interposed during transmission, it is encrypted in multiples by the encryption in step S4. Moreover, by encrypting including the adjacent node identifier, the node identifier of the adjacent node can be recognized when the information is decrypted.

次に、中継ノード2は、ルート探索パケットに自分の識別情報である自ノード識別子を追加する(ステップS5)。最後に、中継ノード2は、ルート探索パケットをブロードキャストで送信する(ステップS6)。送信されたルート探索パケットを第三者が解析した場合、中継ノード2から送信されたことは認識できるが、それ以前の転送ルートは知ることができない。   Next, the relay node 2 adds its own node identifier, which is its own identification information, to the route search packet (step S5). Finally, the relay node 2 transmits a route search packet by broadcast (step S6). When a third party analyzes the transmitted route search packet, it can be recognized that the packet has been transmitted from the relay node 2, but the previous transfer route cannot be known.

受信ノード3は、受信ノード3宛のパケットであることを示す宛先識別子を含むルート探索パケットを受け取ると、自分の識別情報であるノード識別子と、受信ノード3宛て情報の暗号化用の受信ノード公開鍵とを送信元公開鍵で暗号化してルート情報とする(ステップS7)。なお、送信元公開鍵は、ルート探索パケットから取得できる。ノード識別子と受信ノード公開鍵との組を送信元公開鍵で暗号化したため、これらの情報を参照できるのは、送信ノード1のみとなる。   When receiving the route search packet including the destination identifier indicating that the packet is addressed to the receiving node 3, the receiving node 3 discloses the node identifier as its own identification information and the receiving node disclosure for encrypting the information addressed to the receiving node 3. The key is encrypted with the source public key to obtain route information (step S7). The transmission source public key can be acquired from the route search packet. Since the pair of the node identifier and the receiving node public key is encrypted with the transmission source public key, only the transmission node 1 can refer to these pieces of information.

次に、受信ノード3は、送信ノード1の匿名識別子でルート通知先が指定され、返信用匿名ルート情報、ルート情報、および送信元公開鍵を含むルート通知パケットを生成する(ステップS8)。最後に、受信ノード3は、隣接ノード識別子で示されるノードに対してルート通知パケットを送信する(ステップS9)。これにより、受信ノード3のノード識別子と公開鍵とを含むルート通知パケットが、返信用匿名ルート情報に従ったルートで返信される。   Next, the receiving node 3 designates the route notification destination by the anonymous identifier of the transmitting node 1, and generates a route notification packet including reply anonymous route information, route information, and a transmission source public key (step S8). Finally, the receiving node 3 transmits a route notification packet to the node indicated by the adjacent node identifier (step S9). As a result, a route notification packet including the node identifier of the receiving node 3 and the public key is returned through a route according to the return anonymous route information.

中継ノード2は、ルート通知パケットを受け取ると、自分の識別情報である自ノード識別子と、自ノード宛て情報の暗号化用の中継ノード公開鍵とを送信元公開鍵で暗号化してルート情報に追加する(ステップS10)。このように、ルート情報に各中継ノードのノード識別子と公開鍵との組を追加していくことで、匿名ルートを送信ノードに通知することができる。なお、ルート情報にノード識別子と公開鍵との組を追加する際には、情報の追加順が判別できるように所定の規則に従って追加する。たとえば、ルート情報内の元の情報の前に、新たな情報を追加していく。これにより、送信ノード1では、匿名ルート上の各ノードの配列を認識できる。   When the relay node 2 receives the route notification packet, the relay node 2 encrypts the own node identifier, which is its own identification information, and the relay node public key for encrypting the information addressed to the own node with the transmission source public key, and adds it to the route information. (Step S10). In this way, by adding a pair of the node identifier and public key of each relay node to the route information, the anonymous route can be notified to the transmitting node. When adding a pair of a node identifier and a public key to the route information, it is added according to a predetermined rule so that the order of adding information can be determined. For example, new information is added before the original information in the route information. Thereby, in the transmission node 1, the arrangement | sequence of each node on an anonymous route can be recognized.

次に、中継ノード2は、返信用匿名ルート情報を復号して、次の送信先となるノードを示す次ノード識別子(ルート探索パケットでの隣接ノード識別子)を取得すると共に、復号されたデータを返信用匿名ルート情報としてルート通知パケットに設定する(ステップS11)。最後に、中継ノード2は、次ノード識別子で示されるノードに対して、ルート通知パケットを送信する(ステップS12)。これにより、ルート情報に中継ノード2のノード識別子と公開鍵とが付加されたルート通知パケットが、返信用匿名ルート情報に従ったルートに転送される。   Next, the relay node 2 decodes the reply anonymous route information to obtain the next node identifier (adjacent node identifier in the route search packet) indicating the next transmission destination node, and the decoded data The route notification packet is set as the reply anonymous route information (step S11). Finally, the relay node 2 transmits a route notification packet to the node indicated by the next node identifier (step S12). Thereby, the route notification packet in which the node identifier of the relay node 2 and the public key are added to the route information is transferred to the route according to the return anonymous route information.

送信ノード1は、ルート通知パケットを受け取ると、ルート情報を送信元公開鍵に対応する送信元秘密鍵で復号する(ステップS13)。そして、送信ノード1は、復号により得られた宛先までのルート上の各ノードの識別子と公開鍵との組を配列を保ったまま記録装置に格納する(ステップS14)。格納された情報を参照すれば、受信ノード3までの匿名ルートを認識することができる。しかも、各ノードの公開鍵を用いれば、ルート上の各ノードに対して、匿名ルート上の次のノードのみを知らせることができる。   Upon receiving the route notification packet, the sending node 1 decrypts the route information with the source private key corresponding to the source public key (step S13). Then, the transmission node 1 stores the set of the identifier and public key of each node on the route to the destination obtained by the decryption in the recording device while maintaining the arrangement (step S14). By referring to the stored information, the anonymous route to the receiving node 3 can be recognized. In addition, if the public key of each node is used, only the next node on the anonymous route can be notified to each node on the route.

このようにして、データの送受信者の匿名性を守ると共に、データの送受信経路を動的に検索し、匿名性の高いデータ通信を行うことができる。しかも、ルーティングを実行時にノード構成が変更されても、先に検出された他の匿名ルート経由でデータを伝送することで、データ伝送の確実性を向上させることができる。   In this manner, the anonymity of the data sender / receiver can be protected, and the data transmission / reception route can be dynamically searched for highly anonymous data communication. In addition, even if the node configuration is changed at the time of routing, the certainty of data transmission can be improved by transmitting data via another anonymous route detected earlier.

以上のような匿名通信の機能は、P2Pネットワークにも適用することができる。すなわち、各ノードが匿名ルートを適宜探索できるため、ネットワークの構成が動的に変化する場合であっても、匿名ルートにより送信元を秘匿したままのデータ通信が可能となる。   The function of anonymous communication as described above can be applied to a P2P network. That is, since each node can search for an anonymous route as appropriate, even if the network configuration changes dynamically, data communication can be performed while the source is concealed by the anonymous route.

ところで、ルート探索パケットに含める送信元の匿名識別子や送信元公開鍵は、適宜変更することができる。たとえば、ルート探索パケットを送出する度に、異なる匿名識別子、異なる送信元公開鍵を用いることができる。送信元公開鍵を固定化しないことで、送信元の匿名性を高めることができる。すなわち、匿名識別子と公開鍵を常に送信者に対して固定にすると以下の問題が生じてしまう。
1.同一匿名識別子を持つ暗号化されないメッセージ(掲示板への投稿等)が複数集まると、その内容から発信者を特定できる可能性が生じる。
2.暗号化されたメッセージでも、暗号化を解いた人(たとえば、匿名掲示板の投稿に対する返信を投稿者が読む場合)が内容から発信者を特定できる可能性が生じる。
By the way, the transmission source anonymous identifier and the transmission source public key included in the route search packet can be appropriately changed. For example, each time a route search packet is transmitted, a different anonymous identifier and a different source public key can be used. By not fixing the transmission source public key, the anonymity of the transmission source can be improved. That is, if the anonymous identifier and the public key are always fixed to the sender, the following problem occurs.
1. When a plurality of unencrypted messages (postings on a bulletin board, etc.) having the same anonymous identifier are collected, there is a possibility that the sender can be specified from the contents.
2. Even in an encrypted message, (for example door was, if you read the reply to post an anonymous message board post's) was the person who solved the encryption there is a possibility that you can identify the caller from the contents.

そこで、同一送信者の匿名識別子と公開鍵をメッセージ間で固定にしないことで、匿名掲示板を検索するノードや、ネットワーク上のスキミング、或いは、返信メッセージの受信者がメッセージの送信者を特定するのを防ぐことができる。すなわち、ノードの匿名識別子、公開鍵の使い捨て管理を行うことで、メッセージ間のアンリンカビリティ(unlinkability)を高めることができる。これを電子掲示板に利用すれば、データの送信者や受信者の匿名性を守った匿名掲示板機能を実現できる。なお、アンリンカビリティとは、二種類の処理が同じユーザによって行われたことを決定できないことを示す。   Therefore, by not fixing the anonymous identifier and public key of the same sender between messages, the node that searches the anonymous bulletin board, the skimming on the network, or the recipient of the reply message specifies the sender of the message. Can be prevented. That is, the unlinkability between messages can be improved by managing the anonymous identifier of the node and the public key. If this is used for an electronic bulletin board, an anonymous bulletin board function that protects the anonymity of the sender and receiver of data can be realized. Note that unlinkability indicates that it cannot be determined that two types of processing have been performed by the same user.

[発明の実施の形態]
以上のような機能を実現するための具体例を、本発明の実施の形態として以下に説明する。なお、以下の実施の形態は、P2Pネットワークに本発明を適用したものであり、匿名通信機能を、P2PオニオンプロキシとP2Pオニオンルータによって実現する。各P2PオニオンノードのP2PオニオンプロキシによりP2Pオニオンルート発見プロトコルに応じたルート探索が行われる。また、各P2PオニオンノードのP2Pオニオンルータにより、P2Pオニオンルーティングが行われ、P2Pオニオンルート情報が検出される。
[Embodiment of the Invention]
A specific example for realizing the above functions will be described below as an embodiment of the present invention. In the following embodiments, the present invention is applied to a P2P network, and an anonymous communication function is realized by a P2P onion proxy and a P2P onion router. A route search according to the P2P onion route discovery protocol is performed by the P2P onion proxy of each P2P onion node. Further, P2P onion routing is performed by the P2P onion router of each P2P onion node, and P2P onion route information is detected.

ここで、P2Pオニオンルート発見プロトコルは、受信側のP2PオニオンノードまでのP2Pオニオンルートを発見するプロトコルである。P2Pオニオンプロキシは、P2PオニオンノードのP2Pオニオンルート発見プロトコルを司る機能単位である。P2Pオニオンルートは、多重に暗号化され、且つ、ノード構成変更に対処可能な経路情報である。P2Pオニオンルータは、P2Pオニオンノードにおいて、P2Pオニオンルート情報に従ったP2Pオニオンルーティング処理を司る機能単位である。   Here, the P2P onion route discovery protocol is a protocol for discovering the P2P onion route to the receiving side P2P onion node. The P2P onion proxy is a functional unit that governs the P2P onion route discovery protocol of the P2P onion node. The P2P onion route is route information that is encrypted multiple times and can cope with a node configuration change. The P2P onion router is a functional unit that controls P2P onion routing processing according to the P2P onion route information in the P2P onion node.

図2は、匿名通信網の概念図である。本実施の形態では、P2Pオニオンノード100が、P2Pオニオンノード200,300,410,420,430,440,450を含む匿名通信網10に参加する。ここで、P2Pオニオンノード100のノード名を「A」、P2Pオニオンノード200のノード名を「B」、P2Pオニオンノード410のノード名を「C」、P2Pオニオンノード420のノード名を「D」、P2Pオニオンノード430のノード名を「E」、P2Pオニオンノード440のノード名を「F」、P2Pオニオンノード450のノード名を「G」、P2Pオニオンノード300のノード名を「X」とする。   FIG. 2 is a conceptual diagram of an anonymous communication network. In the present embodiment, the P2P onion node 100 participates in the anonymous communication network 10 including the P2P onion nodes 200, 300, 410, 420, 430, 440, and 450. Here, the node name of the P2P onion node 100 is “A”, the node name of the P2P onion node 200 is “B”, the node name of the P2P onion node 410 is “C”, and the node name of the P2P onion node 420 is “D”. , The node name of the P2P onion node 430 is “E”, the node name of the P2P onion node 440 is “F”, the node name of the P2P onion node 450 is “G”, and the node name of the P2P onion node 300 is “X”. .

P2Pオニオンノード100は、P2Pオニオンノード200との間でP2P通信接続を行うことで匿名通信網10に参加する。
P2Pオニオンノード200は、他のP2Pオニオンノード410,420,440,450との間でP2P通信接続が確立している。P2Pオニオンノード410は、さらにP2Pオニオンノード430との間でP2P通信接続が確立している。P2Pオニオンノード420も同様に、P2Pオニオンノード430との間でP2P通信接続が確立している。P2Pオニオンノード430は、さらにP2Pオニオンノード300との間でP2P通信接続が確立している。
The P2P onion node 100 participates in the anonymous communication network 10 by performing P2P communication connection with the P2P onion node 200.
The P2P onion node 200 has established a P2P communication connection with the other P2P onion nodes 410, 420, 440, and 450. The P2P onion node 410 further establishes a P2P communication connection with the P2P onion node 430. Similarly, the P2P onion node 420 establishes a P2P communication connection with the P2P onion node 430. The P2P onion node 430 further establishes a P2P communication connection with the P2P onion node 300.

このようにP2Pネットワークでは、多数のP2Pオニオンノード間でのP2P接続の連鎖によって通信網が確立している。
図3は、本発明の実施の形態に用いるP2Pオニオンノードのハードウェア構成例を示す図である。P2Pオニオンノード100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
As described above, in the P2P network, a communication network is established by a chain of P2P connections between a large number of P2P onion nodes.
FIG. 3 is a diagram illustrating a hardware configuration example of the P2P onion node used in the embodiment of the present invention. The entire P2P onion node 100 is controlled by a CPU (Central Processing Unit) 101. A random access memory (RAM) 102, a hard disk drive (HDD) 103, a graphic processing device 104, an input interface 105, and a communication interface 106 are connected to the CPU 101 via a bus 107.

RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。   The RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 102 stores various data necessary for processing by the CPU 101. The HDD 103 stores an OS and application programs.

グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。   A monitor 11 is connected to the graphic processing device 104. The graphic processing device 104 displays an image on the screen of the monitor 11 in accordance with a command from the CPU 101. A keyboard 12 and a mouse 13 are connected to the input interface 105. The input interface 105 transmits a signal transmitted from the keyboard 12 or the mouse 13 to the CPU 101 via the bus 107.

通信インタフェース106は、他のP2Pオニオンノード200との間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には、P2Pオニオンノード100のハードウェア構成例を示したが、他のP2Pオニオンノード200,300,410,420,430,440,450も同様のハードウェア構成で実現可能である。
The communication interface 106 transmits / receives data to / from other P2P onion nodes 200.
With the hardware configuration as described above, the processing functions of the present embodiment can be realized. Although FIG. 3 shows an example of the hardware configuration of the P2P onion node 100, other P2P onion nodes 200, 300, 410, 420, 430, 440, and 450 can be realized with the same hardware configuration. .

ところで、本実施の形態に係る各P2Pオニオンノードは、大別して、匿名通信基盤接続認証機能、匿名経路発見機能、および匿名通信機能を有している。
匿名通信基盤接続認証機能は、自身が匿名通信網10に参加するための認証要求機能、および他のP2Pオニオンノードが匿名通信網10に参加する際にそのP2Pオニオンノードを認証するための機能である。匿名通信網10に参加するP2Pオニオンノードに対して接続認証を行うことで、予め会員登録された者以外が匿名通信網10に参加することを防止できる。
By the way, each P2P onion node according to the present embodiment is roughly divided into an anonymous communication infrastructure connection authentication function, an anonymous route discovery function, and an anonymous communication function.
The anonymous communication infrastructure connection authentication function is an authentication request function for itself to participate in the anonymous communication network 10 and a function for authenticating the P2P onion node when another P2P onion node participates in the anonymous communication network 10. is there. By performing connection authentication for the P2P onion node participating in the anonymous communication network 10, it is possible to prevent anyone other than those who have been registered as members in advance from participating in the anonymous communication network 10.

匿名経路発見機能は、P2Pオニオンルート発見プロトコルに従って、送信相手までの伝送路を探索する機能である。
匿名通信機能は、発見された経路を介して匿名通信を行う機能である。
The anonymous route discovery function is a function for searching for a transmission path to a transmission partner according to the P2P onion route discovery protocol.
The anonymous communication function is a function for performing anonymous communication through the discovered route.

図4は、P2Pオニオンノードの概略機能構成を示すブロック図である。P2Pオニオンノード100は、P2Pオニオンプロキシ110、P2Pオニオンルータ120及び複数のアプリケーション131,132を有している。P2Pオニオンプロキシ110は、匿名通信基盤接続認証機能と匿名経路発見機能とを有している。また、P2Pオニオンルータ120は、匿名通信機能を有している。アプリケーション131,132は、ユーザからの操作入力等に応答して、メッセージの送信や受信を行う。図4の例では、アプリケーション131がメッセージを送信し、アプリケーション132がメッセージを受信する場合を示している。   FIG. 4 is a block diagram showing a schematic functional configuration of the P2P onion node. The P2P onion node 100 includes a P2P onion proxy 110, a P2P onion router 120, and a plurality of applications 131 and 132. The P2P onion proxy 110 has an anonymous communication infrastructure connection authentication function and an anonymous route discovery function. The P2P onion router 120 has an anonymous communication function. The applications 131 and 132 transmit and receive messages in response to operation inputs from the user. In the example of FIG. 4, the application 131 transmits a message and the application 132 receives a message.

P2Pオニオンノード200には、P2Pオニオンプロキシ210とP2Pオニオンルータ220とを有している。P2Pオニオンプロキシ210は、匿名通信基盤接続認証機能と匿名経路発見機能とを有している。また、P2Pオニオンルータ220は、匿名通信機能を有している。   The P2P onion node 200 has a P2P onion proxy 210 and a P2P onion router 220. The P2P onion proxy 210 has an anonymous communication infrastructure connection authentication function and an anonymous route discovery function. The P2P onion router 220 has an anonymous communication function.

このような機能構成のP2Pオニオンノード100,200間では、たとえば、アプリケーション131,132から匿名通信網10への接続要求が出されると、P2Pオニオンノード100のP2Pオニオンプロキシ110とP2Pオニオンノード200のP2Pオニオンプロキシ210との匿名通信基盤接続認証機能が連携して動作することで、接続相互認証が行われる。   For example, when a connection request to the anonymous communication network 10 is issued from the applications 131 and 132 between the P2P onion nodes 100 and 200 having such a functional configuration, the P2P onion proxy 110 of the P2P onion node 100 and the P2P onion node 200 Mutual authentication of the connection is performed by the anonymous communication infrastructure connection authentication function with the P2P onion proxy 210 operating in cooperation.

また、アプリケーション131がユーザからのメッセージ送信依頼を受け付けると、P2Pオニオンプロキシ110に対して、P2Pオニオンルートの探索と獲得依頼が出される。すると、P2Pオニオンノード100のP2Pオニオンプロキシ110とP2Pオニオンノード200のP2Pオニオンプロキシ210との匿名経路発見機能がP2Pオニオンルート発見プロトコルに従って連携動作することで、ルート探索処理が行われる。ルート探索が終了すると、アプリケーション131からP2Pオニオンルータ120に対して、メッセージ送信要求が出される。すると、P2Pオニオンノード100のP2Pオニオンルータ120とP2Pオニオンノード200のP2Pオニオンルータ220との匿名通信機能が連携して動作することで、オニオンルーティングが行われ、データパケットによってメッセージが送信される。   When the application 131 receives a message transmission request from the user, a search and acquisition request for a P2P onion route is issued to the P2P onion proxy 110. Then, the route search process is performed by the anonymous route discovery function between the P2P onion proxy 110 of the P2P onion node 100 and the P2P onion proxy 210 of the P2P onion node 200 operating in accordance with the P2P onion route discovery protocol. When the route search is completed, a message transmission request is issued from the application 131 to the P2P onion router 120. Then, the anonymous communication function between the P2P onion router 120 of the P2P onion node 100 and the P2P onion router 220 of the P2P onion node 200 operates in cooperation to perform onion routing, and a message is transmitted by a data packet.

また、他のP2PオニオンノードからP2Pオニオンノード100に対するメッセージがオニオンルーティングによって送られると、P2Pオニオンルータ120からアプリケーション132にメッセージが渡される。   Further, when a message from another P2P onion node to the P2P onion node 100 is sent by onion routing, the message is passed from the P2P onion router 120 to the application 132.

次に、本発明の実施の形態を実現するための各P2Pオニオンノードの機能を詳細に説明する。なお、各P2Pオニオンノードは、パケットの発信者(発信Peer)となる場合、パケットの受信者(受信Peer)となる場合、およびパケットのルーディングを行うルータ(中継Peer)となる場合があり得る。従って、各P2Pオニオンノードは、発信Peer、受信Peer、および中継Peerとしての機能を備えている必要がある。   Next, functions of each P2P onion node for realizing the embodiment of the present invention will be described in detail. Each P2P onion node may be a packet sender (transmission peer), a packet receiver (reception peer), or a packet routing router (relay peer). . Therefore, each P2P onion node needs to have functions as a transmission peer, a reception peer, and a relay peer.

図5は、P2Pオニオンノードの機能構成を示すブロック図である。P2Pオニオンノード100は、P2Pオニオンプロキシ110、P2Pオニオンルータ120、アプリケーション131、会員証情報保持部141、固定鍵保持部142、匿名ルート情報保持部143、一時鍵生成部151、および匿名ID生成部152を有している。   FIG. 5 is a block diagram showing a functional configuration of the P2P onion node. The P2P onion node 100 includes a P2P onion proxy 110, a P2P onion router 120, an application 131, a membership card information holding unit 141, a fixed key holding unit 142, an anonymous route information holding unit 143, a temporary key generation unit 151, and an anonymous ID generation unit. 152.

P2Pオニオンプロキシ110は、匿名通信接続部111、匿名ルート探索要求部112、ルート探索要求中継部113、およびルート探索要求応答部114を有している。
匿名通信接続部111は、匿名通信基板接続認証処理を実行する。具体的には、匿名通信接続部111は、アプリケーション131から匿名基板への接続要求を受け取ると、会員証情報保持部141から会員証情報を取得するとともに、固定鍵保持部142から固定公開鍵142aを取得する。そして、匿名通信接続部111は、接続可能な他のP2Pオニオンノードとの間で、会員証情報と固定公開鍵142aとを用いて接続認証を行う。また、匿名通信接続部111は、他のP2Pオニオンノードから接続認証要求を受け取った際にも、会員証情報と固定公開鍵142aとを用いて接続認証を行う。
The P2P onion proxy 110 includes an anonymous communication connection unit 111, an anonymous route search request unit 112, a route search request relay unit 113, and a route search request response unit 114.
The anonymous communication connection unit 111 executes an anonymous communication board connection authentication process. Specifically, when the anonymous communication connection unit 111 receives a connection request to the anonymous board from the application 131, the anonymous communication connection unit 111 acquires the membership card information from the membership card information holding unit 141, and the fixed public key 142a from the fixed key holding unit 142. To get. Then, the anonymous communication connection unit 111 performs connection authentication with other connectable P2P onion nodes using the membership card information and the fixed public key 142a. The anonymous communication connection unit 111 also performs connection authentication using the membership card information and the fixed public key 142a even when a connection authentication request is received from another P2P onion node.

匿名ルート探索要求部112は、P2Pオニオンルート発見プロトコルにおけるルート探索要求送信機能を実現する。具体的には匿名ルート探索要求部112は、アプリケーション131からP2Pオニオンルート探索要求を受け取ると、固定鍵保持部142から固定公開鍵142aを取得すると共に、一時鍵生成部151から一時公開鍵と一時秘密鍵とを受け取る。また、匿名ルート探索要求部112は、匿名ID生成部152から匿名IDを取得する。そして、匿名ルート探索要求部112は、取得した鍵情報、匿名IDおよび自分のノードID等を含むルート探索パケットを生成し、ブロードバンドで送信する。なお、ノードIDは、公開鍵で暗号化された状態で、ルート探索パケット内に設定される。   The anonymous route search request unit 112 realizes a route search request transmission function in the P2P onion route discovery protocol. Specifically, when the anonymous route search request unit 112 receives the P2P onion route search request from the application 131, the anonymous route search request unit 112 acquires the fixed public key 142 a from the fixed key holding unit 142, and the temporary public key and the temporary key from the temporary key generation unit 151. Receive a private key. Further, the anonymous route search request unit 112 acquires an anonymous ID from the anonymous ID generation unit 152. And the anonymous route search request | requirement part 112 produces | generates the route search packet containing the acquired key information, anonymous ID, own node ID, etc., and transmits with broadband. The node ID is set in the route search packet in a state encrypted with the public key.

ルート探索要求中継部113は、P2Pオニオンルート発見プロトコルにおけるルート探索要求の中継機能を実現する。具体的には、他のP2Pオニオンノードからルート探索パケットを受け取ると、ルート探索要求中継部113は、固定鍵保持部142から固定公開鍵142aを取得する。次に、ルート探索要求中継部113は、ルート探索パケット内の戻りオニオン(ルートスタック:それまでの伝送経路を示している)内の情報を自分の固定公開鍵142aで暗号化する。その後、ルート探索要求中継部113は、暗号化された情報に自分のノードIDを付加して、新たな戻りオニオンとする。そして、ルート探索要求中継部113は、ルートスタックが更新されたルート探索パケットを、他のP2Pオニオンノード(ルート探索パケットの送信元を除く)に対して転送する。   The route search request relay unit 113 implements a route search request relay function in the P2P onion route discovery protocol. Specifically, when a route search packet is received from another P2P onion node, the route search request relay unit 113 acquires the fixed public key 142 a from the fixed key holding unit 142. Next, the route search request relay unit 113 encrypts the information in the return onion (route stack: indicating the transmission path up to that point) in the route search packet with its own fixed public key 142a. After that, the route search request relay unit 113 adds its own node ID to the encrypted information to make a new return onion. Then, the route search request relay unit 113 transfers the route search packet with the updated route stack to other P2P onion nodes (excluding the source of the route search packet).

ルート探索要求応答部114は、P2Pオニオンルート発見プロトコルにおけるルート探索要求への応答機能を実現する。具体的には、ルート探索要求応答部114は、他のP2Pオニオンノードから送られたルート探索パケットにおける探索対象ノードとして自分が指定されていたとき、P2Pオニオンノードに対してルート通知パケットを生成する。応答する際には、ルート探索要求応答部114は、固定鍵保持部142から固定公開鍵142aを取得する。そして、ルート探索要求応答部114は、ルート探索パケット送信元の一時公開鍵を用いて、自分のノードIDと固定公開鍵142aとを暗号化してルート通知パケットに含める。ルート通知パケットは、P2Pオニオンルータ120の匿名データ送信部121を介して送信される。   The route search request response unit 114 implements a response function to a route search request in the P2P onion route discovery protocol. Specifically, the route search request response unit 114 generates a route notification packet for the P2P onion node when the route search request response unit 114 is designated as a search target node in the route search packet sent from another P2P onion node. . When responding, the route search request response unit 114 acquires the fixed public key 142 a from the fixed key holding unit 142. Then, the route search request response unit 114 uses the temporary public key of the route search packet transmission source to encrypt its node ID and the fixed public key 142a and include them in the route notification packet. The route notification packet is transmitted via the anonymous data transmission unit 121 of the P2P onion router 120.

P2Pオニオンルータ120は、匿名データ送信部121、匿名データ中継部122、および匿名データ受信部123を有している。
匿名データ送信部121は、匿名通信機能における匿名通信データパケットの送信機能を実現する。具体的には、匿名データ送信部121は、アプリケーション131等からの要求に応答して匿名通信のデータパケットを生成し、送信する。データパケットには、匿名ルートを示す宛先オニオンが含まれる。宛先オニオンは、匿名経路上の各P2Pオニオンノードの公開鍵を用いて、各P2Pオニオンノードの次の伝送先の情報を暗号化したものである。
The P2P onion router 120 includes an anonymous data transmission unit 121, an anonymous data relay unit 122, and an anonymous data reception unit 123.
The anonymous data transmission unit 121 realizes a function of transmitting an anonymous communication data packet in the anonymous communication function. Specifically, the anonymous data transmission unit 121 generates and transmits a data packet for anonymous communication in response to a request from the application 131 or the like. The data packet includes a destination onion indicating an anonymous route. The destination onion is obtained by encrypting information on the next transmission destination of each P2P onion node using the public key of each P2P onion node on the anonymous route.

匿名データ中継部122は、匿名通信機能における匿名通信のデータパケットの中継機能を実現する。具体的には、匿名データ中継部122は、データパケット内の宛先オニオンを自分の秘密鍵で復号し、次の伝送先を確認する。そして、匿名データ中継部122は、次の伝送先へデータパケットを転送する。   The anonymous data relay unit 122 realizes a data packet relay function for anonymous communication in the anonymous communication function. Specifically, the anonymous data relay unit 122 decrypts the destination onion in the data packet with its own secret key, and confirms the next transmission destination. Then, the anonymous data relay unit 122 transfers the data packet to the next transmission destination.

匿名データ受信部123は、匿名通信機能における匿名通信のデータパケットの受信機能を実現する。具体的には、匿名データ受信部123は、データパケットの送信先の匿名IDが自分のIDであれば、自分宛のデータパケットであることを認識し、アプリケーション131にパケット内のデータ(ペイロード内のデータ)を渡す。なお、匿名データ受信部123は、受信した自分宛のパケットがルート通知パケットの場合、その内容から匿名ルートを認識し、匿名ルート情報保持部143に格納する。   The anonymous data receiving unit 123 realizes a function of receiving data packets for anonymous communication in the anonymous communication function. Specifically, if the anonymous ID of the transmission destination of the data packet is its own ID, the anonymous data receiving unit 123 recognizes that the data packet is addressed to itself, and notifies the application 131 of the data (in the payload) Data). In addition, when the received packet addressed to itself is a route notification packet, the anonymous data receiving unit 123 recognizes the anonymous route from the content and stores it in the anonymous route information holding unit 143.

アプリケーション131は、ユーザの操作入力等に応じて、匿名通信を利用した各種処理を実行する。
会員証情報保持部141は、匿名通信網10に参加するための所定の手続きを行ったユーザに渡される情報である。会員証情報を有しているP2Pオニオンノードのみが匿名通信網10に参加可能となる。
The application 131 executes various processes using anonymous communication in accordance with a user operation input or the like.
The membership card information holding unit 141 is information passed to a user who has performed a predetermined procedure for participating in the anonymous communication network 10. Only the P2P onion node having the membership card information can participate in the anonymous communication network 10.

固定鍵保持部142は、予め用意された鍵情報を格納している。鍵情報は、固定公開鍵142aと固定秘密鍵142bである。固定公開鍵142aで暗号化した暗号データは、固定秘密鍵142bでのみ復号することができる。なお、固定公開鍵142aと固定秘密鍵142bとは、会員証情報の一部として供給することもできる。   The fixed key holding unit 142 stores key information prepared in advance. The key information is a fixed public key 142a and a fixed secret key 142b. The encrypted data encrypted with the fixed public key 142a can be decrypted only with the fixed secret key 142b. Note that the fixed public key 142a and the fixed secret key 142b can be supplied as part of the membership card information.

匿名ルート情報保持部143は、探索された匿名ルート情報を格納している。
一時鍵生成部151は、匿名ルート探索要求部112等からの要求に応答して、一時鍵を生成する。一時鍵は、一時公開鍵と一時秘密鍵の組である。
The anonymous route information holding unit 143 stores the searched anonymous route information.
The temporary key generation unit 151 generates a temporary key in response to a request from the anonymous route search request unit 112 or the like. The temporary key is a set of a temporary public key and a temporary secret key.

匿名ID生成部152は、匿名ルート探索要求部112等からの要求に応答して、匿名IDを生成する。匿名IDは、一連の匿名通信(匿名ルート探索とその匿名ルートによる匿名通信)毎に個別に設定する識別情報である。   The anonymous ID generation unit 152 generates an anonymous ID in response to a request from the anonymous route search request unit 112 or the like. Anonymous ID is identification information set individually for each series of anonymous communication (anonymous route search and anonymous communication using the anonymous route).

以上のような構成のP2Pオニオンノード100によって、本実施の形態に係る匿名通信基盤接続認証機能、匿名経路発見機能、および匿名通信機能が実現される。なお、図5には、P2Pオニオンノード100が有する機能の構成要素を示したが、他のP2Pオニオンノード200,300,410,420,430,440,450も同様の機能を有している。   The P2P onion node 100 configured as described above realizes the anonymous communication infrastructure connection authentication function, the anonymous route discovery function, and the anonymous communication function according to the present embodiment. FIG. 5 shows the functional components of the P2P onion node 100, but the other P2P onion nodes 200, 300, 410, 420, 430, 440, and 450 have similar functions.

[匿名通信基盤接続認証機能]
まず、匿名通信基盤接続認証機能について説明する。
図6は、匿名通信基盤接続認証機能を示す図である。匿名通信基盤接続認証機能は、あるP2Pオニオンノード(図6の例では、P2Pオニオンノード100)が、匿名通信網10に参加するために他のP2Pオニオンノード(図6の例では、P2Pオニオンノード200)へ接続するための機能である。なお、接続先となるP2Pオニオンノード200を、P2Pオニオンノード100から見たときの第1接続ノードと呼ぶこととする。ここでは、P2Pオニオンノード100は、接続する第1接続ノードのIPアドレスやポート番号などを最初から分かっているものとする。たとえば、任意に接続可能なP2Pオニオンノード(第1接続ノードとなり得るP2Pオニオンノード)が予め公開されているものとする。
[Anonymous communication infrastructure connection authentication function]
First, the anonymous communication infrastructure connection authentication function will be described.
FIG. 6 is a diagram illustrating an anonymous communication infrastructure connection authentication function. The anonymous communication infrastructure connection authentication function is such that a certain P2P onion node (P2P onion node 100 in the example of FIG. 6) joins the anonymous communication network 10 with another P2P onion node (P2P onion node in the example of FIG. 6). 200). Note that the P2P onion node 200 that is the connection destination is referred to as a first connection node when viewed from the P2P onion node 100. Here, it is assumed that the P2P onion node 100 knows from the beginning the IP address and port number of the first connection node to be connected. For example, it is assumed that an arbitrarily connectable P2P onion node (a P2P onion node that can be a first connection node) is disclosed in advance.

匿名通信網10で使用するP2Pオニオンルートなどの暗号方式にはRSA暗号を用いる。RSA暗号の公開鍵とその証明書(公開鍵証明書)、秘密鍵などは既に各P2Pオニオンノードが持っている状態を前提とする。この公開鍵証明書はこの匿名通信基盤の会員証として使用し、ノードがこの匿名通信基盤に参加するための認証に使用する。公開鍵証明書は、会員証情報保持部141に格納される。   RSA encryption is used for encryption methods such as the P2P onion route used in the anonymous communication network 10. It is assumed that each P2P onion node already has an RSA encryption public key, its certificate (public key certificate), a private key, and the like. This public key certificate is used as a membership card for this anonymous communication infrastructure, and is used for authentication for a node to participate in this anonymous communication infrastructure. The public key certificate is stored in the membership card information holding unit 141.

ここで、図6を参照して、P2Pオニオンノード100がP2Pオニオンノード200を第1接続ノードとして匿名通信網10に参加するときの匿名通信基盤接続認証機能の処理手順を説明する。このとき、匿名通信基盤接続認証機能は、P2Pオニオンノード100のP2Pオニオンプロキシ110内の匿名通信接続部111と、P2Pオニオンノード200のP2Pオニオンプロキシ210内の匿名通信接続部211との間で実行される。   Here, with reference to FIG. 6, the processing procedure of the anonymous communication infrastructure connection authentication function when the P2P onion node 100 joins the anonymous communication network 10 with the P2P onion node 200 as the first connection node will be described. At this time, the anonymous communication infrastructure connection authentication function is executed between the anonymous communication connection unit 111 in the P2P onion proxy 110 of the P2P onion node 100 and the anonymous communication connection unit 211 in the P2P onion proxy 210 of the P2P onion node 200. Is done.

[第1の処理]P2Pオニオンノード100内の匿名通信接続部111は、第1接続ノードを決定する。ここで、第1接続ノードは、隣接するP2Pオニオンノード200であり、複数の場合もある。第1接続ノードとして指定可能なノードのIPアドレス等は、会員証情報保持部141に予め格納しておくことができる。また、第1接続ノードのIPアドレス等を、GUIによりユーザが直接入力することもできる。   [First Processing] The anonymous communication connection unit 111 in the P2P onion node 100 determines the first connection node. Here, the first connection node is an adjacent P2P onion node 200, and there may be a plurality of cases. The IP address or the like of a node that can be designated as the first connection node can be stored in advance in the membership card information holding unit 141. In addition, the user can directly input the IP address of the first connection node or the like through the GUI.

[第2の処理]新規参加ノード(P2Pオニオンノード100)のP2Pオニオン・プロキシ(P2Pオニオンプロキシ110内の匿名通信接続部111)は第1接続ノード(P2Pオニオンノード200)へ接続を開始して、自分の固定公開鍵142aと会員証141aとを渡す。   [Second Processing] The P2P onion proxy (anonymous communication connection unit 111 in the P2P onion proxy 110) of the newly participating node (P2P onion node 100) starts connecting to the first connection node (P2P onion node 200). , Give his fixed public key 142a and membership card 141a.

[第3の処理]接続された第1接続ノード(P2Pオニオンノード200)のP2Pオニオン・プロキシ(P2Pオニオンプロキシ210内の匿名通信接続部211)も自分の固定公開鍵242aと会員証241aを新規参加ノード(P2Pオニオンノード100)へ渡す。   [Third Process] The P2P onion proxy (anonymous communication connection unit 211 in the P2P onion proxy 210) of the connected first connection node (P2P onion node 200) also has its own fixed public key 242a and membership card 241a. Pass to the participating node (P2P onion node 100).

[第4の処理]新規参加ノード(P2Pオニオンノード100)および第1接続ノード(P2Pオニオンノード200)の双方で会員証の確認を行う。失効しているなど問題があれば通信を停止する。   [Fourth Processing] The membership card is confirmed at both the new participating node (P2P onion node 100) and the first connection node (P2P onion node 200). Stop communication if there is a problem such as expiration.

[第5の処理]新規参加ノード(P2Pオニオンノード100)および第1接続ノード(P2Pオニオンノード200)で、互いに相手の固定公開鍵で暗号化したデータを交換する。そして、双方のノードが、受け取ったデータを復号して相手に返す。各P2Pオニオンノード100,200は、相手方に送信したデータが正しく復号されて戻ってくれば匿名P2Pネットワーク基盤上サービス利用資格保有者と判断する。以後、P2Pオニオンノード100は、P2Pオニオンノード200を介して、匿名通信網10に参加できる。すなわち、P2Pオニオンノード100が匿名通信基盤上のノードとなる。その結果、図2に示すような匿名通信網10が形成される。   [Fifth Process] New encrypted nodes (P2P onion node 100) and first connection node (P2P onion node 200) exchange data encrypted with each other's fixed public key. Then, both nodes decrypt the received data and return it to the other party. Each P2P onion node 100, 200 determines that it is an anonymous P2P network-based service use qualification holder if the data transmitted to the other party is correctly decoded and returned. Thereafter, the P2P onion node 100 can participate in the anonymous communication network 10 via the P2P onion node 200. That is, the P2P onion node 100 becomes a node on the anonymous communication infrastructure. As a result, an anonymous communication network 10 as shown in FIG. 2 is formed.

[匿名経路発見機能]
次に、匿名経路発見機能について、P2Pオニオンノード100からP2Pオニオンノード300に対してデータを送信する際の匿名経路探索例を用いて説明する。
[Anonymous route discovery function]
Next, the anonymous route discovery function will be described using an anonymous route search example when data is transmitted from the P2P onion node 100 to the P2P onion node 300.

図7は、匿名経路発見機能を示す図である。匿名経路発見機能は、P2Pオニオンルート発見プロトコルを用いて、送信Peer(図7の例では、P2Pオニオンノード100)から受信Peer(図7の例では、P2Pオニオンノード300)までのルート情報を匿名的に収集し、収集したルート情報からP2Pオニオンルートを構築する機能である。ルート情報は受信Peerまでの経路を構成する各Peerの識別子と公開鍵からなる。P2Pオニオンルート発見プロトコルは以下の手順でP2Pオニオンルートを構築する。なお、匿名経路発見機能は、各P2Pオニオンノード100,200,300のP2Pオニオンプロキシ110,210,310とP2Pオニオンルータ120,220,320によって実現される。特に送信Peer(P2Pオニオンノード100)ではP2Pオニオンプロキシ110の匿名ルート探索要求部112が処理を実行し、中継Peer(P2Pオニオンノード200)ではP2Pオニオンプロキシ210のルート探索要求中継部213が処理を実行し、受信Peer(P2Pオニオンノード300)では、ルート探索要求応答部314が処理を実行する。   FIG. 7 is a diagram illustrating an anonymous route discovery function. The anonymous route discovery function uses the P2P onion route discovery protocol to anonymously transmit route information from the transmission peer (P2P onion node 100 in the example of FIG. 7) to the reception peer (P2P onion node 300 in the example of FIG. 7). This is a function to collect P2P onion routes from collected route information. The route information includes an identifier and a public key of each Peer that configures a route to the receiving Peer. The P2P onion route discovery protocol constructs a P2P onion route in the following procedure. The anonymous route discovery function is realized by the P2P onion proxies 110, 210, and 310 and the P2P onion routers 120, 220, and 320 of the P2P onion nodes 100, 200, and 300, respectively. In particular, in the transmission Peer (P2P onion node 100), the anonymous route search request unit 112 of the P2P onion proxy 110 executes processing, and in the relay Peer (P2P onion node 200), the route search request relay unit 213 of the P2P onion proxy 210 performs processing. In the receiving Peer (P2P onion node 300), the route search request response unit 314 executes processing.

ルート探索の際には、送信Peer(P2Pオニオンノード100)からルート探索パケット20がブロードキャスト送信され、そのルート探索パケット20を受信した受信Peer(P2Pオニオンノード300)からルート通知パケット30が返信される。   In route search, the route search packet 20 is broadcasted from the transmission peer (P2P onion node 100), and the route notification packet 30 is returned from the reception peer (P2P onion node 300) that has received the route search packet 20. .

図8は、ルート探索パケットのデータ構造例を示す図である。ルート探索パケット20は、メッセージフラグ21、宛先(To)22、送信元(From)23、宛先オニオン24、戻りオニオン25、および返信暗号化用一時鍵情報26で構成される。   FIG. 8 is a diagram illustrating a data structure example of a route search packet. The route search packet 20 includes a message flag 21, a destination (To) 22, a transmission source (From) 23, a destination onion 24, a return onion 25, and temporary key information 26 for reply encryption.

メッセージフラグ21は、パケットの種別を示している。ルート探索パケット20の場合には、ルート探索ブロードキャスト送信用のパケットであることを示す情報が設定される。   The message flag 21 indicates the type of packet. In the case of the route search packet 20, information indicating that the packet is a route search broadcast transmission packet is set.

宛先22には、ルート探索パケット20の宛先が設定される。宛先は、予め公開された受信Peerの識別情報(公開ID)等で示される。
送信元23には、送信peerの匿名IDが設定される。
In the destination 22, the destination of the route search packet 20 is set. The destination is indicated by the identification information (public ID) of the received peer published in advance.
In the transmission source 23, the anonymous ID of the transmission peer is set.

宛先オニオン24は、宛先までのルートを示す情報であるが、ルート探索パケット20では空欄となる。
戻りオニオン25には、ルート探索パケット20に対してルート通知パケット30を返信する際の伝送経路が、多重に暗号化されて設定される。
The destination onion 24 is information indicating a route to the destination, but is blank in the route search packet 20.
In the return onion 25, a transmission path for returning the route notification packet 30 to the route search packet 20 is set by being encrypted in multiple.

返信暗号化用一時鍵情報26は、ルート通知パケット30を返信する際に使用される送信Peerの一時公開鍵と暗号化された一時秘密鍵である。
図9は、ルート通知パケットのデータ構造例を示す図である。ルート通知パケット30は、メッセージフラグ31、宛先(To)32、送信元(From)33、宛先オニオン34、戻りオニオン35、ルート情報36、および返信暗号化用一時鍵情報37で構成される。
The reply encryption temporary key information 26 is a transmission peer's temporary public key and an encrypted temporary secret key that are used when the route notification packet 30 is returned.
FIG. 9 is a diagram illustrating a data structure example of a route notification packet. The route notification packet 30 includes a message flag 31, a destination (To) 32, a transmission source (From) 33, a destination onion 34, a return onion 35, route information 36, and reply encryption temporary key information 37.

メッセージフラグ31は、パケットの種別を示している。ルート通知パケット30の場合には、ルート探索返信用のパケットであることを示す情報が設定される。
宛先32には、ルート通知パケット30の宛先が設定される。宛先は、ルート探索パケット20の送信元23に設定されている送信Peerの匿名IDである。
The message flag 31 indicates the type of packet. In the case of the route notification packet 30, information indicating that it is a route search reply packet is set.
In the destination 32, the destination of the route notification packet 30 is set. The destination is the anonymous ID of the transmission peer set in the transmission source 23 of the route search packet 20.

送信元33には、受信peerの公開されたID(公開ID)が設定される。
宛先オニオン34は、宛先までのルートを示す情報である。これは、受信Peerにおいてルート探索パケット20の戻りオニオン25を転記したものである。ただし、宛先オニオン34は、パケットが中継される毎に過去の伝送経路を示す情報が削除される。
In the transmission source 33, a public ID (public ID) of the reception peer is set.
The destination onion 34 is information indicating a route to the destination. This is a copy of the return onion 25 of the route search packet 20 at the receiving Peer. However, in the destination onion 34, information indicating the past transmission path is deleted every time the packet is relayed.

戻りオニオン35は、ルート通知パケット30においては空欄となる。
ルート情報36は、匿名通信の伝送ルートを示す情報である。ルート情報には、伝送ルート上の各P2PオニオンノードのノードIDと固定公開鍵とが、送信Peerの固定公開鍵で暗号化されて設定されている。また、ルート情報36には、ルート探索パケット20の返信暗号化用一時鍵情報26も含まれている。
The return onion 35 is blank in the route notification packet 30.
The route information 36 is information indicating a transmission route for anonymous communication. In the route information, the node ID and the fixed public key of each P2P onion node on the transmission route are set by being encrypted with the fixed public key of the transmission peer. The route information 36 also includes reply encryption temporary key information 26 for the route search packet 20.

返信暗号化用一時鍵情報37は、ルート探索パケット20の返信暗号化用一時鍵情報26の内容がそのまま設定される。
図10は、匿名経路発見機能の処理手順を示すシーケンス図である。以下、図10に示す処理をステップ番号に沿って説明する。
In the reply encryption temporary key information 37, the contents of the reply encryption temporary key information 26 of the route search packet 20 are set as they are.
FIG. 10 is a sequence diagram illustrating a processing procedure of the anonymous route discovery function. In the following, the process illustrated in FIG. 10 will be described in order of step number.

[ステップS21]送信Peer(P2Pオニオンノード100)の匿名ルート探索要求部112は、アプリケーション131からメッセージの送信依頼を受け取る。なお、P2Pオニオンノード100のユーザは、受信PeerであるP2Pオニオンノード300のノードIDを予め知っているものとする。   [Step S21] The anonymous route search request unit 112 of the transmission peer (P2P onion node 100) receives a message transmission request from the application 131. It is assumed that the user of the P2P onion node 100 knows in advance the node ID of the P2P onion node 300 that is the receiving peer.

[ステップS22]匿名ルート探索要求部112は、ルート探索パケット20を生成する。ルート探索パケット20には、受信Peerの公開ID、送信Peerの匿名ID、送信Peerの一時鍵(一時公開鍵と一時秘密鍵)等が含まれる。受信Peerの公開IDは、ユーザからの操作入力等に基づいて、アプリケーション131が取得する。送信Peerの匿名IDは、匿名ID生成部152から取得する。送信PeerのノードIDは、P2Pオニオンノード100の一般の通信機能(通信プロトコル)から取得する。送信Peerの一時鍵は、一時鍵生成部151から取得する。   [Step S22] The anonymous route search request unit 112 generates the route search packet 20. The route search packet 20 includes the public ID of the reception peer, the anonymous ID of the transmission peer, the temporary key (temporary public key and temporary secret key) of the transmission peer, and the like. The public ID of the received Peer is acquired by the application 131 based on an operation input from the user. The anonymous ID of the transmission Peer is acquired from the anonymous ID generation unit 152. The node ID of the transmission Peer is acquired from the general communication function (communication protocol) of the P2P onion node 100. The temporary key of the transmission peer is acquired from the temporary key generation unit 151.

ルート探索パケット20の戻りオニオン25は、送信PeerのノードIDと固定公開鍵とから生成される。具体的には、匿名ルート探索要求部112は、固定鍵保持部142から固定公開鍵142aを取得する。次に、匿名ルート探索要求部112は、送信PeerのノードIDを、固定公開鍵142aで暗号化する。そして、匿名ルート探索要求部112は、暗号化された送信PeerのノードIDと、暗号化されていない送信PeerのノードIDとの組を、戻りオニオン25とする。この際、暗号化されていない送信PeerのノードIDには、戻りフラグ(本実施の形態では「^」の記号)が付加される。戻りフラグは、送信元に戻るためのルートであることを示している。   The return onion 25 of the route search packet 20 is generated from the node ID of the transmission peer and the fixed public key. Specifically, the anonymous route search request unit 112 acquires the fixed public key 142 a from the fixed key holding unit 142. Next, the anonymous route search request unit 112 encrypts the node ID of the transmission Peer with the fixed public key 142a. Then, the anonymous route search request unit 112 sets a return onion 25 as a pair of the encrypted transmission Peer node ID and the unencrypted transmission Peer node ID. At this time, a return flag (in the present embodiment, a symbol “^”) is added to the node ID of the transmission peer that is not encrypted. The return flag indicates a route for returning to the transmission source.

返信暗号化用一時鍵情報26は、送信Peerの一時鍵と固定公開鍵142aとから生成される。具体的には、匿名ルート探索要求部112は、送信Peerの一時秘密鍵を固定公開鍵142aで暗号化する。そして、匿名ルート探索要求部112は、暗号化された一時秘密鍵と、暗号化されていない一時公開鍵との組を、返信暗号化用一時鍵情報26とする。   The reply encryption temporary key information 26 is generated from the temporary key of the transmission peer and the fixed public key 142a. Specifically, the anonymous route search request unit 112 encrypts the temporary private key of the transmission peer with the fixed public key 142a. Then, the anonymous route search request unit 112 sets a pair of the encrypted temporary secret key and the unencrypted temporary public key as the temporary key information 26 for reply encryption.

[ステップS23]匿名ルート探索要求部112は、ルート探索パケットをブロードキャストで送信する。本実施の形態では、P2Pオニオンノード100に接続されたノードは、P2Pオニオンノード200のみであるため、一段目としては、P2Pオニオンノード200のみに転送される(図2参照)。   [Step S23] The anonymous route search request unit 112 transmits a route search packet by broadcast. In this embodiment, since the node connected to the P2P onion node 100 is only the P2P onion node 200, the first stage is transferred only to the P2P onion node 200 (see FIG. 2).

[ステップS24]中継Peer(P2Pオニオンノード200)のルート探索要求中継部213は、ルート探索パケット20を受け取ると、宛先22に設定されている受信Peerの公開IDを確認する。自分宛のルート探索パケット20でなければ、パケット中継のためにステップS25に処理を進める。なお、各P2Pオニオンノードは、自身の公開IDについては、予めメモリ等(たとえば、会員証情報保持部)に保持している。   [Step S24] When receiving the route search packet 20, the route search request relay unit 213 of the relay Peer (P2P onion node 200) confirms the public ID of the received Peer set in the destination 22. If it is not the route search packet 20 addressed to itself, the process proceeds to step S25 for packet relay. Each P2P onion node holds its public ID in a memory or the like (for example, a membership card information holding unit) in advance.

[ステップS25]ルート探索要求中継部213は、戻りオニオンを更新する。具体的には、ルート探索要求中継部213は、受信したルート探索パケット20内の戻りオニオン25に中継Peerの固定公開鍵で暗号化する。そして、ルート探索要求中継部213は、暗号化された情報に中継PeerのノードID(戻りフラグ付き)を付加して、新たな戻りオニオン25とする。   [Step S25] The route search request relay unit 213 updates the return onion. Specifically, the route search request relay unit 213 encrypts the return onion 25 in the received route search packet 20 with the fixed public key of the relay Peer. Then, the route search request relay unit 213 adds the node ID (with a return flag) of the relay Peer to the encrypted information, so that a new return onion 25 is obtained.

[ステップS26]ルート探索要求中継部213は、ルート探索パケット20をブロードキャストで送信する。本実施の形態では、P2Pオニオンノード200に対して、送信Peer(P2Pオニオンノード100)以外に4台のP2Pオニオンノード410,420,440,450が接続されているため、それら4台のP2Pオニオンノード410,420,440,450に対して、ルート探索パケット20が送信される(図2参照)。   [Step S26] The route search request relay unit 213 transmits the route search packet 20 by broadcast. In this embodiment, since four P2P onion nodes 410, 420, 440, and 450 are connected to the P2P onion node 200 in addition to the transmission Peer (P2P onion node 100), these four P2P onion nodes are connected. The route search packet 20 is transmitted to the nodes 410, 420, 440, and 450 (see FIG. 2).

以後、各P2Pオニオンノード410,420,440,450において、ルート探索パケット20が中継され、最終的に受信Peer(P2Pオニオンノード300)に到達する。ルート探索パケット20を受け取った受信Peer(P2Pオニオンノード300)では、以下の処理が行われる。   Thereafter, the route search packet 20 is relayed in each P2P onion node 410, 420, 440, 450, and finally reaches the reception peer (P2P onion node 300). The receiving Peer (P2P onion node 300) that has received the route search packet 20 performs the following processing.

[ステップS27]ルート探索要求応答部314は、ルート探索パケット20を受け取ると、宛先22を確認する。自分宛のルート探索パケット20であれば、応答するためにステップS28に処理を進める。   [Step S27] Upon receiving the route search packet 20, the route search request response unit 314 confirms the destination 22. If it is the route search packet 20 addressed to itself, the process proceeds to step S28 in order to respond.

なお、各P2Pオニオンノードにおけるルート探索パケット20の宛先22の確認機能は、ルート探索要求中継部とルート探索要求応答部とが共用する機能である。すなわち、実際には、ルート探索パケット20受信時に宛先22の確認機能が動作し、自分宛であればその旨の確認結果がルート要求応答部に伝えられ、自分宛でなければその旨の確認結果がルート探索要求中継部に伝えられる。   The confirmation function of the destination 22 of the route search packet 20 in each P2P onion node is a function shared by the route search request relay unit and the route search request response unit. That is, when the route search packet 20 is received, the confirmation function of the destination 22 operates. If it is addressed to itself, the confirmation result to that effect is transmitted to the route request response unit. Is transmitted to the route search request relay unit.

[ステップS28]ルート探索要求応答部314は、ルート通知パケット30を生成する。ルート通知パケット30には、ルート探索パケット20に含まれる情報以外に、受信PeerのノードIDと固定公開鍵とが含まれる。   [Step S <b> 28] The route search request response unit 314 generates a route notification packet 30. In addition to the information included in the route search packet 20, the route notification packet 30 includes the node ID and fixed public key of the received Peer.

具体的には、ルート探索要求応答部314は、ルート探索パケット20の送信元23の情報をルート通知パケットの30の宛先32に設定する。ルート探索要求応答部314は、ルート探索パケット20の宛先22の情報を、ルート通知パケットの30の送信元33に設定する。ルート探索要求応答部314は、ルート探索パケット20の戻りオニオン25の情報を、ルート通知パケットの30の宛先オニオン34に設定する。ルート探索要求応答部314は、ルート探索パケット20の返信暗号化用一時鍵情報26内の送信Peerの一時公開鍵を用いて、受信PeerのノードIDと固定公開鍵との組を暗号化し、ルート情報36に設定する。そして、ルート探索要求応答部314は、ルート探索パケット20の返信暗号化用一時鍵情報26の情報を、ルート通知パケットの30の返信暗号化用一時鍵情報37に設定する。   Specifically, the route search request response unit 314 sets the information of the transmission source 23 of the route search packet 20 to the 30 destinations 32 of the route notification packet. The route search request response unit 314 sets the information of the destination 22 of the route search packet 20 in the 30 transmission source 33 of the route notification packet. The route search request response unit 314 sets the information of the return onion 25 of the route search packet 20 to the 30 destination onions 34 of the route notification packet. The route search request response unit 314 uses the temporary public key of the transmission peer in the return encryption temporary key information 26 of the route search packet 20 to encrypt the pair of the node ID and the fixed public key of the reception peer, and Information 36 is set. Then, the route search request response unit 314 sets information of the return encryption temporary key information 26 of the route search packet 20 in the return encryption temporary key information 37 of the route notification packet.

ルート探索要求応答部314は、生成したルート通知パケット30を、受信PeerのP2Pオニオンルータ320内の匿名データ送信部321に渡し、匿名通信を依頼する。
[ステップS29]匿名データ送信部321は、ルート通知パケット30の送信先をルート探索パケット20の戻りオニオン25に基づいて判断し、その送信先へルート通知パケット30を送信する。具体的には、戻りオニオン25には、暗号化されていないノードID(隣のP2PオニオンノードのノードID)と、暗号化された情報(隣のP2Pオニオンノードに到達するまでの経路が暗号化されたもの)が含まれている。そこで、匿名データ送信部321は、暗号化されていないノードIDのP2Pオニオンノードに対して、ルート通知パケット30を送信する。
The route search request response unit 314 passes the generated route notification packet 30 to the anonymous data transmission unit 321 in the P2P onion router 320 of the receiving peer, and requests anonymous communication.
[Step S29] The anonymous data transmission unit 321 determines the transmission destination of the route notification packet 30 based on the return onion 25 of the route search packet 20, and transmits the route notification packet 30 to the transmission destination. Specifically, the return onion 25 includes an unencrypted node ID (node ID of the adjacent P2P onion node) and encrypted information (route to reach the adjacent P2P onion node) Is included). Therefore, the anonymous data transmission unit 321 transmits the route notification packet 30 to the P2P onion node having a node ID that is not encrypted.

ルート通知パケット30は、各P2Pオニオンノードにおいて中継される。P2Pオニオンノード200における中継処理を以下に示す。
[ステップS30]中継Peer(P2Pオニオンノード200)のP2Pオニオンルータ220内の匿名データ中継部222は、宛先を確認する。なお、各P2Pオニオンノードは、自身が発行した匿名IDのリストを記憶しており、その匿名IDのリストとパケットの宛先とを比較することで、そのパケットが自分宛か否かを判断することができる。他のノード宛のルート通知パケット30の場合、匿名データ中継部222は、処理をステップS31に進める。
The route notification packet 30 is relayed at each P2P onion node. The relay process in the P2P onion node 200 is shown below.
[Step S30] The anonymous data relay unit 222 in the P2P onion router 220 of the relay peer (P2P onion node 200) confirms the destination. Each P2P onion node stores a list of anonymous IDs issued by itself, and determines whether the packet is addressed to itself by comparing the list of anonymous IDs with the destination of the packet. Can do. In the case of the route notification packet 30 addressed to another node, the anonymous data relay unit 222 proceeds with the process to step S31.

[ステップS31]匿名データ中継部222は、ルート通知パケット30の宛先オニオン34を更新する。具体的には、匿名データ中継部222は、宛先オニオン34に付加されている自分のノードIDを削除し、暗号化されている情報を、固定秘密鍵を用いて復号する。そして、匿名データ中継部222は、復号した情報を新たな宛先オニオン34とする。   [Step S31] The anonymous data relay unit 222 updates the destination onion 34 of the route notification packet 30. Specifically, the anonymous data relay unit 222 deletes its own node ID added to the destination onion 34 and decrypts the encrypted information using the fixed secret key. Then, the anonymous data relay unit 222 sets the decrypted information as a new destination onion 34.

[ステップS32]匿名データ中継部222は、ルート通知パケット30のルート情報36を更新する。具体的には、匿名データ中継部222は、自分のノードIDと固定公開鍵とを送信Peerの一時公開鍵で暗号化し、ルート情報36にスタックする(本実施の形態では、それまでのルート情報の後に、暗号化した情報を追加格納する)。これにより、ルート情報36には、伝送経路上の各P2Pオニオンノードに関する情報(ノードIDと固定公開鍵)が経路に沿った順番で並べられていく。   [Step S32] The anonymous data relay unit 222 updates the route information 36 of the route notification packet 30. Specifically, the anonymous data relay unit 222 encrypts its node ID and fixed public key with the temporary public key of the transmission peer and stacks it on the route information 36 (in this embodiment, the route information up to that point) After that, the encrypted information is additionally stored). As a result, information (node ID and fixed public key) regarding each P2P onion node on the transmission path is arranged in the route information 36 in the order along the path.

[ステップS33]匿名データ中継部222は、ルート通知パケット30の送信先を宛先オニオン34に基づいて判断し、その送信先へルート通知パケット30を送信する。具体的には、宛先オニオン34には、暗号化されていないノードID(隣のP2PオニオンノードのノードID)と、暗号化された情報(隣のP2Pオニオンノードに到達するまでの経路が暗号化されたのも)が含まれている。そこで、匿名データ中継部222は、暗号化されていないノードIDのP2Pオニオンノードに対して、ルート通知パケット30を送信する。   [Step S33] The anonymous data relay unit 222 determines the transmission destination of the route notification packet 30 based on the destination onion 34, and transmits the route notification packet 30 to the transmission destination. Specifically, the destination onion 34 is encrypted with an unencrypted node ID (node ID of the adjacent P2P onion node) and encrypted information (route to reach the adjacent P2P onion node). Is also included). Therefore, the anonymous data relay unit 222 transmits the route notification packet 30 to the P2P onion node with the node ID that is not encrypted.

これにより、ルート通知パケット30が送信PeerであるP2Pオニオンノード100に渡される。P2Pオニオンノード100では、以下の処理が行われる。
[ステップS34]送信PeerのP2Pオニオンルータ120の匿名データ受信部123は、宛先を確認する。他のノード宛のルート通知パケット30の場合、匿名データ中継部222は、処理をステップS31に進める。
As a result, the route notification packet 30 is passed to the P2P onion node 100 which is the transmission peer. In the P2P onion node 100, the following processing is performed.
[Step S34] The anonymous data receiving unit 123 of the P2P onion router 120 of the transmission peer confirms the destination. In the case of the route notification packet 30 addressed to another node, the anonymous data relay unit 222 proceeds with the process to step S31.

なお、各P2Pオニオンノードにおけるルート通知パケットの宛先32の確認機能は、匿名データ中継部と匿名データ受信部とが共用する機能である。すなわち、実際には、ルート通知パケット30受信時に宛先32の確認機能が動作し、自分宛であればその旨の確認結果が匿名データ受信部に伝えられ、自分宛でなければその旨の確認結果が匿名データ中継部に伝えられる。   The confirmation function of the destination 32 of the route notification packet in each P2P onion node is a function shared by the anonymous data relay unit and the anonymous data receiving unit. That is, when the route notification packet 30 is actually received, the confirmation function of the destination 32 operates, and if it is addressed to itself, the confirmation result to that effect is transmitted to the anonymous data receiving unit. Is transmitted to the anonymous data relay unit.

[ステップS35]匿名データ受信部123は、ルート通知パケット30内のルート情報36から受信Peerまでの匿名ルート情報を取得し、匿名ルート情報保持部143に格納する。具体的には、匿名データ受信部123は、返信暗号化用一時鍵情報37に含まれる暗号化された情報(一時秘密鍵を固定公開鍵142aで暗号化したもの)を、固定秘密鍵142bを用いて復号する。これにより、一時秘密鍵が取得できる。なお、固定秘密鍵142bは、固定鍵保持部142から取得できる。   [Step S <b> 35] The anonymous data receiving unit 123 acquires anonymous route information from the route information 36 to the received Peer in the route notification packet 30, and stores it in the anonymous route information holding unit 143. Specifically, the anonymous data receiving unit 123 converts the encrypted information included in the reply encryption temporary key information 37 (the temporary secret key encrypted with the fixed public key 142a) into the fixed secret key 142b. To decrypt. Thereby, a temporary secret key can be acquired. The fixed secret key 142b can be acquired from the fixed key holding unit 142.

次に、匿名データ受信部123は、取得した一時秘密鍵を用いて、ルート情報36に含まれる各情報を復号する。これにより、受信Peerまでの経路上のP2PオニオンノードのノードIDのリスト(経路に沿った順番に並べられている)が得られる。匿名データ受信部123は、取得したリストを、匿名ルート情報として匿名ルート情報保持部143に格納する。   Next, the anonymous data receiving unit 123 decrypts each information included in the route information 36 by using the acquired temporary secret key. As a result, a list of node IDs of the P2P onion nodes on the route to the receiving peer (arranged in order along the route) is obtained. The anonymous data receiving unit 123 stores the acquired list in the anonymous route information holding unit 143 as anonymous route information.

以上のようにして、匿名経路の探索が完了する。
図11は、ルート探索パケットの伝送経路を示す図である。図11には、送信PeerであるP2Pオニオンノード100から出力されたルート探索パケット20aが内容の変更を受けながら中継され、受信PeerであるP2Pオニオンノード300に到達するまでの様子を示している。
As described above, the search for the anonymous route is completed.
FIG. 11 is a diagram illustrating a transmission path of a route search packet. FIG. 11 shows a state in which the route search packet 20a output from the P2P onion node 100 that is the transmission peer is relayed while being changed in content, and reaches the P2P onion node 300 that is the reception peer.

P2Pオニオンノード100から出力されたルート探索パケット20aを受け取ったP2Pオニオンノード200は、戻りオニオンに自分の情報を付加したルート探索パケット20b,20eを生成し、P2Pオニオンノード410やP2Pオニオンノード420等に送信する。   The P2P onion node 200 that has received the route search packet 20a output from the P2P onion node 100 generates route search packets 20b and 20e with its own information added to the return onion, and the P2P onion node 410, the P2P onion node 420, etc. Send to.

P2Pオニオンノード410は、戻りオニオンに自分の情報を付加したルート探索パケット20cを生成し、P2Pオニオンノード430に対して送信する。P2Pオニオンノード430は、戻りオニオンに自分の情報を付加したルート探索パケット20dを生成し、P2Pオニオンノード300に対して送信する。   The P2P onion node 410 generates a route search packet 20c in which its own information is added to the return onion, and transmits it to the P2P onion node 430. The P2P onion node 430 generates a route search packet 20d with its own information added to the return onion and transmits it to the P2P onion node 300.

同様に、P2Pオニオンノード420は、戻りオニオンに自分の情報を付加したルート探索パケット20fを生成し、P2Pオニオンノード430に対して送信する。P2Pオニオンノード430は、戻りオニオンに自分の情報を付加したルート探索パケット20gを生成し、P2Pオニオンノード300に対して送信する。   Similarly, the P2P onion node 420 generates a route search packet 20f with its own information added to the return onion, and transmits it to the P2P onion node 430. The P2P onion node 430 generates a route search packet 20g with its own information added to the return onion and transmits it to the P2P onion node 300.

このように、受信peerであるP2Pオニオンノード300には、2つのルート探索パケット20d,20gが到達する。すなわち、受信Peerには、様々な経路を通ってルート探索パケットが届く。そのため、ルート通知パケットも複数個返信される。   Thus, the two route search packets 20d and 20g arrive at the P2P onion node 300 that is the receiving peer. That is, the route search packet arrives at the receiving peer through various routes. Therefore, a plurality of route notification packets are also returned.

ここで、P2Pオニオンノード420を経由して伝送されるルート探索パケットの内部情報について詳細に説明する。
図12は、ルート探索パケットの状態遷移状況を示す図である。なお、以下の説明において、鍵の記号の右に括弧で他の情報を示した場合、括弧内の情報をその鍵で暗号化した情報を示す。
Here, the internal information of the route search packet transmitted via the P2P onion node 420 will be described in detail.
FIG. 12 is a diagram illustrating a state transition state of the route search packet. In the following description, when other information is shown in parentheses to the right of the key symbol, information obtained by encrypting the information in the parentheses with the key is shown.

P2Pオニオンノード100からP2Pオニオンノード200に渡されるルート探索パケット20aには、メッセージフラグ”ルート探索ブロードキャスト”、宛先(To)”ノード「X」の公開ID”、送信元(From)”ノード「A」の匿名ID#1”、宛先オニオン(無し)、戻りオニオン”^Aid+APk(Aid)”、返信暗号化用一時鍵情報”ATPk,APk(ATSk)”が登録されている。ここで、戻りオニオンにおける「^」は戻りフラグである。Aidは、ノード「A」のノードIDである。APkは、ノード「A」の固定公開鍵である。また、返信暗号化用一時鍵情報において、ATPkはノード「A」の一時公開鍵を示し、ATSkはノード「A」の一時秘密鍵を示す。   The route search packet 20a passed from the P2P onion node 100 to the P2P onion node 200 includes a message flag “route search broadcast”, a destination (To) “public ID of the node“ X ”, a transmission source (From) node“ A ”. Anonymous ID # 1 ”, destination onion (none), return onion“ ^ Aid + APk (Aid) ”, and temporary key information“ ATPk, APk (ATSk) ”for reply encryption are registered. “^” In the return onion is a return flag. Aid is the node ID of the node “A”. APk is a fixed public key of the node “A”. In the reply encryption temporary key information, ATPk indicates the temporary public key of the node “A”, and ATSk indicates the temporary secret key of the node “A”.

P2Pオニオンノード200からP2Pオニオンノード420に渡されるルート探索パケット20eでは、戻りオニオンが”^Bid+BPk{^Aid+APk(Aid)}”に変更されている。ここで、戻りオニオンにおけるBidはノード「B」のノードIDであり、BPkはノード「B」の固定公開鍵である。このように、ノード「B」の固定公開鍵でノード「A」の情報を暗号化することで、送信元が隠される。   In the route search packet 20e passed from the P2P onion node 200 to the P2P onion node 420, the return onion is changed to “^ Bid + BPk {^ Aid + APk (Aid)}”. Here, Bid in the return onion is the node ID of the node “B”, and BPk is the fixed public key of the node “B”. Thus, the transmission source is hidden by encrypting the information of the node “A” with the fixed public key of the node “B”.

P2Pオニオンノード420からP2Pオニオンノード430に渡されるルート探索パケット20fでは、戻りオニオンが^Did+DPk{^Bid+BPk{^Aid+APk(Aid)}}に変更されている。ここで、戻りオニオンにおけるDidはノード「D」のノードIDであり、DPkはノード「D」の固定公開鍵である。   In the route search packet 20f passed from the P2P onion node 420 to the P2P onion node 430, the return onion is changed to ^ Did + DPk {^ Bid + BPk {^ Aid + APk (Aid)}}. Here, Did in the return onion is the node ID of the node “D”, and DPk is the fixed public key of the node “D”.

P2Pオニオンノード430からP2Pオニオンノード300に渡されるルート探索パケット20gでは、戻りオニオンが^Eid+EPk{^Did+DPk{^Bid+BPk{^Aid+APk(Aid)}}}に変更されている。ここで、戻りオニオンにおけるEidはノード「E」のノードIDであり、EPkはノード「E」の固定公開鍵である。   In the route search packet 20g passed from the P2P onion node 430 to the P2P onion node 300, the return onion is changed to ^ Eid + EPk {^ Did + DPk {^ Bid + BPk {^ Aid + APk (Aid)}}}. Yes. Here, Eid in the return onion is the node ID of the node “E”, and EPk is the fixed public key of the node “E”.

ルート探索パケット20gを受け取ったP2Pオニオンノード300は、宛先によって、自分宛であることを認識できる。しかし、どのような経路で送られてきたのかは、ノード名「E」のP2Pオニオンノード430から送られてきたことしか認識できない。   The P2P onion node 300 that has received the route search packet 20g can recognize that it is addressed to itself by the destination. However, it can be recognized only by the route sent from the P2P onion node 430 having the node name “E”.

次に、P2Pオニオンノード300から送信されるルート通知パケットの伝送経路について説明する。
図13は、ルート通知パケットの伝送経路を示す図である。図13には、受信PeerであるP2Pオニオンノード300から出力された2つのルート通知パケット30a,30eが内容の変更を受けながら中継され、送信PeerであるP2Pオニオンノード100に到達するまでの様子を示している。
Next, the transmission path of the route notification packet transmitted from the P2P onion node 300 will be described.
FIG. 13 is a diagram illustrating a transmission path of a route notification packet. FIG. 13 shows how the two route notification packets 30a and 30e output from the P2P onion node 300 that is the receiving peer are relayed while the contents are changed and reach the P2P onion node 100 that is the transmitting peer. Show.

P2Pオニオンノード300から出力されたルート通知パケット30aを受け取ったP2Pオニオンノード430は、戻りオニオンから自分の情報を削除して、ルート情報に自分の情報を付加したルート通知パケット30bを生成し、P2Pオニオンノード410に送信する。P2Pオニオンノード410は、戻りオニオンから自分の情報を削除して、ルート情報に自分の情報を付加したルート通知パケット30cを生成し、P2Pオニオンノード200に送信する。P2Pオニオンノード200は、戻りオニオンから自分の情報を削除して、ルート情報に自分の情報を付加したルート通知パケット30dを生成し、P2Pオニオンノード100に送信する。   The P2P onion node 430 that has received the route notification packet 30a output from the P2P onion node 300 deletes its own information from the return onion, generates a route notification packet 30b with its information added to the route information, and generates P2P Transmit to the onion node 410. The P2P onion node 410 deletes its own information from the return onion, generates a route notification packet 30c with its information added to the route information, and transmits it to the P2P onion node 200. The P2P onion node 200 deletes its own information from the return onion, generates a route notification packet 30d with its own information added to the route information, and transmits it to the P2P onion node 100.

また、P2Pオニオンノード300から出力されたルート通知パケット30eを受け取ったP2Pオニオンノード430は、戻りオニオンから自分の情報を削除して、ルート情報に自分の情報を付加したルート通知パケット30fを生成し、P2Pオニオンノード420に送信する。P2Pオニオンノード420は、戻りオニオンから自分の情報を削除して、ルート情報に自分の情報を付加したルート通知パケット30gを生成し、P2Pオニオンノード200に送信する。P2Pオニオンノード200は、戻りオニオンから自分の情報を削除して、ルート情報に自分の情報を付加したルート通知パケット30hを生成し、P2Pオニオンノード100に送信する。   Also, the P2P onion node 430 that has received the route notification packet 30e output from the P2P onion node 300 deletes its own information from the return onion, and generates a route notification packet 30f with its information added to the route information. , Transmit to the P2P onion node 420. The P2P onion node 420 deletes its own information from the return onion, generates a route notification packet 30g with its information added to the route information, and transmits it to the P2P onion node 200. The P2P onion node 200 deletes its own information from the return onion, generates a route notification packet 30h with its information added to the route information, and transmits it to the P2P onion node 100.

このように、送信peerであるP2Pオニオンノード100には、2つのルート通知パケット30d,30hが到達する。
ここで、P2Pオニオンノード420を経由して伝送されるルート探索パケットの内部情報について詳細に説明する。
Thus, the two route notification packets 30d and 30h arrive at the P2P onion node 100 that is the transmission peer.
Here, the internal information of the route search packet transmitted via the P2P onion node 420 will be described in detail.

図14は、ルート通知パケットの状態遷移状況を示す図である。
P2Pオニオンノード300からP2Pオニオンノード430に渡されるルート通知パケット30eには、メッセージフラグ”ルート探索返信”、宛先(To)”ノード「A」の匿名ID#1”、送信元(From)”ノード「X」の公開ID”、宛先オニオン”^Eid+EPk{^Did+DPk{^Bid+BPk{^Aid+APk(Aid)}}}”、戻りオニオン(無し)、ルート情報”ATPk(Xid,XPk)”、返信暗号化用一時鍵情報”ATPk,APk(ATSk)”が登録されている。ここで、ルート情報におけるXidはノード「X」のノードIDであり、XPkはノード「X」の固定公開鍵である。
FIG. 14 is a diagram illustrating a state transition state of the route notification packet.
The route notification packet 30e passed from the P2P onion node 300 to the P2P onion node 430 includes a message flag “route search reply”, an address (To) “anonymous ID # 1” of the node “A”, and a source (From) node. “X” public ID ”, destination onion“ ^ Eid + EPk {^ Did + DPk {^ Bid + BPk {^ Aid + APk (Aid)}}} ”, return onion (none), route information“ ATPk (Xid , XPk) ”, reply encryption temporary key information“ ATPk, APk (ATSk) ”, where Xid in the route information is the node ID of the node“ X ”, and XPk is the node“ X ”. This is a fixed public key.

P2Pオニオンノード430からP2Pオニオンノード420に渡されるルート通知パケット30fでは、宛先オニオンが^Did+DPk{^Bid+BPk{^Aid+APk(Aid)}}に変更されている。このように、ノード名「E」のP2Pオニオンノード430では、自分のノードIDを宛先オニオンから削除し、残りの情報を自分の固定秘密鍵で復号している。これにより、ルート通知パケットの伝送経路が秘匿されると共に、次の転送先(Did)のみが認識可能となる。また、ルート情報には、ATPk(Eid,EPk)がスタックされている。   In the route notification packet 30f passed from the P2P onion node 430 to the P2P onion node 420, the destination onion is changed to ^ Did + DPk {^ Bid + BPk {^ Aid + APk (Aid)}}. As described above, the P2P onion node 430 having the node name “E” deletes its own node ID from the destination onion and decrypts the remaining information with its own fixed secret key. Thereby, the transmission path of the route notification packet is concealed and only the next transfer destination (Did) can be recognized. Further, ATPk (Eid, EPk) is stacked in the route information.

P2Pオニオンノード420からP2Pオニオンノード200に渡されるルート通知パケット30gでは、宛先オニオンが^Bid+BPk{^Aid+APk(Aid)}に変更されている。また、ルート情報には、ATPk(Did,DPk)がスタックされている。   In the route notification packet 30g passed from the P2P onion node 420 to the P2P onion node 200, the destination onion is changed to ^ Bid + BPk {^ Aid + APk (Aid)}. In addition, ATPk (Did, DPk) is stacked in the route information.

P2Pオニオンノード200からP2Pオニオンノード100に渡されるルート通知パケット30hでは、宛先オニオンが^Aid+APk(Aid)に変更されている。また、ルート情報には、ATPk(Bid,BPk)がスタックされている。   In the route notification packet 30h passed from the P2P onion node 200 to the P2P onion node 100, the destination onion is changed to ^ Aid + APk (Aid). In addition, ATPk (Bid, BPk) is stacked in the route information.

ルート通知パケット30hを受け取ったP2Pオニオンノード100は、宛先によって、自分宛であることを認識できる。また、ルート情報を、一時秘密鍵で復号すれば匿名通信の伝送経路(匿名ルート)を認識できる。その結果、匿名ルート情報保持部143には、1以上の匿名ルート情報が格納される。   The P2P onion node 100 that has received the route notification packet 30h can recognize that it is addressed to itself by the destination. Further, if the route information is decrypted with the temporary secret key, the transmission path (anonymous route) of anonymous communication can be recognized. As a result, the anonymous route information holding unit 143 stores one or more anonymous route information.

図15は、匿名ルート情報保持部内のデータ構造例を示す図である。図15には、図13に示した2つの経路で返信されたルート通知パケット30d,30hに基づいて格納された匿名ルート情報143a,143bを示している。   FIG. 15 is a diagram illustrating an example of a data structure in the anonymous route information holding unit. FIG. 15 shows anonymous route information 143a and 143b stored based on the route notification packets 30d and 30h sent back through the two routes shown in FIG.

匿名ルート情報143aには、ルート情報として「Bid→Cid→Eid→Xid」が設定されている。これは、左側のノードIDで示されるP2Pオニオンノード程、送信PeerであるP2Pオニオンノードに近いことを示している。すなわち、ルート情報で示されるノードIDの配列の左から右に向かってパケットを転送することで、ノードID「Xid」のP2Pオニオンノード300にパケットが到達する。   In the anonymous route information 143a, “Bid → Cid → Eid → Xid” is set as route information. This indicates that the P2P onion node indicated by the node ID on the left side is closer to the P2P onion node that is the transmission peer. That is, the packet arrives at the P2P onion node 300 with the node ID “Xid” by transferring the packet from the left to the right of the node ID array indicated by the route information.

また、匿名ルート情報143aには、ルート上の各P2Pオニオンノードの固定公開鍵「BPk,CPk,EPk,XPk」が登録されている。この固定公開鍵を利用することで、オニオンルーティングを行うためのパケットの暗号化が可能となる。   The anonymous route information 143a registers the fixed public key “BPk, CPk, EPk, XPk” of each P2P onion node on the route. By using this fixed public key, it is possible to encrypt a packet for performing onion routing.

匿名ルート情報143bには、ルート情報として「Bid→Did→Eid→Xid」と、ルート上の各P2Pオニオンノードの固定公開鍵「BPk,DPk,EPk,XPk」とが登録されている。
[匿名通信機能]
次に、取得した匿名ルート経由の匿名通信機能について説明する。
In the anonymous route information 143b, “Bid → Did → Eid → Xid” and fixed public keys “BPk, DPk, EPk, XPk” of each P2P onion node on the route are registered as route information.
[Anonymous communication function]
Next, the acquired anonymous communication function via the anonymous route will be described.

図16は、匿名通信機能を示す概念図である。図16には、P2Pオニオンノード100からP2Pオニオンノード200を経由してP2Pオニオンノード300宛のデータパケット40を送信する場合の例を示している。このとき、送信PeerであるP2Pオニオンノード100では匿名データ送信部121が処理を実行し、中継PeerであるP2Pオニオンノード200では匿名データ中継部222が処理を実行し、受信PeerであるP2Pオニオンノード300では匿名データ受信部323が処理を実行する。   FIG. 16 is a conceptual diagram showing an anonymous communication function. FIG. 16 shows an example in which the data packet 40 addressed to the P2P onion node 300 is transmitted from the P2P onion node 100 via the P2P onion node 200. At this time, in the P2P onion node 100 that is the transmission peer, the anonymous data transmission unit 121 executes processing, and in the P2P onion node 200 that is the relay peer, the anonymous data relay unit 222 executes processing, and the P2P onion node that is the reception peer In 300, the anonymous data receiving unit 323 executes the process.

図17は、データパケットのデータ構造例を示す図である。データパケット40は、メッセージフラグ41、宛先(To)42、送信元(From)43、宛先オニオン44、戻り&バックトラックオニオン45、およびペイロード46で構成される。   FIG. 17 is a diagram illustrating a data structure example of a data packet. The data packet 40 includes a message flag 41, a destination (To) 42, a transmission source (From) 43, a destination onion 44, a return & backtrack onion 45, and a payload 46.

メッセージフラグ41は、パケットの種別を示している。データパケット40の場合には、データ通信用のパケット(通常のパケット)であることを示す情報が設定される。
宛先42には、データパケット40の宛先が設定される。宛先は、受信Peerのの公開IDである。
The message flag 41 indicates the type of packet. In the case of the data packet 40, information indicating a data communication packet (normal packet) is set.
In the destination 42, the destination of the data packet 40 is set. The destination is the public ID of the receiving peer.

送信元43には、送信peerの匿名IDが設定される。この匿名IDは、匿名ルート探索時とは別のものが使用される。
宛先オニオン44は、宛先までのルートを示す情報である。これは、匿名ルート情報保持部143から取得した匿名ルート情報に基づいて生成される。宛先オニオン44は、匿名ルート上の各P2Pオニオンノードにおいて、次のノードのみが認識できるように各P2Pオニオンノードの公開鍵でルート情報を暗号化したものである。
In the transmission source 43, the anonymous ID of the transmission peer is set. This anonymous ID is different from that used when searching for an anonymous route.
The destination onion 44 is information indicating a route to the destination. This is generated based on the anonymous route information acquired from the anonymous route information holding unit 143. The destination onion 44 is obtained by encrypting route information with the public key of each P2P onion node so that only the next node can be recognized at each P2P onion node on the anonymous route.

戻り&バックトラックオニオン45は、戻りルートおよびバックトラック処理を行うときのルートを示すルート情報である。バックトラック処理は、予定したルートでの通信ができなかった場合に、他のルート経由でパケットを伝送する処理である。   The return & backtrack onion 45 is route information indicating a return route and a route when backtrack processing is performed. The backtrack process is a process for transmitting a packet via another route when communication on a planned route is not possible.

ペイロード46は、転送すべきメッセージを受信Peerの固定公開鍵で暗号化したデータを含む実データである。
次に、匿名通信機能の処理手順について説明する。
The payload 46 is actual data including data obtained by encrypting a message to be transferred with the fixed public key of the receiving peer.
Next, the processing procedure of the anonymous communication function will be described.

図18は、匿名通信機能の処理手順を示すシーケンス図である。以下、図18に示す処理をステップ番号に沿って説明する。
[ステップS41]送信PeerであるP2Pオニオンノード100のP2Pオニオンルータ120内の匿名データ送信部121は、アプリケーション131からメッセージ送信の指示を受け付ける。
FIG. 18 is a sequence diagram illustrating a processing procedure of the anonymous communication function. In the following, the process illustrated in FIG. 18 will be described in order of step number.
[Step S41] The anonymous data transmission unit 121 in the P2P onion router 120 of the P2P onion node 100, which is a transmission peer, accepts a message transmission instruction from the application 131.

[ステップS42]匿名データ送信部121は、匿名ルート情報保持部143の中から送信相手のP2Pオニオンノードまでの匿名ルートを選択する。この際、多数の匿名ルートが有る場合、その中から所定の数の匿名ルートを選択する。たとえば、中継するノード数が少ない匿名ルートを優先的に選択する。   [Step S42] The anonymous data transmission unit 121 selects an anonymous route from the anonymous route information holding unit 143 to the P2P onion node of the transmission partner. At this time, when there are a large number of anonymous routes, a predetermined number of anonymous routes are selected. For example, an anonymous route with a small number of nodes to be relayed is preferentially selected.

[ステップS43]匿名データ送信部121は、データパケット40を生成する。データパケット40には、受信Peerの公開ID、自分の匿名ID、匿名ルート情報、メッセージデータ、自分の一時鍵(一時公開鍵と一時秘密鍵)、等の情報が含められる。   [Step S43] The anonymous data transmission unit 121 generates the data packet 40. The data packet 40 includes information such as the public ID of the received Peer, its own anonymous ID, anonymous route information, message data, and its own temporary key (temporary public key and temporary secret key).

具体的には、匿名データ送信部121は、メッセージフラグ41に、データパケットであることを示す情報を設定する。宛先42には、P2Pオニオンノード300の公開IDが設定される。送信元43には、匿名IDが設定される。設定される匿名IDは、匿名ID生成部152によって新たに生成されたものである。   Specifically, the anonymous data transmission unit 121 sets information indicating a data packet in the message flag 41. In the destination 42, the public ID of the P2P onion node 300 is set. An anonymous ID is set in the transmission source 43. The anonymous ID to be set is newly generated by the anonymous ID generation unit 152.

宛先オニオン44には、匿名ルート情報保持部143から選択した匿名ルート情報が設定される。この際、匿名データ送信部121は、匿名ルート情報で示されるノードIDを、宛先のノードに近い順に順次選択する。匿名データ送信部121は、最初に選択したノードID(宛先のノードID)を、次に選択したノードIDに対応する固定公開鍵で暗号する。そして、匿名データ送信部121は、順次選択するノードIDを直前に暗号化されたデータに付与し、その次に選択したノードIDに対応する固定公開鍵で全体を暗号化する。そして、匿名データ送信部121は、最後に選択されたノードIDを、直前に暗号化されたデータに付与し、宛先オニオン44のデータが生成される。これにより、データパケットを中継する各ノードは、宛先オニオン44を自分の固定秘密鍵で復号すると、次の送信先のみが認識可能となる。   In the destination onion 44, the anonymous route information selected from the anonymous route information holding unit 143 is set. At this time, the anonymous data transmission unit 121 sequentially selects the node IDs indicated by the anonymous route information in order from the closest destination node. The anonymous data transmission unit 121 encrypts the first selected node ID (destination node ID) with the fixed public key corresponding to the next selected node ID. Then, the anonymous data transmission unit 121 assigns sequentially selected node IDs to the previously encrypted data, and encrypts the whole with a fixed public key corresponding to the node ID selected next. Then, the anonymous data transmission unit 121 assigns the node ID selected last to the data encrypted immediately before, and the data of the destination onion 44 is generated. As a result, each node that relays the data packet can recognize only the next transmission destination by decrypting the destination onion 44 with its own fixed secret key.

戻り&バックトラックオニオン45には、自分のノードIDと、そのノードIDを固定公開鍵142aで暗号化したデータとが設定される。ペイロード46には、アプリケーション131から渡されたメッセージデータに加え、所定の情報を受信Peerの固定公開鍵で暗号化した情報が設定される。暗号化対象の情報は、メッセージヘッダ、自分の一時公開鍵、および自分の一時秘密鍵を固定公開鍵で暗号化した情報である。なお、このときの一時公開鍵と一時秘密鍵とは、一時鍵生成部151によって新たに生成されたものである。   The return & backtrack onion 45 is set with its own node ID and data obtained by encrypting the node ID with the fixed public key 142a. In the payload 46, information obtained by encrypting predetermined information with the fixed public key of the receiving peer is set in addition to the message data passed from the application 131. The information to be encrypted is information obtained by encrypting the message header, own temporary public key, and own temporary secret key with a fixed public key. Note that the temporary public key and the temporary secret key at this time are newly generated by the temporary key generation unit 151.

[ステップS44]匿名データ送信部121は、データパケットを匿名ルートに従って送信する。この例では、P2Pオニオンノード200に送信される。
[ステップS45]P2Pオニオンノード200のP2Pオニオンルータ220内の匿名データ中継部222は、データパケット40を受け取り宛先42を確認する。他のP2Pオニオンノード宛であれば、以下の処理を行う。
[Step S44] The anonymous data transmitter 121 transmits the data packet according to the anonymous route. In this example, it is transmitted to the P2P onion node 200.
[Step S45] The anonymous data relay unit 222 in the P2P onion router 220 of the P2P onion node 200 receives the data packet 40 and confirms the destination 42. If it is addressed to another P2P onion node, the following processing is performed.

[ステップS46]匿名データ中継部222は、次のルートを選択する。具体的には、匿名データ中継部222は、宛先オニオン44から自分のノードIDを削除する。次に、匿名データ中継部222は、残りの情報を自分の固定秘密鍵で復号する。これにより、次の転送先のノードIDと匿名ルート情報との組が参照可能となる。転送先を示す1以上のノードIDの中から、次の転送先を1つ選択する。選択されなかった匿名ルート情報は、バックトラック処理に使用される。   [Step S46] The anonymous data relay unit 222 selects the next route. Specifically, the anonymous data relay unit 222 deletes its own node ID from the destination onion 44. Next, the anonymous data relay unit 222 decrypts the remaining information with its own fixed secret key. As a result, it becomes possible to refer to the set of the next transfer destination node ID and the anonymous route information. One next transfer destination is selected from one or more node IDs indicating the transfer destination. The unselected anonymous route information is used for backtrack processing.

[ステップS47]匿名データ中継部222は、宛先オニオン44を更新する。具体的には、ステップS46で選択したノードIDと、そのノードIDに応じた匿名ルートとの組を宛先オニオン44に設定する。   [Step S47] The anonymous data relay unit 222 updates the destination onion 44. Specifically, a set of the node ID selected in step S46 and the anonymous route corresponding to the node ID is set in the destination onion 44.

[ステップS48]匿名データ中継部222は、戻り&バックトラックオニオン45を更新する。
具体的には、匿名データ中継部222は、データパケット40の戻り&バックトラックオニオン45に、ステップS46で選択されなかったノードIDと匿名ルート情報との組をバックトラック処理用に追加する。そして、匿名データ中継部222は、戻り&バックトラックオニオン45を自分の固定公開鍵で暗号化すると共に、自分のノードIDを戻り&バックトラックオニオン45に追加する。
[Step S48] The anonymous data relay unit 222 updates the return & backtrack onion 45.
Specifically, the anonymous data relay unit 222 adds a set of the node ID and the anonymous route information not selected in Step S46 to the return & backtrack onion 45 of the data packet 40 for backtrack processing. Then, the anonymous data relay unit 222 encrypts the return & backtrack onion 45 with its own fixed public key and adds its own node ID to the return & backtrack onion 45.

なお、バックトラック処理用の匿名ルート情報が無い場合、暗号化された情報の内容が戻りオニオンのみとなるため、自分のノードIDに戻りフラグ(^)を付加する。
[ステップS49]匿名データ中継部222は、データパケット40を送信する。データパケット40の送信先は、宛先オニオン44の情報のうち参照可能なノードIDで示されている隣接のP2Pオニオンノードである。
When there is no anonymous route information for backtrack processing, the content of the encrypted information is only the return onion, so a return flag (^) is added to its own node ID.
[Step S49] The anonymous data relay unit 222 transmits the data packet 40. The transmission destination of the data packet 40 is an adjacent P2P onion node indicated by a node ID that can be referred to in the information of the destination onion 44.

[ステップS50]匿名データ中継部222は、送信したデータパケット40が次のノードに正しく伝送されたかどうかを判断する。正常に伝送されていれば、処理を終了する。伝送に失敗したときは、ステップS51に処理を進める。なお、データパケット40送信前に、送信先のノードへの通信が途絶えていることが分かっている場合、ステップS49の送信処理を行わずに処理がステップS51に進められる。   [Step S50] The anonymous data relay unit 222 determines whether the transmitted data packet 40 is correctly transmitted to the next node. If it is transmitted normally, the process is terminated. If the transmission fails, the process proceeds to step S51. If it is known that communication with the destination node is interrupted before the data packet 40 is transmitted, the process proceeds to step S51 without performing the transmission process of step S49.

[ステップS51]匿名データ中継部222は、別の匿名ルート情報があるか否かを判断する。送信に失敗したデータパケット40の戻り&バックトラックオニオン45に戻りフラグが設定されている場合、別の匿名ルート情報は存在しない(ステップS45で受信したデータパケット40の宛先オニオン44に1つしか匿名ルート情報が含まれておらず、そのデータパケット40の戻り&バックトラックオニオン45に戻りフラグが設定されている場合)。別の匿名ルート情報があれば、処理がステップS52に進められる。別の匿名ルート情報がない場合、処理がステップS55に進められる。   [Step S51] The anonymous data relay unit 222 determines whether there is another anonymous route information. When the return flag is set in the return & backtrack onion 45 of the data packet 40 that failed to be transmitted, there is no other anonymous route information (only one is anonymous in the destination onion 44 of the data packet 40 received in step S45). When route information is not included and the return flag is set in the return & backtrack onion 45 of the data packet 40). If there is another anonymous route information, the process proceeds to step S52. If there is no other anonymous route information, the process proceeds to step S55.

[ステップS52]匿名データ中継部222は、データパケット40の宛先オニオン44を更新する。具体的には、匿名データ中継部222は、ステップS51で復号したデータを、宛先オニオン44に設定する。   [Step S52] The anonymous data relay unit 222 updates the destination onion 44 of the data packet 40. Specifically, the anonymous data relay unit 222 sets the data decrypted in step S51 as the destination onion 44.

[ステップS53]匿名データ中継部222は、データパケット40の戻り&バックトラックオニオン45を更新する。具体的には、匿名データ中継部222は、データパケット40の戻り&バックトラックオニオン45の内容を空(null)にする。   [Step S53] The anonymous data relay unit 222 updates the return & backtrack onion 45 of the data packet 40. Specifically, the anonymous data relay unit 222 nullifies the contents of the return & backtrack onion 45 of the data packet 40.

[ステップS54]匿名データ中継部222は、データパケット40を送信する。このときのデータパケット40の送信先は、ステップS51で復号された戻りオニオンで認識可能なノードIDで示されるP2Pオニオンノードである。   [Step S54] The anonymous data relay unit 222 transmits the data packet 40. The transmission destination of the data packet 40 at this time is the P2P onion node indicated by the node ID that can be recognized by the return onion decoded in step S51.

[ステップS55]匿名データ中継部222は、別の匿名ルート情報が無い場合、データパケットをマルチキャストで、そのとき認識している全ての接続先に送信する。
[ステップS56]データパケット40が受信PeerであるP2Pオニオンノード300に到達すると、P2Pオニオンノード300のP2Pオニオンルータ320内の匿名データ受信部323は宛先を確認する。自分宛のデータパケット40であれば、処理がステップS57に進められる。
[Step S55] When there is no other anonymous route information, the anonymous data relay unit 222 transmits the data packet to all the connection destinations recognized at that time by multicast.
[Step S56] When the data packet 40 reaches the P2P onion node 300 that is the receiving peer, the anonymous data receiving unit 323 in the P2P onion router 320 of the P2P onion node 300 confirms the destination. If it is the data packet 40 addressed to itself, the process proceeds to step S57.

[ステップS57]匿名データ受信部323は、自分の固定秘密鍵でペイロード46を復号する。
[ステップS58]匿名データ受信部323は、復号されたメッセージヘッダ、送信Peerの鍵情報(一時公開鍵と暗号化された一時秘密鍵)、およびメッセージをアプリケーションに渡す。
[Step S57] The anonymous data receiving unit 323 decrypts the payload 46 with its own fixed secret key.
[Step S58] The anonymous data receiving unit 323 passes the decrypted message header, key information of the transmission peer (temporary public key and encrypted temporary secret key), and the message to the application.

このようにして、データパケット40が受信Peerに送信される。受信Peerから返信手順は、ルート通知パケット30の送信手順と同様である。
図19は、データパケットの伝送経路を示す図である。図19に示すように、P2Pオニオンノード100から出力されたデータパケット40aは、ルート探索時に発見された匿名ルートの伝送経路が存続していれば、中継Peerである複数のP2Pオニオンノード200,410,430で内容の変更を受けながら、受信PeerであるP2Pオニオンノード300に渡される。
In this way, the data packet 40 is transmitted to the receiving peer. The reply procedure from the reception peer is the same as the transmission procedure of the route notification packet 30.
FIG. 19 is a diagram illustrating a data packet transmission path. As shown in FIG. 19, the data packet 40a output from the P2P onion node 100 has a plurality of P2P onion nodes 200 and 410, which are relay peers, if the transmission route of the anonymous route discovered at the time of route search continues. , 430, the P2P onion node 300, which is the receiving peer, receives the change in content.

データパケット40aを受け取ったP2Pオニオンノード200は、宛先オニオンと戻り&バックトラックオニオンとを更新したデータパケット40bを、P2Pオニオンノード410に送信する。データパケット40bを受け取ったP2Pオニオンノード410は、宛先オニオンと戻り&バックトラックオニオンとを更新したデータパケット40cを、P2Pオニオンノード430に送信する。データパケット40cを受け取ったP2Pオニオンノード430は、宛先オニオンと戻り&バックトラックオニオンとを更新したデータパケット40dを、P2Pオニオンノード300に送信する。   The P2P onion node 200 that has received the data packet 40a transmits the data packet 40b in which the destination onion and the return & backtrack onion are updated to the P2P onion node 410. The P2P onion node 410 that has received the data packet 40b transmits the data packet 40c in which the destination onion and the return & backtrack onion are updated to the P2P onion node 430. The P2P onion node 430 that has received the data packet 40c transmits the data packet 40d in which the destination onion and the return & backtrack onion are updated to the P2P onion node 300.

図20は、データパケットの状態遷移状況を示す図である。P2Pオニオンノード100から出力されるデータパケット40aは、メッセージフラグ”通常”、宛先(To)”ノード「X」の公開ID、送信元(From)”ノード「A」の匿名ID#2、宛先オニオン”Bid+BPk{Cid+CPk(Eid+EPk(Xid)),Did+DPk(Eid+EPk(Xid))}”、戻り&バックトラックオニオン”^Aid+APk(Aid)”、ペイロード”XPk{メッセージヘッダ、ATPk,APk(ATSk)、メッセージデータ}”が設定されている。   FIG. 20 is a diagram illustrating a state transition state of a data packet. The data packet 40a output from the P2P onion node 100 includes the message flag “normal”, the public ID of the destination (To) node “X”, the anonymous ID # 2 of the source (From) node “A”, the destination onion “Bid + BPk {Cid + CPk (Eid + EPk (Xid)), Did + DPk (Eid + EPk (Xid))}”, return & backtrack onion “^ Aid + APk (Aid)”, payload “XPk { Message header, ATPk, APk (ATSk), message data} ”are set.

P2Pオニオンノード200からP2Pオニオンノード410に渡されるデータパケット40bでは、宛先オニオンが”Cid+CPk(Eid+EPk(Xid))”に変更され、戻り&バックトラックオニオンが”Bid+BPk{^Aid+APk(Aid),Did+DPk(Eid+EPk(Xid))}”に変更されている。   In the data packet 40b passed from the P2P onion node 200 to the P2P onion node 410, the destination onion is changed to “Cid + CPk (Eid + EPk (Xid))”, and the return & backtrack onion is “Bid + BPk {^ Aid + APk (Aid), Did + DPk (Eid + EPk (Xid))} ”.

P2Pオニオンノード410からP2Pオニオンノード430に渡されるデータパケット40cでは、宛先オニオンが”Eid+EPk(Xid)”に変更され、戻り&バックトラックオニオンが”Cid+CPk{Bid+BPk{^Aid+APk(Aid),Did+DPk(Eid+EPk(Xid))}}”に変更されている。   In the data packet 40c passed from the P2P onion node 410 to the P2P onion node 430, the destination onion is changed to “Eid + EPk (Xid)”, and the return & backtrack onion is “Cid + CPk {Bid + BPk {^ Aid + APk (Aid), Did + DPk (Eid + EPk (Xid))}} ”.

P2Pオニオンノード430からP2Pオニオンノード300に渡されるデータパケット40dでは、宛先オニオンが”Xid”に変更され、戻り&バックトラックオニオンが”Eid+EPk{Cid+CPk{Bid+BPk{^Aid+APk(Aid),Did+DPk(Eid+EPk(Xid))}}}”に変更されている。   In the data packet 40d passed from the P2P onion node 430 to the P2P onion node 300, the destination onion is changed to “Xid”, and the return & backtrack onion is “Eid + EPk {Cid + CPk {Bid + BPk {^ Aid + APk (Aid), Did + DPk (Eid + EPk (Xid))}}} ”.

このように、中継される毎に、宛先オニオンの暗号化された情報が1回ずつ復号され、その都度、次の転送先が認識可能となる。また、戻り&バックトラックオニオンには、中継される毎に暗号化され、中継したP2PオニオンノードのノードIDが付加される。   In this way, every time relay is performed, the encrypted information of the destination onion is decrypted once, and the next transfer destination can be recognized each time. The return & backtrack onion is encrypted every time it is relayed, and the node ID of the relayed P2P onion node is added.

ここで、P2Pオニオンノード410からP2Pオニオンノード430へのデータパケット40cの送信に失敗した場合を考える。そのとき、P2Pオニオンノード410では、バックトラック処理が行われる。   Here, consider a case where transmission of the data packet 40c from the P2P onion node 410 to the P2P onion node 430 fails. At that time, in the P2P onion node 410, backtrack processing is performed.

図21は、バックトラック処理におけるデータパケットの伝送経路を示す図である。P2Pオニオンノード410においてデータパケット40cの送信に失敗すると、P2Pオニオンノード410からP2Pオニオンノード200に対してデータパケット40eが送信される。   FIG. 21 is a diagram illustrating a data packet transmission path in the backtrack processing. When transmission of the data packet 40c fails in the P2P onion node 410, the data packet 40e is transmitted from the P2P onion node 410 to the P2P onion node 200.

P2Pオニオンノード200は、別ルートであるP2Pオニオンノード420に対してデータパケット40fを送信する。P2Pオニオンノード420はP2Pオニオンノード430に対してデータパケット40gを送信する。P2Pオニオンノード430は、P2Pオニオンノード300に対してデータパケット40hを送信する。   The P2P onion node 200 transmits the data packet 40f to the P2P onion node 420 which is another route. The P2P onion node 420 transmits the data packet 40g to the P2P onion node 430. The P2P onion node 430 transmits a data packet 40h to the P2P onion node 300.

図22は、バックトラック転送時のデータパケットの状態遷移状況を示す図である。P2Pオニオンノード410から送信されるデータパケット40eは、メッセージフラグ”通常”、宛先(To)”ノード「X」の公開ID、送信元(From)”ノード「A」の匿名ID#2、宛先オニオン”Bid+BPk{^Aid+APk(Aid),Did+DPk(Eid+EPk(Xid))}”、戻り&バックトラックオニオン”null”、ペイロード“XPk{メッセージヘッダ、ATPk,APk(ATSk)、メッセージデータ}”が設定されている。   FIG. 22 is a diagram illustrating a state transition state of a data packet at the time of backtrack transfer. The data packet 40e transmitted from the P2P onion node 410 includes the message flag “normal”, the public ID of the destination (To) node “X”, the anonymous ID # 2 of the source (From) node “A”, the destination onion “Bid + BPk {^ Aid + APk (Aid), Did + DPk (Eid + EPk (Xid))}”, return & backtrack onion “null”, payload “XPk {message header, ATPk, APk (ATSk), Message data} ”is set.

この例では、宛先オニオンには、別の匿名ルート情報と、戻り匿名ルート情報とが含まれている。そこで、P2Pオニオンノード200は、別の匿名ルート情報を以降の宛先オニオンとし、戻り匿名ルート情報は戻り&バックトラックオニオンに設定する。   In this example, the destination onion includes other anonymous route information and return anonymous route information. Therefore, the P2P onion node 200 sets another anonymous route information as the subsequent destination onion, and sets the return anonymous route information to the return & backtrack onion.

P2Pオニオンノード200からP2Pオニオンノード420に渡されるデータパケット40fでは、宛先オニオンがDid+DPk(Eid+EPk(Xid))”に変更され、戻り&バックトラックオニオンが”^Bid+BPk{^Aid+APk(Aid)}”に変更されている。戻り&バックトラックオニオンは、内容が戻り匿名ルート情報のみであるため戻りフラグが設定されている。   In the data packet 40f passed from the P2P onion node 200 to the P2P onion node 420, the destination onion is changed to Did + DPk (Eid + EPk (Xid)) ”, and the return & backtrack onion is“ ^ Bid + BPk {^ Aid + APk (Aid)} ”. The return flag is set for the return & backtrack onion because the content is only the return anonymous route information.

P2Pオニオンノード420からP2Pオニオンノード430に渡されるデータパケット40gでは、宛先オニオンが”Eid+EPk(Xid)”に変更され、戻り&バックトラックオニオンが”^Cid+CPk{^Bid+BPk{^Aid+APk(Aid),}}”に変更されている。   In the data packet 40g passed from the P2P onion node 420 to the P2P onion node 430, the destination onion is changed to “Eid + EPk (Xid)”, and the return & backtrack onion is “^ Cid + CPk {^ Bid + BPk {^ Aid + APk (Aid),}} ”.

P2Pオニオンノード430からP2Pオニオンノード300に渡されるデータパケット40hでは、宛先オニオンが”Xid”に変更され、戻り&バックトラックオニオンが”^Eid+EPk{^Cid+CPk{^Bid+BPk{^Aid+APk(Aid)}}}”に変更されている。   In the data packet 40h passed from the P2P onion node 430 to the P2P onion node 300, the destination onion is changed to “Xid”, and the return & backtrack onion is “^ Eid + EPk {^ Cid + CPk {^ Bid + BPk {^ Aid + APk (Aid)}}} ”.

このようにして、バックトラック処理により、最初に選択した匿名ルートでのパケット転送に失敗しても、別の匿名ルート経由でデータパケットを受信Peerに届けることができる。このようなバックトラック処理は再帰的に行われる。すなわち、バックトラックによる伝送にも失敗したときは、さらに別の匿名ルートに基づいてデータパケットのバックトラック処理が行われる。   In this way, by the backtrack processing, even if the packet transfer through the initially selected anonymous route fails, the data packet can be delivered to the receiving peer via another anonymous route. Such backtrack processing is performed recursively. That is, when transmission by backtracking also fails, data packet backtracking is performed based on another anonymous route.

ここで、データパケットの宛先オニオンに設定されている全ての匿名ルートにおいて伝送が失敗したときには、マルチキャストでデータパケットが転送される。なお、未送信の匿名ルートの存在の有無は、戻り&バックトラックオニオン45の戻りフラグの有無で判断できる。   Here, when transmission fails in all anonymous routes set as the destination onion of the data packet, the data packet is transferred by multicast. The presence / absence of an unsent anonymous route can be determined by the presence / absence of the return flag of the return & backtrack onion 45.

たとえば、P2Pオニオンノード420からP2Pオニオンノード430へのデータパケット40gの送信に失敗したとき、P2Pオニオンノード420では、データパケット40gの戻り&バックトラックオニオン45の戻りフラグの有無を判断する。戻りフラグが設定されている場合、他の匿名ルートはない。従って、P2Pオニオンノード420は、マルチキャスト送信が必要と判断する。   For example, when transmission of the data packet 40g from the P2P onion node 420 to the P2P onion node 430 fails, the P2P onion node 420 determines whether or not there is a return flag of the data packet 40g and a return flag of the backtrack onion 45. If the return flag is set, there is no other anonymous route. Therefore, the P2P onion node 420 determines that multicast transmission is necessary.

図23は、マルチキャストにおけるデータパケットの伝送経路を示す図である。P2Pオニオンノード430においてデータパケット40gの送信に失敗すると、P2Pオニオンノード420からそのとき接続されている他のP2Pオニオンノード460(ノード名「F」)に対してデータパケット40iが送信される。P2Pオニオンノード460からP2Pオニオンノード300までの経路が存在していれば、データパケットがP2Pオニオンノード300に伝送される。この場合でも、送信Peerや受信Peerの匿名性は保たれる。   FIG. 23 is a diagram illustrating a transmission path of data packets in multicast. If transmission of the data packet 40g fails in the P2P onion node 430, the data packet 40i is transmitted from the P2P onion node 420 to the other P2P onion node 460 (node name “F”) connected at that time. If a path from the P2P onion node 460 to the P2P onion node 300 exists, the data packet is transmitted to the P2P onion node 300. Even in this case, the anonymity of the transmission peer and the reception peer is maintained.

以上のようにして、受信Peerは送信peerの匿名性を保持したまま、受信メッセージに対する返信を行うことができる。返信経路は戻り&バックトラックオニオンに保持されるため、受信Peerは送信peerに対して、戻りオニオン(戻りフラグ「^」の設定された匿名ルート情報)を用いてオニオンルーティングで返信できる。返信時のオニオンルーティングは、返信用P2Pオニオンルートが経路を1本しか持たないことを除いて送信と同じである。つまり、P2Pオニオンルートを利用したルーティングに失敗した場合には、P2Pマルチキャスト機能によって返信メッセージを到達させる。この場合も匿名性は担保される。   As described above, the reception peer can reply to the reception message while maintaining the anonymity of the transmission peer. Since the return path is held in the return & backtrack onion, the receiving peer can reply to the transmitting peer by using onion routing using the return onion (anonymous route information in which the return flag “^” is set). Onion routing at the time of reply is the same as transmission except that the reply P2P onion route has only one route. That is, when routing using the P2P onion route fails, the reply message is made to reach by the P2P multicast function. In this case, anonymity is secured.

[匿名掲示板への適用例]
上記のような匿名通信網を電子掲示板に適用すれば、不特定多数のユーザ間の匿名の情報交換を安全に行うことができる。
[Example of application to anonymous bulletin board]
If the above anonymous communication network is applied to an electronic bulletin board, anonymous information exchange among an unspecified number of users can be performed safely.

図24は、匿名掲示板に適用した匿名通信網の構成例を示す図である。図24の例では、匿名通信網10内のP2Pオニオンノード300にデータベース(DB)360が接続され、掲示板システムが構築されている。この掲示板システムは、一般に公開された公開DBである。この場合、P2Pオニオンノード300の公開IDは、雑誌やインターネットのウェブページ等で公開されている。   FIG. 24 is a diagram illustrating a configuration example of an anonymous communication network applied to an anonymous bulletin board. In the example of FIG. 24, a database (DB) 360 is connected to the P2P onion node 300 in the anonymous communication network 10 to construct a bulletin board system. This bulletin board system is a public DB that is open to the public. In this case, the public ID of the P2P onion node 300 is disclosed in magazines, Internet web pages, and the like.

このように、匿名掲示板機能では、匿名通信網10上のP2Pオニオンノード300に匿名掲示板(公開DB)を実装し、他のP2Pオニオンノードから、匿名掲示板(公開DB)に投稿された情報を利用する。   Thus, in the anonymous bulletin board function, an anonymous bulletin board (public DB) is mounted on the P2P onion node 300 on the anonymous communication network 10, and information posted on the anonymous bulletin board (public DB) from other P2P onion nodes is used. To do.

掲示板(公開DB)を利用するP2Pオニオンノードは、主に以下の機能を実現する。
1.匿名の掲示板(公開DB)に投稿できる。
2.匿名の掲示板(公開DB)の投稿データを検索できる。
3.匿名の掲示板(公開DB)に投稿された情報に返信できる。
A P2P onion node using a bulletin board (public DB) mainly implements the following functions.
1. You can post on an anonymous bulletin board (public DB).
2. You can search for posted data on anonymous bulletin boards (public DB).
3. You can reply to information posted on an anonymous bulletin board (public DB).

掲示板(公開DB)は、匿名通信網10上の一P2Pオニオンノード300上で動作するアプリケーションとして実装される。各P2Pオニオンノードには、この掲示板(公開DB)ノード(P2Pオニオンノード300)に上記3つの機能を行うためのメッセージを匿名通信網10経由で通知するための機能が実装される。掲示板(公開DB)ノード(P2Pオニオンノード300)には、匿名通信網10経由で通知されたメッセージに応答した投稿データの格納、投稿データの検索、検索結果の返信機能が実現される。   The bulletin board (public DB) is implemented as an application that operates on one P2P onion node 300 on the anonymous communication network 10. Each P2P onion node is provided with a function for notifying the bulletin board (public DB) node (P2P onion node 300) of messages for performing the above three functions via the anonymous communication network 10. The bulletin board (public DB) node (P2P onion node 300) implements a function of storing post data in response to a message notified via the anonymous communication network 10, searching for post data, and returning a search result.

以下に匿名掲示板が実現する機能を示す。
1.投稿された書き込みが誰によってなされたか探知できない(投稿者の秘匿機能)。
2.投稿された情報を指定時間経過すると自動的に消去する。
3.検索が誰によってなされたか探知できない(検索者の秘匿機能)。
4.検索したときに探している投稿データがなかった場合でも目的の投稿データが後から投稿された場合に通知されるよう予約可能とする。
5.検索予約は指定時間経過すると自動的にキャンセルされる。
The functions realized by the anonymous bulletin board are shown below.
1. Cannot detect who posted the post (Contributor's secrecy function).
2. The posted information is automatically deleted after a specified time.
3. Cannot detect who made the search (searcher's secret function).
4). It is possible to make a reservation so that even when there is no post data that is searched for when the search is made, notification is made when the post data of interest is posted later.
5). Search reservations are automatically canceled after a specified time.

なお、DB360としては、たとえば、XSR(XML Service Registry)を利用して実現できる。XSRは株式会社富士通プライムソフトテクノロジが所有するオブジェクトデータベース技術である。本ソフトの機能は以下の通りである。   The DB 360 can be realized using, for example, XSR (XML Service Registry). XSR is an object database technology owned by Fujitsu Prime Soft Technology. The functions of this software are as follows.

・UP機能:オブジェクトを保存する機能。
オブジェクトの保存期間に有効期限が設定できる。有効期限が切れたオブジェクトはXSRから自動的に消去される。
-UP function: A function for saving an object.
An expiration date can be set for the retention period of the object. An expired object is automatically deleted from the XSR.

・LOOKUP機能:ユーザが探しているオブジェクトを検索できる。
検索を予約する機能を有する。
・RESPONSE機能:予約された検索にマッチする情報があればユーザに非同期に通知する。
-LOOKUP function: You can search for the object you are looking for.
It has a function to reserve a search.
-RESPONSE function: Asynchronously notifies the user if there is information that matches the reserved search.

また、メッセージ間のアンリンカビリティを高めるために、Peerノードの匿名識別子、公開鍵の使い捨て管理を以下の様に行う。
1.秘密鍵とランダムな数値を使用して匿名識別子を生成する。その秘密鍵をもつ自分だけがその匿名識別子に対して自分の識別子であるとの確認ができる。
2.一時公開鍵・一時秘密鍵ペアを生成する。その一時秘密鍵を会員証の公開鍵で暗号化し、一時公開鍵といっしょに返信情報としてメッセージに付加する。返信者はその一時公開鍵で返信メッセージを暗号化し返信する。返信された暗号化データは会員証の秘密鍵を持つ自分だけが復号できる。
3.緊急事態において匿名識別子の匿名性を暴くには、上記「匿名通信基盤接続認証機能」での認証局へ匿名識別子(生成に使用したランダム数を含む)を持込み、登録されている全ての秘密鍵総当たりで匿名識別子に含まれるランダム数を使用して匿名識別子を生成し、一致する秘密鍵を特定する。
In addition, in order to improve the unlinkability between messages, the anonymous identifier and public key of Peer node are managed as follows.
1. An anonymous identifier is generated using a secret key and a random numerical value. Only you with the private key can be confirmed to be your identifier for the anonymous identifier.
2. Generate a temporary public / temporary private key pair. The temporary private key is encrypted with the public key of the membership card, and is added to the message as reply information together with the temporary public key. The replyer encrypts the reply message with the temporary public key and sends it back. The encrypted data returned can be decrypted only by the person who has the membership card private key.
3. To reveal the anonymity of the anonymous identifier in an emergency situation, bring the anonymous identifier (including the random number used for generation) to the certificate authority in the above “Anonymous Communication Infrastructure Connection Authentication Function” and register all the private keys An anonymous identifier is generated using a random number included in the anonymous identifier by brute force, and a matching secret key is specified.

以上のような構成の匿名掲示板を匿名通信網10上に設置することで、匿名のメッセージ交換が可能となる。
たとえば、ユーザは、P2Pオニオンノード100を用いてP2Pオニオンノード300に投稿データを含むデータパケット51を送信し、DB360に投稿データを登録することができる。投稿データは、たとえば、P2Pオニオンノード420を用いて、P2Pオニオンノード300に検索要求を含むデータパケット52を送信し、DB360に格納されている投稿データの検索行うことができる。
By installing the anonymous bulletin board having the above configuration on the anonymous communication network 10, anonymous message exchange can be performed.
For example, the user can transmit the data packet 51 including the posted data to the P2P onion node 300 using the P2P onion node 100 and register the posted data in the DB 360. For example, the post data stored in the DB 360 can be searched by sending the data packet 52 including the search request to the P2P onion node 300 using the P2P onion node 420.

P2Pオニオンノード300は検索要求に応じてDB360内の投稿データを検索し、検索結果を取得する。そして、P2Pオニオンノード300は、P2Pオニオンノード420に対して検索結果を含むデータパケット53を送信する。これにより、P2Pオニオンノード420に検索結果が渡される。   The P2P onion node 300 searches the posted data in the DB 360 in response to the search request, and acquires the search result. Then, the P2P onion node 300 transmits the data packet 53 including the search result to the P2P onion node 420. As a result, the search result is passed to the P2P onion node 420.

なお、検索結果には、掲示板ノード(P2Pオニオンノード300)から投稿者のP2Pオニオンノードまでの匿名ルート情報(戻りオニオン)や、投稿者のP2Pオニオンノード用の一時公開鍵などが含められる。これにより、検索要求を出力したP2Pオニオンノードにおいて、投稿者のP2Pオニオンノードまでの匿名ルート情報を得ることができると共に、投稿者宛のメッセージを投稿者のP2Pオニオンノードでのみ復号可能な形式で暗号化することができる。   The search result includes anonymous route information (return onion) from the bulletin board node (P2P onion node 300) to the poster P2P onion node, a temporary public key for the poster P2P onion node, and the like. As a result, the P2P onion node that has output the search request can obtain anonymous route information to the poster's P2P onion node, and the message addressed to the poster can be decrypted only by the poster's P2P onion node. Can be encrypted.

図25は、投稿データを含むデータパケットの例を示す図である。P2Pオニオンノード100で生成されるデータパケット51aは、メッセージフラグ”通常”、宛先(To)”ノード「X」の公開ID、送信元(From)”ノード「A」の匿名ID#3”、宛先オニオン”Bid+BPk{Cid+CPk(Eid+EPk(Xid))}”、戻り&バックトラックオニオン”^Aid+APk(Aid)”、ペイロード”XPk{メッセージヘッダ、ATPk,APk(ATSk)、メッセージデータ}”が設定されている。なお、この例では説明を簡単にするために、宛先オニオンには1つの匿名ルート情報のみが設定されているものとする。   FIG. 25 is a diagram illustrating an example of a data packet including post data. The data packet 51a generated by the P2P onion node 100 includes a message flag “normal”, a public ID of the destination (To) node “X”, a sender (From) “anonymous ID # 3” of the node “A”, a destination Onion “Bid + BPk {Cid + CPk (Eid + EPk (Xid))}”, return & backtrack onion “^ Aid + APk (Aid)”, payload “XPk {message header, ATPk, APk (ATSk), message Data} ”is set. In this example, it is assumed that only one anonymous route information is set in the destination onion for the sake of simplicity.

このようなデータパケット51bが伝送途中で一度も送信に失敗せずにP2Pオニオンノード300に到達したとき、そのときのデータパケット51bでは、宛先オニオンが”Xid”に変更され、戻り&バックトラックオニオンが”Eid+EPk{Cid+CPk{Bid+BPk{^Aid+APk(Aid)}}}”に変更される。   When such a data packet 51b arrives at the P2P onion node 300 without any failure during transmission, in the data packet 51b at that time, the destination onion is changed to “Xid”, and the return & backtrack onion Is changed to “Eid + EPk {Cid + CPk {Bid + BPk {^ Aid + APk (Aid)}}}”.

このようなデータパケット51aを受け取ったP2Pオニオンノード300は、DB360に所定の情報を格納する。
図26は、DB内のデータ構造例を示す図である。DB360内には、匿名ID、戻りオニオン、返信暗号化用一時鍵情報、及びメッセージデータの項目が、互いに関連付けて登録されている。たとえば、データパケット51bに基づいて、匿名IDの項目には、”ノード「A」の匿名ID#3”が登録されている。戻りオニオンには、”Eid+EPk{Cid+CPk{Bid+BPk{^Aid+APk(Aid)}}}”が登録されている。返信暗号化用一時鍵情報には、”ATPk,APk(ATSk)”が登録されている。メッセージデータの項目には、”投稿リクエスト、アップ日時、実データなどの情報が登録されている。
The P2P onion node 300 that has received such a data packet 51 a stores predetermined information in the DB 360.
FIG. 26 is a diagram illustrating an example of a data structure in the DB. In the DB 360, anonymous ID, return onion, reply encryption temporary key information, and message data items are registered in association with each other. For example, based on the data packet 51b, “anonymous ID # 3 of the node“ A ”” is registered in the item of anonymous ID, “Eid + EPk {Cid + CPk {Bid + BPk {^ Aid + APk (Aid)}}} ”is registered.“ ATPk, APk (ATSk) ”is registered in the temporary key information for reply encryption. In the message data item,“ Information such as posting request, upload date / time, and actual data is registered.

その後、P2Pオニオンノード420からP2Pオニオンノード300に対して、検索要求を含むデータパケット52が送信される。
図27は、検索要求を含むデータパケットの例を示す図である。P2Pオニオンノード420で生成されるデータパケット52aは、メッセージフラグ”通常”、宛先(To)”ノード「X」の公開ID、送信元(From)”ノード「D」の匿名ID#4”、宛先オニオン”Eid+EPk(Xid)”、戻り&バックトラックオニオン”^Did+DPk(Did)”、ペイロード”XPk{メッセージヘッダ、DTPk,DPk(DTSk)、メッセージデータ}”が設定されている。
Thereafter, the data packet 52 including the search request is transmitted from the P2P onion node 420 to the P2P onion node 300.
FIG. 27 is a diagram illustrating an example of a data packet including a search request. The data packet 52a generated by the P2P onion node 420 includes the message flag “normal”, the public ID of the destination (To) “node” X, the source (From) “anonymous ID # 4” of the node “D”, the destination Onion “Eid + EPk (Xid)”, return & backtrack onion “^ Did + DPk (Did)”, payload “XPk {message header, DTPk, DPk (DTSk), message data}” are set.

このようなデータパケット52aが伝送途中で一度も送信に失敗せずにP2Pオニオンノード300に到達したとき、そのときのデータパケット52bでは、宛先オニオンが”Xid”に変更され、戻り&バックトラックオニオンが”Eid+EPk{^Did+DPk(Did)}”に変更される。ここで、ペイロード内のデータは「メッセージヘッダ、DPk(DTSk)、DTPk、メッセージデータ(検索リクエスト、アップ日時、・・・)」である。   When such a data packet 52a arrives at the P2P onion node 300 without any failure during transmission, in the data packet 52b at that time, the destination onion is changed to “Xid”, and the return & backtrack onion Is changed to “Eid + EPk {^ Did + DPk (Did)}”. Here, the data in the payload is “message header, DPk (DTSk), DTPk, message data (search request, up date and time,...)”.

データパケット52bを受け取ったP2Pオニオンノード300は、検索リクエスト(検索キーワード等が示される)の指示に従ってDB360を検索する。ここで、検索結果としてデータパケット51bによって投稿された投稿データが得られたものとする。すると、P2Pオニオンノード300は、P2Pオニオンノード420に対して、検索結果を含むデータパケット53を送信する。   The P2P onion node 300 that has received the data packet 52b searches the DB 360 in accordance with an instruction of a search request (a search keyword or the like is indicated). Here, it is assumed that post data posted by the data packet 51b is obtained as a search result. Then, the P2P onion node 300 transmits the data packet 53 including the search result to the P2P onion node 420.

図28は、検索結果を含むデータパケットの例を示す図である。P2Pオニオンノード300で生成されるデータパケット53aは、メッセージフラグ”リクエストレスポンス”、宛先(To)”ノード「D」の匿名ID#4”、送信元(From)”ノード「X」の公開ID”、宛先オニオン”Eid+EPk{^Did+DPk(Did)}”、戻り&バックトラックオニオン”^Xid+XPk(Xid)”、ペイロード”XPk{メッセージヘッダ、DTPk,DPk(DTSk)、メッセージデータ}”が設定されている。   FIG. 28 is a diagram illustrating an example of a data packet including a search result. The data packet 53a generated by the P2P onion node 300 includes a message flag “request response”, a destination (To) “anonymous ID # 4” of the node “D”, and a transmission source (From) “public ID of the node“ X ””. , Destination onion “Eid + EPk {^ Did + DPk (Did)}”, return & backtrack onion “^ Xid + XPk (Xid)”, payload “XPk {message header, DTPk, DPk (DTSk), message data} "Is set.

このようなデータパケット53aが伝送途中で一度も送信に失敗せずにP2Pオニオンノード300に到達したとき、そのときのデータパケット53bでは、宛先オニオンが” ^Did+DPk(Did)”に変更され、戻り&バックトラックオニオンが”Eid+EPk{^Xid+XPk(Xid)}”に変更される。ここで、ペイロード内のデータは「メッセージヘッダ、DPk(DTSk)、DTPk{ノード「A」匿名ID#3、メッセージデータ(検索リクエスト、アップ日時、・・・)、Eid+EPk{Cid+CPk{Bid+BPk{^Aid+APk(Aid)}}}}」である。DPk(DTSk)は、P2Pオニオンノード420の一時復号鍵を固定公開鍵で暗号化したものである。メッセージデータは、検索結果であり、この例では、データパケット51aに含まれる実データである。「Eid+EPk{Cid+CPk{Bid+BPk{^Aid+APk(Aid)}}}」は、P2Pオニオンノード300からP2Pオニオンノード100への戻りオニオンである。また、ノード「A」匿名ID#3、メッセージデータ、およびEid+EPk{Cid+CPk{Bid+BPk{^Aid+APk(Aid)}}(戻りオニオン)は、P2Pオニオンノード420の一時公開鍵(DTPk)で暗号化されている。   When such a data packet 53a arrives at the P2P onion node 300 without any failure during transmission, the destination onion is changed to “^ Did + DPk (Did)” in the data packet 53b at that time. , The return & backtrack onion is changed to “Eid + EPk {^ Xid + XPk (Xid)}”. Here, the data in the payload is “message header, DPk (DTSk), DTPk {node“ A ”anonymous ID # 3, message data (search request, up date / time,...)”, Eid + EPk {Cid + CPk { Bid + BPk {^ Aid + APk (Aid)}}}} ”. DPk (DTSk) is obtained by encrypting the temporary decryption key of the P2P onion node 420 with a fixed public key. The message data is a search result, and in this example, is the actual data included in the data packet 51a. “Eid + EPk {Cid + CPk {Bid + BPk {^ Aid + APk (Aid)}}}” is a return onion from the P2P onion node 300 to the P2P onion node 100. Also, the node “A” anonymous ID # 3, message data, and Eid + EPk {Cid + CPk {Bid + BPk {^ Aid + APk (Aid)}} (return onion) are the temporary public key of the P2P onion node 420 It is encrypted with (DTPk).

ペイロード内の暗号化されたデータを、P2Pオニオンノード420の一時秘密鍵(DTSk)で復号することで、検索結果を参照できる。P2Pオニオンノード420を使用しているユーザは、検索結果を参照することで、投稿データの内容を確認する。投稿内容に対して応答する場合、ユーザは、P2Pオニオンノード420に対して返信メッセージを入力し、その後、返信の指示を入力する。   By decrypting the encrypted data in the payload with the temporary secret key (DTSk) of the P2P onion node 420, the search result can be referred to. The user using the P2P onion node 420 confirms the content of the posted data by referring to the search result. When responding to the posted content, the user inputs a reply message to the P2P onion node 420 and then inputs a reply instruction.

すると、P2Pオニオンノード420は、投稿データへの返信メッセージを含むデータパケットをP2Pオニオンノード430に対して送信する。
図29は、返信メッセージを含むデータパケットの例を示す図である。P2Pオニオンノード420で生成されるデータパケット61は、メッセージフラグ”返信”、宛先(To)”ノード「A」の匿名ID#3”、送信元”ノード「D」の匿名ID5”、宛先オニオン”Eid+EPk{^Xid+XPk(Xid)}、Eid+EPk{Cid+CPk{Bid+BPk{^Aid+APk(Aid)}}}”、戻り&バックトラックオニオン”^Did+DPk(Did)”、ペイロード”メッセージヘッダ、DTPk、DPk(DTSk)、ATPk(返信メッセージ)、APk(ATSk)”が設定されている。
Then, the P2P onion node 420 transmits a data packet including a reply message to the posted data to the P2P onion node 430.
FIG. 29 is a diagram illustrating an example of a data packet including a reply message. The data packet 61 generated by the P2P onion node 420 includes a message flag “reply”, a destination (To) “anonymous ID # 3” of the node “A”, a source “anonymous ID 5” of the node “D”, and a destination onion ”. Eid + EPk {^ Xid + XPk (Xid)}, Eid + EPk {Cid + CPk {Bid + BPk {^ Aid + APk (Aid)}}} ", return & backtrack onion" ^ Did + DPk (Did) “, Payload” message header, DTPk, DPk (DTSk), ATPk (reply message), APk (ATSk) ”are set.

ここで、宛先オニオンは、P2Pオニオンノード420からP2Pオニオンノード300までの戻りオニオンに、P2Pオニオンノード300からP2Pオニオンノード100までの戻りオニオンを繋いだものである。中継Peerとなる各P2Pオニオンノードは、前に繋げられている戻りオニオンから順に処理する。これにより、P2Pオニオンノード420からP2Pオニオンノード100までの匿名ルート情報が、宛先オニオンに設定されることとなる。   Here, the destination onion is obtained by connecting the return onion from the P2P onion node 420 to the P2P onion node 300 to the return onion from the P2P onion node 300 to the P2P onion node 100. Each P2P onion node serving as a relay Peer processes in order from the return onion connected in front. Thereby, the anonymous route information from the P2P onion node 420 to the P2P onion node 100 is set as the destination onion.

また、ペイロード内の「DTPk、DPk(DTSk)」は、返信暗号化用一時鍵情報であり、P2Pオニオンノード100からP2Pオニオンノード420への返信用に利用される。「ATPk(返信メッセージ)」は、P2Pオニオンノード100宛の返信メッセージをP2Pオニオンノード100の一時公開鍵で暗号化していることを示している。   “DTPk, DPk (DTSk)” in the payload is temporary key information for reply encryption, and is used for reply from the P2P onion node 100 to the P2P onion node 420. “ATPk (reply message)” indicates that the reply message addressed to the P2P onion node 100 is encrypted with the temporary public key of the P2P onion node 100.

図30は、返信内容を含むデータパケットの伝送経路を示す図である。P2Pオニオンノード420からP2Pオニオンノード430に送信されたデータパケット61は、宛先オニオンや戻り&バックトラックオニオンの更新を受けながら中継される。P2Pオニオンノード430は、データパケット62をP2Pオニオンノード300に送信する。P2Pオニオンノード300は、データパケット63をP2Pオニオンノード430に送信する。P2Pオニオンノード430は、データパケット64をP2Pオニオンノード410に送信する。P2Pオニオンノード410は、データパケット65をP2Pオニオンノード200に送信する。P2Pオニオンノード200は、データパケット66をP2Pオニオンノード100に送信する。   FIG. 30 is a diagram illustrating a transmission path of a data packet including reply contents. The data packet 61 transmitted from the P2P onion node 420 to the P2P onion node 430 is relayed while receiving the update of the destination onion and the return & backtrack onion. The P2P onion node 430 transmits the data packet 62 to the P2P onion node 300. The P2P onion node 300 transmits the data packet 63 to the P2P onion node 430. The P2P onion node 430 transmits the data packet 64 to the P2P onion node 410. The P2P onion node 410 transmits the data packet 65 to the P2P onion node 200. The P2P onion node 200 transmits the data packet 66 to the P2P onion node 100.

このようにして、掲示板を介したユーザ間の互いに匿名の通信が可能となる。しかも、本発明を適用した掲示板を利用することにより、不特定多数のユーザ間で匿名の情報交換が行える。さらには、ノードIDや一時公開鍵が使い捨てであり、所定の手続き毎に別の値が使用されるため、同一投稿者が掲示板へ投稿した複数のメッセージに関して、投稿者の同一性を隠しておくことができる。   In this way, anonymous communication between users via the bulletin board becomes possible. In addition, anonymous information can be exchanged among a large number of unspecified users by using a bulletin board to which the present invention is applied. Furthermore, since the node ID and temporary public key are disposable and different values are used for each predetermined procedure, the identity of the posters is concealed for multiple messages posted to the bulletin board by the same poster. be able to.

このようなシステムを利用すれば、個人的な情報を交換しても、その情報に対応する個人を悪意のある第三者から隠すことができる。そのため、このような匿名掲示板の技術は、ネットワーク技術を活用した予防医療・ヘルスケアサービス(HCS)に応用することができる。HCS事業を実現するためには受益者本人の体調、生理データ等、秘匿の必要性の高いデータに対するセキュリティが非常に重要な要因となる。そこで、HCSに上記匿名掲示板を適用すると、ユーザの生理データを、P2Pオニオンノード100を用いて匿名のままP2Pオニオンノード300に登録することができる。そして、登録された生理データを他のP2Pオニオンノード420を使用する医者が参照し、生活習慣のアドバイス等をユーザに対して匿名のまま送信することができる。   By using such a system, even if personal information is exchanged, an individual corresponding to the information can be hidden from a malicious third party. Therefore, such an anonymous bulletin board technology can be applied to preventive medicine / healthcare service (HCS) using network technology. In order to realize the HCS business, the security for the highly sensitive data such as the physical condition and physiological data of the beneficiary is a very important factor. Therefore, when the anonymous bulletin board is applied to the HCS, the physiological data of the user can be registered in the P2P onion node 300 using the P2P onion node 100 while remaining anonymous. Then, doctors using other P2P onion nodes 420 can refer to the registered physiological data, and lifestyle advice and the like can be transmitted to the user anonymously.

以上説明したように、本発明の実施の形態によれば、データ送信前に、送信相手までのルートを探索し、そのルート経由で匿名通信を行うための情報(各ノードの公開鍵)を収集する。そのため、ネットワーク構成が動的に変更する場合でも、匿名通信が可能となる。その結果、P2Pネットワークシステムなどの不安定なネットワークシステムにおいて、データを送受信する場合に、送信経路を動的に検索できると共に、送受信者の匿名性を守ることができるという効果を奏する。   As described above, according to the embodiment of the present invention, before transmitting data, a route to a transmission partner is searched and information (public key of each node) for performing anonymous communication via the route is collected. To do. Therefore, anonymous communication is possible even when the network configuration is dynamically changed. As a result, in an unstable network system such as a P2P network system, when transmitting and receiving data, it is possible to dynamically search a transmission path and to protect the anonymity of the sender and receiver.

しかも、匿名通信を行う際のデータパケットには、転送中の匿名ルートとは別の匿名ルートの情報が含まれているため、送信に失敗した場合には、別の匿名ルート経由でデータを伝送させることができる。これにより、データ伝送の確実性が増す。   In addition, the data packet for anonymous communication contains information on the anonymous route that is different from the anonymous route being transferred, so if transmission fails, the data is transmitted via another anonymous route. Can be made. This increases the certainty of data transmission.

また、データパケットに含まれる全ての匿名ルート経由でのデータ伝送に失敗した場合には、マルチキャストで他のルート経由でのデータ送信を試みるようにした。そのため、ルート探索時には存在していないが、データ送信時には存在している別のルートが有る場合、そのルート経由で宛先のP2Pオニオンノードにパケットを送信することが可能となる。   In addition, when data transmission via all anonymous routes included in the data packet fails, data transmission via other routes is attempted by multicast. Therefore, when there is another route that does not exist at the time of route search but exists at the time of data transmission, it becomes possible to transmit a packet to the destination P2P onion node via the route.

さらに、通信の際の匿名性を高めるために、他のP2Pオニオンノードに通知する公開鍵を一時公開鍵とし、所定の通信(たとえば、要求の送信とその要求に対する応答)毎に一時公開鍵を作り直すようにしたため、公開鍵の内容を監視しても、複数のパケットが同一のP2Pオニオンノードから出力されたか否かを同定することができない。   Furthermore, in order to increase anonymity during communication, the public key notified to other P2P onion nodes is used as a temporary public key, and the temporary public key is used for each predetermined communication (for example, transmission of a request and response to the request). Since it was made again, even if the contents of the public key are monitored, it cannot be identified whether or not a plurality of packets are output from the same P2P onion node.

さらに、匿名IDによって自分宛のパケットであるか否かを判断し、しかも匿名IDを、所定の通信(たとえば、要求の送信とその要求に対する応答)毎に作り直すようにしたため、これらの識別情報によってP2Pオニオンノードを同定することはできない。   Further, it is determined whether the packet is addressed to itself by the anonymous ID, and the anonymous ID is recreated for each predetermined communication (for example, transmission of request and response to the request). A P2P onion node cannot be identified.

なお、上記の説明では返信暗号化用一時鍵情報の中に、固定公開鍵で暗号化された送信Peerの一時秘密鍵を含めているが、これは、一時公開鍵と一時秘密鍵との組を送信Peerで管理せずにするための処理である。   In the above explanation, the temporary private key of the sending peer encrypted with the fixed public key is included in the reply encryption temporary key information. This is a combination of the temporary public key and the temporary private key. Is a process for not managing by the sending peer.

また、上記の処理機能はコンピュータによって実現することができ、その場合、P2Pオニオンノードが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。   Further, the above processing functions can be realized by a computer. In this case, a program describing the processing contents of the functions that the P2P onion node should have is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic recording device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape. Examples of the optical disc include a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable) / RW (ReWritable). Magneto-optical recording media include MO (Magneto-Optical disc).

プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   When distributing the program, for example, portable recording media such as a DVD and a CD-ROM in which the program is recorded are sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.

プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。   The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.

(付記1) 送信元を隠した状態で宛先までの伝送経路探索処理をコンピュータで実行するための匿名ルート探索要求方法において、
宛先識別子で前記宛先を指定した経路探索要求を受け取ると、自分の識別情報である自ノード識別子を自分のみが復号可能な形式で暗号化して返信用匿名ルート情報とし、
任意に生成した匿名識別子、前記宛先識別子、前記返信用匿名ルート情報、および返信データ暗号化用の送信元公開鍵を含むルート探索パケットを生成し、
前記ルート探索パケットをブロードキャストで送信する、
ことを特徴とする匿名ルート探索要求方法。
(Additional remark 1) In the anonymous route search request | requirement method for performing the transmission route search process to a destination in the state which concealed the transmission source with a computer,
When receiving a route search request designating the destination by the destination identifier, the own node identifier that is the identification information of itself is encrypted in a format that can only be decrypted by the user to obtain the anonymous route information for reply,
An arbitrarily generated anonymous identifier, the destination identifier, the return anonymous route information, and a route search packet including a transmission source public key for reply data encryption,
Transmitting the route search packet by broadcast;
An anonymous route search request method characterized by the above.

(付記2) 固定公開鍵と固定秘密鍵との組が予め用意されており、前記固定公開鍵を用いて前記自ノード識別子の暗号化を行うことを特徴とする付記1記載の匿名ルート探索要求方法。   (Supplementary note 2) An anonymous route search request according to supplementary note 1, wherein a set of a fixed public key and a fixed secret key is prepared in advance, and the self-node identifier is encrypted using the fixed public key. Method.

(付記3) 前記経路探索要求を受け取る毎に一時公開鍵と一時秘密鍵との組を生成し、生成した前記一時公開鍵を返信データ暗号化用の前記送信元公開鍵とすることを特徴とする付記1記載の匿名ルート探索要求方法。   (Supplementary note 3) Each time the route search request is received, a pair of a temporary public key and a temporary secret key is generated, and the generated temporary public key is used as the transmission source public key for reply data encryption, The anonymous route search request method according to appendix 1.

(付記4) 固定公開鍵と固定秘密鍵との組が予め用意されており、前記一時秘密鍵を前記固定公開鍵で暗号化し、前記ルート探索パケットに含めることを特徴とする付記3記載の匿名ルート探索要求方法。   (Supplementary note 4) Anonymity according to supplementary note 3, wherein a set of a fixed public key and a fixed secret key is prepared in advance, and the temporary secret key is encrypted with the fixed public key and included in the route search packet. Route search request method.

(付記5) 前記ルート探索パケットに対する応答として、前記コンピュータから前記宛先までのルート上の各ノードのノード識別子と公開鍵との組を前記送信元公開鍵で暗号化したルート情報を含むルート通知パケットを受け取ると、前記ルート情報を前記送信元公開鍵に対応する送信元秘密鍵で復号し、
復号により得られた前記ノード識別子と前記公開鍵との組を記録装置に格納する、
ことを特徴とする付記1記載の匿名ルート探索要求方法。
(Supplementary Note 5) A route notification packet including route information obtained by encrypting a pair of a node identifier and a public key of each node on the route from the computer to the destination with the source public key as a response to the route search packet And decrypting the route information with the source private key corresponding to the source public key,
Storing a set of the node identifier and the public key obtained by decryption in a recording device;
The anonymous route search request method according to supplementary note 1, wherein:

(付記6) 送信元が隠された伝送経路探索要求をコンピュータで中継するための匿名ルート探索要求中継方法において、
前記送信元の匿名識別子、探索相手を指定する宛先識別子、前記送信元から前記コンピュータまでの伝送ルートが暗号化された返信用匿名ルート情報、前記伝送ルート上で隣接するノードの識別情報である隣接ノード識別子、および返信データ暗号化用の送信元公開鍵を含むルート探索パケットを受け取ると、前記返信用匿名ルート情報と前記隣接ノード識別子とを自分のみが復号可能な形式で暗号化し、
前記ルート探索パケットに自分の識別情報である自ノード識別子を追加し、
前記ルート探索パケットをブロードキャストで送信する、
ことを特徴とする匿名ルート探索要求中継方法。
(Supplementary Note 6) In an anonymous route search request relay method for relaying a transmission route search request with a transmission source hidden by a computer,
Anonymous identifier of the transmission source, a destination identifier for designating a search partner, anonymized return route information in which a transmission route from the transmission source to the computer is encrypted, and adjacent information that is identification information of an adjacent node on the transmission route Upon receiving a route search packet including a node identifier and a transmission source public key for reply data encryption, the reply anonymous route information and the adjacent node identifier are encrypted in a format that only one can decrypt,
Add own node identifier that is identification information of itself to the route search packet,
Transmitting the route search packet by broadcast;
An anonymous route search request relay method characterized by the above.

(付記7) 前記ブロードキャストでの送信は、前記ルート探索パケットが入力された伝送路以外の伝送路に対して行うことを特徴とする付記6記載の匿名ルート探索要求中継方法。   (Supplementary note 7) The anonymous route search request relay method according to supplementary note 6, wherein transmission by the broadcast is performed on a transmission line other than the transmission line to which the route search packet is input.

(付記8) 匿名ルート経由の匿名通信をコンピュータで中継するための匿名データ中継方法において、
前記匿名ルート上の次の送信先を示す次ノード識別子と次の送信先から宛先までの匿名ルート情報とが前記コンピュータの公開鍵で暗号化された宛先匿名ルート情報、前記コンピュータから送信元までの伝送ルートを示す戻り匿名ルート情報、および前記伝送ルート上で隣接するノードの識別情報である隣接ノード識別子を含むデータパケットを受け取ると、前記宛先匿名ルート情報を前記公開鍵に対応する秘密鍵で復号して、前記次ノード識別子を判別するとともに、復号されたデータを新たな前記宛先匿名ルート情報として前記データパケットに設定し、
前記戻り匿名ルート情報と前記隣接ノード識別子とを前記公開鍵で暗号化して新たな前記戻り匿名ルート情報とし、
前記データパケットに前記コンピュータの自ノード識別子を追加し、
前記次ノード識別子で示されるノードに対して、前記データパケットを送信する、
ことを特徴とする匿名データ中継方法。
(Appendix 8) In the anonymous data relay method for relaying anonymous communication via an anonymous route with a computer,
Destination anonymous route information in which the next node identifier indicating the next destination on the anonymous route and the anonymous route information from the next destination to the destination are encrypted with the public key of the computer, from the computer to the source When receiving a data packet including return anonymous route information indicating a transmission route and an adjacent node identifier which is identification information of an adjacent node on the transmission route, the destination anonymous route information is decrypted with a secret key corresponding to the public key. And determining the next node identifier and setting the decrypted data in the data packet as the new destination anonymous route information,
The return anonymous route information and the adjacent node identifier are encrypted with the public key as new return anonymous route information,
Adding the node identifier of the computer to the data packet;
Transmitting the data packet to the node indicated by the next node identifier;
An anonymous data relay method characterized by the above.

(付記9) 前記宛先匿名ルート情報の復号により隣接ノードのノード識別子と前記匿名ルート情報との組が複数得られたとき、1つの組を新たな前記宛先ルート情報とし、他の組をバックトラック匿名ルート情報として前記戻り匿名ルート情報と合わせて前記公開鍵で暗号化し、暗号化されたデータに前記コンピュータの自ノード識別子を付加して新たな前記戻り匿名ルート情報とすることを特徴とする付記8記載の匿名データ中継方法。   (Supplementary Note 9) When a plurality of pairs of node identifiers of adjacent nodes and the anonymous route information are obtained by decoding the destination anonymous route information, one set is used as the new destination route information, and the other set is backtracked. An additional note characterized by encrypting with the public key together with the return anonymous route information as anonymous route information, and adding the own node identifier of the computer to the encrypted data as the new return anonymous route information 8. The anonymous data relay method according to 8.

(付記10) 前記データパケットの送信に失敗した場合、前記データパケットの前記宛先匿名ルート情報を前記データパケット受信時の前記戻り匿名ルート情報に置き換えて、前記データパケットを送信してきたノードへ前記データパケットを返送することを特徴とする付記8記載の匿名データ中継方法。   (Supplementary Note 10) If transmission of the data packet fails, the destination anonymous route information of the data packet is replaced with the return anonymous route information when the data packet is received, and the data is transmitted to the node that has transmitted the data packet. The anonymous data relay method according to appendix 8, wherein the packet is returned.

(付記11) 返送された前記データパケットの前記宛先匿名ルート情報を復号したとき、前記バックトラック匿名ルート情報が含まれていた場合、前記バックトラック匿名ルート情報で示されるノード識別子を前記次ノード識別子とすることを特徴とする付記10記載の匿名データ中継方法。   (Supplementary Note 11) When the destination anonymous route information of the returned data packet is decoded, if the backtrack anonymous route information is included, the node identifier indicated by the backtrack anonymous route information is set as the next node identifier. The anonymous data relay method according to appendix 10, characterized in that:

(付記12) 前記データパケットの送信に失敗した場合、前記宛先匿名ルート情報と前記戻り匿名ルート情報とのいずれにも他の匿名ルート情報がなければ、前記コンピュータに隣接している各ノードに、前記データパケットをマルチキャストで送信することを特徴とする付記8記載の匿名データ中継方法。   (Additional remark 12) When transmission of the data packet fails, if there is no other anonymous route information in any of the destination anonymous route information and the return anonymous route information, each node adjacent to the computer, The anonymous data relay method according to appendix 8, wherein the data packet is transmitted by multicast.

(付記13) 送信元が隠された伝送経路探索要求に対して宛先となるコンピュータで応答するための匿名ルート探索要求応答方法において、
前記送信元の匿名識別子、前記コンピュータ宛のパケットを示す宛先識別子、前記送信元から前記コンピュータまでの伝送ルートが暗号化された返信用匿名ルート情報、前記伝送ルート上で隣接するノードの識別情報である隣接ノード識別子、および返信データ暗号化用の送信元公開鍵を含むルート探索パケットを受け取ると、自分の識別情報である自ノード識別子と、自ノード宛て情報の暗号化用の受信ノード公開鍵とを前記送信元公開鍵で暗号化してルート情報とし、
前記匿名識別子でルート通知先が指定され、前記返信用匿名ルート情報、前記ルート情報、および前記送信元公開鍵を含むルート通知パケットを生成し、
前記隣接ノード識別子で示されるノードに対して前記ルート通知パケットを送信する、
ことを特徴とする匿名ルート探索要求応答方法。
(Supplementary note 13) In an anonymous route search request response method for responding to a transmission route search request in which a transmission source is hidden by a destination computer,
Anonymous identifier of the transmission source, a destination identifier indicating a packet addressed to the computer, anonymized return route information in which a transmission route from the transmission source to the computer is encrypted, and identification information of adjacent nodes on the transmission route When a route search packet including a certain adjacent node identifier and a transmission source public key for reply data encryption is received, the own node identifier which is its own identification information, and a receiving node public key for encrypting information addressed to the own node, Is encrypted with the source public key as route information,
A route notification destination is specified by the anonymous identifier, and a route notification packet including the anonymous route information for reply, the route information, and the source public key is generated,
Sending the route advertisement packet to the node indicated by the adjacent node identifier;
An anonymous route search request response method characterized by the above.

(付記14) 宛先までの伝送経路を送信元を隠して探索するための匿名ルート探索要求プログラムにおいて、
コンピュータに、
宛先識別子で前記宛先を指定した経路探索要求を受け取ると、自分の識別情報である自ノード識別子を自分のみが復号可能な形式で暗号化して返信用匿名ルート情報とし、
任意に生成した匿名識別子、前記宛先識別子、前記返信用匿名ルート情報、および返信データ暗号化用の送信元公開鍵を含むルート探索パケットを生成し、
前記ルート探索パケットをブロードキャストで送信する、
処理を実行させることを特徴とする匿名ルート探索要求プログラム。
(Supplementary Note 14) In the anonymous route search request program for hiding and searching for the transmission route to the destination,
On the computer,
When receiving a route search request designating the destination by the destination identifier, the own node identifier that is the identification information of itself is encrypted in a format that can only be decrypted by the user to obtain the anonymous route information for reply,
An arbitrarily generated anonymous identifier, the destination identifier, the return anonymous route information, and a route search packet including a transmission source public key for reply data encryption,
Transmitting the route search packet by broadcast;
An anonymous route search request program characterized by causing processing to be executed.

(付記15) 送信元が隠された伝送経路探索要求を中継するための匿名ルート探索要求中継プログラムにおいて、
コンピュータに、
前記送信元の匿名識別子、探索相手を指定する宛先識別子、前記送信元から前記コンピュータまでの伝送ルートが暗号化された返信用匿名ルート情報、前記伝送ルート上で隣接するノードの識別情報である隣接ノード識別子、および返信データ暗号化用の送信元公開鍵を含むルート探索パケットを受け取ると、前記返信用匿名ルート情報と前記隣接ノード識別子とを自分のみが復号可能な形式で暗号化し、
前記ルート探索パケットに自分の識別情報である自ノード識別子を追加し、
前記ルート探索パケットをブロードキャストで送信する、
処理を実行させることを特徴とする匿名ルート探索要求中継プログラム。
(Supplementary Note 15) In the anonymous route search request relay program for relaying the transmission route search request with the transmission source hidden,
On the computer,
Anonymous identifier of the transmission source, a destination identifier for designating a search partner, anonymized return route information in which a transmission route from the transmission source to the computer is encrypted, and adjacent information that is identification information of an adjacent node on the transmission route Upon receiving a route search packet including a node identifier and a transmission source public key for reply data encryption, the reply anonymous route information and the adjacent node identifier are encrypted in a format that only one can decrypt,
Add own node identifier that is identification information of itself to the route search packet,
Transmitting the route search packet by broadcast;
An anonymous route search request relay program characterized by causing processing to be executed.

(付記16) 匿名ルート経由の匿名通信を中継するための匿名データ中継プログラムにおいて、
コンピュータに、
前記匿名ルート上の次の送信先を示す次ノード識別子と次の送信先から宛先までの匿名ルート情報とが前記コンピュータの公開鍵で暗号化された宛先匿名ルート情報、前記コンピュータから送信元までの伝送ルートを示す戻り匿名ルート情報、および前記伝送ルート上で隣接するノードの識別情報である隣接ノード識別子を含むデータパケットを受け取ると、前記宛先匿名ルート情報を前記公開鍵に対応する秘密鍵で復号して、前記次ノード識別子を判別するとともに、復号されたデータを新たな前記宛先匿名ルート情報として前記データパケットに設定し、
前記戻り匿名ルート情報と前記隣接ノード識別子とを前記公開鍵で暗号化して新たな前記戻り匿名ルート情報とし、
前記データパケットに前記コンピュータの自ノード識別子を追加し、
前記次ノード識別子で示されるノードに対して、前記データパケットを送信する、
処理を実行させることを特徴とする匿名データ中継プログラム。
(Supplementary Note 16) In the anonymous data relay program for relaying anonymous communication via the anonymous route,
On the computer,
Destination anonymous route information in which the next node identifier indicating the next destination on the anonymous route and the anonymous route information from the next destination to the destination are encrypted with the public key of the computer, from the computer to the source When receiving a data packet including return anonymous route information indicating a transmission route and an adjacent node identifier which is identification information of an adjacent node on the transmission route, the destination anonymous route information is decrypted with a secret key corresponding to the public key. And determining the next node identifier and setting the decrypted data in the data packet as the new destination anonymous route information,
The return anonymous route information and the adjacent node identifier are encrypted with the public key as new return anonymous route information,
Adding the node identifier of the computer to the data packet;
Transmitting the data packet to the node indicated by the next node identifier;
An anonymous data relay program characterized by executing processing.

(付記17) 送信元が隠された伝送経路探索要求に対して宛先となるコンピュータで応答するための匿名ルート探索要求応答プログラムにおいて、
コンピュータに、
前記送信元の匿名識別子、前記コンピュータ宛のパケットを示す宛先識別子、前記送信元から前記コンピュータまでの伝送ルートが暗号化された返信用匿名ルート情報、前記伝送ルート上で隣接するノードの識別情報である隣接ノード識別子、および返信データ暗号化用の送信元公開鍵を含むルート探索パケットを受け取ると、自分の識別情報である自ノード識別子と、自ノード宛て情報の暗号化用の受信ノード公開鍵とを前記送信元公開鍵で暗号化してルート情報とし、
前記匿名識別子でルート通知先が指定され、前記返信用匿名ルート情報、前記ルート情報、および前記送信元公開鍵を含むルート通知パケットを生成し、
前記隣接ノード識別子で示されるノードに対して前記ルート通知パケットを送信する、
処理を実行させることを特徴とする匿名ルート探索要求応答プログラム。
(Supplementary Note 17) In an anonymous route search request response program for responding to a transmission route search request in which a transmission source is hidden by a destination computer,
On the computer,
Anonymous identifier of the transmission source, a destination identifier indicating a packet addressed to the computer, anonymized return route information in which a transmission route from the transmission source to the computer is encrypted, and identification information of adjacent nodes on the transmission route When a route search packet including a certain adjacent node identifier and a transmission source public key for reply data encryption is received, the own node identifier which is its own identification information, and a receiving node public key for encrypting information addressed to the own node, Is encrypted with the source public key as route information,
A route notification destination is specified by the anonymous identifier, and a route notification packet including the anonymous route information for reply, the route information, and the source public key is generated,
Sending the route advertisement packet to the node indicated by the adjacent node identifier;
An anonymous route search request response program characterized by causing processing to be executed.

(付記18) 宛先までの伝送経路を送信元を隠して探索する匿名ルート探索要求装置において、
宛先識別子で前記宛先を指定した経路探索要求を受け取ると、自分の識別情報である自ノード識別子を自分のみが復号可能な形式で暗号化して返信用匿名ルート情報を生成する返信用匿名ルート情報生成手段と、
任意に生成した匿名識別子、前記宛先識別子、前記返信用匿名ルート情報、および返信データ暗号化用の送信元公開鍵を含むルート探索パケットを生成するルート探索パケット生成手段と、
前記ルート探索パケットをブロードキャストで送信する送信手段と、
を有することを特徴とする匿名ルート探索要求装置。
(Supplementary note 18) In an anonymous route search requesting device for hiding a transmission source and searching a transmission route to a destination,
When receiving a route search request specifying the destination with the destination identifier, the reply anonymous route information is generated by encrypting the own node identifier, which is its own identification information, in a format that can only be decrypted by itself. Means,
Route search packet generating means for generating a route search packet including an arbitrarily generated anonymous identifier, the destination identifier, the return anonymous route information, and a transmission source public key for reply data encryption,
Transmitting means for transmitting the route search packet by broadcast;
An anonymous route search requesting device characterized by comprising:

(付記19) 送信元が隠された伝送経路探索要求を中継するための匿名ルート探索要求中継装置において、
前記送信元の匿名識別子、探索相手を指定する宛先識別子、前記送信元から自装置までの伝送ルートが暗号化された返信用匿名ルート情報、前記伝送ルート上で隣接するノードの識別情報である隣接ノード識別子、および返信データ暗号化用の送信元公開鍵を含むルート探索パケットを受け取ると、前記返信用匿名ルート情報と前記隣接ノード識別子とを自分のみが復号可能な形式で暗号化する暗号化手段と、
前記ルート探索パケットに自分の識別情報である自ノード識別子を追加する自ノード識別子追加手段と、
前記ルート探索パケットをブロードキャストで送信する送信手段と、
を有することを特徴とする匿名ルート探索要求中継装置。
(Supplementary note 19) In an anonymous route search request relay device for relaying a transmission route search request in which a transmission source is hidden,
Anonymous identifier of the transmission source, a destination identifier for designating a search partner, anonymized return route information in which a transmission route from the transmission source to the own device is encrypted, and an adjacent information which is identification information of an adjacent node on the transmission route When receiving a route search packet including a node identifier and a transmission source public key for reply data encryption, an encryption means for encrypting the reply anonymous route information and the adjacent node identifier in a format that only one can decrypt. When,
A self-node identifier adding means for adding a self-node identifier that is self-identification information to the route search packet;
Transmitting means for transmitting the route search packet by broadcast;
An anonymous route search request relay device comprising:

(付記20) 送信元が隠された伝送経路探索要求に対して応答するための匿名ルート探索要求応答装置において、
前記送信元の匿名識別子、自装置宛のパケットを示す宛先識別子、前記送信元から自装置までの伝送ルートが暗号化された返信用匿名ルート情報、前記伝送ルート上で隣接するノードの識別情報である隣接ノード識別子、および返信データ暗号化用の送信元公開鍵を含むルート探索パケットを受け取ると、自分の識別情報である自ノード識別子と、自ノード宛て情報の暗号化用の受信ノード公開鍵とを前記送信元公開鍵で暗号化してルート情報を生成するルート情報生成手段と、
前記匿名識別子でルート通知先が指定され、前記返信用匿名ルート情報、前記ルート情報、および前記送信元公開鍵を含むルート通知パケットを生成するルート通知パケット生成手段と、
前記隣接ノード識別子で示されるノードに対して前記ルート通知パケットを送信する送信手段と、
を有することを特徴とする匿名ルート探索要求応答装置。
(Supplementary note 20) In an anonymous route search request response device for responding to a transmission route search request in which the transmission source is hidden,
Anonymous identifier of the transmission source, a destination identifier indicating a packet addressed to the own device, an anonymous route information for reply in which a transmission route from the transmission source to the own device is encrypted, and identification information of adjacent nodes on the transmission route When a route search packet including a certain adjacent node identifier and a transmission source public key for reply data encryption is received, the own node identifier which is its own identification information, and a receiving node public key for encrypting information addressed to the own node, Route information generating means for generating route information by encrypting with the transmission source public key;
A route notification packet generation means for generating a route notification packet including a route notification destination specified by the anonymous identifier, the anonymous route information for reply, the route information, and the transmission source public key;
Transmitting means for transmitting the route notification packet to the node indicated by the adjacent node identifier;
An anonymous route search request response device characterized by comprising:

(付記21) ネットワーク上で匿名のメッセージ交換を行うための電子掲示板提供装置において、
掲示板に掲載するメッセージ、投稿者の送信元から辿ってきた第1伝送ルートを示す第1戻り匿名ルート情報、および前記第1伝送ルート上で隣接するノードの識別情報である第1隣接ノード識別子を含む自分宛の投稿データパケットを受け取ると、前記データパケットの内容をデータベースに登録する登録手段と、
前記メッセージに対する検索条件、検索者の送信元から辿ってきた第2伝送ルートを示す第2戻り匿名ルート情報、前記第2伝送ルート上で隣接するノードの識別情報である第2隣接ノード識別子、および返信データ暗号化用の送信元公開鍵を含む自分宛の検索データパケットを受け取ると、前記検索条件により前記データベース内を検索する検索手段と、
前記検索手段で検出された前記メッセージ、前記第1戻り匿名ルート情報、および前記第1隣接ノード識別子を前記送信元公開鍵で暗号化する暗号化手段と、
暗号化されたデータ、および前記第2戻りルート情報を含む応答データパケットを生成するパケット生成手段と、
前記第2隣接ノード識別子で示されるノードに対して前記応答データパケットを送信する送信手段と、
を有することを特徴とする電子掲示板提供装置。
(Supplementary Note 21) In an electronic bulletin board providing apparatus for performing anonymous message exchange on a network,
A message to be posted on the bulletin board, first return anonymous route information indicating the first transmission route traced from the sender of the poster, and a first adjacent node identifier which is identification information of an adjacent node on the first transmission route. A registration means for registering the content of the data packet in a database upon receipt of the posted data packet addressed to itself including:
A search condition for the message, second return anonymous route information indicating a second transmission route traced from a sender of the searcher, a second adjacent node identifier which is identification information of an adjacent node on the second transmission route, and Upon receiving a search data packet addressed to itself including a transmission source public key for reply data encryption, search means for searching the database according to the search condition;
Encryption means for encrypting the message detected by the search means, the first return anonymous route information, and the first adjacent node identifier with the source public key;
Packet generating means for generating a response data packet including the encrypted data and the second return route information;
Transmitting means for transmitting the response data packet to the node indicated by the second adjacent node identifier;
An electronic bulletin board providing apparatus, comprising:

(付記22) ネットワーク上で匿名のメッセージ交換を行うための電子掲示板へメッセージをコンピュータで投稿するためのメッセージ投稿方法において、
前記メッセージの投稿要求を受け取ると、前記コンピュータの自ノード識別子を自分のみが復号可能な形式で暗号化し、暗号化後のデータに前記自ノード識別子を付加して戻りルート情報とし、
前記電子掲示板が提供されるサーバに対して匿名通信を行うための伝送ルートが定義された宛先匿名ルート情報、前記戻り匿名ルート情報、返信データ暗号化用の送信元公開鍵、および前記メッセージを含むデータパケットを生成し、
前記宛先匿名ルート情報で示されるルート上の隣接するノードへ、前記データパケットを送信する、
ことを特徴とするメッセージ投稿方法。
(Supplementary Note 22) In a message posting method for posting a message on a computer to an electronic bulletin board for performing anonymous message exchange on a network,
Upon receipt of the message posting request, the computer's own node identifier is encrypted in a format that only one can decrypt, and the own node identifier is added to the encrypted data as return route information,
Destination anonymous route information in which a transmission route for performing anonymous communication with the server provided with the electronic bulletin board is defined, the return anonymous route information, a source public key for reply data encryption, and the message Generate data packets,
Transmitting the data packet to an adjacent node on the route indicated by the destination anonymous route information;
A message posting method characterized by that.

(付記23) ネットワーク上で匿名のメッセージ交換を行うための電子掲示板に投稿されたメッセージをコンピュータで検索するための投稿メッセージ検索方法において、
前記メッセージの検索条件を受け取ると、前記コンピュータの自ノード識別子を自分のみが復号可能な形式で暗号化し、暗号化後のデータに前記自ノード識別子を付加して戻りルート情報とし、
前記電子掲示板が提供されるサーバに対して匿名通信を行うための伝送ルートが定義された宛先匿名ルート情報、前記戻り匿名ルート情報、および返信データ暗号化用の送信元公開鍵および前記検索条件を含むデータパケットを生成し、
前記宛先匿名ルート情報で示されるルート上の隣接するノードへ、前記データパケットを送信する、
ことを特徴とする投稿メッセージ検索方法。
(Supplementary Note 23) In a posted message search method for searching a computer for messages posted on an electronic bulletin board for performing anonymous message exchange on a network,
Upon receiving the search conditions for the message, the computer's own node identifier is encrypted in a format that can only be decrypted by the computer, and the own node identifier is added to the encrypted data as return route information,
Destination anonymous route information in which a transmission route for performing anonymous communication with the server provided with the electronic bulletin board is defined, the return anonymous route information, a source public key for reply data encryption, and the search condition Generates a data packet containing
Transmitting the data packet to an adjacent node on the route indicated by the destination anonymous route information;
Post message search method characterized by this.

(付記24) ネットワーク上の匿名のメッセージ交換を行うための電子掲示板をコンピュータで提供するための電子掲示板提供プログラムにおいて、
前記コンピュータに、
掲示板に掲載するメッセージ、投稿者の送信元から辿ってきた第1伝送ルートを示す第1戻り匿名ルート情報、および前記第1伝送ルート上で隣接するノードの識別情報である第1隣接ノード識別子を含む自分宛の投稿データパケットを受け取ると、前記データパケットの内容をデータベースに登録し、
前記メッセージに対する検索条件、検索者の送信元から辿ってきた第2伝送ルートを示す第2戻り匿名ルート情報、前記第2伝送ルート上で隣接するノードの識別情報である第2隣接ノード識別子、および返信データ暗号化用の送信元公開鍵を含む自分宛の検索データパケットを受け取ると、前記検索条件により前記データベース内を検索し、
検索手段で検出された前記メッセージ、前記第1戻り匿名ルート情報、および前記第1隣接ノード識別子を前記送信元公開鍵で暗号化し、
暗号化されたデータ、および前記第2戻りルート情報を含む応答データパケットを生成し、
前記第2隣接ノード識別子で示されるノードに対して前記応答データパケットを送信する、
処理を実行させることを特徴とする電子掲示板提供プログラム。
(Supplementary Note 24) In an electronic bulletin board providing program for providing an electronic bulletin board for performing anonymous message exchange on a network by a computer,
In the computer,
A message to be posted on the bulletin board, first return anonymous route information indicating the first transmission route traced from the sender of the poster, and a first adjacent node identifier which is identification information of an adjacent node on the first transmission route. Including the posted data packet addressed to itself, register the content of the data packet in the database,
A search condition for the message, second return anonymous route information indicating a second transmission route traced from a sender of the searcher, a second adjacent node identifier which is identification information of an adjacent node on the second transmission route, and When receiving a search data packet addressed to itself including a transmission source public key for reply data encryption, search the database according to the search condition,
The message detected by the search means, the first return anonymous route information, and the first adjacent node identifier are encrypted with the source public key,
Generating a response data packet including the encrypted data and the second return route information;
Transmitting the response data packet to the node indicated by the second adjacent node identifier;
An electronic bulletin board providing program characterized by causing processing to be executed.

実施の形態に適用される発明の概念図である。It is a conceptual diagram of the invention applied to embodiment. 匿名通信網の概念図である。It is a conceptual diagram of an anonymous communication network. 本発明の実施の形態に用いるP2Pオニオンノードのハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the P2P onion node used for embodiment of this invention. P2Pオニオンノードの概略機能構成を示すブロック図である。It is a block diagram which shows schematic function structure of a P2P onion node. P2Pオニオンノードの機能構成を示すブロック図である。It is a block diagram which shows the function structure of a P2P onion node. 匿名通信基盤接続認証機能を示す図である。It is a figure which shows an anonymous communication infrastructure connection authentication function. 匿名経路発見機能を示す図である。It is a figure which shows an anonymous route discovery function. ルート探索パケットのデータ構造例を示す図である。It is a figure which shows the data structure example of a route search packet. ルート通知パケットのデータ構造例を示す図である。It is a figure which shows the example of a data structure of a route notification packet. 匿名経路発見機能の処理手順を示すシーケンス図である。It is a sequence diagram which shows the process sequence of an anonymous route discovery function. ルート探索パケットの伝送経路を示す図である。It is a figure which shows the transmission path | route of a route search packet. ルート探索パケットの状態遷移状況を示す図である。It is a figure which shows the state transition state of a route search packet. ルート通知パケットの伝送経路を示す図である。It is a figure which shows the transmission path | route of a route notification packet. ルート通知パケットの状態遷移状況を示す図である。It is a figure which shows the state transition state of a route notification packet. 匿名ルート情報保持部内のデータ構造例を示す図である。It is a figure which shows the example of a data structure in an anonymous route information holding part. 匿名通信機能を示す概念図である。It is a conceptual diagram which shows an anonymous communication function. データパケットのデータ構造例を示す図である。It is a figure which shows the data structure example of a data packet. 匿名通信機能の処理手順を示すシーケンス図である。It is a sequence diagram which shows the process sequence of an anonymous communication function. データパケットの伝送経路を示す図である。It is a figure which shows the transmission path | route of a data packet. データパケットの状態遷移状況を示す図である。It is a figure which shows the state transition state of a data packet. バックトラック処理におけるデータパケットの伝送経路を示す図である。It is a figure which shows the transmission path | route of the data packet in a backtrack process. バックトラック転送時のデータパケットの状態遷移状況を示す図である。It is a figure which shows the state transition state of the data packet at the time of backtrack transfer. マルチキャストにおけるデータパケットの伝送経路を示す図である。It is a figure which shows the transmission path | route of the data packet in a multicast. 匿名掲示板に適用した匿名通信網の構成例を示す図である。It is a figure which shows the structural example of the anonymous communication network applied to the anonymous bulletin board. 投稿データを含むデータパケットの例を示す図である。It is a figure which shows the example of the data packet containing contribution data. DB内のデータ構造例を示す図である。It is a figure which shows the example of a data structure in DB. 検索要求を含むデータパケットの例を示す図である。It is a figure which shows the example of the data packet containing a search request. 検索結果を含むデータパケットの例を示す図である。It is a figure which shows the example of the data packet containing a search result. 返信メッセージを含むデータパケットの例を示す図である。It is a figure which shows the example of the data packet containing a reply message. 返信内容を含むデータパケットの伝送経路を示す図である。It is a figure which shows the transmission path | route of the data packet containing the reply content.

符号の説明Explanation of symbols

1 送信ノード
2 中継ノード
3 受信ノード
10 匿名通信網
100、200,300,410,420,430,440,450 P2Pオニオンノード
110,210,310 P2Pオニオンプロキシ
120,220,320 P2Pオニオンルータ
DESCRIPTION OF SYMBOLS 1 Transmission node 2 Relay node 3 Reception node 10 Anonymous communication network 100, 200, 300, 410, 420, 430, 440, 450 P2P onion node 110, 210, 310 P2P onion proxy 120, 220, 320 P2P onion router

Claims (4)

ネットワーク上で匿名のメッセージ交換を行うための電子掲示板提供装置において、
掲示板に掲載するメッセージ、投稿者の送信元から辿ってきた第1伝送ルートを示す第1戻り匿名ルート情報、および前記第1伝送ルート上で隣接するノードの識別情報である第1隣接ノード識別子を含む自分宛の投稿データパケットを受け取ると、前記データパケットの内容をデータベースに登録する登録手段と、
前記メッセージに対する検索条件、検索者の送信元から辿ってきた第2伝送ルートを示す第2戻り匿名ルート情報、前記第2伝送ルート上で隣接するノードの識別情報である第2隣接ノード識別子、および返信データ暗号化用の送信元公開鍵を含む自分宛の検索データパケットを受け取ると、前記検索条件により前記データベース内を検索する検索手段と、
前記検索手段で検出された前記メッセージ、前記第1戻り匿名ルート情報、および前記第1隣接ノード識別子を前記送信元公開鍵で暗号化する暗号化手段と、
暗号化されたデータ、および前記第2戻り匿名ルート情報を含む応答データパケットを生成するパケット生成手段と、
前記第2隣接ノード識別子で示されるノードに対して前記応答データパケットを送信する送信手段と、
を有することを特徴とする電子掲示板提供装置。
In the electronic bulletin board providing device for performing anonymous message exchange on the network,
A message to be posted on the bulletin board, first return anonymous route information indicating the first transmission route traced from the sender of the poster, and a first adjacent node identifier which is identification information of an adjacent node on the first transmission route. A registration means for registering the content of the data packet in a database upon receipt of the posted data packet addressed to itself including:
A search condition for the message, second return anonymous route information indicating a second transmission route traced from a sender of the searcher, a second adjacent node identifier which is identification information of an adjacent node on the second transmission route, and Upon receiving a search data packet addressed to itself including a transmission source public key for reply data encryption, search means for searching the database according to the search condition;
Encryption means for encrypting the message detected by the search means, the first return anonymous route information, and the first adjacent node identifier with the source public key;
Packet generation means for generating response data packets including the encrypted data and the second return anonymous route information;
Transmitting means for transmitting the response data packet to the node indicated by the second adjacent node identifier;
An electronic bulletin board providing apparatus, comprising:
ネットワーク上で匿名のメッセージ交換を行うための電子掲示板へメッセージをコンピュータで投稿するためのメッセージ投稿方法において、  In a message posting method for posting a message on a computer to an electronic bulletin board for anonymous message exchange on the network,
前記コンピュータが、  The computer is
前記メッセージの投稿要求を受け取ると、前記コンピュータの自ノード識別子を自分のみが復号可能な形式で暗号化し、暗号化後のデータに前記自ノード識別子を付加して戻り匿名ルート情報とし、  When the message posting request is received, the computer's own node identifier is encrypted in a format that can only be decrypted by itself, and the encrypted node data is added to the encrypted data as return anonymous route information.
前記電子掲示板が提供されるサーバに対して匿名通信を行うための伝送ルートが定義された宛先匿名ルート情報、前記戻り匿名ルート情報、返信データ暗号化用の送信元公開鍵、および前記メッセージを含むデータパケットを生成し、  Destination anonymous route information in which a transmission route for performing anonymous communication with the server provided with the electronic bulletin board is defined, the return anonymous route information, a source public key for reply data encryption, and the message Generate data packets,
前記宛先匿名ルート情報で示されるルート上の隣接するノードへ、前記データパケットを送信する、  Transmitting the data packet to an adjacent node on the route indicated by the destination anonymous route information;
ことを特徴とするメッセージ投稿方法。  A message posting method characterized by that.
ネットワーク上で匿名のメッセージ交換を行うための電子掲示板に投稿されたメッセージをコンピュータで検索するための投稿メッセージ検索方法において、  In a posted message search method for searching a computer for messages posted on an electronic bulletin board for performing anonymous message exchange on a network,
前記コンピュータが、  The computer is
前記メッセージの検索条件を受け取ると、前記コンピュータの自ノード識別子を自分のみが復号可能な形式で暗号化し、暗号化後のデータに前記自ノード識別子を付加して戻り匿名ルート情報とし、  Upon receiving the search conditions for the message, the computer's own node identifier is encrypted in a format that can only be decrypted by itself, and the encrypted node data is added to the encrypted data as return anonymous route information,
前記電子掲示板が提供されるサーバに対して匿名通信を行うための伝送ルートが定義された宛先匿名ルート情報、前記戻り匿名ルート情報、および返信データ暗号化用の送信元公開鍵および前記検索条件を含むデータパケットを生成し、  Destination anonymous route information in which a transmission route for performing anonymous communication with the server provided with the electronic bulletin board is defined, the return anonymous route information, a source public key for reply data encryption, and the search condition Generates a data packet containing
前記宛先匿名ルート情報で示されるルート上の隣接するノードへ、前記データパケットを送信する、  Transmitting the data packet to an adjacent node on the route indicated by the destination anonymous route information;
ことを特徴とする投稿メッセージ検索方法。  Post message search method characterized by this.
ネットワーク上の匿名のメッセージ交換を行うための電子掲示板をコンピュータで提供するための電子掲示板提供プログラムにおいて、  In an electronic bulletin board providing program for providing an electronic bulletin board for performing anonymous message exchange on a network by a computer,
前記コンピュータに、  In the computer,
掲示板に掲載するメッセージ、投稿者の送信元から辿ってきた第1伝送ルートを示す第1戻り匿名ルート情報、および前記第1伝送ルート上で隣接するノードの識別情報である第1隣接ノード識別子を含む自分宛の投稿データパケットを受け取ると、前記データパケットの内容をデータベースに登録し、  A message to be posted on the bulletin board, first return anonymous route information indicating the first transmission route traced from the sender of the poster, and a first adjacent node identifier which is identification information of an adjacent node on the first transmission route. Including the posted data packet addressed to itself, register the content of the data packet in the database,
前記メッセージに対する検索条件、検索者の送信元から辿ってきた第2伝送ルートを示す第2戻り匿名ルート情報、前記第2伝送ルート上で隣接するノードの識別情報である第2隣接ノード識別子、および返信データ暗号化用の送信元公開鍵を含む自分宛の検索データパケットを受け取ると、前記検索条件により前記データベース内を検索し、  A search condition for the message, second return anonymous route information indicating a second transmission route traced from a sender of the searcher, a second adjacent node identifier which is identification information of an adjacent node on the second transmission route, and When receiving a search data packet addressed to itself including a transmission source public key for reply data encryption, search the database according to the search condition,
検索手段で検出された前記メッセージ、前記第1戻り匿名ルート情報、および前記第1隣接ノード識別子を前記送信元公開鍵で暗号化し、  The message detected by the search means, the first return anonymous route information, and the first adjacent node identifier are encrypted with the source public key,
暗号化されたデータ、および前記第2戻り匿名ルート情報を含む応答データパケットを生成し、  Generating a response data packet including the encrypted data and the second return anonymous route information;
前記第2隣接ノード識別子で示されるノードに対して前記応答データパケットを送信する、  Transmitting the response data packet to the node indicated by the second adjacent node identifier;
処理を実行させることを特徴とする電子掲示板提供プログラム。  An electronic bulletin board providing program characterized by causing processing to be executed.
JP2008010136A 2008-01-21 2008-01-21 Electronic bulletin board providing device, message posting method, posted message search method, and electronic bulletin board providing program Expired - Fee Related JP4401415B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008010136A JP4401415B2 (en) 2008-01-21 2008-01-21 Electronic bulletin board providing device, message posting method, posted message search method, and electronic bulletin board providing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008010136A JP4401415B2 (en) 2008-01-21 2008-01-21 Electronic bulletin board providing device, message posting method, posted message search method, and electronic bulletin board providing program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003053673A Division JP4128094B2 (en) 2003-02-28 2003-02-28 Anonymous route search request method, anonymous route search request relay method, anonymous data relay method, and anonymous route search request response method

Publications (2)

Publication Number Publication Date
JP2008109717A JP2008109717A (en) 2008-05-08
JP4401415B2 true JP4401415B2 (en) 2010-01-20

Family

ID=39442638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008010136A Expired - Fee Related JP4401415B2 (en) 2008-01-21 2008-01-21 Electronic bulletin board providing device, message posting method, posted message search method, and electronic bulletin board providing program

Country Status (1)

Country Link
JP (1) JP4401415B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011121672A1 (en) * 2010-03-31 2011-10-06 富士通株式会社 Node device and data transmission method
CN102238090B (en) * 2011-07-08 2014-02-19 清华大学 Grouping rerouting method for anonymous communication system
CN110022483B (en) * 2018-01-08 2021-04-27 武汉斗鱼网络科技有限公司 A kind of hidden gift information processing method, electronic device and readable storage medium
CN116232677A (en) * 2022-12-30 2023-06-06 天翼物联科技有限公司 A Realization Method of Anonymous Communication Model Based on Identity Encryption
US20250254034A1 (en) * 2024-02-01 2025-08-07 Cisco Technology, Inc. Quantum secure anonymous communication networks

Also Published As

Publication number Publication date
JP2008109717A (en) 2008-05-08

Similar Documents

Publication Publication Date Title
US11159312B2 (en) Secure data exchange network
EP0702477B1 (en) System for signatureless transmission and reception of data packets between computer networks
JP2601983B2 (en) Secret communication method and device
US20220150220A1 (en) Secure data exchange network
US12309146B2 (en) Secure peer-to-peer based communication sessions via network operating system in secure data network
US20150271153A1 (en) Information management using proxy re-encryption
CN114448730B (en) Packet forwarding method and device based on block chain network and transaction processing method
WO2009087939A1 (en) Confidential communication method
Bilal et al. A secure key agreement protocol for dynamic group
JP5211342B2 (en) Secure communication method
JP4401415B2 (en) Electronic bulletin board providing device, message posting method, posted message search method, and electronic bulletin board providing program
US11368288B2 (en) Apparatus and method of lightweight communication protocols between multiple blockchains
JP4233437B2 (en) Anonymous data transmission method, anonymous data relay method, anonymous data transmission device, anonymous data relay device, anonymous data transmission program, and anonymous data relay program
US20180013729A1 (en) Secure Application Communication System
CN114205093B (en) Block chain message transmission method, device, client and storage medium
CN110034925B (en) Cross-machine room trusted computing cluster formation and communication method and device
JP2008508573A (en) Improvements related to secure communications
JP4128094B2 (en) Anonymous route search request method, anonymous route search request relay method, anonymous data relay method, and anonymous route search request response method
US20090254756A1 (en) Data communication method
EP3709564B1 (en) Data sharing method, data sharing system, data sharing server, communication terminal, and program
US20010044905A1 (en) System and method for secure data communications
CN115714780B (en) A consortium blockchain self-discovery method based on multiple consortium blockchains and multiple relay chains.
CN118802135B (en) Quantum secure communication methods, devices, systems, equipment, media and products
JP5018484B2 (en) Communication control device
Lazzaro et al. Hiding identities of MQTT devices against a global network adversary

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091027

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091027

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121106

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121106

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131106

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees