CN101420423A - 网络*** - Google Patents

网络*** Download PDF

Info

Publication number
CN101420423A
CN101420423A CNA200810161779XA CN200810161779A CN101420423A CN 101420423 A CN101420423 A CN 101420423A CN A200810161779X A CNA200810161779X A CN A200810161779XA CN 200810161779 A CN200810161779 A CN 200810161779A CN 101420423 A CN101420423 A CN 101420423A
Authority
CN
China
Prior art keywords
mentioned
address
packet
grouping
software
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
Application number
CNA200810161779XA
Other languages
English (en)
Inventor
柘植宗俊
星野和义
锻忠司
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN101420423A publication Critical patent/CN101420423A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2535Multiple local networks, e.g. resolving potential IP address conflicts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer

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

本发明提供一种网络***,在用户终端与服务提供服务器之间存在NAPT路由器的环境中,可以通过追加了UDP头的IPsec隧道模式形式分组进行加密通信。服务提供服务器侧的加密通信模块向认证、密钥交换服务器通知对服务提供服务器侧的NAPT路由器分配的全局IP地址、以及在全局侧使用的外侧UDP头的端口号。在从用户终端侧的加密通信模块接收到加密分组时,使用外侧IP头的发送源、发送目的地IP地址重写内侧IP头的发送源、发送目的地IP地址。另外,将内侧TCP·UDP头的发送源端口号变更成在外侧IP头的发送源IP地址相同的加密通信中针对每个通信会话唯一的值。在朝向用户终端侧的加密通信模块发送分组时进行相逆的头转换。

Description

