JP2006099515A - Communication method, client, and server - Google Patents

Communication method, client, and server Download PDF

Info

Publication number
JP2006099515A
JP2006099515A JP2004286006A JP2004286006A JP2006099515A JP 2006099515 A JP2006099515 A JP 2006099515A JP 2004286006 A JP2004286006 A JP 2004286006A JP 2004286006 A JP2004286006 A JP 2004286006A JP 2006099515 A JP2006099515 A JP 2006099515A
Authority
JP
Japan
Prior art keywords
server
client
document
signature
notification document
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.)
Withdrawn
Application number
JP2004286006A
Other languages
Japanese (ja)
Inventor
Hayato Ikebe
早人 池部
Yoshinori Hatayama
佳紀 畑山
Kazuya Ogawa
和也 小川
Koji Takemura
浩司 武村
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2004286006A priority Critical patent/JP2006099515A/en
Priority to CNB2005101068680A priority patent/CN100421377C/en
Publication of JP2006099515A publication Critical patent/JP2006099515A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To prevent confusion caused due to connection to an unauthorized server by a new client/server newly trying connection to a network. <P>SOLUTION: In this communication method for allowing a client to connect to any of a plurality of working servers connected to the network, each of a plurality of working servers is provided with a process for generating a function notification document notifying a function of the working server, a process for adding a signature to the function notification document and transmitting it to the client, a process for allowing the client to determine validity of the received function notification document based on the signature, and a process for allowing the client to decide the working server at a connection destination based on the function of the working server notified by the function notification document from the working servers, from which the valid function notification is received. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、ネットワークに接続されている複数の稼動サーバのいずれかにクライアント
が接続するための通信方法、複数の稼動サーバが接続されているネットワークに対して新
規サーバが参加するための通信方法、かかる通信方法を実現するクライアント及びサーバ
に関する。
The present invention relates to a communication method for a client to connect to any of a plurality of active servers connected to a network, a communication method for a new server to participate in a network to which a plurality of active servers are connected, The present invention relates to a client and a server that realize such a communication method.

近年、ホームネットワークに注目が集まっており、各社がホームネットワークの開発に
注力している。
In recent years, attention has been focused on home networks, and each company is focusing on the development of home networks.

かかるホームネットワークでは、様々な情報を収集して、ホームネットワークに接続さ
れている様々な機器を制御する必要がある。そのためには、ホームネットワークに接続さ
れる全クライアントが唯1つの稼動サーバに接続するシステムが有効となる。
特開2002-77143号公報
In such a home network, it is necessary to collect various information and control various devices connected to the home network. For this purpose, a system in which all clients connected to the home network are connected to only one active server is effective.
JP 2002-77143 A

上述のような従来のシステムでは、ホームネットワークに新規クライアントや新規サー
バが登場した際には、かかる新規クライアントや新規サーバがどの稼動サーバに接続する
かについて選択を行う必要がある。かかる選択の際に、稼動サーバから、当該稼動サーバ
の機能を通知するための機能通知文書(サブスクライブ(subscribe)文書)が
送信される。
In the conventional system as described above, when a new client or new server appears on the home network, it is necessary to select which operating server the new client or new server is connected to. At the time of such selection, a function notification document (subscribe document) for notifying the function of the active server is transmitted from the active server.

しかしながら、従来の通信システムでは、かかる機能通知文書が、悪意の第3者によっ
て偽造されたものである場合、クライアントが、正当ではないサーバに接続しようとする
ため、ホームネットワークに混乱をきたしてしまうという問題点があった。
However, in the conventional communication system, when the function notification document is forged by a malicious third party, the client tries to connect to an unauthorized server, which causes confusion in the home network. There was a problem.

そこで、本発明は、以上の点に鑑みてなされたもので、新たにネットワークへの接続を
試みる新規クライアント又は新規サーバが、正当ではないサーバに接続することから生じ
る混乱の回避を図ることが可能な通信方法、クライアント及びサーバを提供することを目
的とする。
Therefore, the present invention has been made in view of the above points, and it is possible to avoid confusion caused by a new client or new server attempting to connect to a network connecting to an unauthorized server. An object is to provide a simple communication method, a client, and a server.

本発明の第1の特徴は、クライアントが、ネットワークに接続されている複数の稼動サ
ーバのいずれかに接続するための通信方法であって、前記複数の稼動サーバの各々が、該
稼動サーバの機能を通知する機能通知文書を生成する工程と、前記複数の稼動サーバの各
々が、前記機能通知文書に対して署名を付加して前記クライアントに対して送信する工程
と、前記クライアントが、前記署名に基づいて、受信した前記機能通知文書の正当性を判
断する工程と、前記クライアントが、正当な機能通知文書を受信した稼動サーバの中から
、該機能通知文書によって通知されている稼動サーバの機能に基づいて、接続先の稼動サ
ーバを決定する工程とを有することを要旨とする。
A first feature of the present invention is a communication method for a client to connect to any of a plurality of active servers connected to a network, wherein each of the plurality of active servers has a function of the active server. Generating a function notification document that notifies the function notification, a step in which each of the plurality of active servers adds a signature to the function notification document and transmits the signature to the client, and the client adds the signature to the signature. And determining the validity of the received function notification document based on the function of the active server notified by the function notification document from among the active servers from which the client has received the valid function notification document. And a step of determining a connection destination operating server.

かかる発明によれば、新規クライアントが、稼動サーバから受信した機能通知文書(サ
ブスクライブ文書)の正当性を判断し、正当な機能通知文書を受信した稼動サーバの中か
ら接続先の稼動サーバを決定するので、新規クライアントが不正なサーバに接続すること
を防ぐことができる。
According to this invention, the new client judges the validity of the function notification document (subscribe document) received from the active server, and determines the connection-destination active server from the active servers that received the valid function notification document. Therefore, it is possible to prevent a new client from connecting to an unauthorized server.

また、かかる発明によれば、新規クライアントが、機能通知文書によって通知されてい
る稼動サーバの機能に基づいて接続先の稼動サーバを決定するため、新規クライアントが
、最適なネットワーク構成を実現するにあたって最適な稼動サーバと接続を確立すること
ができる。
Further, according to this invention, since the new client determines the operation server to be connected based on the function of the operation server notified by the function notification document, the new client is optimal for realizing an optimal network configuration. A connection can be established with any active server.

本発明の第1の特徴において、前記稼動サーバが、該稼動サーバの秘密鍵及び前記クラ
イアントの公開鍵を用いて生成可能な該クライアントとの間の共通鍵を用いて前記署名を
生成し、前記クライアントが、該クライアントの秘密鍵及び前記稼動サーバの公開鍵を用
いて生成可能な前記共通鍵を用いて前記機能通知文書の正当性を判断するように構成され
ていてもよい。
In the first aspect of the present invention, the active server generates the signature using a common key between the active server and the client that can be generated using the secret key of the active server and the public key of the client, The client may be configured to determine the validity of the function notification document by using the common key that can be generated using the private key of the client and the public key of the operation server.

本発明の第2の特徴は、新規サーバが、複数の稼動サーバが接続されているネットワー
クに対して参加するための通信方法であって、前記新規サーバが、該新規サーバの機能を
通知する機能通知文書を生成する工程と、前記新規サーバが、前記機能通知文書に対して
署名を付加して前記稼動サーバに対して送信する工程と、前記稼動サーバが、前記署名に
基づいて、受信した前記機能通知文書の正当性を判断する工程と、前記稼動サーバが、受
信した前記機能通知文書が正当であると判断した場合、該機能通知文書によって通知され
ている前記新規サーバの機能に基づいて、該稼動サーバとクライアントとの間の接続を、
前記新規サーバと該クライアントとの間の接続に切り替えるか否かについて判断する工程
とを有することを要旨とする。
The second feature of the present invention is a communication method for a new server to participate in a network to which a plurality of active servers are connected, wherein the new server notifies the function of the new server. Generating a notification document, the new server adding a signature to the function notification document and transmitting the signature to the active server, and the active server receiving the signature based on the signature Determining the validity of the function notification document, and if the active server determines that the received function notification document is valid, based on the function of the new server notified by the function notification document, A connection between the operational server and the client,
And a step of determining whether or not to switch to a connection between the new server and the client.

かかる発明によれば、稼動サーバが、機能通知文書(サブスクライブ文書)によって通
知された新規サーバの機能に基づいて、クライアントと稼動サーバとの間の接続を、クラ
イアントと新規サーバとの間の接続に切り替えるか否かについて判断するため、最適なネ
ットワーク構成を実現することができる。
According to this invention, the active server connects the connection between the client and the active server and the connection between the client and the new server based on the function of the new server notified by the function notification document (subscribe document). Therefore, it is possible to realize an optimal network configuration.

本発明の第2の特徴において、前記新規サーバが、該新規サーバの秘密鍵及び前記稼動
サーバの公開鍵を用いて生成可能な該稼動サーバとの間の共通鍵を用いて前記署名を生成
し、前記稼動サーバが、該稼動サーバの秘密鍵及び前記新規サーバの公開鍵を用いて生成
可能な前記共通鍵を用いて前記機能通知文書の正当性を判断するように構成されていても
よい。
In the second aspect of the present invention, the new server generates the signature by using a common key between the new server that can be generated using a secret key of the new server and a public key of the active server. The operation server may be configured to determine the validity of the function notification document using the common key that can be generated using the secret key of the operation server and the public key of the new server.

本発明の第3の特徴は、ネットワークに接続されている複数の稼動サーバのいずれかに
接続可能に構成されているクライアントであって、前記複数の稼動サーバの各々から、該
稼動サーバの機能を通知する機能通知文書を受信する機能通知文書受信部と、受信した前
記機能通知文書に付加されている署名に基づいて、受信した前記機能通知文書の正当性を
判断する判断部と、正当な機能通知文書を受信した稼動サーバの中から、該機能通知文書
によって通知されている稼動サーバの機能に基づいて、接続先の稼動サーバを決定する接
続先決定部とを具備することを要旨とする。
A third feature of the present invention is a client configured to be connectable to any one of a plurality of active servers connected to a network, and the function of the active server is provided from each of the plurality of active servers. A function notification document receiving unit for receiving the function notification document to be notified, a determination unit for determining the validity of the received function notification document based on a signature added to the received function notification document, and a valid function The gist of the present invention is to include a connection destination determination unit that determines a connection destination active server based on the function of the active server notified by the function notification document from the active servers that have received the notification document.

本発明の第3の特徴において、前記接続先決定部が、前記機能通知文書を参照して、最
も多くの数の機能を具備している稼動サーバを、前記接続先の稼動サーバとして決定して
もよい。
In the third aspect of the present invention, the connection destination determination unit refers to the function notification document to determine an operation server having the largest number of functions as the connection destination operation server. Also good.

本発明の第3の特徴において、前記接続先決定部が、前記機能通知文書を参照して、ク
ライアントとの接続数が最も多い稼動サーバ(HCSPC接続数が最も多い稼動サーバ)
を、前記接続先の稼動サーバとして決定してもよい。
In the third aspect of the present invention, the connection destination determination unit refers to the function notification document and has the largest number of connections with clients (an operation server with the largest number of HCSPC connections).
May be determined as the operation server of the connection destination.

