SSL协议的工作原理图解安全套接字.docx

上传人:lao****ou 文档编号:406605 上传时间:2023-10-25 格式:DOCX 页数:16 大小:376.65KB
下载 相关 举报
SSL协议的工作原理图解安全套接字.docx_第1页
第1页 / 共16页
SSL协议的工作原理图解安全套接字.docx_第2页
第2页 / 共16页
SSL协议的工作原理图解安全套接字.docx_第3页
第3页 / 共16页
SSL协议的工作原理图解安全套接字.docx_第4页
第4页 / 共16页
SSL协议的工作原理图解安全套接字.docx_第5页
第5页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《SSL协议的工作原理图解安全套接字.docx》由会员分享,可在线阅读,更多相关《SSL协议的工作原理图解安全套接字.docx(16页珍藏版)》请在第一文库网上搜索。

1、SS1合同的工作原理图解安全套接字SS1合同的工作原理1、密码学时有关概念密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。明文(P1aintext):发送人、接受人和任何访问消息的人都能理解的消息。密文(ciphertext):明文消息通过某种编码后,得到密文消息。加密(encryption):将明文消息变成密文消息。解密(decryption):将密文消息变成明文消息。算法:取一种输入文本,产生一种输出文本。加密算法:发送方进行加密的算法。解密算法:接受方进行解密的算法。密钥(key):只有发送方和接受方理解的消息对称密钥加密(SymmetricKeyCr

2、yptogrophy):加密与解密使用相似密钥。非对称密钥加密(ASymmetricKeyCryptogrphy):加密与解密使用不同密钥。2、有关的加密算法简介DES算法即数据加密原则,也称为数据加密算法。加密过程如下:步骤I步骤2步骤3步骤4步骤5W6在SS1中会用到分组DES、三重DES算法等加密算法对数据进行加密。固然可以选用其他非DES加密算法,视状况而定,背面会具体简介。3、密钥互换算法使用对称加密算法时,密钥互换是个大难题,因此Divie和HeIIman提出了出名的Diffie-He11ma密钥互换算法。Diffie-He11man密钥互换算法原理:(I)AIiCe与Bob拟定两

