CN113904854A - 一种基于商密算法的区块链数据加密方法及装置 - Google Patents

一种基于商密算法的区块链数据加密方法及装置 Download PDF

Info

Publication number
CN113904854A
CN113904854A CN202111192428.7A CN202111192428A CN113904854A CN 113904854 A CN113904854 A CN 113904854A CN 202111192428 A CN202111192428 A CN 202111192428A CN 113904854 A CN113904854 A CN 113904854A
Authority
CN
China
Prior art keywords
data
block
signature
data management
hash
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.)
Granted
Application number
CN202111192428.7A
Other languages
English (en)
Other versions
CN113904854B (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.)
Chuyuan Shanghai Information Technology Co ltd
Original Assignee
Chuyuan Shanghai Information Technology Co ltd
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 Chuyuan Shanghai Information Technology Co ltd filed Critical Chuyuan Shanghai Information Technology Co ltd
Priority to CN202111192428.7A priority Critical patent/CN113904854B/zh
Publication of CN113904854A publication Critical patent/CN113904854A/zh
Application granted granted Critical
Publication of CN113904854B publication Critical patent/CN113904854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/3247Cryptographic 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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明涉及区块链技术领域,具体公开了一种基于商密算法的区块链数据加密方法及装置,该装置包括链数据管理、节点数据管理、区块数据管理、合约数据管理、交易数据管理和签名管理,链数据管理对链基础配置信息和共识特性信息进行哈希计算和哈希值校验,节点数据管理对节点身份信息和配置信息进行哈希计算、哈希值校验、数字签名和签名校验,区块数据管理对区块信息进行哈希计算、哈希值校验、数字签名和签名校验,合约数据管理对合约信息进行哈希计算和哈希值校验,交易数据管理对交易信息进行哈希计算、哈希值校验、数字签名和签名校验,签名管理提供随机生成的非对称密钥对、数字签名和签名校验以及哈希计算等接口;通过本发明,一是可以从区块链***底层实现区块链数据的国产化数字摘要和数字签名,摆脱国外加密算法的束缚,提高区块链***数据的安全性、可靠性和可控性,二是所述功能模块以独立插件、附加库或独立服务的形式存在,降低了区块链***各模块的耦合性,降低了***维护和升级成本。

Description

