您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

网络密钥交换与公钥分发的方法

时间:2019-09-18 09:38:32  来源:  作者:

一、 背景

在当前的网络环境中,ETH网络要想保证两个节点间通信中的数据是安全的,通常需要混合使用公开密钥算法(非对称加密算法)来进行密钥交换,然后使用对称加密算法将数据加密,使用单向散列函数生成数据指纹,使用签名算法生成数据签名,然后一起将加密数据,数据指纹,数据签名一起发送给对方。

这是目前通用的密钥交换的方式,但也有一个无法避免的问题,就是需要第三方来保证公钥的正确性,同时在双方通信之前,都需要可信的第三方提供对方的公钥。

本文介绍一种不使用公开密钥算法而是采用工作量证明来进行密钥交换的方法,整个过程不需要第三方的参与。

 

二、 方案

假设通信双方为A和B, 方法中x为随机数,y为需要交换的n位加密密钥,n是固定值。过程描述如下:

1、A 使用随机数算法,生成x, 生成n位密钥y, 使用y对x进行对称加密生成密文Sx。

2、A重复步骤1 执行m次,生成m个Sx。 因为x是随机生成的,所以m个x,y,Sx都是不一样的。

3、A将m个x,Sx 发送给B。

4、B从m个x,Sx中随机选择一对,然后进行穷举破解,破解出y。穷举破解的过程即为工作量证明。

5、B将选中的x发送给A。此时A 与 B都知道了密钥y。之后使用y加密数据进行通信即可。

此方法的可行性主要在单次穷举破解的复杂性以及消息的数量m。 破解的复杂度太高会导致工作量证明花费的时间太多,消息的数量m太少也不行,太少会降低破解的难度。

网络的密钥交换与公钥分发的方法

当然,上述方法还存在其他问题,比如如果在第3步,第5步数据被截获,虽然通过第3步暂时无法破解具体的x,y,但是第5步是可以破解x,y的。 如果在后续的通信中,仅使用y对数据加密,也存在数据完整性和防抵赖方面的问题。有一种情况是非常适合使用此方式的。就是双方在不知道对方公钥的情况下,同时又不想依赖第三方的时候,可以依赖此方式进行安全的密钥交换和公钥分发以及安全通信。因此我们继续完善方案:

 

三、优化方案

上述方案的前提条件不变,同时A,B各自生成自己的公私钥对。

1、上述步骤1,2不变。

2、A将m个x,Sx,Pxa发送给B,其中Pxa为 使用y加密Pa的结果,Pa为A的公钥。

3、B随机选择一个暴力破解出y,然后根据y解密Pxa,此时也知道了Pa。

4、B使用Pa加密x,使用y加密Pb发送给A。

5、A收到使用私钥解开x,则知道了y,使用y可以知道Pb。至此,A,B都知道y,以及对方的公钥。

从安全性上,即使第2步,第4步中,即使数据包被截获,攻击者也无法从m个x,Sx中破解出来需要的y,也无法知道双方的公钥。

网络的密钥交换与公钥分发的方法

该优化方案还解决了另一个问题,就是公钥的分发问题。现在常用的公钥分发都是先将公钥存储在集中的数据库中,然后到数据库中获取对应的公钥,但是由于事前用户并不知道需要跟谁通信,因此就必须保证用户计算机与数据库服务器是连通的。而此方法并不需要中心化的数据库来支持分发,只需要通信双方能够知道对方存在即可。

作者:感谢HPB 蓝莲花团队整理供稿。

注:如有问题请在下方留言联系我们技术社群。

汪晓明:HPB芯链创始人,巴比特专栏作家。十余年金融大数据、区块链技术开发经验,曾参与创建银联大数据。主创区块链教学视频节目《明说》30多期,编写了《以太坊官网文档中文版》,并作为主要作者编写了《区块链开发指南》,在中国区块链社区以ID“蓝莲花”知名。



Tags:网络密钥   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
一、 背景在当前的网络环境中,ETH网络要想保证两个节点间通信中的数据是安全的,通常需要混合使用公开密钥算法(非对称加密算法)来进行密钥交换,然后使用对称加密算法将数据加密,使...【详细内容】
2019-09-18  Tags: 网络密钥  点击:(167)  评论:(0)  加入收藏
▌简易百科推荐
写一个shell获取本机ip地址、网关地址以及dns信息。经常会遇到取本机ip、网关、dns地址,windows一个命令ipconfig /all全部获取到,但linux系统却并非如此。linux系统都自带ifc...【详细内容】
2021-12-27  K佬食古    Tags:shell   点击:(2)  评论:(0)  加入收藏
步骤1、配置 /etc/sysconfig/network-scripts/ifcfg-eth0 里的文件。it动力的CentOS下的ifcfg-eth0的配置详情:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifc...【详细内容】
2021-12-24  忆梦如风    Tags:网卡   点击:(10)  评论:(0)  加入收藏
1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录find . -name “*.tar” -execmv {}./backup/ ;注解:find –name 主要用于查找某个文件名字,-exec 、xargs可...【详细内容】
2021-12-17  郭主任    Tags:运维   点击:(20)  评论:(0)  加入收藏
对于经常上网的朋友来说,除了手机购物上网,pc端玩网页游戏还是很多小伙伴首选的,但是有时候明明宽带链接上了,打开浏览器却出现上不了网的现象,下面小编要来跟大家说说电脑有网络...【详细内容】
2021-12-16  小白系统    Tags:网页无法打开   点击:(28)  评论:(0)  加入收藏
在访问像github、gitlab这样的外国网站时,很有可能会出现页面加载不出来或找不到页面的错误。这时候有的朋友就会以为是网络的问题,于是把Wifi断掉连上自己手机的热点,结果却还...【详细内容】
2021-12-15  启施技术IT狼叔    Tags:外网   点击:(16)  评论:(0)  加入收藏
网络地址来源:获取公网IP地址 https://ipip.yy.com/get_ip_info.phphttp://pv.sohu.com/cityjson?ie=utf-8http://www.ip168.com/json.do?view=myipaddress...【详细内容】
2021-12-15  韦廷华12    Tags:外网ip   点击:(15)  评论:(0)  加入收藏
准备好软件IPOP、用ENSP模拟一下华为交换机 启动交换机 <Huawei>sysEnter system view, return user view with Ctrl+Z.[Huawei]sysname FTPClient[FTPClient]interface vla...【详细内容】
2021-12-15  思源Edward    Tags:交换机   点击:(24)  评论:(0)  加入收藏
我们经常用到netstat命令查看主机连接状况,包括连接ip、端口、状态等,今天就练习下shell分析netsat结果。描述假设netstat命令运行的结果我们存储在nowcoder.txt里,格式如下:Pro...【详细内容】
2021-12-14  K佬食古    Tags:netstat   点击:(19)  评论:(0)  加入收藏
什么是滑动窗口?窗口是操作系统开辟的一块缓存空间,发送方在收到接收方ACK应答之前,必须在缓冲区保留已发送的数据,如果按期收到确认应答,数据就可以从缓冲区移除。什么是滑动窗...【详细内容】
2021-12-14  DifferentJava    Tags:TCP   点击:(30)  评论:(0)  加入收藏
概述日常管理华为路由设备过程中,难为会忘记设备登录密码,那么该如何重置设备登录密码吗?本期文章将全面向各位小伙伴总结分享。重置华为设备登录密码思路先行 采用console登录...【详细内容】
2021-12-10  onme0    Tags:   点击:(27)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条