【大学课件】网络安全 Web安全.ppt

上传人:本田雅阁 文档编号:3025352 上传时间:2019-06-27 格式:PPT 页数:36 大小:898.51KB
返回 下载 相关 举报
【大学课件】网络安全 Web安全.ppt_第1页
第1页 / 共36页
【大学课件】网络安全 Web安全.ppt_第2页
第2页 / 共36页
【大学课件】网络安全 Web安全.ppt_第3页
第3页 / 共36页
【大学课件】网络安全 Web安全.ppt_第4页
第4页 / 共36页
【大学课件】网络安全 Web安全.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《【大学课件】网络安全 Web安全.ppt》由会员分享,可在线阅读,更多相关《【大学课件】网络安全 Web安全.ppt(36页珍藏版)》请在三一文库上搜索。

1、网络安全Web安全,http:/ 掌握SET的基本体系结构,http:/ SSL/TLS协议,SSL (Secure Socket Layer)是一种在两个端实体(End Entity)之间提供安全通道的协议。 它具有保护传输数据以及识别通信实体的功能 安全通道是透明的 IETF 制定的TLS(Transport Layer Security)版本是对Nescape公司的SSL和Microsoft公司的PCT(Private Communication Technology)两个协议的综合和兼容。 这里重点讨论SSL协议,http:/ V2 设计目标 为满足WEB安全通信而设计 提供客户和服务

2、器之间传输数据的保密性 服务器认证(客户端认证可选) SSL V3设计目标 修正SSL V2中存在的多处安全问题 设计一种安全磋商多种加密算法的机制,http:/ 连接的两端知道所传输的数据是保密的,而且没有被篡改 几乎总是要对服务器进行认证 可选的客户端认证 针对异常情况的安全通知 错误警示 关闭连接 所有这些依赖于某些对系统的假定 假定已经正确产生了密钥数据并且 该密钥已被安全地保管,http:/ 位于TCP之上,应用层之下 几乎只能在TCP上运行,而不能在UDP或IP上运行,因而它依赖于可靠的传输协议 微软的STLP和无线应用论坛的WTLS均为意图在数据报传输层(如UDP)上正确工作的变

3、种。,http:/ V1(1994) 未发布,SSL V2(1994) 第一版,SSL V3(1995),TLS(19971999),PCT(1995),STLP(1996),WTLS(1998),http:/ 新的URL https:/ 在浏览器中的表现 NETSCAPE:工具条上会显示一把钥匙 IE: 右下角显示 一把锁 几乎所有的商业WEB服务器和浏览器都实现了内置的SSL协议,通过配置即可使用,http:/ 和NNTP(SNEWS)外,还可以用于SMTP、Telnet、FTP等,也可用于保护专有协议。 协议端口标准化 协议实现 OPENSSL (C语言实现) pureTLS (java

4、 实现) ApacheSSL (针对Apache服务器的实现) Mod_ssl,http:/ 客户和服务器之间相互鉴别 协商加密算法和密钥 它提供连接安全性,有三个特点 身份鉴别,至少对一方实现鉴别,也可以是双向鉴别 协商得到的共享密钥是安全的,中间人不能够知道 协商过程是可靠的 SSL记录协议 建立在可靠的传输协议(如TCP)之上 它提供连接安全性,有两个特点 保密性,使用了对称加密算法 完整性,使用HMAC算法 用来封装高层的协议,http:/ 一个连接是一个提供一种合适类型服务的传输(OSI分层的定义)。 SSL的连接是点对点的关系。 连接是暂时的,每一个连接和一个会话关联。 SSL会话

5、(session) 一个SSL会话是在客户与服务器之间的一个关联。会话由Handshake Protocol创建。会话定义了一组可供多个连接共享的密码安全参数。 会话用以避免为每一个连接提供新的安全参数所需昂贵的协商代价。,http:/ 单向认证 和 双向认证 认证加密 和 认证 加密算法: RSA DSS DH FORTEZZA 连接分为两个节段: 握手阶段 完成对服务器认证并建立加密密钥 数据传输阶段 加密数据传输,http:/ 客户和服务器协商保护数据的算法(及其具体参数) 确立在协商好的算法上使用的加密密钥 可选择对客户端进行认证 client server - 所支持的加密算法,随机

6、数 选中的加密算法,随机数,服务器证书 加密后的pre_master_secret 计算相关演化密钥 计算相关演化密钥 握手消息的MAC值 握手消息的MAC值 注: 1. pre_master_secret 可以由KDF(key derivation function)演化出master_secret ,最后再通过master_secret 演化出系列加密密钥。 2. 最后两步防止握手本身遭受篡改(如低强度密码算法替换等). 3. 客户端和服务器端随机数的传输,防止重放攻击。,http:/ server - 握手: ClientHello 握手: ServerHello Certificate

7、 ServerHelloDone ClientKeyExchange (ChangeCipherSpec) Finished (ChangeCipherSpec) Finished,http:/ 交换必要的密码参数,以便双方得到统一的premaster secret 交换证书和相应的密码信息,以便进行身份认证 产生master secret 把安全参数提供给SSL记录层 检验双方是否已经获得同样的安全参数,http:/ 服务器发送server_hello消息,参数:客户建议的低版本以及服务器支持的最高版本、服务器产生的随机数、会话ID、服务器从客户建议的密码算法和压缩方法中确定一套本次连接使用

8、的确定方法.,http:/ RSA,要求服务器提供一个RSA证书 DH(Diffie-Hellman),要求服务器的证书中包含了由CA签名的DH公开参数。客户或者在证书中提供DH公开参数,或者在密钥交换消息中提供此参数 EDH(Ephemeral Diffie-Hellman),产生临时的密钥,DH公开参数由发送者的私钥进行签名,接收者用对应的公钥进行验证 匿名的DH,不加鉴别。会受到中间人攻击 然后,指定以下信息 加密算法和类型(流还是分组密码算法) HMAC、MD5还是SHA-1 是否可出口 HashSize Key Material IV Size,http:/ 除了匿名DH之外的密钥交

9、换方法都需要 服务器发送server_key_exchange消息 可选的,有些情况下可以不需要。只有当certificate消息没有包含必需的数据的时候才发送此消息 消息包含签名,被签名的内容包括两个随机数以及服务器参数 服务器发送certificate_request消息(可选) 非匿名server可以向客户请求一个证书 包含证书类型和CAs 服务器发送server_hello_done, 然后等待应答,http:/ 如果服务器请求证书的话,则客户首先发送一个certificate消息,若客户没有证书,则发送一个no_certificate警告。 然后客户发送client_key_exch

10、ange消息,消息的内容取决于密钥交换的类型(如果是RSA,则含加密的PreMasterSecret)。 最后,客户发送一个certificate_verify消息(可选),其中包含一个签名,对从第一条消息以来的所有握手消息的HMAC值(用master_secret)进行签名,http:/ 客户发送一个change_cipher_spec消息,并且把协商得到的CipherSuite拷贝到当前连接的状态之中 然后,客户用本次连接协商的算法、密钥参数发送一个finished消息,这条消息可以检查密钥交换和鉴别过程是否已经成功。其中包括一个校验值,对所有以来的消息进行校验。 服务器同样发送chang

11、e_cipher_spec消息和finished消息。 握手过程完成,客户和服务器可以交换应用层数据。,http:/ master secret, the client & server random values 在hello消息中,交换随机数以及各种算法 两类密钥交换算法: RSA,客户产生一个48字节的pre_master_secret,然后通过服务器的公钥传递给服务器 Diffie-Hellman,双方协商得到的密钥被用作pre_master_secret 对于各种密钥交换算法,从pre_master_secret计算得到Master_secret,然后从内存中删除 Master_se

12、cret总是48字节长,而pre_master_secret长度不定,取决于密钥交换算法,http:/ 记录协议,实际的数据传输是使用SSL记录协议实现的 数据流分割成一系列片段并加以传输,每个片断单独保护和传输 为实现完整性保护,对片段进行MAC保护 为实现机密性保护,对片段进行加密保护 传输的是安全记录,http:/ 8位,上层协议类型 Major version; Minnor version 16位,主次版本 Compressed Length:16位 加密后数据的长度,不超过214+2048字节(SSL 几乎不用压缩,虽然支持) EncryptedData fragment; 密文数

13、据,http:/ application_data、alert、handshake、change_cipher_spec . Alert协议消息: 报警等级(warning/fatal)+ 具体报警编码 2字节 change_cipher_spec协议消息: 1字节,将挂起状态变成当前状态,指示在此之后的所有消息都将使用刚刚商定的密码进行加密。 handshake协议消息:类型( 1字节 )长度( 3字节 )消息,类型共10种,http:/ 如果是Fatal级别的报警,则应终止连接. 报警种类: unexpected_message bad_record_mac decryption_fail

14、ed record_overflow decompression_failure handshake_failure no_certificate bad_certificate unsupported_certificate certificate_revoked certificate_expired certificate_unknown illegal_parameter unknown_ca access_denied decode_error decrypt_error export_restriction protocol_version insufficient_securit

15、y internal_error user_cancelled no_renegotiation,http:/ 通过使用上一次握手中确立的pre_master_secret,则可以避免许多计算开销。 恢复允许根据共同的master_secret,来产生新的密钥。 通过客户使用ClientHello中的Session_id,申请会话恢复,服务器通过使用ServerHello中相同的Session_id,来同意会话恢复,接下来就会跳过其余步骤而使用保存的master_secret来产生新的所有的加密密钥(由于新的随机数不同,而使得新产生的加密密钥与以前不同)。,http:/ 服务器通过向客户端发送

16、CertificateRequest消息,客户端通过Certificate和CertificateVerify消息予以应答 CertificateVerify消息是一个使用与其传输的证书关联的私钥签名的消息。,http:/ 服务器向客户端发送消息 ServerKeyExchange,http:/ 一旦新的握手完成,将使用新的会话状态来保护数据 客户端可以简单的通过发送一条ClientHello消息来初始化一次新的握手 服务器端可以通过HelloRequest消息来初始化一次新的握手,http:/ 保护服务器的私钥 使用良好的随机数 证书链检查 算法选择(强度),http:/ 最新0.9.8,

17、实现了SSLv2,SSLv3, TLSv1.0 Openssl a command line tool. ssl(3) the OpenSSL SSL/TLS library. crypto(3) the OpenSSL Crypto library. URL: http:/www.openssl.org SSLeay http:/www2.psy.uq.edu.au/ftp/Crypto/ Internet号码分配当局已经为具备SSL功能的应用分配了固定的端口号 例如带SSL的HTTP(https)被分配以端口号443 带SSL的SMTP(ssmtp)被分配以端口号465 带SSL的NNTP(snntp)被分配以端口号563,http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1