一种基于商密算法的区块链数据加密方法及装置
技术领域
本发明涉及一种区块链技术领域,更具体地,涉及一种基于商密算法的区块链数据加密方法及装置。
背景技术
区块链***是一种分布式的数据生产、传输和存储***,数据主要包括***级的链数据、节点数据、区块数据、共识数据,以及业务支撑级的智能合约数据、账户及密钥数据和交易数据等。
为了确保数据的不可篡改性、传输的安全性、交易的可追溯性和身份的真实性等特性,需要引入哈希算法和非对称加密算法对相关数据进行数字摘要和数字签名。
当前主流的区块链技术框架,主要采用国际上现有的加密标准,其中哈希算法主要采用Ripemd160、SHA256、SHA512,非对称加密算法主要采用ECC-Secp256K1、ECC-Secp256R1算法,不支持我国商密算法如SM3和SM2。
为了保证区块链***底层平台的可靠性和可控性,需要引入商密算法,从根本上摆脱***底层对国外算法的依赖,实现自主、可控的区块链数据加密体系。
发明内容
针对现有技术中存在的上述弊端,本发明的目的是提供一种基于商密算法的区块链数据加密方法及装置,从***底层重构数据加密体系,对链数据、节点数据、区块数据、共识数据、智能合约数据、账户及密钥数据和交易数据等进行商密算法实现,提升数据的安全性和可控性,并通过相关装置提供上层业务***对接所需要的数字摘要、非对称密钥生成、数字签名和签名校验等接口。
本发明的目的及解决其技术问题是采用以下技术方案来实现的:
一种基于商密算法的区块链数据加密方法,其实现流程中包括链数据管理、节点数据管理、区块数据管理、合约数据管理、交易数据管理和签名管理,其特征在于,所述数据加密方法包括:通过链数据管理对链基础信息、共识特性信息进行数字摘要和数据校验,通过节点数据管理对节点身份信息和节点配置信息进行数字摘要、数字签名和数据校验,通过区块数据管理对区块基础信息和区块动态信息进行数字摘要、数字签名和数据校验,通过合约数据管理对智能合约进行数字摘要和数据校验,通过交易数据管理对交易数据进行数字摘要和数据校验,通过签名管理对前述模块需要签名的步骤进行数字签名和数据校验。
优选的,所述链数据管理对链基础配置信息和链共识特性信息进行管理,所述节点数据管理对节点身份信息和节点配置信息进行管理,所述区块数据管理对区块基础配置信息和实时动态信息进行管理,所述合约数据管理对合约方法、合约参数和合约逻辑进行管理,所述交易数据管理对交易基础信息和交易动态信息进行管理,所述签名管理对非对称加密公私钥和签名方法进行管理;其中,所述链数据管理对链基础配置信息和链共识特性信息进行数字签名和数据校验,确保数据的唯一性和不可篡改性;所述节点数据管理对节点身份信息和节点配置信息进行数字摘要、数据校验、数字签名和签名校验;所述区块数据管理对区块基础配置信息和实时动态信息进行数字摘要、数据校验、数字签名和签名校验;所述合约数据管理对合约方法、合约参数和合约逻辑进行数字摘要和数据校验;所述交易数据管理对交易基础信息和交易动态信息进行数字摘要、数据校验、数字签名和签名校验;所述签名管理对非对称加密公私钥和签名方法进行可靠存储、安全输入和输出。
优选的,所述链数据包括链基础配置信息和共识特性信息,其中链基础配置信息包括链启动时间、链初始公钥、单个区块cpu使用上限、单个区块内存使用上限和单个区块带宽使用上限等信息,共识特性信息包括出块账号列表、是否验证节点网络身份和是否允许空出块列表等;所述节点数据包括节点身份信息和节点配置信息,其中节点身份信息包括节点组织信息、组织身份公钥和组织网络名等信息,节点配置信息包括节点出块账号、节点出块公钥、节点服务地址和节点允许的单次交易最大cpu使用上限等信息;所述区块信息包括区块基础配置信息和实时动态信息,其中基础配置信息包括区块cpu使用上限,区块带宽使用上限等,实时动态信息包括区块编号、区块哈希值、区块交易集、区块出块账号和区块签名等;所述合约信息包括合约方法集、合约方法参数、合约方法逻辑和合约摘要信息等;所述交易信息包括交易基础信息和交易动态信息,其中交易基础信息包括单次交易带宽使用上限、单次交易cpu使用上限和单次交易内存使用上限等,交易动态信息包括交易编号、交易哈希值和交易状态等;所述签名管理数据包括用户的非对称公私钥对。
优选的,所述链数据管理通过SM3算法将链数据进行哈希计算,得到的唯一哈希值用于标识该链的唯一性;所有区块链节点通过相同的配置并得到相同的哈希值来确定双方属于同一个区块链网络,即区块链唯一id等于SM3.hash(chain_config_params),其中chain_config_params表示所有链的数据集,SM3.hash表示对其进行哈希计算。
优选的,所述节点数据管理通过SM2公钥来标识其节点身份唯一性,通过SM3算法对SM2公钥和其它可读节点身份信息以及节点配置信息进行哈希计算,再通过不需要在网络中传输的SM2私钥对前述信息进行非对称签名,供其它节点进行身份校验,即节点id等于SM2.sign(SM3.hash(pub_key,other_params)),其中pub_key表示SM2公钥,other_params表示其它数据,SM3.hash表示对其进行哈希计算,SM2.sign表示对SM3.hash结果用SM2私钥进行签名。
优选的,所述区块数据管理通过SM3算法将区块数据进行哈希计算,得到的唯一哈希值作为区块的唯一标识,与区块编号共同作为区块的检索索引值,即区块id等于SM3.hash(block_number,other_params),其中block_number表示区块编号(如1、2、3、……),other_params表示其它数据,SM3.hash表示将前述数据进行哈希计算。
优选的,所述合约数据管理通过SM3算法将合约信息进行哈希计算,得到的唯一哈希值作为合约的唯一标识,即合约id等于SM3.hash(contract_params),其中contract_params表示合约信息,SM3.hash表示对前述信息进行哈希计算。
优选的,所述交易数据管理通过SM3算法将交易数据进行哈希计算,得到唯一的哈希值作为交易的唯一标识,即交易id等于SM3.hash(txn_params,txn_sig),其中txn_params表示交易数据,txn_sig表示交易参与方对交易通过SM2私钥进行的签名,SM3.hash表示对前述信息进行哈希计算。
优选的,所述签名管理支持通过随机SM3哈希值或用户指定种子的方式来生成SM2公私钥对,其中私钥经过base58编码的方式作为钱包密码,用于保护钱包的安全;支持通过随机SM3哈希值或用户指定种子的方式来生成SM2公私钥对,其中私钥保存在钱包中,必须通过前述的钱包密码打开钱包后才能使用,公钥通过接口开放给区块链网络使用;为了保证公私钥及其签名的可读性和安全性,需要对公私钥和签名添加校验码、base58编码和附加前缀,其中私钥格式为PVT_S2_base58(pvt_key,checksum),“PVT”表示其为私钥,“S2”表示其为SM2类型私钥,pvt_key表示SM2私钥,checksum表示私钥校验码,其值为SM3.hash_hash_4(pvt_key),即对私钥进行两次哈希计算,并取结果的前4个字节,base58表示对私钥和私钥校验码进行base58编码;公钥格式为PUB_S2_base58(pub_key,checksum),“PUB”表示其为公钥,“S2”表示其为SM2类型公钥,pub_key表示SM2公钥,checksum表示公钥校验码,其值为SM3.hash_hash_4(pub_key),即对公钥进行两次哈希计算,并取结果的前4个字节,base58表示对公钥和公钥校验码进行base58编码;签名格式为SIG_S2_base58(sig,checksum),“SIG”表示其为数字签名,“S2”表示其为SM2类型签名,“sig”表示签名实体,checksum表示签名校验码,其值为SM3.hash_hash_4(sig),即对签名实体进行两次哈希计算,并取结果的前4个字节,base58表示对签名实体和签名校验码进行base58编码。
为了实现本发明的目的,本发明的第二方面,提供一种基于商密算法的区块链数据加密装置,包括:链数据管理模块、节点数据管理模块、区块数据管理模块、合约数据管理模块、交易数据管理模块和签名管理模块;其中,链数据管理模块对链数据进行哈希计算和哈希值校验,节点数据管理模块对节点数据进行哈希计算、哈希值校验、身份信息签名和身份信息校验,区块数据管理模块对区块数据进行哈希计算、哈希值校验、区块签名和区块签名校验,合约数据管理模块对合约数据进行哈希计算和哈希值校验,交易数据管理模块对交易数据进行交易签名、签名校验、哈希计算和哈希值校验,签名管理模块提供随机或指定种子的两种非对称密钥生成、保存和签名方法。
优选的,所述链数据管理模块对链数据调用SM3算法进行哈希计算,得到的唯一哈希值作为链的唯一标识;所述节点数据管理模块对节点数据调用SM3算法进行哈希计算,得到的唯一哈希值作为节点的唯一标识,调用SM2算法对前述数据进行非对称签名,附加到节点数据列表,在区块链网络中广播,以确保节点身份的真实性、唯一性、不可篡改性和可校验性;所述区块数据管理模块对区块数据进行哈希计算,得到的唯一哈希值作为区块的唯一标识,调用SM2算法对其进行非对称签名,附加到区块数据列表,在区块链网络中广播,以确保区块的真实性、唯一性、不可篡改性和可校验性;所述合约管理模块对合约信息调用SM3算法进行哈希计算,得到的唯一哈希值作为该合约的唯一标识;所述交易数据管理模块通过SM3算法对交易数据进行哈希计算,通过SM2算法对其进行非对称签名,上述信息在区块链网络中广播,以确保交易的真实性、唯一性、不可篡改性和可校验性;所述签名管理模块,提供SM2和SM3的标准接口,用于SM2密钥对生成、数字签名、签名校验以及SM3哈希算法。
优选的,所述模块提供多种编程语言实现方式,链数据管理模块、节点数据管理模块、区块数据管理模块、合约数据管理模块和交易数据管理模块以插件的形式作为底层区块链***的一部分使用,签名管理模块作为独立于底层区块链***的模块,以调用库或独立服务的形式提供给业务***使用。
本发明实施例的一种基于商密算法的区块链数据加密方法及装置具有如下优点:区块链底层彻底脱离国外加密算法的束缚,使用国产商用加密算法重构,保证***的可靠性和可控性,各功能模块以独立的插件形式存在,降低耦合,提升运行效率,方便后续升级,提供多语言的开发对接方式,方便上层业务***调用,降低业务开发人员的使用门槛。
附图说明
图1为本发明实施例提供的一种基于商密算法的区块链数据加密装置拓扑示意图;
图2为本发明实施例提供的一种基于商密算法的区块链数据加密装置结构示意图;
图3为本发明实施例提供的一种基于商密算法的区块链数据加密装置流程示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于商密算法的区块链数据加密方法及装置其具体实施方式、结构、特征及其功效,详细说明如后。显然,所描述的实施例为本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
请参阅图1,图1为本发明实施例提供的一种基于商密算法的区块链数据加密装置拓扑示意图。
如图1所示,区块链网络由多个节点组成,包括参与方A区块链网络节点107、参与方B区块链网络节点108等,其由区块链P2P网络109建立连接;其中参与方区块链网络节点服务包括链数据管理模块101、节点数据管理模块102、区块数据管理模块103、合约数据管理模块104和交易数据管理模块105,另附有签名管理模块106以独立库或服务的形式存在。
在本实施例中,所有链数据管理模块101、节点数据管理模块102、区块数据管理模块103、合约数据管理模块104、交易数据管理模块105和签名管理模块106运行实例的数目是不固定的,根据实际需要调整。
在本实施例中,所有链数据管理模块101、节点数据管理模块102、区块数据管理模块103、合约数据管理模块104、交易数据管理模块105和签名管理模块106均是功能上的独立服务或独立插件,可以在或不在同一个物理节点上。
请参阅图2,图2为本发明实施例提供的一种基于商密算法的区块链数据加密装置的结构示意图,请同时参阅图1。
如图2所示,一种基于商密算法的区块链数据加密装置,包括链数据管理模块101、节点数据管理模块102、区块数据管理模块103、合约数据管理模块104、交易数据管理模块105和签名管理模块106。
在本实施例中,所述链数据管理模块101对链基础配置信息和共识特性信息进行基于SM3的哈希值计算,得到的唯一哈希值作为链的唯一标识。
在本实施例中,所述节点数据管理模块102对节点身份信息和配置信息进行基于SM3的哈希值计算,得到的唯一哈希值作为节点的唯一标识,通过SM2算法对该哈希值进行非对称加密签名,上述信息作为一个整体在区块链网络中广播,用于接收方进行节点身份校验和节点配置信息识别。
在本实施例中,所述区块数据管理模块103对区块基础信息和动态信息进行基于SM3的哈希值计算,得到的唯一哈希值作为区块的唯一标识,通过SM2算法对该哈希值进行非对称加密签名,上述信息作为一个整体在区块链网络中广播,用于接收方进行区块同步和有效性校验。
在本实施例中,所述合约数据管理模块104对合约信息进行基于SM3的哈希值计算,得到的唯一哈希值作为合约的唯一标识。
在本实施例中,所述交易数据管理模块105对交易信息进行基于SM3的哈希值计算,得到的唯一哈希值作为交易的唯一标识,通过SM2算法对该哈希值进行非对称加密签名,上述信息作为一个整体在区块链网络中广播,用于接收方进行交易同步和有效性校验。
在本实施例中,所述签名管理模块106提供SM3哈希函数,提供基于随机数或指定种子的SM2非对称密钥对生成、数字签名和签名校验函数,以附加库或独立服务的形式供业务***调用。
请参阅图3,图3为本发明实施例提供的一种基于商密算法的区块链数据加密方法的流程示意图。
如图3所示,一种基于商密算法的区块链数据加密方法,包括如下步骤:
步骤S210:参与方A创建区块链,配置链基础信息和共识特性信息,通过SM3算法计算链唯一哈希值;
步骤S220:参与方A配置节点信息,通过SM3算法计算节点唯一哈希值,通过SM2私钥对节点信息签名;
步骤S230:参与方B同理执行S220,并将其节点信息和链信息发送给参与方A节点;
步骤S240:参与方A校验参与方B发送的链信息和节点信息,链信息匹配且节点信息有效则同意建立连接,并回复自身节点信息;
步骤S250:参与方B校验参与方A的节点身份信息,信息有效则建立连接;
步骤S260:参与方A发起智能合约部署交易,参与方B对交易校验SM2签名,校验智能合约SM3摘要信息;
步骤S270:参与方A或B调用智能合约接口发起业务交易,调用签名管理模块对交易进行数字摘要和数字签名,对方收到交易后对其数字摘要和数字签名校验;
步骤S280:参与方A或B记账,产生区块,并使用自己的SM2私钥对区块和区块信息SM3数字摘要进行签名。
本发明其基本思路为从区块链***底层开始,将区块链的数据加密体系用商密算法实现,以彻底摆脱国外加密算法的束缚,从算法层面实现区块链***数据的可靠性、可控性和安全性,具体来说是使用SM3哈希算法替代Ripemd160和SHA256哈希算法,使用SM2非对称加密算法替代ECC-Secp256K1和ECC-Secp256R1非对称加密算法。
本实施例的区块链网络和数据加密装置适于部署在多个服务器上,该服务器包括通用的计算机硬件结构,如处理器、存储器和网络设备;处理器可以是独立的微处理器,也可以是一个或多个微处理器的集合;存储器包括内存、磁盘等,可以是一个或多个的集合;网络设备包括网卡、驱动等,可以是一个或多个的集合;另外,该服务器还应包括一系列计算机软件,包括操作***、工具库等。
本发明能够使得区块链底层***完全实现加密算法国产化,上层业务***也通过国产加密方法对交易进行数字摘要和数字签名,提高了区块链生态应用的数据安全性、可靠性和可控性。
在本说明书的描述中,除非另有明确的规定和限定,“记录”、“数据”、“信息”等术语应做广义理解,例如,数据可以是一张数据表,也可以是一条表条目,也可以是一个数据字段。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本说明书的描述中,除非另有明确的规定和限定,“节点”、“模块”、“引擎”、“***”等术语为其功能描述,并不限定其具体存在形式,可以是一个独立的计算机程序,也可以是一个计算机程序的逻辑子模块,也可以是由多个计算机程序组成的服务集合。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (12)

