PKI体系快速介绍

article/2025/9/22 19:58:40

这是目前工作中遇到的一些知识点搜集整理。

一、什么是 PKI

首先,PKI(Public Key Infrastructure)是一个体系。

公钥基础设施是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。

PKI体系是计算机软硬件、权威机构及应用系统的结合。它为实施电子商务、电子政务、办公自动化等提供了基本的安全服务,从而使那些彼此不认识或距离很远的用户能通过信任链安全地交流。
— 百度百科

说白了,PKI还是提供了彼此身份确认的服务,确保通信的安全。
接下来,打开百度的网址,进一步了解PKI体系中的各种角色。

1. 数字证书

我跟你对话,如果确认彼此就是自己要对话的人?那么我们可以互相亮出身份证,来证实彼此身份是可靠的。

那么,在网络通信里,也需要用到这样的介质,那就是数字证书。

点开百度网址左边的小锁图标,浏览器会显示如下,告诉你这个连接是安全的。

浏览器之所以能确认百度的身份,就是因为数字证书。点击这个按钮,进一步可以看到证书相关信息。

信息大概可以分为 3 类:

1.1 使用者
  • 使用者的信息,如果是企业这里就是域名,示例中为baidu.com…。
  • 公钥信息,这里是非对称加密中用户公开的密钥,谁都可以看到。、
  • 有效期
1.2 颁发者
  • 颁发者:谁颁发的证书,这里的GlobalSign Organization Validation。
  • 颁发者的签名:颁发者对该证书的所有信息的数字签名,表明他对这个证书的真实性负责。
1.3 证书的其他信息

证书相关的其他信息

基于此,当浏览器访问https的网址,就会检查证书的有效性,通过后使用证书里的信息(主要是公钥)与网址进行通信。

2. 公开密钥加密(非对称加密)

数字证书的关键在于公钥,也就是非对称加密算法。它有2个角色:

  • 私有密钥 (private key):私有密钥不能让其他任何人知道。
  • 公开密钥(public key):公开密钥则可以随意发布,任何人都可以获得。
    交互过程是这样的(发送密文方A,接收方B):
  1. A 使用 B 的公开密钥进行加密。
  2. A 发送加密后的信息给 B。
  3. B 收到加密的信息后,用自己的私有钥匙进行解密。

利用这种方式,不需要发送用来解密的私有密钥,也就不必担心密钥被攻击者窃听而盗走。

另外,就算你知道了公开密钥和密文,想要恢复到信息原文是异常困难的。因为解密过程就是在对离散对数进行求值,这并非轻而易举就能办到。

再退一步讲,如果能对一个非常大的整数做到快速地因式分解,那么密码破解还是存在希望的。但就目前的技术来看是不太现实的。

3. PKI登场

上面在上述的公开密钥加密方式还是存在一个问题:

  • 无法证明公开密钥本身就是货真价实的公开密钥。

比如,A 正准备和 B 服务器建立公开密钥加密方式下的通信,A 也确实收到了公开密钥。但是 A 不知道这个公开密钥是不是真的来自于 B,或许在传输途中,真的公开密钥已经被攻击者替换掉了。

所以,还需要一套机制来证明过程中的这些内容都是可靠的,这里就需要开头提到的PKI体系了,其核心是证书的产生和分发层级。

证书的产生则来自一位的重要角色:数字证书认证机构(CA,Certificate Authority)。

全世界有大概几十家左右的根CA(Certificate Authority),计算机上都会预置这些CA的数字证书。比如Amazon、Verisign这种,他们有一整套的机制保证自己是可信的。基于此,他们有自己的数字证书,及与之匹配的私钥。

网站若想拿到自己的证书,就可以找个子CA,填好信息付好年费,就可以拿到证明了。当浏览器访问网站的时候,看到你有业内权威开的证明,自己也核对没问题后就无条件信任你了。