网络***
技术领域
本发明涉及在客户机与第一服务器经由双方都信赖的第二服务器交换密钥信息并使用该密钥进行加密隧道通信的***中即使在上述客户机与上述第一服务器之间的通信路径上存在网络地址转换装置的情况下也可以进行通信的方法。
背景技术
在以因特网为代表的IP(Internet Protocol,网际协议)网络中,作为避开通信路径上的窃听等安全性上的威胁保护通信内容,而在主机之间进行安全的通信的方法,一般是对通信进行加密。加密通信协议有各种各样的协议,作为代表性的例子,可以举出OSI(OpenSystems Interconnection,开放***互连)参考模型中的网络层的加密通信协议即IPsec(IP Security Protocol,IP安全协议)、传输层的加密通信协议即TLS(Transpor Layer Secruity,传输层安全)等。
一般在加密通信中,在开始通信之前,需要(1)通信对方的认证、(2)与通信对方共享通信数据的加密以及认证中使用的密钥信息这2个步骤。例如,如果通过TLS进行加密通信,则(1)是通过通信主机的一方接收另一方的公开密钥证明书,并利用自身所具有的路由证明书对该公开密钥证明书是由可以信赖的认证站发布的公开密钥证明书进行确认来实现的。(2)是通过通信主机的一方使用从另一方接收到的公开密钥证明书中包含的公开密钥对自身生成的公共密钥进行加密发送来实现的。只要可以在双方的通信主机中共享公共密钥,则可以使用该密钥进行基于公共密钥的加密通信、基于HMAC(Keyed-Hashing for Message Authentication Code)的通信数据认证。
在通过IPsec进行加密通信时,一般使用被称为IKE(Internet KeyExchange,因特网密钥交换)的密钥交换协议来进行(1)以及(2)。即、使用被称为ISAKMP(Internet Security Association KeyManagement Protocol,因特网安全连接和密钥管理协议)的协议来进行用于执行(2)的加密通信路径的建立和(1),使用该加密通信路径来进行(2)。
另外,在专利文献1中,示出在通过IPsec进行加密通信时,使用进行双方通信主机的认证和密钥交换的中继的服务器(以后称为认证、密钥交换服务器)来进行(1)以及(2)的方法。在专利文献1的方法中,作为SIP(Session Initiation Protocol,会话初始化协议)的UA(User Agent,用户代理)而动作的双方通信主机使用通过TLS加密的SIP即SIPS(SecureSIP),向作为SIP服务器动作的认证、密钥交换服务器连接,从而进行用于执行(2)的加密通信路径的建立和(1)。使用该加密通信路径,经由认证、密钥交换服务器,进行(2)的密钥信息的共享。
另一方面,在将用户所具有的内部网络(以后还将其称为LAN(Local Area Network,局域网))连接到因特网等外部网络(以后还将其称为WAN(Wide Area Network,广域网))时,多在两者之间进行被称为NAPT(Network Address Port Translation,网络地址端口转换)的IP地址以及TCP(Transmission Control Protocol,传输控制协议)、UDP(User Datagram Protocol,用户数据报协议)端口的转换。通过进行NAPT,可以在LAN侧的多个主机中共享WAN侧的一个IP地址。因此,作为用于抑制因特网中的IPv4(IP Version 4)地址的分配数,并将多个用户主机连接到因特网的有效手段,广泛利用NAPT。
NAPT一般多被安装成设置于LAN与WAN之间的边界处的路由器或防火墙等通信装置的一个功能。以下,将安装有NAPT功能的通信装置总称为NAPT路由器。通常,对NAPT路由器的WAN侧接口,通过手动或自动仅分配一个可以在因特网整体的通信中利用的全局IP地址。一般对NAPT的LAN侧,使用仅可以在LAN内使用所认识的私有IP地址。
另外,NAPT根据情况还被称为NAT(Network Address
Translation,网络地址转换)。在NAT中存在狭义的概念和广义的概念,狭义的概念表示不进行TCP·UDP端口的转换,而仅进行IP地址的转换。广义的概念被用作表示NAPT以及狭义的NAT这双方的称呼,但与狭义的NAT相比多数情况下利用NAPT,以与NAPT大致相等的含义使用广义的NAT。在本申请中,为了避免混乱,基本上使用NAPT这样的称呼而并非NAT。
公知当在经由NAPT路由器的通信路径中希望通过IPsec进行加密通信的情况下,一般无法直接对通常的IPsec分组进行通信。在此存在几个原因,对IPsec分组未附加未加密的TCP·UDP头成为其中原因之一。即、在IPsec分组的形式中,有传输模式(对加密之前的IP分组的有效载荷部分进行加密的形式)和隧道模式(对加密之前的IP分组整体进行加密而新附加IP头的形式)这2种,但在任意一种的形式的分组中TCP·UDP头(包含在IP分组的有效载荷部分)都被加密,所以NAPT路由器中的端口转换无法发挥功能,其结果无法越过NAPT路由器。
在专利文献2中,示出该问题的回避方法。在专利文献2示出的通信方法中,调查在通信路径上是否存在NAPT路由器,在存在的情况下,在生成传输模式形式的IPsec分组时,在紧接着开头的IP头后新***UDP头。即使在隧道模式形式的IPsec分组的情况下,也与专利文献2示出的方法同样地,在紧接着对开头新附加的IP头之后追加***新的UDP头,从而回避该问题。
专利文献1:专利第3859667号公报
专利文献2:专利第3793083号公报
发明内容
在通过IPsec进行加密通信的方法中,如上所述,为了通信对方的认证以及密钥信息的共享,有使用IKE的方法和专利文献1示出的使用认证、密钥交换服务器的方法这2种。在IPsec加密通信分组的形式中,有传输模式形式和隧道模式形式这2种,在各个之上可以追加UDP头。以后,对使用认证、密钥交换服务器进行通信对方的认证以及密钥的共享,在IPsec分组的形式中使用追加了UDP头的隧道模式形式的情况的例子进行说明。
在上述前提下,在NAPT路由器中针对IPsec分组的NAPT发挥功能,但无法仅通过该功能进行经由NAPT路由器的IPsec通信。作为NAPT路由器的设置位置,考虑作为请求开始通信的一侧的应用程序客户机动作的通信主机(以后将其称为用户终端)的一侧的LAN与WAN的边界(图1的网络结构中的NAPT路由器130-C)、以及作为接受上述通信开始请求的一侧的应用程序服务器动作的通信主机(以后将其称为服务提供服务器)的一侧的LAN与WAN的边界(图1的网络结构中的NAPT路由器130-S)这2个位置,但由于各位置的NAPT路由器产生以下问题,所以无法正确地进行经由NAPT路由器的IPsec通信。
当在用户终端侧存在NAPT路由器的情况下,在经由该路由器的IPsec通信中,产生以下2个问题。
(I)用户终端通过LAN内的私有IP地址(图1中的IP地址A)识别自身的IP地址,所以还在IPsec隧道模式形式分组的内侧IP头的用户终端侧IP地址域(在用户终端发送的分组的情况下,是指图21的发送源IP地址2111)中设置有其私有IP地址。该内侧IP头在被加密的状态下通过NAPT路由器,所以无法进行基于NAPT的IP地址转换,在保持存储有用户终端的私有IP地址的状态下到达服务提供服务器。但是,用户终端的私有IP地址是在与服务提供服务器侧的LAN不同的管理下被分配的IP地址,所以服务提供服务器有可能无法正确地识别向其私有IP地址的路径。不仅如此,IP地址还有可能与存在于服务提供服务器侧LAN、其他用户终端侧LAN(与分组发送源的用户终端不同的NAPT路由器之下设置的LAN)内的主机重复。
(II)作为解决上述(I)的问题的方法,还考虑在服务提供服务器中,将IPsec隧道模式形式分组的内侧IP头中包含的用户终端侧IP地址转换成对用户终端侧的NAPT路由器分配的全局IP地址来解释这样的方法。通过该处置,服务提供服务器除了可以正确地识别向用户终端侧IP地址的路径,而且IP地址也不会与存在于服务提供服务器侧LAN、其他用户终端侧LAN内的主机重复。但是另一方面,当存在于同一NAPT路由器之下的LAN内的2个用户终端在IPsec隧道模式形式分组的内侧TCP·UDP头的用户终端侧端口号域(在用户终端发送的分组的情况下,是指图21的发送源端口号2121)中使用相同端口号而与同一服务提供服务器进行通信的情况下,服务提供服务器无法得知所接收到的分组是从哪个用户终端到达的。
另外,当在服务提供服务器侧存在NAPT路由器的情况下,在经由该路由器的IPsec通信中,产生以下2个问题。
(III)服务提供服务器通过LAN内的私有IP地址(图1中的IP地址E)识别自身的IP地址,所以在向认证、密钥交换服务器登记自身的IP地址、向用户终端通知自身的IP地址时,通知该私有IP地址,而并非对服务提供服务器侧NAPT路由器侧分配的全局IP地址(图1中的IP地址D)。另外,对于IPsec隧道模式形式分组的外侧UDP头中使用的服务提供服务器侧端口号,如果在服务提供服务器侧NAPT路由器的转换规则中WAN侧的值与LAN侧的值(图1中的UDP端口号d-udp与e-udp)不同的情况下,也向用户终端通知LAN侧的值。其结果,虽然用户终端使用这些私有IP地址和LAN侧UDP端口号来构筑IPsec隧道模式形式分组的外侧头,但该分组不到达服务提供服务器。另外,在从用户终端向服务提供服务器的通信开始请求协议中使用SIP的情况下,为了构筑通信开始请求消息,用户终端需要得知与服务提供服务器对应的URI(Uniform ResourceIdentifier,统一资源标识)。但是,如果使用私有IP地址向认证、密钥交换服务器登记服务提供服务器的IP地址,则即使使用专利文献1示出的AOR(Address-of-Record,地址记录)取得消息那样的方法,根据用户终端的应用程序所发送的发送目的地IP地址(全局IP地址)向认证、密钥交换服务器查询URI,也无法得到期望的URI。
(IV)假设解决(III)的问题,以作为服务提供服务器的IP地址以及外侧UDP头的服务提供服务器侧端口号,向用户终端以及认证、密钥交换服务器通知全局IP地址(图1中的IP地址D)以及WAN侧端口号(图1中的d-udp)的方式进行变更。在该情况下,在IPsec隧道模式形式分组的内侧IP头的服务提供服务器侧IP地址域(在用户终端发送的分组的情况下,是图21的发送目的地IP地址2112)中也存储有其全局IP地址。但是,该内侧IP头以被加密的状态通过NAPT路由器,所以不进行基于NAPT的IP地址转换,保持存储有服务提供服务器的全局IP地址的状态到达服务提供服务器。但是,服务提供服务器自身由于未将该全局IP地址识别成对自身分配的IP地址,所以服务提供服务器的IP处理有可能无法以其分组正确地处理。
本发明的目的在于,通过解决上述(I)、(II)、(III)、以及(IV)的课题,在用户终端与服务提供服务器之间的通信路径上存在NAPT路由器的环境中,两个主机进行使用了认证、密钥交换服务器的相互认证以及密钥信息共享,使用该密钥信息,通过追加了UDP头的IPsec隧道模式形式分组,可以在两个主机之间进行加密通信。
在本发明的通信方法中,为了解决上述(I)、(II)、(III)、以及(IV)的课题,进行以下的(a)、(b)、(c)、(d)、以及(e)的处理。(a)为了解决上述(III)的课题,在服务提供服务器内的加密通信处理中,预先登记对服务提供服务器侧NAPT路由器分配的全局IP地址、以及外侧UDP头的WAN侧端口号。该登记也可以由服务提供服务器的管理者手动进行,也可以在与NAPT路由器之间自动地同步设定。在向认证、密钥交换服务器或用户终端通知自身的IP地址和外侧UDP头的端口号时,使用这些预先登记的IP地址以及端口号。
(b)为了解决从用户终端向服务提供服务器发送IPsec隧道模式形式分组时的上述(I)以及(IV)的课题,在服务提供服务器内的加密通信处理内的封装去除处理中,在对分组的被加密的部分(图22的加密分组数据2240)进行解密之后,使用外侧IP头的发送源IP地址域(图22的发送源IP地址2211)和发送目的地IP地址域(图22的发送目的地IP地址2212)的值,重写所解密的数据中包含的内侧IP头的发送源IP地址域(图21的发送源IP地址2111)和发送目的地IP地址域(图21的发送目的地IP地址2112)。
(c)为了解决从用户终端向服务提供服务器发送IPsec隧道模式形式分组时的上述(II)的课题,在服务提供服务器内的加密通信处理内的封装去除处理中,在对分组的被加密的部分(图22的加密分组数据2240)进行了解密之后,将所解密的数据中包含的内侧TCP·UDP头的发送源端口号域(图21的发送源端口号2121)的值,变更成关于外部IP头的用户终端侧IP地址相同的全部的通信,针对每个SPI(Security Parameter Index,安全参数索引)值成为唯一的值(如果尚未被分配唯一的值,则新分配)。
(d)为了解决从服务提供服务器向用户终端发送IPsec隧道模式形式分组时的上述(I)、(II)、以及(III)的课题,在服务提供服务器内的加密通信处理内的封装去除处理中,在表中存储按照(c)决定的端口号。另外,对于其他外侧头信息(发送源、发送目的地IP地址、以及发送源、发送目的地UDP端口号)、以及内侧头信息(发送源、发送目的地IP地址、协议号、以及TCP·UDP的发送源、发送目的地端口号),根据依据从用户终端接收到的IPsec隧道模式形式分组、或经由认证、密钥交换服务器在与用户终端之间发送接收的通信开始请求消息得到的信息,也存储在表中。在服务提供服务器内的加密通信处理内的封装化处理中,如果接收到从服务提供服务器内的应用程序向用户终端发送的内侧分组,则将该发送源、发送目的地IP地址与所存储的表的外侧头信息的相应栏进行比较,将该发送源端口号与所存储的表的内侧头信息的相应栏进行比较,将该发送目的地端口号与以所存储的表的(c)中决定的端口号的栏进行比较。然后,根据这些完全一致的条目的内侧头信息改写分组的内侧头,根据相同条目的外侧头信息生成分组的外侧头。
(e)进行了上述(b)、(c)、以及(d)的处理的结果,在分组的IP头以及TCP·UDP头被改写的情况下,将该分组的IP头校验和、以及TCP·UDP分组校验和恰当地重新计算,向该分组的头内的相应域重新设定计算结果的值。
这样,通过使用本发明的通信方法,在用户终端与服务提供服务器之间的通信路径上存在NAPT路由器的环境中,两个主机进行使用了认证、密钥交换服务器的相互认证以及密钥信息共享,使用该密钥信息,可以在两个主机之间通过追加了UDP头的IPsec隧道模式形式分组进行加密通信。此时,NAPT路由器也可以仅存在于用户终端侧,也可以仅存在于服务提供服务器侧,也可以存在于双方。
另外,本发明的通信方法需要应用于服务提供服务器侧的加密通信处理中,但也可以应用于用户终端侧的加密通信处理中。因此,即使在应用了本发明的用户终端与未应用本发明的用户终端混合存在的环境下,任意用户终端都可以毫无问题地进行经由NAPT路由器的加密通信。进而,在加密通信处理以外的通信装置和软件中,无需任何变更。
另外,在本发明的通信方法中,除了服务提供服务器从NAPT路由器动态地取得自身的全局IP地址以及外侧UDP头的WAN侧端口号的情况,无需判定在通信路径上是否存在NAPT路由器。因此,可以将由于追加本发明的通信方法而引起的处理算法的复杂化抑制成最小限。
附图说明
图1是示出实施例1中的成为具备本发明的通信方法的加密通信模块的应用对象的***的网络结构的图。
图2是示出实施例1中的具备本发明的通信方法的加密通信模块动作的用户终端或服务提供服务器的内部处理体系结构的图。
图3是示出实施例1中的包括具备本发明的通信方法的加密通信模块的用户终端或服务提供服务器的软件结构的图。
图4是示出实施例1中的定位信息的图。
图5是示出实施例1中的策略列表的图。
图6是示出实施例1中的SP表的图。
图7是示出实施例1中的接收SA表的图。
图8是示出实施例1中的发送SA表的图。
图9是示出实施例1中的定位数据库的图。
图10是示出实施例1中的NAPT转换表的图。
图11是在实施例1中以来自UAC侧应用程序的数据分组发送为契机在UAC与UAS之间建立加密通信路径而开始加密通信时的发送接收时序图。
图12是在实施例1中以从UAC侧应用程序向加密通信模块的通信开始请求为契机在UAC与UAS之间建立加密通信路径而开始加密通信时的发送接收时序图。
图13是在实施例1中在建立了UAC与UAS之间的加密通信路径之后使用该加密通信路径从UAC侧应用程序向UAS侧应用程序发送数据分组时的发送接收时序图。
图14是在实施例1中在建立了UAC与UAS之间的加密通信路径之后使用该加密通信路径从UAS侧应用程序向UAC侧应用程序发送数据分组时的发送接收时序图。
图15是示出实施例1中的定位登记请求消息的数据结构的图。
图16是示出实施例1中的定位登记应答消息的数据结构的图。
图17是示出实施例1中的URI取得请求消息的数据结构的图。
图18是示出实施例1中的URI取得应答消息的数据结构的图。
图19是示出实施例1中的通信开始请求消息的数据结构的图。
图20是示出实施例1中的通信开始应答消息的数据结构的图。
图21是示出实施例1中的未被加密的IP分组的数据结构的图。
图22是示出实施例1中的带被加密了的UDP头的IPsec隧道模式形式分组的数据结构的图。
图23是示出在实施例1中具备本发明的通信方法的加密通信模块从网络接口驱动器接收到接收分组时进行的封装处理应用判定的流程的图。
图24是示出在实施例1中具备本发明的通信方法的加密通信模块从OS的IP处理接收到发送分组分组时进行的封装处理应用判定的流程的图。
图25是示出在实施例1中具备本发明的通信方法的加密通信模块从OS的UDP处理接收到接收分组时进行的封装去除处理的流程的图。
图26是示出在实施例1中从具备本发明的通信方法的加密通信模块的封装处理应用判定调出的发送分组的封装化处理的流程的图。
图27是示出实施例2中的成为具备本发明的通信方法的加密通信模块的应用对象的***的网络结构的图。
图28是示出实施例2中的具备本发明的通信方法的加密通信模块动作的带加密通信功能的NAPT路由器的内部处理体系结构的图。
图29是示出实施例2中的包括具备本发明的通信方法的加密通信模块的带加密通信功能的NAPT路由器的软件结构的图。
图30是示出在实施例2中具备本发明的通信方法的加密通信模块从OS的IP终端、地址转换、中继处理接收到中继分组时进行的封装处理应用判定的流程的图。
图31是示出在实施例2中具备本发明的通信方法的加密通信模块从网络接口驱动器(LAN侧)接收到中继分组时进行的封装处理应用判定的流程的图。
图32是示出在实施例2中从具备本发明的通信方法的加密通信模块的封装处理应用判定中调出的中继分组的封装去除处理的流程的图。
图33是示出在实施例2中从具备本发明的通信方法的加密通信模块的封装处理应用判定中调出的中继分组的封装化处理的流程的图。
图34是示出实施例3中的成为具备本发明的通信方法的加密通信模块的应用对象的***的网络结构的图。
图35是示出在实施例3中在建立了UAC与UAS之间的加密通信路径之后使用该加密通信路径从UAC侧应用程序向UAS侧应用程序发送数据分组时的发送接收时序图。
图36是示出在实施例3中在建立了UAC与UAS之间的加密通信路径之后使用该加密通信路径从UAS侧应用程序向UAC侧应用程序发送数据分组时的发送接收时序图。
图37是示出实施例4中的成为具备本发明的通信方法的加密通信模块的应用对象的***的网络结构的图。
(标号说明)
100  实施例1中的加密通信模块
101  定位信息
102  策略列表
103  SP表
104  接收SA表
105  发送SA表
110  应用程序
120  用户终端(UAC)或服务提供服务器(UAS)
130  NAPT路由器
131  NAPT转换表
140HUB  (层2交换机、转发器)
150  LAN内的其他主机
160  外部网络(因特网等)
170  认证、密钥交换服务器
171  定位数据库
210  CPU
220  主存储装置(存储器)
221  软件
222  数据
230  网络接口
240  内部总线
301  封装处理应用判定
302  封装去除处理
303  封装化处理
304  信令处理
310  OS
311  IP 处理
312  TCP 处理
313  UDP 处理
314  TLS 处理
320  网络接口驱动器
2700 实施例2中的加密通信模块
2720 用户终端或服务提供服务器
2730 NAPT 路由器模块
2735 带加密通信功能的NAPT路由器
2810 CPU
2820 主存储装置(存储器)
2821 软件
2822 数据
2831 网络接口(LAN侧)
2832 网络接口(WAN侧)
2840 内部总线
2901 封装处理应用判定
2902 封装去除处理
2903 封装化处理
2904 信令处理
2910 OS
2911 IP终端、地址转换、中继处理
2912  TCP 处理
2913  UDP 处理
2914  TLS 处理
2921  网络接口驱动器(LAN侧)
2922  网络接口驱动器(WAN侧)
3730  双重设置的NAPT路由器
具体实施方式
以下,使用附图对本发明的实施例进行说明。
(实施例1)
图1是示出实施例1中的成为具备本发明的通信方法的加密通信模块的应用对象的***的网络结构的图。
用户终端120-C以及服务提供服务器120-S分别经由NAPT路由器130-C、130-S与因特网等外部网络160连接。用户终端120-C与NAPT路由器130-C之间的网络成为用户终端侧LAN,NAPT路由器130-C与NAPT路由器130-S之间的网络成为WAN,NAPT路由器130-S与服务提供服务器120-S之间的网络成为服务提供服务器侧LAN。
一般,在用户终端侧LAN以及服务提供服务器侧LAN中使用私有IP地址,在WAN中使用全局IP地址,在本实施例中也如上所述假定。但是,在实施本发明时,也可以未必一定进行这样的地址分配。在本实施例中,设对用户终端120-C分配了私有IP地址A,对用户终端侧的NAPT路由器130-C的WAN侧接口分配了全局IP地址C,对服务提供服务器侧的NAPT路由器130-S的WAN侧接口分配了全局IP地址D,对服务提供服务器120-S分配了私有IP地址E。
在用户终端侧LAN的内部,也可以如图所示,存在1台以上的用户终端120-C以外的其他主机150-C。另外,也可以设置用于将这些主机连接到LAN的HUB 140-C、或同样的通信装置(交换机、路由器等)。在本发明的实施中,设置于LAN内的用户终端120-C可以使用对自身分配的IP地址A,而经由NAPT路由器与认证、密钥交换服务器170以及服务提供服务器120-S进行通信是必要条件,如果满足该必要条件,则LAN内的主机数和网络结构没有限制。该情况在服务提供服务器侧LAN中也相同。
NAPT路由器130-C以及130-S在其内部分别具有NAPT转换表131-C、131-S,使用这些转换表,转换在LAN侧与WAN侧之间中继的IP分组中包含的IP地址以及TCP·UDP端口号。
在外部网络160中,配置有认证、密钥交换服务器170。在本实施例中,设为认证、密钥交换服务器170被实现SIPS服务器。在认证、密钥交换服务器170的内部,存储有定位数据库171,该定位数据库171表示与服务提供服务器的服务对应关联的URI与其IP地址、端口号的对应关系。
在服务提供服务器120-S的内部,应用程序服务器110-S以及加密通信模块100-S动作。同样地,在用户终端120-C的内部,应用程序客户机110-C以及加密通信模块100-C动作。以后,将应用程序服务器110-S和应用程序客户机110-C统称为应用程序。
应用程序110-C以及110-S是用于用户终端120-C与服务提供服务器120-S进行通信而实现服务这样的本来的目的的软件,将与通信对方的主机(针对服务提供服务器120的用户终端120-C、针对用户终端120-C的服务提供服务器120-S)之间的通信分组,在与加密通信模块100-C或100-S之间,直接发送接收明文的IP分组。
加密通信模块100-C以及100-S使用认证、密钥交换服务器170对通信对方的主机进行认证,经由认证、密钥交换服务器170与通信对方的主机交换通信开始请求及其应答,在与通信对方的主机之间共享密钥信息。在本实施例中,加密通信模块100-S作为SIPS客户机动作,使用用TLS加密后的SIP协议来进行这些的处理。在本实施例中,上述的通信开始请求取SIP消息的形式,将用户终端120-C的加密通信模块100-C作为发送源,经由认证、密钥交换服务器170发送到服务提供服务器120-S的加密通信模块100-S。因此,还可以将用户终端120-C视为SIP的UAC(User Agent Client,用户代理客户机),将服务提供服务器120-S视为SIP的UAS(User AgentServer,用户代理服务器)。
另外,加密通信模块100-C以及100-S使用通过上述处理得到的密钥信息,对从通信对方的主机接收到的IPsec隧道模式形式的加密通信分组进行解密,作为明文的IP分组向应用程序110-C或110-S中继。另外,对从应用程序服务器110-C或110-S接收到的明文的IP分组进行加密,作为IPsec隧道模式形式的加密通信分组发送到通信对方的主机。另外,为了经由NAPT路由器130-C以及130-S在与用户终端120-C之间进行加密通信,服务提供服务器侧的加密通信模块100-S需要具备本发明的通信方法。另一方面,用户终端侧的加密通信模块100-C也可以具备本发明的通信方法,也可以不具备。
在服务提供服务器120-S侧的加密通信模块100-S的内部,存储有定位信息101-S、策略列表102-S、SP(Security Policy,安全策略)表103-S、接收SA(Security Association,安全联盟)表104-S、发送SA表105-S。同样地,在用户终端侧的加密通信模块100-C的内部,存储有策略列表102-C、SP表103-C、接收SA表104-C、发送SA表105-C。
定位信息101-S是保持该信息的服务提供服务器120-S向认证、密钥交换服务器170的定位数据库171登记的信息。
策略列表102-S以及102-C是用于加密通信模块100-S或100-C在从网络接口或应用程序接收到IP分组时,判断对该分组进行封装化处理、或进行封装去除处理、或都不进行而直接使其通过、或者丢弃的表。
SP表103-S以及103-C是表示IPsec隧道模式形式分组中包含的SPI的值、和与其对应的IPsec隧道模式形式分组的外侧IP头、外侧UDP头、内侧IP头、内侧TCP·UDP头、明文的IP分组的IP头、TCP·UDP头所相关的信息的对应关系的表。接收SA表104-S以及104-C是对所接收到的IPsec隧道模式形式分组中包含的SPI的值和与其对应的密钥信息进行存储的表。
发送SA表105-S以及105-C是存储设定在所发送的IPsec隧道模式形式分组的SPI的值和与其对应的密钥信息的表。
图2是示出实施例1中的具备本发明的通信方法的加密通信模块动作的用户终端或服务提供服务器的内部处理体系结构的图。
用户终端或服务提供服务器120的内部硬件由CPU 210、主存储装置220、网络接口230、以及将这些结合的内部总线240构成。当然,也可以包含除此以外的硬件。
在主存储装置220中,存储有软件221和从软件访问的数据222。CPU 210读取并执行软件221。网络接口230与用户终端或服务提供服务器120所设置的网络(用户终端侧或服务提供服务器侧的LAN)连接。
在软件221中,包含有应用程序110、加密通信模块100、OS 310、网络接口驱动器320。当然,还可以包含除此以外的软件。在OS 310中,包含有IP·TCP·UDP的发送接收处理,除此以外一般还包含有过程管理、存储器管理、输入输出驱动器管理等处理。网络接口驱动器320是对网络接口230进行控制而进行通信分组的输入输出,并且进行通信分组的层2处理的一种输入输出驱动器。另外,在本实施例中,将网络接口驱动器320与OS 310设为独立的软件,但也可以使OS 310包含网络接口驱动器320的一部分或全部功能。
在数据222中,包含作为加密通信模块100使用的数据的、定位信息101、策略列表102、SP表103、接收SA表104、发送SA表105。但是,也可以在用户终端中,不包含定位信息101。当然,也可以包含这些以外的数据。
图3是示出实施例1中的包括具备本发明的通信方法的加密通信模块的用户终端或服务提供服务器的软件结构的图。
在OS 310中,包含有IP处理311、TCP处理312、UDP处理313、TLS处理314。另外,在本实施例中,设为这些处理包含于OS 310,但只要可以实现同样的功能,即使置于OS 310的外部(库等),也可以实施本发明。
在IP处理311中,进行将自身主机设为发送源的IP分组的发送处理、将自身主机设为发送目的地的IP分组的接收处理。在IP分组发送处理中,向从上位的处理(TCP处理、UDP处理、或直接使用IP的应用程序)接收到的IP有效载荷附加恰当的IP头,向与其发送目的地IP地址对应的恰当的IP通信接口(被分配IP地址的网络接口)的网络接口驱动器送出IP分组。在IP分组接收处理中,判别从IP通信接口的网络接口驱动器接收到的IP分组是否为以自身主机为目的地的IP分组,如果以自身主机为目的地,则向与该分组的IP头中包含的协议号对应的上位的处理,交付该分组的IP有效载荷。
另外,在IP处理311中的IP分组接收处理中,还判定所接收到的IP分组的IP头中包含的IP头校验和是否为正确的值(在该值并非正确的情况下,IP分组被丢弃)。在IP分组发送处理中,计算出正确的IP头校验和的值,并被设定在所发送的IP分组的IP头中。
在TCP处理312中,进行TCP协议的发送接收终端处理。即、进行在与从上位的处理(使用TCP的应用程序)指定的通信对方之间进行TCP连接的建立和切断的处理、将从上位处理提供的发送数据流分割成段而构筑TCP数据分组后经由IP处理311送出的处理、将经由IP处理311接收到的TCP数据分组按照时序号重新排列而构筑接收数据流后交给与TCP头中包含的发送目的地端口号对应的上位的处理的处理、对接收确认分组未从通信对方到达的TCP数据分组进行重发的处理等。
另外,在TCP处理312中的TCP分组接收处理中,还判定所接收到的TCP分组的TCP头中包含的TCP分组校验和是否为正确的值(在该值并非正确的情况下,TCP分组被丢弃)。在TCP分组发送处理中,计算出正确的TCP分组校验和的值,并被设定在所发送的TCP分组的TCP头中。
在UDP处理313中,进行UDP协议的发送接收处理。即,进行对从上位的处理(使用UDP的应用程序)提供的发送UDP有效载荷附加恰当的UDP头后经由IP处理311送出的处理、将经由IP处理311接收到的UDP分组交给与该UDP头中包含的发送目的地端口号对应的上位的处理的处理。
另外,在UDP处理313中的UDP分组接收处理中,如果所接收到的UDP分组的UDP头中包含的UDP分组校验和的值不是0,则还判定该值是否为正确的值(在该值并非正确的情况下,UDP分组被丢弃)。在UDP分组发送处理中,0或正确的UDP分组校验和的值中的某一个被设定在所发送的UDP分组的UDP头中。
在TLS处理314中,进行与通过TLS执行的加密通信相关的处理。即、进行在与从上位的处理(使用TLS的应用程序)指定的通信对方之间进行TLS加密通信路径的建立和切断的处理、对从上位的处理提供的发送明文数据流进行加密而经由TCP处理312送出的处理、对经由TCP处理312接收到的加密数据流进行解密而构筑接收明文数据流后交给恰当的上位的处理的处理等。
在加密通信模块100中,包含封装处理应用判定301、封装去除处理302、封装化处理303、信令处理304。在封装处理应用判定301中,判断对进入到IP处理311的与网络接口230对应的IP通信接口和与网络接口230对应的网络接口驱动器320之间被发送接收的IP分组,应进行封装去除处理302或封装化处理303、或两个处理都不进行而应直接交给IP处理311和网络接口驱动器320、或不交给任何处理而应丢弃。然后,执行与该判断结果对应的处理。
在封装去除处理302中,使用UDP处理313,等待接收将IPsec隧道模式形式分组的外侧UDP头中使用的自身主机侧端口号的LAN侧的值(在图1的情况下,如果是服务提供服务器则是指端口号e-udp,如果是用户终端则是指端口号a-udp)作为发送目的地端口号的UDP分组。然后,如果接收到相应的UDP分组,则从UDP处理313接收其UDP有效载荷,进行该分组的认证值的确认和解密,向IP处理311提交所取出的内侧的明文IP分组。
在封装化处理303中,从封装处理应用判定301接收通过封装处理应用判定301判断为应加密的明文IP分组,对该分组进行加密并附加恰当的头等,作为将IPsec隧道模式形式分组的外侧UDP头中使用的自身主机侧端口号的LAN侧的值(在图1的情况下,如果是服务提供服务器则是指端口号e-udp,如果是用户终端则是指端口号a-udp)设为发送源端口的UDP分组,经由UDP处理313发送。另外,在尚未进行该加密处理中所需的加密通信路径建立的情况下,向信令处理304请求开始加密通信,在作为其结果建立了加密通信路径之后,进行分组的加密以及送出。
在信令处理304中,进行用于在与通信对方的主机之间进行IPsec加密通信路径的建立和释放的通信(以后将该通信称为信令)。即、进行针对认证、密钥交换服务器170的定位信息的登记、表示通信对方的URI的查询、向经由了认证、密钥交换服务器170的通信对方的主机进行的通信开始请求、应答这样的与加密通信路径的建立和其预处理相关的通信。在本实施例中,使用通过TLS处理314加密后的SIP消息进行这些的通信。
应用程序110通过OS 310准备的标准方法,经由IP处理311、TCP处理312、UDP处理313,与通信对方的主机进行TCP或UDP的通信(在图1的情况下,此时的自身主机侧端口号在服务提供服务器中是e,在用户终端中是a)。另外,在应用程序110预知通信对方的URI的情况下,也可以使用该URI向加密通信模块100内的信令处理304请求开始加密通信。
图4是示出实施例1中的定位信息的图。
在定位信息101中,包含服务URI410、协议号420、UAS侧的IP地址430、UAS侧的端口号440的项目。
在本实施例中,可以由服务提供服务器的管理者手动设定这些项目。但是,对于UAS侧的IP地址430,也可以从服务提供服务器侧NAPT路由器130-S使用UPnP(Universal Plug and Play,通用即插即用)等方法自动地取得。对于服务URI 410、协议号420、以及UAS侧的端口号440的项目,也可以由在服务提供服务器中动作的应用程序服务器自动地设定。
服务URI 410是与服务提供服务器所提供的应用程序服务对应关联的SIPS URI。
在协议号420中,存储有在与服务提供服务器所提供的应用程序服务通信时使用的协议号。另外,此处所称的协议是IP层的紧邻上位中使用的协议。协议号是指,与这些协议对应关联而由IANA(InternetAssigned Numbers Authority,因特网分配号码管理局)那样的组织所分配的号,存储在IP头的协议号域中。在通常的应用程序中,TCP或UDP被用作协议。
在UAS侧的IP地址430中,存储有服务提供服务器的IP地址。在本实施例中,服务提供服务器120-S与用户终端120-C分别夹着外部网络160,而存在于被分配不同的管理下的私有IP地址的LAN中,所以无法使用私有IP地址相互通信。因此,需要向UAS侧的IP地址430,登记服务提供服务器侧NAPT路由器130-S的全局IP地址(图1中的IP地址D)。
在UAS侧的端口号440中,存储有服务提供服务器所提供的应用程序服务等待来自用户终端的通信的TCP或UDP的端口号。
另外,在与协议号以及服务提供服务器侧的应用程序端口号的值无关,而相对服务提供服务器的IP地址,URI唯一地决定的情况下,也可以省略协议号420以及UAS侧的端口号440的项目。
图5是示出实施例1中的策略列表的图。
在策略列表102中,包含协议号510、对方侧IP地址521、对方侧端口号522、自身侧(全局)端口号532、自身侧(私有)IP地址541、自身侧(私有)端口号542、策略550的项目。
在本实施例中,这些项目可以由该主机(用户终端或服务提供服务器)的管理者手动设定。但是,如后所述,对于协议号510、自身侧(全局)端口号532、自身侧(私有)IP地址541、自身侧(私有)端口号542的项目的一部分,还考虑与NAPT路由器自动地同步设定的方法。
在协议号510中,存储有成为相应条目的策略的应用对象的IP分组的协议号。
在对方侧IP地址521中,存储有成为相应条目的策略的应用对象的IP分组的对方侧IP地址(如果是发送IP分组则是指发送目的地IP地址,如果是接收IP分组则是指发送源IP地址)。
在对方侧端口号522中,存储有成为相应条目的策略的应用对象的IP分组的对方侧TCP·UDP端口号(如果是发送IP分组则是指发送目的地端口号,如果是接收IP分组则是指发送源端口号)。
在自身侧(全局)端口号532中,存储有成为相应条目的策略的应用对象的IP分组流过自身侧的LAN的外部时使用的自身侧TCP·UDP端口号(如果是发送IP分组则是指发送源端口号,如果是接收IP分组则是指发送目的地端口号)。
在自身侧(私有)IP地址541中,存储有成为相应条目的策略的应用对象的IP分组流过自身侧的LAN的内部(包括自身主机内)时使用的自身侧IP地址(如果是发送IP分组则是指发送源IP地址,如果是接收IP分组则是指发送目的地IP地址)。
在自身侧(私有)端口号542中,存储有成为相应条目的策略的应用对象的IP分组流过自身侧的LAN的内部(包括自身主机内)时使用的自身侧TCP·UDP端口号(如果是发送IP分组则是指发送源端口号,如果是接收IP分组则是指发送目的地端口号)。
在策略550中,存储有由相应条目所应用的策略。在本实施例中,策略的类别有“封装内侧”、“封装外侧”、“非应用”、“丢弃”这4种。
为了在本实施例中使本发明发挥功能,对于策略列表102中的、作为服务提供服务器发挥功能且策略为“封装外侧”的条目,需要对自身(全局)端口号532登记恰当的端口号。一般,需要向服务提供服务器侧NAPT路由器的NAPT转换表131-S,静态地登记相应条目的协议号510、自身侧(全局)端口号532、自身侧(私有)IP地址541、自身侧(私有)端口号542作为NAPT条目(否则,服务提供服务器无法接收从用户终端向服务提供服务器发送的分组)。
这样,服务提供服务器的策略列表102-S的一部分条目与服务提供服务器侧NAPT路由器的NAPT转换表131-S的静态NAPT条目的设定需要相互同步。对于该同步,也可以由两个装置的管理者手动进行,也可以通过由服务提供服务器的加密通信模块100-S使用UPnP等手段从服务提供服务器侧NAPT路由器130-S得到静态NAPT条目而进行,也可以通过由服务提供服务器的加密通信模块100-S对服务提供服务器侧NAPT路由器130-S追加恰当的静态NAPT条目而进行。
另外,对于策略列表102中的、未作为服务提供服务器发挥功能的条目、以及策略为“封装内侧”的条目,自身(全局)端口号532也可以是空栏。另外,在用户终端的策略列表102-C中,自身(全局)端口号532也可以全是空栏。
图6是示出实施例1中的SP表的图。
在SP表103中,包含外侧头的参数610、内侧头的参数620、假想对方侧端口号630、接收SPI 640、发送SPI 650的项目。在外侧头的参数610中,包含对方侧IP地址611、对方侧端口号612、自身侧IP地址613、自身侧端口号614的项目。在内侧头的参数620中,包含协议号621、对方侧IP地址622、对方侧端口号623、自身侧IP地址624、自身侧端口号625的项目。
SP表103的条目是根据定位信息101、策略列表102的内容、经由认证、密钥交换服务器170得到的信息、所发送接收的数据分组的头中包含的信息等而自动地制成的。SP表103的各条目对应于在用户终端120-C与服务提供服务器120-S之间设置的一个一个的双向加密通信路径。
在外侧头的参数610的各项目中,存储有IPsec隧道模式形式分组的外侧IP头以及外侧UDP头中使用的对方侧以及自身侧的IP地址和端口号。这些IP地址以及端口号是在自身主机内处理IPsec隧道模式形式分组时使用的。即、自身侧的IP地址以及端口号是在自身侧LAN内使用的私有的IP地址以及端口号,对方侧的IP地址以及端口号是在对方侧LAN外使用的全局的IP地址以及端口号。
在内侧头的参数620的各项目中,存储有IPsec隧道模式形式分组的内侧IP头以及内侧TCP·UDP头中使用的对方侧以及自身侧的IP地址以及端口号、以及协议号。这些IP地址以及端口号是在加密后的IPsec隧道模式形式分组的内侧头中使用的。即、在用户终端120-C中,自身侧的IP地址以及端口号是在自身侧LAN内使用的私有的IP地址以及端口号,协议号、对方侧的IP地址以及端口号是由用户终端侧的应用程序110-C识别的、服务提供服务器侧的应用程序110-S的IP地址以及端口号。在服务提供服务器120-S中,在自身侧和对方侧切换用户终端120-C中的IP地址以及端口号的值。
假想对方侧端口号630是在外侧头的对方侧IP地址611的项目的值相同的全部条目中被分配成唯一的值的假想的对方侧的端口号。
接收SPI 640是在接收分组中使用的SPI的值。在接收到IPsec隧道模式形式分组时,包含在该分组中的SPI使用与该接收SPI 640的项目的值一致的条目,改写分组头的IP地址和端口号。
发送SPI 650是在发送分组中使用的SPI的值。对于该值,也可以使用与接收SPI 640不同的值,也可以使用相同值。在发送IPsec隧道模式形式分组时,该发送SPI 650的项目的值被设定在分组的SPI域中。
图7是示出实施例1中的接收SA表的图。
在接收SA表104中,包含接收SPI 710、解密密钥720、认证值确认密钥730的项目。
针对在SP表中使用的接收SPI的各个值,自动地生成接收SA表104的条目。
接收SPI 710是在接收分组中使用的SPI的值。在接收到IPsec隧道模式形式分组时,包含在该分组中的SPI使用与该接收SPI 710的项目的值一致的条目,进行分组的解密和认证值的确认。
解密密钥720是与接收SPI对应的解密密钥。
认证值确认密钥730是与接收SPI对应的认证值确认密钥。
图8是示出实施例1中的发送SA表的图。
在发送SA表105中,包含发送SPI 810、加密密钥820、认证值计算密钥830的项目。
针对在SP表中使用的发送SPI的各个值,自动地生成发送SA表105的条目。
发送SPI 810是在发送分组中使用的SPI的值。在发送IPsec隧道模式形式分组时,设定在该分组的SPI域的SPI使用与该发送SPI810的项目的值一致的条目,进行分组的加密和认证值的计算。
加密密钥820是与发送SPI对应的加密密钥。
认证值计算密钥830是与发送SPI对应的认证值计算密钥。
另外,在本实施例中,为了可以在接收SPI和发送SPI中使用各自的值,分别准备接收SA表104和发送SA表105,但在接收SPI与发送SPI中使用同一值的情况下,可以将两个表集中而设为一个SA表。
进而,在本实施例中,将在分组的接收时使用的解密密钥和认证值确认密钥、在发送时使用的加密密钥和认证值计算密钥分别准备成独立的项目,但在接收SPI与发送SPI中使用同一值、且在加密中使用公共密钥加密、且在分组的发送时和接收时使用相同密钥的情况下,同一SPI的解密密钥和加密密钥成为相同值。同样地,在接收SPI与发送SPI中使用同一值、且利用在认证值的计算以及确认中使用HMAC那样的公共密钥的认证算法、且在分组的发送时和接收时使用相同密钥的情况下,同一SPI的认证值确认密钥和认证值计算密钥成为相同值。进而,当利用在加密和认证这双方中使用公共密钥的算法的情况下,也可以使两个密钥成为相同。
这样,对于SPI的分配、以及加密和认证中使用的密钥的分配,根据所使用的加密、认证算法、是否在发送与接收中分开使用SPI和密钥,考虑各种分配方法。可以与SPI和密钥的分配方法、所使用的加密、认证算法的选择无关地应用本发明。
图9是示出实施例1中的定位数据库的图。
在定位数据库171中,与定位信息101同样地,包含服务URI 910、协议号920、UAS侧的IP地址930、UAS侧的端口号940的项目。根据定位信息101,从服务提供服务器120-S对认证、密钥交换服务器170通知这些项目,根据该通知,设定各条目。
图10是示出实施例1中的NAPT转换表的图。
在NAPT转换表131中,包含协议号1010、LAN侧的IP地址1020、LAN侧的端口号1030、WAN侧的端口号1040、静态/动态1050的项目。
NAPT转换表131表示NAPT路由器中的分组中继时的IP地址以及端口号的转换规则。即、在NAPT路由器从WAN侧网络接收到将对WAN侧网络接口分配的IP地址设为发送目的地的IP分组时,从NAPT转换表131搜索出该分组的IP头中包含的协议号、以及TCP·UDP头中包含的发送目的地端口号与协议号1010以及WAN侧的端口号1040的值一致的条目。然后,如果发现所一致的条目,则使用该条目的LAN侧的IP地址1020以及LAN侧的端口号1030的值改写分组的IP头的发送目的地IP地址、以及TCP·UDP头的发送目的地端口号的值,向LAN侧网络接口中继分组。如果未发现所一致的条目,则丢弃该分组。
相反,在NAPT路由器从LAN侧网络接收到将存在于WAN侧的IP地址设为发送目的地的IP分组时,从NAPT转换表131搜索出该分组的IP头中包含的协议号、发送源IP地址、以及TCP·UDP头中包含的发送源端口号与协议号1010、LAN侧的IP地址1020、以及LAN侧的端口号1030的值一致的条目。然后,如果发现所一致的条目,则使用该条目的WAN侧的端口号1040的值改写分组的TCP·UDP头的发送源端口号的值,使用对WAN侧网络接口分配的IP地址来改写分组的IP头的发送源IP地址的值,向WAN侧网络接口中继分组。如果未发现所一致的条目,则新分配在其他条目中未使用的恰当的WAN侧端口号,使用该端口号在NAPT转换表131中生成新的动态条目,根据该条目进行同样的分组中继。
在NAPT转换表131的条目中,存在动态的条目和静态的条目。如上所述,如果当从LAN侧向WAN侧进行分组中继时在NAPT转换表131中未发现相应的条目,则新生成动态的条目。然后,如果视为该通信结束(通过检测TCP连接的结束时序、或在一定时间内未通过相应分组等进行判断),则从NAPT转换表131删除该条目。另一方面,静态条目是通过由NAPT路由器的管理者手动设定、或使用了UPnP等的来自外部的自动设定等手段来登记的条目。一般,只要不重新进行相应条目的删除设定,则不从NAPT转换表131删除静态条目。在本实施例的NAPT路由器130中,使用包含在NAPT转换表131中的静态/动态1050的项目,来区分各条目是静态条目还是动态条目,但当然可以不依赖于该实现方法,而实施本发明。
图11是在实施例1中以来自UAC侧应用程序的数据分组发送为契机,在UAC与UAS之间建立加密通信路径而开始加密通信时的发送接收时序图。
另外,在如本实施例所述那样在加密通信模块100与认证、密钥交换服务器170之间的通信消息中使用SIP的情况下,除了图11和图12的时序图所示的消息以外,还发送接收用于回送是处理途中的情况的消息、用于确认接收到应答的情况的消息等。但是,这些消息并不对本发明的实施造成本质的影响,所以从图11和图12的时序图中省略。
首先,服务提供服务器(UAS)侧的加密通信模块100-S根据自身具有的定位信息101,对认证、密钥交换服务器170发送定位登记请求消息(步骤1111)。该消息经由服务提供服务器侧NAPT路由器130-S而到达认证、密钥交换服务器170。认证、密钥交换服务器170对自身的定位数据库171登记包含在消息中的定位信息。然后,经由服务提供服务器侧NAPT路由器130-S,向服务提供服务器侧的加密通信模块100-S回送表示登记完成的定位登记应答消息(步骤1112)。
接下来,用户终端(UAC)侧的应用程序110-C对服务提供服务器侧的应用程序110-S,发送最初的数据分组(步骤1121)。设为用户终端侧的应用程序110-C预知此时成为分组的发送目的地的服务提供服务器的IP地址,或者用户终端侧的应用程序110-C预知服务提供服务器的FQDN(Full Qualified Domain Name,完整网域名称),据此使用DNS(Domain Name System,域名***)等而得到服务提供服务器的IP地址。另外,设为用户终端侧的应用程序110-C预知分组的协议号以及发送目的地端口号。
另外,此处所称数据分组是指,与在用户终端侧的应用程序110-C和服务提供服务器侧的应用程序110-S之间进行的通信相关的所有分组,与应用程序直接使用的数据是否包含在分组中无关。例如,在用户终端侧的应用程序110-C与服务提供服务器侧的应用程序110-S之间的通信中使用TCP的情况下,在该TCP连接建立的初始阶段进行的TCP SYN分组的发送成为最初的数据分组的发送。
在检测到从应用程序进行了发送最初的数据分组的、用户终端侧的加密通信模块100-C根据该数据分组的发送目的地IP地址、协议号、以及发送目的地端口号,对认证、密钥交换服务器170发送URI取得请求消息(步骤1131)。该消息经由用户终端侧NAPT路由器130-C而到达认证、密钥交换服务器170。认证、密钥交换服务器170检索自身的定位数据库171而调出所对应的URI,而经由用户终端侧NAPT路由器130-C向用户终端侧的加密通信模块100-C回送包括该URI的URI取得应答消息(步骤1132)。
接下来,用户终端侧的加密通信模块100-C对认证、密钥交换服务器170发送包括所取得的URI和密钥信息等的通信开始请求消息(步骤1141)。该消息经由用户终端侧NAPT路由器130-C而到达认证、密钥交换服务器170。认证、密钥交换服务器170根据包含在消息中的URI决定消息的传送目的地,经由服务提供服务器侧NAPT路由器130-S向服务提供服务器侧的加密通信模块100-S传送该消息。接收到该消息的服务提供服务器侧的加密通信模块100-S经由服务提供服务器侧NAPT路由器130-S向认证、密钥交换服务器170回送包括所对应的密钥信息等的通信开始应答消息。接收到该消息的认证、密钥交换服务器170经由用户终端侧NAPT路由器130-C,向用户终端侧的加密通信模块100-C回送该消息(步骤1142)。
通过以上的处理,可以在用户终端侧的加密通信模块100-C与服务提供服务器侧的加密通信模块100-S之间共享通过IPsec进行加密通信时所需的密钥信息等参数,所以用户终端侧的加密通信模块100-C对在步骤1121中从用户终端侧应用程序110-C接收到的最初的数据分组进行加密,经由用户终端侧NAPT路由器130-C以及服务提供服务器侧NAPT路由器130-S,回送到服务提供服务器侧的加密通信模块100-S。服务提供服务器侧的加密通信模块100-S对其进行解密而还原成明文的IP分组,提交给服务提供服务器侧的应用程序110-S(步骤1151)。
通过以上的处理,以后可以在用户终端侧的应用程序110-C与服务提供服务器侧的应用程序110-S之间通过IPsec进行加密通信(步骤1160)。
图12是在实施例1中以从UAC侧应用程序向加密通信模块进行的通信开始请求为契机,在UAC与UAS之间建立加密通信路径并开始加密通信时的发送接收时序图。
首先,服务提供服务器侧的加密通信模块100-S通过与图11的步骤1111同样的步骤,向认证、密钥交换服务器170发送定位登记请求消息(步骤1211)。接收到该消息的认证、密钥交换服务器170进行与图11的情况同样的处理,通过与图11的步骤1112同样的步骤,向服务提供服务器侧的加密通信模块100-S回送定位登记应答消息(步骤1212)。
接下来,用户终端侧的应用程序110-C使用自身具有的表示服务提供服务器所提供的服务的URI,对用户终端侧的加密通信模块100-C请求开始加密通信(步骤1221)。接收到该请求的用户终端侧的加密通信模块100-C对认证、密钥交换服务器170发送包括URI和密钥信息等的通信开始请求消息(步骤1222)。该消息通过与图11的步骤1141同样的次序,最终到达服务提供服务器侧的加密通信模块100-S。接收到该消息的服务提供服务器侧的加密通信模块100-S向认证、密钥交换服务器170回送包括对应的密钥信息等的通信开始应答消息(步骤1223)。该消息通过与图11的步骤1142同样的次序,送到用户终端侧的加密通信模块100-C。接收到该消息的用户终端侧的加密通信模块100-C接收针对通信开始请求的应答,而向用户终端侧的应用程序110-C通知加密通信路径的建立完成(步骤1224)。
接下来,用户终端侧的应用程序110-C使用被建立的IPsec加密通信路径,朝向服务提供服务器侧的应用程序110-S发送最初的数据分组(步骤1231)。该数据分组发送通过与图11的步骤1121以及步骤1151同样的次序进行,而数据分组最终到达服务提供服务器侧的应用程序110-S。
通过以上的处理,以后可以在用户终端侧的应用程序110-C与服务提供服务器侧的应用程序110-S之间通过IPsec进行加密通信(步骤1240)。
图13是在实施例1中在建立了UAC与UAS之间的加密通信路径之后使用该加密通信路径从UAC侧应用程序向UAS侧应用程序发送数据分组时的发送接收时序图。
在图11的最初的数据分组发送、中继(步骤1121、1151)、图12的最初的数据分组发送(步骤1231)、图11以及图12的应用程序数据通信(步骤1160、1240)中,从用户终端朝向服务提供服务器的部分中的任意一个都是按照该图13的时序图来进行的。
首先,用户终端侧的应用程序110-C朝向服务提供服务器侧的应用程序110-S,以未加密的IP分组的形式发送数据分组(步骤1311)。此时的分组的IP头的发送源IP地址是对用户终端120-C分配的私有IP地址(此处是图1的IP地址A),发送目的地IP地址是对服务提供服务器侧NAPT路由器分配的全局IP地址(此处是图1的IP地址D),协议号是依据应用程序协议的值(此处为TCP)。另外,此时的分组的TCP·UDP头(此处是TCP头)的发送源端口号以及发送目的地端口号都是用户终端侧的应用程序110-C所识别的端口号(此处分别为图1的端口号a、e)。
接下来,用户终端侧的加密通信模块100-C接收未加密的IP分组,实施加密而构成带UDP头的IPsec隧道模式形式分组,从用户终端120-C的网络接口送出(步骤1312)。此时的分组的外侧IP头的发送源IP地址以及发送目的地IP地址与原本的未加密的IP分组的发送源IP地址以及发送目的地IP地址相同(此处分别是IP地址A、D)。另外,此时的分组的外侧UDP头的发送源端口号是用户终端侧的加密通信模块100-C识别成为自身侧的端口号的号(此处是图1的端口号a-udp),发送目的地端口号是用户终端侧的加密通信模块100-C从服务提供服务器侧的加密通信模块100-C经由认证、密钥交换服务器170被通知的、服务提供服务器侧的加密通信模块100-C的端口号(此处是端口号d-udp)。对于内侧的IP分组,还包括IP头以及TCP·UDP头,对与步骤1311时的未加密的IP分组完全相同的部分进行了加密。
接下来,用户终端侧的NAPT路由器130-C从LAN侧接口接收带该加密后的UDP头的IPsec隧道模式形式分组,改写外侧IP头的发送源IP地址以及外侧UDP头的发送源端口号,从WAN侧接口发送(步骤1313)。此时,分组的外侧IP头的发送源IP地址被改写成对用户终端侧的NAPT路由器130-C的WAN侧接口分配的全局IP地址(此处是图1的IP地址C),外侧的UDP头的发送源端口号被改写成用户终端侧的NAPT路由器130-C恰当地分配的端口号(此处是端口号x-dup)。
接下来,服务提供服务器侧的NAPT路由器130-S从WAN侧接口接收带该加密后的UDP头的IPsec隧道模式形式分组,改写外侧IP头的发送目的地IP地址以及外侧UDP头的发送目的地端口号,从LAN侧接口发送(步骤1314)。此时,分组的外侧IP头的发送目的地IP地址被改写成对服务提供服务器120-S分配的私有IP地址(此处是图1的IP地址E),外侧的UDP头的发送目的地端口号被改写成服务提供服务器侧的加密通信模块100-S识别成自身侧的端口号的号(此处是图1的端口号e-udp)。另外,该改写是根据服务提供服务器侧的NAPT路由器130-S中预先设定的静态NAPT转换规则来进行的。
最后,服务提供服务器侧的加密通信模块100-S从服务提供服务器120-S的网络接口接收带该加密后的UDP头的IPsec隧道模式形式分组,对内侧的IP分组进行解密而取出原来的未加密的IP分组,改写分组的IP头的发送源IP地址、发送目的地IP地址、以及TCP·UDP头的发送源端口号,提交给服务提供服务器侧应用程序110-S(步骤1315)。此时,在分组的IP头的发送源IP地址以及发送目的地IP地址中,使用带原来的UDP头的IPsec隧道模式形式分组的外侧IP头的值。另外,在分组的TCP·UDP头的发送源端口号中,使用由服务提供服务器侧的加密通信模块100-S恰当地分配的端口号的值(此处是端口号uniq-a),以在SP表中使外侧头的对方侧IP地址在同一条目中成为唯一的值。
图14是在实施例1中在建立了UAC与UAS之间的加密通信路径之后使用该加密通信路径从UAS侧应用程序向UAC侧应用程序发送数据分组时的发送接收时序图。
在图11以及图12的应用程序数据通信(步骤1160、1240)中,从服务提供服务器朝向用户终端的部分是按照该图14的时序图来进行的。
首先,服务提供服务器侧的应用程序110-S朝向用户终端侧的应用程序110-C,以未加密的IP分组的形式发送数据分组(步骤1411)。此时的分组的IP头的发送源IP地址是对服务提供服务器120-S分配的私有IP地址(此处是图1的IP地址E),发送目的地IP地址是对用户终端侧NAPT路由器分配的全局IP地址(此处是图1的IP地址C),协议号是依据应用程序协议的值(此处是TCP)。另外,此时的分组的TCP·UDP头(此处是TCP头)的发送源端口号是服务提供服务器侧的应用程序110-S识别的端口号(此处是端口号e)。发送目的地端口号是服务提供服务器侧的应用程序110-S接收到最初从用户终端侧的应用程序110-C到达的数据分组时(图13的步骤1315)得知的用户终端侧的应用程序110-C的端口号(此处是端口号uniq-a)。
接下来,服务提供服务器侧的加密通信模块100-S接收该未加密的IP分组,对内侧的IP分组的IP头以及TCP·UDP头进行后述的改写,并实施加密而构成带UDP头的IPsec隧道模式形式分组,从服务提供服务器120-S的网络接口送出(步骤1412)。此时的分组的外侧IP头的发送源IP地址以及发送目的地IP地址与原来的未加密的IP分组的发送源IP地址以及发送目的地IP地址相同(此处分别是IP地址E、C)。另外,此时的分组的外侧UDP头的发送源端口号是服务提供服务器侧的加密通信模块100-S识别成自身的端口号的号(此处是图1的端口号e-udp),发送目的地端口号是服务提供服务器侧的加密通信模块100-S接收到最初从用户终端侧的加密通信模块100-C到达的数据分组时(图13的步骤1314)得知的用户终端侧的加密通信模块100-C的端口号(此处是端口号x-udp)。另外,对内侧的IP分组的IP头的发送源IP地址、发送目的地IP地址、以及TCP·UDP头的发送目的地端口号,分别设定与服务提供服务器侧的加密通信模块100-S接收到从用户终端侧的加密通信模块100-C到达的数据分组时(图13的步骤1314)的、内侧的IP分组的IP头的发送目的地IP地址、发送源IP地址、以及TCP·UDP头的发送源端口号相同的值(此处分别是IP地址D、IP地址A、端口号a)。
接下来,服务提供服务器侧的NAPT路由器130-S从LAN侧接口接收带有该加密的UDP头的IPsec隧道模式形式分组,改写外侧IP头的发送源IP地址以及外侧UDP头的发送源端口号,从WAN侧接口发送(步骤1413)。此时,分组的外侧IP头的发送源IP地址被改写成对服务提供服务器侧的NAPT路由器130-S的WAN侧接口分配的全局IP地址(此处是图1的IP地址D),外侧UDP头的发送源端口号被改写成基于对服务提供服务器侧的NAPT路由器130-S预设的静态NAPT转换规则的端口号(此处是端口号d-udp)。
接下来,用户终端侧的NAPT路由器130-C从WAN侧接口接收带该加密的UDP头的IPsec隧道模式形式分组,改写外侧IP头的发送目的地IP地址以及外侧UDP头的发送目的地端口号,从LAN侧接口发送(步骤1414)。此时,分组的外侧IP头的发送目的地IP地址被改写成对用户终端120-C分配的私有IP地址(此处是图1的IP地址A),外侧UDP头的发送目的地端口号被改写成用户终端侧的加密通信模块100-C识别成自身侧的端口号的号(此处是图1的端口号a-udp)。另外,该改写是根据用户终端侧的NAPT路由器130-C接收到从用户终端侧的加密通信模块100-C到达的数据分组时(图13的步骤1312)生成的动态NAPT转换规则来进行的。
最后,用户终端侧的加密通信模块100-C从用户终端120-C的网络接口接收带该加密的UDP头的IPsec隧道模式形式分组,对内侧的IP分组进行解密而取出原来的未加密的IP分组,提交给用户终端侧应用程序110-C(步骤1415)。此时,不对解密后的内侧的IP分组进行任何IP头和TCP·UDP头的改写,而直接提交给用户终端侧应用程序110-C。
图15是示出实施例1中的定位登记请求消息的数据结构的图。
在本实施例中,定位登记请求消息被实现为进行了基于TLS的加密的SIP消息。但是,即使不使用TLS和SIP,只要可以在加密通信模块100与认证、密钥交换服务器170之间发送接收包括等同内容的数据的消息,则都可以实施本发明。该情况在以后的图16至图20中也相同。
定位登记请求消息由IP头1510、TCP头1520、加密数据1530构成。但是,在该图中假设了一个消息收敛于一个IP分组的情况,但在加密数据1530的部分较长的情况下,还可以分割到多个IP分组。关于该分割,是按照TLS以及TCP的标准来处理的。该情况在以后的图16至图20中也相同。
加密数据1530是通过利用TLS对定位登记请求消息主体1540进行加密而生成的。定位登记请求消息主体1540是按照SIP协议构成的。此处,仅示出包含在消息主体中的主要的信息。在专利文献1中示出使用SIP协议的消息主体的更具体的实现方法。该情况在以后的图16至图20中也相同。
在定位登记请求消息主体1540中,包含表示定位登记请求的消息类别、表示服务提供服务器的等待接受的应用程序的URI、应用程序的协议号、应用程序的服务提供服务器侧等待接受的端口号、服务提供服务器的全局IP地址这样的信息。这些信息依照定位信息101的内容构成。
图16是示出实施例1中的定位登记应答消息的数据结构的图。
在定位登记应答消息主体1640中,包含表示针对定位登记请求的应答结果的信息。
图17是示出实施例1中的URI取得请求消息的数据结构的图。
在URI取得请求消息主体1740中,包含表示URI取得请求的消息类别、URI取得对象的IP地址、URI取得对象的协议号、URI取得对象的端口号这样的信息。这些信息是依照用户终端侧的加密通信模块100-C从用户终端侧的应用程序110-C接收到的最初的数据分组(图11中的步骤1121)的IP头以及TCP·UDP头的内容构成的。
图18是示出实施例1中的URI取得应答消息的数据结构的图。
在URI取得应答消息主体1840中,包含针对URI取得请求的应答结果、所取得的URI这样的信息。
图19是示出实施例1中的通信开始请求消息的数据结构的图。
在通信开始请求消息主体1940中,包含表示通信开始请求的消息类别、表示通信目的地的服务提供服务器侧应用程序的URI、数据分组的加密中使用的加密密钥、为了确认数据分组中包含的认证值是否正确而使用的认证值确认密钥、与这些密钥信息对应的SPI、数据分组的用户终端侧IP地址、数据分组的用户终端侧的内侧头的端口号这样的信息。根据这些信息(除了URI),在用户侧、服务提供服务器侧这双方,生成SP表103、接收SA表104、发送SA表105的条目。
图20是示出实施例1中的通信开始应答消息的数据结构的图。
在通信开始应答消息主体2040中,包含针对通信开始请求的应答结果、数据分组的加密中使用的加密密钥、为了确认数据分组中包含的认证值是否正确而使用的认证值确认密钥、与这些密钥信息对应的SPI、数据分组的服务提供服务器侧IP地址、数据分组的服务提供服务器侧的内侧头的端口号、数据分组的服务提供服务器侧的外侧UDP头的端口号这样的信息。根据这些信息,在用户侧、服务提供服务器侧这双方,生成SP表103、接收SA表104、发送SA表105的条目。
图21是示出实施例1中的未加密的IP分组的数据结构的图。
在本发明的应用程序在通信中使用的IP分组中,以使用TCP或UDP作为IP的上位层协议的情况作为前提。另外,即使在具有发送源端口号和发送目的地端口号而可以应用NAPT的其他传输层协议中,也可以与TCP和UDP同样地应用本发明。在本申请中,仅言及使用TCP或UDP的情况。
IP分组由IP头2110和IP有效载荷构成。IP有效载荷由TCP·UDP头2120和TCP·UDP有效载荷2130构成。
在IP头2110中,包含发送源IP地址2111、发送目的地IP地址2112、协议号2113、校验和2114的各域。当然,一般还包含这些以外的域。
在发送源IP地址2111中存储有IP分组的发送源的IP地址。在发送目的地IP地址2112中存储有IP分组的发送目的地的IP地址。在协议号2113中存储有IP的上位层协议的协议号。在校验和2114中存储有根据IP头计算出的校验和值。一般,在接收到该校验和值错误的IP分组的IP处理中,丢弃该分组。因此,在改写了发送源IP地址2111和发送目的地IP地址2112这样的IP头中包含的信息的情况下,需要重新计算校验和2114。
在TCP·UDP头2120中,包含发送源端口号2121、发送目的地端口号2122、校验和2123的各域。当然,一般还包含这些以外的域。
在发送源端口号2121中存储有TCP·UDP分组的发送源的端口号。在发送目的地端口号2122中存储有TCP·UDP分组的发送目的地的端口号。在校验和2123中存储有根据TCP·UDP分组整体(头和有效载荷这双方)计算出的校验和值。一般,在接收到该校验和值错误的TCP·UDP分组的TCP·UDP处理中,丢弃该分组。因此,在改写了发送源端口号2121和发送目的地端口号2122这样的TCP·UDP头中包含的信息的情况下,需要重新计算校验和2123。但是,在UDP的情况下,被允许对校验和域2123存储表示省略了校验和计算的值的0。
在TCP·UDP有效载荷2130中,存储有TCP或UDP的数据主体。
图22是示出实施例1中的带加密后的UDP头的IPsec隧道模式形式分组的数据结构的图。
带UDP头的IPsec隧道模式形式分组由外侧IP头2210、外侧UDP头2220、ESP(Encapsu lating Security Payload,封装安全有效载荷)头2230、加密分组数据2240、ICV(Integrity Check Value,完整性校验值)2250构成。
外侧IP头2210、外侧UDP头2220的结构与图21的IP头2110、UDP头2120相同。在ESP头2230中,包含SPI2231的域。在ICV2250中,包含认证值2251的域。例如,在分组数据的认证算法中使用HMAC的情况下,在认证值2251的域中,存储有根据ESP头2230和加密分组数据2240计算出的MAC(Message Authentication Code,消息认证码)。
加密分组数据2240是通过在加密前的IP分组的末尾附加ESP尾部2260并进行加密而生成的。加密前的IP分组的数据结构与图21示出的IP分组完全相同。
图23是示出在实施例1中具备本发明的通信方法的加密通信模块从网络接口驱动器接收到接收分组时进行的封装处理应用判定的流程的图。
本算法是在加密通信模块100内的封装处理应用判定301从网络接口驱动器320接收到接收分组时执行的。
从网络接口驱动器320接收到接收分组的封装处理应用判定301通过对该接收分组的发送源IP地址、发送目的地IP地址、协议号、发送源端口号、发送目的地端口号、与策略列表102的对方侧IP地址521、自身侧(私有)IP地址541、协议号510、对方侧端口号522、自身侧(私有)端口号542分别进行比较,来检索策略列表102(步骤2310)。
其结果,在发现一致的条目,且该条目的策略550是丢弃或封装内侧的情况下(步骤2321),丢弃接收分组(步骤2322),结束处理。
在发现一致的条目,且该条目的策略550是非应用或封装外侧的情况下(步骤2331),向OS的IP处理311交付接收分组(步骤2332),结束处理。
在未发现一致的条目的情况下,作为默认的处理,进行与丢弃或非应用中的某一个相同的处理(步骤2340),而结束处理。应将丢弃或非应用中的哪一个设为默认处理,根据以何种安全策略来运用***而不同。
图24是示出在实施例1中具备本发明的通信方法的加密通信模块根据OS的IP处理接收到发送分组时进行的封装处理应用判定的流程的图。
本算法是在加密通信模块100内的封装处理应用判定301从OS的IP处理311接收到发送分组时执行的。
从OS的IP处理311接收到发送分组的封装处理应用判定301通过对该接收分组的发送源IP地址、发送目的地IP地址、协议号、发送源端口号、发送目的地端口号、与策略列表102的自身侧(私用)IP地址541、自身侧IP地址521、协议号510、自身侧(私用)端口号542、对方侧端口号522分别进行比较,来检索策略列表102(步骤2410)。
其结果,在发现一致的条目,且该条目的策略550是丢弃的情况下(步骤2421),丢弃发送分组(步骤2422),结束处理。
在发现一致的条目,且该条目的策略550是封装内侧的情况下(步骤2431),对发送分组应用封装化处理303(步骤2432),结束处理。
在发现一致的条目,且该条目的策略550是非应用或封装外侧的情况下(步骤2441),向网络接口驱动器320交付发送分组(步骤2442),结束处理。
在未发现一致的条目的情况下,作为默认的处理,进行与丢弃或非应用中的某一个相同的处理(步骤2450),结束处理。应将丢弃或非应用中的哪一个设为默认处理根据以何种安全策略来运用***而不同。图25是示出在实施例1中具备本发明的通信方法的加密通信模块从OS的UDP处理接收到接收分组时进行的封装去除处理的流程的图。
本算法是在加密通信模块100内的封装去除处理302从OS的UDP处理313接收到接收分组时执行的。
从OS的UDP处理313接收到接收分组的封装去除处理302通过对包含在接收分组中的SPI 2231与SP表103的接收SPI 640进行比较,来检索SP表103(步骤2510)。其结果,如果未发现一致条目(步骤2511),则丢弃分组(步骤2595),结束处理。
在发现一致的条目的情况下,通过对本次包含在接收分组中的SPI 2231与接收SA表104的接收SPI 710进行比较,检索接收SA表104,得到与SPI对应的解密密钥720和认证值确认密钥730。然后,使用该认证值确认密钥730,计算出接收分组的认证值,确认是否与包含在接收分组中的认证值2251一致(步骤2520)。如果这些值不一致(步骤2521),则丢弃分组(2595),而结束处理。
在认证值一致的情况下,使用之前得到的解密密钥720,对接收分组内的加密分组数据2240进行解密,得到明文的内侧IP分组(步骤2530)。然后,对该内侧IP分组的IP头2110中包含的协议号、发送源IP地址、发送目的地IP地址、以及TCP·UDP头2120中包含的发送源端口号、发送目的地端口号、与之前检索而发现的SP表的条目中包含的内侧头(原始)620的协议号621、对方侧IP地址622、自身侧IP地址624、对方侧端口号623、自身侧端口号625分别进行比较,而确认是否完全一致(步骤2540)。如果存在不一致的项目(步骤2541),则丢弃分组(步骤2595),结束处理。
在这些值一致的情况下,将接收分组的外侧IP头2210的发送源IP地址、以及外侧UDP头2220的发送源端口号的值分别设定到之前检索而发现的SP表的条目的、外侧头610的对方侧IP地址611以及对方侧端口号612的项目(步骤2550)。
接下来,调查之前检索而发现的SP表的条目的假想对方侧端口号630的项目是否为未登记(步骤2560),如果是未登记(步骤2561),则新决定假想对方侧端口号630,以成为与外侧头610的对方侧IP地址611相同的其他全部SP表条目不同的值,登记到SP表的相应条目(步骤2562)。
接下来,分别使用SP表的相应条目的外侧头610列的对方侧IP地址611、自身侧IP地址613、假想对方侧端口号630的值来改写接收分组的内侧IP头的发送源IP地址、发送目的地IP地址、内侧TCP·UDP头的发送源端口号(步骤2570),根据需要重新计算内侧IP头的校验和2114和内侧TCP·UDP头的校验和2123,使用重新计算出的值来改写(步骤2575)。
然后,从接收分组全部去除外侧IP头2210、外侧UDP头2220、ESP头2230、ESP尾2260、ICV 2250(步骤2580),向OS的IP处理311交付所剩余的内侧IP分组(步骤2585),结束处理。
图26是示出在实施例1中从具备本发明的通信方法的加密通信模块的封装处理应用判定中调出的发送分组的封装化处理的流程的图。
本算法是在加密通信模块100内的封装处理应用判定301将从OS的IP处理311接收到的发送分组判定为“封装内侧”时执行的。
从封装处理应用判定301接收到发送分组的封装化处理303通过对发送分组的IP头2110的发送源IP地址、发送目的地IP地址、协议号、以及TCP·UDP头2120的发送源端口号、发送目的地端口号、与SP表103的外侧头610的自身侧IP地址613、对方侧IP地址611、以及内侧头(原始)620的协议号621、自身侧端口号625、以及假想对方侧端口号630的值分别进行比较,来检索SP表103(步骤2610)。
其结果,在不存在一致的条目的情况下(步骤2611),向信令处理304请求取得与发送分组的IP头2110的协议号、发送目的地IP地址、TCP·UDP头2120的发送目的地端口号对应的URI,并请求与相应URI所表示的服务提供服务器侧应用程序110-S开始加密通信(步骤2680)。其结果,在加密通信的开始准备失败的情况下(步骤2681),设为分组的发送失败,而结束处理。在成功的情况下,继续以下处理。
接下来,使用SP表103的相应条目(在步骤2610中发现一致的条目的情况下是指该条目,在未发现的情况下是指在步骤2680中新生成的条目)的内侧头(原始)620的自身侧IP地址624、对方侧IP地址622、对方侧端口号623的值分别改写发送分组的IP头2110的发送源IP地址、发送目的地IP地址、TCP·UDP头2120的发送目的地端口号(步骤2620)。然后,根据需要重新计算IP头的校验和2114和TCP·UDP头的校验和2123,使用重新计算出的值来进行改写(步骤2625)。
接下来,从发送SA表105检索出SP表103的相应条目的发送SPI650与发送SPI810的值一致的条目,得到相应条目的加密密钥820和认证值计算密钥830。然后,使用该加密密钥820,对附加了ESP尾部2260的发送分组进行加密,对所生成的加密分组数据2240的开头附加ESP头2230,对该SPI域2231设定发送SPI 650的值(步骤2630)。
接下来,使用之前得到的认证值计算密钥830,计算出附加了ESP头2230的加密分组数据2240的认证值,在加密分组数据2240的末尾附加ICV2250,向该认证值域2251设定所计算出的认证值(步骤2635)。
然后,将SP表103的相应条目的外侧头610的自身侧IP地址613、对方侧IP地址611、自身侧端口号614、对方侧端口号612分别设为发送源IP地址、发送目的地IP地址、发送源端口号、发送目的地端口号,经由OS的UDP处理313发送所生成的加密分组(由ESP头2230、加密分组数据2240、以及ICV 2250构成)(步骤2640),结束处理。
(实施例2)
图27是示出实施例2中的成为具备本发明的通信方法的加密通信模块的应用对象的***的网络结构的图。
在实施例2中,加密通信模块2700-C、2700-S不是在用户终端2720-C和服务提供服务器2720-S,而是在带加密通信功能的NAPT路由器2735-C、2735-S的内部动作。在带加密通信功能的NAPT路由器2735-C、2735-S的内部中,由进行与实施例1的加密通信模块100-C、100-S等同的动作的加密通信模块2700-C、2700-S、以及进行与实施例1的NAPT路由器130-C、130-S等同的动作的NAPT路由器模块2730-C、2730-S进行动作。在用户终端2720-C和服务提供服务器2720-S的内部中仅应用程序110-C、110-S进行动作。
在本实施例中,在用户终端2720-C、服务提供服务器2720-S、与带加密通信功能的NAPT路由器2735-C、2735-S之间的LAN中,以明文方式直接进行应用程序的通信。另一方面,仅通过一台带加密通信功能的NAPT路由器2735-C,设置在同一NAPT路由器下的无加密通信功能的多个用户终端可以在WAN中对应用程序的通信进行加密。对于服务提供服务器,也是同样的。
另外,对于实施例1示出的将加密通信模块设置在用户终端或服务提供服务器中的方法、实施例2示出的将加密通信模块设置在NAPT路由器中的方法,只要针对每个LAN统一成其中一个方法,则可以混合存在。即,也可以在用户终端侧使用将加密通信模块置于NAPT路由器中的方法,也可以在服务提供服务器侧使用将加密通信模块置于服务提供服务器中的方法。
图28是示出实施例2中的具备本发明的通信方法的加密通信模块动作的带加密通信功能的NAPT路由器的内部处理体系结构的图。
在带加密通信功能的NAPT路由器2735中,在WAN侧和LAN侧分别具有网络接口2831、2832,且与分别对应的网络接口驱动器2921、2922动作。另外,具有NAPT路由器的功能而并非应用程序,所以代替应用程序的软件而由NAPT路由器模块2730动作,且存在NAPT转换表131。其他结构与实施例1的用户终端2720-C和服务提供服务器2720-S大致相同。
图29是示出实施例2中的包括具备本发明的通信方法的加密通信模块的带加密通信功能的NAPT路由器的软件结构的图。
带加密通信功能的NAPT路由器2735需要能够进行IP层中的分组中继,所以OS的IP终端、地址转换、中继处理2911不仅进行作为端主机的IP的发送接收,而且还具有作为路由器的IP分组中继功能。另外,按照来自NAPT路由器模块的设定,还进行针对中继分组的NAPT处理。
加密通信模块2700的封装处理应用判定2901对进入IP终端、地址转换、中继处理2911的与网络接口(LAN侧)2831对应的IP通信接口和与网络接口(LAN侧)2831对应的网络接口驱动器(LAN侧)2921之间而被中继的IP分组,判断应进行封装去除处理2902或封装化处理2903、或不进行任何处理而应直接交给IP终端、地址转换、中继处理2911和网络接口驱动器(LAN侧)2921、或不交给任何处理而应丢弃。然后,执行与该判定结果对应的处理。
封装去除处理2902从封装处理应用判定2901接收通过封装处理应用判定2901判断为应进行加密的IPsec隧道模式形式分组,进行该分组的认证值的确认和解密,向网络接口驱动器(LAN侧)2921提交所取出的内侧的明文IP分组。
封装化处理2903从封装处理应用判定2901接收通过封装处理应用判定2901判断为应进行加密的明文IP分组,对该分组进行加密并附加恰当的头等,生成IPsec隧道模式形式分组,经由IP终端、地址转换、中继处理2911向WAN侧中继。另外,在该加密处理中所需的加密通信路径建立尚未进行的情况下,向信令处理2904请求开始加密通信,在作为其结果确立了加密通信路径之后,进行分组的加密以及送出。
图30是示出在实施例2中具备本发明的通信方法的加密通信模块从OS的IP终端、地址转换、中继处理接收到中继分组时进行的封装处理应用判定的流程的图。
本算法是在加密通信模块2700内的封装处理应用判定2901从IP终端、地址转换、中继处理2911接收到向LAN中继的中继分组时执行的。
从IP终端、地址转换、中继处理2911接收到向LAN中继的中继分组的封装处理应用判定2901与图23的步骤2310同样地,检索策略列表102(步骤3010)。
其结果,在发现一致的条目,且该条目的策略550是丢弃或封装内侧的情况下(步骤3021),丢弃中继分组(步骤3022),结束处理。
在发现一致的条目,且该条目的策略550是封装外侧的情况下(步骤3031),对中继分组应用封装去除处理2902(步骤3032),结束处理。在发现一致的条目,且该条目的策略550是非应用的情况下(步骤3041),向网络接口驱动器(LAN侧)2921交付中继分组(步骤3042),结束处理。
在未发现一致的条目的情况下,设为默认的处理,而进行与丢弃或非应用中的某一个相同的处理(步骤3050),结束处理。应将丢弃或非应用中的哪一个设为默认处理根据以何种安全策略来运用***而不同。
图31是示出在实施例2中具备本发明的通信方法的加密通信模块从网络接口驱动器(LAN侧)接收到中继分组时进行的封装处理应用判定的流程的图。
本算法是在加密通信模块2700内的封装处理应用判定2901接收到从网络接口驱动器(LAN侧)2921向WAN中继的中继分组时执行的。
从网络接口驱动器(LAN侧)2921接收到向WAN中继的中继分组的封装处理应用判定2901与图24的步骤2410同样地,检索策略列表102(步骤3110)。
其结果,在发现一致的条目,且该条目的策略550是丢弃或封装外侧的情况下(步骤3121),丢弃中继分组(步骤3122),结束处理。
在发现一致的条目,且该条目的策略550是封装内侧的情况下(步骤3131),对中继分组应用封装化处理2903(步骤3132),结束处理。
在发现一致的条目,且该条目的策略550是非应用的情况下(步骤3141),向IP终端、地址转换、中继处理2911交付中继分组(步骤3142),结束处理。
在未发现一致的策略的情况下,设为默认的处理,进行与丢弃或非应用的某一个相同的处理(步骤3150),结束处理。应将丢弃或非应用中的哪一个设为默认处理根据以何种安全策略来运用***而不同。
图32是示出在实施例2中从具备本发明的通信方法的加密通信模块的封装处理应用判定调出的中继分组的封装去除处理的流程的图。
本流程的内容与图25所示的实施例1中的封装去除处理的流程大致相同。较大差异点仅仅在于,并非在UDP处理之上而是在IP终端、地址转换、中继处理2911之下接收处理对象的加密IPsec分组,所以对处理前的加密IPsec分组附加外侧IP头以及外侧UDP头;最终生成的明文IP分组的收付目的地成为网络接口驱动器(LAN侧)2921。
图33是示出在实施例2中从具备本发明的通信方法的加密通信模块的封装处理应用判定调出的中继分组的封装化处理的流程的图。
本流程的内容与图26所示的实施例1中的封装化处理的流程大致相同。较大的差异点仅仅在于,并非对UDP处理而对IP终端、地址转换、中继处理2911收付处理后的加密IPsec分组,所以需要对处理后的加密IPsec分组附加外侧IP头以及外侧UDP头;最终生成的加密IPsec分组的收付目的地成为IP终端、地址转换、中继处理2911。
通过如本实施例那样将加密通信模块置于NAPT路由器中,用户终端以及服务提供服务器即使在其内部没有加密通信模块,也可以在外部网络区间进行加密通信。特别,在1台NAPT路由器之下存在多个用户终端(或服务提供服务器)的情况下,在实施例1的结构中需要对各用户终端(或服务提供服务器)导入加密通信模块,但在本实施例的结构中无需导入。但是,代替它,在本实施例中用户终端(或服务提供服务器)与NAPT路由器之间是明文通信,所以需要在该区间使用与本发明独立的手段来确保通信的安全性。
(实施例3)
图34是示出实施例3中的成为具备本发明的通信方法的加密通信模块的应用对象的***的网络结构的图。
即使在如本实施例仅在用户终端侧应用NAPT,且对服务提供服务器直接分配了全局IP地址的情况下,也可以无问题地实施应用程序的加密通信。另外,在本实施例中,示出了将加密通信模块内置于用户终端以及服务提供服务器中的情况,但对于用户终端侧,即使如实施例2那样内置于NAPT路由器,也可以无问题地实施。
图35是示出在实施例3中在建立了UAC与UAS之间的加密通信路径之后使用该加密通信路径从UAC侧应用程序向UAS侧应用程序发送数据分组时的发送接收时序图。
在本实施例中,未在服务提供服务器侧设置NAPT路由器,所以在任意装置以及软件中,通过相同全局IP地址和端口号(图34中的IP地址D、端口号d-udp)来识别服务提供服务器侧的IP地址以及外侧UDP端口号。对于其他,与实施例1的图13所示的时序图相同。
图36是示出在实施例3中在建立了UAC与UAS之间的加密通信路径之后使用该加密通信路径从UAS侧应用程序向UAC侧应用程序发送数据分组时的发送接收时序图。
在本实施例中,未在服务提供服务器侧设置NAPT路由器,所以在任意装置以及软件中,通过相同全局IP地址和端口号(图34中的IP地址D、端口号d-udp)来识别服务提供服务器侧的IP地址以及外侧UDP端口号。对于其他,与实施例1的图14所示的时序图相同。
(实施例4)
图37是示出实施例4中的成为具备本发明的通信方法的加密通信模块的应用对象的***的网络结构的图。
即使在如本实施例在用户终端侧双重地设置了NAPT路由器的情况下,也可以无问题地实施应用程序的加密通信。另外,即使在服务提供服务器侧双重地设置了NAPT路由器的情况下,如果可以预先掌握对设置于最靠近外部网络160的位置的NAPT路由器分配的全局IP地址、和通过两个NAPT路由器时引起的静态NAPT转换的规则,而对服务提供服务器侧的加密通信模块正确地进行这些的设定,则也可以无问题地实施应用程序的加密通信。

