数字证书与私钥

时间:2024-04-02 17:12:16

      由于公钥是随机产生的,从公钥无法直接判断属于哪个用户。为了解决公钥与用户的一一对应关系,PKI引用了数字证书,用于建立公钥与用户直接的对应关系。

    数字证书其实是一种特殊的文件格式,常见的证书格式为x.509格式证书。其中包含了用户的身份信息、公钥信息、CA使用的签名。身份信息可以包含国家、地区、单位、城市等。

    数字证书包含了CA私钥的签名,同时包含CA发布的的公钥,使用公钥对私钥的签名进行解密处理后,可判断当前的证书是否被篡改,因此证书具有防伪性。所以,证书中的公钥和用户信息具有可信度,证书的防伪性取决于公钥算法个CA私钥的安全。由于证书不包含秘密信息,所以证书可以被公开发布。一张证书信息如下图,

数字证书与私钥

数字证书可以作为网络中的身份证。

      现实生活中我们每人都有一个身份证,身份证上有我们的姓名、出生日期、地址、有效期等信息,当我们使用身份证去买火车票时,对方会验证我们的身份证有效性,主要从以下几方面验证:

  1. 验证身份证是否伪造,需要专门的二代身份证读写设备。
  2. 验证身份证信息是否正确,需要查询*部的数据库。
  3. 验证身份证是否和持有人一致,需对比身份证上的照片与持证人的长相。
  4. 验证身份证是否在黑名单中,需查询黑名单数据库,*部提供 。

通过以上四点基本可以确认一个身份证和持有人的对应关系是否一致,数字证书本身也具有防伪性,原理是肯定是可以作为网络中一个人的身份证的。主要从以下几点验证网络中数字证书的合法性:

  • 验证数字证书是否伪造,可通过CA验证
  • 验证数字证书信息是否正确,CA中心在签发证书保证信息的正确性。
  • 验证数字证书是否与持证人一致,要求持证人使用私钥对特定数据进行加密或签名,然后使用数字证书的公钥来解密该数据或者验签。
  • 验证数字证书是否在黑名单中,可通过查询黑名单数据库,CA中心提供黑名单。

数字证书作为网络身份证,可以解决“你是谁”的问题,从技术上保证了每个人的唯一性,既不重复也无法复制。

因为数字证书可以公开发布,所以证书中可以附加各种信息。X.509的证书标准常用的策略信息有:

  • 有效期,证书的有效使用时间,发证日期和结束日期。
  • **用途:公钥和私钥的用途,如:数字签名、数据加密、签发证书、安全电子邮件。
  • 别名:持证人的别名和CA中心的别名。
  • 黑名单地址。
  • 是否为CA中心的数字证书,如果是,规定一下能签发几级证书。

实际中如何验证证书的正确性?

CA中心也会为自己发布证书,改正数包含CA中心的公钥、CA中心的身份信息、CA中心的私钥签名值。此类证书被称为CA证书,CA中心可以发布在自己的官网上供用户下载。用户拿到CA证书,就得到了CA的公钥,使用公钥解密持有者证书中私钥的签名值,就可验证用户证书的有效性。

注:

公钥以证书的形式可以公开发布在网络中,但是私钥一定要保密,这也是公钥密码技术的通用原理。私钥一般保存在硬件设备中(USBKey、IC卡等),并且不允许导出到设备外面,如果私钥保存在硬盘文件中,则需要进行口令保护,但这样就容易被复制。