欢迎来到速发表网!

关于我们 登录/注册 购物车(0)

期刊 科普 SCI期刊 投稿技巧 学术 出书

首页 > 优秀范文 > ssl协议

ssl协议样例十一篇

时间:2022-11-01 10:30:20

序论:速发表网结合其深厚的文秘经验,特别为您筛选了11篇ssl协议范文。如果您需要更多原创资料,欢迎随时与我们的客服老师联系,希望您能从中汲取灵感和知识!

ssl协议

篇1

1 引言:

随着网络安全意识的普遍提升,越来越多的网络应用逐步采用了ssl加密传输。由于SSL技术采用了加密、认证、密钥协商等机制来保障通信双方数据传输的保密性、完整性和通信端点的认证,因此SSL协议目前在网银交易、邮箱登陆、数据加密传输等方面得到了广泛应用。但SSL协议在实现过程中为了满足兼容性和易用性的要求,自身仍然存在一定的脆弱性问题,攻击者可以利用SSL协议的弱点对其进行攻击以获取敏感信息。

2 SSL协议

安全套接层协议(SSL)是在Internet基础上提供的一种保证私密性的安全协议。它能使客户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对客户进行认证。SSL协议是建立在可靠的传输层协议(如TCP)之上,同时与应用层协议独立无关,高层的应用层协议(如:HTTP,FTP,TELNET等)能透明地建立于SSL协议之上(图1所示)。

从SSL的发展过程来看,目前主要包含了三个版本:SSLv2、SSLv3、TSL。SSLv2的首要设计目标是为客户端和服务器之间的传输提供保密性,但在协议安全性方面存在一定的安全隐患。SSLv3改善了SSLv2的部分安全性问题,采用了更多的加密算法,包括数字签名标准DSS、DH协议等,以及支持防止对数据流进行截断攻击的关闭握手。TLS在SSLv3的基础上又增强了对DH的支持和新的密钥扩展。

SSL协议在实现过程中主要包括两个阶段:握手和数据传输阶段。握手阶段主要对服务器进行认证并确立用于保护数据传输的加密密钥。SSL必须在传输应用数据之前完成握手,一旦握手完成,数据就被分成一系列经过保护的记录进行传输。在传输片段之前,SSL协议通过计算数据的MAC来提供完整性保护,将MAC付加到片段的尾部,并对数据与MAC整合在一起的内容进行加密,以形成经过加密的负载,最后给负载装上头信息,其过程如图2所示。

3 SSL协议脆弱性分析

3.1 密码强度问题

SSL协议是以CipherSuite(加密套件)的形式确定数据传输所使用的加密算法,SSL会话一次连接的所有加密选项都被捆绑成各种加密套件,由任意选取的两字节常量来表示。加密套件指定会话双方的认证算法、密钥交换算法、加密算法和摘要(消息完整性)算法。表1列出了SSL协议采用的部分加密套件:

从表1可以看出,SSL协议支持各种各样的加密套件,这些加密套件指定一组供连接使用的算法。这些算法的强度从较弱的可出口型(如40位模式的RC4)到强度较高的如3DES都包含在内,SSL连接的安全自然就有赖于它所使用的加密算法的安全。从目前的计算能力来看出口模式中如RC4_40和DES等加密算法都能被破译,若SSL连接采用此类加密算法,其加密数据的保密性就无从谈起,攻击者可以很容易利用现有的密码破译技术获取加密传输的数据。正常情况下SSL通信双方都会选择加密强度较高的加密套件,但以下两种情况可能在加密强度上为攻击者提供契机:

(1)由于客户端与服务器必须就共同的加密套件达成一致才能通信,服务器和客户端为了保持较好的交互性通常会提供较多可供选择的加密套件,其中不乏加密强度较弱的加密算法(图3所示),这为攻击者对SSL协议的攻击提供了一定的条件,例如攻击者可以尝试对SSL通信双方的会话过程进行干扰,迫使通信双方选择加密强度较低的加密算法,为攻击者对加密数据的破译提供条件。

(2)由于SSL协议中采用的各种加密和认证算法需要一定的系统开销,如SSL协议握手阶段对pre_master_secret的RSA私用密钥解密及计算master_secret和pre_master_secret的密钥处理都会消耗一定的系统资源,在数据传输阶段对记录的加密以及对记录的MAC计算同样会消耗系统资源。而高安全的加密算法在系统开销上需要消耗较多系统资源,因此SSL协议在某些应用的实现过程中会采用较低加密强度的密码算法,这也会为攻击者提供破译条件。

3.2 版本兼容问题

SSL协议从设计和使用过程来看主要包括SSLv2、SSLv3、TLS三个版本,每个后续版本都对前一版本的安全性问题进行了改进,因此高版本协议能够较好地保障通信安全。但为了方便实际应用,SSL协议是允许向下兼容,会话双方可以通过协商采用低版本协议进行通信,并且该过程可以自动完成不需要用户进行干预。这样就产生了潜在的版本翻转攻击威胁,攻击者可以降低协议版本再利用低版本协议存在的脆弱性问题对通信过程进行攻击。其中SSLv2对协议的握手过程没有很好的保护措施,将导致攻击者对SSL协议握手过程进行攻击,进而对加密算法进行篡改。图4展示了SSLv3和TLS协议的握手过程:

从图中可以看出SSLv3和TLS协议在握手结束后会对之前的协商过程进行MAC值的校验(图4中第5、6步所示),并且其校验值是以加密的形式进行传输,这样可以有效防止攻击者对握手过程的篡改,保障了协商过程的可靠性。而SSLv2协议恰好缺乏对握手过程MAC值的校验,攻击者可以在SSL通信的握手过程中伪冒其中一方对协议版本进行篡改,迫使通信双方采用低版本的SSL协议进行通信,由于缺乏握手过程的校验,该攻击可以顺利实施。

SSLv2协议还存在另一个问题,它仅仅使用TCP连接关闭来指示数据结束,这意味着它可能受制于截断攻击。由于SSL协议是构建于TCP协议之上,而TCP协议自身并不是一种安全性协议,它对TCP会话的完整性、有效性和一致性没有很好地保障,攻击者可以简单地伪造TCP FIN数据报,而接收者无法辨别出它是否是合法的数据结束标志,从而误认为数据接收完成。SSLv3之后的协议通过使用显式的关闭警示缓解了这一问题。

4 结束语

利用SSL协议进行加密传输的方式在日常应用中大量存在,除本文中提到的攻击方法外,攻击者仍在尝试更多的攻击途径。对于敏感的信息和通信过程应该采用多种加密方式共同完成,提高攻击的难度,降低敏感信息被窃取的风险。

参考文献

[1] 埃里克・雷斯克拉,SSL与TLS,2002.

篇2

VPN(Virtual Personal Network,虚拟专用网)是通过一个私有的通道将远程用户、公司分支机构、公司业务伙伴等与公司的企业网连接起来,构成一个扩展的公司企业网,通过在公共网络中建立专用网络,数据通过安全的“加密通道”在公共网络中传播。SSL VPN是一种新的VPN的实现方法,是可靠安全地构建VPN的一种模式。

一、SSL协议

1.SSL概述

SSL(Secure Socket Layer,安全套接层)协议是 Netscape 公司于1994年提出的一个网络安全通信协议,是一种在两台机器之间提供安全通道的协议。它具有保护传输数据,以及识别通信机器的功能。SSL最初是通过加密HTTP连接为Web浏览器提供安全而引入的。

SSL在TCP上提供一种通用的通道安全机制,任何可以在TCP上承载的协议都能够使用SSL加以保护。在TCP或IP四层协议族中,SSL协议位于传输层与应用层之间,基于可靠传输协议TCP,服务于各种应用层协议,如HTTP、POP、TELNET等,它们在SSL协议上运行分别被称作HTTPS、POPS、TELNETS协议等,分别对应的端口号为443、995、992等。

图1 SSL协议结构图

2.SSL体系结构

SSL协议在结构上分为两个层次:底层为记录层协议(Record Protocol),负责封装高层协议(包括握手协议)的数据,保证SSL连接的数据保密性和完整性;高层为握手层,由四个并行的协议构成:握手协议(Handshake Protocol)、修改密码参数协议(Change Cipher Spec Protocol)、报警协议(Alert Protocol)、应用数据协议(Application data Protocol),高层协议需要记录层协议支持,其中握手协议与其他的高层协议不同,主要负责在交换应用层数据之前进行协商加密算法与密钥,其他高层协议属于应用开发的范畴,而要得到握手协议的支持,而握手协议则是SSL底层实现必须具有的功能,因为记录层协议的完成也由它来保证。

二、基于SSL协议的VPN技术研究

1.SSLVPN概念

SSL VPN是指一种基于数据包封装技术的,利用SSL或TLS协议结合强加密算法和身份认证技术的,可靠安全地构建VPN的一种方法。它作为一种新的VPN的实现方法,SSL VPN可以用来构建外联网、内联网和远程接入访问。它通过数据包封装的隧道技术来实现虚拟专用网的私有性,通过PKI技术和密码学技术来鉴别通信双方的身份和确保传输数据的安全。

