当前位置:文档之家› 计算机网络_第六章_安全套接层协议SSL_77

计算机网络_第六章_安全套接层协议SSL_77


协议的使用
https:// 与shttp://
在网络上传输的敏感信息(如电子商务、金融 业务中的信用卡号或PIN码等机密信息)都纷 纷采用SSL来进行安全保护。
SSL通过加密传输来确保数据的机密性,通过 信息验证码(Message Authentication Codes, MAC)机制来保护信息的完整性,通过数字证 书来对发送和接收者的身份进行认证。
Sequence number: 每一方为每一个连接的数据发送与接 收维护单独的顺序号。当一方发送或接收一个改变的 cipher spec message时,序号置为0, 最大264-1。
6.2 SSL握手协议(Handshake protocol)
主要用来让客户端及服务器确认彼此的身分。
为了保护SSL记录封包中传送的数据, Handshake协议还能协助双方选择连接时所会 使用的加密算法、MAC算法、及相关密钥。
这种信号交换导致客户和服务器同意将使用 的安全性级别,并履行连接的任何身份验证 要求。
通过数字签名和数字证书可实现浏览器和 Web服务器双方的身份验证。
在用数字证书对双方的身份验证后,双方就 可以用保密密钥进行安全的会话了。
SSL证书保障在线服务器的安全
➢ 服务器身份验证 —— 防假冒 ➢ 网络信息发送内容加密 —— 防偷窥 ➢ 网络信息发送完整性检测 —— 防删节 ➢ 网络信息发送内容修改提醒 —— 防篡改
也可通过公钥技术和证书进行认证,也可通过用户名, password来认证。
建立服务器与客户之间安全的数据通道
SSL要求客户与服务器之间的所有发送的数据都被发送端 加密、接收端解密,同时还检查 数据的完整性
SSL提供的安全服务
用户和服务器的合法性认证
using X.509v3 digital certificates
目前我国开发的电子支付系统,无论是中国 银行的长城卡电子支付系统,还是上海长途 电信局的网上支付系统,均没有采用SSL协 议,主要原因就是无法保证客户资金的安全 性。
6.1.4 SSL协议的分层结构
SSL的设计概念是希望使用TCP来提供一个可 靠的端对端的安全性服务。SSL并不是单一个 协议,而是由二层协议来组成
Server write MAC secret: 一个密钥,用来对server 送出 的数据进行MAC操作。
Client write MAC secret: 一个密钥,用来对client送出的 数据进行MAC操作。
Server write key: 用于server 进行数据加密,client进行 数据解密的对称保密密钥;
Server Certificate Certificate Request ServerKeyExchange
送出服务器证书, 请求客户端证书
送出客户端证书
ChangeCipherSpec Finished
Application Data
改变密码套,结束握手 应用数据
SSL服务器证书工作原理介绍
SSL握手协议包含四个阶段:第一个阶段 建立安全能力;第二个阶段服务器鉴别和 密钥交换;第三个阶段客户鉴别(可选的) 和密钥交换;第四个阶段完成握手协议。
SSL的两个重要概念
SSL连接(connection) 一个连接是一个提供一种合适类型服务的传输(OSI 分层的定义)。 SSL的连接是点对点的关系。 连接是暂时的,每一个连接和一个会话关联。
该协议使用密钥对传送数据加密,许多网站都 是通过这种协议从客户端接收信用卡编号等保 密信息。它被认为是最安全的在线交易模式,
SSL解决的问题(功能)
客户对服务器的身份认证
SSL服务器允许客户的浏览器使用标准的公钥加密技术和 一些可靠的认证中心(CA)的证书,来确认服务器的合 法性。
服务器对客户的身份认证
图6.3 SSL的会话与连接
在任意一对通信主体之间,可以有多个安全连接。
会话状态参数
Session identifier: 服务器选择的一个任意字节序列,用 以标识一个活动的或可激活的会话状态。
Peer Certificate: 标识服务器的X.509.v3证书。可为空。 Compression method: 加密前进行数据压缩的算法。 Cipher spec: 指明数据体加密的算法(无,或DES等) 以及散列算法(如MD5或SHA-1)用以计算MAC。还包
第六章 安全套接层协议SSL
➢ SSL概述 ➢ SSL体系结构与协议 ➢ SSL协议的安全性分析 ➢ SSL的应用
目前国际上流行的电子商务所采用的 协议主要有:
安全套接层协议(Secure Sockets Layer,SSL) 基于信用卡交易的安全电子协议(Secure
Electronic Transaction,SET) 安全HTTP(S-HTTP)协议 安全电子邮件协议(PEM、S/MIME等) 用于公对公交易的Internet EDI等。 此外在Internet网上利用Ipsec标准建设虚拟专用
一个保证任何安装了安全套接字的客户 和服务器间事务安全的协议,它涉及所 有TCP/IP应用程序
IPS
TCP
IP/IPSec
IP
Lower layers
Lower layers
SSL协议可用于保护正常运行于TCP之上的任何 应用协议,如HTTP、FTP、SMTP或Telnet的通 信,最常见的是用SSL来保护HTTP的通信。
在传送应用程序的数据前,必须使用 Handshake 协议来完成上述事项。
Handshake由一些客户与服务器交换的 消息所构成,每一个消息都含有以下三 个字段:
类型(Type),1字节:表示消息的类型,总 共有十种。在表二中列出了这些已经定义的 消息种类。
长度(Length),3字节:消息的位组长度。
内容(Content),≧1个字节:与此消息有关 的参数,表6.1列出所有可能的参数。
括其它参数,如散列长度。 Master secret: 48位秘密,在client与server之间共享。 Is resumable:一个标志,指明该会话是否能用于产生一
个新连接。
连接状态
Server and client random: server 和client 为每一个连接 所选择的字节序号。
版本和历史 1.0,不成熟 2.0,基本上解决了Web通讯的安全问题
Microsoft公司发布了PCT(Private Communication Technology),并在IE中支持 3.0,1996年发布,增加了一些算法,修改了一些缺陷 TLS 1.0(Transport Layer Security传输层安全协议, 也 被称为SSL 3.1),1997年IETF发布了Draft,同时, Microsoft宣布放弃PCT,与Netscape一起支持TLS 1.0 1999年,发布RFC 2246(The TLS Protocol v1.0)
网,利用VPN为企业、政府提供一些基本的安 全服务,
6.1 SSL概述
SSL协议是一种国际标准的加密及身份认 证通信协议
目标:SSL被设计用来使用TCP提供一个 可靠的端到端安全服务,为两个通讯个 体之间提供保密性和完整性(身份鉴别)。
SSL/TLS协议
1994年Netscape开发了SSL(Secure Socket Layer)安全套 接层协议,专门用于保护Web通讯
SSL协议
TCP协议
IP协议 图6.2 SSL协议的分层结构
SSL协议定义了两个通信主体:客户 (client)和服务器(server)。其中, 客户是协议的发起者。
在客户/服务器结构中,应用层从请求服 务和提供服务的角度定义客户和服务器, 而SSL协议则从建立加密参数的过程中所 扮演的角色来定义客户和服务器。
购货时客户要输入通信地址,这样将可能使得 客户收到大量垃圾信件。
SSL协议运行的基点是商家对客户信息保 密的承诺。但在上述流程中SSL协议有利 于商家而不利于客户。
客户的信息首先传到商家,商家阅读后 再传到银行,这样,客户资料的安全性 便受到威胁。
随着电子商务参与方的迅速增加,认证问题 越来越突出,SSL协议的缺点完全暴露出来。 SSL协议逐渐被新的SET协议所取代。
SSL流程
客户端证 书
SSL 安全通道
服务器证 书
浏览器 Client hello
Client Certificate ClientKeyExchange
Certificate Verify ChangeCipherSpec
Finished
Application Data
Web服务器
Server hello 建立协议版本、会话ID、交换随机数
连接状态
Client write key:用于client 进行数据加密,server进行数 据解密的对称保密密钥;
Initialization vectors: 当数据加密采用CBC方式时,每一 个密钥保持一个IV。该字段首先由SSL Handshake Protocol产生,以后保留每次最后的密文数据块作为IV。
⑶会谈密码阶段:客户机器与服务器间产生 彼此交谈的会谈密码;
⑷检验阶段:客户机检验服务器取得的 密码;
⑸客户认证阶段:服务器验证客户机的 可信度;
⑹结束阶段:客户机与服务器之间相互 交换结束的信息。
6.1.3 SSL协议与电子商务
SSL 提供了用于启动 TCP/IP 连接的安 全性“信号交换”。
SSL协议的优点在于它是与应用层协议无关的。 高层的应用协议(如HTTP、FTP、Telnet等) 能透明地建立于SSL协议之上。
SSL协议在应用层协议之前就已经完成加密算 法、通信密钥的协商以及服务器的认证工作。 在此之后应用层协议所传送的数据都会被加密, 从而保证通信的安全性。
相关主题