新四季網

基於區塊鏈的身份認證方法、認證伺服器及用戶終端與流程

2023-10-05 13:47:39 1


本申請實施例涉及身份識別技術領域,尤其涉及基基於區塊鏈的身份認證方法、認證伺服器及用戶終端。



背景技術:

身份認證,是指在計算機及計算機網絡系統中確認操作者身份的過程,從而確定該用戶是否具有對某種資源的訪問和使用權限,進而使計算機和網絡系統的訪問策略能夠可靠、有效地執行,防止攻擊者假冒合法用戶獲得資源的訪問權限,保證系統和數據的安全,以及授權訪問者的合法利益。

如圖1所示,在傳統第三方身份認證系統中,假設應用伺服器A需要確認用戶B的身份,主要流程如下:1.1、用戶B向第三方認證伺服器C發送身份認證請求,請求中包含應用伺服器A要求的信息;1.2、第三方認證伺服器C對收到的請求進行驗證,通過後對應用伺服器A要求的信息進行籤名,然後將認證信息返回給用戶B,認證信息包含上述的籤名;1.3、用戶B向應用伺服器A發送認證信息,認證信息中包含上述的籤名;1.4、應用伺服器A根據籤名對用戶B的身份進行驗證,最後向用戶B返回認證結果。

但是,發明人在實現本發明的過程中發現,現有技術中的方式至少存在下述問題:在傳統第三方身份認證系統中,第三方認證伺服器將收到用戶登錄應用伺服器的信息,如果第三方認證伺服器出現信息洩露將會對用戶和應用伺服器造成重大風險。



技術實現要素:

鑑於上述問題,提出了本申請實施例以便提供一種解決上述問題的基於區塊鏈的身份認證方法、認證伺服器及用戶終端。

依據本申請實施例的一個方面,提供了一種基於區塊鏈的身份認證方法,包括:對用戶終端發送的身份註冊信息進行籤名,將籤名後的身份註冊信息提供給用戶終端;接收用戶終端根據籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊後發送的身份認證請求;根據身份認證請求向用戶終端返回身份認證信息;接收智能合約根據用戶終端提供的身份認證信息生成的程序運行結果,根據程序運行結果對用戶終端的身份進行驗證。

依據本申請實施例的另一個方面,提供了一種基於區塊鏈的身份認證方法,包括:向認證伺服器發送身份註冊信息,接收認證伺服器對身份註冊信息進行籤名後返回的籤名後的身份註冊信息;根據籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊;註冊成功後向認證伺服器發送身份認證請求,接收認證伺服器返回的身份認證信息;將身份認證信息提供給智能合約,以供智能合約根據身份認證信息生成程序運行結果,程序運行結果用於提供給認證伺服器進行身份驗證。

依據本申請實施例的另一個方面,提供了一種認證伺服器,包括:籤名模塊,用於對用戶終端發送的身份註冊信息進行籤名,將籤名後的身份註冊信息提供給用戶終端;接收模塊,用於接收用戶終端根據籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊後發送的身份認證請求;認證模塊,用於根據身份認證請求向用戶終端返回身份認證信息;驗證模塊,用於接收智能合約根據用戶終端提供的身份認證信息生成的程序運行結果,根據程序運行結果對用戶終端的身份進行驗證。

依據本申請實施例的另一個方面,提供了一種用戶終端,包括:籤名接收模塊,用於向認證伺服器發送身份註冊信息,接收認證伺服器對身份註冊信息進行籤名後返回的籤名後的身份註冊信息;身份註冊模塊,用於根據籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊;認證請求模塊,用於註冊成功後向認證伺服器發送身份認證請求,接收認證伺服器返回的身份認證信息;認證信息傳遞模塊,用於將身份認證信息提供給智能合約,以供智能合約根據身份認證信息生成程序運行結果,程序運行結果用於提供給認證伺服器進行身份驗證。

在本申請實施例提供的一種基於區塊鏈的身份認證方法、認證伺服器及用戶終端中,能夠將用戶身份認證信息寫入智能合約中,並利用區塊鏈的智能合約來校驗用戶信息。由此一來,一方面,將認證信息上傳區塊鏈中的智能合約,能夠有效利用區塊鏈不易篡改、安全性高的優勢;另一方面,由於區塊鏈中的智能合約本身是一段可以自動運行的程序,可以根據輸入參數自動驗證合約中的信息,利用智能合約驗證用戶信息使得驗證結構更為簡單高效。由此可見,本申請實施例中的身份認證方式能夠兼顧信息的安全性與高效性。