本発明の第3の特徴において、前記接続先決定部が、前記機能通知文書を参照して、最
も値が小さい識別子によって識別される稼動サーバ(HCS識別子の最も小さい稼動サー
バ)を、前記接続先の稼動サーバとして決定してもよい。
In the third feature of the present invention, the connection destination determination unit refers to the function notification document and selects an operation server identified by an identifier having the smallest value (an operation server having the smallest HCS identifier) as the connection destination. May be determined as the active server.

本発明の第4の特徴は、ネットワークに接続されているサーバであって、前記ネットワ
ークへの接続を望む新規サーバから、該新規サーバの機能を通知する機能通知文書を受信
する機能通知文書受信部と、受信した前記機能通知文書に付加された署名に基づいて、該
機能通知文書の正当性を判断する正当性判断部と、受信した前記機能通知文書が正当であ
ると判断した場合、該機能通知文書によって通知されている機能に基づいて、前記サーバ
とクライアントとの間の接続を、前記新規サーバと該クライアントとの間の接続に切り替
えるか否かについて判断する判断部とを具備することを要旨とする。
A fourth feature of the present invention is a function notification document receiving unit that is a server connected to a network and receives a function notification document that notifies the function of the new server from a new server that desires connection to the network. And, based on the signature added to the received function notification document, a legitimacy determination unit that determines the legitimacy of the function notification document, and if the received function notification document is determined to be valid, A determination unit that determines whether or not to switch the connection between the server and the client to the connection between the new server and the client based on the function notified by the notification document; The gist.

本発明の第4の特徴において、前記判断部が、前記新規サーバから送信された前記機能
通知文書を参照して、該新規サーバの機能の数が前記サーバの機能の数よりも多い場合、
前記接続を切り替えるように判断してもよい。
In the fourth aspect of the present invention, when the determination unit refers to the function notification document transmitted from the new server and the number of functions of the new server is greater than the number of functions of the server,
It may be determined to switch the connection.

本発明の第4の特徴において、前記判断部が、前記新規サーバから送信された前記機能
通知文書を参照して、前記新規サーバにおけるクライアントとの接続数が前記サーバにお
けるクライアントとの接続数よりも多い場合、前記接続を切り替えるように判断してもよ
い。
In the fourth aspect of the present invention, the determination unit refers to the function notification document transmitted from the new server, and the number of connections with the client in the new server is greater than the number of connections with the client in the server. If so, it may be determined to switch the connection.

本発明の第4の特徴において、前記判断部が、前記新規サーバから送信された前記機能
通知文書を参照して、該新規サーバを識別する識別子(HCS識別子)の値が前記サーバ
を識別する識別子(HCS識別子)の値よりも小さい場合、前記接続を切り替えるように
判断してもよい。
In the fourth aspect of the present invention, an identifier for identifying the server by which the determination unit refers to the function notification document transmitted from the new server and the value of the identifier (HCS identifier) identifying the new server is If the value is smaller than the value of (HCS identifier), it may be determined to switch the connection.

以上説明したように、本発明によれば、新たにネットワークへの接続を試みる新規クラ
イアント又は新規サーバが、正当ではないサーバに接続することから生じる混乱の回避を
図ることが可能な通信方法、クライアント及びサーバを提供することができる。
As described above, according to the present invention, a communication method and a client capable of avoiding confusion caused by a new client or new server attempting to connect to a network connecting to an unauthorized server. And a server can be provided.

(本発明の第1の実施形態に係る通信システムの構成)
図1乃至図3を参照して、本発明の第1の実施形態に係る通信システムの構成について
説明する。本実施形態に係る通信システムでは、図1に示すように、新規クライアント又
は新規サーバが、複数の稼動サーバが接続しているネットワーク(例えば、ホームネット
ワーク)に接続(参加)するように構成されている。
(Configuration of communication system according to first embodiment of the present invention)
A configuration of a communication system according to the first embodiment of the present invention will be described with reference to FIGS. 1 to 3. In the communication system according to the present embodiment, as shown in FIG. 1, a new client or a new server is configured to connect (participate) to a network (for example, a home network) to which a plurality of operation servers are connected. Yes.

図2に示すように、本実施形態に係る通信システムにおけるクライアント10は、主な
機能として、タイマー管理部101と、タイマーハンドラ部102と、起動処理部103
と、乱数生成部104と、接続先決定部105と、鍵情報記憶部106と、署名算出部1
07と、署名比較部108と、サブスクライブ保存部109と、接続サーバ情報記憶部1
10と、アドバタイズ生成部111と、機器情報記憶部112と、鍵情報取得部113と
、署名取得部114と、サブスクライブ処理部115と、UDPユニキャスト受信部11
6と、UDPマルチキャスト送信部117とを具備している。
As shown in FIG. 2, the client 10 in the communication system according to the present embodiment has a timer management unit 101, a timer handler unit 102, and an activation processing unit 103 as main functions.
A random number generation unit 104, a connection destination determination unit 105, a key information storage unit 106, and a signature calculation unit 1.
07, signature comparison unit 108, subscribe storage unit 109, connection server information storage unit 1
10, the advertisement generation unit 111, the device information storage unit 112, the key information acquisition unit 113, the signature acquisition unit 114, the subscribe processing unit 115, and the UDP unicast reception unit 11.
6 and a UDP multicast transmission unit 117.

タイマー管理部101は、アドバタイズ生成部111からの依頼に応じて、タイマーを
設定することによって、稼動サーバからのサブスクライブ文書(稼動サーバの機能を通知
する機能通知文書)の受信を待つためのサブスクライブ文書受信待ち時間を管理するもの
である。
The timer management unit 101 sets a timer in response to a request from the advertisement generation unit 111, thereby subscribing to wait for reception of a subscribe document (function notification document that notifies the function of the active server) from the active server. It manages live document reception waiting time.

タイマーハンドラ部102は、タイマー管理部101によって管理されているサブスク
ライブ文書受信待ち時間が経過した場合、接続先決定部105に対して、クライアント1
0の接続先の稼動サーバを決定するように依頼するものである。
When the waiting time for receiving a subscribe document managed by the timer management unit 101 has elapsed, the timer handler unit 102 sends the client 1 to the connection destination determination unit 105.
A request is made to determine a working server of 0 connection destination.

起動処理部103は、クライアント10が起動した際に必要な起動処理を行うものであ
る。例えば、起動処理部103は、署名の算出に必要なクライアント10の乱数を生成す
るように乱数生成部104に依頼し、アドバタイズ(advertise)文書を生成す
るようにアドバタイズ生成部111に依頼する。
The activation processing unit 103 performs necessary activation processing when the client 10 is activated. For example, the activation processing unit 103 requests the random number generation unit 104 to generate a random number of the client 10 necessary for calculating the signature, and requests the advertisement generation unit 111 to generate an advertisement document.

乱数生成部104は、起動処理部103からの依頼に応じて、クライアント10の乱数
を生成するものである。以下、クライアント10の乱数を「乱数10」というように表現
するものとする。
The random number generation unit 104 generates a random number for the client 10 in response to a request from the activation processing unit 103. Hereinafter, the random number of the client 10 is expressed as “random number 10”.

接続先決定部105は、タイマーハンドラ部102からの依頼に応じて、正当なサブス
クライブ文書を受信した稼動サーバの中から、接続先の稼動サーバを決定するものである
In response to a request from the timer handler unit 102, the connection destination determination unit 105 determines a connection destination operation server from among the operation servers that have received a valid subscribe document.

具体的には、接続先決定部105は、サブスクライブ保存部109に保存されているサ
ブスクライブ文書によって通知されている稼動サーバの機能に基づいて、接続先の稼動サ
ーバを決定する。
Specifically, the connection destination determination unit 105 determines a connection destination active server based on the function of the operation server notified by the subscribe document stored in the subscribe storage unit 109.

ここで、サブスクライブ文書は、稼動サーバが具備する機能(「features=」
)や、クライアントとの接続数(HCSPC(Home Control Servic
e Protocol)接続数(「connected=」))や、稼動サーバが具備す
る機能を識別する識別子(HCSPC識別子(「hcsps:」))を含む(図6参照)
Here, the subscribe document is a function (“features =”) that the active server has.
) And the number of connections with the client (HCSPC (Home Control Service)
e Protocol) the number of connections (“connected =”)) and an identifier (HCSPC identifier (“hcsps:”)) identifying the function of the active server (see FIG. 6)
.

例えば、接続先決定部105は、最も多い数の機能を具備する稼動サーバを、接続先の
稼動サーバとして決定するように構成されていてもよい。
For example, the connection destination determination unit 105 may be configured to determine the operation server having the largest number of functions as the connection destination operation server.

また、接続先決定部105は、同じ数の機能を具備する稼動サーバが複数存在する場合
、HCSPC接続数が最も多いサーバを、接続先の稼動サーバとして決定するように構成
されていてもよい。
Further, the connection destination determination unit 105 may be configured to determine the server having the largest number of HCSPC connections as the connection destination operation server when there are a plurality of operation servers having the same number of functions.

さらに、接続先決定部105は、同じ数の機能を具備しで、かつ、HCSPC接続数も
同じ稼動サーバが複数存在する場合、HCSPC識別子の値が最も小さい稼動サーバ(H
CSPCの識別子を文字リテラルとした場合)、接続先の稼動サーバとして決定するよう
に構成されていてもよい。
Further, the connection destination determination unit 105 has the same number of functions and there are a plurality of operation servers having the same number of HCSPC connections, the operation server (H
When the identifier of the CSPC is a character literal), it may be configured to be determined as a connection destination active server.

例えば、HCSPC識別子#1が「hcsps:/PtPvXYJSQSqwTJpP
GjwOg」であり、HCSPC識別子#2が「hcsps:78AFYZ/eQ1az
6o2JrRMrw」である場合、HCSPC識別子#1の先頭の文字「/」を文字リテ
ラルとしたときの値は「#x2F」であり、HCSPC識別子#2の先頭の文字「7」を
文字リテラルとしたときの値は「#x37」であるため、HCSPC識別子#1の方が小
さいと判断される。
For example, the HCSPC identifier # 1 is “hcsps: // PtPvXYJSQSqwTJpP
GjwOg ”and the HCSPC identifier # 2 is“ hcsps: 78AFYZ / eQ1az ”
In the case of “6o2JrRMrw”, the value when the first character “/” of the HCSPC identifier # 1 is a character literal is “# x2F”, and when the first character “7” of the HCSPC identifier # 2 is a character literal Since the value of “# x37” is determined, it is determined that the HCSPC identifier # 1 is smaller.

鍵情報記憶部106は、クライアント10の公開鍵と、クライアント10の秘密鍵と、
乱数生成部104によって生成されたクライアント10の乱数とを記憶するものである。
The key information storage unit 106 includes a public key of the client 10, a secret key of the client 10,
The random number of the client 10 generated by the random number generation unit 104 is stored.

署名算出部107は、鍵情報取得部113によって取得された稼動サーバの公開鍵及び
乱数と、鍵情報記憶部106によって記憶されているクライアント10の秘密鍵及び乱数
とを用いて、稼動サーバから受信した署名付きサブスクライブ文書の正当性を判断するた
めの署名を算出するものである。なお、具体的な署名の算出方法については後述する。
The signature calculation unit 107 receives from the operation server using the public key and random number of the active server acquired by the key information acquisition unit 113 and the secret key and random number of the client 10 stored in the key information storage unit 106. The signature for judging the validity of the subscribed signed document is calculated. A specific signature calculation method will be described later.

