个人数字证书如何验证

信息安全 密码学 证书
2021-08-19 18:42:50

服务器证书将在其主题字段中具有其域名。个人证书将以您的姓名作为主题字段。您如何确定没有两个同名证书?

例如:- 假设您需要向用户 A 发送一些加密数据。你怎么能确定它的用户 A 而不是其他人?我想,仅通过验证证书上的名称并不能消除中间人攻击的风险。

3个回答

证书的目的是将公钥与实体绑定,这是 PKI注册机构的责任,以确保证书中的实体身份与密钥持有者实体匹配(例如,对于 SSL 证书,实体可以是服务器,身份是域名)。

描述 RA 如何执行此匹配的程序可以在 PKI 发布的名为Certificate Policy的公共文档中找到。

这是证书用户(用于加密签名验证)读取 CP 并决定颁发此证书的证书颁发机构的可信度的责任。当然,您不会对某些 PKI 有同样的信心,这些 PKI 声明仅验证密钥持有者的电子邮件,而 PKI 则在智能卡上交付证书,直接在密钥持有者手中,并进行官方身份检查。但有时验证电子邮件可能就足够了。

实际上,最重要的问题是:

  • RA 已检查证书中的哪些数据?
  • 这些数据是否以值得信赖的方式收集?
  • 根据您的需要(电子邮件签名、合同的电子签名......)您可以信任证书吗?

使用用户的电子邮件地址作为标识符怎么样?

如果您需要唯一标识符,请使用证书的序列号和颁发者 DN。这就是 OCSP 的做法,并且保证是独一无二的。正如 nealmcb 所说 - 证书中的描述性信息(主题 DN、主题替代名称等)由 RA 验证,并且不需要是唯一的,除非您的 CA 具有管理唯一性的业务实践。某些组会这样做 - 例如,他们可能会在主题 DN 中包含员工 ID,并在注册过程中将其与公司数据库进行检查。但要实现类似的东西,您必须确保您坚持使用提供此功能的 PKI 系统。