数字证书系列之一基础概念

定义

数字证书可以理解为一个数字世界的身份证,它将现实世界中对人的信任映射到数字领域。其中涉及到一个概念就是CA,即证书的颁发机构,这个可以理解为现实世界给你发身份证的机构,而这个机构一定是具有权威性的第三方,大家都信任它,因此拥有的这个身份证,你就可以证明你是你自己,具有合法身份。

证书的产生,对于企业内部,要么由服务器自签产生,要么由内部证书服务器(CA)签发。而对于面向互联网外部的应用,则由权威的证书颁发机构(CA)签发。数字证书主要包含公钥、持有者信息、CA签名及有效期等关键数据。

作用

那么证书有什么用途呢?其实上面也说了,主要就是做身份验证,证明身份的合法和真实。比如:一个应用服务器向权威的CA申请了证书,那么当全球的用户通过浏览器来访问这个应用时,就会自动从服务器获取其证书,根据证书信任链,就证明了正在访问的服务器是真实合法的。

因此作用主要有:

  1. 身份验证:解决网络通信中的身份冒充问题,例如,访问HTTPS网站时,浏览器会检查服务器证书是否由受信任的CA签发,防止用户连接到钓鱼网站。证书中的公钥与私钥配对,确保只有合法持有者能完成加密交互。
  2. 保障完整性和加密:证书绑定的公钥用于加密传输数据,且只有私钥持有者能解密。数字证书本身包含CA的签名,可以验证证书的合法性,另外,证书持有者也可用私钥对数据进行签名,接收方通过证书中的公钥验证签名真实性,从而保证不可抵赖性。所以证书中所使用的数字签名技术可验证数据在传输中未被篡改,保障完整性不被破坏。

信任链

有权威CA签发的数字证书,依赖一种层级化的信任结构,也被称为公钥基础设施PKI体系。就是从根证书→中间证书→终端证书,根证书一般都是预先内置在操作系统的证书管理器或浏览器的信任库中,比如DigiCert, GlobalSign这些公认的,处于信任链的顶端。而中间CA层级,根CA会授权给次级CA(Intermediate CA)签发证书,形成多级验证体系。

当客户端访问HTTPS网站时,从网站获取证书后,是这样验证的:

  • 检查证书是否由受信CA签发
  • 验证证书链完整性(包含中间证书)
  • 核对证书中的域名匹配情况
  • 确认证书有效期

应用场景

  • SSL/TLS证书:实现网站的HTTPS加密
  • 邮件加密:S/MIME证书保护邮件内容和发件人真实性
  • 物联网设备:设备证书确保固件更新来源可信
  • 代码签名:开发者证书确保软件未被篡改
  • 电子签名:符合eIDAS法规的合格证书

让我们不断学习,保持好奇和兴趣!

Iain

相关推荐
BUG_MeDe2 个月前
openssl 生成自签名证书步骤
服务器·https·ssl·数字证书
老黄编程3 个月前
02-ubuntu24.04证书体系架构及证书有关配置文件、工具详细介绍
ubuntu·数字证书
老黄编程3 个月前
03-gpg(证书管理 )详细范例
linux·运维·ubuntu·数字证书
老黄编程3 个月前
09-ubuntu20.04 执行 apt update时报错,是因为官网已停止维护不再更新的缘故吗?
linux·运维·服务器·ubuntu·数字证书
openHiTLS密码开源社区4 个月前
【密码学实战】openHiTLS X509命令行工具: 数字证书生成与转换
https·数字证书·x509·csr·公钥·私钥·自签名
水上冰石5 个月前
k8s证书理论知识之/etc/kubernetes/pki/ 和/var/lib/kubelet/pki/的区别
云原生·容器·kubernetes·数字证书·证书过期
笨手笨脚の9 个月前
详解 Https 和加密、摘要、签名、数字证书
网络协议·https·加密·数字证书·ca·摘要
CyberSecurity_zhang1 年前
车联网安全 -- 数字证书到底证明了什么?
安全·数字证书·ca·ra
筑梦之月1 年前
如何通过OpenSSL基于根证书来签署客户端与服务器证书?
数字证书·签署证书