2.SSL VPN的工作模式

(1)基于Web模式的SSL VPN系统

客户端使用浏览器通过SSLVPN 服务器来访问企业局域网的内部资源。SSLVPN 服务器相当于一个数据中转站,Web浏览器对WWW服务器的访问经过SSL VPN服务器的处理(解密、身份鉴别、访问控制)后转发给WWW服务器,从WWW服务器发往Web浏览器的数据经过SSL VPN服务器处理(过滤、加密)后送到Web浏览器。

图2 基于Web模式的SSL VPN系统

(2)基于客户模式的SSL VPN

用户在客户端安装一个SSL VPN客户端程序,当客户端访问企业内部的应用服务器时,需要经过SSL VPN客户端程序和SSL VPN服务器之间的保密传输后才能到达。从而在SSLVPN客户端和 SSLVPN服务器之间,由SSL协议构建一条安全通道,保护客户端与SSLVPN服务器之间的数据传输。此时,SSLVPN服务器充当服务器的角色,SSL VPN客户端充当客户端的角色。

图3 基于客户端模式的SSL VPN系统

(3)局域网到局域网模式的SSL VPN系统

在网络边缘都安装和配置了SSLVPN服务器。当一个局域网内的终端要访问远程网络内的应用服务器时,需要经过两个SSL VPN服务器之间的保密传输后才能到达。从而在两个SSLVPN服务器之间,由SSL协议构建一条安全通道,保护局域网之间的数据传输。此时,SSL VPN服务器充当安全网关的角色。

图4 局域网到局域网模式的SSL VPN系统

参考文献:

篇3

 

SSL 是Security Socket Layer 的缩写,称为安全套接字,该协议是由Netscape 公司设计开发。使用SSL 可以对通讯内容进行加密,以防止监听通讯内容,主要用于提高应用程序之间的数据的传输安全。SSL协议分为三个子协议:

(1)握手协议,用于协商客户端和服务器之间会话的安全参数,完成客户端和服务器的认证。

(2)记录协议,用于交换应用数据,所有的传输数据都被封装在记录中,主要完成分组和组合,压缩和解压缩,以及消息认证和加密等功能。

(3)警告协议:用来为对等实体传递SSL的相关警告。

SSL协议的实现有Netscape开发的商用SSL包,还有在业界产生巨大影响的Open SSL软件包。目前在国内的金融系统中,广泛使用OPENSSL软件包进行应用开发。

网上银行因为考虑易用性,大部分采用单向SSL认证.单向认证 SSL 协议不需要客户拥有 CA 证书。X509数字证书是SSL的重要环节,CA证书的任务就是确保客户和服务器之间的会话,并且保证使用的密钥是正确的。缺少了这个重要的环节,SSL中间人攻击也就难免了。

现在的网上银行因为考虑易用性,大部分采用单向SSL认证,这正是SSL中间人攻击的理论依据。

对于SSL中间人攻击,以CAIN工具软件为例:

首先在SNIFFER窗口中进行一次本网段的扫描探测

很快找到所有当前跟在同一网段内的活动主机IP地址与其MAC地址的对应关系。今天我们要欺骗演示的实验对象是192.168.121.199,这是另一台的笔记本电脑IP地址。

获取到IP地址与MAC地址的对应关系后,继续到ARP的子窗口中,选择添加欺骗主机在窗口左边选中当前网络的网关IP地址就是192.168.121.129,窗口右边选中我们要欺骗的IP地址192.168.121.199,选中后直接确定生效。毕业论文,SSL协议。毕业论文,SSL协议。

然后在ARP-HTTPS的选择树中添加一个当前我们需要伪装的HTTPS站点,选择确定后CAIN会自动把这个站点的证书文件下载回来备用。毕业论文,SSL协议。

一切准备就绪后,就可以点击CAIN工具栏中的ARP模式开始工作了。毕业论文,SSL协议。CAIN软件在后台采用第一章的ARP欺骗攻击的方式将被欺骗主机与 HTTPS网站间的通讯切断,在中间插入我们伪造的证书给被欺骗主机,同时伪装成为中间人代替它与HTTPS站点通讯。CAIN在其中把所有的通讯数据包 进行加密解密再加密传递的过程,当然所有原始的访问行为在这一过程中都被我们获取到了。

对于被欺骗主机在实际打开IE访问中,感觉不到任何异常本地显示依然是安全的SSL128位加密,只是不知道所有的访问行为在CAIN中都可以VIEW的方式来查看到了。

在VIEW的窗口中我们可以查看到所有通讯的访问原始记录,包括此台笔记本的登陆帐号与口令信息。

网上银行存在的攻击风险归其原因是SSL协议使用不健全导致,安全的解决方案建立以PKI技术为基础的CA认证系统,加入已经在运行的可靠的CA。 CA体系建立或加入时,通过对网上交易系统的二次开发,将数字证书认证功能嵌入到整个网上交易过程中去,这将实现基于数字证书的身份认证、通信安全、数据安全和交易安全。

篇4

关键词:SSL VPN技术;安全优势;安全隐患

1概述

随着互联网及移动设备的发展,通过公共网络访问局域网的需求越来越大,同时,安全性的问题也就越来越突出。用户对使用过程的可靠性、灵活性、安全性等方面也有了更高的要求。SSLVPN是解决远程用户通过公共网络访问内网数据的技术之一,与以往的IPSec VPN相比,它通过内嵌在浏览器中的SSL协议进行访问,从而不需要像传统IPSec VPN一样必须为每一台终端安全客户端软件,实现了访问的便捷性。

2SSLVPN的概念与特征

SSL(安全套接层)协议是一种在互联网上保证发送信息安全的通用协议,是目前在Web浏览器和服务器之间发挥身份认证和加密数据传输的重要协议。它位于TCP/IP协议与应用层协议之间,为各项数据通讯提供安全支持。

SSL协议可分为两层:SSL记录协议fSsL Record Protoc01):它建立在可靠的传输协议(如TCP)之上,为数据的传输提供数据封装、压缩、加密等功能。SSL握手协议(SSL Handshake Protoed):它建立在SSL记录协议之上,主要用于检测用户的账号密码是否正确,在实际的数据传输开始前,对通讯双方进行身份认证,交换加密密钥等。

VPN(“VirtualPrivate Network)即是虚拟专用网络,利用认证、加密、安全检测、权限分配等一系列手段来构建的安全业务网络。一个完整的SSLVPN系统主要由服务器、网关、客户端组成,服务器即是内网中所需访问的资源,客户端即是互联网中需要访问服务器资源的Web浏览器,网关即是SSL VPN服务器,是整个系统访问控制的核心。客户端通过浏览器发出请求,SSL VPN服务器收到请求后与客户端浏览器建立SSL安全连接,并代替客户端向所需访问服务器发出请求,服务器响应后SSLVPN将接收到的响应数据进行转换,通过SSL安全连接发送给客户端。

3SSL VPN的安全特征分析

3.1安全优势

SSL VPN是一系列基于web应用的传输协议,包括服务器认证、客户身份认证、SSL链路数据完整性及保密性认证等,@对于数据传输的安全性和保密性有着重要意义。

SSLVPN基于Web设计,主要通过互联网实现从公网到内网的访问。用户在登录VPN时要通过三层防护:第一层就是用户和主机服务器之间的安全验证,这一层主要验证用户的秘钥、安全证书是否正确,所登录服务器是否合法,确保服务器和个人信息不被泄露。第二层主要用多种算法来保护数据的安全性,SSL协议在主机服务器和用户之间建立一条安全隧道,通过隧道向用户传送数据。第三层是多重加密和验证技术,通过握手协议,检测用户的账号密码的正确性,在主机服务器和个人用户之间验证双方身份真实性,再通过记录协议打包数据,加密压缩数据包,发送过程中再次加密传输。

SSL VPN采用对称密码体制和非对称密码体制的加密算法进行加密,通过建立安全隧道保证信息传输的安全陛。访问采用takey文件从而在一定程度上减少了黑客对内网的安全威胁。并提供客户端和服务器端的双向认证,容易实现权限、资源等的控制。

3.2存在的安全隐患

对于该数据传输方式,可以较大限度保障数据和用户的使用安全,但此种方式并非无懈可击,由于SSLVPN采用Web服务器作为客户端,因此浏览器的安全性直接关系到SSLVPN的安全,浏览器的安全隐患也会成为SSL VPN的安全隐患,如果用户退出时只是关闭浏览器而并未关闭SSLVPN服务进程,或者用户在公共场所登录系统,就会增加用户资料的泄露风险。在建立SSL VPN连接时,蠕虫或其他电脑病毒也可能会通过建立的隧道感染内部服务器。

对于这些安全隐患,SSL VPN也逐步引入了令牌或短信认证、用户端无操作将强制下线等手段,管理员也可以对用户按角色进行划分,根据不同角色确定不同的资源访问权限,最大限度避免用户端的安全风险。在数据传输过程中,也可以通过不断提高应用层过滤技术来抵制病毒风险等。

