首页 > 其他分享 >为什么说HTTPS比HTTP安全? HTTPS是如何保证安全的?

为什么说HTTPS比HTTP安全? HTTPS是如何保证安全的?

时间:2024-03-19 18:33:23浏览次数:36  
标签:公钥 私钥 摘要 安全 HTTPS HTTP 公开密钥 加密

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助

一、安全特性

在上篇文章中,我们了解到HTTP在通信过程中,存在以下问题:

  • 通信使用明文(不加密),内容可能被窃听
  • 不验证通信方的身份,因此有可能遭遇伪装

HTTPS的出现正是解决这些问题,HTTPS是建立在SSL之上,其安全性由SSL来保证

在采用SSL后,HTTP就拥有了HTTPS的加密、证书和完整性保护这些功能

SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议

二、如何做

SSL的实现这些功能主要依赖于三种手段:

  • 对称加密:采用协商的密钥对数据加密
  • 非对称加密:实现身份认证和密钥协商
  • 摘要算法:验证信息的完整性
  • 数字签名:身份验证

对称加密

对称加密指的是加密和解密使用的秘钥都是同一个,是对称的。只要保证了密钥的安全,那整个通信过程就可以说具有了机密性

非对称加密

非对称加密,存在两个秘钥,一个叫公钥,一个叫私钥。两个秘钥是不同的,公钥可以公开给任何人使用,私钥则需要保密

公钥和私钥都可以用来加密解密,但公钥加密后只能用私钥解 密,反过来,私钥加密后也只能用公钥解密

混合加密

HTTPS通信过程中,采用的是对称加密+非对称加密,也就是混合加密

在对称加密中讲到,如果能够保证了密钥的安全,那整个通信过程就可以说具有了机密性

HTTPS采用非对称加密解决秘钥交换的问题

具体做法是发送密文的一方使用对方的公钥进行加密处理“对称的密钥”,然后对方用自己的私钥解密拿到“对称的密钥”

这样可以确保交换的密钥是安全的前提下,使用对称加密方式进行通信

举个例子:

网站秘密保管私钥,在网上任意分发公钥,你想要登录网站只要用公钥加密就行了,密文只能由私钥持有者才能解密。而黑客因为没有私钥,所以就无法破解密文

上述的方法解决了数据加密,在网络传输过程中,数据有可能被篡改,并且黑客可以伪造身份发布公钥,如果你获取到假的公钥,那么混合加密也并无多大用处,你的数据扔被黑客解决

因此,在上述加密的基础上仍需加上完整性、身份验证的特性,来实现真正的安全,实现这一功能则是摘要算法

摘要算法

实现完整性的手段主要是摘要算法,也就是常说的散列函数、哈希函数

可以理解成一种特殊的压缩算法,它能够把任意长度的数据“压缩”成固定长度、而且独一无二的“摘要”字符串,就好像是给这段数据生成了一个数字“指纹”

摘要算法保证了“数字摘要”和原文是完全等价的。所以,我们只要在原文后附上它的摘要,就能够保证数据的完整性

比如,你发了条消息:“转账 1000 元”,然后再加上一个 SHA-2 的摘要。网站收到后也计算一下消息的摘要,把这两份“指纹”做个对比,如果一致,就说明消息是完整可信的,没有被修改

数字签名

数字签名能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名

原理其实很简单,就是用私钥加密,公钥解密

签名和公钥一样完全公开,任何人都可以获取。但这个签名只有用私钥对应的公钥才能解开,拿到摘要后,再比对原文验证完整性,就可以像签署文件一样证明消息确实是你发的

和消息本身一样,因为谁都可以发布公钥,我们还缺少防止黑客伪造公钥的手段,也就是说,怎么判断这个公钥就是你的公钥

这时候就需要一个第三方,就是证书验证机构

CA验证机构

数字证书认证机构处于客户端与服务器双方都可信赖的第三方机构的立场

CA 对公钥的签名认证要求包括序列号、用途、颁发者、有效时间等等,把这些打成一个包再签名,完整地证明公钥关联的各种信息,形成“数字证书”

流程如下图:

  • 服务器的运营人员向数字证书认证机构提出公开密钥的申请
  • 数字证书认证机构在判明提出申请者的身份之后,会对已申请的公开密钥做数字签名
  • 然后分配这个已签名的公开密钥,并将该公开密钥放入公钥证书后绑定在一起
  • 服务器会将这份由数字证书认证机构颁发的数字证书发送给客户端,以进行非对称加密方式通信

接到证书的客户端可使用数字证书认证机构的公开密钥,对那张证书上的数字签名进行验证,一旦验证通过,则证明:

  • 认证服务器的公开密钥的是真实有效的数字证书认证机构
  • 服务器的公开密钥是值得信赖的

三、总结

