当前位置: 首页 > news >正文

第三方软件验收测试公司【如何深入理解SSL/TLS证书】

SSL/TLS证书是一个数字文件,它遵循 X.509标准,将一个实体的公钥与该实体的身份(如域名、组织名称等)进行强绑定。绑定关系由一个受信任的第三方证书颁发机构进行数字签名和担保。

SSL/TLS证书就像一本由官方机构(CA)签发的、无法伪造的“数字护照”,里面包含了:
持有者信息(你是谁)\对应的公钥(你的公开联系方式)\签发机构信息(谁为你担保)\数字签名(担保机构的防伪印记)\有效期(这本护照的有效时间)

SSL/TLS证书主要实现规避三个安全风险:
1.加密 ,确保客户端(如浏览器)与服务器(如网站)之间传输的数据是加密的,防止窃听和中间人攻击。实现在TLS握手过程中,使用证书中的公钥来安全地交换一个对称会话密钥,后续所有通信都使用这个对称密钥进行高速加密解密。

身份验证 ,让客户端确信它正在与真正的、预期的服务器通信,而不是一个假冒的钓鱼网站。实现客户端(浏览器/操作系统)内嵌了一个受信任的 根证书颁发机构 列表。当服务器出示其证书时,客户端会使用信任链逐级验证该证书的签名,确保证书是由受信任的CA 颁发的,并且证书中的域名与正在访问的域名匹配。

完整性,确保传输的数据在途中没有被篡改。实现:通过TLS记录协议中的消息认证码(如 HMAC)来实现。每一段加密数据都带有一个MAC值,接收方可以验证该值,任何微小的数据改动都会导致验证失败。

要深入理解证书,必须了解其背后的非对称加密(公钥密码学)。

1. 非对称加密
密钥对:包含一个公钥和一个私钥。
公钥:可以公开给任何人,用于加密数据或验证签名。
私钥:必须被严格保密,存放在安全的服务器上,用于解密数据或创建签名。
用公钥加密的内容,只有对应的私钥才能解密。反之,用私钥签名的内容,可以用对应的公钥验证其真实性。

2. TLS握手流程(以RSA密钥交换为例)
这是证书发挥作用的过程:
ClientHello:客户端向服务器发送支持的最高TLS版本、支持的密码套件列表、一个随机数。
ServerHello:服务器选择双方都支持的TLS版本和密码套件,并发送自己的随机数。
Server Certificate:服务器将其SSL/TLS证书(包含其公钥)发送给客户端。
Server Key Exchange:(可选,在某些密码套件中需要)
ServerHello Done:服务器告知客户端初始握手消息发送完毕。

证书验证:
客户端使用其内置的信任CA列表验证服务器证书的有效性:

签名有效性:证书的签名是否由受信任的CA签发?
域名匹配:证书中的Common Name或Subject Alternative Name是否与访问的域名一致?
时间有效性:证书是否在有效期内?
吊销状态:证书是否已被吊销?(通过CRL或OCSP检查)
Client Key Exchange:客户端生成一个预主密钥,并使用服务器证书中的公钥对其进行加密,发送给服务器。
只有拥有对应私钥的服务器才能解密这个预主密钥。至此,双方都拥有了客户端随机数、服务器随机数和预主密钥,它们通过伪随机函数 生成相同的主密钥和会话密钥。

证书的详细结构和类型
1. X.509 证书结构(ASN.1 编码)
一个标准的 X.509 证书包含以下字段:
版本号
序列号:由CA分配的唯一标识符。
签名算法:CA用来对证书签名的算法(如sha256WithRSAEncryption)。
颁发者:签发该证书的 CA 的可识别名称。
有效期:
Not Before
Not After

主体:证书持有者的可识别名称,最重要的字段是:
Common Name:在旧标准中用于指定域名,但现在已过时。
Subject Alternative Name:现代标准,可以指定多个域名、IP地址等。这是浏览器实际检查的字段。