4 SSL VPN的应用

由于SSL、VPN操作的便捷性和使用的安全性,越来越多的行业都逐步开始使用SSL VPN。用户通过Web浏览器就可以访问内部网络,这使得用户可以随时随地通过任意一台电脑,或者通过其他移动设备时进行内部业务数据的访问。

部署SSL VPN服务器时即是部署在内网的边缘,介于服务器与远程用户之间,是远程用户访问内网的大门,控制二者的通信。当用户通过电脑或其他移动设备远程访问内网时,则先通过互联网向SSLVPN服务器发出请求,也就是认证步骤,通过认证后,SSL VPN服务器根据访问者的身份权限建立连接,使其可以并仅可以访问允许的服务器数据。

篇5

1  引言

随着计算机技术和Internet的飞速发展,商业活动实现了电子化,从而发展成为电子商务。电子商务借助互联网、企业内部网和增值网等计算机与网络和现代通信技术,按照一定的标准,利用电子化工具,将传统的商业活动的各个环节电子化、网络化,从而以数字化方式来进行交易活动和相关服务活动。

电子商务包括电子货币交换、供应链管理、电子交易市场、网络营销、在线事务处理、电子数据交换(EDI)、存货管理和自动数据收集系统。电子商务完全不同于传统的商务活动,它是一种以网络为载体的新的商务运作方式。

(1)SSL不能提供交易的不可否认性。SSL协议是基于Web应用的安全协议,它只能提供安全认证,保证SSL链路上的数据完整性和保密性。却不能对电子商务的交易应用层的信息进行数字签名,因此,SSL不能提供交易的不可否认性,这可以说是SSL在电子商务中最大的缺陷。

(2)SSL只能提供客户机到服务器之间的两方认证,无法适应电子商务中的多方交易业务。

(3)SSL易遭受Change Cipher Spec消息丢弃攻击。由于SSL握手协议中存在一个漏洞:在finished消息中没有对变换加密的说明消息进行认证处理,在接收到该消息前,所有的密码族都不做任何加密处理和MAC保护,只有在接收到Change Cipher Spec消息之后,记录层才开始对通信数据进行加密和完整性保护。这种处理机制使得SSL易遭受Change Cipher Spec消息丢弃攻击。

(4)SSL无法避免通信业务流分析攻击。由于SSL位于TCP/IP的协议层之上,因此,无法对TCP/IP协议头部进行保护,导致潜在的隐患。攻击者通过获取IP地址、URL请求的长度以及返回的Web页面的长度等信息,可以分析出用户访问的目标,再加上SSL协议只支持对 块密码的随机填充,没有提供对流式密码算法的支持,使得SSL无法阻止这类攻击。

4  总结

电子商务正飞速地发展。用于保障电子商务活动的安全协议主要有S-HTTP、STT、IKP、SET和SSL。其中SSL协议是目前电子商务采用的主要的网上交易协议。SSL协议采用了加密、认证等安全措施,结合了Hash算法,较好地保证了数据在传输过程中的保密性、可靠性和完整性,在一定程度上放置了欺骗、篡改、重放等攻击。本文在介绍SSL协议栈及其工作原理和机制的基础上,对基于SSL的电子商务的安全性进行了分析。

参考文献:

篇6

中图分类号:TN918.1 文献标识码:A 文章编号:1007-9599 (2012) 21-0000-02

1 引言

SSL协议是如今已经广泛应用于Internet的网络安全方案,它以多种密码技术为基础,实现用户身份鉴别、数据加密传输、数据完整性校验等安全功能。正是由于SSL协议的重要性,在应用过程中存在的漏洞可能会被别有用心的攻击者利用,所以很有必要对SSL协议存在的不足进行分析并弥补。目前已有使用形式化分析方法如BAN逻辑、Kailar逻辑等分析SSL协议的文章[1],本文从加密密钥攻击,中间人攻击,不能抗抵赖等方面详细分析SSL协议,提出改进方案,设计基于SSL的“双密钥机制”认证密钥协商协议,弥补SSL协议的不足,提高其在实际工程应用中的网络安全性。

2 SSL协议漏洞

SSL协议处于TCP协议和上层应用协议之间,属于传输层安全机制。从结构上分为两层,底层为记录层协议,高层则由握手协议、密码规范变更协议、报警协议、应用数据协议4个并列协议构成。连接分为握手和数据传输两个阶段。握手阶段对服务器进行认证并协商加密密钥。密码规范变更协议指示发送端已切换至新协商好的密钥套件,之后发送的消息将使用那些密钥保护。报警协议为客户端与服务器间传递SSL的相关警告。

2.1 攻击加密密钥

在标准的SSL协议中,用于加密数据的会话密钥和MAC密钥都由预主密钥、客户端随机数、服务器端随机数三部分计算产生。双方随机数明文发送,预主密钥受服务器公钥保护,协议的安全性完全依赖于预主密钥。在服务器端公私钥均安全的情况下,还存在绕过主密钥和密钥块的生成,直接对密钥块的相关字节进行穷举的攻击。以SSL_RSA_EXPORT_WITH_RC4_40_MD5算法组为例,加密密钥是由密钥块中的5字节密钥和两个32字节随机数经MD5算法压缩产生。其中只有密钥块的5字节密钥未知,攻击者可以直接对5字节密钥进行穷举,计算加密密钥,利用Finished前4个字节判断密钥正确与否,穷尽量小于240,是可以实现的。

2.2 中间人攻击

实体在接收到更改密钥规范消息之前,发送的消息不进行加密或消息认证,接收到更改密钥规范消息之后,将当前的密钥套件替换为商定的密钥套件,此后记录层可以加密保护传输数据。然而,由于更改密钥规范消息未被保护,可能存在如下攻击。若密钥套件中只包含消息认证密钥而没有加密密钥。攻击者可以拦截并丢弃客户端的更改密钥规范消息,这样服务器不会更新密钥套件,记录层也不会进行加密或消息认证。余下协议继续进行,攻击者可以从客户端的Finished和会话数据中剥除记录层的消息认证字段,篡改会话数据,而接收端期望接收到的正是没有加密和消息认证字段的数据,故攻击不会被发现。

2.3 不能提供不可否认性

SSL 协议不能提供通信双方的不可否认性。对于电子商务、网银充值转帐、电力系统远程充电拉闸等应用来说,使用SSL可保证信息的真实性、完整性和保密性。但由于SSL 不对应用层的消息进行数字签名[2],因此不能提供交易的不可否认性,这是SSL 在实际应用中用的最大不足。

3 安全性增强机制

3.1 引入kerberos机制

本协议中引入Kerberos机制的思想,利用KDC密钥分发中心为客户端发放票据并分发对称密钥,之后使用该对称密钥来保护握手过程。

认证服务交换阶段:完成客户向KDC请求与TGS通信时使用的票据TGT,以及会话密钥的过程;授权服务交换阶段是客户向TGS请求与最终应用服务器进行通信所需要的票据和会话密钥的过程;经过客户/应用服务器交换阶段后,客户获得与应用服务器进行通信所需要的票据和会话密钥。整个协议交换过程结束,客户端和服务器之间共享加密密钥Ⅰ,之后就用加密密钥Ⅰ保护双方的握手流程,协商加密密钥Ⅱ。

3.2 隐藏重要参数

协议使用服务器公钥加密预主密钥,对称密钥Ⅰ加密n1,并对n2采取异或方式进行隐藏。客户端生成随机数n1后使用对称密钥Ⅰ加密发送给服务器,服务器解密得到n1,并生成随机数n2,将n1与n2异或的结果返给客户端,客户端利用本地存储的n1解出n2,至此n1与n2交换成功。随机数密文发送在很大程度上保护了主密钥、密钥块及加密密钥的安全,即使攻击者攻破预主密钥,在得不到随机数的情况下也算不出主密钥,即使攻破主密钥,也须要同时攻破n1,n2才能得到密钥块,即使破解密钥块,也要在得到随机数的情况下才能获得加密密钥,这就相当于赋予加密密钥三层防护,较SSL协议的安全性更进了一步。

3.3 改进Finished计算

对Finished值的计算方法进行改进,将Change Cipher Spec字段包含进Finished值的计算,计算过程为md5_hash:MD5(master_secret + pad2 + MD5(handshake_messages + Change cipher spec messages + Sender + master_secret + pad1))。将Change cipher spec消息包含进Finished的计算后,若发生“丢弃更改密钥规范消息”攻击,双方计算出的Finished消息将会不同,这时该攻击就会被发现,客户端与服务器端重新开始握手。

3.4 增加签名协议

数字签名算法复杂,运算时间长,如果对每个消息都要进行签名计算与验证的话,将会大大影响协议的效率。而且在真正应用时一般只对重要的操作签名验签,因此考虑在独立于SSL握手协议、记录协议的情况下增加SSL签名协议。SSL签名协议如文献[3]所述,用于处理需要进行数字签名的数据的信息传递、签名与验签。SSL签名协议在握手完成后传递应用数据时开始使用,弥补了SSL在对应用数据进行数字签名能力方面的不足,同时通过数字签名的校验也可以提高身份认证的能力。

