CN112861108B - 一种联盟链数据处理方法及系统 - Google Patents

一种联盟链数据处理方法及系统 Download PDF

Info

Publication number
CN112861108B
CN112861108B CN202110345550.7A CN202110345550A CN112861108B CN 112861108 B CN112861108 B CN 112861108B CN 202110345550 A CN202110345550 A CN 202110345550A CN 112861108 B CN112861108 B CN 112861108B
Authority
CN
China
Prior art keywords
encryption
memory
board card
data
node
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
CN202110345550.7A
Other languages
English (en)
Other versions
CN112861108A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110345550.7A priority Critical patent/CN112861108B/zh
Publication of CN112861108A publication Critical patent/CN112861108A/zh
Application granted granted Critical
Publication of CN112861108B publication Critical patent/CN112861108B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供的一种联盟链数据处理方法及系统,可用于数据处理技术领域及其他领域,每个联盟链验证节点通过内存插槽安装一加密板卡,加密板卡包括一内存;将加解密数据分配至内存中,加密板卡结合加密芯片在内存中进行加解密操作;在加解密操作之后,调取内存中的已处理的加解密数据;通过加密板卡内部的加密芯片模块才能访问密钥,加密板卡以外的软硬件手段并不能直接访问该闪存,因此,即便联盟链节点遭受网络攻击,攻击者也不能从节点的文件系统上获取密钥,这提高了联盟链系统的安全性;联盟链节点的内存插槽上插入加密板卡即可具备国密算法能力,便于联盟链支持全国密算法。

Description