署名比較部108は、署名算出部108によって算出された署名と、署名取得部114
によって取得された署名とを比較して、稼動サーバから受信した署名付きサブスクライブ
文書の正当性について判断するものである。
The signature comparison unit 108 includes the signature calculated by the signature calculation unit 108 and the signature acquisition unit 114.
Is compared with the signature obtained by the above, and the validity of the signed subscribed document received from the active server is determined.

なお、かかる署名付きサブスクライブ文書が正当な文書であると判断された場合には、
署名比較部108は、サブスクライブ保存部109に対して当該署名付きサブスクライブ
文書を保存するように依頼する。
If it is determined that the signed subscribed document is a valid document,
The signature comparison unit 108 requests the subscribe storage unit 109 to store the subscribed signed document.

一方、かかる署名付きサブスクライブ文書が正当な文書でないと判断された場合には、
署名比較部108は、当該署名付きサブスクライブ文書を破棄する。
On the other hand, if it is determined that the signed subscribed document is not a valid document,
The signature comparison unit 108 discards the signed subscribe document.

サブスクライブ保存部109は、署名比較部108からの依頼に応じて、複数の稼動サ
ーバから受信した署名付きサブスクライブ文書を保存するものである。なお、サブスクラ
イブ保存部109は、必要に応じて、接続先決定部105に、保存している署名付きサブ
スクライブ文書を提供する。
The subscribe storage unit 109 stores signed subscribe documents received from a plurality of operation servers in response to a request from the signature comparison unit 108. The subscribe storage unit 109 provides the stored signed document with the signature to the connection destination determination unit 105 as necessary.

接続サーバ情報記憶部110は、接続先決定部105によって決定された接続先の稼動
サーバに関する情報(例えば、接続先の稼動サーバの識別子等)を記憶するものである。
The connection server information storage unit 110 stores information related to the connection destination operating server determined by the connection destination determination unit 105 (for example, an identifier of the connection destination operation server).

アドバタイズ生成部111は、起動処理部103からの依頼に応じて、アドバタイズ文
書を生成するものである。ここで、アドバタイズ文書は、機器情報記憶部112に格納さ
れている機器情報に、鍵情報記憶部106に格納されているクライアント10の公開鍵及
び乱数を付加して生成される(図15参照)。
The advertisement generation unit 111 generates an advertisement document in response to a request from the activation processing unit 103. Here, the advertisement document is generated by adding the public key and random number of the client 10 stored in the key information storage unit 106 to the device information stored in the device information storage unit 112 (see FIG. 15). .

また、アドバタイズ生成部111は、アドバタイズ文書を生成した後、UDPマルチキ
ャストで当該アドバタイズ文書を送信するようにUDPマルチキャスト送信部117に依
頼すると共に、タイマー管理部101にサブスクライブ文書受信待ち時間を開始するよう
に依頼する。
In addition, after generating the advertisement document, the advertisement generation unit 111 requests the UDP multicast transmission unit 117 to transmit the advertisement document by UDP multicast and starts the timer management unit 101 for the subscription document reception waiting time. To ask.

機器情報記憶部112は、クライアント10の機器情報(例えば、クライアント10の
機能を示す情報)を記憶するものである。機器情報記憶部112は、必要に応じて、記憶
している機器情報をアドバタイズ生成部111に提供する。
The device information storage unit 112 stores device information of the client 10 (for example, information indicating the function of the client 10). The device information storage unit 112 provides the stored device information to the advertisement generation unit 111 as necessary.

鍵情報取得部113は、サブスクライブ処理部115によって解析された署名付きサブ
スクライブ文書から、稼動サーバの公開鍵及び乱数(鍵情報)を取得するものである。鍵
情報取得部113は、取得した鍵情報を署名算出部107に送信する。
The key information acquisition unit 113 acquires the public key and random number (key information) of the active server from the subscribed signed document analyzed by the subscribe processing unit 115. The key information acquisition unit 113 transmits the acquired key information to the signature calculation unit 107.

署名取得部114は、サブスクライブ処理部115によって解析された署名付きサブス
クライブ文書から、署名を取得するものである。署名取得部114は、取得した署名を署
名比較部108に送信する。
The signature acquisition unit 114 acquires a signature from the subscribed signed document analyzed by the subscribe processing unit 115. The signature acquisition unit 114 transmits the acquired signature to the signature comparison unit 108.

サブスクライブ処理部115は、UDPユニキャスト受信部116を介して稼動サーバ
から受信した署名付きサブスクライブ文書を解析して、稼動サーバの公開鍵及び乱数(鍵
情報)を鍵情報取得部113に送信し、署名を署名取得部114に送信し、サブスクライ
ブ文書自体をサブスクライブ保存部109に送信するものである。
The subscribe processing unit 115 analyzes the subscribed signed document received from the active server via the UDP unicast receiving unit 116, and transmits the public key and random number (key information) of the active server to the key information acquiring unit 113. The signature is transmitted to the signature acquisition unit 114, and the subscribed document itself is transmitted to the subscribe storage unit 109.

UDPユニキャスト受信部116は、UDPユニキャストで複数の稼動サーバの各々か
ら送信された署名付きサブスクライブ文書を受信してサブスクライブ処理部115に送信
するものである。
The UDP unicast receiving unit 116 receives a signed subscribe document transmitted from each of a plurality of active servers by UDP unicast and transmits it to the subscribe processing unit 115.

UDPマルチキャスト送信部117は、アドバタイズ生成部111からの依頼に応じて
、UDPマルチキャストでアドバタイズ文書を送信するものである。
The UDP multicast transmission unit 117 transmits an advertisement document by UDP multicast in response to a request from the advertisement generation unit 111.

図3に示すように、本実施形態に係る通信システムにおけるサーバ20は、主な機能と
して、起動処理部201と、乱数生成部202と、鍵情報記憶部203と、認証情報生成
部204と、UDPユニキャスト送信部205と、UDPマルチキャスト送信部206と
、サブスクライブ生成部207と、サーバ情報記憶部208と、署名算出部209と、鍵
情報取得部210と、署名比較部211と、署名取得部212と、新規サーバ情報取得部
213と、受信文書処理部214と、UDPユニキャスト受信部215と、UDPマルチ
キャスト受信部216と、接続サーバ選択部217と、リダイレクト生成部218と、接
続管理部219と、TCPサーバ220とを具備している。
As shown in FIG. 3, the server 20 in the communication system according to the present embodiment includes, as main functions, an activation processing unit 201, a random number generation unit 202, a key information storage unit 203, an authentication information generation unit 204, UDP unicast transmission unit 205, UDP multicast transmission unit 206, subscribe generation unit 207, server information storage unit 208, signature calculation unit 209, key information acquisition unit 210, signature comparison unit 211, and signature acquisition Unit 212, new server information acquisition unit 213, received document processing unit 214, UDP unicast reception unit 215, UDP multicast reception unit 216, connection server selection unit 217, redirect generation unit 218, connection management unit 219 and a TCP server 220.

起動処理部201は、サーバ20が起動した際に必要な起動処理を行うものである。例
えば、起動処理部201は、署名の算出に必要なサーバ20の乱数を生成するように乱数
生成部202に依頼し、サブスクライブ文書を生成するようにサブスクライブ生成部20
7に依頼する。
The activation processing unit 201 performs necessary activation processing when the server 20 is activated. For example, the activation processing unit 201 requests the random number generation unit 202 to generate a random number of the server 20 necessary for calculating the signature, and the subscribe generation unit 20 to generate a subscribe document.
Ask 7

乱数生成部202は、起動処理部201からの依頼に応じて、サーバ20の乱数を生成
するものである。乱数生成部202は、生成したサーバ20の乱数を鍵情報記憶部203
に格納する。
The random number generation unit 202 generates a random number for the server 20 in response to a request from the activation processing unit 201. The random number generation unit 202 uses the generated random number of the server 20 as the key information storage unit 203.
To store.

鍵情報記憶部203は、サーバ20の公開鍵と、サーバ20の秘密鍵と、乱数生成部2
02によって生成されたサーバ20の乱数とを記憶するものである。
The key information storage unit 203 includes a public key of the server 20, a secret key of the server 20, and a random number generation unit 2
The random number of the server 20 generated by 02 is stored.

認証情報生成部204は、新規サーバからのサブスクライブ文書を受信した受信文書処
理部214からの依頼に応じて、サーバ20の公開鍵及び乱数を含む認証情報を生成する
ものである。認証情報生成部204は、UDPユニキャスト送信部205に対して、生成
した認証情報をUDPユニキャストで当該新規サーバに対して送信するように依頼する。
The authentication information generation unit 204 generates authentication information including the public key and random number of the server 20 in response to a request from the received document processing unit 214 that has received a subscribe document from a new server. The authentication information generation unit 204 requests the UDP unicast transmission unit 205 to transmit the generated authentication information to the new server by UDP unicast.

UDPユニキャスト送信部205は、サブスクライブ生成部207や認証情報生成部2
04からの依頼に応じて、UDPユニキャストで、署名付きサブスクライブ文書や認証情
報を、新規サーバ又は新規クライアントに送信するものである。
The UDP unicast transmission unit 205 includes a subscribe generation unit 207 and an authentication information generation unit 2.
In response to a request from 04, a signed subscribe document and authentication information are transmitted to a new server or a new client by UDP unicast.

UDPマルチキャスト送信部206は、サブスクライブ生成部207からの依頼に応じ
て、UDPマルチキャストでサブスクライブ文書(署名無しサブスクライブ文書)を送信
するものである。
The UDP multicast transmission unit 206 transmits a subscribe document (unsigned subscribe document) by UDP multicast in response to a request from the subscribe generation unit 207.

サブスクライブ生成部207は、起動処理部201又は受信文書処理部214からの依
頼に応じて、サブスクライブ文書を生成するものである。
The subscribe generation unit 207 generates a subscribe document in response to a request from the activation processing unit 201 or the received document processing unit 214.

起動処理部201からの依頼を受けた場合、サブスクライブ生成部207は、サーバ情
報記憶部208から取得したサーバ情報(例えば、サーバ20の機能を示す情報)に基づ
いてサブスクライブ文書(署名無しサブスクライブ文書)を生成し、UDPマルチキャス
ト送信部206に対して、UDPマルチキャストでサブスクライブ文書を送信するように
依頼する。
When receiving the request from the activation processing unit 201, the subscribe generation unit 207, based on the server information (for example, information indicating the function of the server 20) acquired from the server information storage unit 208, subscribe document (unsigned subscribe). Live document), and requests the UDP multicast transmission unit 206 to transmit the subscribe document by UDP multicast.