1.一种基于商密算法的区块链数据加密方法,其实现流程中包括链数据管理、节点数据管理、区块数据管理、合约数据管理、交易数据管理和签名管理,其特征在于,所述数据加密方法包括:通过链数据管理对链基础信息、共识特性信息进行数字摘要和数据校验,通过节点数据管理对节点身份信息和节点配置信息进行数字摘要、数字签名和数据校验,通过区块数据管理对区块基础信息和区块动态信息进行数字摘要、数字签名和数据校验,通过合约数据管理对智能合约进行数字摘要和数据校验,通过交易数据管理对交易数据进行数字摘要和数据校验,通过签名管理对前述模块需要签名的步骤进行数字签名和签名校验。
2.根据权利要求1所述的区块链链数据的高效检索方法,其特征在于,所述链数据管理对链基础配置信息和链共识特性信息进行管理,所述节点数据管理对节点身份信息和节点配置信息进行管理,所述区块数据管理对区块基础配置信息和实时动态信息进行管理,所述合约数据管理对合约方法、合约参数和合约逻辑进行管理,所述交易数据管理对交易基础信息和交易动态信息进行管理,所述签名管理对非对称加密公私钥和签名方法进行管理;其中,所述链数据管理对链基础配置信息和链共识特性信息进行数字签名和数据校验,确保数据的唯一性和不可篡改性;所述节点数据管理对节点身份信息和节点配置信息进行数字摘要、数据校验、数字签名和签名校验;所述区块数据管理对区块基础配置信息和实时动态信息进行数字摘要、数据校验、数字签名和签名校验;所述合约数据管理对合约方法、合约参数和合约逻辑进行数字摘要和数据校验;所述交易数据管理对交易基础信息和交易动态信息进行数字摘要、数据校验、数字签名和签名校验;所述签名管理对非对称加密公私钥和签名方法进行可靠存储、安全输入和输出。
3.根据权利要求1所述的区块链链数据的高效检索方法,其特征在于,所述链数据包括链基础配置信息和共识特性信息,其中链基础配置信息包括链启动时间、链初始公钥、单个区块cpu使用上限、单个区块内存使用上限和单个区块带宽使用上限等信息,共识特性信息包括出块账号列表、是否验证节点网络身份和是否允许空出块列表等;所述节点数据包括节点身份信息和节点配置信息,其中节点身份信息包括节点组织信息、组织身份公钥和组织网络名等信息,节点配置信息包括节点出块账号、节点出块公钥、节点服务地址和节点允许的单次交易最大cpu使用上限等信息;所述区块信息包括区块基础配置信息和实时动态信息,其中基础配置信息包括区块cpu使用上限,区块带宽使用上限等,实时动态信息包括区块编号、区块哈希值、区块交易集、区块出块账号和区块签名等;所述合约信息包括合约方法集、合约方法参数、合约方法逻辑和合约摘要信息等;所述交易信息包括交易基础信息和交易动态信息,其中交易基础信息包括单次交易带宽使用上限、单次交易cpu使用上限和单次交易内存使用上限等,交易动态信息包括交易编号、交易哈希值和交易状态等;所述签名管理数据包括用户的非对称公私钥对。
4.根据权利要求1所述的区块链链数据的高效检索方法,其特征在于,所述链数据管理通过SM3算法将链数据进行哈希计算,得到的唯一哈希值用于标识该链的唯一性;所有区块链节点通过相同的配置并得到相同的哈希值来确定双方属于同一个区块链网络,即区块链唯一id等于SM3.hash(chain_config_params),其中chain_config_params表示所有链的数据集,SM3.hash表示对其进行哈希计算。
5.根据权利要求1所述的区块链链数据的高效检索方法,其特征在于,所述节点数据管理通过SM2公钥来标识其节点身份唯一性,通过SM3算法对SM2公钥和其它可读节点身份信息以及节点配置信息进行哈希计算,再通过不需要在网络中传输的SM2私钥对前述信息进行非对称签名,供其它节点进行身份校验,即节点id等于SM2.sign(SM3.hash(pub_key,other_params)),其中pub_key表示SM2公钥,other_params表示其它数据,SM3.hash表示对其进行哈希计算,SM2.sign表示对SM3.hash结果用SM2私钥进行签名。
6.根据权利要求1所述的区块链链数据的高效检索方法,其特征在于,所述区块数据管理通过SM3算法将区块数据进行哈希计算,得到的唯一哈希值作为区块的唯一标识,与区块编号共同作为区块的检索索引值,即区块id等于SM3.hash(block_number,other_params),其中block_number表示区块编号(如1、2、3、……),other_params表示其它数据,SM3.hash表示将前述数据进行哈希计算。
7.根据权利要求1所述的区块链链数据的高效检索方法,其特征在于,所述合约数据管理通过SM3算法将合约信息进行哈希计算,得到的唯一哈希值作为合约的唯一标识,即合约id等于SM3.hash(contract_params),其中contract_params表示合约信息,SM3.hash表示对前述信息进行哈希计算。
8.根据权利要求1所述的区块链链数据的高效检索方法,其特征在于,所述交易数据管理通过SM3算法将交易数据进行哈希计算,得到唯一的哈希值作为交易的唯一标识,即交易id等于SM3.hash(txn_params,txn_sig),其中txn_params表示交易数据,txn_sig表示交易参与方对交易通过SM2私钥进行的签名,SM3.hash表示对前述信息进行哈希计算。
9.根据权利要求1所述的区块链链数据的高效检索方法,其特征在于,所述签名管理支持通过随机SM3哈希值或用户指定种子的方式来生成SM2公私钥对,其中私钥经过base58编码的方式作为钱包密码,用于保护钱包的安全;支持通过随机SM3哈希值或用户指定种子的方式来生成SM2公私钥对,其中私钥保存在钱包中,必须通过前述的钱包密码打开钱包后才能使用,公钥通过接口开放给区块链网络使用;为了保证公私钥及其签名的可读性和安全性,需要对公私钥和签名添加校验码、base58编码和附加前缀,其中私钥格式为PVT_S2_base58(pvt_key,checksum),“PVT”表示其为私钥,“S2”表示其为SM2类型私钥,pvt_key表示SM2私钥,checksum表示私钥校验码,其值为SM3.hash_hash_4(pvt_key),即对私钥进行两次哈希计算,并取结果的前4个字节,base58表示对私钥和私钥校验码进行base58编码;公钥格式为PUB_S2_base58(pub_key,checksum),“PUB”表示其为公钥,“S2”表示其为SM2类型公钥,pub_key表示SM2公钥,checksum表示公钥校验码,其值为SM3.hash_hash_4(pub_key),即对公钥进行两次哈希计算,并取结果的前4个字节,base58表示对公钥和公钥校验码进行base58编码;签名格式为SIG_S2_base58(sig,checksum),“SIG”表示其为数字签名,“S2”表示其为SM2类型签名,“sig”表示签名实体,checksum表示签名校验码,其值为SM3.hash_hash_4(sig),即对签名实体进行两次哈希计算,并取结果的前4个字节,base58表示对签名实体和签名校验码进行base58编码。
10.一种基于商密算法的区块链数据加密装置,其特征在于,包括:链数据管理模块、节点数据管理模块、区块数据管理模块、合约数据管理模块、交易数据管理模块和签名管理模块;其中,链数据管理模块对链数据进行哈希计算和哈希值校验,节点数据管理模块对节点数据进行哈希计算、哈希值校验、身份信息签名和身份信息校验,区块数据管理模块对区块数据进行哈希计算、哈希值校验、区块签名和区块签名校验,合约数据管理模块对合约数据进行哈希计算和哈希值校验,交易数据管理模块对交易数据进行交易签名、签名校验、哈希计算和哈希值校验,签名管理模块提供随机或指定种子的两种非对称密钥生成、保存和签名方法。
11.根据权利要求10所述的区块链链数据的高效检索装置,其特征在于,所述链数据管理模块对链数据调用SM3算法进行哈希计算,得到的唯一哈希值作为链的唯一标识;所述节点数据管理模块对节点数据调用SM3算法进行哈希计算,得到的唯一哈希值作为节点的唯一标识,调用SM2算法对前述数据进行非对称签名,附加到节点数据列表,在区块链网络中广播,以确保节点身份的真实性、唯一性、不可篡改性和可校验性;所述区块数据管理模块对区块数据进行哈希计算,得到的唯一哈希值作为区块的唯一标识,调用SM2算法对其进行非对称签名,附加到区块数据列表,在区块链网络中广播,以确保区块的真实性、唯一性、不可篡改性和可校验性;所述合约管理模块对合约信息调用SM3算法进行哈希计算,得到的唯一哈希值作为该合约的唯一标识;所述交易数据管理模块通过SM3算法对交易数据进行哈希计算,通过SM2算法对其进行非对称签名,上述信息在区块链网络中广播,以确保交易的真实性、唯一性、不可篡改性和可校验性;所述签名管理模块,提供SM2和SM3的标准接口,用于SM2密钥对生成、数字签名、签名校验以及SM3哈希算法。
12.根据权利要求10所述的区块链链数据的高效检索装置,其特征在于,所述模块提供多种编程语言实现方式,链数据管理模块、节点数据管理模块、区块数据管理模块、合约数据管理模块和交易数据管理模块以插件的形式作为底层区块链***的一部分使用,签名管理模块作为独立于底层区块链***的模块,以调用库或独立服务的形式提供给业务***使用。
CN202111192428.7A 2021-10-13 2021-10-13 一种基于商密算法的区块链数据加密方法及装置 Active CN113904854B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111192428.7A CN113904854B (zh) 2021-10-13 2021-10-13 一种基于商密算法的区块链数据加密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111192428.7A CN113904854B (zh) 2021-10-13 2021-10-13 一种基于商密算法的区块链数据加密方法及装置

