SSL工作原理是什么?
TLS/SSL的功能实现主要依赖于三类基本算法:散列函数 Hash、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。
解决上述身份验证问题的关键是确保获取的公钥途径是合法的,能够验证服务器的身份信息,为此需要引入权威的第三方机构CA。CA 负责核实公钥的拥有者的信息,并颁发认证"证书",同时能够为使用者提供证书验证服务,即PKI体系。
基本的原理为,CA负责审核信息,然后对关键信息利用私钥进行"签名",公开对应的公钥,客户端可以利用公钥验证签名。CA也可以吊销已经签发的证书,基本的方式包括两类 CRL 文件和 OCSP。CA使用具体的流程如下:
请问SSL证书的原理是什么,谁能介绍下
SSL证书的工作原理:
客户端向服务器请求HTTPS连接
客户端向服务器传送客户端SSL协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息。
服务器确认并返回证书
服务器向客户端传送SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。
客户端验证服务器发来的证书
客户端利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果验证通过,将继续进行。
信息验证通过,客户端生成随机密钥A,用公钥加密后发给服务器
从第③步验证过的证书里面可以拿到服务器的公钥,客户端生成的随机密钥就使用这个公钥来加密,加密之后,只有拥有该服务器(持有私钥)才能解密出来,保证安全。
服务器用私钥解密出随机密钥A,以后通信就用这个随机密钥A来对通信进行加密
这个握手过程并没有将验证客户端身份的逻辑加进去。因为在大多数的情况下,HTTPS只是验证服务器的身份而已。如果要验证客户端的身份,需要客户端拥有证书,在握手时发送证书,而这个证书是需要成本的。
数字证书(SSL)的工作原理?
SSL连接始终由客户端启动。在SSL会话开始时,将执行SSL握手。此握手生成会话的加密参数。
解释原因:
客户端提交https请求
服务器响应客户,并把证书公钥发给客户端
客户端验证证书公钥的有效性
有效后,会生成一个会话密钥
用证书公钥加密这个会话密钥后,发送给服务器
服务器收到公钥加密的会话密钥后,用私钥解密,回去会话密钥
客户端与服务器双方利用这个会话密钥加密要传输的数据进行通信
请点击输入图片描述
解决办法:Gworg获得SSL证书。
SSL证书的工作原理
随着电子商务和网上银行等应用的兴起,极大地方便了人们的日常生活,受到人们的青睐。
因为这些应用都需要在网络上进行在线交易,它们对网络通信的安全性提出了更高的要求。传统的HTTP协议不具备安全机制——采用明文的形式数据传输、不能验证通信两方的身份、无法防止传输的数据被篡改等,导致HTTP无法满足电子商务和网上银行等应用的安全性要求。
Netscape公司提出的安全协议SSL,利用数据加密、身份验证和消息完整性验证机制,为网络上数据的传输提供安全性保证。可确保数据在网络上之传输过程中不会被截取及窃听。
SSL具有以下 作用
1.提供较高的安全性保证
SSL利用数据加密、身份验证和消息完整性验证机制。保证网络上传输数据的安全性。
2.支持各种应用层协议
尽管SSL设计的初衷是为了解决万维网安全性问题,可是因为SSL位于应用层和传输层之间。它能够为各种基于TCP等可靠连接的应用层协议提供安全性保证。
3.部署简单
目前SSL已经成为网络中用来鉴别站点和网页浏览者身份,在浏览器使用者及Webrver之间进行加密通信的全球化标准。SSL协议已被集成到大部分的浏览器中,如IE、Netscape、Firefox等。这就意味着随意一台装有浏览器的计算机都支持SSL连接。不须要安装额外的client软件。
SSL协议实现的安全 机制
传输数据的机密性:网络上传输的数据非常容易被非法用户窃取,SSL采用在通信两方之间建立加密通道的方法保证传输数据的机密性。
身份验证机制:电子商务和网上银行等应用中必须保证要登录的Webrver是真实的,以免重要信息被非法窃取。SSL利用数字签名来验证通信对端的身份。
非对称密钥算法能够用来实现数字签名。因为通过私钥加密后的数据仅仅能利用相应的公钥进行解密,因此依据解密是否成功,就能够推断发送者的身份。如同发送者对数据进行了“签名”。比如。Alice使用自己的私钥对一段固定的信息加密后发给Bob,Bob利用Alice的公钥解密,假设解密结果与固定信息同样。那么就能够确认信息的发送者为Alice,这个过程就称为数字签名。
SSLclient必须验证SSLrver的身份,SSLrver是否验证SSLclient的身份。则由SSLrver决定。
使用数字签名验证身份时。须要确保被验证者的公钥是真实的,否则。非法用户可能会冒充被验证者与验证者通信。如图1所看到的。Cindy冒充Bob,将自己的公钥发给Alice,并利用自己的私钥计算出签名发送给Alice,Alice利用“Bob”的公钥(实际上为Cindy的公钥)成功验证该签名,则Alice觉得Bob的身份验证成功,而实际上与Alice通信的是冒充Bob的Cindy。SSL利用PKI提供的机制保证公钥的真实性。
消息完整性验证:为了避免网络中传输的数据被非法篡改,SSL利用基于MD5或SHA的MAC算法来保证消息的完整性。
MAC算法是在密钥参与下的数据摘要算法,能将密钥和随意长度的数据转换为固定长度的数据。利用MAC算法验证消息完整性的过程如图所示。
发送者在密钥的参与下,利用MAC算法计算出消息的MAC值。并将其加在消息之后发送给接收者。接收者利用相同的密钥和MAC算法计算出消息的MAC值。并与接收到的MAC值比较。假设二者相同。则报文没有改变;否则,报文在传输过程中被改动,接收者将丢弃该报文。
典型组网 应用
HTTPS是基于SSL安全连接的HTTP协议。HTTPS通过SSL提供的数据加密、身份验证和消息完整性验证等安全机制。为Web访问提供了安全性保证,广泛应用于网上银行、电子商务等领域。
下图为HTTPS在网上银行中的应用。某银行为了方便客户,提供了网上银行业务,客户能够通过访问银行的Webrver进行帐户查询、转帐等。
通过在客户和银行的Webrver之间建立SSL连接,能够保证客户的信息不被非法窃取。
SSL 是如何工作的?
SSL的工作原理:当一个使用者在Web上用Netscape浏览器漫游时,浏览器利用HTTP协议与Web服务器沟通。例如,浏览器发出一个HTTP GET命令给服务器,想下载一个首页的HTML档案,而服务器会将档案的内容传送给浏览器来响应。GET这个命令的文字和HTML档案的文字会通过会话层(Socket)的连接来传送,Socket使两台远程的计算机能利用Internet来通话。通过SSL,资料在传送出去之前就自动被加密了,它会在接收端被解密。对没有解密钥的人来说,其中的资料是无法阅读的。
SSL采用TCP作为传输协议提供数据的可靠传送和接收。SSL工作在Socket层上,因此独立于更高层应用,可为更高层协议,如Telnet、FTP和HTTP提供安全业务。SSL提供的安全业务和TCP层一样,采用了公开密钥和私人密钥两种加密体制对Web服务器和客户机(选项)的通信提供保密性、数据完整性和认证。在建立连接过程中采用公开密钥,在会话过程中使用私人密钥。加密的类型和强度则在两端之间建立连接的过程中判断决定。在所有情况下,服务器通过以下方法向客户机证实自身:给出包含公开密钥的、可验证的证明;演示它能对用此公开密钥加密的报文进行解密。
TLS/SSL工作原理
TLS/SSL的功能实现主要依赖于三类基本算法:散列函数hash,对称加密和非对称加密,其利用得对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。
常见的有MD5、SHA1、SHA256,该类函数特点是函数单向不可逆、对输入非常敏感、输出长度固定,针对数据的任何修改都会改变散列函数的结果,用于防止信息篡改并验证数据的完整性。
常见的有AES-CBC,DES,3DES,AES-GCM等,相同的密钥可以用于信息的加密和解密,掌握密钥才能获取信息,能够防止信息窃听,通信方式是1对1.
对称加密的优势是信息传输1对1,需要共享相同的密码,密码的安全是保证信息安全的基础,服务器和N个客户端通信,需要维持N个密码记录,且缺少修改密码的机制。
常见的有RSA算法,还包括ECC,DH等算法, 算法特点是,密钥成对出现,一般称为公钥和私钥,公钥加密的信息只用私钥才能解开,私钥加密的东西只能公钥解开。因此掌握公钥的不同客户端之间不能互相解密信息,只能和掌握私钥的服务器进行加密通信,服务器可以实现1对多的通信,客户端也可以用来验证私钥的服务器身份。
非对称加密的特点是信息传输1对多,服务器只需要维持一个私钥就能够和多个客户端进行加密通信,但服务器发出的信息能够被所有的客户端解密,切该算法的计算复杂,加密速度慢。
TLS的基本工作方式是:客户端使用非对称加密与服务器进行通信,实现身份验证并协商对称加密使用的密钥,然后对称加密算法采用协商密钥对信息以及信息摘要进行加密通信,不同的节点之间采用的对称密钥不同,从而保证信息只能通信双方获取。