一种联盟链数据处理方法及系统
技术领域
本申请涉及数据处理技术领域,具体涉及一种联盟链数据处理方法及系统。
背景技术
联盟链是一种成员加入和退出受限的区块链系统,区块链节点需要经过身份审核才能加入联盟链,节点发起交易、进行共识时需要使用数字签名技术确认身份和权限,数据存储、节点通讯可能需要采用加密技术保证信息安全。该联盟链由4个验证节点和1个证书节点组成,验证节点对交易进行共识,维护区块链数据,证书节点对验证节点颁发交易证书以确保验证节点的通讯安全可信,验证节点存储了节点私钥和根证书,分别用以交易签名和验证交易签名。此模式存在两个问题:
第一、证书节点是系统证书体系的中心,如果证书节点故障,则所有验证节点无法申请新证书导致整个系统不能进行交易;如果证书节点收到劫持,恶意节点就可能被随意加入系统,导致系统安全遭受严重破坏。
第二、节点加密算法使用的密钥(对称加密算法的密钥、非对称加密算法的私钥)是联盟链信息安全的核心,节点以配置文件或数据库记录的形式存储密钥,如果节点遭受网络攻击,那么配置文件或数据库记录中存储的密钥可能被窃取,信息安全因而受损。
此外,数据加密和交易签名是联盟链技术的核心功能,联盟链软件对数据的处理过程中多个环节频繁应用加密算法技术如哈希、签名、验签、加密、解密等,加密算法的实现方式直接影响联盟链软件的处理性能。目前联盟链软件基本使用软件编码的方式实现加密算法逻辑,在通用的计算机架构上实现加密算法处理,这存在另外两个问题:
第三、使用软件方式在通用芯片上实现的加解密效率不高,降低了联盟链系统的处理性能。
第四、我国鼓励使用自主知识产权的国密算法,适用于联盟链软件的国密算法包括SM1对称加密算法、SM2非对称加密算法、SM3哈希算法等。而目前较多联盟链软件基于国外开源软件开发,不支持国密算法,对其进行国密算法改造的工作量较大且改造效果难以保证,如果改造不彻底就可能导致安全隐患。此外,SM1加密算法是保密的,需要购置加密芯片才能实现,联盟链软件与加密芯片对接存在一定技术难度。
发明内容
针对现有技术中的问题,本申请提供一种联盟链数据处理方法及系统,不再需要中心化的证书节点颁发交易证书,从而提高了联盟链的可靠性,密钥存储在与节点系统隔离,即使节点遭受网络攻击,密钥也不会泄露,提高了联盟链的安全性。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种联盟链数据处理方法,由所述联盟链验证节点执行,每个验证节点通过内存插槽安装一加密板卡,所述加密板卡包括一内存,所述联盟链数据处理方法包括:
接收待处理的加解密数据;
将所述加解密数据分配至所述内存中,以使所述加密板卡结合加密芯片在所述内存中进行加解密操作;
在所述加解密操作之后,调取所述内存中的已处理的加解密数据。
进一步地,所述将所述加解密数据分配至所述内存中,包括:
获取所述加密板卡中的空闲内存对应的第一板卡地址信息;
将所述第一板卡地址信息映射为第一节点地址信息;
根据所述第一节点地址信息生成加解密数据的分配指令;
根据所述分配指令将所述加解密数据分配至所述内存的空闲内存中。
进一步地,所述调取所述内存中的已处理的加解密数据,包括:
获取所述加密板卡中的缓存所述已处理加解密数据的第二板卡地址信息;
将所述第二板卡地址信息映射为第二节点地址信息;
调取所述第二节点地址信息对应的加密板卡内存中的已处理的加解密数据。
进一步地,所述联盟链数据处理方法还包括:
运行一设定的密钥注入程序,以使所述加密板卡读取一密钥存储器中的密钥。
第二方面,本申请提供一种联盟链数据处理方法,由加密板卡执行,所述加密板卡通过内存插槽安装在联盟链验证节点上,所述加密板卡包括一内存,所述联盟链数据处理方法包括:
缓存由验证节点分配的待处理的加解密数据;
在所述内存中结合加密芯片进行加解密操作;
将所述内存中的已处理的加解密数据调度至所述验证节点。
进一步地,所述缓存由验证节点分配的待处理的加解密数据,包括:
将所述加密板卡中的空闲内存对应的第三节点地址信息发送至所述验证节点,以使所述验证节点生成分配指令;
将所述分配指令中用于缓存加解密数据的第三节点地址信息映射为第三板卡地址信息;
根据所述第三板卡地址信息缓存所述加解密数据。
进一步地,所述将所述内存中的已处理的加解密数据调度至所述验证节点,包括:
将所述缓存已处理的加解密数据的第四板卡地址信息映射设为第四节点地址信息;
将所述第四节点地址信息发送至所述验证节点,以使所述验证节点调取所述已处理的加解密数据。
进一步地,所述联盟链数据处理方法还包括:
根据验证节点发送的密钥注入指令,将密钥存储器中的密钥存储至所述加密芯片。
第三方面,本申请提供一种联盟链验证节点,每个验证节点通过内存插槽安装一加密板卡,所述加密板卡包括一内存,所述联盟链验证节点包括:
数据接收模块:接收待处理的加解密数据;
数据分配模块:将所述加解密数据分配至所述内存中,以使所述加密板卡结合加密芯片在所述内存中进行加解密操作;
数据获取模块:在所述加解密操作之后,调取所述内存中的已处理的加解密数据。
进一步地,所述数据分配模块包括:
第一地址获取单元:获取所述加密板卡中的空闲内存对应的第一板卡地址信息;
第一地址映射单元:将所述第一板卡地址信息映射为第一节点地址信息;
数据分配单元:根据所述第一节点地址信息生成加解密数据的分配指令;
第一数据调度单元:根据所述分配指令将所述加解密数据分配至所述内存的空闲内存中。
进一步地,所述数据获取模块包括:
第二地址获取单元:获取所述加密板卡中的缓存所述已处理加解密数据的第二板卡地址信息;
第二地址映射单元:将所述第二板卡地址信息映射为第二节点地址信息;
第二数据调度单元:调取所述第二节点地址信息对应的加密板卡内存中的已处理的加解密数据。
进一步地,所述联盟链验证节点还包括:
密钥注入模块:运行一设定的密钥注入程序,以使所述加密板卡读取一密钥存储器中的密钥。
第四方面,本申请提供一种加密板卡,所述加密板卡通过内存插槽安装在联盟链验证节点上,所述加密板卡包括一内存,所述加密板卡包括:
数据缓存模块:缓存由验证节点分配的待处理的加解密数据;
数据处理模块:在所述内存中结合加密芯片进行加解密操作;
数据发送模块:将所述内存中的已处理的加解密数据调度至所述验证节点。
进一步地,所述数据缓存模块包括:
第一地址发送单元:将所述加密板卡中的空闲内存对应的第三节点地址信息发送至所述验证节点,以使所述验证节点生成分配指令;
第三地址映射单元:将所述分配指令中用于缓存加解密数据的第三节点地址信息映射为第三板卡地址信息;
数据缓存单元:根据所述第三板卡地址信息缓存所述加解密数据。
进一步地,所述数据发送模块包括:
第四地址映射单元:将所述缓存已处理的加解密数据的第四板卡地址信息映射设为第四节点地址信息;
第二地址发送单元:将所述第四节点地址信息发送至所述验证节点,以使所述验证节点调取所述已处理的加解密数据。
进一步地,所述加密板卡还包括:
密钥读取模块:根据验证节点发送的密钥注入指令,将密钥存储器中的密钥存储至所述加密芯片。
第五方面,本申请提供一种联盟链系统,每个联盟链验证节点通过内存插槽安装一加密板卡,所述加密板卡包括一内存,所述联盟链数据处理系统包括:
验证节点:所述验证节点将待处理的加解密数据分配至加密板卡内存中;
加密板卡:所述加密板卡结合加密芯片在所述内存中对待处理的加解密数据进行加解密操作,并将已处理的加解密数据发送至验证节点;
交易节点:所述交易节点根据交易指令,结合验证节点发送的已处理的加解密数据进行交易。
第六方面,本申请提供一种联盟链系统,包括:
验证节点:所述验证节点通过内存插槽安装一加密板卡,将待处理的加解密数据分配至加密板卡内存中,所述加密板卡结合加密芯片在所述内存中对待处理的加解密数据进行加解密操作,并将已处理的加解密数据发送至验证节点;
交易节点:所述交易节点根据交易指令,结合验证节点发送的已处理的加解密数据进行交易。
第七方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的联盟链数据处理方法。
第八方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的联盟链数据处理方法。
由上述技术方案可知,本申请提供的一种联盟链数据处理方法及系统,方法包括:每个联盟链验证节点通过内存插槽安装一加密板卡,加密板卡包括一内存;将所述加解密数据分配至所述内存中,以使加密板卡结合加密芯片在内存中进行加解密操作;在加解密操作之后,调取内存中的已处理的加解密数据;通过加密板卡内部的加密芯片模块才能访问密钥,加密板卡以外的软硬件手段并不能直接访问该闪存,因此,即便联盟链节点遭受网络攻击,攻击者也不能从节点的文件系统上获取密钥,这提高了联盟链系统的安全性;联盟链节点的内存插槽上插入加密板卡即可具备国密算法能力,便于联盟链支持全国密算法;通过共享内存提高加密板卡与联盟链节点的数据传输速度,通过专用的加密芯片实现国密算法处理提高了联盟链的国密算法运算速度,提升了联盟链系统的处理性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中联盟链数据处理方法的验证节点流程示意图。
图2是本申请实施例中的联盟链数据处理方法中步骤200的流程示意图。
图3是本申请实施例中的联盟链数据处理方法中步骤300的流程示意图。
图4是本申请实施例中的联盟链数据处理方法的加密板卡流程示意图。
图5是本申请实施例中联盟链数据处理方法的步骤400流程示意图。
图6是本申请实施例中联盟链数据处理方法的步骤600流程示意图。
图7是本申请实施例中的联盟链验证节点的结构示意图。
图8是本申请实施例中的联盟链验证节点的数据分配模块的结构示意图。
图9是本申请实施例中的联盟链验证节点的数据获取模块的结构示意图。
图10是本申请实施例中的加密板卡的结构示意图。
图11是本申请应用实例提供的加密板卡的数据缓存模块的结构示意图。
图12是本申请应用实例提供的加密板卡的数据发送模块的结构示意图。
图13是本申请应用实例提供的加密板卡的软件部分的结构示意图。
图14是本申请应用实例提供的联盟链系统的第一种结构示意图。
图15是本申请应用实例提供的联盟链系统的第二种结构示意图。
图16是本申请应用实例提供的联盟链系统的第三种结构示意图。
图17是本申请应用实例提供的联盟链验证节点的一种结构示意图。
图18是本申请应用实例提供的数据加解密的流程示意图。
图19是本申请应用实例提供的密钥注入的流程示意图。
图20是本申请应用实例提供的密钥备份的流程示意图。
图21是本申请应用实例提供的共享内存的流程示意图。
图22是本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到现有的联盟链由中心化的证书节点为整个联盟链颁发交易证书,节点故障或受攻击则影响整个系统正常工作,安全性低;对联盟链软件实现全国密算法改造难度大,质量不可控等问题,本申请提供一种联盟链数据处理方法、系统、电子设备和计算机可读存储介质,通过加密板卡内部的加密芯片模块才能访问密钥,加密板卡以外的软硬件手段并不能直接访问该闪存,因此,即便联盟链节点遭受网络攻击,攻击者也不能从节点的文件系统上获取密钥,这提高了联盟链系统的安全性。
基于上述内容,本申请还提供一种用于实现本申请一个或多个实施例中提供的联盟链数据处理方法的联盟链系统,该联盟链系统可以与客户端设备之间通信连接,所述客户终端设备可以设有多个,联盟链系统具体可以通过应用服务器访问所述客户终端设备。
其中,所述联盟链系统可以自客户终端设备接收交易指令,并自该交易指令中获取交易数据,所述联盟链系统对交易数据进行加解密处理或者对交易签名进行验签,联盟链系统中的交易节点根据交易数据处理结果进行交易。其中,联盟链系统中的加密板卡负责对交易数据进行处理,加密板卡通过内存插槽安装在联盟链系统的验证节点上。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述交易数据传输。例如,通信单元可以将交易指令发送至联盟链系统,以便联盟链系统根据交易指令进行交易。通信单元还可以接收联盟链系统返回的交易结果。所述联盟链系统可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
本申请提供的联盟链数据处理方法、联盟链系统、电子设备和计算机可读存储介质,不再需要中心化的证书节点颁发交易证书,从而提高了联盟链的可靠性,密钥存储在与节点系统隔离,即使节点遭受网络攻击,密钥也不会泄露,提高了联盟链的安全性。
具体通过下述多个实施例及应用实例分别进行说明。
为了解决现有的联盟链安全性低,且对联盟链软件实现全国密算法改造难度大,质量不可控等问题,本申请提供一种联盟链数据处理方法的实施例,由所述联盟链验证节点执行,每个验证节点通过内存插槽安装一加密板卡,所述加密板卡包括一内存,参见图1,所述联盟链数据处理方法具体包含有如下内容:
步骤100:接收待处理的加解密数据。
步骤200:将所述加解密数据分配至所述内存中,以使所述加密板卡结合加密芯片在所述内存中进行加解密操作。
步骤300:在所述加解密操作之后,调取所述内存中的已处理的加解密数据。
可以理解的是,加密板卡安装在联盟链的每一个验证节点上,由该加密板卡负责交易签名和数据加解密,验证节点将待处理的加解密数据存储至加密板卡的内存中,由加密板卡结合加密芯片对数据进行处理,再将处理完的数据板卡地址信息发送至验证节点,验证节点从该板卡地址信息对应的内存中调取数据。
从上述描述可知,本申请实施例提供的联盟链数据处理方法通过加密板卡内部的加密芯片模块才能访问密钥,加密板卡以外的软硬件手段并不能直接访问该闪存,因此,即便联盟链节点遭受网络攻击,攻击者也不能从节点的文件系统上获取密钥,这提高了联盟链系统的安全性;联盟链节点的内存插槽上插入加密板卡即可具备国密算法能力,便于联盟链支持全国密算法;通过共享内存提高加密板卡与联盟链节点的数据传输速度,通过专用的加密芯片实现国密算法处理提高了联盟链的国密算法运算速度,提升了联盟链系统的处理性能。
为了进一步提高联盟链验证节点和加密板卡之间的数据传输效率,在本申请提供的联盟链数据处理方法的一个实施例中,提供一种内存共享的优选方式,参见图2,在所述联盟链数据处理方法中的步骤200具体包含有如下内容:
步骤201:获取所述加密板卡中的空闲内存对应的第一板卡地址信息。
步骤202:将所述第一板卡地址信息映射为第一节点地址信息。
步骤203:根据所述第一节点地址信息生成加解密数据的分配指令。
步骤204:根据所述分配指令将所述加解密数据分配至所述内存的空闲内存中。
可以理解的是,验证节点将加密板卡的内存识别为系统内存,验证节点获取加密板卡中处于空闲状态的板卡地址信息,记为DATAcard,并根据地址的转换公式DATAcard=DATAserver-ADDRserver+ADDRcard,将该板卡地址信息转换为与验证节点内存一致的节点地址信息,记为DATAserver,将待处理的加解密数据写入该地址,加密板卡结合加密芯片对所述待处理的加解密数据进行处理。
从上述描述可知,本申请实施例提供的联盟链数据处理方法,能通过共享内存提高加密板卡与联盟链验证节点的数据传输速度,通过专用的加密芯片实现国密算法处理提高了联盟链软件的国密算法运算速度,提升了联盟链系统的处理性能。
为了进一步提高联盟链验证节点和加密板卡之间的数据传输效率,在本申请提供的联盟链数据处理方法的一个实施例中,提供一种内存共享的优选方式,参见图3,在所述联盟链数据处理方法中的步骤300具体包含有如下内容:
步骤301:获取所述加密板卡中的缓存所述已处理加解密数据的第二板卡地址信息。
步骤302:将所述第二板卡地址信息映射为第二节点地址信息。
步骤303:调取所述第二节点地址信息对应的加密板卡内存中的已处理的加解密数据。
可以理解的是,验证节点获取加密板卡中缓存处理完成的加解密数据的板卡地址信息转换为与验证节点内存一致的节点地址信息,调取该节点地址信息对应板卡内存中的已处理的数据。
从上述描述可知,本申请实施例提供的联盟链数据处理方法,能通过共享内存提高加密板卡与联盟链验证节点的数据传输速度,通过专用的加密芯片实现国密算法处理提高了联盟链软件的国密算法运算速度,提升了联盟链系统的处理性能。
下面结合具体实施例对联盟链内存共享过程进行具体说明。
假设联盟链验证节点中的节点内存大小为1G,加密板卡的板卡内存大小为1G,将加密板卡的内存识别为节点系统内存,根据节点总内存的大小对节点内存进行编号,记节点内存统一地址为1-2048,其中,1-1024为节点地址信息,1025-2948为板卡地址信息,就加密板卡单独而言,板卡内存的地址信息为1-1024。
假设验证节点获取加密板卡中空闲内存的板卡地址信息为1-5,该板卡地址信息对应的节点内存统一地址信息为1025-1029,验证节点将待处理的数据写入1025-1029对应的部分或全部内存中,加密板卡对该数据进行处理,处理完成后,验证节点获取已处理数据对应的板卡地址信息1-3,将所述已处理数据对应的板卡地址信息1-3转换为节点统一地址信息1025-1027,调取1025-1027对应内存中的数据。
为了进一步提高联盟链密钥的安全性,在本申请提供的联盟链数据处理方法的一个实施例中,可以注入联盟链密钥,参见图1,在所述联盟链数据处理方法中的步骤100之前还具体包含有如下内容:
步骤001:运行一设定的密钥注入程序,以使所述加密板卡读取一密钥存储器中的密钥。
可以理解的是,将含有密钥的USB存储器插入加密板卡,联盟链验证节点运行密钥注入程序,密钥注入程序调用加密板卡,加密板卡调用密钥注入接口,加密板卡将USB存储器中的密钥写入加密芯片,密钥包括联盟链对称密钥、所有节点公钥和当前节点的私钥。
从上述描述可知,本申请实施例提供的联盟链数据处理方法,联盟链验证节点在上述流程仅用来发出操作指令,密钥不需要存储在联盟链验证节点上,也不需要通过联盟链验证节点安装和发送,密钥来源于USB存储器,存储到加密板卡中的加密芯片上,因此即使联盟链节点遭受网络攻击,密钥也不会泄露,密钥安全性高。
在一些其他的实施方式中,将空白的USB存储器插入加密板卡,联盟链验证节点还可以运行密钥备份程序,密钥注入程序调用加密板卡,加密板卡调用密钥备份接口,加密板卡将密钥写入USB存储器,密钥包括联盟链对称密钥、所有节点公钥和当前节点的私钥。
从上述描述可知,本申请实施例提供的联盟链数据处理方法,联盟链节点在上述流程中仅用来发出操作指令,密钥不需要存储在联盟链节点上,也不需要通过联盟链节点安装和发送,备份的密钥妥善存储在独立USB存储器中,即使联盟链节点遭受网络攻击,密钥也不会泄露,密钥安全性高。
为了解决现有的联盟链安全性低,且对联盟链软件实现全国密算法改造难度大,质量不可控等问题,本申请提供一种联盟链数据处理方法的实施例,由加密板卡执行,所述加密板卡通过内存插槽安装在联盟链验证节点上,所述加密板卡包括一内存,参见图4,所述联盟链数据处理方法具体包含有如下内容:
步骤400:缓存由验证节点分配的待处理的加解密数据。
步骤500:在所述内存中结合加密芯片进行加解密操作。
步骤600:将所述内存中的已处理的加解密数据调度至所述验证节点。
可以理解的是,加密板卡安装在联盟链的每一个验证节点上,由该加密板卡负责交易签名和数据加解密,加密板卡缓存由验证节点分配的待处理的加解密数据结合加密芯片对数据进行处理,再将处理完的数据板卡地址信息发送至验证节点。
从上述描述可知,本申请实施例提供的联盟链数据处理方法通过加密板卡内部的加密芯片模块才能访问密钥,加密板卡以外的软硬件手段并不能直接访问该闪存,因此,即便联盟链节点遭受网络攻击,攻击者也不能从节点的文件系统上获取密钥,这提高了联盟链系统的安全性;联盟链节点的内存插槽上插入加密板卡即可具备国密算法能力,便于联盟链支持全国密算法;通过共享内存提高加密板卡与联盟链节点的数据传输速度,通过专用的加密芯片实现国密算法处理提高了联盟链的国密算法运算速度,提升了联盟链系统的处理性能。
为了进一步提高联盟链验证节点和加密板卡之间的数据传输效率,在本申请提供的联盟链数据处理方法的一个实施例中,提供一种内存共享的优选方式,参见图5,所述联盟链数据处理方法中的步骤400具体包含有如下内容:
步骤401:将所述加密板卡中的空闲内存对应的第三节点地址信息发送至所述验证节点,以使所述验证节点生成分配指令。
步骤402:将所述分配指令中用于缓存加解密数据的第三节点地址信息映射为第三板卡地址信息。
步骤403:根据所述第三板卡地址信息缓存所述加解密数据。
可以理解的是,加密板卡将自身处于空闲状态的内存对应的板卡地址信息转换为节点地址信息,将该节点地址信息发送至验证节点,验证节点根据所述节点地址信息,将待处理的数据写入该节点地址信息对应的加密板卡内存中。
从上述描述可知,本申请实施例提供的联盟链数据处理方法,能通过共享内存提高加密板卡与联盟链验证节点的数据传输速度。
为了进一步提高联盟链验证节点和加密板卡之间的数据传输效率,在本申请提供的联盟链数据处理方法的一个实施例中,提供一种内存共享的优选方式,参见图6,所述联盟链数据处理方法中的步骤600具体包含有如下内容:
步骤601:将所述缓存已处理的加解密数据的第四板卡地址信息映射设为第四节点地址信息。
步骤602:将所述第四节点地址信息发送至所述验证节点,以使所述验证节点调取所述已处理的加解密数据。
可以理解的是,加密板卡将缓存已处理完成的数据的内存对应的板卡地址信息转换为节点地址信息,将该节点地址信息发送至验证节点,验证节点调取该节点地址信息对应内存中的数据。
从上述描述可知,本申请实施例提供的联盟链数据处理方法,能通过共享内存提高加密板卡与联盟链验证节点的数据传输速度,通过专用的加密芯片实现国密算法处理提高了联盟链软件的国密算法运算速度,提升了联盟链系统的处理性能。
下面结合具体实施例对联盟链内存共享过程进行具体说明。
假设联盟链验证节点中的节点内存大小为1G,加密板卡的板卡内存大小为1G,将加密板卡的内存识别为节点系统内存,根据节点总内存的大小对节点内存进行编号,记节点内存统一地址为1-2048,其中,1-1024为节点地址信息,1025-2948为板卡地址信息,就加密板卡单独而言,板卡内存的地址信息为1-1024。
假设加密板卡中空闲内存的板卡地址信息为1-5,加密板卡将该板卡地址信息转换为节点地址信息1025-1029,并将节点地址信息1025-1029发送至验证节点,验证节点将待处理的数据写入该节点地址信息1025-1029对应的加密板卡部分或全部内存内,加密板卡结合加密芯片对数据进行处理,处理完成后,加密板卡将缓存已处理完成数据的内存对应的板卡地址信息1-3转换为节点地址信息1025-1027,并将该节点地址信息1025-1027发送至验证节点,验证节点调取节点地址信息1025-1027对应内存中的数据。
本申请提供的联盟链数据处理方法的实施例中,地址转换可以由验证节点执行,也可以由加密板卡执行;地址转换由验证节点执行时,需要获取加密板卡的空闲内存的地址信息,而地址转换由加密板卡执行时,加密板卡的空闲内存的地址信息保存在加密板卡中,通过装置以外的软硬件手段并不能直接获取该闪存的地址信息,因此,即便联盟链节点遭受网络攻击,攻击者也不能从节点上获取数据的存储地址,这提高了联盟链系统的安全性。
为了进一步提高联盟链密钥的安全性,在本申请提供的联盟链数据处理方法的一个实施例中,可以注入联盟链密钥,参见图4,以在步骤400之前还具体包含有如下内容:
步骤002:根据验证节点发送的密钥注入指令,将密钥存储器中的密钥存储至所述加密芯片。
可以理解的是,加密板卡接收到验证节点发送的密钥注入指令,调用密钥注入接口,读取USB存储器中的密钥,将密钥写入加密芯片,密钥包括联盟链对称密钥、所有节点公钥和当前节点的私钥。
从上述描述可知,本申请实施例提供的联盟链数据处理方法,联盟链验证节点在上述流程仅用来发出操作指令,密钥不需要存储在联盟链验证节点上,也不需要通过联盟链验证节点安装和发送,密钥来源于USB存储器,存储到加密板卡中的加密芯片上,因此即使联盟链节点遭受网络攻击,密钥也不会泄露,密钥安全性高。
在一些其他的实施方式中,将空白的USB存储器插入加密板卡,联盟链验证节点运行密钥备份程序,密钥注入程序调用加密板卡,加密板卡调用密钥备份接口,加密板卡将密钥写入USB存储器,密钥包括联盟链对称密钥、所有节点公钥和当前节点的私钥。
从上述描述可知,本申请实施例提供的联盟链数据处理方法,联盟链节点在上述流程中仅用来发出操作指令,密钥不需要存储在联盟链节点上,也不需要通过联盟链节点安装和发送,备份的密钥妥善存储在独立USB存储器中,即使联盟链节点遭受网络攻击,密钥也不会泄露,密钥安全性高。
从软件层面来说,为了解决现有的联盟链由中心化的证书节点为整个联盟链颁发交易证书,节点故障或受攻击则影响整个系统正常工作,安全性低;对联盟链软件实现全国密算法改造难度大,质量不可控等问题,本申请提供一种用于执行所述联盟链数据处理方法中全部或部分内容的联盟链验证节点的实施例,每个验证节点通过内存插槽安装一加密板卡,所述加密板卡包括一内存,参见图7,所述联盟链验证节点具体包含有如下内容:
数据接收模块10:接收待处理的加解密数据。
数据分配模块11:将所述加解密数据分配至所述内存中,以使所述加密板卡结合加密芯片在所述内存中进行加解密操作。
数据获取模块12:在所述加解密操作之后,调取所述内存中的已处理的加解密数据。
可以理解的是,加密板卡安装在联盟链系统内的每一个验证节点上,由该加密板卡负责交易签名和数据加解密,数据分配模块11将待处理的加解密数据存储至加密板卡的内存中,由加密板卡结合加密芯片对数据进行处理,再将处理完的数据板卡地址信息发送至验证节点,数据获取模块12从该板卡地址信息对应的内存中调取已处理的数据。
本申请提供的联盟链验证节点的实施例具体可以用于执行上述实施例中的联盟链验证节点的实施例的处理流程,其功能在此不再赘述,可以参照上述装置实施例的详细描述。
从上述描述可知,本申请实施例提供的联盟链验证节点通过内存插槽安装有加密板卡,通过加密板卡内部的加密芯片模块才能访问密钥,加密板卡以外的软硬件手段并不能直接访问该闪存,因此,即便联盟链验证节点遭受网络攻击,攻击者也不能从节点的文件系统上获取密钥,这提高了联盟链系统的安全性;联盟链验证节点的内存插槽上插入加密板卡即可具备国密算法能力,便于联盟链支持全国密算法;通过共享内存提高加密板卡与联盟链节点的数据传输速度,通过专用的加密芯片实现国密算法处理提高了联盟链的国密算法运算速度,提升了联盟链系统的处理性能。
为了进一步提高联盟链验证节点和加密板卡之间的数据传输效率,在本申请提供的联盟链验证节点的一个实施例中,提供一种内存共享的优选方式,参见图8,在所述联盟链验证节点数据分配模块11还包括如下内容:
第一地址获取单元111:获取所述加密板卡中的空闲内存对应的第一板卡地址信息。
第一地址映射单元112:将所述第一板卡地址信息映射为第一节点地址信息。
数据分配单元113:根据所述第一节点地址信息生成加解密数据的分配指令。
第一数据调度单元114:根据所述分配指令将所述加解密数据分配至所述内存的空闲内存中。
可以理解的是,第一地址获取单元111将加密板卡的内存识别为系统内存,并获取加密板卡中处于空闲状态的板卡地址信息,记为DATAcard,第一地址映射单元112根据地址转换公式DATAcard=DATAserver-ADDRserver+ADDRcard,将该板卡地址信息转换为与验证节点内存一致的节点地址信息,记为DATAserver,数据分配单元113根据DATAserver生成加解密数据的分配指令,第一数据调度单元114将待处理的数据调度至DATAserver对应的内存中。
从上述描述可知,本申请实施例提供的联盟链验证节点,通过共享内存提高加密板卡与联盟链验证节点的数据传输速度。
为了进一步提高联盟链验证节点和加密板卡之间的数据传输效率,在本申请提供的联盟链验证节点的一个实施例中,提供一种内存共享的优选方式,参见图9,在所述联盟链验证节点数据获取模块12还具体包括如下内容:
第二地址获取单元121:获取所述加密板卡中的缓存所述已处理加解密数据的第二板卡地址信息。
第二地址映射单元122:将所述第二板卡地址信息映射为第二节点地址信息。
第二数据调度单元123:调取所述第二节点地址信息对应的加密板卡内存中的已处理的加解密数据。
可以理解的是,第二地址获取单元121获取加密板卡中缓存处理完成的加解密数据的板卡地址信息,第二地址映射单元122将该板卡地址信息转换为与验证节点内存一致的节点地址信息,第二数据调度单元123调取该节点地址信息对应板卡内存中的已处理的数据。
从上述描述可知,本申请实施例提供的联盟链验证节点,能通过共享内存提高加密板卡与联盟链验证节点的数据传输速度,通过专用的加密芯片实现国密算法处理提高了联盟链软件的国密算法运算速度,提升了联盟链系统的处理性能。
为了进一步提高联盟链密钥的安全性,在本申请提供的联盟链验证节点的一个实施例中,可以注入联盟链密钥,参见图7,在所述联盟链验证节点中还具体包含有密钥注入模块13,该密钥注入模块13具体用于执行如下内容:
步骤001:运行一设定的密钥注入程序,以使所述加密板卡读取一密钥存储器中的密钥。
可以理解的是,将含有密钥的USB存储器插入加密板卡,联盟链验证节点运行密钥注入程序,密钥注入程序调用加密板卡,加密板卡调用密钥注入接口,加密板卡将USB存储器中的密钥写入加密芯片,密钥包括联盟链对称密钥、所有节点公钥和当前节点的私钥。
从上述描述可知,本申请实施例提供的联盟链验证节点,该联盟链验证节点在上述流程仅用来发出操作指令,密钥不需要存储在联盟链验证节点上,也不需要通过联盟链验证节点安装和发送,密钥来源于USB存储器,存储到加密板卡中的加密芯片上,因此即使联盟链节点遭受网络攻击,密钥也不会泄露,密钥安全性高。
为了解决现有的联盟链安全性低,且对联盟链软件实现全国密算法改造难度大,质量不可控等问题,本申请提供一种加密板卡,参见图10,所述加密板卡具体包括如下内容:
数据缓存模块:缓存由验证节点分配的待处理的加解密数据。
数据处理模块:在所述内存中结合加密芯片进行加解密操作。
数据发送模块:将所述内存中的已处理的加解密数据调度至所述验证节点。
可以理解的是,加密板卡包括硬件部分和软件部分,所述硬件部分通过内置的加密芯片实现国密算法处理逻辑,作为一种硬件板卡安装联盟链节点的内存插槽上;所述软件部分作为软件安装在联盟链验证节点的操作系统上,是硬件部分与联盟链系统实现交互的媒介,实现节点地址和装置地址的转换,使联盟链系统能通过共享内存与硬件部分高效传递数据;联盟链系统可通过加密板卡软件部分调用硬件部分实现基于国密算法的区块链密码学操作,如哈希计算、基于国密SM1的数据加解密、基于国密SM2的签名和验签等,硬件部分加解密所需要的密钥通过外接的USB存储器注入,存储在硬件单元的非易失性密钥存储模块里面,联盟链节点并不存储密钥。
加密板卡安装在联盟链的每一个验证节点上,由该加密板卡的数据处理模块21负责交易签名和数据加解密,加密板卡的数据缓存模块20缓存由验证节点分配的待处理的加解密数据结合加密芯片对数据进行处理,数据发送模块22再将处理完的数据板卡地址信息发送至验证节点。
从上述描述可知,本申请实施例提供的加密板卡,通过加密板卡内部的加密芯片模块才能访问密钥,加密板卡以外的软硬件手段并不能直接访问该闪存,因此,即便联盟链节点遭受网络攻击,攻击者也不能从节点的文件系统上获取密钥,这提高了联盟链系统的安全性;联盟链节点的内存插槽上插入加密板卡即可具备国密算法能力,便于联盟链支持全国密算法;通过共享内存提高加密板卡与联盟链节点的数据传输速度,通过专用的加密芯片实现国密算法处理提高了联盟链的国密算法运算速度,提升了联盟链系统的处理性能。
为了进一步提高联盟链验证节点和加密板卡之间的数据传输效率,在本申请提供的加密板卡的一个实施例中,提供一种内存共享的优选方式,参见图11,所述数据缓存模块20具体包含有如下内容:
第一地址发送单元201:将所述加密板卡中的空闲内存对应的第三节点地址信息发送至所述验证节点,以使所述验证节点生成分配指令。
第三地址映射单元202:将所述分配指令中用于缓存加解密数据的第三节点地址信息映射为第三板卡地址信息。
数据缓存单元203:根据所述第三板卡地址信息缓存所述加解密数据。
可以理解的是,第三地址映射单元202将加密板卡内处于空闲状态的内存对应的板卡地址信息转换为节点地址信息,第一地址发送单元201将该节点地址信息发送至验证节点,数据缓存单元203将待处理的数据缓存至该节点地址信息对应的内存中。第三地址映射单元202,提供内存地址的转换功能。内存是加密板卡和验证节点共享的,但是加密板卡只能访问加密板卡的内存,内存的地址空间从0开始编排,而验证节点还安装有常规的内存条,故加密板卡的内存空间在节点操作系统上起始地址取决于节点已经安装的其他内存,因此需要第三地址映射单元202将存储在加密板卡内存中的数据地址从节点地址转换为装置地址。
从上述描述可知,本申请实施例提供的加密板卡,能通过共享内存提高加密板卡与联盟链验证节点的数据传输速度。
为了进一步提高联盟链验证节点和加密板卡之间的数据传输效率,在本申请提供的加密板卡的一个实施例中,提供一种内存共享的优选方式,参见图12,所述数据发送模块22具体包含有如下内容:
第四地址映射单元221:将所述缓存已处理的加解密数据的第四板卡地址信息映射设为第四节点地址信息;
第二地址发送单元222:将所述第四节点地址信息发送至所述验证节点,以使所述验证节点调取所述已处理的加解密数据。
可以理解的是,第四地址映射单元221将缓存已处理完成的数据的内存对应的板卡地址信息转换为节点地址信息,第二地址发送单元222将该节点地址信息发送至验证节点,验证节点调取该节点地址信息对应内存中的数据。第四地址映射单元221,提供内存地址的转换功能。内存是加密板卡和验证节点共享的,但是加密板卡只能访问加密板卡的内存,内存的地址空间从0开始编排,而验证节点还安装有常规的内存条,故加密板卡的内存空间在节点操作系统上起始地址取决于节点已经安装的其他内存,因此需要第四地址映射单元221将存储在加密板卡内存中的数据地址从从装置地址转换为节点地址。
从上述描述可知,本申请实施例提供的加密板卡,能通过共享内存提高加密板卡与联盟链验证节点的数据传输速度,通过专用的加密芯片实现国密算法处理提高了联盟链软件的国密算法运算速度,提升了联盟链系统的处理性能。
为了进一步提高联盟链密钥的安全性,在本申请提供的加密板卡的一个实施例中,可以注入联盟链密钥,参见图10,所述加密板卡还具体包含有密钥读取模块,该密钥读取模块具体用于执行如下内容:
步骤002:根据验证节点发送的密钥注入指令,将密钥存储器中的密钥存储至所述加密芯片。
可以理解的是,加密板卡接收到验证节点发送的密钥注入指令,调用密钥注入接口,读取USB存储器中的密钥,将密钥写入加密芯片,密钥包括联盟链对称密钥、所有节点公钥和当前节点的私钥。加密芯片包括联盟链对称密钥存储模块、SM1芯片模块、节点非对称密钥存储模块、SM2芯片模块、SM3芯片模块;
从上述描述可知,本申请实施例提供的加密板卡,联盟链验证节点在上述流程仅用来发出操作指令,密钥不需要存储在联盟链验证节点上,也不需要通过联盟链验证节点安装和发送,密钥来源于USB存储器,存储到加密板卡中的加密芯片上,因此即使联盟链节点遭受网络攻击,密钥也不会泄露,密钥安全性高。
在一些具体的实施方式中,参见图10,加密板卡的硬件部分具体包括:IO模块、USB读写模块、内存模块、主控模块、联盟链对称密钥存储模块、SM1芯片模块、节点非对称密钥存储模块、SM2芯片模块以及SM3芯片模块。
可以理解的是,所述IO模块用于与加密板卡软件部分交互,接收指令并返回处理结果;所述USB读写模块,用于在外接USB存储器的读取或写入信息;所述内存模块,用于存储待加解密的数据和已加解密的结果,是硬件部分与软件单元之间传递数据的媒介,软件部分将待处理的数据写入内存模块,硬件部分处理完毕后,软件部分从内存模块中读取处理完毕的数据;所述主控模块,根据IO模块所接受的指令类型,调用密钥注入模块完成密钥注入操作、调用密钥备份模块完成密钥备份操作、调用SM1芯片模块完成SM1对称加密算法的加解密操作、调用SM2芯片模块完成SM2非对称加密算法的加解密操作、调用SM3芯片模块完成SM3哈希操作;所述联盟链对称密钥存储模块,是一种非易失性可擦写存储,如闪存、可擦写ROM等,存储SM1对称加密算法加解密所需要的密钥,该密钥用以对整个联盟链内所有节点的通讯数据做加密传输处理;所述SM1芯片模块,实现了SM1对称加密算法,用于对区块链数据做加解密处理;所述节点非对称密钥存储模块,是一种非易失性可擦写存储,如闪存、可擦写ROM等,存储了整个联盟链内各个节点的公钥和当前节点的私钥,供SM2非对称加密算法做签名和验签之用;所述SM2芯片模块,实现了SM2非对称加密算法,用以对节点通讯数据做签名和验签处理;所述SM3芯片模块,实现SM3哈希算法。
在一些具体的实施方式中,参见图13,加密板卡的软件部分具体包括:外部接口301、内部接口302以及内存管理模块304。
可以理解的是,所述外部接口,提供了供联盟链软件所调用的API,如申请内存、释放内存、SM1或SM2加密、SM1或SM2解密、SM3哈希等;所述内部接口,提供与硬件部分的交互功能,通过IO模块向硬件单元发送操作指令,如SM1或SM2加密、SM1或SM2解密、SM3哈希、SM1或SM2密钥注入、SM1或SM2密钥备份等;所述内存管理模块,对内存模块进行空间管理,包括分配内存和回收内存。
从上述描述可知,本申请实施例提供的加密板卡,配备了密钥存储模块安全的存储加解密的密钥,装置内部的加密芯片模块才能访问,通过装置以外的软硬件手段并不能直接访问该闪存,因此,即便联盟链节点遭受网络攻击,攻击者也不能从节点的文件系统上获取密钥,这提高了联盟链系统的安全性。
为了解决现有的联盟链安全性低,且对联盟链软件实现全国密算法改造难度大,质量不可控等问题,本申请提供一种联盟链系统的实施例,每个联盟链验证节点通过内存插槽安装一加密板卡,所述加密板卡包括一内存,参见图14,所述联盟链系统具体包含有如下内容:
验证节点30:所述验证节点30将待处理的加解密数据分配至加密板卡内存中。
加密板卡31:所述加密板卡31结合加密芯片在所述内存中对待处理的加解密数据进行加解密操作,并将已处理的加解密数据发送至验证节点30。
交易节点32:所述交易节点32根据交易指令,结合验证节点30发送的已处理的加解密数据进行交易。
可以理解的是,加密板卡31与验证节点30一一对应,参见图16,每一个加密板卡31通过内存插槽安装在验证节点30上,该加密板卡31存储了联盟链的对称密钥、当前节点的私钥、其他验证节点的公钥,利用对称密钥对信息进行加解密,利用当前节点私钥对交易进行签名,利用其它验证节点30的公钥对交易进行验签,交易节点32根据交易指令,结合验证节点30发送的已处理的加解密数据进行交易。
从上述描述可知,本申请实施例提供的联盟链系统,安装了加密板卡的区块链节点可组成不含中心化证书节点的联盟链,消出了传统联盟链中证书节点故障导致全部节点不能交易的问题,联盟链的稳定性得以提高。
为了解决现有的联盟链安全性低,且对联盟链软件实现全国密算法改造难度大,质量不可控等问题,本申请提供一种联盟链系统的实施例,参见图15,所述联盟链系统具体包含有如下内容:
验证节点40:所述验证节点40通过内存插槽安装一加密板卡,将待处理的加解密数据分配至加密板卡内存中,所述加密板卡结合加密芯片在所述内存中对待处理的加解密数据进行加解密操作,并将已处理的加解密数据发送至验证节点40。
交易节点41:所述交易节点41根据交易指令,结合验证节点40发送的已处理的加解密数据进行交易。
可以理解的是,验证节点40与加密板卡一一对应,参见图17,每一个验证节点40通过内存插槽安装有加密板卡,该加密板卡存储了联盟链的对称密钥、当前节点的私钥、其他验证节点的公钥,利用对称密钥对信息进行加解密,利用当前节点私钥对交易进行签名,利用其它验证节点40的公钥对交易进行验签,交易节点41根据交易指令,结合验证节点40发送的已处理的加解密数据进行交易。
从上述描述可知,本申请实施例提供的联盟链系统,安装了加密板卡的区块链节点可组成不含中心化证书节点的联盟链,消出了传统联盟链中证书节点故障导致全部节点不能交易的问题,联盟链的稳定性得以提高。
下面结合具体实施例对待处理数据的加解密过程进行说明,参见图18。
步骤S101:联盟链节点调用加密板卡的软件部分的外部接口的内存分配API,软件部分的内存管理模块将内存模块的一部分空闲内存标志为已分配,将该部分内存的节点地址发给联盟链节点;
步骤S102:联盟链节点将待处理的数据写入该地址,调用软件部分的外部接口的SM1加解密API、SM2加解密API或SM3哈希API;
步骤S103:软件部分的第三地址映射单元202将数据地址从节点地址映射为装置地址,内部接口向硬件部分的IO模块发出SM1加解密指令、SM2加解密指令或SM3哈希指令,以及数据的装置地址和长度。
步骤S104:IO模块将指令、数据地址、长度发给主控模块;
步骤S105:主控模块根据指令调用SM1芯片模块、SM2芯片模块或SM3芯片模块,并将数据的地址和长度发送给芯片模块;
步骤S106-1-1:SM1芯片模块读取联盟链对称密钥存储模块的密钥;
步骤S106-1-2:SM1芯片模块读取内存模块对应地址的数据,完成加解密;
步骤S106-2-1:SM2芯片模块读取节点非对称密钥存储模块的私钥或公钥;
步骤S106-2-2:SM2芯片模块读取内存模块对应地址的数据,完成签名或验签;
步骤S106-3:SM3芯片模块读取内存模块对应地址的数据,完成哈希操作;
步骤S107:SM1芯片模块、SM2芯片模块或SM3芯片模块将操作结果写入内存模块;
步骤S108:SM1芯片模块、SM2芯片模块或SM3芯片模块向主控模块发出处理完毕信号,将结果数据的装置地址和长度返回主控模块;
步骤S109:主控模块向IO模块发出处理完毕信号,包括结果的装置地址和长度;
步骤S110:IO模块向软件单元的内部接口发出处理完毕信号,包括结果的装置地址和长度;
步骤S111:软件单元的地址转换模块将结果的装置地址映射为节点地址,返回给联盟链软件,联盟链软件从对应地址中获取加解密后的数据。
下面结合具体实施例对密钥注入过程进行说明,参见图19。
步骤S201:将含有密钥的USB存储器插入硬件部分的USB读写模块;
步骤S202:在联盟链节点上运行密钥注入程序;
步骤S203:密钥注入程序调用软件部分外部接口的密钥注入API;
步骤S204:软件部分的内部接口向硬件部分的IO模块发出密钥注入指令;
步骤S205:IO模块向主控模块发出密钥注入指令;
步骤S206:主控模块调用密钥注入模块;
步骤S207:密钥注入模块调用USB读写模块,读出密钥;
步骤S208:密钥注入模块将密钥写入联盟链对称密钥存储模块,或者节点非对称密钥存储模块。
下面结合具体实施例对密钥备份过程进行说明,参见图20。
步骤S301:将空白的USB存储器插入装置的USB读写模块;
步骤S302:在联盟链节点上运行密钥备份程序;
步骤S303:密钥备份程序调用软件部分外部接口的密钥备份API;
步骤S304:软件部分的内部接口向硬件部分的IO模块发出密钥备份指令;
步骤S305:IO模块向主控模块发出密钥备份指令;
步骤S306:主控模块调用密钥备份模块;
步骤S307:密钥备份模块从联盟链对称密钥存储模块,或者节点非对称密钥存储模块中读出密钥;
步骤S308:密钥备份模块调用USB读写模块,向USB存储器写入密钥。
下面结合具体实施例对共享内存过程进行说明,参见图21。
步骤S401:将硬件部分插入节点的内存插槽;
步骤S402:节点启动时将硬件部分的内存模块识别为系统内存;
步骤S403:操作系统启动时软件部分申请将此部分全部内存;地址映射单元记录起始节点地址为ADDRserver,起始的装置地址为ADDRcard(一般地,ADDRcard=0)。
步骤S404:联盟链软件调用软件部分的外部接口,请求分配内存,内存管理模块分配内存模块的一段空闲内存,其起始地址为DATAserver,返回给联盟链软件,联盟链软件将需要加解密的数据写入该地址。
步骤S405:软件部分的地址映射单元将数据的节点地址DATAserver转化为装置地址DATAcard,转换公式为DATAcard=DATAserver-ADDRserver+ADDRcard,软件部分内部接口将DATAcard发给硬件部分的IO模块;
步骤S406:硬件部分的其他模块读取内存模块中地址为DATAcard的数据,就是联盟链软件需要传递给国密算法处理装置的数据,从而实现了装置与联盟链软件的内存共享。
从硬件层面来说,为了解决现有的联盟链安全性低,且对联盟链软件实现全国密算法改造难度大,质量不可控等问题,本申请提供一种用于实现所述联盟链数据处理方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
图22为本申请实施例的电子设备9600的系统构成的示意框图。如图22所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图22是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一实施例中,联盟链数据处理功能可以被集成到中央处理器中。其中,中央处理器可以被配置为进行如下控制:
步骤400:缓存由验证节点分配的待处理的加解密数据。
步骤500:在所述内存中结合加密芯片进行加解密操作。
步骤600:将所述内存中的已处理的加解密数据调度至所述验证节点。
可以理解的是,加密板卡安装在联盟链的每一个验证节点上,由该加密板卡负责交易签名和数据加解密,加密板卡缓存由验证节点分配的待处理的加解密数据结合加密芯片对数据进行处理,再将处理完的数据板卡地址信息发送至验证节点。
从上述描述可知,本申请实施例提供的电子设备,通过加密板卡内部的加密芯片模块才能访问密钥,加密板卡以外的软硬件手段并不能直接访问该闪存,因此,即便联盟链节点遭受网络攻击,攻击者也不能从节点的文件系统上获取密钥,这提高了联盟链系统的安全性;联盟链节点的内存插槽上插入加密板卡即可具备国密算法能力,便于联盟链支持全国密算法;通过共享内存提高加密板卡与联盟链节点的数据传输速度,通过专用的加密芯片实现国密算法处理提高了联盟链的国密算法运算速度,提升了联盟链系统的处理性能。
在另一个实施方式中,联盟链系统可以与中央处理器9100分开配置,例如可以将联盟链系统配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现联盟链数据处理功能。
如图22所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图22中所示的所有部件;此外,电子设备9600还可以包括图22中没有示出的部件,可以参考现有技术。
如图22所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的联盟链数据处理方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的联盟链数据处理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤400:缓存由验证节点分配的待处理的加解密数据。
步骤500:在所述内存中结合加密芯片进行加解密操作。
步骤600:将所述内存中的已处理的加解密数据调度至所述验证节点。
可以理解的是,加密板卡安装在联盟链的每一个验证节点上,由该加密板卡负责交易签名和数据加解密,加密板卡缓存由验证节点分配的待处理的加解密数据结合加密芯片对数据进行处理,再将处理完的数据板卡地址信息发送至验证节点。
从上述描述可知,本申请实施例提供的计算机可读介质,通过加密板卡内部的加密芯片模块才能访问密钥,加密板卡以外的软硬件手段并不能直接访问该闪存,因此,即便联盟链节点遭受网络攻击,攻击者也不能从节点的文件系统上获取密钥,这提高了联盟链系统的安全性;联盟链节点的内存插槽上插入加密板卡即可具备国密算法能力,便于联盟链支持全国密算法;通过共享内存提高加密板卡与联盟链节点的数据传输速度,通过专用的加密芯片实现国密算法处理提高了联盟链的国密算法运算速度,提升了联盟链系统的处理性能。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

