网络与信息安全安全基础

上传人:206****923 文档编号:51240247 上传时间:2018-08-13 格式:PPT 页数:67 大小:1.08MB
返回 下载 相关 举报
网络与信息安全安全基础_第1页
第1页 / 共67页
网络与信息安全安全基础_第2页
第2页 / 共67页
网络与信息安全安全基础_第3页
第3页 / 共67页
网络与信息安全安全基础_第4页
第4页 / 共67页
网络与信息安全安全基础_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《网络与信息安全安全基础》由会员分享,可在线阅读,更多相关《网络与信息安全安全基础(67页珍藏版)》请在金锄头文库上搜索。

1、网络与信息安全 安全基础 (四)潘爱民,北京大学计算机研究所http:/ Socket Layer)协议,专门用于保护Web通讯u版本和历史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.01999年,发布RFC

2、 2246(The TLS Protocol v1.0)SSL/TLS协议u协议的设计目标为两个通讯个体之间提供保密性和完整性(身份认证)互操作性、可扩展性、相对效率u协议的使用SSL/TLS概况u协议分为两层底层:TLS记录协议上层:TLS握手协议、TLS密码变化协议、TLS警告协议uTLS记录协议建立在可靠的传输协议(如TCP)之上它提供连接安全性,有两个特点保密性,使用了对称加密算法完整性,使用HMAC算法用来封装高层的协议uTLS握手协议客户和服务器之间相互认证协商加密算法和密钥它提供连接安全性,有三个特点身份认证,至少对一方实现认证,也可以是双向认证协商得到的共享密钥是安全的,中间人

3、不能够知道协商过程是可靠的SSL/TLS协议栈u为上层协议提供安全性保密性身份认证和数据完整性TLS会话u(TLS Session)定义:指客户和服务器之间的一个关联关系。通过 TLS握手协议创建session,它确定了一组密码 算法的参数。Session可以被多个连接共享,从 而可以避免为每个连接协商新的安全参数而带来 昂贵的开销。TLS Session都有一个当前状态uTLS connection与底层协议的点对点连接相关联每个connection都与一个session相关联连接是短暂的TLS会话状态u实际上是一组参数,包括Session identifier,字节序列,由服务器产 生,用

4、来标识一个会话状态Peer certificate(可以为NULL),对方的 X.509 v3证书Compression method,压缩数据的算法Cipher spec,指定数据加密算法和用于 HMAC的散列算法,以及算法的有关参数Master secret, 客户和服务器之间共享的48 字节的数据Is resumable,标记是否这个会话可以被用 来初始化一个新的连接TLS连接的状态u连接状态也包含一组参数Server and client random,客户和服务器为每个连 接选择的字节序列Server write MAC secret,服务器在发送数据的时 候,用于MAC运算的key

5、Client write MAC secret ,客户在发送数据的时候 ,用于MAC运算的keyServer write key,服务器加密数据的密钥,以及客 户解密数据的密钥Client write key,客户加密数据的密钥,以及服务 器解密数据的密钥Initialization vectors,在CBC模式中用到的IV,最 初由握手协议初始化,以后,每一个记录的最后一个 密文块被用作下一个记录的IVSequence numbers,每一个连接都需要维护一个序 列号,当密码参数变化时,重置为0TLS记录协议 TLS Record Protocolu操作过程示意图TLS记录协议中的操作u第一

6、步,fragmentation上层消息的数据被分片成214字节大小的块,或者更 小u第二步,compression(可选)必须是无损压缩,如果数据增加的话,则增加部分的 长度不超过1024字节u第三步,计算消息认证码(MAC)计算公式: HMAC_hash(MAC_write_secret, seq_num | TLSCompressed.type | TLSCompressed.version | TLSCompressed.length | TLSCompressed.fragment)TLS记录协议中的操作(续)u第四步,encryption采用CBC,算法由cipher spec指定数

7、据长度不超过214+2048字节,包括加密之后的数据内容HMACpadding, 共padding_length,每个字节的值也是 padding_lengthpadding_lengthIV,初始协商指定,以后,前后记录连接起来说明:如果是流密码算法,则不需要paddingTLS记录协议的处理结果u结果如下:struct ContentType type; 8位,上层协议类型ProtocolVersion version; 16位,主次版本uint16 length; 加密后数据的长度,不超过214+2048字节EncryptedData fragment; 密文数据 TLSCipherte

8、xt;lengthTLS密码变化协议 Change Cipher Spec Protocolu它位于TLS记录协议之上所以,它用到了TLS记录协议的处理过程ContentType = 20协议只包含一条消息,一个字节 1用途:切换状态 把密码参数设置为当前状态 在握手协议中,当安全参数 协商一致后,发送此消息这条消息使得接收方改变当 前状态读参数,使得发送方 改变当前状态写参数TLS警告协议 Alert Protocolu位于TLS记录协议之上所以,也用到了TLS记录协议的处理过程ContentType = 21协议数据包含两个字节 第一个字节为level: 分别为warning(1)和 fa

