数字签名和数字证书

一、数字签名

1、概念

签名就是私钥加密,公钥解密。
证书就是公钥加密,私钥解密。

2、作用

1)完整性校验

如何证明客户端发给服务器的内容完整,没有被篡改过?

  • 客户端使用hash算法(如SHA)对要发送的信息加密计算,形成摘要,该加密过程不可逆,且信息与摘要一一对应。
  • 客户端使用私钥对摘要加密,并将信息与加密后的摘要都发送给服务端。
  • 服务端用公钥对摘要解密,同时用hash算法对收到的信息计算得到摘要。两摘要内容一致说明信息完整且未被篡改
sequenceDiagram participant Client participant Server Note left of Client:1、hash计算信息形成摘要 Note left of Client:2、使用Client私钥加密摘要 Client->>Server:信息和加密后的摘要 Note right of Server:1、使用Client公钥解密摘要 Note right of Server:2、使用hash计算信息形成摘要 Note right of Server:3、比较两摘要是否一致

2)身份认证

CA中心颁发设备证书即利用该机制,见二、>>2、>>1)>>(1)

二、数字证书

1、数字证书的构成

  • CA证书:存放CA中心的公钥。CA的私钥只在CA机构存放,不可见
  • 设备证书:设备的公钥、设备的身份信息经CA中心私钥加密后形成设备证书
  • CRL:证书吊销列表,记录已被吊销证书的序列号,若收到该序列号的设备证书,认为该证书无效

2、数字证书的作用

1)CA证书

(1)证明公钥拥有者的身份

服务端发送公钥给客户端,怎样才能证明这就是服务端的公钥,以及这就是服务端发送的呢?

  • CA是权威的证书签发机构,CA的公钥被公布到公众平台,但私钥不可见。
  • 服务端先将自己的公钥身份信息交给CA中心,CA用自己的私钥加密服务端的公钥和身份信息,形成设备证书并颁发给服务端。
  • 服务端将设备证书发送给客户端,客户端用CA公钥解密后同时得到服务端的公钥和身份信息,若解密失败说明该设备证书是伪造的
sequenceDiagram participant Client participant Server participant CA Server->>CA:Server公钥、Server身份信息 Note left of CA:CA私钥加密收到的信息,形成设备证书 CA->>Server:设备证书 Server->>Client:设备证书 Note right of Client:使用CA公钥解密信息 Note right of Client:解密失败说明设备证书是伪造的

2)设备证书

询问设备证书的作用,其实就是在问服务端发给客户端(或相反)的公钥的作用

(1)对内容进行加密
sequenceDiagram participant Client participant Server Note right of Server:Sever私钥保存在本地 Server->>Client:Server公钥 Note left of Client:使用Server的公钥加密信息 Client->>Server:密文 Note right of Server:使用Server的私钥解密密文
FAQ

设备证书并不直接对明文加密,而是加密会话密钥,或者加密可以计算出会话密钥的参数(如TLS),然后用会话密钥加密明文。会话密钥是对称密钥,其加解密明文比非对称密钥更快。

posted @ 2025-07-07 09:26  谢哥在彼方  阅读(23)  评论(0)    收藏  举报