また、受信文書処理部214からの依頼を受けた場合、サブスクライブ生成部207は
、サーバ情報記憶部208から取得したサーバ情報と鍵情報記憶部203から取得したサ
ーバ20の公開鍵及び乱数と署名算出部209から取得した署名とに基づいてサブスクラ
イブ文書(署名付きサブスクライブ文書)を生成し、UDPユニキャスト送信部205に
対して、UDPユニキャストで、サブスクライブ文書を、稼動サーバ又は新規クライアン
トに送信するように依頼する。
When receiving a request from the received document processing unit 214, the subscribe generation unit 207 receives the server information acquired from the server information storage unit 208, the public key, random number, and signature of the server 20 acquired from the key information storage unit 203. A subscribe document (subscribe document with signature) is generated based on the signature acquired from the calculation unit 209, and the UDP unicast is sent to the UDP unicast transmission unit 205 by using the UDP unicast, and the subscribe document is operated by an operating server or a new client. Ask to send to.

サーバ情報記憶部208は、サーバ20の機能を示すサーバ情報を記憶するものである
The server information storage unit 208 stores server information indicating the function of the server 20.

署名算出部209は、鍵情報取得部210からの依頼に応じて、鍵情報取得部210に
よって取得された通信相手(新規サーバや新規クライアントや稼動サーバ)の公開鍵及び
乱数と、鍵情報記憶部203によって記憶されているサーバ20の秘密鍵及び乱数とを用
いて、署名を算出するものである。なお、具体的な署名の算出方法については後述する。
In response to a request from the key information acquisition unit 210, the signature calculation unit 209 includes a public key and a random number of a communication partner (new server, new client, or active server) acquired by the key information acquisition unit 210, and a key information storage unit. The signature is calculated using the secret key and random number of the server 20 stored in 203. A specific signature calculation method will be described later.

また、署名算出部209は、新規クライアント又は稼動サーバの公開鍵及び乱数と、サ
ーバ20の秘密鍵及び乱数とを用いて生成した署名をサブスクライブ生成部207に提供
する。
In addition, the signature calculation unit 209 provides a signature generated using the public key and random number of the new client or the active server and the secret key and random number of the server 20 to the subscribe generation unit 207.

一方、署名算出部209は、新規サーバの公開鍵及び乱数と、サーバ20の秘密鍵及び
乱数とを用いて生成した署名を署名比較部211に提供する。
On the other hand, the signature calculation unit 209 provides a signature generated by using the public key and random number of the new server and the secret key and random number of the server 20 to the signature comparison unit 211.

鍵情報取得部210は、受信文書処理部214から通信相手(新規サーバや新規クライ
アントや稼動サーバ)の公開鍵及び乱数を取得し、署名算出部209に対して署名を算出
するように依頼するものである。
The key information acquisition unit 210 acquires the public key and random number of the communication partner (new server, new client, or active server) from the received document processing unit 214, and requests the signature calculation unit 209 to calculate the signature. It is.

署名比較部211は、署名取得部212からの依頼に応じて、署名算出部209によっ
て算出された署名と、署名取得部212によって取得された署名とを比較して、新規サー
バから受信した署名付きサブスクライブ文書の正当性について判断するものである。
In response to a request from the signature acquisition unit 212, the signature comparison unit 211 compares the signature calculated by the signature calculation unit 209 with the signature acquired by the signature acquisition unit 212 and adds the signature received from the new server. This is to determine the validity of the subscribed document.

受信した署名付きサブスクライブ文書が正当な文書であると判断された場合、署名比較
部211は、接続サーバ選択部217に対して、サーバ20とクライアント10との間の
接続を、新規サーバとクライアント10との間の接続に切り替えるか否かについて判断す
るように依頼する。
If it is determined that the received subscribed signed document is a legitimate document, the signature comparison unit 211 connects the connection between the server 20 and the client 10 to the connection server selection unit 217, and the new server and client. Request to determine whether or not to switch to the connection with the terminal 10.

受信した署名付きサブスクライブ文書が正当な文書でないと判断された場合、署名比較
部211は、かかる署名付きサブスクライブ文書を破棄する。
When it is determined that the received signed subscribe document is not a valid document, the signature comparison unit 211 discards the signed subscribe document.

署名取得部212は、受信文書処理部214から、署名付きサブスクライブ文書に付加
されていた署名を取得するものである。署名取得部212は、署名比較部211に対して
、取得した署名と署名算出部209によって算出された署名とを比較するように依頼する
ものである。
The signature acquisition unit 212 acquires the signature added to the signed subscribe document from the received document processing unit 214. The signature acquisition unit 212 requests the signature comparison unit 211 to compare the acquired signature with the signature calculated by the signature calculation unit 209.

新規サーバ情報取得部213は、受信文書処理部214から、新規サーバについての情
報(例えば、新規サーバの機能を示す情報)を取得するものである。新規サーバ情報取得
部213は、必要に応じて、新規サーバについての情報を接続サーバ選択部217に送信
する。
The new server information acquisition unit 213 acquires information about the new server (for example, information indicating the function of the new server) from the received document processing unit 214. The new server information acquisition unit 213 transmits information about the new server to the connection server selection unit 217 as necessary.

受信文書処理部214は、UDPユニキャスト受信部215及びUDPマルチキャスト
受信部216によって受信された文書(サブスクライブ文書やアドバタイズ文書や認証情
報等)に対して所定の処理を施すものである。
The received document processing unit 214 performs a predetermined process on the documents (subscribe document, advertised document, authentication information, etc.) received by the UDP unicast receiving unit 215 and the UDP multicast receiving unit 216.

また、受信文書処理部214は、接続管理部219から接続中のクライアントの数を取
得しており、1つ以上のクライアントが接続されていない場合、新規サーバからUDPマ
ルチキャストで送信されたサブスクライブ文書(署名無しサブスクライブ文書)を破棄す
る。
The received document processing unit 214 obtains the number of connected clients from the connection management unit 219. When one or more clients are not connected, the subscribed document transmitted from the new server by the UDP multicast is used. Discard (unsigned subscribe document).

また、受信文書処理部214は、新規クライアントからUDPマルチキャストで送信さ
れたアドバタイズ文書を受信した場合、受信したアドバタイズ文書に含まれている新規ク
ライアントの公開鍵及び乱数を取得して鍵情報取得部210に送信することによって、署
名を算出するように依頼する。
When the received document processing unit 214 receives an advertised document transmitted by UDP multicast from a new client, the received document processing unit 214 acquires a public key and a random number of the new client included in the received advertised document, and obtains a key information acquiring unit 210. By requesting to calculate the signature.

また、受信文書処理部214は、新規サーバから、署名無しサブスクライブ文書を受信
した場合、認証情報生成部204に対して認証情報を生成するように依頼する。
When the received document processing unit 214 receives a non-signed subscribe document from the new server, the received document processing unit 214 requests the authentication information generation unit 204 to generate authentication information.

また、受信文書処理部214は、新規サーバから、署名付きサブスクライブ文書を受信
した場合、受信した署名付きサブスクライブ文書に含まれている新規サーバの公開鍵及び
乱数を取得して鍵情報取得部210に送信することによって、署名を算出するように依頼
する。また、受信文書処理部214は、受信した署名付きサブスクライブ文書に含まれて
いる署名を署名取得部212に送信する。
In addition, when the received document processing unit 214 receives a signed subscribe document from the new server, the received document processing unit 214 acquires the public key and random number of the new server included in the received signed subscribe document to obtain the key information acquisition unit. Requests to calculate a signature by sending to 210. The received document processing unit 214 transmits the signature included in the received subscribed signed document to the signature acquisition unit 212.

UDPユニキャスト受信部215は、ネットワークを介してサーバ又はクライアントか
らUDPユニキャストで送信された文書(署名付きサブスクライブ文書や認証情報等)を
受信して、受信文書処理部214に送信するものである。
The UDP unicast receiving unit 215 receives a document (subscription document with signature, authentication information, etc.) transmitted by UDP unicast from a server or a client via a network, and transmits it to the received document processing unit 214. is there.

UDPマルチキャスト受信部216は、ネットワークを介してサーバ又はクライアント
からUDPマルチキャストで送信された文書(署名無しサブスクライブ文書やアドバタイ
ズ文書等)を受信して、受信文書処理部214に送信するものである。
The UDP multicast receiving unit 216 receives a document (such as an unsigned subscribe document or an advertised document) transmitted from a server or client via a network via a network and transmits the received document to the received document processing unit 214.

接続サーバ選択部217は、署名比較部211からの依頼に応じて、新規サーバ情報取
得部213から取得した新規サーバについての情報(サブスクライブ文書によって通知さ
れた新規サーバの機能)と、サーバ情報記憶部208に記憶されているサーバ情報(サー
バ20の機能)とを比較して、サーバ20とクライアント10との間の接続を、新規サー
バとクライアント10との間の接続に切り替えるか否かについて判断するものである。
In response to a request from the signature comparison unit 211, the connection server selection unit 217 stores information on the new server acquired from the new server information acquisition unit 213 (function of the new server notified by the subscribe document) and server information storage The server information (function of the server 20) stored in the unit 208 is compared to determine whether to switch the connection between the server 20 and the client 10 to the connection between the new server and the client 10 To do.

接続サーバ選択部217は、新規サーバの方が稼動サーバよりも高機能であると判断し
た場合、リダイレクト生成部218に対して、上述の接続の切り替えを行うためのリダイ
レクト文書を生成するように依頼する。
When the connection server selection unit 217 determines that the new server is more sophisticated than the active server, the connection server selection unit 217 requests the redirect generation unit 218 to generate a redirect document for switching the connection described above. To do.

例えば、接続サーバ選択部217は、新規サーバの機能(「features=」)の
数がサーバ20の機能の数よりも多い場合、上述の接続を切り替えるように判断する。
For example, when the number of new server functions (“features =”) is greater than the number of functions of the server 20, the connection server selection unit 217 determines to switch the connection.

また、接続サーバ選択部217は、新規サーバの機能の数とサーバ20の機能の数が同
じである場合、新規サーバにおけるHCSPC接続数(新規サーバにおけるクライアント
との接続数:「connected=」)がサーバ20におけるHCSPC接続数(サー
バ20におけるクライアントとの接続数)よりも多い場合、上述の接続を切り替えるよう
に判断してもよい。
In addition, when the number of functions of the new server and the number of functions of the server 20 are the same, the connection server selection unit 217 determines that the number of HCSPC connections in the new server (number of connections with clients in the new server: “connected =”) When the number of HCSPC connections in the server 20 is greater than the number of connections with clients in the server 20, it may be determined to switch the above-described connection.

また、接続サーバ選択部217は、新規サーバの機能の数とサーバ20の機能の数が同
じで、かつ、新規サーバのHCSPC接続数とサーバ20のHCSPC接続数が同じ場合
、新規サーバにおけるHCSPC識別子(新規サーバを識別する識別子)の値がサーバ2
0におけるHCSPC識別子(サーバ20を識別する識別子)の値よりも小さい場合(H
CSPC識別子を文字リテラルとした場合)、上述の接続を切り替えるように判断しても
よい。
In addition, the connection server selection unit 217 determines the HCSPC identifier in the new server when the number of functions of the new server is the same as the number of functions of the server 20 and the number of HCSPC connections of the new server is the same as the number of HCSPC connections of the server 20. The value of (identifier identifying a new server) is Server 2
0 is smaller than the value of the HCSPC identifier (identifier for identifying the server 20) at 0 (H
If the CSPC identifier is a character literal), it may be determined to switch the above connection.

