一种元数据在fabric区块链证书中应用的方法及其系统与流程

文档序号:31729089发布日期:2022-10-05 01:24阅读:32来源:国知局
一种元数据在fabric区块链证书中应用的方法及其系统与流程

1.本发明涉及区块链技术领域,特别涉及一种元数据在fabric区块链证书中应用的方法及其系统。


背景技术:

2.区块链技术被运用在越来越多的领域中,且能够获取理想的效果。特别是在一些具有安全性、保密性、公正性要求的特定场景,如投标、商业谈判、竞拍场景等,由于区块链特有的不可篡改、公开透明、可以追溯的特性,可以为上述特定场景提供所需的坚实的“信任”基础,创造可靠的“合作”机制。
3.fabric是一个区块链框架,一个适合跨行业开发的联盟链(consortium blockchain)平台。它引入了区块链的数据存储结构,加入了身份验证及权限控制等保护机制(通过证书实现的),实现了去中心化的应用开发和服务部署功能。fabric和比特币等区块链项目最大的不同就是,fabric是联盟链不是公链,它是通过证书来验证身份权限的,所以证书在fabric体系中有着十分重要的作用。
4.在现有技术中证书仅能用来验证身份权限,在注册局用户访问区块链服务首次进行注册的时候,必须要绑定自己的证书和tld的关系,而且今后进行数据查询,也必须先查询证书和他所属的tld之间的绑定关系,然后再进行数据的查询,这样查询效率就非常慢。


技术实现要素:

