赞
踩
1.SSL协议:Web浏览器与Web服务器之间安全交换信息的协议。
2…SSL协议握手过程:(单向认证)
握手阶段分成五步:
第一步,客户端给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。
第二步,服务器确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数(Server random),服务器的公钥。
第三步,客户端确认数字证书有效,然后生成一个预主密钥(Premaster secret),并使用数字证书中的公钥,加密这个预主密钥,发给服务端。
第四步,服务端使用自己的私钥,获取客户端发来的预主密钥(即Premaster secret)。
第五步,客户端和服务端根据约定的加密方法,使用前面的三个随机数,生成"对话密钥"(session key),用来加密接下来的整个对话过程。
3.双向认证 SSL 协议要求服务器和用户双方都有证书。单向认证 SSL 协议不需要客户拥有CA证书
SSL双向认证:
第一步,客户端给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。
第二步,服务器确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数(Server random),服务器的公钥,服务器要求客户端提供证书。
第三步,客户端确认数字证书有效,然后生成一个预主密钥(Premaster secret),并使用数字证书中的公钥,加密这个预主密钥,发给服务端。还会发送客户端证书和客户端公钥。
第四步,服务端确认数字证书有效,服务端使用自己的私钥,解开客户端发来的预主密钥(即Premaster secret)。
第五步,客户端和服务端根据约定的加密方法,使用前面的三个随机数,生成"对话密钥"(session key),用来加密接下来的整个对话过程。
4.SSL协议的三个特性
① 保密:在握手协议中定义了会话密钥后,所有的消息都被加密。
② 鉴别:可选的客户端认证,和强制的服务器端认证。
③ 完整性:传送的消息包括消息完整性检查(使用MAC)。
5.SSL的单向认证和双向认证的区别:
1、安全性不同:
单向认证只要求站点部署了ssl证书就行,任何用户都可以去访问(IP被限制除外等),只是服务端提供了身份认证。而双向认证则是需要是服务端需要客户端提供身份认证,只能是服务端允许的客户能去访问,安全性相对于要高一些。
2、用途不同:
一般Web应用都是采用单向认证的,原因很简单,用户数目广泛,且无需做在通讯层做用户身份验证,一般都在应用逻辑层来保证用户的合法登入。但如果是企业应用对接,情况就不一样,可能会要求对客户端(相对而言)做身份验证。这时就需要做双向认证。
3、要求不同:
双向认证SSL 协议的具体通讯过程,这种情况要求服务器和客户端双方都有证书。 单向认证SSL 协议不需要客户端拥有CA证书,以及在协商对称密码方案,对称通话密钥时,服务器发送给客户端的是没有加过密的(这并不影响SSL过程的安全性)密码方案。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。