欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    网络与信息安全安全基础.ppt

    • 资源ID:1025492       资源大小:1.08MB        全文页数:67页
    • 资源格式: PPT        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    网络与信息安全安全基础.ppt

    1、网络与信息安全网络与信息安全安全安全基础基础(四四)潘爱民,北京大学计算机研究所潘爱民,北京大学计算机研究所http:/ _num|TLSCompressedTLSCompressed.type.type|TLSCompressedTLSCompressed.version.version|TLSCompressedTLSCompressed.length.length|TLSCompressedTLSCompressed.fragment).fragment)TLS记录协议中的操作记录协议中的操作(续续)u第四步,第四步,encryption采用采用CBC,算法由算法由cipherspec指

    2、定指定数据长度不超过数据长度不超过214+2048字节,包括字节,包括加密之后的数据内容加密之后的数据内容HMACpadding,共共padding_length,每个字节的值也是每个字节的值也是padding_lengthpadding_lengthIV,初始协商指定,以后,前后记录连接起来初始协商指定,以后,前后记录连接起来说明:如果是流密码算法,则不需要说明:如果是流密码算法,则不需要paddingTLS记录协议的处理结果记录协议的处理结果u结果如下:结果如下:structstruct ContentTypeContentType type;type;8 8位,上层协议类型位,上层协议类

    3、型 ProtocolVersionProtocolVersion version;version;16 16位,主次版本位,主次版本 uint16 uint16 length;length;加加 密密 后后 数数 据据 的的 长长 度度,不超过不超过2 21414+2048+2048字节字节 EncryptedDataEncryptedData fragment;fragment;密文数据密文数据 TLSCiphertextTLSCiphertext;lengthTLS密码变化协议密码变化协议ChangeCipherSpecProtocolu它位于它位于TLS记录协议之上记录协议之上所以,它用

    4、到了所以,它用到了TLS记录协议的处理过程记录协议的处理过程ContentType=20协议只包含一条消息,一个字节协议只包含一条消息,一个字节1用途:切换状态用途:切换状态把密码参数设置为当前状态把密码参数设置为当前状态在握手协议中,当安全参数在握手协议中,当安全参数协商一致后,发送此消息协商一致后,发送此消息这条消息使得接收方改变当这条消息使得接收方改变当前状态读参数,使得发送方前状态读参数,使得发送方改变当前状态写参数改变当前状态写参数TLS警告协议警告协议AlertProtocolu位于位于TLS记录协议之上记录协议之上所以,也用到了所以,也用到了TLS记录协议的处理过程记录协议的处理

    5、过程ContentType=21协议数据包含两个字节协议数据包含两个字节第一个字节为第一个字节为level:分别为分别为warning(1)和和fatal(2)两种情况两种情况第二个字节为情况说明第二个字节为情况说明Fatal类型的类型的alert消息导致消息导致连接立即终止,此时,对应连接立即终止,此时,对应该会话的其他连接可以继续,该会话的其他连接可以继续,但是会话标识符无效,以免但是会话标识符无效,以免利用此失败的连接来建立新利用此失败的连接来建立新的连接的连接AlertProtocol第二字节说明第二字节说明close_notify(0),close_notify(0),unexpec

    6、ted_message(10),unexpected_message(10),bad_record_bad_record_macmac(20),*(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_certifica

    7、te(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(4

    8、9),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),#us

    9、er_canceled(90),#no_renegotiation(100),#no_renegotiation(100),#说明:说明:1*1*表示该消息往往是表示该消息往往是fatalfatal级别级别2#2#表示该消息往往是表示该消息往往是warningwarning级别级别3 3 对于其他的错误情况,发送方可以对于其他的错误情况,发送方可以根据情况决定是根据情况决定是warningwarning还是还是fatal,fatal,对于对于warningwarning消息,接收方可以自行消息,接收方可以自行决定如何处理,如果是决定如何处理,如果是fatalfatal消息,消息,则一定要当作则

    10、一定要当作fatalfatal消息来对待消息来对待TLS握手协议握手协议TLSHandshakeProtocolu位于位于TLS记录协议之上记录协议之上也用到了也用到了TLS记录协议的处理过程记录协议的处理过程ContentType=22协议格式协议格式用途:用途:当当TLS客户和服务器开始通讯的时候,它们要通客户和服务器开始通讯的时候,它们要通过协商,在以下信息方面获得一致过协商,在以下信息方面获得一致:协议版本、密码算法、是否认证对方、协议版本、密码算法、是否认证对方、用什么技术来产生共享秘密数据,等等用什么技术来产生共享秘密数据,等等TLS握手协议的流程握手协议的流程u交换交换Hello

    11、消息,对于消息,对于算法、交换随机值等协算法、交换随机值等协商一致商一致u交换必要的密码参数,交换必要的密码参数,以便双方得到统一的以便双方得到统一的premastersecretu交换证书和相应的密交换证书和相应的密码信息,以便进行身份码信息,以便进行身份认证认证u产生产生mastersecretu把安全参数提供给把安全参数提供给TLS记录层记录层u检验双方是否已经获得检验双方是否已经获得同样的安全参数同样的安全参数TLS握手协议使用的消息握手协议使用的消息消息消息参数参数hello_requestNullclient_hello版本,随机数,会话版本,随机数,会话id,密码密码参数,压缩方

    12、法参数,压缩方法server_hellocertificateX.509v3证书链证书链server_key_exchange参数,签名参数,签名certificate_request类型,类型,CAsserver_doneNullcertificate_verify签名签名client_key_exchange参数,签名参数,签名finishedHash值值第一阶段:建立起安全能力属性第一阶段:建立起安全能力属性u客户发送一个客户发送一个client_hello消息,包括以下参数:消息,包括以下参数:版本、随机数版本、随机数(32位时间戳位时间戳+28字节随机序列字节随机序列)、会话会话ID

    13、、客户支持的密码算法列表客户支持的密码算法列表(CipherSuite)、客户支持的压客户支持的压缩方法列表缩方法列表u然后,客户等待服务器的然后,客户等待服务器的server_hello消息消息u服务器发送服务器发送server_hello消息,参数:消息,参数:客户建议的低版本以及服务器支持的最高版本、服务器客户建议的低版本以及服务器支持的最高版本、服务器产生的随机数、会话产生的随机数、会话ID、服务器从客户建议的密码算法服务器从客户建议的密码算法中挑出一套、服务器从客户建议的压缩方法中挑出一个中挑出一套、服务器从客户建议的压缩方法中挑出一个关于会话关于会话ID(SessionID)u客户

    14、方客户方客户指定的会话客户指定的会话ID如果不等于如果不等于0,则表示它希,则表示它希望基于这个会话来更新已有连接的安全参数,望基于这个会话来更新已有连接的安全参数,或者创建一个新的连接或者创建一个新的连接如果会话如果会话ID等于等于0,则表示客户希望在一个新,则表示客户希望在一个新的会话上建立一个新的连接的会话上建立一个新的连接u服务器服务器或者同意客户指定的会话或者同意客户指定的会话ID,需要检查需要检查cache中的会话状态中的会话状态或者返回一个新的会话或者返回一个新的会话IDCipherSuiteu第一个元素指定了密钥交换的方法,第一个元素指定了密钥交换的方法,TLS支持以下一些支持

    15、以下一些方法:方法:RSA,要求服务器提供一个要求服务器提供一个RSA证书证书DH(Diffie-Hellman),要求服务器的证书中包含了由要求服务器的证书中包含了由CA签名的签名的DH公开参数。客户或者在证书中提供公开参数。客户或者在证书中提供DH公开参数,或者在密钥公开参数,或者在密钥交换消息中提供此参数交换消息中提供此参数EDH(EphemeralDiffie-Hellman),产生临时的密钥,产生临时的密钥,DH公开公开参数由发送者的私钥进行签名,接收者用对应的公钥进行验证参数由发送者的私钥进行签名,接收者用对应的公钥进行验证匿名的匿名的DH,不加认证。会受到中间人攻击不加认证。会受

    16、到中间人攻击u然后,指定以下信息然后,指定以下信息加密算法,和类型加密算法,和类型(流还是分组密码算法流还是分组密码算法)HMAC算法,算法,MD5还是还是SHA-1是否可出口是否可出口HashSizeKeyMaterialIVSize第二阶段:服务器认证和密钥交换第二阶段:服务器认证和密钥交换u服务器发送自己的证书,消息包含一个服务器发送自己的证书,消息包含一个X.509证书,或者证书,或者一条证书链一条证书链除了匿名除了匿名DH之外的密钥交换方法都需要之外的密钥交换方法都需要u服务器发送服务器发送server_key_exchange消息消息可选的,有些情况下可以不需要。只有当服务器的证书

    17、没有包可选的,有些情况下可以不需要。只有当服务器的证书没有包含必需的数据的时候才发送此消息含必需的数据的时候才发送此消息消息包含签名,被签名的内容包括两个随机数以及服务器参数消息包含签名,被签名的内容包括两个随机数以及服务器参数u服务器发送服务器发送certificate_request消息消息非匿名非匿名server可以向客户请求一个证书可以向客户请求一个证书包含证书类型和包含证书类型和CAsu服务器发送服务器发送server_hello_done,然后等待应答然后等待应答第三阶段:客户认证和密钥交换第三阶段:客户认证和密钥交换u客户收到客户收到server_done消息后,它根据需要检查服

    18、务器提消息后,它根据需要检查服务器提供供的证书,并判断的证书,并判断server_hello的参数是否可以接受,的参数是否可以接受,如果都没有问题的话,发送一个或多个消息给服务器如果都没有问题的话,发送一个或多个消息给服务器u如果服务器请求证书的话,则客户首先发送一个如果服务器请求证书的话,则客户首先发送一个certificate消息,若客户没有证书,则发送一个消息,若客户没有证书,则发送一个no_certificate警告警告u然后客户发送然后客户发送client_key_exchange消息,消息的内容取消息,消息的内容取决于密钥交换的类型决于密钥交换的类型u最后,客户发送一个最后,客户发

    19、送一个certificate_verify消息,其中包含一消息,其中包含一个签名,对从第一条消息以来的所有握手消息的个签名,对从第一条消息以来的所有握手消息的HMAC值值(用用master_secret)进行签名进行签名第四阶段:结束第四阶段:结束u第四阶段建立起一个安全的连接第四阶段建立起一个安全的连接u客户发送一个客户发送一个change_cipher_spec消息,并且把协商得消息,并且把协商得到的到的CipherSuite拷贝到当前连接的状态之中拷贝到当前连接的状态之中u然后,客户用新的算法、密钥参数发送一个然后,客户用新的算法、密钥参数发送一个finished消息,消息,这条消息可以

    20、检查密钥交换和认证过程是否已经成功。其这条消息可以检查密钥交换和认证过程是否已经成功。其中包括一个校验值,对所有以来的消息进行校验。中包括一个校验值,对所有以来的消息进行校验。u服务器同样发送服务器同样发送change_cipher_spec消息和消息和finished消消息。息。u握手过程完成,客户和服务器可以交换应用层数据。握手过程完成,客户和服务器可以交换应用层数据。密钥交换算法密钥交换算法uTLS记录协议需要:记录协议需要:CipherSuite,mastersecret,andtheclientandserverrandomvaluesu在在hello消息中,交换随机数以及各种算法消

    21、息中,交换随机数以及各种算法u对于各种密钥交换算法,从对于各种密钥交换算法,从pre_master_secret计算得计算得到到master_secret,然后从内存中删除,公式:然后从内存中删除,公式:master_secret=PRF(pre_master_secret,“mastersecret”,ClientHello.random+ServerHello.random)0.47*PRF(secret,label,seed)为伪随机函数为伪随机函数uMaster_secret总是总是48字节长,而字节长,而pre_master_secret长度不定,取决于密钥交换算法长度不定,取决于密

    22、钥交换算法u两类密钥交换算法:两类密钥交换算法:RSA,客户产生一个客户产生一个48字节的字节的pre_master_secret,然后通过然后通过服务器的公钥传递给服务器服务器的公钥传递给服务器Diffie-Hellman,双方协商得到的密钥被用作双方协商得到的密钥被用作pre_master_secret重用一个重用一个TLS会话会话u客户和服务器在交换客户和服务器在交换hello消息中,客户要消息中,客户要求重用已有的求重用已有的TLS会会话,服务器同意使用话,服务器同意使用cache中的会话中的会话*sessionidu跳过第二第三阶段,跳过第二第三阶段,直接把直接把TLS会话中的会话中

    23、的参数传递给参数传递给TLS记录记录层层伪随机函数伪随机函数PRF(secret,label,seed)uP_hash(secret,seed)=+HMAC_hash(secret,A(1)+seed)+HMAC_hash(secret,A(2)+seed)+HMAC_hash(secret,A(3)+seed)+.u这里这里A()定义如下:定义如下:A(0)=seedA(i)=HMAC_hash(secret,A(i-1)u伪随机函数伪随机函数PRF(secret,label,seed)=P_MD5(S1,label+seed)XORP_SHA-1(S2,label+seed);这里,这里,

    24、S1和和S2为为secret的各一半,如果的各一半,如果secret为奇数个字节,则为奇数个字节,则S1和和S2共享一个字节共享一个字节TLS/SSL安全性分析安全性分析u针对一些常见的攻击手法针对一些常见的攻击手法针对密钥算法的破解针对密钥算法的破解取决于算法的强度,协商过程取决于算法的强度,协商过程利用明文模式的攻击利用明文模式的攻击上层协议中常常有一些固定的模式可以参考,比如上层协议中常常有一些固定的模式可以参考,比如http协议中协议中get字节串字节串构造字典构造字典(密文密文-密钥对密钥对),查字典,查字典TLS办法:用长密钥,使得不可能构造这样的字典办法:用长密钥,使得不可能构造

    25、这样的字典重放攻击重放攻击TLS中的中的nonce有有32字节字节(包含时间戳包含时间戳),可用于避免重放攻击,可用于避免重放攻击会话会话ID标识了一个完整的会话,要重放部分会话需要知道私钥标识了一个完整的会话,要重放部分会话需要知道私钥中间人攻击中间人攻击通过证书来认证对方通过证书来认证对方对于双方都是匿名的模式,中间人攻击也是成立的对于双方都是匿名的模式,中间人攻击也是成立的历史上针对历史上针对SSL/TLS的攻击的攻击uPRNGuMillion-messageattacku其它其它SSL:PRNG攻击攻击uNetscapev1.1版本中存在,利用随机数发生器版本中存在,利用随机数发生器的

    26、弱点的弱点u先看随机数发生器先看随机数发生器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);(待续)SSL:PRNG攻击攻击(续续)u种子关联:种子关联:pid,ppid,seconds,microsecondsSeconds往往可以获得,往往可以获得,micr

    27、oseconds未知未知如果在目标机器上有账号,则如果在目标机器上有账号,则pid和和ppid可以获得可以获得否则,可以寻找否则,可以寻找pid和和ppid的。的。对于大多数对于大多数UNIX平台,平台,pid+(ppid12)只有只有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_GenerateRand

    28、omBytes();challenge=RNG_GenerateRandomBytes();secret_key=RNG_GenerateRandomBytes();PRNG的启示的启示uPRNG并不是并不是SSL协议本身的缺陷,而是协议本身的缺陷,而是实现上导致的缺陷实现上导致的缺陷随机数对于安全协议或者安全系统的重要性随机数对于安全协议或者安全系统的重要性u源码开放的另一层含义源码开放的另一层含义关键的代码接受公众的审视关键的代码接受公众的审视Reference:Ian Goldberg and David Wagner,“Randomness and the Netscape Brows

    29、er”,January 1996 Dr.Dobbs Journal SSL:Million-messageattacku在在RSA算法作加密运算的时候,首先对明文消息算法作加密运算的时候,首先对明文消息进行编码,其格式为进行编码,其格式为 0 2 random bytes 0 messageu假设密文假设密文C,攻击者可以产生一系列整数攻击者可以产生一系列整数S并计算并计算C=C*(Se)modn,在解密的时候,每一个在解密的时候,每一个C对应于一个对应于一个M。大多数的大多数的M不会满足上面的格式,但是有不会满足上面的格式,但是有2-16的概率会产生的概率会产生这样的结果这样的结果(因为前两

    30、个字节是确定的因为前两个字节是确定的)。攻击者可以找到。攻击者可以找到一系列满足条件的一系列满足条件的S,然后推断出密文然后推断出密文C对应的明文对应的明文M。这这个过程大约需要个过程大约需要220个消息和应答。个消息和应答。u攻击实施依赖于攻击实施依赖于u需要一个可以提供解密准确性判断的服务器需要一个可以提供解密准确性判断的服务器称为称为oracleuSSL实现是否能够精确地告知明文格式不正确?实现是否能够精确地告知明文格式不正确?u只能得到一个消息的明文,无法得到私钥只能得到一个消息的明文,无法得到私钥MMA的启示的启示u实现实现SSL的时候的时候对待错误消息如何响应?对待错误消息如何响应

    31、?Contiune?会不会招致会不会招致DOS?返回精确的错误返回精确的错误充分利用明文模式充分利用明文模式随机数填充随机数填充References1 RFC 32182 Bleichenbacher 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.针对针对SSL的其他攻击的其他攻击uExportciphersanddistributedcr

    32、acking举例:举例:40位位RC4,http:/ Stallings,Cryptography and network security:principles and practice,Second Edition冯登国,计算机通信网络安全,清华大学出版社,2001David Chappell,Understanding Microsoft Windows 2000 Distributed Services,中文版(清华大学出版社,潘爱民译),2001u文章Ian Goldberg and David Wagner,“Randomness and the Netscape Browser”,January 1996 Dr.Dobbs JournalBleichenbacher 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.uWeb站点“SSL v3 spec”,http:/


    注意事项

    本文(网络与信息安全安全基础.ppt)为本站会员(星星)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922