CN101138218A - 不兼容传输的安全性协议 - Google Patents
不兼容传输的安全性协议 Download PDFInfo
- Publication number
- CN101138218A CN101138218A CNA2006800074598A CN200680007459A CN101138218A CN 101138218 A CN101138218 A CN 101138218A CN A2006800074598 A CNA2006800074598 A CN A2006800074598A CN 200680007459 A CN200680007459 A CN 200680007459A CN 101138218 A CN101138218 A CN 101138218A
- Authority
- CN
- China
- Prior art keywords
- transport layer
- rdl
- layer security
- udp
- transmission
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/169—Special adaptations of TCP, UDP or IP for interworking of IP based networks with other networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
Abstract
“诚实”是一个好词。悲哀的是这个世界上的一些人不诚实。在不断有线化的世界里,不诚实的人们已经找到了无数的机会来非法获取别人的保密数据,监视一个人在网络上的活动并进行干预,例如监视你在做什么,在下载什么,访问什么等等,偷听或者截获你的电话控制和语音数据或者干预你网络上的其它协议等等。为了对付这种风险,通常都采用安全通信协议,例如SSL或TLS,来保护通信。可惜,TLS、SSL和许多其它安全性环境要求用来作为基础的通信协议都是TCP/IP,同时需要通信保护的一些协议,例如VoIp、RTP、SNMP等等,只在UDP上而不在TCP/IP上工作。因此,可以将网络垫片或者这里公开的其它实施例用来允许这种基于UDP的应用程序和协议使用需要TCP/IP类型传输的安全性环境。
Description
技术领域
笼统地说,本发明涉及如何安全联网,具体而言,涉及在与传输层安全性不兼容的传输中支持传输层安全性。
背景技术
很不幸,这个世界上有一些人不诚实。在这个不断有线化的世界里,不诚实的人们已经找到了无数的机会来窥探或者非法获取别人的私人数据或保密数据,例如监视一个人在网络上的活动,比如监视你在做什么,在下载什么,观看什么,访问什么,监视你的电话(例如VoIP等等)控制和语音数据;监视和/或干预你网络上的协议,例如干预SNMP(简单网络管理协议)命令、RTP(实时传输协议)数据等等。
为了对付别人的不诚实,通常都采用安全通信协议,例如SSL(安全套接字层)、TLS(传输层安全性)等等来保护数据通信。关于TLS的更多信息,请参考例如因特网RFC(征求意见)2246(TLS协议1.0版)、2712(给TLS增加的Kerberos密码套)、2817(在HTTP/1.1内对TLS的升级)、2818(TLS上的HTTP)、3268(TLS的AES密码套)、3546(TLS扩展)和3749(协议压缩方法)。请注意,在这里引用的所有RFC在因特网上URL www:ietf:org/rfc处都可以获得。还可以参考URL www:gnu:org/software/gnutls处的GNU TLS图书馆(综述)。(注意,为了防止无意的超级链接,已经将这里引用的URL中的句号替换成了冒号。)
可惜,TLS、SSL和许多其它安全性环境要求用来作为基础的通信协议都是TCP/IP(传输控制协议/因特网协议)。可惜,一些协议和应用程序,例如VoIp、RTP、SNMP等等,只在不可靠的通信传输上工作,例如UDP(用户数据报协议),TLS、SSL等不支持它。已经有人尝试在UDP这种不可靠传输上提供安全性,例如,IPSec(IP安全性)协议或者提供协议专用安全性的SNMPv3。关于IPSec更多的信息,请看能够从www:ietf:org/html:charters/ipsec-charter:html处获得的有关的RFC。可惜,这些方法存在开销大、过于复杂以及协议专用等局限性,例如,不得不将例如SNMP(简单网络管理协议)这种协议重新写入SNMP v3来使用安全性功能。其它局限性还包括这些协议使用专利的、非标准的安全性方法带来的协作和实施方面问题。
附图说明
通过下面对本发明的详细描述,本发明的特征和优点会变得非常清楚。其中:
图1从总体上说明一个实施例中如何在不兼容不可靠的传输上使用传输层安全性;
图2说明一个实施例中图1所示实施例基于特定TLS的实施;
图3说明一个实施例中可以添加到UDP网络通信中去以满足TLS这种传输层安全性协议需要的可靠性要求的一个示例性协议分层;
图4说明一个实施例中示例性的网络协议栈;以及
图5说明可以实施本发明的特定方面的合适的计算环境。
具体实施方式
下面描述用于在UDP(用户数据报协议)这种不可靠传输中使用传输层安全性(TLS)这种安全传输或者SSL协议的各种实施例。为了方便起见,将集中对TLS进行讨论,这个TLS是用于运行面向字节流的传输,提供可靠的顺序数据传递的传输层。但是,要明白TLS和SSL是密切相关的,本领域技术人员知道如何将有关TLS的讨论应用于SSL和其它安全传输。要注意,对于不可靠传输不存在安全性选项,例如UDP下的IPSec。但是,IPSec既是一个复杂的协议,又是一个需要有许多系统开销和大量资源的协议。TLS的使用在许多情况下会更加方便,因为这个协议被广泛采用,具有良好的性能,并且优于IPSec,例如更简单的协议机制,内置密钥交换,软件安装和维护很容易,成本较低等等。
但是,TLS的明显局限性是它需要作为基础的可靠传输,例如TCP和SCTP(流控制传送协议),它是用于面向消息的应用的通用传输,有时用于电话应用。(关于SCTP更多的信息,见RFC 2960和3436。)但是,除了可靠性要求外,TLS协议独立于其传输。下面描述用于支持在无连接UDP传输这种不可靠传输上使用TLS的各个实施例。它则支持利用TLS来为SNMP、RTP、VoIP、Radius(用户业务中的远程鉴权拨号)等等这种协议提供安全性。(关于Radius更多的信息,见RFC 2865。)这些协议目前定义它们自己的复杂专用安全性机制,或者根本没有安全性机制(例如RTP)。通过在不可靠的传输上让TLS可用,这些协议能够采用已知的标准安全性传输环境,从而简化它们的设计和维护。
图1说明一个实施例中在不兼容不可靠传输上使用与可靠传输兼容的传输层安全性在客户机102(例如网络浏览器或者运行网络应用程序的其它机器)和服务器104(例如网络服务器或者提供网络可访问数据或其它资源的其它机器)之间建立安全通信的概观100。
如同这里所讨论的一样,如果传输层安全性(例如TLS、SSL、OpenSSL、虚拟专用网(VPN)等)要求作为基础的传输可靠,并且我们试图将它用于UDP这种不可靠传输,就将作为基础的传输称作“不兼容的”。典型情况下,TLS、SSL等等的可靠性要求是通过要求作为基础的传输是TCP/IP(它是一种可靠的协议)来满足的。可惜,尽管TCP/IP提供可靠性,但是它还带来显著的处理开销和复杂性。因此,这里公开的是通过让不可靠的传输看起来可靠,利用不可靠传输与SSL这种传输层安全性对接的“可靠性传递层”(RDL)。
在一个实施例中,RDL(同样见图4)提供到不可靠传输的接口(或者协议包装器),从而使RDL至少添加可靠传输(例如传输层安全性要求的TCP/IP)要求的最低可靠性特性,并且屏蔽传输层安全性,防止它识别出不可靠传输的不兼容性。例如,TLS要求最低可靠性特征包括数据损坏检测和数据丢失检测。预先假设RDL按照已知技术包装不可靠协议或者与之对接来提供所需要的兼容性特征。
显然,可以用各种方式来实施RDL,例如通过协议包装器、到现有协议的隧道(tunnel)、网络栈垫片(network stack shim)、虚拟协议接口等等。最终结果是RDL给不兼容不可靠传输至少增加最低可靠性功能,从而使RDL和不可靠传输的组合是兼容的传输。在一个实施例中,RDL提供的功能与TCP的功能之间的差别是RDL因为TSL和SSL不需要它而不提供拥塞控制,因为连接建立机制已经是TLS/SSL的一部分而没有连接建立机制,并且不需要复杂的TCP状态机。显然,RDL也可能去除作为基础的协议的不需要的特性,例如带来安全性问题的协议特征。
如上所述,在能够建立传输层安全性以前,需要建立106一个作为基础的不可靠通信传输,例如基于UDP的通信会话。在所给出的实施例中,作为基础的通信会话是利用供所需传输层安全性使用的通信端口来建立的。假设读者熟悉基于数据包的网络通信,其中的数据被拆散成具有数据有效负荷和各种报头字段的数据包,例如数据包的原始网络地址(比如客户机102),这个数据包的目标网络地址(比如服务器104),以及通信会话的通信端口(例如类似于在发射机上选择特定的广播信道)。
一旦建立起不可靠通信传输,随后的操作(注意,可能有没有说明的造成干涉或者并行的操作)是在不可靠传输上建立安全通信,例如在客户机102和服务器104之间采用初始握手序列,协商108在数据转移过程中使用的特定的加密密码,建立会话密钥,交换或检查证书等等。建立安全通信假设了可靠性数据层(RDL)使得不兼容不可靠传输看起来与传输层安全性兼容。
一旦协商108好不可靠传输上这些安全通信的基本加密特性,随后的操作就是在不可靠传输上建立110安全通信,来完成安全传输层的建立。一旦完成协商108和建立起连接110,就能够在不可靠传输上安全地交换112数据。注意,TLS和SSL非常适合于移动设备的动态使用模型,因为它们具有内置密钥交换协议。并且,既然它们在传输层提供加密,因此它们支持传输层的通信差别,这就能够以精细的粒度在应用之间建立安全性联系(例如基于源/目标IP地址和传输端口号)。
图2说明一个实施例中图1所示实施例基于TLS的版本200,用于利用不兼容不可靠传输上的传输层安全性来建立客户机(例如TLS客户机202)和服务器(例如TLS服务器204)之间的安全通信。
在所说明的实施例中,在能够建立传输层安全性之前,建立206作为基础的不可靠UDP传输。这个UDP传输是利用通信端口443建立的,它是协商其传输层安全性的时候希望使用的端口SSL。但是,要明白,尽管有许多“熟知的”,例如预期的,通信端口,例如因特网工程任务组(IETF)分配的那些,或者常务委员会(long-standingconvention)使用的那些,仍然有可能为UDP上的TLS使用任意端口号。一旦建立206起不可靠UDP传输,随后的操作就是在不可靠的传输上建立安全通信。如图1所示,这一建立包括客户机202和服务器204之间的初始握手序列,来协商208作为基础的加密来保护数据传输过程中所使用的。在所示实施例中,为了建立TLS会话,这一协商208包括进行TLS密钥交换。为了在进一步交换消息之前,鉴别互相的通信端点,安全性握手是必需的。
一旦交换了密钥,并且客户机202和服务器204同意加密特性,后续操作就是完成210不可靠传输上安全通信的建立。在图示实施例中,通信建立的完成包括建立TLS联系,例如对等鉴权等等。一旦建立协商208和连接建立210完成,就能够在不可靠UDP传输上安全地交换212数据。
图3说明一个实施例中的一个示例性协议分层300,可以将它添加到UDP网络通信中,用来满足TLS这种传输层安全性协议需要的可靠性要求。在所示实施例中,在例如包装或者到常规UDP报头和有效负荷304的接口的顶部有可靠性传递层(RDL)报头302。如上所述,可以用RDL来提供TLS或者其它安全传输层需要的最低安全性,例如顺序传递,无数据损坏,数据丢失检测和重传。假设TLS协议是按照能够使用RDL配置的,例如预先假设它被绑定到RDL,如同它将被绑定到与TCP/IP一起使用一样。
在所说明的实施例中,RDL报头302具有12字节的固定长度,包括16比特校验和308,32比特序列号312,32比特应答号312和16比特标志306。在所说明的实施例中,RDL校验和308对应于TCP校验和,可以被用来验证报头和数据是否有效,防止数据在传送过程中损坏。由于UDP校验和是可选的,因此这是必须的。在一个实施例中,如果使用UDP校验和,为了避免冗余性,从UDP网络通信中去除UDP校验和,取而代之使用RDL校验和。在一个实施例中,序列号310和应答号312具有相联系的超时和重新发射,因此可以检测和校正数据丢失,提供顺序传递数据。RDL报头会支持TLS的分段/重新组装要求。
在所示实施例中,16比特版本/标志字段306包括2比特来指定用于包装的RDL的版本,或者到UDP这种不可靠协议的接口,以及可以用作ACK(应答)标志的1比特。剩余的13比特可以被用于其它目的。例如可以使用这些比特中的一些来提供分段/重新组装功能。在所说明的实施例中,不预期RDL来提供连接建立机制,例如TCP这种更重的协议中可用的那些。但是,尽管TLS不需要,但是很显然,可以将标志306用来实现面向连接,例如TCP使用的3方握手或者SCTP使用的4方握手,或者用来实现基于TCP一样的窗口的流管理方案。
在RDL报头的所示实施例中,没有任何长度字段,因为它是固定长度,UDP报头指定其数据包的长度。但是要明白,如果需要的话,可以用版本/标志位来实现长度字段。序列号310为建立的110、210特定通信会话唯一地标识RDL消息。可以为后续消息随机、递增地选择其初始值。在一个实施例中,为了防止非法干涉通信会话,初始序列号是基于与通信端点之一相联系的标识符编码的,然后按照可预测方式递增。可以抛弃收到的缺乏适当编码序列号的网络通信。如同和TCP一样,用应答号312来表示收到的消息的最后一个序列号,并且在ACK消息中发送。为每个后续收到的包含数据的消息发送ACK消息。
使用RDL不需要对TLS协议或者UDP进行任何修改。但是要明白,可以修改TLS来增加上面针对RDL讨论的可靠性支持,从而允许TLS直接在UDP上工作,而不需要如上所述包装或者与UDP对接。
图4说明应用402使用的一个实施例中的一个示例性的网络协议栈400。显然,这一应用可以是与网络连接的任意应用协议或者程序,例如用于流媒体的实时传输协议(RTP)、简单网络管理协议(SNMP)、Radius协议、简单邮件传输协议(SMTP)或者网络浏览器、数据传输程序等等。如上所述,来自应用402的数据和控制逐层上下通过层404~410。随着数据向下通过栈,每一层都用报头和其它数据(如果可行)包装交给它的数据,并且还可能(如果需要)改变任何数据。
例如,为了使用TLS层,应用402将适当地调用库或者支持TLS的应用程序接口(TPI),例如OpenSSL库(例如见URL:www:OpenSSL:org),操作系统的联网组件会将这种应用调用传递给TLS层进行处理。对于目前不支持TLS的实时传输协议这种应用,可以修改应用源代码来进行适当的TLS调用,这在特定情况下有些繁琐。例如,假设应用使用标准的Linux类型的套接字调用进行网络访问,例如网络套接字打开、读、写、关闭等等,来利用支持TLS和SSL的OpenSSL库,只需要修改应用的套接字调用,在每个调用的前面加一个一个“SSL_”,以便应用支持TLS或SSL。
不需要访问源代码的另一种方法是将来自编译程序的中间目标文件或二进制输出与具有写成支持TLS或SSL的标准网络访问功能的定制库链接起来。另一选择是直接修改可执行文件,或者反向编译成中间状态,从而能够重新链接到支持TLS或SSL。还有一个选择是在虚拟环境中运行不支持传输层安全性的应用或者配置成截获常规联网调用的虚拟机并且利用调用传输层安全性的对应调用替换它们。
这样,假设应用402支持TLS并且TLS会话已经建立,应用将发送TLS层404收到的数据,TLS层404利用适当的TLS报头包装数据,然后将它交给可靠性传递层(RDL)406。如上所述,TLS和其它传输层安全性协议要求它的作为基础的传输是可靠的,因此如同上面参考图3所描述的一样,用适当的RDL报头对TLS数据进行包装,并且将其交给不可靠的UDP。如上所述,为了支持这里公开的各个实施例,TLS、UDP协议都不需要修改,因此,UDP仅仅是包装关于它收自RDL的数据的常规报头,并将它提交给IP(因特网协议)层410,在物理网络接口例如有线网络接口(NIC)、无线NIC等等上传递。
为了让实现应用402的机器或者由TLS通信会话的其它端点接收数据,这个示意图仅仅是反过来操作,其中收自NIC的数据传递到IP层410,该层进行处理并去除其包装器,并且将剩下的数据交给UDP层408,该层也进行处理,去掉它的包装器,并且将剩下的数据交给RDL 406。尽管UDP没有在可靠性上作出任何努力,但是作为提供上述可靠性的轻便协议的RDL能够检查数据包来确定是否遭到损坏,或者用来识别丢失的数据包,并且适当地发送请求给其它端点来重发坏数据包、丢失的数据包等等。假设RDL没有发现数据的问题,它就去掉其包装器,将剩下的数据交给TLS层404,该层按照常规方式工作,对它收到的安全数据进行处理,并且将数据交给应用402。注意,上面提到用适当的报头包装以及对具有适当报头的数据解除包装可以包括对收自不同网络栈层的数据的一些部分进行修改和/或译码。
图5和以下说明为合适的环境提供一个简短的一般描述,在这个环境中可以实施所说明的特定方面。如下所述,“机器”这个术语用于广泛地包括单个机器,或者连接起来的机器系统,或者一起工作的设备。示例性的机器包括计算设备,例如个人计算机、工作站、服务器、便携式计算机、手持设备,例如个人数字助理(PDA)、电话、输入板等等,以及运输设备,例如专用或公共运输,如汽车、火车、出租车等。
典型情况下,环境包括机器500,机器500包括系统总线502,上面连接了处理器504、存储器506,例如随机存取存储器(RAM)、只读存储器(ROM)或者其它状态保持介质、存储设备508、视频接口510和输入/输出接口端口512。机器可以受到来自常规输入设备的输入(例如键盘、鼠标等等)以及收自另一机器的指令、与虚拟现实(VR)环境、生物统计学反馈的相互作用或者其它输入源或信号的控制,至少可以部分受控。
机器可以包括嵌入的控制器,例如可编程的或者不可编程的逻辑器件或阵列、专用集成电路、嵌入式计算机、智能卡等。机器可以使用到一个或多个远程机器514、516的一个或多个连接,例如通过网络接口518、调制解调器520或其它通信连接。机器可以通过物理的和/或逻辑网络522互连,例如图1所示的网络112、内网、因特网、局域网和广域网。本领域技术人员明白与网络522的通信可以使用各种有线和/或无线近距离或远距离载波和协议,包括射频(RF)、卫星、微波、电气和电子工程师协会(IEEE)802.11、蓝牙、光、红外、电缆、激光等。
可以结合相关数据来描述本发明,例如函数、子程序、数据结构、应用程序、指令等,机器访问它们的时候,机器执行任务或者定义抽象的数据类型或者低级硬件。有关数据可以储存在例如易失性和/或非易失性存储器506中,或者储存在存储设备508和它们的相关存储介质中,包括硬盘驱动器、软盘、光存储、磁带、闪存、记忆棒数字视频盘、生物存储设备,例如机器能够访问的基于生物的状态保持介质等。有关数据可以通过传输环境传递,包括网络522,以数据包、串行数据、并行数据、传播的信号等等的形式,而且可以用于压缩或加密格式。有关数据可以被用于分布式环境,在本地和/或远处储存,供单个或多个处理器机器访问。有关数据可以由嵌入式控制器使用,在下面的权利要求中,“逻辑”这个术语用于指有关数据和/或嵌入式控制器的可能组合。
因此,例如,对于图示实施例,假设机器500包含图2所示的TLS客户机202,那么远程机器514、516之一可以是图2 TLS服务器204。显然,远程机器514、516可以象机器500一样配置,因此包括针对机器讨论的许多或所有单元。
通过参考所示实施例,描述了本发明的原理以后,要明白可以改变这些实施例中的结构和细节而不会偏离这些原理。尽管上述讨论集中在特定实施例上,但是也考虑了其它配置。特别是,尽管在这里使用了“在一个实施例中”、“在另一个实施例中”这种表述,但是这些表述是用于一般性地表示引用的可能实施例,而不是将本发明限于这些特定实施例配置。如上所述,这些表述可以引用能够组合成其它实施例的相同或不同实施例。
因此,考虑到这里描述的实施例的各种变化,这些详细描述仅仅是说明性的,不是要限制本发明的范围。本发明的范围包括后面的权利要求所包括的所有范围。
Claims (22)
1.一种用于利用用户数据报协议(UDP)在第一和第二机器之间进行通信的方法,该方法包括:
给所述UDP提供可靠性传递层(RDL)接口;
在所述第一和第二机器之间建立UDP连接;以及
在到所述UDP的RDL接口上建立传输层安全性,其中所述传输层安全性与所述UDP不兼容。
2.如权利要求1所述的方法,其中所述传输层安全性按照所述传输层安全性(TLS)和安全套接字层(SSL)协议中选出来的一个工作。
3.如权利要求1或2所述的方法,其中所述RDL被结合进所述传输层安全性。
4.如权利要求1所述的方法,还包括:
为应用程序提供目标文件,写出该应用程序是为了将所述UDP用于在所述第一和第二机器之间进行通信;
提供链接库,该链接库已经准备好利用到所述传输层安全性的联网调用来进行网络通信;以及
至少部分地基于用所述链接库链接可执行二进制目标文件,为所述应用程序产生可执行二进制目标文件。
5.如权利要求1所述的方法,其中所述RDL为所述UDP提供数据损坏检测/纠正、数据丢失检测/纠正和分段/重新组装功能。
6.如权利要求5所述的方法,其中所述RDL还为所述UDP提供数据损坏纠正、数据丢失纠正和数据分段重新组装中选中的那些。
7.一种利用与不兼容不可靠传输上的可靠传输兼容的传输层安全性的方法,该方法包括:
提供到所述不可靠传输的可靠性传递层(RDL)接口,所述RDL给所述不可靠传输增加数据损坏检测和数据丢失检测中选中的那些,并且屏蔽所述不可靠传输的不兼容性;
使用所述不可靠传输建立通信会话;以及
在所述RDL接口上利用所述传输层安全性建立安全通信会话。
8.如权利要求7所述的方法,还包括:
执行与所述可靠传输不兼容但是与所述不可靠传输兼容的应用程序;以及
提供虚拟执行环境,将到所述不可靠传输的联网调用映射到到所述RDL接口的调用。
9.如权利要求7或8所述的方法,其中所述不可靠传输是UDP(用户数据报协议)。
10.如权利要求7所述的方法,其中所述传输层安全性是TLS(传输层安全性)和SSL(安全套接字层)中选中的一个。
11.如权利要求7所述的方法,其中所述不可靠传输缺少顺序数据传递,并且其中所述RDL提供顺序数据传递给所述第二传输。
12.如权利要求7所述的方法,其中所述RDL包括用于所述不可靠传输(UTP)的协议包装器。
13.一种在不兼容不可靠传输上利用传输层安全性的方法,该方法包括:
修改网络应用程序,以利用到所述传输层安全性的联网调用替换该网络应用程序中选中的到所述不可靠传输的联网调用;
在所述不可靠传输上在网络栈中安装可靠性传递层(RDL),以将所述不可靠传输伪装成与所述传输层安全性兼容的可靠传输;以及
配置所述传输层安全性来使用所述RDL。
14.如权利要求13所述的方法,其中修改所述网络应用程序包括修改所述网络应用程序的源代码,以用对应的到所述传输层安全性的调用替换其中的联网调用。
15.如权利要求13所述的方法,还包括:
在所述RDL上从所述网络应用程序建立安全通信会话,其中所述RDL将所述不可靠传输伪装成与所述传输层安全性兼容。
16.一种产品,包括机器可访问介质,该介质具有一个或多个有关指令,用于利用所述用户数据报协议(UDP)在第一和第二机器之间进行通信,其中所述一个或多个指令执行的时候导致机器执行以下步骤:
给所述UDP提供可靠性传递层(RDL)接口;
在所述第一和第二机器之间建立UDP连接;以及
在到所述UDP的RDL接口上建立传输层安全性,其中所述传输层安全性与所述UDP不兼容。
17.如权利要求16所述的产品,其中用于所述传输层安全性的有关指令还包括一些指令,执行的时候,这些指令导致所述传输层安全性按照所述传输层安全性(TLS)和安全套接字层(SSL)协议中选中的一个工作。
18.如权利要求16所述的产品,其中所述有关指令还包括一些指令,执行的时候,这些指令导致机器执行以下步骤:
为应用程序提供目标文件,写出该应用程序是为了将所述UDP用于在所述第一和第二机器之间进行通信;
提供链接库,该链接库已经准备好利用到所述传输层安全性的联网调用来进行网络通信;以及
至少部分地基于用所述链接库链接可执行二进制目标文件,为所述应用程序产生可执行二进制目标文件。
19.一种产品,包括机器可访问介质,具有一个或多个有关指令,用于利用与不兼容不可靠传输上的可靠传输兼容的传输层安全性,其中所述一个或多个指令执行的时候导致机器执行以下步骤:
提供到所述不可靠传输的可靠性传递层(RDL)接口,所述RDL给所述不可靠传输增加数据损坏检测和数据丢失检测中选中的那些,并且屏蔽所述不可靠传输的不兼容性;
使用所述不可靠传输建立通信会话;以及
在所述RDL接口上利用所述传输层安全性建立安全通信会话。
20.如权利要求19所述的产品,其中所述有关指令还包括一些指令,执行的时候,这些指令导致机器执行以下步骤:
执行与所述可靠传输不兼容但是与所述不可靠传输兼容的应用程序;以及
提供虚拟执行环境,将到所述不可靠传输的联网调用映射到到所述RDL接口的调用。
21.一种产品,包括机器可访问介质,具有一个或多个有关指令,用于在不兼容不可靠传输上利用传输层安全性,其中所述一个或多个指令执行的时候导致机器执行以下步骤:
修改网络应用程序,以利用到所述传输层安全性的联网调用替换该网络应用程序中选中的到所述不可靠传输的联网调用;
在所述不可靠传输上在网络栈中安装可靠性传递层(RDL),以将所述不可靠传输伪装成与所述传输层安全性兼容的可靠传输;以及
配置所述传输层安全性来使用所述RDL。
22.如权利要求21所述的产品,其中所述有关的指令还包括一些指令,执行的时候,这些指令导致所述机器执行以下步骤:
在所述RDL上从所述网络应用程序建立安全通信会话,其中所述RDL将所述不可靠传输伪装成与所述传输层安全性兼容。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/077,892 | 2005-03-10 | ||
US11/077,892 US7743245B2 (en) | 2005-03-10 | 2005-03-10 | Security protocols on incompatible transports |
PCT/US2006/008710 WO2006099200A1 (en) | 2005-03-10 | 2006-03-08 | Security protocols on incompatible transports |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101138218A true CN101138218A (zh) | 2008-03-05 |
CN101138218B CN101138218B (zh) | 2012-05-16 |
Family
ID=36636197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800074598A Expired - Fee Related CN101138218B (zh) | 2005-03-10 | 2006-03-08 | 用于在不兼容传输中支持安全性协议的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7743245B2 (zh) |
EP (1) | EP1856887A1 (zh) |
JP (1) | JP4712861B2 (zh) |
KR (1) | KR100943551B1 (zh) |
CN (1) | CN101138218B (zh) |
WO (1) | WO2006099200A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102550020A (zh) * | 2009-10-02 | 2012-07-04 | 瑞典爱立信有限公司 | 使用用于识别已丢失数据分组的校验和的重传的方法 |
CN103036872A (zh) * | 2012-11-19 | 2013-04-10 | 华为技术有限公司 | 数据传输的加密和解密方法、设备及系统 |
CN110247803A (zh) * | 2019-06-20 | 2019-09-17 | 成都积微物联集团股份有限公司 | 一种针对网络管理协议SNMPv3的协议优化架构及其方法 |
CN113259339A (zh) * | 2021-05-08 | 2021-08-13 | 珠海六点智能科技有限公司 | 一种基于udp的数据传输方法、系统及电子设备 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7430755B1 (en) * | 2002-09-03 | 2008-09-30 | Fs Networks, Inc. | Method and system for providing persistence in a secure network access |
US8316129B2 (en) * | 2005-05-25 | 2012-11-20 | Microsoft Corporation | Data communication coordination with sequence numbers |
US20060274899A1 (en) * | 2005-06-03 | 2006-12-07 | Innomedia Pte Ltd. | System and method for secure messaging with network address translation firewall traversal |
US7870565B2 (en) * | 2005-06-30 | 2011-01-11 | Intel Corporation | Systems and methods for secure host resource management |
US7716731B2 (en) * | 2005-10-24 | 2010-05-11 | Cisco Technology, Inc. | Method for dynamically tunneling over an unreliable protocol or a reliable protocol, based on network conditions |
CN100488305C (zh) * | 2006-09-23 | 2009-05-13 | 西安西电捷通无线网络通信有限公司 | 一种网络接入鉴别与授权方法以及授权密钥更新方法 |
US7933413B2 (en) * | 2007-02-02 | 2011-04-26 | Microsoft Corporation | Key exchange verification |
US7817631B1 (en) | 2008-07-09 | 2010-10-19 | Google Inc. | Network transfer protocol |
GB2499856A (en) * | 2009-12-17 | 2013-09-04 | Ibm | Managed channel for asynchronous requests |
US8811397B2 (en) * | 2010-02-16 | 2014-08-19 | Ncp Engineering Gmbh | System and method for data communication between a user terminal and a gateway via a network node |
US8631277B2 (en) | 2010-12-10 | 2014-01-14 | Microsoft Corporation | Providing transparent failover in a file system |
US8627449B2 (en) | 2011-03-03 | 2014-01-07 | Cisco Technology, Inc. | Dynamic tunneling over virtual private network connections based on network conditions |
US9331955B2 (en) | 2011-06-29 | 2016-05-03 | Microsoft Technology Licensing, Llc | Transporting operations of arbitrary size over remote direct memory access |
US8856582B2 (en) | 2011-06-30 | 2014-10-07 | Microsoft Corporation | Transparent failover |
US20130067095A1 (en) | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Smb2 scaleout |
US8788579B2 (en) | 2011-09-09 | 2014-07-22 | Microsoft Corporation | Clustered client failover |
US9112908B2 (en) | 2013-05-31 | 2015-08-18 | International Business Machines Corporation | System and method for managing TLS connections among separate applications within a network of computing systems |
US9112907B2 (en) | 2013-05-31 | 2015-08-18 | International Business Machines Corporation | System and method for managing TLS connections among separate applications within a network of computing systems |
US10582022B2 (en) * | 2016-05-20 | 2020-03-03 | Citrix Systems, Inc. | Adaptive session reliability over multiple transports |
US20180376516A1 (en) * | 2017-06-21 | 2018-12-27 | Aruba Networks, Inc. | Establishing a Datagram Transport Layer Security Connection between Nodes in a Cluster |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5491800A (en) * | 1993-12-20 | 1996-02-13 | Taligent, Inc. | Object-oriented remote procedure call networking system |
US6141698A (en) * | 1997-01-29 | 2000-10-31 | Network Commerce Inc. | Method and system for injecting new code into existing application code |
GB0011020D0 (en) * | 2000-05-09 | 2000-06-28 | Ibm | Intercepting system API calls |
US7353380B2 (en) * | 2001-02-12 | 2008-04-01 | Aventail, Llc, A Subsidiary Of Sonicwall, Inc. | Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols |
US7360075B2 (en) * | 2001-02-12 | 2008-04-15 | Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. | Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols |
JP3819729B2 (ja) * | 2001-04-20 | 2006-09-13 | 株式会社エヌ・ティ・ティ・ドコモ | データ安全化通信装置及びその方法 |
US8020201B2 (en) | 2001-10-23 | 2011-09-13 | Intel Corporation | Selecting a security format conversion for wired and wireless devices |
-
2005
- 2005-03-10 US US11/077,892 patent/US7743245B2/en not_active Expired - Fee Related
-
2006
- 2006-03-08 EP EP06737846A patent/EP1856887A1/en not_active Ceased
- 2006-03-08 CN CN2006800074598A patent/CN101138218B/zh not_active Expired - Fee Related
- 2006-03-08 WO PCT/US2006/008710 patent/WO2006099200A1/en active Application Filing
- 2006-03-08 KR KR1020077020592A patent/KR100943551B1/ko not_active IP Right Cessation
- 2006-03-08 JP JP2008500988A patent/JP4712861B2/ja not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102550020A (zh) * | 2009-10-02 | 2012-07-04 | 瑞典爱立信有限公司 | 使用用于识别已丢失数据分组的校验和的重传的方法 |
CN102550020B (zh) * | 2009-10-02 | 2017-10-24 | 瑞典爱立信有限公司 | 使用用于识别已丢失数据分组的校验和的重传的方法 |
CN103036872A (zh) * | 2012-11-19 | 2013-04-10 | 华为技术有限公司 | 数据传输的加密和解密方法、设备及系统 |
CN103036872B (zh) * | 2012-11-19 | 2016-03-30 | 华为技术有限公司 | 数据传输的加密和解密方法、设备及系统 |
CN110247803A (zh) * | 2019-06-20 | 2019-09-17 | 成都积微物联集团股份有限公司 | 一种针对网络管理协议SNMPv3的协议优化架构及其方法 |
CN110247803B (zh) * | 2019-06-20 | 2022-05-20 | 成都积微物联集团股份有限公司 | 一种针对网络管理协议SNMPv3的协议优化架构及其方法 |
CN113259339A (zh) * | 2021-05-08 | 2021-08-13 | 珠海六点智能科技有限公司 | 一种基于udp的数据传输方法、系统及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2008538266A (ja) | 2008-10-16 |
WO2006099200A1 (en) | 2006-09-21 |
JP4712861B2 (ja) | 2011-06-29 |
US20060206705A1 (en) | 2006-09-14 |
US7743245B2 (en) | 2010-06-22 |
KR100943551B1 (ko) | 2010-02-22 |
CN101138218B (zh) | 2012-05-16 |
EP1856887A1 (en) | 2007-11-21 |
KR20070110344A (ko) | 2007-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101138218B (zh) | 用于在不兼容传输中支持安全性协议的方法和装置 | |
US10491575B2 (en) | Secure dynamic communication network and protocol | |
EP2850776B1 (en) | Tls abbreviated session identifier protocol | |
CN102801695B (zh) | 虚拟专用网通信设备及其数据包传输方法 | |
JP3992579B2 (ja) | 鍵交換代理ネットワークシステム | |
US7769871B2 (en) | Technique for sending bi-directional messages through uni-directional systems | |
US7143282B2 (en) | Communication control scheme using proxy device and security protocol in combination | |
US7913261B2 (en) | Application-specific information-processing method, system, and apparatus | |
EP1746801A2 (en) | Transmission of packet data over a network with a security protocol | |
CN102349264A (zh) | 卸载密码保护处理 | |
KR20160043044A (ko) | 대량의 vpn 접속들을 종료시키는 게이트웨이 디바이스 | |
CN104067595A (zh) | 用于在网络环境中的传输层安全会话票证的创新管理的系统和方法 | |
CN109040059B (zh) | 受保护的tcp通信方法、通信装置及存储介质 | |
JP2008228273A (ja) | データストリームのセキュリティを確保するための方法 | |
CN108064441B (zh) | 一种加速网络传输优化方法以及系统 | |
CN106850668B (zh) | 移动应用安全网络隧道 | |
CN104410612A (zh) | 一种用于文件传输协议的简单身份验证方法 | |
JP6075871B2 (ja) | ネットワークシステム、通信制御方法、通信制御装置及び通信制御プログラム | |
JP2011193055A (ja) | 通信装置および通信方法 | |
Seggelmann et al. | Strategies to Secure End-to-End Communication–And Their Application to SCTP-Based Communication | |
Tulimiero | An All-Round Secure IoT Network Architecture | |
Rao et al. | Development of a Transport Layer using SMS | |
WO2010030231A1 (en) | A method for secure communication | |
Singh et al. | File Transfer Using Secure Sockets in Linux Environment | |
Merlino | Embedded Security Improvements to IPv6 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120516 Termination date: 20190308 |