本发明属于加密技术领域,具体涉及一种基于区块链的信息分享方法、接收终端和发送终端。
背景技术:
现有的信息分享方法通过对信息加密来增加信息的安全性,获取到加密后信息的用户只有通过解密才可以获取原本的信息。因此,只有知道解密密钥的用户才可以获取原本的信息。
但若知道解密密钥的用户单方面将解密之后的信息通过拷贝等方式发送给其他人,则依然会造成信息的泄露,增大信息泄露的风险。
技术实现要素:
本发明至少部分解决现有的信息分享方法泄露风险大的问题,提供一种泄露风险小的基于区块链的信息分享方法、发送终端和接收终端。
本发明的第一方面提供一种基于区块链的信息分享方法,用于发送端,所述方法包括:。
使用第一密钥对第一加密信息进行加密得到第二加密信息,所述第一加密信息为经过第二密钥加密的待分享信息;
将所述第二加密信息以及内嵌所述第一密钥的解密代码发送至接收端,所述解密代码用于在所述第二加密信息被打开时使用所述第一密钥解密所述第二加密信息得到不可复制的第一加密信息。
可选的,所述方法用于区块链。
可选的,所述将所述第二加密信息以及内嵌所述第一密钥的解密代码发送至接收端包括:公开所述第二加密信息以及所述解密代码以供所述接收端下载。
可选的,所述将所述第二加密信息以及内嵌所述第一密钥的解密代码发送至接收端之后还包括:将所述第二密钥使用所述接收端的公钥加密,并公开所述被加密的第二密钥以供所述接收端下载。
可选的,所述解密代码还用于在所述第二加密信息被关闭时删除所述第二加密信息。
可选的,所述将所述第二加密信息以及内嵌所述第一密钥的解密代码发送至接收端之前还包括:获取所述第一密钥和所述第二密钥,并使用所述第一密钥生成所述解密代码。
可选的,所述获取所述第一密钥和所述第二密钥包括:随机生成所述第一密钥和第二密钥。
本发明的第二方面提供一种基于区块链的信息分享方法,用于接收端,所述方法包括:
接收第二加密信息以及内嵌第一密钥的解密代码,所述解密代码用于在所述第二加密信息被打开时使用所述第一密钥解密所述第二加密信息得到不可复制的第一加密信息;
打开所述第二加密信息,得到不可复制的第一加密信息;
使用第二密钥解密所述第一加密信息,以得到不可复制的待分享信息。
本发明的第三方面提供一种发送终端,所述终端为区块链内终端,所述终端包括:
加密模块,用于使用第一密钥对第一加密信息进行加密得到第二加密信息,所述第一加密信息为经过第二密钥加密的待分享信息;
发送模块,用于将所述第二加密信息以及内嵌所述第一密钥的解密代码发送至接收端,所述解密代码用于在所述第二加密信息被打开时使用所述第一密钥解密所述第二加密信息得到不可复制的第一加密信息。
可选的,所述将所述第二加密信息以及内嵌所述第一密钥的解密代码发送至接收端包括:公开所述第二加密信息以及所述解密代码以供所述接收端下载。
本发明的第四方面提供一种接收终端,所述终端为区块链内终端,所述终端包括:
接收模块,用于接收第二加密信息以及内嵌第一密钥的解密代码,所述解密代码用于在所述第二加密信息被打开时使用所述第一密钥解密所述第二加密信息得到不可复制的第一加密信息;
代码模块,用于打开所述第二加密信息,得到不可复制的第一加密信息;
解密模块,用于使用第二密钥解密所述第一加密信息,以得到不可复制的待分享信息。
本发明实施例的基于区块链的信息分享方法中,通过向接收端发送禁止信息复制解密代码防止接收端在接收到信息之后复制信息,减少了因接收端将信息发送他人而造成的信息泄露,增加了信息的安全性。
附图说明
图1为本发明实施例的一种用于发送端的基于区块链的信息分享方法的流程示意图;
图2为本发明实施例的一种用于接收端的基于区块链的信息分享方法的流程示意图;
图3为本发明实施例的一种信息分享方法的流程示意图;
图4为本发明实施例的一种发送终端的组成示意框图;
图5为本发明实施例的一种接收终端的组成示意框图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。
可以理解的是,此处描述的具体实施例和附图仅仅用于解释本发明,而非对本发明的限定。
可以理解的是,在不冲突的情况下,本发明中的各实施例及实施例中的各特征可相互组合。
可以理解的是,为便于描述,本发明的附图中仅示出了与本发明相关的部分,而与本发明无关的部分未在附图中示出。
可以理解的是,本发明的实施例中所涉及的每个单元、模块可仅对应一个实体结构,也可由多个实体结构组成,或者,多个单元、模块也可集成为一个实体结构。
可以理解的是,在不冲突的情况下,本发明的流程图和框图中所标注的功能、步骤可按照不同于附图中所标注的顺序发生。
可以理解的是,本发明的流程图和框图中,示出了按照本发明各实施例的系统、装置、设备、方法的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可代表一个单元、模块、程序段、代码,其包含用于实现规定的功能的可执行指令。而且,框图和流程图中的每个方框或方框的组合,可用实现规定的功能的基于硬件的系统实现,也可用硬件与计算机指令的组合来实现。
可以理解的是,本发明实施例中所涉及的单元、模块可通过软件的方式实现,也可通过硬件的方式来实现,例如单元、模块可位于处理器中。
实施例1:
如图1所示,本实施例提供一种基于区块链的信息分享方法,用于发送端。
即信息的发送端和信息的接收端都位于区块链中,发送端需发送待分享信息至接收端。如区块链中的管理员给特定的用户群发送待分享信息,即管理员为发送端,特定的用户群的群成员都为接收端。
区块链的本质是一种去中心化的数据库且其上的数据不可篡改,安全性高。
本实施例的基于区块链的信息分享方法具体包括:
s101、使用第一密钥对第一加密信息进行加密得到第二加密信息,第一加密信息为经过第二密钥加密的待分享信息。
位于区块链中需要发送信息的终端(如区块链的管理员),即发送端使用第二密钥对待分享的信息进行加密得到第一加密信息,使用第一密钥对第一加密信息再次进行加密得到第二加密信息。
其中,第一密钥和第二密钥为不同的密钥。
s102、将第二加密信息以及内嵌第一密钥的解密代码发送至接收端,解密代码用于在第二加密信息被打开时使用第一密钥解密第二加密信息得到不可复制的第一加密信息。
位于区块链中的发送端将第一密钥内嵌至解密代码中,将解密代码以及步骤s101得到的第二加密信息发送至位于区块链中的接收端(如特定的用户群的群成员)。由于解密代码内嵌了第一密钥,因此接收端在打开第二加密信息时,解密代码运行后可得到第一加密信息,且得到的第一加密信息是不可进行拷贝等可复制信息的操作的第一加密信息。
本实施例的基于区块链的用于发送端的信息分享方法中,通过向接收端发送禁止信息复制解密代码防止接收端在接收到信息之后复制信息,减少了因接收端将信息发送他人而造成的信息泄露,增加了信息的安全性。
实施例2:
如图2所示,本实施例提供一种基于区块链的信息分享方法,用于接收端。
即信息的发送端和信息的接收端都位于区块链中,发送端需发送待分享信息至接收端。如区块链中的管理员给特定的用户群发送待分享信息,即管理员为发送端,特定的用户群的群成员都为接收端。
区块链的本质是一种去中心化的数据库且其上的数据不可篡改,安全性高。
本实施例的基于区块链的信息分享方具体包括:
s201、接收第二加密信息以及内嵌第一密钥的解密代码,解密代码用于在第二加密信息被打开时使用第一密钥解密第二加密信息得到不可复制的第一加密信息。
位于区块链中的接收端(如特定的用户群的群成员)接收位于区块链中的发送端(如区块链的管理员)发送的第二加密信息以及内嵌第一密钥的解密代码。其中,解密代码是在第二加密信息被打开时运行,其运行时通过其内嵌的第一密钥解密第二加密信息并得到不可进行拷贝等复制信息的操作的第一加密信息。
s202、打开第二加密信息,得到不可复制的第一加密信息。
位于区块链中的接收端在打开第二加密信息之后运行解密代码,解密代码运行时通过内嵌的第一密钥解密第二加密信息以得到不可进行拷贝等复制信息的操作的第一加密信息。
s203、使用第二密钥解密第一加密信息,以得到不可复制的待分享信息。
位于区块链中的接收端使用第二密钥解密得到的第一加密信息,以得到不可进行拷贝等复制信息的操作的待分享信息。
本实施例的基于区块链的用于接收端的信息分享方法中,接收端通过运行解密代码获取不可复制的待分享信息,减少了因接收端将信息发送他人而造成的信息泄露,增加了信息的安全性。
实施例3:
如图3所示,本实施例提供一种基于区块链的信息分享方法。
即信息的发送端和信息的接收端都位于区块链中,发送端需发送待分享信息至接收端。如区块链中的管理员给特定的用户群发送待分享信息,即管理员为发送端,特定的用户群的群成员都为接收端。
区块链的本质是一种去中心化的数据库且其上的数据不可篡改,安全性高。
本实施例的信息分享方法具体包括:
s301、发送端使用第一密钥对第一加密信息进行加密得到第二加密信息,第一加密信息为经过第二密钥加密的待分享信息。
发送端使用第二密钥对待分享的信息进行加密得到第一加密信息,使用第一密钥对第一加密信息再次进行加密得到第二加密信息。
其中,第一密钥和第二密钥为不同的密钥,可选的,第一密钥和第二密钥为随机生成。
随机生成的第一密钥和第二密钥只在一次信息分享过程中使用,下一次信息分享过程第一密钥和第二密钥会发生变化,减少了密钥被破解的可能,增加了信息的安全性。
进一步可选的,第二密钥为随机数,则使用第二密钥加密待分享信息具体可以是将待分享信息和随机数进行组合得到的组合信息。
使用随机数与待分享信息进行组合的加密方式与使用密钥直接进行加密的方式不同。由于加密方式不同,因此解密的方式也不同,这大大增加了破解加密信息的难度,增加了信息的安全性。
具体的如区块链中的管理员需要给特定的用户群(如用户a1、a2等多个用户)发送待分享信息,则其在确定了要发布的用户群之后,则随机生成第一密钥k和第二密钥r,并使用第二密钥r与待分享信息m组合得到第一加密信息c(m,r),并使用第一密钥k加密第一加密信息c(m,r)得到第二加密信息ck(m,r)。
s302、发送端将第二加密信息以及内嵌第一密钥的解密代码发送至接收端,解密代码用于在第二加密信息被打开时使用第一密钥解密第二加密信息得到不可复制的第一加密信息。
发送端将第一密钥内嵌至解密代码中,将解密代码以及步骤s301得到的第二加密信息发送至接收端。由于解密代码内嵌了第一密钥,因此接收端在打开第二加密信息时,解密代码运行后可得到第一加密信息,且得到的第一加密信息是不可进行拷贝等可复制信息的操作的第一加密信息。
可选的,解密代码还用于在第二加密信息被关闭时删除第二加密信息。
即当接收端用户查看完第二加密信息后关闭第二加密信息时,解密代码运行并删除本地可能存在的第二加密信息
通过解密代码删除本地可能存在的第二加密信息可以防止接收端在本地保存副本发送他人而造成信息泄露,增加信息的安全性。
可选的,将第二加密信息以及内嵌第一密钥的解密代码发送至接收端之前还包括:
s3021、发送端获取第一密钥和第二密钥,并使用第一密钥生成解密代码。
发送端获取生成的第一密钥和第二密钥并使用将第一密钥内嵌至代码中以生成可用于解密的解密代码。
发送端在生成第一密钥和第二密钥之后使用第一密钥和第二密钥加密待分享信息得到第二加密信息。
在得到第二加密信息之后,根据第一密钥加密第一加密信息的方法生成用于使用第一密钥即可解密第二加密信息的代码,然后将第一密钥内嵌该代码中以得到不需要输入第一密钥即可自动解密的解密代码。
可选的,将第二加密信息以及内嵌第一密钥的解密代码发送至接收端包括:
s3022、发送端公开第二加密信息以及解密代码以供接收端下载。
发送端将第二加密信息以及加密代码公开至接收端可访问的位置,以使接收端可通过下载方式获取第二加密信息和内嵌第一密钥的解密代码。
通过公开的方式发送信息,接收端随时可通过下载的方式获取信息,增加了获取信息的便捷性,提升了接收端的用户体验。
进一步可选的,将第二加密信息以及内嵌第一密钥的解密代码发送至接收端之后还包括:
s3023、发送端将第二密钥使用接收端的公钥加密,并公开被加密的第二密钥以供所述接收端下载。
在发送端将第二加密信息以及解密代码公开之后,发送端将第二密钥使用接收端的公钥进行加密并公开,以使接收端可通过下载方式获取解密的第二密钥并使用自己的私钥进行解密获取第二密钥。
通过公钥对第二密钥进行加密,一方面增大了信息的安全性,另一方面由于公钥加密可通过私钥进行解密,发送端不需要针对不同的接收端使用不同的第二密钥进行加密以使不同的接收端可解密获取第二密钥,减少了发送端的工作量。
具体的如区块链的管理员在获取第一加密信息c(m,r)以及第二加密信息ck(m,r)之后,根据第一密钥k生成解密代码code.sh并使用接收方所在的群的群公钥来加密第二密钥r,加密之后的第二密钥r变为cka1(r),cka2(r)等,并使用广播的方式将第二加密信息ck(m,r)、解密代码code.sh以及加密后的第二密钥cka1(r)发布至区块链上。当然,广播信息中包括用户群的群成员列表同时使用管理员的私钥加密,以使接收端可进行验证该广播信息是否接收。
s303、接收端接收第二加密信息以及内嵌第一密钥的解密代码,解密代码用于在第二加密信息被打开时使用第一密钥解密第二加密信息得到不可复制的第一加密信息。
接收端接收发送端发送的第二加密信息以及内嵌第一密钥的解密代码。其中,解密代码是在第二加密信息被打开时运行,其运行时通过其内嵌的第一密钥解密第二加密信息并得到不可进行拷贝等复制信息的操作的第一加密信息。
具体的如区块链中某用户(如用户a1)在接收到管理员发送的广播信息之后,对广播信息的私钥进行验证,在验证通过之后接收该广播信息,即启动区块链上的虚拟机并从区块链记录中下载解密代码code.sh、公钥加密的第二密钥cka1(r)以及第二加密信息ck(m,r)。
s304、接收端打开第二加密信息,得到不可复制的第一加密信息。
s305、接收端使用第二密钥解密第一加密信息,以得到不可复制的待分享信息。
接收端在打开第二加密信息之后运行解密代码,解密代码运行时通过内嵌的第一密钥解密第二加密信息以得到不可进行拷贝等复制信息的操作的第一加密信息。
接收端使用第二密钥解密得到的第一加密信息,以得到不可进行拷贝等复制信息的操作的待分享信息。
具体的如用户(如用户a1)在获取解密代码code.sh、公钥加密的第二密钥cka1(r)以及第二加密信息ck(m,r)之后,根据自己的私钥首先对公钥加密的第二密钥cka1(r)进行解密以获取第二密钥r。
在获取第二密钥r之后,可将第二密钥r以及第二加密信息ck(m,r)发送给解密代码code.sh以使解密代码code.sh可通过第二加密信息ck(m,r)以及内嵌的第一密钥k获取第一加密信息c(m,r),并通过第二密钥解密第一加密信息获取待分享信息m。
通过第二密钥r解密第一加密信息c(m,r)的过程也可由解密代码完成,则第一加密信息c(m,r)作为代码中间信息并不会展示或者保存,也就是说接收端无法获取第一加密信息c(m,r)。
当然解密代码code.sh也可在区块链的虚拟机上运行,接收端只需将第二密钥r以及第二加密信息ck(m,r)发送至虚拟机即可。虚拟机上的解密代码code.sh运行得到待分享信息m之后,将待分享信息m在屏幕上展示,并限制截屏等复制操作。
当接收端查看完待分享信息关闭虚拟机之后,则自动删除虚拟机上可能存在的待分享信息,以防止用户进行复制拷贝。
本实施例的信息分享方法中,发送端通过向接收端发送禁止信息复制解密代码防止接收端在接收到信息之后复制信息,减少了因接收端将信息发送他人而造成的信息泄露,增加了信息的安全性。
实施例4:
如图4所示,本实施例提供一种发送终端,该发送终端位于区块链内,该终端具体包括:
加密模块,用于使用第一密钥对第一加密信息进行加密得到第二加密信息,第一加密信息为经过第二密钥加密的待分享信息;
发送模块,用于将第二加密信息以及内嵌第一密钥的解密代码发送至接收端,解密代码用于在第二加密信息被打开时使用第一密钥解密第二加密信息得到不可复制的第一加密信息。
可选的,将第二加密信息以及内嵌第一密钥的解密代码发送至接收端包括:公开第二加密信息以及解密代码以供接收端下载。
本实施例的发送终端通过向接收端发送禁止信息复制解密代码防止接收端在接收到信息之后复制信息,减少了因接收端将信息发送他人而造成的信息泄露,增加了信息的安全性。
实施例5:
如图5所示,本实施例提供一种接收终端,该终端位于区块链内,该终端具体包括:
接收模块,用于接收第二加密信息以及内嵌第一密钥的解密代码,解密代码用于在第二加密信息被打开时使用第一密钥解密第二加密信息得到不可复制的第一加密信息;
代码模块,用于打开第二加密信息,得到不可复制的第一加密信息;
解密模块,用于使用第二密钥解密第一加密信息,以得到不可复制的待分享信息。
本实施例的接收终端通过运行解密代码获取不可复制的待分享信息,减少了因将信息发送他人而造成的信息泄露,增加了信息的安全性。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。