1.一种联盟链数据处理方法,其特征在于,由所述联盟链验证节点执行,每个验证节点通过内存插槽安装一加密板卡,所述加密板卡包括一内存,所述联盟链数据处理方法包括:
接收待处理的加解密数据;
将所述加解密数据分配至所述内存中,以使所述加密板卡结合加密芯片在所述内存中进行加解密操作;所述加密板卡包括所述加密芯片;
在所述加解密操作之后,调取所述内存中的已处理的加解密数据;
所述联盟链数据处理方法还包括:
运行一设定的密钥注入程序,以使所述加密板卡读取一密钥存储器中的密钥;
其中,将所述密钥存储器插入加密板卡上,所述密钥存储器含有密钥。
2.根据权利要求1所述的联盟链数据处理方法,其特征在于,所述将所述加解密数据分配至所述内存中,包括:
获取所述加密板卡中的空闲内存对应的第一板卡地址信息;
将所述第一板卡地址信息映射为第一节点地址信息;
根据所述第一节点地址信息生成加解密数据的分配指令;
根据所述分配指令将所述加解密数据分配至所述内存的空闲内存中。
3.根据权利要求1所述的联盟链数据处理方法,其特征在于,所述调取所述内存中的已处理的加解密数据,包括:
获取所述加密板卡中的缓存所述已处理加解密数据的第二板卡地址信息;
将所述第二板卡地址信息映射为第二节点地址信息;
调取所述第二节点地址信息对应的加密板卡内存中的已处理的加解密数据。
4.一种联盟链数据处理方法,其特征在于,由加密板卡执行,所述加密板卡通过内存插槽安装在联盟链验证节点上,所述加密板卡包括一内存,所述联盟链数据处理方法包括:
缓存由验证节点分配的待处理的加解密数据;
在所述内存中结合加密芯片进行加解密操作;所述加密板卡包括所述加密芯片;
将所述内存中的已处理的加解密数据调度至所述验证节点;
所述联盟链数据处理方法还包括:
根据验证节点发送的密钥注入指令,将密钥存储器中的密钥存储至所述加密芯片;
其中,将所述密钥存储器插入加密板卡上,所述密钥存储器含有密钥。
5.根据权利要求4所述的联盟链数据处理方法,其特征在于,所述缓存由验证节点分配的待处理的加解密数据,包括:
将所述加密板卡中的空闲内存对应的第三节点地址信息发送至所述验证节点,以使所述验证节点生成分配指令;
将所述分配指令中用于缓存加解密数据的第三节点地址信息映射为第三板卡地址信息;
根据所述第三板卡地址信息缓存所述加解密数据。
6.根据权利要求4所述的联盟链数据处理方法,其特征在于,所述将所述内存中的已处理的加解密数据调度至所述验证节点,包括:
将所述缓存已处理的加解密数据的第四板卡地址信息映射设为第四节点地址信息;
将所述第四节点地址信息发送至所述验证节点,以使所述验证节点调取所述已处理的加解密数据。
7.一种联盟链验证节点,其特征在于,每个验证节点通过内存插槽安装一加密板卡,所述加密板卡包括一内存,所述联盟链验证节点包括:
数据接收模块:接收待处理的加解密数据;
数据分配模块:将所述加解密数据分配至所述内存中,以使所述加密板卡结合加密芯片在所述内存中进行加解密操作;所述加密板卡包括所述加密芯片;
数据获取模块:在所述加解密操作之后,调取所述内存中的已处理的加解密数据;
所述联盟链验证节点还包括:
密钥注入模块:运行一设定的密钥注入程序,以使所述加密板卡读取一密钥存储器中的密钥;
其中,将所述密钥存储器插入加密板卡上,所述密钥存储器含有密钥。
8.根据权利要求7所述的联盟链验证节点,其特征在于,所述数据分配模块包括:
第一地址获取单元:获取所述加密板卡中的空闲内存对应的第一板卡地址信息;
第一地址映射单元:将所述第一板卡地址信息映射为第一节点地址信息;
数据分配单元:根据所述第一节点地址信息生成加解密数据的分配指令;
第一数据调度单元:根据所述分配指令将所述加解密数据分配至所述内存的空闲内存中。
9.根据权利要求7所述的联盟链验证节点,其特征在于,所述数据获取模块包括:
第二地址获取单元:获取所述加密板卡中的缓存所述已处理加解密数据的第二板卡地址信息;
第二地址映射单元:将所述第二板卡地址信息映射为第二节点地址信息;
第二数据调度单元:调取所述第二节点地址信息对应的加密板卡内存中的已处理的加解密数据。
10.一种加密板卡,其特征在于,所述加密板卡通过内存插槽安装在联盟链验证节点上,所述加密板卡包括一内存,所述加密板卡包括:
数据缓存模块:缓存由验证节点分配的待处理的加解密数据;
数据处理模块:在所述内存中结合加密芯片进行加解密操作;所述加密板卡包括所述加密芯片;
数据发送模块:将所述内存中的已处理的加解密数据调度至所述验证节点;
所述加密板卡还包括:
密钥读取模块:根据验证节点发送的密钥注入指令,将密钥存储器中的密钥存储至所述加密芯片;
其中,将所述密钥存储器插入加密板卡上,所述密钥存储器含有密钥。
11.根据权利要求10所述的加密板卡,其特征在于,所述数据缓存模块包括:
第一地址发送单元:将所述加密板卡中的空闲内存对应的第三节点地址信息发送至所述验证节点,以使所述验证节点生成分配指令;
第三地址映射单元:将所述分配指令中用于缓存加解密数据的第三节点地址信息映射为第三板卡地址信息;
数据缓存单元:根据所述第三板卡地址信息缓存所述加解密数据。
12.根据权利要求10所述的加密板卡,其特征在于,所述数据发送模块包括:
第四地址映射单元:将所述缓存已处理的加解密数据的第四板卡地址信息映射设为第四节点地址信息;
第二地址发送单元:将所述第四节点地址信息发送至所述验证节点,以使所述验证节点调取所述已处理的加解密数据。
13.一种联盟链系统,其特征在于,每个联盟链验证节点通过内存插槽安装一加密板卡,所述加密板卡包括一内存,所述联盟链系统包括:
验证节点:所述验证节点将待处理的加解密数据分配至加密板卡内存中;
加密板卡:所述加密板卡结合加密芯片在所述内存中对待处理的加解密数据进行加解密操作,并将已处理的加解密数据发送至验证节点;所述加密板卡包括所述加密芯片;
交易节点:所述交易节点根据交易指令,结合验证节点发送的已处理的加解密数据进行交易;
所述加密板卡还用于:
根据验证节点发送的密钥注入指令,将密钥存储器中的密钥存储至所述加密芯片;
其中,将所述密钥存储器插入加密板卡上,所述密钥存储器含有密钥。
14.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的联盟链数据处理方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述的联盟链数据处理方法。
CN202110345550.7A 2021-03-31 2021-03-31 一种联盟链数据处理方法及系统 Active CN112861108B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110345550.7A CN112861108B (zh) 2021-03-31 2021-03-31 一种联盟链数据处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110345550.7A CN112861108B (zh) 2021-03-31 2021-03-31 一种联盟链数据处理方法及系统