4 基于SSL的“双密钥机制”认证密钥协商协议描述

客户端首先向KDC密钥分发中心申请与服务器通信的票据及其与服务器的共享对称密钥,申请成功后向服务器出示票据,服务器应答,若成功,则第一次身份认证通过,双方开始握手流程。客户端向服务器发送经共享密钥加密后的客户端随机数n1,服务器解密得到n1后将n1与n2异或后返回,其它密钥交换流程同SSL协议,但本协议Finished值的计算包含了change cipher spec,具体流程如图2所示:

客户端向KDC密钥分发中心申请票据及加密密钥的过程无须在每次通话都进行,只需初始通信时申请一次,之后设定时间节点,当距离上次通信时间大于此节点时,重新申请,否则直接利用之前分发的密钥保护参数即可。

5 结论

随着SSL协议的应用越来越广泛,人们对其安全性[4]的要求也越来越高。本文分析了SSL协议在实际应用时可能遭受的攻击,描述了完整的攻击思路,在此基础上设计了一套基于双密钥机制的认证密钥协商协议。在标准SSL协议的基础上引入Kerberos机制事先分发对称密钥,使客户端和服务器动态共享对称密钥;对双方随机数采用异或等方式隐藏;将更改密钥规范消息包含进Finished消息的计算。经安全性分析,协议弥补了SSL在前述所受攻击方面的漏洞。本协议在保证信息的真实性、完整性和保密性的基础上,引入SSL签名协议为应用数据提供了不可否认性。

参考文献:

[1]David Wagner, Bruce Schneier, "Analysis of the SSL 3.0 protocol", USENIX Workshop on Electronic Commerce, ACM.

[2]Yvo Desmedt Dr. Fiat–Shamir identification protocol and the Feige–Fiat–Shamir signature scheme[M]. Encyclopedia of Cryptography and Security. Springer, 2011:457-458.

[3]张峰岭.SSL数字签名协议[J].计算机工程,2003,29(7):37-40.

[4]Jonathan Katz,Philip MacKenzie, Gelareh Taban,Virgil Gligor. two-server password-only authenticated key exchange[J].Journal of Computer and System Sciences, March 2012, 78(2): 651-669.

篇7

0 引言

控制平面是体现ASON智能特性的核心部分,ASON的正常运行主要依赖于控制平面的3个基本功能:信令功能、路由功能和资源管理功能。相应地,控制平面所使用的协议也主要包括三大部分:信令协议、路由协议和链路资源管理协议。目前,相关组织已经展开了协议的制定工作,IETF通过对IP网络中原有协议的改进,提出了一种通用多协议标签交换GMPLS的协议框架,并把对这种可应用于多种技术网络的控制协议应用于ASON中。

1 GMPLS技术

随着光网络的部署,IP面临的接口类型也日趋多样化,原来MPLS要求承载IP数据的LSP起始于一个路由器,但很多实际的网络管理域可能以其它网络设备为界,所以MPLS需要支持多种类型的接口。

GMPLS就是一种在MPLS技术基础上扩展起来的、支持多类型交换的通用技术,一方面它沿用了MPLS原有的技术,如控制与转发相分离、标签交换、路由技术、信令技术等;另一方面,又对MPLS进行了扩展,从而使其不仅支持分组交换,而且还支持时域的TDM交换、光域的波长交换、空间域的光纤交换等多种类型交换。

GMPLS控制平面的主要功能是:自动发现、状态信息分发、路由功能、信令控制、连接管理等,所以能比较好地实现ASON的各种功能。因此,伴随着光传送网逐步向智能化方向迈进,在SDH或OTN层面上加载GMPLS控制技术是实施ASON的首选方案。

1.1 GMPLS标签

为了支持多种类型的交换,GMPLS对原MPLS标签在时域和光域都进行了扩展,将光纤、波长、TDM时隙等也用标签进行统一标识,从而使其成为不仅可以支持以太网、IP、ATM的数据交换,而且还可以支持TDM电路交换(SDH)、波长交换、光纤交换的通用标记。

1.2 标签交换通道LSP

GMPLS可以构建多种类型的LSP,如分组LSP、TDMLSP、波长交换的LSP等。

在建立LSP时一般也是由入口节点向出口节点提出建立LSP的请求,然后由出口节点返回应答、提供FEC、标签绑定信息等。GMPLS在“标签请求”中增加了对要建立LSP的说明,如LSP的编码类型、负荷类型等。对于建立光连接的LSP,为了减少LSP的建立时间,GMPLS定义了一个“建议标签”,它采用标签由入口节点发出,不需要得到出口节点确认便进行硬件配置的方法。

另外,GMPLS会同时建立双向对称的LSP,而不像MPLS那样需要分别建立两次单个的LSP。GMPLS建立的LSP具有嵌套功能,即分组的LSP可以嵌入到TDM LSP之中,而TDM LSP又可以嵌入到光交换LSP之中等,从而提高了网络资源的利用率[3]。

2 GMPLS协议

控制平面的控制作用主要是通过软件即相关协议完成的,GMPLS 的相关协议主要包括路由协议、信令协议与链路管理协议[4]。

2.1 路由协议

GMPLS基本上沿用了MPLS的路由协议,如OSPF-TE或IS-IS-TE协议,以完成路由的计算与选择等功能。但为了支持多类型交换,GMPLS对原路由协议进行了扩展[5],GMPLS对路由协议的扩展主要包括:支持无编号链路(不具有IP地址的链路如光波长链路),指示链路保护类型(LPT)、增加了接换能力描述符、带宽编码、链路捆绑等。此外,为了可以查出哪个物理设备可能会被一个普通的错误事件影响,GMPLS路由也引入了共享风险链路组(SRLG)的概念。GMPLS-OSPF和GMPLS-ISIS则分别描述了OSPF-TE和ISIS-TE对扩展功能的具体实现方式。GMPLS路由协议主要用于I-NNI接口的路由,即ASON域内路由。

2.2 信令协议

GMPLS基本上也沿用了MPLS的信令协议如RSVP-TE或CR-LDP协议,以完成资源预留、建立标签交换通道LSP。同时也对原信令协议进行了扩展,明显的扩展有以下几点:

(1)扩展标签:将MPLS中的标签概念扩展后用来包含不同标签格式,以符合分组交换和电路交换技术。

(2)普通端到端(End-to-End)标签:此扩展允许网络中的交换机判定一个普通端到端标签。在没有波长转换且相同波长(标签)必须使用端到端的全光网络中,这个特性很有用。

(3)双向性:GMPLS信令扩展支持建立单向和双向连接。而在MPLS-TE中仅仅支持单向LSP。

(4)控制平面和数据平面的分离:MPLS-TE信令和数据在相同的网络接口中传输。而GMPLS信令允许控制接口和数据接口分离开来。因此,可以用一条单独的控制链路来控制网元之间的多条数据链路。此外,GMPLS信令还有这样的设计:控制平面的错误不会影响数据在先前建立的连接里面传输。

(5)控制平面重启程序:这些扩展允许网元在一个节点或者一条链路出现故障之后可以恢复它们的信令控制状态。

2.3 链路管理协议

LMP是 GMPLS 用于管理链路的协议,主要有4个功能,即控制通路管理、链路特性关联、链路连通性检验、故障管理。其中前两个功能是必须的,后两个功能是可选的[6]。

(1)控制通路管理

所谓控制通路,就是在两相邻结点的互相可达接口之间可以进行通信(主要是控制信息)以支持路由、信令与管理的链路。控制链路可以用多种方法实现,如光纤、WDM的波长、以太网链路、IP隧道与数据链路的开销字节等。LMP并不具体规定控制通路的实现方法。控制通路管理就是在两个相邻结点之间建立并保持、维护控制通路。它是通过在相邻结点接口之间交换“配置”消息与不断地交换“Hello”消息实现的。

(2)链路属性关联

链路属性关联是用来实现TE链路属性的同步和配置的校验,可进行链路绑定,可以修改、关联和交换链路的流量工程参数。LMP使用的相应消息有:“链路汇总”、“链路汇总应答”(Ack)、“链路汇总非应答”(Nack)。

(3)链路连通性检验

链路连通性验证用来证实数据链路的物理连通性,动态发现TE链路和接口ID的映射关系。链路连通性检验通过在数据链路上发送“测试”消息,在控制通路上反馈“测试状态”消息来实现。“测试”消息只能在数据链路上传送的LMP消息,而“测试状态”消息的交换通路是在控制通路上进行。在检验过程中,“Hello”消息将连续不断地在控制通路上进行交换。

综上所述,GMPLS可以提供一套构建ASON的完整解决方案。基于GMPLS的ASON控制平面不仅能够支持包括分组、TDM、光波长等多类型业务交换,把交换与传输融合在一起,而且还能提供自动呼叫与连接、网络的保护与恢复等多项功能。

