CN114679319B - 基于区块链的分布式数据同步加密方法 - Google Patents

基于区块链的分布式数据同步加密方法 Download PDF

Info

Publication number
CN114679319B
CN114679319B CN202210308365.5A CN202210308365A CN114679319B CN 114679319 B CN114679319 B CN 114679319B CN 202210308365 A CN202210308365 A CN 202210308365A CN 114679319 B CN114679319 B CN 114679319B
Authority
CN
China
Prior art keywords
data
key
node
ciphertext
blockchain
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.)
Active
Application number
CN202210308365.5A
Other languages
English (en)
Other versions
CN114679319A (zh
Inventor
孙国梓
刘坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202210308365.5A priority Critical patent/CN114679319B/zh
Publication of CN114679319A publication Critical patent/CN114679319A/zh
Application granted granted Critical
Publication of CN114679319B publication Critical patent/CN114679319B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明提供一种基于区块链的分布式数据同步加密方法,数据同步节点通过随机密钥函数生成密钥Key;将明文Di加入时间序列后行加密,得到密文数据Ci;将密文数据Ci共享到所有的目的节点;通过散列函数Hash计算,获得对应的哈希散列作为密文数据Ci的密文散列;生成键值对上链数据Mkv,上传到区块链平台;区块链平台验证节点身份成功后将键值对上链数据Mkv记录到区块链账本;目的节点收到密文数据Ci后,向区块链平台请求获取键值对上链数据Mkv,获取密钥Key通过高级加密标准AES解密Ci,获取明文Di;该方法采用对称加密算法对分布式数据库同步数据进行加密,保证共享过程中的数据隐私安全,能够保证数据的不可篡改性与可追溯性,并保证密钥存取的节点身份安全。

Description

基于区块链的分布式数据同步加密方法
技术领域
本发明涉及一种基于区块链的分布式数据同步加密方法,属于数据加密技术领域。
背景技术
数据库作为当今计算机发展和应用的关键技术之一,主要是承担着数据存储的作用,在信息化时代发展中,数据是各个领域激烈竞争中的关键之一。尤其是大数据和云计算时代的到来,数据库的应用也由单点数据库变成多点数据库的集成。多点数据库系统数据库同步方案主要以主从模式实现,主数据库负责数据库增量同步到从数据库,而数据库的更改变动操作只能在主数据库上进行,这种模式的单点问题依旧存在。
随着分布式技术的发展,分布式数据库的模式更加完善,给主从模式所存在的问题带来了一定的解决方案。分布式系统模式下每个数据库节点都是平等的数据库节点,因此数据库同步技术成为分布式系统处理的核心,分布式节点不仅需要处理本地数据库操作,同样需要从其他节点同步数据来完善自身数据集,分布式系统中每个数据库节点都承担着数据的写入和同步任务。
节点间频繁的数据共享已是常态,但是,分布式系统形态对数据加密存在一定局限性。随着的大量数据共享操作,随之而来的是数据泄露、恶意篡改、数据追溯困难等问题。例如,中国发明申请CN202010998073.X公开了一种分布式数据库的数据交互加密系统,包括智能加密模块、请求加密模块、权限管理模块和转发控制模块;所述智能加密模块和请求加密模块用于连接数据源和分布式数据库节点,通过两个加密模块对进入所述数据库节点的数据进行加密管理。该专利申请中分布式数据库的数据交互中的加密是解决数据隐私的有效手段,但是加密过程中密钥的存储存在一定安全隐患,数据库存储仍会出现密钥发生篡改和追溯困难的可能性。如何对分布式数据库同步进行有效加密以保证数据安全成为关键。
上述问题是在分布式数据同步加密过程中应当予以考虑并解决的问题。
发明内容
本发明的目的是提供一种基于区块链的分布式数据同步加密方法解决现有技术中存在的具有被恶意篡改,数据追溯困难,数据安全性有待提高的问题。
本发明的技术解决方案是:
一种基于区块链的分布式数据同步加密方法,包括以下步骤,
S1、产生数据变动的分布式数据库节点即数据同步节点,数据同步节点通过随机密钥函数生成密钥Key,密钥用于对明文Di进行加密和解密;
S2、数据同步节点将明文Di加入时间序列后,采用生成密钥通过高级加密标准AES实现的对称加密算法进行加密,得到密文数据Ci
S3、数据同步节点将密文数据Ci共享到区块链系统内所有的目的节点;
S4、数据同步节点将密文数据Ci通过散列函数Hash计算,获得对应的哈希散列作为密文数据Ci的密文散列Hash(Ci);
S5、数据同步节点将密钥Key、分布式数据库节点ID与同步时间作为存储数据,以密文散列Hash(Ci)为数据索引组合,以密文散列为数据索引组合,生成键值对上链数据Mkv,然后通过程序包SDK上传到区块链平台;
S6、区块链平台通过数据同步节点请求中的证书信息验证节点身份,身份验证成功后将键值对上链数据Mkv记录到区块链账本;
S7、目的节点对收到的密文数据Ci进行Hash计算获得密文散列,然后目的节点向区块链平台请求身份验证,身份验证成功后,通过密文散列向区块链平台请求获取上链数据Mkv,进而获取密钥Key后,通过高级加密标准AES解密密文数据Ci,获取明文Di
进一步地,步骤S1中,数据同步节点通过随机密钥函数生成密钥Key,具体为,
S11、确定密钥Key的基本参数:最终生成密钥长度lkey与密钥复杂度Okey,最终生成密钥长度lkey=(l1,l2)∈Z,l1,l2为最短及最长的密钥长度,密钥复杂度Okey决定生成密钥的组合复杂度;
S12、数据同步节点根据选择的lkey及Okey参数调用随机选择函数Rand(lkey,Okey,n),n为不重复计数,随机选择函数以lkey为次数进行遍历生成随机密钥值,密钥值组合为最终生成密钥Key。
进一步地,步骤S2中,数据同步节点将待同步数据,即为明文Di加入时间序列后,采用生成密钥通过高级加密标准AES实现的对称加密算法进行加密,得到密文数据Ci,具体为,
S21、数据同步节点生成明文Di,i为分布式系统同步数据唯一索引,后续明文Di要计算Hash散列,为减少Hash冲突每个明文Di在生成时加入生成时间序列;
S22、设高级加密标准AES的加密函数为E,则Ci=E(Key,Di),加密函数把明文Di和密钥Key作为加密函数的参数输入,租加密函数E会输出对应的密文数据Ci
进一步地,步骤S21中,数据同步节点生成明文Di,具体为,
S211、数据同步节点查询本地数据库数据同步记录表,获取其顺序主键的最大值Nidmax,同时获取数据同步节点在系统内的唯一标识ID;
S212、获取此时系统时间Tnow,并通过序列化函数format获取时间序列化值S=format(Tnow);
S213、原始数据Dini中引入外部嵌入函数Ex,将时间序列化值S嵌入到原始数据中以获取明文Di
S214、综合步骤S211、步骤S212、步骤S213计算获取明文Di,如下:
进一步地,步骤S3中,数据同步节点将密文数据Ci共享到区块链系统内所有的目的节点,具体为,
S31、分布式数据库节点之间彼此保持通信,由传输控制协议TCP作为通信协议,同时定义目的节点“心跳”机制保持节点存活性,数据同步节点对区块链系统内所有的目的节点判定心跳是否正常;
S32、数据同步节点向所有保持心跳正常的目的节点发送数据密文,每个目的节点在收到密文后将在T时间后回复完整性校验结果。
进一步地,步骤S31中,定义目的节点“心跳”机制保持节点存活性,具体为,
S311、建立发送通信包定时器Kat(t),t为通信包的发送间隔时间;
S312、根据发送通信包定时器Kat(t)发送通信包,同时更新收到通信包的时间Rtk,k为次数;
S313、建立判断定时器Jt(b),b为连接标识符,每次收到通信包b=true;
S314、判断定时器Jt(b)不断计算收到的通信包间隔TJt=Tnow-Rtk,Tnow为当前时间,如果TJt大于设定值,则将连接标识符b=false判作超时,目的节点心跳不正常;否则连接标识符b=true,目的节点心跳正常。
进一步地,步骤S5中,数据同步节点将密钥Key、分布式数据库节点ID与
同步时间作为存储数据,以密文散列Hash(Ci)为数据索引组合,以密文散列为数据索引组合,生成键值对上链数据Mkv,然后通过程序包SDK上传到区块链平台,具体为,
S51、数据同步节点获取本节点在系统内的唯一标识ID,同时获取当前时间Tnow,按照轻量化编程语言JavaScript对象表示法JSON格式序列号组合为数据序列{Key,ID,Tnow};
S52、区块链账本记录包括不可更改的区块链和状态数据库账本,其中状态数据库以键值对Key-Value的形式存在,采用密文散列Hash(Ci)组成键值对上链数据Mkv={Hash(Ci),{Key,ID,Tnow}};
S53、每个数据同步节点都作为区块链平台的客户端Client,数据同步节点调用本地逻辑中的软件开发套件SDK程序指定到区块链平台的背书节点进行Set请求,将键值对上链数据Mkv上传至区块链平台。
进一步地,步骤S6中,区块链平台通过数据同步节点请求中的证书信息验证节点身份,身份验证成功后将键值对上链数据Mkv记录到区块链账本,具体为,
S61、在区块链平台中设置认证CA节点进行Client身份验证,数据同步节点作为Client向作为服务端Server的CA节点发出注册申请,Server返回注册密码用于Client用户登录,以便获取身份证书,区块链平台对每次Client请求都会验证用户身份,用户身份验证成功后建立连接,进入下一步骤S62;
S62、区块链平台的排序节点收到键值对上链数据Mkv的执行提案记录后进行排序,排序后交易同步到区块链平台的记账节点,记账节点保存交易到记账节点的账本中,同时更新状态数据库。
进一步地,步骤S7中,目的节点对收到的密文数据Ci进行Hash计算获得密文散列,然后目的节点向区块链平台请求身份验证,身份验证成功后,通过密文散列向区块链平台请求获取上链数据Mkv,进而获取密钥Key后,通过高级加密标准AES解密密文数据Ci,获取明文Di,具体为,
S71、目的节点收到密文数据Ci后,通过验证计时器Ch(Ci,Ca[T])计算得到哈希散列Hash(Ci),然后目的节点向区块链平台请求身份验证,身份验证成功后通过密文散列向区块链平台请求获取密钥信息的形式对收到密文数据Ci进行完整性校验,将完整性校验的结果发送给数据同步节点,完整性校验成功后获取键值对上链数据Mkv中的数据序列;
S72、设高级加密标准AES解密函数为D,解密函数通过密钥和密文获取明文Di=D(Key,Ci)。
进一步地,步骤S71中,目的节点收到密文数据Ci后,通过验证计时器Ch(Ci,Ca[T])计算得到哈希散列Hash(Ci),然后目的节点向区块链平台请求身份验证,身份验证成功后通过密文散列向区块链平台请求获取密钥信息的形式对收到密文数据Ci进行完整性校验,将完整性校验的结果发送给数据同步节点,完整性校验成功后获取键值对上链数据Mkv中的数据序列,具体为,
S711、目的节点收到密文数据Ci后建立验证计时器Ch(Ci,Ca[T]),Ca为执行条件,密文数据Ci为验证计时器Ch(Ci,Ca[T])的传入参数;
S712、计时器Ca[T]以T为等待时间,数据同步节点上传区块链时延为tup,区块链平台排序记账时延为tbc,同步数据传输时延为tc,通过与步骤S711联合计算出
S713、目的节点向区块链平台请求身份验证,身份验证成功后,目的节点将计算到的哈希散列Hash(Ci)作为参数,通过SDK向区块链平台请求获取密钥信息;
S714、如果区块链平台返回的结果为nil,表示区块链账本中没有该密文哈希散列,密文数据完整性丢失,目的节点将完整性校验的结果发送给数据同步节点,请求数据同步节点重新发送,返回步骤S711;否则验证成功,目的节点将完整性校验的结果发送给数据同步节点,并获取键值对上链数据Mkv中的数据序列{Key,ID,Tnow}。
该种基于区块链的分布式数据同步加密方法中,区块链系统主要包括以下三种角色:
数据同步节点:产生数据变动的分布式数据库节点,主要负责数据加密密钥的确定,密钥上传及加密数据共享。整个方案数据流程的起始端。
区块链平台:可信的去中心化平台,通过自身身份认证(CA)节点保证分布式数据库节点身份安全,账本记录不可篡改数据供分布式数据库节点请求读取与数据追溯。
目的节点:数据库同步的接收者,也是分布式数据库节点,验证收到的同步数据并请求区块链平台获取密钥。
本发明的有益效果是:该种基于区块链的分布式数据同步加密方法,采用对称加密算法对分布式数据库同步数据进行加密,能够保证共享过程中的数据隐私安全。通过区块链技术保存相关数据,保证数据的不可篡改性与可追溯性,解决了密钥共享安全、难以追溯的问题。该种基于区块链的分布式数据同步加密方法,在区块链系统中引入认证节点,分布式数据库节点与区块链的交互都需要通过证书认证,保证了密钥存取的节点身份安全。
附图说明
图1是本发明实施例基于区块链的分布式数据同步加密方法的流程示意图。
图2是实施例中数据同步节点、区块链平台和目的节点的说明示意图。
图3是实施例中区块链平台记账的说明示意图。
图4是实施例中数据目的节点获取明文的说明示意图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例
一种基于区块链的分布式数据同步加密方法,如图1和图2,包括以下步骤,
S1、产生数据变动的分布式数据库节点即数据同步节点,数据同步节点通过随机密钥函数生成密钥Key,密钥用于对明文Di进行加密和解密;
S11、确定密钥Key的基本参数:最终生成密钥长度lkey与密钥复杂度Okey,最终生成密钥长度lkey=(l1,l2)∈Z,l1,l2为最短及最长的密钥长度,密钥复杂度Okey决定生成密钥的组合复杂度;
S12、数据同步节点根据选择的lkey及Okey参数调用随机选择函数Rand(lkey,Okey,n),n为不重复计数,随机选择函数以lkey为次数进行遍历生成随机密钥值,密钥值组合为最终生成密钥Key。
S2、数据同步节点将明文Di加入时间序列后,采用生成密钥通过高级加密标准AES实现的对称加密算法进行加密,得到密文数据Ci
S21、数据同步节点生成明文Di,i为分布式系统同步数据唯一索引,后续明文Di要计算Hash散列,为减少Hash冲突每个明文Di在生成时加入生成时间序列;
S211、数据同步节点查询本地数据库数据同步记录表,获取其顺序主键的最大值Nidmax,同时获取数据同步节点在系统内的唯一标识ID;
S212、获取此时系统时间Tnow,并通过序列化函数format获取时间序列化值S=format(Tnow);
S213、原始数据Dini中引入外部嵌入函数Ex,将时间序列化值S嵌入到原始数据中以获取明文Di
S214、综合步骤S211、步骤S212、步骤S213计算获取明文Di,如下:
S22、设高级加密标准AES的加密函数为E,则Ci=E(Key,Di),加密函数把明文Di和密钥Key作为加密函数的参数输入,租加密函数E会输出对应的密文数据Ci
S3、数据同步节点将密文数据Ci共享到区块链系统内所有的目的节点;
S31、分布式数据库节点之间彼此保持通信,由传输控制协议TCP作为通信协议,同时定义目的节点“心跳”机制保持节点存活性,数据同步节点对区块链系统内所有的目的节点判定心跳是否正常;如图4。
步骤S31中,定义目的节点“心跳”机制保持节点存活性,具体为,
S311、建立发送通信包定时器Kat(t),t为通信包的发送间隔时间;
S312、根据发送通信包定时器Kat(t)发送通信包,同时更新收到通信包的时间Rtk,k为次数;
S313、建立判断定时器Jt(b),b为连接标识符,每次收到通信包连接标识符b=true;
S314、判断定时器Jt(b)不断计算收到的通信包间隔TJt=Tnow-Rtk,Tnow为当前时间,如果TJt大于设定值,则将连接标识符b=false判作超时;否则连接标识符b=true。
S32、数据同步节点向所有保持心跳正常的目的节点发送数据密文,每个目的节点在收到密文后将在T时间后回复完整性校验结果。
S4、为保证数据传输过程的完整性,数据同步节点将密文数据Ci通过散列函数Hash计算,获得对应的哈希散列作为密文数据Ci的密文散列Hash(Ci);
S5、数据同步节点将密钥Key、分布式数据库节点ID与同步时间作为存储数据,以密文散列Hash(Ci)为数据索引组合,以密文散列为数据索引组合,生成键值对上链数据Mkv,然后通过程序包SDK上传到区块链平台。
S51、数据同步节点获取本节点在系统内的唯一标识ID,同时获取当前时间Tnow,按照轻量化编程语言JavaScript对象表示法jSON格式序列号组合为数据序列{Key,ID,Tnow};
步骤S51中,按照JSON格式序列号组合为{Key,ID,Tnow},具体为,
S511、新建与区块链平台运行的智能合约相对应的对象结构体struct={Data,PeerId,Time};
S512、新建对象并初始化Temp={nil,0,nil};
S513、将对应参数赋值Temp={Key,ID,Tnow},最后调用json.Marshal函数序列化为JSON序列号{Key,ID,Tnow}。
S52、区块链账本记录包括不可更改的区块链和状态数据库账本,其中状态数据库以键值对Key-Value的形式存在,采用密文散列Hash(Ci)组成键值对上链数据Mkv={Hash(Ci),{Key,ID,Tnow}};
S53、每个数据同步节点都作为区块链平台的客户端Client,数据同步节点调用本地逻辑中的软件开发套件SDK程序指定到区块链平台的背书节点进行Set请求,将键值对上链数据Mkv上传至区块链平台。
S6、区块链平台通过数据同步节点请求中的证书信息验证节点身份,身份验证成功后将键值对上链数据Mkv记录到区块链账本;如图3。
S61、在区块链平台中设置认证CA节点进行Client身份验证,数据同步节点作为Client向作为服务端Server的CA节点发出注册申请,Server返回注册密码用于Client用户登录,以便获取身份证书,区块链平台对每次Client请求都会验证用户身份,用户身份验证成功后建立连接,进入下一步骤S62;
S62、区块链平台的排序节点收到键值对上链数据Mkv的执行提案记录后进行排序,排序后交易同步到区块链平台的记账节点,记账节点保存交易到记账节点的账本中,同时更新状态数据库。
S7、目的节点对收到的密文数据Ci进行Hash计算获得密文散列,然后目的节点向区块链平台请求身份验证,身份验证成功后,通过密文散列向区块链平台请求获取上链数据Mkv,进而获取密钥Key后,通过高级加密标准AES解密密文数据Ci,获取明文Di,如图4。
S71、目的节点收到密文数据Ci后,通过验证计时器Ch(Ci,Ca[T])计算得到哈希散列Hash(Ci),然后目的节点向区块链平台请求身份验证,身份验证成功后通过密文散列向区块链平台请求获取密钥信息的形式对收到密文数据Ci进行完整性校验,将完整性校验的结果发送给数据同步节点,完整性校验成功后获取键值对上链数据Mkv中的数据序列;
S711、目的节点收到密文数据Ci后建立验证计时器Ch(Ci,Ca[T]),Ca为执行条件,密文数据Ci为验证计时器Ch(Ci,Ca[T])的传入参数;
S712、计时器Ca[T]以T为等待时间,数据同步节点上传区块链时延为tup,区块链平台排序记账时延为tbc,同步数据传输时延为tc,通过与步骤S711联合计算出
S713、目的节点向区块链平台请求身份验证,身份验证成功后,目的节点将计算到的哈希散列Hash(Ci)作为参数,通过SDK向区块链平台请求获取密钥信息;
S714、如果区块链平台返回的结果为nil,表示区块链账本中没有该密文哈希散列,密文数据完整性丢失,目的节点将完整性校验的结果发送给数据同步节点,请求数据同步节点重新发送,返回步骤S711;否则验证成功,目的节点将完整性校验的结果发送给数据同步节点,并获取键值对上链数据Mkv中的数据序列{Key,ID,Tnow}。
S72、设高级加密标准AES解密函数为D,解密函数通过密钥和密文获取明文Di=D(Key,Ci)。
该种基于区块链的分布式数据同步加密方法,采用对称加密算法对分布式数据库同步数据进行加密,能够保证共享过程中的数据隐私安全。通过区块链技术保存相关数据,保证数据的不可篡改性与可追溯性,解决了密钥共享安全、难以追溯的问题。该种基于区块链的分布式数据同步加密方法,在区块链系统中引入认证节点,分布式数据库节点与区块链的交互都需要通过证书认证,保证了密钥存取的节点身份安全。
该种基于区块链的分布式数据同步加密方法,应用区块链技术,通过设置分布式数据库节点与区块链平台的安全交互,将加密密钥、节点身份等信息记录到区块链账本,以区块链平台为中间件解析同步数据密钥,避免了数据库同步的数据隐私及安全问题。同时区块链技术不可篡改的特性可以支持每条同步数据的反向查询,保证数据源可追溯。
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于区块链的分布式数据同步加密方法,其特征在于:包括以下步骤,
S1、产生数据变动的分布式数据库节点即数据同步节点,数据同步节点通过随机密钥函数生成密钥Key,密钥用于对待同步数据,即明文Di进行加密和解密;
S2、数据同步节点将明文Di加入时间序列后,采用生成密钥通过高级加密标准AES实现的对称加密算法进行加密,得到密文数据Ci
S3、数据同步节点将密文数据Ci共享到区块链系统内所有的目的节点;
S4、数据同步节点将密文数据Ci通过散列函数Hash计算,获得对应的哈希散列作为密文数据Ci的密文散列Hash(Ci);
S5、数据同步节点将密钥Key、分布式数据库节点ID与同步时间作为存储数据,以密文散列Hash(Ci)为数据索引组合,生成键值对上链数据Mkv,然后通过程序包SDK上传到区块链平台;
S6、区块链平台通过数据同步节点请求中的证书信息验证节点身份,身份验证成功后将键值对上链数据Mkv记录到区块链账本;
S7、目的节点对收到的密文数据Ci进行Hash计算获得密文散列,然后目的节点向区块链平台请求身份验证,身份验证成功后,通过密文散列向区块链平台请求获取上链数据Mkv,进而获取密钥Key后,通过高级加密标准AES解密密文数据Ci,获取明文Di
2.如权利要求1所述的基于区块链的分布式数据同步加密方法,其特征在于:步骤S1中,数据同步节点通过随机密钥函数生成密钥Key,具体为,
S11、确定密钥Key的基本参数:最终生成密钥长度lkey与密钥复杂度Okey,最终生成密钥长度lkey=(l1,l2)∈Z,l1,l2为最短及最长的密钥长度,密钥复杂度Okey决定生成密钥的组合复杂度;
S12、数据同步节点根据选择的lkey及Okey参数调用随机选择函数Rand(lkey,Okey,n),n为不重复计数,随机选择函数以lkey为次数进行遍历生成随机密钥值,密钥值组合为最终生成密钥Key。
3.如权利要求1所述的基于区块链的分布式数据同步加密方法,其特征在于:步骤S2中,数据同步节点将同步数据,即为明文Di,加入时间序列后,采用生成密钥通过高级加密标准AES实现的对称加密算法进行加密,得到密文数据Ci,具体为,
S21、数据同步节点生成明文Di,i为分布式系统同步数据唯一索引,后续明文Di要计算Hash散列,为减少Hash冲突每个明文Di在生成时加入生成时间序列;
S22、设高级加密标准AES的加密函数为E,则Ci=E(Key,Di),加密函数把明文Di和密钥Key作为加密函数的参数输入,加密函数E会输出对应的密文数据Ci
4.如权利要求3所述的基于区块链的分布式数据同步加密方法,其特征在于:步骤S21中,数据同步节点生成明文Di,具体为,
S211、数据同步节点查询本地数据库数据同步记录表,获取其顺序主键的最大值Nidmax,同时获取数据同步节点在系统内的唯一标识ID;
S212、获取此时系统时间Tnow,并通过序列化函数format获取时间序列化值S=format(Tnow);
S213、原始数据Dini中引入外部嵌入函数Ex,将时间序列化值S嵌入到原始数据中以获取明文Di
S214、综合步骤S211、步骤S212、步骤S213计算获取明文Di,如下:
5.如权利要求1-4任一项所述的基于区块链的分布式数据同步加密方法,其特征在于:步骤S3中,数据同步节点将密文数据Ci共享到区块链系统内所有的目的节点,具体为,
S31、分布式数据库节点之间彼此保持通信,由传输控制协议TCP作为通信协议,同时定义目的节点“心跳”机制保持节点存活性,数据同步节点对区块链系统内所有的目的节点判定心跳是否正常;
S32、数据同步节点向所有保持心跳正常的目的节点发送数据密文,每个目的节点在收到密文后将在T时间后回复完整性校验结果。
6.如权利要求5所述的基于区块链的分布式数据同步加密方法,其特征在于:步骤S31中,定义目的节点“心跳”机制保持节点存活性,具体为,
S311、建立发送通信包定时器Kat(t),t为通信包的发送间隔时间;
S312、根据发送通信包定时器Kat(t)发送通信包,同时更新收到通信包的时间Rtk,k为次数;
S313、建立判断定时器Jt(b),b为连接标识符,每次收到通信包b=true;
S314、判断定时器Jt(b)不断计算收到的通信包间隔TJt=Tnow-Rtk,Tnow为当前时间,如果TJt大于设定值,则将连接标识符b=false判作超时,目的节点心跳不正常;否则连接标识符b=true,目的节点心跳正常。
7.如权利要求1-4任一项所述的基于区块链的分布式数据同步加密方法,其特征在于:步骤S5中,数据同步节点将密钥Key、分布式数据库节点ID与同步时间作为存储数据,以密文散列Hash(Ci)为数据索引组合,以密文散列为数据索引组合,生成键值对上链数据Mkv,然后通过程序包SDK上传到区块链平台,具体为,
S51、数据同步节点获取本节点在系统内的唯一标识ID,同时获取当前时间Tnow,按照轻量化编程语言JavaScript对象表示法JSON格式序列号组合为数据序列{Key,ID,Tnow};
S52、区块链账本记录包括不可更改的区块链和状态数据库账本,其中状态数据库以键值对Key-Value的形式存在,采用密文散列Hash(Ci)组成键值对上链数据Mkv={Hash(Ci),{Key,ID,Tnow}};
S53、每个数据同步节点都作为区块链平台的客户端Client,数据同步节点调用本地逻辑中的软件开发套件SDK程序指定到区块链平台的背书节点进行Set请求,将键值对上链数据Mkv上传至区块链平台。
8.如权利要求1-4任一项所述的基于区块链的分布式数据同步加密方法,其特征在于:步骤S6中,区块链平台通过数据同步节点请求中的证书信息验证节点身份,身份验证成功后将键值对上链数据Mkv记录到区块链账本,具体为,
S61、在区块链平台中设置认证CA节点进行Client身份验证,数据同步节点作为Client向作为服务端Server的CA节点发出注册申请,Server返回注册密码用于Client用户登录,以便获取身份证书,区块链平台对每次Client请求都会验证用户身份,用户身份验证成功后建立连接,进入下一步骤S62;
S62、区块链平台的排序节点收到键值对上链数据Mkv的执行提案记录后进行排序,排序后交易同步到区块链平台的记账节点,记账节点保存交易到记账节点的账本中,同时更新状态数据库。
9.如权利要求1-4任一项所述的基于区块链的分布式数据同步加密方法,其特征在于:步骤S7中,目的节点对收到的密文数据Ci进行Hash计算获得密文散列,然后目的节点向区块链平台请求身份验证,身份验证成功后,通过密文散列向区块链平台请求获取上链数据Mkv,进而获取密钥Key后,通过高级加密标准AES解密密文数据Ci,获取明文Di,具体为,
S71、目的节点收到密文数据Ci后,通过验证计时器Ch(Ci,Ca[T])计算得到哈希散列Hash(Ci),然后目的节点向区块链平台请求身份验证,身份验证成功后通过密文散列向区块链平台请求获取密钥信息的形式对收到密文数据Ci进行完整性校验,将完整性校验的结果发送给数据同步节点,完整性校验成功后获取键值对上链数据Mkv中的数据序列;
S72、设高级加密标准AES解密函数为D,解密函数通过密钥和密文获取明文Di=D(Key,Ci)。
10.如权利要求9所述的基于区块链的分布式数据同步加密方法,其特征在于:步骤S71中,目的节点收到密文数据Ci后,通过验证计时器Ch(Ci,Ca[T])计算得到哈希散列Hash(Ci),然后目的节点向区块链平台请求身份验证,身份验证成功后通过密文散列向区块链平台请求获取密钥信息的形式对收到密文数据Ci进行完整性校验,将完整性校验的结果发送给数据同步节点,完整性校验成功后获取键值对上链数据Mkv中的数据序列,具体为,
S711、目的节点收到密文数据Ci后建立验证计时器Ch(Ci,Ca[T]),Ca为执行条件,密文数据Ci为验证计时器Ch(Ci,Ca[T])的传入参数;
S712、计时器Ca[T]以T为等待时间,数据同步节点上传区块链时延为tup,区块链平台排序记账时延为tbc,同步数据传输时延为tc,通过与步骤S711联合计算出
S713、目的节点向区块链平台请求身份验证,身份验证成功后,目的节点将计算到的哈希散列Hash(Ci)作为参数,通过SDK向区块链平台请求获取密钥信息;
S714、如果区块链平台返回的结果为nil,表示区块链账本中没有该密文哈希散列,密文数据完整性丢失,目的节点将完整性校验的结果发送给数据同步节点,请求数据同步节点重新发送,返回步骤S711;否则验证成功,目的节点将完整性校验的结果发送给数据同步节点,并获取键值对上链数据Mkv中的数据序列{Key,ID,Tnow}。
CN202210308365.5A 2022-03-25 2022-03-25 基于区块链的分布式数据同步加密方法 Active CN114679319B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210308365.5A CN114679319B (zh) 2022-03-25 2022-03-25 基于区块链的分布式数据同步加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210308365.5A CN114679319B (zh) 2022-03-25 2022-03-25 基于区块链的分布式数据同步加密方法

Publications (2)

Publication Number Publication Date
CN114679319A CN114679319A (zh) 2022-06-28
CN114679319B true CN114679319B (zh) 2023-08-18

Family

ID=82076126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210308365.5A Active CN114679319B (zh) 2022-03-25 2022-03-25 基于区块链的分布式数据同步加密方法

Country Status (1)

Country Link
CN (1) CN114679319B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022346B (zh) * 2022-08-08 2022-10-21 湖南涉外经济学院 一种基于区块链的在线数据同步方法
CN115118441B (zh) * 2022-08-29 2022-11-04 中航信移动科技有限公司 一种基于区块链的身份验证系统
CN115225258B (zh) * 2022-09-19 2023-01-06 中电科新型智慧城市研究院有限公司 一种基于区块链的跨域可信数据的安全管理方法及系统
CN116318686B (zh) * 2023-05-17 2023-09-05 成都赛力斯科技有限公司 一种数据加密传输方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108462568A (zh) * 2018-02-11 2018-08-28 西安电子科技大学 一种基于区块链的安全文件存储和共享方法
CN112073479A (zh) * 2020-08-26 2020-12-11 重庆邮电大学 一种基于区块链的去中心数据访问控制方法及系统
CN112150147A (zh) * 2020-09-23 2020-12-29 安徽省吉翔信息科技有限公司 一种基于区块链的数据安全存储系统
CN113783836A (zh) * 2021-08-02 2021-12-10 南京邮电大学 基于区块链和ibe算法的物联网数据访问控制方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222165B (zh) * 2020-01-10 2022-09-23 北京百度网讯科技有限公司 基于区块链的多方计算方法、装置、设备和介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108462568A (zh) * 2018-02-11 2018-08-28 西安电子科技大学 一种基于区块链的安全文件存储和共享方法
CN112073479A (zh) * 2020-08-26 2020-12-11 重庆邮电大学 一种基于区块链的去中心数据访问控制方法及系统
CN112150147A (zh) * 2020-09-23 2020-12-29 安徽省吉翔信息科技有限公司 一种基于区块链的数据安全存储系统
CN113783836A (zh) * 2021-08-02 2021-12-10 南京邮电大学 基于区块链和ibe算法的物联网数据访问控制方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CISV:A Cross-Blockchain Information Synchronization and Verification Mode;Yu Gu, et al.;CCIS;全文 *

Also Published As

Publication number Publication date
CN114679319A (zh) 2022-06-28

Similar Documents

Publication Publication Date Title
CN114679319B (zh) 基于区块链的分布式数据同步加密方法
US11979493B2 (en) Methods and systems to establish trusted peer-to-peer communications between nodes in a blockchain network
CN108885741B (zh) 一种实现区块链上交换的令牌化方法及系统
US10129034B2 (en) Signature delegation
US10243939B2 (en) Key distribution in a distributed computing environment
KR102580509B1 (ko) 복수의 스토리지 노드를 통해 대규모 블록체인의 안전한 저장을 가능하게 하는 컴퓨터 구현 시스템 및 방법
JP2023500259A (ja) ブロックチェーントランザクションを使用した通信プロトコル
US20180183771A1 (en) Key revocation
US20220376897A1 (en) Request and response protocol using blockchain transactions
Thapliyal et al. Design of robust Blockchain-envisioned authenticated key management mechanism for smart healthcare applications
CN116633576A (zh) 安全可信NC-Link代理器、控制方法、设备及终端
CN113918971A (zh) 基于区块链的消息传输方法、装置、设备及可读存储介质
KENZHEBAYEVA et al. SIMPLIFIED AND SECURE AUTHENTICATION SCHEME FOR THE INTERNET OF THINGS

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
GR01 Patent grant
GR01 Patent grant