0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

https 的本质、证书验证过程以及数据加密

京东云 来源:jf_75140285 作者:jf_75140285 2024-10-30 10:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1. 什么是 HTTPS

HTTP 加上加密处理和认证以及完整性保护后即是 HTTPS。

它是为了解决 HTTP 存在的安全性问题,而衍生的协议,那使用 HTTP 的缺点有:

1.通信使用明文可能会被窃听

2.不验证通信方的身份可能遭遇伪装

3.无法验证报文完整性,可能已遭篡改

HTTPS 并非是一种新协议,只是 HTTP 通信接口部分用 SSL 和 TLS 协议代替。通常,HTTP 是直接跟 TCP 通信,当使用了 SSL 后,则变成先和 SSL 通信,再有 SSL 和 TCP 通信。简而言之,HTTPS 是身披 SSL 协议的这层外壳的 HTTP。

补充下,SSL 协议是独立于 HTTP 的协议,所以运行在应用层的其他协议,如 Telnet、SMTP 均可以配合 SSL 协议使用,所以也说 SSL 协议是应用最广泛的网络安全技术。

HTTPS 安全可靠,为啥不一致使用 HTTPS 呢?

1.与纯文本通信相比,加密通信会消耗更多 CPU 和内存资源。

2.购买证书也是一笔不小的开销。

3.HTTPS 比 HTTP 要慢 2-100 倍。这是因为 SSL 慢,一种是通信慢,出去 TCP 连接、发送 HTTP 请求/响应外,还必须有 SSL 通信,整体上通信量增加了。 另一种是,大量消耗 CPU 和内存等资源,导致处理熟读变慢,这是因为 SSL 必须进行加密,通常使用 SSL 加速器来改善问题,但实际上没有根本性的解决方法。

下面一起看下 HTTPS 请求的全过程详解。

2. 安全通信机制

1.流程图

2.

3.

chaijie_default.png

安全通信机制流程详解:

1.客户端发送 https 请求,把自身支持的秘钥算法套件(SSL 指定版本、加密组件列表)发送给服务器

2.服务器判断自身是否支持该算法套件,如果支持则返回证书信息(本质为公钥,包含了证书颁发机构,网址,过期时间等) ,否则断开连接,

3.客户端解析证书(通过 TLS 协议来完成),验证证书是否有效。如果异常,则会提示是否安装证书,常见的就是浏览器搜索栏左侧出现“X”告警按钮等。

4.如果证书有效、或者是授信安装证书后,开始传送加密信息(用证书加密后的随机值,供加解密使用)

5.服务端通过私钥解密加密信息,得到客户端发送来的随机值,然后把内容通过该值进行对称加密。这样一来,除非知道私钥,否则是无法获取加密内容的。

6.服务端返回加密后的内容

7.客户端通过前面提到的随机值对加密信息进行解密

3. 证书验证过程

SSL 证书中包含的具体内容有证书的颁发机构、有效期、公钥、证书持有者、签名,通过第三方的校验保证了身份的合法

1.检验基本信息:首先浏览器读取证书中的证书所有者、有效期等信息进行一一校验

2.校验 CA 机构:浏览器开始查找操作系统中已内置的受信任的证书发布机构 CA,与服务器发来的证书中的颁发者 CA 比对,用于校验证书是否为合法机构颁发;如果找不到,浏览器就会报错,说明服务器发来的证书是不可信任的。

3.解密证书:如果找到,那么浏览器就会从操作系统中取出 颁发者 CA 的公钥,然后对服务器发来的证书里面的签名进行解密

4.比对 hash 值:浏览器使用相同的 hash 算法计算出服务器发来的证书的 hash 值,将这个计算的 hash 值与证书中签名做对比

5.对比结果一致,则证明服务器发来的证书合法,没有被冒充

6.此时浏览器就可以读取证书中的公钥,用于后续加密了

4. 扩展:CA 证书