【参考文献】

篇8

中图分类号:TP393

文献标识码:A 文章编号:1672-7800(2015)005-0154-04

作者简介:牛乐园(1990-),女,河南许昌人,中南民族大学计算机科学学院硕士研究生,研究方向为信息安全。

0 引言

人类建立了通信系统后,如何保证通信安全始终是一个重要问题。伴随着现代通信系统的建立,人们利用数学理论找到了一些行之有效的方法来保证数字通信安全。简单而言就是将双方通信的过程进行保密处理,比如对双方通信的内容进行加密,这样可有效防止偷听者轻易截获通信内容。SSL(Secure Sockets Layer) 及其后续版本 TLS(Transport Layer Security)是目前较为成熟的通信加密协议,常被用于在客户端和服务器之间建立加密通信通道。TLS是安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。截至目前其版本有1.0,1.1、1.2[1],由两层协议组成:TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。

1 TLS协议结构

TLS协议是对SSL协议规范后整理的协议版本,建立在可靠的传输层上,如TCP(UDP则不行)。应用层可利用TLS协议传输各种数据,来保证数据的安全性和保密性[2]。

安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS 记录协议(TLS Record)和TLS握手协议(TLS Handshake)。较低层为 TLS记录协议,位于某个可靠的传输协议(如TCP)上。

TLS记录协议是一种分层协议。每一层中的信息可能包含长度、描述和内容等字段。记录协议支持信息传输、将数据分段到可处理块、压缩数据、应用 MAC、加密以及传输结果等,并对接收到的数据进行解密、校验、解压缩、重组,然后将它们传送到高层客户机。

TLS记录层从高层接收任意大小不间断的连续数据。密钥计算:记录协议通过算法从握手协议提供的安全参数中产生密钥、IV 和 MAC 密钥。TLS 握手协议由3个子协议组构成,允许对等双方在记录层的安全参数上达成一致、自我认证、例示协商安全参数、互相报告出错条件。

TLS握手协议由3种协议封装,包括改变密码规格协议、警惕协议、握手协议。TLS协议结构如图1所示。

2 TLS1.2消息流程

在整个通讯过程中,为实现TLS的安全连接,服务端与客户端要经历如下5个阶段[3]:①Client申请链接,包含自己可以实现的算法列表以及其它信息;②Server回应链接,回应中确定了这次通信所使用的算法,将证书发送给对方,证书中包含了自己的身份和公钥;③Client在收到消息后会生成一个秘密消息ClientKeyExchange――(此秘密消息经处理后,将用作加密密钥(会话密钥)),用Web服务器的公钥加密并传至Server;④Server再用私钥解密秘密消息ClientKeyExchange,并进行处理,生成会话密钥(用于之后的数据加密),会话密钥协商成功;⑤Client和Server得到会话密钥,并用此会话密钥进行数据加密。

TLS1.2在传输层协议的消息主要包含8条消息,消息结构如图2所示,分别是ClientHello版本协商、ServerHello版本协商、Server Certificate证书消息、HelloDone接收结束标识、 ClientKeyExchange即Client交换密钥消息、Client的Finished消息、CertificateVeri验证证书消息、Server的Finished消息。

2.1 ClientHello和消息

ClientServer

client_version|| client_random|| session_id|| cipher_suites|| compression_methods|| extensions

消息描述:该消息包括客户端的版本号client_version,用于告知服务器client可以支持的协议最高版本,来协商安全协议版本。client_random是client产生的一个随机数,由client的日期和时间加上28字节的伪随机数组成,用于后面的主密钥计算。session_id由服务连接得到,发送给server来建立一个新的会话连接。cipher_suites是client提供给server可供选择的密码套件,用于协商密钥交换,数据加密以及散列算法。compression_methods是客户端支持的压缩算法。extensions是客户端的扩展域。

client_version: Protocol version(协议版本),该字段表明了客户能够支持的最高协议版本3.3。

random:它由客户的日期和时间加上28字节的伪随机数组成,该客户随机数将用于计算master secret(主秘密)和prevent replay attacks(防止重放攻击)。

session_id:一个会话ID标识一个可用的或者可恢复的会话状态。一个空的会话ID表示客户想建立一个新的TLS连接或者会话,而一个非空的会话ID表明客户想恢复一个先前的会话。session_id有3个来源:①之前的会话连接;②当前连接,客户端仅仅想通过更新random结构得到连接值时使用;③当前激活的连接,为了建立几个独立的连接而不再重复发起连接握手。

2.2 ServerHello消息

ServerClient:

server_version||server_random|| session_id|| cipher_suites|| compression_methods|| extensions

消息描述:该消息包含6个消息项,server_version取客户端支持的最高版本号和服务端支持的最高版本号中的较低者,本文所用的是TLS1.2。server _random是服务端生成的随机数,由服务器的时间戳加上28字节的伪随机数组成,也用于主密钥的生成。session_id提供了与当前连接相对应的会话的标识信息。从客户端处接收到会话标识后,服务器将查找其缓存以便找到一个匹配的session_id。

server_version: Protocol version(协议版本),取客户端支持的最高版本号和服务端支持的最高版本号中的较低者。TLS版本为3.3。random:它由客户的日期和时间加上28字节的伪随机数组成,该客户随机数将用于计算master secret(主秘密)和prevent replay attacks(防止重放攻击)。session_id:该域提供了与当前连接相对应的会话的标识信息。如果从客户端接收到的会话标识符非空,则服务器将查找其缓存以便找到一个匹配。

2.3 Server Certificate消息

ServerClient:

version||serialNumber||algorithmIdentifier||issuer||utcTime||subject_name||subject_key_info|| signature

消息描述:该项消息为可选项,证书主要包含4部分内容,version是证书版本,文章统一定为X509v3。主体名称指明使用该证书的用户为server_subject。subject_key_info是证书包含的公钥信息,该消息项有两项内容:一个是证书的公钥,发送给client后用于加密client生成的预主密钥,并把密文信息发送给server。server收到该密文信息后可以使用自己的私钥解密得到预主密钥;另一个是所用的散列算法。signature:证书验证签名信息,用以验证证书。version:证书版本号,为X.509V3。subject_name:证书主体名称。

subject_key_info:标识了两个重要信息:①主体拥有的公钥的值;②公钥所应用算法的标识符。证书私钥对证书的所有域及这些域的Hash值一起加密。

2.4 ServerKeyExchange消息

ServerClient:

KeyExchangeAlgorithm|| ServerDHParams

KeyExchangeAlgorithm:密钥交换算法,文章定义的密钥交换算法为RSA。ServerDHParams:Diffi-Hellman参数,若交换算法为RSA,则此项为空。

2.5 CertificateRequest消息

ServerClient:

certificate_types|| supported_signature_algorithms|| certificate_authorities

消息描述: 可选消息项,该消息是Server服务器向Client请求验证证书信息。在一般应用中只对Server服务器进行认证,而Server服务器要允许只有某些授权的Client才能访问服务器,此时需要用到该消息对Client进行认证。Client认证是通过Server服务器给Client发送一条 CertificateRequest消息而开始,如果Server发送这条消息,则Client必须向server发送自己的证书。客户端收到该消息后,发送一条 Certifcate 消息(与服务器传送证书的消息一样)和一条 CertificateVerify 消息予以应答。

certificate_type:客户端提供的证书类型,该处为rsa_sign。supported_signature_algorithms:可以验证server的散列/签名算法对。certificate_authorities:可以接受证书消息的特定名称。

2.6 Client Certificate消息

ClientServer:

version||serialNumber||algorithmIdentifier||issuer||utcTime||subject_name||subject_key_info|| signature

消息描述:可选消息项,该证书主要包含4部分内容,version是证书版本,文章统一定为X509v3。主体名称指明使用该证书的用户为server_subject。subject_key_info是证书包含的主要公钥信息,该消息项有两项内容:一个是证书的公钥,另一个是所用的散列算法。signature是证书验证签名信息,用以验证证书。

version:证书的版本号,为X.509V3。subject_name:证书主体名称。subject_key_info:标识了两个重要信息:①主体拥有的公钥的值;②公钥所应用的算法的标识符。算法标识符指定公钥算法和散列算法(如RSA和SHA-1)。signature:用证书私钥对证书的所有域及这些域的Hash值一起加密。

2.7 ClientKeyExchange消息

ClientServer:

KeyExchangeAlgorithm|| EncryptedPreMasterSecret

消息描述:该消息是密钥交换消息。之前的消息协商中规定密钥交换算法为RSA算法,所以该消息中KeyExchangeAlgorithm的内容为RSA。此时,client随机生成一个48字节的预主密钥,用从server证书得来的公钥来加密这个预主密钥,加密算法为RSA算法。client加密预主密钥并在ClientKeyExchange消息中将密文EncryptedPreMasterSecret发给server,使server得到预主密钥。

KeyExchangeAlgorithm:算法选择为RSA。EncryptedPreMasterSecret:客户端生成一个48字节的预主密钥,用从server证书得来的公钥来加密该预主密钥,加密预主密钥消息并发送密文。

