网络安全17Web安全性.ppt
《网络安全17Web安全性.ppt》由会员分享,可在线阅读,更多相关《网络安全17Web安全性.ppt(69页珍藏版)》请在三一办公上搜索。
1、Chapter 16 Web安全性,密码编码学与网络安全,2023/10/18,西安电子科技大学计算机学院,2,第一部分 SSL/TLS协议,SSL(Secure Socket Layer)是一种在两个端实体(End Entity)之间提供安全通道的协议。它具有保护传输数据以及识别通信实体的功能。安全通道是透明的IETF 制定的TLS(Transport Layer Security)版本是对Nescape公司的SSL和Microsoft公司的PCT(Private Communication Technology)两个协议的综合和兼容。重点讨论SSL协议,2023/10/18,西安电子科技大
2、学计算机学院,3,SSL/TLS协议设计目标,SSL V2 设计目标为满足WEB安全通信而设计提供客户和服务器之间传输数据的保密性服务器认证(客户端认证可选)SSL V3设计目标修正SSL V2中存在的多处安全问题设计一种安全磋商多种加密算法的机制,2023/10/18,西安电子科技大学计算机学院,4,SSL提供了什么,SSL提供了通道级别的安全:连接的两端知道所传输的数据是保密的,而且没有被篡改几乎总是要对服务器进行认证可选的客户端认证针对异常情况的安全通知错误警示关闭连接所有这些依赖于某些对系统的假定假定已经正确产生了密钥数据并且该密钥已被安全地保管,2023/10/18,西安电子科技大学
3、计算机学院,5,SSL与TCP/IP,SSL连接非常类似于“保密的”的TCP连接位于TCP之上,应用层之下几乎只能在TCP上运行,而不能在UDP或IP上运行,因而它依赖于可靠的传输协议微软的STLP和无线应用论坛的WTLS均为意图在数据报传输层(如UDP)上正确工作的变种。,2023/10/18,西安电子科技大学计算机学院,6,SSL变种谱系树,SSL V1(1994)未发布,SSL V2(1994)第一版,SSL V3(1995),TLS(19971999),PCT(1995),STLP(1996),WTLS(1998),2023/10/18,西安电子科技大学计算机学院,7,用于WEB的SS
4、L,保护使用HTTP的WEB通信新的URL https:/在浏览器中的表现 NETSCAPE:工具条上会显示一把钥匙IE:右下角显示 一把锁几乎所有的商业WEB服务器和浏览器都实现了内置的SSL协议,通过配置即可使用,2023/10/18,西安电子科技大学计算机学院,8,在SSL上构建一切,除了HTTP 和NNTP(SNEWS)外,还可以用于SMTP、Telnet、FTP等,也可用于保护专有协议。协议端口标准化协议实现OPENSSL(C语言实现)pureTLS(java 实现)ApacheSSL(针对Apache服务器的实现)Mod_ssl,2023/10/18,西安电子科技大学计算机学院,9
5、,两个主要的协议,SSL记录协议建立在可靠的传输协议(如TCP)之上它提供连接安全性,有两个特点保密性,使用了对称加密算法完整性,使用HMAC算法用来封装高层的协议SSL握手协议客户和服务器之间相互鉴别协商加密算法和密钥它提供连接安全性,有三个特点身份鉴别,至少对一方实现鉴别,也可以是双向鉴别协商得到的共享密钥是安全的,中间人不能够知道协商过程是可靠的,2023/10/18,西安电子科技大学计算机学院,10,SSL的两个重要概念,SSL连接(connection)一个连接是一个提供一种合适类型服务的传输(OSI分层的定义)。SSL的连接是点对点的关系。连接是暂时的,每一个连接和一个会话关联。S
6、SL会话(session)一个SSL会话是在客户与服务器之间的一个关联。会话由Handshake Protocol创建。会话定义了一组可供多个连接共享的密码安全参数。会话用以避免为每一个连接提供新的安全参数所需昂贵的协商代价。,2023/10/18,西安电子科技大学计算机学院,11,SSL基础针对RSA服务器认证的SSL,SSL灵活性:单向认证 和 双向认证 认证加密 和 认证加密算法:RSA DSS DH FORTEZZA 连接分为两个节段:握手阶段 完成对服务器认证并建立加密密钥数据传输阶段 加密数据传输,2023/10/18,西安电子科技大学计算机学院,12,握手协议,握手阶段的目的客户
7、和服务器协商保护数据的算法(及其具体参数)确立在协商好的算法上使用的加密密钥可选择对客户端进行认证 client server-所支持的加密算法,随机数 选中的加密算法,随机数,服务器证书 加密后的pre_master_secret 计算相关演化密钥 计算相关演化密钥 握手消息的MAC值 握手消息的MAC值注:1.pre_master_secret 可以由KDF(key derivation function)演化出master_secret,最后再通过master_secret 演化出系列加密密钥。2.最后两步防止握手本身遭受篡改(如低强度密码算法替换等).3.客户端和服务器端随机数的传输,
8、防止重放攻击。,2023/10/18,西安电子科技大学计算机学院,13,握手消息,client server-握手:ClientHello 握手:ServerHello Certificate ServerHelloDone ClientKeyExchange(ChangeCipherSpec)Finished(ChangeCipherSpec)Finished,2023/10/18,西安电子科技大学计算机学院,14,SSL 记录协议,实际的数据传输是使用SSL记录协议实现的数据流分割成一系列片段并加以传输,每个片断单独保护和传输为实现完整性保护,对片段进行MAC保护为实现机密性保护,对片段进
9、行加密保护传输的是安全记录,2023/10/18,西安电子科技大学计算机学院,15,记录头(Head),ContentType;8位,上层协议类型Major version;Minnor version 16位,主次版本Compressed Length:16位 加密后数据的长度,不超过214+2048字节(SSL 几乎不用压缩,虽然支持)EncryptedData fragment;密文数据,2023/10/18,西安电子科技大学计算机学院,16,记录负荷(Payload),支持4种协议消息:application_data、alert、handshake、change_cipher_spe
10、c.Alert协议消息:报警等级(warning/fatal)+具体报警编码 2字节change_cipher_spec协议消息:1字节,将挂起状态变成当前状态,指示在此之后的所有消息都将使用刚刚商定的密码进行加密。handshake协议消息:类型(1字节)长度(3字节)消息,类型共10种,2023/10/18,西安电子科技大学计算机学院,17,记录负荷(Payload),2023/10/18,西安电子科技大学计算机学院,18,完整SSL会话握手协议,交换Hello消息,对于算法、交换随机值等协商一致交换必要的密码参数,以便双方得到统一的premaster secret交换证书和相应的密码信息
11、,以便进行身份认证产生master secret把安全参数提供给SSL记录层检验双方是否已经获得同样的安全参数,2023/10/18,西安电子科技大学计算机学院,19,2023/10/18,西安电子科技大学计算机学院,20,第一阶段:建立起安全协商,客户发送一个client_hello消息,包括以下参数:版本、随机数(32位时间戳+28字节随机序列)、会话ID、客户支持的密码算法列表(CipherSuite)、客户支持的压缩方法列表.然后,客户等待服务器的server_hello消息服务器发送server_hello消息,参数:客户建议的低版本以及服务器支持的最高版本、服务器产生的随机数、会话
12、ID、服务器从客户建议的密码算法和压缩方法中确定一套本次连接使用的确定方法.,2023/10/18,西安电子科技大学计算机学院,21,CipherSuite,指定了密钥交换的方法,SSL支持以下一些方法:RSA,要求服务器提供一个RSA证书DH(Diffie-Hellman),要求服务器的证书中包含了由CA签名的DH公开参数。客户或者在证书中提供DH公开参数,或者在密钥交换消息中提供此参数EDH(Ephemeral Diffie-Hellman),产生临时的密钥,DH公开参数由发送者的私钥进行签名,接收者用对应的公钥进行验证 匿名的DH,不加鉴别。会受到中间人攻击然后,指定以下信息加密算法和类
13、型(流还是分组密码算法)HMAC、MD5还是SHA-1是否可出口HashSize Key Material IV Size,2023/10/18,西安电子科技大学计算机学院,22,第二阶段:服务器鉴别和密钥交换,服务器发送certificate消息,消息包含一个X.509证书,或者一条证书链除了匿名DH之外的密钥交换方法都需要服务器发送server_key_exchange消息可选的,有些情况下可以不需要。只有当certificate消息没有包含必需的数据的时候才发送此消息消息包含签名,被签名的内容包括两个随机数以及服务器参数服务器发送certificate_request消息(可选)非匿名s
14、erver可以向客户请求一个证书包含证书类型和CAs服务器发送server_hello_done,然后等待应答,2023/10/18,西安电子科技大学计算机学院,23,第二阶段:服务器鉴别和密钥交换,2023/10/18,西安电子科技大学计算机学院,24,第三阶段:客户鉴别和密钥交换,客户收到server_done消息后,它根据需要检查服务器提供的证书,并判断server_hello的参数是否可以接受,如果都没有问题的话,发送一个或多个消息给服务器。如果服务器请求证书的话,则客户首先发送一个certificate消息,若客户没有证书,则发送一个no_certificate警告。然后客户发送cl
15、ient_key_exchange消息,消息的内容取决于密钥交换的类型(如果是RSA,则含加密的PreMasterSecret)。最后,客户发送一个certificate_verify消息(可选),其中包含一个签名,对从第一条消息以来的所有握手消息的HMAC值(用master_secret)进行签名,2023/10/18,西安电子科技大学计算机学院,25,第三阶段:客户鉴别和密钥交换,2023/10/18,西安电子科技大学计算机学院,26,第四阶段:结束,第四阶段建立起一个安全的连接客户发送一个change_cipher_spec消息,并且把协商得到的CipherSuite拷贝到当前连接的状态
16、之中然后,客户用本次连接协商的算法、密钥参数发送一个finished消息,这条消息可以检查密钥交换和鉴别过程是否已经成功。其中包括一个校验值,对所有以来的消息进行校验。服务器同样发送change_cipher_spec消息和finished消息。握手过程完成,客户和服务器可以交换应用层数据。,2023/10/18,西安电子科技大学计算机学院,27,第四阶段:结束,2023/10/18,西安电子科技大学计算机学院,28,密钥交换算法,SSL记录协议需要:CipherSuite,master secret,the client&server random values在hello消息中,交换随机数
17、以及各种算法两类密钥交换算法:RSA,客户产生一个48字节的pre_master_secret,然后通过服务器的公钥传递给服务器Diffie-Hellman,双方协商得到的密钥被用作pre_master_secret对于各种密钥交换算法,从pre_master_secret计算得到Master_secret,然后从内存中删除Master_secret总是48字节长,而pre_master_secret长度不定,取决于密钥交换算法,2023/10/18,西安电子科技大学计算机学院,29,密钥导出,2023/10/18,西安电子科技大学计算机学院,30,Master_secret的产生,SSL 3
18、.0Master_secret=MD5(pre_master_secretSHA-1(Apre_master_secret|ClientHello.random ServerHello.random)MD5(pre_master_secretSHA-1(BBpre_master_secret|ClientHello.random ServerHello.random)MD5(pre_master_secretSHA-1(CCCpre_master_secret|ClientHello.random ServerHello.random)TLS 1.0master_secret=PRF(pre_
19、master_secret,“master secret”,ClientHello.random,+ServerHello.random)0.47*PRF(secret,label,seed)为伪随机函数,2023/10/18,西安电子科技大学计算机学院,31,伪随机函数PRF(secret,label,seed),P_hash(secret,seed)=+HMAC_hash(secret,A(1)+seed)+HMAC_hash(secret,A(2)+seed)+HMAC_hash(secret,A(3)+seed)+.这里A()定义如下:A(0)=seed A(i)=HMAC_hash(
20、secret,A(i-1)伪随机函数PRF(secret,label,seed)=P_MD5(S1,label+seed)XOR P_SHA-1(S2,label+seed);这里,S1和S2为secret的各一半,如果secret为奇数个字节,则S1和S2共享一个字节,2023/10/18,西安电子科技大学计算机学院,32,最终需要的密钥导出,2023/10/18,西安电子科技大学计算机学院,33,密钥导出公式,Key_block=MD5(master_secret|SHA-1(A+master_secret+server_random+client_random)|MD5(master_s
21、ecret|SHA-1(BB+master_secret+server_random+client_random)|MD5(master_secret|SHA-1(CCC+master_secret+server_random+client_random)|MD5(master_secret|SHA-1(DDDD+master_secret+server_random+client_random)|,2023/10/18,西安电子科技大学计算机学院,34,MAC计算,使用共享的密钥MAC_write_secrethash(MAC_write_seret|pad_2|hash(MAC_write
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络安全 17 Web 安全性
链接地址:https://www.31ppt.com/p-6335061.html