9、tal(2)两种情况 第二个字节为情况说明Fatal类型的alert消息导致 连接立即终止,此时,对应 该会话的其他连接可以继续, 但是会话标识符无效,以免 利用此失败的连接来建立新 的连接Alert Protocol第二字节说明close_notify(0), unexpected_message(10), bad_record_mac(20),* decryption_failed(21),* record_overflow(22), * decompression_failure(30),* handshake_failure(40),* bad_certificate(42), uns

10、upported_certificate(43), certificate_revoked(44), certificate_expired(45), certificate_unknown(46), illegal_parameter(47),* unknown_ca(48), *access_denied(49), decode_error(50),* decrypt_error(51), export_restriction(60), * protocol_version(70), * insufficient_security(71), * internal_error(80), *

11、user_canceled(90), # no_renegotiation(100), #说明: 1 * 表示该消息往往是fatal级别 2 # 表示该消息往往是warning级别 3 对于其他的错误情况,发送方可以 根据情况决定是warning还是fatal, 对于warning消息,接收方可以自行 决定如何处理,如果是fatal消息, 则一定要当作fatal消息来对待TLS握手协议 TLS Handshake Protocolu位于TLS记录协议之上也用到了TLS记录协议的处理过程ContentType = 22协议格式用途:当TLS客户和服务器开始通讯的时候,它们要通 过协商,在以下信息

12、方面获得一致: 协议版本、密码算法、是否认证对方、 用什么技术来产生共享秘密数据,等等TLS握手协议的流程u交换Hello消息,对于 算法、交换随机值等协 商一致u交换必要的密码参数, 以便双方得到统一的 premaster secretu交换证书和相应的密 码信息,以便进行身份 认证u产生master secretu把安全参数提供给TLS 记录层u检验双方是否已经获得 同样的安全参数TLS握手协议使用的消息消息参数 hello_requestNull client_hello版本,随机数,会话id,密码 参数,压缩 方法server_hellocertificateX.509 v3证书链se

13、rver_key_exchange参数,签名certificate_request类型,CAsserver_doneNullcertificate_verify签名client_key_exchange参数,签名finishedHash值第一阶段:建立起安全能力属性u客户发送一个client_hello消息,包括以下参数: 版本、随机数(32位时间戳+28字节随机序列)、会话ID、 客户支持的密码算法列表(CipherSuite)、客户支持的压 缩方法列表u然后,客户等待服务器的server_hello消息u服务器发送server_hello消息,参数: 客户建议的低版本以及服务器支持的最高版

14、本、服务器 产生的随机数、会话ID、服务器从客户建议的密码算法 中挑出一套、服务器从客户建议的压缩方法中挑出一个关于会话ID(Session ID)u客户方客户指定的会话ID如果不等于0,则表示它希 望基于这个会话来更新已有连接的安全参数 ,或者创建一个新的连接如果会话ID等于0,则表示客户希望在一个新 的会话上建立一个新的连接u服务器或者同意客户指定的会话ID,需要检查cache 中的会话状态或者返回一个新的会话IDCipherSuiteu第一个元素指定了密钥交换的方法,TLS支持以下一些 方法:RSA,要求服务器提供一个RSA证书DH(Diffie-Hellman),要求服务器的证书中包含

15、了由CA签名的 DH公开参数。客户或者在证书中提供DH公开参数,或者在密钥 交换消息中提供此参数EDH(Ephemeral Diffie-Hellman),产生临时的密钥,DH公开 参数由发送者的私钥进行签名,接收者用对应的公钥进行验证匿名的DH,不加认证。会受到中间人攻击u然后,指定以下信息加密算法,和类型(流还是分组密码算法)HMAC算法,MD5还是SHA-1是否可出口HashSizeKey MaterialIV Size第二阶段:服务器认证和密钥交换u服务器发送自己的证书,消息包含一个X.509证书,或 者一条证书链除了匿名DH之外的密钥交换方法都需要u服务器发送server_key_exchange消息可选的,有些情况下可以不需要。只有当服务器的证书没有包 含必需的数据的时候才发送此消息消息包含签名,被签名的内容包括两个随机数以及服务器参数u服务器发送certificate_request消息非匿名server可以向客户请求一个证书包含证书类型和CAsu服务器发送server_hello_done, 然后等待应答第三阶段:客户认证和密钥交换u客户收到server_done消息后,它根据需要检查服务器提 供 的证书,并判断server_hello的参数是否可以接受, 如果都没有问题的话,发送一个或多个消息给服务器u如果服务器请求证书的话,则客户首先

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号