2.8 CertificateVerif消息

ClientServer

handshake_messages[handshake_messages_length]

消息描述:可选消息项,如果服务器请求验证客户端,则该消息完成服务器验证过程。客户端发送一个certificate_verify消息,其中包含一个签名,对从第一条消息以来的所有握手消息的HMAC值(用master_secret)进行签名。handshake_messages指所有发送或接收的握手消息,从clienthello消息开始到CertificateVerif消息之前(不包括CertificateVerif消息)的所有消息集合,包括握手消息的类型和变长字段。这是到目前为止HandShake结构的整合。

3 Blanchet演算模型建立流程

Blanchet演算模型主要包括类型定义、时间定义、方法定义、通道定义、时间声明、初始化进程描述[4]、客户端进程描述与服务端进程描述。TLS1.2最主要的功能体现在客户端与服务端的消息传递。

3.1 协议事件声明

在Blanchet演算中首先要声明要证明的事件。TLS1.2协议的消息流程中最重要的就是认证性和密钥的保密性[5]。认证性包括客户端对服务端的认证和服务端对客户端的认证,保密性是对会话密钥的秘密性进行认证。表示server事件发生之前client事件一定发生,用来验证服务端用户。在更严格的定义下进行服务端验证,事件声明代码如下。

event server(output).

event client(output).

query x:output;

event server(x)==>client(x).

query x:output;

event inj:server(x)==>inj:client(x).

query secret premastersecret.

3.2 初始化进程

协议模型初始化进程如下所示,ClientProcess表示客户端进程[6],ServerProcess表示服务端端进程,表示多个ClientProcess进程并发执行,集中一次模拟现实协议执行。

process

in(start,());

new seedone:rsakeyseed;

let pkeyrsa:rsapkey=rsapkgen(seedone) in

let skeyrsa:rsaskey=rsaskgen(seedone) in

new seedtwo:keyseed;

let signpkey:pkey=pkgen(seedtwo) in

let signskey:skey=skgen(seedtwo) in

new keyhash:hashkey;

out(c,(pkeyrsa,signpkey,keyhash));

((! N ClientProcess) |

(! N ServerProcess) )

3.3 客户端和服务端进程

客户端的消息流程包括版本协商、算法协商、密钥协商、密钥交换和请求验证。版本协商是协商客户端、服务端可以通用的版本[7],一般是客户端和服务端都支持的最高版本,密钥协商完成后Client向Server发送verifydata认证请求消息,内容包括username、servicename、methodname,method_specific,请求Server验证身份,并在此定义对客户端的验证事件client(verifydata)。

服务端进程首先接收客户端进程发送的版本信息[8],并与自己的版本信息匹配协商得到协商版本client_version。版本信息协商完成后接收客户端所支持的算法信息,至此算法协商完成。进入密钥协商阶段,首先Server接收Client发送的密钥参数信息c_s_random_s,用来计算hash验证;Server收到Client的验证请求后对Client进行验证并接收Client发来的验证消息,用所收到的所有消息计算验证信息。在此插入事件event server(verifydata_fc)来验证客户端。

3.4 验证结果

本文在介绍TLS1.2协议的基础上对其数据流程进行分析[9],使用Blanchet建立模型并分析其安全性和认证性。经过一系列的流程跟进并使用自动化证明工具Cryptoverif对TLS1.2进行模型建立,经过一系列的Game转换得出分析结果如图3所示[10]。结果证明,TLS1.2协议的会话密钥具有安全性,在认证阶段能够对客户端通过消息签名进行验证。

4 结语

为了研究TLS1.2协议在应用中的安全性,本文对TLS1.2协议的消息流程进行了分析。通过对每一步消息流中消息项的研究分析,得出TLS1.2协议的整体消息结构,最终实现服务端对客户端的验证流程分析。基于Blanchet演算对分析的消息流程应用一致性对服务端认证客户端和客户端对服务端的验证建立模型。协议模型通过协议转换工具转换为CryptoVerif的输入代码TLS1.2.cv,使用CryptoVerif对模型进行分析,并证明了TLS1.2协议的安全性与认证性。后续研究中将给出TLS1.2协议的Java安全代码,并分析其安全性。

参考文献:

[1] 陈力琼,陈克非.认证测试方法对TLS协议的分析及其应用[J].计算机应用与软件,2008,25(11):6-7.

[2] 于代荣,杨扬,马炳先,等.基于身份的TLS协议及其BAN逻辑分析[J].计算机工程,2011,37(1):142-144.

[3] MORRISSEY P, P SMART N,WARINSCHI B.The TLS handshake protocol: a modular analysis[J]. Journal of Cryptology,2010,23(2):187-223.

[4] 卢敏,申明冉.基于RSA签名的TLS协议的新攻击发现及其改进[J].消费电子,2013(14):69-70.

[5] 高志伟,耿金阳.基于优先级策略的 TLS 握手协议研究[J].石家庄铁道大学学报:自然科学版,2014(3):69-74.

[6] 唐郑熠,李祥.Dolev-Yao攻击者模型的形式化描述[J].计算机工程与科学,2010(8):36-38.

[7] 邵飞.基于概率进程演算的安全协议自动化分析技术研究[D].武汉:中南民族大学,2011.

篇9

(郑州航空工业管理学院,河南 郑州 450000)

摘要:WMN(Wireless Mesh Network)即无线网状物,该网络在无线媒介上以多跳的方式构成通讯系统。无线网状网是无线网络的发展重心,但由于无线网络本身的各种标准和实现处于快速发展的时期,难以针对其开展有效的实践教学活动。在本文中作者提出了基于OpenWRT和802.11标准的WMN实验方案,解决了该难题。同时加强学生对多跳网络、无线网络路由协议的认识和理解,培养学生的创新能力和科研素质。

关键词:WMN;OLSR;OpenWRT;实验设计

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)19-4393-04

Abstract: WMN so called wireless mesh network,is a type of network construct by multi-hop structure on wireless media. WMN is the focus of wireless network, but it is difficult to conduct an experiment in class. The major reason for this is the fast development of the WMN itself and the diversity definition of the WMN protocols. To deal with the problem, the author propose a WMN experiment which base on OpenWRT and 802.11 in this paper. This solution not only enhance the comprehension concept of ‘multi hop network' and ‘wireless routing protocols ', but also develop the creative ability and scientific research quality of the students.

Key words: WMN; OLSR; OpenWRT; experiment design

伴随着移动互联网的发展,社会对无线网络的需求在提升,人们迫切需要在任何时间地点接入网络。由此带来了各种无线网络技术的飞速发展,例如4G、WiFi和UWB。但受限于网络部署的时间和成本的因素,在人口比较稀少或者临时性场所以及灾难地区的组网一直面临着较大的难题,WMN就是针对该问题而提出的解决方案[1]。WMN也是未来无线网络技术的核心和发展目标,但WMN其自身也处于快速的发展进程中,存在着众多的私有和共有标准。以上这种现象给WMN的实验带来了极大的困难,而开源WMN路由协议的发展,给WMN网络的实验带来了可能。利用价格低廉的家用路由器和开源软件,学生可以在实验室环境下进行WMN的部署。能极大加深WMN的理解,并认识到其优势和不足,开展该项实验对网络创新性人才的培养起到了重要的作用。

1 无线网状网

无线网状物是由节点以无线形式互联所形成的的多跳型的通讯网络,这些节点通常承载着无线路由协议,以实现网络的可达性。无线网状网中的节点可以是个人电 脑、笔记本以及嵌入式设备,同时节点的数目则不受任何限制。无线网状网的节点按照设备的类型,分为路由节点和用户节点,路由节点通常由无线路由器组成,而用户节点通常是笔记本、手机等可移动设备。根据网络中存在节点的类型和用户节点间是否进行数据转发,将无线网状通常分为三种类型,骨干式无线网状网、用户型无线网状网、混合型无线网状网[2-5],其结构间图1、图2、图3。

图1 骨干型WMN

其中骨干型WMN仅由路由节点节构成,用户节点的数据必须由网关节点来转发;而用户型WMN仅有用户节点组成,用户节点扮演了路由的角色;而混合型WMN中路由节点和用户节点都能起到数据转发的作用,同时网络中呈现出层次结构。

WMN是Ad-hoc网络的一种特殊形态。首先WMN网络引入了结构,即存在路由节点和用户节点两种类型的节点。其次WMN的节点较Ad-hoc有着更低的移动性和和更可靠的供电。再次,由于不受到供电的制约,WMN的节点可以使用更多的频段来提升网络传输性能,充足的电源供应让WMN有着更大的网络规模。最后,WMN通常使用TCP/IP等网络协议,这就能和其他类型的网络很方便的混合组网,见图3。