CA 是证书颁发机构的简称,它会给自己签发一个根证书 Root CA,并且 CA 会通过根证书来签发中间证书,授权中间证书颁发机构签发证书的权限,最后由中间证书颁发机构向用户签发用户证书。之所以多一层中间证书是为了保护根证书,减少根证书被攻击或者被破解的风险。当然中间证书可能不止一个。因此通常用户收到的证书是 3 个:根证书、中间证书、用户证书。事实上,申请到的证书只是用户证书,其他 2 个很早就被签发了。

浏览器为何新任 CA 证书呢?

因为 CA 是被 WebTrust 信任的第三方组织,且只有通过 WebTrust 国际安全审计认证的证书颁发机构 CA,其签发的证书才会被各大浏览器信任。根证书库包含浏览器信任的证书颁发机构 CA 的根证书,有的浏览器会自建根证书库,比如 Mozilla Firefox,有的浏览器会使用其他浏览器的根证书库。

浏览器如何校验证书合法性呢?

由于用户证书被中间证书信任,而中间证书被根证书信任,根证书又被浏览器信任,这样一个完整的证书链使得浏览器可以在根证书库内一次检索用户证书、中间证书和根证书,如果能匹配到根证书,那么这一信任链上的所有证书都是合法的。

5. 扩展:openssl 生成证书

以生成 CA 根证书为例:

#1.准备ca配置文件,得到ca.conf
vimca.conf

#2.生成ca秘钥,得到ca.key
opensslgenrsa-outca.key4096

#3.生成ca证书签发请求,得到ca.csr
opensslreq
-new
-sha256
-outca.csr
-keyca.key
-configca.conf

#4.生成ca根证书,得到ca.crt
opensslx509
-req
-days3650
-inca.csr
-signkeyca.key
-outca.crt

6.总结

至此一篇文章读懂了 Https 协议全过程,最后汇总下 https 的知识点。

1.HTTP 加上加密处理和认证以及完整性保护后是 HTTPS。

2.HTTPS 是身披 SSL 外壳的 HTTP

3.相互校验秘钥的公开秘钥加密技术

4.证明公开秘钥正确性的证书

京东云发免费SSL证书啦!!!