5.本技术提供一种元数据在fabric区块链证书中应用的方法及其系统,以解决现有技术中ca证书与tld必须要绑定,而导致今后查询数据时,必须先查询证书和他所属的tld之间的绑定关系,然后再进行数据的查询的问题。
6.第一方面,本技术提供一种元数据在fabric区块链证书中应用的方法,所述方法包括:
7.用户节点向ca证书服务器发送证书请求,所述证书请求包括元数据,所述元数据包括域名;
8.所述ca证书服务器根据所述证书请求向所述用户节点发送ca证书,所述ca证书与用户节点需求的fabric区块链对应,所述ca证书包含所述元数据;
9.所述用户节点向服务节点发送fabric区块链访问请求,所述访问请求包括所述ca证书及需求的数据信息;
10.所述服务节点根据所述访问请求中的所述ca证书验证所述用户节点身份;
11.若验证成功,所述服务节点调用链码提取出所述ca证书中的所述元数据;
12.所述服务节点根据所述元数据确定所述用户节点需求的fabric区块链;
13.所述服务节点根据所述元数据中的所述域名在所述fabric区块链中获取所述用户节点需求的数据并发送给所述用户节点。
14.进一步的,所述证书请求还包括用户节点信息,所述ca证书服务器包括ca证书服
务器密钥。
15.进一步的,所述ca证书服务器根据所述证书请求向所述用户节点发送ca证书包括:
16.所述ca证书服务器根据所述ca证书服务器密钥和所述用户节点信息生成所述ca证书并发送给所述用户节点。
17.进一步的,所述元数据包括第一元数据和第二元数据,所述生成ca证书的步骤包括:
18.获取所述用户节点信息和所述元数据,根据所述ca证书服务器密钥和所述用户节点信息得到第一加密信息,并将所述第一元数据与第一加密信息合并,得到注册证书;
19.将所述第二元数据封装进所述注册证书,得到ca证书。
20.进一步的所述第一元数据为参数
‑‑
id.attrs,所述第二元数据为参数
‑‑
enrollment.attrs;
21.所述第一元数据和所述第二元数据的属性相同;
22.所述属性为域名tld。
23.进一步的,所述证书请求为采用用户节点公钥加密的加密信息,所述证书请求还包括第一用户公钥;
24.所述生成所述ca证书的步骤之前,所述方法还包括:
25.所述ca证书服务器根据所述用户节点公钥对应的私钥对所述证书请求进行第一解密处理,得到证书请求明文;
26.所述发送所述ca证书的步骤之前,所述方法还包括:ca证书服务器采用所述第一用户公钥对所述ca证书加密,得到用于发送的加密ca证书。
27.进一步的,所述服务节点根据所述访问请求中的所述ca证书验证所述用户节点身份之前,所述方法还包括:
28.所述服务节点采用所述第一用户公钥对应的私钥对所述加密ca证书解密,得到ca证书明文。
29.进一步的,所述访问请求中包括用户节点生成的第二用户公钥,所述服务节点将用户节点需求的数据发送给所述用户节点之前,所述方法还包括:
30.所述服务节点对采用所述第二用户公钥对所述用户节点需求的数据进行加密,得到用于发送的加密数据。
31.进一步的,所述用户节点获取到来自所述服务节点发送的加密数据后,所述方法还包括:
32.所述用户节点根据第二用户公钥对应的私钥对加密数据解密,得到用户节点需求的数据。
33.第二方面,本技术提供一种元数据在fabric区块链证书中应用的系统,所述系统包括:用户节点、ca证书服务器、服务节点和fabric区块链;
34.所述ca证书服务器被配置为根据证书请求生成ca证书并发送所述ca证书到用户节点,所述ca证书包括元数据,所述元数据包括域名;
35.所述用户节点被配置为发送所述证书请求到所述ca证书服务器,并将所述ca证书服务器反馈的ca证书发送到所述服务节点,所述证书请求包括所述元数据;
36.所述服务节点被配置为:
37.根据所述ca证书验证所述用户节点身份;
38.若验证成功,调用链码提取出所述ca证书中的所述元数据;
39.根据所述元数据确定所述用户节点需求的fabric区块链;
40.根据所述元数据中的所述域名在所述fabric区块链中获取所述用户节点需求的数据并发送给所述用户节点;
41.所述fabric区块链被配置为存储所述用户节点需求的数据。
42.本技术提供一种元数据在fabric区块链证书中应用的方法及其系统,所述方法包括所述用户节点向所述ca证书服务器发送所述证书请求,所述ca证书服务器根据所述证书请求生成ca证书,并在所述ca证书中添加元数据,所述用户节点向所述服务节点发送访问请求,所述服务节点根据所述访问请求验证所述用户节点的身份,若验证成功,所述服务节点调用所述链码提取所述ca证书中的元数据,并根据所述元数据确定所述用户节点需求的fabric区块链,所述服务节点根据所述域名获取所述用户节点需求的数据并发送给所述用户节点。本技术利用以上方法和系统,省去了用户节点访问fabric区块链时必须要查询ca证书和域名tld绑定关系的步骤,极大的增加了查询数据的效率。
附图说明
43.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1为本实施例一种元数据在fabric区块链证书中应用的方法的示意流程图;
45.图2为本实施例一种元数据在fabric区块链证书中应用的方法的证书请求解密、ca证书加密和ca证书获取流程图;
46.图3为本实施例一种元数据在fabric区块链证书中应用的方法的ca证书解密流程图;
47.图4为本实施例一种元数据在fabric区块链证书中应用的方法的所需数据解密流程图;
48.图5为本实施例一种元数据在fabric区块链证书中应用的系统的具体示意流程图。
具体实施方式
49.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.图1为本实施例一种元数据在fabric区块链证书中应用的方法的示意流程图。
51.本技术实施例一,由图1可知,本技术提供一种元数据在fabric区块链证书中应用的方法,所述方法包括以下步骤:
52.s100,用户节点向ca证书服务器发送证书请求,所述证书请求包括元数据,所述元
数据包括域名;
53.具体的,在本实施例中,为了省去在查询数据的过程中,必须要查询ca证书和域名tld绑定关系的步骤,在ca证书中直接添加与域名tld相关的元数据,以此来减少上述的步骤。想要将所述元数据添加到所述ca证书中,要先将包含所述元数据的证书请求发送给所述ca证书服务器,所述元数据中包括所述域名;需要说明的是,所述ca证书服务器是已经搭建好的,用户节点可以根据不同的需求向所述ca证书服务器发送不同的证书请求,以获取可以满足不同区块链验证身份的证书。
54.s200,所述ca证书服务器根据所述证书请求向所述用户节点发送ca证书,所述ca证书与用户节点需求的fabric区块链对应,所述ca证书包含所述元数据;
55.具体的,在本实施例中,所述ca证书是与所述fabric区块链对应的,也就是说,本技术所述的ca证书是只针对所述fabric区块链验证身份的证书;所述ca证书中包括所述元数据,从而解决在数据查询的过程中,调用查询步骤过多的问题。
56.其中所述fabric区块链是核心区块链框架。而所述fabric区块链不是公链,而是一种联盟链。在区块链中,共识是区块链的基础,与公有链不同,联盟链的共识要求所有加入账本的事务是确定的、最终的,也就是不可以有分叉,区块与区块间的顺序是一定的,只存在唯一条链。在fabric区块链中,这个客观需求正是由排序实现的,所有的事务将被提交给orderer节点获得确定的顺序,并最终打包成block进入帐本。
57.s300,所述用户节点向服务节点发送fabric区块链访问请求,所述访问请求包括所述ca证书及需求的数据信息;
58.s400,所述服务节点根据所述访问请求中的所述ca证书验证所述用户节点身份;
59.具体的,在本实施例中,所述ca证书是一种数字证书,其中验证所述用户节点身份的原理为:数字证书在用户公钥后附加了用户信息及ca的签名。公钥是密钥对的一部分,另一部分是私钥。公钥公之于众,谁都可以使用。私钥只有自己知道。由公钥加密的信息只能由与之相对应的私钥解密。为确保只有某个人才能阅读自己的信件,发送者要用收件人的公钥加密信件;收件人便可用自己的私钥解密信件。同样,为证实发件人的身份,发送者要用自己的私钥对信件进行签名;收件人可使用发送者的公钥对签名进行验证,以确认发送者的身份。
60.s500,若验证成功,所述服务节点调用链码提取出所述ca证书中的所述元数据;
61.具体的,在本实施例中,若验证所述用户节点身份成功,所述服务节点调用链码进行提取所述ca证书中的所述元数据,其中链码为智能合约,其中所述智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
62.s600,所述服务节点根据所述元数据确定所述用户节点需求的fabric区块链;
63.s700-s800,所述服务节点根据所述元数据中的所述域名在所述fabric区块链中获取所述用户节点需求的数据并发送给所述用户节点。
64.具体的,在本实施例中,为了便于理解本技术所述方法的作用效果,做出以下比喻来描述其效果,可将现有技术比作在搜索引擎中搜索,在现有技术中如要搜索“我的区块链”,“我的”与“区块链”这两个因素都是必不可少的,必须要通过对“我的”和“区块链”绑定在一起进行搜索才能得到想要的“我的区块链”,但本技术则仅需搜索“区块链”便直接可以
获得“我的区块链”,这可以极大程度的减小得到查询结果之前的步骤。
65.图2为本实施例一种元数据在fabric区块链证书中应用的方法的证书请求解密、ca证书加密和ca证书获取流程图。
66.本技术实施例二,由图2可知,本技术所述的方法还包括:
67.所述证书请求还包括用户节点信息,所述ca证书服务器包括ca证书服务器密钥。
68.具体的,在本实施例中,考虑到信息在传递的过程中可能会出现信息被拦截的情况,因此对一些步骤进行加密处理,而ca证书服务器密钥则是加密处理所需的。
69.优选的,所述ca证书服务器根据所述证书请求向所述用户节点发送ca证书包括:
70.所述ca证书服务器根据所述ca证书服务器密钥和所述用户节点信息生成所述ca证书并发送给所述用户节点。
71.优选的,所述元数据包括第一元数据和第二元数据,所述生成ca证书的步骤包括:
72.s202,获取所述用户节点信息和所述元数据,根据所述ca证书服务器密钥和所述用户节点信息得到第一加密信息,并将所述第一元数据与第一加密信息合并,得到注册证书;
73.s203,将所述第二元数据封装进所述注册证书,得到ca证书。
74.具体的,在本实施例中,对所述元数据添加进所述ca证书进行了进一步的设计,首先先将所述ca证书服务器密钥和所述用户节点信息进行处理得到第一加密信息,再将所述元数据中的第一元数据与所述第一加密信息合并到一起,合并之后再将所述第二元数据与所述注册证书封装在一起则得到所述ca证书。
75.优选的,所述第一元数据为参数
‑‑
id.attrs,所述第二元数据为参数
‑‑
enrollment.attrs;
76.所述第一元数据和所述第二元数据的属性相同;
77.所述属性为域名tld。
78.具体的,在本实施例中,所述第一元数据为参数
‑‑
id.attrs,所述第二元数据为参数
‑‑
enrollment.attrs,其中需要注意的是,本技术所述的所述一元数据和所述第二元数据的属性必须要相同,如若所述一元数据和所述第二元数据的属性不相同则会出现报错而无法生成ca证书的问题;其中,所述域名tld为顶级域名top level domain,如.com、.org或.net等。
79.图3为本实施例一种元数据在fabric区块链证书中应用的方法的ca证书解密流程图。
80.本技术实施例三,由图2、3可知本技术所述方法包括:
81.所述证书请求为采用用户节点公钥加密的加密信息,所述证书请求还包括第一用户公钥;
82.所述生成所述ca证书的步骤之前,所述方法还包括:
83.s201,所述ca证书服务器根据所述用户节点公钥对应的私钥对所述证书请求进行第一解密处理,得到证书请求明文;
84.具体的,在本实施例中,为了防止在信息传递过程中信息被拦截导致信息泄露的问题,所述用户节点在发送所述证书请求之前先要对所述证书请求进行加密处理,从而防止以上信息泄露的问题;当所述ca证书服务器获取到所述证书请求时先要对其进行解密处
理,具体的解密方法,需要根据所述用户节点公钥对应的私钥对所述证书请求进行第一解密处理;其中所述公钥和所述私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),其中的一个向外界公开,称为公钥;另个自己保留,称为私钥。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
85.在第一解密处理成功之后,得到证书请求明文,所述ca证书服务器根据所述证书请求明文进行ca证书的生成。
86.s204,所述发送所述ca证书的步骤之前,所述方法还包括:ca证书服务器采用所述第一用户公钥对所述ca证书加密,得到用于发送的加密ca证书。
87.具体的,在本实施例中,在所述用户节点向所述ca服务器传递信息的时候需要防止信息的泄露,所述ca证书服务器向所述用户节点传递信息也同样是会存在信息泄露问题的,因此,在所述ca证书服务器向所述用户节发送所述ca证书之前也需要对所述ca证书进行加密,具体的加密方法,需要ca证书服务器根据所述第一用户公钥对所述ca证书进行加密处理,得到用于发送的加密ca证书,再将所述加密ca证书发送给所述用户节点;需要说明的是,在所述用户节点获取到所述ca证书服务器发送的加密ca证书之后,所述用户节点无需再对所述加密ca证书进行解密处理,可直接发送给所述服务节点,但如若有解密的必要也是可以根据所述用户节点公钥对应的私钥对所述加密ca证书进行解密处理。
88.s401,优选的,所述服务节点根据所述访问请求中的所述ca证书验证所述用户节点身份之前,所述方法还包括:
89.所述服务节点采用所述第一用户公钥对应的私钥对所述加密ca证书解密,得到ca证书明文。
90.具体的,在本实施例中,由于所述用户节点发送给所述服务节点的是所述加密ca证书,因此,在所述服务节点验证所述用户节点身份之前需要对所述加密ca证书进行解密处理,具体的解密方法,所述服务节点采用所述第一用户公钥对应的私钥对所述加密ca证书进行解密处理,得到ca证书,并在根据所述ca证书对所述用户节点的身份进行验证。
91.图4为本实施例一种元数据在fabric区块链证书中应用的方法的所需数据解密流程图。
92.本技术实施例四,由图4可知,本技术所述方法包括:
93.s801,所述访问请求中包括用户节点生成的第二用户公钥,所述服务节点将用户节点需求的数据发送给所述用户节点之前,所述方法还包括:
94.所述服务节点对采用所述第二用户公钥对所述用户节点需求的数据进行加密,得到用于发送的加密数据。
95.具体的,在本实施例中,所述服务节点在获取到所述用户节点需求的数据之后,考虑到此步骤同样会出现信息泄露的问题,并且此步骤是所述用户节点获取所述用户节点需求的数据关键的一步,因此对所述用户节点需求的数据进行加密也是十分重要的,具体的加密方法,所述用户节点根据所述第二用户公钥对所述用户节点需求的数据进行加密处理,得到加密数据,并将所述加密数据发送给所述用户节点。
96.s900,优选的,所述用户节点获取到来自所述服务节点发送的加密数据后,所述方法还包括:
97.所述用户节点根据第二用户公钥对应的私钥对加密数据解密,得到所述用户节点需求的数据。
98.具体的,在本实施例中,所述用户节点获取到所述用户节点需求的数据是本方案的最后一步,但由于所述服务节点对所述用户节点需求的数据进行加密,所述用户节点得到的是加密数据,因此需要对所述加密数据进行解密处理,具体的解密方法,所述用户节点根据所述第二用户公钥对应的私钥对加密数据解密处理,最终获得所述用户节点需求的数据。
99.图5为本实施例一种元数据在fabric区块链证书中应用的系统的具体示意流程图。
100.由图5可知,本技术还提供一种元数据在fabric区块链证书中应用的系统,所述系统包括:
101.用户节点、ca证书服务器、服务节点和fabric区块链;
102.所述ca证书服务器被配置为根据证书请求生成ca证书并发送所述ca证书到用户节点,所述ca证书包括元数据,所述元数据包括域名;
103.所述用户节点被配置为发送所述证书请求到所述ca证书服务器,并将所述ca证书服务器反馈的ca证书发送到所述服务节点,所述证书请求包括所述元数据;
104.所述服务节点被配置为:
105.根据所述ca证书验证所述用户节点身份;
106.若验证成功,调用链码提取出所述ca证书中的所述元数据;
107.根据所述元数据确定所述用户节点需求的fabric区块链;
108.根据所述元数据中的所述域名在所述fabric区块链中获取所述用户节点需求的数据并发送给所述用户节点;
109.所述fabric区块链被配置为存储所述用户节点需求的数据。
110.具体的,在本实施例中,所述用户节点向所述所述ca证书服务器发送所述证书请求,所述ca证书服务器根据所述证书请求生成ca证书,并在所述ca证书中添加元数据,所述用户节点向所述服务节点发送访问请求,所述服务节点根据所述访问请求验证所述用户节点的身份,若验证成功,所述服务节点调用所述链码提取所述ca证书中的元数据,并根据所述元数据确定所述用户节点需求的fabric区块链,所述服务节点根据所述域名获取所述用户节点需求的数据并发送给所述用户节点。
111.具体的,所述用户节点、所述ca证书服务器和所述服务节点还可以对相关的信息进行加密和解密处理,以满足所述方法中对相关信息的加密和解密。
112.所述一种元数据在fabric区块链证书中应用的方法不仅提供了省去了所述用户节点访问所述fabric区块链时必须要查询所述ca证书和所述域名tld绑定关系的步骤的方法,还对所述方法的具体步骤进行了加密和解密的设计,使其在传递信息的过程中更加安全。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1