无线路由协议对无线网状网起到了核心的作用,无线路由协议通过节点间的无线信道来交换链路状态和路由表信息从而形成完整的网络拓扑结构。在整体上,根据节点中是否存在网络的所有节点的路由可以分为主动式路由协议和被动式路由协议,由于WMN节点普遍有着可靠的电源和较低的移动型,同时有着较高的网络带宽和较低的网络延时,主动式路由协议占据了较大的比重。近年来几种无线网络路由协议被提出和实现,例如BMX6,BATMAN-ADV,Babel和OLSR。其中BMX6,Babel和OLSR属于三层的网络协议,而BATMAN-ADV属于二层网络协议。这些协议通过在节点之间传递路由表和链路状态信息来生成网络的拓扑。

OSLR由于较早出现,因此成熟度较高,在AWMN,Freifunk,FunkFeuer等社区无线网络中,普遍使用其作为内部网关协议。而BMX6,和Babel仅支持IPV6路由协议,对于IPv4需要通过4to6的隧道来实现。而OLSR是唯一同时支持ipv6和ipv4的路由协议,在实验的过程中可以使用ipv4地址来进行配置,减少在教学中学生额外的实验负担。

2 OLSR和OpenWRT

OLSR( optimized link stat routing protocol)优化链路状态协议[6],也是WMN中最为成熟的路由协议。该路由协议是一种典型的链路状态路由协议。在传统的有线网络中,使用最为广泛的链路状态协议为OSPF,但OSPF在无线链路中会产生大量的链路状态信息并带来过高的网络开销。而OLSR仅使用MPR(多点转播)节点来广播链路状态信息,因此大大减少了路由协议所带来的开销。同时OLSR属于第三层协议,这就使得其很容易被移植到各类操作系统上。OLSR的实现OLSRD就可以在OpenWRT系统上运行。

OpenWRT是一个嵌入式的Linux发行版,该发行版面向路由器等嵌入式设备开发。由于其使用标准的Linux内核,因此可以把各种软件的移植到该平台上,从而扩展OpenWRT的功能。除此之外OpenWRT相比与其他路由器软件的优势在于它有一个可写的文件系统,这就使得可以临时安装或者删除软件或者改变配置文件来。利用该平台和相应的软件,可以快速进行实验准备,并指导学生开展实验。

3 实验设计

实验的主要设备为Tp-Link 2543ND路由器,该路由器主板采用高通的AR7242,其处理器主频为400Mhz,机身自带8MB的Nand存储,64M的RAM存储。在资料中查到该设备同时支持2.4GHz和5GHz两个频段,但在一个时刻只有一个频段能够工作。芯片的资料显示该设备支持802.11a/n和802.11b/g/n,设备外置三根8db的全向天线,为基于MIMO的高带宽传输提供了可能。

由于设备自带的操作系统仅支持静态路由,在本次实验前需要预先安装好OpenWRT和OLSRD。在本次实验中,作者选OpenWRT Attitude Adjustment和OLSRD 0.93作为实验指导的软件。

在实验准备阶段,需要将7台Tp-link 2543ND安装好OpenWRT的固件,并使用OpenWRT的软件更新功能将OLSRD和对应的图形化配置工具安装安装到路由器上。在对路由器配置前,将路由器进行编号,从101到107,同时设备的网络接口地址也会根据这个编号进行配置。在WMN配置前将路由器恢复到默认配置,并使用路由器的图形界面配置该路由器。路由器有三个网络接口,分别是wan(eth1)、br-lan(eth0)、wlan0,在本实验中仅使用eth0和wlan0接口。将eth0和wlan0的接口分别配置在网段192.168.x.1/24和10.10.0.x/24,其中字符x表示设备本身的编号。另外还要对无线模块进行设置,设定模块工作在161频段,带宽为40MHz,并指无线网卡定工作在Ad-Hoc模式下,并设定其SSID为”Mesh”。设置完成后,每台设备的接口和无线网络的名称如下表,见表1。

表1 WMN节点的参数设置

[节点编号\&br-lan接口地址\&wlan0接口地址\&无线接口配置\&101\&192.168.101.1/24\&10.10.0.101/24\&Ad-hoc模式,161频段,40HMz带宽\&102\&192.168.102.1/24\&10.10.0.102/24\&Ad-hoc模式,161频段,40HMz带宽\&103\&192.168.103.1/24\&10.10.0.103/24\&Ad-hoc模式,161频段,40HMz带宽\&104\&192.168.104.1/24\&10.10.0.104/24\&Ad-hoc模式,161频段,40HMz带宽\&105\&192.168.105.1/24\&10.10.0.105/24\&Ad-hoc模式,161频段,40HMz带宽\&106\&192.168.106.1/24\&10.10.0.106/24\&Ad-hoc模式,161频段,40HMz带宽\&107\&192.168.107.1/24\&10.10.0.107/24\&Ad-hoc模式,161频段,40HMz带宽\&]

在进行下一步实验前要保证所有设备的wlan0接口处在同一个网络中,测试的方法是登陆路由器,用ping命令测试其他节点wlan0接口对应的ip地址,看是否能够建立无线链路。如果测试不成功首先检查该节点的无线设置和接口IP设置是否正确,如果还不成功则检查设备之间的距离是否过远。由于161频段的电磁波属于5.8GHz的频段,其容易被物体吸收,且本身的衍射能力较弱,因此在室内只有较小的覆盖范围。 在测试通过开始进行无线路由协约的配置,在每台路由器上使用图形界面启用OLSRD进程,并将每个节点的WLAN0接口加入OLSR的宣告区域,设置完成后将路由器部署在不同的房间。

本次实验安排在一个楼层,共有7个房间,面积有1000平方米,每个房间水平墙面使用混凝土构建,部分室内有金属储物箱。从图4中可以看到每台无线路由器放置的位置。

图4 WMN节点在的地理位置分布

所有节点加电后,OLSR协议开始进行链路状态广播和路由表的生成。网络收敛后,从每个节点获取无线链路的信噪比和平均收发速度,该数据见表2。从表中看出105节点与104虽然距离较近,但由于受到墙壁和室内金属物品的阻挡,其链路的信噪比较低,导致了较低的传输速度。对101节点来说,102节点仅隔一堵墙面,平均信号功率较高,且在此区域只有102和107共享40MHz的信道,平均速度较高(108Mbit/s)。而107节点作为整个网络的枢纽,虽然与临近的四个节点的信道都有较高的信噪比,由于附近有101,102,103,104这四个节点共享频段,由于802.11协议族使用CSMA/CA来对信道进行抢占,导致每个链接的平均带宽较低(低于90M Mbit/s)。

在实验的最后一部分,将106节点接到文件服务器上,并在101节点上测试长时间文件下载速度。虽然从101到106的所有中间链路上的最低带宽为45 Mbit/s,但两个节点的平均传输带宽只有4 Mbit/s,导致该现象的主要原因在于节点间使用相同的频道导致无线链路冲突的增加,这也是CSMA/CA和电磁波媒介的特征所导致的。

4 结束语

本文设计一套面向WMN网络的实验方案,实验使用OLSR和OpenWRT来作为主要实验工具。在实验中,作者依此介绍了Ad-hoc模式无线网络的配置和OLSR路由协议的配置,并以此为基础搭在真是的环境中建了WMN网络。在网络组建完成后,作者依据802.11协议的特点对该无线网络各节点的带宽和性能进行了分析。通过该步骤的实验学生深刻人认识到基于802.11的无线局域网物理层共享媒介的特征,并对信噪比、节点距离和带宽的关系有了充分的认识。同时通过图形化的工具生成了基于OLSR的路由转发路径图。通过该图,学生能够认识到OLSR内部所能够构造的邻居表和路由表,以及OLSR路由协议选路的原理。在实验的最后,通过文件传输带宽测试实验进一步深化了学生对多跳网络的认识,同时也能让学生了解WMN网络的若干不足之处,为学生深入研究和学习WMN网络带来和浓厚的兴趣。

参考文献:

[1] 方旭明,等.下一代无线因特网技术:无线Mesh网络[M].北京:人民邮电出版社,2005:108-110.

[2] Luigi Iannone, et al.Cross-Layer Routing in Wireless Mesh Networks[J].Computer Networks. March 2005:445-487

[3] David Murray, Michael Dixon and Terry Koziniec. An Experimental Comparison of Routing Protocols in Multi Hop Ad Hoc Networks. In Proc. ATNAC 2010. 2010.

篇10

历史

在过去10年,几个工业联盟花费了数百万用于研发基于X10的家庭智能化网络技术――这种有着30年历史的家庭自动化标准。X10允许用户自动/远程控制家庭中的无数功能,从灯光场景到温度控制再到无线安防摄像机。但它从来没有被主流的客户所采用,因为它的可靠性不可预测。

但是为什么X10一直被公认为工业标准?因为它是低价的。其他X10的替代标准并不成功,因为要么太过昂贵、要么不能隐式地兼容X10、要么就是安装调试过于复杂。

Insteon的开发

这几年,Smarthome开始研发Insteon。因为它有着世界上最庞大的智能家居用户群,Smarthome非常适合开发下一代的家庭智能网络技术。自从12年前公司成立到现在,已经开发出超过150种的智能家居产品,每年销售量数以万计。

