“两边的随机数虽然会变,但开始交互随机数的时候报文还是未加密的,我理解是可以拿到” 随机数就上面说的 a 、b ,你拿不到。
“就是这个 master key 不知道怎么理解?是公钥还是私钥呢” 既不是公钥也不是私钥,公钥和私钥是为了确保上面说的公开参数 p 、g 、A 、B 被中间人两边冒充。 上面说的 K 便是 “pre-master-key (预主密钥)”,然后由预主密钥经过一系列变化得到“master key (主密钥)”。
“本机上有办法可以直接抓解密后的包,到了另一台机器上就解不了” 本机抓包就是交换公开参数 p 、g 、A 、B 时,中间人两边冒充是对方把 A 和 B 都替换掉。也就是对客户端替换掉服务端发来的 B ,自己和客户端协商了一个预主密钥。对服务端替换掉客户端发来的 A ,自己和服务端协商了另一个预主密钥。中间人拿着两个预主密钥分别和两端通信,但两端都误以为是和真正的对方通信。