【技术实现步骤摘要】
一种基于区块链的学校证书发布验证方法、系统和装置
[0001]本专利技术属于信息
,涉及学校证书的存储、发布和验证技术,尤其涉及一种基于区块链的学校证书发布验证方法、验证系统和装置,提供了信息在区块链上的存储和分布式文件系统的应用,是一种学校证书的存储、发布和验证的方法和相关装置。
技术介绍
[0002]在学校证书的存储、发布和验证
,目前已有以基于比特币区块链的数字学术证书开放标准的区块链证书项目Blockcerts为代表的许多区块链证书系统。其中,Blockcerts实现了区块链证书的生成、颁发、查看和验证,但是,Blockcerts区块链证书系统存在着以下技术问题:
[0003]1.在该系统的验证流程中,没有对发证机构进行认证的环节,只能查证该证书确实在区块链上有记录,由此使得无法保证发证机构一定是官方的,为其他机构伪造证书提供了可能性;
[0004]2.证书的撤销问题是目前的电子证书普遍存在的一大难题。在撤销证书时,Blockcert仅仅将需要撤销的证书中心化存储在服务器中,在查询时进行比 ...
【技术保护点】
【技术特征摘要】
1.一种基于区块链的学校证书发布验证方法,将学校证书的验证和撤销相关信息存储于区块链上,将学校证书原件存储于分布式文件系统中;通过“再次发布至区块链”的方式实现证书撤回;对于机构身份认证,设计采用DNS域名系统认证方法,实现自动化、不可伪造的身份认证;所述基于区块链的学校证书发布验证方法包括:证书生成与颁发过程、证书撤回过程和证书验证过程;包括如下具体步骤:A.证书生成与颁发的实现包括:A1.学校注册比特币钱包,获得比特币钱包密钥和比特币钱包地址;设计包括一个存储模块和一个控制模块的装置;所述控制模块用于将学校证书发布验证需要存储的比特币钱包密钥信息加密后保存到存储模块;且将学校证书发布验证需要的信息从存储模块中读取并解密后输出;将比特币钱包密钥存到所述装置中,将比特币钱包地址存放在学校控制的一个域名系统DNS中;该域名系统DNS的解析信息中用于证书验证;DNS的解析信息所有人可公开访问,但只有拥有该域名的学校才能对域名解析信息进行修改;之后生成另外一对文件密钥用于加密证书文件,此对文件密钥包括公钥和私钥;将文件密钥中的公钥写入域名,生成另一条DNS信息;将文件密钥中的私钥存放到装置中;A2.学校要颁发证书时,使用java库的itextpdf,将需要生成证书的学生信息填充入pdf证书模板,并批量生成证书文件;A3.从所述装置中读取学校的比特币钱包密钥,发起交易,获取本次生成的所有证书文件的哈希值,并将哈希值存储在区块链上;使用chainpoint为区块链中的区块生成Chainpoint证明,并将其添加到证书文件的元数据域;所述Chainpoint证明是比特币的区块链证明,其中包含所有证书哈希值生成的merkle树的根哈希值,用于将数据的哈希值链接到区块链并返回时间戳证明;A4.从所述装置中读取学校的文件密钥的私钥,使用私钥将每个证书文件采用集成加密方案ECIES进行加密后,将其上传至分布式文件系统IPFS,获得IPFS系统返回的一个文件哈希值,即IPFS哈希值;并将IPFS哈希值发送给各个证书持有者;A5.给每一位证书持有者发送包含证书文件和证书IPFS哈希值的邮件;所述证书IPFS哈希值可用于下载证书文件;在下载过程中,首先根据证书IPFS哈希值从IPFS上下载加密后的证书文件,再读取学校域名的DNS信息获得文件密钥的公钥,使用此公钥将文件解密并下载给用户;B.证书撤回的实现包括:B1.在需要对学生的证书进行撤回时,首先获取需要撤回的证书的必要信息;根据撤回方式的不同,信息为证书的哈希值、颁发证书时的交易id或颁发证书时的比特币钱包地址;B2.从所述装置中取得学校的比特币钱包地址,并发起包含将需要撤回的证书的相关信息的交易,将撤回信息存放在区块链上;证书验证时,查找区块链上是否有证书对应的撤回信息,解决区块链存证永久存储与证书撤回需求之间存在的矛盾,保证证书安全撤回;C.证书验证的实现包括:C1.学生在需要出示证书时,...
【专利技术属性】
技术研发人员:周昌令,时旻,陈俊达,赖清楠,王博,来天平,王永超,金建栋,
申请(专利权)人:北京大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。