我正在努力理解数字签名和数字证书。我知道数字证书验证服务器的公共验证密钥,但是网站的(客户端)私密验证密钥标志是什么?
发布于 2022-11-12 07:49:33
该网站的(客户)私人验证密钥标志是什么?
当标准浏览器连接到网站时,该浏览器就是客户端,通常没有公钥/私钥对。因此,没有“网站的客户私人验证密钥”签署。
在下面,我考虑的网站有一个单一的服务器,因此不区分是一个密钥或证书是该网站,或服务器。
网站的私人签名密钥是用来签名的吗?
该网站的私钥与该网站的证书签名的公钥相匹配,网站使用它来签署一条包含浏览器产生的质疑的消息,生成一个会话唯一的签名,由浏览器根据服务器从服务器证书中提取的公钥进行验证。
更详细的内容:在TLS1.3中,网站签名的是抄本散列,它是一些早期浏览器和服务器的†选择的摘要,它们都有机会使用它们生成的随机种子进行影响。
浏览器从某种程度上获取网站的证书(通常是从服务器或缓存中获得);检查该证书的签名(通常通过一系列证书(可能是从服务器获得的证书),以及从浏览器附带的本地可信证书‡数据库获得的证书);可能检查证书没有被撤销;从网站证书中提取网站的公钥;并根据该公钥和联合生成的抄本散列验证服务器的证书验证消息中的签名。
具体而言: ClientHello、HelloRetryRequest、ClientHello、ServerHello、EncryptedExtensions、服务器CertificateRequest、服务器证书、服务器CertificateVerify、服务器完成、EndOfEarlyData、客户端证书、客户端CertificateVerify、客户端已完成的服务。
‡这个最终可信证书的列表是整个系统的一个严重弱点,以至于只有傻瓜才会从国家一级的参与者和其他资金充裕的对手那里信任TLS安全。关于(可能)流氓认证机构的最新(2022年11月)帐户,请参见例如布鲁斯·施耐尔的博客文章,或者(虽然这很有效) 华盛顿邮报文章,AFAIK在一般媒体上打破了关于该特定(可能)流氓CA的故事,与乔尔里尔登。
https://crypto.stackexchange.com/questions/102714
复制相似问题