当我阅读这个问题有关客户端用私钥签名的内容时,我想知道:是什么阻止了以下场景的发生:
发布于 2015-05-24 10:34:03
正如已接受的答案中所指出的,签名是使用各种数据的私钥来确定的:
‘签名’的值是由相应的私钥对下列数据的签名,按以下顺序排列:字符串会话标识符字节SSH_MSG_USERAUTH_REQUEST字符串用户名服务名称字符串"publickey“布尔真字符串公钥算法名称字符串用于身份验证
签名位于“会话标识符”之上,该“会话标识符”是该连接的唯一标识符。
根据RFC 4253:
来自第一个密钥交换的exchange散列H还用作会话标识符,该会话标识符是此连接的唯一标识符。它被身份验证方法用作数据的一部分,该数据被签名作为拥有私钥的证明。
此会话标识符将是client --> server连接的唯一标识符,因此不能在server --> server连接上使用相同的签名,从而减轻对第二个SSH服务器的任何重放攻击。
https://security.stackexchange.com/questions/89987
复制相似问题