什么是SSL,实现机制(证书)SSL是Secure Socket Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传ssl协议是指什么
输。Netscape公司在推出第⼀个Web浏览器的同时,提出了SSL协议标准,⽬前已有3.0版本。
SSL采⽤公开密钥技术。其⽬标是保证两个应⽤间通信的保密性和可靠性,可在服务器端和⽤户
端同时实现⽀持。⽬前,利⽤公开密钥技术的SSL协议,已成为Internet上保密通讯的⼯业标准。安全套接层协议能使⽤户/服务器应⽤之间的通信不被攻击者窃听,并且始终对服务器进⾏认证,还可选择对⽤户进⾏认证(客户端证书)。
SSL协议位于TCP/IP协议与各种应⽤层协议之间,为数据通讯提供安全⽀持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建⽴在可靠的传输协议(如TCP)之上,为⾼层协议提供数据封装、压缩、加密等基本功能的⽀持。 SSL握⼿协议
(SSL Handshake Protocol):它建⽴在SSL记录协议之上,⽤于在实际的数据传输开始前,通讯双⽅进⾏⾝份认证、协商加密算法、交换加密密钥等。
SSL安全性
SSL技术提供了⾝份认证服务,信息加密服务和数据的完整性服务等3项服务以达到⾼安全性。
1.⽤户和服务器的合法性认证
2.加密数据以隐藏被传送的数据
SSL协议所采⽤的加密技术既有对称密钥加密技术,也有⾮对称密钥加密技术。
3.保护数据的完整性
采⽤Hash函数和机密共享的⽅法来提供信息的完整新服务,建⽴客户机与服务器之间的安全通道,使所有经过SSL协议处理的业务在传输过程中能全部完整准确⽆误的到达⽬的地
通过以上叙述,SSL协议提供的安全信道有以下三个特性:
1.数据的保密性信息加密就是把明码的输⼊⽂件⽤加密算法转换成加密的⽂件以实现数据的保密。加密的过程需要⽤到密匙来加密数据然后再解密。没有了密钥,就⽆法解开加密的数据。数据加密之后,只有密匙要⽤⼀个安全的⽅法传送。加密过的数据可以公开地传送。
2.数据的⼀致性加密也能保证数据的⼀致性。例如:消息验证码(MAC),能够校验⽤户提供的加密信息,接收者可以⽤MAC来校验加密数据,保证数据在传输过程中没有被篡改过。
3.安全验证加密的另外⼀个⽤途是⽤来作为个⼈的标识,⽤户的密匙可以作为他的安全验证的标识。SSL是利⽤公开密钥的加密技术(RSA)来作为⽤户端与服务器端在传送机密资料时的加密通讯协定。
SSL使⽤HTTPS协议来对消息进⾏加密和签名,使⽤SSL证书来对服务进⾏⾝份验证。
实现机制
SSL安全机制是依靠数字证书来实现的。:⽤户与IIS服务器建⽴连接后,服务器会把数字证书与公⽤密钥发送给⽤户,⽤户端⽣成会话密钥,并⽤公共密钥对会话密钥进⾏加密,然后传递给服务器,服务器端⽤私⼈密钥进⾏解密,这样,⽤户端和服务器端就建⽴了⼀条安全通道,只有SSL允许的⽤户才能与IIS服务器进⾏通信。
具体过程如下:
1.Client Hello:客户端将其SSL版本号、加密设置参数、与session有关的数据以及其它⼀些必要信息(如加密算法和能⽀持的密钥⼤⼩)发送到服务器。
2.Server Hello:服务器将其SSL版本号、加密设置参数、与session有关的数据以及其它⼀些必要信息发送给客户端
3.Certificate(可选):服务器发⼀个证书或⼀个证书链到客户端,证书链开始于服务器公共钥匙并结束于证明权威的根证书。该证书⽤于向客户端确认服务器的⾝份,该消息是可选的。如果配置服务器的SSL需要验证服务器的⾝份,会发送该消息。多数电⼦商务应⽤都需要服务器端⾝份验证。
4.Certificate Request(可选):如果配置服务器的SSL需要验证⽤户⾝份,还要发出请求要求浏览器提供⽤户证书。多数电⼦商务不需要客户端⾝份验证,不过,在⽀付过程中经常需要客户端⾝份验证。
5.Server Key Exchange(可选):如果服务器发送的公共密钥对加密密钥的交换不是很合适,则发送⼀个服务器密钥交换消息。
6.ServerHelloDone:通知客户端,服务器已经完成了交流过程的初始化。
7.Certificate(可选):客户端发送客户端证书给服务器。仅当服务器请求客户端⾝份验证的时候会发送客户端证书
8.Client Key Exchange:客户端产⽣⼀个会话密钥与服务器共享。在SSL握⼿协议完成后,客户端与服务器端通信信息的加密就会使⽤该会话密钥。如果使⽤RSA加密算法,客户端将使⽤服务器的公钥将会话密钥之后再发送给服务器。服务器使⽤⾃⼰的私钥对接收的消息进⾏解密
得到共享的会话密钥。
9.Certificate Verify:如果服务器请求验证客户端,则这消息允许服务器完成验证过程。
10.Change cipher spec:客户端要求服务器在后续的通信中使⽤加密模式
11.Finished:客户端告诉服务器已经准备好安全通信了。
12.Change cipher spec:服务器要求客户端在后续的通信中使⽤加密模式
13.Finished:服务器告诉客户端它已经准备好安全通信了。SSL握⼿完成的标志
14.Encrypted Data:客户端和服务端在安全信道上进⾏加密信息的交流
当上述动作完成之后,两者的资料传送就会加密。发送时信息⽤会话密钥加密形成⼀个数据包A,对称密钥⽤⾮对称算法加密形成另⼀个数据包B,再把两个包⼀起发送。接收的过程域发送正好相反,先⽤⾮对称算法打开对称密钥的加密包B,获得会话密钥,然后再⽤会话密钥解密数据包A,获取发送过来的信息原⽂。会话密钥还被描述为对称密钥,或“共享秘密”。具有对称密钥很重要,因为它减少了事务双⽅所需执⾏的计算量。如果每个消息都要求对 Nonce 和哈希进⾏新的交换,那么性能将会下降。因此,SSL 的最终⽬标是使⽤允许消息在通信双⽅之间⾃由流动的对称密钥,同时具有更⾼程度的安全和效率。
HTTPS
HTTPS(Secure Hypertext Transfer Protocol)安全超⽂本传输协议
它是由Netscape开发并内置于其浏览器中,⽤于对数据进⾏压缩和解压操作,并返回⽹络上传送回的结果。HTTPS实际上应⽤了Netscape的完全套接字层(SSL)作为HTTP应⽤层的⼦层。(HTTPS使⽤端⼝443,⽽不是象HTTP那样使⽤端⼝80来和TCP/IP进⾏通信。)SSL 使⽤40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL⽀持使⽤X.509数字认证,如果需要的话⽤户可以确认发送者是谁。。
https是以安全为⽬标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加⼊SSL
层,https的安全基础是SSL。
它是⼀个URI scheme(抽象标识符体系),句法类同http:体系。⽤于安全的HTTP数据传输。https:URL表明它使⽤了HTTP,但HTTPS存在不同于HTTP的默认端⼝及⼀个加密/⾝份验证层(在HTTP与TCP之间)。这个系统的最初研发由⽹景公司进⾏,提供了⾝份验证与加密通讯⽅法,现在它被⼴泛⽤于万维⽹上安全敏感的通讯,例如交易⽀付⽅⾯。
限制
它的安全保护依赖浏览器的正确实现以及服务器软件、实际加密算法的⽀持.
⼀种常见的误解是“银⾏⽤户在线使⽤https:就能充分彻底保障他们的银⾏卡号不被偷窃。”实际上,与服务器的加密连接中能保护银⾏卡号的部分,只有⽤户到服务器之间的连接及服务器⾃⾝。并不能绝对确保服务器⾃⼰是安全的,这点甚⾄已被攻击者利⽤,常见例⼦是模仿银⾏域名的钓鱼攻击。少数罕见攻击在⽹站传输客户数据时发⽣,攻击者尝试窃听数据于传输中。
商业⽹站被⼈们期望迅速尽早引⼊新的特殊处理程序到⾦融⽹关,仅保留传输码(transaction number)。不过他们常常存储银⾏卡号在同⼀个数据库⾥。那些数据库和服务器少数情况有可能被未授权⽤户攻击和损害。
参考:
SSL
HTTP 传输安全
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论