HTTPS的工作过程

发布时间:2026/5/19 15:59:46

HTTPS的工作过程 一、HTTPS是什么HTTPS是⼀个应⽤层协议.是在HTTP协议的基础上引⼊了⼀个加密层SSL/TLSHTTP协议内容都是按照⽂本的⽅式明文传输的.这就导致在传输过程中出现⼀些被篡改的情况.”运营商劫持”由于我们通过网络传输的任何的数据包都会经过运营商的网络设备(路由器,交换机等),那么运营商的网络设备就可以解析出你传输的数据内容,并进行篡改。不仅是运营商黑客也会对此类信息进行攻击因此明文传输风险极大HTTPS就是在HTTP基础上进行加密从而保护用户的信息安全。二、工作过程整体分为两大类对称加密和非对称加密对称加密对称加密通过一个同一个“密钥”把明文变成密文。至于密钥的生成就依据不同的规则设置了。每个客户端的密钥都应该是不一样的如果使用统一的密钥黑客也就容易拿到了。但是服务器将要保存每个客户端对应的密钥这是一个很麻烦的事情代价极大。因此比较理想的做法是当服务器与客户端建立连接的时候商定好使用的密钥。但这又会引发一个新问题把密钥明文传送的话黑客也会拿到那么就需要对密钥进行加密就得再发送key2然后对key2加密......这种方式显然也是行不通的。非对称加密为了解决对称密钥面临的风险引入非对称加密。非对称加密要用到两个密钥一个“公钥”一个“私钥”这两个钥匙是配对的缺点是运算速度非常慢比对称密钥还慢上很多。这里的公钥所有设备都能拿到但是解密的私钥只有服务器有这样就把对称加密的过程加了层保护。这样看似很安全了。但上述的过程存在重大隐患。中间人攻击黑客自己生成一对公钥私钥把客户端拿到的服务器换成自己的这样就能拿到客户端的对称密钥然后通过服务器的公钥加密这样就能混入客户端与服务器的会话中。因此需要一个校验机制来让客户端判断公钥是否来自服务器。证书服务器向可信任的第三方机构申请证书需要提交材料包括服务器的域名之类内容然后服务器依据进行审查通过后给服务器颁发证书类似于一个结构体里面包含颁发证书的机构、证书的有效期、服务器的公钥服务器的域名等然后通过机构的私钥进行加密生成一个数字签名实际上就是一个被加密的校验和。这个证书在服务器搭建的时候就申请好。因此客户端就需要验证证书校验过程客户端拿到证书后根据证书里的信息使用同样的算法再次计算校验和记为a。通过认证机构的公钥解密数字签名得到第二个校验和记为b。比较a和b如果不同证书无效即中间被人修改过。可能遭到第三方攻击。如果客户端拿到的公钥是黑客生成的呢在安装操作系统时会内置一些知名第三方认证机构的公钥。所以拿到的公钥是安全的。如果黑客直接修改证书里的公钥呢那么计算出的校验会改变系统会提示网站不安全如果黑客自己申请一个证书来替换服务器给的证书呢证书里包含服务器域名黑客申请的域名肯定是与你要访问的服务器是不同的这样会这导致在校验时发现域名不匹配

相关新闻