2 网络安全协议
2.1 OSI和TCP/IP网络参考模型
开放系统互连(OSI)参考模型是一个多层通信协议,最初由国际标准化组织(ISO)开发,1983年正式成为国际标准。OSI模型将网络分为7层,在各层上分别实现不同的功能。7层从上到下分别为应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。模型中每一层只与上下两层直接通信。高层协议偏重于处理用户服务和各种应用请求,低层协议偏重于处理实际的信息传输。分层的目的在于把各种特定的功能分离开来,使各层的设计和测试相互独立,每一层只使用下层提供的服务而不必理会下层服务是如何实现的。某一层改变实现方式不影响其他层。
TCP/IP是一个工业标准协议套件,原本是为跨广域网的大型互联网络而设计的,1969年由美国国防部高级研究计划局(DARPA)开发,是ARPANET网络试验的产物,目标是提供高速网络通信链路。从1969年至今,ARPANET已经发展成为世界范围内的通信网络,即我们熟知的Internet。
TCP/IP将网络分为4层,从上到下分别是应用层、传输层、网际层(IP层)和网络接口层。网络接口层包括了OSI模型中的物理层和数据链路层的功能,而应用层包含了OSI模型中的应用层、表示层和会话层。下面本文将以TCP/IP模型为框架,介绍各层中的安全协议。
2.2 网络接口层的安全协议
网络接口层主要包含物理层和数据链路层,作用范围通常在局域网内。局域网是将较小地理区域内的各种数据通信设备连接在一起的通信网络,传输距离有限,网络覆盖范围小,但数据速率高,传输延时小,出错率低。1980年2月成立的IEEE 802委员会,制定了一系列局域网标准,称为IEEE 802标准。
2.2.1 IEEE 802.10安全标准
随着网络安全越来越受到重视,IEEE 802 LAN/MAN(局域网/城域网)标准委员会在1988年设立了IEEE 802.10工作组,主要任务是为局域网/城域网的安全制定标准,为安全服务定义模型。已公布的IEEE 802.10标准在数据链路层中定义了一个安全数据交换(SDE)子层,通过在该子层中使用密码机制来提供跨媒体访问控制(MAC)层的安全服务。
IEEE 802.10标准意图通过在IEEE 802系列协议栈中增加SDE子层,在数据链路层解决加密和完整性问题。这样的话,只要配置不同的物理层收发驱动器,就可以支持采用不同传输介质的标准,包括以太网标准IEEE 802.3、令牌环标准IEEE 802.4和无线局域网标准IEEE 802.11。SDE作为逻辑链路控制(LLC)子层的一个实体,在MAC子层上提供一种无连接服务,利用密码机制在LLC子层边界上提供跨越MAC子层的透明安全服务。SDE与LLC子层以上的上层用户协议栈无关,SDE接口等价于未保护的MAC接口,因此用户上层协议栈不需要做任何修改。而SDE密钥管理和系统管理协议栈需要LLC协议支持。
IEEE 802.10标准详细描述了SDE协议和相应的密钥管理协议。SDE协议定义了SDE子层及其提供的安全数据交换服务。安全数据交换服务根据安全关联(SA)的属性值来处理上下层送过来的数据,以保证安全性。密钥管理协议负责SA的创建、删除和复制。
SDE提供下列安全服务:
(1)数据机密性
SDE通过加密服务数据单元(SDU)保证数据的机密性。SDE支持多种加密算法,通过外部的密钥管理系统协商加密的密钥和算法。
(2)无连接完整性
SDE利用hash算法计算完整性校验值(ICV),并将其置于协议数据单元(PDU)的ICV域中,提供完整性保护功能。SDE同样通过外部密钥管理服务协商确定ICV的算法和密钥。
(3)数据源认证
在PDU的保护头部分放入工作站标识(ID),通过密钥管理进行数据源认证。
(4)接入控制
通过密钥管理、系统管理和PDU标识的组合可以实现接入控制。只有当安全关联SA存在时,SDE才可以接收和发送PDU。管理者负责建立SA,而SDE负责实施接入控制策略。接入控制依赖于完整性和认证服务。
2.2.2 IEEE 802.11安全协议
IEEE 802.11无线局域网是IEEE 802框架下基于无线传输构成的一种局域网络,目前有IEEE 802.11a、IEEE 802.11b和IEEE 802.11g 3种标准。IEEE 802.11a工作在5 GHz频段,传输速率达54 Mb/s。IEEE 802.11b和IEEE 802.11g工作在2.4 GHz频段,传输最高速率分别为11 Mb/s和54 Mb/s。由于无线环境的开放性,无线信号更容易被截获和窃听,所以WLAN自开始就面临严重的安全问题。
WLAN最开始的安全协议称为有限等价协议(WEP),目的在于通过加密提供终端到终端或者终端到无线接入点(AP)之间与有线连接等价的安全性,即攻击者虽然能截获通信但是无法知道通信的内容。WEP使用RC4流密码算法。不幸的是,WEP存在比较大的漏洞,攻击者很容易就可以破解密钥,窃听和伪造数据。
由于WEP加密机制并不能够为无线用户提供足够的安全保护。因特网工程任务组(IETF)成立了IEEE 802.11i工作组致力于制定被称为IEEE 802.11i的新一代安全标准,该标准为了增强WLAN的数据加密和认证性能,定义了健壮安全网络(RSN)的概念,并且针对WEP加密机制的各种缺陷做了多方面的改进。
IEEE 802.11i规定使用IEEE 802.1x认证和密钥管理方式,在数据加密方面,定义了临时密钥完整性协议(TKIP)、计数器模式/密文反馈链接消息认证码协议(CCMP)和无线健壮认证协议(WRAP)3种加密机制。其中TKIP采用WEP机制里的RC4作为核心加密算法,可以通过在现有的设备上升级固件和驱动程序的方法达到提高WLAN安全的目的。CCMP机制基于先进加密标准(AES)加密算法和计数器模式/密文反馈链接消息认证码(CCM)认证方式,是实现RSN能力的强制性要求。由于AES对硬件要求比较高,因此CCMP无法在现有设备的基础上进行升级实现。WRAP机制基于AES加密算法和偏移码本(OCB)工作模式,是一种可选的加密机制。IEEE 802.11i目前还处于草案阶段,预计2004年内有望得到正式批准。
然而,市场对于提高WLAN安全的需求十分紧迫,IEEE 802.11i的进展不能满足市场需要。在这种情况下,Wi-Fi联盟制定了WPA(Wi-Fi Protected Access)标准。标准采用IEEE 802.11i草案,以保证与未来出现协议的前向兼容。WPA采用了IEEE 802.1x和TKIP来实现WLAN的访问控制、密钥管理与数据加密。IEEE 802.1x是基于端口的访问控制标准,用户必须通过认证并获得授权之后,才能通过端口使用网络资源。
尽管WPA在安全性方面相较WEP有了很大的改善和加强,但Wi-Fi联盟认为目前使用TKIP的WPA只是一个临时的过渡性方案。据来自Wi-Fi联盟的消息,预计在2004年第4季度推出的WPA v2版本中将会全面采用AES机制。
除了国际上的IEEE 802.11i和WPA安全标准之外,中国也在2003年5月份提出了无线局域网国家标准GB 15629.11,这是目前中国在这一领域惟一获得批准的协议。标准中包含了全新的无线局域网认证和保密基础设施(WAPI)安全机制,这种安全机制由无线局域网认证基础设施(WAI)和无线局域网保密基础设施(WPI)两部分组成,WAI和WPI分别实现对用户身份的鉴别和对传输数据的加密。WAPI能为用户的WLAN系统提供全面的安全保护。
WAI采用公开密钥密码体制,利用证书来对WLAN系统中的移动站(STA)和接入点(AP)进行认证。WAI定义了一种名为认证服务单元(ASU)的实体,用于管理参与信息交换各方所需要的证书(包括证书的产生、颁发、吊销和更新)。证书里面包含有证书颁发者的公钥和签名以及证书持有者的公钥和签名(签名采用WAPI特有的椭圆曲线数字签名算法),是网络设备的数字身份凭证。
2.3 IP层安全和虚拟专网
IPSec是IETF提出的网络层安全标准,它把几种安全技术结合在一起形成一个较为完整的体系,受到了众多厂商的关注和支持。通过对数据加密、认证、完整性检查来保证数据传输的可靠性、私有性和保密性。IPSec由IP认证头(AH)、IP安全载荷封载(ESP)和密钥管理协议组成。
IPSec协议是一个范围广泛、开放的虚拟专用网安全协议。IPSec适应向IPv6迁移,它提供所有在网络层上的数据保护,提供透明的安全通信,采用密码技术从3个方面来保证数据的安全。即:
IPSec协议可以设置成在两种模式下运行:一种是隧道模式,另一种是传输模式。在隧道模式下,IPSec把IPv4数据包封装在安全的IP帧中,这样保护从一个防火墙到另一个防火墙时的安全性。在隧道模式下,信息封装是为了保护端到端的安全性,即在这种模式下不会隐藏路由信息。隧道模式是最安全的,但会带来较大的系统开销。IPSec得到了一些路由器厂商和硬件厂商的大力支持,已经成为虚拟专用网(VPN)的主要标准。1997年底,IETF安全工作组完成了IPSec的扩展,在IPSec协议中加上了互联网安全关联和密钥管理协议(ISAKMP),其中还包括密钥分配协议Oakley。ISAKMP/Oakley支持自动建立加密信道以及密钥的自动安全分发和更新。
IPSec支持一系列加密算法,如数据加密标准(DES)、三重数据加密标准(3DES)、国际数据加密算法(IDEA)。IPSec检查传输的数据包的完整性,以确保数据没有被修改。它可确保运行在TCP/IP协议上的VPN之间的互操作性。IPSec最适合可信的LAN到LAN之间的VPN,即内部网VPN。
VPN被定义为通过一个公用网络(通常是因特网)建立一个临时的安全的连接,是一条穿过混乱的公用网络的安全稳定的隧道。VPN是对企业内部网的扩展。
VPN可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。通过将数据流转移到低成本的公共网络上,一个企业的虚拟专用网解决方案将大幅度地减少企业花费在城域网和远程网络连接上的费用。同时,将简化网络的设计和管理,加速连接新的用户和网站。另外,虚拟专用网还可以保护现有的网络投资。
2.4 传输层安全和安全套接字层
2.4.1 安全套接字层
安全套接字层(SSL)是由Netscape Communications公司开发的,用来向因特网会话提供具有安全性和保密性的握手协议。SSL支持服务器和客户机认证,能够协商加密密钥,并在交换任何数据之前认证服务器。SSL使用加密、认证和消息认证码来维护传输信道的完整性。虽然SSL最适合用于HTTP,但它也可以用于文件传输协议(FTP)或其他相关协议。SSL在传输层运行并且独立于应用程序,因此像FTP或HTTP之类的相关协议可以放在该层之上。SSL的初始握手用于对服务器进行认证。在握手过程中,服务器把证书提交到客户机并指定要使用的首选密码算法;然后,客户机生成在即将进行的会话期间使用的密钥,用服务器的公钥加密后提交给服务器;服务器使用其私钥解密消息,恢复密钥,然后通过向客户机发送一条使用该密钥加密的消息来向客户机认证自己;随后的会话数据使用协商好的密钥进行加密和完整性保护。
在握手协议中可以增加第2阶段(可选)来进一步增加安全性(这一阶段服务器认证客户机的身份)。服务器发送一个随机质询,客户机对此做出响应,向服务器返回该质询的数字签名和客户机的公钥证书。
SSL通常是使用消息摘要算法MD5和公钥加密算法RSA。也使用各种对称密码,包括DES、三重DES、IDEA、RC2和RC4。公钥证书应符合X.509标准。SSL目前版本为3.0。
2.4.2 传输层安全性协议
传输层安全(TLS)协议是IETF标准,基于SSL,两者极为相似。TLS的主要目标是在两个正在通信的应用程序之间提供保密性和数据完整性。TLS由两层构成。较低1层称为TLS记录层协议,位于某个可靠的传输协议(例如TCP)上面。这一层的连接是专用的并且是可靠的,它用于封装各种更高级协议,可以不进行加密。当进行加密时,对每个连接生成专用的密钥,这些密钥由高1层的TLS握手协议协商得到。
TLS握手协议提供了具有3个基本特性的连接安全性,即:可以使用非对称密码算法来认证对等方的身份、共享密钥的协商是安全的、协商是可靠的。
与SSL一样,TLS独立于应用程序协议,支持的加密算法种类与SSL相似。然而,TLS标准把如何启动TLS握手和如何解释认证证书的决定权留给其上层协议的设计者和实现者来判断。
TLS协议的目标,按其优先级顺序来说,是密码安全性、互操作性和可扩展性。最后一个目标意味着TLS提供了一种框架,当有新的和改进的非对称以及其他加密方法可用时,便可以将它们引入该框架。
2.4.3 无线传输层安全
无线应用协议(WAP)体系结构中的安全层协议称为无线传输层安全(WTLS)。WTLS在传输协议层之上操作,并且是模块化的。是否使用WTLS取决于给定应用程序所需求的安全级别。WTLS为WAP的上一层提供了安全传输服务接口。另外,WTLS为管理安全连接提供了一个接口。WTLS与TLS非常相似,但它更适合用于等待时间相对较长的窄带传输网络。同时它添加了一些新特性,例如:数据报支持、经过优化的握手和密钥刷新。与使用TLS一样,WTLS的主要目标是在两个正在通信的应用程序之间提供保密性、数据完整性和认证。
2.5 应用层安全
2.5.1 电子交易安全
安全电子交易(SET)协议是由VISA和MasterCard国际信用卡组织开发,用于在开放网络上进行安全银行卡交易。SET使用X.509标准和数字签名保证交易信息的不可抵赖性,使用PKCS#7格式对交易数据进行加密,它支持DES和三重DES算法。
虽然SET被认为是非常安全的,但由于太强调安全性使得它应用时的速度很慢。另外,用户需要PKI发行的数字证书。由于这些原因,加上许多银行将风险和银行卡安全性漏洞的后果转嫁给其商业客户,SET的应用远没有达到预期的效果。
2.5.2 电子邮件安全
随着Internet的高速发展,作为Internet上最受欢迎的服务——电子邮件已经渗透到人们日常生活的方方面面。但是邮件的误递,节点用户有意无意的窥探,有些网民的恶作剧,黑客的攻击等给邮件通信带来了极大的安全隐患。
目前还没有安全电子邮件的正式标准,两个重要的草案是安全/多用途互联网邮件扩展标准(S/MIME)和完善保密(OpenPGP)。
S/MIME是一种用于发送和接收安全MIME数据的协议,最初版本来源于RSA数据安全公司。S/MIME v2版本已经广泛地使用在安全电子邮件上,现已发展到S/MIME v3版本,但是S/MIME并不是IETF的标准。S/MIME是从增强保密邮件(PEM)和互联网邮件的扩展标准(MIME)发展而来的。S/MIME提供统一的方式去发送和接收安全MIME信息,为电子邮件提供如下加密安全服务:认证、信息完整性、不可否认性(使用数字签名)和数字加密(使用密钥加密)。
S/MIME可在传统的邮件用户代理(MUA)中使用加密邮件,是建立在PKI基础之上的。
OpenPGP是在PGP基础上发展起来的。OpenPGP提供信件的数据加密服务。OpenPGP可以提供两种加密方式来保证系统安全,一种是对称密钥加密,另一种是基于公钥的加密。
完善保密软件最大的优点就在于它是免费的,且可使用在DOS、Windows、Unix、Linux、Soloar以及Macintosh等多个操作系统平台上。PGP的每一个版本都有图形处理界面,使得PGP的操作方便易学。OpenPGP选用可用加密算法作为系统的构造模块。选用的算法加密性能优良,生命力和安全性得到认可,而且OpenPGP不由任何组织和政府控制,具有很高的中立性。但OpenPGP的缺点也是显而易见的。它是一个更加分布式的系统,不是从证书授权中心(CA)那里获得证书,而是依靠个人用户通过介绍的方式建立信任关系。这种做法导致OpenPGP不能提供认证服务,因此这种网间信任的协议只适用于小型工作组,对拥有大量用户的网络无法有效管理。公钥的篡改和冒充可以说是OpenPGP的最大威胁。当你用别人的公钥时,应确信它是直接从对方处得来或是由另一个可信的人签名认证过的,同时要确信没有人可以篡改你自己的密钥环文件,需要保持你对自己密钥环文件的物理控制权并做好备份。
2.6 小结
以上对网络各层主要的安全协议进行了概要的介绍。总体来说,链路层和网络层可提供主机到主机的通信安全,保证主机之间通信链路上所有信息的机密性、完整性和主机的身份认证;安全协议对上层协议是透明的,也就是可以对所有应用程序的通信安全提供保护;传输层的安全协议提供了具体应用程序之间的通信安全,实际上与应用是相关的,但对用户来说是透明的;应用层安全对用户来说则是可见的,比如对某个具体的文件进行签名,对文件中某些敏感内容进行加密而不是对所有传输的内容都进行保护。各种安全措施可以根据实际情况灵活组合采用。(待续)
收稿日期:2003-11-19
[摘要] 随着计算机与通信网络技术的融合与发展,网络信息安全作为信息化过程中的关键问题之一,得到了越来越多的关注。本讲座上一讲介绍了密码学基础知识,在此基础上这一讲介绍一些网络安全协议,下一讲将介绍网络系统安全技术以及未来的发展。