SSLTLS协议-信息安全概论ppt课件与复习提纲

上传人:hknru****knru 文档编号:240920551 上传时间:2024-05-17 格式:PPT 页数:71 大小:1.50MB
返回 下载 相关 举报
SSLTLS协议-信息安全概论ppt课件与复习提纲_第1页
第1页 / 共71页
SSLTLS协议-信息安全概论ppt课件与复习提纲_第2页
第2页 / 共71页
SSLTLS协议-信息安全概论ppt课件与复习提纲_第3页
第3页 / 共71页
点击查看更多>>
资源描述
11SSL/TLS协议协议1994年年Netscape开发了开发了SSL(Secure Socket Layer)协议,专门用于保护协议,专门用于保护Web通讯通讯版本和历史版本和历史n1.0,不成熟,不成熟n2.0,基本上解决了,基本上解决了Web通讯的安全问题通讯的安全问题Microsoft公司发布了公司发布了PCT(Private Communication Technology),并在,并在IE中支持中支持n3.0,1996年发布,增加了一些算法,修改了一些缺陷年发布,增加了一些算法,修改了一些缺陷nTLS 1.0(Transport Layer Security,也被称为也被称为SSL 3.1),1997年年IETF发布了发布了Draft,同时,同时,Microsoft宣宣布放弃布放弃PCT,与,与Netscape一起支持一起支持TLS 1.0n1999年,发布年,发布RFC 2246(The TLS Protocol v1.0)1SSL/TLS协议1994年Netscape开发了SSL(122SSL/TLS协议协议协议的设计目标协议的设计目标n为两个通讯个体之间提供保密性和完整性为两个通讯个体之间提供保密性和完整性(身份认证身份认证)n互操作性、可扩展性、相对效率互操作性、可扩展性、相对效率协议的使用协议的使用2SSL/TLS协议协议的设计目标233采用的基本技术采用的基本技术主要是为应用层数据提供传输中的安全。它所主要是为应用层数据提供传输中的安全。它所采用的基本技术为:采用的基本技术为:(1)身份认证采用公开密钥体制;身份认证采用公开密钥体制;(2)数据保密采用对称密钥体制;数据保密采用对称密钥体制;(3)消息的完整性保护采用带密钥的消息认消息的完整性保护采用带密钥的消息认证码(证码(MAC)。)。SSL/TLS概况概况3采用的基本技术SSL/TLS概况34SSLTLS协议-信息安全概论ppt课件与复习提纲45SSLTLS协议-信息安全概论ppt课件与复习提纲566SSL/TLS协议栈协议栈TLS更改密码说明协议(更改密码说明协议(Change Cipher Spec)n保证可扩展性。保证可扩展性。TLS警告协议(警告协议(Alert Protocol)n产生必要的警告信息。产生必要的警告信息。6SSL/TLS协议栈TLS更改密码说明协议(Change 677TLS体系结构如图所示,它位于传输层之上、体系结构如图所示,它位于传输层之上、应用层之下。它独立与应用层,使应用层可以应用层之下。它独立与应用层,使应用层可以直接建立在直接建立在TLS上。上。TLS体系结构体系结构IP协议协议TCP协议协议纪录协议纪录协议握手协议握手协议更改密码说明协议更改密码说明协议警告协议警告协议HTTP协议协议 Telnet协议协议 7TLS体系结构如图所示,它位于传输层之上、应用层之下。它独788TLS会话会话TLS Session定义:定义:n指客户和服务器之间的一个关联关系。通过指客户和服务器之间的一个关联关系。通过TLS握手协议创建握手协议创建session,它确定了一组密码,它确定了一组密码算法的参数。算法的参数。Session可以被多个连接共享,可以被多个连接共享,从而可以避免为每个连接协商新的安全参数而从而可以避免为每个连接协商新的安全参数而带来带来 昂贵的开销。昂贵的开销。nTLS Session都有一个当前状态都有一个当前状态TLS connectionn与底层协议的点对点连接相关联与底层协议的点对点连接相关联n每个每个connection都与一个都与一个session相关联相关联n连接是短暂的连接是短暂的8TLS会话TLS Session定义:899TLS会话状态会话状态会话实际上是一组参数,包括会话实际上是一组参数,包括nSession identifier,字节序列,由服务器产生,用来,字节序列,由服务器产生,用来标识一个会话状态标识一个会话状态nPeer certificate(可以为可以为NULL),对方的,对方的X.509 v3证证书书nCompression method,压缩数据的算法,压缩数据的算法nCipher spec,指定数据加密算法和用于,指定数据加密算法和用于HMAC的散列的散列算法,以及算法的有关参数算法,以及算法的有关参数nMaster secret,客户和服务器之间共享的客户和服务器之间共享的48字节的数字节的数据据nIs resumable,标记是否这个会话可以被用来初始化,标记是否这个会话可以被用来初始化一个新的连接一个新的连接9TLS会话状态会话实际上是一组参数,包括91010TLS连接的状态连接的状态连接状态也包含一组参数连接状态也包含一组参数nServer and client random,客户和服务器为每个连,客户和服务器为每个连接选择的字节序列接选择的字节序列nServer write MAC secret,服务器在发送数据的时,服务器在发送数据的时候,用于候,用于MAC运算的运算的keynClient write MAC secret,客户在发送数据的时候,客户在发送数据的时候,用于用于MAC运算的运算的keynServer write key,服务器加密数据的密钥,以及客,服务器加密数据的密钥,以及客户解密数据的密钥户解密数据的密钥nClient write key,客户加密数据的密钥,以及服务器,客户加密数据的密钥,以及服务器解密数据的密钥解密数据的密钥nInitialization vectors,在密码块链接,在密码块链接(CBC)模式中模式中用到的用到的IV,最初由握手协议初始化,以后,每一个记,最初由握手协议初始化,以后,每一个记录的最后一个密文块被用作下一个记录的录的最后一个密文块被用作下一个记录的IVnSequence numbers,每一个连接都需要维护一个序,每一个连接都需要维护一个序 列号,当密码参数变化时,重置为列号,当密码参数变化时,重置为010TLS连接的状态连接状态也包含一组参数101111TLS记录协议记录协议操作过程示意图操作过程示意图11TLS记录协议操作过程示意图111212TLS记录协议中的操作记录协议中的操作第一步,第一步,fragmentationn上层消息的数据被分片成上层消息的数据被分片成214字节大小的块,或者更小字节大小的块,或者更小第二步,第二步,compression(可选可选)n必须是无损压缩,如果数据增加的话,则增加部分的长必须是无损压缩,如果数据增加的话,则增加部分的长度不超过度不超过1024字节字节第三步,计算消息认证码第三步,计算消息认证码(MAC)n计算公式:计算公式:HMAC_hash(MAC_write_secret,HMAC_hash(MAC_write_secret,seq_num seq_num|TLSCompressed.type|TLSCompressed.type|TLSCompressed.version|TLSCompressed.version|TLSCompressed.length|TLSCompressed.length|TLSCompressed.fragment)|TLSCompressed.fragment)12TLS记录协议中的操作第一步,fragmentation121313TLS记录协议中的操作记录协议中的操作(续续)第四步,第四步,encryptionn采用密码块链接采用密码块链接(CBC)加密,算法由加密,算法由cipher spec参数指定参数指定n数据长度不超过数据长度不超过214+2048字节,包括字节,包括加密之后的数据内容加密之后的数据内容HMACpadding,共共padding_lengthnIV,初始协商指定,以后,前后记录连接起来,初始协商指定,以后,前后记录连接起来n说明:如果是流密码算法,则不需要说明:如果是流密码算法,则不需要padding13TLS记录协议中的操作(续)第四步,encryption131414TLS记录协议的处理结果记录协议的处理结果结果如下:结果如下:struct struct ContentType type;8 ContentType type;8位,上层协议类型位,上层协议类型 ProtocolVersion version;16ProtocolVersion version;16位,主次版本位,主次版本 uint16 uint16 length;length;加加 密密 后后 数数 据据 的的 长长 度度,不超过不超过2 21414+2048+2048字节字节 EncryptedData fragment;EncryptedData fragment;密文数据密文数据 TLSCiphertext;TLSCiphertext;14TLS记录协议的处理结果结果如下:141515TLS密码变化协议密码变化协议它位于它位于TLS记录协议之上记录协议之上n所以,它用到了所以,它用到了TLS记录协议的处理过程记录协议的处理过程nContentType=20n协议只包含一条消息,一个字节协议只包含一条消息,一个字节 1n用途:切换状态用途:切换状态把密码参数设置为当前状态把密码参数设置为当前状态在握手协议中,当安全参数在握手协议中,当安全参数协商一致后,发送此消息协商一致后,发送此消息n这条消息使得接收方改变当这条消息使得接收方改变当前状态读参数,使得发送方前状态读参数,使得发送方改变当前状态写参数改变当前状态写参数15TLS密码变化协议它位于TLS记录协议之上151616TLS警告协议警告协议位于位于TLS记录协议之上记录协议之上n所以,也用到了所以,也用到了TLS记录协议的处理过程记录协议的处理过程nContentType=21n协议数据包含两个字节协议数据包含两个字节第一个字节为第一个字节为level:分别为分别为warning(1)和和fatal(2)两种情况两种情况第二个字节为情况说明第二个字节为情况说明nFatal类型的类型的alert消息导致消息导致连接立即终止,此时,对应连接立即终止,此时,对应该会话的其他连接可以继续,该会话的其他连接可以继续,但是会话标识符无效,以免但是会话标识符无效,以免利用此失败的连接来建立新利用此失败的连接来建立新的连接的连接16TLS警告协议位于TLS记录协议之上161717Alert Protocol第二字节说明第二字节说明close_notify(0),close_notify(0),unexpected_message(10),unexpected_message(10),bad_record_mac(20),*bad_record_mac(20),*decryption_failed(21),*decryption_failed(21),*record_overflow(22),*record_overflow(22),*decompression_failure(30),*decompression_failure(30),*handshake_failure(40),*handshake_failure(40),*bad_certificate(42),bad_certificate(42),unsupported_certificate(43),unsupported_certificate(43),certificate_revoked(44),certificate_revoked(44),certificate_expired(45),certificate_expired(45),certificate_unknown(46),certificate_unknown(46),illegal_parameter(47),*illegal_parameter(47),*unknown_ca(48),*unknown_ca(48),*access_denied(49),access_denied(49),decode_error(50),*decode_error(50),*decrypt_error(51),decrypt_error(51),export_restriction(60),*export_restriction(60),*protocol_version(70),*protocol_version(70),*insufficient_security(71),*insufficient_security(71),*internal_error(80),*internal_error(80),*user_canceled(90),#user_canceled(90),#no_renegotiation(100),#no_renegotiation(100),#说明:说明:1*1*表示该消息往往是表示该消息往往是fatalfatal级别级别2#2#表示该消息往往是表示该消息往往是warningwarning级别级别3 3 对于其他的错误情况,发送方可以对于其他的错误情况,发送方可以根据情况决定是根据情况决定是warningwarning还是还是fatal,fatal,对于对于warningwarning消息,接收方可以自行消息,接收方可以自行决定如何处理,如果是决定如何处理,如果是fatalfatal消息,消息,则一定要当作则一定要当作fatalfatal消息来对待消息来对待17Alert Protocol第二字节说明close_no171818TLS握手协议握手协议位于位于TLS记录协议之上记录协议之上n也用到了也用到了TLS记录协议的处理过程记录协议的处理过程nContentType=22n协议格式协议格式n用途:用途:当当TLS客户和服务器开始通讯的时候,它们要通过协商,在以客户和服务器开始通讯的时候,它们要通过协商,在以下信息方面获得一致下信息方面获得一致:协议版本、密码算法、是否认证对方、协议版本、密码算法、是否认证对方、用什么技术来产生共享秘密数据,等等用什么技术来产生共享秘密数据,等等18TLS握手协议位于TLS记录协议之上181919TLS握手协议的流程握手协议的流程交换交换Hello消息,对于算法、消息,对于算法、交换随机值等协商一致交换随机值等协商一致交换必要的密码参数,以便交换必要的密码参数,以便双方得到统一的双方得到统一的premaster secret(一个用在对称加密(一个用在对称加密密钥生成中的密钥生成中的46 字节的随字节的随机数字机数字)交换证书和相应的密交换证书和相应的密 码信息,码信息,以便进行身份认证以便进行身份认证产生产生master secret把安全参数提供给把安全参数提供给TLS记录记录层层检验双方是否已经获得同样检验双方是否已经获得同样的安全参数的安全参数19TLS握手协议的流程交换Hello消息,对于算法、交换随192020TLS握手协议使用的消息握手协议使用的消息消息消息参数参数hello_requestNullclient_hello版本,随机数,会话版本,随机数,会话id,密码参,密码参数,压缩方法数,压缩方法server_hellocertificateX.509 v3证书链证书链server_key_exchange参数,签名参数,签名certificate_request类型,类型,CAsserver_doneNullcertificate_verify签名签名client_key_exchange参数,签名参数,签名finishedHash值值20TLS握手协议使用的消息消息参数hello_reques202121第一阶段:建立起安全能力属性第一阶段:建立起安全能力属性客户发送一个客户发送一个client_hello消息,包括以下参数:消息,包括以下参数:版本、随机数版本、随机数(32位时间戳位时间戳+28字节随机序列字节随机序列)、会话、会话ID、客户支持的密码算法列表客户支持的密码算法列表(CipherSuite)、客户支持的压、客户支持的压缩方法列表缩方法列表然后,客户等待服务器的然后,客户等待服务器的server_hello消息消息服务器发送服务器发送server_hello消息,参数:消息,参数:客户建议的低版本以及服务器支持的最高版本、服务器产客户建议的低版本以及服务器支持的最高版本、服务器产生的随机数、会话生的随机数、会话ID、服务器从客户建议的密码算法中挑、服务器从客户建议的密码算法中挑出一套、服务器从客户建议的压缩方法中挑出一个出一套、服务器从客户建议的压缩方法中挑出一个21第一阶段:建立起安全能力属性客户发送一个client_h212222关于会话关于会话ID(Session ID)客户方客户方n客户指定的会话客户指定的会话ID如果不等于如果不等于0,则表示它希望基于这,则表示它希望基于这个会话来更新已有连接的安全参数,或者创建一个新的个会话来更新已有连接的安全参数,或者创建一个新的连接连接n如果会话如果会话ID等于等于0,则表示客户希望在一个新的会话上,则表示客户希望在一个新的会话上建立一个新的连接建立一个新的连接服务器服务器n或者同意客户指定的会话或者同意客户指定的会话ID,需要检查,需要检查cache中的会中的会话状态话状态n或者返回一个新的会话或者返回一个新的会话ID22关于会话ID(Session ID)客户方222323CipherSuite第一个元素指定了密钥交换的方法,第一个元素指定了密钥交换的方法,TLS支持以下一些方法:支持以下一些方法:nRSA,要求服务器提供一个,要求服务器提供一个RSA证书证书nDH(Diffie-Hellman),要求服务器的证书中包含了由,要求服务器的证书中包含了由CA签名的签名的DH公开公开参数。客户或者在证书中提供参数。客户或者在证书中提供DH公开参数,或者在密钥公开参数,或者在密钥 交换消息中提供交换消息中提供此参数此参数nEDH(Ephemeral Diffie-Hellman),产生临时的密钥,产生临时的密钥,DH公开参数由公开参数由发送者的私钥进行签名,接收者用对应的公钥进行验证发送者的私钥进行签名,接收者用对应的公钥进行验证n匿名的匿名的DH,不加认证。会受到中间人攻击,不加认证。会受到中间人攻击然后,指定以下信息然后,指定以下信息n加密算法,和类型加密算法,和类型(流还是分组密码算法流还是分组密码算法)nHMAC算法,算法,MD5还是还是SHA-1nHashSizenKey MaterialnIV Size23CipherSuite第一个元素指定了密钥交换的方法,T232424第二阶段:服务器认证和密钥交换第二阶段:服务器认证和密钥交换服务器发送自己的证书,消息包含一个服务器发送自己的证书,消息包含一个X.509证书,或者证书,或者一条证书链一条证书链n除了匿名除了匿名DH之外的密钥交换方法都需要之外的密钥交换方法都需要服务器发送服务器发送server_key_exchange消息消息n可选的,有些情况下可以不需要。只有当服务器的证书没有包含可选的,有些情况下可以不需要。只有当服务器的证书没有包含必需的数据的时候才发送此消息必需的数据的时候才发送此消息n消息包含签名,被签名的内容包括两个随机数以及服务器参数消息包含签名,被签名的内容包括两个随机数以及服务器参数服务器发送服务器发送certificate_request消息消息n非匿名非匿名server可以向客户请求一个证书可以向客户请求一个证书n包含证书类型和包含证书类型和CAs服务器发送服务器发送server_hello_done,然后等待应答然后等待应答24第二阶段:服务器认证和密钥交换服务器发送自己的证书,消息242525第三阶段:客户认证和密钥交换第三阶段:客户认证和密钥交换客户收到客户收到server_done消息后,它根据需要检查服务器提消息后,它根据需要检查服务器提供供 的证书,并判断的证书,并判断server_hello的参数是否可以接受,如的参数是否可以接受,如果都没有问题的话,发送一个或多个消息给服务器果都没有问题的话,发送一个或多个消息给服务器如果服务器请求证书的话,则客户首先发送一个如果服务器请求证书的话,则客户首先发送一个certificate消息,若客户没有证书,则发送一个消息,若客户没有证书,则发送一个no_certificate警告警告然后客户发送然后客户发送client_key_exchange消息,消息的内容取消息,消息的内容取决于密钥交换的类型决于密钥交换的类型最后,客户发送一个最后,客户发送一个certificate_verify消息,其中包含一消息,其中包含一个签名,对从第一条消息以来的所有握手消息的个签名,对从第一条消息以来的所有握手消息的HMAC值值(用用master_secret)进行签名进行签名25第三阶段:客户认证和密钥交换客户收到server_don252626第四阶段:结束第四阶段:结束第四阶段建立起一个安全的连接第四阶段建立起一个安全的连接客户发送一个客户发送一个change_cipher_spec消息,并且把协商得到消息,并且把协商得到的的CipherSuite拷贝到当前连接的状态之中拷贝到当前连接的状态之中然后,客户用新的算法、密钥参数发送一个然后,客户用新的算法、密钥参数发送一个finished消息,消息,这条消息可以检查密钥交换和认证过程是否已经成功。其中这条消息可以检查密钥交换和认证过程是否已经成功。其中包括一个校验值,对所有以来的消息进行校验。包括一个校验值,对所有以来的消息进行校验。服务器同样发送服务器同样发送change_cipher_spec消息和消息和finished消息。消息。握手过程完成,客户和服务器可以交换应用层数据。握手过程完成,客户和服务器可以交换应用层数据。26第四阶段:结束第四阶段建立起一个安全的连接262727密钥交换算法密钥交换算法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+ServerHello.random)0.47*PRF(secret,label,seed)为伪随机函数为伪随机函数Master_secret总是总是48字节长,而字节长,而pre_master_secret长度不定,长度不定,取决于密钥交换算法取决于密钥交换算法两类密钥交换算法:两类密钥交换算法:nRSA,客户产生一个,客户产生一个48字节的字节的pre_master_secret,然后通过服务器的,然后通过服务器的公钥加密再传递给服务器公钥加密再传递给服务器nDiffie-Hellman,双方协商得到的密钥被用作,双方协商得到的密钥被用作pre_master_secret27密钥交换算法TLS记录协议需要:CipherSuite,272828重用一个重用一个TLS会话会话客户和服务器在交换客户和服务器在交换hello消息中,客户要消息中,客户要求重用已有的求重用已有的TLS会话,会话,服务器同意使用服务器同意使用cache中的会话中的会话*session id跳过第二第三阶段,直跳过第二第三阶段,直接把接把TLS会话中的参数会话中的参数传递给传递给TLS记录层记录层28重用一个TLS会话客户和服务器在交换hello消息中,客282929TLS/SSL安全性分析安全性分析针对一些常见的攻击手法针对一些常见的攻击手法n针对密钥算法的破解针对密钥算法的破解取决于算法的强度,协商过程取决于算法的强度,协商过程n利用明文模式的攻击利用明文模式的攻击上层协议中常常有一些固定的模式可以参考,比如上层协议中常常有一些固定的模式可以参考,比如http协议中协议中get字节字节串串构造字典构造字典(密文密文-密钥对密钥对),查字典,查字典TLS办法:用长密钥,使得不可能构造这样的字典办法:用长密钥,使得不可能构造这样的字典n重放攻击重放攻击TLS中的中的nonce有有32字节字节(包含时间戳包含时间戳),可用于避免重放攻击,可用于避免重放攻击会话会话ID标识了一个完整的会话,要重放部分会话需要知道私钥标识了一个完整的会话,要重放部分会话需要知道私钥n中间人攻击中间人攻击通过证书来认证对方通过证书来认证对方对于双方都是匿名的模式,中间人攻击也是成立的对于双方都是匿名的模式,中间人攻击也是成立的29TLS/SSL安全性分析针对一些常见的攻击手法293030SSL:PRNG攻击攻击Netscape v1.1版本中存在,利用随机数发生器版本中存在,利用随机数发生器的弱点的弱点先看随机数发生器先看随机数发生器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);(待续)30SSL:PRNG攻击Netscape v1.1版本中存303131SSL:PRNG攻击攻击(续续)种子关联:种子关联:pid,ppid,seconds,microsecondsnSeconds往往可以获得,往往可以获得,microseconds未知未知n如果在目标机器上有账号,则如果在目标机器上有账号,则pid和和ppid可以获得可以获得n否则,可以寻找否则,可以寻找pid和和ppid的。的。对于大多数对于大多数UNIX平台,平台,pid+(ppid 12)只有只有27位位 global variable challenge,secret_key;RNG_GenerateRandomBytes()x=MD5(seed);seed=seed+1;return x;create_key()RNG_CreateContext();tmp=RNG_GenerateRandomBytes();tmp=RNG_GenerateRandomBytes();challenge=RNG_GenerateRandomBytes();secret_key=RNG_GenerateRandomBytes();31SSL:PRNG攻击(续)种子关联:pid,ppid313232PRNG的启示的启示PRNG并不是并不是SSL协议本身的缺陷,而是实协议本身的缺陷,而是实现上导致的缺陷现上导致的缺陷n随机数对于安全协议或者安全系统的重要性随机数对于安全协议或者安全系统的重要性Reference:Ian Goldberg and David Wagner,“Randomness and the Netscape Browser”,January 1996 Dr.Dobbs Journal 32PRNG的启示PRNG并不是SSL协议本身的缺陷,而是实323333针对针对SSL的其他攻击的其他攻击Million-message attackBleichenbacher D.,Chosen Ciphertext Attacks against Protocols Based on RSA Encryption Standard PKCS#1 in Advances in Cryptology-CRYPTO98,LNCS vol.1462,pages:1-12,1998.Export ciphers and distributed cracking n举例:举例:40位位RC4,http:/ attacks n往往SSL的低版本退化的低版本退化n密码算法的退化密码算法的退化33针对SSL的其他攻击Million-message at333434Microsoft IE中中SSL/TLS的一个漏洞的一个漏洞IE处理内嵌在处理内嵌在HTTP页面中的页面中的HTTPS对象存在一个漏洞对象存在一个漏洞n它只检查它只检查HTTPS服务器的证书是否由可信的服务器的证书是否由可信的CA签名的,而完全忽签名的,而完全忽略该证书是否有适当的名字,以及是否已经过期。略该证书是否有适当的名字,以及是否已经过期。n对于当前这个页面而言,其实并不危险对于当前这个页面而言,其实并不危险问题在于问题在于nIE会把这个证书缓存起来,并标记为可信任的,一直到浏览器的会把这个证书缓存起来,并标记为可信任的,一直到浏览器的会话结束会话结束n这意味着,假如说,这意味着,假如说,IE客户在访问一个客户在访问一个HTTP页面时,如果该页面页面时,如果该页面被插入一个包含指向有问题的被插入一个包含指向有问题的SSL server的的HTTPS对象对象(比如说比如说一个一个image)的话,的话,IE不会警告遇到一个非法的证书,只要这个证不会警告遇到一个非法的证书,只要这个证书确实是被可信书确实是被可信CA签名的签名的34Microsoft IE中SSL/TLS的一个漏洞IE处343535IE中中SSL/TLS的漏洞的情形的漏洞的情形假如说中间人在服务器返回的页面上加上一句话假如说中间人在服务器返回的页面上加上一句话HTTPS部分显示的是一个被偷来的或者过期的部分显示的是一个被偷来的或者过期的的证书,这个证书是有效签名的,但是的证书,这个证书是有效签名的,但是IE并不检查证书中的名字和过期情况并不检查证书中的名字和过期情况如果客户通过如果客户通过HTTPS连接到连接到yoursite网站上,网站上,IE将认为这是将认为这是可信的站点,而不再进一步检查可信的站点,而不再进一步检查参考:参考:ttp:/ mail transfer protocol):是普遍使用的):是普遍使用的邮件传输协议。邮件传输协议。缺点缺点:邮件以明文形式传输,不支持图象等信息;信息容易被捕获,:邮件以明文形式传输,不支持图象等信息;信息容易被捕获,甚至篡改伪造。甚至篡改伪造。后来使用的扩展的后来使用的扩展的ESMTP解决了上面的问题。解决了上面的问题。nPOP3(post office protocol 3):允许用户在邮件服务器):允许用户在邮件服务器上收发邮件的协议。上收发邮件的协议。在线方式:连接并保持读取邮件服务器,邮件保存在服务器上。在线方式:连接并保持读取邮件服务器,邮件保存在服务器上。离线方式:仅登录服务器下载邮件到客户程序连接,邮件暂时保存在离线方式:仅登录服务器下载邮件到客户程序连接,邮件暂时保存在服务器上。服务器上。36电子邮件服务的协议电子邮件的服务靠电子邮件协议保证。363737Outlook中的设置中的设置37Outlook中的设置373838电子邮件服务的协议电子邮件服务的协议nIMAP4:消息访问协议,用户有选择接收邮件。:消息访问协议,用户有选择接收邮件。允许用户查询邮件,先读取邮箱中的邮件信息头,然后再允许用户查询邮件,先读取邮箱中的邮件信息头,然后再决定是否下载。决定是否下载。nMIME:多用途:多用途Internet邮件扩展协议,传输非文邮件扩展协议,传输非文本信息的标准。本信息的标准。将各种多媒体信息转换城将各种多媒体信息转换城ASCII文本随邮件一同发送。文本随邮件一同发送。38电子邮件服务的协议IMAP4:消息访问协议,用户有选择接383939电子邮件攻击安全防范电子邮件攻击安全防范窃取电子邮件窃取电子邮件n邮件传输采用邮件传输采用SMTP协议,数据没有任何加密。协议,数据没有任何加密。n黑客可以在数据包经由路由器捕获到信息。黑客可以在数据包经由路由器捕获到信息。n防范:首选防范:首选邮件加密传输邮件加密传输。电子邮件炸弹电子邮件炸弹n指发件人以不名来历的电子邮件地址,不断重复将指发件人以不名来历的电子邮件地址,不断重复将电子邮件发给同一发件人,由于每个人的信箱容量电子邮件发给同一发件人,由于每个人的信箱容量有限,当庞大的垃圾邮件到达信箱的时候,会挤满有限,当庞大的垃圾邮件到达信箱的时候,会挤满信箱,不能接收正常的邮件。信箱,不能接收正常的邮件。n防范:设置防范:设置过滤器过滤器39电子邮件攻击安全防范窃取电子邮件394040电子邮件攻击安全防范电子邮件攻击安全防范电子邮件病毒电子邮件病毒n客户端软件自身缺陷。如客户端软件自身缺陷。如outlookn邮件中的病毒。邮件中的病毒。病毒通过邮件传输速度快、范围广和破坏力大的特点。病毒通过邮件传输速度快、范围广和破坏力大的特点。防范:防范:邮件扫描邮件扫描。40电子邮件攻击安全防范电子邮件病毒404141安全电子邮件安全电子邮件 S/MIME是对是对MIME电子邮件格式的安全扩展电子邮件格式的安全扩展基于密码学的诸多成果基于密码学的诸多成果与与PKI的结合,使用的结合,使用X.509证书,以及证书,以及PKCS标准标准n算法协商不可能在线进行,只能用一组规则算法协商不可能在线进行,只能用一组规则保证尽可能地达到安全性保证尽可能地达到安全性n不严格的信任模型,由客户实现和用户来决不严格的信任模型,由客户实现和用户来决定定S/MIME更象商用或组织使用的工业标更象商用或组织使用的工业标准,准,PGP更面向个体用户选用。更面向个体用户选用。41安全电子邮件 S/MIME是对MIME电子邮件格式的414242 S/MIME功能功能提供了签名和加密消息的功能提供了签名和加密消息的功能nEnveloped data:包含邮件加密之后的内容,以及包含邮件加密之后的内容,以及针对一个或多个接收者的加密密钥针对一个或多个接收者的加密密钥nSigned data:对签名内容作消息摘要,然后用签名:对签名内容作消息摘要,然后用签名者的私钥对摘要加密,以此形成一个数字签名;内容者的私钥对摘要加密,以此形成一个数字签名;内容与签名被转换成与签名被转换成base64编码,一个签名的数据消息编码,一个签名的数据消息只能被具有只能被具有S/MIME能力的接收者查看能力的接收者查看nClear-signed data:只有签名部分用:只有签名部分用base64编码,编码,结果是,即使接收者没有结果是,即使接收者没有S/MIME能力,他也能查看能力,他也能查看消息内容,只是他不能验证该签名消息内容,只是他不能验证该签名nSigned and enveloped data:签名和加密的结合,:签名和加密的结合,加密数据被签名或者签名数据被加密加密数据被签名或者签名数据被加密42 S/MIME功能提供了签名和加密消息的功能424343PGP(Pretty Good Privacy)安全电子邮件系统安全电子邮件系统由个人发展起来由个人发展起来nPhil Zimmermann(齐默尔曼齐默尔曼)PGP为电子邮件和文件存储应用提供了认证和保密性服务为电子邮件和文件存储应用提供了认证和保密性服务n选择理想的密码算法选择理想的密码算法n把算法很好地集成到通用应用中,独立于操作系统和微处理器把算法很好地集成到通用应用中,独立于操作系统和微处理器n自由发放,包括文档、源代码等自由发放,包括文档、源代码等n与商业公司与商业公司(Network Associates)合作,提供一个全面兼容的、低合作,提供一个全面兼容的、低价位的商业版本价位的商业版本PGP历史历史n1991年推出年推出1.0版,版,1994年推出年推出2.6版版目前最新目前最新7.1版版n算法的专利之争。困扰了算法的专利之争。困扰了3年多年多n与美国出口管理限制之争,长达与美国出口管理限制之争,长达5年的调查年的调查43PGP(Pretty Good Privacy)安全电434444PGP版本众多,包括各种系统平台,商业版本使用版本众多,包括各种系统平台,商业版本使用户得到很好的支持户得到很好的支持算法的安全性已经得到了充分的论证,如公钥算法的安全性已经得到了充分的论证,如公钥加密包括加密包括RSA、DSS、Diffie-Hellman,单钥,单钥加密包括加密包括CAST-128、IDEA、3DES、AES,以及以及SHA-1散列算法散列算法适用性强,公司可以选择用来增强加密文件和适用性强,公司可以选择用来增强加密文件和消息,个人可以选择用来保护自己与外界的通消息,个人可以选择用来保护自己与外界的通信信不是由政府或者标准化组织所控制,可信性不是由政府或者标准化组织所控制,可信性44PGP版本众多,包括各种系统平台,商业版本使用户得到很好444545PGP功能列表功能列表为了适应邮件的大小限制,为了适应邮件的大小限制,PGP支支持分段和重组持分段和重组数据分段数据分段邮件应用完全透明,加密后的消息邮件应用完全透明,加密后的消息用用Radix 64转换转换Radix 64邮件兼容性邮件兼容性消息用消息用ZIP算法压缩算法压缩ZIP压缩压缩消息用一次性会话密钥加密,消息用一次性会话密钥加密,会话密钥用接收方的公钥加密会话密钥用接收方的公钥加密CAST或或IDEA或或3DES、AES及及RSA或或D-F消息加密消息加密用用SHA-1创建散列码,用发送者的创建散列码,用发送者的私钥和私钥和DSS或或RSA加密消息摘要加密消息摘要DSS/SHA或或RSA/SHA数字签名数字签名说明说明采用算法采用算法服务服务45PGP功能列表为了适应邮件的大小限制,PGP支持分段和重454646PGP 功能:身份认证功能:身份认证发送方发送方n产生消息产生消息Mn用用SHA-1对对M生成一个生成一个160位的散列码位的散列码Hn用发送者的私钥对用发送者的私钥对H加密,并与加密,并与M连接连接接收方接收方n用发送者的公钥解密并恢复散列码用发送者的公钥解密并恢复散列码Hn对消息对消息M生成一个新的散列码,与生成一个新的散列码,与H比较。如果一致,则消息比较。如果一致,则消息M被认证。被认证。46PGP 功能:身份认证发送方464747PGP 身份认证说明身份认证说明说明:说明:1.RSA的强度保证了发送方的身份的强度保证了发送方的身份2.SHA-1的强度保证了签名的有效性的强度保证了签名的有效性3.DSS/SHA-1可选替代方案。可选替代方案。签名与消息签名与消息可以可以分离分离n对消息进行单独的日志记录对消息进行单独的日志记录n可执行程序的签名记录,检查病毒可执行程序的签名记录,检查病毒n文档多方签名,可以避免嵌套签名文档多方签名,可以避免嵌套签名47PGP 身份认证说明说明:474848PGP 保密性保密性发送方发送方n生成消息生成消息M并为该消息生成一个随机数作为会话密钥。并为该消息生成一个随机数作为会话密钥。n用会话密钥加密用会话密钥加密Mn用接收者的公钥加密会话密钥并与消息用接收者的公钥加密会话密钥并与消息M结合结合接收方接收方n用自己的私钥解密恢复会话密钥用自己的私钥解密恢复会话密钥n用会话密钥解密恢复消息用会话密钥解密恢复消息M48PGP 保密性发送方484949PGP 保密性说明保密性说明对称加密算法和公钥加密算法的结合可以缩短加密时对称加密算法和公钥加密算法的结合可以缩短加密时间间用公钥算法解决了会话密钥的单向分发问题用公钥算法解决了会话密钥的单向分发问题n不需要专门的会话密钥交换协议不需要专门的会话密钥交换协议n由于邮件系统的存储由于邮件系统的存储-转发的特性,用握手方式交换密钥不转发的特性,用握手方式交换密钥不太可能太可能每个消息都有自己的一次性密钥,进一步增强了保密每个消息都有自己的一次性密钥,进一步增强了保密强度。所以,每个密钥只加密很小部分的明文内容强度。所以,每个密钥只加密很小部分的明文内容49PGP 保密性说明对称加密算法和公钥加密算法的结合495050PGP 保密与认证的结合保密与认证的结合两种服务都需要时,发送者先用自己的私钥签两种服务都需要时,发送者先用自己的私钥签名,然后用会话密钥加密消息,再用接收者的名,然后用会话密钥加密消息,再用接收者的公钥加密会话密钥。公钥加密会话密钥。50PGP 保密与认证的结合两种服务都需要时,发送者先用505151PGP 邮件数据处理邮件数据处理顺序:签名顺序:签名 压缩压缩 加密加密压缩对邮件传输或存储都有节省空间的好处。压缩对邮件传输或存储都有节省空间的好处。签名后压缩的原因:签名后压缩的原因:n不需要为检验签名而保留压缩版本的消息不需要为检验签名而保留压缩版本的消息n为了检验而再做压缩不能保证一致性,压缩算法的不同实现版本为了检验而再做压缩不能保证一致性,压缩算法的不同实现版本可能会产生不同的结果可能会产生不同的结果压缩之后再做加密的原因:压缩之后再做加密的原因:n压缩后的消息其冗余小,增加密码分析的难度压缩后的消息其冗余小,增加密码分析的难度n若先加密,则压缩难以见效若先加密,则压缩难以见效E-mail兼容性兼容性nPGP处理后的消息,部分或者全部是加密后的消息流,为任意的处理后的消息,部分或者全部是加密后的消息流,为任意的8位字节。某些邮件系统只允许位字节。某些邮件系统只允许ASC字符,所以字符,所以PGP提供了转换到提供了转换到ASC格式的功能。采用了格式的功能。采用了Radix-64转换方案转换方案51PGP 邮件数据处理顺序:签名 压缩 515252PGP PGP密钥密钥PGP使用四种类型的密钥:使用四种类型的密钥:n一次性会话传统密钥一次性会话传统密钥n公钥公钥n私钥私钥n基于口令短语的传统密钥基于口令短语的传统密钥PGP对密钥的需求对密钥的需求n会话密钥:需要一种生成不可预知的会话密钥的方法,会话密钥:需要一种生成不可预知的会话密钥的方法,PGP使用使用了一种复杂的随机密钥生成算法了一种复杂的随机密钥生成算法(一定的真随机性一定的真随机性)n公钥和私钥公钥和私钥需要某种手段来标识具体的密钥需要某种手段来标识具体的密钥一个用户拥有多个公钥一个用户拥有多个公钥/私钥对私钥对密钥更新管理密钥更新管理n私钥如何保存私钥如何保存52PGP PGP密钥PGP使用四种类型的密钥:525353PGP 密钥标识符和钥匙环密钥标识符和钥匙环一个用户有多个公钥一个用户有多个公钥/私钥对时,接收者如何知道发送者是用哪个公私钥对时,接收者如何知道发送者是用哪个公钥来加密会话密钥的?钥来加密会话密钥的?n将公钥与消息一起传送。将公钥与消息一起传送。n将一个标识符与一个公钥关联,对一个用户来说唯一。即用户将一个标识符与一个公钥关联,对一个用户来说唯一。即用户ID和密钥和密钥ID标识一标识一个密钥个密钥定义定义KeyID 包括包括64个有效位个有效位(PGP采用公钥的低采用公钥的低64位作为位作为KeyID)钥匙环钥匙环nKeyID对于对于PGP非常关键。非常关键。PGP消息中包括两个消息中包括两个keyID,分别提供保密与认证功能。,分别提供保密与认证功能。需要一种系统化的方法存储和组织这些密钥以保证有效使用这些密钥需要一种系统化的方法存储和组织这些密钥以保证有效使用这些密钥PGP密钥管理方案:密钥管理方案:n用户机器用户机器(节点节点)上有一对数据结构:上有一对数据结构:私钥环:存储本节点拥有的公钥私钥环:存储本节点拥有的公钥/私钥对私钥对公钥环:存储本节点所知道的其他用户的公钥公钥环:存储本节点所知道的其他用户的公钥53PGP 密钥标识符和钥匙环一个用户有多个公钥/私钥535454PGP PGP消息的格式消息的格式(A-B)54PGP PGP消息的格式(A-B)545555PGP 私钥环私钥环信息:信息:时间戳、时间戳、KeyID、公钥、私钥、公钥、私钥、UserIDUserID:n通常是用户的邮件地址。也可以是一个名字,可以重名通常是用户的邮件地址。也可以是一个名字,可以重名私钥如何保存:私钥如何保存:n用户选择一个口令短语用于加密私钥用户选择一个口令短语用于加密私钥n当系统用当系统用RSA生成一个新的公钥生成一个新的公钥/私钥对时,要求用户输入口令短私钥对时,要求用户输入口令短语。对该短语使用语。对该短语使用SHA-1生成一个生成一个160位的散列码后,销毁该短位的散列码后,销毁该短语语n系统用其中系统用其中128位作为密钥用位作为密钥用CAST-128加密私钥,然后销毁这加密私钥,然后销毁这个散列码,并将加密后的私钥存储到私钥环中个散列码,并将加密后的私钥存储到私钥环中n当用户要访问私钥环中的私钥时,必须提供口令短语。当用户要访问私钥环中的私钥时,必须提供口令短语。PGP将取将取出加密后的私钥,生成散列码,解密私钥出加密后的私钥,生成散列码,解密私钥55PGP 私钥环信息:555656PGP 公钥环公钥环信息:信息:时间戳、时间戳、KeyID、公钥、对所有者信任度、公钥、对所有者信任度、用户用户ID、密钥合法度、签名、对签名者信任、密钥合法度、签名、对签名者信任度度UserID:n公钥的拥有者。多个公钥的拥有者。多个UserID可以对应一个可以对应一个公钥。公钥。公钥环可以用公钥环可以用UserID或或KeyID索引。索引。56PGP 公钥环信息:565757PGP 发送方处理消息的过程发送方处理消息的过程签名:签名:n从私钥环中得到私钥,利用从私钥环中得到私钥,利用userid作为索引作为索引nPGP提示输入口令短语,恢复私钥提示输入口令短语,恢复私钥n构造签名部分构造签名部分加密:加密:nPGP产生一个会话密钥,并加密消息产生一个会话密钥,并加密消息nPGP用接收者用接收者userid从公钥环中获取其公钥从公钥环中获取其公钥n构造消息的会话密钥部分构造消息的会话密钥部分57PGP 发送方处理消息的过程签名:575858PGP 接收方处理消息的过程接收方处理消息的过程解密消息解密消息nPGP用消息的会话密钥部分中的用消息的会话密钥部分中的KeyID作为索引,从作为索引,从私钥环中获取私钥私钥环中获取私钥nPGP提示输入口令短语,恢复私钥提示输入口令短语,恢复私钥nPGP恢复会话密钥,并解密消息恢复会话密钥,并解密消息验证消息验证消息nPGP用消息的签名部分中的用消息的签名部分中的KeyID作为索引,从公钥作为索引,从公钥环中获取发送者的公钥环中获取发送者的公钥nPGP恢复被传输过来的消息摘要恢复被传输过来的消息摘要nPGP对于接收到的消息作摘要,并与上一步的结果作对于接收到的消息作摘要,并与上一步的结果作比较比较58PGP 接收方处理消息的过程解密消息585959PGP 公钥管理公钥管理由于由于PGP重在广泛地在正式或非正式环境下的应用,所以重在广泛地在正式或非正式环境下的应用,所以它没有建立严格的公钥管理模式。它没有建立严格的公钥管理模式。有关的问题:有关的问题:n一旦你的私钥泄漏,存在两种危险:一旦你的私钥泄漏,存在两种危险:别人可以伪造你的签名别人可以伪造你的签名其他人发送给你的保密信件可被别人读取其他人发送给你的保密信件可被别人读取n防止公钥环上包含错误的公钥防止公钥环上包含错误的公钥保证公钥环上公钥的正确性保证公钥环上公钥的正确性n物理上得到物理上得到B的公钥。可靠,但有一定局限性的公钥。可靠,但有一定局限性n通过电话验证公钥通过电话验证公钥n从双方都信任的个体从双方都信任的个体D处获得处获得B的公钥的公钥n从一个信任的从一个信任的CA中心得到中心得到B的公钥的公钥59PGP 公钥管理由于PGP重在广泛地在正式或非正式环596060PGP 公钥信任模型公钥信任模型尽管尽管PGP没有包含任何建立认证权威机构或建立信任体系的没有包含任何建立认证权威机构或建立信任体系的规范,但它提供
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!