Publications (2)

Publication Number Publication Date
CN113904854A true CN113904854A (zh) 2022-01-07
CN113904854B CN113904854B (zh) 2024-01-02

Family

ID=79191810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111192428.7A Active CN113904854B (zh) 2021-10-13 2021-10-13 一种基于商密算法的区块链数据加密方法及装置

Country Status (1)

Country Link
CN (1) CN113904854B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114614991A (zh) * 2022-03-11 2022-06-10 国网浙江省电力有限公司电力科学研究院 适用于小微负荷聚合响应的区块链自动结算方法及***
CN115150150A (zh) * 2022-06-28 2022-10-04 北京送好运信息技术有限公司 一种基于区块链技术的信息记录方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106559211A (zh) * 2016-11-22 2017-04-05 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
CN109767220A (zh) * 2019-01-15 2019-05-17 中国联合网络通信集团有限公司 基于区块链的交易方法及基于区块链的交易***
WO2019101240A2 (en) * 2019-03-15 2019-05-31 Alibaba Group Holding Limited Authentication based on a recoverd public key
CN110247757A (zh) * 2019-04-19 2019-09-17 中国工商银行股份有限公司 基于国密算法的区块链处理方法、装置及***
CN110933045A (zh) * 2019-11-08 2020-03-27 中国电子科技网络信息安全有限公司 一种基于承诺的区块链数字资产隐私保护方法
CN111147245A (zh) * 2020-01-08 2020-05-12 江苏恒为信息科技有限公司 一种区块链中使用国家密码进行加密的算法
WO2020140931A1 (zh) * 2019-01-03 2020-07-09 菜鸟智能物流控股有限公司 区块链的访问控制方法和装置以及电子设备
CN111628868A (zh) * 2020-05-26 2020-09-04 腾讯科技(深圳)有限公司 数字签名生成方法、装置、计算机设备和存储介质
WO2020232800A1 (zh) * 2019-05-17 2020-11-26 深圳市网心科技有限公司 一种区块链网络中的数据处理方法、***及相关设备
CN112637278A (zh) * 2020-12-09 2021-04-09 云南财经大学 基于区块链和属性基加密的数据共享方法、***及计算机可读存储介质
CN112968778A (zh) * 2021-02-04 2021-06-15 西安电子科技大学 区块链国密算法的转换方法、***、计算机设备及应用

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106559211A (zh) * 2016-11-22 2017-04-05 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
WO2020140931A1 (zh) * 2019-01-03 2020-07-09 菜鸟智能物流控股有限公司 区块链的访问控制方法和装置以及电子设备
CN109767220A (zh) * 2019-01-15 2019-05-17 中国联合网络通信集团有限公司 基于区块链的交易方法及基于区块链的交易***
WO2019101240A2 (en) * 2019-03-15 2019-05-31 Alibaba Group Holding Limited Authentication based on a recoverd public key
CN110247757A (zh) * 2019-04-19 2019-09-17 中国工商银行股份有限公司 基于国密算法的区块链处理方法、装置及***
WO2020232800A1 (zh) * 2019-05-17 2020-11-26 深圳市网心科技有限公司 一种区块链网络中的数据处理方法、***及相关设备
CN110933045A (zh) * 2019-11-08 2020-03-27 中国电子科技网络信息安全有限公司 一种基于承诺的区块链数字资产隐私保护方法
CN111147245A (zh) * 2020-01-08 2020-05-12 江苏恒为信息科技有限公司 一种区块链中使用国家密码进行加密的算法
CN111628868A (zh) * 2020-05-26 2020-09-04 腾讯科技(深圳)有限公司 数字签名生成方法、装置、计算机设备和存储介质
CN112637278A (zh) * 2020-12-09 2021-04-09 云南财经大学 基于区块链和属性基加密的数据共享方法、***及计算机可读存储介质
CN112968778A (zh) * 2021-02-04 2021-06-15 西安电子科技大学 区块链国密算法的转换方法、***、计算机设备及应用

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LINLIN ZHANG; YUNHAN GE: "Identity Authentication Based on Domestic Commercial Cryptography with Blockchain in the Heterogeneous Alliance Network", 《2021 IEEE INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS AND COMPUTER ENGINEERING (ICCECE)》, pages 191 - 195 *
郑东;范秦铭;郭瑞;杨耿: "区块链电子拍卖中基于身份的盲签名方案", 《西安邮电大学学报》, vol. 26, no. 4, pages 46 - 52 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114614991A (zh) * 2022-03-11 2022-06-10 国网浙江省电力有限公司电力科学研究院 适用于小微负荷聚合响应的区块链自动结算方法及***
CN114614991B (zh) * 2022-03-11 2023-12-26 国网浙江省电力有限公司电力科学研究院 适用于小微负荷聚合响应的区块链自动结算方法及***
CN115150150A (zh) * 2022-06-28 2022-10-04 北京送好运信息技术有限公司 一种基于区块链技术的信息记录方法
CN115150150B (zh) * 2022-06-28 2024-01-26 北京送好运信息技术有限公司 一种基于区块链技术的信息记录方法

