现代密码学-CA与数字证书详解

简介: 现代密码学-CA与数字证书详解

概述

证书类似现实生活中的个人身份证。身份证将个人的身份信息(姓名、出生年月日、地址和其他信息)同个人的可识别特征(照片)绑定在一起。个人身份证是由国家权威机关(公安部)签发的,该证件的有效性和合法性是由权威机关的签名或签章保障的,因此身份证可以用来验证持有者的合法身份的信息,称为身份鉴定。

数字证书也称为公钥证书,是将证书持有者的身份信息和其所拥有的公钥进行绑定的文件。证书文件还包含签发该证书的权威机构认证中心(简称CA)对该证书的签名,通过签名保障了证书的合法性和有效性,也保障了证书包含的持有者公钥和相关信息的真实性和完整性。这使得证书应用依赖于对CA本身的信任,也就是说证书提供了基本的信任机制。

证书(与相关的私钥)可以提供诸如身份认证、完整性、机密性和不可否认性等安全服务。证书中的公钥可用于加密数据或验证对应私钥的签名。

一句话:CA使用私钥签名别人的公钥形成证书,CA使用公钥进行验证。

内容

2020062310470442.png

点击https前面的锁->点击安全连接->点击更多信息

2020062310470442.png

点击查看证书

2020062310470442.png

安全性

  • 证书是公开的,可复制的。
  • 任何具有CA公钥(也称作根证书/CA证书,自签名证书)的用户都可以验证证书有效性。
  • 除了CA以外,任何人都无法伪造、修改证书。
  • 证书的安全性依赖于CA的私钥。

证书生命周期

2020062310470442.png

生成

  • 去CA申请
  • 可利用工具(例如,openssl)生成,使用私有CA

存储

  • 使用IC卡存放
  • 直接存放在磁盘或自己的终端上
  • USB Key
  • 证书库

验证

  • 使用CA证书验证终端实体证书有效性
  • 检查证书的有效期,确保该证书是否有效。
  • 检查该证书的预期用途是否符合CA在该证书中指定的所有策略限制。
  • 证书撤销列表(CRL)中查询确认该证书是否被CA撤销。

状态查询

在线证书状态协议OCSP(Online CertificateStatus Protocol),其目的为了克服基于CRL的撤销方案的局限性,为证书状态查询提供即时的最新响应。OCSP使用证书序列号CA名称公开密钥的散列值作为关键字查询目标的证书。

撤销

当以下情况出现时:

  • 不是有效用户(譬如雇佣关系结束)
  • 证书的信息需修改(譬如其扩展内容)
  • 私钥的安全受到威胁等且证书的有效期还没结束,证书需被撤销。

更新

更新的原因:

  • 证书过期;
  • 临时撤销(譬如调离或退休等);
  • 一些属性(譬如职务、地址等)的改变;
  • 证书中公钥对应的私钥安全受到威胁。

PKI信任模型

单一模型CA

比较理想建立单一的认证机构(CA),这比较适合用户规模比较小的范围,如果用户规模大,种类多,则由它管理所有证书存在以下问题:

  • 特殊的应用领域有着特殊的安全需求(安全策略不同)。
  • 证书颁发和撤销难于直接控制
  • 证书库难于维护,难于满足实际性能的需求。
  • 根私钥的维护更加困难。

树状模型CA

假设个体A看到B的一个证书,B的证书中含有签发该证书的CA的信息,沿着层次树往上找,可以构成一条证书链,直到根证书;验证过程:

  • 沿相反的方向,从根证书开始,依次往下验证每一个证书中的签名。其中,根证书是自签名的,用它自己的公钥进行验证;
  • 一直到验证B的证书中的签名;
  • 如果所有的签名验证都通过,则A可以确定所有的证书都是正确的,如果他信任根CA,则他可以相信B的证书和公钥。

2020062310470442.png

有时间补充 pem x509,以及使用openssl生成CA的步骤

  • 未完待续…

参考

现代密码学教程 谷利泽 杨义先等》

openssl官网




相关文章
|
存储 Prometheus Kubernetes
解决k8s调度不均衡问题
在近期的工作中,我们发现 k8s 集群中有些节点资源使用率很高,有些节点资源使用率很低,我们尝试重新部署应用和驱逐 Pod,发现并不能有效解决负载不均衡问题。在学习了 Kubernetes 调度原理之后,重新调整了 Request 配置,引入了调度插件,才最终解决问题。这篇就来跟大家分享 Kubernetes 资源和调度相关知识,以及如何解决k8s调度不均衡问题。
2500 0
解决k8s调度不均衡问题
|
9月前
|
JSON 文字识别 测试技术
Qwen2.5-VL Cookbook来啦!手把手教你怎么用好视觉理解模型!
今天,Qwen团队发布了一系列展示 Qwen2.5-VL 用例的Notebook,包含本地模型和 API 的使用。
2699 22
|
前端开发 测试技术 API
深入探究 Playwright:Frame 操作技巧
Playwright Python 框架提供API处理Web页面中的iframe。通过`frame()`方法进入iframe,如`page.frame(name='frame_name')`,并可使用CSS选择器选择。完成操作后,用`main_frame()`返回主文档。在iframe内,可执行点击、填充表单等操作,简化自动化测试和网页爬取任务。
深入探究 Playwright:Frame 操作技巧
|
10月前
|
数据建模 网络安全
IP地址https证书最新申请流程步骤
确保信息准确,遵循CA指导,遇到问题可联系客服。
|
12月前
|
前端开发 JavaScript
如何在 JavaScript 中访问和修改 CSS 变量?
【10月更文挑战第28天】通过以上方法,可以在JavaScript中灵活地访问和修改CSS变量,从而实现根据用户交互、页面状态等动态地改变页面样式,为网页添加更多的交互性和动态效果。在实际应用中,可以根据具体的需求和场景选择合适的方法来操作CSS变量。
397 12
|
存储 监控 API
【C/C++ 文件操作】深入浸润:C++多线程文件操作的艺术与策略
【C/C++ 文件操作】深入浸润:C++多线程文件操作的艺术与策略
593 0
|
存储 NoSQL 中间件
单点登录简述
单点登录简述
310 1
|
网络协议 网络架构
TCP/IP 协议体系结构四层分别是什么?
TCP/IP协议体系结构四层分别是:1、数据链路层;实现网卡接口的网络驱动程序,以处理数据在物理媒介上的传输。2、网络层;实现数据包的选路和转发。3、传输层;为两台主机上的应用程序提供端到端的通信。4、应用层;负责处理应用程序的逻辑。
|
关系型数据库 MySQL 索引
MySQL不走索引的情况分析
MySQL不走索引的情况分析
222 0
MySQL不走索引的情况分析
|
网络协议 Ubuntu 物联网
「物联网技术」MQTT 常见问题和5个代理的基本基准测试
「物联网技术」MQTT 常见问题和5个代理的基本基准测试
354 21
下一篇
开通oss服务