上述說明僅是本申請實施例技術方案的概述,為了能夠更清楚了解本申請實施例的技術手段,而可依照說明書的內容予以實施,並且為了讓本申請實施例的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本申請的具體實施方式。

附圖說明

一個或多個實施例通過與之對應的附圖中的圖片進行示例性說明,這些示例性說明並不構成對實施例的限定,附圖中具有相同參考數字標號的元件表示為類似的元件,除非有特別申明,附圖中的圖不構成比例限制。

圖1是現有技術中身份認證方法的交互序列圖;

圖2是本申請實施例一提供的一種基於區塊鏈的身份認證方法的流程圖;

圖3是本申請實施例二提供的一種基於區塊鏈的身份認證方法的流程圖;

圖4是本申請實施例三提供的一種基於區塊鏈的身份認證方法的流程圖;

圖5是本申請實施例四提供的一種認證伺服器的結構示意圖;

圖6是本申請實施例五提供的一種認證伺服器的結構示意圖;

圖7是本申請實施例六提供的一種用戶終端的結構示意圖;

圖8是本申請實施例提供的身份認證方法中身份註冊流程的交互序列圖;

圖9是本申請實施例提供的身份認證方法中身份認證流程的交互序列圖。

具體實施方式

下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。

實施例一

圖2是本申請實施例一提供的一種基於區塊鏈的身份認證方法的流程圖。如圖2所示,該方法包括:

步驟S210:對用戶終端發送的身份註冊信息進行籤名,將籤名後的身份註冊信息提供給用戶終端。

在本實施例中,為了避免用戶終端的身份認證請求被劫持或者被冒名頂替,在進行認證操作前,需要將用戶終端註冊到區塊鏈中的智能合約中。因此,需要對用戶終端發送的身份註冊信息進行籤名,以保證身份註冊信息的準確性和真實性,然後將籤名後的身份註冊信息提供給用戶終端,方便其將籤名後的身份註冊信息發送給區塊鏈中的智能合約。

步驟S220:接收用戶終端根據籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊後發送的身份認證請求。

在步驟S220中,僅接收完成了身份註冊的用戶終端發送的身份認證請求,由此可以保證發送身份認證請求的用戶終端是真實正確的用戶終端,而非假冒偽裝的用戶終端。

其中,智能合約是指一套以數字形式定義的承諾,包括合約參與方可以在上面執行這些承諾的協議。其中,承諾指的是合約參與方同意的(經常是相互的)權利和義務。這些承諾定義了合約的本質和目的;而數字形式表明智能合約建立的權利和義務,是由一臺計算機或者計算機網絡執行的。而區塊鏈技術是比特幣的底層技術,實質上是一個分布式的資料庫帳本,記載了所有的交易記錄。區塊鏈是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一次比特幣網絡交易的信息,用於驗證其信息的有效性(防偽)和生成下一個區塊。這項技術也因其安全、便捷的特性逐漸得到了銀行與金融業的關注。目前越來越多的領域嘗試使用區塊鏈技術來解決現有的問題和不足。

相應的,與區塊鏈結合的智能合約是一段代碼和數據的集合,部署在區塊鏈網絡上運行。同時智能合約有自己的區塊鏈帳戶,在時間或事件的驅動下能自動執行一些功能,如可以在相互之間傳遞信息,修改區塊鏈的狀態比如帳戶信息等。與區塊鏈結合的智能合約最大的特點是圖靈完備,通俗來說可以完全模擬一臺計算機所能做的所有事情。

步驟S230:根據身份認證請求向用戶終端返回身份認證信息。

在收到用戶終端發送的身份認證請求後,根據身份認證請求中的相關信息生成對應的身份認證信息,並將該身份認證信息返回給發送請求的用戶終端。

步驟S240:接收智能合約根據用戶終端提供的身份認證信息生成的程序運行結果,根據程序運行結果對用戶終端的身份進行驗證。

用戶終端將上述身份認證信息發送到區塊鏈中的智能合約中後,智能合約將執行寫入數據操作,將上述身份認證信息寫入到智能合約中。在智能合約完成寫入數據操作後,接收其發送的程序運行結果,對上述程序運行結果進行比對驗證,最後將身份驗證結果發送給用戶終端。由此完成整個身份認證過程。

綜上所述,本申請實施例提供的一種基於區塊鏈的身份認證方法,一方面,將認證信息上傳區塊鏈中的智能合約,能夠有效利用區塊鏈不易篡改、安全性高的優勢;另一方面,由於區塊鏈中的智能合約本身是一段可以自動運行的程序,可以根據輸入參數自動驗證合約中的信息,利用智能合約驗證用戶信息使得驗證結構更為簡單高效。由此可見,本申請實施例中的身份認證方式能夠兼顧信息的安全性與高效性。

