CN110048855A - 国密算法的引入方法及调用方法、及装置、设备、Fabric平台 - Google Patents
国密算法的引入方法及调用方法、及装置、设备、Fabric平台 Download PDFInfo
- Publication number
- CN110048855A CN110048855A CN201910329272.9A CN201910329272A CN110048855A CN 110048855 A CN110048855 A CN 110048855A CN 201910329272 A CN201910329272 A CN 201910329272A CN 110048855 A CN110048855 A CN 110048855A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- interface
- national secret
- target platform
- calling
- 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
Links
Classifications
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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
Abstract
本申请公开一种国密算法的引入方法及调用方法、及装置、设备、Fabric平台,该国密算法的引入方法包括:在语言标准库中新增SM3实例和SM4实例,实现国密算法SM3和国密算法SM4;SM3实例和SM4实例用于调用国密算法SM3和国密算法SM4;国密算法SM3继承目标平台中摘要算法调用的第一接口,国密算法SM4继承目标平台中对称加密算法调用的第二接口在目标平台中将第一接口与SM3实例的对应关系和第二接口与SM4实例的对应关系预先设置为配置项,以便目标平台在第一接口或第二接口被调用时,向语言标准库发送携带SM3实例或SM4实例的调用参数。本申请不仅能实现将国密算法引入目标平台,同时由于国密算法在语言标准库中实现且继承原有的接口,还能够保证对原有平台的影响尽量小。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种国密算法的引入方法及调用方法、及装置、设备、Fabric平台。
背景技术
目前,需要实现安全认证的平台大多是基于国际标准实现的,而依据我国有关机关和监管机构站的战略目标,为保障重要经济系统密码应用安全,国家密码管理局于2011年发布了《关于做好公钥密码算法升级工作的通知》,要求自2011年3月1日起,在建和拟建公钥密码基础设施电子认证系统和密钥管理系统应使用国密算法。
因此,如何将国密算法引入到平台是亟需解决的问题,目前尚未出现比较成熟的解决方案。
发明内容
有鉴于此,本申请提供了一种国密算法的引入方法及调用方法、及装置、设备、Fabric平台,能够将国密算法成功引入Fabric平台,在Fabric平台上实现国密算法的调用。
第一方面,为实现上述发明目的,本申请提供了一种国密算法的引入方法,所述方法包括:
在语言标准库中新增SM3实例和SM4实例,并实现国密算法SM3和国密算法SM4;其中,所述SM3实例和所述SM4实例分别用于调用所述国密算法SM3和所述国密算法SM4;所述国密算法SM3继承目标平台中的摘要算法调用的第一接口,所述国密算法SM4继承所述目标平台中的对称加密算法调用的第二接口;
在所述目标平台中将所述第一接口与所述SM3实例的对应关系和所述第二接口与所述SM4实例的对应关系预先设置为配置项,以便所述目标平台在所述第一接口或所述第二接口被调用时,向所述语言标准库发送携带所述SM3实例或所述SM4实例的调用参数。
可选的,所述方法还包括:
在所述语言标准库中新增SM2-P256曲线实例,并实现国密算法SM2;其中,所述SM2-P256曲线实例用于调用所述国密算法SM2;所述国密算法SM2继承所述目标平台中的签名算法调用的第三接口,且作为所述签名算法的预设曲线实现;
在所述目标平台中将所述第三接口与所述SM2-P256曲线实例的对应关系预先设置为配置项,以便所述目标平台在所述第三接口被调用时,向所述语言标准库发送携带所述SM2-P256曲线实例的调用参数。
可选的,所述目标平台中的签名算法为ECDSA签名算法,所述方法还包括:
在所述语言标准库中对所述ECDSA签名算法中的签名算法和验签算法分别进行逻辑增强,以实现在所述ECDSA签名算法中的签名算法或验签算法被调用时,判断调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,并在所述曲线标识为所述SM2-P256曲线实例时实现对所述国密算法SM2中的签名算法或验签算法的调用。
可选的,所述目标平台中的签名算法为ECDSA签名算法,所述方法还包括:
在所述语言标准库中对所述ECDSA签名算法中的ECDSA公钥体系的证书进行逻辑增强,以实现在所述ECDSA签名算法中的ECDSA公钥体系的证书生成算法或证书解读算法被调用时,判断调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,并在所述曲线标识为所述SM2-P256曲线实例时实现对所述国密算法SM2中的ECDSA公钥体系的证书生成算法或证书解读算法的调用。
第二方面,本申请还提供了一种国密算法的调用方法,目标平台中预先设置有包括第一接口与SM3实例的对应关系和第二接口与SM4实例的对应关系的配置项,所述方法包括:
当所述目标平台存在摘要算法的调用需求时,调用所述目标平台中的所述第一接口,从所述配置项中获取与所述第一接口具有对应关系的SM3实例,并将携带所述SM3实例的调用参数发送至语言标准库,实现对所述语言标准库中与所述SM3实例对应的国密算法SM3的调用;其中,所述第一接口为所述目标平台中摘要算法调用的接口;
当所述目标平台存在对称加密算法的调用需求时,调用所述目标平台中的所述第二接口,从所述配置项中获取与所述第二接口具有对应关系的SM4实例,并将携带所述SM4实例的调用参数发送至所述语言标准库,实现对所述语言标准库中与所述SM4实例对应的国密算法SM4的调用;其中,所述第二接口为所述目标平台中对称加密算法调用的接口。
可选的,所述配置项中还包括第三接口与SM2-P256曲线实例的对应关系,所述方法还包括:
当所述目标平台存在签名算法的调用需求时,调用所述目标平台中的所述第三接口,并将携带ECDSA算法标识的调用参数发送至所述语言标准库,实现对ECDSA签名算法的调用;
在对所述ECDSA签名算法进行调用的过程中,判断所述调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,如果是,则对所述语言标准库中的国密算法SM2进行调用。
第三方面,本申请还提供了一种国密算法的引入装置,所述装置包括:
第一新增模块,用于在语言标准库中新增SM3实例和SM4实例,并实现国密算法SM3和国密算法SM4;其中,所述SM3实例和所述SM4实例分别用于调用所述国密算法SM3和所述国密算法SM4;所述国密算法SM3继承目标平台中的摘要算法调用的第一接口,所述国密算法SM4继承所述目标平台中的对称加密算法调用的第二接口;
第一设置模块,用于在所述目标平台中将所述第一接口与所述SM3实例的对应关系和所述第二接口与所述SM4实例的对应关系预先设置为配置项,以便所述目标平台在所述第一接口或所述第二接口被调用时,向所述语言标准库发送携带所述SM3实例或所述SM4实例的调用参数。
可选的,所述装置还包括:
第二新增模块,用于在所述语言标准库中新增SM2-P256曲线实例,并实现国密算法SM2;其中,所述SM2-P256曲线实例用于调用所述国密算法SM2;所述国密算法SM2继承所述目标平台中的签名算法调用的第三接口,且作为所述签名算法的预设曲线实现;
第二设置模块,用于在所述目标平台中将所述第三接口与所述SM2-P256曲线实例的对应关系预先设置为配置项,以便所述目标平台在所述第三接口被调用时,向所述语言标准库发送携带所述SM2-P256曲线实例的调用参数。
可选的,所述目标平台中的签名算法为ECDSA签名算法,所述装置还包括:
第一逻辑增强模块,用于在所述语言标准库中对所述ECDSA签名算法中的签名算法和验签算法分别进行逻辑增强,以实现在所述ECDSA签名算法中的签名算法或验签算法被调用时,判断调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,并在所述曲线标识为所述SM2-P256曲线实例时实现对所述国密算法SM2中的签名算法或验签算法的调用。
可选的,所述目标平台中的签名算法为ECDSA签名算法,所述装置还包括:
第二逻辑增强模块,用于在所述语言标准库中对所述ECDSA签名算法中的ECDSA公钥体系的证书进行逻辑增强,以实现在所述ECDSA签名算法中的ECDSA公钥体系的证书生成算法或证书解读算法被调用时,判断调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,并在所述曲线标识为所述SM2-P256曲线实例时实现对所述国密算法SM2中的ECDSA公钥体系的证书生成算法或证书解读算法的调用。
第四方面,本申请还提供了一种国密算法的调用装置,目标平台中预先设置有包括第一接口与SM3实例的对应关系和第二接口与SM4实例的对应关系的配置项,所述装置包括:
第一调用模块,用于当所述目标平台存在摘要算法的调用需求时,调用所述目标平台中的所述第一接口,从所述配置项中获取与所述第一接口具有对应关系的SM3实例,并将携带所述SM3实例的调用参数发送至语言标准库,实现对所述语言标准库中与所述SM3实例对应的国密算法SM3的调用;其中,所述第一接口为所述目标平台中摘要算法调用的接口;
第二调用模块,用于当所述目标平台存在对称加密算法的调用需求时,调用所述目标平台中的所述第二接口,从所述配置项中获取与所述第二接口具有对应关系的SM4实例,并将携带所述SM4实例的调用参数发送至所述语言标准库,实现对所述语言标准库中与所述SM4实例对应的国密算法SM4的调用;其中,所述第二接口为所述目标平台中对称加密算法调用的接口。
可选的,所述配置项中还包括第三接口与SM2-P256曲线实例的对应关系,所述装置还包括:
第三调用模块,用于当所述目标平台存在签名算法的调用需求时,调用所述目标平台中的所述第三接口,并将携带ECDSA算法标识的调用参数发送至所述语言标准库,实现对ECDSA签名算法的调用;
判断模块,用于在对所述ECDSA签名算法进行调用的过程中,判断所述调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,如果是,则对所述语言标准库中的国密算法SM2进行调用。
第五方面,本申请还提供了一种Fabric平台,所述Fabric平台包括密码服务BCCSP模块,
所述BCCSP模块包括预先设置的配置项;所述预先设置的配置项中包括第一接口与SM3实例的对应关系和第二接口与SM4实例的对应关系;其中,所述第一接口为所述Fabric平台中SHAx系列摘要算法调用的接口;所述第二接口为所述Fabric平台中AES对称加密算法调用的接口;所述SM3实例用于调用国密算法SM3,所述SM4实例用于调用国密算法SM4,所述国密算法SM3和所述国密算法SM4预先在GoLang标准库中实现。
可选的,所述预先设置的配置项中还包括第三接口与SM2-P256曲线实例的对应关系;其中,所述第三接口为所述Fabric平台中ECDSA签名算法调用的接口,所述SM2-P256曲线实例用于调用国密算法SM2,所述国密算法SM2预先在所述GoLang标准库中作为所述ECDSA签名算法的预设曲线实现。
第六方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述任一项所述的方法。
第七方面,本申请还提供了一种设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述任一项所述的方法。本申请实施例提供的国密算法的引入方法及调用方法、及装置、设备、Fabric平台中,不仅能够实现将国密算法引入目标平台,同时由于各个国密算法在语言标准库中实现且继承原有的接口,使得本申请还能够保证在将国密算法引入目标平台的同时对原有平台的影响尽量小。
另外,本申请通过在目标平台上调用各个算法原有的接口,并依据目标平台预先设置的配置项中与该接口对应的实例,实现了对各个国密算法的调用。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种国密算法的引入方法的流程图;
图2为本申请实施例提供的另一种国密算法的引入方法的流程图;
图3为本申请实施例提供的一种国密算法的调用方法流程图;
图4为本申请实施例提供的一种基于Fabric平台的国密算法调用方法的流程图;
图5为本申请实施例提供的一种国密算法的引入装置的结构示意图;
图6为本申请实施例提供的一种国密算法的调用装置的结构示意图;
图7为本申请实施例提供的一种设备的结构示意图。
具体实施方式
为了响应我国有关机关和监管机构站的战略目标,保障重要经济系统密码应用安全,依据国家密码管理局于2011年发布了《关于做好公钥密码算法升级工作的通知》,本申请实施例提供了一种能够将国密算法引入需要实现安全认证的平台的方案。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
方法实施例一
参考图1,为本申请实施例提供的一种国密算法的引入方法的流程图,所述方法包括:
S101:在语言标准库中新增SM3实例和SM4实例,并实现国密算法SM3和国密算法SM4;
其中,所述SM3实例和所述SM4实例分别用于调用所述国密算法SM3和所述国密算法SM4;所述国密算法SM3继承目标平台中的摘要算法调用的第一接口,所述国密算法SM4继承所述目标平台中的对称加密算法调用的第二接口。
其中,目标平台可以为任一需要实现安全认证的平台,如Hyperledger Fabric平台。语言标准库可以为任一种语言的标准库,如Go语言的GoLang标准库。另外,国密算法SM2、SM3和SM4均为国家标准的算法,国密算法SM2为签名算法,国密算法SM3为摘要算法,国密算法SM4为分组对称加密算法。
S102:在所述目标平台中将所述第一接口与所述SM3实例的对应关系和所述第二接口与所述SM4实例的对应关系预先设置为配置项,以便所述目标平台在所述第一接口或所述第二接口被调用时,向所述语言标准库发送携带所述SM3实例或所述SM4实例的调用参数。
另外,由于国密算法还包括国密算法SM2,在上述技术方案的基础上,本申请实施例还需要实现将国密算法SM2引入目标平台,参考图2,为本申请实施例还提供了另一种国密算法的引入方法的流程图,该方法不仅包括S101和S102,还包括S201和S202,具体的:
S201:在所述语言标准库中新增SM2-P256曲线实例,并实现国密算法SM2;其中,所述SM2-P256曲线实例用于调用所述国密算法SM2;所述国密算法SM2继承所述目标平台中的签名算法调用的第三接口,且作为所述签名算法的预设曲线实现;
S202:在所述目标平台中将所述第三接口与所述SM2-P256曲线实例的对应关系预先设置为配置项,以便所述目标平台在所述第三接口被调用时,向所述语言标准库发送携带所述SM2-P256曲线实例的调用参数。
为了达到将国密算法SM2引入目标平台的过程中对该目标平台的改动最小的效果,本申请实施例将国密算法SM2作为目标平台中的签名算法的一条预设曲线实现。
另外,当目标平台中的签名算法为ECDSA签名算法时,在将国密算法SM2引入目标平台的过程中,还涉及对ECDSA签名算法中的签名算法和验签算法的逻辑增强。
为此,一种具体的实现方式中,所述方法还包括:
在所述语言标准库中对所述ECDSA签名算法中的签名算法和验签算法分别进行逻辑增强,以实现在所述ECDSA签名算法中的签名算法或验签算法被调用时,判断调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,并在所述曲线标识为所述SM2-P256曲线实例时实现对所述国密算法SM2中的签名算法或验签算法的调用。
另外,当目标平台中的签名算法为ECDSA签名算法时,在将国密算法SM2引入目标平台的过程中,还涉及对ECDSA签名算法中的ECDSA公钥体系的证书的逻辑增强。
为此,一种具体的实现方式中,所述方法还包括:
在所述语言标准库中对所述ECDSA签名算法中的ECDSA公钥体系的证书进行逻辑增强,以实现在所述ECDSA签名算法中的ECDSA公钥体系的证书生成算法或证书解读算法被调用时,判断调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,并在所述曲线标识为所述SM2-P256曲线实例时实现对所述国密算法SM2中的ECDSA公钥体系的证书生成算法或证书解读算法的调用。
本申请实施例提供的将国密算法引入目标平台的方法,采用在语言标准库中实现国密算法的思想,并采用在目标平台增加配置项的方式,整个引入过程对目标平台的代码改动量较少,易于平台维护且对后续平台升级影像相对较小,属于比较成熟且易于推广的将国密算法引入到平台得解决方案。
Hyperledger Fabric是一个模块化的分布式账本解决方案支撑平台,简称Fabric平台,其提供高度的保密性、弹性、灵活性与可扩展性,同时支持不同组件的可插入实现,并适应经济系统中存在的复杂性。在Fabric平台对企业级区块链的未来规划中,它的架构允许被全面审查且开源,可以说Fabric平台是区块链中联盟链的非常优秀的实现,国内大部分企业实现自己的区块链服务时,大多引用了Fabric平台。
目前,在Fabric平台的自身解决方案中,通过公钥基础设施(英文:Public KeyInfrastructure,简称:PKI)体系实现参与者的安全认证是尤为重要的一环。而依据我国有关机关和监管机构站的战略目标,为保障重要经济系统密码应用安全,需要将国密算法引入Fabric平台的PKI体系中,使得PKI体系基于国密算法实现。
由于Fabric平台的PKI体系的具体实现过程几乎在各个相关工程以及各个代码模块中都有涉及,所以将国密算法引入到Fabric平台是比较困难的,目前尚未出现比较成熟的解决方案。
为了便于理解本申请提供的技术方案,下面以如何将国密算法引入到Fabric平台为例进行具体介绍。
Fabric平台是基于Go语言编写的平台,而GoLang标准库是编写Go语言程序代码的基础,本申请总体上采用在GoLang标准库中实现国密算法的思想,具体涉及对GoLang标准库开源项目和Fabric平台项目的扩展。
第一、对GoLang标准库的扩展包括:将国密算法SM2、SM3和SM4分别增加至GoLang标准库。其中,国密算法SM2、SM3和SM4均为国家标准的算法,国密算法SM2为签名算法,国密算法SM3为摘要算法,国密算法SM4为分组对称加密算法。
1)将国密算法SM3增加至Golang标准库的具体过程:
目前Fabric平台使用SHAx系列摘要算法实现摘要提取,因此,如何利用国密算法SM3取代SHAx系列摘要算法是本步骤改造的重点。
一种实施方式中,首先,在Golang标准库的配置项文件crypto/crypto.go中的现有摘要算法列表中新增SM3实例,其中,SM3实例用于标识国密算法SM3,通过SM3实例能够调用Golang标准库中的国密算法SM3。其次,在Golang标准库中新建包路径,并在该包路径下实现具体的国密算法SM3,为了尽量减少对现有的Golang标准库和Fabric平台的改造,本申请将实现的国密算法SM3继承现有的Fabric平台中SHAx系列摘要算法调用的接口,即标准的hash.Hash接口。另外,为了便于代码管理,本申请新建的包路径可以为crypto/sm3。最后,在实现具体的国密算法SM3之后,通过init方法,将国密算法SM3注册到摘要算法列表当中,以便能够对其进行调用。
通过上述实施方式,能够以尽量少的改造实现将国密算法SM3增加至Golang标准库,且取代Fabric平台目前使用的SHAx系列摘要算法。
2)将国密算法SM4增加至Golang标准库的具体过程:
目前Fabric平台使用AES对称加密算法实现对称加密,因此,如何利用国密算法SM4取代AES对称加密算法是本步骤改造的重点。由于国密算法SM4或AES对称加密算法皆与Fabric平台的其他模块耦合度非常低,因此在GoLang标准库的crypto接口下扩展国密算法SM4即可。
具体方式与上述国密算法SM3的引入过程相似,包括新建包路径crypto/sm4,并在该路径下实现具体的国密算法SM4。另外,为了尽量减少对现有的Golang标准库和Fabric平台的改造,本申请将实现的国密算法SM4继承现有的Fabric平台中AES对称加密算法调用的接口,即标准的crypto.chiper.Block接口。通过新建SM4实例能够调用Golang标准库中的国密算法SM4。
通过上述实施方式,能够以尽量少的改造实现将国密算法SM4增加至Golang标准库,且取代Fabric平台目前使用的AES对称加密算法。
3)将国密算法SM2增加至Golang标准库的具体过程:
目前Fabric平台使用ECDSA签名算法实现签名,因此,如何利用国密算法SM2取代ECDSA签名算法是本步骤改造的重点。
ECDSA签名算法在Fabric平台中主要是用于MSP(英文:Membership serviceprovider;中文:资格服务提供)证书的处理,以及可选的TLS(英文:Transport LayerSecurity;中文:安全传输层协议)证书的处理,从而进行身份的认知与权限控制。基于国密算法SM2和ECDSA签名算法的具体实现过程,本申请的发明人得出两点结论:①是国密算法SM2与ECDSA签名算法在输入输出的格式上是相同的,其区别在于ECDSA签名算法用的是国际上规定的曲线P224/P256/P384/P521这四条曲线,而国密算法SM2使用了特殊的SM2-P256曲线,另外在签名和验签算法中具体计算步骤有所差异,但不影响输入输出;②国密算法SM2证书的X509格式与ECDSA签名算法证书的X509格式相同,区别在于标识符(比如签名算法标识、摘要算法标识、曲线标识)以及属性对应的具体值。
基于上述两点结论,本申请可以将国密算法SM2作为ECDSA签名算法中区别于P224/P256/P384/P521这四条曲线的第5条曲线,即SM2-P256曲线,实现将国密算法SM2增加至Golang标准库。
具体的,首先,新增SM2-P256曲线实例,用于标识国密算法SM2,通过SM2-P256曲线实例能够调用Golang标准库中的国密算法SM2。其次,在Golang标准库中新建包路径,并在该包路径下实现具体的国密算法SM2,为了尽量减少对现有的Golang标准库和Fabric平台的改造,本申请将实现的国密算法SM2继承现有的Fabric平台中ECDSA算法调用的接口,即标准的crypto.elliptic.Curve接口。另外,为了便于代码管理,本申请新建的包路径可以为crypto/sm2。再次,对Golang标准库中的crypto/ecdsa.go文件进行扩展,依据国密算法SM2实现其中的签名算法和验签算法的逻辑增强。最后,对Golang标准库中的crypto/x509.go文件进行扩展。由于Fabric平台的原本证书只识别RSA公钥体系和ECDSA公钥体系,所以本申请将国密算法SM2作为ECDSA签名算法的第5条曲线之后,仅仅需要对ECDSA公钥体系的证书进行逻辑增强即可。
具体的,对现有的ECDSA签名算法的逻辑增强后,实现对国密算法SM2的具体调用过程可以包括,当调用流程进入ECDSA签名算法入口时,首先判断调用参数中携带的曲线标识,若曲线标识为新增加的SM2-P256曲线实例,则调用国密算法SM2的标准算法的签名逻辑,若曲线标识为原本的曲线实例,则调用ECDSA原有的签名逻辑。通过上述实施方式,能够以尽量少的改造实现将国密算法SM2增加至Golang标准库,使得Fabric平台能够对国密算法SM2进行调用。
由于通过上述1)、2)和3)三个步骤在Golang标准库中实现了国密算法SM2、SM3和SM4,国密算法SM2的证书在对象上满足ECDSA证书的全部方法,使得标准库TLS底层可以直接识别,不需要对标准库TLS进行修改,很大程度上减少了工作量。
第二、对Fabric平台项目的扩展包括:
1)对密码服务模块BCCSP模块的扩展,主要为增加预先设置的配置项。
具体的,BCCSP模块包含的配置项有SHAx系列摘要算法配置项,AES对称加密算法配置项,ECDSA-P256/P384/P224/P521的配置项,分别默认使用SHA256摘要算法、AES128加密算法和P256曲线。本申请在此基础上为了适配国密算法需新增加预先设置的配置项,包括SM3摘要算法配置项,ECDSA-SM2-P256签名算法配置项和SM4对称加密算法配置项,并将其均设置为默认值,取代之前的默认值。值得注意的是,需要对软件方式,硬件方式,插件方式皆做此修改。
2)对Fabric平台项目的msp,order,peer,common,core等模块以及cryptogen,discovery工具模块的扩展,具体的,在各个模块中增加预先设置的配置项,包括SM3摘要算法配置项和ECDSA-SM2-P256配置项,由于证书的处理代码使用了经过上述扩展后的GoLang标准库,所以可以自动识别国密算法SM2证书,因此不需要修改证书的处理代码。
3)对Fabric平台项目的Fabric-CA工程和Fabric-sdk-go工程中的BCCSP模块进行上述1)中的扩展。
本申请将国密算法引入Fabric平台的方案采用在GoLang标准库中实现国密算法的思想,并采用在Fabric平台项目中增加配置项的方式,改动相对集中且代码改动量较少,易于维护且对后续升级影响较少。
方法实施例二
基于上述将国密算法引入目标平台的过程介绍,在完成国密算法的引入后,本申请实施例还提供了一种国密算法的调用方法,参考图3,为本申请实施例提供的一种国密算法的调用方法流程图。其中,目标平台中预先设置有包括第一接口与SM3实例的对应关系和第二接口与SM4实例的对应关系的配置项,所述方法包括:
S301:当所述目标平台存在摘要算法的调用需求时,调用所述目标平台中的所述第一接口,从所述配置项中获取与所述第一接口具有对应关系的SM3实例,并将携带所述SM3实例的调用参数发送至语言标准库,实现对所述语言标准库中与所述SM3实例对应的国密算法SM3的调用;其中,所述第一接口为所述目标平台中摘要算法调用的接口;
S302:当所述目标平台存在对称加密算法的调用需求时,调用所述目标平台中的所述第二接口,从所述配置项中获取与所述第二接口具有对应关系的SM4实例,并将携带所述SM4实例的调用参数发送至所述语言标准库,实现对所述语言标准库中与所述SM4实例对应的国密算法SM4的调用;其中,所述第二接口为所述目标平台中对称加密算法调用的接口。
另外,在将国密算法SM2引入目标平台后,所述配置项中还包括第三接口与SM2-P256曲线实例的对应关系,所述方法还包括:
S303:当所述目标平台存在签名算法的调用需求时,调用所述目标平台中的所述第三接口,并将携带ECDSA算法标识的调用参数发送至所述语言标准库,实现对ECDSA签名算法的调用;在对所述ECDSA签名算法进行调用的过程中,判断所述调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,如果是,则对所述语言标准库中的国密算法SM2进行调用。
为了便于理解本申请提供的技术方案,下面以将国密算法引入到Fabric平台后,国密算法的调用过程为例进行具体介绍。
基于上述将国密算法引入到Fabric平台的过程介绍,在完成国密算法的引入后,本申请实施例提供了一种基于Fabric平台的国密算法调用方法,参考图4,为本申请实施例提供的一种基于Fabric平台的国密算法调用方法的流程图,目标平台中预先设置有包括第一接口与SM3实例的对应关系、第二接口与SM4实例的对应关系和第三接口与SM2-P256曲线实例的对应关系的配置项,该方法包括:
S401:当Fabric平台存在摘要算法的调用需求时,调用所述Fabric平台中的第一接口,从所述配置项中获取与所述第一接口具有对应关系的SM3实例,并将携带所述SM3实例的调用参数发送至GoLang标准库,实现对所述GoLang标准库中与所述SM3实例对应的国密算法SM3的调用;其中,所述第一接口为所述Fabric平台中SHAx系列摘要算法调用的接口。
S402:当所述Fabric平台存在对称加密算法的调用需求时,调用所述Fabric平台中的第二接口,从所述配置项中获取与所述第二接口具有对应关系的SM4实例,并将携带所述SM4实例的调用参数发送至所述GoLang标准库,实现对所述GoLang标准库中与所述SM4实例对应的国密算法SM4的调用;其中,所述第二接口为所述目标平台中AES对称加密算法调用的接口。
S403:当所述Fabric平台存在摘要算法的调用需求时,调用所述Fabric平台中的第三接口,并将携带ECDSA算法标识的调用参数发送至所述GoLang标准库,实现对ECDSA签名算法的调用;在对所述ECDSA签名算法进行调用的过程中,判断所述调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,如果是,则对所述GoLang标准库中的国密算法SM2进行调用。
本申请实施例中,Fabric平台中包括预先设置的配置项,在调用任一接口时,查询预先设置的配置项中与该接口对应的实例,并根据该实例从GoLang标准库中调用相应的国密算法,完成对各个国密算法的调用。
值得注意的是,上述三个步骤的执行顺序不做限定。
本申请实施例中,用于调用国密算法SM3的第一接口为Fabric平台中原有SHAx系列摘要算法的调用接口,用于调用国密算法SM4的第二接口为Fabric平台中原有AES对称加密算法的调用接口,用于调用国密算法SM2的第三接口为Fabric平台中原有ECDSA签名算法的调用接口。由于各个国密算法继承的接口均为原有的算法接口,因此,能够保证将国密算法引入至Fabric平台尽量小的改动。
本申请实施例中,预先在GoLang标准库中实现国密算法SM2、SM3和SM4,具体的实现过程不做限定,但是需要保证国密算法SM3继承第一接口,且能够通过SM3实例被调用,同时,国密算法SM4继承第二接口,且能够通过SM4实例被调用,同时,国密算法SM2继承第三接口,且能够通过SM2实例被调用。
一种优选的实施方式中,为了保证尽量小的改动,国密算法SM2作为ECDSA签名算法中区别于现有的4条曲线的第五条曲线,即SM2-P256曲线的形式实现,同时SM2实例为ECDSA签名算法中的预设曲线实例。具体的实现对国密算法SM2的具体调用过程可以包括,当调用流程进入ECDSA签名算法入口时,首先判断调用参数中携带的曲线标识ID,若曲线标识ID为新增加的SM2-P256曲线实例,则调用国密算法SM2的标准算法的签名逻辑,若曲线标识ID为原本的曲线实例,则调用ECDSA原有的签名逻辑。
本申请实施例提供的基于Fabric平台的国密算法调用方法中,通过调用原有的接口,并依据预先设置的配置项中与该接口对应的实例,实现对各个国密算法的调用。本申请实施例不仅能实现基于Fabric平台的国密算法调用方法,同时由于各个国密算法在GoLang标准库中实现且继承原有的接口,使得本申请能够保证将国密算法引入Fabric平台的方案对原有平台的影响尽量小。
装置实施例
基于上述描述内容,本申请实施例还提供了一种国密算法的引入装置,参考图5,为本申请实施例提供的一种国密算法的引入装置的结构示意图,所述装置包括:
第一新增模块501,用于在语言标准库中新增SM3实例和SM4实例,并实现国密算法SM3和国密算法SM4;其中,所述SM3实例和所述SM4实例分别用于调用所述国密算法SM3和所述国密算法SM4;所述国密算法SM3继承目标平台中的摘要算法调用的第一接口,所述国密算法SM4继承所述目标平台中的对称加密算法调用的第二接口;
第一设置模块502,用于在所述目标平台中将所述第一接口与所述SM3实例的对应关系和所述第二接口与所述SM4实例的对应关系预先设置为配置项,以便所述目标平台在所述第一接口或所述第二接口被调用时,向所述语言标准库发送携带所述SM3实例或所述SM4实例的调用参数。
另外,所述装置还包括:
第二新增模块503,用于在所述语言标准库中新增SM2-P256曲线实例,并实现国密算法SM2;其中,所述SM2-P256曲线实例用于调用所述国密算法SM2;所述国密算法SM2继承所述目标平台中的签名算法调用的第三接口,且作为所述签名算法的预设曲线实现;
第二设置模块504,用于在所述目标平台中将所述第三接口与所述SM2-P256曲线实例的对应关系预先设置为配置项,以便所述目标平台在所述第三接口被调用时,向所述语言标准库发送携带所述SM2-P256曲线实例的调用参数。
一种可选的实现方式中,所述目标平台中的签名算法为ECDSA签名算法,所述装置还包括:
第一逻辑增强模块,用于在所述语言标准库中对所述ECDSA签名算法中的签名算法和验签算法分别进行逻辑增强,以实现在所述ECDSA签名算法中的签名算法或验签算法被调用时,判断调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,并在所述曲线标识为所述SM2-P256曲线实例时实现对所述国密算法SM2中的签名算法或验签算法的调用。
一种可选的实现方式中,所述目标平台中的签名算法为ECDSA签名算法,所述装置还包括:
第二逻辑增强模块,用于在所述语言标准库中对所述ECDSA签名算法中的ECDSA公钥体系的证书进行逻辑增强,以实现在所述ECDSA签名算法中的ECDSA公钥体系的证书生成算法或证书解读算法被调用时,判断调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,并在所述曲线标识为所述SM2-P256曲线实例时实现对所述国密算法SM2中的ECDSA公钥体系的证书生成算法或证书解读算法的调用。
本申请实施例提供的国密算法引入装置,能够实现将国密算法引入目标平台,并且保证将国密算法引入目标平台的方案对原有平台的影响尽量小。
基于上述国密算法的引入装置,本申请实施例还提供了一种国密算法的调用装置,参考图6,为本申请实施例提供的一种国密算法的调用装置的结构示意图,其中,目标平台中预先设置有包括第一接口与SM3实例的对应关系和第二接口与SM4实例的对应关系的配置项,所述装置包括:
第一调用模块601,用于当所述目标平台存在摘要算法的调用需求时,调用所述目标平台中的所述第一接口,从所述配置项中获取与所述第一接口具有对应关系的SM3实例,并将携带所述SM3实例的调用参数发送至语言标准库,实现对所述语言标准库中与所述SM3实例对应的国密算法SM3的调用;其中,所述第一接口为所述目标平台中摘要算法调用的接口;
第二调用模块602,用于当所述目标平台存在对称加密算法的调用需求时,调用所述目标平台中的所述第二接口,从所述配置项中获取与所述第二接口具有对应关系的SM4实例,并将携带所述SM4实例的调用参数发送至所述语言标准库,实现对所述语言标准库中与所述SM4实例对应的国密算法SM4的调用;其中,所述第二接口为所述目标平台中对称加密算法调用的接口。
所述配置项中还包括第三接口与SM2-P256曲线实例的对应关系,所述装置还包括:
第三调用模块603,用于当所述目标平台存在签名算法的调用需求时,调用所述目标平台中的所述第三接口,并将携带ECDSA算法标识的调用参数发送至所述语言标准库,实现对ECDSA签名算法的调用;
判断模块604,用于在对所述ECDSA签名算法进行调用的过程中,判断所述调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,如果是,则对所述语言标准库中的国密算法SM2进行调用。
本申请实施例提供的国密算法调用装置中,通过调用原有的接口,并依据预先设置的配置项中与该接口对应的实例,实现对各个国密算法的调用。本申请实施例不仅能实现国密算法调用,同时由于各个国密算法在语言标准库中实现且继承原有的接口,使得本申请能够保证将国密算法引入目标平台的方案对原有平台的影响尽量小。
另外,基于上述国密算法的引入到目标平台以及国密算法的调用过程介绍,在完成国密算法的引入后,本申请实施例还提供了一种Fabric平台,具体的,所述Fabric平台包括密码服务BCCSP模块;
所述BCCSP模块包括预先设置的配置项;所述预先设置的配置项中包括第一接口与SM3实例的对应关系和第二接口与SM4实例的对应关系;其中,所述第一接口为所述Fabric平台中SHAx系列摘要算法调用的接口;所述第二接口为所述Fabric平台中AES对称加密算法调用的接口;所述SM3实例用于调用国密算法SM3,所述SM4实例用于调用国密算法SM4,所述国密算法SM3和所述国密算法SM4预先在GoLang标准库中实现。
另外,所述预先设置的配置项中还包括第三接口与SM2-P256曲线实例的对应关系;其中,所述第三接口为所述Fabric平台中ECDSA签名算法调用的接口,所述SM2-P256曲线实例用于调用国密算法SM2,所述国密算法SM2预先在所述GoLang标准库中作为所述ECDSA签名算法的预设曲线实现。
其中,在BCCSP模块包含的配置项SHAx系列摘要算法配置项,AES对称加密算法配置项,ECDSA-P256/P384/P224/P521的配置项的基础上,本申请实施例中的BCCSP模块还包括上述预先设置的配置项,并将系统的默认值设置为SM3摘要算法配置项,ECDSA-SM2-P256签名算法配置项和SM4对称加密算法配置项,即默认使用SM3摘要算法、ECDSA-SM2-P256签名算法和SM4对称加密算法。
另外,所述Fabric平台的预设模块配置有国密算法SM3、国密算法SM4和\或国密算法SM2;所述国密算法SM3用于替换所述Fabric平台中的SHAx系列摘要算法,所述国密算法SM4用于替换所述Fabric平台中的AES对称加密算法,所述国密算法SM2用于替换所述Fabric平台中的ECDSA签名算法的P256曲线。
其中,Fabric平台的预设模块包括msp,order,peer,common,core等模块以及cryptogen,discovery工具模块。
另外,本申请实施例还提供了一种设备,参见图7所示,可以包括:
处理器701、存储器702、输入装置703和输出装置704。基于该设备中的处理器701的数量可以一个或多个,图7中以一个处理器为例。在本发明的一些实施例中,处理器701、存储器702、输入装置703和输出装置704可通过总线或其它方式连接,其中,图7中以通过总线连接为例。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行基于该设备的各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置703可用于接收输入的数字或字符信息,以及产生与该设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现上述方法中的各种功能。
另外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的方法。
可以理解的是,对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请实施例所提供的一种国密算法的引入方法及调用方法、及装置、设备、Fabric平台进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种国密算法的引入方法,其特征在于,所述方法包括:
在语言标准库中新增SM3实例和SM4实例,并实现国密算法SM3和国密算法SM4;其中,所述SM3实例和所述SM4实例分别用于调用所述国密算法SM3和所述国密算法SM4;所述国密算法SM3继承目标平台中的摘要算法调用的第一接口,所述国密算法SM4继承所述目标平台中的对称加密算法调用的第二接口;
在所述目标平台中将所述第一接口与所述SM3实例的对应关系和所述第二接口与所述SM4实例的对应关系预先设置为配置项,以便所述目标平台在所述第一接口或所述第二接口被调用时,向所述语言标准库发送携带所述SM3实例或所述SM4实例的调用参数。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述语言标准库中新增SM2-P256曲线实例,并实现国密算法SM2;其中,所述SM2-P256曲线实例用于调用所述国密算法SM2;所述国密算法SM2继承所述目标平台中的签名算法调用的第三接口,且作为所述签名算法的预设曲线实现;
在所述目标平台中将所述第三接口与所述SM2-P256曲线实例的对应关系预先设置为配置项,以便所述目标平台在所述第三接口被调用时,向所述语言标准库发送携带所述SM2-P256曲线实例的调用参数。
3.根据权利要求2所述的方法,其特征在于,所述目标平台中的签名算法为ECDSA签名算法,所述方法还包括:
在所述语言标准库中对所述ECDSA签名算法中的签名算法和验签算法分别进行逻辑增强,以实现在所述ECDSA签名算法中的签名算法或验签算法被调用时,判断调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,并在所述曲线标识为所述SM2-P256曲线实例时实现对所述国密算法SM2中的签名算法或验签算法的调用。
4.根据权利要求2或3所述的方法,其特征在于,所述目标平台中的签名算法为ECDSA签名算法,所述方法还包括:
在所述语言标准库中对所述ECDSA签名算法中的ECDSA公钥体系的证书进行逻辑增强,以实现在所述ECDSA签名算法中的ECDSA公钥体系的证书生成算法或证书解读算法被调用时,判断调用参数中携带的曲线标识是否为所述SM2-P256曲线实例,并在所述曲线标识为所述SM2-P256曲线实例时实现对所述国密算法SM2中的ECDSA公钥体系的证书生成算法或证书解读算法的调用。
5.一种国密算法的调用方法,其特征在于,目标平台中预先设置有包括第一接口与SM3实例的对应关系和第二接口与SM4实例的对应关系的配置项,所述方法包括:
当所述目标平台存在摘要算法的调用需求时,调用所述目标平台中的所述第一接口,从所述配置项中获取与所述第一接口具有对应关系的SM3实例,并将携带所述SM3实例的调用参数发送至语言标准库,实现对所述语言标准库中与所述SM3实例对应的国密算法SM3的调用;其中,所述第一接口为所述目标平台中摘要算法调用的接口;
当所述目标平台存在对称加密算法的调用需求时,调用所述目标平台中的所述第二接口,从所述配置项中获取与所述第二接口具有对应关系的SM4实例,并将携带所述SM4实例的调用参数发送至所述语言标准库,实现对所述语言标准库中与所述SM4实例对应的国密算法SM4的调用;其中,所述第二接口为所述目标平台中对称加密算法调用的接口。
6.一种国密算法的引入装置,其特征在于,所述装置包括:
第一新增模块,用于在语言标准库中新增SM3实例和SM4实例,并实现国密算法SM3和国密算法SM4;其中,所述SM3实例和所述SM4实例分别用于调用所述国密算法SM3和所述国密算法SM4;所述国密算法SM3继承目标平台中的摘要算法调用的第一接口,所述国密算法SM4继承所述目标平台中的对称加密算法调用的第二接口;
第一设置模块,用于在所述目标平台中将所述第一接口与所述SM3实例的对应关系和所述第二接口与所述SM4实例的对应关系预先设置为配置项,以便所述目标平台在所述第一接口或所述第二接口被调用时,向所述语言标准库发送携带所述SM3实例或所述SM4实例的调用参数。
7.一种国密算法的调用装置,其特征在于,目标平台中预先设置有包括第一接口与SM3实例的对应关系和第二接口与SM4实例的对应关系的配置项,所述装置包括:
第一调用模块,用于当所述目标平台存在摘要算法的调用需求时,调用所述目标平台中的所述第一接口,从所述配置项中获取与所述第一接口具有对应关系的SM3实例,并将携带所述SM3实例的调用参数发送至语言标准库,实现对所述语言标准库中与所述SM3实例对应的国密算法SM3的调用;其中,所述第一接口为所述目标平台中摘要算法调用的接口;
第二调用模块,用于当所述目标平台存在对称加密算法的调用需求时,调用所述目标平台中的所述第二接口,从所述配置项中获取与所述第二接口具有对应关系的SM4实例,并将携带所述SM4实例的调用参数发送至所述语言标准库,实现对所述语言标准库中与所述SM4实例对应的国密算法SM4的调用;其中,所述第二接口为所述目标平台中对称加密算法调用的接口。
8.一种Fabric平台,其特征在于,所述Fabric平台包括密码服务BCCSP模块,
所述BCCSP模块包括预先设置的配置项;所述预先设置的配置项中包括第一接口与SM3实例的对应关系和第二接口与SM4实例的对应关系;其中,所述第一接口为所述Fabric平台中SHAx系列摘要算法调用的接口;所述第二接口为所述Fabric平台中AES对称加密算法调用的接口;所述SM3实例用于调用国密算法SM3,所述SM4实例用于调用国密算法SM4,所述国密算法SM3和所述国密算法SM4预先在GoLang标准库中实现。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-5任一项所述的方法。
10.一种设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910329272.9A CN110048855B (zh) | 2019-04-23 | 2019-04-23 | 国密算法的引入方法及调用方法、及装置、设备、Fabric平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910329272.9A CN110048855B (zh) | 2019-04-23 | 2019-04-23 | 国密算法的引入方法及调用方法、及装置、设备、Fabric平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110048855A true CN110048855A (zh) | 2019-07-23 |
CN110048855B CN110048855B (zh) | 2022-03-15 |
Family
ID=67278699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910329272.9A Active CN110048855B (zh) | 2019-04-23 | 2019-04-23 | 国密算法的引入方法及调用方法、及装置、设备、Fabric平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110048855B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111371562A (zh) * | 2020-02-27 | 2020-07-03 | 华信咨询设计研究院有限公司 | 超级账本Fabric-SDK国密算法扩展改造方法 |
CN111767566A (zh) * | 2020-06-18 | 2020-10-13 | 安徽旅贲科技有限公司 | 一种CFL认证体制在Fabric系统中的部分替代集成方法与系统 |
CN112035859A (zh) * | 2020-08-28 | 2020-12-04 | 光大科技有限公司 | 密码服务的调用方法及装置、存储介质、电子装置 |
CN112737779A (zh) * | 2020-12-30 | 2021-04-30 | 深圳市宝能投资集团有限公司 | 一种密码机服务方法、装置、密码机及存储介质 |
CN112968778A (zh) * | 2021-02-04 | 2021-06-15 | 西安电子科技大学 | 区块链国密算法的转换方法、系统、计算机设备及应用 |
CN113254961A (zh) * | 2021-05-26 | 2021-08-13 | 杭州云象网络技术有限公司 | 基于go语言封装调用硬件国密密码接口的方法 |
CN113452521A (zh) * | 2021-06-28 | 2021-09-28 | 杭州云象网络技术有限公司 | 区块链国密适配方法、国密适配器、系统和装置 |
CN114205085A (zh) * | 2021-12-03 | 2022-03-18 | 东北大学 | 一种国密SM2的优化处理方法及超级账本fabric平台的改造方法 |
CN115001703A (zh) * | 2022-05-25 | 2022-09-02 | 深圳市证通电子股份有限公司 | 一种基于国密加密机的堡垒机安全提升方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080212558A1 (en) * | 2005-01-19 | 2008-09-04 | Gemplus | Communication Set Up Between Wireless Devices |
CN103138938A (zh) * | 2013-03-22 | 2013-06-05 | 中金金融认证中心有限公司 | 基于csp的sm2证书申请及应用方法 |
CN103701598A (zh) * | 2013-12-05 | 2014-04-02 | 武汉信安珞珈科技有限公司 | 一种基于sm2签名算法的复核签名方法和数字签名设备 |
CN105162808A (zh) * | 2015-10-19 | 2015-12-16 | 成都卫士通信息产业股份有限公司 | 一种基于国密算法的安全登录方法 |
CN108933651A (zh) * | 2017-05-27 | 2018-12-04 | 佛山芯珠微电子有限公司 | 基于soc的保密通信系统及保密通信的方法 |
CN109617699A (zh) * | 2019-01-16 | 2019-04-12 | 北京沃东天骏信息技术有限公司 | 一种密钥生成方法、区块链网络服务平台及存储介质 |
-
2019
- 2019-04-23 CN CN201910329272.9A patent/CN110048855B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080212558A1 (en) * | 2005-01-19 | 2008-09-04 | Gemplus | Communication Set Up Between Wireless Devices |
CN103138938A (zh) * | 2013-03-22 | 2013-06-05 | 中金金融认证中心有限公司 | 基于csp的sm2证书申请及应用方法 |
CN103701598A (zh) * | 2013-12-05 | 2014-04-02 | 武汉信安珞珈科技有限公司 | 一种基于sm2签名算法的复核签名方法和数字签名设备 |
CN105162808A (zh) * | 2015-10-19 | 2015-12-16 | 成都卫士通信息产业股份有限公司 | 一种基于国密算法的安全登录方法 |
CN108933651A (zh) * | 2017-05-27 | 2018-12-04 | 佛山芯珠微电子有限公司 | 基于soc的保密通信系统及保密通信的方法 |
CN109617699A (zh) * | 2019-01-16 | 2019-04-12 | 北京沃东天骏信息技术有限公司 | 一种密钥生成方法、区块链网络服务平台及存储介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111371562A (zh) * | 2020-02-27 | 2020-07-03 | 华信咨询设计研究院有限公司 | 超级账本Fabric-SDK国密算法扩展改造方法 |
CN111767566A (zh) * | 2020-06-18 | 2020-10-13 | 安徽旅贲科技有限公司 | 一种CFL认证体制在Fabric系统中的部分替代集成方法与系统 |
CN111767566B (zh) * | 2020-06-18 | 2023-07-18 | 安徽旅贲科技有限公司 | 一种CFL认证体制在Fabric系统中的部分替代集成方法与系统 |
CN112035859A (zh) * | 2020-08-28 | 2020-12-04 | 光大科技有限公司 | 密码服务的调用方法及装置、存储介质、电子装置 |
CN112737779A (zh) * | 2020-12-30 | 2021-04-30 | 深圳市宝能投资集团有限公司 | 一种密码机服务方法、装置、密码机及存储介质 |
CN112968778A (zh) * | 2021-02-04 | 2021-06-15 | 西安电子科技大学 | 区块链国密算法的转换方法、系统、计算机设备及应用 |
CN113254961A (zh) * | 2021-05-26 | 2021-08-13 | 杭州云象网络技术有限公司 | 基于go语言封装调用硬件国密密码接口的方法 |
CN113452521A (zh) * | 2021-06-28 | 2021-09-28 | 杭州云象网络技术有限公司 | 区块链国密适配方法、国密适配器、系统和装置 |
CN114205085A (zh) * | 2021-12-03 | 2022-03-18 | 东北大学 | 一种国密SM2的优化处理方法及超级账本fabric平台的改造方法 |
CN115001703A (zh) * | 2022-05-25 | 2022-09-02 | 深圳市证通电子股份有限公司 | 一种基于国密加密机的堡垒机安全提升方法 |
CN115001703B (zh) * | 2022-05-25 | 2023-09-01 | 深圳市证通电子股份有限公司 | 一种基于国密加密机的堡垒机安全提升方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110048855B (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110048855A (zh) | 国密算法的引入方法及调用方法、及装置、设备、Fabric平台 | |
CN107241360A (zh) | 一种数据安全共享交换方法和数据安全共享交换平台系统 | |
CN104580208B (zh) | 一种身份认证方法及装置 | |
CN111291060B (zh) | 一种管理区块链节点的方法、装置及计算机可读介质 | |
CN109617699A (zh) | 一种密钥生成方法、区块链网络服务平台及存储介质 | |
CN109819443A (zh) | 基于区块链的注册认证方法、装置及系统 | |
CN108769230B (zh) | 交易数据存储方法、装置、服务器及存储介质 | |
WO2019033394A1 (zh) | 区块链系统及其权限管理方法 | |
WO2022166637A1 (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
EP3973407A1 (en) | Methods and apparatus for implementing state proofs and ledger identifiers in a distributed database | |
CN106506182B (zh) | 一种配置ptn业务的方法及系统 | |
CN110599175A (zh) | 一种区块处理方法及相关设备 | |
CN112231755A (zh) | 一种基于区块链的数据授权方法、装置及系统 | |
CN112862487A (zh) | 一种数字证书认证方法、设备及存储介质 | |
CN116308776A (zh) | 基于区块链的交易监管方法、装置、电子设备和存储介质 | |
CN108833133A (zh) | 基于云计算网络的网络配置管理方法、装置和存储介质 | |
CN115964755B (zh) | 数据授权及验证方法、装置、设备和存储介质 | |
CN113596168A (zh) | 基于区块链联盟链的验证方法及装置 | |
WO2023082903A1 (zh) | 一种区块链中恶意节点的检测方法及区块链 | |
CN107122446A (zh) | 一种银行多系统间用户手机号码的同步控制方法及系统 | |
CN104901799B (zh) | 一种实现sdn证书资源配置的方法及装置 | |
CN112926981B (zh) | 用于区块链的交易信息处理方法、装置、介质及电子设备 | |
TWI772721B (zh) | 運用區塊鏈管理網路設備之系統及方法 | |
CN114677138A (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
CN112948803A (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 |