Cryptography (SSL Pining)设备上的公钥CA如何检查服务器';证书

Cryptography (SSL Pining)设备上的公钥CA如何检查服务器';证书,cryptography,ssl-certificate,Cryptography,Ssl Certificate,我的设备上的CA如何检查数字签名是真是假?。如果黑客获得了我的数字签名,他们能否将我的数字签名与自己的公钥结合起来,并将证书发送给客户端?如果是这样,客户端如何知道证书不是来自正确的服务器 结论:我想知道从服务器检查数字签名的方法。他们如何从服务器使用CA的公钥检查数字签名 谢谢您的回答。自第一次回答后,我进一步更新了此内容,以增加更多细节和清晰度 证书颁发机构(CA)和证书的背景 证书颁发机构或CA为个人或企业实体颁发证书。CA形成了一个层次结构,其中在顶部有根CA 攻击者无法篡改证书,因为证

我的设备上的CA如何检查数字签名是真是假?。如果黑客获得了我的数字签名,他们能否将我的数字签名与自己的公钥结合起来,并将证书发送给客户端?如果是这样,客户端如何知道证书不是来自正确的服务器

结论:我想知道从服务器检查数字签名的方法。他们如何从服务器使用CA的公钥检查数字签名

谢谢您的回答。

自第一次回答后,我进一步更新了此内容,以增加更多细节和清晰度

证书颁发机构(CA)和证书的背景

  • 证书颁发机构或CA为个人或企业实体颁发证书。CA形成了一个层次结构,其中在顶部有根CA
  • 攻击者无法篡改证书,因为证书由证书颁发CA进行数字签名
  • 根CA具有自签名证书
  • 根CA签署下一级中级CA证书
  • 根CA证书和各种其他全球公认的CA证书存储在浏览器、操作系统或应用程序的受信任密钥存储中
  • 中间CA可以颁发创建链的其他中间CA证书
  • 证书链包含对可信根CA的最终证书,包括中间的中的所有中间CAs
  • 要成功验证证书,验证代理必须从证书所有者处获取链证书,或者在其受信任密钥存储中拥有结束证书
  • 数字签名提供:

    数字证书用于对文档进行数字签名。证书随签名文档一起发送,以便收件人可以验证签名文档的真实性和完整性

    对消息进行数字签名意味着使用预定义的算法计算消息的散列(单向),然后使用证书所有者的私钥对散列进行加密。由于除了所有者本人之外,没有人应该知道证书的私钥,因此没有人可以生成可以用证书的公钥解密的相同签名

    因此,数字签名提供了三个方面:

  • 身份验证—通过验证数字证书(使用上面提到的证书链),接收方知道消息确实是由受信任方发送的

  • 不可否认性-消息发送者不能在以后否认消息不是由其发送的,因为没有其他人拥有消息发送者的私钥,因此没有其他人可以使用相同的私钥对消息进行签名

  • 完整性-由于收件人计算的收到消息的散列与发件人发送的散列(使用发件人公钥解密后)相同(使用发件人公钥解密后),因此证明客户端收到的消息与发件人发送的消息完全相同,否则,如果消息被蓄意攻击或无意的网络错误篡改,则哈希值会有所不同

  • 数字签名创建 数字签名是由

    • 使用哈希函数计算消息(签名所有者希望发送给另一方)的哈希
    • 使用私钥加密哈希
    签名验证

    数字签名文档的任何收件人都希望验证签名,以确保文档的真实性和完整性。可通过以下方式进行验证:

  • 使用相同的哈希函数计算消息的哈希

  • 使用发送方的公钥(证书中提供)解密签名

  • 计算的哈希和解密的哈希应该相同

  • 因此,只要证书私钥不被泄露,它就是一种健壮的机制

    一些技术细节

    有关证书的两个重要标准是:和。详细信息可以在链接的维基百科页面中找到


    使用Java
    keytool
    实用程序,任何人都可以创建自签名签名。但是,除非收件人在其设备信任存储中添加证书,否则这些证书或签名将不会在任何地方受到信任。

    因此,消息的哈希计算是在客户端进行的,那么什么消息呢?以及散列是如何创建的?我的意思是计算消息方法的散列如何与设备上的CA相关。我知道服务器端发送数字签名并使用公钥获取散列,客户端如何获取另一个散列进行比较?我的意思是,客户端在他们的设备上有散列,所以我们知道的散列是信任CA,对吗?@LLawliet-在回答中补充了进一步的澄清。希望它现在能澄清这些疑问。哈希由一个数学函数计算,该函数将发送者想要发送的消息作为输入,并输出一个固定长度的字符串。然后对散列进行加密并发送,以便攻击者无法更改散列、重新计算散列并发送给收件人。因此,散列本身只提供不可否认性和完整性。这张照片里没有CA。当客户机/收件人想要验证发件人是否真的是其声称的实体时,CA就会出现。谢谢澄清我,但我搞混了收件人何时收到用于计算哈希以比较发件人哈希的消息?Integrity@LLawliet,不知道我是否理解你的疑问。假设我有一个由全球受信任的CA颁发给我的数字签名。我可以签署一个pdf文档并将其发送给您。因此,您现在有了消息,即文档。在Adobe Re中打开文档时