Claims (7)

1.一种网络***,分别具有通信接口的第一计算机、第二计算机、第一分组中继装置经由网络连接,其特征在于:
对上述第一计算机以及上述第二计算机的通信接口分配有独立的网络地址,
上述第一计算机具备在该第一计算机中动作的第一软件,上述第二计算机具备在该第二计算机中动作的第二软件,
上述第一软件与上述第二软件使用通信分组进行通信,该通信分组包括表示发送源计算机的通信接口的网络地址、表示发送目的地计算机的通信接口的网络地址、表示发送源软件的标识符、表示发送目的地软件的标识符,
进而,上述第一计算机具备第一加密、解密处理部或者与该第一加密、解密处理部连接,上述第二计算机具备第二加密、解密处理部或者与该第二加密、解密处理部连接,
上述第一加密、解密处理部对上述第一软件朝向上述第二软件发送的通信分组整体进行加密,新附加表示该通信分组的发送源以及发送目的地的网络地址以及标识符,对该通信分组进行中继,进而从上述第二软件朝向上述第一软件发送的通信分组去除表示发送源以及发送目的地的网络地址以及标识符并对剩余的部分进行解密,对该通信分组进行中继,
上述第二加密、解密处理部对上述第二软件朝向上述第一软件发送的通信分组整体进行加密,新附加表示该通信分组的发送源以及发送目的地的网络地址以及标识符,对该通信分组进行中继,进而从上述第一软件朝向上述第二软件发送的通信分组去除表示发送源以及发送目的地的网络地址以及标识符并对剩余的部分进行解密,对该通信分组进行中继,
进而,对上述第一分组中继装置具备的通信接口分配有网络地址,
上述第一分组中继装置在上述第一软件朝向上述第二软件发送的通信分组中,将上述第一加密、解密处理部新附加的表示该通信分组的发送源即上述第一计算机的通信接口的网络地址以及表示上述第一软件的标识符转换成上述第一分组中继装置的通信接口的网络地址以及上述第一分组中继装置任意分配的标识符,对该通信分组进行中继,进而对上述第二软件朝向上述第一分组中继装置发送的通信分组,将上述第二加密、解密处理部新附加的该通信分组的发送目的地即上述第一分组中继装置的通信接口的网络地址以及上述任意分配的标识符转换成表示上述第一计算机的通信接口的网络地址以及表示上述第一软件的标识符,对该通信分组进行中继,
进而,上述第二加密、解密处理部在针对上述第一软件朝向上述第二软件发送的通信分组,去除由上述第一加密、解密处理部附加且由上述第一分组中继装置转换的表示发送源以及发送目的地的网络地址以及标识符而对剩余的部分进行解密时,利用对解密前的通信分组由上述第一加密、解密处理部附加并由上述第一分组中继装置转换的发送源网络地址,置换解密后的该通信分组中包含的发送源的网络地址,将与该发送源网络地址相同的其他通信不同的唯一的值作为新的标识符进行分配,利用上述新的标识符置换解密后的该通信分组中包含的发送源的标识符,
存储上述网络地址以及标识符的置换规则,对上述第二软件朝向上述第一软件发送的通信分组的发送目的地网络地址以及标识符,逆向应用上述置换规则。
2.根据权利要求1所述的网络***,其特征在于:
具备设置于上述第一分组中继装置与上述第二计算机之间的第二分组中继装置,对上述第二分组中继装置具备的通信接口分配网络地址,
上述第二分组中继装置在上述第一软件朝向上述第二软件发送的通信分组中,将该通信分组的发送目的地即上述第二分组中继装置的通信接口的网络地址以及上述第二分组中继装置内预先设定的标识符转换成表示上述第二计算机的网络地址以及表示上述第二软件的标识符,对该通信分组进行中继,针对上述第二软件朝向上述第一分组中继装置发送的通信分组,将该通信分组的发送源转换成上述第二分组中继装置的通信接口的网络地址以及上述预先设定的标识符,对该通信分组进行中继,
进而,上述第二加密、解密处理部在针对上述第一软件朝向上述第二软件发送的通信分组,去除由上述第一加密、解密处理部附加且由上述第一分组中继装置以及上述第二分组中继装置转换的表示发送源以及发送目的地的网络地址以及标识符而对剩余的部分进行解密时,利用对解密前的通信分组由上述第一加密、解密处理部附加并由上述第一分组中继装置以及上述第二分组中继装置转换的发送目的地网络地址,置换解密后的该通信分组中包含的发送目的地的网络地址。
3.根据权利要求2所述的网络***,其特征在于:
还具备第三计算机,与上述网络连接,用于上述第一加密、解密处理部与上述第二加密、解密处理部进行相互认证以及密钥信息的交换,
上述第二加密、解密处理部经由上述第三计算机,对上述第一加密、解密处理部,通知上述第二分组中继装置的通信接口的网络地址以及对上述第二分组中继装置中预先设定的标识符,作为通信分组的发送目的地网络地址以及发送目的地标识符。
4.根据权利要求1所述的网络***,其特征在于:
上述第一分组中继装置、上述第二分组中继装置、以及上述第二加密、解密处理部在对包含在该通信分组中的发送源或发送目的地的网络地址或标识符进行转换或置换之后,恰当地重新计算包含在该通信分组中的分组数据的检错码。
5.根据权利要求1所述的网络***,其特征在于:
在上述网络地址中使用IP(Internet Protocol)地址,在上述标识符中使用TCP(Transmission Control Protocol)或UDP(UserDatagram Protocol)的端口号。
6.根据权利要求5所述的网络***,其特征在于:
在上述通信分组的加密协议中,使用附加了UDP头的IPsec(IPSecurity Protocol)。
7.根据权利要求5所述的网络***,其特征在于:
在用于进行上述第二加密、解密处理部与上述第一加密、解密处理部之间的信息交换的协议中,使用SIP(Session Initiation Protocol)、或者由TLS(Transpor Layer Secruity)对SIP加密后的协议。
CNA200810161779XA 2007-10-26 2008-09-26 网络*** Pending CN101420423A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007278305A JP2009111437A (ja) 2007-10-26 2007-10-26 ネットワークシステム
JP2007278305 2007-10-26