リダイレクト生成部218は、接続サーバ選択部217からの依頼に応じて、サーバ2
0との間で接続しているクライアント10に対して送信するためのリダイレクト文書を生
成して、TCPサーバ220に対してリダイレクト文書を送信するように依頼する。
In response to the request from the connection server selection unit 217, the redirect generation unit 218 receives the server 2
A redirect document to be transmitted to the client 10 connected to the client 0 is generated, and the TCP server 220 is requested to transmit the redirect document.

接続管理部219は、サーバ20のクライアントとの間の接続状態を管理するものであ
る。接続管理部219は、必要に応じて、かかる接続状態を、受信文書処理部214や接
続サーバ選択部217に提供する。
The connection management unit 219 manages the connection state with the client of the server 20. The connection management unit 219 provides the connection state to the received document processing unit 214 and the connection server selection unit 217 as necessary.

TCPサーバ220は、接続中のクライアント10との間で文書の送受信を行うもので
ある。
(本発明の第1の実施形態に係る通信方法)
第1に、図4乃至図12を参照して、本発明の第1の実施形態に係る通信システムにお
いて、新規サーバBが、ネットワークに接続されている複数の稼動サーバの中から稼動サ
ーバAを選択して接続する動作について説明する。
The TCP server 220 transmits / receives a document to / from the connected client 10.
(Communication method according to the first embodiment of the present invention)
First, referring to FIG. 4 to FIG. 12, in the communication system according to the first embodiment of the present invention, the new server B selects an active server A from a plurality of active servers connected to the network. The operation of selecting and connecting will be described.

図4に示すように、ステップS1001において、新規サーバBが、起動する。ここで
、図5を参照して、新規サーバBのステップS1001における動作について詳述する。
As shown in FIG. 4, in step S1001, the new server B is activated. Here, the operation of the new server B in step S1001 will be described in detail with reference to FIG.

図5に示すように、ステップS1001aにおいて、起動処理部201が、新規サーバ
Bの乱数Bを生成するように乱数生成部202に依頼し、サブスクライブ文書を生成する
ようにサブスクライブ生成部207に依頼する。
As shown in FIG. 5, in step S1001a, the activation processing unit 201 requests the random number generation unit 202 to generate the random number B of the new server B, and sends the subscribe generation unit 207 to generate a subscribe document. Ask.

ステップS1001bにおいて、乱数生成部202が、新規サーバBの乱数Bを生成し
、ステップS1001cにおいて、サブスクライブ生成部207が、サーバ情報記憶部2
08から取得したサーバ情報に基づいてサブスクライブ文書(署名無しサブスクライブ文
書)を生成し、UDPマルチキャスト送信部206に対して、UDPマルチキャストでサ
ブスクライブ文書を送信するように依頼する。なお、図6に、ここで生成されるサブスク
ライブ文書の一例を示す。
In step S1001b, the random number generation unit 202 generates a random number B of the new server B. In step S1001c, the subscribe generation unit 207 determines that the server information storage unit 2
A subscribe document (unsigned subscribe document) is generated based on the server information acquired from 08, and the UDP multicast transmission unit 206 is requested to transmit the subscribe document by UDP multicast. FIG. 6 shows an example of the subscribe document generated here.

次に、図4に示すように、ステップS1002において、新規サーバBのUDPマルチ
キャスト送信部206が、生成されたサブスクライブ文書を、UDPマルチキャストで送
信する。
Next, as shown in FIG. 4, in step S1002, the UDP multicast transmission unit 206 of the new server B transmits the generated subscribe document by UDP multicast.

ステップS1003において、稼動サーバAは、かかるサブスクライブ文書を受信する
。ここで、図7を参照して、稼動サーバAのステップS1003における動作について詳
述する。
In step S1003, the active server A receives the subscribe document. Here, the operation of the active server A in step S1003 will be described in detail with reference to FIG.

図7に示すように、ステップS1003aにおいて、受信文書処理部214は、接続管
理部219から取得した接続中のクライアントの数を参照して、接続中のクライアントが
存在するか否かについて判定する。
As shown in FIG. 7, in step S1003a, the received document processing unit 214 refers to the number of connected clients acquired from the connection management unit 219 and determines whether or not there are connected clients.

接続中のクライアントが存在しないと判定された場合、ステップS1003eにおいて
、受信文書処理部214は、かかるサブスクライブ文書を破棄する。
If it is determined that there is no connected client, in step S1003e, the received document processing unit 214 discards the subscribed document.

一方、接続中のクライアントが存在すると判定された場合、受信文書処理部214は、
認証情報生成部204に対して認証情報を生成するように依頼する。これに応じて、認証
情報生成部204は、ステップS1003b及びS1003cにおいて、鍵情報記憶部2
03から、稼動サーバAの乱数A及び公開鍵Aを取得し、ステップS1003dにおいて
、取得した稼動サーバAの乱数A及び公開鍵Aに基づいて認証情報を生成する。
On the other hand, if it is determined that there is a connected client, the received document processing unit 214
The authentication information generation unit 204 is requested to generate authentication information. In response to this, the authentication information generation unit 204 performs the key information storage unit 2 in steps S1003b and S1003c.
03, the random number A and public key A of the active server A are acquired, and authentication information is generated based on the acquired random number A and public key A of the active server A in step S1003d.

なお、図8に、ここで生成される認証情報の一例を示す。図8において、「vecto
r=」が、稼動サーバAの公開鍵Aに該当し、「value=」が、稼動サーバAの乱数
Aに該当する。
FIG. 8 shows an example of the authentication information generated here. In FIG. 8, “vectoro”
“r =” corresponds to the public key A of the active server A, and “value =” corresponds to the random number A of the active server A.

次に、図4に示すように、ステップS1004において、稼動サーバAのUDPユニキ
ャスト送信部205が、稼動サーバAの乱数A及び公開鍵Aを含む認証情報を、UDPユ
ニキャストで新規サーバAに対して送信する。
Next, as shown in FIG. 4, in step S1004, the UDP unicast transmission unit 205 of the active server A sends the authentication information including the random number A and the public key A of the active server A to the new server A by UDP unicast. Send to.

ステップS1005において、新規サーバBは、かかる認証情報を受信する。ここで、
図9を参照して、新規サーバBのステップS1005における動作について詳述する。
In step S1005, the new server B receives the authentication information. here,
With reference to FIG. 9, the operation of the new server B in step S1005 will be described in detail.

図9に示すように、ステップS1005aにおいて、受信文書処理部214によって署
名の算出を依頼された署名算出部209は、UDPユニキャスト受信部215によって受
信された認証情報から、稼動サーバAの公開鍵A及び乱数Aを取得する。
As shown in FIG. 9, in step S1005a, the signature calculation unit 209 requested to calculate the signature by the received document processing unit 214 uses the public information of the active server A from the authentication information received by the UDP unicast reception unit 215. A and random number A are acquired.

ステップS1005bにおいて、署名算出部209は、鍵情報記憶部203から、新規
サーバBの秘密鍵B及び乱数Bを取得する。
In step S1005b, the signature calculation unit 209 acquires the secret key B and random number B of the new server B from the key information storage unit 203.

ステップS1005cにおいて、署名算出部209は、稼動サーバAの公開鍵A及び乱
数Aと新規サーバBの秘密鍵B及び乱数Bとを用いて生成される検証鍵(稼動サーバAと
新規サーバBとの間の共通鍵)を用いて署名を算出する。例えば、検証鍵は、以下のよう
に算出されるものとする。
In step S1005c, the signature calculation unit 209 verifies the verification key (using the active server A and the new server B with the public key A and the random number A of the active server A and the secret key B and the random number B of the new server B). The signature is calculated using a common key. For example, the verification key is calculated as follows.

例えば、稼動サーバAの秘密鍵を「s」とし、新規サーバBの秘密鍵を「s」とし
、稼動サーバAの公開鍵を「v」とし、新規サーバBの公開鍵を「v」とし、稼動サ
ーバAによって算出される検証鍵を「KAB」とし、新規サーバBによって算出される検
証鍵を「KBA」とする。
For example, the secret key of the active server A is “s A ”, the secret key of the new server B is “s B ”, the public key of the active server A is “v A ”, and the public key of the new server B is “v”. B ”, the verification key calculated by the active server A is“ K AB ”, and the verification key calculated by the new server B is“ K BA ”.

ここで、「v」及び「v」を同じ集合に属する任意の元とした場合、後述する(式
1)乃至(式4)において「KAB=KBA」が成り立つ関数を「f:秘密鍵を作る関数
」及び「F:検証鍵を作る関数」と定義する。
Here, when “v A ” and “v B ” are arbitrary elements belonging to the same set, a function that satisfies “K AB = K BA ” in (Expression 1) to (Expression 4) described later is expressed as “f: It is defined as “a function for creating a secret key” and “F: a function for creating a verification key”.

かかる場合、署名算出部209は、以下の(式1)乃至(式4)によって、検証鍵を算
出することができる。
=f(v)…(式1)
=f(v)…(式2)
AB=F(s,v)…(式3)
BA=F(s,v)…(式4)
なお、稼動サーバA及び新規サーバBは、予め(式1)及び(式2)による演算をそれ
ぞれ行っており、かかる演算結果をそれぞれ秘密鍵「s」及び「s」として予め保存
しているものとする。
In such a case, the signature calculation unit 209 can calculate the verification key by the following (Expression 1) to (Expression 4).
s A = f (v A ) (Formula 1)
s B = f (v B ) (Expression 2)
K AB = F (s A , v B ) (Equation 3)
K BA = F (s B , v A ) (Formula 4)
The active server A and the new server B have previously performed calculations according to (Equation 1) and (Equation 2), respectively, and store the calculation results as secret keys “s A ” and “s B ”, respectively. It shall be.

かかる場合、稼動サーバAの署名算出部209によって稼動サーバAの公開鍵「v
と秘密鍵「s」と新規サーバBの公開鍵「v」とを用いて算出された検証鍵「KAB
」は、新規サーバBの署名算出部209によって新規サーバBの公開鍵「v」と秘密鍵
「s」と稼動サーバAの公開鍵「v」とを用いて算出された検証鍵「KBA」と同じ
値になる。
In such a case, the signature calculation unit 209 of the active server A uses the public key “v A ” of the active server A.
And the verification key “K AB ” calculated using the private key “s A ” and the public key “v B ” of the new server B
”Is a verification key“ calculated by the signature calculation unit 209 of the new server B using the public key “v B ” of the new server B, the secret key “s B ”, and the public key “v A ” of the active server A. It becomes the same value as “K BA ”.

そして、署名算出部209は、算出した検証鍵と、稼動サーバAの乱数Aと、新規サー
バBの乱数Bとを、ハッシュ関数に入力することによって署名を算出する。
Then, the signature calculation unit 209 calculates the signature by inputting the calculated verification key, the random number A of the active server A, and the random number B of the new server B into the hash function.

ステップS1005dにおいて、受信文書処理部214によってサブスクライブ文書の
生成を依頼されたサブスクライブ生成部207は、サーバ情報記憶部208から取得した
サーバ情報と鍵情報記憶部203から取得した新規サーバBの公開鍵B及び乱数Bと署名
算出部209から取得した署名とに基づいて署名付きサブスクライブ文書を生成し、UD
Pユニキャスト送信部205に対して、UDPユニキャストで、署名付きサブスクライブ
文書を、稼動サーバAに送信するように依頼する。
In step S <b> 1005 d, the subscribe generation unit 207 requested to generate a subscribe document by the received document processing unit 214 releases the server information acquired from the server information storage unit 208 and the new server B acquired from the key information storage unit 203. Generate a signed subscribe document based on the key B and the random number B and the signature acquired from the signature calculation unit 209, and UD
The P unicast transmission unit 205 is requested to transmit the subscribed signed document to the active server A by UDP unicast.

なお、図10に、ここで生成される署名付きサブスクライブ文書の一例を示す。図10
において、「vector=」が、新規サーバBの公開鍵Bに該当し、「value=」
が、新規サーバBの乱数Bに該当し、「signature=」が、署名に該当する。
FIG. 10 shows an example of a signed subscribe document generated here. FIG.
“Vector =” corresponds to the public key B of the new server B, and “value =”
Corresponds to the random number B of the new server B, and “signature =” corresponds to the signature.

次に、図4に示すように、ステップS1006において、新規サーバBのUDPユニキ
ャスト送信部205が、新規サーバBの公開鍵B及び乱数Bを含む署名付きサブスクライ
ブ文書を、UDPユニキャストで稼動サーバAに対して送信する。
Next, as shown in FIG. 4, in step S1006, the UDP unicast transmission unit 205 of the new server B operates the signed subscribe document including the public key B and the random number B of the new server B by UDP unicast. Send to server A.

ステップS1007において、稼動サーバAは、かかる署名付きサブスクライブ文書を
受信する。ここで、図11を参照して、稼動サーバAのステップS1007における動作
について詳述する。
In step S1007, the active server A receives the signed subscribe document. Here, the operation of the active server A in step S1007 will be described in detail with reference to FIG.

図11に示すように、ステップS1007aにおいて、受信文書処理部214は、受信
した署名付きサブスクライブ文書に含まれている新規サーバBの公開鍵B及び乱数Bを取
得して鍵情報取得部210に送信することによって、署名を算出するように依頼する。ま
た、受信文書処理部214は、受信した署名付きサブスクライブ文書に含まれている署名
を署名取得部212に送信する。
As shown in FIG. 11, in step S1007a, the received document processing unit 214 acquires the public key B and random number B of the new server B included in the received subscribed signed document and sends them to the key information acquisition unit 210. Request to calculate the signature by sending. The received document processing unit 214 transmits the signature included in the received subscribed signed document to the signature acquisition unit 212.

ステップS1007bにおいて、署名算出部209は、鍵情報記憶部203から、稼動
サーバAの秘密鍵A及び乱数Aを取得する。
In step S1007b, the signature calculation unit 209 obtains the secret key A and the random number A of the active server A from the key information storage unit 203.

ステップS1007cにおいて、署名算出部209は、上述のステップS1005と同
様の方法で、新規サーバBの公開鍵B及び乱数Bと稼動サーバAの秘密鍵A及び乱数Aと
を用いて生成される検証鍵(稼動サーバAと新規サーバBとの間の共通鍵)を用いて署名
を算出する。
In step S1007c, the signature calculation unit 209 uses the public key B and random number B of the new server B and the secret key A and random number A of the active server A in the same manner as in step S1005 described above. The signature is calculated using (a common key between the active server A and the new server B).

ステップS1007dにおいて、署名比較部211は、署名取得部212によって取得
された署名と署名算出部209によって算出された署名とが一致するか否かについて判定
する。
In step S1007d, the signature comparison unit 211 determines whether the signature acquired by the signature acquisition unit 212 matches the signature calculated by the signature calculation unit 209.

両者が一致しないと判定した場合、ステップS1007gにおいて、署名比較部211
は、受信した署名付きサブスクライブ文書を破棄する。
If it is determined that the two do not match, in step S1007g, the signature comparison unit 211
Discards the received signed subscribe document.

一方、両者が一致すると判定した場合、ステップS1007eにおいて、接続先サーバ
選択部217は、新規サーバBの方が稼動サーバAよりも高機能であるか否かについて判
断する。
On the other hand, if it is determined that the two match, in step S1007e, the connection destination server selection unit 217 determines whether or not the new server B has a higher function than the active server A.

高機能であると判断された場合、ステップS1007fにおいて、リダイレクト生成部
218が、接続サーバ選択部217からの依頼に応じて、サーバ20との間で接続してい
るクライアント10に対して送信するためのリダイレクト文書を生成する。なお、図12
に、ここで生成されるリダイレクト文書の一例を示す。
When it is determined that the function is high, in step S1007f, the redirect generation unit 218 transmits to the client 10 connected to the server 20 in response to a request from the connection server selection unit 217. Generate redirect document for. Note that FIG.
Shows an example of the redirect document generated here.

次に、図4に示すように、稼動サーバAのTCPサーバ220が、クライアント10に
対してリダイレクト文書を送信することによって、稼動サーバAとクライアント10との
間の接続を、新規サーバBとクライアント10との間の接続に切り替える。
Next, as illustrated in FIG. 4, the TCP server 220 of the active server A transmits a redirect document to the client 10, thereby connecting the active server A and the client 10 to the new server B and the client. Switch to the connection with 10.

第2に、図13乃至図18を参照して、本発明の第1の実施形態に係る通信システムに
おいて、新規クライアントCが、ネットワークに接続されている複数の稼動サーバの中か
ら稼動サーバ#1を選択して接続する動作について説明する。
Second, referring to FIG. 13 to FIG. 18, in the communication system according to the first embodiment of the present invention, the new client C operates server # 1 from a plurality of operating servers connected to the network. The operation of selecting and connecting will be described.

図13に示すように、ステップS2001において、新規クライアントCが、起動する
。ここで、図14を参照して、新規クライアントCのステップS2001における動作に
ついて詳述する。
As shown in FIG. 13, in step S2001, the new client C is activated. Here, the operation of the new client C in step S2001 will be described in detail with reference to FIG.

図14に示すように、ステップS2001aにおいて、起動処理部103が、新規クラ
イアントCの乱数Cを生成するように乱数生成部104に依頼し、アドバタイズ文書を生
成するようにアドバタイズ生成部111に依頼する。
As shown in FIG. 14, in step S2001a, the activation processing unit 103 requests the random number generation unit 104 to generate a random number C for the new client C, and requests the advertisement generation unit 111 to generate an advertisement document. .

ステップS2001bにおいて、乱数生成部104が、新規クライアントCの乱数Cを
生成し、ステップS2001cにおいて、アドバタイズ生成部111が、機器情報記憶部
112に格納されている機器情報に、鍵情報記憶部106に格納されている新規クライア
ントCの公開鍵C及び乱数Cを付加することによって、アドバタイズ文書を生成する。な
お、図15に、ここで生成されるアドバタイズ文書の一例を示す。
In step S2001b, the random number generation unit 104 generates a random number C for the new client C. In step S2001c, the advertisement generation unit 111 adds the device information stored in the device information storage unit 112 to the key information storage unit 106. An advertisement document is generated by adding the public key C and random number C of the new client C stored therein. FIG. 15 shows an example of the advertised document generated here.

ステップS2110dにおいて、タイマー管理部101は、タイマーを設定することに
よって、稼動サーバ#1からのサブスクライブ文書の受信を待つためのサブスクライブ文
書受信待ち時間を開始する。
In step S2110d, the timer management unit 101 starts a subscribe document reception waiting time for waiting for reception of a subscribe document from the active server # 1 by setting a timer.

次に、図13に示すように、ステップS2002において、新規クライアントCのUD
Pマルチキャスト送信部117が、新規クライアントCの公開鍵C及び乱数Cを含むアド
バタイズ文書を、UDPマルチキャストで送信する。
Next, as shown in FIG. 13, in step S2002, the UD of the new client C
The P multicast transmission unit 117 transmits an advertisement document including the public key C and the random number C of the new client C by UDP multicast.

ステップS2003及びS2005において、稼動サーバ#1及び#2は、それぞれ、
上述のアドバタイズ文書を受信する。なお、稼動サーバ#1のステップS2003におけ
る動作と稼動サーバ#2のステップS2005における動作は同様であるため、図16を
参照して、稼動サーバ#1のステップS2003における動作について詳述する。
In steps S2003 and S2005, the active servers # 1 and # 2 respectively
The above advertisement document is received. Since the operation of the active server # 1 in step S2003 and the operation of the active server # 2 in step S2005 are the same, the operation of the active server # 1 in step S2003 will be described in detail with reference to FIG.

図16に示すように、ステップS2003aにおいて、受信文書処理部214によって
署名の算出を依頼された署名算出部209は、UDPユニキャスト受信部215によって
受信されたアドバタイズ文書から、新規クライアントCの公開鍵C及び乱数Cを取得する
As shown in FIG. 16, in step S2003a, the signature calculation unit 209 requested to calculate the signature by the received document processing unit 214 uses the public key of the new client C from the advertised document received by the UDP unicast reception unit 215. C and random number C are acquired.

ステップS2003bにおいて、署名算出部209は、鍵情報記憶部203から、稼動
サーバ#1の秘密鍵#1及び乱数#1を取得する。
In step S2003b, the signature calculation unit 209 acquires the secret key # 1 and the random number # 1 of the active server # 1 from the key information storage unit 203.