Also Published As

Publication number Publication date
CN113904854B (zh) 2024-01-02

Similar Documents

Publication Publication Date Title
CN109936457B (zh) 区块链多方见证方法、装置、设备及计算机可读存储介质
CN107888562B (zh) 一种平行链接入互联链的数据验证和收发方法、节点及***
CN112926982B (zh) 一种交易数据处理方法、装置、设备及存储介质
CN107862216B (zh) 用于匿名跨链交易的隐私保护方法、装置和存储介质
CN110581854B (zh) 基于区块链的智能终端安全通信方法
CN111625593B (zh) 基于区块链的数据处理方法、装置、计算机设备
CN113421097B (zh) 一种数据处理方法、装置、计算机设备及存储介质
CN108769230B (zh) 交易数据存储方法、装置、服务器及存储介质
CN112968883B (zh) 一种安全性高的区块链异构共识方法及终端
CN111786812B (zh) 节点管理方法、装置、计算机设备和存储介质
CN111371905A (zh) 一种基于云计算的区块链分层共识证明体系结构与方法
CN113904854A (zh) 一种基于商密算法的区块链数据加密方法及装置
CN113067707B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN113328997A (zh) 联盟链跨链***及方法
KR20200081533A (ko) 사물 인터넷 환경을 위한 동적 블라인드 투표기반의 블록체인 합의방법
CN111683090A (zh) 一种基于分布式存储的区块链数字签名方法及装置
CN110930153A (zh) 基于隐藏第三方账号的区块链隐私数据管理方法和***
CN111340485A (zh) 一种用于联盟区块链的数字证书的配置方法、终端和根证书服务器
He et al. A novel cryptocurrency wallet management scheme based on decentralized multi-constrained derangement
CN113922971A (zh) 跨链交互方法及装置
Lahiri et al. A trustworthy blockchain based framework for impregnable iov in edge computing
CN111401888A (zh) 一种生成多重签名钱包的方法及装置
CN114465714B (zh) 联盟链中的节点配置方法及***
Shi et al. Bitmessage plus: a blockchain-based communication protocol with high practicality
CN116975366A (zh) 数据对齐方法、装置、电子设备和可读存储介质

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