實施例二

圖3是本申請實施例二提供的一種基於區塊鏈的身份認證方法的流程圖,該方法的執行主體優選為認證伺服器。如圖3所示,該方法包括:

步驟S310:將預設的智能合約廣播到區塊鏈中。

具體地,將預設的智能合約以區塊鏈交易的形式廣播到區塊鏈網絡上,經過多數節點的驗證,使該智能合約達成區塊鏈網絡上的共識,然後該智能合約便可以運行在區塊鏈網絡上。其中,上述智能合約的結構分為四個部分,分別是智能合約區塊鏈帳戶地址、預存的認證伺服器公鑰、數據部分和程序部分,且該智能合約的程序部分能夠實現兩個功能,一是向數據部分寫入數據,即用於對接收到的數據執行數據寫入操作;二是校驗已寫入數據部分中的數據,即根據預存的認證伺服器的公鑰與接收到的籤名內容和籤名來校驗籤名真偽。

步驟S320:對用戶終端發送的身份註冊信息進行籤名,將籤名後的身份註冊信息提供給用戶終端。

在本實施例中,為了避免用戶終端的身份認證請求被劫持或者被冒名頂替,在進行認證操作前,需要將用戶終端註冊到區塊鏈中的智能合約中。因此,需要對用戶終端發送的身份註冊信息進行籤名,以保證身份註冊信息的準確性和真實性,然後將籤名後的身份註冊信息提供給用戶終端,方便其將籤名後的身份註冊信息發送給區塊鏈中的智能合約。其中,上述身份註冊信息包括但不限於用戶終端的區塊鏈帳戶或用戶名。

步驟S330:接收用戶終端根據籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊後發送的身份認證請求。

其中,用戶終端根據籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊的步驟具體包括:用戶終端將籤名後的身份註冊信息、認證伺服器的區塊鏈帳戶地址以及智能合約的區塊鏈帳戶地址發送給智能合約;智能合約根據認證伺服器的區塊鏈帳戶地址確定認證伺服器的公鑰,根據公鑰對籤名後的身份註冊信息進行校驗,並將校驗結果提供給用戶終端以及認證伺服器。

在步驟S330中,僅接收完成了身份註冊的用戶終端發送的身份認證請求,由此可以保證發送身份認證請求的用戶終端是真實正確的用戶終端,而非假冒偽裝的用戶終端。其中,身份認證請求包括登錄類型的身份認證請求以及註銷類型的身份認證請求。

步驟S340:根據身份認證請求向用戶終端返回身份認證信息。

具體地,在收到用戶終端發送的身份認證請求後,隨機生成身份認證信息,將身份認證信息返回給用戶終端。其中,所述身份認證信息包括:隨機數和/或隨機序列。

步驟S350:接收智能合約根據用戶終端提供的身份認證信息生成的程序運行結果,根據程序運行結果對用戶終端的身份進行驗證。

用戶終端將上述身份認證信息發送到區塊鏈中的智能合約中後,智能合約將執行寫入數據操作,將上述身份認證信息寫入到智能合約中。在智能合約完成寫入數據操作後,接收其發送的程序運行結果,對上述程序運行結果進行比對驗證,最後將身份驗證結果發送給用戶終端。由此完成整個身份認證過程。

其中,程序運行結果具體包括:智能合約根據身份認證信息執行寫入操作後的寫入操作結果,以及智能合約根據身份認證信息以及預存的認證伺服器的公鑰進行校驗後的校驗操作結果。對應地,上述根據程序運行結果對用戶終端的身份進行驗證的步驟具體包括:當程序運行結果與身份認證信息匹配時,確定用戶終端的身份驗證結果為成功;當程序運行結果與身份認證信息不匹配時,確定用戶終端的身份驗證結果為失敗。

綜上所述,本申請實施例提供的一種基於區塊鏈的身份認證方法能夠將用戶身份認證信息寫入智能合約中,並利用區塊鏈的智能合約來校驗用戶信息。由此一來,一方面,將認證信息上傳區塊鏈中的智能合約,能夠有效利用區塊鏈不易篡改、安全性高的優勢;另一方面,由於區塊鏈中的智能合約本身是一段可以自動運行的程序,可以根據輸入參數自動驗證合約中的信息,利用智能合約驗證用戶信息使得驗證結構更為簡單高效。由此可見,本申請實施例中的身份認證方式能夠兼顧信息的安全性與高效性。

實施例三

