`
cakin24
  • 浏览: 1328519 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

SSL协议之基础篇

阅读更多
一、密码学的相关概念
密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。
明文(plain text):发送人、接受人和任何访问消息的人都能理解的消息。
密文(cipher text):明文消息经过某种编码后,得到密文消息。
加密(encryption):将明文消息变成密文消息。
解密(decryption):将密文消息变成明文消息。
算法:取一个输入文本,产生一个输出文本。
加密算法:发送方进行加密的算法。
解密算法:接收方进行解密的算法。
密钥(key):只有发送方和接收方理解的消息
对称密钥加密(Symmetric Key Cryptography):加密与解密使用相同密钥。
非对称密钥加密(Asymmetric Key Cryptography):加密与解密使用不同密钥。
 
二 DES加密算法介绍
DES算法即数据加密标准,也称为数据加密算法。
在SSL中会用到分组DES、三重DES算法等加密算法对数据进行加密。当然可以选用其他非DES加密算法,视情况而定。
 
三、密钥交换算法之Diffie-Hellman
(1)Alice与Bob确定两个大素数p和g,这两个数不用保密
(2)Alice选择另一个大随机数a,并计算A如下:A=ga mod p
(3)Alice将A发给Bob
(4)Bob  选择另一个大随机数b,并计算B如下:B=gb mod p
(5)Bob将B发给Alice
(6)计算秘密密钥K1如下:K1=Ba mod p
(7)计算秘密密钥K2如下:K2=Ab mod p
 K1=K2,因此Alice和Bob可以用其进行加解密

1、通信方Alice和通信方Bob约定g=5,p=23,g和p是公开的
2、Alice生成一个随机数a,a是保密的,如a=6
3、Alice计算g^a%p发送给Bob,g^a%p=5^6%23=8
4、Bob生成一个随机数b,b是保密的,如b=15
5、Bob计算g^b%p发送给Alice,g^b%p=5^15%23=19
6、Alice接收到g^b%p后,再使用保密的a,计算(g^b%p)^a%p=19^6%23=2
7、Bob接收到g^a%p后,再使用保密的b,计算(g^a%p)^b%p=8^15%23=2
8、这样通信方Alice和Bob得到一个相同的密钥:2
 
四、密钥交换算法之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=CTD mod N 这也是SSL中会用一种密钥交换算法。

RSA算法中,素数P=7,Q=11,加密密钥E=7,计算解密密钥D
N=PQ=7*11=77
(P-1)(Q-1)=6*10=60
根据公式D*E ≡ 1 (mod (P-1)(Q-1))
又E=7,所以7*D ≡ 1 (mod 60),即 7D mod 60 = 1。
因为7x43=301,并且301除以6刚好余1.
所以D=43

下面是公式依据:
假设Alice想要通过一个不可靠的媒体接收Bob的一条私人讯息。她可以用以下的方式来产生一个公钥和一个私钥
1.随意选择两个大的质数P和Q,P不等于Q,计算N=PQ。
2.根据欧拉函数,不大于N且与N互质的整数个数为(P-1)(Q-1)
3.选择一个整数E与(P-1)(Q-1)互质,并且E小于(P-1)(Q-1)
4.用以下这个公式计算D:D*E ≡ 1 (mod (P-1)(Q-1))
5.将P和Q的记录销毁。
E是公钥,D是私钥。D是秘密的,而N是公众都知道的。Alice将她的公钥E传给Bob,而将她的私钥D藏起来。
 
五、散列算法
主要用于验证数据的完整性,即保证消息在发送之后和接收之前没有被篡改过,对于SSL中使用到的散列算法主要有MD5、SHA-1。
 
六、数字证书
数字证书其实就是一个小的计算机文件,其作用类似于我们的身份证、护照,用于证明身份,在SSL中,使用数字证书来证明自己的身份,而不是伪造的。
 
七、简单的小结
1、使用密钥交换算法交换密钥。
2、使用密钥对数据进行加密。
3、使用散列算法对数据的完整性进行验证。
4、使用数字证书证明自己的身份。
 
八、SSL介绍
安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保密。
SSL是Netscape于1994年开发的,后来成为了世界上最著名的web安全机制,所有主要的浏览器都支持SSL协议。
目前有三个版本:2、3、3.1,最常用的是第3版,是1995年发布的。
 
九、SSL协议的三个特性
保密:在握手协议中定义了会话密钥后,所有的消息都被加密。
鉴别:可选的客户端认证,和强制的服务器端认证。
完整性:传送的消息包括消息完整性检查(使用MAC)。
 
十、 SSL的位置
SSL介于应用层和TCP层之间。应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密,并增加自己的SSL头。

 
  • 大小: 98 KB
  • 大小: 6.3 KB
1
2
分享到:
评论

相关推荐

    JAVA加密与解密的艺术--第2版.rar

    全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、非...

    [Java加密与解密的艺术].梁栋.扫描版.pdf

     全书包含3个部分,基础篇对java企业级应用的安全知识、密码学核心知识、与java加密相关的api和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、...

    Java加密与解密的艺术配书源代码

    综合应用篇既细致地讲解了加密技术对数字证书和SSL/TLS协议的应用,又以示例的方式讲解了加密与解密技术在网络中的实际应用,极具实践指导性。Java开发者将通过本书掌握密码学和Java加密与解密技术的所有细节;系统...

    华为HCIE-Security培训视频汇总集【共6期90集】.rar

    31_ssl协议介绍 32_ssl_vpn功能介绍 33_ssl_vpn实验_web代理 34_ssl_vpn_端口转发和文件共享 35_ssl_vpn_网络扩展及其它特性演示 36_ssl_vpn_网络扩展及其它特性演示_补充知识 华为安全HCIE-第七门-Agile ...

    Java加密与解密的艺术

    全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、非...

    《 Java加密与解密的艺术-电子书-迷你版.pdf 》高清下载

    全书包含3 个部分,基础篇对Java 企业级应用的安全知识、密码学核心知识、与Java 加密相关的API 和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法...

    Java加密与解密的艺术-电子书-迷你版

     全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、...

    Java加密与解密的艺术 (带目录高清版)

    全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、非...

    Java加密与解密的艺术(清晰+书签+完整版).rar

    全书共12章,分为3个部分:基础篇(第1~4章)对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇(第5~9章)不仅对电子邮件传输算法...

    Java加密与解密的艺术 第二版(清晰+书签+完整版).pdf

    《Java加密与解密的艺术(第2版)》共12章,分为3个部分:基础篇(第1~4章)对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇(第5...

    Java加密与解密的艺术.mobi

    全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、非...

    FEBlog:积累前端相关的文章,向高级前端出发

    深入TLS/SSL协议 使用wireSharp分析TLS握手过程 URI与URL傻傻分不清楚? Vue 简述VUE的响应式原理 抽丝剥茧般的阅读源码,将$nextTick()拉下神坛! 挖掘隐藏在源码中的Vue技巧! 分享:使用vue2.0开发移动端应用时...

Global site tag (gtag.js) - Google Analytics