CN100421377C - 通信方法、客户机和服务器 - Google Patents
通信方法、客户机和服务器 Download PDFInfo
- Publication number
- CN100421377C CN100421377C CNB2005101068680A CN200510106868A CN100421377C CN 100421377 C CN100421377 C CN 100421377C CN B2005101068680 A CNB2005101068680 A CN B2005101068680A CN 200510106868 A CN200510106868 A CN 200510106868A CN 100421377 C CN100421377 C CN 100421377C
- Authority
- CN
- China
- Prior art keywords
- server
- function
- workspace
- signature
- client computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种通信方法,其用于将客户机连接到与网络相连的多个工作服务器的其中之一上,其中包括:所述多个工作服务器的每一个生成通知各工作服务器的功能的功能通知文件的工序;所述多个工作服务器的每一个将署名添加到所生成的各功能通知文件中而发送到所述客户机的工序;所述客户机根据所述署名来判断所接收到的每个功能通知文件的正当性的工序;所述客户机根据通过该正当的功能通知文件通知的工作服务器的功能,从接收了正当的功能通知文件的工作服务器中决定连接目的地的工作服务器的工序。
Description
技术领域
本发明涉及用于将客户机连接到与网络相连的多个工作服务器的其中之一上的通信方法、对连接有多个工作服务器的网络加入新服务器用的通信方法和实现该通信方法的客户机以及服务器
背景技术
近年来,本地网引人注意,各公司致力于本地网的开发。
在该本地网中,需要收集各种信息来控制与本地网相连的各种设备。因此,与本地网相连的所有客户机连接到唯一的工作服务器的系统是有效的。
【专利文献1】特开2002-77143号公报
在上述现有的系统中,在本地网中出现了新的客户机和新的服务器时,需要对将新的客户机和新的服务器连接到哪个工作服务器来进行选择。在该选择时,从工作服务器发送通知该工作服务器的功能用的功能通知文件(预订(subscribe)文件)。
但是,在现有的通信系统中,在该功能通知文本通过恶意的第三人进行了伪造的情况下,由于客户机连接到不正当的服务器上,所以有本地网产生了混乱的问题。
发明内容
因此,本发明是鉴于上述问题而做出的,其目的是提供一种可实现避免因尝试向网络连接的新的客户机或新的服务器连接到了不正当的服务器上产生的混乱的通信方法、客户机和服务器。
本发明的第一特征的主要内容是一种通信方法,其用于将客户机连接到与网络相连的多个工作服务器的其中之一上,其中包括:所述多个工作服务器的每一个生成通知各工作服务器的功能的功能通知文件的工序;所述多个工作服务器的每一个将署名添加到所生成的各功能通知文件中并发送到所述客户机的工序;所述客户机根据所述署名来判断所接收到的每个功能通知文件的正当性的工序;所述客户机根据通过该正当的功能通知文件通知的工作服务器的功能,从接收了正当的功能通知文件的工作服务器中决定连接目的地的工作服务器的工序。
根据该发明,新的客户机判断从工作服务器接收的功能通知文件(预订又件)的正当性,并从接收了正当的功能通知文件的工作服务器中决定连接目的地的工作服务器,所以可以防止将新的客户机连接到不正当的服务器上。
另外,根据本发明,由于新的客户机根据通过功能通知文件通知的工作服务器的功能来决定连接目的地的工作服务器,所以新的客户机每次在实现最佳的网络结构时可以确立与最佳的工作服务器连接。
在本发明的第一特征中,也可构成为在添加署名之前所述多个工作服务器的每一个使用可用该工作服务器的秘密密钥和所述客户机的公开密钥生成的与该客户机之间的公共密钥来生成所述署名;在判断正当性的工序中,所述客户机使用可用该客户机的秘密密钥和该工作服务器的公开密钥生成的所述公共密钥来判断所接收到的各功能通知文件的正当性。
本发明的第二特征的主要方面是一种通信方法,其用于将新的服务器加入到连接了多个工作服务器的网络中,其中包括:所述新的服务器生成通知该新的服务器的功能的功能通知文件的工序;所述新的服务器将署名添加到所述功能通知文件中并发送到所述多个工作服务器的每一个的工序;所述多个工作服务器的每一个根据所述署名来判断所接收到的功能通知文件的正当性的工序;所述多个工作服务器的每一个在判断为所接收到的功能通知文件正当的情况下,根据通过该功能通知文件通知的所述新服务器的功能,判断是否将该工作服务器和客户机之间的连接切换到所述新服务器和该客户机之间的连接的工序。
根据本发明,由于工作服务器根据通过功能通知文件(预订文件)通知的新服务器的功能,来判断是否将客户机和工作服务器之间的连接切换为客户机和新服务器之间的连接,所以可以实现最佳的网络结构。
在本发明的第二特征中,所述新服务器也可构成为在添加署名之前使用可用该新服务器的秘密密钥和所述工作服务器的公开密钥生成的与该工作服务器之间的公共密钥来生成所述署名;在判断正当性的工序中,所述工作服务器使用可用该工作服务器的秘密密钥和所述新服务器的公开密钥生成的所述公共密钥来判断功能通知文件的正当性。
本发明的第三特征的主要方面是一种客户机,其构成为可连接到与网络相连的多个工作服务器的其中之一上,其中包括:功能通知文件接收部,其从所述多个工作服务器中分别接收通知各工作服务器的功能的功能通知文件;判断部,其根据所接收到的由所述多个工作服务器的每一个添加到功能通知文件中的署名,判断所接收到的各功能通知文件的正当性;连接目的地决定部,其根据通过该正当的功能通知文件通知的工作服务器的功能,从接收了正当的功能通知文件的工作服务器中决定连接目的地的工作服务器。
在本发明的第三特征中,所述连接目的地决定部也可参照所述正当的功能通知文件,将具有最多数量的功能的工作服务器决定为所述连接目的地的工作服务器。
在本发明的第三特征中,所述连接目的地决定部也可参照所述正当的功能通知文件,将连接客户机的数量最多的工作服务器(HCSPC连接数最多的工作服务器)决定为所述连接目的地的工作服务器。
在本发明的第三特征中,所述功能通知文件中包含用于识别对应的工作服务器所具备的功能的识别符,所述连接目的地决定部也可参照所述正当的功能通知文件,将功能通知文件所包含的识别符的文字字面值最小的工作服务器(HCS识别符最小的工作服务器)决定为所述连接目的地的工作服务器。
本发明的第四特征的主要内容是一种服务器,其连接到网络,其中包括:功能通知文件接收部,其从希望向所述网络连接的新的服务器中接收通知该新服务器的功能的功能通知文件;正当性判断部,其根据所接收到由所述新服务器添加到所述功能通知文件中的署名,判断该功能通知文件的正当性;判断部,其在判断为所接收的所述功能通知文件正当的情况下,根据通过该功能通知文件通知的功能,判断是否将所述服务器和客户机之间的连接切换到所述新服务器和该客户机之间的连接。
在本发明的第四特征中,所述判断部也可参照从所述新服务器发送的所述功能通知文件,在该新服务器的功能数比所述服务器的功能数多的情况下,判断为切换所述连接。
在本发明的第四特征中,所述判断部也可参照从所述新服务器发送的所述功能通知文件,在所述新服务器连接客户机的数量比所述服务器连接所述客户机的数量多的情况下,判断为切换所述连接。
在本发明的第四特征中,所述判断部也可参照从所述新服务器发送的所述功能通知文件,在用于识别该新服务器所具备的功能的识别符(HCS识别符)的文字字面值比用于识别所述服务器所具备的功能的识别符(HCS识别符)的文字字面值小的情况下,判断为切换所述连接。
如上所说明的,根据本发明,可以实现避免因最新试着向网络连接的新的客户机和新的服务器连接到不正当的服务器中所产生的混乱的通信方法、客户机和服务器。
附图说明
图1是本发明的第一实施方式的通信系统的整体结构图;
图2是本发明的第一实施方式的通信系统中的客户机的功能框图;
图3是本发明的第一实施方式的通信系统中的服务器的功能框图;
图4是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下的动作的时间图;
图5是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下的步骤S1001的动作的流程图;
图6是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下发送的预订的一例的图;
图7是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下的步骤S1003的动作的流程图;
图8是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下发送的认证信息的一例的图;
图9是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下的步骤S1005的动作的流程图;
图10是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下发送的带署名的预订的一例的图;
图11是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下的步骤S1007的动作的流程图;
图12是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下的发送的重定向的一例的图;
图13是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下的动作的时间图;
图14是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下的步骤S2001的动作的流程图;
图15是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下发送的UDP广告的一例的图;
图16是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下的步骤S2003的动作的流程图;
图17是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下发送的带署名广告的一例的图;
图18是表示在本发明的第一实施方式的通信系统中,新服务器出现的情况下的步骤S2007的动作的流程图。
图中:10-客户机,101-定时器管理部,102-定时器处理部,103-启动处理部,104-随机数生成部,105-连接目的地决定部,106-密钥信息存储部,107-署名运算部,108-署名比较部,109-预订保存部,110-连接服务器信息存储部,111-广告生成部,112-设备信息存储部,113-密钥信息取得部,114-署名取得部,115-预订处理部,116-UDP单播接收部,117-UDP多播发送部,20-服务器,201-启动处理部,202-随机数生成部,203-密钥信息存储部,204-认证信息生成部,205-UDP单播发送部,206-UDP多播发送部,207-预订生成部,208-服务器信息存储部,209-署名运算部,210-密钥信息取得部,211-署名比较部,212-署名取得部,213-新服务器信息取得部,214-接收文件处理部,215-UDP单播接收部,216-UDP多播接收部,217-连接服务器选择部,218-重定向生成部,219-连接管理部,220-TCP服务器。
具体实施方式
(本发明的第一实施方式的通信系统的结构)
参照图1到图3,说明本发明的第一实施方式的通信系统的结构。在本实施方式的通信系统中,如图1所示,构成为将新客户机或新服务器连接(加入)到多个工作服务器所连接的网络(例如,本地网)上。
如图2所示,本实施方式的通信系统的客户机10作为主要功能,具备有:定时器管理部101、定时器处理部102、启动处理部103、随机数生成部104、连接目的地决定部105、密钥信息存储部106、署名运算部107、署名比较部108、预订保存部109、连接服务器信息存储部110、广告生成部111、设备信息存储部112、密钥信息取得部113、署名取得部114、预订处理部115、UDP单播接收部116和UDP多播发送部117。
定时器管理部101通过根据来自广告生成部111的委托来设置定时器,而管理用于等待接收来自工作服务器的预订文件(通知工作服务器的功能的功能通知文件)的预订文件接收等待时间。
定时器处理部102在经过了通过定时器管理部101管理的预订文本接收等待时间的情况下,委托连接目的地决定部105,使其决定客户机10的连接目的地的工作服务器。
启动处理部103进行客户机10启动时需要的启动处理。例如,启动处理部103委托随机数生成部104生成署名的运算所需的客户机10的随机数,并委托广告生成部111生成广告(advertise)文件。
随机数生成部104根据来自启动处理部103的委托,生成客户机10的随机数。以下,表现为客户机10的随机数为“随机数10”。
连接目的地决定部105根据来自定时器处理部102的委托,从接收了正当的预订文件的工作服务器中决定连接目的地的工作服务器。
具体的,连接目的地决定部105根据通过保存在预订保存部109中的预订文件所通知的工作服务器的功能,决定连接目的地的工作服务器。
在这里,预订文件包含启动服务器具备的功能(“features=”)、或客户机的连接数(HCSPC(Home Control Service Protocol)连接数(“connected=”)、或识别工作服务器所具备的功能的识别符(HCSPC识别符(hcsps:))(参照图6)。
例如,连接目的地决定部105也可构成为将具有最多功能的工作服务器决定为连接目的地的工作服务器。
另外,连接目的地决定部105也可构成为在存在多个具有相同数目的功能的工作服务器的情况下,将HCSPC连接数最多的服务器决定为连接目的地的工作服务器。
进一步,连接目的地决定部105也可构成为在存在多个具有同一数目的功能,且HCSPC连接数也相同的工作服务器的情况下,将HCSPC识别符的值最小的工作服务器(将HCSPC的识别符作为文字字面值(literal)的情况下),决定为连接目的地的工作服务器。
例如,在HCSPC识别符#1是“hcsps:/PtPvXYJSQSqwTJpPGjwOg”,HCSPC识别符#2是“hcsps:78AFYZ/eQlaz6o2JrRMrw”的情况下,由于HCSPC识别符#1的前端的文件‘/’为文字字面值时的值为“#x2F”,HCSPC识别符#2的前端的文件‘7’为文字字面值时的值为“#x37”,所以判断为HCSPC识别符#1小。
密钥信息存储部106存储客户机10的公开密钥、客户机10的秘密密钥和通过随机数生成部104生成的客户机10的随机数。
署名运算部107使用通过密钥信息取得部113取得的工作服务器的公开密钥及随机数与通过密钥信息存储部106存储的客户机10的秘密密钥及随机数,来算出判断从工作服务器接收的带署名预订文件的正当性用的署名。后面描述具体的署名的运算方法。
署名比较部108比较通过署名运算部108算出的署名和通过署名取得部114取得的署名,以判断从工作服务器接收的带署名的预订文件的正当性。
另外,在判断为该带署名的预订文件是正当的文件的情况下,署名比较部108委托预订保存部109保存该带署名的预订文件。
另一方面,在判断为该带署名的预订文件为不正当的文件的情况下,署名比较部108删除该带署名的预订文件。
预订保存部109根据来自署名比较部108的委托,保存从多个工作服务器接收的带署名的预订文件。另外,预订保存部109根据需要向连接目的地决定部105提供所保存的带署名的预订文件。
连接服务器信息存储部110存储通过连接目的地决定部105决定的、与连接目的地的工作服务器有关的信息(例如,连接目的地的工作服务器的识别符等)。
广告生成部111根据来自启动处理部103的委托,生成广告文件。在这里,广告文件将存储在密钥信息存储部106中的客户机10的公开密钥和随机数添加到存储在设备信息存储部112中的设备信息上而生成(参照图15)。
另外,广告生成部111在生成了广告文件后,委托UDP多播发送部117,使其用UDP多播来发送该广告文件,同时,委托定时器管理部101开始预订文件接收等待时间。
设备信息存储部112存储客户机10的设备信息(例如,表示客户机10的功能的信息)。设备信息存储部112根据需要向广告生成部111提供所存储的设备信息。
密钥信息取得部113从通过预订处理部115分析的带署名的预订文件中取得工作服务器的公开密钥和随机数(密钥信息)。密钥信息取得部113向署名运算部107发送所取得的密钥信息。
署名取得部114从通过预订处理部115分析的带署名的预订文件中取得署名。署名取得部114将所取得的署名发送到署名比较部108。
预订处理部115分析经UDP单播接收部116从工作服务器中接收的带署名的预订文件,并将工作服务器的公开密钥和随机数(密钥信息)发送到密钥信息取得部113,将署名发送到署名取得部114,将预订文件本身发送到预订保存部109中。
UDP单播接收部116接收通过UDP单播分别从多个工作服务器发送的带署名的预订文件后发送到预订处理部115中。
UDP多播发送部117根据来自广告生成部111的委托,通过UDP多播发送广告文件。
如图3所示,本实施方式的通信系统中的服务器20作为主要功能包括:启动处理部201、随机数生成部202、密钥信息存储部203、认证信息生成部204、UDP单播发送部205、UDP多播发送部206、预订生成部207、服务器信息存储部208、署名运算部209、密钥信息取得部210、署名比较部211、署名取得部212、新服务器信息取得部213、接收文件处理部214、UDP单播接收部215、UDP多播接收部216、连接服务器选择部217、重定向(redirect)生成部218、连接管理部219和TCP服务器220。
启动处理部201进行服务器20启动时需要的启动处理。例如,启动处理部201委托随机数生成部202,使其生成署名的运算所需的服务器20的随机数,委托预订生成部207,使其生成预订文件。
随机数生成部202根据来自启动处理部201的委托,生成服务器20的随机数。随机数生成部202将所生成的服务器20的随机数存储到密钥信息存储部203中。
密钥信息存储部203存储服务器20的公开密钥、服务器20的秘密密钥、通过随机数生成部202生成的服务器20的随机数。
认证信息生成部204根据来自接收了来自新服务器的预订文件的接收文件处理部214的委托,生成包含服务器20的公开密钥和随机数的认证信息。认证信息生成部204委托UDP单播发送部205,使其以UDP单播对该新服务器发送所生成的认证信息。
UDP单播发送部205根据来自预订生成部207或认证信息生成部204的委托,通过UDP单播向新的服务器或新的客户机发送带署名的预订文件或认证信息。
UDP多播发送部206根据来自预订生成部207的委托,通过UDP多播来发送预订文件(没有署名的预订文件)。
预订生成部207根据来自启动处理部201或接收文件处理部214的委托来生成预订文件。
在接收了来自启动处理部201的委托的情况下,预订生成部207根据从服务器信息存储部208取得的服务器信息(例如,表示服务器20的功能的信息)来生成预订文件(没有署名的预订文件),并委托UDP多播发送部206通过UDP多播来发送预订文件。
在接收了来自接收文件处理部214的委托的情况下,预订生成部207根据从服务器信息存储部208取得的服务器信息、从密钥信息存储部203取得的服务器20的公开密钥及随机数与从署名运算部209取得的署名,生成预订文件(带署名的预订文件),并委托UDP单播发送部205,使其通过UDP单播向工作服务器或新的客户机发送预订文件。
服务器信息存储部208存储表示服务器20的功能的服务器信息。
署名运算部209根据来自密钥信息取得部210的委托,使用通过密钥信息取得部210取得的通信对方(新的服务器和新的客户机和工作服务器)的公开密钥和随机数与通过密钥信息存储部203存储的服务器20的秘密密钥和随机数,来算出署名。另外,后面描述具体的署名算出方法。
另外,署名运算部209将使用新的客户机或工作服务器的公开密钥和随机数、服务器20的秘密密钥和随机数生成的署名提供给预订生成部207。
另一方面,署名运算部209将使用新的服务器的公开密钥和随机数与服务器20的秘密密钥和随机数生成的署名提供给署名比较部211。
密钥信息取得部210从接收文件处理部214取得通信对方(新的服务器和新的客户机和工作服务器)的公开密钥和随机数,并委托署名运算部209算出署名。
署名比较部211根据来自署名取得部212的委托,比较通过署名运算部209算出的署名和通过署名取得部212取得的署名,判断从新的服务器接收的带署名的预订文件的正当性。
在判断为所接收的带署名的预订文件为正当的文件的情况下,署名比较部211委托连接服务器选择部217,判断是否将服务器20和客户机10之间的连接切换到新服务器和客户机10之间的连接。
在判断为所接收的带署名的预订文件不是正当的文件的情况下,署名比较部211删除该带署名的预订文件。
署名取得部212从接收文件处理部214中取得添加到带署名的预订文件中的署名。署名取得部212委托署名比较部211,使其比较所取得的署名和通过署名运算部209算出的署名。
新服务器信息取得部213从接收文件处理部214中取得新服务器相关的信息(例如,表示新服务器的功能的信息)。新服务器信息取得部213根据需要将新服务器相关的信息发送到连接服务器选择部217中。
接收文件处理部214对通过UDP单播接收部215和UDP多播接收部216接收的文件(预订文件或广告文件或认证信息等)实施规定的处理。
另外,接收文件处理部214从连接管理部219中取得连接中的客户机的数目,在没有连接一个以上客户机的情况下,从新服务器中删除通过UDP多播发送的预订文件(没有署名的预订文件)。
另外,在接收文件处理部214从新客户机中接收了通过UDP多播发送的广告文件的情况下,通过取得所接收的广告文件中包含的新客户机的公开密钥和随机数,并发送到密钥信息取得部210中,从而委托算出署名。
此外,接收文件处理部214在从新服务器中接收了没有署名的预订文件的情况下,委托认证信息生成部204生成认证信息。
再有,接收文件处理部214在从新服务器接收了带署名的预订文件的情况下,通过取得所接收的带署名的预订文件中含有的新服务器的公开密钥和随机数并发送到密钥信息取得部210,从而委托算出署名。另外,接收文件处理部214将在所接收的带署名的预订文件中含有的署名发送到署名取得部212中。
UDP单播接收部215经网络从服务器或客户机接收通过UDP单播发送的文件(带署名的预订文件和认证信息等),并发送到接收文件处理部214。
UDP多播接收部216经网络从服务器或客户机中接收通过UDP多播发送的文件(没有署名的预订文件和广告文件等),并发送到接收文件处理部214中。
连接服务器选择部217根据来自署名比较部211的委托,比较从新服务器信息取得部213取得的新服务器相关的信息(通过预订文件通知的新服务器的功能)和在服务器信息存储部208中存储的服务器信息(服务器20的功能),判断是否将服务器20和客户机10之间的连接切换为新服务器和客户机10之间的连接。
连接服务器选择部217在判断为新服务器比工作服务器功能高的情况下,委托重定向生成部218,生成进行上述连接的切换用的重定向文件。
例如,连接服务器选择部217在新服务器的功能(“features=”)数比服务器20的功能数相同的情况下,判断为切换上述连接。
另外,连接服务器选择部217在新服务器的功能数和服务器20的功能数相同的情况下,新服务器中的HCSPC连接数(新的服务器中的与客户机的连接数:“connected=”)比服务器20的HCSPC连接数(服务器20的与客户机的连接数)多的情况下,也可判断为切换上述连接。
此外,连接服务器选择部217在新的服务器的功能数和服务器20的功能数相同、且新服务器的HCSPC连接数和服务器20的HCSPC连接数相同的情况下,在新服务器中的HCSPC识别符(识别新服务器的识别符)的值比服务器20的HCSPC识别符(识别服务器20的识别符)的值小的情况下(在将HCSPC识别符作为文字字面值的情况下),也可判断为切换上述连接。
重定向生成部218根据来自连接服务器选择部217的委托,生成对与服务器20之间连接的客户机10发送用的重定向文件,并委托TCP服务器220发送重定向文件。
连接管理部219管理服务器20与客户机之间的连接状态。连接管理部219根据需要将该连接状态提供给接收文件处理部214或连接服务器选择部217。
TCP服务器220与连接中的客户机10之间进行文件的发送接收。
(本发明的第一实施方式的通信方法)
第一,参照图4到图12,说明在本发明的第一实施方式的通信系统中,新服务器B从与网络连接的多个工作服务器中选择工作服务器A来连接的动作。
如图4所示,在步骤S1001中,新服务器B启动。在这里,参照图5,详细描述新服务器B的步骤S1001的动作。
如图5所示,在步骤S1001a中,启动处理部201委托随机数生成部202,使其生成新服务器B的随机数B,并委托预订生成部207,使其生成预订文件。
在步骤S1001b中,随机数生成部202生成新服务器B的随机数B,在步骤S1001c中,预订生成部207根据从服务器信息取得部208取得的服务器信息,生成预订文件(没有署名的预订文件),并委托UDP多播发送部206通过UDP多播来发送预订文件。另外,图6表示这里生成的预订文件的一例。
接着,如图4所示,在步骤S1002中,新服务器B的UDP多播发送部206通过UDP多播发送所生成的预订文件。
在步骤S1003中,工作服务器A接收该预订文件。在这里,参照图7,详细描述工作服务器A在步骤S1003中的动作。
如图7所示,在步骤S1003a中,接收文件处理部214参照从连接管理部219取得的连接中的客户机的数目,并判断是否存在连接中的客户机。
在判断为不存在连接中的客户机的情况下,在步骤S1003e中,接收文件处理部214删除该预订文件。
另一方面,在判断为存在连接中的客户机的情况下,接收文件处理部214委托认证信息生成部204生成认证信息。基于此,认证信息生成部204在步骤S1003b和S1003c中,从密钥信息存储部203中取得工作服务器A的随机数A和公开密钥A,并在步骤S1003d中,根据所取得的工作服务器A的随机数A和公开密钥A来生成认证信息。
另外,图8表示这里生成的认证信息的一例。图8中,“vector=”相当于工作服务器A的公开密钥A,“value=”相当于工作服务器A的随机数A。
接着,如图4所示,在步骤S1004中,工作服务器A的UDP单播发送部205将包含工作服务器A的随机数A和公开密钥A的认证信息通过UDP单播发送到新的服务器B中。
在步骤S1005中,新的服务器B接收该认证信息。在这里,参照图9,详细描述新的服务器B在步骤S1005中的动作。
如图9所示,在步骤S1005a中,通过接收文件处理部214委托进行署名的运算的署名运算部209从通过UDP单播接收部215接收的认证信息中取得工作服务器A的公开密钥A和随机数A。
在步骤S1005b中,署名运算部209从密钥信息存储部203中取得新服务器B的秘密密钥B和随机数B。
在步骤S1005c中,署名运算部209使用用工作服务器A的公开密钥A和随机数A和新服务器B的秘密密钥B和随机数B生成的验证密钥(工作服务器A和新服务器B之间的公共密钥)来算出署名。例如,如下那样来算出验证密钥。
例如,设工作服务器A的秘密密钥为“sA”、新服务器B的秘密密钥为“sB”、工作服务器A的公开密钥为“vA”,新服务器B的公开密钥为“vB”,通过工作服务器A算出的验证密钥为“KAB”,通过新服务器B算出的验证密钥为“KBA”。
在这里,在“vA”和“vB”属于同一集合的任意元素的情况下,将后述的(式1)到(式4)中“KAB=KBA”成立的函数定义为“f:生成秘密密钥的函数”和“F:生成验证密钥的函数”。
在该情况下,署名运算部209可以通过下面的(式1)到(式4)来算出验证密钥。
sA=f(vA)....(式1)
sB=f(vB)....(式2)
FAB=F(sA,vB)....(式3)
FBA=F(sB,vA)....(式4)
另外,工作服务器A和新的服务器B分别预先进行由(式1)和(式2)进行的运算,并将该运算结果分别作为秘密密钥“sA”和“sB”来预先进行保存。
在该情况下,通过工作服务器A的署名运算部209使用工作服务器A的公开密钥“vA”、秘密密钥“sA”和新服务器B的公开密钥“vB”算出的验证密钥“KAB”与通过新的服务器B的署名运算部209使用新的服务器B的公开密钥“vB”、秘密密钥“sB”和工作服务器A的公开密钥“vA”算出的验证密钥“KBA”为相同的值。
并且,署名运算部209通过将所算出的验证密钥、工作服务器A的随机数A和新服务器B的随机数B输入到散列函数(hash function)中来算出署名。
在步骤S1005d中,通过接收文件处理部214委托进行预订文件的生成的预订生成部207根据从服务器信息存储部208取得的服务器信息、从密钥信息存储部203取得的新的服务器B的公开密钥B及随机数B与从署名运算部209取得的署名来生成带署名的预订文件,并委托UPD单播发送部205通过UDP单播来向工作服务器A发送带署名的预订文件。
另外,图10表示这里生成的带署名的预订文件的一例。在图10中,“vector=”相当于新服务器B的公开密钥B,“value=”相当于新服务器B的随机数B,“signature=”相当于署名。
接着,如图4所示,在步骤S1006中,新服务器B的UDP单播发送部205将包含新的服务器B的公开密钥B和随机数B的带署名的预订文件以UDP单播发送到工作服务器A中。
在步骤S1007中,工作服务器A接收该带署名的预订文件。在这里,参照图11来详细描述工作服务器A在步骤S1007中的动作。
如图11所示,在步骤S1007a中,接收文件处理部214取得所接收的带署名的预订文件中含有的新服务器B的公开密钥B和随机数B,并发送到密钥信息取得部210中,以委托算出署名。另外,接收文件处理部214将所接收的带署名的预订文件中含有的署名发送到署名取得部212中。
在步骤S1007b中,署名运算部209从密钥信息存储部203中取得工作服务器A的秘密密钥A和随机数A。
在步骤S1007c中,署名运算部209通过与上述步骤S1005相同的方法,使用用新服务器B的公开密钥B及随机数B与工作服务器A的秘密密钥A及随机数A生成的验证密钥(工作服务器A和新服务器B之间的公共密钥)来算出署名。
在步骤S1007d中,署名比较部211判断通过署名取得部212取得的署名和通过署名运算部209算出的署名是否一致。
在判断为两者不一致的情况下,在步骤S1007g中,署名比较部211中删除所接收的带署名的预订文件。
另一方面,在判断为两者一致的情况下,在步骤S1007e中,连接目的地服务器选择部217判断新服务器B是否比工作服务器A性能高。
在判断为性能高的情况下,在步骤S1007f中,重定向生成部218根据来自连接服务器选择部217的委托,生成对与服务器20之间连接的客户机10发送用的重定向文件。另外,图12表示这里生成的重定向文件的一例。
接着,如图4所示,工作服务器A的TCP服务器220通过对客户机10发送重定向文件,而将工作服务器A与客户机10之间的连接切换为新服务器B和客户机10之间的连接。
第二,参照图13到图18来说明本发明的第一实施方式的通信系统中,新客户机C从与网络相连的多个工作服务器中选择工作服务器#1来进行连接的动作。
如图13所示,在步骤S2001中,新客户机C启动。在这里,参照图14来详细描述新客户机C在步骤S2001中的动作。
如图14所示,在步骤S2001a中,启动处理部103委托随机数生成部104生成新客户机C的随机数,委托广告生成部111生成广告文件。
在步骤S2001b中,随机数生成部104生成新客户机C的随机数C,并在步骤S2001c中,广告生成部111通过向存储在设备信息存储部112中的设备信息添加存储在密钥信息存储部106中的新客户机C的公开密钥C和随机数C,从而生成广告文件。另外,图15表示这里生成的广告文件的一例。
在步骤S2001d中,定时器管理部101通过设置定时器而开始等待来自工作服务器#1的预订文件的接收用的预订文件接收等待时间。
接着,如图13所示,在步骤S2002中,新客户机C的UDP多播发送部117将包含新客户机C的公开密钥C及随机数C的广告文件通过UDP多播进行发送。
在步骤S2003和S2005中,工作服务器#1和#2分别接收上述广告文件。另外,由于工作服务器#1在步骤S2003中的动作和工作服务器#2在步骤S2005中的动作相同,所以参照图16来详细描述工作服务器#1在步骤S2003中的动作。
如图16所示,在步骤S2003a中,通过接收文件处理部214委托了署名的运算的署名运算部209从通过UDP单播接收部215接收的广告文件中取得新客户机C的公开密钥C及随机数C。
在步骤S2003b中,署名运算部209从密钥信息存储部203中取得工作服务器#1的秘密密钥#1和随机数#1。
在步骤S2003c中,署名运算部209通过与上述步骤S1005c相同的方法,使用用新客户机C的公开密钥C及随机数C与工作服务器#1的秘密密钥#1及随机数#1生成的验证密钥(新客户机C和工作服务器#1之间的公共密钥)来算出署名。
在步骤S2003d中,通过接收文件处理部214委托进行预订文件的生成的预订生成部207根据从服务器信息存储部208取得的服务器信息、从密钥信息存储部203取得的工作服务器#1的公开密钥#1及随机数#1与从署名运算部209取得的署名来生成带署名的预订文件,并委托UDP单播发送部205以UDP单播将带署名的预订文件发送到新客户机C中。另外,图17表示这里生成的带署名的预订文件的一例。
接着,如图13所示,在步骤S2004中,工作服务器#1的UDP单播发送部205将包含工作服务器#1的公开密钥#1及随机数#1的带署名的预订文件通过UDP单播发送到新客户机C中。
另外,同样,在步骤S2006中,工作服务器#2的UDP单播发送部205将包含工作服务器#2的公开密钥#2及随机数#2的带署名的预订文件通过UDP单播发送到新客户机C中。
在步骤S2007中,新客户机C接收改带署名的预订文件。在这里,参照图18,来详细描述新客户机C在步骤S2007中的动作。
如图18所示,在步骤S2007a中,UDP单播接收部116确认有无接收带署名的预订文件。在接收了的情况下,本动作进入步骤S2007b,在没有接收的情况下,本动作进入步骤S2007e。
在步骤S2007b中,预订处理部115取得所接收的带署名的预订文件中含有的工作服务器#1的公开密钥#1及随机数#1,并发送到密钥信息取得部113中,以委托算出署名。另外,预订处理部115将在所接收的带署名的预订文件中含有的署名发送到署名取得部114中。
在步骤S2007c中,署名运算部107从密钥信息存储部106中取得新的客户机C的秘密密钥C及随机数C。
在步骤S2007d中,署名运算部107通过与上述步骤S1005相同的方法,使用用工作服务器#1的公开密钥#1及随机数#1与新客户机C的秘密密钥C及随机数C生成的验证密钥(新客户机C和工作服务器#1之间的公共密钥)来算出署名。
在步骤S2007e中,署名比较部108判断通过署名取得部114取得的署名和通过署名运算部107算出的署名是否一致。
在判断为两者一致的情况下,在步骤S2007f中,署名比较部108判断为所接收的带署名的预订文件为正当的文件后,保存在预订保存部109中。
另一方面,在判断为两者不一致的情况下,署名比较部108不保存所接收的带署名的预订文件,本动作进入步骤S2007g。
在步骤S2007g中,定时器处理部102判断是否经过了通过定时器管理部101管理的预订文件接收等待时间。
在判断为没有经过的情况下,本动作回到步骤S2007a,等待进一步的预订文件的接收(例如,来自工作服务器#2的带署名的预订文件)。另一方面,在判断为经过了的情况下,本动作进入到步骤S2007h。
在步骤S2007h中,连接目的地接收部105参照在预订保存部109中保存的预订文件,并将功能最高的工作服务器#1决定为连接目的地的工作服务器。
接着,如图13所示,在新的客户机C和工作服务器#1之间开始连接处理。
Claims (12)
1. 一种通信方法,其用于将客户机连接到与网络相连的多个工作服务器的其中之一上,其特征在于,包括:
所述多个工作服务器的每一个生成通知各工作服务器的功能的功能通知文件的工序;
所述多个工作服务器的每一个将署名添加到所生成的功能通知文件中并发送到所述客户机的工序;
所述客户机根据所述署名来判断所接收的每一个功能通知文件的正当性的工序;和
所述客户机根据通过该功能通知文件通知的工作服务器的功能,从接收了该正当的功能通知文件的工作服务器中决定连接目的地的工作服务器的工序。
2. 根据权利要求1所述的通信方法,其特征在于,
在添加署名之前,所述多个工作服务器的每一个使用可用该工作服务器的秘密密钥和所述客户机的公开密钥生成的与该客户机之间的公共密钥来生成所述署名;
在判断正当性的工序中,所述客户机使用可用该客户机的秘密密钥和该工作服务器的公开密钥生成的所述公共密钥来判断所接收到的各功能通知文件的正当性。
3. 一种通信方法,其用于将新的服务器加入到连接了多个工作服务器的网络中,其特征在于,包括:
所述新的服务器生成通知该新的服务器的功能的功能通知文件的工序;
所述新的服务器将署名添加到所述功能通知文件中并发送到所述多个工作服务器的每一个的工序;
所述多个工作服务器的每一个根据所述署名来判断所接收的功能通知文件的正当性的工序;
所述多个工作服务器的每一个在判断为所接收的功能通知文件正当的情况下,根据通过该功能通知文件通知的所述新服务器的功能,来判断是否将该工作服务器和客户机之间的连接切换到所述新服务器和该客户机之间的连接的工序。
4. 根据权利要求3所述的通信方法,其特征在于,
在添加署名之前,所述新服务器使用可用该新服务器的秘密密钥和所述工作服务器的公开密钥生成的与该工作服务器之间的公共密钥来生成所述署名;
在判断正当性的工序中,所述工作服务器使用可用该工作服务器的秘密密钥和所述新服务器的公开密钥生成的所述公共密钥来判断功能通知文件的正当性。
5. 一种客户机,其构成为可连接到与网络相连的多个工作服务器的其中之一,其特征在于,包括:
功能通知文件接收部,其从所述多个工作服务器中分别接收通知各工作服务器的功能的功能通知文件;
判断部,其根据所接收到的由所述多个工作服务器添加到所述功能通知文件中的署名,来判断所接收的各功能通知文件的正当性;
连接目的地决定部,其根据通过该正当的功能通知文件通知的工作服务器的功能,从接收了正当的功能通知文件的工作服务器中决定连接目的地的工作服务器。
6. 根据权利要求5所述的客户机,其特征在于,所述连接目的地决定部参照所述正当的功能通知文件,将具有最多数量功能的工作服务器决定为所述连接目的地的工作服务器。
7. 根据权利要求5所述的客户机,其特征在于,所述连接目的地决定部参照所述正当的功能通知文件,将连接有客户机的数量最多的工作服务器决定为所述连接目的地的工作服务器。
8. 根据权利要求5所述的客户机,其特征在于,
所述功能通知文件中包含用于识别对应的工作服务器所具备的功能的识别符,所述连接目的地决定部参照所述正当的功能通知文件,将功能通知文件所包含的识别符的文字字面值最小的工作服务器决定为所述连接目的地的工作服务器。
9.一种服务器,其连接到网络,其特征在于,包括:
功能通知文件接收部,其从希望向所述网络连接的新的服务器中接收通知该新服务器的功能的功能通知文件;
正当性判断部,其根据所接收到的、由所述新服务器向所述功能通知文件中添加的署名,判断该功能通知文件的正当性;
判断部,其在判断为所接收的所述功能通知文件正当的情况下,根据通过该功能通知文件通知的功能,判断是否将所述服务器和客户机之间的连接切换到所述新服务器和该客户机之间的连接。
10.根据权利要求9所述的服务器,其特征在于,所述判断部参照从所述新服务器发送的所述功能通知文件,在该新服务器的功能数比所述服务器的功能数多的情况下,判断为切换所述连接。
11.根据权利要求9所述的服务器,其特征在于,所述判断部参照从所述新服务器发送的所述功能通知文件,在该新服务器所连接的客户机的数量比所述服务器所连接的客户机的数量多的情况下,判断为切换所述连接。
12.根据权利要求9所述的服务器,其特征在于,所述判断部参照从所述新服务器发送的所述功能通知文件,在用于识别该新服务器所具备的功能的识别符的文字字面值比用于识别所述服务器所具备的功能的识别符的文字字面值小的情况下,判断为切换所述连接。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004-286006 | 2004-09-30 | ||
JP2004286006 | 2004-09-30 | ||
JP2004286006A JP2006099515A (ja) | 2004-09-30 | 2004-09-30 | 通信方法、クライアント及びサーバ |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1758602A CN1758602A (zh) | 2006-04-12 |
CN100421377C true CN100421377C (zh) | 2008-09-24 |
Family
ID=36239248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101068680A Expired - Fee Related CN100421377C (zh) | 2004-09-30 | 2005-09-27 | 通信方法、客户机和服务器 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2006099515A (zh) |
CN (1) | CN100421377C (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1319313A (zh) * | 1998-07-17 | 2001-10-24 | 艾利森电话股份有限公司 | 两个网络的终端之间的最佳连接建立 |
JP2002077143A (ja) * | 2000-08-29 | 2002-03-15 | Sharp Corp | 認証方法 |
US20030149755A1 (en) * | 2002-02-06 | 2003-08-07 | Emek Sadot | Client-controlled load balancer |
US20030167302A1 (en) * | 2000-12-29 | 2003-09-04 | Min Zhu | Scalable distributed network system for collaborative computing |
US20030220990A1 (en) * | 2002-03-04 | 2003-11-27 | Nokia Corporation | Reliable server pool |
-
2004
- 2004-09-30 JP JP2004286006A patent/JP2006099515A/ja not_active Withdrawn
-
2005
- 2005-09-27 CN CNB2005101068680A patent/CN100421377C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1319313A (zh) * | 1998-07-17 | 2001-10-24 | 艾利森电话股份有限公司 | 两个网络的终端之间的最佳连接建立 |
JP2002077143A (ja) * | 2000-08-29 | 2002-03-15 | Sharp Corp | 認証方法 |
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 |
US20030220990A1 (en) * | 2002-03-04 | 2003-11-27 | Nokia Corporation | Reliable server pool |
Also Published As
Publication number | Publication date |
---|---|
JP2006099515A (ja) | 2006-04-13 |
CN1758602A (zh) | 2006-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dingledine et al. | A reputation system to increase MIX-net reliability | |
WO2017079652A1 (en) | Cryptographic transactions system | |
Bicakci et al. | Infinite length hash chains and their applications | |
EP1478156A2 (en) | Method of distributing encryption keys among nodes in mobile ad hoc network and network device using the same | |
Cao et al. | Breaking a remote user authentication scheme for multi-server architecture | |
EP1900141A1 (en) | Establishment of a trusted relationship between unknown communication parties | |
CN101032107A (zh) | 移动单元在无线网络中快速漫游的方法和系统 | |
KR101475090B1 (ko) | 노드를 구성하는 방법, 관련 노드 및 구성 서버 | |
Ahmed-Rengers et al. | Don't mine, wait in line: fair and efficient blockchain consensus with robust round Robin | |
CN105634720B (zh) | 一种加密安全配置文件的方法、终端设备和系统 | |
CN114841697A (zh) | 基于区块链的电子合同链上存证、签署和查证系统及方法 | |
Bag | A new key predistribution scheme for grid-group deployment of wireless sensor networks. | |
CN100421377C (zh) | 通信方法、客户机和服务器 | |
CN100561912C (zh) | 基于群签名的移动代理安全路由方法 | |
Zhao et al. | Privacy preserving collaborative filtering from asymmetric randomized encoding | |
Memon et al. | Rumor riding: An anonymity approach for decentralized peer to peer systems | |
Perry et al. | Strong anonymity for mesh messaging | |
KR100588302B1 (ko) | 모바일 환경에서의 그룹통신을 위한 세션키 생성 방법 | |
JP2004320308A (ja) | 暗号化通信システムおよび暗号化通信方法 | |
CN114978514B (zh) | 密钥管理方法、系统、装置、电子装置和存储介质 | |
CN109993532B (zh) | 一种智能服务信息推送方法、装置及终端 | |
CN114285854B (zh) | 具备存储优化和安全传输能力的边缘计算系统与方法 | |
CN111343002B (zh) | 服务器扩容部署的方法、装置及服务器 | |
Melchor et al. | pMIX: Untraceability for Small Hiding Groups. | |
EP3451607B1 (en) | Methods and devices for secure communication between network functions of a communication network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080924 Termination date: 20100927 |