网络安全协议传输层安全课件_第1页
网络安全协议传输层安全课件_第2页
网络安全协议传输层安全课件_第3页
网络安全协议传输层安全课件_第4页
网络安全协议传输层安全课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

可编辑Internet安全体系-传输层安全1可编辑传输层安全-SSL/TLS协议协议的目标设计用来使用TCP提供一个可靠的端到端安全服务,为两个通讯实体(客户和服务器)之间提供保密性和完整性(身份鉴别).2可编辑传输层安全-SSL/TLS协议协议的使用SSL/TLS可以作为基本协议族的一个部分提供,对应用程序透明。3可编辑传输层安全-SSL/TLS协议协议的使用4可编辑传输层安全-SSL/TLS协议SSL/TLS发展历史1994年,Netscape公司发布了SSL2.0协议微软在SSL2.0基础上发布了PCT协议1996年,Netscape公司发布了SSL3.0协议1997年,IETF基于SSL3.0发布了TLS1.0协议微软放弃PCT,开始支持TLS标准1999年,RFC2246发布(TLS协议1.0)5可编辑传输层安全-SSL/TLS协议SSL体系结构协议分为两层底层:SSL记录协议上层:SSL握手协议、SSL更改密码规范协议、SSL警告协议IP协议TCP协议SSL记录协议SSL握手协议SSL更改密码规范协议SSL警告协议HTTP协议6可编辑传输层安全-SSL/TLS协议两个主要的协议SSL记录协议建立在可靠的传输协议(如TCP)之上它提供连接安全性,有两个特点保密性,使用了对称加密算法完整性,使用了HMAC算法用来封装高层的协议SSL握手协议客户和服务器之间相互鉴别协商加密算法和密钥它提供连接安全性,有三个特点身份鉴别,至少对一方实现鉴别,也可以是双向鉴别协商得到的共享密钥是安全的,中间人不能够知道协商过程是可靠的7可编辑传输层安全-SSL/TLS协议更改密码规范协议由单个字节组成,告知记录层按照当前密码规范中所指定的方式进行加密和压缩。8可编辑传输层安全-SSL/TLS协议警告协议警告协议将警告信息已经严重程度传递给TLS会话中的主体。每个消息由两个字节组成。警告级别1为警告2为致命的警告特定警告的代码若一方检测到一个错误,就向另一方发送消息。若是致命的,双方关闭连接。9可编辑传输层安全-SSL/TLS协议致命警告unexpected_message:收到意外消息bad_record_mac:收到不正确的mac.decomression_failure:解压缩函数收到不适当的输入(例如不能解压缩或解压缩成大于最多允许的长度)handshake_failure:指定的选项可用时,发送者不能协商可接受的安全参数集合10可编辑传输层安全-SSL/TLS协议其余警告:Close_notify:通知接收方不再通过该连接发送任何消息No_certificate:没有适当的证书可用。Unsupported_certificate:收到证书类型不支持Certificate_expiredCertificate_revoked11可编辑传输层安全-SSL/TLS协议SSL的两个重要概念SSL连接(connection)一个连接是一个提供一种合适类型服务的传输(OSI分层的定义)SSL会话(session)一个SSL会话是在客户和服务器的一个关联。会话由HandshakeProtocol创建。会话定义了一组可供多个连接共享的密码安全参数会话用以避免为每一个连接提供新的安全参数所需昂贵的协商代价12可编辑传输层安全-SSL/TLS协议会话状态有多个状态与每一个会话相关联一旦一个会话建立,就存在一个读或写的当前状态13可编辑传输层安全-SSL/TLS协议会话状态参数Sessionidentifier:服务器选择的一个任意字节序列,用以标识一个活动的或可激活的会话状态PeerCertificate:一个X.509.v3证书。可为空Compressionmethod:加密前进行数据压缩的算法Cipherspec:指明数据体加密的算法(无,或DES等)以及散列算法(如MD5或SHA-1)用以计算MAC。还包括其它参数,如散列长度Mastersecret:48位秘密,在client与server之间共享。Isresumable:一个标志,指明该会话是否能用于产生一个新连接14可编辑SSL记录协议

