CN1600011A - 包含安全性关联处理器的虚拟专用网络机制 - Google Patents

包含安全性关联处理器的虚拟专用网络机制 Download PDF

Info

Publication number
CN1600011A
CN1600011A CNA028155106A CN02815510A CN1600011A CN 1600011 A CN1600011 A CN 1600011A CN A028155106 A CNA028155106 A CN A028155106A CN 02815510 A CN02815510 A CN 02815510A CN 1600011 A CN1600011 A CN 1600011A
Authority
CN
China
Prior art keywords
security association
security
vpn
circuit
grouping
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.)
Granted
Application number
CNA028155106A
Other languages
English (en)
Other versions
CN100479451C (zh
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.)
Telecom Italia SpA
Original Assignee
Telecom Italia SpA
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 Telecom Italia SpA filed Critical Telecom Italia SpA
Publication of CN1600011A publication Critical patent/CN1600011A/zh
Application granted granted Critical
Publication of CN100479451C publication Critical patent/CN100479451C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • 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

Abstract

一种新颖的有用虚拟专用网络(VPN)机制和相关的安全性关联处理器,用于保持实现诸如加密、解密和鉴权之类安全功能所需的安全参数。安全性关联数据库(SAD)和相关电路适合于提供实现关于加密/解密和鉴权的IPSec组安全规范必需的参数。数据库中的每个安全性关联(SA)包括根据IPSec规范接收和传送VPN规范所需的全部参数。

Description

包含安全性关联处理器的虚拟专用网络机制
技术领域
本发明涉及数据通信系统,更具体地说涉及实现包括安全性关联数据库和相关处理器的虚拟专用网络(VPN)的机制。
背景技术
近年来,全球目睹了因特网的爆发性增长。每年越来越多的主机加入因特网,同时用户数目似乎无限制地增长。因特网能够实现利用不同技术(包括远程计算机登录、文件传送、万维网(WWW)浏览、电子邮件等)的通信。设计出各种各样的协议,并且这些协议在因特网上用于处理各种通信。例如,文件传送协议(FTP)用于文件传送,超文本置标语言(HTML)用于web通信等。通常,在包括OSI通信栈各层协议在内的协议的传输控制协议/网际协议(TCP/IP)组的保护下,对和因特网通信相关的协议分组。
因特网的关键特征在于它是几乎具有计算机、电话线和因特网服务提供者(ISP)账户的任何人可访问的公共网络。这种大规模公众可接入性的最终趋势是它便于黑客和意图对因特网上的一个或多个主机采取恶意行动的其它人接近因特网上的一个或多个主机。对于设法侵入远程网络的计算机并成功窃取通信数据的黑客来说,诸如恶意用户窃取保密信息或者删除重要文件之类非法行为是可能的。通过在允许因特网上的安全事务的IPv6中包括诸如加密和鉴权之类安全特征,因特网体系结构委员会解决了关于安全性的需要。
为了对抗黑客的威胁和保护专用网络,目前通常在公司或机制的专用网络的入口处设置防火墙。防火墙采用某一形式的分组过滤器,分组过滤器强制实现用户定义的安全策略。防火墙是位于机制的本地网络和全球因特网之间边界处的系统。它实现所有数据通信的过滤,以便防止信息泄漏到外部网络,或者防止从外部未经授权访问内部网络。防火墙对接收的每个分组进行拒绝/许可判定。
同时,对无线服务(即蜂窝电话机、双向寻呼机、无绳设备等)和诸如膝上型计算机、PDA之类个人计算设备的需求日益增多。这些个人计算设备中的多数都包含无线通信电路,以便它们能够通过无线网络(例如蜂窝或者其它宽带方案)与诸如因特网之类WAN网络通信。从而,越来越多的PDA和蜂窝电话机正在连接到因特网上,从而这些设备存在安全风险。这些设备最好采用某一类型的防火墙防范对该设备的未经授权的访问。但是,目前多数防火墙以软件形式实现,需要整个桌上型计算机的计算资源,导致在诸如蜂窝电话机或PDA之类便携式计算设备中使用它们的成本很高或者不切实际。
从而,需要一种易于用适于包含在诸如蜂窝电话机和无线连接PDA之类小型便携式电子计算设备中的小尺寸硬件实现的防火墙或分组过滤器。
发明内容
本发明提供一种新颖的有用虚拟专用网络(VPN)机制,以便提供实现加密/解密和鉴权必需的安全参数。VPN机制适合于以较低的成本用硬件实现,从而能够费用低廉地将本发明结合到与因特网或其它广域网连接的便携式电子通信设备中,例如蜂窝电话机、个人数字助手(PDA)、膝上型计算机等。
本发明可和适于连接因特网的便携式计算设备,例如蜂窝电话机和无线连接PDA中基于硬件或软件的防火墙一起使用。还可用软件或硬件和软件的组合实现本发明的VPN机制。
从而,VPN机制可被用于实现,例如通过WAN的安全分局(branch office)连接性、通过WAN的安全远程访问或者通过WAN的安全电子商务交易。
VPN机制包括适于提供实现加密/解密和鉴权的安全性规范的IPSec组所需参数的安全性关联数据库(SAD)和相关电路。数据库中的每个安全性关联(SA)入口包括根据IPSec规范接收和传送VPN分组所需的所有参数。
本发明对输入分组流进行涉及安全性关联(SA)的处理。注意输入分组流可包括入站分组和出站分组。通常,本发明被置于WAN(即因特网)和本地LAN之间。这种情况下,VPN机制过滤从WAN发送给LAN的入站分组和从LNA发送给WAN的出站分组。
本发明的VPN机制保持称为SAD的安全参数表,用于保存和单向连接相关的安全参数。对于双向连接,需要产生两个SA。新的安全性关联被添加到SA数据库中,并且一旦被产生,根据关于特定SA保存在数据库中的参数,处理与该SA相关的后续分组。根据该分组和SA参数,分组可被加密、解密、鉴权或丢弃。注意只有当分组符合在SA数据库中规定的安全性时,才许可该分组。
虽然本发明特别适合于用硬件实现,不过也可用软件实现本发明。在一个实施例中,包括处理器、存储器等的计算机执行适于实现本发明的VPN机制和安全性关联处理的软件。
根据本发明,提供一种安全性关联处理器电路,包括存储多个安全性关联的安全数据的安全性关联数据库,每个入口包括和唯一套接字对应的安全性关联数据,当收到未在安全性关联数据库中找到的套接字时,打开新的安全性关联的装置,根据分组的套接字搜索和识别与之相关的安全性关联的装置,从安全性关联数据库检索多个安全参数的装置,和将多个安全参数转发给虚拟专用网络(VPN)安全处理器,以便以此执行一个或多个安全处理的装置。
根据本发明,还提供一种虚拟专用网络(VPN)电路,包括保存多个安全性关联的安全数据的安全性关联数据库装置,每个入口包括和唯一套接字对应的安全性关联数据,多个安全引擎,每个安全引擎适合于执行安全处理,当收到未在安全性关联数据库装置中找到的套接字时,打开新的安全性关联的装置,根据输入分组的套接字搜索和识别与之相关的安全性关联的装置,从安全性关联数据库装置检索多个安全参数的装置,将多个安全参数转发给至少一个安全引擎,以便以此执行安全处理的装置,和适合于利用输入分组和安全处理的结果,根据特定的安全模式构建输出分组的分组建立装置。
根据本发明,还提供一种便携式计算设备,包括适于连接该设备和通信网络的通信装置,包括易失性和非易失性存储器的存储器装置,非易失性存储器适于保存程序代码,与存储器装置和通信装置耦接,执行程序代码的处理器,和虚拟专用网络(VPN)电路,所述虚拟专用网络(VPN)电路包括保存多个安全性关联的安全数据的安全性关联数据库装置,每个入口包括和唯一套接字对应的安全性关联数据,多个安全引擎,每个安全引擎适合于执行安全处理,当收到未在安全性关联数据库装置中找到的套接字时,打开新的安全性关联的装置,根据输入分组的套接字搜索和识别与之相关的安全性关联的装置,从安全性关联数据库装置检索多个安全参数的装置,将多个安全参数转发给至少一个安全引擎,以便以此执行安全处理的装置,和适合于利用输入分组和安全处理的结果,根据特定的安全模式构建输出分组的分组建立装置。
根据本发明,还提供一种安全性关联处理器电路,包括保存多个安全性关联的安全数据的安全性关联数据库,每个入口包括和唯一套接字对应的安全性关联数据,当收到未在安全性关联数据库中找到的套接字时,适于打开新的安全性关联的管理单元,适于根据输入分组的套接字,搜索和识别与之相关的安全性关联的识别单元,适于从安全性关联数据库检索多个安全参数,并将它们转发给虚拟专用网络(VPN)安全处理器,以便以此执行一个或多个安全处理的主处理器单元,和包含散列函数和相关散列表,简化保存的安全性关联的搜索的散列单元。
根据本发明,还提供一种安全性关联的方法,所述方法包括下述步骤:建立适于保存多个安全性关联的安全数据的安全性关联数据库,安全性关联数据库内的每个入口对应于一个套接字,当收到未在安全性关联数据库中找到的套接字时,打开新的安全性关联,根据分组的套接字,搜索和识别与之相关的安全性关联,从安全性关联数据库检索多个安全参数,并将所述多个安全参数转发给虚拟专用网络(VPN)安全处理器,以便以此执行一个或多个安全处理。
根据本发明,还提供一种计算机可读存储介质,具有包含于其中的计算机可读程序代码单元,当在计算机上执行这种程序时,使适当编程的计算机实现安全关联性机制,所述计算机可读存储介质包括使计算机建立适于保存多个安全性关联的安全数据的安全性关联数据库的计算机可读程序代码单元,安全性关联数据库内的每个入口包括对应于唯一套接字的安全性关联数据,当收到未在安全性关联数据库中找到的套接字时,使计算机打开新的安全性关联的计算机可读程序代码单元,使计算机根据分组的套接字,搜索和识别与之相关的安全性关联的计算机可读程序代码单元,使计算机从安全性关联数据库检索多个安全参数的计算机可读程序代码单元,和使计算机将所述多个安全参数转发给虚拟专用网络(VPN)安全处理器,以便以此执行一个或多个安全处理的计算机可读程序代码单元。
附图说明
下面参考附图,举例说明本发明,其中:
图1是图解说明在WAN或因特网环境中,本发明的虚拟专用网络机制的几种例证应用的方框图;
图2是图解说明包括与本发明的虚拟专用网络机制通信的本地和远程LAN、WAN和拨号用户的例证网络的方框图;
图3是更详细地图解说明本发明的虚拟专用网络机制的方框图;
图4A和4B是图解说明本发明的主SA处理器方法的流程图;
图5图解说明了确定与输入分组相关的SA的散列技术;
图6是图解说明本发明的SA识别过程的散列方法的流程图;
图7图解说明了在主SA处理器进行的检查中执行的防重放窗口机制;
图8是图解说明本发明的防重放窗口方法的流程图;
图9图解说明了用于跟踪SA失效(staleness)的最近最少使用的链路列表结构;
图10是图解说明当识别与输入分组相关的SA时,更新LRU链接列表的方法的流程图;
图11是图解说明本发明的SA管理模块的处理的流程图;
图12是图解说明由本发明的SA管理模块执行的打开SA的处理的流程图;
图13是图解说明由本发明的SA管理模块执行的关闭SA的处理的流程图;
图14图解说明了与每个SA记录相关的最后打开的会话指针;
图15图解说明了前一和下一会话指针,和匹配与每个会话记录相关的SA指针;
图16图解说明单一会话和单一SA记录之间的例证关系;
图17图解说明多个会话和单一SA记录之间的例证关系;
图18是图解说明适于实现本发明的VPN机制和相关的安全关联处理的例证计算机处理系统-平台的方框图。
具体实施方式
                        全文中使用的符号
本文献中自始至终使用下述符号
术语         定义
ARP          地址解析协议
ARW          防重放窗口
ASIC         专用集成电路
ADSL         非对称数字用户线
AH           鉴权信头
CPU          中央处理器
CRC          循环冗余检验
CBC          密码分组链接
DES          数据加密标准
DAT          数字音频带
DSP          数字信号处理器
DSL         数字用户线
DVD         数字通用光盘
EEPROM      电可擦可编程只读存储器
EEROM       电可擦除只读存储器
ECB         电子密码本
ESP         封装安全载荷
ED          加密/解密
EPROM       可擦可编程只读存储器
FPGA        现场可编程门阵列
FTP         文件传送协议
HMAC        信头消息鉴权代码
HDSL        高位速率数字用户线
HTML        超文本置标语言
IAB         因特网体系结构委员会
ICMP        因特网控制消息协议
IKE         因特网密钥交换
IP          网际协议
ISP         因特网服务提供商
IV          初始向量
IPSec       IP安全性
LRU         最近最少使用的
LAN         局域网
MTU         最大传输单元
MAN         城域网
MRU         最近最多使用的
NIC         网络接口卡
OSI         开放系统互连
PB          分组建立器
PC          个人计算机
PDA        个人数字助手
PDU        协议数据单元
RAM        随机存取存储器
RIP        远程IP
ROM        只读存储器
SA         安全关联
SAP        安全关联处理器
SPD        安全策略数据库
SPI        安全参数索引
TCP        传输控制协议
UDP        用户数据报协议
VDSL       超高位速率数字用户线
VPN        虚拟专用网络
WAN        广域网
WWW        万维网
                       本发明的详细说明
本发明提供一种新的有用虚拟专用网络(VPN)机制,以便提供执行加密/解密和鉴权所需的和安全相关的参数。VPN机制适合于以低成本硬件实现,从而使得能够费用低廉地将本发明结合到诸如蜂窝电话机、个人数字助手(PDA)、膝上型计算机之类与因特网或其它广域网连接的便携式电子通信设备中。本发明可和诸如蜂窝电话机和无线连接PDA之类适于连接到因特网的便携式计算设备中,基于硬件或软件的防火墙一起使用。也可用软件或者硬件和软件的组合,实现本发明的VPN机制。
VPN机制包括适于提供实现关于加密/解密和鉴权的安全规范的IPSec组所需参数的安全关联数据库(SAD)和相关电路。数据库中的每个安全关联(SA)入口包括根据IPsec规范接收和传送VPN分组所需的全部参数。注意最初在因特网密钥交换(IKE)过程中协商SA。虽然可用软件实现本发明,不过本发明的VPN机制特别适合于用能够提供大大加速的安全处理的硬件实现。用硬件实现SAD和相关处理使得能够在硬件中进行所有IPSec加密/解密和鉴权处理。注意这适用于其中已建立SA的VPN会话。要指出的是还未建立SA的VPN会话非常少,从而对系统性能的影响可忽略不计。
通过使系统能够选择所需的安全协议,选择要使用的算法,并将提供服务所需的密钥投入使用,IPSec提供IP层的安全服务。IPSec中使用两种协议提供安全性,包括表示成鉴权信头(AH)的鉴权协议和表示成封装安全载荷(ESP)的组合加密/解密协议。安全关联或SA用在AH和ESP机制中。SA被定义成发送者和向其上携带的通信提供安全服务的接收者之间的单向关系。注意对于双向安全交换来说,需要两个SA。
本发胆对输入分组流执行和安全关联(SA)相关的处理。注意输入分组流既可包括入站分组又可包括出站分组。通常,本发明的VPN机制安置在WAN(即因特网)和本地LAN之间。这种情况下,VPN机制发挥作用,既过滤从WAN发送给LAN的入站分组,又过滤从LAN发送给WAN的出站分组。
注意输入流可包括和特定应用相符的任意类型的输入数据,例如帧、分组、字节、PDU等。只是出于举例说明的目的,输入数据流被看作是一系列的分组。
要指出的是VPN机制和举例说明的相关模块只是作为一个例子给出,并不打算限制本发明的范围。在不脱离本发明的范围的情况下,利用这里说明的本发明的原理,本领域的技术人员可用硬件、软件或者硬件和软件的组合构成其它VPN模块,完成与安全性相关的处理和VPN实现。
本发明的VPN机制保持称为安全关联数据库(SAD)的安全参数表,以便保存和单向连接相关的安全参数。对于双向连接,需要产生两个SA。新的安全关联被加入SA数据库中,并且一旦产生,则根据数据库中保存的关于特定SA的参数,处理与该SA相关的后续分组。根据分组和SA参数,分组可能被加密、解密、鉴权或丢弃。注意只有当分组符合在SA数据库中规定的安全性时才许可该分组。
本发明的VPN机制在许多不同类型的系统中有着广泛应用。图1中表示了图解说明在WAN或因特网的环境中,本发明的VPN机制的几种例证应用的方框图。一般来说,和防火墙一起构成并使用VPN机制,以便防止未经许可访问受保护网络,如这里表示的三个例子中每个例子所示。
在第一例子中,VPN机制14和防火墙16一起使用,防火墙16实现于与网络10进行有线或无线通信的个人计算设备12中,网络10可以是WAN或者因特网。个人计算设备可包括任意设备,例如个人数字助手(PDA)(例如手持式掌上机),蜂窝电话机,无线手持机等。本例中,VPN机制和相关防火墙对在WAN/因特网和设备之间流动的分组进行双向安全处理。
在第二例子中,VPN机制20和防火墙22一起使用,从而VPN机制20和防火墙22都实现于与WAN或因特网10进行有线或无线通信的电缆插头适配器18中。设备18通常位于WAN/因特网和宽带调制解调器24之间,宽带调制解调器24连接LAN 26和WAN/因特网。电缆插头适配器中的VPN机制对从WAN/因特网发送给LAN的分组,以及从LAN发送给WAN/因特网的分组进行安全处理。宽带调制解调器适合于调制和解调诸如xDSL(例如ADSL、HDSL、VDSL等)、卫星、陆基RF、微波之类宽带信号。
在第三例子中,VPN机制30和防火墙32一起使用,其中VPN机制30和防火墙32都实现于独立的计算机28上,例如个人计算机(PC)、膝上型计算机等,计算机28与WAN或因特网进行有线或无线通信。包含防火墙的计算机位于WAN/因特网和要保护的LAN 34之间。VPN机制对从WAN/因特网发送给LAN的分组,以及从LAN发送给WAN/因特网的分组进行安全处理。
图2中表示了图解说明包括与本发明的虚拟专用网络机制通信的本地和远程LAN、WAN和拨号用户的例证网络的方框图。该例证网络40包括两个LAN,一个本地LAN 42和一个远程LAN 52。三个计算机A、B和C与该网络连接并相互通信。计算机A、B和C可包括主机、工作站、用户等。VPN网关48和防火墙46位于本地LAN的入口处,VPN网关56和防火墙58同样位于远程LAN的入口处。两个LAN通过WAN/因特网50连接。
用户C也通过适当的装置,例如拨号调制解调器,xDSL调制解调器接入等,与WAN/因特网连接,并且可包括VPN最终用户,在VPN最终用户中,它包含VPN网关或者可以是非VPN连接。
根据本发明,VPN机制适于进行安全处理,包括产生、保存和管理在进行加密、解密、鉴权等情况下,一个或多个安全处理器所需的安全参数。VPN机制既处理从WAN/因特网接收的指定给LAN的入站分组,又处理源于LAN,并指定给WAN/因特网的出站分组。
操作中,从LAN输出的明文被VPN加密,并通过WAN传送。类似地,从WAN入站的密文被VPN解密成明文,并通过LAN转发给接收者。根据本发明,VPN机制适于提供实现IPSec规范所需的安全参数。
本发明包括由多个部件构成的VPN模块,所述多个部件一起发挥作用,从而实现VPN机制。图3中表示了更详细地图解说明本发明的VPN模块的方框图。VPN模块70包括总线接口72、缓存器/寄存器74、安全关联处理器(SAP)75、VPN安全处理器88和分组建立器92。
安全关联处理器包括SA识别模块76、包括CPU接口79的主SA处理模块78、SA管理模块80、散列表82、SA最近最少使用(LRU)电路84和SA数据库86,所有这些都通过总线与VPN安全处理器中的安全引擎和分组建立器通信。
VPN安全处理器包括多个安全引擎90,每个安全引擎90被修改和配置成执行特定的涉及安全的操作。例如,VPN安全处理器包括进行加密、解密、鉴权、DES算法、信头消息鉴权代码(HMAC)等的独立安全引擎。
VPN模块通过总线接口,在总线107上与主设备/CPU 96、信头解码器100、静态过滤器102、动态过滤器104和内容搜索单元106通信。
注意在本文献中,假定VPN模块通常位于WAN和LAN之间,并且既对入站分组又对出站分组执行安全处理。入站分组指的是从WAN接收的去往LAN的分组,出站分组指的是从LAN接收的去往WAN的分组。从而,输入分组流既可包括入站分组,又可包括出站分组。
输入分组流98由主设备/CPU接收,其内容被转发给信头解码器,信头解码器译解(或解析)分组的信头部分。信头解码器抽取由VPN模块使用的关心字段。信头解码器抽取的数据通过总线被转发给其它模块,包括静态过滤器,动态过滤器和VPN模块。该数据包括两个散列值,两个套接字(分别用于动态过滤器和SA处理)和分组的类型,例如ICMP、ARP、TCP、UDP等。用于SA和VPN处理的套接字包括SPI、RIP和协议。用于动态过滤的套接字包括源和目的地IP地址,源和目的地端口和协议。注意取决于实现,信头解码器可构成为外部模块,或者与VPN模块结合。
操作中,VPN模块打开新SA,包括建立与LRU的连接和散列链接列表,确定输入分组对应于哪个SA,在成功处理分组之后更新SA的状态,和从连接表中去除未使用的SA。注意SA数据库被实现和安排成以致能够容易并快速地进行SA识别和指针管理。
主SA处理模块起安全关联处理器的主处理块的作用。它打开新的SA,处理现有SA和跟踪SA的状态。它还包括适合于实现防重放机制的电路,所述防重放机制包括更新入站分组的防重放窗口,递增出站分组的序列号/更新入站分组的序列号,检测序列号溢出。
主SA处理模块还适合于更新与SA相关的状态,包括保持一组标记,序列编号,递减使用期变量,和在处理每个分组之后更新状态寄存器。对于每个接收的分组,主SA处理器循环工作。该循环包括从SA数据库检索SA参数,处理分组,即加密、解密等,和一旦完成处理,就更新SA数据库。注意只有当分组的安全处理不会导致错误并且该分组未被拒绝时,才更新SA数据库。
主SA处理模块还适合于计数按分组在每个SA上传送的字节的数目,并且当SA的使用期溢出时,产生通知。当检测到溢出时,管理器关闭(即删除)该SA。
SA识别模块接收套接字,并在SA数据库中搜索和该套接字匹配的SA。套接字用于识别SA,并且包括安全参数索引(SPI),远程IP(RIP)和安全协议标识符。SPI包括在参考特定SA的IKE过程之后,由CPU产生的32位随机数。在AH和ESP信头中传送SPI,以使接收站能够选择按其处理接收分组的SA。远程IP是SA的目的地端点的IP地址,该SA可以是最终用户或VPN网关或者具有VPN能力的任意设备。安全协议标识符指示SA是AH还是ESP SA。
SA管理模块保持SA数据库。利用最近最少使用(LRU)双重链接表管理SA数据库,并利用散列表访问SA数据库。另外,管理器在入站和出站分组流上将新的SA插入数据库。管理器还使与匹配分组相关的SA the MRU,就请求产生适用于CPU的多个未用SA,在时间方面检查一个或多个SA的使用期,当删除SA时,更新LRU和散列链接表,并通知动态过滤器与该SA相关的会话将被删除。
SA数据库保存套接字和其它SA相关数据,包括SA状态和当前状态,供VPN模块的各个处理模块使用。散列表被用于加速SA的识别。下面更详细地说明这些组件。
                                主SA处理
下面更详细地说明主SA处理。图4A和4B中表示了图解说明本发明的主SA处理器方法的流程图。构成VPN模块和安全关联处理器,以便分三阶段处理分组数据,其中在第一阶段中,从SA数据库读取分组,随后在第二阶段中处理数据,并在第三阶段中,将处理结果写回SA数据库。在处理阶段中,对分组执行一个或多个安全程序,并根据处理跟踪SA状态。
首先检查接收的分组是入站分组还是出站分组(步骤110)。如果是出站分组,则检查动态过滤器是否找到SA(步骤154)。通常,动态过滤器搜索其数据库,寻找具有和接收分组的套接字相符的套接字的会话。对于每个会话,在动态过滤器中的会话数据库中保存有相应的SA。当找到匹配的会话时,读出对应的SA并将其输入SA处理器。在美国专利申请序列号No.09/851768(申请日2001年5月9日)“Dynamic Packet Filter Using Session Tracking”中更详细地说明了动态过滤器的操作,该专利申请同样被转让并作为参考整体包含于此。
如果关于该分组未找到SA(步骤154),则该分组被拒绝(步骤168),因为没有SA,就不能处理该分组,随后更新状态寄存器(步骤146)。这种情况下,CPU打开新的SA,并将相对于该SA的指针保存在动态过滤器中的会话数据库中。随后重新拒绝该分组,但是这次动态过滤器识别出该会话,并将SA传递给SA处理器。
如果找到SA,则从SA数据库检索一个或多个安全参数,分组最大传送单元(MTU)和上标记(upper flag)被传送给VPN安全处理器中的一个或多个安全引擎(步骤156)。MTU代表允许无分段传送的分组的最大大小。
加密/解密(ED)和信头消息鉴权代码(HMAC)是对分组数据执行安全功能的安全引擎的例子。传送给ED安全引擎的数据包括IPSec模式,特定的加密算法(例如DES、3DES等)、CBC或ECB、填充流类型(即0或递增)、3DES中每个DES的类别、加密初始矢量(IV)(只适用于CBC模式)、加密密钥和来自信头解码器的加密/解密指令。
传送给HMAC安全引擎的数据包括IPSec模式、鉴权算法(例如SHA1、MD5等)、鉴权信头大小(即96或160位)和鉴权密钥。
套接字随后被传送给分组建立器,以便装配成分组(步骤158)。传送给PB的数据包括特定的IPSec模式、远程IP(如果实现隧道模式,则是网关IP)、SPI、递增1的序列号和路径MTU。
随后从SA数据库读取序列号和使用期字段(步骤160)。随后检查序列号和使用期(步骤162)。检查序列号是否发生了溢出。序列号溢出可以是硬溢出或软溢出。如果发生硬溢出,则关闭SA(步骤164),拒绝该分组(步骤168),并据此更新状态寄存器(步骤146)。如果发生软溢出,则通过修改下标记中的软序列(SEQ)位,通知CPU,处理继续步骤120。如果没有发生序列号溢出,则控制转到步骤120。
对于使用期,检查是否发生了使用期溢出。注意主SA处理只依据字节检查使用期。SA管理执行依据字节的使用期检查。从使用期的当前值减去接收分组的大小,结果核实溢出。小于0的结果表示溢出。溢出可以是硬溢出或软溢出。如果发生了硬溢出,则关闭SA(步骤164),拒绝该分组(步骤168),并据此更新状态寄存器(步骤146)。如果发生了软溢出,则通过修改下标记中的软使用期(SLT)位通知CPU,处理继续执行步骤S120。如果没有发生使用期溢出,则控制转到步骤120。
如果接收的分组是入站分组(步骤110),对该分组执行安全关联识别(步骤112),如下更详细所述。通过散列SPI、远程IP/网关IP和协议识别SA。识别结果被返回给主SA处理器。如果在识别过程中没有发现任何匹配SA入口,则拒绝该分组(和SA仍然不存在时的情况一样)。如果识别找到匹配SA,则译解该分组。动态过滤器将该分组识别成第一分组,打开新会话并连接该会话和SA。
如果IPSec模式失败(步骤114),则拒绝该分组(步骤152),并更新状态寄存器(步骤146)。如果IPSec模式未失败,则将上标记传递给安全引擎,例如ED、HMAC,和分组建立器(步骤116)。分组建立器装配明文形式的分组,以便通过LAN转发。
传送给ED安全引擎的数据包括IPSec模式、加密算法(例如DES、3DES等)、CBC或ECB、填充流类型、3DES中每个DES的类别、加密密钥和来自信头解码器的加密/解密指令(即是要进行加密还是解密)。
传送给HMAC安全引擎的数据包括IPSec模式、鉴权算法(例如SHA1、MD5等)、鉴权信头和鉴权密钥。
如果任意安全引擎产生错误(例如,如果填充失败,由ED产生错误,或者如果鉴权失败,由HMAC产生错误,等等),则拒绝该分组(步骤114)。
随后执行防重放窗口方法(步骤118),下面更详细地说明。如果接收的序列号超过防重放窗口(ARW),则更新和改变接收的序列号以便调整接收的序列号。
如果SA是AH(步骤120),则AH密钥被传送给鉴权安全引擎(步骤148),控制转到步骤140。SA可以是(1)AH单一SA或者(2)为ESP和AH SA束(bundle)一部分的AH SA。在后一情况下,在首次通过该方法的过程中,指针指向所述束的ESP部分,在第二次通过该方法的过程中,指针指向所述束的AH部分。
如果SA不同于AH SA,则检查分组是否是入站分组(步骤122)以及是否是CBC(步骤124)。如果是,则IV被传递给ED安全引擎(步骤126)。如果分组不是入站分组或者不是CBC,则将ESP密钥传送给ED安全引擎(步骤128)。
如果接收的分组是ESP/AU分组(带有鉴权的ESP)(步骤130),则将AH密钥传送给鉴权安全引擎(步骤148)。如果否,并且分组不是ESP(步骤132),而是入站分组(步骤136),则关于ESP和AH类分组指向AH SA部分(步骤137),控制随后转到步骤118。如果分组是出站分组,则控制转到步骤162。如果接收分组不是ESP/AU分组(步骤130),而是ESP分组(步骤132),出站分组(步骤134)和CBC分组(步骤138),则将加密IV保存在SA数据库中(步骤139)。
如果分组是入站分组(步骤134),则将ARW保存在SA数据库中(步骤140),将更新的序列号保存在SA数据库中(步骤142),更新下标记(步骤144),更新状态寄存器(步骤146)。在状态寄存器更新之后,可出现中断,发信号向CPU或者其它主设备通知主SA处理的完成。
                           安全关联识别
现在详细说明SA识别过程。图5中图解说明确定与输入分组相关的SA的散列技术。每个SA对应于一个独特的套接字。通过比较接收分组的套接字和与保存在SA数据库中的先前打开的SA相关的套接字,识别SA。为了加速SA的识别,使用了散列表,所述散列表保存SA数据库中的SA记录的散列指针,并允许快速查找对应于接收套接字的SA。
新的SA被保存在SA数据库中,VPN模块、SA处理器或者CPU计算关于套接字的散列。散列指针保存在散列表170(图5)中散列结果指向的位置。如果一个以上的SA被保存在该位置,则将该SA添加到链接列表中。注意散列表中的各入口最初被初始化成NULL。
当收到分组时,套接字172被输入散列计算器176,散列计算器176产生并输出散列结果178。散列结果被用作散列表170的索引,散列表170包括分别包含散列指针的多个入口180。散列指针指向SA数据库中的SA 182的链接列表。记录在数据库中的每个SA记录包括前一指针186和后一指针184,从而实现双重链接列表。如果命中套接字,则必须检查链接列表中的每个SA,直到找到与接收分组的套接字的匹配为止。
最好,选择散列函数以便横越散列表产生散列结果的尽可能均匀的展形(Spread)。散列函数可以是任意适当的函数,例如XOR函数或CRC。和简单的XOR散列函数相比,在一个实施例中,通过使用随机矢量174,根据下述等式计算散列结果,可提高性能。
SOCK 1 SOCK 2 SOCK 3 · · · SOCK N 1 × N ⊗ RV 1 RV 2 RV 3 · · · RV N RV 2 RV 3 RV 4 · · · RV N - 1 RV 3 RV 4 RV 5 · · · RV N - 2 · · · · · · · · · · · · · · · RV R RV R + 1 RV R + 2 · · · RV R + N - 1 N × R = OUT 1 OUT 2 OUT 3 · · · O UT R 1 × R - - - - ( 1 )
其中运算符被如下定义
OUTi=(RVi1 AND SOCK1)(RVi2 AND SOCK2)...(RViN AND SOCKN)    (2)
OUTi  代表输出矩阵的第i个字节;
SOCKk 代表输入矩阵的第k个字节;
RVik  代表随机矢量矩阵的i,j字节;
表示XOR函数;
从而利用随机矢量和输入套接字数据产生输入套接字数据1
图6中表示了图解说明本发明的SA识别过程的散列方法的流程图。第一步是从信头解码器获得接收分组的散列指针(通常由信头解码器提供),套接字和序列号(步骤190)。散列值由散列计算器176产生。另一方面,信头解码器或其它实体可计算散列指针。查寻散列表,从散列表读取散列指针(步骤191)。如果散列指针等于NULL(步骤192),则拒绝该分组。
如果散列指针不是NULL,则使用散列指针读取和散列指针相关的链接列表中的第一SA和对应于该SA的套接字(步骤194)。将该SA的套接字和接收分组中的套接字进行比较(步骤196)。如果套接字匹配(步骤197),则发现SA匹配(步骤202),并向主SA过程报告。如果套接字不匹配(步骤197),从链接列表读取下一散列指针(步骤198),该方法从步骤192开始重复,直到最后的散列指针指向NULL或者发现SA匹配为止。
注意即使在链接列表中只保存一个SA的情况下,也总是对套接字进行完全比较。另外注意本发明的范围不受哪个实体更新和保持链接列表(即或者SA处理器或者CPU更新和保持链接列表)限制。散列表的深度可以是任意所需值。但是通常根据同时要保持的SA的数目设置深度。散列入口的数目最好是SA数目的一倍或两倍,因为完全套接字比较费时,副本过多是不可取的。
                        安全关联数据库
现在更详细地说明SA数据库86(图3)。如前所述,SA数据库保存多个安全关联性的涉及安全性的数据。SA数据库的大小可根据实现和系统要求而变化。下表1中列举了构成数据库的每个记录的字段。
                        表1:SA数据库记录字段
字段号      字段说明                       长度(位)
1            上标记                          16
2            路径MTU                         16
3            远程IP地址/网关地址             32
4            安全参数索引(SPI)               32
5      下一SA束指针                      16
6      前一SA束指针                      16
7      下一散列指针                      16
8      前一散列指针                      16
9      下一LRU指针                       16
10     前一LRU指针                       16
11     下标记                            16
12     最后匹配会话指针                  16
13     序列号                            32
14     防重放窗口(127:0)                 128
15     加密初始值(63:0)                  64
16     加密密钥(191:0)                   192
17     鉴权密钥/散列密钥输入(159:0)      160
18     散列密钥输出(159:0)               160
19     软/硬使用期                       32
字段1和11分别保存上标记和下标记,上下标记包含后面更详细说明的多个状态位。路径MTU保存在字段2中,代表关于包括所有信头的分组允许的最大大小。字段3中的远程IP/网关IP地址和字段4中的SPI构成SA套接字及安全协议标识符。下一SA指针和前一SA指针(字段5和6)用于构成均与相同的安全策略数据库(SPD)相关的SA的双重链接列表。字段7和8保存前面说明的散列链接列表内的下一和前一散列指针。在分组的SA识别过程中,使用散列链接列表。字段9和10保存LRU链接列表中的下一和前一LRU指针,用于按照陈旧性对SA排序。下面更详细地说明LRU链接列表操作。
相对于具有该SA的最后打开的会话的指针保存在字段12中。该SA的当前序列号保存在字段13中。字段14保存在ARW机制中用于拒绝重放分组的128位防重放窗口。字段15保存64位加密初始值(IV),字段16保存192位的加密密钥,字段17保存160位的鉴权密钥/散列密钥输入(HKI)。字段18保存160位散列密钥输出(HKO)值。字段19保存SA的软/硬使用期,它被用于确定何时关闭特定SA。
HKI和HKO是在鉴权过程中产生的中间结果。它们都保存在该表中,以便当收到后续分组时节省处理时间。HKI和HKO都由鉴权密钥和预定填充值的散列计算得到。HKI值保存在SA数据库中鉴权密钥的位置,因为一旦计算得到HKI值,就不再需要初始密钥。另一方面,鉴权密钥、HKI和HKO值可单独保存在数据库中。SA数据库从HMAC安全引擎接接收收首次使用SA时的HKI和HKO值。
如上所述,SA数据库包括上标记和下标记,用于相对于CPU传送状态信息。上标记状态包括如下表2中所示的多个位。
                       表2:上标记位
标记    定义      大小      值           描述
                            0000  无VPN
                            0001  传送AH
                            0010  隧道AH
                            0011  传送ESP
                            0100  隧道ESP
                            0101  传送ESP/AU
IPM IPSed模式4位            0110  隧道ESP/AU
                            0111  传送ESP传送AH
                            1000  隧道ESP传送AH
                            1001  传送ESP空(仅AU)
                            1010  隧道ESP空(仅AU)
                            1011  鉴权产生/检查
                            1100  加密/解密
                            1101  加密/解密+鉴权
DET  DES类型  1位           0     DES
                            1     3DES
DEM  DES模式  1位           0     ECB
                            1     CBC
PAM  PAD模式   1位          0      填充0的ESP
                            1      填充递增值的ESP
                            000    EEE
                            001    EED
                            010    EDE
3DE  3DES类别  3位          011    EDD
                            100    DEE
                            101    DED
                            110    DDE
                            111    DDD
AHT  AH类型    1位          0      MD5
                            1      SHA1
KEY密钥的首次使用1位        0      这是同一密钥
                            1      该密钥的首次使用-产生HKI和HKO
AHS  AH大小    1位          0      AH大小为96
                            1      AH大小为160
AH  AH或ESP    1位          0      该SA是ESP
                            1      该SA是AH
DIR  目录      1位          0      出站分组的SA
                            1      入站分组的SA
EMP  空        1位          0      该SA被使用(SA有效)
                            1      该SA为空(SA无效)
所有上标记由CPU设置并由SA处理器读取。EMP标记也可由SA处理器设置。当SA为空,即无效时,SA处理器将该位设置为1。当SA有效时,CPU将该位设置成0。IPM位指示具体的IPSec模式,即ESP、ESP/AU、仅AU、传送、隧道等。可选的是,最后三种IPSec模式可用于实现辅助安全标准,例如安全套接字层(SSL),从而对某一文件加密等。在这些模式中,单独使用VPN引擎,而不具有分组建立功能。从而,VPN引擎起软件加速器的作用,软件加速器实现DES/3DES加密/解密引擎模式(IPM=1100),SHA-1/MD-5鉴权引擎模式(IPM=1011)或者加密和鉴权引擎模式(IPM=1101)。
DET位指示DES的类型或者为DES或者为3DES。DEM位指示DES模式或者为ECB或者为CBC。PAM位指示填充0的ESP或填充递增值的ESP。3DE位指示特定的3DES类别。AHT位指示AH鉴权的类型或者为MD5或者为SHA1。AHS位指示AH的大小或者为96位或者为160位,AH位指示SA或者为ESP或者为AH,DIR位指示SA是用于出站分组还是用于入站分组。
SA数据库还包括下标记状态寄存器,用于相对于CPU传送状态信息。下标记状态信息包括下表3中所示的多个位。
                         表3:下标记位
标记     定义      大小         值          描述
                                00        禁止防重放
                                01        防重放窗口=32
ARW ARW大小        2位          10        防重放窗口=64
                                11        防重放窗口=128
HSH HSAH中的第一个 1位          0         这不是本HASH入口中的第一SA
                                1         这是本HASH入口中的第一SA
HLD保持            1位          0
                                1         不删除本会话
MAN手动键入        1位          0         无关于该SA的手动键入
                                1         关于该SA的手动键入
SAL  SA使用期模式  1位          0         以秒测量SA使用期
                                1         以64字节为单位测量SA使用期
SOH  软或硬使用期  1位          0         该SA中的使用期为软使用期
                                1         该SA中的使用期为硬使用期
SLT软使用期        1位          0
                                1         SA使用期达到软溢出
SEQ软序列          1位          0
                     1      SA序列达到软溢出
ARW位位指示防重放窗口的大小(如果存在防重放窗口)。HLD位指示不删除特定的SA。该标记使SA入口免被SA处理器硬件删除。MAN位指示是否存在关于SA的手动键入。如果配置了手动键入,则当达到0xFFFFFFFF时,序列翻转,因为手动键入不允许被SA处理器删除。SAL位指示是用时间还是用数据,即用秒还是64字节单位测量SA使用期。SOH位指示使用期是软使用期还是硬使用期。SLT位指示在软使用期内是否发生了软溢出。SEQ位指示在SA序列中发生了软溢出。注意ARW、HLD、MAN、SAL和SOH标记由CPU设置并由SA处理器读取。SLT和SEQ标记由SA处理器设置并由CPU读取。除非设置了HLD或MAN标记,否则当序列溢出时(0xFFFFFFFF),删除该SA。
                           防重放窗口机制
根据本发明,主SA处理适合于实现防重放机制,从而拒绝重放分组。防重放窗口机制跟踪分组中的序列号,并拒绝其序列号小于许可的最小序列号的分组。图7中表示了图解说明检查过程中,由主SA处理器执行的防重放窗口机制。
x轴代表SA序列号,最小序列号为0x00000000,最大序列号为0xFFFFFFFF。产生一个窗口,称为代表许可序列号的防重放窗口(ARW)(段212)。其序列号低于该窗口的接收分组被拒绝(段210)。另外,每个序列号只允许一个分组。从而,ARW包括落入其内的每个序列号的一位。当收到分组时,设置相应的序列号位。其序列号位已被设置的接收分组被拒绝。
图8中表示了图解说明本发明的防重放窗口方法的流程图。首先从接收的分组读取序列号(步骤280)。从SA数据库检索防重放窗口的当前位置(步骤282)。如果序列号在窗口内(步骤284),则检查是否已收到具有该序列号的分组(步骤286)。如果是,则拒绝该分组(步骤290)。如果否,则ARW机制允许该分组。
如果接收分组中的序列号在窗口之外(步骤284),则检查它是低于还是高于ARW(步骤288)。如果低于窗口,则拒绝该分组。如果高于窗口,则许可该分组,并将ARW向上调节到新的序列号,即向右移动。
               1      SA管理模块
根据本发明,SA管理模块保持双重链接列表,双重链接列表按照最近最少使用顺序保存SA。SA管理模块实现与SA数据库的保持和控制相关的几种功能。SA管理模块根据来自CPU的命令,检查SA数据库中SA的SA入口(即使用期)的有效性。当收到检查使用期的命令时,检查SA数据库中每个记录的使用期字段。向CPU报告软使用期溢出,在硬使用期溢出的情况下,删除相应的SA。对SA进行使用期检查,以便清洗已变得陈旧和由于某一原因未正常关闭的SA。例如,如果某一SA对应于违反了安全规则的分组,则该SA可能变得陈旧。
当SA被删除时,SA管理模块通过保持LRU和散列指针关系,保持和更新SA束,并通知动态过滤器模块应关闭哪个对应会话,以便确保使用该SA的会话将被关闭。
SA管理模块还应请求向CPU提供未使用的(即空的并且可用的)SA。操作中,CPU请求一个或多个新的SA,SA管理模块搜索并将一个或多个索引返回给CPU。通过断开最近最少使用的SA束(即传送方向和接收方向的SA)和所有相关连接会话,从LRU列表获得SA。类似地,SA管理模块还断开不再使用的SA。SA管理模块还打开新的SA,其中散列表和SA数据库中的LRU指针和散列指针被更新。
图9中图解说明了用于跟踪SA使用的最近最少使用(LRU)链接列表结构。当打开SA时,通过CPU将安全性关联入口输入SA数据库中。CPU向SA管理模块请求SA索引。下一SA束指针和前一SA束指针被用于连接彼此相关的SA。为了将SA插入数据库中,使用前导SA的索引将新SA插入LRU中。另外,CPU计算新SA的套接字的散列值,并将其写入寄存器中标记其散列值。
注意在这里给出的例证实施例中,主机或外部CPU在IKE过程中配置SA的涉及安全性的参数,例如密钥分配、HMAC的长度、填充等。SA管理模块依据CPU或主机的命令实现SA的实际插入。
每次认出(即存取)某一SA,并且对应分组不被SA处理器拒绝时,该SA被置于LRU链接列表的尾部,代表最近最多使用的SA。双重链接列表220包括多个SA 226,每个SA 226具有下一指针222和前一指针224。tail_LRU_index_reg寄存器228的内容指向位于LRU链接列表尾部的SA。该寄存器指向的SA代表最近最多使用的SA。位于LRU链接列表头部的SA由head_LRU_index_reg寄存器227的内容指向。
在SA数据库充满的情况下,LRU链接列表被用于确定当加入新SA时,要删除哪个SA。这种情况下,关闭最近最少使用的SA,该空间用于保存新SA。
图10中表示了图解说明当认出与输入分组相关的SA时,更新LRU链接列表的方法的流程图。每次存取匹配SA并且许可相应分组时,执行该更新方法。参见图9,尤其是标记为前一SA、匹配SA和下一SA的SA,匹配SA从其在列表中的位置移动到尾部,从而变成最近最多使用的SA。通过(1)将前一SA的下一LRU指针设置成匹配SA的下一LRU指针,和(2)将下一SA的前一LRU指针设置成匹配SA的前一LRU指针,删除匹配SA(步骤230)。
随后通过(1)将匹配SA的下一LRU指针设置成NULL,(2)将匹配SA的前一LRU指针设置成tail_LRU_index_reg寄存器的内容,和(3)将tail_LRU_index_reg寄存器设置成匹配SA的索引,使匹配SA成为最近最多使用的SA(步骤232)。
图11中表示了图解说明本发明的SA管理模块的处理的流程图。SA管理处理开始于等待步骤241,并根据事件转移到下一步骤。就来自CPU的‘获得未使用SA’指令来说,取出最近最少使用SA的状态(步骤242)。如果该SA在使用(步骤246),则关闭该SA和所有相关的连接会话(步骤244)。如果该SA未使用,则将head_LRU_index_reg设置成最近最少使用SA的下一LRU指针,并将下一(前一LRU指针)设置成NULL(步骤248)。随后将删除的SA的下一和前一LRU指针设置成NULL,从而从LRU链接列表中删除最近最少使用的SA(步骤250)。unused_sa变量被设置成刚刚断开的SA,通知CPU的标记因此被设置成‘1’(步骤252)。该该过程随后返回等待状态(步骤254)。
来自CPU的‘检查使用期’命令使SA管理器开支检查所有现用SA的使用期。递增index_counter(步骤260),取出SA的状态(即index_counter)(步骤262)。如果该SA目前正在使用(步骤264),从SA数据库取出SA使用期(步骤372)。如果使用期已溢出(用时间或字节数测量)(即SA已到期)(步骤272),则关闭该SA和所有相关的连接会话(步骤274)。
如果该SA未被使用或者如果该SA还未到期,则检查index_counter是否小于最后索引(步骤266)。如果是,则递增index_counter(步骤268),该方法继续执行步骤262。如果否,则通过主SA处理模块通知CPU使用期检查结束(步骤258),该方法返回等待状态(步骤254)。
图12中表示了图解说明本发明的SA管理模块执行的打开SA的处理的流程图。当SA被打开时,该SA被置于LRU链接列表的尾部(步骤330)。该SA还被置于散列链接列表中的适当位置(步骤332)。该方法随后返回等待状态(步骤334)。
图13中表示了图解说明本发明的SA管理模块执行的关闭SA的处理的流程图。如果SA可关闭或者发生了序列号溢出(步骤340),则在不修改LRU指针的情况下清除该SA(步骤342)。随后关闭与该SA相关的所有会话(步骤344)。该方法随后返回等待状态(步骤359)。
如果该SA不能被关闭以及没有发生序列号溢出(步骤340),并且关闭请求起源于使用期检查(步骤346),则不关闭该SA(步骤358),该方法返回等待状态(步骤359)。如果关闭请求不是起源于使用期检查,则取出最近最少使用列表指向的下一SA状态(步骤348)。如果该SA不能被关闭(步骤350),该方法继续执行步骤348,重复该过程,直到找到能够被关闭的SA为止。如果找到能够被关闭的SA,则将该SA配置成LRU(步骤352)。随后除了LRU指针之外,清除该SA(步骤354),清除与该SA相关的所有会话,该方法返回等待状态(步骤359)。
如上所述,SA管理模块还将指向关于该SA使用的最后打开会话的指针保持在SA数据库中。图14中表示了与每个SA记录相关的最后打开会话指针。每个SA入口可包括指向不同的最后打开会话的指针。每打开一个会话时,更新该指针。注意最后打开会话总是位于相关会话列表的头部。
动态过滤器中的会话数据库适合于保存数个指针,包括LRU指针、散列指针、族指针和SA指针。SA指针指向该会话使用的SA。图15中表示了与每个会话记录相关的前一会话指针、下一会话指针和匹配SA指针。会话数据库中的会话记录包括将用于该会话的匹配SA的指针和使用相同SA的会话的前一和下一族指针。当SA被关闭时,并且要关闭与该SA相关的所有会话时,使用会话入口中的下一和前一指针。SA入口中的最后打开指针被用于指向使用该SA的一个或多个会话的列表。当该SA被关闭时,还必须关闭相关会话。注意当SA被关闭时,传送和接收SA被删除,所有连接会话也被删除,除非它们是某一族的一部分。这种情况下,它们被标记成要删除的候选者(即设置会话数据库标记中的PSV位)。
图16中表示了单一会话和单一SA记录之间的例证关系。本例中,只有一个会话入口使用该SA。前一和下一指针从而指向NULL。SA入口包含该SA的最后打开会话的指针。
图17中表示了多个会话和单一SA记录之间的例证关系。本例中,三个会话使用相同的SA。从而,所有三个会话的匹配SA指针指向相同SA。每个会话的下一和前一指针被配置成形成包括这三个会话的双重链接列表。链接列表逻辑连接使用相同SA的会话。该SA入口包括该SA的最后打开会话的指针,该指针指向链接列表头部。
                       计算机实施例
在另一实施例中,计算机执行适于实现本发明的VPN机制或其任意部分(例如安全关联处理器)的软件。图18中表示了图解说明适于实现本发明的VPN机制的例证计算机处理系统-平台的方框图。该系统可包含在诸如PDA、蜂窝电话机、电缆调制解调器、宽带调制解调器、膝上型计算机、PC、网络传输或交换设备、网络设备之类通信设备,或者任意其它有线或无线通信设备中。可利用硬件和/或软件的任意组合构成该设备。
计算机系统300包括处理器304,处理器304可被实现成微控制器、微处理器、微计算机、ASIC核心、FPGA核心、中央处理器(CPU)或者数字信号处理器(DSP)。系统还包括均与处理器通信的静态只读存储器(ROM)302和动态主存储器(例如RAM)308。处理器还通过总线326与也包含在计算机系统中的许多外围设备通信。
该设备通过WAN接口316与诸如因特网之类WAN 318连接。另一方面,网络318可包括基于光学以太网的MAN或者其它类型的MAN,取决于位置。接口包括相对于一个或多个WAN通信通道的有线和/或无线接口。通信I/O处理314在WAN接口和处理器之间传送数据。计算机系统还通过适合于处理正被使用的特定网络协议,例如铜线或光纤以太网、令牌环等各种协议之一的网络接口卡(NIC)310连接LAN 312。操作中,计算机系统如前所述动态过滤从WAN到LAN的入站分组和从LAN到WAN的出站分组。
可选的用户接口320响应用户输入,并提供反馈和其它状态信息。主机接口322连接主计算设备324和系统。主机适于配置、控制和维持系统的操作。系统还可包括保存应用程序和数据的磁存储设备306。系统包括计算机可读存储介质,计算机可读存储介质可包括任意适当的存储装置,包括(但不限于)磁性存储装置、光学存储装置、CD-ROM驱动器、ZIP驱动器、DVD驱动器、DAT磁带、半导体易失性或非易失性存储器、生物存储装置、或者其它任意存储装置。
实现本发明的VPN机制的功能或其任意部分,例如安全性关联处理器的软件适合于驻留在计算机可读介质上,例如磁盘驱动器内的磁盘或者任意其它易失性或非易失性存储器。另一方面,计算机可读介质可包括软盘、快速存储卡、EPROM、EEROM、EEPROM存储器,磁泡存储器、ROM存储器等。适于实现本发明的VPN机制或其任意部分,例如安全性关联处理器的软件还可整体或部分地驻留于计算机系统的处理器内的静态或动态主存储器或者固件内(即在微控制器、微处理器、微计算机、DSP等的内部存储器内)。
在备选实施例中,本发明的方法适于用集成电路、现场可编程门阵列(FPGA)、芯片集或专用集成电路(ASIC)、DSP电路、无线实现和其它通信系统产品实现本发明。
附加的权利要求意图覆盖落入本发明精神和范围内的本发明的所有特征和优点。由于本领域的技术人员易于想到各种修改和变化,因此本发明并不局限于这里描述的有限实施例。因此,可采用落入本发明精神和范围内的所有适当变化、修改和等同物。

Claims (78)