3、个大素数n和g,这两个数不用保密(2)AIiCe选择另一种大随机数X,并计算A如下:A=gxmodn(3)A1ice将A发给Bob(4)BOb选择另一种大随机数y,并计算B如下:B=gymodn(5)Bob将B发给A1iCe(6)计算秘密密钥K1如下:K1=Bxmodn(7)计算秘密密钥K2如下:K2=AymodnK1=K2,因此A1iCe和BOb可以用其进行加解密RSA加密算法是基于这样的数学事实:两个大素数相乘容易,而对得到的乘积求因子则很难。加密过程如下:(1)选择两个大素数P、Q(2)计算N=P*Q(3)选择一种公钥(加密密钥正,使其不是(P-I)与(Q-I)的因子(4)选择私钥(解密

4、密钥)D,满足如下条件:(D*E)mod(P-I)(Q-1)=1(5)加密时,明文PT计算密文CT如下:CT=PTEmodN(6)解密时,从密文CT计算明文PT如下:PT=CTDmodN这也是SS1中会用一种密钥互换算法。A3、散列算法:重要用于验证数据的完整性,即保证时消息在发送之后和接受之前没有被篡改对于SS1中使用到的散列算法有MD5、SHA-14、数字证书:数字证书其实就是一种小时计算机文献,其作用类似于我们的身份证、护照,用于证明身份,在SS1中,使用数字证书来证明自己的身份,而不是伪造时。5、简朴的总结:在SS1中会使用密钥互换算法互换密钥;使用密钥对数据进行加密;使用散列算法对数

5、据的完整性进行验证,使用数字证书证明自己的身份。好了,下面开始简介SS1合同。SS1简介:安全套接字(SeeUrSocket1cIyer,SS1)合同是Web浏览器与Web服务器之间安全互换信息的合同,提供两个基本的安全服务:鉴别与保密。SS1是NetSCQPe于1994年开发的,后来成为了世界上最出名的Web安全机制,所有重要的浏览器都支持SS1合同。目前有三个版本:2、3、3.1,最常用的是第3版,是1995年发布叽SS1合同的三个特性 保密:在握手合同中定义了会话密钥后,所有的消息都被加密。 鉴别:可选的客户端认证,和强制的服务器端认证。 完整性:传送的消息涉及消息完整性检查(使用MAC

6、)。SS1的位置SS1介于应用层和TCP层之间。应用层数据不再直接传递给传播层,而是传递给SS1层,SS1层对从应用层收到的数据进行加密,并增长自己的SS1头。应用层SS1的工作原理握手合同(HondshakeprotocoI)记录合同(ReCordprotoeoI)警报合同(A1ertprotoco1)1、握手合同握手合同是客户机和服务器用SS1连接通信时使用的第一种子合同,握手合同涉及客户机与服务器之间的一系列消息。SS1中最复杂的合同就是握手合同。该合同容许服务器和客户机互相验证,协商加密和MAC算法以及保密密钥,用来保护在SS1记录中发送时数据。握手合同是在应用程序的数据传播之前使用时

7、。每个握手合同涉及如下3个字段(1)Type:表达10种消息类型之一(2)1ength:表达消息长度字节数(3)Content:与消息有关的参数1byte3bytes0bytes1engthContent脚本之家JS1.NCT握手合同的4个阶段具体出处参照:.i建立安全能力SS1握手的第一阶段启动逻辑连接,建立这个连接的安全能力。一方面客户机向服务器发出cIienthe11o消息并等待服务器响应,随后服务器向客户机返回serverhe11o消息,对CIienthe11o消息中的信息进行确认。C1ienthe11o消息涉及VersiozRdomzSessionid,CiphersuitezCom

8、pressionmethod等信息。客户图1714握手孙汉的阶段I脚本之家JMt*CIientHeIIo客户发送Ci1entHeIIo信息,涉及如下内容:(1)客户端可以支持的SS1最高版本号(2)一种用于生成主秘密的32字节时随机数。(等会简介主秘密是什么)(3)一种拟定会话的会话ID.(4)一种客户端可以支持的密码套件列表。密码套件格式:每个套件都以“SS1”开头,紧跟着的是密钥互换算法。用“Withw这个词把密钥互换算法、加密算法、散列算法分开,例如:SS1_DHE_RSA_WITH_DES_CBC_SHAz表达把DHE_RSA(带有RSA数字签名的临时Diffie-HeIIM)定义为密

9、钥互换算法;把DES_CBC定义为加密算法;把SHA定义为散列算法。(5)一种客户端可以支持的压缩算法列表。ServerHeIIo服务器用ServerHeIIo信息应答客户,涉及下列内容(1)一种SS1版本号。取客户端支持的最高版本号和服务端支持的最高版本号中的较低者。(2)一种用于生成主秘密的32字节时随机数。(客户端一种、服务端一种)(3)会话ID(4)从客户端的密码套件列表中选择的一种密码套件(5)从客户端的压缩措施时列表中选择的压缩措施这个阶段之后,客户端服务端懂得了下列内容:(1)SS1版本(2)密钥互换、信息验证和加密算法(3)压缩措施(4)有关密钥生成的两个随机数。1.2服务器鉴

10、别与密钥互换服务器启动sS1握手第2阶段,是本阶段所有消息时唯一发送方,客户机是所有消息的唯一接受方。该阶段分为4步:(Q)证书:服务器将数字证书和到根CA整个链发给客户端,使客户端能用服务器证书中的服务器公钥认证服务器。(b)服务器密钥互换(可选):这里视密钥互换算法而定(C)证书祈求:服务端也许会规定客户自身进行验证。(d)服务器握手完毕:第二阶段的结束,第三阶段开始的信号阶段服务H密仍交换厦务器公1正打请求母接受注书升我可接受验证列衣ScrvcrKcUoDooc无内容这里重点简介一下服务端的验证和密钥互换。这个阶段的前面的(Q)证书和(b)服务器密钥互换是基于密钥互换措施时。而在SS1中

11、密钥互换算法有6种:无效(没有密钥互换)、RSA,匿名Diffie-HeIImQn、临时Diffie-He11mx固定Diffie-HeI1mQn、FortezZa.在阶段1过程客户端与服务端协商的过程中已经拟定使哪种密钥互换算法。如果协商过程中拟定使用RSA互换密钥,那么过程如下图:?i11:IiI11RSAEnCYCrtJ无服务器褥仇交换it.RSAW:1521这个措施中,服务器在它的第一种信息中,发送了RSA加密/解密公钥证书。但是,由于预备主秘密是由客户端在下一种阶段生成并发送的,因此第二个信息是空的。注意,公钥证书会进行从服务器到客户端时验证。当服务器收到预备主秘密时,它使用私钥进行

12、解密。服务端拥有私钥是一种证据,可以证明服务器是一种它在第一种信息发送的公钥证书中规定的实体。其他的几种密钥互换算法这里就不简介了。可以参照BehrOUZA.Forouzan著的密码学与网络安全。1.3客户机鉴别与密钥互换:图17/7握手协议的阶段In脚本之家客户机启动SS1握手第3阶段,是本阶段所有消息时唯一发送方,服务器是所有消息的唯一接受方。该阶段分为3步:(Q)证书(可选):为了对服务器证明自身,客户要发送一种证书信息,这是可选时,在HS中可以配备强制客户端证书认证。(b)客户机密钥互换(Pre-mster-secret):这里客户端将预备主密钥发送给服务端,注意这里会使用服务端的公钥

13、进行加密。(c)证书验证(可选),对预备秘密和随机数进行签名,证明拥有(Q)证书的公钥。下面也重点简介一下RSA方式的客户端验证和密钥互换。S令I用服务器公钥S加密Sigc:用客户公钥签名*预备主秘密无证书客户密钥交换a.RSA证书这种状况,除非服务器在阶段I1明确祈求,否则没有证书信息。客户端密钥互换措施涉及阶段I1收到时由RSA公钥加密时预备主密钥。阶段III之后,客户要有服务器进行验证,客户和服务器都懂得预备主密钥。1.4完毕屡务2S图I719握手协议的阶段IV脚本之家I,客户机启动SS1握手第4阶段,使服务器结束。该阶段分为4步,前2个消息来自客户机,后2个消息来自服务器。1.5密钥生

14、成的过程这样握手合同完毕,下面看下什么是预备主密钥,主密钥是怎么生成的。为了保证信息的完整性和机密性SS1需要有六个加密秘密:四个密钥和两个M为了信息的可信性,客户端需要一种密钥(HMAC),为了加密要有一种密钥,为了分组加密要一种IV,服务也是如此。SS1需要的密钥是单向的,不同于那些在其他方向的密钥。如果在一种方向上有袭击,这种袭击在其他方向是没影响时。生成过程如下:QTFIPMJcrsr卜BBIPMICrsrIPMIcrsr图17.8从预笛在秘密计算主秘密CRt客户随机数富例MN图17-9从匕极楮计力密例材料4:2、记录合同记录合同在客户机和服务器握手成功后使用,即客户机和服务器鉴别对方

15、和拟定安全信息互换使用的算法后,进入SS1记录合同,记录合同向SS1连接提供两个服务:(1)保密性:使用握手合同定义的秘密密钥实现(2)完整性:握手合同定义了MAC,用于保证消息完整性记录合同的过程:应用数据分段压缩添加MAC加密附加SS1记录报头内容费I熊本次版本I住MAQO.16,20TH)K6.2I6MSS1e*WiZ*fVRt脚本之家MBT3、警报合同客户机和服务器发现错误时,向对方发送一种警报消息。如果是致命错误,则算法立即关闭SS1连接,双方还会先删除有关的会话号,秘密和密钥。每个警报消息共2个字节,第1个字节表达错误类型,如果是警报,则值为1,如果是致命错误,则值为2;第2个字节制定实际错误类型。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

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



客服