主体公钥信息:
公钥算法(如 RSA, ECDSA)
主体的公钥本身
扩展:重要的扩展字段,定义了证书的用途和限制。
Key Usage:指定公钥的用途(如数字签名、密钥加密)。
Extended Key Usage:指定证书的用途(如服务器认证、客户端认证、代码签名)。
Basic Constraints:标识该证书是否是CA证书(即能否签发其他证书)。
Subject Key Identifier & Authority Key Identifier:用于构建证书链。
颁发者唯一标识符 / 主体唯一标识符:(可选,很少使用)
证书签名算法:(与“签名算法”字段相同)
证书签名:CA对上述所有字段的哈希值用其私钥进行加密后的结果,是证书防伪的关键。

2. 证书类型和验证的级别
域名验证 - DV
验证内容:CA只验证申请者对域名的控制权(通常通过邮件或 DNS 记录验证)。
特点:颁发速度快、成本低。不验证组织身份。
适用:个人网站、博客、内部系统。浏览器显示锁标志,但无公司名。

组织验证 - OV
验证内容:除了域名控制权,CA还会验证申请组织的真实性和合法性(如检查工商注册信息)。
特点:颁发速度较慢,成本较高。证书的“主体”字段会包含已验证的组织信息。
适用:企业官网、电子商务网站,需要展示企业身份。

扩展验证 - EV
验证内容:最严格的验证标准,遵循官方指南。对组织进行全面的背景审查。
特点:在过去,浏览器地址栏会显示绿色的公司名称,提供最高的用户信任度。但请注意:现代浏览器(如 Chrome, Safari)的UI已不再突出显示绿色公司名,EV证书在 UI上与OV证书差异变小,但其背后的严格验证依然存在。
适用场景:金融机构、大型电商、政府网站等对信任度要求极高的场景。

3. 证书覆盖范围
单域名证书:保护一个完整的FQDN(如 www.zmtests.com)。
通配符证书:保护一个域名及其所有一级子域名(如 *.zmtests.com 覆盖 blog.zmtests.com, api.zmtests.com,但不覆盖 a.b.zmtests.com)。
多域名证书:在一张证书中保护多个完全不同的域名(如 zmtests.com, zmtests.net, shop.zmtests.org)。

http://www.dtcms.com/a/469679.html

相关文章:

  • JavaWeb——ServletConfig
  • QwenVL - 202310版-论文阅读
  • 如何从 FastReport .NET 将报表导出为 JPEG / PNG / BMP / GIF / TIFF / EMF
  • .NET MCP Server 开发教程
  • LeetCode 124. 二叉树中的最大路径和(困难)
  • 建设南大街小学网站wordpress首页调用指定文章列表
  • 大型语言模型(LLM)基础:从原理到核心概念详解(GPT-4 / 文心一言 / 通义千问)
  • python高级03——多任务编程
  • 树模型优劣大比拼xgboost/lightgbm/RF/catboost,股价预测怎么选模型
  • 哈尔滨快速建站公司推荐营销型网站建设实战》
  • 4.3-中间件之Kafka
  • 方寸之间见天地:新兴高端印章的当代破局与价值重构
  • 如何改善基于深度学习的场重构
  • Maven 进行项目构建settings.xml 配置教程
  • 磁力搜索网站怎么做的网站和app设计区别
  • 西安网站建设公司都有哪些网站设计开发文档模板下载
  • C++设计模式_结构型模式_桥接模式Bridge
  • 关于flutter插件的存储位置问题
  • 把“Mixed Content”吃干抹净——一次 https→http 踩坑实录
  • 中山大学联合项目 论文解读 | iManip:面向机器人操作的技能增量学习
  • Unity:Json笔记——Json文件格式、JsonUtlity序列化和反序列化
  • 第八章 惊喜15 小萍收获初会
  • RabbitMQ基础知识与Spring Boot 3.x集成案例
  • 租房网站建设多少钱网站域名怎么改
  • Redis CPU高负载案例分析
  • ARMv9 CCA机密计算架构演进技术解析:重塑云原生时代的数据安全基石
  • 湖州网站设计浙北数据最新发布的手机有哪些
  • AD加域账号权限设置
  • 解决idea报错:Error running TrustApexCrmApplication. Command line is too long
  • 网站开发淄博进口商品代理平台