ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

p2p节点连接中的秘钥交换RLPX (理论篇)

2020-06-07 11:38:48  阅读:321  来源: 互联网

标签:Hellman RLPX 交换 秘钥 前向 密钥 Diffie p2p


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 是基于椭圆曲线Diffie-Hellman 的秘钥交换协议

ECIES:Elliptic Curve Integrated Encryption Scheme),是Certicom公司提出的公钥加密方案,可以抵挡选择明文攻击和选择密文攻击

KDF:秘钥导出函数(Key derivation function),使用伪随机函数从秘密值导出一个或多个密钥。KDF可用于将密钥扩展到更长的密钥或获得所需格式的密钥。在RLPX中是用本地随意私钥和对方随意公钥生成共享种子。

ecies.ImportECDSA(prv).GenerateShared(h.remote, sskLen, sskLen)

ECDHE:(Ephemeral Elliptic Curve Diffie-Hellman)临时椭圆曲线Diffie-Hellman 秘钥交换协议,字面多了一个E(ephemeral)代表了临时ECDHE每条会话都重新计算一个临时密钥,即使一方的私钥被泄露,过去的通信还是安全的,相比ECDH它是正向安全的

	ecdheSecret, err := h.randomPrivKey.GenerateShared(h.remoteRandomPub, sskLen, sskLen)

RLPx 使用了完全前向保密技术(perfect forward secrecy),通信双方生成随机公私钥对,交换各自本地公钥,并使用本地公钥对随机公钥加密发送到对方。使用自己的随机私钥和对方的公钥生成共享秘密(shared-secret)。后续使用这个共享秘密AES对称加密传输的数据,即使一方的私钥被泄露,过去的通信还是安全的

标签:Hellman,RLPX,交换,秘钥,前向,密钥,Diffie,p2p
来源: https://blog.csdn.net/JIYILANZHOU/article/details/106568458

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有