欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Internet安全协议-SSL.ppt

    • 资源ID:2240866       资源大小:925KB        全文页数:35页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Internet安全协议-SSL.ppt

    计算机网络安全概论,1,第五章 Internet安全协议SSL,计算机网络安全概论,2,Internet安全协议,物理层,SSL或TLS UDP,IPsec,SSH,SHTTP,DNSSEC,安全TCP/IP协议体系结构,计算机网络安全概论,3,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 2246(The TLS Protocol v1.0),计算机网络安全概论,4,SSL/TLS协议,协议的设计目标为两个通讯个体之间提供保密性、完整性、身份认证互操作性、可扩展性、相对效率协议的使用,计算机网络安全概论,5,SSL/TLS协议栈,介于应用层和传输层之间为上层提供安全性,IP,SSL ChangeCipher SpecProtocol,SSL AlertProtocol,Application Protocol,TCP,SSL AlertProtocol,SSL HandshakeProtocol,HTTP,LDAP,IMAP,计算机网络安全概论,6,SSL/TLS概况,协议分为两层上层:TLS握手协议、TLS密码变化协议、TLS警告协议底层:TLS记录协议上层协议是用于管理SSL密钥信息的交换,下层提供基本的安全服务TLS握手协议客户和服务器之间相互认证协商加密算法和密钥它提供连接安全性,有三个特点身份认证,至少对一方实现认证,也可以是双向认证协商得到的共享密钥是安全的,中间人不能够知道协商过程是可靠的TLS记录协议建立在可靠的传输协议(如TCP)之上它提供连接安全性,有两个特点保密性,使用了对称加密算法完整性,使用HMAC算法用来封装高层的协议,计算机网络安全概论,7,TLS会话,(TLS Session)定义:指客户和服务器之间的一个关联关系。通过TLS握手协议创建session,它确定了一组密码算法的参数。Session可以被多个连接共享,从而可以避免为每个连接协商新的安全参数而带来 昂贵的开销。TLS Session都有一个当前状态TLS connection与底层协议的点对点连接相关联每个connection都与一个session相关联连接是短暂的,计算机网络安全概论,8,TLS会话状态,实际上是一组参数,包括Session identifier(会话号),字节序列,由服务器产生,用来标识一个会话状态Peer certificate(可以为NULL),对方的X.509 v3证书Compression method,压缩数据的算法Cipher spec,指定数据加密算法和用于HMAC的散列算法,以及算法的有关参数Master secret,客户和服务器之间共享的48字节的数据(主秘密)Is resumable,标记是否这个会话可以被用来初始化一个新的连接,计算机网络安全概论,9,TLS连接的状态,在任意一对实体之间(如客户端和服务器端的HTTP应用程序)都可能存在多个安全连接,每个连接均与一个会话相关联。其连接状态也包含一组参数Server and client random,客户和服务器为每个连接选择的字节序列Server write MAC secret,服务器在发送数据的时候,用于MAC运算的keyClient write MAC secret,客户在发送数据的时候,用于MAC运算的keyServer write key,服务器加密数据的密钥,以及客户解密数据的密钥Client write key,客户加密数据的密钥,以及服务器解密数据的密钥Initialization vectors,在CBC模式中用到的IV,最初由握手协议初始化,以后,每一个记录的最后一个密文块被用作下一个记录的IVSequence numbers,每一个连接都需要维护一个序 列号,当密码参数变化时,重置为0,计算机网络安全概论,10,TLS握手协议TLS Handshake Protocol,位于TLS记录协议之上也用到了TLS记录协议的处理过程ContentType=22协议格式用途:当TLS客户和服务器开始通讯的时候,它们要通过协商,在以下信息方面获得一致:协议版本、密码算法、是否认证对方、用什么技术来产生共享秘密数据,等等,计算机网络安全概论,11,TLS握手协议的流程,交换Hello消息,对于算法、交换随机值等协商一致交换必要的密码参数,以便双方得到统一的premaster secret交换证书和相应的密 码信息,以便进行身份认证产生master secret把安全参数提供给TLS记录层检验双方是否已经获得同样的安全参数,计算机网络安全概论,12,TLS握手协议使用的消息,计算机网络安全概论,13,第一阶段:建立起安全能力属性,客户发送一个client_hello消息,包括以下参数:.版本、2.随机数(32位时间戳+28字节随机序列)、3.会话ID、4.客户支持的密码算法列表(CipherSuite)、5.客户支持的压缩方法列表然后,客户等待服务器的server_hello消息服务器发送server_hello消息,参数:.客户机和服务器支持的最高SSL版本中的较低版本、.服务器产生的随机数、.会话ID、.服务器从客户建议的密码算法中挑出一套、.服务器从客户建议的压缩方法中挑出一个,计算机网络安全概论,14,关于会话ID(Session ID)的讨论,客户方客户指定的会话ID如果不等于0,则表示它希望基于这个会话来更新现有连接的安全参数,或者创建本次会话的一个新的连接如果会话ID等于0,则表示客户希望创建新会话的一个新的连接服务器或者同意客户指定的会话ID,需要检查cache中的会话状态或者返回一个新的会话ID,计算机网络安全概论,15,CipherSuite,第一个元素指定了密钥交换的方法,TLS支持以下一些方法:RSA,要求服务器提供一个RSA证书DH(Diffie-Hellman),要求服务器的证书中包含了由CA签名的DH公开参数。客户或者在证书中提供DH公开参数,或者在密钥 交换消息中提供此参数EDH(Ephemeral Diffie-Hellman),产生临时的密钥,DH公开参数由发送者的私钥进行签名,接收者用对应的公钥进行验证匿名的DH,不加认证。会受到中间人攻击然后,指定以下信息加密算法,和类型(流还是分组密码算法)HMAC算法,MD5还是SHA-1是否可出口HashSizeKey MaterialIV Size,计算机网络安全概论,16,第二阶段:服务器认证和密钥交换,服务器发送自己的证书,消息包含一个X.509证书,或者一条证书链除了匿名DH之外的密钥交换方法都需要服务器发送server_key_exchange消息可选的,有些情况下可以不需要。只有当服务器没有向客户发送证书时,才发送此消息向客户发送公钥(因为没有数字证书)服务器发送certificate_request消息可选的,非匿名server可以向客户请求一个证书包含证书类型和CAs服务器发送server_hello_done,然后等待应答,计算机网络安全概论,17,第三阶段:客户认证和密钥交换,客户收到server_done消息后,它根据需要检查服务器提供的证书,并判断server_hello的参数是否可以接受,如果都没有问题的话,发送一个或多个消息给服务器可选的,如果服务器请求证书的话,则客户首先发送一个certificate消息,若客户没有证书,则发送一个no_certificate警告然后,客户机密钥交换,使客户机可以从相反的方向发送信息给服务器,客户机生成48位的premaster secret,用服务器公钥加密,发送给服务器最后,客户发送一个certificate_verify消息,其中包含一个签名,对从第一条消息以来的所有握手消息的HMAC值(用master_secret)进行签名,计算机网络安全概论,18,第四阶段:结束,第四阶段建立起一个安全的连接客户发送一个change_cipher_spec消息,并且把协商得到的CipherSuite拷贝到当前连接的状态之中然后,客户用新的算法、密钥参数发送一个finished消息,这条消息可以检查密钥交换和认证过程是否已经成功。其中包括一个校验值,对所有以来的消息进行校验。服务器同样发送change_cipher_spec消息和finished消息。握手过程完成,客户和服务器可以交换应用层数据。,计算机网络安全概论,19,密钥交换算法,TLS记录协议需要:CipherSuite,master secret,and the client and server random values在hello消息中,交换随机数以及各种算法对于各种密钥交换算法,从pre_master_secret计算得到master_secret,然后从内存中删除,公式:master_secret=MD5(pre_master_secret|SHA(A|pre_master_secret|ClientHello.random|ServerHello.random)|MD5(pre_master_secret|SHA(BB|pre_master_secret|ClientHello.random|ServerHello.random)|MD5(pre_master_secret|SHA(CCC|pre_master_secret|ClientHello.random|ServerHello.random)Master_secret总是48字节长,而pre_master_secret长度不定,取决于密钥交换算法两类密钥交换算法:RSA,客户产生一个48字节的pre_master_secret,然后通过服务器的公钥传递给服务器Diffie-Hellman,双方协商得到的密钥被用作pre_master_secret,计算机网络安全概论,20,重用一个TLS会话,客户和服务器在交换hello消息中,客户要求重用已有的TLS会话,服务器同意使用cache中的会话*session id跳过第二第三阶段,直接把TLS会话中的参数传递给TLS记录层,计算机网络安全概论,21,TLS记录协议TLS Record Protocol,操作过程示意图,计算机网络安全概论,22,TLS记录协议中的操作,第一步,fragmentation上层消息的数据被分片成214字节大小的块,或者更小第二步,compression(可选)必须是无损压缩,如果数据增加的话,则增加部分的长度不超过1024字节第三步,计算消息认证码(MAC)计算公式:HASH(MAC_write_secret|pad_2|HASH(MAC_write_secret|pad_1|seq_num|TLSCompressed.type|TLSCompressed.length|TLSCompressed.fragment)Pad_1 0X36重复48次(384位)用于MD5,重复40次用于SHA-1Pad_2 0X5c重复48次(384位)用于MD5,重复40次用于SHA-1,计算机网络安全概论,23,TLS记录协议中的操作(续),第四步,encryption采用CBC,算法由cipher spec指定数据长度不超过214+2048字节,包括加密之后的数据内容HMACpadding,共padding_length,每个字节的值也是padding_lengthpadding_lengthIV,初始协商指定,以后,前后记录连接起来说明:如果是流密码算法,则不需要padding,计算机网络安全概论,24,TLS记录协议的处理结果,结果如下:struct ContentType type;8位,上层协议类型 ProtocolVersion version;16位,主次版本 uint16 length;加密后数据的长度,不超过214+2048字节 EncryptedData fragment;密文数据 TLSCiphertext;,计算机网络安全概论,25,TLS密码变化协议(Change Cipher Spec Protocol),它位于TLS记录协议之上所以,它用到了TLS记录协议的处理过程ContentType=20协议只包含一条消息,一个字节 1用途:切换状态把密码参数设置为当前状态在握手协议中,当安全参数协商一致后,发送此消息这条消息使得接收方改变当前状态读参数,使得发送方改变当前状态写参数,计算机网络安全概论,26,TLS警告协议(Alert Protocol),位于TLS记录协议之上所以,也用到了TLS记录协议的处理过程ContentType=21协议数据包含两个字节第一个字节为level:分别为warning(1)和fatal(2)两种情况第二个字节为情况说明Fatal类型的alert消息导致连接立即终止,此时,对应该会话的其他连接可以继续,但是会话标识符无效,以免利用此失败的连接来建立新的连接,计算机网络安全概论,27,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_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#表示该消息往往是warning级别3 对于其他的错误情况,发送方可以根据情况决定是warning还是fatal,对于warning消息,接收方可以自行决定如何处理,如果是fatal消息,则一定要当作fatal消息来对待,计算机网络安全概论,28,TLS/SSL安全性分析,针对一些常见的攻击手法针对密钥算法的破解取决于算法的强度,协商过程利用明文模式的攻击上层协议中常常有一些固定的模式可以参考,比如http协议中get字节串构造字典(密文-密钥对),查字典TLS办法:用长密钥,使得不可能构造这样的字典重放攻击TLS中的nonce有32字节(包含时间戳),可用于避免重放攻击会话ID标识了一个完整的会话,要重放部分会话需要知道私钥中间人攻击通过证书来认证对方对于双方都是匿名的模式,中间人攻击也是成立的,计算机网络安全概论,29,SSL实现,OpenSSL,最新0.9.6c,实现了SSL(2,3),TLS(1.0)Openssl a command line tool.ssl(3)the OpenSSL SSL/TLS library.crypto(3)the OpenSSL Crypto library.URL:http:/www.openssl.orgSSLeayhttp:/www2.psy.uq.edu.au/ftp/Crypto/Microsoft Win2k SSL implementation,计算机网络安全概论,30,SSL的安全性讨论,几乎所有操作平台上的WEB浏览器(IE、Netscatp)以及流行的Web服务器(IIS、Netscape Enterprise Server等)都支持SSL协议使用该协议便宜且开发成本小应用SSL协议存在着不容忽视的缺点:系统不符合国务院最新颁布的商用密码管理条例中对商用密码产品不得使用国外密码算法的规定 系统安全性差SSL协议的数据安全性其实就是建立在RSA等算法的安全性上美国政府的出口限制,使得进入我国的实现了SSL的产品(Web浏览器和服务器)均只能提供512比特RSA公钥、40比特对称密钥的加密。,计算机网络安全概论,31,一个安全协议除了基于其所采用的加密算法安全性以外,更为关键的是其逻辑严密性、完整性、正确性,从目前来看,SSL比较好地解决了这一问题另外,SSL协议在“重传攻击”上,有它独到的解决办法。SSL协议为每一次安全连接产生了一个128位长的随机数“连接序号”。理论上,攻击者提前无法预测此连接序号,因此不能对服务器的请求做出正确的应答 总的来讲,SSL协议的安全性能是好的,而且随着SSL协议的不断改进,更多的安全性能、好的加密算法被采用,逻辑上的缺陷被弥补,SSL协议的安全性能会不断加强,SSL的安全性讨论,计算机网络安全概论,32,SSL的应用,SSL的典型应用主要有体现在两个方面,是客户端,主流浏览器(如IE和Netscape等)另外一个就是服务器端,Web服务器(如IIS、Domino Go WebServer、Netscape Enterprise Server、Appache等)实现浏览器(或其他客户端应用)和Web服务器(或其他服务器)之间的安全SSL信息传输在Web服务器端安装支持SSL的Web服务器证书在浏览器端安装支持SSL的客户端证书(可选)然后把URL中的“http:/”更换为“https:/”,计算机网络安全概论,33,SSL的应用(注意),由于出口限制和其他原因,目前的浏览器(包括IE和Netscape)只能支持56位对称密钥和512位非对称密钥长度的SSL连接实际应用中是非常不安全的安全的SSL系统需要至少128位对称密钥和1024位非对称密钥长度在SSL的客户机/服务器模式下,即使服务器端可以支持位数更多的密钥长度,具有较高的安全强度,但由于客户端的限制,实际SSL连接中只能使用客户端较低位数的密钥长度来进行安全信息传输很多安全系统的客户端大都安装了一个SSL代理程序,它直接接管浏览器发送和接收的信息,利用安全的密钥长度与服务器进行交互必要的时候还需要在服务器端安装SSL服务器代理,计算机网络安全概论,34,SSL的缺陷,对于电子商务应用来说,使用SSL可保证信息的真实性、完整性和保密性由于SSL不对应用层的消息进行数字签名,因此不能提供交易的不可否认性SSL在全球的大规模使用还有一定的难度 SSL产品的出口受到美国国家安全局(NSA)的限制,美国政府只允许加密密钥为40位以下的算法出口,而美国的商家一般都可以使用128位的SSL,致使美国以外的国家很难真正在电子商务中充分利用SSL,计算机网络安全概论,35,作业二,建立一个具有SSLTLS功能的Web服务器,在客户端使用Ethereal软件截取数据帧,分析SSLTLS协议。详叙在Web服务器增加SSLTLS功能的方法截取客户端访问界面详叙对SSLTLS协议的分析握手协议记录协议,

    注意事项

    本文(Internet安全协议-SSL.ppt)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开