《信息安全协议PPT课件》由会员分享,可在线阅读,更多相关《信息安全协议PPT课件(89页珍藏版)》请在金锄头文库上搜索。
1、1第七章 信息安全协议2目 录一一. 概述概述二. Kerberos协议三. SSL协议四. SET协议五. IPSec协议37.1 概述 在OSI(开放系统互连)标准中,网络协议被分为7层,常用的是其中的5层:物理层、数据链路层、网络层、传输层和应用层。一般的网络通信协议都没有考虑安全性需求,这就带来了互联网许多的攻击行为,导致了网络的不安全性,为了解决这一问题,出现了各种网络安全协议以增强网络协议的安全 。47.1 概述常用的网络安全协议包括Kerberos认证协议,安全电子交易协议SET、SSL、SHTTP、S/MIME、SSH、IPSec等。这些安全协议属于不同的网络协议层次,提供不同
2、的安全功能。特别是在IPv6当中强制采用IPSec来加强网络的安全性。根据OSI安全体系结构的定义,在不同的协议层次上适合提供的安全功能不尽相同,具体规定见表7.1。 57.1 概述安全服务与协议层次的关系 67.1 概述说明了各种网络安全协议与TCP/IP协议的层次对应关系。 77.2 Kerberos协议7.2.1 Kerberos协议概述Kerberos协议最早由 MIT 作为解决网络安全问题的一个方案提出,由麻省理工学院的Project Athena创建,后者是20世纪80年代后期进行的企业范围计算的测试项目,可用于公共用途。Kerberos协议采用了强加密,因此客户能够在不安全的网络
3、上向服务器 (以及相反地) 验证自己的身份,如图7.1所示。87.1 概述Kerberos是网络验证协议名字,同时也是用以表达实现了它的程序的形容词(例如 Kerberos telnet)。目前最新的协议版本是5,在RFC1510中有所描述。该协议有许多免费的实现,这些实现涵盖了许多种不同的操作系统。最初研制 Kerberos 的麻省理工学院也仍然在继续开发的 Kerberos 软件包。在美国Kerberos被作为一种加密产品使用,因而历史上曾经受到美国出口管制。 97.1 概述 Kerberos 是古希腊神话中守卫地狱入口狗,长着3个头。MIT 之所以将其认证协议命名为Kerberos,是因
4、为计划通过认证、清算和审计3个方面来建立完善的完全机制,但目前清算和审计功能的协议还没有实现。Kerberos 协议的基本应用环境为在一个分布式的客户端/服务器体系机构中采用一个或多个Kerberos 服务器提供一个鉴别服务。客户端想请求应用服务器上的资源,首先客户端向Kerberos 认证服务器请求一张身份证明,然后再将身份证明交给服务器进行验证,Server 在验证通过后,即为客户端分配请求的资源。107.1 概述 Kerberos 协议本身并不是无限安全的,而且也不能自动地提供安全,它是建立在一些假定之上的,只有在满足这些假定的环境中它才能正常运行。 (1) 不存在拒绝服务(DoS,De
5、nial of service)攻击。Kerberos 协议不能解决拒绝服务攻击,在该协议的很多环节中,攻击者都可以阻断正常的认证步骤。这类攻击只能 由管理员和用户来检测和解决。117.1 概述(2) 主体必须保证的私钥的安全。如果一个入侵者通过某种方法窃取了主体的私钥,他就能冒充身份。(3) Kerberos 协议无法应付口令猜测(Password Guessing)攻击。如果一个用户选择了弱口令,那么攻击都就有可能成功地用口令字典破解掉,继而获得那些由源自于用户口令加密(由用户口令形成的加密链)的所有消息。(4) 网络上每个主机的时钟必须是松散同步的(Loosely Synchronize
6、d)。这种同步可以减少应用服务器进行重放攻击检测时所记录的数据。松散程度可以以一个服务器为准进行配置。时钟同步协议必须保证自身的安全,才能保证时钟在网上同步。127.1 概述(5) 主体的标识不能频繁地循环使用。由于访问控制的典型模式是使用访问控制列表 (ACLs)来对主体进行授权。如果一个旧的ACL 还保存着已被删除主体的入口,那么攻击者 可以重新使用这些被删除的用户标识,就会获得旧ACL中所说明的访问权限。137.2.2 Kerberos身份验证协议内容 Kerberos可用来为网络上的各种服务器提供认证服务,使得口令不再是以明文方式在网络上传输,并且连接之间通信是加密的。它和PKI认证的
7、原理不一样,PKI使用公钥体制(不对称密码体制),Kerberos基于私钥体制(对称密码体制)。Kerberos称为可信的第三方验证协议,意味着它运行在独立于任何客户机或服务器的服务器之上。 Kerberos服务器称为AS(Authentication Server,验证服务器)。当客户端需要访问某个服务器时,客户端访问Kerberos服务器以获取票证。拥有票证意味着具有访问权限。这一点首先假设客户端和服务器都信任“第三方”Kerberos验证服务器。 147.2.2 Kerberos身份验证协议内容 IETF管理Kerberos规范,但Microsoft已获得一些特权,可以更改此协议以满足W
8、indows 2000中的需要。Kerberos版本5(Kerberos 5)身份验证协议提供了一种相互验证(通过服务器和客户端相互验证或者一台服务与其他服务器之间相互验证)的身份验证机制。Kerberos 5协议假设客户端和服务器之间的初始身份验证在一个开放式的网络进行,此时通过网络传输的数据包将能被监测以及随意修改。这是一个被虚拟的环境,可是换句话说,当今因特网上可能有许多这样的例子,一名攻击者能够伪装成其他的客户端或者服务器,偷听两台合法且正常在通信的服务器和客户端之间数据传输,甚至于篡改之间传输的数据。 157.2.2 Kerberos身份验证协议内容 Kerberos为远程登录提供安
9、全性并可提供单个登录解决方案,以便用户不需要每次访问新服务器时都登录。AS将所有用户的密码存储在中央数据库中。AS颁发凭据,而客户端使用凭据来访问AS领域内的服务器。适用领域包括AS服务器跟踪的所有用户和服务器,这一点下面将解释。AS服务器由一个管理人员在物理上进行保护和管理。由于它验证用户身份,因此应用程序服务器免除此任务,它们“信任”AS为特定客户颁发的凭据。 167.2.2 Kerberos身份验证协议内容 在需要加密的任何通信中,为所涉及的双方获取加密密钥时总是有安全风险。在转换过程中可能会危及密钥的安全。一个重要的Kerberos特性是由AS提供一种方法,可以安全地将加密密钥分发到需
10、要参与安全事务的客户端和服务器。此共享密钥称为会话密钥。 AS在领域中进行操作,而领域是在其中设置特定安全策略的安全域。领域可以信任其他领域,意味着如果某个用户在一个领域中经过AS的验证,则信任领域不需要用户重新进行验证即可访问其领域中的服务器。换句话说,它相信另一个AS已正确地识别和验证了某个用户。 177.2.2 Kerberos身份验证协议内容Kerberos提供3种安全等级: (1) 只在网络开始连接时进行认证,认为连接建立起来后的通信是可靠的,认证式网络文件系统(Authenticated Network File System) 使用此种安全等级; (2) 安全消息(Sage Me
11、ssages)传递,对每次消息都进行认证工作,但是不保证每条消息不被泄露; (3) 私有消息(Private Messages)传递,不仅对每条消息进行认证,而且对每条消息进行加密。Kerberos在发送密码时就采用私有消息模式。 187.2.2 Kerberos身份验证协议内容下面是Kerberos的一些重要特性。在此处的讨论中,客户端指代表用户操作的软件。 在客户端可访问服务器之前,必须从AS获得凭据。 客户端访问服务器时需要的凭据包括服务器票证。服务器票证具有特定的时间参数并只允许特定客户机上的特定用户访问特定服务器。一个用户可能同时拥有数个票证以访问多个服务器。 197.2.2 Ker
12、beros身份验证协议内容最初的目标是从AS获取TGT(票证授予票证)给予客户端。TGT(不要与服务器票证混淆)类似于许可或许可证。使用TGT,客户端即具有权力从TGS(票证授予服务器)获取服务器票证。TGS可能运行在AS计算机上。 TGT的目的是消除用户在每次希望访问新服务器时必须键入密码的需要。当TGS收到包含TGT的票证的请求时,它使用TGT中的信息验证用户,并且不需要用户重新输入密码。 207.2.2 Kerberos身份验证协议内容 TGT包含用户ID和网络地址,以及TGS的ID。它还包含时间戳,而时间戳提供一些保护来防范黑客。另外,它还包含首要的会话密钥(会话密钥最后分发给客户端和
13、用户要访问的目标服务器)。使用只有AS和TGS知道的密钥加密TGT,从而在TGT从AS发送出去后只有TGS可以对TGT进行解密。 AS并不将TGT直接发送到目标服务器,而将它发送到客户端,在此处保存它,以用于将来的所有票证请求。当该用户试图访问服务器时,TGT被发送到TGS。TGS将TGT解密并将其内容与用户提供的信息进行比较,以确定真实性,然后返回目标服务器的票证给用户。 217.2.2 Kerberos身份验证协议内容Kerberos验证和授权方案如图7.2所示。 227.2.2 Kerberos身份验证协议内容(1) 第一步是客户端获取TGT。本步骤还验证该用户。TGT的一个简单请求发送
14、到AS。AS具有客户端密码的一个副本,它使用从用户密码导出的密钥加密TGT。 (2) 当客户端收到此响应时,系统提示用户输入可解密此响应的密码。只有可信的用户才能输入可解密响应的密码,因此本方案可有效地验证用户。 (3) 响应一旦解密,客户端即具有TGT的一个副本。为访问服务器,客户端发送请求(请求中包含目标服务器ID、用户ID和TGT)给TGS来证实用户的真实性。 (4) TGS解密TGT并查看其内容。如果所有内容都已检查出,则TGS生成目标服务器的服务器票证,并用与目标服务器一起共享的密钥加密它。服务器票证再次由TGS使用从用户密码导出的密钥加密,并返回到客户端。 237.2.2 Kerb
15、eros身份验证协议内容(5) 客户端解密响应以提取服务器票证和会话密钥。然后票证与用户ID一起转发到目标服务器。请注意,票证还包含加密形式的用户ID。 (6) 目标服务器解密票证,并将随票证发送的用户ID与在票证中加密的用户ID进行比较。如果它们相符,则用户被授予服务器访问权限。 247.2.3 Kerberos协议的特点1. Kerberos协议的优点协议的优点(1) Kerberos系统对用户的口令进行加密后作为用户的私钥,避免口令在信道的显式传输, 实现较高的安全性; (2) 用户在使用中,仅在登录时要求输入口令,实现对合法用户的透明性; (3) Kerberos可以较方便地实现用户数
16、的动态改变。 257.2.3 Kerberos协议的特点2. Kerberos协议的缺点协议的缺点(1) Kerberos服务器与用户共享的秘密是用户的口令字,服务器在回应时不验证用户的真实性,假设只有合法用户拥有口令字。如攻击者记录申请回答报文,就易形成代码本攻击。 (2) Kerberos服务器与用户共享的秘密是用户的口令字,服务器在回应时不验证用户的真实性,假设只有合法用户拥有口令字。如攻击者记录申请回答报文,就易形成代码本攻击。 267.2.3 Kerberos协议的特点(3) AS和TGS是集中式管理,容易形成瓶颈,系统的性能和安全也严重依赖于AS和TGS的性能和安全。在AS和TGS
17、前应该有访问控制,以增强AS和TGS的安全。 (4) 随用户数增加,密钥管理较复杂。Kerberos拥有每个用户的口令字的散列值,AS与TGS负责户间通信密钥的分配。当N个用户想同时通信时,仍需要N(N-1)/2个密钥。277.3 SSL协议7.3.1 SSL协议概述 随着计算机网络技术向整个经济社会各层次延伸,整个社会表现对因特网、企业内部网及企业外部网等使用的更大的依赖性。随着企业间信息交互的不断增加,任何一种网络应用和增值服务的使用程度将取决于所使用网络的信息安全有无保障,网络安全已成为现代计算机网络应用的最大障碍,也是急需解决的难题之一。287.3 SSL协议A. 由于Web上有时要传
18、输重要或敏感的数据,因此Netscape公司在推出Web浏览器首版的同时,提出了安全通信协议(SSL,Secure Socket Layer)。SSL采用公开密钥技术。其目标是保证两个应用间通信的保密性和可靠性,可在服务器和客户机两端同时实现支持。目前,利用公开密钥技术的SSL协议,并已成为因特网上保密通信的工业标准。现行Web浏览器普遍将HTTP和SSL相结合,仅需安装数字证书,或服务器证书就可以激活服务器功能,从而实现安全通信。297.3 SSL协议SSL是在因特网基础上提供的一种保证私密性的安全协议。它能使客户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对客户
19、进行认证。SSL协议要求建立在可靠的传输层协议(例如:TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的。高层的应用层协议(如HTTP、FTP、TELNET等)能透明的建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。通过以上叙述,SSL协议提供的安全信道有以下3个特性。(1) 私密性私密性: 因为在握手协议定义了会话密钥后,所有的消息都被加密。(2) 确认性确认性: 因为尽管会话的客户端认证是可选的,但是服务器端始终是被认证的。(3) 可靠性可靠性: 因为传送的消
20、息包括消息完整性检查(使用MAC)。 307.3.2 SSL协议的内容 SSL协议由SSL记录协议和SSL握手协议两部分组成。1. SSL记录协议 在SSL协议中,所有的传输数据都被封装在记录中。记录是由记录头和长度不为0的记录数据组成的。所有的SSL通信(包括握手消息、安全空白记录和应用数据)都使用SSL记录层。SSL记录协议包括了记录头和记录数据格式的规定。317.3.2 SSL协议的内容(1). SSL(1). SSL记录头格式记录头格式 SSL的记录头可以是两个或3个字节长的编码。SSL记录头的包含的信息包括:记录头的长度、记录数据的长度、记录数据中是否有粘贴数据。其中粘贴数据是在使用
21、块加密算法时,填充实际数据,使其长度恰好是块的整数倍。最高位为1时,不含有粘贴数据,记录头的长度为2 B,记录数据的最大长度为32 767 B;最高位为0时,含有粘贴数据,记录头的长度为3个字节,记录数据的最大长度为16 383个字节。327.3.2 SSL协议的内容(2). SSL记录数据的格式记录数据的格式 SSL的记录数据包含3个部分:MAC数据、实际数据和粘贴数据。MAC数据用于数据完整性检查。计算MAC所用的散列函数由握手协议中的CIPHER-CHOICE消息确定。若使用MD2和MD5算法,则MAC数据长度是16个字节。MAC的计算公式为:MAC数据HASH密钥,实际数据,粘贴数据,
22、序号。当会话的客户端发送数据时,密钥是客户的写密钥(服务器用读密钥来验证MAC数据);而当会话的客户端接收数据时,密钥是客户的读密钥(服务器用写密钥来产生MAC数据)。序号是一个可以被发送和接收双方递增的计数器。每个通信方向都会建立一对计数器,分别被发送者和接收者拥有。计数器有32位,计数值循环使用,每发送一个记录计数值递增一次,序号的初始值为0。 337.3.2 SSL协议的内容2. SSL2. SSL握手协议握手协议 通过握手协议,可以完成通信双方的身份鉴定以及协商会话过程中的信息加密密钥,从而建立安全连接。SSL 完全握手协议如图7.3所示。它展示了在 SSL握手过程中的信息交换顺序。3
23、47.3.2 SSL协议的内容2. SSL2. SSL握手协议握手协议357.3.2 SSL协议的内容SSL握手协议过程描述如下。 (1) ClientHello:客户端将其SSL版本号、加密设置参数、与会话有关的数据以及其他一些必要信息(如加密算法和能支持的密钥的大小等)发送到服务器。 (2) ServerHello:服务器将其SSL版本号、加密设置参数、与会话有关的数据以及其他一些必要信息发送给浏览器。 (3) Certificate:服务器发送一个证书或一个证书链到客户端,证书链开始于服务器公共钥匙证书并结束于证明权威的根证书。该证书(链)用于向客户端确认服务器的身份。这个消息是可选的。
24、如果配置服务器的SSL需要验证服务器的身份,会发送该消息。多数电子商务应用都需要服务器端身份验证。 367.3.2 SSL协议的内容(4) Certificate Request:该消息是可选的,要求客户端浏览器提供用户证书,以进行客户身份的验证。如果配置服务器的SSL需要验证用户身份,会发送该消息。多数电子商务应用不需要客户端身份验证。不过,在支付过程中经常会需要客户端身份证明。(5) Server Key Exchange:如果服务器发送的公共密钥对加密密钥的交换不是很合适时,则发送一个服务器密钥交换消息。(6) ServerHelloDone:该消息通知客户端,服务器已经完成了交流过程的
25、初始化。(7) Certificate:客户端发送客户端证书给服务器。仅当服务器请求客户端身份验证的时候会发送客户端证书。 377.3.2 SSL协议的内容(8) Client Key Exchange:客户端产生一个会话密钥与服务器共享。在SSL握手协议完成后,客户端与服务器端通信信息的加密就会使用该会话密钥。如果使用 (RSA) 加密算法,客户端将使用服务器的公钥将会话密钥加密之后再发送给服务器。服务器使用自己的私钥对接收到的消息进行解密以得到共享的会话密钥。这一步完成后,客户端和服务器就共享了一个已经安全分发的会话密钥。(9) Certificate Verify:如果服务器请求验证客户
26、端,这个消息允许服务器完成验证过程。(10) Change Cipher Spec:客户端要求服务器在后续的通信中使用加密模式。(11) Finished:客户端告诉服务器它已经准备好安全通信了。 387.3.2 SSL协议的内容(12) Change Cipher Spec:服务器要求客户端在后续的通信中使用加密模式。(13) Finished:服务器告诉客户端它已经准备好安全通信了。这是 SSL “握手”完成的标志。(14) Encrypted Data:客户端和服务器现在可以开始在安全通信通道上进行加密信息的交流了。当上述动作完成之后,两者间的资料传送就会加密。发送时信息用会话密钥加密形
27、成一个数据包A,对称密钥用非对称算法加密形成另一个数据包B,再把两个包绑在一起传送过去。接收的过程与发送正好相反,先用非对称算法打开有对称密钥的加密包B,获得会话密钥。然后再用会话密钥解密数据包A,获取发送来的信息原文。即使盗窃者在网络上取得编码后的资料,如果没有会话加密密钥,也不能获得可读的有用资料。 397.3.2 SSL协议的内容3. 典型的协议消息流程典型的协议消息流程典型的协议消息流程如表7.3所示。如书上所示407.3.2 SSL协议的内容1SSL协议相关技术协议相关技术 如前所述,SSL协议加密算法和会话密钥是在握手协议中协商并有CIPHERCHOICE指定的。现有的SSL版本中
28、所用到的加密算法包括:RC4、RC2、IDEA和DES,而加密算法所用的密钥由消息散列函数MD5产生。RC4、RC2是由RSA定义的,其中RC2适用于块加密,RC4适用于流加密。 SSL协议认证算法采用X.509电子证书标准,通过使用RSA算法进行数字签名来实现的。417.3.2 SSL协议的内容(1). 服务器的认证服务器的认证 在上述的两对密钥中,服务器方的写密钥和客户方的读密钥、客户方的写密钥和服务器方的读密钥分别是一对私有、公有密钥。对服务器进行认证时,只有用正确的服务器方写密钥加密CLIENT-HELLO消息形成的数字签名才能被客户正确的解密,从而验证服务器的身份。 若通信双方不需要
29、新的密钥,则它们各自所拥有的密钥已经符合上述条件。若通信双方需要新的密钥,则首先服务器方在SERVER-HELLO消息中的服务器证书中提供服务器的公有密钥,服务器用其私有密钥才能正确的解密由客户方使用服务器的公有密钥加密的MASTER-KEY,从而获得服务器方的读密钥和写密钥。 427.3.2 SSL协议的内容(2). 客户的认证客户的认证 同上,只有用正确的客户方写密钥加密的内容才能被服务器方用其读密钥正确解开。当客户方收到服务器方发出的REQUEST-CERTIFICATE消息时,客户方首先使用MD5消息散列函数获得服务器方信息的摘要,服务器方的信息包括:KEY-MATERIAL-0、KE
30、Y-MATERIAL-1、KEY-MATERIAL-2、CERTIFICATE-CHALLENAGE-DATA(来自于REQUEST-CERTIFICATE消息)、服务器所赋予的证书(来自于SERVER-HELLO)消息。其中KEY-MATERIAL-1、KEY-MATERIAL-2是可选的,与具体的加密算法有关。然后客户使用自己的读密钥加密摘要形成数字签名,从而被服务器认证。 437.3.2 SSL协议的内容2SSL协议安全性协议安全性 SSL技术提供了身份认证服务、信息加密服务和数据的完整性服务3项服务以达到高安全性。(1). 用户和服务器的合法性认证用户和服务器的合法性认证 认证用户和服
31、务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都是有各自的识别号,这些识别号由公开密钥进行编号,为了验证用户是否合法,安全套接层协议要求在握手交换数据进行数字认证,以此来确保用户的合法性。447.3.2 SSL协议的内容(2). 加密数据以隐藏被传送的数据加密数据以隐藏被传送的数据 安全套接层协议所采用的加密技术既有对称密钥加密技术,也有非对称密钥加密技术。在客户机与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手过程中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别。这样就可以防止非法用户进行破译。457.3.2
32、 SSL协议的内容(3). 保护数据的完整性保护数据的完整性 安全套接层协议采用Hash函数和机密共享的方法来提供信息的完整性服务,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。 SSL协议使用不对称加密技术实现会话双方之间信息的安全传递,可以实现信息传递的保密性、完整性,并且会话双方能鉴别对方身份。不同于常用的HTTP协议,人们在与网站建立SSL安全连接时使用HTTPS协议,即采用https:/ip:port/的方式来访问。467.3.2 SSL协议的内容3SSL协议的优点协议的优点 使用SSL技术可以形成一个基于SSL的安全
33、VPN(虚拟专用网络)。这样一种新型的VPN技术主要优势体现在哪里呢?目前这种VPN技术的应用正逐渐呈上升趋势,原因何在呢?下面就是几个主要的方面。 (1) 无须安装客户端软件:在大多数执行基于SSL协议的远程访问是不需要在远程客户端设备上安装软件。只需通过标准的Web浏览器连接因特网,即可以通过网页访问到企业总部的网络资源。这样无论是从软件协议购买成本上,还是从维护、管理成本上都可以节省一大笔资金,特别是对于大、中型企业和网络服务提供商。 477.3.2 SSL协议的内容 (2) 适用大多数设备:基于Web访问的开放体系可以在运行标准的浏览器下访问任何设备,包括非传统设备,如可以上网的电话和
34、PDA通信产品。这些产品目前正在逐渐普及,因为它们在不进行远程访问时也是一种非常理想的现代时尚产品。 (3). 适用于大多数操作系统:可以运行标准的因特网浏览器的大多数操作系统都可以用来进行基于Web的远程访问,不管操作系统是Windows、Macintosh、Unix还是 Linux。可以对企业内部网站和Web站点进行全面的访问。用户可以非常容易地得到基于企业内部网站的资源,并进行应用。 487.3.2 SSL协议的内容 (4) 支持网络驱动器访问:用户通过SSL VPN通信可以访问在网络驱动器上的资源。 (5) 良好的安全性:用户通过基于SSL的Web访问并不是网络的真实节点,就像IPSe
35、c安全协议一样,而且还可代理访问公司内部资源。因此,这种方法可以非常安全的,特别是对于外部用户的访问。 (6) 较强的资源控制能力:基于Web的代理访问允许公司为远程访问用户进行详尽的资源访问控制。 497.3.2 SSL协议的内容 (7) 减少费用:为那些简单远程访问用户(仅需进入公司内部网站或者进行电子邮件通信),基于SSL 的VPN网络可以非常经济地提供远程访问服务。 (8) 可以绕过防火墙和代理服务器进行访问:基于SSL的远程访问方案中,使用NAT(网络地址转换)服务的远程用户或者因特网代理服务的用户可以从中受益,因为这种方案可以绕过防火墙和代理服务器进行访问公司资源,这是采用基于IP
36、Sec安全协议的远程访问所很难或者根本做不到的。 507.3.2 SSL协议的内容4SSL协议的不足之处协议的不足之处 上面介绍SSL VPN技术这么多优势,那么为什么现在不是所有用户都使用SSL VPN,且据权威调查机构调查显示目前绝大多部分企业仍采用IPSec VPN呢?SSL VPN的主要不足在哪里呢? (1) 必须依靠因特网进行访问:为了通过基于SSL VPN进行远程工作,当前必须与因特网保持连通性。因为此时Web浏览器实质上是扮演客户服务器的角色,远程用户的Web浏览器依靠公司的服务器进行所有进程。正因如此,如果因特网没有连通,远程用户就不能与总部网络进行连接,只能单独工作。 517
37、.3.2 SSL协议的内容A.(2) 对新的或者复杂的Web技术提供有限支持:B. 基于SSL的 VPN方案是依赖于反代理技术来访问公司网络的。因为远程用户是从公用因特网来访问公司网络的,而公司内部网络信息通常不仅处于防火墙后面,而且通常处于没有内部网IP地址路由表的空间中。反代理的工作就是翻译出远程用户Web浏览器的需求,通常使用常见的URL地址重写方法,例如,内部网站也许使用内部DNS服务器地址链接到其他的内部网链接,而URL地址重写必须完全正确地读出以上链接信息,并且重写这些URL地址,以便这些链接可以通过反代理技术获得路由,当有需要时,远程用户可以轻松地通过点击路由进入公司内部网络。对
38、于URL地址重写器,完全正确理解所传输的网页结构是极其重要的,只有这样才可正确显示重写后的网页,并在远程用户计算机浏览器上进行正确操作。527.3.2 SSL协议的内容A.(3) 只能有限地支持Windows应用或者其他非Web系统:因为大多数基于SSL的VPN都是基Web浏览器工作的,远程用户不能在Windows、Unix、Linux、AS400或者大型系统上进行非基于Web界面的应用。虽然有些SSL提供商已经开始合并终端服务来提供上述非Web应用,但不管如何,目前SSL VPN还未正式提出全面支持,这一技术还有待讨论,也可算是一个挑战。 537.3.2 SSL协议的内容A. (4) 只能为
39、访问资源提供有限安全保障:当使用基于SSL协议通过Web浏览器进行VPN通信时,对用户来说外部环境并不是完全安全、可达到无缝连接的。因为SSL VPN只对通信双方的某个应用通道进行加密,而不是对在通信双方的主机之间的整个通道进行加密。在通信时,在Web页面中呈现的文件很难也基本上无法保证只出现类似于上传的文件和邮件附件等简单的文件,这样就很难保证其他文件不被暴露在外部,存在一定的安全隐患。 547.4 SET协议A. 随着因特网、计算机技术、信息技术的迅速发展,电子商务己深入到社会生活的各个方面。基于卡业务的SET(Secure Electronic Transaction,安全电子交易)协议
40、,己经成为电了商务中网上购物的一种主要模式。这里着重分析基于SET协议的电子商务流程,内容涉及SET的基本组成成员,组成一个完整的支付流程所需主要的交易阶段和其具体的步骤,并简要说明了每一步采用的相关技术。 557.4.1 SET协议概述A. 由于因特网爆炸式地迅速流行,电子商务引起了越来越多的人的注意,它被公认为是未来IT业最具潜力的新增长点。在开放的网络(如因特网)上处理交易,如何保证传输数据的安全成为电子商务能否普及最重要的因素之一。调查公司曾对电子商务的应用前景进行在线调查:为什么不愿在线购物,绝大多数人的回答是担心遭到黑客的侵袭而导致信用卡信息丢失。SET正是在这种背景下应运而生的。
41、567.4.1 SET协议概述A. SET协议是由VISA和MasterCard两大信用卡公司于1997年5月联合推出的规范。SET主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付信息的机密、支付过程的完整、商户及持卡人的合法身份、以及可操作性。SET中的核心技术主要有公开密匙加密、电子数字签名、电子信封、电子安全证书等。 SSL协议是由网景(Netscape)公司推出的一种安全通信协议,它能够对信用卡和个人信息提供较强的保护。SSL是对计算机之间整个会话进行加密的协议。在SSL中,采用了公开密钥和私有密钥两种加密方法。577.4.1 SET协议概述SET协议比SSL
42、协议复杂,因为前者不仅加密两个端点间的单个会话,它还可以加密和认定三方间的多个信息。SET协议的主要的目标如下:(1) 信息在因特网上的安全传输,保证网上传输的数据不被黑客窃听。(2) 定单信息和个人账号信息的隔离。在将包括持卡人账号信息的定单送到商家时,商家只能看到定货信息,而看不到持卡人的账户信息。 587.4.1 SET协议概述(3) 持卡人和商家相互认证,以确定通信双方的身份。一般由第三方机构负责为在线通信双方提供信用担保。(4) 要求软件遵循相同的协议和消息格式,使不同厂家开发的软件具有兼容和互操作功能,并且可以运行在不同的硬件和操作系统平台上。 SET规范涉及的范围:加密算法的应用
43、(例如RSA和DES)证书信息和对象格式;购买信息和对象格式;认可信息和对象格式;划账信息和对象格式;对话实体之间消息的传输协议。 SET是针对用卡支付的网上交易而设计的支付规范,对不用卡支付的交易方式,如货到付款方式、邮局汇款等方式则与SET无关。 597.4.3 SET协议的内容 根据SET协议的工作流程,可将整个工作程序分为下面7个步骤。(1) 消费者利用自己的PC机通过因特网选所要购买的物品,并在计算机上输入订货单。订货单上需包括在线商店、购买物品名称及数量、交货时间及地点等相关信息。(2) 通过电子商务服务器与有关在线商店联系,在线商店做出应答,告诉消费者所填订货单的货物单价、应付款
44、数、交货方式等信息是否准确,是否有变化。(3) 消费者选择付款方式,确认订单,签发付款指令。此时SFT开始介入。(4) 在SET中,消费者必须对订单和付款指令进行数字签名,同时利用双重签名技术保证商家看不到消费者的账号信息。 607.4.3 SET协议的内容(5) 在线商店接收订单后,向消费者所在银行请求支付认可。信息通过支付网关到收单银行,再到电子货币发行公司确认。批准交易后,返回确认信息给在线商店。(6) 在线商店发送订单确认信息给消费者。消费者端软件可记录交易日志,以备查询。(7) 在线商店发送货物或提供服务,并通知收单银行将钱从消费者的账号转移到商店账号,或通知发卡银行请求支付。617
45、.4.3 SET协议的内容 在认证操作和支付操作中间一般会有一个时间间隔,例如在每天的下班前请求银行结一天的账。前两步与SET无关,从第三步开始SET起作用,一直到第7步。在处理过程中,通信协议、请求信息的格式、数据类型的定义等,SET都有明确的规定。在操作的每一步,消费者、在线商店、支付网关都通过CA来验证通信主体的身份,以确保通信的对方不是冒名顶替。所以,也可以简单地认为,SET规范充分发挥了认证中心的作用,以维护在任何开放网络上的电子商务参与者所提供信息的真实性和保密性。 627.4.4 SET协议的特点1. SET协议加密技术协议加密技术目前广为命名用的加密方法主要有两种:密钥加密系统
46、和公钥加密系统,在SET的加密处理中,这两种方法都用到了。SET将对称密钥的快速、低成本和非对称密钥的有效性完美地结合在一起。SET命名用的加密技术主要表现如下:(1) 数字证书:包含了其所有者的公钥,井且可以通过传递验证到根CA来证明其证书的有效性,有两种数字证书:一个保存了签名公钥,可以验证发送者的身份,另外一个保存了交换公钥,主要是用来加密对称密钥用的。(2) 密钥系统:又称对称密码系统,它使用相同的密钥进行加密和解密运算,发送者和接收者必须有相同的钥匙,最著名的密钥系统算法是数据加密标准(DES)。637.4.4 SET协议的特点 (3) 公钥系统:又称非对称密码系统,它使用两个钥匙:
47、一个用来加密,一个用来解密。考虑网上商店的情况,对于成千上万消费者和商家在因特网上交换信息,要对每一个消费者通过某个渠道发放一个密钥,在现实中是不可取的。而用公开密钥,商家生成一个公共密钥对,任何一个消费者都可用商家公开发布的公钥与商家进行保密通信。(4) 数字信封:SET依靠密码系统保证消息的可靠传输,在SET中,使用随机产生的对称密钥来加密数据,然后,将此对称密钥用接收者的公钥加密,称为消息的数字信封,将其和数据一起送给接收者,接收者先用他的私钥解密数字信封,得到对称密钥,然后使用对称密钥解开数据。647.4.4 SET协议的特点 (5) 数字签名:由于公开密钥和私有密钥之间存在的数学关系
48、,使用其中一个密钥加密的数据只能用另一个密钥解开。发送者用自己的私有密钥加密数据传给接收者,接收者用发送者的公钥解开数据后,就可确定消息来自于谁。这就保证了发送者对所发信息不能抵赖。(6) 消息摘要:消息摘要(message digest)是一个唯一对应一个消息或文本的值,由一个单向Hash加密函数对消息作用而产生。用发送者的私有密钥加密摘要附在原文后面,一般称为消息的数字签名。数字签名的接收者可以确信消息确实来自谁,另外,如果消息在 途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知道消息是否被改变了。因此消息摘要保证了消息的完整性。657.4.4 SET协议的特点 (7)
49、 双重签名:它是数字签名的新应用。首先生成两条消息的摘要,将两个摘要连接起来,生成一个新的摘要(称为双重签名),然后用签发者的私有密钥加密,为了让接收者验证双重签名,还必须将另外一条消息的摘要一块传过去。这样,任何一个消息的接收者都可以通过以下方法验证消息的真实性:生成消息摘要,将它和另外一个消息摘要连接起来,生成新的摘要,如果它与解密后的双重签名相等,就可以确定消息是真实的。 667.4.4 SET协议的特点2. SET协议安全性分析协议安全性分析 为了满足在因特网和其他网络上信用卡安全支付的要求,SET协议保证了信息的机密性、交易方身份的认证、信息的完整性。(1) 信息的机密性 SET协议
50、中传输的信息都进行了加密处理。如为了保证客户信用卡信息不被商家非法获取,SET协议提供了订购和支付消息的机密性,使商家只能看到订购信息,不能看到用户的信用卡信息:信用卡信息只有银行可以看到。 SET协议的对称加密操作,采用DES或商用数据隐蔽设备CDMF(Commercial Data Mashing Facility),DES是用于保护金融信息的默认对称数据加密算法。在SET协议中,使用一个SET加密机密操作前,使用CDMF进行密钥传输。677.4.4 SET协议的特点(2) 数据的完整性 SET使用数字签名来保证数据的完整性。SET使用安全Hash算法(Secure Hash Algori
51、thm,简称SHA-l)的RSA数字签名,SHA-1对于任意长度的消息都生成一个160位的消息文摘,如果消息中有一位发生变化,那么消息文摘中会大约有很多的数据发生变化,两个消息的文摘完全相同的文摘安全相同的概率几乎是零。 SET协议中还应用双重签名来保证信息的完整性。双重签名的目的是连接两个不同接收方的两条信息,如发送给商家的订购信息(OI,Order Information)和发送给银行的支付信息(PI,Payment Information)。其中,商家不可以知道客户的信息卡信息,银行不需要知道客户的订购信息的细节。用户用一个签名操作来数字签名两个消息,实现一个双重签名。一个双重签名是通过
52、计算两个消息的消息摘要产生的,并将两个摘要连接在一起形成一个总摘要,并用用户的私有签名密钥加密摘要。每个消息的接收者取出自己能够看到的消息,通过重新生成消息摘要来验证消息。687.4.4 SET协议的特点(3) 身份认证 SET使用基于X.509的PKI(公钥基础设施),通过数字证书和RSA来达到对持卡人账户和商家、支付网关以及银行月份的认证。SET是一个基于可信的第三方认证中心的方案,CA在SET扮演了很重要的角色,证书是核心。SET标准提供了通过认证中心对证书加以认证简单的方法来确保进行电了交易的各方能够互相信任。在SET协议中,有持卡人证书、特约商店证书、支付网关证书、收单银行证书和发单
53、银行证书。697.4.4 SET协议的特点3. SET协议的缺陷协议的缺陷 从1996年4月SET安全协议1.0版面市以来,获得了业界的支持,促进了SET良好的发展趋势。但也发现了一些问题,主要包括以下几方面。(1) 协议没有说明收单银行给在线商店付款前,是否必须收到消费者的货物接收证书。否则,在线商店提供的货物不符合质量标准,消费者提出疑义,责任由谁承担。(2) 协议没有担保“非拒绝行为”,这意味着在线商店没有办法证明订购是不是由签署证书的消费者发出的。707.4.4 SET协议的特点 (3) SET技术规范没有提及在事务处理完成后,如何安全地保存或销毁此类数据,是否应当将数据保存在消费者、
54、在线商店或收单银行的计算机里。这些漏洞可能使这些数据以后受到潜在的攻击。 (4) 在完成一个SET协议交易的过程中,需验证电子证书9次,验证数字签名6次,传递证书7次,进行5次签名、4次对称加密和4次非对称加密。所以,完成一个SET协议交易过程需花费1.52 min,甚至更长的时间(新式小型电子钱包将多数信息放在服务器上,时间可缩短到1020 S)。SET协议过于复杂,使用麻烦,成本高,且只适用于客户具有电子钱包的场合。 717.4.4 SET协议的特点(5) SET的证书格式比较特殊,虽然也遵循X.509的标准,但它主要是由VISA和Master Card开发并按信用卡支付方式来定义的。银行
55、的支付业务不光是卡支付业务,而SET支付方式和认证结构适应于卡支付,对其他支付方式是有所限制的。(6) 一般认为,SET协议保密性好,具有不可否认性,SETCA是一套严密的认证体系,可保证B-C类型的电子商务安全顺利地进行。事实上,安全是相对的,提出电子商务中信息的保密性问题,即要保证支付和定单信息的保密性,也就是要求商户只能看到订单信息,支付网关只能解读支付信息。但在SET协议中,虽然账号不会明文传递,它通常用1 024位RSA不对称密钥加密,商户电子证书确实指明了是否允许商户从支付网关的响应消息中看到持卡人的账号,可是事实上大多数商户都收到了持卡人的账号。727.5.1 IPSec协议概述
56、 IPSec提供了两种安全机制:认证和加密。认证机制使IP通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否遭篡改。加密机制通过对数据进行编码来保证数据的机密性,以防数据在传输过程中被窃听。IPSec 协议组包含AH(Authentication Header)协议、ESP(Encapsulating Security Payload)协议和IKE(Internet Key Exchange)协议。其中AH协议定义了认证的应用方法,提供数据源认证和完整性保证;ESP协议定义了加密和可选认证的应用方法,提供可靠性保证。在实际进行IP通信时,可以根据实际安全需求同时使用这两种协议
57、或选择使用其中的一种。AH和ESP都可以提供认证服务,不过,AH提供的认证服务要强于ESP。IKE用于密钥交换(将在以后部分讨论)。图7.4为IPSec: IP层协议安全结构。737.5.1 IPSec协议概述图7.4为IPSec: IP层协议安全结构。747.5.2 AH协议结构 AH协议为IP通信提供数据源认证、数据完整性和反重播保证,它能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据。AH的工作原理是在每一个数据包上添加一个身份验证报头。此报头包含一个带密钥的Hash散列(可以将其当作数字签名,只是它不使用证书),此Hash散列在整个数据包中计算,因此对数据的任何更改将致使散列
58、无效-这样就提供了完整性保护。 AH报头位置在IP报头和传输层协议报头之间,如图7.5所示。 AH由IP协议号 51标识,该值包含在AH报头之前的协议报头中,如IP报头。AH可以单独使用,也可以与ESP协议结合使用。757.5.2 AH协议结构 AH协议767.5.2 AH协议结构AH报头字段包括内容如下: Next Header(下一个报头): 识别下一个使用IP协议号的报头,例如,Next Header值等于6,表示紧接其后的是TCP报头。 Length(长度): AH报头长度。 Security Parameters Index (SPI,安全参数索引): 这是一个为数据报识别安全关联的
59、 32 位伪随机值。SPI 值 0 被保留来表明没有安全关联存在。 Sequence Number(序列号):从1开始的32位单增序列号,不允许重复,唯一地标识了每一个发送数据包,为安全关联提供反重播保护。接收端校验序列号为该字段值的数据包是否已经被接收过,若是,则拒收该数据包。 Authentication Data(AD,认证数据): 包含完整性检查和。接收端接收数据包后,首先执行Hash计算,再与发送端所计算的该字段值比较,若两者相等,表示数据完整,若在传输过程中数据遭修改,两个计算结果不一致,则丢弃该数据包。 777.5.2 AH协议结构AH提供数据包完整性检查,如图7.6所示,AH报
60、头插在IP报头之后,TCP、UDP或者ICMP等上层协议报头之前。一般AH为整个数据包提供完整性检查,但如果IP报头中包含生存期(Time To Live)或服务类型(Type of Service)等值可变字段,则在进行完整性检查时应将这些值可变字段去除。787.5.3 ESP协议结构 ESP为IP数据包提供完整性检查、认证和加密,可以看做是超级 AH, 因为它提供机密性并可防止篡改。ESP服务依据建立的安全关联(SA)是可选的。然而,也有一些限制: 完整性检查和认证一起进行;仅当与完整性检查和认证一起时,重播(Replay)保护才是可选的;重播保护只能由接收方选择。 797.5.3 ESP
61、协议结构ESP的加密服务是可选的,但如果启用加密,则也就同时选择了完整性检查和认证,因为如果仅使用加密,入侵者就可能伪造包以发动密码分析攻击。 ESP可以单独使用,也可以和AH结合使用。一般ESP不对整个数据包加密,而是只加密IP包的有效载荷部分,不包括IP头。但在端对端的隧道通信中,ESP需要对整个数据包加密。 如图7.7所示,ESP报头插在IP报头之后,TCP或UDP等传输层协议报头之前。ESP由IP协议号50标识。807.5.3 ESP协议结构 ESP报头、报尾和认证报尾817.5.3 ESP协议结构1. ESP报头字段包括内容如下。报头字段包括内容如下。Security Paramet
62、ers Index (SPI,安全参数索引):为数据包识别安全关联。 Sequence Number(序列号):从1开始的32位单增序列号,不允许重复,唯一地标识了每一个发送数据包,为安全关联提供反重播保护。接收端校验序列号为该字段值的数据包是否已经被接收过,若是,则拒收该数据包。827.5.3 ESP协议结构2. ESP报尾字段包括内容如下。报尾字段包括内容如下。Padding(扩展位):0255 B。Padding Length(扩展位长度):接收端根据该字段长度去除数据中扩展位。 Next Header(下一个报头):识别下一个使用IP协议号的报头,如TCP或UDP。 ESP认证报尾字段
63、: Authentication Data(AD,认证数据): 包含完整性检查和。完整性检查部分包括ESP报头、有效载荷(应用程序数据)和ESP报尾,如图7.8所示。837.5.3 ESP协议结构ESP的加密部分和完整性检查部分 847.5.3 ESP协议结构如图7.8所示,ESP报头的位置在IP报头之后,TCP、UDP,或者ICMP等传输层协议报头之前。如果已经有其他IPSec协议使用,则ESP报头应插在其他任何IPSec协议报头之前。ESP认证报尾的完整性检查部分包括ESP报头、传输层协议报头,应用数据和ESP报尾,但不包括IP报头,因此ESP不能保证IP报头不被篡改。ESP加密部分包括上
64、层传输协议信息、数据和ESP报尾。 857.5.4 ESP隧道模式和AH隧道模式AH和ESP协议有两种应用模式:一种是传输模式;另一种是隧道模式。以上介绍的是传输模式下的AH协议和ESP协议,ESP隧道模式和AH隧道模式与传输模式略有不同。 在隧道模式下,整个原数据包被当做有效载荷封装了起来,外面附上新的IP报头。其中内部IP报头(原IP报头)指定最终的信源和信宿地址,而外部IP报头(新IP报头)中包含的常常是做中间处理的安全网关地址。 与传输模式不同,在隧道模式中,原IP地址被当作有效载荷的一部分受到IPSec的安全保护,另外,通过对数据加密,还可以将数据包目的地址隐藏起来,这样更有助于保护端对端隧道通信中数据的安全性。 ESP隧道模式中签名部分(完整性检查和认证部分)和加密部分分别如图7.9所示。ESP的签名不包括新IP头。 867.5.4 ESP隧道模式和AH隧道模式ESP隧道模式 877.5.4 ESP隧道模式和AH隧道模式 图7.10标示出了AH隧道模式中的签名部分。AH隧道模式为整个数据包提供完整性检查和认证,认证功能优于ESP。但在隧道技术中,AH协议很少单独实现,通常与ESP协议组合使用。88总 结 这里主要给大家介绍了一些信息安全协议。 欢迎大家提问?89返回Thanks For Attendance!Thanks For Attendance!