Certificate 关于数字证书的一些困惑

Certificate 关于数字证书的一些困惑,certificate,digital-certificate,Certificate,Digital Certificate,数字证书是一种数字文档,用于证明特定用户拥有某个公钥。因此,如果您信任签署证书C的CA,那么您可以信任特定的公钥/私钥对属于证书C的所有者 a) 假设客户端a希望与位于url www.some_domain.com的服务器B建立连接。当与B建立连接时,a可以从另一端接收属于证书C所有者的X.509证书和公钥 但是,客户端如何知道C的所有者实际上是一个服务器B,而不是劫持连接并将自己的证书和公钥发送到a的其他实体呢 我能想到的唯一方法是让客户知道C的所有者是否真的是B,即C的Subject字段是否

数字证书是一种数字文档,用于证明特定用户拥有某个公钥。因此,如果您信任签署证书
C
的CA,那么您可以信任特定的公钥/私钥对属于证书
C
的所有者

a) 假设客户端
a
希望与位于url www.some_domain.com的服务器
B
建立连接。当与
B
建立连接时,
a
可以从另一端接收属于证书
C
所有者的X.509证书和公钥

但是,客户端如何知道
C
的所有者实际上是一个服务器
B
,而不是劫持连接并将自己的证书和公钥发送到
a
的其他实体呢

我能想到的唯一方法是让客户知道
C
的所有者是否真的是
B
,即
C的Subject
字段是否也指定了此证书有效的域,或者它是否指定了此证书所属的组织(但只有当客户知道www.some_domain.com属于哪个组织时,这才有帮助)


谢谢

,因为“C”是由您系统中已有的CA证书颁发机构签署的。这就是为什么控制CA的政府可以破坏该方案的原因

如果您在浏览器中查看证书,则可以看到是谁签署了该证书。例如,gmail由Thawte签署,Thawte由Verisign签署。
CN
字段标记为
www.google.com
,因此它仅对该域有效

也许你说的是中间人:

中间人攻击只有在攻击者能够模拟每个端点使另一个端点满意时才能成功。这是一种对相互身份验证的攻击。大多数加密协议包括某种形式的端点身份验证,专门用于防止MITM攻击。例如,SSL使用相互信任协议对服务器进行身份验证d证书颁发机构

因此,在您的场景中,只有一方会被愚弄。请查看下面的步骤2:

  • 步骤1:客户通过SSL端口(通常为443)连接到xyz.com。此连接用https而不是http表示
  • 步骤2:xyz.com将其公钥发回给客户。客户收到公钥后,其浏览器将决定是否可以继续

    • xyz.com公钥不得过期
    • xyz.com公钥只能用于xyz.com
    • 客户端必须在其浏览器证书存储中安装Trustwave的公钥。99.9%的现代浏览器(1998+)包括Trustwave根证书。如果客户拥有Trustwave受信任公钥,则他们可以相信他们确实在与XYZ,Inc.通信
  • 步骤3:如果客户决定信任该证书,则会将其公钥发送到xyz.com。 -步骤4:xyz.com接下来将创建一个唯一的散列,并使用客户的公钥和xyz.com的私钥对其进行加密,然后将其发送回客户端

  • 步骤5:客户的浏览器将解密散列。此过程显示xyz.com发送了散列,只有客户能够读取
  • 步骤6:客户和网站现在可以安全地交换信息

因为“C”是由您系统中已有的CA证书颁发机构签署的。这就是为什么控制CA的政府可以破坏该方案的原因

如果您在浏览器中查看证书,则可以看到是谁签署了该证书。例如,gmail由Thawte签署,Thawte由Verisign签署。
CN
字段标记为
www.google.com
,因此它仅对该域有效

也许你说的是中间人:

中间人攻击只有在攻击者能够模拟每个端点使另一个端点满意时才能成功。这是一种对相互身份验证的攻击。大多数加密协议包括某种形式的端点身份验证,专门用于防止MITM攻击。例如,SSL使用相互信任协议对服务器进行身份验证d证书颁发机构

因此,在您的场景中,只有一方会被愚弄。请查看下面的步骤2:

  • 步骤1:客户通过SSL端口(通常为443)连接到xyz.com。此连接用https而不是http表示
  • 步骤2:xyz.com将其公钥发回给客户。客户收到公钥后,其浏览器将决定是否可以继续

    • xyz.com公钥不得过期
    • xyz.com公钥只能用于xyz.com
    • 客户端必须在其浏览器证书存储中安装Trustwave的公钥。99.9%的现代浏览器(1998+)包括Trustwave根证书。如果客户拥有Trustwave受信任公钥,则他们可以相信他们确实在与XYZ,Inc.通信
  • 步骤3:如果客户决定信任该证书,则会将其公钥发送到xyz.com。 -步骤4:xyz.com接下来将创建一个唯一的散列,并使用客户的公钥和xyz.com的私钥对其进行加密,然后将其发送回客户端

  • 步骤5:客户的浏览器将解密散列。此过程显示xyz.com发送了散列,只有客户能够读取
  • 步骤6:客户和网站现在可以安全地交换信息

A通常配置有一组受信任的CA,将C的公钥映射到受信任的实体,在本例中为B。您在第一段中没有回答自己的问题,还是我遗漏了什么?

A通常配置有一组受信任的CA,