TrustAsiaDV单域名90天0元!快速颁发,经济实惠,保护网站数据安全,适合个人/企业网站及建站开发测试使用。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据加密
    +关注

    关注

    0

    文章

    54

    浏览量

    13171
  • https
    +关注

    关注

    0

    文章

    54

    浏览量

    8999
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SGS为华芯星颁发AEC-Q100 Grade 2车规验证证书

    2026年5月8日,国际公认的测试、检验和认证机构SGS为深圳华芯星半导体有限公司(以下简称 “华芯星”)PG系列eMMC 5.1(HS400)产品颁发AEC-Q100 Grade 2车规验证证书。这标志着华芯星在车规级嵌入式存储领域取得关键进展,正式获得进入全球车企供应
    的头像 发表于 05-09 10:25 1919次阅读
    SGS为华芯星颁发AEC-Q100 Grade 2车规<b class='flag-5'>验证</b><b class='flag-5'>证书</b>

    汽车电子 ASPICE 落地全流程指南:从客户需求到证书获取(一)

    的全流程节点,确保满足客户的项目进度要求。2.过程里程碑交付物确认与客户明确交付标准、过程里程碑交付物与时间。 四、核心认知厘清:ASPICE 与功能安全、网络安全的本质区别 行业内常谈到 ASPICE
    发表于 04-09 10:29

    RDMA设计49:怎么进行DMA 数据验证

    设计预期,验证通过。 图1 DMA 数据验证打印信息图 B站已给出相关性能的视频,如想进一步了解,请搜索B站用户:专注与守望 https://www.bilibili.com/vide
    发表于 03-18 09:42

    电能质量在线监测装置数据日志加密存储的具体操作方法是什么?

    电能质量在线监测装置数据日志加密存储的操作遵循 **“硬件安全为基、软件配置为体、密钥管理为核” 的原则,具体可分为 6 个核心步骤 **,覆盖从准备到验证的全流程,确保日志数据的保密
    的头像 发表于 12-05 10:17 913次阅读
    电能质量在线监测装置<b class='flag-5'>数据</b>日志<b class='flag-5'>加密</b>存储的具体操作方法是什么?

    电能质量在线监测装置数据日志能加密存储吗?

    电能质量在线监测装置的数据日志 可以加密存储 ,且已成为工业级与电力系统合规应用的标准配置。加密机制通常采用 分级加密策略 ,并结合硬件安全模块保障密钥安全,确保日志
    的头像 发表于 12-05 10:16 833次阅读
    电能质量在线监测装置<b class='flag-5'>数据</b>日志能<b class='flag-5'>加密</b>存储吗?

    芯源半导体在物联网设备中具体防护方案

    ,采用 ECC 算法进行密钥协商,生成会话密钥,再使用会话密钥对传输数据进行加密,确保数据传输的机密性。​ 数据完整性校验:在数据传输过程
    发表于 11-18 08:06

    CRC校验的本质和物理意义

    :0xFFFF 异或输出:最终结果与0xFFFF异或 数据处理:按字节逐位进行模2运算 以发送地址0x01、功能码0x03的数据帧为例,其数学计算过程可表示为: 原始数据: 01 0
    发表于 11-13 07:58

    电能质量在线监测装置的数据在云端是如何加密的?

    电能质量在线监测装置的数据在云端的加密过程覆盖 传输、存储、密钥管理 全链条,结合行业标准与前沿技术构建多层次防护体系,具体实现方式如下: 一、传输加密:端到端防护防止
    的头像 发表于 10-30 09:42 531次阅读

    Jtti分析SSL证书安装不成功是怎么回事?有哪些原因?

    SSL证书是保障网站安全的重要工具,它通过加密数据传输来保护用户隐私和信息安全。然而,在安装SSL证书过程中,可能会遇到各种问题,导致安装
    的头像 发表于 10-27 16:15 844次阅读

    加密算法的应用

    安全、数据存储安全、身份验证、数字货币以及云计算。 加密技术可以保护通信过程中的信息安全,例如对于电子邮件、即时通讯等应用场景,
    发表于 10-24 08:03

    AES加密流程

    密钥,这些轮密钥将在后续的加密和解密过程中使用。 初始轮(Initial Round):在初始轮中,将待加密数据与第一个轮密钥进行异或运算。这一步骤有助于消除
    发表于 10-23 06:13

    https下载文件失败,mbedtls_net_connect报错-0x7100怎么解决?

    ;conf, MBEDTLS_SSL_VERIFY_NONE); 不开启ssl证书验证还是报错-0x7100,不知道是不是我设置错误,还是强制需要设置证书,目前不清楚问题出在哪里
    发表于 09-11 06:31

    为什么内网穿透必须加密

    对于企业而言,选择支持 TLS 加密的内网穿透工具(如ZeroNews),并定期更新加密协议与证书,是保障业务安全、避免法律风险的最有效手段。
    的头像 发表于 08-19 15:47 1044次阅读
    为什么内网穿透必须<b class='flag-5'>加密</b>?

    北京现代ELEXIO获得CCTA充电兼容能力验证证书

    近日,中汽中心新能源检验中心副总工程师樊彬一行到访现代汽车中国研发中心,为北京现代旗下首款纯电平台SUV ELEXIO颁发国内首批“CCTA充电兼容能力验证证书”,ELEXIO成为首款获此认证的车型
    的头像 发表于 06-19 11:47 1071次阅读

    自签名证书工具cfssl详解

    CFSSL(CloudFlare's PKI and TLS toolkit)由 CloudFlare 用go语言开发的一个开源工具,用于证书签名、验证和管理。
    的头像 发表于 06-11 16:30 926次阅读
    自签名<b class='flag-5'>证书</b>工具cfssl详解