使用公钥加密的网络连接

时间:2010-11-17 15:50:19

标签: cryptography encryption public-key-encryption

A使用公钥加密技术通过网络连接向B发送数据时,A如何实现身份验证和机密性目标?

2 个答案:

答案 0 :(得分:3)

在这种情况下,A使用B的公钥,B使用A的。

机密性:如果A使用B的公钥加密某些内容,那么只有拥有B私钥的人才能读取它。在实践中,A很可能为AES之类的对称密码生成随机密钥,因为它更有效,但如果使用B的公钥加密,则只有A和B应该拥有它。

身份验证:这更复杂。通常,如果您可以保密地发送信息,则可以发送身份验证凭据。公钥加密可以提供帮助,前提是A的公钥由于某种原因而被称为A.也许它是出于某种原因在B信托中注册的,也许B之前已经与A沟通过,并想知道它是否是同一个密钥。然后A可以发送用A的私钥加密的消息,可以用A的公钥读取。这可以通过散列消息并加密散列来用作加密签名。

在这些情况下,我假设A和B有私钥和公钥,没有其他人知道他们的私钥(而A不知道B的私钥,反之亦然)。如果E知道A的私钥,那么E可以发送看似来自A的消息,并且E可以读取所有私人消息到A.此外,如果B不知道A的公钥是A的开头,B可以'告诉E是否正在进行中间人攻击,通过与B和E的公钥进行通信,与A和A的公钥进行通信,并转发通信。这意味着E可以读取(违反机密性)和更改(违反身份验证)两者之间的通信。这通常由受信任的证书颁发机构颁发的证书处理,这超出了问题的范围。

答案 1 :(得分:0)

阅读有关SSL / TLS如何工作的说明。例如,您可以阅读我们网站上的introductory article