一种基于区块链的安全高效的教育资历见证方法

文档序号:31450092发布日期:2022-09-07 13:02阅读:81来源:国知局
一种基于区块链的安全高效的教育资历见证方法

1.本发明涉及教育区块链技术领域,具体涉及一种基于区块链的安全高效的教育资历见证方法。


背景技术:

2.目前传统的学生数据管理技术是由各个学校独自维护,存在严重的数据孤岛问题,数据流通和共享极为不便;同时,由于缺乏安全有效的访问控制,学生的隐私安全存在重大隐患;此外,传统的学生数据管理普遍缺乏加密技术的运用,学生的数据安全问题也日益显现。


技术实现要素:

3.本发明的目的在于一种基于区块链的安全高效的教育资历见证方法,旨在利用区块链技术的可追溯性、不可篡改性、透明性等特性,保护了学生信息的数据安全,同时对传统的区块链底层共识算法进行了效率改进,降低系统运行开销、提高系统效率。
4.为实现上述目的,本发明提供了一种基于区块链的安全高效的教育资历见证方法,包括下列步骤:
5.步骤1:学校收集学生的教育资历证明资料;
6.步骤2:学校将所述教育资历证明资料分块并分别上传到ipfs系统存储;
7.步骤3:使用ecc非对称加密算法进行加密;
8.步骤4:学校建立访问控制白名单;
9.步骤5:访问者发出申请,经过审核后可以访问学生的教育资历证明资料。
10.其中,学校将所述教育资历证明资料分块并分别上传到ipfs系统存储的过程,包括下列步骤:
11.学校根据自身需要将步骤1收集的数据分为若干份,为了便于描述把分好的数据用集合表示:
12.data={part1,part2,part3...partk}(k∈n
*
)
13.其中data是数据集合,part1代表第一份数据,part2代表第二份数据,k是数据份数;
14.将上一步分好的数据依次上传到ipfs系统,获得访问索引,取第i份数据上传,即上传数据parti(0《i≤k),得到访问索引add_parti(i∈n
*
,i≤k),用集合表示:
15.add_data=
16.{add_part1,add_part2,add_part3...add_partk}(k∈n
*
)。
17.其中,使用ecc非对称加密算法进行加密的过程,具体为使用ecc非对称加密算法对访问索引加密。
18.其中,访问者只有被添加到访问控制白名单中才具备访问相应学生的教育资历证明资料的资格。
19.其中,访问者访问学生的教育资历证明资料的过程会生成一条记录,所述记录会广播到区块链,并由区块链系统的矿工节点打包进区块链账本。
20.其中,所述基于区块链的安全高效的教育资历见证方法通过共识节点评选算法筛选良好节点作为共识节点,并采用cpbfs算法控制共识节点的数量。
21.其中,采用cpbfs算法控制共识节点的数量的过程,包括下列步骤:
22.收集学校节点上传的学生数据份数,计算出上传率ur;
23.根据共识节点评选算法计算出各个学校节点的分值snp;
24.将snp值从大到小排序,选取分数最高的前三分之一的节点作为共识节点组。
25.本发明提供了一种基于区块链的安全高效的教育资历见证方法,通过所有学校的学生信息整合到一个区块链平台,利用区块链技术的可追溯性、不可篡改性、透明性等特性,改变了传统的学校独自维护自己学生信息的方式,提高数据流通与数据共享的便利性,也提高了数据的安全性;同时通过访问控制白名单保护学生隐私,在访问过程中采用cpbfs算法控制共识节点的数量,使得共识节点数不到传统方法的1/3,降低了系统运行开销、提高了系统效率。
附图说明
26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
27.图1是本发明的一种基于区块链的安全高效的教育资历见证方法的流程示意图。
28.图2是本发明的学校数据加密上传模型框架图。
29.图3是本发明的数据访问者访问学校数据流程图。
具体实施方式
30.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
31.请参阅图1,本发明提出了一种基于区块链的安全高效的教育资历见证方法,包括下列步骤:
32.s1:学校收集学生的教育资历证明资料;
33.s2:学校将所述教育资历证明资料分块并分别上传到ipfs系统存储;
34.s3:使用ecc非对称加密算法进行加密;
35.s4:学校建立访问控制白名单;
36.s5:访问者发出申请,经过审核后可以访问学生的教育资历证明资料。
37.以下结合具体的执行步骤作进一步说明,请参阅图2和图3,图2为学校数据加密上传模型框架图,图3为数据访问者访问学校数据流程图:
38.步骤s1、学校收集学生的教育资历证明资料;
39.具体的,学校收集学生在教育经历中所获得的证书、奖状和学科成绩等教育资历
证明的资料,审核完成后等待进一步处理;
40.步骤s2、学校将所述教育资历证明资料分块并分别上传到ipfs系统存储;
41.具体的,学校对步骤s1中收集的数据分块并分别上传到系统存储,是一个点对点的分布式文件系统,它的存储安全度高且访问速度快,是最常用的分布式文件系统。
42.步骤s21:学校根据自身需要将步骤s1收集的数据分为若干份,为了便于描述把分好的数据用集合表示:
43.data={part1,part2,part3...partk}(k∈n
*
)
44.其中data是数据集合,part1代表第一份数据,part2代表第二份数据,k是数据份数,以此类推;
45.步骤s22:学校将上一步分好的数据依次上传到ipfs系统,获得访问索引,通过该索引可以查看上传的数据。取第i份数据上传,即上传数据parti(0《i≤k),得到访问索引add_parti(i∈n
*
,i≤k),用集合表示:
46.add_data=
47.{add_part1,add_part2,add_part3...add_partk}(k∈n
*
)。
48.步骤s3、使用ecc非对称加密算法进行加密;
49.具体的,使用ecc非对称加密算法对步骤s22中的访问索引加密,非对称加密算法的安全性非常高,以现有的技术攻破十分困难,因此本步骤采用非对称加密算法大大提高了系统数据安全;
50.步骤s31:学校选取一条ecc椭圆曲线记为ec(x,y),基点为g,有限域为fp,有限域fp点的个数为p。同时,定义fp中的运算法则如下:
51.(1)fp的加法(a+b)法则是(a+b)≡c(mod p)
52.(2)fp的乘法(a*b)法则是(a*b)≡c(mod p)
53.(3)fp的单位元是1,零元是0
54.步骤s32:学校对步骤2.2中的访问索引进行ecc非对称加密,以add_parti(i∈n
*
,i≤k)为例:
55.(1)学校选取k个随机数a1,a2,a3…ak
∈fp,计算θ1=a1*g、θ2=
56.a2*g、θ3=a3*g...θk=ak*g,所以数据加密私钥sk=(a1,a2,a3…ak
)数据加密公钥pk=(θ1,θ2,θ3…
θk)
57.(2)选取一个随机数r(r∈fp),计算访问索引add_parti(i∈
58.r
*
,i≤k)的非对称加密密文(c1,c2):
59.c1=add_parti+r*pk
60.c2=r*g
61.步骤s4、学校建立访问控制白名单;
62.具体的,学校建立访问控制白名单,申请访问学生资料的访问者先向教育机构发起申请,经过审核后,学校添加访问者到白名单中,访问者从而具备访问该校学生数据的资格。
63.步骤s5、访问者发出申请,经过审核后可以访问学生的教育资历证明资料。
64.具体的,本步骤是数据访问者访问数据的过程,数据访问者向学校发起访问申请,通过审核后可以访问到学生教育资历证明资料数据。
65.步骤s51:数据访问者申请访问资格,经过学校审核通过后,将访问者加入到访问控制白名单中;
66.步骤s52:学校将访问者所需要查看数据的密文(c1,c2)、数据加密私钥sk、椭圆曲线基点g、随机数r发送给对方;
67.步骤s53:访问者使用步骤5.2的数据解密出数据的访问索引:
68.add_parti=c
1-sk*c2(0《i≤k)
69.通过索引add_parti可以访问数据明文;
70.步骤s54:学校为访问者访问数据的过程生成一条记录,并把该记录广播到区块链,由区块链系统的矿工节点打包进区块链账本。这一步目的是用区块链账本记录访问者查询数据的过程,如果访问者有篡改数据、泄露数据等恶意行为,该记录可以作为追责的凭证。
71.进一步的,本发明还对区块链底层共识算法pbfs做出改进,传统的pbfs算法有以下两点问题:第一,出块节点随机选择,使得恶意节点和良好节点有同样的概率成为出块节点,不利于系统的安全;第二,pbfs共识算法的时间复杂度为o(n2)(n是系统所有节点的数量),系统节点较多的时候时间开销很大。针对上述问题,本发明提出共识改进算法cpbfs,通过共识节点评选算法筛选良好节点作为共识节点,有效减少了恶意节点当选的概率。与此同时,cpbfs算法严格控制了共识节点的数量,使得共识节点数不到传统方法的1/3,从而效率提高了9倍以上。
72.步骤s61:收集学校节点上传的学生数据份数,计算出上传率ur(upload rate),上传率越大表明学校存储在区块链系统的数据越多,因此该校会更加致力于维护系统安全来保障自身数据安全,ur值是衡量学校节点行为良好性的重要指标:
73.步骤s62:根据共识节点评选算法计算出各个学校节点的分值snp(school nodes points),分数值越大表明该节点良好性越高,反之则不值得信赖:
74.snp=ur*time+m-n
75.其中time是学校节点注册天数,m、n是良好行为次数和不良好行为次数。
76.步骤s63:将6.2步骤中的snp值从大到小排序,选取分数最高的前三分之一的节点作为共识节点组。根据步骤6中的分析可以知,cpbfs共识算法比传统的共识算法安全性更高,且效率提高了9倍以上。
77.本发明还提出了一个具体的实施例,对本技术的技术方案进行更清楚、完整的描述。
78.步骤1:学校收集学生在教育经历中所获得的证书、奖状和学科成绩等可以作为教育资历证明的资料。现假定6个学校,编号为一号学校、二号学校到六号学校,它们上传资料份数分别为50、100、150、200、250、250。
79.步骤2:以三号学校为例,学校根据自身需要将步骤1收集的数据分为三份,为了便于述把分好的数据用集合表示:
80.data={part1,part2,part3}
81.然后,三号学校将上一步分好的数据依次上传到ipfs系统,获得访问索引,通过该
索引可以查看上传的数据。取第i份数据上传,即上传数据parti(0《i≤3),得到访问索引add_parti(i∈n
*
,i≤3),用集合表示:
82.add_data={add_part1,add_part2,add_part3}
83.步骤3:三号学校选取一条ecc椭圆曲线记为ec(x,y),基点为g,有限域为fp,有限域fp点的个数为p。
84.首先,三号学校对步骤2中的访问索引进行ecc非对称加密,以add_parti(i∈n
*
,i≤3)为例,学校选取3个随机数a1,a2,a3,计算θ1=a1*g、θ2=a2*g、θ3=a3*g,所以数据加密私钥sk=(a1,a2,a3)数据加密公钥pk=(θ1,θ2,θ3);
85.然后,学校选取一个随机数r(r∈fp),计算访问索引add_parti(i∈
86.r
*
,i≤3)的非对称加密密文(c1,c2):
87.c1=add_parti+r*pk
88.c2=r*g
89.最后,该校为上述存储数据的过程生成一条记录,并把该记录广播到区块链,由区块链系统的矿工节点打包进区块链账本。这一步的目的是用区块链记录了学校上传数据的过程,该记录可以作为上传数据是属于三号学校的凭证;
90.步骤4:三号学校建立访问控制白名单,申请访问学生资料的访问者先向教育机构发起申请,经过审核后,学校添加访问者到白名单中,访问者从而具备访问该校学生数据的资格。
91.步骤5:访问者想要访问三号学校的数据,首先向学校发起访问申请,经过审核后,三号学校将该访问者添加到访问白名单中。然后,学校将访问者想要查看数据的密文(c1,c2)、数据加密私钥sk、椭圆曲线基点g、随机数r发送给对方,然后访问者可以解密密文:
92.add_parti=c
1-sk*c2(0《i≤3)
93.最后,学校为访问者访问数据的过程生成一条记录,并把该记录广播到区块链,由区块链系统的矿工节点打包进区块链账本。这一步目的是用区块链账本记录访问者查询数据的过程,如果访问者有篡改数据、泄露数据等恶意行为,该记录可以作为追责的凭证;
94.步骤6:cpbfs共识改进算法先计算出六所学校的注册总人数:
95.sum=50+100+200+250+250=1000;
96.然后,根据上传率公式计算一号学校到六号学校的上传率分别为:5%、10%、15%、20%、25%、25%;
97.接着,按照共识节点评选算法snp=ur*time+m-n计算所有学校节点的snp分数。假定六所学校注册天数均为100天,历史表现参数m与n相同,可以算得一号学校到六号学校的snp值分别是:5、10、15、20、25、25。最后,选取snp最大的前三分之一的学校,也就是五号和六号学校作为共识节点,根据共识算法时间复杂度o(n2)(n是系统共识节点的数量),可以知道共识时间开销从6*6降到2*2,也就是提高了36/4=9倍的效率。
98.以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1