Publications (1)

Publication Number Publication Date
CN101420423A true CN101420423A (zh) 2009-04-29

Family

ID=40584432

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200810161779XA Pending CN101420423A (zh) 2007-10-26 2008-09-26 网络***

Country Status (3)

Country Link
US (1) US20090113203A1 (zh)
JP (1) JP2009111437A (zh)
CN (1) CN101420423A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103281287A (zh) * 2012-10-24 2013-09-04 南车株洲电力机车研究所有限公司 基于udp协议的风力发电机组通信方法及***
CN103491053A (zh) * 2012-06-08 2014-01-01 北京百度网讯科技有限公司 Udp负载均衡方法、***及装置
CN104168106A (zh) * 2013-05-20 2014-11-26 鸿富锦精密工业(深圳)有限公司 数据传输***、数据发送终端及数据接收终端
WO2016107359A1 (zh) * 2014-12-29 2016-07-07 中兴通讯股份有限公司 签名方法和装置
TWI549553B (zh) * 2014-07-16 2016-09-11 Kamome Engineering Inc Communication methods and communication systems
CN106797384A (zh) * 2014-08-08 2017-05-31 微软技术许可有限责任公司 以不同的协议将请求路由到集群中的相同端点
CN109981820A (zh) * 2019-03-29 2019-07-05 新华三信息安全技术有限公司 一种报文转发方法及装置
JP2019204989A (ja) * 2018-05-21 2019-11-28 ソフトバンク株式会社 中継システム及びプログラム
CN112468356A (zh) * 2019-09-09 2021-03-09 北京奇虎科技有限公司 路由器接口测试方法、装置、电子设备和存储介质
CN113839964A (zh) * 2021-11-26 2021-12-24 浙江国利信安科技有限公司 用于网关设备的通信方法和网关设备

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2584525C (en) 2004-10-25 2012-09-25 Rick L. Orsini Secure data parser method and system
US8418241B2 (en) 2006-11-14 2013-04-09 Broadcom Corporation Method and system for traffic engineering in secured networks
WO2008153193A1 (ja) * 2007-06-15 2008-12-18 Nec Corporation アドレス変換装置及びアドレス変換方法
JP4784667B2 (ja) * 2009-03-06 2011-10-05 ブラザー工業株式会社 端末装置とコンピュータプログラム
CA2760251A1 (en) 2009-05-19 2010-11-25 Security First Corp. Systems and methods for securing data in the cloud
JP5158021B2 (ja) * 2009-05-27 2013-03-06 富士通株式会社 トンネル通信装置及び方法
JP5279633B2 (ja) * 2009-06-29 2013-09-04 キヤノン株式会社 通信装置及びその制御方法、並びにプログラム
US9106628B2 (en) * 2009-07-07 2015-08-11 Alcatel Lucent Efficient key management system and method
CN106411909A (zh) * 2009-11-25 2017-02-15 安全第公司 对移动中数据进行保护的***和方法
US8965955B2 (en) * 2009-12-23 2015-02-24 Citrix Systems, Inc. Systems and methods for policy based integration to horizontally deployed WAN optimization appliances
CA2795206C (en) 2010-03-31 2014-12-23 Rick L. Orsini Systems and methods for securing data in motion
US8824492B2 (en) 2010-05-28 2014-09-02 Drc Computer Corporation Accelerator system for remote data storage
CN106100852A (zh) 2010-09-20 2016-11-09 安全第公司 用于安全数据共享的***和方法
CN102467533B (zh) * 2010-11-10 2015-04-15 腾讯科技(深圳)有限公司 一种处理产品统计数据的方法及装置
KR101065040B1 (ko) * 2010-12-29 2011-09-19 주식회사 지트론 Ip단말기 및 클라이언트가 통신하기 위한 통신방법
US20130212646A1 (en) * 2011-06-24 2013-08-15 Keith A. McFarland Usage authentication via intercept and challege for network services
US8806033B1 (en) * 2011-06-30 2014-08-12 Juniper Networks, Inc. Effective network identity pairing
JP5617108B2 (ja) * 2011-07-14 2014-11-05 岩▲崎▼ 哲夫 静的nat形成装置、リバースプロキシサーバ及び仮想接続制御装置
KR101333153B1 (ko) 2011-12-13 2013-11-26 주식회사 나온웍스 TLS 복호화 기능을 포함하는 VoIP 보안장비
US9641551B1 (en) * 2013-08-13 2017-05-02 vIPtela Inc. System and method for traversing a NAT device with IPSEC AH authentication
US9350550B2 (en) * 2013-09-10 2016-05-24 M2M And Iot Technologies, Llc Power management and security for wireless modules in “machine-to-machine” communications
US9100175B2 (en) 2013-11-19 2015-08-04 M2M And Iot Technologies, Llc Embedded universal integrated circuit card supporting two-factor authentication
US10498530B2 (en) 2013-09-27 2019-12-03 Network-1 Technologies, Inc. Secure PKI communications for “machine-to-machine” modules, including key derivation by modules and authenticating public keys
US9106620B2 (en) 2013-11-14 2015-08-11 Comcast Cable Communications, Llc Trusted communication session and content delivery
US10700856B2 (en) 2013-11-19 2020-06-30 Network-1 Technologies, Inc. Key derivation for a module using an embedded universal integrated circuit card
CN103746893A (zh) * 2013-12-19 2014-04-23 柳州职业技术学院 一种针对ip数据包的安全型隐蔽通信方法
US9853977B1 (en) 2015-01-26 2017-12-26 Winklevoss Ip, Llc System, method, and program product for processing secure transactions within a cloud computing system
WO2016135884A1 (ja) * 2015-02-25 2016-09-01 三菱電機ビルテクノサービス株式会社 ネットワークシステム、センタ側ルータ、拠点側ルータ、naptテーブルの更新方法
JP6396831B2 (ja) * 2015-03-19 2018-09-26 株式会社日立製作所 暗号通信システム、暗号通信方法、暗号通信装置及び暗号通信装置登録サーバ
CN106295392A (zh) * 2015-06-24 2017-01-04 阿里巴巴集团控股有限公司 数据脱敏处理方法和装置
US10051000B2 (en) * 2015-07-28 2018-08-14 Citrix Systems, Inc. Efficient use of IPsec tunnels in multi-path environment
US10218698B2 (en) * 2015-10-29 2019-02-26 Verizon Patent And Licensing Inc. Using a mobile device number (MDN) service in multifactor authentication
CN105472611B (zh) * 2015-12-03 2019-11-29 上海斐讯数据通信技术有限公司 一种无线局域网中无线终端接入认证方法及***
US10681131B2 (en) 2016-08-29 2020-06-09 Vmware, Inc. Source network address translation detection and dynamic tunnel creation
CN108259293B (zh) * 2017-02-28 2020-11-06 新华三技术有限公司 一种报文转发方法及装置
US20190097968A1 (en) * 2017-09-28 2019-03-28 Unisys Corporation Scip and ipsec over nat/pat routers
CN110365557B (zh) * 2018-03-26 2021-11-02 中兴通讯股份有限公司 一种网络互连的方法及装置
US20210092103A1 (en) * 2018-10-02 2021-03-25 Arista Networks, Inc. In-line encryption of network data
CN116455587A (zh) * 2022-01-05 2023-07-18 西安西电捷通无线网络通信股份有限公司 一种数据安全传输的方法和装置及设备
CN114844729B (zh) * 2022-07-04 2022-09-30 中国人民解放军国防科技大学 一种网络信息隐藏方法及***
CN116074469B (zh) * 2023-03-14 2023-07-14 浙江华创视讯科技有限公司 加入会议的方法、装置、存储介质及电子装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154775A (en) * 1997-09-12 2000-11-28 Lucent Technologies Inc. Methods and apparatus for a computer network firewall with dynamic rule processing with the ability to dynamically alter the operations of rules
US6957346B1 (en) * 1999-06-15 2005-10-18 Ssh Communications Security Ltd. Method and arrangement for providing security through network address translations using tunneling and compensations
JP2002232450A (ja) * 2001-01-31 2002-08-16 Furukawa Electric Co Ltd:The ネットワーク中継装置、データ通信システム、データ通信方法およびその方法をコンピュータに実行させるプログラム
US20020162026A1 (en) * 2001-02-06 2002-10-31 Michael Neuman Apparatus and method for providing secure network communication
US7159109B2 (en) * 2001-11-07 2007-01-02 Intel Corporation Method and apparatus to manage address translation for secure connections
US7453885B2 (en) * 2004-10-13 2008-11-18 Rivulet Communications, Inc. Network connection device
JP3859667B2 (ja) * 2004-10-26 2006-12-20 株式会社日立製作所 データ通信方法およびシステム
US8787393B2 (en) * 2005-04-11 2014-07-22 International Business Machines Corporation Preventing duplicate sources from clients served by a network address port translator
US7656795B2 (en) * 2005-04-11 2010-02-02 International Business Machines Corporation Preventing duplicate sources from clients served by a network address port translator
JP4602894B2 (ja) * 2005-11-16 2010-12-22 株式会社日立製作所 計算機システム及び計算機
US8782772B2 (en) * 2007-09-28 2014-07-15 Microsoft Corporation Multi-session secure tunnel

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491053A (zh) * 2012-06-08 2014-01-01 北京百度网讯科技有限公司 Udp负载均衡方法、***及装置
CN103281287A (zh) * 2012-10-24 2013-09-04 南车株洲电力机车研究所有限公司 基于udp协议的风力发电机组通信方法及***
CN103281287B (zh) * 2012-10-24 2016-03-30 南车株洲电力机车研究所有限公司 基于udp协议的风力发电机组通信方法及***
CN104168106A (zh) * 2013-05-20 2014-11-26 鸿富锦精密工业(深圳)有限公司 数据传输***、数据发送终端及数据接收终端
TWI549553B (zh) * 2014-07-16 2016-09-11 Kamome Engineering Inc Communication methods and communication systems
CN106797384A (zh) * 2014-08-08 2017-05-31 微软技术许可有限责任公司 以不同的协议将请求路由到集群中的相同端点
CN105812137A (zh) * 2014-12-29 2016-07-27 中兴通讯股份有限公司 签名方法和装置
WO2016107359A1 (zh) * 2014-12-29 2016-07-07 中兴通讯股份有限公司 签名方法和装置
JP2019204989A (ja) * 2018-05-21 2019-11-28 ソフトバンク株式会社 中継システム及びプログラム
CN109981820A (zh) * 2019-03-29 2019-07-05 新华三信息安全技术有限公司 一种报文转发方法及装置
CN109981820B (zh) * 2019-03-29 2022-04-22 新华三信息安全技术有限公司 一种报文转发方法及装置
CN112468356A (zh) * 2019-09-09 2021-03-09 北京奇虎科技有限公司 路由器接口测试方法、装置、电子设备和存储介质
CN112468356B (zh) * 2019-09-09 2023-11-03 北京奇虎科技有限公司 路由器接口测试方法、装置、电子设备和存储介质
CN113839964A (zh) * 2021-11-26 2021-12-24 浙江国利信安科技有限公司 用于网关设备的通信方法和网关设备

