CN101262338B - 用于安全通信的方法和装置 - Google Patents
用于安全通信的方法和装置 Download PDFInfo
- Publication number
- CN101262338B CN101262338B CN200810081942.1A CN200810081942A CN101262338B CN 101262338 B CN101262338 B CN 101262338B CN 200810081942 A CN200810081942 A CN 200810081942A CN 101262338 B CN101262338 B CN 101262338B
- Authority
- CN
- China
- Prior art keywords
- equipment
- security
- grouping
- network
- network controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0485—Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/164—Implementing security features at a particular protocol layer at the network layer
Abstract
本发明涉及通信保护,具体地本,发明提供一种用于控制系统(50)与传输介质(47)之间通信的控制器(52),包括接收数据和相关安全控制信息的接收电路(96)。第一密码引擎(102)基于安全控制信息来密码处理从传输介质中接收到的数据。控制器(52)还包括第二密码引擎(126)来根据安全协议在系统(50)中生成的数据发送到传输介质(47)之前对其进行处理。
Description
本申请是申请日为2000年6月16日、申请号为00813282.8、发明名称为“通信保护”的发明专利申请的分案申请。
技术领域
本发明涉及在传输介质如网络上通信的信息保护。
背景技术
随着越来越多地使用网络或其他传输介质进行通信,安全成为人们日益关心的问题。各种安全协议被用于保护进入或离开耦合到传输介质如网络(如局域网、广域网、互联网)上的设备的数据。安全协议包括密码算法(包括加密、解密和验证)以维护传输信息的机密性以及信息源的验证。
密码操作典型地涉及占有系统相当大的处理量的数据密集算法操作。为减少在执行密码操作时系统主处理器的负载,一些系统包括一个协处理器用于执行一些数据密集处理。在传统的协处理器结构中,主处理器(在应用程序控制下)将要处理(加密、混列等等)的数据加载到系统存储器中,由协处理器通过系统总线访问这些数据。处理后,协处理器则将处理过的数据拷贝回存储器供主处理器访问,然后主处理器将数据发送到传输介质上(如网络、电话线等)。因为数据在传输介质上传输之前两次通过总线拷贝到系统存储器中,所以这个过程效率很低。类似地,在接收端,数据在解密和验证之前也要拷贝进出协处理器两次。
在传统的协处理器结构中运行加密操作会用尽宝贵的共享系统资源,包括主处理器、总线和系统存储器,使其不能被系统中其他设备使用。这会降低整个系统的性能。因此,当在传输介质上通信信息时需要一种技术和设备来减少执行安全协议相关操作时对系统资源的使用。
发明内容
通常,根据一种实施方案,在耦合到通信信道上的设备中使用的方法包括确定与数据块一起执行的安全业务并且按照安全业务,在适合控制与通信信道的通信的控制器中处理数据块。
根据本发明的在耦合到通信信道的设备中使用的方法,包括:确定对数据块执行的安全业务;生成与数据块一起传递的安全信息,所述安全信息标识安全业务;使用一个适合于控制与通信信道的通信的网络控制器来根据安全信息处理数据块。
根据本发明的用于控制与传输介质通信的控制器,所述控制器包括:接收数据和相关安全控制信息的接收电路,所述安全控制信息识别要在所述数据上执行的安全业务;以及基于安全控制信息而密码地处理数据的密码引擎。
附图说明
图1A是包括网络和耦合到网络上的设备的系统的实施方案的框图。
图1B是根据一种实施方案在图1A的系统的设备中的网络控制器的框图。
图2是根据本发明的实施方案在图1A的系统中的设备的框图。
图3是图1B的网络控制器的更详细的框图。
图4A-4C是根据图2中设备使用的一种安全协议的分组的图。
图5是根据图3的网络控制器执行的实施方案的安全过程的流程图。
图6说明了存储在图3的网络控制器的存储设备中的流字节组(flow tuple)。
图7是说明图5的网络控制器的接收解析器对分组数据解析的流程图。
图8和9A-9B是在图2的设备中不同层的安全例程的流程图。
图10是确定与图8的安全例程执行的数据块有关的安全业务的过程的流程图。
具体实施方式
在下面的描述中,提出大量的细节以提供对本发明的理解。但是,本领域的技术人员应该理解,本发明可以在没有这些细节的情况下实施并且可能从所述实施方案有大量的变化和修改。
参见图1,系统的实施方案包括耦合到传输介质上的第一个设备50和第二个设备51,传输介质可以是有线或无线传输介质(或两者的组合)。在随后的描述中,传输介质称为网络47,其包括无论有线或无线的一种或多种类型的传输介质,如电话线、电缆线、局域网(LAN)、广域网(WAN)、互联网、射频链路、蜂窝链路或其他传输介质。设备50和51的每一个都包括计算机、手持计算设备、机顶盒、应用、游戏系统或其他基于控制器的系统,其中控制器可以是微处理器、微控制器、如特定用途集成电路(ASIC)、可编程门阵列(PGA)等的可编程设备。
在设备50和51之间的网络47以及其他设备上可能有不同类型的通信。通信包括:例如电子邮件的发送;互联网浏览;文件访问和拷贝;数据库搜索;在线销售和财务交易等。
为了在网络47上的设备或系统之间提供安全通信,在耦合在网络47的设备中可以实现根据某些实施方案的安全协议。在某些实施方案中,通过在耦合到网络47的设备中实施互联网协议安全(IPSEC),在1998年11月的名为“Security Architecture for the InternetProtocol(互联网协议的安全结构)”的草案(RFC)2401中对此有讨论,可提供安全业务以保证授权方之间的保密通信,下面会进一步描述。
在本描述中,参考了在一些互联网网站上可得到的各种草案(RFC)。一个这样的站点是{http://www.ietf.org/rfc.html}。
如图1A所示,设备50和51的每个(以及耦合到网络47上的其他设备)可包括能够在网络47上通信的许多层和组件。例如,在设备50中,网络控制器52(可以是集成网络控制器芯片或包含几个芯片或一些其他硬件组件的板或卡)耦合在网络47和系统总线72之间。在一个示例实施方案中,系统总线72可能是如1995年6月出版的PCI本地总线规范,生产版,修订本2.1中描述的外部设备互连(PCI)总线。与下面分别的图2和3相联系提供了设备50和网络控制器52的更完整的图表和描述。
按照某些实施方案,为了改善系统性能,作为网络安全协议组成部分的密码处理(包括加密、解密和/或加密签名)由网络控制器52执行,控制器可能与相关固件或“在空中(on-the-fly)”或“运送中”的微码一起作为硬件组件实现。用于控制与通信信道或传输介质的通信的其他类型的控制器也可以用在更多的实施方案中。这样的控制器可包括纯硬件实现或硬件和固件或软件的组合。
进一步参见图1B,网络控制器52包括密码引擎(发送端的126以及接收端的102),用于在将发送或已经接收的数据块上执行加密、解密和验证操作。在接收和发送通道上将密码引擎102和126分离的优点是发送数据和接收数据的密码处理可以同时进行。在替代实施方案中,发送和接收数据可以使用单一引擎。
如用于这个描述中的,一个或多个数据块指设备中不同格式的数据。例如,来自传输和网络层406的数据块可包括IP数据报或分组(如果网络层是IP层)。如果使用IPSEC协议(如AH或ESP),则在IPSEC处理之后数据块转换为IPSEC分组。IP数据报或分组以及IPSEC分组在流过设备50的每个不同层后被重新格式化。安全协议可应用于一个或多个IP数据报或分组和IPSEC分组。如果实施其他安全协议,则可定义其他类型的数据块。IPSEC可使用两个协议中的一个来提供流量安全-验证头(AH)和封装安全有效负载(ESP)。这些协议可以单独或彼此组合应用以提供一组想要的安全业务。在1998年11月的名为“IPAuthentication Header(IP验证头)”的RFC2402中描述了AH协议,并且在1998年11月的名为“IP Encapsulating Security Payload(ESP)(IP封装安全有效负载(ESP))”的RFC 2406中描述了ESP协议。
为降低网络控制器52的复杂性,由设备50中的一个或多个软件例程(如410和411)执行与安全协议相关的安全控制信息的生成。在一个实施方案中,安全控制信息包括标识加密和验证算法的信息、密钥位置、要加密或签名的数据位置和长度、签名位置以及网络控制器52用于密码处理(包括加密、解密和/或验证)的其他信息。
有一些实例(下面描述),其中由网络控制器52在数据块上执行多个密码操作。为处理这种情况,网络控制器52中的回送特性将由密码引擎126处理过的数据块发送回设备50,供一个或多个软件例程410和411进一步处理。在软件例程410和411进一步处理之后,数据块被送回网络控制器52供进一步密码处理。
有些实施方案的另一个特性是网络控制器52中的密码引擎126或102(或两者)可由除需要在网络47上执行安全通信的过程之外的应用过程使用。这些应用过程称为次使用过程。例如,次使用过程通过设备50的另一个接口(区别于网络控制器52)执行对外部设备的通信。次使用过程包括在传送中不执行或不能够执行密码处理的任何过程。次使用过程的例子包括已加密文件系统、安全电子邮件、安全远程过程调用(RPC)等等。使用网络控制器52的密码引擎,而不是使用单独的协处理器或主处理器54来执行这样的次使用过程的密码操作。
设备50包括跟踪设备50中可用的安全业务的策略管理例程413。策略管理例程413维护数据库(例如下面描述的520A),其识别与网络47上不同设备之间不同数据流一起执行的安全业务。例如,用于由局域网耦合的设备的安全业务与用于通过不安全的信道如互联网耦合的设备的安全业务不同。设备50还包括密钥交换组件415用于管理加密和验证使用的密钥的生成和传输。可以根据在1998年11月的草案(RFC)2408中描述的互联网安全联合和密钥管理协议(ISAKMP)来定义组件413和415。
仍参见图1A,在设备50中,系统总线72耦合到系统中的其他设备,包括可能通过一个或多个桥接层59耦合到系统总线72上的主处理器54。作为例子,处理器54包括微处理器、微控制器、ASIC、PGA等等。在网络47和各种应用过程(如402和404)之间发送的数据分组、帧或块传送通过设备50的几层。作为例子,应用过程402和404包括电子邮件应用、网络浏览器、文件管理器或能够访问网络47上存储单元的其他应用程序。
在发送和接收通道中,数据通过网络控制器52、网络设备驱动器408、传输和网络层406以及操作系统(OS)400在应用过程402、404和网络47之间路由。网络和传输层406可能是传输控制协议/互联网协议(TCP/IP)栈,以执行数据路由和流控制以及设备50中数据的验证和排序。因此,在一个实施方案中,网络层可能是如1981年9月名为“Internet Protocol(互联网协议)”的草案(RFC)791中描述的互联网(IP)协议层,其定义了用于从由源和目的IP地址识别的源到目的的称为数据报的数据块的发送的协议。在网络层上是传输层,其可以是如传输控制协议(TCP)或用户数据报协议(UDP)层。TCP在1981年9月的名为“Transmission Control Protocol(传输控制协议)”的草案(RFC)793中有描述。UDP在1980年8月的名为“User Datagram Protocol(用户数据报协议)”的RFC 768中有描述。
根据一些实施方案,为在网络控制器52中实现网络47的安全协议,网络设备驱动器408中的安全例程410以及传输和网络层406中的安全例程411根据安全协议对数据块格式化,并且增加安全信息以便与相关数据块一起发送到网络控制器52。在这个描述中,例程410称为驱动器安全例程410,并且例程411称为IP安全例程411。在另外的实施方案中,由安全例程410和411执行的任务可由一个例程或两个以上的例程来执行。
依赖于使用的OS 400的类型,IP安全例程411可以是网络和传输层406的组成部分(如图1所示)或是一个单独的例程。例如,对于NT版本5的操作系统,IP安全例程411可以是层406的一部分。但是,对于NT版本4或98操作系统,IP安全例程411可以是一个单独的例程。
如果有的话,则基于安全例程410和411生成的安全控制信息,网络控制器52在数据块发送到网络47之前执行数据块的密码处理(包括加密和/或验证)。如果安全控制信息指示密码处理是不必要的,则网络控制器52将数据块发送到网络47,不再将数据块发送通过网络控制器52中的密码引擎126。
在接收端,当网络控制器52接收到数据块时,网络控制器52从接收到数据块的安全控制部分确定是否需要密码过程,并且如果需要,则确定使用哪个或哪些密钥执行解密和验证。
根据一些实施方案,在设备50以及耦合在网络47上的一些其他设备中实施的安全协议包括IPSEC协议。IPSEC通过使设备50能够选择需要的安全协议、确定用于业务的算法以及将提供想要业务使用的任何密码密钥放在适当的位置来提供安全业务。虽然这里的描述指IPSEC安全协议如AH和ESP协议,但是本发明并不限于这一方面。在另外的实施方案中,可以实现其他类型的安全协议。而且,在其他实施方案中,可以使用除TCP和IP层之外的其他类型的传输和网络层。
在一个实施方案中,IP安全例程411对将要发送到网络47或从网络47中接收到的IP分组执行IPSEC处理。IPSEC处理包括将IP分组转换为IPSEC分组或相反。根据某些实施方案,IPSEC分组可以是ESP分组或AH分组。在IPSEC分组中包含安全控制信息。参见图4A-4C,在IPSEC处理之后,包括IP头500和IP有效负载域502(图4A)的IP数据报发送到如图4B和4C所示的ESP分组。图4B和4C所示的ESP分组(分别表示传输模式和隧道模式的ESP分组)包括下列域:ESP头504、ESP尾506和ESP验证域508。在传输模式(图4B)中,ESP安全协议应用于IP有效负载502。但是在隧道模式中,ESP安全协议还应用于IP头500-所以,为隧道模式(图4C)的ESP分组生成一个新的IP头510,其例如识别安全网关地址。隧道模式ESP典型地用于网络47上的通信发生在通过两个安全网关时。在AH分组中(未示出),可在IP有效负载之前(传输模式)或IP头和IP有效负载之前(隧道模式)增加AH头,但是不增加尾信息。
ESP的头部和尾部域504和506包括如下:安全参数索引(SPI),其与特定的其他信息相结合识别在数据报上执行的安全业务;单调地加起来并且包括在数据报中作为对应答攻击的防御的序列号;如密码同步信息的信息;如用做块密码的用于加密的填充符;以及其他信息。验证域508用于验证业务。
ESP头504还包括由网络控制器52应用的识别密码算法的IPSEC控制信息、密钥位置、要加密和/或签名的数据位置和长度以及加密和/或验证使用的其他信息。除此之外,ESP头504还包括指示数据报在密码处理或在回送模式中路由回系统总线72之后是否将在网络47上发送的指示。ESP头包括协议类型域,其指向TCP、UDP等等,数据报在哪种情况下在网络47上发送。替代地,如果协议类型域指向ESP或AH,则执行回送。
AH头包括类似的信息用于提供验证业务。但是,AH不提供加密。在某些实施方案中,AH和ESP协议可以组合实现以提供安全业务。
加密、解密和验证算法基于IP数据报的安全联合(SA)来确定。SA指示与IP数据报相关的安全业务的类型。在上述参考的RFC 2401中提供有SA的详细描述。不同IP数据报的安全联合存储在一个或多个安全联合数据块(SAD)520A和520B中,其可能存储在如主存储器56或硬盘驱动器的存储介质中。安全联合可由策略管理例程413管理。
在说明的实施方案中,SAD 520A可由IP安全例程411访问,并且SAD 520B可由驱动器安全例程410访问。SAD 520B包括SAD 520A的一个子集以便驱动器安全例程410更快速地访问。在替代实施方案中,为处理网络控制器52在网络47上接收到的分组,网络控制器52包括SAD 520C,其是存储在SAD 520A或520B中的信息的子集。
对于接收的来自网络47的分组(是IPSEC分组或未加密IP数据报)入站处理,由网络控制器52从接收的分组中的下列信息确定分组的SA:目的IP地址;IPSEC协议(AH或ESP);以及SPI值。从接收的IPSEC数据报列出的信息与网络控制器52的存储设备或存储器(如可以是静态随机访问存储器或SRAM)中存储在条目140(称为流字符组)中的信息相比较,以确定是否出现匹配。这些信息的组合可用于编入存储在存储设备100中的SAD 520C中。存储在网络控制器52中的SAD 520C可基于最近最少使用(LRU)替换策略、先进先出(FIFO)策略或其他策略进行更新。
因此,基于接收到分组的SA(如果有),可以从存储单元(如存储设备104中或其他位置)检索合适的密钥和其他密码信息来执行解密和验证处理。虽然SAD 520C存储在说明实施方案的网络控制器中,但是希望安全联合信息和流字节组存储在耦合到网络控制器的外部存储设备上。
对于将在网络47上发送的IP数据报的出站处理,IP安全例程411基于IP数据报的特定域确定与出站IP数据报相关的SA。这些域指示源和目的设备及地址,从中可以确定用于在源和目的设备之间通信的安全业务类型。例如,设备耦合到局域网上,在这种情况下可以执行第一组安全业务。如果设备耦合到安全网关(如将LAN与不安全的链路如互联网耦合的设备)上,则执行第二组安全业务(提供增强的安全)。IP数据报转换为包括基于相关SA的安全控制信息的IPSEC分组。IPSEC分组由IP安全例程411向下发送到网络设备驱动器408的驱动器安全例程410,其对IPSEC重新打包以转发到网络控制器52。
参见图8,说明了IP安全例程411执行的安全操作。如果检测到将要发送的IP分组(在650),则IP安全例程411确定(在652)该IP分组是否受基于其SA的安全协议支配。可以基于SAD 520A中的信息确定,并且如果其中没有,则从存储在如系统存储器56的存储设备中的安全策略数据库(SPD)522中的信息来确定。
SPD 522指示数据报是否提供有IPSEC保护或是否绕过了IPSEC保护。如果将为数据报实施IPSEC保护,则SPD 522中一个选定的条目与标识在数据报上将执行的安全业务的SA相映射,该SA包括是否使用AH或ESP协议,用于加密/解密和验证的密码算法,等等。识别的安全业务由IP安全例程411编码到安全控制信息(如位于ESP或AH头中)中,以发送到网络控制器52执行密码处理。
IP数据报中的信息(称为选择器)可用于编SPD 522中的条目中。这些选择器包括下面的信息:目标IP地址;源IP地址;传输层协议(如TCP或UDP);以及源和目的端口(如TCP或UDP端口);以及其他信息。然后与数据报相关的选择器用于执行SPD 522的查询以检索SPD 522的条目中的信息。依次,SPD条目信息用于确定IP数据报的SA,然后其被加载到SAD 520A的对应条目中。
虽然有到SPD和SAD的参照来标识在数据块上执行的安全业务,但是本发明并不限于这个方面。在另外的实施方案中可以使用其他用于确定安全业务的技术。
如果IP安全例程411确定(在652)不使用IPSEC保护,则IP数据报转发(在655)到网络设备驱动器408,由网络控制器52作为常规的I P数据报在网络47上发送。但是,如果使用IPSEC保护,则IP数据报如作为一个例子的图4A-4C所示,重新格式化为IPSEC分组。
接着,IP安全例程411确定(在656)密码操作是否要从网络设备驱动器408和网络控制器52中卸载。根据某些实施方案,卸载指IP安全例程411将密码操作转发到更低一层(如网络控制器52)而不是由IP安全例程411自己执行密码操作,自己执行要占用主处理器54的宝贵时间。如果,例如网络控制器52不支持密码操作,如果在处理器54上执行密码操作的代价不大,或者如果卸载的代价比在CPU 54上执行密码操作更高,则不执行卸载安全业务。
如果需要卸载,则由IP安全例程411在IPSEC分组的头部准备(在658)卸载命令(包括安全控制信息),以指示用于加密和/或验证的算法类型、密钥位置、将要加密和/或签名的数据的位置和长度以及其他相关信息。如果不需要卸载,则IP安全例程411执行想要的密码操作(在660)并且在发送到网络设备驱动器408的驱动器安全例程410的IPSEC分组中包括一个no-op命令(以指示密码操作是必须的)。
参见图9A,说明了网络设备驱动器安全例程410的发送部分。如果接收到来自IP安全例程411的发送数据(在700),则驱动器安全例程410确定(在702)IPSEC分组是否是次使用分组(也就是,源自次使用过程的分组,如405)。如果是,则IPSEC分组标记(在710)为回送模式,以便该分组在由网络控制器52密码处理之后能返回次使用过程(如图1A中的过程405)。该分组被处理(在706,如下所述)并发送到网络控制器52。
如果IPSEC分组不是次使用分组,则驱动器安全例程410确定(在704)该分组是否包括卸载命令。如果包括,则驱动器安全例程410确定(在708)该分组是否包括多个命令(如在分组上执行多个安全协议)。如果是,则该IPSEC分组标记(在710)为回送模式。
接着,IPSEC分组中的命令转换(在706)为可被网络控制器理解的格式(包括设备特定操作),用于由网络控制器52处理。由驱动器安全例程410发送到网络控制器52的IPSEC分组包括识别使用的加密和/或验证算法、密钥位置、要加密和/或签名的数据的位置和长度、以及其他相关信息的安全控制信息。基于安全控制信息,在分组发送到网络47之前由网络控制器52执行密码处理。
进一步参见图9B,说明了驱动器安全例程410的接收部分。驱动器安全例程410从网络控制器52接收(在700)网络47上接收的分组或将返回次使用应用过程的次使用分组。然后,驱动器安全例程410确定(在672)分组是否是次使用分组。如果是,则分组通过其驱动器发送回(在674)如次使用过程(如405)。
如果接收的分组不是次使用分组,则驱动器安全例程410确定(在676)接收的分组是否是IPSEC分组。如果不是,则该分组由网络设备驱动器408(在690)向上发送到传输和网络层406供处理。如果该分组是IPSEC分组,则驱动器安全例程410确定(在678)该分组是否由网络控制器52“对准(punt)”。网络控制器52不能基于与有限SAD 520C比较来将SA与接收的IPSEC分组相关联。如果由于不能将SA与存储在网络控制器52中的SAD 520C相关联使得网络控制器52将分组“对准”,则驱动器安全例程410试图(在686)将接收的IPSEC分组与SAD520B中的一个条目相匹配。如果找不到匹配,则该分组向上送到(在690)IP安全例程411供处理。但是,如果SAD 520B中的条目能够与被对准的IPSEC分组相匹配,则IPSEC分组修改为包括相关SA的安全控制信息并且被送回(在684)设置有回送模式的网络控制器52。可以由网络控制器52做进一步密码处理。但是,如果因为网络控制器52不能执行密码处理而使得IPSEC分组被对准,则该分组向上转发到传输和网络层406供处理。
如果驱动器安全例程410确定(在678)分组没有被网络控制器52对准,则驱动器安全例程410确定是否需要额外的IPSEC迭代(在680),如对于具有嵌套SA的IPSEC分组。如果不需要,则IPSEC分组中的状态信息(指示网络控制器52执行的如包括加密和/或验证的处理)转换为(在688)IP安全例程411能够理解的语法。然后该分组被发送(在684)到IP安全例程411。
如果在680,需要额外的IPSEC迭代,则驱动器安全例程410试图将SAD 520B中的条目与分组相匹配(在682)以识别其SA。如果找到匹配,则该分组被送回(684)带有回送模式设置的网络控制器52。如果在SAD 520B中找不到分组的SA,则分组向上送回(在690)IP安全例程411供处理。
再参见图8,当IP安全例程411从驱动器安全例程410中接收到分组时,IP安全例程411确定(在662)该分组是否是IPSEC分组。如果不是,则该分组被送到(在670)IP层(406)。如果该分组是IPSEC分组,则IP安全例程411确定(在664)该分组是否被网络控制器52和网络设备驱动器410对准。如果是,则IP安全例程执行(在666)完整的IPSEC处理,包括分组的密码处理。替代地,IP安全例程411通过访问SAD 520A或SPD 522可以确定分组的SA,并且与SA相关的安全控制信息可以与分组一起向下发送到网络控制器52供密码处理。
如果IPSEC分组没有被对准,则IP安全例程411执行(在668)正常的IPSEC处理,以便将分组转换为IP数据报发送(在670)到IP层。
参见图10,IP安全例程411执行的确定IP分组是否能够与SA相关联的行为(在图8的652)包括确定(在750)在SAD 520A中是否能够找到与IP分组相关的条目。这可以基于,例如,上述特定的选择器。如果在SAD 520A中找到一个匹配项,则标识出SA并且返回成功标志。但是,如果在SAD 520A中没有找到匹配项,则基于选择器访问SPD 522(在752)。如果不能识别匹配项,则返回失败标志以指示不存在该IP数据报的SA。但是,如果在SPD 522中识别匹配(在752),则SA被标识(在754)并且加载(在756)到SAD 520A中。然后IP安全例程411确定(在758)与识别的SA相关的安全业务是否可以卸载到网络驱动器52。在准备阶段,IP安全例程411询问驱动器安全例程410以确定从IP安全例程411卸载到驱动器安全例程410的安全业务。这个信息保持在存储单元并且识别由驱动器安全例程410执行的加密和验证业务的类型、支持的安全协议(如AH和ESP)的类型等等。如果安全业务可以卸载,则SA也拷贝(在760)到SAD 520B中并且选择地拷贝到网络控制器52中的SAD 520C。如果安全业务不能被卸载,则识别的SA不拷贝到SAD 520B和520C中。
当更新网络控制器52中的SAD 520C时,IP安全例程411确定SAD520C是否满,如果满,则采用一些替换策略,如最近最少使用、先进先出、随机等等替换SA。也可以在SAD 520A和520B中执行这些更新策略。
参见图2,设备50的实施方案(例如可以是计算机系统)包括在网络47上与其他网络设备(如主机、网关、路由器等)进行信息分组通信的网络控制器52(如局域网(LAN)控制器)。网络控制器52适合于执行典型地由主处理器54执行的操作,主处理器54执行网络协议栈(如TCP/IP)的一个或多个软件层(如网络层和传输层)。作为例子,这些操作可包括解析进入分组的头以获得典型地由执行软件层来提取的(分组的)特征。
在某些实施方案中,这些特征依次识别接收分组数据的应用过程。因为网络控制器52的这一识别,网络控制器52(不是堆栈的软件层)可直接控制分组数据到与应用相关的缓存(在系统存储器56中)的分组数据发送。作为这种安排的结果,网络控制器52和系统存储器56之间的数据发送将占用更少时间并且更有效地利用存储器空间,如下面的详细描述。
参见图3,网络控制器52包括电路,如处理从网络47接收的或向其中发送的分组的接收通道92和发送通道94。例如,接收通道92包括用于解析每个分组头以提取分组特征,如与特定分组流相关的特征的接收解析器98。因为接收通道92可能从许多不同的流(来自网络47的不同设备的分组)接收进入分组,所以接收通道92包括存储流字符组140的存储器100。每个流字符组140唯一地识别一个将由网络控制器52解析的流。
参见图6,每个流字符组140包括识别特定流特征的域。作为例子,在某些实施方案中,流字符组140中的至少一个与传输控制协议(TCP)、用户数据报协议(UDP)等相关。流字符组140包括指示互联网协议(IP)目的地址(也就是接收分组的设备的地址)的域142;指示IP源地址(也就是发送分组的设备的地址)的域144;指示TCP目的端口(也就是导致分组生成的应用的地址)的域146;指示TCP源端口(也就是接收分组的应用程序的地址)的域148;指示分组的安全/验证属性的域150;以及SPI域152。在流字符组中还包括其他域。其他流字符组140可能与其他网络协议,例如,UDP相关。
再参见图3,网络控制器52的发送通道94包括耦合到系统总线接口130上以接收从设备50外出的分组数据并且形成分组中头的发送解析器114。为实现这一点,在某些实施方案中,发送解析器114在头存储器116中存储预定流的头。因为特定流的头指示相当大量的相同信息(如端口和IP地址),所以发送解析器114可能稍微修改每个外出分组的存储头并且将修改后的头装配到外出分组中。作为例子,对特定流,发送解析器114从头存储器116中接收头并且解析头以在外出分组的头中增加如序号和确认号(作为例子)这样的信息。校验和引擎120计算外出分组的IP和网络头的校验和并且将校验和合并到分组中。
发送通道94也包括加密和/或验证外出分组的数据的密码引擎126。如此,特定流的所有分组都由与该流相关的密钥加密和/或验证,并且不同流的密钥存储在密钥存储器124中。如上所述,密码密钥基于使用的密码算法。
在某些实施方案中,新的密钥可以增加到密钥存储器124中并且已有的密钥可以由通过发送通道94在控制分组域中传送的信息修改或删除。发送通道94还包括一个或多个FIFO存储器122,以通过发送通道94同步分组流。并行-串行转换电路128耦合到FIFO存储器122上来检索准备发送的分组,以达到使外出分组的数据串行的目的。一旦被串行化,电路128就将数据传递到网络接口90以发送到网络47。
参见图5,说明了网络控制器52的安全操作。一旦接收到要发送的数据报(在602),发送解析器114就访问IPSEC分组的安全控制信息和命令以确定是否使用密码处理。如果安全信息和命令指示没有实现任何安全协议(在604),则发送解析器114将数据报传递到队列122,其被转发(在614)到网络接口90以便发送到网络47。在这种情况下,绕过了密码引擎126。
如果基于安全控制信息和命令(在604)需要安全业务,则从密钥存储器124中检索出相关密钥并且传递给密码引擎(在606),以执行加密和验证操作。如果在密钥存储器124中得不到密钥,则网络控制器52访问位于网络控制器52之外的另一个存储单元以检索密钥,如下所述。根据某些实施方案,IPSEC分组的安全控制信息指示各种类型的加密算法,如包括块密码或流密码的对称加密算法、公用密钥算法以及其他算法。验证算法包括下面的例子:基于对称加密算法如数据加密标准(DES)的密钥消息验证代码(MAC);如消息摘要函数(MD5)的单向混列函数或安全混列算法(SHA);或其他算法。在(1996年第二期)John Wiley&Sons有限公司,Bruce Schneier的“AppliedCryptography(被应用的加密)”中可以找到MAC、DES、MD5和SHA的描述。
然后密码引擎126基于采用的算法的类型以及从密钥存储器124(图3)中检索的密钥对数据(在608)进行加密和验证处理。密码引擎126接着确定(在610)是否调用回送模式,在这种模式下密码处理的数据通过链路127(图3)被路由回(在612)接收通道92。数据被送回设备50的其他层(如安全例程410和411)以便进一步处理。基于IPSEC分组的ESP或AH头中包含的信息确定这一点。可能因为许多原因使用回送模式,包括使用采用多个通道通过密码引擎126来完成密码处理的嵌套SA的数据报。如果在数据报上应用不仅一个安全协议,如AH和ESP协议的组合或使用IP隧道,则可使用多个嵌套SA。
在设备50中应用过程(次使用过程,如过程405)也可以将回送功能用于不在网络47上发送的数据。例如,可以通过设备50中的一些其他接口,如调制解调器或耦合到扩展总线70或其他总线上的其他收发信机75,来发送和接收来自应用过程405的数据。这些数据也需要密码处理。代替执行使用主处理器54或其他协处理器的密码操作,可由网络控制器52中的密码引擎126执行该操作。
当基于在SPD 522中存储的流字符组140不能识别接收的数据报时也可以使用回送功能。这样的数据报向上通过接收通道92发送到更高层,如安全例程410和411。然后安全例程410和411能够确定如何进一步处理接收的数据报。例如,在实施方案中网络控制器52中只有一部分SAD 520可用的情况下,安全例程410和411可以访问设备中全部SAD以确定接收数据的SA。如果安全例程410和411成功地确定了SA,则网络控制器52中的SAD部分520可以更新并且数据和相关安全信息可以发送回网络控制器52供密码处理。
安全例程410和411还有其他功能,如防止重放攻击。为实现这样的其他功能,安全例程410和411利用回送功能按需要的次数执行密码处理。
如果如在610决定的不采用回送,则由密码引擎126处理的数据被转发(在614)以由网络接口90发送。
再参见图3,接收通道92中的接收解析器98使用存储的流字符组140来确定接收的分组是否需要按照特定安全协议而被进行密码处理。根据某些实施方案,在网络控制器52的接收通道中,接收解析器98将接收数据报中的信息与存储在存储器100中的流字符组140的子集(图6)相比较以识别数据报的SA。例如,在某些实施方案中,接收解析器98使用域142、150和152(目的IP地址;IPSEC协议(AH或ESP);以及SPI值)来识别流字符组瞬断从而可以确定进入数据报的SA。如果出现流字符组瞬断,则流字符组用于映射到SAD 520C中以确定数据的SA。
额外的流字符组140存储在存储器100中并且已有的流字符组140可由网络设备驱动器408从存储器100中清除。在某些实施方案中,存储器100还存储信息域141。每个141域与特定的流字符组140相关并且指示,例如,识别(对网络协议栈)流和系统存储器56的缓存的指针的处理程序,如下所述。
如果接收解析器98(通过流字符组140)识别与进入分组相关的流,则接收通道92还进一步处理该分组。在某些实施方案中,接收解析器98(对网络控制器52的其他电路和最后对网络协议栈)指示与特定分组相关的流以及分组的其他检测属性的识别。
如果接收解析器98没有识别流,则接收通道92将分组标识为对准并且通过系统总线接口130将进入的分组传递到安全例程410和411供处理,如上所述。
在某些实施方案中,一旦确定进入分组的SA,就从密钥存储器104中检索出相关密钥,以便密码引擎102可以执行其密码操作。密钥存储器104中的密钥由接收数据的SA进行索引。
密钥可以由网络设备驱动器408加入密钥存储器104或从中删除。照这样,如果引擎102确定特定解密密钥没有存储在密钥存储器104中,则引擎102向设备驱动器408(见图2)(通过系统总线接口130)提交需要密钥的请求。照这样,设备驱动器408导致处理器54响应该请求提供密钥,并且与系统总线接口130交互,以便在密钥存储器104中存储该密钥。在某些实施方案中,如果得不到该密钥(也就是,从设备驱动器408得不到该密钥或其没有存储在密钥存储器104中),则引擎102对该分组的数据部分不解密。代替地,系统总线接口130在系统存储器56(见图2)的预定位置存储加密的数据,以便可以执行协议栈一层或多层的软件来对进入分组的数据部分解密,如上所述。
在解析执行完之后,网络控制器52对分组的处理包括绕过与网络协议栈相关的一个或多个软件层的执行。例如,接收通道92包括零拷贝解析器110,通过系统总线接口130,可以将与分组有关的数据拷贝到与应用过程有关的存储器缓存中。如下所述,除此之外,零拷贝解析器110处理网络控制器52和协议栈之间的控制问题,并且处理进入分组丢失的情况。
接收通道92还包括一个或多个先进先出(FIFO)存储器106以同步通过接收通道92的进入分组流。(接收通道92的)校验和引擎108耦合到FIFO存储器106和系统总线接口130之间,以便验证分组中嵌入的校验和。
接收通道92可以与系统总线接口130上的系统总线72相接口。系统总线接口130包括用于将分组的数据部分直接发送到主存储器56的仿真的直接存储器访问(DMA)引擎131。
在某些实施方案中,接收通道92包括附加电路,如当从网络47中接收到分组时从网络接口90接收串行比特流的串-并行转换电路96。照这样,转换电路96将比特打包成字节并且向接收解析器98提供这些字节。网络接口90可耦合以生成和接收去往和来自网络47的信号。
参见图7,说明了在网络47上响应接收分组在网络控制器52中的操作流。接收解析程序98(在200)解析每个进入分组的头。从解析的信息,接收解析器98确定该分组(如IPSEC分组)是否与某些安全协议相关联(在201)。
如果需要验证或解密,则接收解析器98使用从头中解析的信息来确定(在216)是否出现流字符组瞬断以便确定相关SA。如果没有,则接收解析器98将控制发送到零拷贝解析器110执行分组结束检测(在202)。否则,接收解析器98(在220)确定在密钥存储器104中SA指出的密钥是否可用。如果密钥可用,则接收解析器98在将控制传递给执行分组零拷贝(在202)的零拷贝解析器110之前,开始分组的验证和/或解密(在218)。如果密钥不可用,则接收解析器98将控制发送给零拷贝解析器110以执行零拷贝操作(在202)。
执行零拷贝操作之后(在202),零拷贝解析器110执行分组结束检测(在204)。在这些检测中,接收解析器98执行典型地与数据链路层相关的检测。例如,接收解析器98确保该分组指示正确的以太网MAC地址、不出现循环冗余校验(CRC)错误、不出现接收状态错误(如冲突、超限、最小/最大帧长度错误)并且帧的长度大于最小字节数(如64)。接收解析器98执行典型地与网络层有关的检测。例如,接收解析器98检测IP分组头的大小,计算IP头的校验和,确定计算的IP头的校验和是否与IP头指示的校验和一致,确保分组指示正确的IP目的地址以及确定IP是否指示一个可识别的网络协议(如TCP或UDP协议)。
接收解析器98还执行典型地与处理器的与传输层相关的软件执行的功能相关的检测。例如,接收解析器98确定协议头的大小是否在预定的限制内,计算协议头的校验和并且确定是否设置了称为ACK、URG、PHS、RST、FIN和/或SYN标记的标记。如果设置了PSH标记,则接收解析器98向驱动器程序指示这个事件。如果设置了RST、FIN或SYN标记,则接收解析器98将控制交给传输层。如果发送了ACK标记,则接收解析器98与设备驱动器408或发送通道94交互以发送确认分组,如下所述。
检测完成之后,零拷贝解析器110(在205)确定是否出现可导致分组不可用的数据链路错误。如果出现这种情况,则零拷贝解析器110(在205)收回驱动器程序分配给分组的存储器,(在207)收回分配给分组的零拷贝的存储器并且(在209)重新设置与分组相关的(由DMA引擎131仿真的)DMA信道。否则,零拷贝解析器110为协议栈编译错误统计栈。
往回参见图2,除了网络控制器52,计算机系统50还包括耦合到主机总线58的处理器54。主机总线58由网桥或存储器集线器60耦合到加速图形端口(AGP)总线62上,如1998年5月的加速图形端口接口规范,修订本2.0中所描述的。AGP总线62耦合到,如控制显示器65的视频控制器64上。存储器集线器60也将AGP总线62和主机总线58耦合到存储器总线61上。存储器总线61,依次耦合到例如存储缓存304和设备驱动器408的拷贝的系统存储器56上。
存储器集线器60还(通过集线器链路66)耦合到与I/O扩展总线70和系统总线72相耦合的另一个网桥、或输入/输出(I/O)集线器68上。I/O集线器68还耦合到,如光盘(CD)或数字化视频光盘(DVD)驱动器82和硬盘驱动器84上。I/O扩展总线70可耦合到控制软盘驱动器76的操作以及接收如来自键盘78和鼠标80输入数据的I/O控制器74上。
(如由模块、例程、或其他层构成的)各种软件或固件,包括应用程序、操作系统模块或例程、设备驱动器、BIOS模块或例程以及中断处理程序,它们存储在或否则明确地包含在设备50或其他类似设备的一个或多个存储介质中。适合于明确地包含软件和固件指令的存储介质包括不同形式的存储器,包括如动态或静态随机存储存储器、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)以及闪存的半导体存储器设备;如固定盘、软盘和可拆卸盘的磁盘;包括磁带的其他磁介质;以及如CD或DVD盘的光介质。存储在存储介质中的指令在执行时引起设备50执行编程的操作。
软件和固件可以以许多不同方式中的一种加载到设备50中。例如,存储在存储介质或通过网络接口卡、调制解调器或其他接口机制传输的指令或其他代码段被加载到设备50中,并且运行以执行被编程的操作。在加载或传输过程中,实现为载波的数据信号(通过电话线、网线、无线链路、电缆等发送)向设备50传递指令或代码段。
虽然本发明已经公开了有限数量的实施方案,但是本领域的技术人员应该理解,从中有大量的修改和变化。所附权利要求书将覆盖在本发明的真正精神和范围内的所有这样的修改和变化。
Claims (8)
1. 一种在耦合到通信信道的设备中使用的方法,包括如下步骤:
确定对数据块执行的安全业务;
在软件例程中生成与所述数据块一起传递的安全信息,所述安全信息标识所述安全业务;
从所述软件例程中接收所述数据块;
使用适合于控制与所述通信信道的通信的网络控制器来根据所述安全信息处理所述数据块;
确定所述数据块是否需要被回送;以及
如果所述数据块需要被回送,则将所述数据块回送到所述软件例程以便进一步处理。
2. 权利要求1的方法,其中所述处理包括执行所述数据块的密码处理。
3. 权利要求1的方法,还包括根据互联网协议安全协议识别安全业务。
4. 一种用于安全通信的设备,包括:
系统总线(72)、主处理器(54)和用于控制与通信信道(47)的通信的网络控制器(52),所述网络控制器(52)包括:
用于从所述通信信道(47)接收数据的接收电路(92),所述数据包括识别选择的安全业务的安全信息;以及
用于基于选择的安全业务处理所述数据的密码引擎(102),
其中所述密码引擎还确定从所述系统总线接收的数据是否需要被路由回,以及如果从所述系统总线接收的所述数据需要被路由回,则将从所述系统总线接收的所述数据路由回到所述设备的其他层以便进一步处理。
5. 权利要求4的设备,其中所述网络控制器(52)包括包含识别要执行的安全业务的信息的存储设备(100),所接收的安全信息选择所述存储设备(100)中的安全业务信息中的一部分,其中所述密码引擎(102)适合于根据选定的安全业务信息的一部分处理所述数据。
6. 权利要求5的设备,其中所述网络控制器(52)包括适合于改变所述存储设备(100)的内容以更新所述安全业务信息的设备。
7. 权利要求6的设备,其中所述设备适合于基于预定的替换策略更新所述安全业务信息。
8. 权利要求5的设备,其中所述安全业务信息包括安全联合信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/364835 | 1999-07-30 | ||
US09/364,835 US7370348B1 (en) | 1999-07-30 | 1999-07-30 | Technique and apparatus for processing cryptographic services of data in a network system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00813282.8A Division CN1378735A (zh) | 1999-07-30 | 2000-06-16 | 通信保护 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101262338A CN101262338A (zh) | 2008-09-10 |
CN101262338B true CN101262338B (zh) | 2015-04-01 |
Family
ID=23436302
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00813282.8A Pending CN1378735A (zh) | 1999-07-30 | 2000-06-16 | 通信保护 |
CN200810081942.1A Expired - Lifetime CN101262338B (zh) | 1999-07-30 | 2000-06-16 | 用于安全通信的方法和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00813282.8A Pending CN1378735A (zh) | 1999-07-30 | 2000-06-16 | 通信保护 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7370348B1 (zh) |
EP (1) | EP1203477B1 (zh) |
CN (2) | CN1378735A (zh) |
AU (1) | AU5743200A (zh) |
CA (1) | CA2380316C (zh) |
DE (1) | DE60044061D1 (zh) |
WO (1) | WO2001010095A2 (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7908481B1 (en) * | 1999-12-17 | 2011-03-15 | Avaya Inc. | Routing data to one or more entities in a network |
FR2823936B1 (fr) * | 2001-04-19 | 2003-05-30 | France Telecom | Procede et systeme d'acces conditionnel a des services ip |
US20030195973A1 (en) * | 2002-04-11 | 2003-10-16 | Raymond Savarda | Methods, systems, and computer program products for processing a packet with layered headers using a data structure that positionally relates the layered headers |
FR2840137B1 (fr) * | 2002-05-22 | 2004-09-10 | Sistech Sa | Outil de securisation de messages electroniques |
US8850223B1 (en) * | 2002-07-19 | 2014-09-30 | F5 Networks, Inc. | Method and system for hard disk emulation and cryptographic acceleration on a blade server |
US7398386B2 (en) | 2003-04-12 | 2008-07-08 | Cavium Networks, Inc. | Transparent IPSec processing inline between a framer and a network component |
IN2014DN00130A (zh) * | 2003-08-08 | 2015-05-22 | Ogawa Keiko | |
US7734844B2 (en) * | 2003-08-19 | 2010-06-08 | General Dynamics Advanced Information Systems, Inc. | Trusted interface unit (TIU) and method of making and using the same |
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 |
US7787481B1 (en) * | 2004-07-19 | 2010-08-31 | Advanced Micro Devices, Inc. | Prefetch scheme to minimize interpacket gap |
KR100735577B1 (ko) * | 2004-08-12 | 2007-07-04 | 삼성전자주식회사 | 무선 네트워크의 적응형 키검색장치 및 방법 |
US7624263B1 (en) | 2004-09-21 | 2009-11-24 | Advanced Micro Devices, Inc. | Security association table lookup architecture and method of operation |
US7747874B2 (en) * | 2005-06-02 | 2010-06-29 | Seagate Technology Llc | Single command payload transfers block of security functions to a storage device |
AU2005218009B2 (en) * | 2005-09-28 | 2011-01-27 | Canon Kabushiki Kaisha | Decoupled header and packet processing in IPsec |
US8200960B2 (en) * | 2006-10-20 | 2012-06-12 | Oracle America, Inc. | Tracking of resource utilization during cryptographic transformations |
US8418241B2 (en) | 2006-11-14 | 2013-04-09 | Broadcom Corporation | Method and system for traffic engineering in secured networks |
US8010801B2 (en) * | 2006-11-30 | 2011-08-30 | Broadcom Corporation | Multi-data rate security architecture for network security |
US7886143B2 (en) * | 2006-11-30 | 2011-02-08 | Broadcom Corporation | Multi-data rate cryptography architecture for network security |
US8112622B2 (en) * | 2006-12-08 | 2012-02-07 | Broadcom Corporation | Chaining port scheme for network security |
US8971525B2 (en) * | 2007-02-26 | 2015-03-03 | Ati Technologies Ulc | Method, module and system for providing cipher data |
US8250356B2 (en) * | 2008-11-21 | 2012-08-21 | Motorola Solutions, Inc. | Method to construct a high-assurance IPSec gateway using an unmodified commercial implementation |
IL195884A0 (en) * | 2008-12-11 | 2009-12-24 | Eci Telecom Ltd | Technique for providing secured tunnels in a public network for telecommunication subscribers |
US8996644B2 (en) | 2010-12-09 | 2015-03-31 | Solarflare Communications, Inc. | Encapsulated accelerator |
US9317718B1 (en) | 2013-03-29 | 2016-04-19 | Secturion Systems, Inc. | Security device with programmable systolic-matrix cryptographic module and programmable input/output interface |
US9355279B1 (en) | 2013-03-29 | 2016-05-31 | Secturion Systems, Inc. | Multi-tenancy architecture |
US9524399B1 (en) * | 2013-04-01 | 2016-12-20 | Secturion Systems, Inc. | Multi-level independent security architecture |
KR101481296B1 (ko) * | 2013-07-18 | 2015-01-09 | 엘에스산전 주식회사 | 원격 단말 장치 및 그의 동작 방법 |
US10223538B1 (en) | 2013-11-12 | 2019-03-05 | Amazon Technologies, Inc. | Preventing persistent storage of cryptographic information |
US9231923B1 (en) | 2013-11-12 | 2016-01-05 | Amazon Technologies, Inc. | Secure data destruction in a distributed environment using key protection mechanisms |
US9235714B1 (en) | 2013-11-12 | 2016-01-12 | Amazon Technologies, Inc. | Preventing persistent storage of cryptographic information using signaling |
US11283774B2 (en) | 2015-09-17 | 2022-03-22 | Secturion Systems, Inc. | Cloud storage using encryption gateway with certificate authority identification |
US10708236B2 (en) | 2015-10-26 | 2020-07-07 | Secturion Systems, Inc. | Multi-independent level secure (MILS) storage encryption |
US10298553B2 (en) | 2017-03-31 | 2019-05-21 | Sprint Communications Company L.P. | Hardware trusted data communications over system-on-chip (SOC) architectures |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5268962A (en) * | 1992-07-21 | 1993-12-07 | Digital Equipment Corporation | Computer network with modified host-to-host encryption keys |
US5546463A (en) * | 1994-07-12 | 1996-08-13 | Information Resource Engineering, Inc. | Pocket encrypting and authenticating communications device |
EP0876026A2 (en) * | 1997-04-30 | 1998-11-04 | Motorola, Inc. | Programmable crypto processing system and method |
US5896507A (en) * | 1993-04-28 | 1999-04-20 | Gemplus Card International | Device having automatic process for upgrading the performance of mobile systems |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05199220A (ja) | 1991-06-28 | 1993-08-06 | Digital Equip Corp <Dec> | 単一の暗号エンジンを使用する通信回路網内の暗号処理方法及び装置 |
US5228083A (en) | 1991-06-28 | 1993-07-13 | Digital Equipment Corporation | Cryptographic processing in a communication network, using a single cryptographic engine |
US6252964B1 (en) * | 1995-04-03 | 2001-06-26 | Scientific-Atlanta, Inc. | Authorization of services in a conditional access system |
EP0769885A4 (en) * | 1995-05-01 | 2000-04-12 | Toshiba Kk | MOBILE COMMUNICATION SYSTEM AND BASE STATION DEVICE THEREOF |
US5671285A (en) * | 1995-12-13 | 1997-09-23 | Newman; Bruce D. | Secure communication system |
CA2225158A1 (en) * | 1996-04-23 | 1997-10-30 | Ascom Hasler Mailing Systems, Inc. | Secure smart card access to pre-paid metering funds in meter |
JP3488024B2 (ja) * | 1996-08-28 | 2004-01-19 | パイオニア株式会社 | Catv通信システム及び通信方法 |
US6889214B1 (en) * | 1996-10-02 | 2005-05-03 | Stamps.Com Inc. | Virtual security device |
US6453345B2 (en) * | 1996-11-06 | 2002-09-17 | Datadirect Networks, Inc. | Network security and surveillance system |
US5844497A (en) * | 1996-11-07 | 1998-12-01 | Litronic, Inc. | Apparatus and method for providing an authentication system |
US6367017B1 (en) * | 1996-11-07 | 2002-04-02 | Litronic Inc. | Apparatus and method for providing and authentication system |
US6076167A (en) * | 1996-12-04 | 2000-06-13 | Dew Engineering And Development Limited | Method and system for improving security in network applications |
US6408336B1 (en) * | 1997-03-10 | 2002-06-18 | David S. Schneider | Distributed administration of access to information |
US6493338B1 (en) * | 1997-05-19 | 2002-12-10 | Airbiquity Inc. | Multichannel in-band signaling for data communications over digital wireless telecommunications networks |
US7050143B1 (en) * | 1998-07-10 | 2006-05-23 | Silverbrook Research Pty Ltd | Camera system with computer language interpreter |
US6061449A (en) * | 1997-10-10 | 2000-05-09 | General Instrument Corporation | Secure processor with external memory using block chaining and block re-ordering |
US6081895A (en) | 1997-10-10 | 2000-06-27 | Motorola, Inc. | Method and system for managing data unit processing |
US6230002B1 (en) * | 1997-11-19 | 2001-05-08 | Telefonaktiebolaget L M Ericsson (Publ) | Method, and associated apparatus, for selectively permitting access by a mobile terminal to a packet data network |
US6701433B1 (en) * | 1998-03-23 | 2004-03-02 | Novell, Inc. | Method and apparatus for escrowing properties used for accessing executable modules |
US6226751B1 (en) * | 1998-04-17 | 2001-05-01 | Vpnet Technologies, Inc. | Method and apparatus for configuring a virtual private network |
US6333974B1 (en) * | 1998-05-26 | 2001-12-25 | Altocom, Inc. | Detection of a call-waiting tone by a modem |
US6253321B1 (en) * | 1998-06-19 | 2001-06-26 | Ssh Communications Security Ltd. | Method and arrangement for implementing IPSEC policy management using filter code |
US6308227B1 (en) * | 1998-06-24 | 2001-10-23 | Intel Corporation | System for detecting a wireless peripheral device by a host computer transmitting a hail message including a persistent host identifier and a host address generated |
US6304973B1 (en) * | 1998-08-06 | 2001-10-16 | Cryptek Secure Communications, Llc | Multi-level security network system |
CA2354577C (en) * | 2001-06-19 | 2007-10-09 | U-Haul International, Inc. | Trailer |
-
1999
- 1999-07-30 US US09/364,835 patent/US7370348B1/en not_active Expired - Fee Related
-
2000
- 2000-06-16 AU AU57432/00A patent/AU5743200A/en not_active Abandoned
- 2000-06-16 CN CN00813282.8A patent/CN1378735A/zh active Pending
- 2000-06-16 WO PCT/US2000/016588 patent/WO2001010095A2/en active Application Filing
- 2000-06-16 EP EP00942865A patent/EP1203477B1/en not_active Expired - Lifetime
- 2000-06-16 CN CN200810081942.1A patent/CN101262338B/zh not_active Expired - Lifetime
- 2000-06-16 DE DE60044061T patent/DE60044061D1/de not_active Expired - Lifetime
- 2000-06-16 CA CA002380316A patent/CA2380316C/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5268962A (en) * | 1992-07-21 | 1993-12-07 | Digital Equipment Corporation | Computer network with modified host-to-host encryption keys |
US5896507A (en) * | 1993-04-28 | 1999-04-20 | Gemplus Card International | Device having automatic process for upgrading the performance of mobile systems |
US5546463A (en) * | 1994-07-12 | 1996-08-13 | Information Resource Engineering, Inc. | Pocket encrypting and authenticating communications device |
EP0876026A2 (en) * | 1997-04-30 | 1998-11-04 | Motorola, Inc. | Programmable crypto processing system and method |
Non-Patent Citations (1)
Title |
---|
S. Kent, R. Atkinson.IP Encapsulating Security Payload (ESP).《Request for Comments: 2406》.1998,3-4. * |
Also Published As
Publication number | Publication date |
---|---|
CN101262338A (zh) | 2008-09-10 |
DE60044061D1 (de) | 2010-05-06 |
CA2380316C (en) | 2009-09-22 |
WO2001010095A3 (en) | 2001-08-16 |
US7370348B1 (en) | 2008-05-06 |
EP1203477B1 (en) | 2010-03-24 |
AU5743200A (en) | 2001-02-19 |
EP1203477A2 (en) | 2002-05-08 |
WO2001010095A2 (en) | 2001-02-08 |
CN1378735A (zh) | 2002-11-06 |
CA2380316A1 (en) | 2001-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101262338B (zh) | 用于安全通信的方法和装置 | |
US11095758B2 (en) | Methods and apparatus for virtualized hardware optimizations for user space networking | |
US7003118B1 (en) | High performance IPSEC hardware accelerator for packet classification | |
US5983350A (en) | Secure firewall supporting different levels of authentication based on address or encryption status | |
US7437547B2 (en) | Method and computer program product for offloading processing tasks from software to hardware | |
US8006297B2 (en) | Method and system for combined security protocol and packet filter offload and onload | |
US7900265B1 (en) | Method and/or system to authorize access to stored data | |
US8543808B2 (en) | Trusted intermediary for network data processing | |
US20010044904A1 (en) | Secure remote kernel communication | |
US20080267177A1 (en) | Method and system for virtualization of packet encryption offload and onload | |
JP2016511480A (ja) | データベース・クライアント要求を処理するための方法、コンピュータ・プログラム製品、データ処理システム、およびデータベース・システム | |
US8458366B2 (en) | Method and system for onloading network services | |
WO2007103338A2 (en) | Technique for processing data packets in a communication network | |
GB2317792A (en) | Virtual Private Network for encrypted firewall | |
US10841840B2 (en) | Processing packets in a computer system | |
CN114781006B (zh) | 基于区块链和sgx的外包数据完整性审计方法及系统 | |
US20040088536A1 (en) | Method and apparatus for providing trusted channel among secure operating systems adopting mandatory access control policy | |
US8316431B2 (en) | Concurrent IPsec processing system and method | |
CN111160905A (zh) | 一种区块链节点用户请求处理保护方法及装置 | |
US11729187B2 (en) | Encrypted overlay network for physical attack resiliency | |
WO2021164167A1 (zh) | 一种密钥存取方法、装置、系统、设备和存储介质 | |
US20240098095A1 (en) | Access control systems and methods for logical secure elements running on the same secure hardware | |
US20240095328A1 (en) | Systems and methods for running multiple logical secure elements on the same secure hardware | |
US7702803B2 (en) | Security enhancement for SNMPv2c protocol | |
CN117792767A (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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20150401 |
|
CX01 | Expiry of patent term |