让我们假设中间有一个人可以读取(而不是修改)在客户机和服务器之间传输的所有数据。我们希望客户端能够在不公开他们的凭据的情况下登录。
我们将在这里使用非对称加密。
当客户端要登录时,客户端将向服务器发送信号以启动进程并生成密钥对并将公钥发送到服务器,服务器将创建会话并为自己生成密钥对并将公钥返回给客户端。现在,两者都有密钥对,所以它们之间的任何数据传输都可以加密,中间的人无法读取数据。
因此,客户端可以向服务器发送加密的登录凭据,服务器可以返回加密的登录数据。
我们认为中间的人不能修改数据的假设基本上是错误的,因此,如果中间商用生成的键替换密钥,那么他就能够读取所有的数据。
这个提议有什么余地吗?
我很想听听网络安全工程师的反馈
发布于 2020-08-16 08:01:37
您的密钥交换缺少身份验证。这就是为什么处于MitM位置的人可以很容易地与双方建立加密的会话,并且他们无法区分与直接相互通信的区别。
非对称加密比对称加密慢。您不希望对数据使用非对称加密,而只是为了保护连接期间使用的对称密钥的密钥交换。在传输层安全(TLS)中,这正是这样做的,PGP也对数据使用对称加密。
本质上这是关于..。为什么我们不应该建立我们自己的安全计划?
https://security.stackexchange.com/questions/237156
复制相似问题