本发明涉及区块链的应用技术领域,尤其涉及一种基于区块链实现的名片签发方法及系统。
背景技术:
在现有技术中,为了提高安全性,对某个业务进行操作,往往需要多人同时进行授权。现有技术通过多人分别使用不同的签名设备的方式来分别生成多个完整的数字签名,然后依次进行数字签名验证,在这多个完整的数字签名全部验证通过后才确认可以进行该业务的操作。为了生成完整的数字签名,现有技术使用的签名设备中保存有完整的私钥,易被他人通过非法手段获得,降低了私钥的安全性。当然,使用软件形式实现的数字签名客户端,现有技术仍然不可避免的要在安装有该数字签名客户端的设备的内存中出现完整的私钥,同样易被他人通过非法手段获得。
而现有的区块链技术,是一种去中心化的分布式账本技术,能安全存储数据,信息不可篡改、公开透明。区块链的交易确认由区块上的所有节点共识完成,共识成功后打包写入区块。区块链存储区块链网络上所有交易,任意节点都有一本完整的账本,从而保证信息不可篡改,实现信息共享、提高信息流通的效率。
智能合约,区块链上的智能合约是指由solidity等语言编写和编译并运行与区块链上的一串二进制代码,通过智能合约可以实现在区块链上的数据存储、读写以及一些逻辑操作,目前大部分的区块链应用都是基于智能合约来运行的。智能合约使用的solidity语言是图灵完备的,可以实现应用业务逻辑的所有操作。
密码学原理,为确保数据的传输、存储安全,通常都会对传输的数据加密后存储或传输,接收方收到数据后解密密文,还原明文。通常采用的加密算法主要有对称密钥加密算法以及非对称密钥加密算法。在安全的数据通信中,通信的双方必须分别具有加密的密钥以及解密的密钥。
既然现有的名片加密解密技术还存在很多缺陷,最大的缺陷就是很容易被泄露信息,因此本发明就依赖于区块链技术实现一种保证数据的不可篡改的名片签发方法及系统。
技术实现要素:
本发明针对现有技术中的缺点,提供了一种基于区块链实现的名片签发方法及系统。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种基于区块链实现的名片签发方法,包括以下步骤:
获取所有者输入的名片信息和秘钥数据,其中,所述秘钥数据包括管理员公钥和管理员私钥,基于名片信息生成第一随机数,通过第一随机数对名片信息进行加密得到第一名片信息,通过管理员公钥对第一随机数进行加密,得到加密第一随机数;
将第一名片信息、加密第一随机数以及管理员公钥组合形成第一数据包,将第一数据包存储至区块链节点;
接收审核指令,从区块链节点获取第一数据包进行解密处理得到解密后第一名片信息,并对解密后第一名片信息进行签名和加密处理,得到第二名片信息,基于第二名片信息得到第二数据包,将第二数据包存储至区块链节点;
接收分发指令,从区块链节点获取第二数据包并进行处理,得到第三数据包,将第三数据包存储至区块链节点,响应于名片接收者的触发指令,从区块链节点处获取第三数据包并将第三数据包进行解密处理,得到第三名片信息,将第三名片信息发送至名片接收者。
作为一种可实施方式,基于名片信息还生成第一秘钥数据,所述第一秘钥数据包括第一公钥和第一私钥。
作为一种可实施方式,所述接收审核指令,从区块链节点获取第一数据包进行解密处理得到解密后第一名片信息,并对解密后第一名片信息进行签名和加密处理,得到第二名片信息,基于第二名片信息得到第二数据包,将第二数据包存储至区块链节点,具体步骤为:
从区块链节点获取第一数据包,通过管理员私钥对第一随机数进行解密得第二随机数,通过第二随机数对第一名片信息进行解密得到解密后第一名片信息;
通过第二随机数对签名后的名片信息进行加密得到第二名片信息;
通过第一公钥对第二随机数加密得到加密第二随机数;
将第二名片信息,加密第二随机数以及管理员公钥组合形成第二数据包并存储至区块链节点。
作为一种可实施方式,所述秘钥数据还包括接收者公钥和接收者私钥,所述接收分发指令,从区块链节点获取第二数据包并进行处理,得到第三数据包,将第三数据包存储至区块链节点,响应于名片接收者的触发指令,从区块链节点处获取第三数据包并将第三数据包进行解密处理,得到第三名片信息,将第三名片信息发送至名片接收者,具体步骤为:
从区块链节点获取第二数据包,通过第一私钥对加密第二随机数进行解密得到第三随机数;
通过接收者公钥对第三随机数进行加密,得到加密第三随机数,将加密第三随机数,第二名片信息以及管理员公钥组合形成第三数据包并存储至区块链节点;
从区块链节点处获取第三数据包,通过接收者私钥对加密第三随机数进行解密得到第四随机数,采用第四随机数对第二名片信息进行解密得到第三名片信息,将第三名片信息发送至名片接收者。
作为一种可实施方式,所有者输入的名片信息可被所有者进行修改名片信息或者自定义名片信息的内容。
作为一种可实施方式,所述接收审核指令,从区块链节点获取第一数据包进行解密处理得到解密后第一名片信息,包括:
向区块链节点发送第一数据包的审核请求指令;
接收区块链节点发送的第一数据包。
作为一种可实施方式,所述接收分发指令,从区块链节点获取第二数据包并进行处理,包括:
向区块链节点发送第二数据包的分发请求指令;
接收区块链节点发送的第二数据包。
一种基于区块链实现的名片签发系统,包括生成加密名片模块、上链模块、签名名片模块和分发名片模块;
所述生成加密名片模块,包括获取模块和加密模块,所述获取模块用于获取所有者输入的名片信息和秘钥数据,其中,所述秘钥数据包括管理员公钥和管理员私钥;所述加密模块,用于基于名片信息生成第一随机数,通过第一随机数对名片信息进行加密得到第一名片信息,通过管理员公钥对第一随机数进行加密,得到加密第一随机数;
所述上链模块,用于将第一名片信息、加密第一随机数以及管理员公钥组合形成第一数据包,将第一数据包存储至区块链节点;
所述签名名片模块,用于接收审核指令,从区块链节点获取第一数据包进行解密处理得到解密后第一名片信息,并对解密后第一名片信息进行签名和加密处理,得到第二名片信息,基于第二名片信息得到第二数据包,将第二数据包存储至区块链节点;
所述分发名片模块,用于接收分发指令,从区块链节点获取第二数据包并进行处理,得到第三数据包,将第三数据包存储至区块链节点,响应于名片接收者的触发指令,从区块链节点处获取第三数据包并将第三数据包进行解密处理,得到第三名片信息,将第三名片信息发送至名片接收者。
作为一种可实施方式,所述生成加密名片模块被设置为:
基于名片信息还生成第一秘钥数据,所述第一秘钥数据包括第一公钥和第一私钥。
作为一种可实施方式,所述签名名片模块被设置为:
从区块链节点获取第一数据包,通过管理员私钥对第一随机数进行解密得第二随机数,通过第二随机数对第一名片信息进行解密得到解密后第一名片信息;
通过第二随机数对签名后的名片信息进行加密得到第二名片信息;
通过第一公钥对第二随机数加密得到加密第二随机数;
将第二名片信息,加密第二随机数以及管理员公钥组合形成第二数据包并存储至区块链节点。
作为一种可实施方式,秘钥数据还包括接收者公钥和接收者私钥;
所述分发名片模块被设置为:
从区块链节点获取第二数据包,通过第一私钥对加密第二随机数进行解密得到第三随机数;
通过接收者公钥对第三随机数进行加密,得到加密第三随机数,将加密第三随机数,第二名片信息以及管理员公钥组合形成第三数据包并存储至区块链节点;
从区块链节点处获取第三数据包,通过接收者私钥对加密第三随机数进行解密得到第四随机数,采用第四随机数对第二名片信息进行解密得到第三名片信息,将第三名片信息发送至名片接收者。
作为一种可实施方式,所述生成加密名片模块被设置为:
所有者输入的名片信息可被所有者进行修改名片信息或者自定义名片信息的内容。
作为一种可实施方式,所述签名名片模块包括签名名片子模块,所述签名名片子模块被设置为:
向区块链节点发送第一数据包的审核请求指令;
接收区块链节点发送的第一数据包。
作为一种可实施方式,所述分发名片模块包括分发名片子模块,所述分发名片子模块被设置为:
向区块链节点发送第二数据包的分发请求指令;
接收区块链节点发送的第二数据包。
本发明由于采用了以上技术方案,具有显著的技术效果:
本发明的方法和系统是基于区块链建立的,将区块链和名片的签发完美的结合,可以保证数据的不可篡改、持久有效;采去中心化的架构下保证了员工身份防伪和本公司身份数据的安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的整体流程示意图;
图2是本发明的整体系统示意图;
图3是本发明具体的架构与流程示意图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
实施例1:一种基于区块链实现的名片签发方法,如图1所示,包括以下步骤:
s100、获取所有者输入的名片信息和秘钥数据,其中,所述秘钥数据包括管理员公钥和管理员私钥,基于名片信息生成第一随机数,通过第一随机数对名片信息进行加密得到第一名片信息,通过管理员公钥对第一随机数进行加密,得到加密第一随机数;
s200、将第一名片信息、加密第一随机数以及管理员公钥组合形成第一数据包,将第一数据包存储至区块链节点;
s300、接收审核指令,从区块链节点获取第一数据包进行解密处理得到解密后第一名片信息,并对解密后第一名片信息进行签名和加密处理,得到第二名片信息,基于第二名片信息得到第二数据包,将第二数据包存储至区块链节点;
s400、接收分发指令,从区块链节点获取第二数据包并进行处理,得到第三数据包,将第三数据包存储至区块链节点,响应于名片接收者的触发指令,从区块链节点处获取第三数据包并将第三数据包进行解密处理,得到第三名片信息,将第三名片信息发送至名片接收者。
本发明方法是基于区块链技术,融合区块链智能合约以及密码学原理实现的,将区块链和名片的签发完美的结合,可以保证数据的不可篡改、持久有效;采去中心化的架构下保证了员工身份防伪和本公司身份数据的安全。
本发明加密的过程是对名片信息进行对称加密,然后再使用非对称加密对对称加密的秘钥进行加密,这样保证了数据不被篡改。如果名片接收者要看名片信息,则需要名片所有者获取到的管理者公钥,利用管理者公钥对对称加密的秘钥进行加密,所有加密解密的操作均在区块链下进行,只要名片所有者的私钥不被泄露,就能保证数据安全。
在本发明中所有的随机数(包括文中的随机数、第一随机数、第二随机数、加密第二随机数、第三随机数、加密第三随机数、第四随机数)都是随机生成的,这些数据在一定概率上也会是相同的,后续具体的实施例中,加密第二随机数、加密第三随机数指代的就是加密后的随机数,剩余的所有的随机数都是明文随机数。在步骤s100中,基于名片信息还生成第一秘钥数据,所述第一秘钥数据包括第一公钥和第一私钥。对于第一公钥和第一私钥来说,都是采用区块链与相同的公私钥生成的算法生成的,其主要的目的就是为用户生成在区块链上唯一标识的用户身份的公私钥匙,这样的第一公钥和第一私钥只为所有者所有,也就是本申请中的名片所有者,后面具体的实施例中将第一公钥命名为了名片所有者公钥,将第一私钥命名为名片所有者私钥。而第一公钥和第一私钥都是通过本地加密算法生成的。
在一个实施例中,步骤s300所述接收审核指令,从区块链节点获取第一数据包进行解密处理得到解密后第一名片信息,并对解密后第一名片信息进行签名和加密处理,得到第二名片信息,基于第二名片信息得到第二数据包,将第二数据包存储至区块链节点,具体步骤可以为:
s310、从区块链节点获取第一数据包,通过管理员私钥对第一随机数进行解密得第二随机数,通过第二随机数对第一名片信息进行解密得到解密后第一名片信息;
s320、通过第二随机数对签名后的名片信息进行加密得到第二名片信息;
s330、通过第一公钥对第二随机数加密得到加密第二随机数;
s340、将第二名片信息,加密第二随机数以及管理员公钥组合形成第二数据包并存储至区块链节点。
在步骤s300中,所述接收审核指令,从区块链节点获取第一数据包进行解密处理得到解密后第一名片信息,包括:
s311、向区块链节点发送第一数据包的审核请求指令;
s312、接收区块链节点发送的第一数据包。
另外需要的是,并不是随随便便就能从区块链的节点上直接可以获取到第一数据包,第一数据包的获取是需要审核请求指令的,如果没有审核请求指令,则第一数据包不会获取到,这样可以保护到第一数据包不被泄露。
在一个实施例中,步骤s400所述秘钥数据还包括接收者公钥和接收者私钥,所述接收分发指令,从区块链节点获取第二数据包并进行处理,得到第三数据包,将第三数据包存储至区块链节点,响应于名片接收者的触发指令,从区块链节点处获取第三数据包并将第三数据包进行解密处理,得到第三名片信息,将第三名片信息发送至名片接收者,具体步骤为:
s410、从区块链节点获取第二数据包,通过第一私钥对加密第二随机数进行解密得到第三随机数;
s420、通过接收者公钥对第三随机数进行加密,得到加密第三随机数,将加密第三随机数,第二名片信息以及管理员公钥组合形成第三数据包并存储至区块链节点;
s430、从区块链节点处获取第三数据包,通过接收者私钥对加密第三随机数进行解密得到第四随机数,采用第四随机数对第二名片信息进行解密得到第三名片信息,将第三名片信息发送至名片接收者。
在步骤s400中,所述接收分发指令,从区块链节点获取第二数据包并进行处理,包括:
s411、向区块链节点发送第二数据包的分发请求指令;
s412、接收区块链节点发送的第二数据包。
同样,此步骤s400和步骤s300是相同的道理,并不是随随便便就能从区块链的节点上直接可以获取到第二数据包,第二数据包的获取是需要分发请求指令的,如果没有分发请求指令的,则第二数据包不会获取到,这样可以保护到第二数据包不被泄露。
以上所有实施例中,所有者输入的名片信息可被所有者进行修改名片信息或者自定义名片信息的内容。
为了能更直观的对本发明进行描述,也可以参见附图3的图示,还可以将以上实施例中提到的名词可以进行下标记,为了方便描述,假定系统以下记号:
a:名片所有者公钥a:名片所有者私钥b:接收者公钥b:名片接收者私钥
c:管理员公钥c:管理员私钥
i:名片明文信息i:加密后的名片信息
r:明文随机数r:加密后的随机数
在此,名片所有者公钥和名片所有者私钥就是之前提到的第一公钥和第一私钥;
名片明文信息就是没有经过加密的名片信息或者经过解密后第一名片信息,在本发明中名片明文信息对应的是第三名片信息,加密后的名片信息对应的是第一名片信息、第二名片信息。
在此具体的实施例中,步骤s100具体可以为:名片所有者在本地利用加密算法生成a、a和r,另外需要i和c进行填写,从系统或者方法的角度来讲,就是获取到i和c,使用r对i加密,产生i,并用c对r加密,产生r;
步骤s200为:将名片数据包(r,i,c)提交区块链节点存储;
步骤s300:公司管理员需要进行审核,根据获得名片数据包(r,i,c);通过c对r进行解密得到r,再使用r对i解密得i,审核后并签名;
使用r对签名后的i加密得i,再使用a对r加密得r;将名片数据包(r,i,c)提交区块链节点存储;
步骤s400:名片所有者从区块链节点获得名片数据包(r,i,c),使用a对r解密得到r,再使用b对r加密产生新的r,将名片数据包(r,i,c)提交到区块链节点存储;名片接收者根据a从区块链节点获取名片数据包(r,i,c),使用b解密r得r,再使用r解密i得i。i指代名片明文信息;i指代加密后的名片信息;r指代的明文随机数以及r指代加密后的随机数在以上每个步骤中是随着加密或者解密结果进行变化的,是个动态的结果。
实施例2、一种基于区块链实现的名片签发系统,如图2所示,包括生成加密名片模块100、上链模块200、签名名片模块300和分发名片模块400;
所述生成加密名片模块100,包括获取模块110和加密模块120,所述获取模块110用于获取所有者输入的名片信息和秘钥数据,其中,所述秘钥数据包括管理员公钥和管理员私钥;所述加密模块120,用于基于名片信息生成第一随机数,通过第一随机数对名片信息进行加密得到第一名片信息,通过管理员公钥对第一随机数进行加密,得到加密第一随机数;
所述上链模块200,用于将第一名片信息、加密第一随机数以及管理员公钥组合形成第一数据包,将第一数据包存储至区块链节点;
所述签名名片模块300,用于接收审核指令,从区块链节点获取第一数据包进行解密处理得到解密后第一名片信息,并对解密后第一名片信息进行签名和加密处理,得到第二名片信息,基于第二名片信息得到第二数据包,将第二数据包存储至区块链节点;
所述分发名片模块400,用于接收分发指令,从区块链节点获取第二数据包并进行处理,得到第三数据包,将第三数据包存储至区块链节点,响应于名片接收者的触发指令,从区块链节点处获取第三数据包并将第三数据包进行解密处理,得到第三名片信息,将第三名片信息发送至名片接收者。
本发明的系统是基于区块链技术,融合区块链智能合约以及密码学原理实现的,将区块链和名片的签发完美的结合,可以保证数据的不可篡改、持久有效;采去中心化的架构下保证了员工身份防伪和本公司身份数据的安全。
本发明加密的过程是对名片信息进行对称加密,然后再使用非对称加密对对称加密的秘钥进行加密,这样保证了数据不被篡改。如果名片接收者要看名片信息,则需要名片所有者获取到的管理者公钥,利用管理者公钥对对称加密的秘钥进行加密,所有加密解密的操作均在区块链下进行,只要名片所有者的私钥不被泄露,就能保证数据安全。
在本发明中所有的随机数(包括文中的随机数、第一随机数、第二随机数、加密第二随机数、第三随机数、加密第三随机数、第四随机数)都是随机生成的,这些数据在一定概率上也会是相同的,后续具体的实施例中,加密第二随机数、加密第三随机数指代的就是加密后的随机数,剩余的所有的随机数都是明文随机数。基于名片信息还生成第一秘钥数据,所述第一秘钥数据包括第一公钥和第一私钥。对于第一公钥和第一私钥来说,都是采用区块链与相同的公私钥生成的算法生成的,其主要的目的就是为用户生成在区块链上唯一标识的用户身份的公私钥匙,这样的第一公钥和第一私钥只为所有者所有,也就是本申请中的名片所有者,后面具体的实施例中将第一公钥命名为了名片所有者公钥,将第一私钥命名为名片所有者私钥。而第一公钥和第一私钥都是通过本地加密算法生成的。
于一个实施例中,所述生成加密名片模块100被设置为:基于名片信息还生成第一秘钥数据,所述第一秘钥数据包括第一公钥和第一私钥。
更加具体地,所述签名名片模块300被设置为:
从区块链节点获取第一数据包,通过管理员私钥对第一随机数进行解密得第二随机数,通过第二随机数对第一名片信息进行解密得到解密后第一名片信息;
通过第二随机数对签名后的名片信息进行加密得到第二名片信息;
通过第一公钥对第二随机数加密得到加密第二随机数;
将第二名片信息,加密第二随机数以及管理员公钥组合形成第二数据包并存储至区块链节点。
在一个实施例中,所述签名名片模块300包括签名名片子模块,所述签名名片子模块310被设置为:
向区块链节点发送第一数据包的审核请求指令;
接收区块链节点发送的第一数据包。
另外地:秘钥数据还包括接收者公钥和接收者私钥,基于此,所述分发名片模块400被设置为:
从区块链节点获取第二数据包,通过第一私钥对加密第二随机数进行解密得到第三随机数;
通过接收者公钥对第三随机数进行加密,得到加密第三随机数,将加密第三随机数,第二名片信息以及管理员公钥组合形成第三数据包并存储至区块链节点;
从区块链节点处获取第三数据包,通过接收者私钥对加密第三随机数进行解密得到第四随机数,采用第四随机数对第二名片信息进行解密得到第三名片信息,将第三名片信息发送至名片接收者。
在以上实施例中,所述生成加密名片模块100被设置为:
所有者输入的名片信息可被所有者进行修改名片信息或者自定义名片信息的内容。
在一个实施例中,所述分发名片模块400包括分发名片子模块410,所述分发名片子模块410被设置为:
向区块链节点发送第二数据包的分发请求指令;
接收区块链节点发送的第二数据包。
为了能更直观的对本发明系统进行描述,将以上实施例中提到的名词可以进行下标记,为了方便描述,假定系统以下记号:
a:名片所有者公钥a:名片所有者私钥b:接收者公钥b:名片接收者私钥
c:管理员公钥c:管理员私钥
i:名片明文信息i:加密后的名片信息
r:明文随机数r:加密后的随机数
在此,名片所有者公钥和名片所有者私钥就是之前提到的第一公钥和第一私钥;
名片明文信息就是没有经过加密的名片信息或者经过解密后第一名片信息,在本发明中名片明文信息对应的是第三名片信息,加密后的名片信息对应的是第一名片信息、第二名片信息。
在此具体的实施例中,步骤s100具体可以为:名片所有者在本地利用加密算法生成a、a和r,另外需要i和c进行填写,从系统或者方法的角度来讲,就是获取到i和c,使用r对i加密,产生i,并用c对r加密,产生r;
步骤s200为:将名片数据包(r,i,c)提交区块链节点存储;
步骤s300:公司管理员需要进行审核,根据获得名片数据包(r,i,c);通过c对r进行解密得到r,再使用r对i解密得i,审核后并签名;
使用r对签名后的i加密得i,再使用a对r加密得r;将名片数据包(r,i,c)提交区块链节点存储;
步骤s400:名片所有者从区块链节点获得名片数据包(r,i,c),使用a对r解密得到r,再使用b对r加密产生新的r,将名片数据包(r,i,c)提交到区块链节点存储;名片接收者根据a从区块链节点获取名片数据包(r,i,c),使用b解密r得r,再使用r解密i得i。i指代名片明文信息;i指代加密后的名片信息;r指代的明文随机数以及r指代加密后的随机数在以上每个步骤中是随着加密或者解密结果进行变化的,是个动态的结果。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的是:
说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
此外,需要说明的是,本说明书中所描述的具体实施例,其零、部件的形状、所取名称等可以不同。凡依本发明专利构思所述的构造、特征及原理所做的等效或简单变化,均包括于本发明专利的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
1.一种基于区块链实现的名片签发方法,其特征在于,包括以下步骤:
获取所有者输入的名片信息和秘钥数据,其中,所述秘钥数据包括管理员公钥和管理员私钥,基于名片信息生成第一随机数,通过第一随机数对名片信息进行加密得到第一名片信息,通过管理员公钥对第一随机数进行加密,得到加密第一随机数;
将第一名片信息、加密第一随机数以及管理员公钥组合形成第一数据包,将第一数据包存储至区块链节点;
接收审核指令,从区块链节点获取第一数据包进行解密处理得到解密后第一名片信息,并对解密后第一名片信息进行签名和加密处理,得到第二名片信息,基于第二名片信息得到第二数据包,将第二数据包存储至区块链节点;
接收分发指令,从区块链节点获取第二数据包并进行处理,得到第三数据包,将第三数据包存储至区块链节点,响应于名片接收者的触发指令,从区块链节点处获取第三数据包并将第三数据包进行解密处理,得到第三名片信息,将第三名片信息发送至名片接收者。
2.根据权利要求1所述的基于区块链实现的名片签发方法,其特征在于,基于名片信息生成第一秘钥数据,所述基于名片信息还生成第一秘钥数据,所述第一秘钥数据包括第一公钥和第一私钥。
3.根据权利要求2所述的基于区块链实现的名片签发方法,其特征在于,所述接收审核指令,从区块链节点获取第一数据包进行解密处理得到解密后第一名片信息,并对解密后第一名片信息进行签名和加密处理,得到第二名片信息,基于第二名片信息得到第二数据包,将第二数据包存储至区块链节点,具体步骤为:
从区块链节点获取第一数据包,通过管理员私钥对第一随机数进行解密得第二随机数,通过第二随机数对第一名片信息进行解密得到解密后第一名片信息;
通过第二随机数对签名后的名片信息进行加密得到第二名片信息;
通过第一公钥对第二随机数加密得到加密第二随机数;
将第二名片信息,加密第二随机数以及管理员公钥组合形成第二数据包并存储至区块链节点。
4.根据权利要求3所述的基于区块链实现的名片签发方法,其特征在于,所述秘钥数据还包括接收者公钥和接收者私钥,所述接收分发指令,从区块链节点获取第二数据包并进行处理,得到第三数据包,将第三数据包存储至区块链节点,响应于名片接收者的触发指令,从区块链节点处获取第三数据包并将第三数据包进行解密处理,得到第三名片信息,将第三名片信息发送至名片接收者,具体步骤为:
从区块链节点获取第二数据包,通过第一私钥对加密第二随机数进行解密得到第三随机数;
通过接收者公钥对第三随机数进行加密,得到加密第三随机数,将加密第三随机数,第二名片信息以及管理员公钥组合形成第三数据包并存储至区块链节点;
从区块链节点处获取第三数据包,通过接收者私钥对加密第三随机数进行解密得到第四随机数,采用第四随机数对第二名片信息进行解密得到第三名片信息,将第三名片信息发送至名片接收者。
5.根据权利要求1-4任意一项所述的基于区块链实现的名片签发方法,其特征在于,所有者输入的名片信息可被所有者进行修改名片信息或者自定义名片信息的内容。
6.根据权利要求1所述的基于区块链实现的名片签发方法,其特征在于,所述接收审核指令,从区块链节点获取第一数据包进行解密处理得到解密后第一名片信息,包括:
向区块链节点发送第一数据包的审核请求指令;
接收区块链节点发送的第一数据包。
7.根据权利要求1所述的基于区块链实现的名片签发方法,其特征在于,所述接收分发指令,从区块链节点获取第二数据包并进行处理,包括:
向区块链节点发送第二数据包的分发请求指令;
接收区块链节点发送的第二数据包。
8.一种基于区块链实现的名片签发系统,其特征在于,包括生成加密名片模块、上链模块、签名名片模块和分发名片模块;
所述生成加密名片模块,包括获取模块和加密模块,所述获取模块用于获取所有者输入的名片信息和秘钥数据,其中,所述秘钥数据包括管理员公钥和管理员私钥;所述加密模块,用于基于名片信息生成第一随机数,通过第一随机数对名片信息进行加密得到第一名片信息,通过管理员公钥对第一随机数进行加密,得到加密第一随机数;
所述上链模块,用于将第一名片信息、加密第一随机数以及管理员公钥组合形成第一数据包,将第一数据包存储至区块链节点;
所述签名名片模块,用于接收审核指令,从区块链节点获取第一数据包进行解密处理得到解密后第一名片信息,并对解密后第一名片信息进行签名和加密处理,得到第二名片信息,基于第二名片信息得到第二数据包,将第二数据包存储至区块链节点;
所述分发名片模块,用于接收分发指令,从区块链节点获取第二数据包并进行处理,得到第三数据包,将第三数据包存储至区块链节点,响应于名片接收者的触发指令,从区块链节点处获取第三数据包并将第三数据包进行解密处理,得到第三名片信息,将第三名片信息发送至名片接收者。
9.根据权利要求8所述的基于区块链实现的名片签发系统,其特征在于,所述生成加密名片模块被设置为:
基于名片信息还生成第一秘钥数据,所述第一秘钥数据包括第一公钥和第一私钥。
10.根据权利要求9所述的基于区块链实现的名片签发系统,其特征在于,所述签名名片模块被设置为:
从区块链节点获取第一数据包,通过管理员私钥对第一随机数进行解密得第二随机数,通过第二随机数对第一名片信息进行解密得到解密后第一名片信息;
通过第二随机数对签名后的名片信息进行加密得到第二名片信息;
通过第一公钥对第二随机数加密得到加密第二随机数;
将第二名片信息,加密第二随机数以及管理员公钥组合形成第二数据包并存储至区块链节点。
11.根据权利要求10所述的基于区块链实现的名片签发系统,其特征在于,秘钥数据还包括接收者公钥和接收者私钥;
所述分发名片模块被设置为:
从区块链节点获取第二数据包,通过第一私钥对加密第二随机数进行解密得到第三随机数;
通过接收者公钥对第三随机数进行加密,得到加密第三随机数,将加密第三随机数,第二名片信息以及管理员公钥组合形成第三数据包并存储至区块链节点;
从区块链节点处获取第三数据包,通过接收者私钥对加密第三随机数进行解密得到第四随机数,采用第四随机数对第二名片信息进行解密得到第三名片信息,将第三名片信息发送至名片接收者。
12.根据权利要求7-11任意一项所述的基于区块链实现的名片签发系统,其特征在于,所述生成加密名片模块被设置为:
所有者输入的名片信息可被所有者进行修改名片信息或者自定义名片信息的内容。
13.根据权利要求7所述的基于区块链实现的名片签发系统,其特征在于,所述签名名片模块包括签名名片子模块,所述签名名片子模块被设置为:
向区块链节点发送第一数据包的审核请求指令;
接收区块链节点发送的第一数据包。
14.根据权利要求7所述的基于区块链实现的名片签发系统,其特征在于,所述分发名片模块包括分发名片子模块,所述分发名片子模块被设置为:
向区块链节点发送第二数据包的分发请求指令;
接收区块链节点发送的第二数据包。
技术总结