SSL详解.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
SSL详解

SSL详解密码学相关概念密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。明文(plain text):发送人、接受人和任何访问消息的人都能理解的消息。密文(cipher text):明文消息经过某种编码后,得到密文消息。加密(encryption):将明文消息变成密文消息。解密(decryption):将密文消息变成明文消息。算法:取一个输入文本,产生一个输出文本。加密算法:发送方进行加密的算法。解密算法:接收方进行解密的算法。密钥(key):只有发送方和接收方理解的消息对称密钥加密(Symmetric Key Cryptography):加密与解密使用相同密钥。非对称密钥加密(Asymmetric Key Cryptography):加密与解密使用不同密钥。相关的加密算法介绍DES算法即数据加密标准,也称为数据加密算法。加密过程如下:在SSL中会用到分组DES、三重DES算法等加密算法对数据进行加密。当然可以选用其他非DES加密算法,视情况而定,后面会详细介绍密钥交换算法使用对称加密算法时,密钥交换是个大难题,所以Diffie和Hellman提出了著名的Diffie-Hellman密钥交换算法。 Diffie-Hellman密钥交换算法原理:(1)Alice与Bob确定两个大素数n和g,这两个数不用保密(2)Alice选择另一个大随机数x,并计算A如下:A=gx mod n(3)Alice将A发给Bob(4)Bob选择另一个大随机数y,并计算B如下:B=gy mod n(5)Bob将B发给Alice(6)计算秘密密钥K1如下:K1=Bx mod n(7)计算秘密密钥K2如下:K2=Ay mod nK1=K2,因此Alice和Bob可以用其进行加解密 RSA加密算法是基于这样的数学事实:两个大素数相乘容易,而对得到的乘积求因子则很难。加密过程如下:(1)选择两个大素数P、Q(2)计算N=P*Q(3)选择一个公钥(加密密钥)E,使其不是(P-1)与(Q-1)的因子(4)选择私钥(解密密钥)D,满足如下条件: (D*E) mod (P-1)(Q-1)=1(5)加密时,明文PT计算密文CT如下: CT=PTE mod N(6)解密时,从密文CT计算明文PT如下: PT=CTDmodN 这也是SSL中会用一种密钥交换算法。 散列算法:主要用于验证数据的完整性,即保证时消息在发送之后和接收之前没有被篡改对于SSL中使用到的散列算法有MD5、SHA-1数字证书:数字证书其实就是一个小的计算机文件,其作用类似于我们的身份证、护照,用于证明身份,在SSL中,使用数字证书来证明自己的身份,而不是伪造的简单的总结:在SSL中会使用密钥交换算法交换密钥;使用密钥对数据进行加密;使用散列算法对数据的完整性进行验证,使用数字证书证明自己的身份。好了,下面开始介绍SSL协议SSL介绍:安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保密。 SSL是Netscape于1994年开发的,后来成为了世界上最著名的web安全机制,所有主要的浏览器都支持SSL协议。SSL协议的三个特性① 保密:在握手协议中定义了会话密钥后,所有的消息都被加密。② 鉴别:可选的客户端认证,和强制的服务器端认证。③ 完整性:传送的消息包括消息完整性检查(使用MAC)。SSL的位置SSL介于应用层和TCP层之间。应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密,并增加自己的SSL头。SSL的工作原理握手协议(Handshake protocol)记录协议(Record protocol)警报协议(Alert protocol)握手协议握手协议是客户机和服务器用SSL连接通信时使用的第一个子协议,握手协议包括客户机与服务器之间的一系列消息。SSL中最复杂的协议就是握手协议。该协议允许服务器和客户机相互验证,协商加密和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据。握手协议是在应用程序的数据传输之前使用的。每个握手协议包含以下3个字段 (1)Type:表示10种消息类型之一 (2)Length:表示消息长度字节数 (3)Content:与消息相关的参数握手协议的4个阶段1.1 建立安全能力SSL握手的第一阶段启动逻辑连接,建立这个连接的安全能力。首先客户机向服务器发出client hello消息并等待服务器响应,随后服务器向客户机返回server hello消息,对client hello消息中的信息进行确认。Client hello消息包括Version,Random,Session id,Cipher s

您可能关注的文档

文档评论(0)

bodkd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体肖**

1亿VIP精品文档

相关文档

相关课程推荐