SSLTLS协议-信息安全概论ppt课件与复习提纲.ppt
《SSLTLS协议-信息安全概论ppt课件与复习提纲.ppt》由会员分享,可在线阅读,更多相关《SSLTLS协议-信息安全概论ppt课件与复习提纲.ppt(71页珍藏版)》请在三一办公上搜索。
1、1,SSL/TLS协议,1994年Netscape开发了SSL(Secure Socket Layer)协议,专门用于保护Web通讯版本和历史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),2,SSL/TLS协议,协议的设计目标为两个通讯个体之间提供保密性和完整性(身份认证)互操作性、可扩展性、相对效率协议的使用,3,采用的基本技术主要是为应用层数据提供传输中的安全。它所采用的基本技术为:(1)身份认证采用公开密钥体制;(2)数据保密采用对称密钥体制;(3)消息的完整性保护采用带密钥的消息认证码(MAC)。,SSL/TLS概况,6,SSL/TLS协议栈,TLS更改密码说明协议(Change Cipher Spec)保证可扩展性。TLS警告协议(Alert Protocol)产生必要的警告信息。,7,TLS体系结构如图所示,它
3、位于传输层之上、应用层之下。它独立与应用层,使应用层可以直接建立在TLS上。,TLS体系结构,IP协议,TCP协议,纪录协议,握手协议,更改密码说明协议,警告协议,HTTP协议,Telnet协议,8,TLS会话,TLS Session定义:指客户和服务器之间的一个关联关系。通过TLS握手协议创建session,它确定了一组密码算法的参数。Session可以被多个连接共享,从而可以避免为每个连接协商新的安全参数而带来 昂贵的开销。TLS Session都有一个当前状态TLS connection与底层协议的点对点连接相关联每个connection都与一个session相关联连接是短暂的,9,TL
4、S会话状态,会话实际上是一组参数,包括Session identifier,字节序列,由服务器产生,用来标识一个会话状态Peer certificate(可以为NULL),对方的X.509 v3证书Compression method,压缩数据的算法Cipher spec,指定数据加密算法和用于HMAC的散列算法,以及算法的有关参数Master secret,客户和服务器之间共享的48字节的数据Is resumable,标记是否这个会话可以被用来初始化一个新的连接,10,TLS连接的状态,连接状态也包含一组参数Server and client random,客户和服务器为每个连接选择的字节序
5、列Server write MAC secret,服务器在发送数据的时候,用于MAC运算的keyClient write MAC secret,客户在发送数据的时候,用于MAC运算的keyServer write key,服务器加密数据的密钥,以及客户解密数据的密钥Client write key,客户加密数据的密钥,以及服务器解密数据的密钥Initialization vectors,在密码块链接(CBC)模式中用到的IV,最初由握手协议初始化,以后,每一个记录的最后一个密文块被用作下一个记录的IVSequence numbers,每一个连接都需要维护一个序 列号,当密码参数变化时,重置为0
6、,11,TLS记录协议,操作过程示意图,12,TLS记录协议中的操作,第一步,fragmentation上层消息的数据被分片成214字节大小的块,或者更小第二步,compression(可选)必须是无损压缩,如果数据增加的话,则增加部分的长度不超过1024字节第三步,计算消息认证码(MAC)计算公式:HMAC_hash(MAC_write_secret,seq_num|TLSCompressed.type|TLSCompressed.version|TLSCompressed.length|TLSCompressed.fragment),13,TLS记录协议中的操作(续),第四步,encryp
7、tion采用密码块链接(CBC)加密,算法由cipher spec参数指定数据长度不超过214+2048字节,包括加密之后的数据内容HMACpadding,共padding_lengthIV,初始协商指定,以后,前后记录连接起来说明:如果是流密码算法,则不需要padding,14,TLS记录协议的处理结果,结果如下:struct ContentType type;8位,上层协议类型 ProtocolVersion version;16位,主次版本 uint16 length;加密后数据的长度,不超过214+2048字节 EncryptedData fragment;密文数据 TLSCipher
8、text;,15,TLS密码变化协议,它位于TLS记录协议之上所以,它用到了TLS记录协议的处理过程ContentType=20协议只包含一条消息,一个字节 1用途:切换状态把密码参数设置为当前状态在握手协议中,当安全参数协商一致后,发送此消息这条消息使得接收方改变当前状态读参数,使得发送方改变当前状态写参数,16,TLS警告协议,位于TLS记录协议之上所以,也用到了TLS记录协议的处理过程ContentType=21协议数据包含两个字节第一个字节为level:分别为warning(1)和fatal(2)两种情况第二个字节为情况说明Fatal类型的alert消息导致连接立即终止,此时,对应该会
9、话的其他连接可以继续,但是会话标识符无效,以免利用此失败的连接来建立新的连接,17,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),unsupported_certificate(43),certificate_revoked(44),certificate_
10、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),*user_canceled(90),#no_renegotiation(100),#,说明:1*表示该消息往往是fatal级别2#表示该消息往往是warn
11、ing级别3 对于其他的错误情况,发送方可以根据情况决定是warning还是fatal,对于warning消息,接收方可以自行决定如何处理,如果是fatal消息,则一定要当作fatal消息来对待,18,TLS握手协议,位于TLS记录协议之上也用到了TLS记录协议的处理过程ContentType=22协议格式用途:当TLS客户和服务器开始通讯的时候,它们要通过协商,在以下信息方面获得一致:协议版本、密码算法、是否认证对方、用什么技术来产生共享秘密数据,等等,19,TLS握手协议的流程,交换Hello消息,对于算法、交换随机值等协商一致交换必要的密码参数,以便双方得到统一的premaster se
12、cret(一个用在对称加密密钥生成中的46 字节的随机数字)交换证书和相应的密 码信息,以便进行身份认证产生master secret把安全参数提供给TLS记录层检验双方是否已经获得同样的安全参数,20,TLS握手协议使用的消息,21,第一阶段:建立起安全能力属性,客户发送一个client_hello消息,包括以下参数:版本、随机数(32位时间戳+28字节随机序列)、会话ID、客户支持的密码算法列表(CipherSuite)、客户支持的压缩方法列表然后,客户等待服务器的server_hello消息服务器发送server_hello消息,参数:客户建议的低版本以及服务器支持的最高版本、服务器产生
13、的随机数、会话ID、服务器从客户建议的密码算法中挑出一套、服务器从客户建议的压缩方法中挑出一个,22,关于会话ID(Session ID),客户方客户指定的会话ID如果不等于0,则表示它希望基于这个会话来更新已有连接的安全参数,或者创建一个新的连接如果会话ID等于0,则表示客户希望在一个新的会话上建立一个新的连接服务器或者同意客户指定的会话ID,需要检查cache中的会话状态或者返回一个新的会话ID,23,CipherSuite,第一个元素指定了密钥交换的方法,TLS支持以下一些方法:RSA,要求服务器提供一个RSA证书DH(Diffie-Hellman),要求服务器的证书中包含了由CA签名的
14、DH公开参数。客户或者在证书中提供DH公开参数,或者在密钥 交换消息中提供此参数EDH(Ephemeral Diffie-Hellman),产生临时的密钥,DH公开参数由发送者的私钥进行签名,接收者用对应的公钥进行验证匿名的DH,不加认证。会受到中间人攻击然后,指定以下信息加密算法,和类型(流还是分组密码算法)HMAC算法,MD5还是SHA-1HashSizeKey MaterialIV Size,24,第二阶段:服务器认证和密钥交换,服务器发送自己的证书,消息包含一个X.509证书,或者一条证书链除了匿名DH之外的密钥交换方法都需要服务器发送server_key_exchange消息可选的,
15、有些情况下可以不需要。只有当服务器的证书没有包含必需的数据的时候才发送此消息消息包含签名,被签名的内容包括两个随机数以及服务器参数服务器发送certificate_request消息非匿名server可以向客户请求一个证书包含证书类型和CAs服务器发送server_hello_done,然后等待应答,25,第三阶段:客户认证和密钥交换,客户收到server_done消息后,它根据需要检查服务器提供 的证书,并判断server_hello的参数是否可以接受,如果都没有问题的话,发送一个或多个消息给服务器如果服务器请求证书的话,则客户首先发送一个certificate消息,若客户没有证书,则发送一
16、个no_certificate警告然后客户发送client_key_exchange消息,消息的内容取决于密钥交换的类型最后,客户发送一个certificate_verify消息,其中包含一个签名,对从第一条消息以来的所有握手消息的HMAC值(用master_secret)进行签名,26,第四阶段:结束,第四阶段建立起一个安全的连接客户发送一个change_cipher_spec消息,并且把协商得到的CipherSuite拷贝到当前连接的状态之中然后,客户用新的算法、密钥参数发送一个finished消息,这条消息可以检查密钥交换和认证过程是否已经成功。其中包括一个校验值,对所有以来的消息进行校
17、验。服务器同样发送change_cipher_spec消息和finished消息。握手过程完成,客户和服务器可以交换应用层数据。,27,密钥交换算法,TLS记录协议需要:CipherSuite,master secret,and the client and server random values在hello消息中,交换随机数以及各种算法对于各种密钥交换算法,从pre_master_secret计算得到master_secret,然后从内存中删除,公式:master_secret=PRF(pre_master_secret,“master secret”,ClientHello.random
18、+ServerHello.random)0.47*PRF(secret,label,seed)为伪随机函数Master_secret总是48字节长,而pre_master_secret长度不定,取决于密钥交换算法两类密钥交换算法:RSA,客户产生一个48字节的pre_master_secret,然后通过服务器的公钥加密再传递给服务器Diffie-Hellman,双方协商得到的密钥被用作pre_master_secret,28,重用一个TLS会话,客户和服务器在交换hello消息中,客户要求重用已有的TLS会话,服务器同意使用cache中的会话*session id跳过第二第三阶段,直接把TLS
19、会话中的参数传递给TLS记录层,29,TLS/SSL安全性分析,针对一些常见的攻击手法针对密钥算法的破解取决于算法的强度,协商过程利用明文模式的攻击上层协议中常常有一些固定的模式可以参考,比如http协议中get字节串构造字典(密文-密钥对),查字典TLS办法:用长密钥,使得不可能构造这样的字典重放攻击TLS中的nonce有32字节(包含时间戳),可用于避免重放攻击会话ID标识了一个完整的会话,要重放部分会话需要知道私钥中间人攻击通过证书来认证对方对于双方都是匿名的模式,中间人攻击也是成立的,30,SSL:PRNG攻击,Netscape v1.1版本中存在,利用随机数发生器的弱点先看随机数发生
20、器,global variable seed;RNG_CreateContext()(seconds,microseconds)=time of day;/*Time elapsed since 1970*/pid=process ID;ppid=parent process ID;a=mklcpr(microseconds);b=mklcpr(pid+seconds+(ppid 1);(待续),31,SSL:PRNG攻击(续),种子关联:pid,ppid,seconds,microsecondsSeconds往往可以获得,microseconds未知如果在目标机器上有账号,则pid和ppid
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SSLTLS 协议 信息 安全 概论 ppt 课件 复习 提纲

链接地址:https://www.31ppt.com/p-3866082.html