Publications (2)

Publication Number Publication Date
CN112861108A CN112861108A (zh) 2021-05-28
CN112861108B true CN112861108B (zh) 2024-02-27

Family

ID=75991902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110345550.7A Active CN112861108B (zh) 2021-03-31 2021-03-31 一种联盟链数据处理方法及系统

Country Status (1)

Country Link
CN (1) CN112861108B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101551784A (zh) * 2008-04-02 2009-10-07 西北工业大学 一种usb接口的ata类存储设备中数据的加密方法及装置
CN208538132U (zh) * 2018-05-15 2019-02-22 苏州科达科技股份有限公司 一种加密板卡
CN110247757A (zh) * 2019-04-19 2019-09-17 中国工商银行股份有限公司 基于国密算法的区块链处理方法、装置及系统
CN112104650A (zh) * 2020-09-15 2020-12-18 南方电网科学研究院有限责任公司 一种服务器的防护系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101551784A (zh) * 2008-04-02 2009-10-07 西北工业大学 一种usb接口的ata类存储设备中数据的加密方法及装置
CN208538132U (zh) * 2018-05-15 2019-02-22 苏州科达科技股份有限公司 一种加密板卡
CN110247757A (zh) * 2019-04-19 2019-09-17 中国工商银行股份有限公司 基于国密算法的区块链处理方法、装置及系统
CN112104650A (zh) * 2020-09-15 2020-12-18 南方电网科学研究院有限责任公司 一种服务器的防护系统

