本發(fā)明公開一種基于區(qū)塊鏈多ca應用認證方法,涉及信息安全技術領域。
背景技術:
區(qū)塊鏈是一串使用密碼學方法相關聯(lián)產生的數據塊,每一個數據塊中包含了過去一定時間內所有比特幣網絡交易的信息,用于驗證其信息的有效性和生成下一個區(qū)塊。近年來,區(qū)塊鏈(blockchain)技術得到廣泛關注和發(fā)展。區(qū)塊鏈技術,又稱為“分布式賬本技術”,其本質是去中心化且寓于分布式結構的數據存儲、傳輸和證明的方法,由多個節(jié)點集體參與的分布式數據庫系統(tǒng)。它不是一種單一的技術,而是多種技術整合的結果,利用區(qū)塊鏈技術維護一個可靠的、難以篡改的賬本記錄,可以降低信任的風險,并能有效的降低多參與方協(xié)作的維護成本。
現有的pki/ca技術是以數字證書認證中心為基礎,通過第三方可信ca來發(fā)放數字證書,并與應用系統(tǒng)對接,通過發(fā)布crl和ocsp為應用系統(tǒng)提供證書狀態(tài)查詢服務,實現相關的身份認證以及完整性保護。但隨著業(yè)務應用的開展,“一證多用”和多家ca交叉認證的需求更加迫切,特別是一些政務應用,需要通過整合數字證書,降低開展政務網上業(yè)務的成本。在這情況下,本發(fā)明提供一種基于區(qū)塊鏈多ca應用認證方法,通過建立區(qū)塊鏈將各家ca數字證書認證中心和多個業(yè)務系統(tǒng)結合起來,所有節(jié)點共同維護一份賬本記錄,相對于現有的交叉認證方式,提供了統(tǒng)一的、去中心化的數字證書和權限發(fā)布服務,增強了認證的可靠性和不可偽造性;ca數字證書認證中心發(fā)布數字證書和crl確認證書的有效性,而業(yè)務系統(tǒng)發(fā)布證書權限信息,通過白名單實現本業(yè)務系統(tǒng)的身份認證,有效利用現有可信的數字證書,實現證書一證多用,還可以采用多家ca數字證書,解決互信問題。
技術實現要素:
本發(fā)明提供一種基于區(qū)塊鏈多ca應用認證方法,將ca證書和應用系統(tǒng)身份信息相結合,通過建立區(qū)塊鏈,記錄應用系統(tǒng)與數字證書的權限對應,實現“一證多用”和多ca證書信任。
本發(fā)明提出的具體方案是:
一種基于區(qū)塊鏈多ca應用認證方法:
分布式部署多個節(jié)點建立區(qū)塊鏈,所有節(jié)點維護一份賬本記錄,
其中準入節(jié)點判斷節(jié)點的加入或退出,ca數字證書認證中心節(jié)點發(fā)布數字證書及其狀態(tài)信息,業(yè)務系統(tǒng)節(jié)點發(fā)布權限對應,并通過全網網絡分發(fā)到各個節(jié)點,對各個節(jié)點的交易進行排序和驗證,讓參與區(qū)塊鏈的節(jié)點達成共識,業(yè)務系統(tǒng)節(jié)點還通過查詢區(qū)塊鏈記錄的權限信息實現身份認證。業(yè)務系統(tǒng)節(jié)點可以包括排序和驗證節(jié)點,負責協(xié)調和認證,讓參與區(qū)塊鏈的節(jié)點達成共識。
所述的方法使用現有數字證書進行認證時,所述業(yè)務系統(tǒng)節(jié)點根據用戶信息查詢區(qū)塊鏈,獲取相應的用戶數字證書信息,業(yè)務系統(tǒng)節(jié)點根據數字證書信息和用戶權限信息生成交易信息,發(fā)布到區(qū)塊鏈,區(qū)塊鏈中各個節(jié)點達成共識,更新本地賬本記錄,所述業(yè)務系統(tǒng)節(jié)點根據區(qū)塊鏈中的權限信息進行用戶的身份認證。
所述的方法,用戶首次進行認證時,所述業(yè)務系統(tǒng)節(jié)點向所述ca數字證書認證中心節(jié)點提出首次申請數字證書請求,所述ca數字證書認證中心節(jié)點審核提交請求的用戶信息,簽發(fā)數字證書,并生成包含數字證書信息和用戶權限信息的交易信息,發(fā)布到區(qū)塊鏈,所述業(yè)務系統(tǒng)節(jié)點根據收到的交易信息生成區(qū)塊鏈,區(qū)塊鏈中各個節(jié)點達成共識,更新本地賬本記錄,所述業(yè)務系統(tǒng)節(jié)點根據區(qū)塊鏈中的權限信息進行用戶的身份認證。
所述的方法,用于ca數字證書認證中心節(jié)點發(fā)布crl,用戶通過所述業(yè)務系統(tǒng)節(jié)點向所述ca數字證書認證中心節(jié)點提出注銷證書申請,ca數字證書認證中心節(jié)點審核申請并簽發(fā)crl,同時根據數字證書查詢所有可用權限,生成注銷交易信息,發(fā)布到區(qū)塊鏈;
所述業(yè)務系統(tǒng)節(jié)點根據收到的交易信息生成區(qū)塊鏈,區(qū)塊鏈的各個節(jié)點達成共識,更新本地賬本記錄,則注銷用戶無法登陸。
所述的方法,用于業(yè)務系統(tǒng)節(jié)點取消用戶權限,其中業(yè)務系統(tǒng)節(jié)點查詢用戶數字證書和可用權限,生成注銷交易信息,發(fā)布到區(qū)塊鏈;業(yè)務系統(tǒng)節(jié)點根據收到的交易信息生成區(qū)塊鏈,區(qū)塊鏈的各個節(jié)點達成共識,更新本地賬本記錄,則注銷用戶無法登陸。
一種基于區(qū)塊鏈多ca應用認證系統(tǒng),包括分布式部署多個節(jié)點建立的區(qū)塊鏈及其中各個節(jié)點,所有節(jié)點維護一份賬本記錄,
其中準入節(jié)點判斷節(jié)點的加入或退出,ca數字證書認證中心節(jié)點發(fā)布數字證書及其狀態(tài)信息,業(yè)務系統(tǒng)節(jié)點發(fā)布權限對應,并通過全網網絡分發(fā)到各個節(jié)點,對各個節(jié)點的交易進行排序和驗證,讓參與區(qū)塊鏈的節(jié)點達成共識,業(yè)務系統(tǒng)節(jié)點還通過查詢區(qū)塊鏈記錄的權限信息實現身份認證。
所述系統(tǒng)中區(qū)塊鏈的區(qū)塊信息包括:
版本號、時間戳、交易merkle樹根摘要、交易執(zhí)行結果、前區(qū)塊摘要值、本區(qū)塊摘要值。
所述系統(tǒng)中區(qū)塊鏈的交易信息包括:id號、發(fā)起方、證書url地址、nonce唯一碼、證書摘要、簽名值、賬聯(lián)代碼、業(yè)務系統(tǒng)標識、權限標識。
本發(fā)明的有益之處是:
本發(fā)明提供了一種基于區(qū)塊鏈多ca應用認證方法,通過建立區(qū)塊鏈將各家ca數字證書認證中心和多個業(yè)務系統(tǒng)結合起來,相對于現有的交叉認證方式,提供了統(tǒng)一的、去中心化的數字證書和權限發(fā)布服務,增強了認證的可靠性和不可偽造性;ca數字證書認證中心發(fā)布數字證書和crl確認證書的有效性,而業(yè)務系統(tǒng)發(fā)布證書權限信息,通過白名單實現本業(yè)務系統(tǒng)的身份認證。這樣可以有效利用現有可信的數字證書,實現證書一證多用,還可以采用多家ca數字證書,解決互信問題。
附圖說明
圖1是本發(fā)明節(jié)點部署區(qū)塊鏈示意圖;
圖2是區(qū)塊鏈部分結構示意圖;
圖3是用戶首次認證過程流程圖;
圖4是使用現有數字證書進行認證流程圖;
圖5是用戶取消權限流程圖;
圖6是業(yè)務節(jié)點取消用戶權限流程圖。
具體實施方式
本發(fā)明提供一種基于區(qū)塊鏈多ca應用認證方法,同時提供一種基于區(qū)塊鏈多ca應用認證系統(tǒng),結合附圖,對本發(fā)明做進一步說明。
利用本發(fā)明方法,分布式部署多個節(jié)點建立區(qū)塊鏈,所有節(jié)點維護一份賬本記錄,
其中準入節(jié)點判斷節(jié)點的加入或退出,ca數字證書認證中心節(jié)點發(fā)布數字證書及其狀態(tài)信息,業(yè)務系統(tǒng)節(jié)點發(fā)布權限對應,并通過全網網絡分發(fā)到各個節(jié)點,對各個節(jié)點的交易進行排序和驗證,讓參與區(qū)塊鏈的節(jié)點達成共識,業(yè)務系統(tǒng)節(jié)點還通過查詢區(qū)塊鏈記錄的權限信息實現身份認證。其中,
準入節(jié)點來決定新節(jié)點的加入和節(jié)點的退出;ca數字證書認證中心節(jié)點負責發(fā)布數字證書和其狀態(tài)信息;業(yè)務系統(tǒng)節(jié)點負責發(fā)布其用戶的權限身份信息并通過區(qū)塊鏈記錄權限信息來進行身份認證;業(yè)務系統(tǒng)節(jié)點可以包括排序和驗證節(jié)點,負責協(xié)調和認證,讓參與區(qū)塊鏈的節(jié)點達成共識。
為了進一步描述清楚,在本實施例中,使用圖2所示區(qū)塊鏈結構,區(qū)塊(block)結構如下:
版本號:描述區(qū)塊鏈的版本;
時間戳:本次區(qū)塊生成的時間;
交易merkle樹根摘要:本區(qū)塊的所有交易生成merkle樹的樹根摘要值;
交易執(zhí)行結果:本區(qū)塊鏈關聯(lián)的所有交易的執(zhí)行結果;
前區(qū)塊摘要值:上一區(qū)塊鏈的摘要值;
本區(qū)塊摘要值:計算本區(qū)塊內容得到的摘要值。
交易(transaction)信息結構如下:
id號:交易唯一標識號;
發(fā)起方:交易發(fā)起方數字證書的內容,這里采用的是證書的sha1摘要;
證書url地址:證書外部下載地址;
nonce:唯一碼;
證書摘要:頒發(fā)的用戶證書的摘要值,可以通過url地址下載;
簽名值:使用交易發(fā)起方私鑰進行簽名;
賬聯(lián)代碼:對應所在區(qū)塊的標識;
業(yè)務系統(tǒng)標識:業(yè)務系統(tǒng)節(jié)點標識,例如接收方的證書摘要;
權限標識:標識業(yè)務系統(tǒng)用戶的權限。
除了使用以上結構表示方法之外,根據本發(fā)明的實施方式的構造也能夠應用于其他數據表示方法之上。
具體實施中,例如本發(fā)明應用的業(yè)務系統(tǒng)為政務應用系統(tǒng),例如工商、質監(jiān)、國稅等系統(tǒng),則可以實現政務系統(tǒng)的一證多用。比如以下過程中采用sm3國密算法作為摘要算法,sm3sm2國密算法作為簽名算法,數字證書采用x509格式,則利用本發(fā)明方法,用戶首次認證過程中,發(fā)布數字證書和權限信息包括以下步驟:
步驟101、業(yè)務系統(tǒng)節(jié)點向ca數字證書認證中心提出首次申請數字證書請求;
步驟102、ca數字證書認證中心節(jié)點審核提交申請的用戶信息,簽發(fā)數字證書,并生成交易信息,發(fā)布到區(qū)塊鏈,其中交易信息包含數字證書信息和用戶權限信息;
步驟103、排序和驗證節(jié)點根據收到的交易信息生成區(qū)塊鏈;
步驟104、區(qū)塊鏈的各個節(jié)點達成共識,更新本地賬本記錄;
步驟105、業(yè)務系統(tǒng)節(jié)點根據區(qū)塊鏈中的權限信息進行用戶的身份認證??蓞⒖紙D3。
利用本發(fā)明方法,使用現有數字證書進行認證過程包括以下步驟:
步驟201、業(yè)務系統(tǒng)節(jié)點根據其用戶信息查詢區(qū)塊鏈,獲取相應的數字證書信息;
步驟202、業(yè)務系統(tǒng)節(jié)點根據數字證書和用戶權限信息生成交易信息,發(fā)布到區(qū)塊鏈;
步驟203、排序和驗證節(jié)點根據收到的交易信息生成區(qū)塊鏈;
步驟204、區(qū)塊鏈的各個節(jié)點達成共識,更新本地賬本記錄;
步驟205、業(yè)務系統(tǒng)節(jié)點根據區(qū)塊鏈中的權限信息進行用戶的身份認證。
利用本發(fā)明方法,用戶取消權限,ca數字證書認證中心發(fā)布crl的過程包括以下步驟:
步驟301、業(yè)務系統(tǒng)節(jié)點的用戶由于證書丟失、密鑰泄露等原因向ca數字證書認證中心節(jié)點提出注銷證書申請;
步驟302、ca數字證書認證中心節(jié)點審核申請并簽發(fā)crl;
步驟303、ca數字證書認證中心節(jié)點根據數字證書查詢所有可用權限,生成注銷交易信息,發(fā)布到區(qū)塊鏈;
步驟304、排序和驗證節(jié)點根據收到的交易信息生成區(qū)塊鏈;
步驟305、區(qū)塊鏈的各個節(jié)點達成共識,更新本地賬本記錄;
步驟306、注銷用戶無法登陸所有業(yè)務系統(tǒng)。
利用本發(fā)明方法,業(yè)務系統(tǒng)節(jié)點取消用戶權限的過程包括以下步驟:
步驟401、業(yè)務系統(tǒng)節(jié)點查詢用戶數字證書和可用權限,生成注銷交易信息,發(fā)布到區(qū)塊鏈;
步驟402、排序和驗證節(jié)點根據收到的交易信息生成區(qū)塊鏈;
步驟403、所述的各個節(jié)點達成共識,更新本地賬本記錄;
步驟404、注銷用戶無法登陸所述的業(yè)務系統(tǒng)。
以上所述的實施例,只是本發(fā)明具體實施方式的一種,本領域的技術人員在本發(fā)明技術方案范圍內進行的通常變化和替換都應包含在本發(fā)明的保護范圍內。