CN113722696B - 基于区块链签发电子签名证书的方法、系统、装置和介质 - Google Patents
基于区块链签发电子签名证书的方法、系统、装置和介质 Download PDFInfo
- Publication number
- CN113722696B CN113722696B CN202110857652.7A CN202110857652A CN113722696B CN 113722696 B CN113722696 B CN 113722696B CN 202110857652 A CN202110857652 A CN 202110857652A CN 113722696 B CN113722696 B CN 113722696B
- Authority
- CN
- China
- Prior art keywords
- certificate
- blockchain
- intelligent contract
- key
- issuing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012795 verification Methods 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000008901 benefit Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 239000004744 fabric Substances 0.000 description 7
- 230000008520 organization Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
本申请涉及一种基于区块链签发电子签名证书的方法、系统、装置和介质,其中,该方法包括:区块链接收应用端发起的交易信息,通过区块链中智能合约的校验逻辑,对交易信息中的注册者身份的唯一名字和注册者的密码进行校验;在校验合法的情况下,调用智能合约的签发逻辑,通过密钥工具签发证书,其中,密钥工具包括区块链网络所提供的数字证书管理工具,或智能合约通过编程工具创建的密钥库;最后,通过智能合约将签发的证书转化为扩展名为.p12或.pfx的证书文件,并将证书进行编码加密,存储到区块链共享账本或隐私数据和/或区块链世界状态中。本申请通过区块链签发证书,保护了用户隐私和数据安全。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及基于区块链签发电子签名证书的方法、系统、装置和介质。
背景技术
随着云计算的兴起及普及,现今已普遍采用SaaS(Software-as-a-Service,又称软件即服务)为用户提供签名服务。当签署文件时,需要从数量有限的IP地址访问服务器,获取签署文档,以便负责签名的公司或组织可以跟踪已签名文档的数量和内容。而通过这种云上签名服务签署文件,实质上用户并不是签名者,是云上签名服务管理着用户的文档,并使用用户个人的私钥签名。在这种情况下,用户不是签名者,而被授权的第三方成为法定代表签字,并在其服务器上创建了密钥库,用户个人签名时采用的私有密钥,第三方可以访问,此时,用户的电子签名并非仅由签名人唯一控制。更为甚至,当用户的密钥被人复制,又或被人冒名使用时,完全无法追溯甚至无从得知此行为。
即使用户信任第三方来保护他/她的密钥免受黑客攻击,或者用户相信该第三方永远不会在用户不知情的情况下以他或她的名义签署文件,用户使用在线签名服务的凭据也总是有可能受到损害。
基于上述情况,用户需要一种非第三方签发电子签名证书的方式,以解决中心化系统掌管电子签名证书所带来的潜在风险。
在相关技术中,通过第三方中心化服务平台签发电子签名证书,用户无从得知第三方服务平台的安全保障手段是否到位,甚至完全无法辨识这些安全保障手段本身是否就“安全”,安全隐患很大。
目前针对相关技术中,对于第三方中心化服务平台签发电子签名证书时,带来的不可追溯性、安全性弱以及隐私保护度低的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种基于区块链签发电子签名证书的方法、系统、装置和介质,以至少解决相关技术中通过第三方中心化服务平台签发电子签名证书时,导致的不可追溯性、安全性弱以及隐私保护度低的问题。
第一方面,本申请实施例提供了一种基于区块链签发电子签名证书的方法,所述方法包括:
区块链接收应用端发起的交易信息,通过所述区块链中智能合约的校验逻辑,对所述交易信息中的注册者身份的唯一名字和注册者的密码进行校验;
在校验合法的情况下,调用所述智能合约的签发逻辑,通过密钥工具签发证书,其中,所述密钥工具包括区块链网络所提供的数字证书管理工具,或智能合约通过编程工具创建的密钥库;
通过所述智能合约将签发的所述证书转化为扩展名为.p12或.pfx的证书文件,并将所述证书进行编码加密,存储到所述区块链共享账本或隐私数据和/或区块链世界状态中。
在其中一些实施例中,在区块链接收应用端发起的交易信息之前,所述方法包括:
初始化根CA证书,其中,所述根CA证书包括电子认证服务机构签发的电子签名认证证书,或区块链自签名的证书。
在其中一些实施例中,在校验合法的情况下,调用所述智能合约的签发逻辑包括:
通过所述智能合约初始化所述数字证书管理工具对象,并设置所述数字证书管理工具客户端与服务端之间的连接参数;
通过所述智能合约获取所述数字证书管理工具的管理员用户信息,并对管理员用户进行注册初始化;
所述智能合约通过所述数字证书管理工具对象获取注册证书。
在其中一些实施例中,在获取注册证书之后,以及在通过所述智能合约将签发的所述证书转化为扩展名为.p12或.pfx的证书文件之前,所述方法包括:
通过所述数字证书管理工具服务端返回Enrollment对象,所述智能合约基于所述Enrollment对象构建X509Identity对象;
所述智能合约从所述X509Identity对象提出扩展名为.p12或.pfx的所述证书文件。
在其中一些实施例中,所述通过密钥工具签发证书还包括:
所述智能合约通过编程工具创建密钥库,所述密钥库包括签名人私钥和数字证书,其中所述数字证书包含签名人的信息以及签名人的公钥;
通过所述智能合约获取所述密钥库密码、注册人信息和待签发证书的密钥密码;
所述智能合约通过校验逻辑,对所述密钥库密码、注册人信息和待签发证书的密钥密码进行合法性校验;
在校验通过之后,所述智能合约设置证书创建命令并调用所述编程工具生成证书。
在其中一些实施例中,将所述证书进行编码加密,存储到所述区块链共享账本或隐私数据和/或区块链世界状态中包括:
通过所述智能合约获取所述证书,并对所述证书进行Base64编码加密,得到密文;
通过所述智能合约将所述密文存储到所述区块链的共享账本或隐私数据和/或世界状态数据库中。
在其中一些实施例中,在将所述证书存储到所述区块链共享账本或隐私数据和/或区块链世界状态中之后,所述方法包括:
通过所述智能合约重新获取用户的注册证书,或通过所述智能合约进行用户注销。
第二方面,本申请实施例提供了一种基于区块链签发电子签名证书的系统,所述系统包括:
校验模块,用于区块链接收应用端发起的交易信息,通过所述区块链中智能合约的校验逻辑,对所述交易信息中的注册者身份的唯一名字和注册者的密码进行校验;
签发模块,用于在校验合法的情况下,调用所述智能合约的签发逻辑,通过密钥工具签发证书,其中,所述密钥工具包括区块链网络所提供的数字证书管理工具,或智能合约通过编程工具创建的密钥库;
转化存储模块,用于通过所述智能合约将签发的所述证书转化为扩展名为.p12或.pfx的证书文件,并将所述证书进行编码加密,存储到所述区块链共享账本或隐私数据和/或区块链世界状态中。
第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的基于区块链签发电子签名证书的方法。
第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的基于区块链签发电子签名证书的方法。
相比于相关技术,本申请实施例提供了一种基于区块链签发电子签名证书的方法,区块链接收应用端发起的交易信息,通过区块链中智能合约的校验逻辑,对交易信息中的注册者身份的唯一名字和注册者的密码进行校验;在校验合法的情况下,调用智能合约的签发逻辑,通过密钥工具签发证书,其中,密钥工具包括区块链网络所提供的数字证书管理工具,或智能合约通过编程工具创建的密钥库;最后,通过智能合约将签发的证书转化为扩展名为.p12或.pfx的证书文件,并将证书进行编码加密,存储到区块链共享账本或隐私数据和/或区块链世界状态中。
本申请中电子认证服务提供者可以通过区块链智能合约签发电子签名认证证书,还可以通过区块链颁发自签名证书。由于智能合约是基于区块链的,合约内容公开透明、且不可篡改。代码一经发布即永久存在,即便升级迭代,之前版本仍然可以追溯。基于此,合约中用户隐私保护和数据安全将得到很好的保障。
此外,通过区块链智能合约签发证书,不仅可以最大限度的保障软证书自签发一刻起到交付至用户手中,全流程可信。且进一步为用户提供了不可篡改、不可隐匿、可审计的交易记录,充分保障了过程可控、结果可溯,满足了仅由签名人唯一控制的硬性需求。解决了通过第三方中心化服务平台签发电子签名证书时,导致的不可追溯性、安全性弱以及隐私保护度低的问题,保护了用户隐私和数据安全。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的基于区块链签发电子签名证书的方法的流程图;
图2是根据本申请实施例的Fabric CA组件的结构示意图;
图3是根据本申请实施例的Fabric CA签发证书的流程示意图;
图4是根据本申请实施例的基于区块链签发电子签名证书的系统的结构框图;
图5是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请实施例提供了一种基于区块链签发电子签名证书的方法,图1是根据本申请实施例的基于区块链签发电子签名证书的方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,区块链接收应用端发起的交易信息,通过区块链中智能合约的校验逻辑,对交易信息中的注册者身份的唯一名字和注册者的密码进行校验;
优选的,在区块链接收应用端发起的交易信息之前,初始化根CA证书,其中,根CA证书包括电子认证服务机构签发的电子签名认证证书,或区块链自签名的证书。具体地,自签名证书,是指用户通过智能合约或者其他应用程序自己创建的证书,用户同时是所有者和颁发者。目前,主流的公有链和联盟链本身就使用自签名对用户进行身份管理。比如,联盟链Hyperledger Fabric就是基于PKI体系,生成数字证书以标识用户的身份,每个身份都与成员管理服务提供商(Membership Service Provider,简称MSP)的编号进行关联,利用PKI体系给每个成员颁发数字证书,并结合所属的MSP进行身份认证和权限控制。由于根CA证书(Root Certificate)是自签名的证书,因此,用根CA证书的私钥签名生成的证书还可以签发新的证书,形成一个树型结构。中间CA证书(Intermediate Certificate)是由其他CA证书签发的,也可以利用自己的私钥签发新的证书。签发证书是一个信任背书的过程,从根CA证书到最终用户证书形成一个证书信任链(Chain of Trust)。此外,在PKI体系中,可以利用CRL(Certificate Revocation List)或者OCSP(Online Certificate StatusProtocol)来管理证书的有效性。如Hyperledger Fabric的根CA证书采用的便是自签名证书,只需将其替换成电子认证服务提供者签发的证书,其对应签发的新证书即是该电子认证服务机构签发的证书。
步骤S102,在校验合法的情况下,调用智能合约的签发逻辑,通过密钥工具签发证书,其中,密钥工具包括区块链网络所提供的数字证书管理工具,或智能合约通过编程工具创建的密钥库;
优选的,本实施例中,在校验合法的情况下,通过智能合约初始化数字证书管理工具对象,并设置数字证书管理工具客户端与服务端之间的连接参数,具体参数包括服务端所在网络地址,以及用来与服务端进行TLS连接的证书;接着,通过智能合约获取数字证书管理工具的管理员用户信息,并对管理员用户进行注册初始化。可选的,初始化管理员用户也可以在部署数字证书管理工具的时候;最后,智能合约通过该数字证书管理工具对象获取注册证书。
进一步地,在获取注册证书之后,本实施例通过数字证书管理工具服务端返回Enrollment对象,智能合约基于Enrollment对象构建X509Identity对象;然后,智能合约从X509Identity对象提出扩展名为.p12或.pfx的证书文件。
需要说明的是,上述签发证书采用的密钥工具是区块链网络所提供的数字证书管理工具,包括:Hyperledger Fabric网络中的Fabric CA服务,对此不做具体限定。可选的,本实施例中,签发证书的密钥工具还可以是:智能合约通过编程工具创建的密钥库,其中,通过密钥库签发证书的步骤如下:
S1,智能合约通过编程工具创建密钥库,密钥库包括签名人私钥和数字证书,其中数字证书包含签名人的信息以及签名人的公钥;
S2,通过智能合约获取密钥库密码、注册人信息和待签发证书的密钥密码;
S3,智能合约通过校验逻辑,对上述密钥库密码、注册人信息和待签发证书的密钥密码进行合法性校验;
S4,在校验通过之后,智能合约设置证书创建命令并调用编程工具生成证书。
具体地,本实施例中采用Java SDK中的keytool工具,智能合约采用Java编程并使用keytool工具创建密钥库,该密钥库将包含签名人的私钥和数字证书,其中,数字证书包含签名人的信息以及签名人的公钥。在创建得到密钥库之后,本实施例的智能合约获取密钥库密码、待签发证书的密钥密码,以及注册人信息,具体包括注册人姓名、单位和城市等信息;接着,智能合约智能合约通过校验逻辑,对上述的密钥库密码、注册人信息和待签发证书的密钥密码进行合法性校验;最后,在通过上述校验之后,智能合约对参数进行组装,创建证书的命令,设置证书创建命令并调用keytool工具生成证书。
此外,需要说明的是,本实施例中创建密钥工具的编程工具还包括OpenSSL、cryptogen等,对此不做具体限定。
可选的,由签名服务器签发证书后可以直接上区块链。签名服务器可以作为区块链的一个节点,或者直接调用区块链的SDK。签名服务器签发证书后,通过区块链传输给注册者,区块链保证了证书离开签名服务器后干净、可信。
步骤S103,通过智能合约将签发的证书转化为扩展名为.p12或.pfx的证书文件,并将证书进行编码加密,存储到区块链共享账本或隐私数据和/或区块链世界状态中。
优选的,本实施例通过智能合约获取待存储的证书,并对证书进行Base64编码加密,得到编码后的密文;接着,通过智能合约将密文存储到区块链的共享账本或隐私数据和/或世界状态数据库中;最后,区块链能输出得到之前交易的哈希值。可选的,上述智能合约获取的待存储的数字证书,不仅可以是由智能合约签发的证书,也还可以是由其他应用程序或签名服务器签发上传至区块链的证书,例如,应用端发起交易上传的证书。
本实施例将证书存储到区块链中,可进一步保障签名人对证书使用轨迹的追溯和审计。
通过上述步骤S101至步骤S103,本申请实施例通过区块链智能合约签发证书,不仅可以最大限度的保障软证书自签发一刻起到交付至用户手中,全流程可信。且进一步为用户提供了不可篡改、不可隐匿、可审计的交易记录,充分保障了过程可控、结果可溯,满足了仅由签名人唯一控制的硬性需求。解决了通过第三方中心化服务平台签发电子签名证书时,导致的不可追溯性、安全性弱以及隐私保护度低的问题,保护了用户隐私和数据安全。
具体地,以联盟链Hyperledger Fabric为例,采用Hyperledger Fabric官方提供的数字证书管理服务Fabric CA,对本申请实施例中基于区块链签发电子签名证书的方法进行进一步的说明解释;
图2是根据本申请实施例的Fabric CA组件的结构示意图,如图2所示,Fabric CA是超级账本(Hyperledger Fabric)的数字认证中心,其功能有:用户信息的注册、数字证书的发行、数字证书的延期与吊销。Fabric CA由服务端和客户端组件组成,图2表明了FabricCA的组件在整个超级账本架构中的作用,主要是通过智能合约实现客户端的服务。具体地,图2中的Fabric-CA Root Server表示根CA服务、Fabric-CA Intermediate Server表示中间CA服务、Fabric-CA client表示CA服务的客户端、Cluster of Fabric-CA Servers代表集群CA服务器。由图2结构可知,通过根CA创建中间CA,而Fabric CA客户端则用来注册和登录需要设置CA的身份。中间CA服务和CA客户端都部署在区块链的节点上,其中,中间CA可以采用服务器集群部署,以提高可靠性。需要说明的是,如果根CA发生泄漏,那么会导致整个信任域崩溃,因此,通过中间CA可以限制根CA的暴露。
图3是根据本申请实施例的Fabric CA签发证书的流程示意图,如图3所示,通过数字证书管理工具Fabric CA签发证书的具体步骤如下所示:
S301,应用端向区块链发起交易请求,其中,交易请求中的信息包含注册者身份的唯一名字(DN)以及注册者的密码等信息;
S302,智能合约响应交易请求,并通过智能合约中的校验逻辑校验参数的合法性;
S303,在前述参数校验合法的情况下,通过智能合约初始化Fabric CA客户端对象,并设置Fabric CA客户端与Fabric CA服务端之间的连接参数,具体参数包括Fabric CA服务端所在网络地址,以及用来与Fabric CA服务端进行TLS连接的证书;
S304,智能合约获取Fabric CA管理员用户信息,并在Fabric CA服务端启动的时候,对管理员用户进行注册初始化的。可选的,初始化管理员用户也可以在部署Fabric CA时候;
S305,智能合约调用Fabric CA服务端对象,Fabric CA服务通过登记用户名称和注册密码获取注册证书。其中,用户名称和注册密码分别是应用端交易请求中所包含的注册者身份的唯一名字(DN)以及注册者的密码;
S306,Fabric CA服务端返回Enrollment对象,智能合约基于Enrollment对象构建X509Identity对象,并从该对象中提出扩展名为.p12或.pfx的证书文件;
S307,最后,智能合约将交易成功的信息返回到应用端。
需要说明的是,本申请实施例不仅可以采用Hyperledger Fabric官方提供的数字证书管理服务Fabric CA进行证书签发,还可以采用其他电子认证服务提供者,对此不做具体限定。
在其中一些实施例中,在将证书存储到区块链共享账本或隐私数据和/或区块链世界状态中之后,还可以通过智能合约重新获取用户的注册证书,或通过智能合约进行用户注销。
具体地,通过智能合约重新获取用户的注册证书的步骤如下:
S1,应用端向所述区块链发起交易请求,交易请求包含用户身份的唯一名字(DN)以及用户的密码等信息;
S2,智能合约响应交易请求,并根据用户身份的唯一名字(DN)和密码获取Enrollment用户登记对象;
S3,智能合约通过用户登记对象获取用户对象,并初始化数字证书管理工具对象,例如,Fabric CA客户端对象;
S4,智能合约设置数字证书管理工具的连接参数,例如,Fabric CA客户端与Fabric CA服务端的连接参数,具体参数包括Fabric CA服务端所在网络地址,以及用来与Fabric CA服务端进行TLS连接的证书;
S5,智能合约通过Fabric CA客户端,将用户对象传入Fabric CA服务端的重新获取用户注册证书的方法中,智能合约调用该方法进行用户注册证书的重新获取;
S6,Fabric CA服务端返回Enrollment对象,智能合约基于Enrollment对象构建X509Identity对象,并从该对象提出扩展名为.p12或.pfx的证书文件,重新获取用户的注册证书。
具体地,通过智能合约进行用户注销的步骤如下:
S1,应用端向区块链发起交易请求,交易请求包含待注销用户身份的唯一名字(DN)、用户的密码以及注销原因等信息。可选的,交易请求也可以是待注销证书的AKI和证书序列号以及注销原因等信息;
S2,智能合约响应交易请求,初始化数字证书管理工具对象,例如,Fabric CA客户端对象;
S3,智能合约设置数字证书管理工具的连接参数,例如,Fabric CA客户端与Fabric CA服务端的连接参数,具体参数包括Fabric CA服务端所在网络地址,以及用来与Fabric CA服务端进行TLS连接的证书;
S4,智能合约通过Fabric CA客户端,将步骤S1中的注销参数传入Fabric CA服务端的用户注销方法中,智能合约调用该方法进行用户注销;
S5,智能合约完成注销操作。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种基于区块链签发电子签名证书的系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本申请实施例的基于区块链签发电子签名证书的系统的结构框图,如图4所示,该系统包括校验模块41、签发模块42和转化存储模块43:
校验模块41,用于区块链接收应用端发起的交易信息,通过区块链中智能合约的校验逻辑,对交易信息中的注册者身份的唯一名字和注册者的密码进行校验;签发模块42,用于在校验合法的情况下,调用智能合约的签发逻辑,通过密钥工具签发证书,其中,密钥工具包括区块链网络所提供的数字证书管理工具,或智能合约通过编程工具创建的密钥库;转化存储模块43,用于通过智能合约将签发的证书转化为扩展名为.p12或.pfx的证书文件,并将证书进行编码加密,存储到区块链共享账本或隐私数据和/或区块链世界状态中。
通过上述系统,本申请实施例通过区块链智能合约签发证书,不仅可以最大限度的保障软证书自签发一刻起到交付至用户手中,全流程可信。且进一步为用户提供了不可篡改、不可隐匿、可审计的交易记录,充分保障了过程可控、结果可溯,满足了仅由签名人唯一控制的硬性需求。解决了通过第三方中心化服务平台签发电子签名证书时,导致的不可追溯性、安全性弱以及隐私保护度低的问题,保护了用户隐私和数据安全。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
此外,需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
另外,结合上述实施例中的基于区块链签发电子签名证书的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种基于区块链签发电子签名证书的方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链签发电子签名证书的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图5是根据本申请实施例的电子设备的内部结构示意图,如图5所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图5所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种基于区块链签发电子签名证书的方法,数据库用于存储数据。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种基于区块链签发电子签名证书的方法,其特征在于,所述方法包括:
区块链接收应用端发起的交易信息,通过所述区块链中智能合约的校验逻辑,对所述交易信息中的注册者身份的唯一名字和注册者的密码进行校验;
在校验合法的情况下,调用所述智能合约的签发逻辑,通过密钥工具签发证书,其中,所述密钥工具包括区块链网络所提供的数字证书管理工具,或智能合约通过编程工具创建的密钥库;
通过所述智能合约将签发的所述证书转化为扩展名为.p12或.pfx的证书文件,并将所述证书进行编码加密,存储到所述区块链共享账本或隐私数据和/或区块链世界状态中包括:将所述证书进行编码加密,存储到所述区块链共享账本或隐私数据和/或区块链世界状态中包括:
通过所述智能合约获取所述证书,并对所述证书进行Base64编码加密,得到密文;
通过所述智能合约将所述密文存储到所述区块链的共享账本或隐私数据和/或世界状态数据库中。
2.根据权利要求1所述的方法,其特征在于,在区块链接收应用端发起的交易信息之前,所述方法包括:
初始化根CA证书,其中,所述根CA证书包括电子认证服务机构签发的电子签名认证证书,或区块链自签名的证书。
3.根据权利要求1所述的方法,其特征在于,在校验合法的情况下,调用所述智能合约的签发逻辑包括:
通过所述智能合约初始化所述数字证书管理工具对象,并设置所述数字证书管理工具客户端与服务端之间的连接参数;
通过所述智能合约获取所述数字证书管理工具的管理员用户信息,并对管理员用户进行注册初始化;
所述智能合约通过所述数字证书管理工具对象获取注册证书。
4.根据权利要求1至3任一项所述的方法,其特征在于,在获取注册证书之后,以及在通过所述智能合约将签发的所述证书转化为扩展名为.p12或.pfx的证书文件之前,所述方法包括:
通过所述数字证书管理工具服务端返回Enrollment对象,所述智能合约基于所述Enrollment对象构建X509Identity对象;
所述智能合约从所述X509Identity对象提出扩展名为.p12或.pfx的所述证书文件。
5.根据权利要求1所述的方法,其特征在于,所述通过密钥工具签发证书还包括:
所述智能合约通过编程工具创建密钥库,所述密钥库包括签名人私钥和数字证书,其中所述数字证书包含签名人的信息以及签名人的公钥;
通过所述智能合约获取所述密钥库密码、注册人信息和待签发证书的密钥密码;
所述智能合约通过校验逻辑,对所述密钥库密码、注册人信息和待签发证书的密钥密码进行合法性校验;
在校验通过之后,所述智能合约设置证书创建命令并调用所述编程工具生成证书。
6.根据权利要求1所述的方法,其特征在于,在将所述证书存储到所述区块链共享账本或隐私数据和/或区块链世界状态中之后,所述方法包括:
通过所述智能合约重新获取用户的注册证书,或通过所述智能合约进行用户注销。
7.一种基于区块链签发电子签名证书的系统,其特征在于,所述系统包括:
校验模块,用于区块链接收应用端发起的交易信息,通过所述区块链中智能合约的校验逻辑,对所述交易信息中的注册者身份的唯一名字和注册者的密码进行校验;
签发模块,用于在校验合法的情况下,调用所述智能合约的签发逻辑,通过密钥工具签发证书,其中,所述密钥工具包括区块链网络所提供的数字证书管理工具,或智能合约通过编程工具创建的密钥库;
转化存储模块,用于通过所述智能合约将签发的所述证书转化为扩展名为.p12或.pfx的证书文件,并将所述证书进行编码加密,存储到所述区块链共享账本或隐私数据和/或区块链世界状态中包括:将所述证书进行编码加密,存储到所述区块链共享账本或隐私数据和/或区块链世界状态中包括:
通过所述智能合约获取所述证书,并对所述证书进行Base64编码加密,得到密文;
通过所述智能合约将所述密文存储到所述区块链的共享账本或隐私数据和/或世界状态数据库中。
8.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至6中任一项所述的基于区块链签发电子签名证书的方法。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至6中任一项所述的基于区块链签发电子签名证书的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110857652.7A CN113722696B (zh) | 2021-07-28 | 2021-07-28 | 基于区块链签发电子签名证书的方法、系统、装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110857652.7A CN113722696B (zh) | 2021-07-28 | 2021-07-28 | 基于区块链签发电子签名证书的方法、系统、装置和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113722696A CN113722696A (zh) | 2021-11-30 |
CN113722696B true CN113722696B (zh) | 2024-02-06 |
Family
ID=78674144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110857652.7A Active CN113722696B (zh) | 2021-07-28 | 2021-07-28 | 基于区块链签发电子签名证书的方法、系统、装置和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722696B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338232A (zh) * | 2022-02-25 | 2022-04-12 | 中国人民解放军国防科技大学 | 边缘数据共享方法、装置和计算机设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768657A (zh) * | 2018-04-17 | 2018-11-06 | 深圳技术大学(筹) | 一种基于区块链平台的数字证书颁发系统及方法 |
CN109040139A (zh) * | 2018-10-12 | 2018-12-18 | 重庆邮电大学 | 一种基于区块链与智能合约的身份认证系统及方法 |
CN110135992A (zh) * | 2019-05-14 | 2019-08-16 | 北京智签科技有限公司 | 区块链网络Fabric-CA数字证书的获取方法和获取装置 |
CN111490873A (zh) * | 2020-03-25 | 2020-08-04 | 上海物融智能科技有限公司 | 基于区块链的证书信息处理方法及系统 |
CN111506590A (zh) * | 2020-04-13 | 2020-08-07 | 《中国学术期刊(光盘版)》电子杂志社有限公司 | 一种数字作品版权确权与交易可信记录管理方法 |
CN112182627A (zh) * | 2020-10-27 | 2021-01-05 | 杭州云链趣链数字科技有限公司 | 基于移动设备的区块链数字证书管理方法和系统 |
CN112685717A (zh) * | 2020-12-29 | 2021-04-20 | 山东钢铁集团日照有限公司 | 基于区块链的计量电子证书验证管理系统 |
CN112818368A (zh) * | 2021-02-09 | 2021-05-18 | 南京邮电大学 | 一种基于区块链智能合约的数字证书认证方法 |
CN112995136A (zh) * | 2021-02-03 | 2021-06-18 | 浙江泰科数联信息技术有限公司 | 一种基于联盟链的k-out-of-m匿名投票方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10924466B2 (en) * | 2017-07-28 | 2021-02-16 | SmartAxiom, Inc. | System and method for IOT security |
-
2021
- 2021-07-28 CN CN202110857652.7A patent/CN113722696B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768657A (zh) * | 2018-04-17 | 2018-11-06 | 深圳技术大学(筹) | 一种基于区块链平台的数字证书颁发系统及方法 |
CN109040139A (zh) * | 2018-10-12 | 2018-12-18 | 重庆邮电大学 | 一种基于区块链与智能合约的身份认证系统及方法 |
CN110135992A (zh) * | 2019-05-14 | 2019-08-16 | 北京智签科技有限公司 | 区块链网络Fabric-CA数字证书的获取方法和获取装置 |
CN111490873A (zh) * | 2020-03-25 | 2020-08-04 | 上海物融智能科技有限公司 | 基于区块链的证书信息处理方法及系统 |
CN111506590A (zh) * | 2020-04-13 | 2020-08-07 | 《中国学术期刊(光盘版)》电子杂志社有限公司 | 一种数字作品版权确权与交易可信记录管理方法 |
CN112182627A (zh) * | 2020-10-27 | 2021-01-05 | 杭州云链趣链数字科技有限公司 | 基于移动设备的区块链数字证书管理方法和系统 |
CN112685717A (zh) * | 2020-12-29 | 2021-04-20 | 山东钢铁集团日照有限公司 | 基于区块链的计量电子证书验证管理系统 |
CN112995136A (zh) * | 2021-02-03 | 2021-06-18 | 浙江泰科数联信息技术有限公司 | 一种基于联盟链的k-out-of-m匿名投票方法 |
CN112818368A (zh) * | 2021-02-09 | 2021-05-18 | 南京邮电大学 | 一种基于区块链智能合约的数字证书认证方法 |
Non-Patent Citations (2)
Title |
---|
基于SM9算法可证明安全的区块链隐私保护方案;杨亚涛 等;《软件学报》;第30卷(第06期);1692-1704 * |
浅谈区块链应用安全;李达 等;《中国信息安全》(第03期);51-54 * |
Also Published As
Publication number | Publication date |
---|---|
CN113722696A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11223614B2 (en) | Single sign on with multiple authentication factors | |
JP7121459B2 (ja) | ハード/ソフトトークン検証を介したブロックチェーン認証 | |
CN108768664B (zh) | 密钥管理方法、装置、系统、存储介质和计算机设备 | |
CN111316267B (zh) | 使用委托身份的认证 | |
US20140112470A1 (en) | Method and system for key generation, backup, and migration based on trusted computing | |
CN107493291B (zh) | 一种基于安全元件se的身份认证方法和装置 | |
US10880100B2 (en) | Apparatus and method for certificate enrollment | |
CN109450843B (zh) | 一种基于区块链的ssl证书管理方法及系统 | |
CN109728903B (zh) | 一种使用属性密码的区块链弱中心密码授权方法 | |
CN114008968A (zh) | 用于计算环境中的许可授权的系统、方法和存储介质 | |
US11811739B2 (en) | Web encryption for web messages and application programming interfaces | |
Abdelrazig Abubakar et al. | Blockchain-based identity and authentication scheme for MQTT protocol | |
CN113722696B (zh) | 基于区块链签发电子签名证书的方法、系统、装置和介质 | |
Durán et al. | An architecture for easy onboarding and key life-cycle management in blockchain applications | |
CN116707983A (zh) | 授权认证方法及装置、接入认证方法及装置、设备、介质 | |
WO2022212396A1 (en) | Systems and methods of protecting secrets in use with containerized applications | |
Barreto et al. | Secure storage of user credentials and attributes in federation of clouds | |
Ranjith et al. | Intelligence based authentication-authorization and auditing for secured data storage | |
CN115567314B (zh) | 一种基于硬件可信信任链的License安全代理方法和平台 | |
Abdulla et al. | Identify cloud security weakness related to authentication and identity management (IAM) using openstack keystone model | |
Tamrakar et al. | On rehoming the electronic id to TEEs | |
Krishna et al. | SSH-DAuth: secret sharing based decentralized OAuth using decentralized identifier | |
Danda et al. | SSH-DAuth: Secret Sharing based Decentralized OAuth using Decentralized Identifier | |
CN111641507A (zh) | 一种软件通信体系结构组件注册管理方法和装置 | |
CN117874806A (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 |