可以看到,HTTPSHTTP虽然只差一个SSL,但是通信安全得到了大大的保障,通信的四大特性都以解决,解决方式如下:

  • 机密性:混合算法
  • 完整性:摘要算法
  • 身份认证:数字签名
  • 不可否定:数字签名

同时引入第三方证书机构,确保公开秘钥的安全性

参考文献

  • https://zhuanlan.zhihu.com/p/100657391
  • https://juejin.cn/post/6844903830987997197#heading-7
  • https://cloud.tencent.com/developer/article/1748862

标签:公钥,私钥,摘要,安全,HTTPS,HTTP,公开密钥,加密
From: https://www.cnblogs.com/smileZAZ/p/18083678

相关文章

  • 高精度AI火灾烟雾检测算法,助力打造更加安全的楼宇环境
    一、方案背景近日,南京居民楼火灾事故导致15人死亡的新闻闹得沸沸扬扬,这一事件又激起了大家对楼宇火灾隐患的进一步担忧。事后我们除了思考政府、消防及物业部门应对此事的解决办法,我们还应该思考如何利用现有的技术帮助人们减少此类事情的发生。二、方案概述含有AI智能分析高精......
  • 利用Scala与Apache HttpClient实现网络音频流的抓取
    概述在当今数字化时代,网络数据的抓取和处理已成为许多应用程序和服务的重要组成部分。本文将介绍如何利用Scala编程语言结合ApacheHttpClient工具库实现网络音频流的抓取。通过本文,读者将学习如何利用强大的Scala语言和ApacheHttpClient库来抓取网络上的音频数据,以及如......
  • golang sync.Map之如何设计一个并发安全的读写分离结构?
    在golang中,想要并发安全的操作map,可以使用sync.Map结构,sync.Map是一个适合读多写少的数据结构,今天我们来看看它的设计思想,来看看为什么说它适合读多写少的场景。如下,是golang中sync.Map的数据结构,其中属性read是只读的map,dirty是负责写入的map,sync.Map中的键值对value......
  • go使用HTTP代理和SOCKS5代理的代码示例
    本文档为获取到代理IP后使用代理的代码样例,供开发者参考。代码样例直接运行无法得到正确的结果,因为代码中的代理地址/端口和应用账号密码等信息都是虚构的,您替换成自己真实的就可以正常运行了。如何获取代理地址/端口和设置代理授权?请参考:接入指南-快速入门使用前提:......
  • Cisco ASAv 9.20.2.10 发布 - 思科自适应安全虚拟设备 (ASAv)
    CiscoASAv9.20.2.10发布-思科自适应安全虚拟设备(ASAv)CiscoAdaptiveSecurityVirtualAppliance(ASAv)请访问原文链接:https://sysin.org/blog/cisco-asav/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org思科自适应安全虚拟设备(ASAv):跨物理和虚拟环境......
  • PVS‑Studio 7.29 for macOS, Linux & Windows - 代码质量安全静态分析
    PVS‑Studio7.29formacOS,Linux&Windows-代码质量安全静态分析PVS‑Studio-代码漏洞扫描工具|静态代码测试|代码安全分析请访问原文链接:https://sysin.org/blog/pvs-studio/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgC、C++、C#和Java代码静......
  • F5 BIG-IP Next 20.1.0 - 多云安全和应用交付
    F5BIG-IPNext20.1.0-多云安全和应用交付BIG-IP是硬件平台和软件解决方案的集合,提供专注于安全性、可靠性和性能的服务请访问原文链接:https://sysin.org/blog/f5-big-ip-next/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgBIG-IPNext您所熟知和信赖的BIG-......
  • 开源模型应用落地-安全合规篇-模型输出合规性检测(三)
     一、前言  为什么我们需要花大力气对用户输入的内容和模型生成的输出进行合规性检测,一方面是严格遵守各项法规要求,具体如下:互联网信息服务深度合成管理规定https://www.gov.cn/zhengce/zhengceku/2022-12/12/content_5731431.htm​  其次,受限于模型本身的一些缺......
  • 玄剑域盾云网络安全工具盒ver1.1.0.7版本下载
     玄剑域盾云网络安全工具盒仅供用于网络安全项目,请勿用于非法否则不予授权登录!!!遵守《网络安全法》!安装方式和方法:1.下载下来以后"xl0shell-aptv2平台.exe"解压到桌面,本程序使用7z压缩做的EXE安装功能(因部分用户没有7z压缩就直接使用了7zEXE打包功能)2.仅支持windows10以上的系......
  • 玄剑域盾云网络安全工具盒更新日志
    时间更新日志开发者内容2024-03-17玄剑域盾更新gh0stkylin20:43分更新玄剑改名为玄剑域盾主框架新增加了一个xdb打包windows资源工具,你可以分享给博主进行官方网站和云端共享你的资源,修复加载器出现无法加载窗口造成错误代码的BUG问题2024-03-17玄剑更新日志gh0stkyl......