网站渗透

黑客攻防,ddos攻击,中国红客联盟,攻击服务器,黑产,拿站

用 HTTPS 安全吗?HTTPS 的原理是啥?

HTTPS

随着 HTTPS 建站成本降低,现在大部分网站已经开始使用 HTTPS大家都知道 协议。HTTPS 比 HTTP 安全,也听说过和 HTTPS 与协议相关的概念包括 SSL ,不对称加密, CA证书等,但以下灵魂三折可能无法回答:

  • 为何使用 HTTPS 安全吗?
  • HTTPS 如何实现底层原理?
  • 用了 HTTPS 一定安全吗?

本文将层层深入,原则上将 HTTPS 安全性讲透。

HTTPS 实现原理

大家可能都听说过 HTTPS 协议之所以安全,是因为 HTTPS 协议对传输的数据进行加密,加密过程采用不对称加密。但事实上,HTTPS 对称加密用于内容传输的加密,非对称加密仅用于证书验证阶段。

HTTPS整体交互过程如下:

① 证书验证阶段

  • 浏览器启动HTTPS 请求
  • 服务端返回 HTTPS 证书
  • 客户端验证证书是否合法,如果不合法,提示警告

② 数据传输阶段

  • 证书验证合法后,在当地生成随机数
  • 通过公钥加密随机数,并将加密随机数传输到服务端
  • 服务器通过私钥解密随机数
  • 服务端通过客户端引入的随机数结构对称加密算法对返回结果内容进行加密

为什么数据传输是对称加密的?

首先,非对称加密的加解密效率很低, http 端与端之间通常有大量的交互,不对称加密的效率是不可接受的;

另外,在 HTTPS 场景中只有服务端保存私钥,一对公钥只能单向解密,所以 HTTPS 内容传输加密采用对称加密,而不是非对称加密。

为什么要 CA 认证机构颁发证书?

HTTP 协议被认为是不安全的,因为传输过程很容易被监听者监控和伪造服务器HTTPS 协议主要解决网络传输的安全问题。

首先,我们假设没有认证机构,任何人都可以制作证书,安全风险是经典的中间攻击问题。中间攻击的具体过程如下:

过程原理:

  • 被劫持的本地请求(如DNS劫持等。),所有请求都发送到中间人的服务器
  • 中间人服务器返回中间人自己的证书
  • 客户端创建随机数,通过中间人证书的公钥对随机数加密后传送给中间人,然后凭随机数构造对称加密对传输内容进行加密传输
  • 由于客户端的随机数,中间人可以通过对称加密算法解密内容
  • 中间人根据客户端的请求内容向正规网站发起请求
  • 由于中间人和服务器之间的通信过程是合法的,正规网站通过建立的安全通道返回加密数据
  • 中间人通过与正式网站建立的对称加密算法解密内容
  • 中间人通过与客户端建立的对称加密算法对正式内容返回的数据进行加密传输
  • 客户端通过与中间人建立的对称加密算法解密返回结果数据

由于缺乏证书验证,虽然客户端发起了 HTTPS 请求,但客户端不知道他们的网络被拦截,所有的传输内容都被中间人窃取。

如何保证 浏览器CA 证书的合法性

1. 证书中包含哪些信息?

  • 发布机构信息
  • 公钥
  • 公司信息
  • 域名
  • 有效期
  • 指纹
  • ……

2. 证书合法性的依据是什么?

首先,权威机构应该有认证,而不是任何机构都有资格颁发证书,否则它就不被称为权威机构。此外,证书的可信度是基于信任制度的,权威机构需要对其颁发的证书进行信用是由权威机构生成的证书,我们就认为它是合法的。因此,权威机构将审查申请人的信息,不同级别的权威机构对审计有不同的要求,因此证书也分为免费、便宜和昂贵的。

3. 浏览器如何验证证书的合法性?