ステップS2003cにおいて、署名算出部209は、上述のステップS1005cと
同様の方法で、新規クライアントCの公開鍵C及び乱数Cと稼動サーバ#1の秘密鍵#1
及び乱数#1とを用いて生成される検証鍵(新規クライアントCと稼動サーバ#1との間
の共通鍵)を用いて署名を算出する。
In step S2003c, the signature calculation unit 209 uses the same method as in step S1005c described above to public key C and random number C of the new client C and secret key # 1 of the active server # 1.
The signature is calculated using a verification key (a common key between the new client C and the active server # 1) generated using the random number # 1.

ステップS2003dにおいて、受信文書処理部214によってサブスクライブ文書の
生成を依頼されたサブスクライブ生成部207は、サーバ情報記憶部208から取得した
サーバ情報と鍵情報記憶部203から取得した稼動サーバ#1の公開鍵#1及び乱数#1
と署名算出部209から取得した署名とに基づいて署名付きサブスクライブ文書を生成し
、UDPユニキャスト送信部205に対して、UDPユニキャストで、署名付きサブスク
ライブ文書を、新規クライアントCに送信するように依頼する。なお、図17に、ここで
生成される署名付きサブスクライブ文書の一例を示す。
In step S2003d, the subscribe generation unit 207 requested to generate a subscribe document by the received document processing unit 214 receives the server information acquired from the server information storage unit 208 and the active server # 1 acquired from the key information storage unit 203. Public key # 1 and random number # 1
And a signed subscription document based on the signature obtained from the signature calculation unit 209, and sends the signed subscription document to the new client C by UDP unicast to the UDP unicast transmission unit 205. To ask. FIG. 17 shows an example of a signed subscribe document generated here.

次に、図13に示すように、ステップS2004において、稼動サーバ#1のUDPユ
ニキャスト送信部205が、稼動サーバ#1の公開鍵#1及び乱数#1を含む署名付きサ
ブスクライブ文書を、UDPユニキャストで新規クライアントCに対して送信する。
Next, as shown in FIG. 13, in step S2004, the UDP unicast transmission unit 205 of the active server # 1 converts the signed subscribe document including the public key # 1 and the random number # 1 of the active server # 1 into the UDP. Transmit to the new client C by unicast.

また、同様に、ステップS2006において、稼動サーバ#2のUDPユニキャスト送
信部205が、稼動サーバ#2の公開鍵#2及び乱数#2を含む署名付きサブスクライブ
文書を、UDPユニキャストで新規クライアントCに対して送信する。
Similarly, in step S2006, the UDP unicast transmission unit 205 of the active server # 2 creates a signed document including the public key # 2 and the random number # 2 of the active server # 2 as a new client by UDP unicast. Sent to C.

ステップS2007において、新規クライアントCは、かかる署名付きサブスクライブ
文書を受信する。ここで、図18を参照して、新規クライアントCのステップS2007
における動作について詳述する。
In step S2007, the new client C receives such a signed subscribe document. Here, referring to FIG. 18, step S2007 of the new client C
The operation will be described in detail.

図18に示すように、ステップS1007aにおいて、UDPユニキャスト受信部11
6は、署名付きサブスクライブ文書を受信の有無を確認する。受信した場合、本動作は、
ステップS2007bに進み、受信しない場合、本動作は、ステップS2007eに進む
As shown in FIG. 18, in step S1007a, the UDP unicast receiving unit 11
6 confirms whether or not a signed subscribe document has been received. If received, this action
In step S2007b, if not received, the operation proceeds to step S2007e.

ステップS2007bにおいて、サブスクライブ処理部115は、受信した書名付きサ
ブスクライブ文書に含まれる稼動サーバ#1の公開鍵#1及び乱数#1を取得して鍵情報
取得部113に送信することによって、署名を算出するように依頼する。また、サブスク
ライブ処理部115は、受信した署名付きサブスクライブ文書に含まれている署名を署名
取得部114に送信する。
In step S2007b, the subscribe processing unit 115 acquires the public key # 1 and the random number # 1 of the active server # 1 included in the received subscribe document with a book name, and transmits them to the key information acquisition unit 113, thereby signing. Ask to calculate. In addition, the subscribe processing unit 115 transmits the signature included in the received subscribed signed document to the signature acquisition unit 114.

ステップS2007cにおいて、署名算出部107は、鍵情報記憶部106から、新規
クライアントCの秘密鍵C及び乱数Cを取得する。
In step S2007c, the signature calculation unit 107 acquires the secret key C and random number C of the new client C from the key information storage unit 106.

ステップS2007dにおいて、署名算出部107は、上述のステップS1005と同
様の方法で、稼動サーバ#1の公開鍵#1及び乱数#1と新規クライアントCの秘密鍵C
及び乱数Cとを用いて生成される検証鍵(新規クライアントCと稼動サーバ#1との間の
共通鍵)を用いて署名を算出する。
In step S2007d, the signature calculation unit 107 uses the public key # 1 and the random number # 1 of the active server # 1 and the secret key C of the new client C in the same manner as in step S1005 described above.
The signature is calculated using a verification key (a common key between the new client C and the active server # 1) generated using the random number C and the random number C.

ステップS2007eにおいて、署名比較部108は、署名取得部114によって取得
された署名と署名算出部107によって算出された署名とが一致するか否かについて判定
する。
In step S2007e, the signature comparison unit 108 determines whether or not the signature acquired by the signature acquisition unit 114 matches the signature calculated by the signature calculation unit 107.

両者が一致すると判定した場合、ステップS2007fにおいて、署名比較部108は
、受信した署名付きサブスクライブ文書を正当な文書であると判断してサブスクライブ保
存部109に保存する。
When it is determined that the two match, in step S2007f, the signature comparison unit 108 determines that the received signed subscribe document is a legitimate document and stores it in the subscribe storage unit 109.

一方、両者が一致しないと判定した場合、署名比較部108は、受信した署名付きサブ
スクライブ文書を保存することなく、本動作は、ステップS2007gに進む。
On the other hand, if it is determined that the two do not match, the signature comparison unit 108 proceeds to step S2007g without saving the received signed document with signature.

ステップS2007gにおいて、タイマーハンドラ部102は、タイマー管理部101
によって管理されているサブスクライブ文書受信待ち時間が経過したか否かについて判断
する。
In step S2007g, the timer handler unit 102 executes the timer management unit 101.
It is determined whether or not the subscription document reception waiting time managed by the elapses.

経過していないと判断された場合、本動作は、ステップS2007aに戻り、更なるサ
ブスクライブ文書(例えば、稼動サーバ#2からの署名付きサブスクライブ文書)の受信
を待つ。一方、経過したと判断された場合、本動作は、ステップS2007hに進む。
If it is determined that it has not elapsed, the operation returns to step S2007a and waits for reception of a further subscribe document (for example, a signed document from the active server # 2). On the other hand, if it is determined that the time has elapsed, the operation proceeds to step S2007h.

ステップS2007hにおいて、接続先決定部105は、サブスクライブ保存部109
に保存されているサブスクライブ文書を参照して、最も高機能である稼動サーバ#1を、
接続先の稼動サーバとして決定する。
In step S2007h, the connection destination determination unit 105 includes the subscribe storage unit 109.
Referring to the subscribed document stored in the
Determine as the connection destination server.

次に、図13に示すように、新規クライアントCと稼動サーバ#1との間で、接続処理
が開始される。
Next, as shown in FIG. 13, connection processing is started between the new client C and the active server # 1.

本発明の第1の実施形態に係る通信システムの全体構成図である。1 is an overall configuration diagram of a communication system according to a first embodiment of the present invention. 本発明の第1の実施形態に係る通信システムにおけるクライアントの機能ブロック図である。It is a functional block diagram of the client in the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る通信システムにおけるサーバの機能ブロック図である。It is a functional block diagram of the server in the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る通信システムにおいて、新規サーバが登場した場合の動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement when a new server appears in the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る通信システムにおいて、新規サーバが登場した場合のステップS1001の動作を示すフローチャートである。It is a flowchart which shows operation | movement of step S1001 when a new server appears in the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る通信システムにおいて、新規サーバが登場した場合に送信されるサブスクライブの一例を示す図である。It is a figure which shows an example of the subscription transmitted when a new server appears in the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る通信システムにおいて、新規サーバが登場した場合のステップS1003の動作を示すフローチャートである。It is a flowchart which shows operation | movement of step S1003 when a new server appears in the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る通信システムにおいて、新規サーバが登場した場合に送信される認証情報の一例を示す図である。It is a figure which shows an example of the authentication information transmitted when the new server appears in the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る通信システムにおいて、新規サーバが登場した場合のステップS1005の動作を示すフローチャートである。It is a flowchart which shows operation | movement of step S1005 when a new server appears in the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る通信システムにおいて、新規サーバが登場した場合に送信される署名付きサブスクライブの一例を示す図である。It is a figure which shows an example of the subscribe with a signature transmitted when the new server appears in the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る通信システムにおいて、新規サーバが登場した場合のステップS1007の動作を示すフローチャートである。It is a flowchart which shows operation | movement of step S1007 when a new server appears in the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る通信システムにおいて、新規サーバが登場した場合に送信されるリダイレクトの一例を示す図である。In the communication system which concerns on the 1st Embodiment of this invention, it is a figure which shows an example of the redirect transmitted when a new server appears. 本発明の第1の実施形態に係る通信システムにおいて、新規クライアントが登場した場合の動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement when the new client appears in the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る通信システムにおいて、新規クライアントが登場した場合のステップS2001の動作を示すフローチャートである。It is a flowchart which shows operation | movement of step S2001 when the new client appears in the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る通信システムにおいて、新規クライアントが登場した場合に送信されるUDPアドバタイズの一例を示す図である。It is a figure which shows an example of the UDP advertisement transmitted when a new client appears in the communication system according to the first embodiment of the present invention. 本発明の第1の実施形態に係る通信システムにおいて、新規クライアントが登場した場合のステップS2003の動作を示すフローチャートである。It is a flowchart which shows operation | movement of step S2003 when a new client appears in the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る通信システムにおいて、新規クライアントが登場した場合に送信される署名付きアドバタイズの一例を示す図である。It is a figure which shows an example of the advertisement with a signature transmitted when a new client appears in the communication system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る通信システムにおいて、新規クライアントが登場した場合のステップS2007の動作を示すフローチャートである。It is a flowchart which shows operation | movement of step S2007 when the new client appears in the communication system which concerns on the 1st Embodiment of this invention.

符号の説明Explanation of symbols

10…クライアント、101…タイマー管理部、102…タイマーハンドラ部、103…
起動処理部、104…乱数生成部、105…接続先決定部、106…鍵情報記憶部、10
7…署名算出部、108…署名比較部、109…サブスクライブ保存部、110…接続サ
ーバ情報記憶部、111…アドバタイズ生成部、112…機器情報記憶部、113…鍵情
報取得部、114…署名取得部、115…サブスクライブ処理部、116…UDPユニキ
ャスト受信部、117…UDPマルチキャスト送信部、20…サーバ、201…起動処理
部、202…乱数生成部、203…鍵情報記憶部、204…認証情報生成部、205…U
DPユニキャスト送信部、206…UDPマルチキャスト送信部、207…サブスクライ
ブ生成部、208…サーバ情報記憶部、209…署名算出部、210…鍵情報取得部、2
11…署名比較部、212…署名取得部、213…新規サーバ情報取得部、214…受信
文書処理部、215…UDPユニキャスト受信部、216…UDPマルチキャスト受信部
、217…接続サーバ選択部、218…リダイレクト生成部、219…接続管理部、22
0…TCPサーバ
DESCRIPTION OF SYMBOLS 10 ... Client, 101 ... Timer management part, 102 ... Timer handler part, 103 ...
Activation processing unit, 104 ... random number generation unit, 105 ... connection destination determination unit, 106 ... key information storage unit, 10
DESCRIPTION OF SYMBOLS 7 ... Signature calculation part, 108 ... Signature comparison part, 109 ... Subscribe preservation | save part, 110 ... Connection server information storage part, 111 ... Advertisement production | generation part, 112 ... Equipment information storage part, 113 ... Key information acquisition part, 114 ... Signature Acquisition unit 115 ... Subscribe processing unit 116 ... UDP unicast reception unit 117 ... UDP multicast transmission unit 20 ... Server 201 ... Startup processing unit 202 ... Random number generation unit 203 ... Key information storage unit 204 ... Authentication information generation unit, 205... U
DP unicast transmission unit, 206 ... UDP multicast transmission unit, 207 ... subscribe generation unit, 208 ... server information storage unit, 209 ... signature calculation unit, 210 ... key information acquisition unit, 2
DESCRIPTION OF SYMBOLS 11 ... Signature comparison part, 212 ... Signature acquisition part, 213 ... New server information acquisition part, 214 ... Received document processing part, 215 ... UDP unicast reception part, 216 ... UDP multicast reception part, 217 ... Connection server selection part, 218 ... redirect generation unit, 219 ... connection management unit, 22
0 ... TCP server

Claims (12)

クライアントが、ネットワークに接続されている複数の稼動サーバのいずれかに接続す
るための通信方法であって、
前記複数の稼動サーバの各々が、該稼動サーバの機能を通知する機能通知文書を生成す
る工程と、
前記複数の稼動サーバの各々が、前記機能通知文書に対して署名を付加して前記クライ
アントに対して送信する工程と、
前記クライアントが、前記署名に基づいて、受信した前記機能通知文書の正当性を判断
する工程と、
前記クライアントが、正当な機能通知文書を受信した稼動サーバの中から、該機能通知
文書によって通知されている稼動サーバの機能に基づいて、接続先の稼動サーバを決定す
る工程とを有することを特徴とする通信方法。
A communication method for a client to connect to one of a plurality of active servers connected to a network,
Each of the plurality of active servers generating a function notification document for notifying the function of the active server;
Each of the plurality of operation servers adding a signature to the function notification document and transmitting the signature to the client;
The client determining the validity of the received function notification document based on the signature;
The client includes a step of determining a connection-destination active server from the active servers that have received a valid function notification document based on the function of the operation server notified by the function notification document. Communication method.
前記稼動サーバは、該稼動サーバの秘密鍵及び前記クライアントの公開鍵を用いて生成
可能な該クライアントとの間の共通鍵を用いて前記署名を生成し、
前記クライアントは、該クライアントの秘密鍵及び前記稼動サーバの公開鍵を用いて生
成可能な前記共通鍵を用いて前記機能通知文書の正当性を判断することを特徴とする請求
項1に記載の通信方法。
The operating server generates the signature using a common key between the client that can be generated using the secret key of the operating server and the public key of the client,
The communication according to claim 1, wherein the client determines the validity of the function notification document by using the common key that can be generated by using the secret key of the client and the public key of the operation server. Method.
新規サーバが、複数の稼動サーバが接続されているネットワークに対して参加するため
の通信方法であって、
前記新規サーバが、該新規サーバの機能を通知する機能通知文書を生成する工程と、
前記新規サーバが、前記機能通知文書に対して署名を付加して前記稼動サーバに対して
送信する工程と、
前記稼動サーバが、前記署名に基づいて、受信した前記機能通知文書の正当性を判断す
る工程と、
前記稼動サーバが、受信した前記機能通知文書が正当であると判断した場合、該機能通
知文書によって通知されている前記新規サーバの機能に基づいて、該稼動サーバとクライ
アントとの間の接続を、前記新規サーバと該クライアントとの間の接続に切り替えるか否
かについて判断する工程とを有することを特徴とする通信方法。
A communication method for a new server to participate in a network to which a plurality of active servers are connected,
The new server generating a function notification document for notifying the function of the new server;
The new server adds a signature to the function notification document and transmits the signature to the active server;
The operation server determines the validity of the received function notification document based on the signature;
When the active server determines that the received function notification document is valid, the connection between the active server and the client is determined based on the function of the new server notified by the function notification document. And determining whether to switch to a connection between the new server and the client.
前記新規サーバは、該新規サーバの秘密鍵及び前記稼動サーバの公開鍵を用いて生成可
能な該稼動サーバとの間の共通鍵を用いて前記署名を生成し、
前記稼動サーバは、該稼動サーバの秘密鍵及び前記新規サーバの公開鍵を用いて生成可
能な前記共通鍵を用いて前記機能通知文書の正当性を判断することを特徴とする請求項3
に記載の通信方法。
The new server generates the signature using a common key between the new server that can be generated using the secret key of the new server and the public key of the active server,
The operation server determines the validity of the function notification document by using the common key that can be generated by using the secret key of the operation server and the public key of the new server.
The communication method described in 1.
ネットワークに接続されている複数の稼動サーバのいずれかに接続可能に構成されてい
るクライアントであって、
前記複数の稼動サーバの各々から、該稼動サーバの機能を通知する機能通知文書を受信
する機能通知文書受信部と、
受信した前記機能通知文書に付加されている署名に基づいて、受信した前記機能通知文
書の正当性を判断する判断部と、
正当な機能通知文書を受信した稼動サーバの中から、該機能通知文書によって通知され
ている稼動サーバの機能に基づいて、接続先の稼動サーバを決定する接続先決定部とを具
備することを特徴とするクライアント。
A client configured to be connectable to one of a plurality of active servers connected to the network,
A function notification document receiver for receiving a function notification document for notifying the function of the active server from each of the plurality of active servers;
A determination unit that determines the validity of the received function notification document based on a signature attached to the received function notification document;
A connection destination determination unit that determines a connection destination active server based on the function of the active server notified by the function notification document from the active servers that have received the valid function notification document. And the client.
前記接続先決定部は、前記機能通知文書を参照して、最も多くの数の機能を具備してい
る稼動サーバを、前記接続先の稼動サーバとして決定することを特徴とする請求項5に記
載のクライアント。
The said connection destination determination part determines the working server which has the most number of functions as the said working server of the connection destination with reference to the said function notification document. Client.
前記接続先決定部は、前記機能通知文書を参照して、クライアントとの接続数が最も多
い稼動サーバを、前記接続先の稼動サーバとして決定することを特徴とする請求項5に記
載のクライアント。
6. The client according to claim 5, wherein the connection destination determination unit determines an operation server having the largest number of connections with the client as the connection destination operation server with reference to the function notification document.
前記接続先決定部は、前記機能通知文書を参照して、最も値が小さい識別子によって識
別される稼動サーバを、前記接続先の稼動サーバとして決定することを特徴とする請求項
5に記載のクライアント。
6. The client according to claim 5, wherein the connection destination determination unit determines an operation server identified by an identifier having the smallest value as the connection destination operation server with reference to the function notification document. .
ネットワークに接続されているサーバであって、
前記ネットワークへの接続を望む新規サーバから、該新規サーバの機能を通知する機能
通知文書を受信する機能通知文書受信部と、
受信した前記機能通知文書に付加された署名に基づいて、該機能通知文書の正当性を判
断する正当性判断部と、
受信した前記機能通知文書が正当であると判断した場合、該機能通知文書によって通知
されている機能に基づいて、前記サーバとクライアントとの間の接続を、前記新規サーバ
と該クライアントとの間の接続に切り替えるか否かについて判断する判断部とを具備する
ことを特徴とするサーバ。
A server connected to the network,
A function notification document receiving unit that receives a function notification document that notifies the function of the new server from a new server that desires connection to the network;
A legitimacy determination unit that determines the legitimacy of the function notification document based on the signature added to the received function notification document;
When it is determined that the received function notification document is valid, a connection between the server and the client is established between the new server and the client based on the function notified by the function notification document. A server comprising: a determination unit that determines whether or not to switch to a connection.
前記判断部は、前記新規サーバから送信された前記機能通知文書を参照して、該新規サ
ーバの機能の数が前記サーバの機能の数よりも多い場合、前記接続を切り替えるように判
断することを特徴とする請求項9に記載のサーバ。
The determination unit refers to the function notification document transmitted from the new server, and determines to switch the connection when the number of functions of the new server is larger than the number of functions of the server. 10. A server according to claim 9, characterized in that
前記判断部は、前記新規サーバから送信された前記機能通知文書を参照して、前記新規
サーバにおけるクライアントとの接続数が前記サーバにおけるクライアントとの接続数よ
りも多い場合、前記接続を切り替えるように判断することを特徴とする請求項9に記載の
サーバ。
The determination unit refers to the function notification document transmitted from the new server, and switches the connection when the number of connections with the client in the new server is greater than the number of connections with the client in the server. The server according to claim 9, wherein a determination is made.
前記判断部は、前記新規サーバから送信された前記機能通知文書を参照して、該新規サ
ーバを識別する識別子の値が前記サーバを識別する識別子の値よりも小さい場合、前記接
続を切り替えるように判断することを特徴とする請求項9に記載のサーバ。


The determination unit refers to the function notification document transmitted from the new server, and switches the connection when an identifier value for identifying the new server is smaller than an identifier value for identifying the server. The server according to claim 9, wherein a determination is made.


JP2004286006A 2004-09-30 2004-09-30 Communication method, client, and server Withdrawn JP2006099515A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004286006A JP2006099515A (en) 2004-09-30 2004-09-30 Communication method, client, and server
CNB2005101068680A CN100421377C (en) 2004-09-30 2005-09-27 Communication method, client apparatus and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004286006A JP2006099515A (en) 2004-09-30 2004-09-30 Communication method, client, and server

Publications (1)

Publication Number Publication Date
JP2006099515A true JP2006099515A (en) 2006-04-13

Family

ID=36239248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004286006A Withdrawn JP2006099515A (en) 2004-09-30 2004-09-30 Communication method, client, and server

Country Status (2)

Country Link
JP (1) JP2006099515A (en)
CN (1) CN100421377C (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19832290B4 (en) * 1998-07-17 2011-12-08 Telefonaktiebolaget Lm Ericsson (Publ) Communication system and method for establishing connections between terminals of a first and a second communication network
JP3798608B2 (en) * 2000-08-29 2006-07-19 シャープ株式会社 Authentication method
US20030167302A1 (en) * 2000-12-29 2003-09-04 Min Zhu Scalable distributed network system for collaborative computing
US20030149755A1 (en) * 2002-02-06 2003-08-07 Emek Sadot Client-controlled load balancer
US7441035B2 (en) * 2002-03-04 2008-10-21 Nokia Corporation Reliable server pool

Also Published As

Publication number Publication date
CN100421377C (en) 2008-09-24
CN1758602A (en) 2006-04-12

Similar Documents

Publication Publication Date Title
US10148628B2 (en) System and method for secure messaging in a hybrid peer-to-peer network
Kong et al. Adaptive security for multilevel ad hoc networks
JP5143125B2 (en) Authentication method, system and apparatus for inter-domain information communication
KR100821435B1 (en) Encrypted communication system, communication status management server, encrypted communication method, and communication status management method
US7254237B1 (en) System and method for establishing a secure connection
KR101549803B1 (en) Verification of integrity of peer-received content in a peer-to-peer content distribution system
US20060248337A1 (en) Establishment of a secure communication
US6725276B1 (en) Apparatus and method for authenticating messages transmitted across different multicast domains
KR20140025553A (en) System and method for secure instant messaging
Cao et al. Breaking a remote user authentication scheme for multi-server architecture
US9300681B2 (en) Method for prefix reachability in a communication system
KR20110004444A (en) Real-time communications over data forwarding framework
JP2008547245A (en) Authentication method for wireless distributed system
Ahmed et al. Secured Service Discovery Technique in IoT.
JP2004248169A (en) Communications control system, communication control method and program, and communication terminal
JP2006099515A (en) Communication method, client, and server
Di Crescenzo et al. Securing reliable server pooling in MANET against Byzantine adversaries
US8914861B2 (en) Authentication method and authentication system based on forking, and forking authentication device
CN113973007A (en) Anonymous query method and system based on broadcast encryption and onion routing and adopting time-controlled encryption
Tselios et al. Malicious threats and novel security extensions in P2PSIP
Tsai et al. A scalable anonymous server overlay network
EP3907967A1 (en) Method for preventing sip device from being attacked, calling device, and called device
Zima et al. Cryptography enhanced ad-hoc approach to P2P overlays
Abdullahi Examining the network & security infrastructure of skype mobile application
Vestola Security issues in structured P2P overlay networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070208

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20081204