圖4是本申請實施例三提供的一種基於區塊鏈的身份認證方法的流程圖,圖4所示的方法的執行主體可以為用戶終端。如圖4所示,該方法包括:

步驟S410:向認證伺服器發送身份註冊信息,接收認證伺服器對身份註冊信息進行籤名後返回的籤名後的身份註冊信息。

在本實施例中,為了避免用戶終端的身份認證請求被劫持或者被冒名頂替,在進行認證操作前,需要將用戶終端註冊到區塊鏈中的智能合約中。因此,用戶終端需要向認證伺服器發送身份註冊信息,並接收經過認證伺服器籤名後的身份註冊信息。通過認證伺服器的籤名可以保證身份註冊信息的準確性和真實性。

步驟S420:根據所述籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊。

具體地,將籤名後的身份註冊信息、認證伺服器的區塊鏈帳戶地址以及智能合約的區塊鏈帳戶地址發送給智能合約;則智能合約根據認證伺服器的區塊鏈帳戶地址確定認證伺服器的公鑰,根據公鑰對籤名後的身份註冊信息進行校驗,並將校驗結果提供給用戶終端以及認證伺服器。

步驟S430:註冊成功後向認證伺服器發送身份認證請求,接收認證伺服器返回的身份認證信息。

在註冊成功後,用戶終端向認證伺服器發送身份認證請求,該請求包括但不限於登錄類型的請求和註銷類型的請求。接收認證伺服器返回的身份認證信息,該信息中包含了認證伺服器隨機生成的隨機數和/或隨機序列。

步驟S440:將身份認證信息提供給智能合約,以供智能合約根據身份認證信息生成程序運行結果,程序運行結果用於提供給認證伺服器進行身份驗證。

具體地,用戶終端將身份認證信息發送給區塊鏈網絡中的智能合約,智能合約的程序部分根據該身份認證信息執行寫入數據功能,將認證隨機信息寫入智能合約的數據部分,之後認證伺服器將根據智能合約的程序運行結果對認證信息進行驗證,最後將驗證結果發送給用戶終端。

綜上所述,本申請實施例提供的一種基於區塊鏈的身份認證方法能夠將用戶身份認證信息寫入智能合約中,並利用區塊鏈的智能合約來校驗用戶信息。由此一來,一方面,將認證信息上傳區塊鏈中的智能合約,能夠有效利用區塊鏈不易篡改、安全性高的優勢;另一方面,由於區塊鏈中的智能合約本身是一段可以自動運行的程序,可以根據輸入參數自動驗證合約中的信息,利用智能合約驗證用戶信息使得驗證結構更為簡單高效。由此可見,本申請實施例中的身份認證方式能夠兼顧信息的安全性與高效性。

為了便於理解本發明,下面結合兩幅流程交互圖進一步詳細闡述上述方法的具體實現細節:

圖8是本申請實施例提供的身份認證方法中身份註冊流程的交互序列圖,具體流程為:8.1、用戶終端向認證伺服器發送身份註冊請求,該請求包含身份註冊信息,該身份註冊信息中包括但不限於用戶終端的區塊鏈帳戶地址或用戶名;8.2、認證伺服器對身份註冊信息中的信息進行籤名,並將籤名後的身份註冊信息回復給用戶終端;8.3、用戶終端將註冊所需的信息發送給區塊鏈網絡中的智能合約,該信息包括認證伺服器的區塊鏈帳戶地址、籤名、所籤名的內容和智能合約的區塊鏈帳戶地址;8.4、智能合約的程序部分執行校驗數據功能,將籤名、所籤名的內容和智能合約中預存的認證伺服器公鑰進行校驗,最後將校驗結果發送給用戶終端。由此完成整個身份註冊流程。

圖9是本申請實施例提供的身份認證方法中身份認證流程的交互序列圖,具體流程為:9.1、用戶終端向認證伺服器發送身份認證請求,該請求包括但不限於登錄和註銷等類型,請求內容中包括用戶終端的區塊鏈帳戶地址;9.2、認證伺服器收到認證請求後隨即生成認證信息,並將隨即生成的認證信息回復給用戶終端,該認證信息可以是隨機數或隨即序列;9.3、用戶終端將認證信息發送給區塊鏈網絡中的智能合約,此時智能合約的程序部分會執行數據寫入功能,將認證信息寫入智能合約的數據部分,該認證信息包括用戶終端的區塊鏈帳戶地址、隨即生成的認證信息和智能合約的區塊鏈帳戶地址;9.4、一旦智能合約的數據部分發生變化,認證伺服器就會接收到由智能合約發送的認證結果(即數據信息和程序執行結果);9.5、認證伺服器根據接收到的數據信息和程序執行結果與認證伺服器本地存儲的認證信息進行對比驗證,最後將認證結果發送給用戶終端。由此完成整個身份認證流程。