Smarthome的工程师们牢记客户们的需求:可靠的、低成本、易安装和使用的、能兼容X10,并把这些作为关键的目标。

在2004年6月,Smarthome正式启动Insteon。这种网络技术发送给家庭设备的速度是X10的30倍,并且允许新的音视频控制应用。每个Insteon设备都是一个收发器/转发器,因此信号可靠得被重复。另外,所有的通讯都要被确认,各个设备都有一个独立的标识,允许访问控制应用,比如锁定门和窗户。

Insteon的名字是从它的“即时启用”(instant on)演变而来的。相比较X10传递一个消息需要1/16秒到几秒的时间,而Insteon只需要0.04秒,这个时间比人眼感觉到灯打开的时间都要短。

Smarthome的工程师们独特地设计Insteon,它能够内置电力线和无线射频网络技术。包含电力线的原因是因为它是最廉价的家庭自动化网络技术,而RF则提供了距离的扩展和无线应用业务。这种组合,使得用户可以在屋子里的任何一个地方通过无线或者电力线发送信号,而信号可以通过电力线发送到设备上,或者直接发送到其他无线设备上。

例如,同时使用电力线和RF,电池驱动的门锁就可以使用Insteon RF进行控制,如果室外的喷嘴连接在一个电源插座上,那么我们就可以在室内通过电力线控制它的开关。在其他情况下,这种技术需要确定采用什么样的传输方式。Smarthome同合作伙伴一起将Insteon整合到非常广泛的日常设备中,包括家电和其他家庭用具。

什么是Insteon?

Insteon是一个功能强大的无线家庭控制网络技术,简单、低成本、可靠的整合系统,能够使家庭更加舒适、安全、方便和高效。

功能:

灯光的场景控制和远程控制

安全警报界面和传感器

家庭传感器(比如:水、湿度、温度等)

访问控制(比如:门锁)

加热和降温(HVAC)控制和管理

音频-视频控制

电器管理

节约电能

网络拓扑

Insteon是一个强力的双重冗余网络,包含了无线射频和电力布线。

Insteon使用最新的技术建立一个真实的点到点的网状网络。每种设备都是一个点,不需要网络的管理,所以负责的网路控制器和路由器并不需要。

安装

用户使用Insteon,只需要简单的将RF访问节点插到他们的房间中,同时安装两个过滤器到电脑的插线板上。Insteon家庭自动化设备的安装遵循“Plug and Tap”(插入拧紧)流程。例如,要在楼上控制楼下的照明灯,用户需要这么做:

①将灯插入到楼下的一个电源插座上的Insteon模块上;

②将一个面板或者其他远程控制设备插到楼上,或者使用一个无线控制设备;

③拧紧楼上的面板的设置按钮;

④拧紧楼下Insteon模块的设置按钮;

⑤安装完成。

Insteon设备可以通过PC进行程序控制,也可以由程序通过因特网进行控制。家庭智能控制软件可以控制到整个家庭,比如调暗灯、在晚餐时间打开立体声。

安装使用简单

Insteon的插件产品可以在10分钟以内完成安装和调试。布线的设备一旦安装以后,调试很简单。

Insteon设备的设置使用“Plug and Tap”方法。每个Insteon设备有自己的对立ID,不需要设置地址。连接两个Insteon设备很简单:在第一个设备上按下ON按钮并持续10秒,然后同样在第二个设备上做如此操作。

Insteon的网络不需要PC或者智能控制器。当然,智能控制器也可以加入,以进行高级的家庭控制。

应用

Insteon的应用包括远程控制或者自动化,如灯光、家电、安防、空气调节等。宽带技术非常适合传输大的视频和音频数据,Insteon是一种窄带技术,适合于发送家居的自动化系统的控制信息。

篇11

1 Logisitic方程的介绍及在人口模型中的应用

Logistic方程是荷兰生物学家Verhulst在19世纪中叶提出的,它不仅能够大体上描述人口及许多物种数量的变化规律,而且在经济、管理、传染病学等领域也有着广泛的应用。因为由这一方程建立的模型能够描述一些事物符合逻辑的客观规律,所以称它为Logistic方程。最初的人口模型是英国著名人口学家Malthus调查了英国一百多年的人口统计资料,得出了人口增长率r不变的假设,并据此建立了著名的人口增长模型

(1)

其中N=N(t)表示时刻t的人口数量,N0是初始时刻人口的数量,很容易解出

(2)

当r>0时,(1)式表示人口数量按指数规律随时间无限增长。但从长期来看,任何地区的人口都不可能无限增长。实际情况是人口增长到一定数量以后,增长速度就会慢下来。因为自然资源、环境条件等因素对人口的增长都会起到阻滞作用,而且随着人口的增加,这种阻滞作用会越来越大,所以人口增长率 就不应该是个常量,应该随人口数量的增加而变小。不妨令 ,其中Nm是自然资源和环境条件所容纳的最大人口数量,r为固有增长率。可以看到当N=Nm时,人口就不再增长,即r(Nm)=0。于是得到人口的阻滞增长模型(Logistic模型)

(3)

rN体现人口自身的增长趋势,因子 则体现了资源和环境对人口增长的阻滞作用。若以N为横轴,dN/dt为纵轴,方程(3)的图形(图1),可以看到人

图1 图2

口增长速度dN/dt随N的变化趋势先快后慢,当N=Nm/2时增长速度最快。方程(3)可以用分离变量法求得 (图2),是平面上一条S形曲线,人口增长速度先快后慢,当t∞时,NNm,拐点在N=Nm/2处。这个模型描绘的人口变化趋势与实际情况基本符合,而方程(3)称为Logistic方程,方程右端带有阻滞增长因子。

2 Logistic方程在技术革新推广中的应用

社会的进步离不开技术的进步创新,对于一项新技术在该领域中推广一直是经济学家和社会学家关注的问题。假设在某一社会中某领域共有Nm个企业,初始时刻有N0家企业采用了一项新技术,N(t)表示t时刻采用新技术的企业数量, 那么这项技术如何推广到该领域中的其它企业,其它企业将以怎样的速度接受该技术呢?在推广过程中我们可以认为,对于一个尚未采用新技术的企业家来说,只有当采用新技术的企业家对他谈论了该技术后,他才有可能会采纳。那么在t到t+t这段时间内,新增的企业数量N应该与之前已采纳新技术的企业数量N(t)和还不知道这项技术的企业数量Nm-N(t)成正比,即

其中c为比例系数,它与人们接受新事物的能力,新技术转化为生产力等方面有关

当t0时,得

(4)

(5)

方程(4)为技术革新推广的Logistic模型,从方程(4)中还可以看到,企业家采用这一新技术的速度是先快后慢,当数量未达到Nm/2时,接纳的速度越来越快,到达Nm/2后速度开始减慢,直到趋向于零,最终所有的企业都进行了技术革新,淘汰旧技术,采用新技术。

3 Logistic方程在传染病学中的简单应用

随着科技的进步、卫生设施的改进、医疗水平的提高以及人们对自身健康的关注,曾经一些全球肆虐的传染病像天花、霍乱已得到控制,但一些新的、变异的传染病悄悄地向人类袭来。像上世纪的艾滋病、2003年SARS、今年的H7N9禽流感病毒,给我们的生命和财产都带来了极大的危害。因此建立传染病模型,分析感染人数的变化规律是一个有必要的工作。在这里我们建立关于传染病传播的简单模型。

假设在疾病传播期内所考察地区的总人数N不变,不考虑出生、死亡、迁移。人群分为易感者和已感染者,以下称为健康人和病人。t时刻这两类人在总人数中所占比例分别记作s(t)和i(t),每个病人每天有效接触人数为常数λ,λ称为日接触率。那么从t到t+t时间段内新增病人人数为N[i(t+t)-i(t)]=λNs(t)i(t)t s(t)+i(t)=1

整理得到

当t0时,得 (6)

它的解为 (7)

其中i0为初始时刻病人所占比例。

由方程(6)及其解(7)同样可以看到i=1/2时,病人增加得最快,可以认为是医院门诊量最大的一天,预示着传染病的到来,此时 ,当有效接触数λ越小,这一天来临得就越晚,所以为了推迟这一天的到来,可以通过改善卫生环境、提高医疗水平、对患者作必要的隔绝来降低λ的值。另外一方面,从(7)可以看到当t∞时,i1即所有人都会感染,显然不符合实际。这是因为我们没考虑病人会被治愈,考虑到这一因素,只需要在方程(6)的右端再减去一个因子μi(μ表示日治愈率)即可,在这里我们就不讨论。

由于Logistic方程能够反映出一些事物本身符合逻辑的规律,它在社会、经济、科学研究中都有着重要的作用,非常值得我们去深入研究。

参考文献:

[1] 龚德恩,范培华.微积分[M].北京:高等教育出版社,2008.

[2] 姜启源,谢金星,叶俊.数学模型(第3版)[M].北京:高等教育出版社,2004.

相关范文