在这里,PKI 体系必须为用户提供安全和透明的服务,用户不必考虑 PKI 体系中的证书是怎样生成、更新、撤销及恢复的,密钥是如何管理的,只要用户自己能够方便地获得数字签名即可。

二、PKI在汽车行业的应用

PKI体系在汽车行业的应用场景非常广泛,如远程车控、近场车控、安全启动、Ethernet通信安全等等。在此处讲一个优先级最高的“远程车控”的实例。

1. 建立自己的PKI体系

企业应该先行建立自己的PKI体系,即引入一个PKI供应商,将证书的颁发、申请、吊销等公用模块建立起来。接下来,在其之上,建立各应用的流程。

2. 各端接入PKI体系

手机端、云端与车端Tbox,都在本地生成自己的私钥,并在云端申请完自己的证书。这也需要制定相应的业务流程。

三端都需要妥善保管好自己的私钥,手机端可以将私钥存储在TEE中,云端可存储的选择会较多,车端可存储在HSM或TEE中。若没有这些硬件的存储方式,可以使用软件的白盒加密方法,安全性也有一定保障。白盒加密也就是说即使遭遇白盒攻击,其密钥也较难被破解。

3. 开始业务

大家都具备证书与私钥后,业务流程就变的相当简单了。

  • 云端与车端由于交互较多,建议两端通过双向认证交换“会话密钥”(对称密钥)。因为对称加密要比非对称加密要快上千倍,根据密钥长度不同会稍有变化。交换会话密钥的流程可参考TLS的双向认证的握手流程。
  • 手机端将车端指令发给云端,并使用自己的私钥进行签名。云端收到之后,使用手机A的数字证书,进行验签。
  • 云端将车控指令用协商好的“会话密钥”加密后,发送给车端。车端验证后,即可在内部执行。

所以,基于PKI体系的方案是更加可靠的。

参考文章:
https://zhuanlan.zhihu.com/p/237155609

https://www.cnblogs.com/pingguo-softwaretesting/p/14970453.html

https://zhuanlan.zhihu.com/p/377562137


http://chatgpt.dhexx.cn/article/rqyVKj8R.shtml

相关文章

PKI详解

PKI详解 一、 什么是PKI? 官方定义:PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。PKI技术是一种遵循既定标准…

架构师如何带领团队“攻城略地”?

架构师职责 架构师不是一个人,他需要建立高效卓越的体系,带领团队去攻城略地,在规定的时间内完成项目。 架构师需要能够识别定义并确认需求,能够进行系统分解形成整体架构,能够正确地技术选型,能够制定技…

谈谈架构师是何种生物

小团队一般 10 人左右,其中常常是技术最牛的人做架构师(或 TL)。所以,架构师在广大码农中的占比大概平均不到 10%。 图片来自 Pexels 而架构师也可以分为初级、中级、高级三档,江湖上真正高水平的软件架构师就更少了。…

什么是架构,什么是架构师?

什么是架构,什么是架构师?这似乎是聊架构话题时永恒的问题。 从内心讲我真的不想回答架构具体需要做什么,架构师应该具体负责什么。因为从实际情况看,在不同的系统层级,不同的需求下架构师的职责也会不同;从…

Java架构师成长路线总结2021版(持续更新)

本篇文章是我们整理的一份架构师的成长路线,包括了并发编程、设计模式、常用框架、中间件、微服务与分布式、常用工具、JVM、MySQL、数据结构与算法,还有架构师精选视频、架构师成长路线高清大图。 又是新的一年,每一年都会有人在成为架构师…

WebLogic之WebLogic安装

WebLogic除了包括WebLogic Server服务器之外,还包括一些围绕WebLogic的产品,习惯上我们说的WebLogic是指WebLogic Server。WebLogic是美国bea公司出品的一个application server确切的说是一个基于Javaee架构的中间件,BEA WebLogic是用于开发、…

WebLogic:部署应用程序

假设我们现在有两个应用程序的war包: 将这两个war包部署到WebLogic上,通过控制台部署。 点击上载文件,可以将war包上传到管理服务器上, 两个war包的访问方式: benefits.war: http://ip:port/benefits benefits_as_d…

Weblogic漏洞 - Weblogic 弱口令漏洞

文章目录 Weblogic简介Weblogic特征Weblogic历史漏洞Weblogic历史漏洞发现获取资产批量扫描脚本 Weblogic漏洞环境搭建漏洞发现Weblogic历史漏洞利用WeakPasswordWeblogic弱口令使用弱口令直接登录后台管理界面选择部署上传war包制作war包上传war包GetShell成功连接大马 Weblog…

Weblogic 常见漏洞汇总

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大…

weblogic——服务器搭建与配置

本次操作的内容:weblogic服务器搭建与配置服务 本次操作是主要围绕如何搭建weblogic服务器及配置服务,总共有两大步骤,可划分为六个小步骤: 选取已有环境,准备weblogic压缩包安装weblogic创建Weblogic域 (domain)启动…

Weblogic部署

Weblogic部署 JDK安装1.1、创建用户和组1.2、创建ORACLE_HOME2、创建weblogic_install_dir目录,并将安装包复制到目录下3、创建wls.rsp和oraInst.loc文件4、开始安装5、设置环境变量6、创建Domain域名7、启动weblogic8.1、验证8.2、验证参考链接 二、weblogic集群部…

WebLogic:访问管理控制台

1,通过http://localhost:7001/console可以访问控制台,图形化界面。 访问这个控制台,必须先启动管理服务器。 进入到创建的域的目录F:\java\WebLogic\user_projects\domains\base_domain\bin 双击就可以启动管理服务器。 加载之后&#xff…

Weblogic SSRF漏洞

1.漏洞描述 weblogic中存在SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。 2.影响版本 weblogic 10.0.2 – 10.3.6版本 3.POC http://192.168.42.145:7001/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch…

weblogic日志管理

服务器日志 每个 WebLogic Server 实例将来自子系统和应用程序的所有消息写入位于本地主机上的服务器日志文件。默认情况下,服务器日志文件位于服务器实例根目录下的 logs 目录中; 例如D:\Oracle\Middleware\user_projects\domains\snails_domain\serve…

weblogic(10.3.6)

前言 作者简介:不知名白帽,网络安全学习者。 博客主页:https://blog.csdn.net/m0_63127854?typeblog 漏洞复现专栏:https://blog.csdn.net/m0_63127854/category_11843863.html 网络安全交流社区:https://bbs.csdn.ne…

【weblogic】weblogic服务启动方法

【转载】:https://wenku.baidu.com/view/71a2b93658f5f61fb636663c.html 一.启动服务器方式: 1.前台启动: cd /weblogic/user_projects/domains/aixadmmin/bin //进入”bin”目录 ./startWebLogic.sh 启动管理服务器 用户名:weblogic 密码:12345678 ./startM…

weblogic从入门到起飞!(weblogic安装、domain配置、管理控制台)(一)

目录 weblogic术语 weblogic安装 下载weblogic linux安装(centos6.5,其他版本类似) 配置weblogic的domain domain介绍 配置domain domain的目录结构: weblogic启动domain 管理控制台相关(和congfig.xml息息相…

weblogic(一).简介与安装

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大…

weblogic 安装部署详解

0x01 weblogic下载安装 去Oracle官网下载Weblogic 10.3.6,选择Generic版本,各版本选择下载地址:http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127.html Weblogic 10.3.6 下载地址:http://download.oracle.c…

weblogic简单介绍

快速阅读 介绍weblogic中间件,以及自身架构和几个基本概念,如何下载,安装等后面再详细介绍 。 什么是weblogic WebLogic最早由 WebLogic Inc. 开发,后并入BEA 公司,最终BEA公司又并入Oracle公司 webserver是用来构…