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