Also Published As

Publication number Publication date
US20090113203A1 (en) 2009-04-30
JP2009111437A (ja) 2009-05-21

Similar Documents

Publication Publication Date Title
CN101420423A (zh) 网络***
US9838362B2 (en) Method and system for sending a message through a secure connection
US7949785B2 (en) Secure virtual community network system
US8205074B2 (en) Data communication method and data communication system
US5604807A (en) System and scheme of cipher communication
Winter et al. Transport layer security (TLS) encryption for RADIUS
US6795917B1 (en) Method for packet authentication in the presence of network address translations and protocol conversions
US7159242B2 (en) Secure IPsec tunnels with a background system accessible via a gateway implementing NAT
US20040249974A1 (en) Secure virtual address realm
US20040249973A1 (en) Group agent
US20060182103A1 (en) System and method for routing network messages
EP1560396A2 (en) Method and apparatus for handling authentication on IPv6 network
US8266428B2 (en) Secure communication system and method of IPv4/IPv6 integrated network system
JP2005503047A (ja) 安全なネットワークを供給するための装置と方法
WO2010124014A2 (en) Methods, systems, and computer readable media for maintaining flow affinity to internet protocol security (ipsec) sessions in a load-sharing security gateway
US20030188012A1 (en) Access control system and method for a networked computer system
KR100948604B1 (ko) 서버 기반 이동 인터넷 프로토콜 시스템에 있어서 보안방법
US20040243837A1 (en) Process and communication equipment for encrypting e-mail traffic between mail domains of the internet
NO337810B1 (no) Framgangsmåte og system for adressering og ruting i krypterte kommunikasjonslinker
WO2002017558A2 (en) Method and apparatus for data communication between a plurality of parties
CN110832806B (zh) 针对面向身份的网络的基于id的数据面安全
EP3923540B1 (en) Enhanced privacy-preserving access to a vpn service by multiple network address modifications
US20240195795A1 (en) Computer-implemented methods and systems for establishing and/or controlling network connectivity
WO2023199189A1 (en) Methods and systems for implementing secure communication channels between systems over a network
KR20040046260A (ko) NAT 기능을 갖는 사설망에서 IPSec을 이용한종단과 종단 간의 private 정보 전송 방법 및 이를이용한 보안 서비스 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20090429

C20 Patent right or utility model deemed to be abandoned or is abandoned