1、一种安全性关联处理器电路,包括:
存储多个用于安全性关联的安全数据的安全性关联数据库,每个入口包括和唯一套接字对应的安全性关联数据;
当收到未在所述安全性关联数据库中找到的套接字时,打开新的安全性关联的装置;
根据分组的套接字,搜索和识别与之相关的安全性关联的装置;
从所述安全性关联数据库检索多个安全参数的装置;和
将所述多个安全参数转发给虚拟专用网络(VPN)安全处理器,以便以此执行一个或多个安全处理的装置。
2、按照权利要求1所述的电路,还包括根据所述安全处理的结果,更新所述安全性关联数据库的内容的装置。
3、按照权利要求1所述的电路,其中与所述安全性关联相关的参数由位于所述电路之外的实体配置,
其中所述电路包括将对应于所述安全性关联数据库中的所述新的安全性关联的安全数据,以及根据与所述新安全性关联相关的套接字所计算的散列值,保存在所述安全性关联数据库中的装置。
4、按照权利要求1所述的电路,其中所述安全性关联由位于所述电路之外的实体打开,
其中所述电路包括将所述新安全性关联的指针插入最近最少使用(LRU)链接列表中的装置。
5、按照权利要求1所述的电路,还包括从所述安全性关联数据库中去除未使用的安全性关联的装置。
6、按照权利要求1所述的电路,还包括当超过最大超时时,从所述安全性关联数据库中去除未使用的安全性关联的装置。
7、按照权利要求1所述的电路,还包括当超过最大字节计数时,从所述安全性关联数据库中去除未使用的安全性关联的装置。
8、按照权利要求1所述的电路,其中所述搜索和识别安全性关联的装置包括:
根据与将被识别的安全性关联相关的套接字来计算散列值的装置;
利用散列结果作为索引,在散列表中查寻散列指针的装置;
根据所述散列指针,从所述安全性关联数据库检索数据的装置;
如果所检索的数据和与分组相关的套接字相符,则识别所述安全性关联的装置。
9、按照权利要求1所述的电路,其中所述VPN安全处理器包括进行加密的装置。
10、按照权利要求1所述的电路,其中所述VPN安全处理器包括进行解密的装置。
11、按照权利要求1所述的电路,其中所述VPN安全处理器包括进行鉴权的装置。
12、按照权利要求1所述的电路,其中所述VPN安全处理器包括执行IPSec规定服务的装置。
13、按照权利要求1所述的电路,还包括对入站分组应用防重放机制的装置。
14、按照权利要求1所述的电路,还包括跟踪入站分组的序列号的装置。
15、按照权利要求1所述的电路,还包括建立并保持具有头部和尾部的最近最少使用(LRU)双重链接列表的装置,
其中最近最多使用的安全性关联保存在尾部,最近最少使用的安全性关联保存在头部。
16、按照权利要求15所述的电路,其中在所述LRU列表充满的情况下,删除位于头部的安全性关联,将新的安全性关联加在尾部。
17、按照权利要求1所述的电路,其中所述套接字包括安全参数索引(SPI)、远程IP和协议组件。
18、按照权利要求1所述的电路,其中所述安全性关联数据包括下述值任意之一或者它们的组合:IPSec模式、加密算法、加密密钥。
19、按照权利要求1所述的电路,其中所述安全性关联数据包括下述值任意之一或者它们的组合:IPSec模式、鉴权算法、鉴权密钥。
20、按照权利要求1所述的电路,还包括如果从所述VPN安全处理器收到误码,则拒绝所述分组的装置。
21、按照权利要求1所述的电路,其中利用专用集成电路(ASIC)实现所述电路。
22、按照权利要求1所述的电路,其中利用现场可编程门阵列(FPGA)实现所述电路。
23、按照权利要求1所述的电路,其中利用数字信号处理器(DSP)实现所述电路。
24、一种虚拟专用网络(VPN)电路,包括:
保存多个用于安全性关联的安全数据的安全性关联数据库装置,每个入口包括和唯一套接字对应的安全性关联数据;
多个安全引擎,每个安全引擎用于执行安全处理;
当收到未在所述安全性关联数据库装置中找到的套接字时,打开新的安全性关联的装置;
根据输入分组的套接字,搜索和识别与之相关的安全性关联的装置;
从所述安全性关联数据库装置检索多个安全参数的装置;
将所述多个安全参数转发给至少一个所述安全引擎,以便以此执行安全处理的装置;和
利用所述输入分组和所述安全处理的结果,根据特定的安全模式构建输出分组的分组建立装置。
25、按照权利要求24所述的电路,其中至少一个所述安全引擎用于实现IPSec隧道模式服务。
26、按照权利要求24所述的电路,其中至少一个所述安全引擎用于实现IPSec传送模式服务。
27、按照权利要求24所述的电路,其中至少一个所述安全引擎用于进行加密。
28、按照权利要求24所述的电路,其中至少一个所述安全引擎用于进行鉴权。
29、按照权利要求24所述的电路,其中至少一个所述安全引擎用于进行一种或多种IPSec服务。
30、按照权利要求24所述的电路,其中利用专用集成电路(ASIC)实现所述电路。
31、按照权利要求24所述的电路,其中利用现场可编程门阵列(FPGA)实现所述电路。
32、按照权利要求24所述的电路,其中利用数字信号处理器(DSP)实现所述电路。
33、一种便携式计算设备,包括:
用于连接所述设备和通信网络的通信装置;
包括易失性和非易失性存储器的存储器装置,所述非易失性存储器用于保存程序代码;
与所述存储器装置和所述通信装置耦接、执行所述程序代码的处理器;和
虚拟专用网络(VPN)电路,所述虚拟专用网络(VPN)电路包括:
保存多个用于安全性关联的安全数据的安全性关联数据库装置,每个入口包括和唯一套接字对应的安全性关联数据;
多个安全引擎,每个安全引擎用于执行安全处理;
当收到未在所述安全性关联数据库装置中找到的套接字时,打开新的安全性关联的装置;
根据输入分组的套接字,搜索和识别与之相关的安全性关联的装置;
从所述安全性关联数据库装置检索多个安全参数的装置;
将所述多个安全参数转发给至少一个所述安全引擎,以便以此执行安全处理的装置;和
用于利用所述输入分组和所述安全处理的结果,根据特定的安全模式构建输出分组的分组建立装置。
34、按照权利要求33所述的设备,其中所述通信网络包括广域网(WAN)。
35、按照权利要求33所述的设备,其中所述通信网络包括局域网(LNA)。
36、按照权利要求33所述的设备,其中所述通信网络包括因特网。
37、按照权利要求33所述的设备,其中所述通信网络包括公共交换电话网(PSTN)。
38、按照权利要求33所述的设备,其中至少一个所述安全引擎用于进行加密。
39、按照权利要求33所述的设备,其中至少一个所述安全引擎用于进行解密。
40、按照权利要求33所述的设备,其中至少一个所述安全引擎用于进行鉴权。
41、按照权利要求33所述的设备,其中至少一个所述安全引擎用于执行IPSec服务。
42、按照权利要求33所述的设备,其中利用专用集成电路(ASIC)实现所述VPN电路。
43、按照权利要求33所述的设备,其中利用现场可编程门阵列(FPGA)实现所述VPN电路。
44、按照权利要求33所述的设备,其中利用数字信号处理器(DSP)实现所述VPN电路。
45、一种安全性关联处理器电路,包括:
保存多个用于安全性关联的安全数据的安全性关联数据库,每个入口包括和唯一套接字对应的安全性关联数据;
当收到未在所述安全性关联数据库中找到的套接字时,用于打开新的安全性关联的管理单元;
用于根据输入分组的套接字,搜索和识别与之相关的安全性关联的识别单元;
用于从所述安全性关联数据库检索多个安全参数,并将它们转发给虚拟专用网络(VPN)安全处理器,以便以此执行一个或多个安全处理的主处理器单元;和
包含散列函数和相关散列表、用于搜索所保存的安全性关联的散列单元。
46、按照权利要求45所述的电路,还包括最近最少使用(LRU)链接列表,用于提供保存在所述安全性关联数据库中的所述安全性关联的使用频率的列表。
47、按照权利要求45所述的电路,还包括用于利用所述输入分组和所述一个或多个安全处理的结果,根据特定的安全模式来构建输出分组的分组建立器。
48、按照权利要求45所述的电路,其中所述VPN安全处理器包括进行加密的装置。
49、按照权利要求45所述的电路,其中所述VPN安全处理器包括进行解密的装置。
50、按照权利要求45所述的电路,其中所述VPN安全处理器包括进行鉴权的装置。
51、按照权利要求45所述的电路,其中所述VPN安全处理器包括实现IPSec服务的装置。
52、按照权利要求45所述的电路,其中利用专用集成电路(ASIC)实现所述电路。
53、按照权利要求45所述的电路,其中利用现场可编程门阵列(FPGA)实现所述电路。
54、按照权利要求45所述的电路,其中利用数字信号处理器(DSP)实现所述电路。
55、一种安全性关联的方法,所述方法包括下述步骤:
建立用于保存多个安全性关联的安全数据的安全性关联数据库,所述安全性关联数据库内的每个入口对应于一个套接字;
当收到未在所述安全性关联数据库中找到的套接字时,打开新的安全性关联;
根据分组的套接字,搜索和识别与之相关的安全性关联;
从所述安全性关联数据库检索多个安全参数;和
将所述多个安全参数转发给虚拟专用网络(VPN)安全处理器,以便以此执行一个或多个安全处理。
56、按照权利要求55所述的方法,还包括根据所述安全处理的结果,更新所述安全性关联数据库的内容的步骤。
57、按照权利要求55所述的方法,其中打开新的安全性关联的所述步骤包括:
将对应于所述新安全性关联的安全数据保存在所述安全性关联数据库中;
根据与所述新的安全性关联相关的套接字来计算散列值;和
将所述散列值保存在散列表中。
58、按照权利要求55所述的方法,其中所述打开新的安全性关联的步骤包括将所述新安全性关联的指针插入最近最少使用(LRU)链接列表中。
59、按照权利要求55所述的方法,还包括从所述安全性关联数据库去除未使用的安全性关联的步骤。
60、按照权利要求55所述的方法,还包括当超过最大超时时,从所述安全性关联数据库去除未使用的安全性关联的步骤。
61、按照权利要求55所述的方法,还包括当超过最大字节计数时,从所述安全性关联数据库去除未使用的安全性关联的步骤。
62、按照权利要求55所述的方法,其中所述搜索并识别安全性关联的步骤包括下述步骤:
根据与将被识别的安全性关联相关的套接字来计算散列值;
利用散列结果作为索引,在散列表中查寻散列指针;
根据所述散列指针,从所述安全性关联数据库中检索数据;
如果所检索的数据和与分组相关的套接字相符,则识别所述安全性关联。
63、按照权利要求55所述的方法,其中所述VPN安全处理器用于进行加密。
64、按照权利要求55所述的方法,其中所述VPN安全处理器用于进行解密。
65、按照权利要求55所述的方法,其中所述VPN安全处理器用于进行鉴权。
66、按照权利要求55所述的方法,其中所述VPN安全处理器用于执行IPSec规定服务。
67、按照权利要求55所述的方法,还包括对从远程网络接收的分组应用防重放机制的步骤。
68、按照权利要求55所述的方法,还包括跟踪从远程网络接收的分组的序列号的步骤。
69、按照权利要求55所述的方法,还包括建立并保持具有头部和尾部的最近最少使用(LRU)双重链接列表的步骤,其中最近最多使用的安全性关联保存在尾部,最近最少使用的安全性关联保存在头部。
70、按照权利要求69所述的方法,其中在所述LRU列表充满的情况下,删除位于头部的安全性关联,将新的安全性关联加在尾部。
71、按照权利要求55所述的方法,其中所述套接字包括安全参数索引(SPI)、远程IP和协议组件。
72、按照权利要求55所述的方法,其中所述安全性关联数据包括下述值任意之一或者它们的组合:IPSec模式、加密算法、加密密钥。
73、按照权利要求55所述的方法,其中所述安全性关联数据包括下述值任意之一或者它们的组合:IPSec模式、鉴权算法、鉴权密钥。
74、按照权利要求55所述的方法,还包括如果从所述VPN安全处理器收到误码,则拒绝所述分组的步骤。
75、按照权利要求55所述的方法,其中利用专用集成电路(ASIC)实现所述方法。
76、按照权利要求55所述的方法,其中利用现场可编程门阵列(FPGA)实现所述方法。
77、按照权利要求55所述的方法,其中利用数字信号处理器(DSP)实现所述方法。
78、一种计算机可读存储介质,具有包含于其中的计算机可读程序代码单元,当在所述计算机上执行这种程序时,使适当编程的计算机实现安全关联性机制,所述计算机可读存储介质包括:
使所述计算机建立用于保存多个安全性关联的安全数据的安全性关联数据库的计算机可读程序代码单元,所述安全性关联数据库内的每个入口包括对应于唯一套接字的安全性关联数据;
当收到未在所述安全性关联数据库中找到的套接字时,使计算机打开新的安全性关联的计算机可读程序代码单元;
使所述计算机根据分组的套接字,搜索和识别与之相关的安全性关联的计算机可读程序代码单元;
使所述计算机从所述安全性关联数据库检索多个安全参数的计算机可读程序代码单元;和
使所述计算机将所述多个安全参数转发给虚拟专用网络(VPN)安全处理器,以便以此执行一个或多个安全处理的计算机可读程序代码单元。
CNB028155106A 2001-07-10 2002-07-10 安全性关联的方法和便携式计算设备 Expired - Fee Related CN100479451C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/902,770 US7107464B2 (en) 2001-07-10 2001-07-10 Virtual private network mechanism incorporating security association processor
US09/902,770 2001-07-10

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2009100081830A Division CN101494649B (zh) 2001-07-10 2002-07-10 包含安全性关联处理器的虚拟专用网络机制

