CN116192486A - 一种用于区块链数据的数据加密方法及装置 - Google Patents
一种用于区块链数据的数据加密方法及装置 Download PDFInfo
- Publication number
- CN116192486A CN116192486A CN202310098029.7A CN202310098029A CN116192486A CN 116192486 A CN116192486 A CN 116192486A CN 202310098029 A CN202310098029 A CN 202310098029A CN 116192486 A CN116192486 A CN 116192486A
- Authority
- CN
- China
- Prior art keywords
- client
- data
- ciphertext
- communication data
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/045—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种用于区块链数据的数据加密方法及装置,包括:第一客户端生成非对称密钥,将公钥发送至服务器端;服务器端生成对称密钥,确定第一客户端和所述服务器端约定的加解密算法,基于所述约定的加解密算法对对称密钥进行加密得到第一密文,基于接收到的公钥对第一密文进行非对称加密得到第二密文,并将第二密文发送至第一客户端;第一客户端基于私钥对第二密文进行解密,得到第二密文对应的明文信息,基于约定的加解密算法对得到的明文信息进行解密,得到对称密钥原始数据;第一客户端基于对称密钥原始数据对通讯数据进行加密得到通讯数据密文,基于私钥对通讯数据密文进行签名,并发送至服务器端。该方法提高了通讯数据在上链过程中的安全性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种用于区块链数据的数据加密方法及装置。
背景技术
即时通讯已经成为人类社会极为重要的互联网应用。现有的即时通讯系统,大多采用中心化部署的方式,通讯数据存储在服务端数据库中,存在数据泄漏、篡改、丢失的风险,且无法追溯。
区块链技术是分布式数据存储、共识机制、加密算法等计算机技术的新型应用模式,存在数据不易丢失、难以篡改、可追溯等特点,因此区块链所记录的信息更加真实可靠,可以解决上述问题。但区块链的数据具有开放性及透明性,任何人都可以通过公开的接口查询区块链数据。因此,需要一种基于区块链技术的加密通讯系统及方法以对区块链数据进行加密。
现有的加密方法大多采用的是非对称加密和对称加密相结合的方式,且由服务端生成并存储用户的非对称公私钥及对称密钥;即基于非对称加密和对称加密相结合的方法对通讯数据进行加密,使得传输以及存储的均为通讯数据的数据密文;现有技术中采用的加密方法是对数据本身进行加密,其在一定程度上保证了通讯数据的隐私及安全。但由于密钥本身也是影响数据安全的主要信息,即现有技术中所采用的密钥的存储及传输的方式本身存在安全隐患;因而由于密钥本身不安全,使用基于密钥进行加密的数据也就谈不上安全。因此,如何提高通讯数据在上链过程中的安全性是亟待解决的技术问题。
发明内容
有鉴于此,本发明提供了一种用于区块链数据的数据加密方法及装置,以解决现有技术中存在的一个或多个问题。
根据本发明的一个方面,本发明公开了一种用于区块链数据的数据加密方法,所述方法包括:
第一客户端生成非对称密钥,所述非对称密钥包括公钥和私钥,将所述公钥发送至服务器端;
所述服务器端生成所述第一客户端对应的对称密钥,确定所述第一客户端和所述服务器端约定的加解密算法,所述服务器端基于所述约定的加解密算法对所述对称密钥进行加密得到第一密文,所述服务器端基于接收到的所述公钥对所述第一密文进行非对称加密得到第二密文,并将所述第二密文发送至所述第一客户端;
所述第一客户端基于所述私钥对所述第二密文进行解密,得到所述第二密文对应的明文信息,所述第一客户端基于所述约定的加解密算法对得到的所述第二密文对应的明文信息进行解密,得到对称密钥原始数据;
所述第一客户端基于所述对称密钥原始数据对通讯数据进行对称加密得到第一通讯数据密文,并基于所述私钥对所述第一通讯数据密文进行签名,将签名后的所述第一通讯数据密文发送至所述服务器端以存储。
在本发明的一些实施例中,所述方法还包括:
所述服务器端基于所述公钥对所述第一客户端的签名进行验证,验证通过后,将所述第一通讯数据密文上传至区块链。
在本发明的一些实施例中,所述方法还包括:
所述第一客户端向所述服务器端发送数据请求,所述服务器端基于所述第一客户端的公钥将所述数据请求对应的请求数据密文进行签名,并发送至所述第一客户端;
所述第一客户端基于所述私钥对接收到的签名后的所述请求数据密文进行验证,验证通过后,并基于所述对称密钥对所述请求数据密文进行解密,得到请求数据。
在本发明的一些实施例中,所述方法还包括:获取第二客户端的访问权限,在所述第二客户端具有访问所述通讯数据的访问权限的情况下,所述第二客户端访问所述服务器端存储的所述通讯数据。
在本发明的一些实施例中,所述第二客户端访问所述服务器端存储的所述通讯数据,包括:
获取第一客户端的第一用户标识和所述第二客户端的第二用户标识;
所述第二客户端向所述服务器端发送授权请求,所述授权请求中包括所述第一用户标识和所述第二用户标识;
在所述授权请求授权通过的情况下,所述服务器端向所述第二客户端发送访问令牌;
所述第二客户端向所述服务器端发送访问请求,所述访问请求中包括访问令牌,在所述访问令牌合法的情况下,所述服务器端基于所述第一客户端对应的非对称密钥、对称密钥对所述第一通讯数据密文进行解密得到通讯数据明文,所述服务器端基于所述第二客户端对应的对称密钥、非对称密钥对所述通讯数据明文进行加密得到第二通讯数据密文,所述服务器端将所述第二通讯数据密文发送至所述第二客户端。
在本发明的一些实施例中,所述服务器端基于所述第一客户端对应的非对称密钥、对称密钥对所述第一通讯数据密文进行解密得到通讯数据明文,包括:
所述服务器端基于所述第一客户端对应的公钥验证所述第一通讯数据密文的签名;
验证通过后,所述服务器端基于所述第一客户端对应的对称密钥对所述第一通讯数据密文进行解密得到通讯数据明文。
在本发明的一些实施例中,所述服务器端基于所述第二客户端对应的非对称密钥、对称密钥对所述通讯数据明文进行加密得到第二通讯数据密文,包括:
所述服务器端基于所述第二客户端对应的对称密钥对所述通讯数据明文进行对称加密,得到第二通讯数据密文;
所述服务器端基于所述第二客户端对应的非对称公钥对所述第二通讯数据密文进行签名,得到签名后的所述第二通讯数据密文。
在本发明的一些实施例中,所述方法还包括:
所述第二客户端基于其对应的非对称私钥验证所述第二通讯数据密文对应的签名;
验证通过后,所述第二客户端基于其对应的对称密钥对所述第二通讯数据密文进行对称解密,得到通讯数据明文。
根据本发明的另一方面,还公开了一种用于区块链数据的数据加密系统,该系统包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如上任一实施例所述方法的步骤。
根据本发明的再一方面,还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一实施例所述方法的步骤。
本发明实施例所公开的用于区块链数据的数据加密方法及装置,服务器端生成的对称密钥首先根据第一客户端和服务器端约定的加解密算法进行加密,进而将加密后的对称密钥对应的第一密文进行非对称加密得到第二密文,并将第二密文传输至第一客户端,而第一客户端首先基于其私钥对第二密文进行解密,并进一步的基于约定好的加解密算法对第一密文进行解密;基于上述过程,第一客户端得到了对称密钥。该数据加密方法不仅对通讯数据采用对称密钥和非对称密钥进行加密,而且在对称密钥传输的过程中还进一步的对对称密钥进行加密,从而该方法不仅提高了对称密钥传输的安全性,也进一步的提高了通信数据上链过程的安全性。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。附图中的部件不是成比例绘制的,而只是为了示出本发明的原理。为了便于示出和描述本发明的一些部分,附图中对应部分可能被放大,即,相对于依据本发明实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为本发明一实施例的用于区块链数据的数据加密方法的流程示意图。
图2为本发明另一实施例的用于区块链数据的数据加密方法的流程示意图。
图3为本发明再一实施例的用于区块链数据的数据加密方法的流程示意图。
图4为本发明一实施例的加密数据授权访问的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在此,需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含/具有”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
图1为本发明一实施例的用于区块链数据的数据加密方法的流程示意图,如图1所示,该数据加密方法至少包括步骤S10至步骤S40。
步骤S10:第一客户端生成非对称密钥,所述非对称密钥包括公钥和私钥,将所述公钥发送至服务器端。
在该步骤中,第一客户端生成的非对称密钥中的私钥自己保留,而将非对称密钥中的公钥上传至服务器端。并且,第一客户端生成的非对称密钥仅在该客户端处于登录状态时有效,而当该客户端下线之后,则对应的非对称密钥则失效;若该客户端重新登陆,则该第一客户端重新生成非对称密钥。另外,由于第一客户端生成的非对称密钥中的私钥本地保留,而公钥上传至服务器端,则私钥和公钥不在同一地点存放,从而提高了非对称密钥的安全性。该步骤中的非对称密钥仅用于客户端和服务器端之间数据传送时的验证签名,以防止信息被恶意篡改。
可以理解的,第一客户端生成非对称密钥的方法在本申请实施例中不做限定,其可根据具有应用场景进行选定。
步骤S20:所述服务器端生成所述第一客户端对应的对称密钥,确定所述第一客户端和所述服务器端约定的加解密算法,所述服务器端基于所述约定的加解密算法对所述对称密钥进行加密得到第一密文,所述服务器端基于接收到的所述公钥对所述第一密文进行非对称加密得到第二密文,并将所述第二密文发送至所述第一客户端。
在该步骤中,服务器端进一步的生成第一客户端的对称密钥,并且在一实施例中,不同客户端的对称密钥不同,则此时服务器端所生成的对称密钥为第一客户端的专属对称密钥。进一步的,服务器端确定前后端约定好的加解密算法,并基于该加解密算法对为第一客户端生成的专属对称密钥进行混淆加密;在该实施例中,前后端分别代表客户端和服务器端,并且前后端约定的加解密算法在此不做具体限定,可根据实际应用场景选用合适的加解密算法。
将对称密钥进行混淆加密之后,则进一步的将混淆加密后得到的对称密钥的第一密文存储在服务器端,在该实施例中,混淆加密所采用的加解密算法仅第一客户端和服务器端知晓,因而提高了对称密钥加解密算法的安全性,进而也提高了对称密钥的安全性。
当服务器端通过其与第一客户端约定好的加解密算法对对称密钥进行混淆加密之后得到第一密文,此时为了确保第一密文在传输过程中的安全性,则服务器端进一步的基于第一客户端向其提供的公钥对第一密文进行非对称加密,从而得到第二密文,服务器端将第二密文传输至第一客户端则实现了对称密钥的传输。从而该数据加密方法消除了密钥本身的安全隐患,从而也确保了数据传输的安全。应该理解的是,在该步骤中所采用的混淆加密以及非对称加密等所采用的加解密算法均不作具体限定,均可根据实际需要进行设定。
另外,若当服务器端需要向第一客户端发送第一客户端的专属对称密钥时,若查询到其数据库里存储的有第一客户端的专属对称密钥的第一密文,则此时服务器不需要再为第一客户端重新生成对称密钥,则直接将其数据库中存储的对称密钥基于非对称公钥进行二次加密即可。
步骤S30:所述第一客户端基于所述私钥对所述第二密文进行解密,得到所述第二密文对应的明文信息,所述第一客户端基于所述约定的加解密算法对得到的所述第二密文对应的明文信息进行解密,得到对称密钥原始数据。
在该步骤中,第一客户端首先基于私钥对第二密文进行解密,并将解密后的第二密文对应的明文信息缓存在本地,此时第二密文对应的明文信息具体的为服务器端基于约定好的加解密算法对对称密钥加密后得到的第一密文。进一步的,第一客户端基于与服务器端约定好的加解密算法对该第二密文对应的明文信息进一步的进行解密,从而得到第一密文对应的明文信息,即得到对称密钥原始数据。
步骤S40:所述第一客户端基于所述对称密钥原始数据对通讯数据进行对称加密得到第一通讯数据密文,并基于所述私钥对所述第一通讯数据密文进行签名,将签名后的所述第一通讯数据密文发送至所述服务器端以存储。
当第一客户端获取到自己的专属对称密钥之后,则基于该对称密钥对待上链的通讯数据进行对称加密,此时得到第一通讯数据密文;进一步的,第一客户端则采用自己的私钥对第一通讯数据密文进行签名并发送至服务器端。以使服务器端基于该第一客户端的公钥可验证第一通讯数据密文的签名,以防止第一通讯数据密文在传输过程中被恶意篡改,从而确保第一通讯数据密文在传输过程中的安全性。则在一实施例中,服务器端还基于公钥对第一客户端的签名进行验证,且验证通过后,将所述第一通讯数据密文上传至区块链。
图2为本发明另一实施例的用于区块链数据的数据加密方法的流程示意图,如图2所示,在该实施例中,首先客户端每次登录后生成新的非对称密钥,客户端本地保留私钥,并将公钥上传至服务端;服务端接收用户的非对称公钥,并保存;客户端进一步的查看本地是否有其缓存的对称密钥,若没有,则客户端进一步的向服务端获取对称密钥,即客户端向服务端发起对称密钥获取请求。服务端接收到客户端的密钥请求后,则查看本地数据库是否存储有该客户端用户的对称密钥,没有则生成该客户端专属的对称密钥,并按照前后端约定的加解密算法对对称密钥进行处理,得到对称密钥密文并保存;服务端进一步的采用该客户端的公钥将加密处理后的对称密钥信息进行非对称加密并返回至客户端,此时对称密钥信息则具体的为对称密钥密文。客户端接收到该非对称加密后的对称密钥信息之后,则采用私钥将对称密钥信息进行解密,并缓存至本地;进一步的客户端按照约定的加解密算法对对称秘钥信息进行解析,从而获得原始对称密钥信息。
客户端获取到原始对称密钥信息之后,则将通信数据采用对称密钥进行加密,并采用非对称私钥进行签名,签名后上传至服务端,即向服务器发起上链请求。服务端采用该用户的公钥对用户上传的加密数据验证其签名,验证通过后则将该加密的通讯数据上传至区块链。
在本发明的另一实施例中,数据加密方法还包括以下步骤:所述第一客户端向所述服务器端发送数据请求,所述服务器端基于所述第一客户端的公钥将所述数据请求对应的请求数据密文进行签名,并发送至所述第一客户端;所述第一客户端基于所述私钥对接收到的签名后的所述请求数据密文进行验证,验证通过后,并基于所述对称密钥对所述请求数据密文进行解密,得到请求数据。
由于服务器端所存储的均为通讯数据的密文信息,因此当第一客户端向服务器端请求访问数据时,则服务器端首先确定第一客户端想要获取到的加密数据的数据密文,进而将该第一客户端想要获取到的数据密文通过第一客户端的公钥将加密数据的数据密文进行签名并发送给第一客户端;第一客户端接收到数据之后,首先采用私钥验证签名,进而采用对称密钥对数据密文进行解析,从而第一客户端获取到了其所需要的通讯数据。
图3为本发明再一实施例的用于区块链数据的数据加密方法的流程示意图,该实施例与图2中的实施例类似的,均是服务端基于双方约定好的加解密算法对为客户端生成的对称密钥进行加密,并进一步的将对称密钥密文基于第一客户端的公钥进行非对称加密并返回给客户端。客户端则首先基于自身的私钥进行解密得到对称密钥密文,进而将对称密钥密文基于约定好的加解密算法进行解密得到具体的对称密钥。在该实施例中,客户端可进一步的从服务端获取聊天数据,即客户端向服务端发送获取聊天数据的请求,服务端接收到该聊天数据请求后,则查询对应的聊天数据,其具体查询到的为该聊天数据的密文;进一步的服务端基于获取该聊天数据的客户端的公钥对聊天数据密文进行签名,并发送至该客户端。客户端首先采用私钥验证其签名,验证通过后,则采用对称密钥对聊天数据密文进行解析,从而得到具体的聊天数据明文。
而在另一实施例中,第一客户端获取到对称密钥之后,则也可以先向服务器端发送加密后的待上链的通讯数据,此时服务器端将第一客户端上传的通讯数据进行上链存储以供其他客户端获取。待第一客户端将待上链的通讯数据上传至区块链之后,则第一客户端也可进一步的从服务器端请求获取通讯数据,即第一客户端向服务端发送获取聊天数据的请求。
在本发明的另一实施例中,该数据加密方法还包括以下步骤:获取第二客户端的访问权限,在所述第二客户端具有访问所述通讯数据的访问权限的情况下,所述第二客户端访问所述服务器端存储的所述通讯数据。
进一步的,所述第二客户端访问所述服务器端存储的所述通讯数据,包括:获取第一客户端的第一用户标识和所述第二客户端的第二用户标识;所述第二客户端向所述服务器端发送授权请求,所述授权请求中包括所述第一用户标识和所述第二用户标识;在所述授权请求授权通过的情况下,所述服务器端向所述第二客户端发送访问令牌;所述第二客户端向所述服务器端发送访问请求,所述访问请求中包括访问令牌,在所述访问令牌合法的情况下,所述服务器端基于所述第一客户端对应的非对称密钥、对称密钥对所述第一通讯数据密文进行解密得到通讯数据明文,所述服务器端基于所述第二客户端对应的对称密钥、非对称密钥对所述通讯数据明文进行加密得到第二通讯数据密文,所述服务器端将所述第二通讯数据密文发送至所述第二客户端。
示例性的,所述服务器端基于所述第一客户端对应的非对称密钥、对称密钥对所述第一通讯数据密文进行解密得到通讯数据明文,包括:所述服务器端基于所述第一客户端对应的公钥验证所述第一通讯数据密文的签名;验证通过后,所述服务器端基于所述第一客户端对应的对称密钥对所述第一通讯数据密文进行解密得到通讯数据明文。所述服务器端基于所述第二客户端对应的非对称密钥、对称密钥对所述通讯数据明文进行加密得到第二通讯数据密文,包括:所述服务器端基于所述第二客户端对应的对称密钥对所述通讯数据明文进行对称加密,得到第二通讯数据密文;所述服务器端基于所述第二客户端对应的非对称公钥对所述第二通讯数据密文进行签名,得到签名后的所述第二通讯数据密文。
参考图4,在加密数据的授权访问过程中,首先第一客户端为第二客户端提供访问权限,此时第一客户端与第二客户端可为互相可进行数据交互的两个客户端。第二客户端被第一客户端授权之后,则第二客户端可进一步的获取第一客户端的存储在服务器端的加密数据。例如,第二客户端(被授权人)使用授权人用户标识及被授权人用户标识,向服务端发起授权请求;服务端生成访问令牌,并向第二客户端返回该访问令牌;第二客户端(被授权人)携带访问令牌向服务端发起数据访问请求,服务端校验访问令牌的合法性,若合法,使用授权人(第一客户端)的对称密钥对授权人的第一通讯数据密文进行解密,并使用被授权人(第二客户端)的对称密钥对第二通讯数据明文进行加密,并将加密后的第二通讯数据密文使用被授权人的公钥签名后返回给第二客户端。进一步的,第二客户端基于其对应的非对称私钥验证所述第二通讯数据密文对应的签名;验证通过后,所述第二客户端基于其对应的对称密钥对所述第二通讯数据密文进行对称解密,得到通讯数据明文。即具体的,第二客户端首先采用自身的私钥验证服务端的签名,待签名验证通过后,则第二客户端基于其专属的对称密钥对数据密文进行解析得到数据明文。
通过上述实施例可以发现,本发明实施例中的用于区块链数据的数据加密方法,其对通讯数据基于密钥进行加密,由于密钥是加密安全的关键,则本申请还对对称密钥通过约定好的加解密方法进行加密;在整个数据加密、存储及传输过程中,对原始通讯数据及密钥信息始终保持密文的形态,仅在必要使用密钥时(加解密),在程序运行内存中短暂解析出密钥原文;该方法最大程序保护了密钥信息的安全性,进而保护了通讯数据的安全性。并且由于非对称加密相对耗时,本申请仅采用非对称加密进行数据签名防止传输过程中数据被恶意篡改;且非对称公私钥由客户端生成,客户端保存私钥,服务端保存公钥,公私钥除了生成的一瞬间,永远不再同时存储在同一地点或同时传输,极大降低了信息泄漏的风险;并且非对称公私钥在用户每次登录时重新生成以及时更新,极大的增强了数据隐私的安全性。各客户端均具有独立的对称密钥,从而缩小了数据丢失所影响的范围;且对称密钥在传输时,由前后端约定的算法加密处理后并存储,仅在加解密时,前后端程序在运行内存中按照约定的算法短暂解析出对称密钥原文,最大程度的保护了密钥信息的安全性,从而也进一步的确保了上链过程中数据传输的安全性。
对应的,本发明还提供了一种用于区块链数据的数据加密系统,该系统包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如上任一实施例所述方法的步骤。
另外,该发明还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一实施例所述方法的步骤。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种用于区块链数据的数据加密方法,其特征在于,所述方法包括:
第一客户端生成非对称密钥,所述非对称密钥包括公钥和私钥,将所述公钥发送至服务器端;
所述服务器端生成所述第一客户端对应的对称密钥,确定所述第一客户端和所述服务器端约定的加解密算法,所述服务器端基于所述约定的加解密算法对所述对称密钥进行加密得到第一密文,所述服务器端基于接收到的所述公钥对所述第一密文进行非对称加密得到第二密文,并将所述第二密文发送至所述第一客户端;
所述第一客户端基于所述私钥对所述第二密文进行解密,得到所述第二密文对应的明文信息,所述第一客户端基于所述约定的加解密算法对得到的所述第二密文对应的明文信息进行解密,得到对称密钥原始数据;
所述第一客户端基于所述对称密钥原始数据对通讯数据进行对称加密得到第一通讯数据密文,并基于所述私钥对所述第一通讯数据密文进行签名,将签名后的所述第一通讯数据密文发送至所述服务器端以存储。
2.根据权利要求1所述的用于区块链数据的数据加密方法,其特征在于,所述方法还包括:
所述服务器端基于所述公钥对所述第一客户端的签名进行验证,验证通过后,将所述第一通讯数据密文上传至区块链。
3.根据权利要求1所述的用于区块链数据的数据加密方法,其特征在于,所述方法还包括:
所述第一客户端向所述服务器端发送数据请求,所述服务器端基于所述第一客户端的公钥将所述数据请求对应的请求数据密文进行签名,并发送至所述第一客户端;
所述第一客户端基于所述私钥对接收到的签名后的所述请求数据密文进行验证,验证通过后,并基于所述对称密钥对所述请求数据密文进行解密,得到请求数据。
4.根据权利要求2所述的用于区块链数据的数据加密方法,其特征在于,所述方法还包括:获取第二客户端的访问权限,在所述第二客户端具有访问所述通讯数据的访问权限的情况下,所述第二客户端访问所述服务器端存储的所述通讯数据。
5.根据权利要求4所述的用于区块链数据的数据加密方法,其特征在于,所述第二客户端访问所述服务器端存储的所述通讯数据,包括:
获取第一客户端的第一用户标识和所述第二客户端的第二用户标识;
所述第二客户端向所述服务器端发送授权请求,所述授权请求中包括所述第一用户标识和所述第二用户标识;
在所述授权请求授权通过的情况下,所述服务器端向所述第二客户端发送访问令牌;
所述第二客户端向所述服务器端发送访问请求,所述访问请求中包括访问令牌,在所述访问令牌合法的情况下,所述服务器端基于所述第一客户端对应的非对称密钥、对称密钥对所述第一通讯数据密文进行解密得到通讯数据明文,所述服务器端基于所述第二客户端对应的对称密钥、非对称密钥对所述通讯数据明文进行加密得到第二通讯数据密文,所述服务器端将所述第二通讯数据密文发送至所述第二客户端。
6.根据权利要求5所述的用于区块链数据的数据加密方法,其特征在于,所述服务器端基于所述第一客户端对应的非对称密钥、对称密钥对所述第一通讯数据密文进行解密得到通讯数据明文,包括:
所述服务器端基于所述第一客户端对应的公钥验证所述第一通讯数据密文的签名;
验证通过后,所述服务器端基于所述第一客户端对应的对称密钥对所述第一通讯数据密文进行解密得到通讯数据明文。
7.根据权利要求6所述的用于区块链数据的数据加密方法,其特征在于,所述服务器端基于所述第二客户端对应的非对称密钥、对称密钥对所述通讯数据明文进行加密得到第二通讯数据密文,包括:
所述服务器端基于所述第二客户端对应的对称密钥对所述通讯数据明文进行对称加密,得到第二通讯数据密文;
所述服务器端基于所述第二客户端对应的非对称公钥对所述第二通讯数据密文进行签名,得到签名后的所述第二通讯数据密文。
8.根据权利要求7所述的用于区块链数据的数据加密方法,其特征在于,所述方法还包括:
所述第二客户端基于其对应的非对称私钥验证所述第二通讯数据密文对应的签名;
验证通过后,所述第二客户端基于其对应的对称密钥对所述第二通讯数据密文进行对称解密,得到通讯数据明文。
9.一种用于区块链数据的数据加密系统,该系统包括处理器和存储器,其特征在于,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如权利要求1至8中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310098029.7A CN116192486A (zh) | 2023-01-19 | 2023-01-19 | 一种用于区块链数据的数据加密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310098029.7A CN116192486A (zh) | 2023-01-19 | 2023-01-19 | 一种用于区块链数据的数据加密方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116192486A true CN116192486A (zh) | 2023-05-30 |
Family
ID=86439787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310098029.7A Pending CN116192486A (zh) | 2023-01-19 | 2023-01-19 | 一种用于区块链数据的数据加密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116192486A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117201113A (zh) * | 2023-09-07 | 2023-12-08 | 上海雷龙信息科技有限公司 | 一种基于非对称加密的区块链数字签名方法及其系统 |
-
2023
- 2023-01-19 CN CN202310098029.7A patent/CN116192486A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117201113A (zh) * | 2023-09-07 | 2023-12-08 | 上海雷龙信息科技有限公司 | 一种基于非对称加密的区块链数字签名方法及其系统 |
CN117201113B (zh) * | 2023-09-07 | 2024-04-30 | 上海雷龙信息科技有限公司 | 一种基于非对称加密的区块链数字签名方法及其系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103685282B (zh) | 一种基于单点登录的身份认证方法 | |
CN110049016B (zh) | 区块链的数据查询方法、装置、系统、设备及存储介质 | |
KR100979576B1 (ko) | 새로운 패스워드를 실현하기 위한 방법 및 컴퓨터 판독가능 매체 | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
US20060126848A1 (en) | Key authentication/service system and method using one-time authentication code | |
CN109495274A (zh) | 一种去中心化智能锁电子钥匙分发方法及系统 | |
CN110690956B (zh) | 双向认证方法及系统、服务器和终端 | |
CN109151508B (zh) | 一种视频加密方法 | |
CN101378320B (zh) | 一种认证方法和认证系统 | |
CN108809633B (zh) | 一种身份认证的方法、装置及系统 | |
CN110505055B (zh) | 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统 | |
CN112232814A (zh) | 支付密钥的加密和解密方法、支付认证方法及终端设备 | |
CN111740995B (zh) | 一种授权认证方法及相关装置 | |
CN113114668A (zh) | 一种信息传输方法、移动终端、存储介质及电子设备 | |
US11803631B2 (en) | Binding a hardware security token to a host device to prevent exploitation by other host devices | |
CN116244750A (zh) | 一种涉密信息维护方法、装置、设备及存储介质 | |
CN116192486A (zh) | 一种用于区块链数据的数据加密方法及装置 | |
CN110807210B (zh) | 一种信息处理方法、平台、系统及计算机存储介质 | |
KR102415628B1 (ko) | Dim을 이용한 드론 인증 방법 및 장치 | |
CN106972928B (zh) | 一种堡垒机私钥管理方法、装置及系统 | |
CN116112234A (zh) | 一种电子签收安全校验方法、系统、介质及设备 | |
KR102308248B1 (ko) | 양자난수 기반의 양자암호화칩이 탑재된 비화게이트웨이 및 이를 이용한 IoT디바이스간 비화통신 서비스 제공방법 | |
CN110035032A (zh) | 指纹解锁方法及指纹解锁系统 | |
CN116318637A (zh) | 设备安全入网通信的方法和系统 | |
JP2002196669A (ja) | 暗号化データ通信方法並びにそのための暗号化データ生成システム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |