本發(fā)明涉及信息安全的技術領域,更具體地說是指一種基于區(qū)塊鏈的網(wǎng)絡身份驗證方法與系統(tǒng)。
背景技術:
身份認證也稱為"身份驗證"或"身份鑒別",是指在計算機及計算機網(wǎng)絡系統(tǒng)中確認操作者身份的過程,從而確定該用戶是否具有對某種資源的訪問和使用權限,進而使計算機和網(wǎng)絡系統(tǒng)的訪問策略能夠可靠、有效地執(zhí)行,防止攻擊者假冒合法用戶獲得資源的訪問權限,保證系統(tǒng)和數(shù)據(jù)的安全,以及授權訪問者的合法利益。
目前網(wǎng)絡身份驗證的原理是通過調用開放接口來驗證身份,但是,很容易泄露用戶個人真實信息,且任何一個人都能通過接口隨意獲取某一個用戶的真實信息數(shù)據(jù),信用度低并且運行不穩(wěn)定。
因此,有必要設計一種基于區(qū)塊鏈的網(wǎng)絡身份驗證方法,實現(xiàn)不會造成真實身份泄露,提高信用度低,并且運行穩(wěn)定性好。
技術實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術的缺陷,提供一種基于區(qū)塊鏈的網(wǎng)絡身份驗證方法與系統(tǒng)。
為實現(xiàn)上述目的,本發(fā)明采用以下技術方案:一種基于區(qū)塊鏈的網(wǎng)絡身份驗證方法,包括以下步驟:
用戶以真實身份信息申請網(wǎng)絡身份ID;
區(qū)塊鏈系統(tǒng)與網(wǎng)絡身份ID發(fā)行機構同步數(shù)據(jù);
當用戶用網(wǎng)絡身份ID登錄到網(wǎng)站時,用網(wǎng)絡身份ID完成網(wǎng)絡身份驗證。
其進一步技術方案為:所述用戶以真實身份信息申請網(wǎng)絡身份ID的步驟中,所述真實身份信息包括身份證或學生證或港澳通行證。
其進一步技術方案為:所述用戶以真實身份信息申請網(wǎng)絡身份ID的步驟,包括以下具體步驟:
用戶以真實身份信息向網(wǎng)絡身份ID發(fā)行機構申請網(wǎng)絡身份ID;
網(wǎng)絡身份ID發(fā)行機構進行實名認證;
若實名認證不通過,則不能申請網(wǎng)絡身份ID;
或者,若實名認證通過,則給用戶一個網(wǎng)絡身份ID。
其進一步技術方案為:所述若實名認證通過,則給用戶一個網(wǎng)絡身份ID的步驟之后,還包括網(wǎng)絡身份ID發(fā)行機構記錄用戶的網(wǎng)絡身份ID。
其進一步技術方案為:所述若實名認證通過,則給用戶一個網(wǎng)絡身份ID的步驟,包括以下具體步驟:
用戶的身份信息+128位的隨機數(shù)組裝成字符串;
對字符串計算HASH值;
將計算所得HASH值作為網(wǎng)絡身份ID,反饋至用戶。
其進一步技術方案為:所述區(qū)塊鏈系統(tǒng)與網(wǎng)絡身份ID發(fā)行機構同步數(shù)據(jù)的步驟,包括以下具體步驟:
區(qū)塊鏈系統(tǒng)中某一個節(jié)點與網(wǎng)絡身份ID發(fā)行機構每隔一定時間進行同步數(shù)據(jù);
將所有發(fā)放的網(wǎng)絡身份ID同步并保存到區(qū)塊鏈系統(tǒng)中的節(jié)點上;
保存所有發(fā)放的網(wǎng)絡身份ID的節(jié)點將把同步到的網(wǎng)絡身份ID發(fā)送至其它的節(jié)點。
其進一步技術方案為:所述當用戶用網(wǎng)絡身份ID登錄到網(wǎng)站時,用網(wǎng)絡身份ID完成網(wǎng)絡身份驗證的步驟,包括以下具體步驟:
當用戶用網(wǎng)絡身份ID登錄到網(wǎng)站時,網(wǎng)站把網(wǎng)絡身份ID發(fā)送到最近的節(jié)點;
節(jié)點收到網(wǎng)站發(fā)送的請求后,在數(shù)據(jù)庫查詢該網(wǎng)絡身份ID是否存在;
若該網(wǎng)絡身份ID存在,則把驗證成功消息返回給網(wǎng)站;
或者,若該網(wǎng)絡身份ID不存在,則返回失敗消息給網(wǎng)站。
本發(fā)明還提供了一種基于區(qū)塊鏈的網(wǎng)絡身份驗證系統(tǒng),包括身份申請模塊、同步模塊以及身份驗證模塊;
所述身份申請模塊,用于用戶以真實身份信息申請網(wǎng)絡身份ID,與所述同步模塊連接;
所述同步模塊,用于區(qū)塊鏈系統(tǒng)與網(wǎng)絡身份ID發(fā)行機構同步數(shù)據(jù),與所述身份驗證模塊連接;
所述身份驗證模塊,用于當用戶用網(wǎng)絡身份ID登錄到網(wǎng)站時,用網(wǎng)絡身份ID完成網(wǎng)絡身份驗證。
其進一步技術方案為:所述身份申請模塊包括發(fā)送請求子模塊、實名認證子模塊以及下發(fā)身份子模塊;
所述發(fā)送請求子模塊,用于用戶以真實身份信息向網(wǎng)絡身份ID發(fā)行機構申請網(wǎng)絡身份ID,與所述實名認證子模塊連接;
所述實名認證子模塊,用于網(wǎng)絡身份ID發(fā)行機構進行實名認證,與所述下發(fā)身份子模塊連接;
所述下發(fā)身份子模塊,用于給用戶一個網(wǎng)絡身份ID,與所述同步模塊連接。
其進一步技術方案為:所述同步模塊包括同步數(shù)據(jù)子模塊、保存子模塊以及發(fā)放子模塊;
所述同步數(shù)據(jù)子模塊,用于區(qū)塊鏈系統(tǒng)中某一個節(jié)點與網(wǎng)絡身份ID發(fā)行機構每隔一定時間進行同步數(shù)據(jù),與所述下發(fā)身份子模塊連接;
所述保存子模塊,用于將所有發(fā)放的網(wǎng)絡身份ID同步并保存到區(qū)塊鏈系統(tǒng)中的節(jié)點上,與所述同步數(shù)據(jù)子模塊連接;
所述發(fā)放子模塊,用于保存所有發(fā)放的網(wǎng)絡身份ID的節(jié)點將把同步到的網(wǎng)絡身份ID發(fā)送至其它的節(jié)點,分別與所述保存子模塊以及所述身份驗證模塊連接。
本發(fā)明與現(xiàn)有技術相比的有益效果是:本發(fā)明的一種基于區(qū)塊鏈的網(wǎng)絡身份驗證方法,通過預先申請網(wǎng)絡身份ID,并記錄在網(wǎng)絡身份ID發(fā)行機構,區(qū)塊鏈系統(tǒng)中的每個節(jié)點內(nèi)的數(shù)據(jù)都與網(wǎng)絡身份ID發(fā)行機構同步,在進行網(wǎng)絡身份驗證時,對網(wǎng)絡身份ID進行驗證即可,只需要給出對應網(wǎng)絡身份ID,不會造成真實身份泄露,由于區(qū)塊鏈的去中心、可信任、不可篡改的特點,能大大的提高信用度,只要區(qū)塊鏈系統(tǒng)中有部分節(jié)點還在運行,就能保證整個系統(tǒng)的運行,提高了運行穩(wěn)定性。
下面結合附圖和具體實施例對本發(fā)明作進一步描述。
附圖說明
圖1為本發(fā)明具體實施例提供的一種基于區(qū)塊鏈的網(wǎng)絡身份驗證方法的流程框圖;
圖2為本發(fā)明具體實施例提供的申請網(wǎng)絡身份ID的具體流程框圖;
圖3為本發(fā)明具體實施例提供的網(wǎng)絡身份ID生成的具體流程框圖;
圖4為本發(fā)明具體實施例提供的同步數(shù)據(jù)的具體流程框圖;
圖5為本發(fā)明具體實施例提供的用網(wǎng)絡身份ID完成網(wǎng)絡身份驗證的具體流程框圖;
圖6為本發(fā)明具體實施例提供的一種基于區(qū)塊鏈的網(wǎng)絡身份驗證系統(tǒng)的結構框圖。
具體實施方式
為了更充分理解本發(fā)明的技術內(nèi)容,下面結合具體實施例對本發(fā)明的技術方案進一步介紹和說明,但不局限于此。
如圖1~6所示的具體實施例,本實施例提供的一種基于區(qū)塊鏈的網(wǎng)絡身份驗證方法,可以運用在計算機及計算機網(wǎng)絡系統(tǒng)中確認操作者身份的過程,實現(xiàn)利用網(wǎng)絡身份ID完成身份驗證,不會造成真實身份泄露,提高信用度低,并且運行穩(wěn)定性好。
如圖1所示,一種基于區(qū)塊鏈的網(wǎng)絡身份驗證方法,包括以下步驟:
S1、用戶以真實身份信息申請網(wǎng)絡身份ID;
S2、區(qū)塊鏈系統(tǒng)與網(wǎng)絡身份ID發(fā)行機構同步數(shù)據(jù);
S3、當用戶用網(wǎng)絡身份ID登錄到網(wǎng)站時,用網(wǎng)絡身份ID完成網(wǎng)絡身份驗證。
上述的S1步驟,用戶以真實身份信息申請網(wǎng)絡身份ID,目的在于以網(wǎng)絡身份ID證書來標識用戶身份,其中不包括用戶的真實信息,避免用戶信息的泄漏,提高整個網(wǎng)絡的可信度,這里的網(wǎng)絡身份ID其實就是一段字符串
另外,上述的S1步驟,用戶以真實身份信息申請網(wǎng)絡身份ID的步驟中,所述真實身份信息包括身份證或學生證或港澳通行證。
當然,于其他實施例,上述的真實身份信息還可以包括其他證件,比如同鄉(xiāng)證等。
更進一步的,如圖2所示,上述的S1步驟,用戶以真實身份信息申請網(wǎng)絡身份ID的步驟,包括以下具體步驟:
S11、用戶以真實身份信息向網(wǎng)絡身份ID發(fā)行機構申請網(wǎng)絡身份ID;
S12、網(wǎng)絡身份ID發(fā)行機構進行實名認證;
S13、若實名認證不通過,則不能申請網(wǎng)絡身份ID;
S14、或者,若實名認證通過,則給用戶一個網(wǎng)絡身份ID。
所述若實名認證通過,則給用戶一個網(wǎng)絡身份ID的步驟之后,還包括S15、網(wǎng)絡身份ID發(fā)行機構記錄用戶的網(wǎng)絡身份ID,這樣所有申請過的用戶都在網(wǎng)絡身份ID發(fā)行機構有記錄,便于后續(xù)的數(shù)據(jù)同步。
另外,該網(wǎng)絡身份ID的載體可以是USBKEY、銀行卡、手機卡等等。
更進一步的,如圖3所示,S14的步驟,若實名認證通過,則給用戶一個網(wǎng)絡身份ID的步驟,包括以下具體步驟:
S141、用戶的身份信息+128位的隨機數(shù)組裝成字符串;
S142、對字符串計算HASH值;
S143、將計算所得HASH值作為網(wǎng)絡身份ID,反饋至用戶。
采用HASH值作為網(wǎng)絡身份ID,在對網(wǎng)絡身份ID進行驗證時,具體是對HASH值的一串數(shù)字進行驗證,驗證過程簡單、高效并且準確率高,并且,防止發(fā)生重復的可能。
具體的,上述的S141步驟,用戶的身份信息+128位的隨機數(shù)組裝成字符串,這里的用戶的身份信息可以為用戶的身份證號。
如圖4所示,所述S2步驟,區(qū)塊鏈系統(tǒng)與網(wǎng)絡身份ID發(fā)行機構同步數(shù)據(jù)的步驟,包括以下具體步驟:
S21、區(qū)塊鏈系統(tǒng)中某一個節(jié)點與網(wǎng)絡身份ID發(fā)行機構每隔一定時間進行同步數(shù)據(jù);
S22、將所有發(fā)放的網(wǎng)絡身份ID同步并保存到區(qū)塊鏈系統(tǒng)中的節(jié)點上;
S23、保存所有發(fā)放的網(wǎng)絡身份ID的節(jié)點將把同步到的網(wǎng)絡身份ID發(fā)送至其它的節(jié)點。
上述的S23步驟,可以保證任意一個節(jié)點上的數(shù)據(jù)都是最新的,提高身份驗證的準確度。
并且,對于S2步驟,區(qū)塊鏈系統(tǒng)與網(wǎng)絡身份ID發(fā)行機構同步數(shù)據(jù),利用由于區(qū)塊鏈的去中心、可信任、不可篡改的特點,能大大的提高信用度。
更進一步的,如圖5所示,上述的S3步驟,當用戶用網(wǎng)絡身份ID登錄到網(wǎng)站時,用網(wǎng)絡身份ID完成網(wǎng)絡身份驗證的步驟,包括以下具體步驟:
S31、當用戶用網(wǎng)絡身份ID登錄到網(wǎng)站時,網(wǎng)站把網(wǎng)絡身份ID發(fā)送到最近的節(jié)點;
S32、節(jié)點收到網(wǎng)站發(fā)送的請求后,在數(shù)據(jù)庫查詢該網(wǎng)絡身份ID是否存在;
S33、若該網(wǎng)絡身份ID存在,則把驗證成功消息返回給網(wǎng)站;
S34、或者,若該網(wǎng)絡身份ID不存在,則返回失敗消息給網(wǎng)站。
上述的步驟S31,當用戶用網(wǎng)絡身份ID登錄到網(wǎng)站時,網(wǎng)站把網(wǎng)絡身份ID發(fā)送到最近的節(jié)點,在進行網(wǎng)絡身份驗證時,只需要給出對應網(wǎng)絡身份ID,從而不會造成真實身份泄露。
另外,S32步驟以及S33、S34步驟,對于網(wǎng)站與區(qū)塊鏈系統(tǒng)作交互,不再是傳統(tǒng)單一的服務器,提高了運行穩(wěn)定性,只要區(qū)塊鏈系統(tǒng)中有部分節(jié)點還在運行,就能保證整個系統(tǒng)的運行。
上述的一種基于區(qū)塊鏈的網(wǎng)絡身份驗證方法,通過預先申請網(wǎng)絡身份ID,并記錄在網(wǎng)絡身份ID發(fā)行機構,區(qū)塊鏈系統(tǒng)中的每個節(jié)點內(nèi)的數(shù)據(jù)都與網(wǎng)絡身份ID發(fā)行機構同步,在進行網(wǎng)絡身份驗證時,對網(wǎng)絡身份ID進行驗證即可,只需要給出對應網(wǎng)絡身份ID,不會造成真實身份泄露,由于區(qū)塊鏈的去中心、可信任、不可篡改的特點,能大大的提高信用度,只要區(qū)塊鏈系統(tǒng)中有部分節(jié)點還在運行,就能保證整個系統(tǒng)的運行,提高了運行穩(wěn)定性。
如圖6所示,是本實施例提出的一種基于區(qū)塊鏈的網(wǎng)絡身份驗證系統(tǒng),包括身份申請模塊、同步模塊以及身份驗證模塊;
身份申請模塊,用于用戶以真實身份信息申請網(wǎng)絡身份ID,與同步模塊連接;
同步模塊,用于區(qū)塊鏈系統(tǒng)與網(wǎng)絡身份ID發(fā)行機構同步數(shù)據(jù),與身份驗證模塊連接;
身份驗證模塊,用于當用戶用網(wǎng)絡身份ID登錄到網(wǎng)站時,用網(wǎng)絡身份ID完成網(wǎng)絡身份驗證。
更進一步的,身份申請模塊包括發(fā)送請求子模塊10、實名認證子模塊20以及下發(fā)身份子模塊30;
發(fā)送請求子模塊10,用于用戶以真實身份信息向網(wǎng)絡身份ID發(fā)行機構申請網(wǎng)絡身份ID,與實名認證子模塊20連接;
實名認證子模塊20,用于網(wǎng)絡身份ID發(fā)行機構進行實名認證,與下發(fā)身份子模塊30連接;
下發(fā)身份子模塊30,用于給用戶一個網(wǎng)絡身份ID,與同步模塊連接。
另外,同步模塊包括同步數(shù)據(jù)子模塊40、保存子模塊50以及發(fā)放子模塊60;
同步數(shù)據(jù)子模塊40,用于區(qū)塊鏈系統(tǒng)中某一個節(jié)點與網(wǎng)絡身份ID發(fā)行機構每隔一定時間進行同步數(shù)據(jù),與下發(fā)身份子模塊30連接;
保存子模塊50,用于將所有發(fā)放的網(wǎng)絡身份ID同步并保存到區(qū)塊鏈系統(tǒng)中的節(jié)點上,與同步數(shù)據(jù)子模塊40連接;
發(fā)放子模塊60,用于保存所有發(fā)放的網(wǎng)絡身份ID的節(jié)點將把同步到的網(wǎng)絡身份ID發(fā)送至其它的節(jié)點,分別與保存子模塊50以及身份驗證模塊連接。
身份驗證模塊包括發(fā)送身份子模塊70、查詢子模塊80以及通知子模塊90,發(fā)送身份子模塊70,用于當用戶用網(wǎng)絡身份ID登錄到網(wǎng)站時,網(wǎng)站把網(wǎng)絡身份ID發(fā)送到最近的節(jié)點,與所述發(fā)放子模塊60連接;查詢子模塊80,用于節(jié)點收到網(wǎng)站發(fā)送的請求后,在數(shù)據(jù)庫查詢該網(wǎng)絡身份ID是否存在,與發(fā)送身份子模塊70連接;通知子模塊90,用于把驗證成功消息返回給網(wǎng)站或者返回失敗消息給網(wǎng)站,與查詢子模塊80連接。
上述的一種基于區(qū)塊鏈的網(wǎng)絡身份驗證系統(tǒng),通過身份申請模塊預先申請網(wǎng)絡身份ID,并記錄在網(wǎng)絡身份ID發(fā)行機構,同步模塊將區(qū)塊鏈系統(tǒng)中的每個節(jié)點內(nèi)的數(shù)據(jù)與網(wǎng)絡身份ID發(fā)行機構同步,在進行網(wǎng)絡身份驗證時,利用身份驗證模塊對網(wǎng)絡身份ID進行驗證即可,只需要給出對應網(wǎng)絡身份ID,不會造成真實身份泄露,由于區(qū)塊鏈的去中心、可信任、不可篡改的特點,能大大的提高信用度,只要區(qū)塊鏈系統(tǒng)中有部分節(jié)點還在運行,就能保證整個系統(tǒng)的運行,提高了運行穩(wěn)定性。
上述僅以實施例來進一步說明本發(fā)明的技術內(nèi)容,以便于讀者更容易理解,但不代表本發(fā)明的實施方式僅限于此,任何依本發(fā)明所做的技術延伸或再創(chuàng)造,均受本發(fā)明的保護。本發(fā)明的保護范圍以權利要求書為準。