JP2006099515A - Communication method, client, and server - Google Patents
Communication method, client, and server Download PDFInfo
- 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
Links
Images
Abstract
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つの稼動サーバに接続するシステムが有効となる。
上述のような従来のシステムでは、ホームネットワークに新規クライアントや新規サー
バが登場した際には、かかる新規クライアントや新規サーバがどの稼動サーバに接続する
かについて選択を行う必要がある。かかる選択の際に、稼動サーバから、当該稼動サーバ
の機能を通知するための機能通知文書(サブスクライブ(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
A random
07,
10, the
6 and a UDP
タイマー管理部101は、アドバタイズ生成部111からの依頼に応じて、タイマーを
設定することによって、稼動サーバからのサブスクライブ文書(稼動サーバの機能を通知
する機能通知文書)の受信を待つためのサブスクライブ文書受信待ち時間を管理するもの
である。
The
タイマーハンドラ部102は、タイマー管理部101によって管理されているサブスク
ライブ文書受信待ち時間が経過した場合、接続先決定部105に対して、クライアント1
0の接続先の稼動サーバを決定するように依頼するものである。
When the waiting time for receiving a subscribe document managed by the
A request is made to determine a working server of 0 connection destination.
起動処理部103は、クライアント10が起動した際に必要な起動処理を行うものであ
る。例えば、起動処理部103は、署名の算出に必要なクライアント10の乱数を生成す
るように乱数生成部104に依頼し、アドバタイズ(advertise)文書を生成す
るようにアドバタイズ生成部111に依頼する。
The
乱数生成部104は、起動処理部103からの依頼に応じて、クライアント10の乱数
を生成するものである。以下、クライアント10の乱数を「乱数10」というように表現
するものとする。
The random
接続先決定部105は、タイマーハンドラ部102からの依頼に応じて、正当なサブス
クライブ文書を受信した稼動サーバの中から、接続先の稼動サーバを決定するものである
。
In response to a request from the
具体的には、接続先決定部105は、サブスクライブ保存部109に保存されているサ
ブスクライブ文書によって通知されている稼動サーバの機能に基づいて、接続先の稼動サ
ーバを決定する。
Specifically, the connection
ここで、サブスクライブ文書は、稼動サーバが具備する機能(「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
また、接続先決定部105は、同じ数の機能を具備する稼動サーバが複数存在する場合
、HCSPC接続数が最も多いサーバを、接続先の稼動サーバとして決定するように構成
されていてもよい。
Further, the connection
さらに、接続先決定部105は、同じ数の機能を具備しで、かつ、HCSPC接続数も
同じ稼動サーバが複数存在する場合、HCSPC識別子の値が最も小さい稼動サーバ(H
CSPCの識別子を文字リテラルとした場合)、接続先の稼動サーバとして決定するよう
に構成されていてもよい。
Further, the connection
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
The random number of the client 10 generated by the random
署名算出部107は、鍵情報取得部113によって取得された稼動サーバの公開鍵及び
乱数と、鍵情報記憶部106によって記憶されているクライアント10の秘密鍵及び乱数
とを用いて、稼動サーバから受信した署名付きサブスクライブ文書の正当性を判断するた
めの署名を算出するものである。なお、具体的な署名の算出方法については後述する。
The
署名比較部108は、署名算出部108によって算出された署名と、署名取得部114
によって取得された署名とを比較して、稼動サーバから受信した署名付きサブスクライブ
文書の正当性について判断するものである。
The
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
一方、かかる署名付きサブスクライブ文書が正当な文書でないと判断された場合には、
署名比較部108は、当該署名付きサブスクライブ文書を破棄する。
On the other hand, if it is determined that the signed subscribed document is not a valid document,
The
サブスクライブ保存部109は、署名比較部108からの依頼に応じて、複数の稼動サ
ーバから受信した署名付きサブスクライブ文書を保存するものである。なお、サブスクラ
イブ保存部109は、必要に応じて、接続先決定部105に、保存している署名付きサブ
スクライブ文書を提供する。
The
接続サーバ情報記憶部110は、接続先決定部105によって決定された接続先の稼動
サーバに関する情報(例えば、接続先の稼動サーバの識別子等)を記憶するものである。
The connection server
アドバタイズ生成部111は、起動処理部103からの依頼に応じて、アドバタイズ文
書を生成するものである。ここで、アドバタイズ文書は、機器情報記憶部112に格納さ
れている機器情報に、鍵情報記憶部106に格納されているクライアント10の公開鍵及
び乱数を付加して生成される(図15参照)。
The
また、アドバタイズ生成部111は、アドバタイズ文書を生成した後、UDPマルチキ
ャストで当該アドバタイズ文書を送信するようにUDPマルチキャスト送信部117に依
頼すると共に、タイマー管理部101にサブスクライブ文書受信待ち時間を開始するよう
に依頼する。
In addition, after generating the advertisement document, the
機器情報記憶部112は、クライアント10の機器情報(例えば、クライアント10の
機能を示す情報)を記憶するものである。機器情報記憶部112は、必要に応じて、記憶
している機器情報をアドバタイズ生成部111に提供する。
The device
鍵情報取得部113は、サブスクライブ処理部115によって解析された署名付きサブ
スクライブ文書から、稼動サーバの公開鍵及び乱数(鍵情報)を取得するものである。鍵
情報取得部113は、取得した鍵情報を署名算出部107に送信する。
The key
署名取得部114は、サブスクライブ処理部115によって解析された署名付きサブス
クライブ文書から、署名を取得するものである。署名取得部114は、取得した署名を署
名比較部108に送信する。
The
サブスクライブ処理部115は、UDPユニキャスト受信部116を介して稼動サーバ
から受信した署名付きサブスクライブ文書を解析して、稼動サーバの公開鍵及び乱数(鍵
情報)を鍵情報取得部113に送信し、署名を署名取得部114に送信し、サブスクライ
ブ文書自体をサブスクライブ保存部109に送信するものである。
The
UDPユニキャスト受信部116は、UDPユニキャストで複数の稼動サーバの各々か
ら送信された署名付きサブスクライブ文書を受信してサブスクライブ処理部115に送信
するものである。
The UDP unicast receiving
UDPマルチキャスト送信部117は、アドバタイズ生成部111からの依頼に応じて
、UDPマルチキャストでアドバタイズ文書を送信するものである。
The UDP
図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
起動処理部201は、サーバ20が起動した際に必要な起動処理を行うものである。例
えば、起動処理部201は、署名の算出に必要なサーバ20の乱数を生成するように乱数
生成部202に依頼し、サブスクライブ文書を生成するようにサブスクライブ生成部20
7に依頼する。
The
Ask 7
乱数生成部202は、起動処理部201からの依頼に応じて、サーバ20の乱数を生成
するものである。乱数生成部202は、生成したサーバ20の乱数を鍵情報記憶部203
に格納する。
The random
To store.
鍵情報記憶部203は、サーバ20の公開鍵と、サーバ20の秘密鍵と、乱数生成部2
02によって生成されたサーバ20の乱数とを記憶するものである。
The key
The random number of the server 20 generated by 02 is stored.
認証情報生成部204は、新規サーバからのサブスクライブ文書を受信した受信文書処
理部214からの依頼に応じて、サーバ20の公開鍵及び乱数を含む認証情報を生成する
ものである。認証情報生成部204は、UDPユニキャスト送信部205に対して、生成
した認証情報をUDPユニキャストで当該新規サーバに対して送信するように依頼する。
The authentication
UDPユニキャスト送信部205は、サブスクライブ生成部207や認証情報生成部2
04からの依頼に応じて、UDPユニキャストで、署名付きサブスクライブ文書や認証情
報を、新規サーバ又は新規クライアントに送信するものである。
The UDP
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
サブスクライブ生成部207は、起動処理部201又は受信文書処理部214からの依
頼に応じて、サブスクライブ文書を生成するものである。
The
起動処理部201からの依頼を受けた場合、サブスクライブ生成部207は、サーバ情
報記憶部208から取得したサーバ情報(例えば、サーバ20の機能を示す情報)に基づ
いてサブスクライブ文書(署名無しサブスクライブ文書)を生成し、UDPマルチキャス
ト送信部206に対して、UDPマルチキャストでサブスクライブ文書を送信するように
依頼する。
When receiving the request from the
また、受信文書処理部214からの依頼を受けた場合、サブスクライブ生成部207は
、サーバ情報記憶部208から取得したサーバ情報と鍵情報記憶部203から取得したサ
ーバ20の公開鍵及び乱数と署名算出部209から取得した署名とに基づいてサブスクラ
イブ文書(署名付きサブスクライブ文書)を生成し、UDPユニキャスト送信部205に
対して、UDPユニキャストで、サブスクライブ文書を、稼動サーバ又は新規クライアン
トに送信するように依頼する。
When receiving a request from the received
サーバ情報記憶部208は、サーバ20の機能を示すサーバ情報を記憶するものである
。
The server
署名算出部209は、鍵情報取得部210からの依頼に応じて、鍵情報取得部210に
よって取得された通信相手(新規サーバや新規クライアントや稼動サーバ)の公開鍵及び
乱数と、鍵情報記憶部203によって記憶されているサーバ20の秘密鍵及び乱数とを用
いて、署名を算出するものである。なお、具体的な署名の算出方法については後述する。
In response to a request from the key
また、署名算出部209は、新規クライアント又は稼動サーバの公開鍵及び乱数と、サ
ーバ20の秘密鍵及び乱数とを用いて生成した署名をサブスクライブ生成部207に提供
する。
In addition, the
一方、署名算出部209は、新規サーバの公開鍵及び乱数と、サーバ20の秘密鍵及び
乱数とを用いて生成した署名を署名比較部211に提供する。
On the other hand, the
鍵情報取得部210は、受信文書処理部214から通信相手(新規サーバや新規クライ
アントや稼動サーバ)の公開鍵及び乱数を取得し、署名算出部209に対して署名を算出
するように依頼するものである。
The key
署名比較部211は、署名取得部212からの依頼に応じて、署名算出部209によっ
て算出された署名と、署名取得部212によって取得された署名とを比較して、新規サー
バから受信した署名付きサブスクライブ文書の正当性について判断するものである。
In response to a request from the
受信した署名付きサブスクライブ文書が正当な文書であると判断された場合、署名比較
部211は、接続サーバ選択部217に対して、サーバ20とクライアント10との間の
接続を、新規サーバとクライアント10との間の接続に切り替えるか否かについて判断す
るように依頼する。
If it is determined that the received subscribed signed document is a legitimate document, the
受信した署名付きサブスクライブ文書が正当な文書でないと判断された場合、署名比較
部211は、かかる署名付きサブスクライブ文書を破棄する。
When it is determined that the received signed subscribe document is not a valid document, the
署名取得部212は、受信文書処理部214から、署名付きサブスクライブ文書に付加
されていた署名を取得するものである。署名取得部212は、署名比較部211に対して
、取得した署名と署名算出部209によって算出された署名とを比較するように依頼する
ものである。
The
新規サーバ情報取得部213は、受信文書処理部214から、新規サーバについての情
報(例えば、新規サーバの機能を示す情報)を取得するものである。新規サーバ情報取得
部213は、必要に応じて、新規サーバについての情報を接続サーバ選択部217に送信
する。
The new server
受信文書処理部214は、UDPユニキャスト受信部215及びUDPマルチキャスト
受信部216によって受信された文書(サブスクライブ文書やアドバタイズ文書や認証情
報等)に対して所定の処理を施すものである。
The received
また、受信文書処理部214は、接続管理部219から接続中のクライアントの数を取
得しており、1つ以上のクライアントが接続されていない場合、新規サーバからUDPマ
ルチキャストで送信されたサブスクライブ文書(署名無しサブスクライブ文書)を破棄す
る。
The received
また、受信文書処理部214は、新規クライアントからUDPマルチキャストで送信さ
れたアドバタイズ文書を受信した場合、受信したアドバタイズ文書に含まれている新規ク
ライアントの公開鍵及び乱数を取得して鍵情報取得部210に送信することによって、署
名を算出するように依頼する。
When the received
また、受信文書処理部214は、新規サーバから、署名無しサブスクライブ文書を受信
した場合、認証情報生成部204に対して認証情報を生成するように依頼する。
When the received
また、受信文書処理部214は、新規サーバから、署名付きサブスクライブ文書を受信
した場合、受信した署名付きサブスクライブ文書に含まれている新規サーバの公開鍵及び
乱数を取得して鍵情報取得部210に送信することによって、署名を算出するように依頼
する。また、受信文書処理部214は、受信した署名付きサブスクライブ文書に含まれて
いる署名を署名取得部212に送信する。
In addition, when the received
UDPユニキャスト受信部215は、ネットワークを介してサーバ又はクライアントか
らUDPユニキャストで送信された文書(署名付きサブスクライブ文書や認証情報等)を
受信して、受信文書処理部214に送信するものである。
The UDP unicast receiving
UDPマルチキャスト受信部216は、ネットワークを介してサーバ又はクライアント
からUDPマルチキャストで送信された文書(署名無しサブスクライブ文書やアドバタイ
ズ文書等)を受信して、受信文書処理部214に送信するものである。
The UDP multicast receiving
接続サーバ選択部217は、署名比較部211からの依頼に応じて、新規サーバ情報取
得部213から取得した新規サーバについての情報(サブスクライブ文書によって通知さ
れた新規サーバの機能)と、サーバ情報記憶部208に記憶されているサーバ情報(サー
バ20の機能)とを比較して、サーバ20とクライアント10との間の接続を、新規サー
バとクライアント10との間の接続に切り替えるか否かについて判断するものである。
In response to a request from the
接続サーバ選択部217は、新規サーバの方が稼動サーバよりも高機能であると判断し
た場合、リダイレクト生成部218に対して、上述の接続の切り替えを行うためのリダイ
レクト文書を生成するように依頼する。
When the connection
例えば、接続サーバ選択部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
また、接続サーバ選択部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
また、接続サーバ選択部217は、新規サーバの機能の数とサーバ20の機能の数が同
じで、かつ、新規サーバのHCSPC接続数とサーバ20のHCSPC接続数が同じ場合
、新規サーバにおけるHCSPC識別子(新規サーバを識別する識別子)の値がサーバ2
0におけるHCSPC識別子(サーバ20を識別する識別子)の値よりも小さい場合(H
CSPC識別子を文字リテラルとした場合)、上述の接続を切り替えるように判断しても
よい。
In addition, the connection
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
A redirect document to be transmitted to the client 10 connected to the client 0 is generated, and the
接続管理部219は、サーバ20のクライアントとの間の接続状態を管理するものであ
る。接続管理部219は、必要に応じて、かかる接続状態を、受信文書処理部214や接
続サーバ選択部217に提供する。
The
TCPサーバ220は、接続中のクライアント10との間で文書の送受信を行うもので
ある。
(本発明の第1の実施形態に係る通信方法)
第1に、図4乃至図12を参照して、本発明の第1の実施形態に係る通信システムにお
いて、新規サーバBが、ネットワークに接続されている複数の稼動サーバの中から稼動サ
ーバAを選択して接続する動作について説明する。
The
(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
ステップS1001bにおいて、乱数生成部202が、新規サーバBの乱数Bを生成し
、ステップS1001cにおいて、サブスクライブ生成部207が、サーバ情報記憶部2
08から取得したサーバ情報に基づいてサブスクライブ文書(署名無しサブスクライブ文
書)を生成し、UDPマルチキャスト送信部206に対して、UDPマルチキャストでサ
ブスクライブ文書を送信するように依頼する。なお、図6に、ここで生成されるサブスク
ライブ文書の一例を示す。
In step S1001b, the random
A subscribe document (unsigned subscribe document) is generated based on the server information acquired from 08, and the UDP
次に、図4に示すように、ステップS1002において、新規サーバBのUDPマルチ
キャスト送信部206が、生成されたサブスクライブ文書を、UDPマルチキャストで送
信する。
Next, as shown in FIG. 4, in step S1002, the UDP
ステップ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
接続中のクライアントが存在しないと判定された場合、ステップS1003eにおいて
、受信文書処理部214は、かかるサブスクライブ文書を破棄する。
If it is determined that there is no connected client, in step S1003e, the received
一方、接続中のクライアントが存在すると判定された場合、受信文書処理部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
The authentication
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
ステップ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
ステップS1005bにおいて、署名算出部209は、鍵情報記憶部203から、新規
サーバBの秘密鍵B及び乱数Bを取得する。
In step S1005b, the
ステップS1005cにおいて、署名算出部209は、稼動サーバAの公開鍵A及び乱
数Aと新規サーバBの秘密鍵B及び乱数Bとを用いて生成される検証鍵(稼動サーバAと
新規サーバBとの間の共通鍵)を用いて署名を算出する。例えば、検証鍵は、以下のよう
に算出されるものとする。
In step S1005c, the
例えば、稼動サーバAの秘密鍵を「sA」とし、新規サーバBの秘密鍵を「sB」とし
、稼動サーバAの公開鍵を「vA」とし、新規サーバBの公開鍵を「vB」とし、稼動サ
ーバ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 ”.
ここで、「vA」及び「vB」を同じ集合に属する任意の元とした場合、後述する(式
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)によって、検証鍵を算
出することができる。
sA=f(vA)…(式1)
sB=f(vB)…(式2)
KAB=F(sA,vB)…(式3)
KBA=F(sB,vA)…(式4)
なお、稼動サーバA及び新規サーバBは、予め(式1)及び(式2)による演算をそれ
ぞれ行っており、かかる演算結果をそれぞれ秘密鍵「sA」及び「sB」として予め保存
しているものとする。
In such a case, the
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の公開鍵「vA」
と秘密鍵「sA」と新規サーバBの公開鍵「vB」とを用いて算出された検証鍵「KAB
」は、新規サーバBの署名算出部209によって新規サーバBの公開鍵「vB」と秘密鍵
「sB」と稼動サーバAの公開鍵「vA」とを用いて算出された検証鍵「KBA」と同じ
値になる。
In such a case, the
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
そして、署名算出部209は、算出した検証鍵と、稼動サーバAの乱数Aと、新規サー
バBの乱数Bとを、ハッシュ関数に入力することによって署名を算出する。
Then, the
ステップS1005dにおいて、受信文書処理部214によってサブスクライブ文書の
生成を依頼されたサブスクライブ生成部207は、サーバ情報記憶部208から取得した
サーバ情報と鍵情報記憶部203から取得した新規サーバBの公開鍵B及び乱数Bと署名
算出部209から取得した署名とに基づいて署名付きサブスクライブ文書を生成し、UD
Pユニキャスト送信部205に対して、UDPユニキャストで、署名付きサブスクライブ
文書を、稼動サーバAに送信するように依頼する。
In step S <b> 1005 d, the
The P
なお、図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
ステップ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
ステップS1007bにおいて、署名算出部209は、鍵情報記憶部203から、稼動
サーバAの秘密鍵A及び乱数Aを取得する。
In step S1007b, the
ステップS1007cにおいて、署名算出部209は、上述のステップS1005と同
様の方法で、新規サーバBの公開鍵B及び乱数Bと稼動サーバAの秘密鍵A及び乱数Aと
を用いて生成される検証鍵(稼動サーバAと新規サーバBとの間の共通鍵)を用いて署名
を算出する。
In step S1007c, the
ステップS1007dにおいて、署名比較部211は、署名取得部212によって取得
された署名と署名算出部209によって算出された署名とが一致するか否かについて判定
する。
In step S1007d, the
両者が一致しないと判定した場合、ステップS1007gにおいて、署名比較部211
は、受信した署名付きサブスクライブ文書を破棄する。
If it is determined that the two do not match, in step S1007g, the
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
高機能であると判断された場合、ステップS1007fにおいて、リダイレクト生成部
218が、接続サーバ選択部217からの依頼に応じて、サーバ20との間で接続してい
るクライアント10に対して送信するためのリダイレクト文書を生成する。なお、図12
に、ここで生成されるリダイレクト文書の一例を示す。
When it is determined that the function is high, in step S1007f, the
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
第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
ステップS2001bにおいて、乱数生成部104が、新規クライアントCの乱数Cを
生成し、ステップS2001cにおいて、アドバタイズ生成部111が、機器情報記憶部
112に格納されている機器情報に、鍵情報記憶部106に格納されている新規クライア
ントCの公開鍵C及び乱数Cを付加することによって、アドバタイズ文書を生成する。な
お、図15に、ここで生成されるアドバタイズ文書の一例を示す。
In step S2001b, the random
ステップS2110dにおいて、タイマー管理部101は、タイマーを設定することに
よって、稼動サーバ#1からのサブスクライブ文書の受信を待つためのサブスクライブ文
書受信待ち時間を開始する。
In step S2110d, the
次に、図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
ステップ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
ステップS2003bにおいて、署名算出部209は、鍵情報記憶部203から、稼動
サーバ#1の秘密鍵#1及び乱数#1を取得する。
In step S2003b, the
ステップS2003cにおいて、署名算出部209は、上述のステップS1005cと
同様の方法で、新規クライアントCの公開鍵C及び乱数Cと稼動サーバ#1の秘密鍵#1
及び乱数#1とを用いて生成される検証鍵(新規クライアントCと稼動サーバ#1との間
の共通鍵)を用いて署名を算出する。
In step S2003c, the
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
And a signed subscription document based on the signature obtained from the
次に、図13に示すように、ステップS2004において、稼動サーバ#1のUDPユ
ニキャスト送信部205が、稼動サーバ#1の公開鍵#1及び乱数#1を含む署名付きサ
ブスクライブ文書を、UDPユニキャストで新規クライアントCに対して送信する。
Next, as shown in FIG. 13, in step S2004, the UDP
また、同様に、ステップS2006において、稼動サーバ#2のUDPユニキャスト送
信部205が、稼動サーバ#2の公開鍵#2及び乱数#2を含む署名付きサブスクライブ
文書を、UDPユニキャストで新規クライアントCに対して送信する。
Similarly, in step S2006, the UDP
ステップ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
ステップS2007cにおいて、署名算出部107は、鍵情報記憶部106から、新規
クライアントCの秘密鍵C及び乱数Cを取得する。
In step S2007c, the
ステップS2007dにおいて、署名算出部107は、上述のステップS1005と同
様の方法で、稼動サーバ#1の公開鍵#1及び乱数#1と新規クライアントCの秘密鍵C
及び乱数Cとを用いて生成される検証鍵(新規クライアントCと稼動サーバ#1との間の
共通鍵)を用いて署名を算出する。
In step S2007d, the
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
両者が一致すると判定した場合、ステップS2007fにおいて、署名比較部108は
、受信した署名付きサブスクライブ文書を正当な文書であると判断してサブスクライブ保
存部109に保存する。
When it is determined that the two match, in step S2007f, the
一方、両者が一致しないと判定した場合、署名比較部108は、受信した署名付きサブ
スクライブ文書を保存することなく、本動作は、ステップS2007gに進む。
On the other hand, if it is determined that the two do not match, the
ステップS2007gにおいて、タイマーハンドラ部102は、タイマー管理部101
によって管理されているサブスクライブ文書受信待ち時間が経過したか否かについて判断
する。
In step S2007g, the
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
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.
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 ...
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.
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)
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 |
-
2004
- 2004-09-30 JP JP2004286006A patent/JP2006099515A/en not_active Withdrawn
-
2005
- 2005-09-27 CN CNB2005101068680A patent/CN100421377C/en not_active Expired - Fee Related
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 |