浏览器启动HTTPS 请求时,服务器会返回网站 SSL 证书,浏览器需要对证书进行以下验证:

  • 验证域名、有效期等信息是否正确。这些信息包含在证书中,更容易完成验证;
  • 判断证书来源是否合法。根据验证链可以找到相应的根证书。操作系统和浏览器将存储当地权威机构的根证书,并使用当地的根证书完成相应机构的来源验证;

  • 判断证书是否被篡改。CA 服务器验证;
  • 判断证书是否被吊销。CRL(Certificate Revocation List 注销证书清单OCSP(Online Certificate Status Protocol 实现在线证书状态协议),包括 OCSP 可用于第三步减少和 CA 服务器交互,提高验证效率.

浏览器只有在满足上述任何步骤时才认为证书是合法的。

我想了很长时间,但答案很简单:既然证书是公开的,如果我想发起中间人攻击,我会在官方网站上下载一个证书作为我的服务器证书,客户端肯定会同意这个证书是合法的。如何避免使用这种证书?事实上,这是非加密对称公共私钥的用途。虽然中间人可以获得证书,但私钥无法获得。公钥不可能计算出相应的私钥。即使中间人获得证书,他也不能伪装成合法的服务器,因为他无法解密客户端传输的加密数据。

4. 只有认证机构能生成证书吗?

如果浏览器需要不提示安全风险,则只能使用认证机构颁发的证书。但浏览器通常只提示安全风险,并不限制网站无法访问,所以每个人都可以从技术上生成证书,只要有证书就可以完成网站 HTTPS 传输。例如,早期的 12306 以手动安装私有证书的形式实现 HTTPS 访问。

本地随机数被盗怎么办?

证书验证采用非对称加密,但传输过程采用对称加密,对称加密算法中的重要随机数由本地生成并存储在本地,HTTPS 如何确保随机数量不会被盗?

其实 HTTPS 不包括随机数的安全保证,HTTPS 只保证传输过程的安全,随机存储在当地。当地安全属于另一个安全类别。对策包括安装杀毒软件、反木马、浏览器升级和修复漏洞等。

用了 HTTPS 会被抓包吗?

HTTPS 的数据是加密的,常规抓取工具代理请求后抓取的包内容是加密的,不能直接查看。

然而,正如上面提到的,浏览器只会提示安全风险。如果用户授权,他们仍然可以继续访问网站并完成请求。因此,只要客户端是我们自己的终端,我们可以在我们授权的情况下建立中间人网络,而包装抓取工具是中间人的代理。HTTPS 包装工具的使用方法是生成证书。用户需要手动将证书安装到客户端,然后通过证书完成与包装工具的交互,然后将包装工具转发到服务器,最后在控制台输出后将服务器返回的结果返回到终端,。

既然 HTTPS 不能防抓包,那 HTTPS 有什么意义? 有什么意义?HTTPS 可以防止用户在不知情的情况下监控通信链路,不保护主动授信的抓取操作,因为用户已经知道了这个场景的风险。为了防止被抓住的包,需要使用应用级别的安全保护,如私有对称加密,以及移动译加固,防止本地算法破解。

总结

以下是简短的Q&A形式进行全文总结:

Q: HTTPS 为什么安全?A: 因为 HTTPS 保证了传输安全,防止传输过程被监听、防止数据被窃取,可以确认网站的真实性。

Q: HTTPS 的传输过程是什么?A: 客户端发起 HTTPS 请求,服务端返回证书,客户端验证证书,验证本地生成对称加密算法,通过公钥加密到服务端,服务端通过私钥解密,数据交互通过对称加密算法加密。

Q: 为什么需要证书?A: 防止中间人攻击,为网站提供身份证明。

Q: 使用 HTTPS 会被抓包吗?A: 会被抓包,HTTPS 只能防止用户在不知情的情况下通信。如果用户主动授信,可以建立中间人网络,代理软件可以解密传输内容。

   
  • 评论列表:
  •  拥嬉擅傲
     发布于 2022-06-09 06:24:19  回复该评论
  • 证 浏览器CA 证书的合法性 1. 证书中包含哪些信息?发布机构信息公钥公司信息域名有效期指纹……2. 证书合法性的依据是什么?首先,权威机构应该有认证,而不是任何机构都有资格颁
  •  孤鱼挽鹿
     发布于 2022-06-09 04:57:06  回复该评论
  • ,虽然客户端发起了 HTTPS 请求,但客户端不知道他们的网络被拦截,所有的传输内容都被中间人窃取。如何保证 浏览器CA 证书的合法性 1. 证书中包含哪些信息?发布机构信息公钥公司信息域名有效期指纹……2. 证书合法性的依据是什么?首先,权威机构应该有认证,而不是任何机构都有资格颁发证书

发表评论:

«    2023年7月    »
12
3456789
10111213141516
17181920212223
24252627282930
31
标签列表
文章归档

Powered By

Copyright Your WebSite.Some Rights Reserved.