p2p秘钥交换中使用了ECDHE,下面我将介绍一些概念,并配上代码实现。
Diffie-Hellman`秘钥交换协议
迪菲-赫尔曼密钥交换(英语:Diffie–Hellman key exchange,缩写为D-H) 是一种安全协议,是Whitefield Diffie和Martin Hellman在1976年公布的一种在公共信道中安全交换秘钥的密钥协商算法,不是加解密算法
,目的在于使两个用户安全的交换一个共享秘钥,用于两边通讯报文的加密. 双方在没有对方任何预先信息的情况下,能够在不安全的信道上建立共享的私钥。该私钥作为对称秘钥用于加密后续的通信数据。Diffie-Hellman 秘钥交换是一种非认证 秘钥交换协议,但为很多认证协议提供了基础,在传输层临时安全中用于前向保密。
前向安全性 (维基百科)
前向安全或前向保密(英语:Forward Secrecy,缩写:FS),有时也被称为完美前向安全[1](英语:Perfect Forward Secrecy,缩写:PFS),是密码学中通讯协议的安全属性,指的是长期使用的主密钥泄漏不会导致过去的会话密钥泄漏。[2]前向安全能够保护过去进行的通讯不受密码或密钥在未来暴露的威胁。[3]如果系统具有前向安全性,就可以保证万一密码或密钥在某个时刻不慎泄露,过去已经进行的通讯依然是安全,不会受到任何影响,即使系统遭到主动攻击也是如此。
ECDH
:Elliptic Curve Diffie-Hellman 是基于椭