Publications (2)

Publication Number Publication Date
CN1600011A true CN1600011A (zh) 2005-03-23
CN100479451C CN100479451C (zh) 2009-04-15

Family

ID=25416373

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2009100081830A Expired - Fee Related CN101494649B (zh) 2001-07-10 2002-07-10 包含安全性关联处理器的虚拟专用网络机制
CNB028155106A Expired - Fee Related CN100479451C (zh) 2001-07-10 2002-07-10 安全性关联的方法和便携式计算设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2009100081830A Expired - Fee Related CN101494649B (zh) 2001-07-10 2002-07-10 包含安全性关联处理器的虚拟专用网络机制

Country Status (8)

Country Link
US (1) US7107464B2 (zh)
EP (1) EP1405452B1 (zh)
JP (1) JP4344609B2 (zh)
CN (2) CN101494649B (zh)
AU (1) AU2002319557A1 (zh)
BR (1) BRPI0205727B1 (zh)
CA (1) CA2452052C (zh)
WO (1) WO2003007524A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534153A (zh) * 2016-11-30 2017-03-22 广东科达洁能股份有限公司 基于互联网建立桥接专线系统

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751647B1 (en) 2001-06-30 2014-06-10 Extreme Networks Method and apparatus for network login authorization
US7856660B2 (en) * 2001-08-21 2010-12-21 Telecommunication Systems, Inc. System for efficiently handling cryptographic messages containing nonce values
DE10142959A1 (de) * 2001-09-03 2003-04-03 Siemens Ag Verfahren, System und Rechner zum Aushandeln einer Sicherheitsbeziehung auf der Anwendungsschicht
GB2370732B (en) * 2001-10-17 2003-12-10 Ericsson Telefon Ab L M Security in communications networks
US7986937B2 (en) * 2001-12-20 2011-07-26 Microsoft Corporation Public access point
US7120791B2 (en) * 2002-01-25 2006-10-10 Cranite Systems, Inc. Bridged cryptographic VLAN
US7188364B2 (en) 2001-12-20 2007-03-06 Cranite Systems, Inc. Personal virtual bridged local area networks
US7246245B2 (en) * 2002-01-10 2007-07-17 Broadcom Corporation System on a chip for network storage devices
US7203957B2 (en) * 2002-04-04 2007-04-10 At&T Corp. Multipoint server for providing secure, scaleable connections between a plurality of network devices
US7188365B2 (en) * 2002-04-04 2007-03-06 At&T Corp. Method and system for securely scanning network traffic
JP3700671B2 (ja) * 2002-04-10 2005-09-28 横河電機株式会社 セキュリティ管理システム
US7154861B1 (en) * 2002-04-22 2006-12-26 Extreme Networks Method and system for a virtual local area network to span multiple loop free network topology domains
US7937471B2 (en) 2002-06-03 2011-05-03 Inpro Network Facility, Llc Creating a public identity for an entity on a network
US7421736B2 (en) * 2002-07-02 2008-09-02 Lucent Technologies Inc. Method and apparatus for enabling peer-to-peer virtual private network (P2P-VPN) services in VPN-enabled network
US7441262B2 (en) * 2002-07-11 2008-10-21 Seaway Networks Inc. Integrated VPN/firewall system
US8234358B2 (en) 2002-08-30 2012-07-31 Inpro Network Facility, Llc Communicating with an entity inside a private network using an existing connection to initiate communication
US20100138909A1 (en) * 2002-09-06 2010-06-03 O2Micro, Inc. Vpn and firewall integrated system
CN100389400C (zh) * 2002-09-06 2008-05-21 美国凹凸微系有限公司 虚拟专用网(vpn)和防火墙的集成系统
US20060182083A1 (en) * 2002-10-17 2006-08-17 Junya Nakata Secured virtual private network with mobile nodes
US7441043B1 (en) * 2002-12-31 2008-10-21 At&T Corp. System and method to support networking functions for mobile hosts that access multiple networks
EP1589708B1 (en) * 2003-01-31 2016-03-09 Nippon Telegraph And Telephone Corporation Vpn communication control device, communication control method in vpn, and virtual dedicated network management device
US7949785B2 (en) * 2003-03-31 2011-05-24 Inpro Network Facility, Llc Secure virtual community network system
US7991751B2 (en) * 2003-04-02 2011-08-02 Portauthority Technologies Inc. Method and a system for information identification
US7325002B2 (en) * 2003-04-04 2008-01-29 Juniper Networks, Inc. Detection of network security breaches based on analysis of network record logs
US20040268124A1 (en) * 2003-06-27 2004-12-30 Nokia Corporation, Espoo, Finland Systems and methods for creating and maintaining a centralized key store
CN1315298C (zh) * 2003-07-01 2007-05-09 智邦科技股份有限公司 同步封包处理系统与方法
US6988106B2 (en) * 2003-07-09 2006-01-17 Cisco Technology, Inc. Strong and searching a hierarchy of items of particular use with IP security policies and security associations
US7568107B1 (en) * 2003-08-20 2009-07-28 Extreme Networks, Inc. Method and system for auto discovery of authenticator for network login
CN100499451C (zh) * 2003-08-26 2009-06-10 中兴通讯股份有限公司 网络通信安全处理器及其数据处理方法
US7350233B1 (en) * 2003-09-12 2008-03-25 Nortel Networks Limited Fast re-establishment of communications for virtual private network devices
FI20031361A0 (fi) * 2003-09-22 2003-09-22 Nokia Corp IPSec-turva-assosiaatioiden kaukohallinta
US7636805B2 (en) * 2003-10-20 2009-12-22 Logitech Europe S.A. Method and apparatus for communicating data between two hosts
US7886057B2 (en) * 2003-10-20 2011-02-08 Logitech Europe S.A. Method and apparatus for communicating data between two hosts
US7464266B2 (en) * 2004-02-13 2008-12-09 Microsoft Corporation Cheap signatures for synchronous broadcast communication
US10375023B2 (en) * 2004-02-20 2019-08-06 Nokia Technologies Oy System, method and computer program product for accessing at least one virtual private network
US8186026B2 (en) * 2004-03-03 2012-05-29 Rockstar Bidco, LP Technique for maintaining secure network connections
US7502474B2 (en) * 2004-05-06 2009-03-10 Advanced Micro Devices, Inc. Network interface with security association data prefetch for high speed offloaded security processing
US20050283441A1 (en) * 2004-06-21 2005-12-22 Ipolicy Networks, Inc., A Delaware Corporation Efficient policy change management in virtual private networks
US20050283604A1 (en) * 2004-06-21 2005-12-22 Ipolicy Networks, Inc., A Delaware Corporation Security association configuration in virtual private networks
CN100385885C (zh) * 2004-07-09 2008-04-30 威达电股份有限公司 具ssl保护功能的安全网关及方法
US7890992B2 (en) * 2004-08-19 2011-02-15 Cisco Technology, Inc. Method and apparatus for selection of authentication servers based on the authentication mechanisms in supplicant attempts to access network resources
US7624263B1 (en) * 2004-09-21 2009-11-24 Advanced Micro Devices, Inc. Security association table lookup architecture and method of operation
US7543064B2 (en) * 2004-09-30 2009-06-02 Logitech Europe S.A. Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
US7565526B1 (en) * 2005-02-03 2009-07-21 Sun Microsystems, Inc. Three component secure tunnel
US8108691B2 (en) * 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US8423788B2 (en) * 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8321686B2 (en) * 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US7769858B2 (en) * 2005-02-23 2010-08-03 International Business Machines Corporation Method for efficiently hashing packet keys into a firewall connection table
US7984495B1 (en) * 2005-03-09 2011-07-19 Sonicwall, Inc. Method and an apparatus to identify security association of virtual private network tunnels
US7738468B2 (en) * 2005-03-22 2010-06-15 Logitech Europe S.A. Method and apparatus for packet traversal of a network address translation device
US8189481B2 (en) * 2005-04-08 2012-05-29 Avaya, Inc QoS-based routing for CE-based VPN
US7743409B2 (en) 2005-07-08 2010-06-22 Sandisk Corporation Methods used in a mass storage device with automated credentials loading
US8166547B2 (en) * 2005-09-06 2012-04-24 Fortinet, Inc. Method, apparatus, signals, and medium for managing a transfer of data in a data network
US7536540B2 (en) * 2005-09-14 2009-05-19 Sandisk Corporation Method of hardware driver integrity check of memory card controller firmware
US20070061597A1 (en) * 2005-09-14 2007-03-15 Micky Holtzman Secure yet flexible system architecture for secure devices with flash mass storage memory
ATE410874T1 (de) * 2005-09-20 2008-10-15 Matsushita Electric Ind Co Ltd Vefahren und vorrichtung zur packetsegmentierung und verknüpfungssignalisierung in einem kommunikationssystem
US7783615B1 (en) * 2005-09-30 2010-08-24 Emc Corporation Apparatus and method for building a file system index
US8032745B2 (en) * 2005-12-20 2011-10-04 International Business Machines Corporation Authentication of I2C bus transactions
US8176317B2 (en) * 2006-01-19 2012-05-08 Helius, Inc. System and method for multicasting IPSec protected communications
JP2007208632A (ja) * 2006-02-01 2007-08-16 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
KR100772394B1 (ko) * 2006-02-09 2007-11-01 삼성전자주식회사 IPSec에서의 재전송 방지 윈도우 갱신 방법 및 장치
US7962652B2 (en) * 2006-02-14 2011-06-14 International Business Machines Corporation Detecting network topology when negotiating IPsec security associations that involve network address translation
US7784086B2 (en) * 2006-03-08 2010-08-24 Panasonic Corporation Method for secure packet identification
US7881470B2 (en) * 2006-03-09 2011-02-01 Intel Corporation Network mobility security management
US7801144B2 (en) * 2006-03-31 2010-09-21 Agere Systems Inc. Switch-based network processor
ATE524909T1 (de) * 2006-05-17 2011-09-15 Deutsche Telekom Ag Verfahren und einrichtungen zur bereicherung von sprachanrufen und semantische kombination mehrerer dienstsitzungen in einer virtuell kombinierten dienstsitzung
US8001524B1 (en) * 2006-07-19 2011-08-16 Juniper Networks, Inc. Instruction extension for linked list lookup
US7616508B1 (en) * 2006-08-10 2009-11-10 Actel Corporation Flash-based FPGA with secure reprogramming
US20080052524A1 (en) * 2006-08-24 2008-02-28 Yoram Cedar Reader for one time password generating device
US20080072058A1 (en) * 2006-08-24 2008-03-20 Yoram Cedar Methods in a reader for one time password generating device
US8423794B2 (en) * 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
KR100839941B1 (ko) * 2007-01-08 2008-06-20 성균관대학교산학협력단 IPSec 설정정보와 세션정보를 이용한 비정상IPSec 트래픽 제어 시스템 및 그 제어 방법
JP5204791B2 (ja) * 2007-03-16 2013-06-05 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Ipトラフィックのセキュリティ保護
US20080267177A1 (en) * 2007-04-24 2008-10-30 Sun Microsystems, Inc. Method and system for virtualization of packet encryption offload and onload
US8423767B2 (en) * 2007-06-13 2013-04-16 Cisco Technology, Inc. Security association verification and recovery
US8370919B2 (en) * 2007-06-26 2013-02-05 Microsoft Corporation Host firewall integration with edge traversal technology
US7894420B2 (en) * 2007-07-12 2011-02-22 Intel Corporation Fast path packet destination mechanism for network mobility via secure PKI channel
US8051124B2 (en) * 2007-07-19 2011-11-01 Itt Manufacturing Enterprises, Inc. High speed and efficient matrix multiplication hardware module
US8661524B2 (en) * 2007-12-14 2014-02-25 Novell, Inc. Selective desktop control of virtual private networks (VPN's) in a multiuser environment
US8191133B2 (en) * 2007-12-17 2012-05-29 Avaya Inc. Anti-replay protection with quality of services (QoS) queues
US20090199290A1 (en) * 2008-02-01 2009-08-06 Secure Computing Corporation Virtual private network system and method
US20090228973A1 (en) * 2008-03-06 2009-09-10 Chendil Kumar Techniques for automatic discovery and update of client environmental information in a virtual private network (vpn)
US9137209B1 (en) * 2008-12-10 2015-09-15 Amazon Technologies, Inc. Providing local secure network access to remote services
KR101048510B1 (ko) * 2009-05-06 2011-07-11 부산대학교 산학협력단 지그비 무선 통신 프로토콜상에서의 보안성 강화 방법 및 장치
US8499338B1 (en) * 2010-02-16 2013-07-30 Sprint Communications Company L.P. Internet protocol controlled modem for use over a wireless voice network
US8549617B2 (en) 2010-06-30 2013-10-01 Juniper Networks, Inc. Multi-service VPN network client for mobile device having integrated acceleration
US10142292B2 (en) 2010-06-30 2018-11-27 Pulse Secure Llc Dual-mode multi-service VPN network client for mobile device
US8127350B2 (en) * 2010-06-30 2012-02-28 Juniper Networks, Inc. Multi-service VPN network client for mobile device
CN102065021B (zh) * 2011-01-28 2012-12-26 北京交通大学 基于NetFPGA的IPSecVPN实现系统及方法
US8359466B2 (en) * 2011-04-29 2013-01-22 Lsi Corporation Security association prefetch for security protcol processing
US8261085B1 (en) 2011-06-22 2012-09-04 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
US8181035B1 (en) 2011-06-22 2012-05-15 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
US8595510B2 (en) 2011-06-22 2013-11-26 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
US20120331308A1 (en) * 2011-06-22 2012-12-27 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
US8775614B2 (en) 2011-09-12 2014-07-08 Microsoft Corporation Monitoring remote access to an enterprise network
US9246876B1 (en) * 2011-10-13 2016-01-26 Juniper Networks, Inc. Anti-replay mechanism for group virtual private networks
CN102970228B (zh) * 2012-11-22 2016-04-27 杭州华三通信技术有限公司 一种基于IPsec的报文传输方法和设备
US10515231B2 (en) * 2013-11-08 2019-12-24 Symcor Inc. Method of obfuscating relationships between data in database tables
US9641542B2 (en) * 2014-07-21 2017-05-02 Cisco Technology, Inc. Dynamic tuning of attack detector performance
CN105791219B (zh) 2014-12-22 2020-03-20 华为技术有限公司 抗重放方法和装置
WO2016118523A1 (en) 2015-01-19 2016-07-28 InAuth, Inc. Systems and methods for trusted path secure communication
US9621520B2 (en) * 2015-03-19 2017-04-11 Cisco Technology, Inc. Network service packet header security
CN108494744B (zh) * 2018-03-07 2021-08-24 杭州迪普科技股份有限公司 一种IPsec VPN客户端报文处理方法及装置
CN110098975B (zh) * 2019-04-03 2021-03-30 新浪网技术(中国)有限公司 用户通过虚拟专用网络访问互联网的检测方法及系统
US11032203B2 (en) * 2019-04-26 2021-06-08 Juniper Networks, Inc. Providing predictable quality of service traffic steering
US11477176B1 (en) * 2021-05-27 2022-10-18 Microsoft Technology Licensing, Llc Throughput for a single VPN connection using multiple processing cores
CN114301632B (zh) * 2021-12-02 2023-11-10 北京天融信网络安全技术有限公司 一种IPsec数据处理方法、终端及存储介质

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US618226A (en) * 1899-01-24 Milk-heater
US5672929A (en) * 1992-03-03 1997-09-30 The Technology Partnership Public Limited Company Moving sensor using mechanical vibrations
WO1993017872A1 (en) * 1992-03-03 1993-09-16 The Technology Partnership Limited Electronic marking instrument
US5473607A (en) * 1993-08-09 1995-12-05 Grand Junction Networks, Inc. Packet filtering for data networks
US5384524A (en) * 1993-09-02 1995-01-24 Cirrus Logic, Inc. Voice coil motor control circuit and method for servo system control in a computer mass storage device
US6185409B1 (en) * 1995-11-30 2001-02-06 Amsc Subsidiary Corporation Network engineering/systems engineering system for mobile satellite communication system
US5809025A (en) * 1996-03-15 1998-09-15 Motorola, Inc. Virtual path-based static routing
US6073204A (en) * 1997-04-23 2000-06-06 Micron Technology, Inc. Memory system having flexible architecture and method
US5983350A (en) * 1996-09-18 1999-11-09 Secure Computing Corporation Secure firewall supporting different levels of authentication based on address or encryption status
US5944823A (en) * 1996-10-21 1999-08-31 International Business Machines Corporations Outside access to computer resources through a firewall
US6233686B1 (en) * 1997-01-17 2001-05-15 At & T Corp. System and method for providing peer level access control on a network
US6118087A (en) * 1997-03-31 2000-09-12 Idec Izumi Corporation Safety switch
US6021459A (en) * 1997-04-23 2000-02-01 Micron Technology, Inc. Memory system having flexible bus structure and method
US6175891B1 (en) * 1997-04-23 2001-01-16 Micron Technology, Inc. System and method for assigning addresses to memory devices
US5974499A (en) * 1997-04-23 1999-10-26 Micron Technology, Inc. Memory system having read modify write function and method
US6078985A (en) * 1997-04-23 2000-06-20 Micron Technology, Inc. Memory system having flexible addressing and method using tag and data bus communication
US6259456B1 (en) * 1997-04-30 2001-07-10 Canon Kabushiki Kaisha Data normalization techniques
AUPO647997A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6246396B1 (en) 1997-04-30 2001-06-12 Canon Kabushiki Kaisha Cached color conversion method and apparatus
US6173399B1 (en) * 1997-06-12 2001-01-09 Vpnet Technologies, Inc. Apparatus for implementing virtual private networks
US6055236A (en) * 1998-03-05 2000-04-25 3Com Corporation Method and system for locating network services with distributed network address translation
US6182226B1 (en) 1998-03-18 2001-01-30 Secure Computing Corporation System and method for controlling interactions between networks
US6226751B1 (en) * 1998-04-17 2001-05-01 Vpnet Technologies, Inc. Method and apparatus for configuring a virtual private network
US6175917B1 (en) * 1998-04-23 2001-01-16 Vpnet Technologies, Inc. Method and apparatus for swapping a computer operating system
US6154839A (en) * 1998-04-23 2000-11-28 Vpnet Technologies, Inc. Translating packet addresses based upon a user identifier
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6078957A (en) * 1998-11-20 2000-06-20 Network Alchemy, Inc. Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system
US6006259A (en) * 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system
ATE297645T1 (de) * 1999-10-22 2005-06-15 Ericsson Telefon Ab L M Mobiltelefon mit eingebauter sicherheitsfirmware

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534153A (zh) * 2016-11-30 2017-03-22 广东科达洁能股份有限公司 基于互联网建立桥接专线系统

Also Published As

Publication number Publication date
AU2002319557A1 (en) 2003-01-29
WO2003007524A2 (en) 2003-01-23
JP2005508585A (ja) 2005-03-31
CN100479451C (zh) 2009-04-15
US20040117653A1 (en) 2004-06-17
CA2452052C (en) 2012-11-27
BRPI0205727B1 (pt) 2017-01-24
CA2452052A1 (en) 2003-01-23
EP1405452B1 (en) 2013-01-16
BR0205727A (pt) 2004-07-06
CN101494649A (zh) 2009-07-29
EP1405452A2 (en) 2004-04-07
WO2003007524A3 (en) 2003-05-30
US7107464B2 (en) 2006-09-12
CN101494649B (zh) 2012-08-22
JP4344609B2 (ja) 2009-10-14

Similar Documents

Publication Publication Date Title
CN1600011A (zh) 包含安全性关联处理器的虚拟专用网络机制
CN1518823A (zh) 使用会话追踪的动态分组过滤器
CN1574792A (zh) 用于执行网络防火墙的基于多层的方法
CN1555170A (zh) 流过滤防火墙
CN1301474C (zh) 电子设备网络系统、数据发送目的地检索系统和方法
CN1268105C (zh) 用于通信网络的通信系统及通信方法
CN1871810A (zh) 认证系统和远隔分散保存系统
CN1969501A (zh) 安全地产生共享密钥的系统和方法
CN1496063A (zh) 互联网协议安全性协议设置服务器设备和处理设备
CN1714542A (zh) 无线局域网互连中的识别信息保护方法
CN1574839A (zh) 多层防火墙结构
CN1266875C (zh) 内容发布/接收方法
CN1496628A (zh) 内容分配系统
CN1695127A (zh) 网络接口和协议
CN1574764A (zh) 用于管理基于网络过滤器的策略的方法
CN1701573A (zh) 远程访问虚拟专用网络中介方法和中介装置
CN1941699A (zh) 密码方法、主机系统、可信平台模块和计算机安排
CN1770688A (zh) 用户认证系统和方法
CN101076807A (zh) 一次性密码
CN1539106A (zh) 互联网协议的模块化鉴权和授权方案
CN1829195A (zh) 分组转发装置
CN1855805A (zh) Sip消息的加密方法和加密通信系统
CN1605181A (zh) 用于为专用网络上的资源提供安全访问的方法和系统
CN101051292A (zh) 一种可信u盘、实现可信u盘安全性及其与计算机数据通信的方法
CN1711740A (zh) 轻度可扩展验证协议的密码预处理

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090415

Termination date: 20210710

CF01 Termination of patent right due to non-payment of annual fee