本發(fā)明涉及計算機應用技術領域,具體地說是一種基于區(qū)塊鏈的學籍追溯認證方法。
背景技術:
近年來,區(qū)塊鏈(blockchain)技術得到廣泛關注和發(fā)展。區(qū)塊鏈技術,又稱為“分布式賬本技術”,是一種去中心化、集體維護分布式賬本的技術方案,其本質(zhì)是由多個節(jié)點集體參與的分布式數(shù)據(jù)庫系統(tǒng)。區(qū)塊鏈不是一種單一的技術,而是多種技術整合的結(jié)果,利用區(qū)塊鏈技術維護一個可靠的、難以篡改的賬本記錄,可以降低信任的風險,并能有效的降低眾參與方協(xié)作的維護成本。
隨著就業(yè)壓力的增大,用人單位對于受聘人員的學籍學歷更加看重,這也使得部分人通過學籍學歷造假來謀取利益。傳統(tǒng)的解決方案是將學籍信息通過公信網(wǎng)站統(tǒng)一發(fā)布出來,供用人單位和受聘人員進行查詢。然而,這種集中存儲方式容易被攻破,只需要攻破中心數(shù)據(jù)庫,就能偽造學籍信息。特別是對于內(nèi)部人員,可以直接接觸到中心數(shù)據(jù)庫,通過修改數(shù)據(jù)庫內(nèi)容很容易實現(xiàn)造假學籍信息。在這種情況下,如何有效的利用區(qū)塊鏈技術解決學籍追溯認證問題,并且有效的保護受聘人員的學籍學歷隱私成為亟需解決的問題。
基于此,本專利提供一種可解決上述問題的基于區(qū)塊鏈的學籍追溯認證方法。
技術實現(xiàn)要素:
本發(fā)明的技術任務是針對以上不足之處,提供一種基于區(qū)塊鏈的學籍追溯認證方法。
一種基于區(qū)塊鏈的學籍追溯認證方法,基于兩級區(qū)塊鏈,其具體實現(xiàn)過程為,
首先配置第一級區(qū)塊鏈:學校區(qū)塊鏈,包括若干區(qū)域區(qū)塊鏈,每個區(qū)域區(qū)塊鏈中均由若干學校節(jié)點組成獨立的p2p網(wǎng)絡,學校節(jié)點用于維護學生的學籍信息;
配置第二級區(qū)塊鏈:監(jiān)管區(qū)塊鏈,由若干與學校區(qū)塊鏈對應的監(jiān)管節(jié)點、至少一個準入節(jié)點組成獨立的p2p網(wǎng)絡,監(jiān)管節(jié)點維護該監(jiān)管區(qū)塊鏈中所有學校區(qū)塊鏈的信息并負責確定學校節(jié)點的準入,準入節(jié)點負責確定監(jiān)管節(jié)點的準入;
配置第三方ca認證中心,連接監(jiān)管區(qū)塊鏈,用于向通過認證確定的學校節(jié)點辦法證書;
配置查詢節(jié)點,通過查詢學校區(qū)塊鏈、監(jiān)管區(qū)塊鏈實現(xiàn)學籍文件的驗證以及學籍信息的追溯。
所述學校區(qū)塊鏈中的每個區(qū)域區(qū)塊鏈均配置一份賬本記錄,該賬本記錄是區(qū)塊鏈技術的記錄鏈,賬本中記錄本區(qū)域所有學籍信息文件的摘要值,學校節(jié)點負責生成學籍文件并發(fā)布到區(qū)域區(qū)塊鏈中;相對應的,監(jiān)管區(qū)塊鏈中配置一份賬本記錄,該賬本記錄同樣是區(qū)塊鏈技術的記錄鏈,賬本中記錄各個監(jiān)管節(jié)點所在區(qū)域的區(qū)塊鏈共識信息。
所述學校區(qū)塊鏈中的每個區(qū)域區(qū)塊鏈的結(jié)構均包括區(qū)塊、交易,其中,區(qū)塊結(jié)構包括:
版本號:描述區(qū)塊鏈的版本;
時間戳:本次區(qū)塊生成的時間;
交易merkle樹根摘要:本區(qū)塊的所有交易生成merkle樹的樹根摘要值;
交易執(zhí)行結(jié)果:本區(qū)塊鏈關聯(lián)的所有交易的執(zhí)行結(jié)果;
前區(qū)塊摘要值:上一區(qū)塊鏈的摘要值;
本區(qū)塊摘要值:計算本區(qū)塊內(nèi)容得到的摘要值;
交易結(jié)構包括:
id號:交易唯一標識號;
發(fā)起方:學校節(jié)點的公鑰摘要值;
nonce:唯一碼;
學籍文件摘要:學籍文件的摘要值;
簽名值:使用交易發(fā)起方私鑰進行簽名;
賬聯(lián)代碼:對應所在區(qū)塊的標識;
接收方標識:學生標識,學籍所有者的公鑰摘要值。
所述監(jiān)管區(qū)塊鏈的結(jié)構包括區(qū)塊、交易,其中區(qū)塊結(jié)構包括:
版本號:描述區(qū)塊鏈的版本;
時間戳:本次區(qū)塊生成的時間;
交易merkle樹根摘要:本區(qū)塊的所有交易生成merkle樹的樹根摘要值;
交易執(zhí)行結(jié)果:本區(qū)塊鏈關聯(lián)的所有交易的執(zhí)行結(jié)果;
前區(qū)塊摘要值:上一區(qū)塊鏈的摘要值;
本區(qū)塊摘要值:計算本區(qū)塊內(nèi)容得到的摘要值;
交易結(jié)構包括:
id號:交易唯一標識號;
發(fā)起方:區(qū)域監(jiān)管節(jié)點的公鑰摘要值;
nonce:唯一碼;
所在區(qū)域區(qū)塊鏈摘要:區(qū)域區(qū)塊鏈的區(qū)塊摘要值;
簽名值:使用交易發(fā)起方私鑰進行簽名;
賬聯(lián)代碼:對應所在區(qū)塊的標識;
接收方標識:準入監(jiān)管節(jié)點的公鑰摘要值。
所述監(jiān)管節(jié)點對學校節(jié)點準入進行確認時,其具體確認步驟為:
待確定學校節(jié)點生成密鑰對并產(chǎn)生證書請求,提交該待確定學校節(jié)點的相關材料,向區(qū)域區(qū)塊鏈對應的監(jiān)管節(jié)點提出加入?yún)^(qū)域區(qū)塊鏈請求;
所述監(jiān)管節(jié)點審核待確定學校節(jié)點的身份,審核通過后,頒發(fā)數(shù)字證書,允許學校節(jié)點加入所在區(qū)域的區(qū)域區(qū)塊鏈。
所述準入節(jié)點對監(jiān)管節(jié)點準入進行確認時,其具體確認步驟為:
首先待確定監(jiān)管節(jié)點生成密鑰對并產(chǎn)生證書請求,提交該待確定監(jiān)管節(jié)點的相關材料,向準入節(jié)點提出加入監(jiān)管區(qū)塊鏈請求;
準入節(jié)點審核待確定監(jiān)管節(jié)點的身份,審核通過后頒發(fā)數(shù)字證書,允許準入監(jiān)管區(qū)塊鏈。
所述學校節(jié)點負責生成學籍文件并發(fā)布到區(qū)域區(qū)塊鏈中的具體實現(xiàn)過程為:
學校節(jié)點獲取學生的公鑰作為學生標識,如果學生公鑰不存在,則為該學生產(chǎn)生公私鑰對,用于以后區(qū)塊鏈操作的身份標識;
學校節(jié)點根據(jù)學生學籍情況產(chǎn)生學籍文件,并使用學校節(jié)點的私鑰對其進行簽名保存;其中包含學生在校學習的基本信息以及學生的公鑰標識;
學校節(jié)點生成交易信息,發(fā)布到其對應的區(qū)域區(qū)塊鏈;
參與學校節(jié)點所在區(qū)域的所有學校節(jié)點達成共識,更新各自本地賬本記錄。
區(qū)域區(qū)塊鏈中生成學籍文件后,監(jiān)管區(qū)塊鏈中完成以下步驟:
監(jiān)管節(jié)點將所在區(qū)域一段時間內(nèi)的區(qū)塊信息作為交易數(shù)據(jù),生成交易記錄,發(fā)布到監(jiān)管區(qū)塊鏈中;
該監(jiān)管區(qū)塊鏈中所有監(jiān)管節(jié)點達成共識,均更新各自本地賬本記錄;
學校節(jié)點將兩級區(qū)塊鏈中所在區(qū)塊的標識寫入到學籍文件中,作為擴展信息進行保存;
學校節(jié)點將簽名后的學籍文件保存到本地;
學校節(jié)點將簽名后的學籍文件上傳到對應區(qū)域區(qū)塊鏈的監(jiān)管節(jié)點進行保存。
所述查詢節(jié)點用于學籍的追溯驗證,其具體實現(xiàn)過程為:
首先通過查詢節(jié)點對學生提供的學籍文件,即學生公鑰標識進行簽名驗證;
查詢節(jié)點根據(jù)學籍文件查詢區(qū)塊鏈,獲取該學生所有的學籍記錄;
查詢節(jié)點根據(jù)學籍文件,查詢學籍文件所在區(qū)域區(qū)塊鏈,驗證交易信息的合法性,驗證通過后顯示追溯信息,完成追溯過程。
所述區(qū)域區(qū)塊鏈中的賬本通過摘要算法獲取摘要指,該摘要算法采用sm3國密算法,簽名值則采用sm3、sm2國密算法作為簽名算法獲取,數(shù)字證書采用x509格式。
本發(fā)明的一種基于區(qū)塊鏈的學籍追溯認證方法和現(xiàn)有技術相比,具有以下有益效果:
本發(fā)明的一種基于區(qū)塊鏈的學籍追溯認證方法,通過建立區(qū)塊鏈將學生學籍、學校和監(jiān)管機構結(jié)合起來,相對于傳統(tǒng)的集中式存儲方式,提供了去中心化的追溯認證解決方案,實現(xiàn)學籍信息的追溯認證,有效的防止學籍學歷偽造;本發(fā)明針對學籍追溯認證提出的方法使用兩級區(qū)塊鏈,按照區(qū)域進行劃分,能夠更加高效的完成區(qū)塊鏈的生成,提高計算效率;每個區(qū)域存在多個監(jiān)管機構,嚴格控制節(jié)點的準入,這樣有利于增加監(jiān)管,并且有效的解決了單節(jié)點失效問題;另外,學籍文件是由學校節(jié)點進行數(shù)字簽名,通過獲取相應ca證書直接進行離線驗證,再通過外部查詢節(jié)點實現(xiàn)區(qū)塊鏈認證,采用了雙重認證保證其安全性;學籍文件只保存在學校節(jié)點和監(jiān)管節(jié)點,其他參與節(jié)點只有摘要信息,這樣也有效的保護了學生的學籍隱私,實用性強,適用范圍廣泛,易于推廣。
附圖說明
附圖1是兩級區(qū)塊鏈整體示意圖。
附圖2是學校區(qū)域區(qū)塊鏈結(jié)構示意圖。
附圖3是監(jiān)管區(qū)塊鏈結(jié)構示意圖。
附圖4是參與節(jié)點的準入流程圖。
附圖5發(fā)布學籍記錄流程圖。
具體實施方式
下面結(jié)合附圖及具體實施例對本發(fā)明作進一步說明。
如附圖1-圖5所示,一種基于區(qū)塊鏈的學籍追溯認證方法,采用兩級模式,將所有學校劃分成多個區(qū)域,每個區(qū)域會存在多個監(jiān)管機構,學校負責維護學生的學籍信息,監(jiān)管機構負責學校節(jié)點的準入。各個區(qū)域獨立形成一個p2p網(wǎng)絡并建立區(qū)塊鏈,共同維護一份賬本記錄,賬本中將記錄本區(qū)域所有學籍信息文件的摘要值。所有作為監(jiān)管機構的監(jiān)管節(jié)點會參與形成另一個p2p網(wǎng)絡并建立區(qū)塊鏈,共同維護一份賬本記錄,賬本中將會記錄各個監(jiān)管機構節(jié)點所在區(qū)域的區(qū)塊鏈共識信息。另外,查詢節(jié)點可以通過查詢區(qū)塊鏈實現(xiàn)學籍文件的驗證以及學籍信息的追溯。
所述的賬本記錄是基于區(qū)塊鏈技術的記錄鏈;所述的學校節(jié)點負責生成學籍文件并發(fā)布到區(qū)域區(qū)塊鏈中;所述的監(jiān)管機構配置準入節(jié)點,決定本區(qū)域的學校節(jié)點是否可以加入,認證通過后通過第三方ca認證中心頒發(fā)數(shù)字證書,并且所有的監(jiān)管機構節(jié)點組成一個獨立的p2p網(wǎng)絡,每個區(qū)域都有一個節(jié)點用來發(fā)布監(jiān)管機構所在區(qū)的區(qū)塊鏈共識信息,所述的監(jiān)管機構參與的監(jiān)管機構區(qū)塊鏈也存在一級監(jiān)管節(jié)點,負責節(jié)點準入;所有的參與節(jié)點達成共識,共同維護賬本記錄;所述的查詢節(jié)點可以進行查詢驗證。
基于上述兩級區(qū)塊鏈,其具體實現(xiàn)過程為,
首先配置第一級區(qū)塊鏈:學校區(qū)塊鏈,包括若干區(qū)域區(qū)塊鏈,每個區(qū)域區(qū)塊鏈中均由若干學校節(jié)點組成獨立的p2p網(wǎng)絡,學校節(jié)點用于維護學生的學籍信息;
配置第二級區(qū)塊鏈:監(jiān)管區(qū)塊鏈,由若干與學校區(qū)塊鏈對應的監(jiān)管節(jié)點、至少一個準入節(jié)點組成獨立的p2p網(wǎng)絡,監(jiān)管節(jié)點維護該監(jiān)管區(qū)塊鏈中所有學校區(qū)塊鏈的信息并負責確定學校節(jié)點的準入,準入節(jié)點負責確定監(jiān)管節(jié)點的準入;
配置第三方ca認證中心,連接監(jiān)管區(qū)塊鏈,用于向通過認證確定的學校節(jié)點辦法證書;
配置查詢節(jié)點,通過查詢學校區(qū)塊鏈、監(jiān)管區(qū)塊鏈實現(xiàn)學籍文件的驗證以及學籍信息的追溯。
所述學校區(qū)塊鏈中的每個區(qū)域區(qū)塊鏈均配置一份賬本記錄,該賬本記錄是區(qū)塊鏈技術的記錄鏈,賬本中記錄本區(qū)域所有學籍信息文件的摘要值,學校節(jié)點負責生成學籍文件并發(fā)布到區(qū)域區(qū)塊鏈中;相對應的,監(jiān)管區(qū)塊鏈中配置一份賬本記錄,該賬本記錄同樣是區(qū)塊鏈技術的記錄鏈,賬本中記錄各個監(jiān)管節(jié)點所在區(qū)域的區(qū)塊鏈共識信息。
所述學校區(qū)塊鏈中的每個區(qū)域區(qū)塊鏈的結(jié)構均包括區(qū)塊、交易,其中,區(qū)塊結(jié)構包括:
版本號:描述區(qū)塊鏈的版本;
時間戳:本次區(qū)塊生成的時間;
交易merkle樹根摘要:本區(qū)塊的所有交易生成merkle樹的樹根摘要值;
交易執(zhí)行結(jié)果:本區(qū)塊鏈關聯(lián)的所有交易的執(zhí)行結(jié)果;
前區(qū)塊摘要值:上一區(qū)塊鏈的摘要值;
本區(qū)塊摘要值:計算本區(qū)塊內(nèi)容得到的摘要值;
交易結(jié)構包括:
id號:交易唯一標識號;
發(fā)起方:學校節(jié)點的公鑰摘要值;
nonce:唯一碼;
學籍文件摘要:學籍文件的摘要值;
簽名值:使用交易發(fā)起方私鑰進行簽名;
賬聯(lián)代碼:對應所在區(qū)塊的標識;
接收方標識:學生標識,學籍所有者的公鑰摘要值。
所述監(jiān)管區(qū)塊鏈的結(jié)構包括區(qū)塊、交易,其中區(qū)塊結(jié)構包括:
版本號:描述區(qū)塊鏈的版本;
時間戳:本次區(qū)塊生成的時間;
交易merkle樹根摘要:本區(qū)塊的所有交易生成merkle樹的樹根摘要值;
交易執(zhí)行結(jié)果:本區(qū)塊鏈關聯(lián)的所有交易的執(zhí)行結(jié)果;
前區(qū)塊摘要值:上一區(qū)塊鏈的摘要值;
本區(qū)塊摘要值:計算本區(qū)塊內(nèi)容得到的摘要值;
交易結(jié)構包括:
id號:交易唯一標識號;
發(fā)起方:區(qū)域監(jiān)管節(jié)點的公鑰摘要值;
nonce:唯一碼;
所在區(qū)域區(qū)塊鏈摘要:區(qū)域區(qū)塊鏈的區(qū)塊摘要值;
簽名值:使用交易發(fā)起方私鑰進行簽名;
賬聯(lián)代碼:對應所在區(qū)塊的標識;
接收方標識:準入監(jiān)管節(jié)點的公鑰摘要值。
所述監(jiān)管節(jié)點對學校節(jié)點準入進行確認時,其具體確認步驟為:
待確定學校節(jié)點生成密鑰對并產(chǎn)生證書請求,提交該待確定學校節(jié)點的相關材料,向區(qū)域區(qū)塊鏈對應的監(jiān)管節(jié)點提出加入?yún)^(qū)域區(qū)塊鏈請求;
所述監(jiān)管節(jié)點審核待確定學校節(jié)點的身份,審核通過后,頒發(fā)數(shù)字證書,允許學校節(jié)點加入所在區(qū)域的區(qū)域區(qū)塊鏈。
所述準入節(jié)點對監(jiān)管節(jié)點準入進行確認時,其具體確認步驟為:
首先待確定監(jiān)管節(jié)點生成密鑰對并產(chǎn)生證書請求,提交該待確定監(jiān)管節(jié)點的相關材料,向準入節(jié)點提出加入監(jiān)管區(qū)塊鏈請求;
準入節(jié)點審核待確定監(jiān)管節(jié)點的身份,審核通過后頒發(fā)數(shù)字證書,允許準入監(jiān)管區(qū)塊鏈。
所述學校節(jié)點負責生成學籍文件并發(fā)布到區(qū)域區(qū)塊鏈中的具體實現(xiàn)過程為:
學校節(jié)點獲取學生的公鑰作為學生標識,如果學生公鑰不存在,則為該學生產(chǎn)生公私鑰對,用于以后區(qū)塊鏈操作的身份標識;
學校節(jié)點根據(jù)學生學籍情況產(chǎn)生學籍文件,并使用學校節(jié)點的私鑰對其進行簽名保存;其中包含學生在校學習的基本信息以及學生的公鑰標識;
學校節(jié)點生成交易信息,發(fā)布到其對應的區(qū)域區(qū)塊鏈;
參與學校節(jié)點所在區(qū)域的所有學校節(jié)點達成共識,更新各自本地賬本記錄。
區(qū)域區(qū)塊鏈中生成學籍文件后,監(jiān)管區(qū)塊鏈中完成以下步驟:
監(jiān)管節(jié)點將所在區(qū)域一段時間內(nèi)的區(qū)塊信息作為交易數(shù)據(jù),生成交易記錄,發(fā)布到監(jiān)管區(qū)塊鏈中;
該監(jiān)管區(qū)塊鏈中所有監(jiān)管節(jié)點達成共識,均更新各自本地賬本記錄;
學校節(jié)點將兩級區(qū)塊鏈中所在區(qū)塊的標識寫入到學籍文件中,作為擴展信息進行保存;
學校節(jié)點將簽名后的學籍文件保存到本地;
學校節(jié)點將簽名后的學籍文件上傳到對應區(qū)域區(qū)塊鏈的監(jiān)管節(jié)點進行保存。
所述查詢節(jié)點用于學籍的追溯驗證,其具體實現(xiàn)過程為:
首先通過查詢節(jié)點對學生提供的學籍文件,即學生公鑰標識進行簽名驗證;
查詢節(jié)點根據(jù)學籍文件查詢區(qū)塊鏈,獲取該學生所有的學籍記錄;
查詢節(jié)點根據(jù)學籍文件,查詢學籍文件所在區(qū)域區(qū)塊鏈,驗證交易信息的合法性,驗證通過后顯示追溯信息,完成追溯過程。
所述區(qū)域區(qū)塊鏈中的賬本通過摘要算法獲取摘要指,該摘要算法采用sm3國密算法,簽名值則采用sm3、sm2國密算法作為簽名算法獲取,數(shù)字證書采用x509格式。
通過上面具體實施方式,所述技術領域的技術人員可容易的實現(xiàn)本發(fā)明。但是應當理解,本發(fā)明并不限于上述的具體實施方式。在公開的實施方式的基礎上,所述技術領域的技術人員可任意組合不同的技術特征,從而實現(xiàn)不同的技術方案。
除說明書所述的技術特征外,均為本專業(yè)技術人員的已知技術。