SSLRecordProtocol15可编辑传输层安全-SSL/TLS协议SSLRecordProtocolSSLRecordProtocol为SSL连接提供两种服务保密性。HandshakeProtocol定义一个共享的保密密钥用于对SSL有效载荷加密。消息完整性。HandshakeProtocol定义一个共享的保密密钥用于形成MAC。16可编辑传输层安全-SSL/TLS协议应用数据分片压缩增加MAC加密增加SSL记录头17可编辑传输层安全-SSL/TLS协议SSL记录协议中的操作第一步,fragmentation上层消息的数据被分片成214(16384)字节大小的块,或者更小第二步,compression(可选)必须是无损压缩,如果数据增加的话,则增加部分的长度不超过1024字节18可编辑传输层安全-SSL/TLS协议第三步,MAC计算:使用共享的密钥MAC_write_secrethash(MAC_write_seret||pad_2||hash(MAC_write_secret||pad_1||seq_num||SSLCompressed.type||SSLCompressed.length||SSLCompressed.fragment))19可编辑传输层安全-SSL/TLS协议第四步,加密,可供选择的加密算法:BlockCipherIDEA128、RC2-4040、DES-4040、DES56、3DES168、Fortezza80StreamCipherRC-4040、RC4-128128采用CBC,算法由cipherspec指定数据长度不超过214+2048字节,包括IV,初始协商指定,以后,前后记录连接起来说明:如果是流密码算法,则不需要padding20可编辑第五步:封装成TCP数据包21可编辑传输层安全-SSL/TLS协议SSL记录格式22可编辑传输层安全-SSL/TLS协议SSL记录格式ContentType;——8位,上层协议类型Majorversion;Minnorversion——16位,主次版本压缩长度:16位—加密后数据的长度,不超过214+2048字节EncryptedDatafragment;——密文数据23可编辑传输层安全-SSL/TLS协议SSL的有效载荷ChangeCipherSpecProtocol1字节一字节值为1,用以将挂起状态转至当前状态,导致当前加密处理包用于该连接。AlertProtocol2字节[LevelAlert]Level=1(warning),Level=2(fatal),SSL将立即关闭本连接,本会话的其它连接可以继续,但不能创建新连接。Alert=具体警告编码;如:(均为fatal的警告内容)unexpected_message、bad_record_mac24可编辑传输层安全-SSL/TLS协议SSL的有效载荷HandshakeProtocol25可编辑传输层安全-SSL/TLS协议SSL握手协议的流程26可编辑传输层安全-SSL/TLS协议SSL握手协议的流程交换Hello消息,对于算法、交换随机值等协商一致交换必要的密码参数,以便双方得到统一的premastersecret交换证书和相应的密码信息,以便进行身份认证产生mastersecret把安全参数提供给SSL记录层检验双方是否已经获得同样的安全参数27可编辑传输层安全-SSL/TLS协议SSL握手协议使用的消息消息参数hello_requestNullclient_hello版本,随机数,会话id,密码参数,压缩方法server_hellocertificateX.509v3证书链server_key_exchange参数,签名certificate_request类型,CAsserver_doneNullcertificate_verify签名client_key_exchange参数,签名finishedHash值28可编辑传输层安全-SSL/TLS协议第一阶段:建立起安全协商客户发送一个client_hello消息,包括以下参数:版本、随机数(32位时间戳+28字节随机序列)、会话ID、客户支持的密码算法列表(CipherSuite)、客户支持的压缩方法列表然后,客户等待服务器的server_hello消息服务器发送server_hello消息,参数:客户建议的低版本以及服务器支持的最高版本、服务器产生的随机数、会话ID、服务器从客户建议的密码算法中挑出一套、服务器从客户建议的压缩方法中挑出一个29可编辑传输层安全-SSL/TLS协议第一阶段:建立起安全协商30可编辑传输层安全-SSL/TLS协议第二阶段:服务器鉴别和密钥交换31可编辑传输层安全-SSL/TLS协议第三阶段:客户鉴别和密钥交换32可编辑第四阶段:结束33可编辑传输层安全-SSL/TLS协议密钥交换算法SSL记录协议需要:CipherSuite,mastersecret,andtheclientandserverrandomvalues在hello消息中,交换随机数以及各种算法两类密钥交换算法:RSA,客户产生一个48字节的pre_master_secret,然后通过服务器的公钥传递给服务器Diffie-Hellman,双方协商得到的密钥被用作pre_master_secret对于各种密钥交换算法,从pre_master_secret计算得到master_secret,然后从内存中删除Master_secret总是48字节长,而pre_master_secret长度不定,取决于密钥交换算法34可编辑传输层安全-SSL/TLS协议Master_secret的产生对于所有的密钥交换算法,使用相同的算法将pre_master_secret转换master_secret。master_secret=PRF(pre_master_secret,"mastersecret",ClientHello.random‖ServerHello.random)[0..47];35可编辑传输层安全-SSL/TLS协议伪随机函数PRF(secretlabel,seed)PRF(secret,label,seed)=P_MD5(S1,label‖seed)XORP_SHA-1(S2,label‖seed)这里,S1和S2为secret的各一半,如果secret为奇数个字节,则S1和S2共享一个字节36可编辑传输层安全-SSL/TLS协议伪随机函数PRF(secretlabel,seed)P_hash(secret,seed)=HMAC_hash(secret,A(1)‖seed)HMAC_hash(secret,A(2)‖seed)HMAC_hash(secret,A(3)‖seed)‖...A(0)=seed,A(i)=HMAC_hash(secret,A(i-1))

可以多次重复使用P_hash,直到产生足够长的数据。37可编辑传输层安全-SSL/TLS协议密钥材料的生成算法客户写MAC密码,服务器写MAC密码,客户写密钥,服务器写密钥,客户写IV,服务器写IV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论