CN1918887A - 基于代理的安全端到端tcp/ip通信方法和系统 - Google Patents
基于代理的安全端到端tcp/ip通信方法和系统 Download PDFInfo
- Publication number
- CN1918887A CN1918887A CN200580005067.3A CN200580005067A CN1918887A CN 1918887 A CN1918887 A CN 1918887A CN 200580005067 A CN200580005067 A CN 200580005067A CN 1918887 A CN1918887 A CN 1918887A
- Authority
- CN
- China
- Prior art keywords
- request
- public keys
- server apparatus
- receiving device
- information
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
- H04L61/2528—Translation at a proxy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
一种服务器设备(101),接收请求发布装置(102)所发送的TCP连接开始信号,以建立与请求发布装置(102)的TCP连接,接收包括请求接受装置(103)的装置ID及其IP地址和端口号在内的连接请求信号,从装置信息列表中搜索包括在所接收到的连接请求信号中的装置ID,将与包含与连接请求信号中所包含的装置ID相一致的装置ID的装置信息相关联的装置标识为请求接受装置(103),标识所标识的请求接受装置(103)的装置信息中包含的IP地址和端口号,以及发送包含被包含在接收的连接请求信号中的IP地址和端口号在内的连接请求信号。
Description
技术领域
本发明涉及一种使用TCP/IP协议的通信系统。本发明还涉及:(a)一种服务器设备,用于在与例如因特网等的网络相连的装置之间通过对等连接来进行通信;(b)请求发布装置,发出连接请求信号;(c)请求接受装置,接受连接请求信号;(d)服务器设备;(e)通信系统,包括请求发布装置和请求接受装置;以及(f)通信方法。本发明还涉及一种包括所述通信方法中的各个步骤的程序。
背景技术
近年来,因为已经建立了xDSL、光纤等的宽带环境,因特网不仅在公司内,而且在普通家庭中开始日益扩展。此外,不仅(a)个人计算机(PC)可以与因特网相连,而且以下设备都可以与因特网相连:(b)AV设备,例如电视接收机或DVD刻录机;(c)空调;以及(d)家庭电子设备,例如冰箱。在本说明书中,将与例如因特网的网络相连并且与其它装置进行通信的设备称为“通信装置”或者“装置”。
为了使家庭或公司内的局域网(下面称为LAN)与因特网相连,通常采用具有网络地址转换(下面称为NAT)功能和网络地址端口转换(下面称为NAPT)功能的路由器设备。
当在与因特网相连的装置之间进行通信时,使用唯一地分配给每个装置的全局IP地址。然而,由于与因特网相连的装置的数目的快速增长,全局IP地址的数目逐渐减少。这导致通常在不直接与因特网相连的LAN中使用根据RFC1918规定的仅在LAN中唯一的专用IP地址。注意,专用IP地址在因特网上不是唯一的,并且不允许在因特网使用。这使得具有专用IP地址的装置不能够同与因特网相连的、不具有对该装置的任何支持的其它装置进行通信。
NAT功能或NAPT功能解决了该问题。NAT或NAPT功能执行专用IP地址和全局IP地址之间的转换,因此被分配了专用IP地址以及与LAN相连的装置可以同与因特网相连的其它装置进行通信。
现在参考图10至12来描述NAPT功能的机制。
图10是示出了现有通信系统的网络配置的一个示例的方框图。参考图10,请求接受装置13和具有NAPT功能的路由器设备104组成了LAN 106,并且LAN 106在路由器设备104的WAN侧端口处与因特网(WAN)105相连。服务器设备11和请求发布装置12也与因特网(WAN)105相连。
为了将所谓的因特网与LAN相区分,此处由WAN(广域网)来表示因特网。
图11示出了使用NAPT功能来进行通信的通信序列图的一个示例。参考图11,分组21被从请求接受装置13发送到路由器设备104。通过使路由器设备104对分组21执行前向路径转换处理,分组23被从路由器设备104发送到服务器设备11。此外,分组25被从服务器设备11发送到路由器设备104。通过使路由器设备104对分组25执行后向路径转换处理,分组27被从路由器设备104发送到请求接受装置13。此外,图12是示出了路由器设备104的NAPT表的一个示例表。该NAPT表的内容被存储在表存储器(未示出,被包含在路由器设备104中)中。
如图10所示,假设将全局IP地址“130.74.23.6”分配给服务器设备11,将全局IP地址“202.204.16.13”分配给路由器设备104的WAN侧,并且将专用IP地址“192.168.1.3”分配给请求接受装置13。
用于在因特网上通信的IP分组包括规定源的源IP地址字段(下面称为SA)和指定目的地的目的地IP地址字段(下面称为DA)。此外,当将TCP(传输控制协议)或UDP(用户数据报协议)用作通信协议时,IP分组还包括作为源端口号的源端口号字段(下面称为SP)和作为目的地端口号的目的地端口号字段(下面称为DP)。
当请求接受装置13与服务器设备11执行TCP通信时,请求接受装置13将例如图11所示的分组21发送到路由器设备104。分组21包括规定源的SA“192.168.1.3”和SP“2000”以及规定目的地的DA“130.743.23.6”和DP“1200”。
在步骤S22处,路由器设备104对接收分组21执行前向路径转换处理,并且将处理的分组23发送到作为分组目的地的服务器设备11。在步骤S22的前向路径转换处理中,路由器设备104将作为路由器设备104的WAN侧全局IP地址的“202.204.16.13”代替作为专用IP地址的SA“192.168.1.3”。此外,路由器设备104将路由器设备104的WAN侧端口号“3400”代替SP“2000”。此时,如图12所示,路由器设备104将IP地址组“192.168.1.3”和“202.204.16.13”以及端口号“2000”和“3400”存储在NAPT表中。
当接收到分组23时,在步骤S24处,服务器设备11执行预定响应处理,并随后将分组25发送到路由器设备104,作为对分组23的响应。分组25包括规定源的SA“130.743.23.6”和SP“1200”以及规定目的地的DA“202.204.16.13”和DP“3400”。
当接收到分组25时,在步骤S26处,路由器设备104查阅NAPT表,对分组25执行后向路径转换处理,并且将处理的分组27发送到请求接受装置13。在步骤S26的后向路径转换处理中,路由器设备104首先查阅NAPT表中的DA“202.204.16.13”和DP“3400”对。因为其中存在该对,所以路由器设备104将DA“192.168.1.3”代替分组25的DA“202.204.16.13”,然后将DP“2000”代替分组25的DP“3400”。
在通信期间保存NAPT表中存储的数据,并且在通信结束之后丢弃这些数据。
通过该操作,在LAN上具有专用IP地址的装置可以同与因特网相连的其它装置进行通信。然而,相反地,与因特网相连的装置不能够启动与LAN上具有专用IP地址的装置进行通信。
为了解决该问题,提供了所谓“静态NAPT”的功能。换句话说,预先在路由器设备104中设置静态NAPT表。静态NAPT表的内容与图12所示的NAPT表的内容相同。然而,在这种情况下,在设置期间应该将未使用的端口号指定为WAN侧端口号。静态NAPT功能的使用具有以下有利作用。例如,当因特网侧装置将具有设定全局IP地址和设定端口号的分组发送到路由器设备104时,路由器设备104按照与图11所示操作类似的方式来转换IP地址和端口号。然后分组到达具有专用IP地址并且与LAN相连的请求接受装置13。结果,与因特网相连的装置可以与LAN上具有专用IP地址的装置进行通信。
此外,路由器设备104的全局IP地址不总是固定的。例如,当路由器设备104使用PPP(点到点协议)与因特网服务提供商相连时,或者当根据DHCP(动态主机配置协议)来将IP地址动态地分配给路由器设备104时,在路由器设备104与因特网相连时全局IP地址经常改变。这使得难以捕获要连接的装置的全局IP地址。此外,如果使用静态NAPT,装置可以访问LAN上的其它装置,即使两者之间没有进行通信,不利地降低了安全性。
为了解决这些问题,在作为日本专利No.3445,986同族专利的国际公布WO-2004-030314-A1中提出了一种通信系统。现在参考图10至13来描述在该国际公布中提出的通信系统。
图13是图10所示的通信系统的通信序列的一个示例的序列图。如图10所示,假设将全局IP地址“8.117.12.109”分配给请求发布装置12。还假设请求接受装置13将唯一地分配给装置13的装置ID存储在其内部存储器(未示出)中。
请求接受装置13使用UDP来将在有效载荷中包括装置ID的装置注册分组31周期地发送到服务器设备11。在作为UDP分组的装置注册分组31的SA中,写入了作为请求接受装置13的专用IP地址的“192.168.1.3”。当装置注册分组31通过路由器设备104时,如上所述,通过NAPT功能来转换装置注册分组31的SA和SP。并且将转换的分组31发送到服务器设备11。在步骤S32处,服务器设备11参考接收到的装置注册分组31,并且存储请求接受装置13的装置ID组、全局IP地址以及端口号。
请求接受装置13周期地将装置注册分组31发送到服务器设备11。因此,即使改变了路由器设备104的全局IP地址或WAN侧端口号,通过执行步骤S32、与步骤S32类似的步骤S32A等,自动地更新存储在服务器设备11中的请求接受装置13的装置ID、全局IP地址组和端口号。
另一方面,当请求发布装置12希望与请求接受装置13进行通信时,请求发布装置12首先将TCP连接开始分组33发送到服务器设备11,从而与服务器设备11建立TCP连接,并且将具有作为连接对应方的请求接受装置13的装置ID的连接请求分组34发送到服务器设备11。当接收到连接请求分组34时,在步骤S35处,服务器设备11查阅存储在内部存储器(未示出)中的装置ID列表。如果存在同与连接请求分组34中所包含的装置ID相同的装置ID相关的信息,则服务器设备11使用UDP将连接请求通知分组36发送到由与该装置ID相关联的IP地址和端口号所指示的装置。将连接请求通知分组36发送到路由器设备104,作为对装置注册分组31的响应。因此,由路由器设备104转换IP地址和端口号,所以连接请求通知分组36可以到达请求接受装置13。当接收到连接请求通知分组36时,请求接受装置13将TCP连接开始分组37发送到服务器设备11,然后建立与服务器设备11的TCP连接。
其后,当请求发布装置12使用由TCP连接开始分组33所启动的TCP连接来将命令信号38发送到服务器设备11时,服务器设备11可以使用由TCP连接开始分组37所启动的TCP连接来将命令信号38发送到请求接受装置13。此外,当请求接受装置13使用由TCP连接开始分组37所启动的TCP连接来将分组发送到服务器设备11时,服务器设备11可以使用由TCP连接开始分组33所启动的TCP连接来将该分组发送到请求发布装置12。
按照这种方式,服务器设备11的中继可以执行作为具有全局IP地址并且与因特网相连的装置的请求发布装置12与作为具有专用IP地址并且与LAN相连的装置的请求接受装置13之间的通信。即使请求发布装置12存在于其它LAN中并且通过路由器设备与因特网相连,请求发布装置12可以通过相同的操作与请求接受装置13进行通信。
此外,日本专利申请未审公开No.2003-203023公开了一种信息处理系统,用于在与因特网相连的未知装置之间直接发送全局IP地址,即,用于执行对等传输。作为每个都具有全局IP地址的客户端的个人计算机通过对等连接彼此相连,而其它客户端经过服务器通过客户端-服务器连接来彼此相连。对等连接是根据从服务器获取的互相全局IP地址而建立的。通过将客户端-服务器连接部分地改变为对等连接,可以避免业务量在服务器上的本地集中。
然而,在国际公开WO-2004-030313-A1中公开的通信系统具有以下问题。在该国际公开中公开的通信系统经过服务器设备11来执行通信。由此,当在装置之间发送例如运动图像数据的大容量数据时,服务器设备被施加了较大的负荷。尤其是在同时执行多个通信时,即使通过使用多个服务器设备的分布式处理,有时也不能够处理通信。
此外,在日本专利申请未审公开NO.2003-203023中公开的信息处理系统仅在具有全局IP地址的装置之间执行对等传输,而在具有专用IP地址并且与LAN相连的装置之间不执行对等传输。
发明内容
本发明的目的是提供一种服务器设备、一种请求发布装置、一种请求接受装置、一种通信系统以及一种通信方法,能够解决现有技术的上述问题,在每个都具有专用IP地址但是位于不同LAN上的装置之间实现对等通信,并且禁止任意非法接入。
本发明的另一个目的是提供一种包括所述通信方法中的各个步骤的程序。
根据本发明的第一方面,提供了一种设置在通信系统中的服务器设备。在该通信系统中,服务器设备以及包括请求发布装置和请求接受装置的多个装置的每一个都与网络相连,并且服务器设备操作用于将连接请求信号从请求发布装置发送到请求接受装置。服务器设备包括装置信息存储部件,装置信息存储部件操作用于存储包括所述多个装置中的每一个的装置信息组的装置信息列表,其中,所述装置信息组包含与所述多个装置中的每一个相关联的IP地址和端口号以及所述多个装置中的每一个的装置ID。
服务器设备操作用于接收包括请求接受装置的装置信息组的、并且从请求接受装置周期地发送的装置注册信号,并且操作用于将接收的装置注册信号中包含的请求接受装置的装置信息组存储在装置信息存储部件中。服务器设备操作用于接收请求发布装置所发送的第一TCP连接开始信号,用于建立与请求发布装置的第一TCP连接。服务器设备操作用于使用第一TCP连接来从请求发布装置接收第一连接请求信号,所述第一连接请求信号包含请求接受装置的装置ID以及与请求发布装置相关联的IP地址和端口号,并且是对请求接受装置的请求。服务器设备操作用于从装置信息列表中搜索接收的第一连接请求信号中包含的请求接受装置的装置ID,将与包含与第一连接请求信号中包含的请求接受装置的装置ID相一致的装置ID的装置信息组相关联的装置标识为请求接受装置,并且将所标识的请求接受装置的装置信息组中包含的IP地址和端口号标识为装置信息列表上与请求接受装置相关联的IP地址和端口号。服务器设备操作用于将包含被包含在接收的第一连接请求信号中并且与请求发布装置相关联的IP地址和端口号在内的第二连接请求信号发送到所标识的请求接受装置,作为对装置注册信号的响应信号,并将所标识的IP地址和所标识的端口地址设置为目的地。
在上述服务器设备中,在将所标识的请求接受装置的装置信息组中包含的IP地址和端口号标识为与请求接受装置相关联的IP地址和端口号之后,并且在将第二连接请求信号发送到所标识的请求接受装置之前,服务器设备将第三连接请求信号发送到请求接受装置,并且从请求接受装置接收第二TCP连接开始信号,作为对第三连接请求信号的响应信号,以建立与请求接受装置的第二TCP连接。服务器设备操作用于使用所建立的第二TCP连接,来将第二连接请求信号发送到请求接受装置。
在上述服务器设备中,第一连接请求信号还包括请求接受装置的口令信息。服务器设备操作用于将第一连接请求信号中包含的口令信息添加到第二连接请求信号中,并且发送包含口令信息的第二连接请求信号。
上述服务器设备还包括第一加密通信部件以及证书信息存储部件。第一加密通信部件操作用于产生第一通信公共密钥和第二通信公共密钥,使用第一通信公共密钥来解密接收的信号,并且使用第二通信公共密钥来加密发送的信号。证书信息存储部件操作用于存储用于证明服务器设备的有效性的服务器证书信息。
服务器设备操作用于在接收第一连接请求信号之前将服务器证书信息发送到请求发布装置。服务器设备操作用于使用第一TCP连接来从请求发布装置接收响应于服务器证书信息而产生的第一公共密钥产生信息,使第一加密通信部件响应于第一公共密钥产生信息来产生第二公共密钥产生信息,使第一加密通信部件根据第一公共密钥产生信息和第二公共密钥产生信息来产生第一通信公共密钥,使用第一TCP连接来将第二公共密钥产生信息发送到请求发布装置,并且使请求发布装置根据第一公共密钥产生信息和第二公共密钥产生信息来产生与第一通信公共密钥相同的通信公共密钥,以与请求发布装置共享第一通信公共密钥。服务器设备操作用于使用第一TCP连接来从请求发布装置接收使用第一通信公共密钥加密的第一连接请求信号,并且使第一加密通信部件使用第一通信公共密钥来解密接收的第一连接请求信号。在发送第二连接请求信号之前,服务器设备将服务器证书信息发送到请求接受装置。服务器设备操作用于使用第二TCP连接来从请求接受装置接收响应于服务器证书信息而产生的第三公共密钥产生信息,使第一加密通信部件响应于第三公共密钥产生信息来产生第四公共密钥产生信息,使第一加密通信部件根据第三公共密钥产生信息和第四公共密钥产生信息来产生第二通信公共密钥,使用第二TCP连接来将第四公共密钥产生信息发送到请求接受装置,并且使请求接受装置根据第三公共密钥产生信息和第四公共密钥产生信息来产生与第二通信公共密钥相同的通信公共密钥,以与请求接受装置共享第二通信公共密钥。在接收到第一连接请求信号之后并且在发送第二连接请求信号之前,服务器设备使第一加密通信部件使用第二通信公共密钥来加密第二连接请求信号。
根据本发明的第二方面,提供了一种设置在通信系统中的请求发布装置。在该请求发布装置中,服务器设备和包括请求发布装置和请求接受装置在内的多个装置的每一个都与网络相连,并且请求发布装置操作用于与服务器设备和请求接受装置进行通信。请求发布装置操作用于将第一TCP连接开始信号发送到服务器设备,用于建立与服务器设备的第一TCP连接。请求发布装置操作用于使用第一TCP连接来将第一连接请求信号发送到服务器设备,第一连接请求信号包括请求接受装置的装置ID以及与请求发布装置相关联的IP地址和端口号,并且是对请求接受装置的请求。在从请求接受装置接收到用于请求在请求发布装置和请求接受装置之间进行通信的通信请求信号之后,请求发布装置响应于通信请求信号,接受请求发布装置和请求接受装置之间的通信,并且开始与请求接受装置进行通信。
在上述请求发布装置中,第一连接请求信号还包括请求接受装置的口令信息。
上述请求发布装置还包括第二加密通信部件以及第一证书信息认证部件。第二加密通信部件操作用于产生第一通信公共密钥,并且使用第一通信公共密钥来加密发送的信号。第一证书信息认证部件操作用于认证用于证明服务器设备的有效性的服务器证书信息。请求发布装置操作用于在发送第一连接请求信号之前从服务器设备接收服务器证书信息。请求发布装置操作用于通过第一证书信息认证部件来认证接收的服务器证书信息,并且确认接收的服务器证书信息是否是有效的。当确认接收的服务器证书信息是有效的时,请求发布装置使第二加密通信部件产生第一公共密钥产生信息,使用第一TCP连接来将产生的第一公共密钥产生信息发送到服务器设备,使用第一TCP连接来从服务器设备接收响应于第一公共密钥产生信息而产生的第二公共密钥产生信息,使第二加密通信部件根据第一公共密钥产生信息和第二公共密钥产生信息来产生第一通信公共密钥,并且使服务器设备根据第一密钥产生信息和第二公共密钥产生信息来产生与第一通信公共密钥相同的通信公共密钥,以与服务器设备共享第一通信公共密钥。在发送第一连接请求信号之前,请求发布装置使第二加密通信部件使用第一通信公共密钥来加密第一连接请求信号。请求发布装置操作用于使用第一TCP连接来将加密的第一连接请求信号发送到服务器设备。
根据本发明的第三方面,提供了一种设置在通信系统中的请求接受装置。在该通信系统中,服务器设备和包括请求发布装置和请求接受装置在内的多个装置的每一个都与网络相连,请求接受装置操作用于与服务器设备以及请求发布装置进行通信。请求接受装置包括装置ID存储部件,操作用于存储请求接受装置的装置ID。请求接受装置操作用于将包括请求接受装置的装置ID在内的装置注册信号周期地发送到服务器设备。请求接受装置操作用于从服务器设备接收包括与请求发布装置相关联的IP地址和端口号在内的第二连接请求信号,作为对装置注册信号的响应信号。请求接受装置操作用于将用于请求在请求接受装置和请求发布装置之间进行通信的通信请求信号发送到由接收的第二连接请求信号中包含的IP地址和端口号所表示的请求发布装置。在请求发布装置响应于通信请求信号,接受在请求接受装置和请求发布装置之间的通信之后,请求接受装置开始与请求发布装置进行通信。
在上述请求接受装置中,在将装置注册信号发送到服务器设备之后并且在接收到第二连接请求信号之前,请求接受装置从服务器设备接收到第三连接请求信号,作为对装置注册信号的响应信号,并且将第二TCP连接开始信号发送到服务器设备,作为对第三连接请求信号的响应信号,以建立与服务器设备的第二TCP连接。请求接受装置操作用于使用所建立的第二TCP连接来从服务器设备接收第二连接请求信号。
上述请求接受装置还包括口令信息存储部件,操作用于存储请求接受装置的口令信息。请求接受装置操作用于使用第二TCP连接来从服务器设备接收还包括口令信息的第二连接请求信号。请求接受装置操作用于仅当第二连接请求信号中包含的口令信息与存储在口令信息存储部件中的请求接受装置的口令信息相一致时,将通信请求信号发送到请求发布装置。
上述请求接受装置还包括第三加密通信部件和第二证书信息认证部件。第三加密通信部件操作用于产生第二通信公共密钥,并且使用第二通信公共密钥来解密接收的信号。第二证书信息认证部件操作用于认证用于证明服务器设备的有效性的服务器证书信息。在接收到第二连接请求信号之前,请求接受装置从服务器设备接收服务器证书信息。请求接受装置操作用于使第二证书信息认证部件认证接收的服务器证书信息是否是有效的,以确认接收的服务器证书信息是否是有效的。当确认接收的服务器证书信息是有效的时,请求接受装置使第三加密通信部件产生第三公共密钥产生信息,使用第二TCP连接来将第三公共密钥产生信息发送到服务器设备,使用第二TCP连接来从服务器设备接收响应于第三公共密钥产生信息而产生的第四公共密钥产生信息,使第三加密通信部件根据第二公共密钥产生信息和第四公共密钥产生信息来产生第二通信公共密钥,并且使服务器设备根据第三公共密钥产生信息和第四公共密钥产生信息来产生与第二通信公共密钥相同的通信公共密钥,以与服务器设备共享第二通信公共密钥。请求接受装置操作用于使用第二TCP连接来从服务器设备接收使用第二通信公共密钥加密的第二连接请求信号,并且使第三加密通信部件使用第二通信公共密钥来解密接收的第二连接请求信号。
根据本发明的第四方面,提供了一种包括服务器设备以及包括请求发布装置和请求接受装置在内的多个装置的通信系统。在该通信系统中,多个装置和服务器设备的每一个都与网络相连。
根据本发明的第五方面,提供了一种包括由服务器设备、请求发布装置和请求接受装置所执行的步骤的通信方法。
根据本发明的第六方面,提供了一种用于使计算机执行所述通信方法的程序。
因此,根据本发明,可以在每一个都具有专用IP地址但是位于不同LAN上的请求发布装置和请求接受装置之间实现对等通信,禁止任何非法接入。此外,根据本发明,可以提供一种包括所述通信方法中的各个步骤的程序,当与因特网相连的计算机或装置读出该程序时,该程序使计算机或装置执行所述通信方法中的步骤。
附图说明
图1是根据本发明优选实施例的通信系统的网络配置的方框图;
图2是示出了在图1所示的通信系统中执行的通信序列的一个示例的序列图;
图3是示出了在图2所示步骤S203的第一连接请求序列处的详细处理的序列图;
图4是示出了在图2所示步骤S206的第二连接请求序列处的详细处理的序列图;
图5是证书授权设备51的方框图,证书授权设备51用于认证服务器设备101对于请求发布装置102和请求接受装置103是否是有效的(如图1所示);
图6是存储在图1所示的路由器设备104a的内部表存储器104am中的NAPT表的一个示例表;
图7A是示出了图2所示的LAN侧装置注册分组201的配置的示意图;
图7B是示出了图2所示的WAN侧装置注册分组201的配置的示意图;
图7C是示出了图3所示的LAN侧装置注册分组217的配置的示意图;
图7D是示出了图3所示的WAN侧装置注册分组217的配置的示意图;
图8A是示出了图2所示的LAN侧连接请求通知分组205的配置的示意图;
图8B是示出了图2所示的WAN侧连接请求通知分组205的配置的示意图;
图8C是示出了图4所示的LAN侧连接请求分组226的配置的示意图;
图8D是示出了图4所示的WAN侧连接请求分组226的配置的示意图;
图9是示出了存储在图1所示的服务器设备101的表存储器101m中的装置信息列表的一个示例表;
图10是示出了现有技术通信系统的网络配置的一个示例的方框图;
图11是示出了使用路由器设备的NAPT功能进行通信的通信序列的一个示例的序列图;
图12是示出了路由器设备104的NAPT表的一个示例表;
图13是示出了图10所示的通信系统的通信序列的一个示例的序列图。
具体实施方式
下面将参考图1至9来描述本发明的优选实施例。
图1是示出了根据本发明优选实施例的通信系统的网络配置的方框图。请求发布装置102和具有NAPT功能的路由器设备104a组成了请求发布侧LAN 106a。请求发布侧LAN 106a在路由器设备104a的WAN侧端口处与因特网(WAN)105相连。此外,请求接受装置103和具有NAPT功能的路由器设备104b组成了请求接受侧LAN 106b。请求接受侧LAN 106b在路由器设备104b的WAN侧端口处与因特网(WAN)105相连。此外,服务器设备101与因特网(WAN)105相连。
根据本优选实施例的通信系统包括:多个装置,例如每个都与因特网(WAN)105相连的请求发布装置102和请求接受装置103;以及与因特网(WAN)105相连的服务器设备101。在通信系统中,请求发布侧LAN 106a的请求发布装置102通过服务器设备101将连接请求信号发送到请求接受侧LAN 106b的请求接受装置103,并且在请求发布装置102和请求接受装置103之间执行通信。在该通信系统中,服务器设备101包括如图9所示的用于存储装置信息列表的装置信息存储工具或部件的表存储器101m,包括与每个装置相关的装置信息组,由与每个装置相关联的IP地址和端口号以及装置的装置ID组成。请求接受装置103周期地将包括与请求接受装置103相关的装置信息组的装置注册分组201发送到服务器设备101。在图2所示的步骤S202和S202A处,服务器设备101接收装置注册分组201,并将该接收到的装置注册分组201中包含的与请求接受装置103相关的装置信息组存储在装置信息存储工具的表存储器101m中。请求发布装置102在与请求接受装置103进行通信时首先执行步骤S203的第一连接请求序列。在步骤S203处,请求发布装置102将TCP连接开始分组211发送到服务器设备101,从而建立与服务器设备101的第一TCP连接,然后,使用第一TCP连接来将连接请求分组217发送到服务器设备101,其中连接请求分组217包括请求接受装置103的装置ID以及要发送到请求接受装置103的与请求发布装置102相关联的IP地址和端口号。服务器设备101接收连接请求分组217。在步骤S204处,服务器设备101从装置信息列表中搜索接收到的连接请求分组217中包含的请求接受装置103的装置ID,将装置信息列表上与包含与连接请求分组217中包含的请求接受装置103的装置ID相一致的装置ID的装置信息组相关联的设备标识为请求接受装置103,并且将装置信息列表上与标识的请求接受装置103相关联的装置信息组中包含的IP地址和端口号标识为与请求接受装置103相关联的IP地址和端口号。在步骤S205处,服务器设备101将包括接收到的连接请求分组217中包含的与请求发布装置102相关联的IP地址和端口号的连接请求分组226发送到标识的请求接受装置103,作为对装置注册分组201的响应信号,其中标识的IP地址和端口号被用作目的地。请求接受装置103接收连接请求分组226。此外,请求接受装置103将TCP连接请求分组208发送到接收到的连接请求分组226中包含的IP地址和端口号所表示的请求发布装置102,作为用于请求在请求发布装置102和请求接受装置103之间进行通信的通信请求信号。当请求发布装置102响应于TCP连接请求分组208,接受请求发布装置102和请求接受装置103之间进行通信时,在步骤S209处,开始用于在请求发布装置102和请求接受装置103之间进行数据通信的数据通信序列。
在本优选实施例中,可以将服务器设备101、请求发布装置102和请求接受装置103构成为由用于执行稍后将描述的多个步骤的计算机可读程序所操作的专用通信装置或通用计算机。
在本优选实施例中,假设如图1所示,将“130.74.23.6”作为全局IP地址分配给服务器设备101,服务器设备101包括存储其全局IP地址和装置信息列表的表存储器101m。将“192.168.1.11”作为专用IP地址分配给请求发布装置102。将“192.168.1.3”作为专用IP地址分配给请求接受装置103。请求发布装置102包括存储其专用IP地址和端口号的表存储器102m。请求接受装置103包括存储其专用IP地址和端口号的表存储器103m。将“4.17.168.2”作为全局IP地址分配给路由器设备104a,并且将“202.204.16.13”作为全局IP地址分配给路由器设备104b。路由器设备104a按照与图12所示类似的方式将图6的NAPT表的内容存储在其内部表存储器104am中,所述内容包括其WAN侧端口号和全局IP地址以及请求发布装置102的专用IP地址和端口号。此外,路由器设备104b将包括其WAN侧端口号和全局IP地址以及请求接受装置103的专用IP地址和端口号的NAPT表的内容存储在内部表存储器104bm中。
还如下进行设定。请求发布装置102将唯一地分配给装置102的装置ID“1051”存储在其内部表存储器102m中,并且请求接受装置103将唯一地分配给装置103的装置ID“2133”存储在其内部表存储器103m中。装置ID是针对执行对等通信的本优选实施例的每个装置所唯一地规定的标识信息。例如,可以将装置的制造商所分配的标识号或MAC地址用作装置ID。然而,装置ID不局限于这些标识信息。
还设定请求接受装置103将作为保密信息的口令存储在其内部表存储器103m中。如稍后所述,与请求接受装置103执行对等通信的请求发布装置102必须预先获取请求接受装置103的口令和装置ID以及路由器设备104a的全局IP地址和WAN侧端口号,并且将它们存储在其内部表存储器102m中。
图2至4是示出了在图1所示的通信系统中执行的通信序列的一个示例的序列图。图7A至7D以及图8A至8D示出了在图2至4所示的通信序列中使用的多个分组的示例。
请求接受装置103周期地或者在预定周期间隔处使用UDP来将具有有效载荷中包含的装置ID的装置注册分组201发送到服务器设备101。如图7A所示,在请求接受侧LAN 106b,“192.168.1.3”被写入装置注册分组201的SA,并且“2000”被写入装置注册分组201的SP。通过路由器设备104b将装置注册分组201发送到服务器设备101。当装置注册分组201通过路由器设备104b时,路由器设备104b通过NAPT功能将装置注册分组201上的SA转换为“202.204.16.13”,并且还将装置注册分组201上的SP转换为“3400”。经过因特网(WAN)105将如图7B所示的由NAPT功能所转换的装置注册分析201发送到服务器设备101。
服务器设备101包括表存储器101m,用于存储装置信息列表,所述装置信息列表包括与因特网(WAN)105相连的各个装置的装置信息组以及与每个装置相关联的IP地址和端口号和每个装置的装置ID。服务器设备101查阅接收到的装置注册分组201的SA、SP和有效载荷,然后在步骤S202处,服务器设备101将请求接受装置103的装置ID组、路由器设备104b的全局IP地址以及路由器设备104b的WAN侧端口号存储在服务器设备101中包含的表存储器101m中,与请求接受装置103相对应的作为装置信息组(即装置信息列表的项目)。在本优选实施例中,服务器设备101查阅路由器设备104b的全局IP地址和WAN侧端口号,作为与请求接受装置103相关联的IP地址和端口号。换句话说,当服务器设备。101向请求接受装置103发送分组时,服务器设备101查阅包括请求接受装置103的请求接受侧LAN 106b的全局IP地址和WAN侧端口号(即路由器设备104b的全局IP地址和WAN侧端口号),作为目的地。图9示出了存储在服务器设备101中包含的表存储器101m中的装置信息列表的一个示例。
请求接受装置103周期地将装置注册分组201发送到服务器设备101。由此,即使路由器设备104b的全局IP地址或WAN侧端口号改变,通过执行步骤S202和与步骤S202类似的步骤S202A,可以自动地更新服务器设备101上的装置信息列表。
另一方面,当请求发布装置102希望与请求接受装置103进行数据通信时,执行请求发布装置102和服务器设备101之间的步骤S203的第一连接请求序列、服务器设备101所进行的步骤S204、分组205的传输以及服务器设备101和请求接受装置103之间的步骤S206的第二连接请求序列,作为处理序列,以便将连接请求消息从请求发布装置102发送到请求接受装置103,所述连接请求消息用于通知请求发布装置102希望与请求接受装置103进行数据通信。然后,来自请求发布装置102的连接请求消息由服务器设备101中继并且被从请求发布装置102发送到请求接受装置103。请求发布装置102首先执行请求发布装置102和服务器设备101之间的步骤S203的第一连接请求序列,以便将连接请求消息发送到请求接受装置103。
在步骤S203的第一连接请求序列处,必须发送诸如请求接受装置103的口令之类的保密信息和请求接受装置的装置ID以及与请求发布装置102相关联的IP地址和端口号。为此,在本优选实施例中使用SSL(安全套接层)来加密保密信息。首先参考图3和5来描述用于加密后述连接请求分组217的传输的SSL通信。
图5是认证服务器设备101对于请求发布装置102和请求接受装置103是否是有效的证书授权设备51的方框图。具体地,图5示出了分布用于证明服务器设备101的有效性的服务器证书数据65的方法和认证方法。在图5中,由于在与认证相关联的说明中不重要,所以未示出路由器设备104a和104b。参考图5,证书授权设备51(下面将证书授权称为CA)将固有的CA公钥52和CA私钥53对存储在证书授权设备51的表存储器51m中。服务器设备101将固有的服务器私钥61和服务器公钥62对以及证书授权设备51所发出的服务器证书数据65存储在服务器设备101的表存储器101m中。服务器证书数据65包括服务器公钥62和证书授权设备51所产生的签名64。
为了执行步骤S203的第一连接请求序列以及步骤S206的第二连接请求序列的处理,服务器设备101首先必须使证书授权设备51根据下面所述的处理来预先发出服务器证书数据65。
证书授权设备51包括预先存储CA公钥52和CA私钥53对的表存储器51m。服务器设备101产生服务器公钥62和服务器私钥61对。服务器设备101将服务器公钥62和与服务器设备101相关的信息发送到证书授权设备51,作为服务器证书数据请求分组63,并且请求证书授权设备51发出服务器证书数据65。当接收到服务器证书数据请求分组63时,证书授权设备51根据从服务器设备101接收的信息和其它必要信息,使用CA私钥53来产生签名64。然后,证书授权设备51向服务器设备101发出通过组合从服务器设备101接收到的信息、其它必要信息以及签名64所产生的数据,作为服务器证书数据65。这样发出的服务器证书数据65被从证书授权设备51发送到服务器设备101,作为服务器证书数据发布分组54。服务器设备101将接收到的服务器证书数据65存储在服务器设备101的内部表存储器101m中。
用作客户端装置的请求发布装置102和请求接受装置103预先从证书授权设备51获取CA公钥52,并且将获取的CA公钥52存储在其各自内部存储器102m和103m中。通常,CA公钥52以CA证书数据分许55的形式与关于证书授权设备51的信息一起被发送到客户端装置(即与服务器设备101进行通信的其它装置)。当通过服务器证书数据分组214从服务器设备101解释到服务器证书数据65时,请求发布装置102和请求接受装置103中的每个允许各个装置102和103中设置的每个证书信息认证处理部分102c和103c使用存储在每个内部表存储器102m和103m中的CA公钥52,来认证服务器证书数据65中包含的签名64是否是有效的。这使得请求发布装置102和请求接受装置103中的每一个都能够确认服务器证书数据65中的服务器公钥62是否是有效的。
具体地,如下来执行请求发布装置102和服务器设备101之间的保密通信的第一连接请求序列的步骤S203。
图3是示出了步骤S203的第一连接请求序列的详细处理的序列图。图3示出了使用SSL来发送连接请求分组217的流程图。在图3中,参考符号73表示保密通信所用的通信公共密钥。
假设服务器设备101还包括加密通信处理部分101e。加密通信处理部分101e产生用于加密和解码要发送和接收的信号的通信公共密钥73和83,使用产生的通信公共密钥73来加密和解密要发送至和接收自请求发布装置102的信号,并且使用通信公共密钥83来加密和解密要发送至和接收自请求接受装置103的信号。还设定请求发布装置102还包括加密通信处理部分102e和证书通信认证处理部分102c。装置102的加密通信处理部分102e产生用于加密和解密要发送和接收的信号的通信公共密钥73,并且使用通信公共密钥73来执行要发送至和接收自服务器设备101的信号的加密和解密。证书信息认证处理部分102c认证服务器证书数据65是否是有效的。
在SSL通信中,客户端侧的请求发布装置102首先通过路由器设备104a将TCP连接开始分组211发送到服务器设备101,这使得通过TCP连接开始了与服务器设备101进行通信的请求。图6示出了存储在路由器设备104a的内部表存储器104am中的NAPT表的一个示例。当TCP连接开始分组211通过路由器设备104a时,路由器设备104a根据NAPT表,使用NAPT功能将TCP连接开始分组211上的SA从“192.168.1.11”转换为“4.17.168.2”,并且还将TCP连接开始分组211上的SP从“1500”转换为“7000”。此外,当接收到寻址于请求发布装置102的分组时,路由器设备104a对分组的DA执行与上述转换相反的转换,并且对分组的DP执行不同的转换,并且将产生的分组发送到请求发布装置102。在本说明书中,为了说明的简要性,不对路由器设备104a的NAPT处理操作进行描述。然而,实际上,当请求发布装置102希望向服务器设备101或因特网(WAN)105上的其它装置发送或从其接收分组时,装置102总是通过路由器设备104a来发送和接收分组,并且路由器设备104a对该分组执行NAPT处理。
接下来,请求发布装置102和服务器设备101执行加密规范协商步骤,从而互相检查在保密通信中所采用的加密方案规范。请求发布装置102首先使用由TCP连接开始分组211建立的TCP连接来将加密通信开始请求分组(称为client_hello分组)212发送到服务器设备101。加密通信开始请求分组212包括可用SSL版本、可用加密方案列表、会话ID等,并且还包括请求发布装置102产生的随机数ClientHello.random。当接收到加密通信开始请求分组212并且允许开始通信时,服务器设备101使用由TCP连接开始分组211建立的TCP连接来将加密通信开始响应分组(称为“server hello分组”)213发送到请求发布装置102。加密通信开始响应分组213包括要使用的SSL版本(由请求发布装置102和服务器设备101所支持的版本中的最新版本)、会话ID、要使用的加密方案等,并且还包括由服务器设备101按照与随机数“ClientHello.random”类似方式产生的随机数“ServerHello.random”。在步骤S203的随后的第一连接请求序列中,使用加密通信开始响应分组213所指定的SSL版本和加密方案。由请求发布装置102和服务器设备101彼此独立地产生随机数“ClientHello.random”和“ServerHello.random”,分别作为32比特时间标记和28字节随机数(或者足够安全的伪随机数)。不进行加密地来发送分别包括随机数“ClientHello.random”和“ServerHello.random”的加密通信开始请求分组212和加密通信开始响应分组213。
然后,服务器设备101将服务器证书数据分组214发送到请求发布装置102。服务器证书数据分组214到请求发布装置102的发送并不总是在加密通信开始响应分组213的发送之后。只要在请求发布装置侧通信所用的公共密钥产生信息分组215(稍后进行描述)的接收之前发送服务器证书数据分组214,则可以在任意时刻发送分组214(例如,在步骤S203的第一连接请求序列之前)。如上所述,请求发布装置102的证书信息认证处理部分102c使用存储在装置102中的CA公钥52来确认发送的服务器证书数据分组214中包含的服务器证书数据65是否是有效的。
当证书信息认证处理部分102c确认发送的服务器证书数据分组214中包含的服务器证书数据65是有效的时,请求发布装置102开始公共密钥产生信息交换步骤,包括请求发布装置侧通信所用的公共密钥产生信息71以及服务器设备侧通信所用的公共密钥产生信息72的发送和接收。
在公共密钥产生信息交换步骤中,请求发布装置102首先通过装置102的加密通信处理部分102e来产生请求发布装置侧通信所用的公共密钥产生信息71。此外,请求发布装置102使用TCP连接开始分组211所建立的TCP连接来将请求发布装置侧通信所用的公共密钥产生信息分组215发送到服务器设备101,所述公共密钥产生信息分组215包含产生的请求发布装置侧通信所用的公共密钥产生信息71。服务器设备101响应于发送的请求发布装置侧通信所用的公共密钥产生信息分组215,通过设备101的加密通信处理部分101e来产生服务器设备侧通信所用的公共密钥产生信息72。此外,服务器设备101使用TCP连接开始分组211所建立的TCP连接来将服务器设备侧通信所用的公共密钥产生信息分组216发送到请求发布装置102,所述公共密钥产生信息分组216包括该产生的服务器设备侧通信所用的公共密钥产生信息72。请求发布装置102和服务器设备101分别根据公共密钥产生信息71和72,通过其加密通信处理部分102e和101e来产生相同的通信公共密钥73。这使得可以在请求发布装置102和服务器设备101之间共享通信公共密钥73。
公共密钥产生信息交换的优选实施例根据SSL密钥交换中所使用的加密方案而改变。当使用RSA加密方案时,请求发布装置102的加密通信处理部分102e产生所谓“预主秘密(PMS)”的48字节随机数,作为请求发布装置侧通信所用的公共密钥产生信息71,并且使用服务器证书数据65中包含的服务器公钥62来加密产生的PMS。然后请求发布装置102使用TCP连接开始分组211所建立的TCP连接来将加密的PMS发送到服务器设备101。服务器设备101使加密通信处理部分101e使用服务器设备101所拥有的服务器私钥61来解密在接收时处于加密状态的PMS。不执行服务器侧通信所用的公共密钥产生信息72的产生和传输。如稍后所述,服务器设备101和请求发布装置102使用PMS来产生通信公共密钥73,从而在之间共享密钥。
如果使用Diffie-Hellman加密方案,则请求发布装置102和服务器设备101预先订立关于用于在两者之间共享Diffie-Hellman密钥的两个参数(即质数“p”和质数“p”的原根“g”)的协定。在接收到服务器证书数据分组214之后,请求发布装置102产生随机数“a”,计算ga对模数“p”的最小正余数,作为请求发布装置侧通信所用的公共密钥产生信息71,并且将请求发布装置侧通信所用的公共密钥产生信息分组215发送到服务器设备101,所述公共密钥产生信息分组215包括请求发布装置侧通信所用的公共密钥产生信息71。服务器设备101产生随机数“b”,计算gb对模数“p”的最小正余数,作为服务器设备侧通信所用的公共密钥产生信息72,并且将服务器设备侧通信所用的公共密钥产生信息分组216发送到请求发布装置102,所述公共密钥产生信息分组216包括服务器设备侧通信所用的公共密钥产生信息72。因此,这样互相发送的公共密钥产生信息被用作Diffie-Hellman公钥。此外,在发送公共密钥产生信息71和72时,可以分别添加请求发布装置102和服务器设备101的签名。
如果使用了一种Diffie-Hellman加密方案的固定Diffie-Hellman加密方案,将服务器证书数据65中包含的置用作来自服务器设备101的信息。因此,不执行服务器设备侧通信所用的公共密钥产生信息72的产生和发送。
如上所述,当在请求发布装置102和服务器设备101之间交换公共密钥产生信息71和72时,首先使用这些公共密钥产生信息71和72来产生在以后的通信中用作秘密密钥的通信公共密钥73。为了产生通信公共密钥73,根据互相交换的公共密钥产生信息71和72来产生PMS。在RSA加密方案的情况下,如上所述,PMS是请求发布装置侧通信所用的公共密钥产生信息71。在Diffie-Hellman加密方案的情况下,使用设备101和装置102的Diffie-Hellman公钥来产生PMS。换句话说,服务器设备101计算对模数“p”的最小正余数,作为PMS,所述最小正余数是通过将接收到的ga对模数“p”的最小正余数求b次乘方而获得的值。请求发布装置102计算对模数“p”的最小正余数,作为PMS,所述最小正余数是通过将接收到的gb对模数“p”的最小正余数求a次乘方而获得的值。如果使用Diffie-Hellman加密方案,则由请求发布装置102和服务器设备101中的每一个所计算的PMS等于gab对模数“p”的最小正余数。
为了根据PMS来产生通信公共密钥73,使用MD5(报文摘译5)和SHA(安全散列算法)这两个的散列算法来执行下面的计算。
公共密钥master_secret=
MD5(PMS‖SHA(’A’‖PMS‖ClientHello.random
‖ServerHello.random))‖MD5(PMS‖SHA(’BB’‖PMS
‖ClientHello.random‖ServerHello.random))‖MD5(PMS‖SHA(’CCC’
‖PMS‖ClientHello.raodom‖ServerHello.random)) (1)
在等式(1)中,“‖”表示位序的连接。
其后,请求发布装置102和服务器设备101使用按照等式(1)所表达来计算的公共密钥“master_secret”来加密和解密连接请求分组217,作为通信公共密钥73,这使得可以执行保密通信。换句话说,当实现了请求发布装置102和服务器设备101之间的通信公共密钥73的共享之后,在发送第一连接请求分组217之前,请求发布装置102使装置102的加密通信部分102e使用通信公共密钥73来加密包含连接目标请求接受装置103的装置ID、请求接受装置103的口令以及与请求发布装置102相关联并且用于通信的IP地址和端口号的数据。注意,与请求发布装置102相关联的IP地址和端口号是包含请求发布装置102的请求发布侧LAN 106a的全局IP地址和WAN侧端口号,即路由器设备104a的WAN侧全局IP地址和WAN侧端口号。请求发布装置102利用作为有效载荷而包含的该加密数据来产生连接请求分组217,并且使用TCP连接开始分组211所建立的TCP连接来将产生的连接请求分组217发送到服务器设备101。更具体地,请求发布装置102将图7C所示的连接请求分组217发送到路由器设备104a。此外,路由器设备104a对接收到的连接请求分组217执行NAPT处理,并且将图7D所示的经过NAPT处理的连接请求分组217发送到服务器设备101。另一方面,服务器设备101使用在服务器设备101和请求发布装置102之间建立的TCP连接来从请求发布装置102接收包含加密数据作为保密信息的连接请求分组217。响应于分组217的接收,服务器设备101使服务器设备101的加密通信处理部分101e使用通信公共密钥73来解密被加密的数据。
当发送和接收TCP连接开始分组以及与步骤S209的数据通信序列相关联的分组(稍后进行描述)时,使用写在连接请求分组217中的路由器设备104a的WAN侧全局IP地址和WAN侧端口号。换句话说,请求发布装置102从请求接受装置103接收TCP连接开始分组208,并且在装置102和103之间建立TCP连接。当请求发布装置102使用建立的TCP连接来发送并接收与步骤S209(稍后进行描述)的数据通信序列相关联的分组时,将路由器设备104a的WAN侧全局IP地址和WAN侧端口号写入要发送和接收的分组。假设可以使用路由器设备104a的NAPT功能来将写入分组的路由器设备104a的WAN侧全局IP地址和WAN侧端口号转换为请求发布装置102的专用IP地址和端口号,反之亦然。
如果请求发布装置102根据其来从请求接受装置103接收TCP连接开始分组208的端口号是例如“1600”,则路由器设备104a的NAPT表如图6所示。
图6所示的NAPT表的第二行是当请求发布装置102从请求接受装置103接收TCP连接开始分组208以及步骤S209的以后的数据通信序列处的分组时使用的转换表。请求接受装置103将TCP连接开始分组208发送到具有全局IP地址“4.17.168.2”和端口号“5000”的路由器设备104a,以便建立TCP连接。然后,通过路由器设备104a的NAPT功能,分别将写入TCP连接开始分组208的IP地址和端口号转换为请求发布装置102的专用IP地址和路由设备104a的端口号。最终,请求接受装置103可以与请求发布装置102建立TCP连接。
当接收到连接请求分组217时,在步骤S204处,服务器设备101查阅如图9所示的存储在服务器设备101的内部表存储器101m中的装置信息列表中的多个装置信息组,并且从装置信息列表中搜索接收到的连接请求分组217中包含的请求接受装置103的装置ID“2133”。如果在装置信息列表上找到与“2133”相一致的装置ID,则服务器设备101将与包括该装置ID“2133”的装置信息组相关联的装置标识为连接目标请求接受装置103。此外,服务器设备101将与所标识的请求接受装置103有关的装置信息组中包含的IP地址和端口号分别标识为与请求接受装置103相关联的IP地址和端口号。服务器设备101并不立即将接收到的连接请求分组217中包含的并且与请求发布装置102相关联的请求发布装置103的IP地址和端口号以及口令发送到请求接受装置103。在这种情况下,服务器设备101使用与请求接受装置103相关联的IP地址“202.204.16.13”和端口号“3400”(被包含在与装置ID“3400”相同的装置信息组中)作为目的地来发送连接请求通知分组205。将连接请求通知分组205发送到路由器设备104b,作为对装置注册分组201的响应信号。路由器设备104b执行IP地址和端口号的转换,并因此包含转换的IP地址和端口号的分组205可以到达请求接受装置103。如图8A和8B所示,连接请求通知分组205包括示出了分组指示连接请求通知的连接请求通知标记。
当接收到连接请求通知分组205时,请求接受装置103执行请求接受装置103和服务器设备101之间的步骤S206的第二连接请求序列。
图4是示出了步骤S206的第二连接请求序列的详细处理的序列图。在步骤S206的第二连接请求序列中,按照与步骤S203的第一连接请求序列类似的方式,必须发送诸如请求接受装置103的口令之类的保密信息和与请求发布装置102相关联的IP地址和端口号。为此,在本优选实施例中使用SSL来加密保密信息。假设请求接受装置103还包括加密通信处理部分103e和证书信息认证处理部分103c。装置103的加密通信处理部分103e产生用于加密和解密要发送和接收的信号的通信公共密钥83,并且使用产生的通信公共密钥83来执行发送至和接收自服务器设备101的信号的加密和解密。装置103的证书信息认证处理部分103c认证服务器证书数据65是否是有效的。如下来执行用于在服务器设备101和请求接受装置103之间进行保密通信的步骤S206的第二连接请求序列。
在SSL通信中,客户端侧的请求接受装置103首先通过路由器设备104将TCP连接开始分组221发送到服务器设备101,从而请求通过TCP连接来开始与服务器设备101的通信。当TCP连接开始分组221通过路由器设备104b时,路由器设备104使用在发送装置注册分组201时使用的NAPT功能,来转换TCP连接开始分组221上的SA和SP,此外,当接收到寻址于请求接受装置103的分组时,路由器设备104b对分组上的DA执行与对SA执行的转换相反的转换,并且对DP执行与对SD执行的转换不同的转换,然后将产生的分组发送到请求接受装置103。在本说明书中,为了说明的简洁性,不对路由器设备104b的NAPT处理操作进行描述。然而,实际上,当请求接受装置103希望发送或接收分组时,装置103总是通过路由器设备104b来发送或接收分组,并且路由器设备104b对分组执行NAPT功能。
接下来,请求接受装置103和服务器设备101执行加密规范协商步骤,从而互相检查在保密通信采用的加密方案规范。请求接受装置103首先使用由TCP连接开始分组211建立的TCP连接来将加密通信开始请求分组(称为“client_hello分组”)222发送到服务器设备101。加密通信开始请求分组222包括可用SSL版本、可用加密方案列表、会话ID等,并且还包括请求接受装置103产生的随机数ClientHello.random。当从请求接受装置103接收到加密通信开始请求分组222时,服务器设备101使用由TCP连接开始分组221建立的TCP连接来将加密通信开始响应分组(称为“server_hello分组”)223发送到请求接受装置103。加密通信开始响应分组223包括要使用的SSL版本(由请求发布装置102和服务器设备101所支持的版本中的最新版本)、会话ID、要使用的加密方案等,并且还包括由服务器设备101产生的随机数“ServerHello.random”。在步骤S206的随后的第二连接请求序列中,使用加密通信开始响应分组223所指定的SSL版本和加密方案。由请求接受装置103和服务器设备101彼此独立地产生随机数“ClientHello.random”和“ServerHello.random”,分别作为32比特时间标记和28字节随机数(或者足够安全的伪随机数)。不进行加密地来发送分别包括随机数“ClientHello.random”和“ServerHello.random”的加密通信开始请求分组222和加密通信开始响应分组223。
然后,服务器设备101将服务器证书数据分组214发送到请求接受装置103。服务器证书数据分组214到请求接受装置103的发送并不总是在加密通信开始响应分组223的发送之后。只要在请求接受装置侧通信所用的公共密钥产生信息分组224的接收之前发送服务器证书数据分组214,则可以在任意时刻发送分组214(例如,在步骤S206的第二连接请求序列之前)。请求接受装置103的证书信息认证处理部分103c按照参考图5所述的请求发布装置102的情况下的方式类似的方式,使用存储在装置103中的CA公钥52来确认发送的服务器证书数据分组214中包含的服务器证书数据65是否是有效的。
当证书信息认证处理部分103c确认发送的服务器证书数据65是有效的时,请求接受装置103开始公共密钥产生信息交换步骤,包括请求接受装置侧通信所用的公共密钥产生信息81以及服务器设备侧通信所用的公共密钥产生信息82的发送和接收。
在公共密钥产生信息交换步骤中,请求接受装置103首先通过装置103的加密通信处理部分103e来产生请求接受装置侧通信所用的公共密钥产生信息81。此外,请求接受装置103使用TCP连接开始分组221所建立的TCP连接来将请求接受装置侧通信所用的公共密钥产生信息分组224发送到服务器设备101,所述公共密钥产生信息分组224包含产生的请求接受装置侧通信所用的公共密钥产生信息81。服务器设备101响应于发送的请求接受装置侧通信所用的公共密钥产生信息分组224,通过服务器设备101的加密通信处理部分101e来产生服务器设备侧通信所用的公共密钥产生信息82。此外,服务器设备101使用TCP连接开始分组221所建立的TCP连接来将服务器设备侧通信所用的公共密钥产生信息分组225发送到请求接受装置103,所述公共密钥产生信息分组225包括该产生的服务器设备侧通信所用的公共密钥产生信息82。请求接受装置103和服务器设备101分别根据公共密钥产生信息81和82,通过其加密通信处理部分103e和101e来产生相同的通信公共密钥83。为了产生通信公共密钥83,可以按照与步骤S203的第一连接请求序列的方式相同的方式来使用RSA加密方案、Diffie-Gellman加密方案等。分别在请求接受装置103和服务器设备101之间交换产生的公共密钥产生信息81和82。请求接受装置103和服务器设备101的加密通信处理部分103e和101e分别通过使用公共密钥产生信息81和82,来产生要用作以后的通信的秘密密钥的通信公共密钥83。
然后,可以在请求接受装置103和服务器设备101之间共享通信公共密钥83。服务器设备101和请求接受装置103使用通信公共密钥83来加密和解密连接请求分组226,这使得可以在两者之间执行保密通信。换句话说,在接收到第一连接请求分组217之后并且在发送第二连接请求分组226之前,当实现了请求接受装置103和服务器设备101之间的通信公共密钥83的共享之后,服务器设备101使设备101的加密通信处理部分101e使用通信公共密钥83来加密包含连接请求分组217中包含的请求接受装置103的口令以及要用于通信的路由器设备104a的IP地址“4.17.168.2”和端口号“5000”的数据。服务器设备101利用作为有效载荷而被包含的该加密数据来产生连接请求分组226,并且使用TCP连接开始分组221所建立的TCP连接来将产生的连接请求分组226发送到请求接受装置103,作为对装置注册分组201的响应信号。更具体地,服务器设备101使用在图2的步骤S204处被标识为服务器设备101的装置信息列表中的请求接受装置103的IP地址和端口号作为目的地,来将图8D所示的连接请求分组226发送到路由器设备104b。此外,路由器设备104b对接收到的连接请求分组226执行NAPT处理,并且将经过NAPT处理的如图8C所示的连接请求分组226发送到请求接受装置103。另一方面,请求接受装置103使用在服务器设备101和请求接受装置103之间建立的TCP连接,从服务器设备101接收包含加密数据作为保密信息的连接请求分组226。响应于接收到分组226,请求接受装置103使装置103的加密通信处理部分103e使用通信公共密钥83来解密被加密的数据。按照这种方式,最终将通知请求发布装置102希望与请求接受装置103进行数据通信的连接请求消息从请求发布装置102发送到请求接受装置103。
再次参考图2,在步骤S207处,请求接受装置103认证连接请求分组226中包含的口令是否与存储在请求接受装置103的内部表存储器103m中的请求接受装置103的口令相一致。仅当口令有效时,请求接受装置103才将TCP连接开始分组208发送到路由器设备104a,作为用于请求通过与连接请求分组226中包含的IP地址“4.17.168.2”和端口号“5000”相关联的请求发布装置102的TCP连接来开始在请求发布装置102和请求接受装置103之间进行通信的通信请求信号。如上所述,TCP连接开始分组208通过路由器设备104a的NAPT功能而到达请求发布装置102。因此请求接受装置103可以与请求发布装置102建立TCP连接。
在请求发布装置102响应于TCP连接开始分组208,接受在请求发布装置102和请求接受装置103之间的通信时,请求发布装置102和请求接受装置103可以使用由TCP连接开始分组208所建立的TCP连接来执行步骤S209的数据通信序列。
按照这种方式,通过使用服务器设备101,可以在每个都具有专用IP地址并且分别位于LAN 106a和LAN 106b的不同LAN上的请求发布装置102和请求接受装置103之间执行数据通信。
即使请求发布装置102拥有全局IP地址并且直接与因特网(WAN)105相连,也可以同如上所述相同的操作来在请求发布装置102和请求接受装置103之间执行通信。此外,即使请求接受装置103拥有全局IP地址并且直接与因特网(WAN)105相连,也可以通过如上所述相同的操作来在请求发布装置102和请求接受装置103之间执行通信。在任意一种情况下,除了路由器设备不执行IP地址和端口的转换之外,执行如上所述相同的操作。
在本优选实施例中,服务器设备101、请求发布装置102以及请求接受装置103与因特网(WAN)105相连。然而,本优选实施例不局限于此。可以将服务器设备101、请求发布装置102以及请求接受装置103构成为与其它开放网络和专用网络之一或两者相连。
此外,即使路由器设备104a和104b不包含NAPT功能而仅包含NAT功能,也可以通过如上所述相同的操作来在请求发布装置102和请求接受装置103之间执行通信。在这种情况下,路由器设备104a和104b之一并不执行端口号的转换。
请求发布装置102可以一直保持如图6所示的NAPT表中设置的用于接收TCP连接开始分组208的IP地址和端口号的组合,或者可以在步骤S203的第一连接请求序列处在开始发送TCP连接开始分组211时将该组合设置在NAPT表中,并且在完成步骤S206的数据通信序列时从NAPT表中删除该组合。可以使用静态NAPT或者例如通用即插即用的功能来进行NAPT表的设置。
此外,可以使用与SSL不同的加密通信方案,来建立在步骤S203的第一连接请求序列处通过由TCP连接开始分组211启动的TCP连接的通信以及在步骤S203的第二连接请求序列处通过由TCP连接开始分组221启动的TCP连接的通信。可选地,可以省略在步骤S203和S206处的TCP通信加密。在这种情况下,在步骤S203处,请求发布装置102可以紧接在发送TCP连接开始分组211之后发送连接请求分组217,从而建立TCP连接。在步骤S206处,服务器设备101可以紧接在接收到TCP连接开始分组221之后发送连接请求分组226。
可以使用与步骤S202和S206类似的例如SSL方案的加密连接方案来执行步骤S209的数据通信序列的处理。此外,可以使用例如UDP的其它传输协议来执行步骤S209处的数据发送和接收。
仅为了演示目的而给出图7A至7D以及8A至8D所示的装置注册分组201、连接请求分组217、通信请求通知分组205以及连接请求分组226。也可以使用其它字段,或者可以按照不同的次序来设置各个字段。
仅为了演示目的而给出在图1至9中采用的IP地址、端口号和装置ID。它们可以是不同值。
作为另一个优选实施例,可以将本发明提供为包括在图2至4所示的处理中的各个步骤的计算机可读程序。可选地,可以将本发明提供为记录该程序的计算机可读记录介质。在这种情况下,由与因特网相连的计算机或装置读出该程序,并且由该计算机或装置执行该程序中包含的步骤。因此,计算机或装置可以作为根据上述优选实施例的服务器设备101、请求发布装置102以及请求接受装置103之一或所有。记录程序的记录介质的示例可以包括:光记录介质,例如CD-ROM和DVD-ROM;磁记录介质,例如软盘和硬盘;以及半导体存储器。然而,记录程序的记录介质的类型不局限于此。此外,可以通过例如因特网的网络来分配程序。
如上所述,本发明可以提供能够容易地在与因特网(WAN)相连并且位于不同LAN上的装置之间实现对等通信、并且禁止非法访问的通信系统。
工业实用性
因此,如上面详细所述的,根据本发明,可以在作为每个都具有专用IP地址但是位于不同LAN上的装置的请求发布装置和请求接受装置之间实现对等通信,并禁止任何非法访问。此外,根据本发明,可以提供一种包括所述通信方法中的步骤的程序,当与因特网相连的计算机或装置读出该程序时,该程序使计算机或装置执行所述通信方法中的步骤。
Claims (34)
1.一种服务器设备,设置在通信系统中,其中,所述服务器设备以及包括请求发布装置和请求接受装置的多个装置的每一个都与网络相连,所述服务器设备操作用于将连接请求信号从请求发布装置发送到请求接受装置,所述服务器设备包括:
装置信息存储部件,操作用于存储包括所述多个装置中的每一个的装置信息组的装置信息列表,所述装置信息组包含与所述多个装置中的每一个相关联的IP地址和端口号以及所述多个装置中的每一个的装置ID;
其中,所述服务器设备操作用于接收包括请求接受装置的装置信息组的、并且从请求接受装置周期地发送的装置注册信号,并且操作用于将接收的装置注册信号中包含的请求接受装置的装置信息组存储在所述装置信息存储部件中;
其中,所述服务器设备操作用于接收请求发布装置所发送的第一TCP连接开始信号,用于建立与请求发布装置的第一TCP连接;
其中,所述服务器设备操作用于使用第一TCP连接来从请求发布装置接收第一连接请求信号,所述第一连接请求信号包含请求接受装置的装置ID以及与请求发布装置相关联的IP地址和端口号,并且是对请求接受装置的请求;
其中,所述服务器设备操作用于从装置信息列表中搜索接收的第一连接请求信号中包含的请求接受装置的装置ID,将与包含与第一连接请求信号中包含的请求接受装置的装置ID相一致的装置ID的装置信息组相关联的装置标识为请求接受装置,并且将所标识的请求接受装置的装置信息组中包含的IP地址和端口号标识为装置信息列表上与请求接受装置相关联的IP地址和端口号;以及
其中,所述服务器设备操作用于将包含被包含在接收的第一连接请求信号中并且与请求发布装置相关联的IP地址和端口号在内的第二连接请求信号发送到所标识的请求接受装置,作为对装置注册信号的响应信号,并将所标识的IP地址和所标识的端口地址设置为目的地。
2.根据权利要求1所述的服务器设备,
其中,在将所标识的请求接受装置的装置信息组中包含的IP地址和端口号标识为与请求接受装置相关联的IP地址和端口号之后,并且在将第二连接请求信号发送到所标识的请求接受装置之前,所述服务器设备将第三连接请求信号发送到请求接受装置,并且从请求接受装置接收第二TCP连接开始信号,作为对第三连接请求信号的响应信号,以建立与请求接受装置的第二TCP连接;以及
其中,所述服务器设备操作用于使用所建立的第二TCP连接,来将第二连接请求信号发送到请求接受装置。
3.根据权利要求2所述的服务器设备,
其中,第一连接请求信号还包括请求接受装置的口令信息;以及
其中,所述服务器设备操作用于将第一连接请求信号中包含的口令信息添加到第二连接请求信号中,并且发送包含口令信息的第二连接请求信号。
4.根据权利要求3所述的服务器设备,
其中,所述服务器设备还包括:
第一加密通信部件,操作用于产生第一通信公共密钥和第二通信公共密钥,使用第一通信公共密钥来解密接收的信号,并且使用第二通信公共密钥来加密发送的信号;以及
证书信息存储部件,操作用于存储用于证明服务器设备的有效性的服务器证书信息;
其中,所述服务器设备操作用于在接收第一连接请求信号之前将服务器证书信息发送到请求发布装置;
其中,所述服务器设备操作用于使用第一TCP连接来从请求发布装置接收响应于服务器证书信息而产生的第一公共密钥产生信息,使所述第一加密通信部件响应于第一公共密钥产生信息来产生第二公共密钥产生信息,使所述第一加密通信部件根据第一公共密钥产生信息和第二公共密钥产生信息来产生第一通信公共密钥,使用第一TCP连接来将第二公共密钥产生信息发送到请求发布装置,并且使请求发布装置根据第一公共密钥产生信息和第二公共密钥产生信息来产生与第一通信公共密钥相同的通信公共密钥,以与请求发布装置共享第一通信公共密钥;
其中,所述服务器设备操作用于使用第一TCP连接来从请求发布装置接收使用第一通信公共密钥加密的第一连接请求信号,并且使所述第一加密通信部件使用第一通信公共密钥来解密接收的第一连接请求信号;
其中,在发送第二连接请求信号之前,所述服务器设备将服务器证书信息发送到请求接受装置;
其中,所述服务器设备操作用于使用第二TCP连接来从请求接受装置接收响应于服务器证书信息而产生的第三公共密钥产生信息,使所述第一加密通信部件响应于第三公共密钥产生信息来产生第四公共密钥产生信息,使所述第一加密通信装置根据第三公共密钥产生信息和第四公共密钥产生信息来产生第二通信公共密钥,使用第二TCP连接来将第四公共密钥产生信息发送到请求接受装置,并且使请求接受装置根据第三公共密钥产生信息和第四公共密钥产生信息来产生与第二通信公共密钥相同的通信公共密钥,以与请求接受装置共享第二通信公共密钥;以及
其中,在接收第一连接请求信号之后并且在发送第二连接请求信号之前,所述服务器设备使所述第一加密通信部件使用第二通信公共密钥来加密第二连接请求信号。
5.一种请求发布装置,设置在通信系统中,其中,服务器设备和包括所述请求发布装置和请求接受装置在内的多个装置的每一个都与网络相连,所述请求发布装置操作用于与服务器设备和请求接受装置进行通信;
其中,所述请求发布装置操作用于将第一TCP连接开始信号发送到服务器设备,用于建立与服务器设备的第一TCP连接;
其中,所述请求发布装置操作用于使用第一TCP连接来将第一连接请求信号发送到服务器设备,所述第一连接请求信号包括请求接受装置的装置ID以及与请求发布装置相关联的IP地址和端口号,并且是对请求接受装置的请求;以及
其中,在从请求接受装置接收用于请求在所述请求发布装置和请求接受装置之间进行通信的通信请求信号之后,所述请求发布装置响应于通信请求信号,接受所述请求发布装置和请求接受装置之间的通信,并且开始与请求接受装置进行通信。
6.根据权利要求5所述的请求发布装置,
其中,第一连接请求信号还包括所述请求接受装置的口令信息。
7.根据权利要求6所述的请求发布装置,还包括:
第二加密通信部件,操作用于产生第一通信公共密钥,并且使用第一通信公共密钥来加密发送的信号;以及
第一证书信息认证部件,操作用于认证用于证明服务器设备的有效性的服务器证书信息;
其中,所述请求发布装置操作用于在发送第一连接请求信号之前从服务器设备接收服务器证书信息;
其中,所述请求发布装置操作用于通过所述第一证书信息认证部件来认证接收的服务器证书信息,并且确认接收的服务器证书信息是否是有效的;
其中,当确认接收的服务器证书信息是有效的时,所述请求发布装置使所述第二加密通信部件产生第一公共密钥产生信息,使用第一TCP连接来将产生的第一公共密钥产生信息发送到服务器设备,使用第一TCP连接来从服务器设备接收响应于第一公共密钥产生信息而产生的第二公共密钥产生信息,使所述第二加密通信部件根据第一公共密钥产生信息和第二公共密钥产生信息来产生第一通信公共密钥,并且使服务器设备根据第一密钥产生信息和第二公共密钥产生信息来产生与第一通信公共密钥相同的通信公共密钥,以与服务器设备共享第一通信公共密钥;
其中,在发送第一连接请求信号之前,所述请求发布装置使所述第二加密通信部件使用第一通信公共密钥来加密第一连接请求信号;以及
其中,所述请求发布装置操作用于使用第一TCP连接来将加密的第一连接请求信号发送到服务器设备。
8.一种请求接受装置,设置在通信系统中,其中,服务器设备和包括请求发布装置和所述请求接受装置在内的多个装置的每一个都与网络相连,所述请求接受装置操作用于与服务器设备以及请求发布装置进行通信,所述请求接受装置包括:
装置ID存储部件,操作用于存储所述请求接受装置的装置ID;
其中,所述请求接受装置操作用于将包括所述请求接受装置的装置ID在内的装置注册信号周期地发送到服务器设备;
其中,所述请求接受装置操作用于从服务器设备接收包括与请求发布装置相关联的IP地址和端口号在内的第二连接请求信号,作为对装置注册信号的响应信号;
其中,所述请求接受装置操作用于将用于请求在所述请求接受装置和请求发布装置之间进行通信的通信请求信号发送到由接收的第二连接请求信号中包含的IP地址和端口号所表示的请求发布装置;以及
其中,在所述请求发布装置响应于通信请求信号,接受在所述请求接受装置和请求发布装置之间的通信之后,所述请求接受装置开始与请求发布装置进行通信。
9.根据权利要求8所述的请求发布装置,
其中,在将装置注册信号发送到服务器设备之后并且在接收第二连接请求信号之前,所述请求接受装置从服务器设备接收第三连接请求信号,作为对装置注册信号的响应信号,并且将第二TCP连接开始信号发送到服务器设备,作为对第三连接请求信号的响应信号,以建立与服务器设备的第二TCP连接;以及
其中,所述请求接受装置操作用于使用所建立的第二TCP连接来从服务器设备接收第二连接请求信号。
10.根据权利要求9所述的请求发布装置,还包括:
口令信息存储部件,操作用于存储所述请求接受装置的口令信息;
其中,所述请求接受装置操作用于使用第二TCP连接来从服务器设备接收还包括口令信息的第二连接请求信号;以及
其中,所述请求接受装置操作用于仅当第二连接请求信号中包含的口令信息与存储在所述口令信息存储部件中的所述请求接受装置的口令信息相一致时,将通信请求信号发送到所述请求发布装置。
11.根据权利要求10所述的请求发布装置,还包括:
第三加密通信部件,操作用于产生第二通信公共密钥,并且使用第二通信公共密钥来解密接收的信号;以及
第二证书信息认证部件,操作用于认证用于证明服务器设备的有效性的服务器证书信息;
其中,在接收第二连接请求信号之前,所述请求接受装置从服务器设备接收服务器证书信息;
其中,所述请求接受装置操作用于使所述第二证书信息认证部件认证接收的服务器证书信息是否是有效的,以确认接收的服务器证书信息是否是有效的;
其中,当确认接收的服务器证书信息是有效的时,所述请求接受装置使所述第三加密通信部件产生第三公共密钥产生信息,使用第二TCP连接来将第三公共密钥产生信息发送到服务器设备,使用第二TCP连接来从服务器设备接收响应于第三公共密钥产生信息而产生的第四公共密钥产生信息,使所述第三加密通信部件根据第二公共密钥产生信息和第四公共密钥产生信息来产生第二通信公共密钥,并且使所述服务器设备根据第三公共密钥产生信息和第四公共密钥产生信息来产生与第二通信公共密钥相同的通信公共密钥,以与服务器设备共享第二通信公共密钥;以及
其中,所述请求接受装置操作用于使用第二TCP连接来从服务器设备接收使用第二通信公共密钥加密的第二连接请求信号,并且使所述第三加密通信部件使用第二通信公共密钥来解密接收的第二连接请求信号。
12.一种通信系统,包括:
根据权利要求1所述的服务器设备;以及
多个装置,包括根据权利要求5所述的请求发布装置和根据权利要求8所述的请求接受装置;
其中,所述多个装置中的每一个和所述服务器设备都与网络相连。
13.一种通信系统,包括:
根据权利要求2所述的服务器设备;以及
多个装置,包括根据权利要求5所述的请求发布装置和根据权利要求9所述的请求接受装置;
其中,所述多个装置中的每一个和所述服务器设备都与网络相连。
14.一种通信系统,包括:
根据权利要求3所述的服务器设备;以及
多个装置,包括根据权利要求6所述的请求发布装置和根据权利要求10所述的请求接受装置;
其中,所述多个装置中的每一个和所述服务器设备都与网络相连。
15.一种通信系统,包括:
根据权利要求4所述的服务器设备;以及
多个装置,包括根据权利要求7所述的请求发布装置和根据权利要求11所述的请求接受装置;
其中,所述多个装置中的每一个和所述服务器设备都与网络相连。
16.一种通信方法,使用被设置在通信系统中的服务器设备,其中,服务器设备以及包括请求发布装置和请求接受装置在内的多个装置的每一个都与网络相连,服务器设备操作用于将连接请求信号从请求发布装置发送到所述请求接受装置;
其中,服务器设备包括装置信息存储部件,操作用于存储包括所述多个装置中的每一个的装置信息组的装置信息列表,所述装置信息组包含与所述多个装置中的每一个相关联的IP地址和端口号以及所述多个装置中的每一个的装置ID;
其中,所述通信方法包括:
接收包括请求接受装置的装置信息组的、并且从请求接受装置周期地发送的装置注册信号,并且将接收的装置注册信号中包含的请求接受装置的装置信息组存储在装置信息存储部件中;
接收请求发布装置所发送的第一TCP连接开始信号,用于建立与请求发布装置的第一TCP连接;
使用第一TCP连接来从请求发布装置接收第一连接请求信号,所述第一连接请求信号包含请求接受装置的装置ID以及与请求发布装置相关联的IP地址和端口号,并且是对请求接受装置的请求;
从装置信息列表中搜索接收的第一连接请求信号中包含的请求接受装置的装置ID,将装置信息列表上与包含与第一连接请求信号中包含的请求接受装置的装置ID相一致的装置ID的装置信息组相关联的装置标识为请求接受装置,并且将所标识的请求接受装置的装置信息组中包含的IP地址和端口号标识为装置信息列表上与请求接受装置相关联的IP地址和端口号;以及
将包含被包含在接收的第一连接请求信号中并且与请求发布装置相关联的IP地址和端口号在内的第二连接请求信号发送到所标识的请求接受装置,作为对装置注册信号的响应信号,并将所标识的IP地址和所标识的端口地址设置为目的地。
17.根据权利要求16所述的通信方法,还包括:
在所述标识步骤之后并且在所述发送第二连接请求信号的步骤之前,将第三连接请求信号发送到请求接受装置,并且从所述请求接受装置接收第二TCP连接开始信号,作为对第三连接请求信号的响应信号,以建立与请求接受装置的第二TCP连接;
其中,所述发送第二连接请求信号的步骤包括使用所建立的第二TCP连接来将第二连接请求信号发送到请求接受装置。
18.根据权利要求17所述的通信方法,
其中,第一连接请求信号还包括请求接受装置的口令信息;以及
其中,所述通信方法还包括将第一连接请求信号中包含的口令信息添加到第二连接请求信号中,并且发送包含口令信息的第二连接请求信号。
19.根据权利要求18所述的通信方法,还包括:
在所述接收第一连接请求信号的步骤之前,将用于证明服务器设备的有效性的服务器证书信息发送到请求发布装置;
使用第一TCP连接来从请求发布装置接收响应于服务器证书信息而产生的第一公共密钥产生信息,响应于第一公共密钥产生信息来产生第二公共密钥产生信息,根据第一公共密钥产生信息和第二公共密钥产生信息来产生第一通信公共密钥,使用第一TCP连接来将第二公共密钥产生信息发送到请求发布装置,并且使请求发布装置根据第一公共密钥产生信息和第二公共密钥产生信息来产生与第一通信公共密钥相同的通信公共密钥,以与请求发布装置共享第一通信公共密钥;
使用第一TCP连接来从请求发布装置接收使用第一通信公共密钥加密的第一连接请求信号,并且使用第一通信公共密钥来解密接收的第一连接请求信号;
在所述发送第二连接请求信号的步骤之前,将服务器证书信息发送到请求接受装置;
使用第二TCP连接来从请求接受装置接收响应于服务器证书信息而产生的第三公共密钥产生信息,响应于第三公共密钥产生信息来产生第四公共密钥产生信息,根据第三公共密钥产生信息和第四公共密钥产生信息来产生第二通信公共密钥,使用第二TCP连接来将第四公共密钥产生信息发送到请求接受装置,并且使请求接受装置根据第三公共密钥产生信息和第四公共密钥产生信息来产生与第二通信公共密钥相同的通信公共密钥,以与请求接受装置共享第二通信公共密钥;
以及
在所述接收第一连接请求信号的步骤之后并且在所述发送第二连接请求信号的步骤之前,使用第二通信公共密钥来加密第二连接请求信号。
20.一种通信方法,使用被设置在通信系统中的请求发布装置,其中,服务器设备以及包括所述请求发布装置和请求接受装置在内的多个装置的每一个都与网络相连,所述请求发布装置操作用于与服务器设备和请求接受装置进行通信,所述通信方法包括:
将第一TCP连接开始信号发送到服务器设备,用于建立与服务器设备的第一TCP连接;
使用第一TCP连接来将第一连接请求信号发送到服务器设备,所述第一连接请求信号包括请求接受装置的装置ID以及与请求发布装置相关联的IP地址和端口号,并且是对请求接受装置的请求;以及
在从请求接受装置接收用于请求在请求发布装置和请求接受装置之间进行通信的通信请求信号之后,响应于该通信请求信号,接受请求发布装置和请求接受装置之间的通信,并且开始与请求接受装置进行通信。
21.根据权利要求20所述的通信方法,
其中,第一连接请求信号还包括所述请求接受装置的口令信息。
22.根据权利要求21所述的通信方法,还包括:
在所述发送第一连接请求信号的步骤之前,从服务器设备接收服务器证书信息;
认证接收的服务器证书信息是否是有效的,用以确认接收的服务器证书信息是否是有效的;
当确认接收的服务器证书信息是有效的时,产生第一公共密钥产生信息,使用第一TCP连接来将产生的第一公共密钥产生信息发送到服务器设备,使用第一TCP连接来从服务器设备接收响应于第一公共密钥产生信息而产生的第二公共密钥产生信息,根据第一公共密钥产生信息和第二公共密钥产生信息来产生第一通信公共密钥,并且使服务器设备根据第一密钥产生信息和第二公共密钥产生信息来产生与第一通信公共密钥相同的通信公共密钥,以与服务器设备共享第一通信公共密钥;
在所述发送第一连接请求信号的步骤之前,使用第一通信公共密钥来加密第一连接请求信号。
23.一种使用设置在通信系统中的请求接受装置的通信方法,其中,服务器设备和包括请求发布装置和所述请求接受装置在内的多个装置的每一个都与网络相连,所述请求接受装置操作用于与服务器设备以及请求发布装置进行通信,所述通信方法包括:
将包括所述请求接受装置的装置ID在内的装置注册信号周期地发送到服务器设备;
从服务器设备接收包括与请求发布装置相关联的IP地址和端口号在内的第二连接请求信号,作为对装置注册信号的响应信号;
将用于请求在所述请求接受装置和请求发布装置之间进行通信的通信请求信号发送到由接收的第二连接请求信号中包含的IP地址和端口号所表示的请求发布装置;以及
在请求发布装置响应于通信请求信号,接受在所述请求接受装置和请求发布装置之间的通信之后,开始与请求发布装置进行通信。
24.根据权利要求23所述的通信方法,还包括:
在所述将装置注册信号发送到服务器设备的步骤之后并且在所述接收第二连接请求信号的步骤之前,从服务器设备接收第三连接请求信号,作为对装置注册信号的响应信号,并且将第二TCP连接开始信号发送到服务器设备,作为对第三连接请求信号的响应信号,以建立与服务器设备的第二TCP连接;以及
使用所建立的第二TCP连接来从服务器设备接收第二连接请求信号。
25.根据权利要求24所述的通信方法,
其中,请求接受装置包括口令信息存储部件,操作用于存储所述请求接受装置的口令信息;
其中,第二连接请求信号还包括口令信息;以及
其中,所述通信方法还包括:仅当第二连接请求信号中包含的口令信息与存储在所述口令信息存储部件中的请求接受装置的口令信息相一致时,将通信请求信号发送到请求发布装置。
26.根据权利要求25所述的通信方法,还包括:
在所述接收第二连接请求信号的步骤之前,从服务器设备接收服务器证书信息;
认证接收的服务器证书信息是否是有效的,以确认接收的服务器证书信息是否是有效的;
当确认接收的服务器证书信息是有效的时,产生第三公共密钥产生信息,使用第二TCP连接来将第三公共密钥产生信息发送到服务器设备,使用第二TCP连接来接收响应于第三公共密钥产生信息而从服务器设备产生的第四公共密钥产生信息,根据第二公共密钥产生信息和第四公共密钥产生信息来产生第二通信公共密钥,并且使所述服务器设备根据第三公共密钥产生信息和第四公共密钥产生信息来产生与第二通信公共密钥相同的通信公共密钥,以与服务器设备共享第二通信公共密钥;
其中,所述接收第二连接请求信号的步骤还包括使用第二通信公共密钥来解密接收的第二连接请求信号。
27.一种通信方法,使用包括服务器设备和包括请求发布装置和请求接受装置在内的多个装置的通信系统;
其中,所述多个装置中的每一个和所述服务器设备都与网络相连;以及
其中,所述通信方法包括:
根据权利要求16所述的通信方法;
根据权利要求20所述的通信方法;以及
根据权利要求23所述的通信方法。
28.一种通信方法,使用包括服务器设备和包括请求发布装置和请求接受装置在内的多个装置的通信系统;
其中,所述多个装置中的每一个和所述服务器设备都与网络相连;以及
其中,所述通信方法包括:
根据权利要求17所述的通信方法;
根据权利要求20所述的通信方法;以及
根据权利要求24所述的通信方法。
29.一种通信方法,使用包括服务器设备和包括请求发布装置和请求接受装置在内的多个装置的通信系统;
其中,所述多个装置中的每一个和所述服务器设备都与网络相连;以及
其中,所述通信方法包括:
根据权利要求18所述的通信方法;
根据权利要求21所述的通信方法;以及
根据权利要求25所述的通信方法。
30.一种通信方法,使用包括服务器设备和包括请求发布装置和请求接受装置在内的多个装置的通信系统;
其中,所述多个装置中的每一个和所述服务器设备都与网络相连;以及
其中,所述通信方法包括:
根据权利要求19所述的通信方法;
根据权利要求22所述的通信方法;以及
根据权利要求26所述的通信方法。
31.一种程序,使计算机执行根据权利要求16所述的通信方法。
32.一种程序,使计算机执行根据权利要求20所述的通信方法。
33.一种程序,使计算机执行根据权利要求23所述的通信方法。
34.一种程序,使计算机执行根据权利要求27所述的通信方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP044141/2004 | 2004-02-20 | ||
JP2004044141A JP2005236728A (ja) | 2004-02-20 | 2004-02-20 | サーバ装置、要求発行機器、要求受諾機器、通信システム及び通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1918887A true CN1918887A (zh) | 2007-02-21 |
Family
ID=34879331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200580005067.3A Pending CN1918887A (zh) | 2004-02-20 | 2005-01-21 | 基于代理的安全端到端tcp/ip通信方法和系统 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1719324A1 (zh) |
JP (1) | JP2005236728A (zh) |
CN (1) | CN1918887A (zh) |
CA (1) | CA2556689A1 (zh) |
TW (1) | TW200534653A (zh) |
WO (1) | WO2005081492A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207579B (zh) * | 2007-08-15 | 2010-08-18 | 杨汉民 | 实现网络短信服务的服务器及其客户机间通讯方法 |
CN104981025A (zh) * | 2014-04-02 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 终端配对方法、装置、服务器和终端 |
CN105164968A (zh) * | 2013-04-25 | 2015-12-16 | 瑞保企业 | 由至少一个服务器执行的用于处理从第一计算装置到第二计算装置的数据分组以允许端到端加密通信的方法 |
CN106209767A (zh) * | 2016-06-20 | 2016-12-07 | Tcl海外电子(惠州)有限公司 | 数据传输方法和系统 |
CN108053630A (zh) * | 2017-11-28 | 2018-05-18 | 国电南瑞科技股份有限公司 | 一种跨安全区无线数据接入系统及方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4647440B2 (ja) * | 2005-09-08 | 2011-03-09 | 東日本電信電話株式会社 | ネットワークサービスセキュリティシステムおよびネットワークサービスセキュリティ方法 |
JP2008085470A (ja) * | 2006-09-26 | 2008-04-10 | Fujitsu Ltd | Ipアプリケーションサービス提供システム |
JP5444639B2 (ja) * | 2007-11-20 | 2014-03-19 | パナソニック株式会社 | サーバ装置と分散サーバシステム |
US20130212653A1 (en) * | 2012-02-09 | 2013-08-15 | Indigo Identityware | Systems and methods for password-free authentication |
JP5775034B2 (ja) * | 2012-07-13 | 2015-09-09 | 日本電信電話株式会社 | 通信宛先解決装置、ゲートウェイ装置、通信宛先解決方法、およびプログラム |
US20160295597A1 (en) * | 2013-07-26 | 2016-10-06 | Intel IP Corporation | Signaling interference information for user equipment assistance |
CN104993980B (zh) * | 2015-08-11 | 2018-01-16 | 上海斐讯数据通信技术有限公司 | 一种长连接应用接入的安全管控方法及系统 |
WO2018197590A1 (en) * | 2017-04-25 | 2018-11-01 | Disruptive Technologies Research As | Encryption and link bringup for low power devices |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE311060T1 (de) * | 1999-03-17 | 2005-12-15 | 3Com Corp | Verfahren und system zur netzwerkadressübersetzung mit sicherheitseigenschaften |
DE10128493A1 (de) * | 2000-06-16 | 2002-01-03 | Ibm | System und Verfahren zur Integration der Netzwerkadressen-Übersetzung mit IP-Sicherheit |
US20020042875A1 (en) * | 2000-10-11 | 2002-04-11 | Jayant Shukla | Method and apparatus for end-to-end secure data communication |
AU2001297602A1 (en) * | 2000-12-14 | 2002-09-19 | Vocaltec Communications Ltd. | Traversing firewalls and nats |
US7143188B2 (en) * | 2002-06-13 | 2006-11-28 | Nvidia Corporation | Method and apparatus for network address translation integration with internet protocol security |
-
2004
- 2004-02-20 JP JP2004044141A patent/JP2005236728A/ja active Pending
-
2005
- 2005-01-20 TW TW094101663A patent/TW200534653A/zh unknown
- 2005-01-21 CN CN200580005067.3A patent/CN1918887A/zh active Pending
- 2005-01-21 CA CA002556689A patent/CA2556689A1/en active Pending
- 2005-01-21 WO PCT/JP2005/001169 patent/WO2005081492A1/en not_active Application Discontinuation
- 2005-01-21 EP EP05704222A patent/EP1719324A1/en not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207579B (zh) * | 2007-08-15 | 2010-08-18 | 杨汉民 | 实现网络短信服务的服务器及其客户机间通讯方法 |
CN105164968A (zh) * | 2013-04-25 | 2015-12-16 | 瑞保企业 | 由至少一个服务器执行的用于处理从第一计算装置到第二计算装置的数据分组以允许端到端加密通信的方法 |
CN104981025A (zh) * | 2014-04-02 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 终端配对方法、装置、服务器和终端 |
CN106209767A (zh) * | 2016-06-20 | 2016-12-07 | Tcl海外电子(惠州)有限公司 | 数据传输方法和系统 |
CN106209767B (zh) * | 2016-06-20 | 2020-03-17 | Tcl海外电子(惠州)有限公司 | 数据传输方法和系统 |
CN108053630A (zh) * | 2017-11-28 | 2018-05-18 | 国电南瑞科技股份有限公司 | 一种跨安全区无线数据接入系统及方法 |
CN108053630B (zh) * | 2017-11-28 | 2020-08-11 | 国电南瑞科技股份有限公司 | 一种跨安全区无线数据接入系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CA2556689A1 (en) | 2005-09-01 |
WO2005081492A1 (en) | 2005-09-01 |
EP1719324A1 (en) | 2006-11-08 |
TW200534653A (en) | 2005-10-16 |
JP2005236728A (ja) | 2005-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1918887A (zh) | 基于代理的安全端到端tcp/ip通信方法和系统 | |
US11290420B2 (en) | Dynamic VPN address allocation | |
JP4033868B2 (ja) | IPv6ネットワークで認証を処理する方法及びその装置 | |
Frankel et al. | Ip security (ipsec) and internet key exchange (ike) document roadmap | |
CN1268088C (zh) | 基于pki的vpn密钥交换的实现方法 | |
CN1625881A (zh) | 连接到互联网的服务器、设备、和通信系统 | |
CN1879382A (zh) | 在设备间建立加密通信通道的方法、设备和程序 | |
JP4443558B2 (ja) | IPv4/IPv6統合ネットワークシステムの保安通信方法及びその装置 | |
CN1701573A (zh) | 远程访问虚拟专用网络中介方法和中介装置 | |
US20120023325A1 (en) | Virtual private network system and network device thereof | |
CN1531245A (zh) | 服务器、终端控制设备以及终端鉴权方法 | |
CN1645792A (zh) | 通信装置、数字签名发行方法、装置及签名发送方法 | |
CN1992585A (zh) | 一种用于用户设备与内部网络间安全通信的方法及装置 | |
CN1452356A (zh) | 公开密钥证书提供装置 | |
CN1685689A (zh) | 控制家庭终端的装置、方法和计算机软件产品 | |
US20200344280A1 (en) | Relaying media content via a relay server system without decryption | |
CN1929371A (zh) | 用户和外围设备协商共享密钥的方法 | |
JP2011211471A (ja) | 通信を中継するための装置、方法、およびプログラム | |
US20080267395A1 (en) | Apparatus and method for encrypted communication processing | |
JP2005295038A (ja) | 提供装置、提供方法、通信装置、通信方法、及び、プログラム | |
CN101232500A (zh) | 进行端到端通信的网络系统 | |
CN1798021A (zh) | 通信支持服务器、通信支持方法、及通信支持系统 | |
NO337810B1 (no) | Framgangsmåte og system for adressering og ruting i krypterte kommunikasjonslinker | |
JP6056970B2 (ja) | 情報処理装置、端末機、情報処理システム及び情報処理方法 | |
CN1459175A (zh) | 网络系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |