一种用于区块链数据的数据加密方法及装置制造方法及图纸

技术编号:37721474 阅读:16 留言:0更新日期:2023-06-02 00:21
本发明专利技术提供一种用于区块链数据的数据加密方法及装置,包括:第一客户端生成非对称密钥,将公钥发送至服务器端;服务器端生成对称密钥,确定第一客户端和所述服务器端约定的加解密算法,基于所述约定的加解密算法对对称密钥进行加密得到第一密文,基于接收到的公钥对第一密文进行非对称加密得到第二密文,并将第二密文发送至第一客户端;第一客户端基于私钥对第二密文进行解密,得到第二密文对应的明文信息,基于约定的加解密算法对得到的明文信息进行解密,得到对称密钥原始数据;第一客户端基于对称密钥原始数据对通讯数据进行加密得到通讯数据密文,基于私钥对通讯数据密文进行签名,并发送至服务器端。该方法提高了通讯数据在上链过程中的安全性。据在上链过程中的安全性。据在上链过程中的安全性。

【技术实现步骤摘要】
一种用于区块链数据的数据加密方法及装置


[0001]本专利技术涉及区块链
,尤其涉及一种用于区块链数据的数据加密方法及装置。

技术介绍

[0002]即时通讯已经成为人类社会极为重要的互联网应用。现有的即时通讯系统,大多采用中心化部署的方式,通讯数据存储在服务端数据库中,存在数据泄漏、篡改、丢失的风险,且无法追溯。
[0003]区块链技术是分布式数据存储、共识机制、加密算法等计算机技术的新型应用模式,存在数据不易丢失、难以篡改、可追溯等特点,因此区块链所记录的信息更加真实可靠,可以解决上述问题。但区块链的数据具有开放性及透明性,任何人都可以通过公开的接口查询区块链数据。因此,需要一种基于区块链技术的加密通讯系统及方法以对区块链数据进行加密。
[0004]现有的加密方法大多采用的是非对称加密和对称加密相结合的方式,且由服务端生成并存储用户的非对称公私钥及对称密钥;即基于非对称加密和对称加密相结合的方法对通讯数据进行加密,使得传输以及存储的均为通讯数据的数据密文;现有技术中采用的加密方法是对数据本身进行加密,其在一定程度上保证了通讯数据的隐私及安全。但由于密钥本身也是影响数据安全的主要信息,即现有技术中所采用的密钥的存储及传输的方式本身存在安全隐患;因而由于密钥本身不安全,使用基于密钥进行加密的数据也就谈不上安全。因此,如何提高通讯数据在上链过程中的安全性是亟待解决的技术问题。

技术实现思路

[0005]有鉴于此,本专利技术提供了一种用于区块链数据的数据加密方法及装置,以解决现有技术中存在的一个或多个问题。
[0006]根据本专利技术的一个方面,本专利技术公开了一种用于区块链数据的数据加密方法,所述方法包括:
[0007]第一客户端生成非对称密钥,所述非对称密钥包括公钥和私钥,将所述公钥发送至服务器端;
[0008]所述服务器端生成所述第一客户端对应的对称密钥,确定所述第一客户端和所述服务器端约定的加解密算法,所述服务器端基于所述约定的加解密算法对所述对称密钥进行加密得到第一密文,所述服务器端基于接收到的所述公钥对所述第一密文进行非对称加密得到第二密文,并将所述第二密文发送至所述第一客户端;
[0009]所述第一客户端基于所述私钥对所述第二密文进行解密,得到所述第二密文对应的明文信息,所述第一客户端基于所述约定的加解密算法对得到的所述第二密文对应的明文信息进行解密,得到对称密钥原始数据;
[0010]所述第一客户端基于所述对称密钥原始数据对通讯数据进行对称加密得到第一
通讯数据密文,并基于所述私钥对所述第一通讯数据密文进行签名,将签名后的所述第一通讯数据密文发送至所述服务器端以存储。
[0011]在本专利技术的一些实施例中,所述方法还包括:
[0012]所述服务器端基于所述公钥对所述第一客户端的签名进行验证,验证通过后,将所述第一通讯数据密文上传至区块链。
[0013]在本专利技术的一些实施例中,所述方法还包括:
[0014]所述第一客户端向所述服务器端发送数据请求,所述服务器端基于所述第一客户端的公钥将所述数据请求对应的请求数据密文进行签名,并发送至所述第一客户端;
[0015]所述第一客户端基于所述私钥对接收到的签名后的所述请求数据密文进行验证,验证通过后,并基于所述对称密钥对所述请求数据密文进行解密,得到请求数据。
[0016]在本专利技术的一些实施例中,所述方法还包括:获取第二客户端的访问权限,在所述第二客户端具有访问所述通讯数据的访问权限的情况下,所述第二客户端访问所述服务器端存储的所述通讯数据。
[0017]在本专利技术的一些实施例中,所述第二客户端访问所述服务器端存储的所述通讯数据,包括:
[0018]获取第一客户端的第一用户标识和所述第二客户端的第二用户标识;
[0019]所述第二客户端向所述服务器端发送授权请求,所述授权请求中包括所述第一用户标识和所述第二用户标识;
[0020]在所述授权请求授权通过的情况下,所述服务器端向所述第二客户端发送访问令牌;
[0021]所述第二客户端向所述服务器端发送访问请求,所述访问请求中包括访问令牌,在所述访问令牌合法的情况下,所述服务器端基于所述第一客户端对应的非对称密钥、对称密钥对所述第一通讯数据密文进行解密得到通讯数据明文,所述服务器端基于所述第二客户端对应的对称密钥、非对称密钥对所述通讯数据明文进行加密得到第二通讯数据密文,所述服务器端将所述第二通讯数据密文发送至所述第二客户端。
[0022]在本专利技术的一些实施例中,所述服务器端基于所述第一客户端对应的非对称密钥、对称密钥对所述第一通讯数据密文进行解密得到通讯数据明文,包括:
[0023]所述服务器端基于所述第一客户端对应的公钥验证所述第一通讯数据密文的签名;
[0024]验证通过后,所述服务器端基于所述第一客户端对应的对称密钥对所述第一通讯数据密文进行解密得到通讯数据明文。
[0025]在本专利技术的一些实施例中,所述服务器端基于所述第二客户端对应的非对称密钥、对称密钥对所述通讯数据明文进行加密得到第二通讯数据密文,包括:
[0026]所述服务器端基于所述第二客户端对应的对称密钥对所述通讯数据明文进行对称加密,得到第二通讯数据密文;
[0027]所述服务器端基于所述第二客户端对应的非对称公钥对所述第二通讯数据密文进行签名,得到签名后的所述第二通讯数据密文。
[0028]在本专利技术的一些实施例中,所述方法还包括:
[0029]所述第二客户端基于其对应的非对称私钥验证所述第二通讯数据密文对应的签
名;
[0030]验证通过后,所述第二客户端基于其对应的对称密钥对所述第二通讯数据密文进行对称解密,得到通讯数据明文。
[0031]根据本专利技术的另一方面,还公开了一种用于区块链数据的数据加密系统,该系统包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如上任一实施例所述方法的步骤。
[0032]根据本专利技术的再一方面,还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一实施例所述方法的步骤。
[0033]本专利技术实施例所公开的用于区块链数据的数据加密方法及装置,服务器端生成的对称密钥首先根据第一客户端和服务器端约定的加解密算法进行加密,进而将加密后的对称密钥对应的第一密文进行非对称加密得到第二密文,并将第二密文传输至第一客户端,而第一客户端首先基于其私钥对第二密文进行解密,并进一步的基于约定好的加解密算法对第一密文进行解密;基于上述过程,第一客户端得到了对称密钥。该数据加密方法不仅对通讯数据采用对称密钥和非对称密钥进行加密,而且在对称密钥传输的过程中还进一步的对对称密钥进行加密,从而该方法不仅提高了对称密钥传输的安全性,也进一步的提高了通信数据上链过程的安全性。
[0034]本专利技术的附加优点、目的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于区块链数据的数据加密方法,其特征在于,所述方法包括:第一客户端生成非对称密钥,所述非对称密钥包括公钥和私钥,将所述公钥发送至服务器端;所述服务器端生成所述第一客户端对应的对称密钥,确定所述第一客户端和所述服务器端约定的加解密算法,所述服务器端基于所述约定的加解密算法对所述对称密钥进行加密得到第一密文,所述服务器端基于接收到的所述公钥对所述第一密文进行非对称加密得到第二密文,并将所述第二密文发送至所述第一客户端;所述第一客户端基于所述私钥对所述第二密文进行解密,得到所述第二密文对应的明文信息,所述第一客户端基于所述约定的加解密算法对得到的所述第二密文对应的明文信息进行解密,得到对称密钥原始数据;所述第一客户端基于所述对称密钥原始数据对通讯数据进行对称加密得到第一通讯数据密文,并基于所述私钥对所述第一通讯数据密文进行签名,将签名后的所述第一通讯数据密文发送至所述服务器端以存储。2.根据权利要求1所述的用于区块链数据的数据加密方法,其特征在于,所述方法还包括:所述服务器端基于所述公钥对所述第一客户端的签名进行验证,验证通过后,将所述第一通讯数据密文上传至区块链。3.根据权利要求1所述的用于区块链数据的数据加密方法,其特征在于,所述方法还包括:所述第一客户端向所述服务器端发送数据请求,所述服务器端基于所述第一客户端的公钥将所述数据请求对应的请求数据密文进行签名,并发送至所述第一客户端;所述第一客户端基于所述私钥对接收到的签名后的所述请求数据密文进行验证,验证通过后,并基于所述对称密钥对所述请求数据密文进行解密,得到请求数据。4.根据权利要求2所述的用于区块链数据的数据加密方法,其特征在于,所述方法还包括:获取第二客户端的访问权限,在所述第二客户端具有访问所述通讯数据的访问权限的情况下,所述第二客户端访问所述服务器端存储的所述通讯数据。5.根据权利要求4所述的用于区块链数据的数据加密方法,其特征在于,所述第二客户端访问所述服务器端存储的所述通讯数据,包括:获取第一客户端的第一用户标识和所述第二客户端的第二用户标识;所述第二客户端向所述服务器端发送授权请求,所述授权请求中包括所述第一用户标识和所述第二...

【专利技术属性】
技术研发人员:王永南徐邵翔
申请(专利权)人:中企链信北京科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1