Also Published As

Publication number Publication date
CN112861108A (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
US9590963B2 (en) System and method for key management for issuer security domain using global platform specifications
US10419220B2 (en) Management device, key generating device, vehicle, maintenance tool, management system, management method, and computer program
CN101765105B (zh) 实现通信加密的方法和系统、移动终端
US8756415B2 (en) Memory device, host device, and memory system
US20100241852A1 (en) Methods for Producing Products with Certificates and Keys
CN104170312A (zh) 用于使用硬件安全引擎通过网络进行安全通信的方法和设备
CN112084521B (zh) 用于区块链的非结构化数据处理方法、装置及系统
CN103546289A (zh) 一种基于USBKey的安全传输数据的方法及系统
CN110855616B (zh) 一种数字钥匙生成系统
US20120124378A1 (en) Method for personal identity authentication utilizing a personal cryptographic device
KR20120051344A (ko) 휴대형 통합 보안 저장장치와 이를 이용하는 서비스 처리 장치 및 방법
CN112887080B (zh) 基于sm2的密钥生成方法及系统
CN107749862A (zh) 一种数据加密集中存储方法、服务器、用户终端及系统
JP2015104020A (ja) 通信端末装置、通信端末関連付けシステム、通信端末関連付け方法、及びコンピュータプログラム
CN111464295B (zh) 银行卡制卡方法及装置
CN112861108B (zh) 一种联盟链数据处理方法及系统
CN110719174A (zh) 基于Ukey的证书签发方法、相关装置及系统
CN116155491A (zh) 安全芯片的对称密钥同步方法及安全芯片装置
CN109543367B (zh) 基于量子加密的软件授权方法、装置及存储介质
CN107846274B (zh) 一种控制方法及终端、服务器、处理器
CN111246480A (zh) 基于sim卡的应用通信方法、系统、设备及存储介质
CN114223176A (zh) 一种证书管理方法及装置
WO2019062305A1 (zh) 机顶盒无卡条件接收系统的生产方法及系统
CN117749384A (zh) 一种基于客户端设备匹配的协同签名安全开通方法及系统
JP2013243732A (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
GR01 Patent grant
GR01 Patent grant