實施例四

圖5是本申請實施例四提供的一種認證伺服器的結構示意圖。如圖5所示,該認證伺服器包括:籤名模塊510、接收模塊520、認證模塊530和驗證模塊540。

籤名模塊510,用於對用戶終端發送的身份註冊信息進行籤名,將籤名後的身份註冊信息提供給所述用戶終端。

在本實施例中,為了避免用戶終端的身份認證請求被劫持或者被冒名頂替,在進行認證操作前,需要將用戶終端註冊到區塊鏈中的智能合約中。因此,籤名模塊510需要對用戶終端發送的身份註冊信息進行籤名,以保證身份註冊信息的準確性和真實性,然後將籤名後的身份註冊信息提供給用戶終端,方便其將籤名後的身份註冊信息發送給區塊鏈中的智能合約。

接收模塊520,用於接收用戶終端根據籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊後發送的身份認證請求。

接收模塊520僅接收完成了身份註冊的用戶終端發送的身份認證請求,由此可以保證發送身份認證請求的用戶終端是真實正確的用戶終端,而非假冒偽裝的用戶終端。

認證模塊530,用於根據身份認證請求向用戶終端返回身份認證信息。

認證模塊530在收到用戶終端發送的身份認證請求後,根據身份認證請求中的相關信息生成對應的身份認證信息,並將該身份認證信息返回給發送請求的用戶終端。

驗證模塊540,用於接收智能合約根據用戶終端提供的身份認證信息生成的程序運行結果,根據程序運行結果對用戶終端的身份進行驗證。

用戶終端將上述身份認證信息發送到區塊鏈中的智能合約中後,智能合約將執行寫入數據操作,將上述身份認證信息寫入到智能合約中。在智能合約完成寫入數據操作後,驗證模塊540接收智能合約發送的程序運行結果,對上述程序運行結果進行比對驗證,最後將身份驗證結果發送給用戶終端。由此完成整個身份認證過程。

由此可見,本申請實施例提供的一種身份認證伺服器,一方面,將認證信息上傳區塊鏈中的智能合約,能夠有效利用區塊鏈不易篡改、安全性高的優勢;另一方面,由於區塊鏈中的智能合約本身是一段可以自動運行的程序,可以根據輸入參數自動驗證合約中的信息,利用智能合約驗證用戶信息使得驗證結構更為簡單高效。由此可見,本申請實施例中的身份認證方式能夠兼顧信息的安全性與高效性。

實施例五

圖6是本申請實施例五提供的一種認證伺服器的結構示意圖。如圖6所示,該認證伺服器包括:廣播模塊610、籤名模塊620、接收模塊630、認證模塊640和驗證模塊650。

廣播模塊610,用於將預設的智能合約廣播到區塊鏈中。

具體地,廣播模塊610將預設的智能合約以區塊鏈交易的形式廣播到區塊鏈網絡上,經過多數節點的驗證,使該智能合約搭乘區塊鏈網絡上的共識,然後該智能合約便可以運行在區塊鏈網絡上。其中,上述智能合約的結構分為四個部分,分別是智能合約區塊鏈帳戶地址、預存的認證伺服器公鑰、數據部分和程序部分,且該智能合約的程序部分能夠實現兩個功能,一是向數據部分寫入數據,即用於對接收到的數據執行數據寫入操作;二是校驗已寫入數據部分中的數據,即根據預存的認證伺服器的公鑰與接收到的籤名內容和籤名來校驗籤名真偽。

籤名模塊620,用於對用戶終端發送的身份註冊信息進行籤名,將籤名後的身份註冊信息提供給用戶終端。

在本實施例中,為了避免用戶終端的身份認證請求被劫持或者被冒名頂替,在進行認證操作前,需要將用戶終端註冊到區塊鏈中的智能合約中。因此,籤名模塊620需要對用戶終端發送的身份註冊信息進行籤名,以保證身份註冊信息的準確性和真實性,然後將籤名後的身份註冊信息提供給用戶終端,方便其將籤名後的身份註冊信息發送給區塊鏈中的智能合約。其中,上述身份註冊信息包括但不限於用戶終端的區塊鏈帳戶或用戶名。

接收模塊630,用於接收用戶終端根據籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊後發送的身份認證請求。

接收模塊630僅接收完成了身份註冊的用戶終端發送的身份認證請求,由此可以保證發送身份認證請求的用戶終端是真實正確的用戶終端,而非假冒偽裝的用戶終端。其中,身份認證請求包括登錄類型的身份認證請求以及註銷類型的身份認證請求。

