Https为什么更安全?

Java高并发框架


“我是哟哟吼说科技,专注于数据网络的回答,欢迎大家与我交流数据网络的问题”

HTTPS是一种安全性的HTTP通道,即在HTTP下加入了SSL层,通过SSL的加密来保证HTTP通道的数据安全性。

如题,HTTPS为什么安全?

HTTPS之所以安全性高,是因为传输的数据是密文的,通过SSL安全协议来实现对数据的加密过程,用以保证数据的安全性。

下面哟哟来介绍一下SSL是如何实现对HTTPS的加密的:

SSL(Secure Sockets Layer,安全套接层)是为网络通信提供安全和数据完整性的一种安全协议。

SSL的实现机制:

1、密钥

通过非对称公钥加密在服务器和用户之间协商出一个共同的会话密钥;

2、会话加密

通过协商的会话密钥,用对称的加密算法对会话的内容进行加密;

3、证书

通过权威机构颁发的证书来保证攻击者不能伪造网站身份与用户建立加密连接;

4、校验

通过校验算法来防止加密信息在传输中被篡改;

欢迎大家多多关注我,在下方评论区说出自己的见解。


哟哟吼说科技


本人刚好从事嵌入式通讯开发,不邀自来,回答一下这个问题:

HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)简言之就是HTTP的安全版本,其提供安全的主要是SSL,SSL是应用层和传输层之间添加一层(SSLSecure Sockets Layer 安全套接层)来提供安全通信;前面Google的Chrome浏览器将不是HTTPS的URL标记为不安全,所以HTTPS应该是今后互联网的很关键的安全协议。

为什么HTTP就不安全

  • HTTP使用明文传输数据,数据容易被监听,因为OSI模型中没中的任意一层都没有对数据的加密机制,所以数据都是明文传输,你可能不知道,我们的一些用户名和密码在HTTP协议中“裸奔”。
  • 不验证通信对方的身份:因为不验证通信对象的身份,容易遭受中间攻击和伪装攻击。
  • 没法鉴别报文的完整性:没有校报文完整性的机制,就容易让中间人或黑客对通信报文进行篡改,你想一下,你本消费了100块,被一个中间人修改报文将消费金额改为1万元,多可怕,而且修改后的金额你不看见,当你付款100元其实你付款了1万元(0当然银行卡要有这么多钱)。

为什么HTTPS就安全了

因为HTTP明文传输,不验证通信对象的身份,无法鉴别报文的完整性而不安全,HTTPS正是解决了这些问题而变得安全,下面我们看一下HTTPS通过哪些技术或是手段是通信变得安全:

  • 对报文进行加密:通过SSL握手协商出一个对称密钥对报文进行加密,同时使用非对称加密来在通信线路上传递对称密钥,这就解决了之前对称密钥在网络间传递不安全的问题。
  • 采用证书机制来验证通信双方的身份:因为在通信的过程中需要用服务端的公钥进行对称密钥的传输。但是庞大的互联网让人工确认服务器的身份变得不可能,那么如何确保服务端的公钥就是我们希望通信服务端的密钥,就是证书机制,下面谈一下证书申请与验证过程:
  1. 服端向证书机构申请证书:服务器拥有者向可信的证书颁发机构申请证书,当然该颁发机构是可信的,不然证书链将没法验证。
  2. CA机构对服务端公钥进行数字签名:用自己的私钥对申请者的公钥进行签名,即通过指纹算法提取摘要,并用CA私钥对公钥进行加密生成数字签名,将签名和服务端公钥放在证书一起给客户端。
  3. 客户端验证签名:大的可信CA机构的公钥证书一般预装在主流的浏览器中,用户用
    CA的公钥将证书中的数字签名解密,然后对服务器公钥进行相同的算法来生成数字签名,然后将两者对比,如果一样说明服务端就是我们希望通信的服务端。

有了可信的服务器公钥我们就可以通过SSL的密钥交换来进行协商和传递后续用于加密的对称密钥,这样才是HTTPS对数据加密称为可能。

  • 通过指纹技术来使报文防篡改:在密钥协商的过程中也会协商防篡改加密算法,主要的防篡改算法有MD5,SHA等算法,发送端用指纹算法对报文进行加密,数据到达接受端,接受端同样对数据进行指纹计算,通过对比就知道报文有没有被篡改。

HTTPS采用非对称对称加密,防篡改指纹计算,数字签名等机制来确保通信安全,可靠,和高效,其中HTTPS重点就是SSL握手,希望有兴趣的继续探讨,

感觉我的回答对你有帮助,麻烦点赞关注哈,你的关注是我继续下去的动力对网络有兴趣的可以留言交流,有疑问的也可以私信,大家一起成长,一起交流,谢谢大家


分享到:


相關文章: