现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

数字签名、数字证书与HTTPS是什么关系

2020-05-06 07:12 工业·编程 ⁄ 共 2120字 ⁄ 字号 暂无评论

HTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版。HTTPS主要作用是:

(1)对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全;

(2)对网站服务器进行真实身份认证。

HTTP

HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议。HTTP是采用明文形式进行数据传输,极易被不法份子窃取和篡改。

HTTP是应用层协议,默认运行在80端口,是一种不安全的传输协议,经其传输的数据都是未加密的明文数据,可以被中间人攻击,获取到你的网络传输数据,这也就是尽量不要使用公共场所WIFI的原因。

HTTPS

HTTPS是应用层协议,默认运行在443端口,是一种安全的传输协议,通过在HTTP层与运输层的TCP直接加入一个加密/身份验证层来保证安全传输。

SSL

SSL(Secure Sockets Layer安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

TLS

TLS传输层安全性协议Transport Layer Security用于在两个通信应用程序之间提供保密性和数据完整性,其由TLS记录协议和TLS握手协议组成。TLS1.0即为SSL3.0的标准化版本,SSL最初由网景Netscape提出研发,在SSL3.0时由国际互联网工程任务组IETF进行了标准化并添加了少量机制,并更名为TLS1.0。

对称加密

采用单钥密码的加密方法,同一个密钥可以同时用来加密和解密,这种加密方法称为对称加密,也称为单密钥加密。

非对称加密

与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

ca数字证书

CA数字证书其实就是加密用的公钥或私钥,再包含一些身份等附加信息。任何人都可以使用相关工具生成自己的数字证书,用来加密文件,邮件,或用于通讯加密。

CA数字证书,也就是一个证书授权单位,用来管理发放数字证书的。由它发放的证书就叫CA证书,以区别于个人使用工具随意生成的数字证书,查看CA证书,里面有两项重要内容,一个是颁发给谁,另一个是由谁颂发的。如果你安装并信任了一个CA机构的证书,以它为根,同样也信任了由这个CA机构颂发的其它组织的证书,其它组织则可以创建自己的CA中心,颂发下一级的证书,依次往下,一层层会有许多CA中心和数字证书。这个最上层的CA证书,即可以称为根证书。

传输过程

1、首先TCP三次握手建立链接,这是数据传输基础,在此之上开始SSL;

2、客户端首先发送Client Hello开始SSL通信,报文中包含客户端支持的SSL版本、随机值Random1、加密算法以及密钥长度等;

3、服务器发送Server Hello,和客户端一样,在报文中包含SSL版本、随机值Random2以及加密组件,此后服务端将证书也发送到客户端;

4、此时客户端需要对服务端发送的证书进行验证,通过操作系统内置的CA证书,将服务器发送的证书的数字签名进行解密,并将证书的公钥进行相同算法的HASH与解密的数字签名解密的内容进行对比,验证证书是否合法有效,是否被劫持更换;

5、客户端验证证书合法,然后生成一个随机值Random3,用公钥对Random3进行加密,生成Pre-Master Key,客户端以Client Key Exchange报文将Pre-Master Key发送到服务端,此后发送Change Cipher Spec报文表示此后数据传输进行加密传输;

6、服务端将Pre-Master Key用自己的私钥解密为Random3,服务端发送Change Cipher Spec报文表示此后数据传输进行加密传输;

7、此时客户端与服务端都拥有三个随机字符串,且Random3是密文传输的,是安全状态的,此时则可以使用这三个字符串进行对称加密传输。由于非对称加密慢,不能每次传输数据都进行非对称加密,所以使用非对称加密将密钥协商好然后使用对称加密进行数据传输;

8、此时便正常进行HTTP数据传输,但是由于SSL加密的作用,此时的HTTP传输便是安全的,此为HTTPS的传输过程,其中2、3、5、6也被称为SSL四次握手。

给我留言

留言无头像?