認證模塊640,用於根據身份認證請求向用戶終端返回身份認證信息。

具體地,認證模塊640在收到用戶終端發送的身份認證請求後,隨機生成身份認證信息,將身份認證信息返回給用戶終端。其中,所述身份認證信息包括:隨機數和/或隨機序列。

驗證模塊650,用於接收智能合約根據用戶終端提供的身份認證信息生成的程序運行結果,根據程序運行結果對用戶終端的身份進行驗證。

用戶終端將上述身份認證信息發送到區塊鏈中的智能合約中後,智能合約將執行寫入數據操作,將上述身份認證信息寫入到智能合約中。在智能合約完成寫入數據操作後,驗證模塊650接收其發送的程序運行結果,對上述程序運行結果進行比對驗證,最後將身份驗證結果發送給用戶終端。由此完成整個身份認證過程。

其中,程序運行結果具體包括:智能合約根據身份認證信息執行寫入操作後的寫入操作結果,以及智能合約根據身份認證信息以及預存的認證伺服器的公鑰進行校驗後的校驗操作結果。對應地,驗證模塊650具體用於當程序運行結果與身份認證信息匹配時,確定用戶終端的身份驗證結果為成功;當程序運行結果與身份認證信息不匹配時,確定用戶終端的身份驗證結果為失敗。

上述各個模塊的具體工作原理可參照方法實施例中相應步驟的描述,此處不再贅述。

由此可見,本申請實施例提供的一種認證伺服器能夠將用戶身份認證信息寫入智能合約中,並利用區塊鏈的智能合約來校驗用戶信息。由此一來,一方面,將認證信息上傳區塊鏈中的智能合約,能夠有效利用區塊鏈不易篡改、安全性高的優勢;另一方面,由於區塊鏈中的智能合約本身是一段可以自動運行的程序,可以根據輸入參數自動驗證合約中的信息,利用智能合約驗證用戶信息使得驗證結構更為簡單高效。由此可見,本申請實施例中的身份認證方式能夠兼顧信息的安全性與高效性。

實施例六

圖7是本申請實施例六提供的一種用戶終端的結構示意圖。如圖7所示,該用戶終端包括:籤名接收模塊710、身份註冊模塊720、認證請求模塊730和認證信息傳遞模塊740。

籤名接收模塊710,用於向認證伺服器發送身份註冊信息,接收認證伺服器對身份註冊信息進行籤名後返回的籤名後的身份註冊信息。

在本實施例中,為了避免用戶終端的身份認證請求被劫持或者被冒名頂替,在進行認證操作前,需要將用戶終端註冊到區塊鏈中的智能合約中。因此,籤名接收模塊710需要向認證伺服器發送身份註冊信息,並接收經過認證伺服器籤名後的身份註冊信息。通過認證伺服器的籤名可以保證身份註冊信息的準確性和真實性。

身份註冊模塊720,用於根據所述籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊。

具體地,身份註冊模塊720將籤名後的身份註冊信息、認證伺服器的區塊鏈帳戶地址以及智能合約的區塊鏈帳戶地址發送給智能合約;則智能合約根據認證伺服器的區塊鏈帳戶地址確定認證伺服器的公鑰,根據公鑰對籤名後的身份註冊信息進行校驗,並將校驗結果提供給用戶終端以及認證伺服器。

認證請求模塊730,用於註冊成功後向認證伺服器發送身份認證請求,接收認證伺服器返回的身份認證信息。

在註冊成功後,認證請求模塊730向認證伺服器發送身份認證請求,該請求包括但不限於登錄類型的請求和註銷類型的請求。認證請求模塊730接收認證伺服器返回的身份認證信息,該信息中包含了認證伺服器隨機生成的隨機數和/或隨機序列。

認證信息傳遞模塊740,用於將身份認證信息提供給智能合約,以供智能合約根據身份認證信息生成程序運行結果,程序運行結果用於提供給認證伺服器進行身份驗證。

具體地,認證信息傳遞模塊740將身份認證信息發送給區塊鏈網絡中的智能合約,智能合約的程序部分根據該身份認證信息執行寫入數據功能,將認證隨機信息寫入智能合約的數據部分,之後認證伺服器將根據智能合約的程序運行結果對認證信息進行驗證,最後將驗證結果發送給用戶終端。

上述各個模塊的具體工作原理可參照方法實施例中相應步驟的描述,此處不再贅述。

綜上所述,本申請實施例提供的一種用戶終端能夠將用戶身份認證信息寫入智能合約中,並利用區塊鏈的智能合約來校驗用戶信息。由此一來,一方面,將認證信息上傳區塊鏈中的智能合約,能夠有效利用區塊鏈不易篡改、安全性高的優勢;另一方面,由於區塊鏈中的智能合約本身是一段可以自動運行的程序,可以根據輸入參數自動驗證合約中的信息,利用智能合約驗證用戶信息使得驗證結構更為簡單高效。由此可見,本申請實施例中的身份認證方式能夠兼顧信息的安全性與高效性。

此外,本領域的技術人員能夠理解,儘管在此的一些實施例包括其它實施例中所包括的某些特徵而不是其它特徵,但是不同實施例的特徵的組合意味著處於本申請實施例的範圍之內並且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。

本申請實施例的各個部件實施例可以以硬體實現,或者以在一個或者多個處理器上運行的軟體模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數位訊號處理器(DSP)來實現根據本申請實施例的裝置中的一些或者全部部件的一些或者全部功能。本申請實施例還可以實現為用於執行這裡所描述的方法的一部分或者全部的設備或者裝置程序(例如,電腦程式和電腦程式產品)。這樣的實現本申請實施例的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從網際網路網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。

應該注意的是上述實施例對本申請實施例進行說明而不是對本申請實施例進行限制,並且本領域技術人員在不脫離所附權利要求的範圍的情況下可設計出替換實施例。在權利要求中,不應將位於括號之間的任何參考符號構造成對權利要求的限制。單詞「包含」不排除存在未列在權利要求中的元件或步驟。位於元件之前的單詞「一」或「一個」不排除存在多個這樣的元件。本申請實施例可以藉助於包括有若干不同元件的硬體以及藉助於適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬體項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。

本發明公開了:A1、一種基於區塊鏈的身份認證方法,包括:

對用戶終端發送的身份註冊信息進行籤名,將籤名後的身份註冊信息提供給所述用戶終端;

接收所述用戶終端根據所述籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊後發送的身份認證請求;

根據所述身份認證請求向所述用戶終端返回身份認證信息;

接收所述智能合約根據所述用戶終端提供的所述身份認證信息生成的程序運行結果,根據所述程序運行結果對所述用戶終端的身份進行驗證。

A2、根據A1所述的方法,其中,所述根據所述身份認證請求向所述用戶終端返回身份認證信息的步驟具體包括:

隨機生成所述身份認證信息,將所述身份認證信息返回給所述用戶終端;其中,所述身份認證信息包括:隨機數和/或隨機序列。

A3、根據A2所述的方法,其中,所述智能合約根據所述用戶終端提供的所述身份認證信息生成的程序運行結果具體包括:

智能合約根據所述身份認證信息執行寫入操作後的寫入操作結果,以及所述智能合約根據所述身份認證信息以及預存的認證伺服器的公鑰進行校驗後的校驗操作結果;

則所述根據所述程序運行結果對所述用戶終端的身份進行驗證的步驟具體包括:

當所述程序運行結果與所述身份認證信息匹配時,確定所述用戶終端的身份驗證結果為成功;

當所述程序運行結果與所述身份認證信息不匹配時,確定所述用戶終端的身份驗證結果為失敗。

A4、根據A3所述的方法,其中,所述根據所述程序運行結果對所述用戶終端的身份進行驗證的步驟之後,進一步包括步驟:將身份驗證結果發送給所述用戶終端。

A5、根據A1所述的方法,其中,所述對用戶終端發送的身份註冊信息進行籤名的步驟之前,進一步包括步驟:

將所述預設的智能合約廣播到所述區塊鏈中;其中,所述智能合約中預存有認證伺服器的公鑰,且所述智能合約用於對接收到的數據執行數據寫入操作,並根據預存的認證伺服器的公鑰對已寫入的數據執行數據校驗操作。

A6、根據A1所述的方法,其中,所述用戶終端根據所述籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊的步驟具體包括:

用戶終端將所述籤名後的身份註冊信息、認證伺服器的區塊鏈帳戶地址以及所述智能合約的區塊鏈帳戶地址發送給所述智能合約;

所述智能合約根據所述認證伺服器的區塊鏈帳戶地址確定所述認證伺服器的公鑰,根據所述公鑰對所述籤名後的身份註冊信息進行校驗,並將校驗結果提供給所述用戶終端以及所述認證伺服器。

A7、根據A1所述的方法,其中,所述身份認證請求包括:登錄類型的身份認證請求以及註銷類型的身份認證請求。

A8、根據A1所述的方法,其中,所述身份註冊信息包括:用戶終端的區塊鏈帳戶地址或用戶名。

本發明還公開了:B9、一種基於區塊鏈的身份認證方法,包括:

向認證伺服器發送身份註冊信息,接收所述認證伺服器對所述身份註冊信息進行籤名後返回的籤名後的身份註冊信息;

根據所述籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊;

註冊成功後向所述認證伺服器發送身份認證請求,接收所述認證伺服器返回的身份認證信息;

將所述身份認證信息提供給所述智能合約,以供所述智能合約根據所述身份認證信息生成程序運行結果,所述程序運行結果用於提供給所述認證伺服器進行身份驗證。

B10、根據B9所述的方法,其中,所述根據所述籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊的步驟具體包括:

將所述籤名後的身份註冊信息、認證伺服器的區塊鏈帳戶地址以及所述智能合約的區塊鏈帳戶地址發送給所述智能合約;

所述智能合約根據所述認證伺服器的區塊鏈帳戶地址確定所述認證伺服器的公鑰,根據所述公鑰對所述籤名後的身份註冊信息進行校驗,並將校驗結果提供給所述用戶終端以及所述認證伺服器。

本發明還公開了:C11、一種認證伺服器,包括:

籤名模塊,用於對用戶終端發送的身份註冊信息進行籤名,將籤名後的身份註冊信息提供給所述用戶終端;

接收模塊,用於接收所述用戶終端根據所述籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊後發送的身份認證請求;

認證模塊,用於根據所述身份認證請求向所述用戶終端返回身份認證信息;

驗證模塊,用於接收所述智能合約根據所述用戶終端提供的所述身份認證信息生成的程序運行結果,根據所述程序運行結果對所述用戶終端的身份進行驗證。

C12、根據C11所述的認證伺服器,其中,所述認證模塊具體用於:

隨機生成所述身份認證信息,將所述身份認證信息返回給所述用戶終端;其中,所述身份認證信息包括:隨機數和/或隨機序列。

C13、根據C12所述的認證伺服器,其中,所述智能合約根據所述用戶終端提供的所述身份認證信息生成的程序運行結果具體包括:

智能合約根據所述身份認證信息執行寫入操作後的寫入操作結果,以及所述智能合約根據所述身份認證信息以及預存的認證伺服器的公鑰進行校驗後的校驗操作結果;

則所述驗證模塊具體用於:

當所述程序運行結果與所述身份認證信息匹配時,確定所述用戶終端的身份驗證結果為成功;

當所述程序運行結果與所述身份認證信息不匹配時,確定所述用戶終端的身份驗證結果為失敗。

C14、根據C13所述的認證伺服器,其中,所述驗證模塊進一步用於:將身份驗證結果發送給所述用戶終端。

C15、根據C11所述的認證伺服器,其中,所述認證伺服器進一步包括:

廣播模塊,用於將所述預設的智能合約廣播到所述區塊鏈中;其中,所述智能合約中預存有認證伺服器的公鑰,且所述智能合約用於對接收到的數據執行數據寫入操作,並根據預存的認證伺服器的公鑰對已寫入的數據執行數據校驗操作。

C16、根據C11所述的認證伺服器,其中,所述身份認證請求包括:登錄類型的身份認證請求以及註銷類型的身份認證請求。

C17、根據C11所述的認證伺服器,其中,所述身份註冊信息包括:用戶終端的區塊鏈帳戶地址或用戶名。

本發明還公開了:D18、一種用戶終端,包括:

籤名接收模塊,用於向認證伺服器發送身份註冊信息,接收所述認證伺服器對所述身份註冊信息進行籤名後返回的籤名後的身份註冊信息;

身份註冊模塊,用於根據所述籤名後的身份註冊信息向區塊鏈中預設的智能合約進行身份註冊;

認證請求模塊,用於註冊成功後向所述認證伺服器發送身份認證請求,接收所述認證伺服器返回的身份認證信息;

認證信息傳遞模塊,用於將所述身份認證信息提供給所述智能合約,以供所述智能合約根據所述身份認證信息生成程序運行結果,所述程序運行結果用於提供給所述認證伺服器進行身份驗證。

D19、根據D18所述的用戶終端,其中,所述身份註冊模塊具體用於:

將所述籤名後的身份註冊信息、認證伺服器的區塊鏈帳戶地址以及所述智能合約的區塊鏈帳戶地址發送給所述智能合約;

所述智能合約根據所述認證伺服器的區塊鏈帳戶地址確定所述認證伺服器的公鑰,根據所述公鑰對所述籤名後的身份註冊信息進行校驗,並將校驗結果提供給所述用戶終端以及所述認證伺服器。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