本發(fā)明涉及設(shè)備認(rèn)證技術(shù)領(lǐng)域,具體涉及一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法、認(rèn)證服務(wù)器及用戶設(shè)備。
背景技術(shù):
設(shè)備認(rèn)證是指在計(jì)算機(jī)及計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)中確認(rèn)設(shè)備資格的過程,從而確定該設(shè)備是否具有對某種資源的訪問和使用權(quán)限,進(jìn)而使計(jì)算機(jī)和網(wǎng)絡(luò)系統(tǒng)的訪問策略能夠可靠、有效地執(zhí)行。
如圖1所示,在傳統(tǒng)設(shè)備認(rèn)證系統(tǒng)中,假設(shè)認(rèn)證服務(wù)器A需要確認(rèn)用戶設(shè)備B的資格,其主要流程如下:1.1、用戶設(shè)備B向認(rèn)證服務(wù)器A發(fā)送設(shè)備認(rèn)證請求;1.2、認(rèn)證服務(wù)器A將認(rèn)證信息返回給用戶設(shè)備B,其中,認(rèn)證信息可以是短信驗(yàn)證碼等形式;1.3、用戶設(shè)備B向認(rèn)證服務(wù)器A發(fā)送認(rèn)證信息,該認(rèn)證信息中包括上述的短信驗(yàn)證碼等;1.4、認(rèn)證服務(wù)器A根據(jù)上述短信驗(yàn)證碼驗(yàn)證用戶設(shè)備B的資格。
但是,發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),現(xiàn)有技術(shù)中的方式至少存在下述問題:在傳統(tǒng)的設(shè)備認(rèn)證系統(tǒng)中,僅憑認(rèn)證服務(wù)器生成的認(rèn)證信息并不能保證用戶設(shè)備的唯一性,因?yàn)檎J(rèn)證服務(wù)器發(fā)送給用戶設(shè)備的認(rèn)證信息可能被第三方劫持或者被第三方攻擊。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的基于區(qū)塊鏈的設(shè)備認(rèn)證方法和相應(yīng)的認(rèn)證服務(wù)器及用戶設(shè)備。
根據(jù)本發(fā)明的一個方面,提供了一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法,包括:接收用戶設(shè)備發(fā)送的設(shè)備綁定請求,生成與設(shè)備綁定請求對應(yīng)的設(shè)備綁定信息,將設(shè)備綁定信息提供給用戶設(shè)備;獲取區(qū)塊鏈中預(yù)設(shè)的智能合約根據(jù)用戶設(shè)備提供的設(shè)備綁定信息生成的第一程序運(yùn)行結(jié)果,根據(jù)第一程序運(yùn)行結(jié)果向智能合約發(fā)送綁定成功消息;接收用戶設(shè)備發(fā)送的設(shè)備認(rèn)證請求,根據(jù)設(shè)備認(rèn)證請求向用戶設(shè)備返回設(shè)備認(rèn)證信息;獲取智能合約根據(jù)用戶設(shè)備提供的設(shè)備認(rèn)證信息生成的第二程序運(yùn)行結(jié)果,根據(jù)第二程序運(yùn)行結(jié)果對用戶設(shè)備進(jìn)行認(rèn)證。
根據(jù)本發(fā)明的另一方面,提供了一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法,包括:向認(rèn)證服務(wù)器發(fā)送設(shè)備綁定請求,接收認(rèn)證服務(wù)器根據(jù)設(shè)備綁定請求返回的設(shè)備綁定信息;將設(shè)備綁定信息提供給區(qū)塊鏈中預(yù)設(shè)的智能合約,以供智能合約根據(jù)設(shè)備綁定信息生成第一程序運(yùn)行結(jié)果,第一程序運(yùn)行結(jié)果用于提供給認(rèn)證服務(wù)器進(jìn)行設(shè)備綁定;向認(rèn)證服務(wù)器發(fā)送設(shè)備認(rèn)證請求,接收認(rèn)證服務(wù)器返回的設(shè)備認(rèn)證信息;將設(shè)備認(rèn)證信息提供給智能合約,以供智能合約根據(jù)設(shè)備認(rèn)證信息生成第二程序運(yùn)行結(jié)果,第二程序運(yùn)行結(jié)果用于提供給認(rèn)證服務(wù)器進(jìn)行設(shè)備認(rèn)證。
根據(jù)本發(fā)明的另一方面,提供了一種認(rèn)證服務(wù)器,包括:綁定信息生成模塊,用于接收用戶設(shè)備發(fā)送的設(shè)備綁定請求,生成與設(shè)備綁定請求對應(yīng)的設(shè)備綁定信息,將設(shè)備綁定信息提供給用戶設(shè)備;綁定狀態(tài)確認(rèn)模塊,用于獲取區(qū)塊鏈中預(yù)設(shè)的智能合約根據(jù)用戶設(shè)備提供的設(shè)備綁定信息生成的第一程序運(yùn)行結(jié)果,根據(jù)第一程序運(yùn)行結(jié)果向智能合約發(fā)送綁定成功消息;認(rèn)證信息生成模塊,用于接收用戶設(shè)備發(fā)送的設(shè)備認(rèn)證請求,根據(jù)設(shè)備認(rèn)證請求向用戶設(shè)備返回設(shè)備認(rèn)證信息;設(shè)備認(rèn)證模塊,用于獲取智能合約根據(jù)用戶設(shè)備提供的設(shè)備認(rèn)證信息生成的第二程序運(yùn)行結(jié)果,根據(jù)第二程序運(yùn)行結(jié)果對用戶設(shè)備進(jìn)行認(rèn)證。
根據(jù)本發(fā)明的另一方面,提供了一種用戶設(shè)備,包括:綁定請求模塊,用于向認(rèn)證服務(wù)器發(fā)送設(shè)備綁定請求,接收認(rèn)證服務(wù)器根據(jù)設(shè)備綁定請求返回的設(shè)備綁定信息;綁定信息傳遞模塊,用于將設(shè)備綁定信息提供給區(qū)塊鏈中預(yù)設(shè)的智能合約,以供智能合約根據(jù)設(shè)備綁定信息生成第一程序運(yùn)行結(jié)果,第一程序運(yùn)行結(jié)果用于提供給認(rèn)證服務(wù)器進(jìn)行設(shè)備綁定;認(rèn)證請求模塊,用于向認(rèn)證服務(wù)器發(fā)送設(shè)備認(rèn)證請求,接收認(rèn)證服務(wù)器返回的設(shè)備認(rèn)證信息;認(rèn)證信息傳遞模塊,用于將設(shè)備認(rèn)證信息提供給智能合約,以供智能合約根據(jù)設(shè)備認(rèn)證信息生成第二程序運(yùn)行結(jié)果,第二程序運(yùn)行結(jié)果用于提供給認(rèn)證服務(wù)器進(jìn)行設(shè)備認(rèn)證。
根據(jù)本發(fā)明提供的基于區(qū)塊鏈的設(shè)備認(rèn)證方法和相應(yīng)的認(rèn)證服務(wù)器及用戶設(shè)備,采用區(qū)塊鏈智能合約保存設(shè)備綁定信息,使得設(shè)備信息無法被篡改,由此解決了現(xiàn)有技術(shù)所存在的問題,同時利用智能合約來驗(yàn)證設(shè)備信息,極大地簡化了驗(yàn)證流程,提高了設(shè)備認(rèn)證的效率。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1是現(xiàn)有技術(shù)中設(shè)備認(rèn)證方法的交互序列圖;
圖2是本申請實(shí)施例一提供的一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法的流程圖;
圖3是本申請實(shí)施例二提供的一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法的流程圖;
圖4是本申請實(shí)施例三提供的一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法的流程圖;
圖5是本申請實(shí)施例四提供的一種認(rèn)證服務(wù)器的結(jié)構(gòu)示意圖;
圖6是本申請實(shí)施例五提供的一種認(rèn)證服務(wù)器的結(jié)構(gòu)示意圖;
圖7是本申請實(shí)施例六提供的一種用戶設(shè)備的結(jié)構(gòu)示意圖;
圖8是本申請實(shí)施例提供的設(shè)備認(rèn)證方法中設(shè)備綁定流程的交互序列圖;
圖9是本申請實(shí)施例提供的設(shè)備認(rèn)證方法中設(shè)備認(rèn)證流程的交互序列圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
實(shí)施例一
圖2是本申請實(shí)施例一提供的一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法的流程圖。如圖2所示,該方法包括:
步驟S210:接收用戶設(shè)備發(fā)送的設(shè)備綁定請求,生成與設(shè)備綁定請求對應(yīng)的設(shè)備綁定信息,將設(shè)備綁定信息提供給用戶設(shè)備。
在本發(fā)明實(shí)施例中,為了保證發(fā)起認(rèn)證請求的用戶設(shè)備的唯一性,在進(jìn)行認(rèn)證操作前,需要將用戶設(shè)備的綁定信息存儲到區(qū)塊鏈的智能合約中。因此,需要針對用戶設(shè)備發(fā)送的設(shè)備綁定請求生成對應(yīng)的而且唯一的設(shè)備綁定信息,并將該設(shè)備綁定信息返回給用戶設(shè)備,以便用戶設(shè)備將該設(shè)備綁定信息發(fā)送給智能合約。
步驟S220:獲取區(qū)塊鏈中預(yù)設(shè)的智能合約根據(jù)用戶設(shè)備提供的設(shè)備綁定信息生成的第一程序運(yùn)行結(jié)果,根據(jù)第一程序運(yùn)行結(jié)果向智能合約發(fā)送綁定成功消息。
智能合約在接收到用戶設(shè)備提供的設(shè)備綁定信息后,會執(zhí)行寫入操作,將該設(shè)備綁定信息寫入到智能合約的數(shù)據(jù)部分,由此生成的第一程序運(yùn)行結(jié)果中包含了設(shè)備綁定信息。此時,獲取該第一程序運(yùn)行結(jié)果,并將該結(jié)果中包含的設(shè)備綁定信息與發(fā)送給用戶設(shè)備的設(shè)備綁定信息進(jìn)行比較。若兩個信息內(nèi)容一致,則說明向智能合約提供信息的用戶設(shè)備就是當(dāng)初發(fā)起綁定請求的用戶設(shè)備,根據(jù)該結(jié)果就可以向智能合約發(fā)送綁定成功消息。
其中,智能合約是指一套以數(shù)字形式定義的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議。其中,承諾指的是合約參與方同意的(經(jīng)常是相互的)權(quán)利和義務(wù)。這些承諾定義了合約的本質(zhì)和目的;而數(shù)字形式表明智能合約建立的權(quán)利和義務(wù),是由一臺計(jì)算機(jī)或者計(jì)算機(jī)網(wǎng)絡(luò)執(zhí)行的。而區(qū)塊鏈技術(shù)是比特幣的底層技術(shù),實(shí)質(zhì)上是一個分布式的數(shù)據(jù)庫賬本,記載了所有的交易記錄。區(qū)塊鏈?zhǔn)且淮褂妹艽a學(xué)方法相關(guān)聯(lián)產(chǎn)生的數(shù)據(jù)塊,每一個數(shù)據(jù)塊中包含了一次比特幣網(wǎng)絡(luò)交易的信息,用于驗(yàn)證其信息的有效性(防偽)和生成下一個區(qū)塊。這項(xiàng)技術(shù)也因其安全、便捷的特性逐漸得到了銀行與金融業(yè)的關(guān)注。目前越來越多的領(lǐng)域嘗試使用區(qū)塊鏈技術(shù)來解決現(xiàn)有的問題和不足。
相應(yīng)的,與區(qū)塊鏈結(jié)合的智能合約是一段代碼和數(shù)據(jù)的集合,部署在區(qū)塊鏈網(wǎng)絡(luò)上運(yùn)行。同時智能合約有自己的區(qū)塊鏈賬戶,在時間或事件的驅(qū)動下能自動執(zhí)行一些功能,如可以在相互之間傳遞信息,修改區(qū)塊鏈的狀態(tài)比如賬戶信息等。與區(qū)塊鏈結(jié)合的智能合約最大的特點(diǎn)是圖靈完備,通俗來說可以完全模擬一臺計(jì)算機(jī)所能做的所有事情。
步驟S230:接收用戶設(shè)備發(fā)送的設(shè)備認(rèn)證請求,根據(jù)設(shè)備認(rèn)證請求向用戶設(shè)備返回設(shè)備認(rèn)證信息。
在收到用戶設(shè)備發(fā)送的設(shè)備認(rèn)證請求后,根據(jù)設(shè)備認(rèn)證請求中的相關(guān)信息生成對應(yīng)的設(shè)備認(rèn)證信息,并將該設(shè)備認(rèn)證信息返回給發(fā)送請求的用戶設(shè)備。
步驟S240:獲取智能合約根據(jù)用戶設(shè)備提供的設(shè)備認(rèn)證信息生成的第二程序運(yùn)行結(jié)果,根據(jù)第二程序運(yùn)行結(jié)果對用戶設(shè)備進(jìn)行認(rèn)證。
用戶設(shè)備將上述設(shè)備認(rèn)證信息發(fā)送到區(qū)塊鏈中的智能合約中后,智能合約將執(zhí)行寫入數(shù)據(jù)操作,將上述設(shè)備認(rèn)證信息寫入到智能合約中。在智能合約完成寫入數(shù)據(jù)操作后,接收其發(fā)送的程序運(yùn)行結(jié)果,對上述程序運(yùn)行結(jié)果進(jìn)行比對驗(yàn)證,最后將設(shè)備認(rèn)證結(jié)果發(fā)送給用戶設(shè)備。由此完成整個設(shè)備認(rèn)證過程。
綜上所述,本申請實(shí)施例提供的一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法利用區(qū)塊鏈智能合約自身特點(diǎn),采用區(qū)塊鏈智能合約保存設(shè)備綁定信息,使得設(shè)備信息無法被篡改,由此解決了現(xiàn)有技術(shù)所存在的問題,保證了發(fā)起認(rèn)證請求的用戶設(shè)備的唯一性,同時利用智能合約來驗(yàn)證設(shè)備信息,極大地簡化了驗(yàn)證流程,提高了設(shè)備認(rèn)證的效率。
實(shí)施例二
圖3是本申請實(shí)施例二提供的一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法的流程圖,該方法的執(zhí)行主體優(yōu)選為認(rèn)證服務(wù)器。如圖3所示,該方法包括:
步驟S310:設(shè)置智能合約,將智能合約廣播到區(qū)塊鏈中。
具體地,將預(yù)設(shè)的智能合約以區(qū)塊鏈交易的形式廣播到區(qū)塊鏈網(wǎng)絡(luò)上,經(jīng)過多數(shù)節(jié)點(diǎn)的驗(yàn)證,使該智能合約達(dá)成區(qū)塊鏈網(wǎng)絡(luò)上的共識,然后該智能合約便可以運(yùn)行在區(qū)塊鏈網(wǎng)絡(luò)上。其中,上述智能合約的結(jié)構(gòu)分為三個部分,分別是智能合約區(qū)塊鏈賬戶地址、數(shù)據(jù)部分和程序部分,且該智能合約的程序部分能夠?qū)崿F(xiàn)三個功能,一是向數(shù)據(jù)部分寫入數(shù)據(jù),即用于對接收到的數(shù)據(jù)執(zhí)行數(shù)據(jù)寫入操作;二是標(biāo)記數(shù)據(jù)部分的數(shù)據(jù),即將符合條件的已寫入智能合約的設(shè)備綁定信息標(biāo)記為已綁定狀態(tài);三是對已寫入的數(shù)據(jù)進(jìn)行查詢,即用于查找已寫入智能合約的設(shè)備綁定信息是否被標(biāo)記為已綁定狀態(tài)。
步驟S320:接收用戶設(shè)備發(fā)送的設(shè)備綁定請求,生成與設(shè)備綁定請求對應(yīng)的設(shè)備綁定信息,將設(shè)備綁定信息提供給用戶設(shè)備。
為了保證發(fā)起認(rèn)證請求的用戶設(shè)備的唯一性,在進(jìn)行認(rèn)證操作前,需要將用戶設(shè)備的綁定信息存儲到區(qū)塊鏈的智能合約中。因此,需要針對用戶設(shè)備發(fā)送的設(shè)備綁定請求生成對應(yīng)的而且唯一的設(shè)備綁定信息,并將該設(shè)備綁定信息返回給用戶設(shè)備,以便用戶設(shè)備將該設(shè)備綁定信息發(fā)送給智能合約。
其中,設(shè)備綁定請求中包括了設(shè)備指紋,即能夠唯一標(biāo)識用戶設(shè)備的一段字符信息。設(shè)備綁定信息中包括了用戶設(shè)備的區(qū)塊鏈賬戶地址和與用戶設(shè)備唯一對應(yīng)的設(shè)備標(biāo)識,該設(shè)備標(biāo)識是根據(jù)設(shè)備指紋生成的。
步驟S330:獲取區(qū)塊鏈中預(yù)設(shè)的智能合約根據(jù)用戶設(shè)備提供的設(shè)備綁定信息生成的第一程序運(yùn)行結(jié)果,根據(jù)第一程序運(yùn)行結(jié)果向智能合約發(fā)送綁定成功消息。
智能合約在接收到用戶設(shè)備提供的設(shè)備綁定信息后,會執(zhí)行寫入操作,將該設(shè)備綁定信息寫入到智能合約的數(shù)據(jù)部分,由此生成第一程序運(yùn)行結(jié)果。其中,第一程序運(yùn)行結(jié)果具體包括:智能合約根據(jù)用戶設(shè)備發(fā)送的設(shè)備綁定信息執(zhí)行寫入操作后的運(yùn)行結(jié)果。則根據(jù)第一程序運(yùn)行結(jié)果向智能合約發(fā)送綁定成功消息的步驟具體包括:將第一程序運(yùn)行結(jié)果包含的設(shè)備標(biāo)識與提供給用戶設(shè)備的設(shè)備綁定信息中包含的設(shè)備標(biāo)識進(jìn)行比對,當(dāng)比對結(jié)果一致時,則說明向智能合約提供信息的用戶設(shè)備就是當(dāng)初發(fā)起綁定請求的用戶設(shè)備,因此,可以向智能合約發(fā)送綁定成功消息。智能合約接收到綁定成功消息后,會將綁定成功消息對應(yīng)的用戶設(shè)備標(biāo)記為已綁定狀態(tài)。
步驟S340:接收用戶設(shè)備發(fā)送的設(shè)備認(rèn)證請求,根據(jù)設(shè)備認(rèn)證請求向用戶設(shè)備返回設(shè)備認(rèn)證信息。
具體地,在收到用戶設(shè)備發(fā)送的設(shè)備認(rèn)證請求后,隨機(jī)生成設(shè)備認(rèn)證信息,將設(shè)備認(rèn)證信息返回給用戶設(shè)備。其中,該設(shè)備認(rèn)證信息包括:隨機(jī)標(biāo)識,例如隨機(jī)數(shù)等。
步驟S350:獲取智能合約根據(jù)用戶設(shè)備提供的設(shè)備認(rèn)證信息生成的第二程序運(yùn)行結(jié)果,根據(jù)第二程序運(yùn)行結(jié)果對用戶設(shè)備進(jìn)行認(rèn)證。
其中,第二程序運(yùn)行結(jié)果具體包括智能合約根據(jù)用戶設(shè)備提供的設(shè)備認(rèn)證信息執(zhí)行寫入操作后的運(yùn)行結(jié)果。具體地,智能合約根據(jù)用戶設(shè)備提供的設(shè)備認(rèn)證信息生成第二程序運(yùn)行結(jié)果的步驟之前,進(jìn)一步包括步驟:通過查詢已寫入的相關(guān)數(shù)據(jù),判斷用戶設(shè)備是否為已綁定狀態(tài)。當(dāng)判斷結(jié)果為是時,執(zhí)行后續(xù)步驟;當(dāng)判斷結(jié)果為否時,生成認(rèn)證失敗提示信息。該步驟用于判斷發(fā)起設(shè)備認(rèn)證請求的用戶設(shè)備是否為已經(jīng)完成設(shè)備綁定的用戶設(shè)備,只有已綁定狀態(tài)的用戶設(shè)備才有權(quán)發(fā)起設(shè)備認(rèn)證請求。
對應(yīng)地,根據(jù)第二程序運(yùn)行結(jié)果對用戶設(shè)備進(jìn)行認(rèn)證的步驟具體包括:將第二程序運(yùn)行結(jié)果包含的隨機(jī)標(biāo)識與提供給用戶設(shè)備的設(shè)備認(rèn)證信息中包含的隨機(jī)標(biāo)識進(jìn)行比對,當(dāng)比對結(jié)果一致時,認(rèn)證成功;反之,認(rèn)證失敗。
綜上所述,本申請實(shí)施例提供的一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法采用具有唯一性的設(shè)備指紋來生成設(shè)備標(biāo)識,并將該設(shè)備標(biāo)識加入到設(shè)備綁定信息中,保證了設(shè)備綁定信息的唯一性,同時利用區(qū)塊鏈智能合約自身特點(diǎn),采用區(qū)塊鏈智能合約保存設(shè)備綁定信息,使得設(shè)備信息無法被篡改,由此解決了現(xiàn)有技術(shù)所存在的問題,保證了發(fā)起認(rèn)證請求的用戶設(shè)備的唯一性,并進(jìn)一步利用智能合約來驗(yàn)證設(shè)備信息,極大地簡化了驗(yàn)證流程,提高了設(shè)備認(rèn)證的效率。
實(shí)施例三
圖4是本申請實(shí)施例三提供的一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法的流程圖,圖4所示的方法的執(zhí)行主體可以為用戶設(shè)備。如圖4所示,該方法包括:
步驟S410:向認(rèn)證服務(wù)器發(fā)送設(shè)備綁定請求,接收認(rèn)證服務(wù)器根據(jù)設(shè)備綁定請求返回的設(shè)備綁定信息。
在本實(shí)施例中,為了保證發(fā)起認(rèn)證請求的用戶設(shè)備的唯一性,在進(jìn)行認(rèn)證操作前,需要對用戶設(shè)備進(jìn)行綁定操作,并將用戶設(shè)備的綁定信息存儲到區(qū)塊鏈的智能合約中。因此,當(dāng)用戶設(shè)備向認(rèn)證服務(wù)器發(fā)送綁定請求后,認(rèn)證服務(wù)器需要針對用戶設(shè)備發(fā)送的設(shè)備綁定請求生成對應(yīng)的而且唯一的設(shè)備綁定信息,并將該設(shè)備綁定信息返回給用戶設(shè)備,以便用戶設(shè)備將該設(shè)備綁定信息發(fā)送給智能合約。其中,設(shè)備綁定請求中包括設(shè)備指紋,即可以唯一標(biāo)識用戶設(shè)備的一段字符信息,則設(shè)備綁定信息中包括了根據(jù)該設(shè)備指紋生成的設(shè)備標(biāo)識。
步驟S420:將設(shè)備綁定信息提供給區(qū)塊鏈中預(yù)設(shè)的智能合約。
將設(shè)備綁定信息提供給區(qū)塊鏈中預(yù)設(shè)的智能合約,是為了方便智能合約根據(jù)設(shè)備綁定信息生成第一程序運(yùn)行結(jié)果,該第一程序運(yùn)行結(jié)果用于提供給認(rèn)證服務(wù)器進(jìn)行設(shè)備綁定。
步驟S430:向認(rèn)證服務(wù)器發(fā)送設(shè)備認(rèn)證請求,接收認(rèn)證服務(wù)器返回的設(shè)備認(rèn)證信息。
用戶設(shè)備向認(rèn)證服務(wù)器發(fā)送設(shè)備認(rèn)證請求,該請求包括但不限于登錄和注銷等等類型,請求內(nèi)容包括用戶設(shè)備的區(qū)塊鏈賬戶地址。接收認(rèn)證服務(wù)器隨機(jī)生成的設(shè)備認(rèn)證信息,該信息中包含了認(rèn)證服務(wù)器隨機(jī)生成的隨機(jī)標(biāo)識,例如隨機(jī)數(shù)等。
步驟S440:將設(shè)備認(rèn)證信息提供給智能合約。
將設(shè)備認(rèn)證信息提供給智能合約,以便智能合約根據(jù)設(shè)備認(rèn)證信息生成第二程序運(yùn)行結(jié)果,第二程序運(yùn)行結(jié)果用于提供給認(rèn)證服務(wù)器進(jìn)行設(shè)備認(rèn)證。
綜上所述,本申請實(shí)施例提供的一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法采用具有唯一性的設(shè)備指紋來生成設(shè)備標(biāo)識,并將該設(shè)備標(biāo)識加入到設(shè)備綁定信息中,保證了設(shè)備綁定信息的唯一性,同時利用區(qū)塊鏈智能合約自身特點(diǎn),采用區(qū)塊鏈智能合約保存設(shè)備綁定信息,使得設(shè)備信息無法被篡改,由此解決了現(xiàn)有技術(shù)所存在的問題,保證了發(fā)起認(rèn)證請求的用戶設(shè)備的唯一性,并進(jìn)一步利用智能合約來驗(yàn)證設(shè)備信息,極大地簡化了驗(yàn)證流程,提高了設(shè)備認(rèn)證的效率。
為了便于理解本發(fā)明,下面結(jié)合兩幅流程交互圖進(jìn)一步詳細(xì)闡述上述方法的具體實(shí)現(xiàn)細(xì)節(jié):
圖8是本申請實(shí)施例提供的設(shè)備認(rèn)證方法中設(shè)備綁定流程的交互序列圖,具體流程為:8.1、用戶設(shè)備向認(rèn)證服務(wù)器發(fā)送設(shè)備綁定請求,該請求信息包括該設(shè)備的設(shè)備指紋,其中,該設(shè)備指紋是唯一標(biāo)識該用戶設(shè)備的一段字符信息;8.2、認(rèn)證服務(wù)器根據(jù)設(shè)備綁定請求中的設(shè)備指紋生成該用戶設(shè)備在認(rèn)證服務(wù)器的唯一值。認(rèn)證服務(wù)器將綁定所需的信息回復(fù)給用戶設(shè)備,信息包括上述唯一值;8.3、用戶設(shè)備將綁定所需信息發(fā)送到區(qū)塊鏈中的智能合約,該信息包括用戶設(shè)備區(qū)塊鏈賬戶地址、上述唯一值和智能合約區(qū)塊鏈賬戶地址,此時,智能合約的程序部分會執(zhí)行寫入數(shù)據(jù)功能,將用戶設(shè)備區(qū)塊鏈賬戶地址和上述唯一值作為鍵值寫入智能合約的數(shù)據(jù)部分;8.4、智能合約將程序執(zhí)行結(jié)果發(fā)送給認(rèn)證服務(wù)器;8.5、認(rèn)證服務(wù)器將智能合約的程序執(zhí)行結(jié)果包含的上述唯一值與提供給用戶設(shè)備的設(shè)備綁定信息中包含的唯一值進(jìn)行比對,當(dāng)比對結(jié)果一致時,則說明向智能合約提供信息的用戶設(shè)備就是當(dāng)初發(fā)起綁定請求的用戶設(shè)備,因此,可以向智能合約發(fā)送綁定成功消息。智能合約接收到綁定成功消息后,會將綁定成功消息對應(yīng)的用戶設(shè)備標(biāo)記為已綁定狀態(tài)。由此完成整個設(shè)備綁定流程。
圖9是本申請實(shí)施例提供的設(shè)備認(rèn)證方法中設(shè)備認(rèn)證流程的交互序列圖,具體流程為:9.1、用戶設(shè)備向認(rèn)證服務(wù)器發(fā)送設(shè)備認(rèn)證請求,該請求包括但不限于登錄和注銷等類型,請求內(nèi)容包括用戶設(shè)備的區(qū)塊鏈賬戶地址;9.2、認(rèn)證服務(wù)器收到設(shè)備認(rèn)證請求后,隨機(jī)生成認(rèn)證隨機(jī)數(shù),并將認(rèn)證隨機(jī)數(shù)作為設(shè)備認(rèn)證信息回復(fù)給用戶設(shè)備;9.3、用戶設(shè)備將設(shè)備認(rèn)證信息發(fā)送到區(qū)塊鏈網(wǎng)絡(luò)中的智能合約中,該信息包括用戶設(shè)備區(qū)塊鏈賬戶地址、上述認(rèn)證隨機(jī)數(shù)和智能合約區(qū)塊鏈賬戶地址,此時,智能合約的程序部分會執(zhí)行寫入數(shù)據(jù)操作,將認(rèn)證隨機(jī)數(shù)寫入智能合約的數(shù)據(jù)部分;9.4、智能合約將程序執(zhí)行結(jié)果發(fā)送給認(rèn)證服務(wù)器;9.5、認(rèn)證服務(wù)器接收到程序執(zhí)行結(jié)果后,將該執(zhí)行結(jié)果中的認(rèn)證隨機(jī)數(shù)與發(fā)送給用戶設(shè)備的認(rèn)證隨機(jī)數(shù)進(jìn)行比對校驗(yàn),最后認(rèn)證服務(wù)器向用戶設(shè)備發(fā)送設(shè)備認(rèn)證結(jié)果。由此完成整個設(shè)備認(rèn)證流程。
實(shí)施例四
圖5是本申請實(shí)施例四提供的一種認(rèn)證服務(wù)器的結(jié)構(gòu)示意圖。如圖5所示,該認(rèn)證服務(wù)器包括:綁定信息生成模塊510、綁定狀態(tài)確認(rèn)模塊520、認(rèn)證信息生成模塊530和設(shè)備認(rèn)證模塊540。
綁定信息生成模塊510,用于接收用戶設(shè)備發(fā)送的設(shè)備綁定請求,生成與設(shè)備綁定請求對應(yīng)的設(shè)備綁定信息,將設(shè)備綁定信息提供給用戶設(shè)備。
在本發(fā)明實(shí)施例中,為了保證發(fā)起認(rèn)證請求的用戶設(shè)備的唯一性,在進(jìn)行認(rèn)證操作前,需要將用戶設(shè)備的綁定信息存儲到區(qū)塊鏈的智能合約中。因此,綁定信息生成模塊510需要針對用戶設(shè)備發(fā)送的設(shè)備綁定請求生成對應(yīng)的而且唯一的設(shè)備綁定信息,并將該設(shè)備綁定信息返回給用戶設(shè)備,以便用戶設(shè)備將該設(shè)備綁定信息發(fā)送給智能合約。
綁定狀態(tài)確認(rèn)模塊520,用于獲取區(qū)塊鏈中預(yù)設(shè)的智能合約根據(jù)用戶設(shè)備提供的設(shè)備綁定信息生成的第一程序運(yùn)行結(jié)果,根據(jù)第一程序運(yùn)行結(jié)果向智能合約發(fā)送綁定成功消息。
智能合約在接收到用戶設(shè)備提供的設(shè)備綁定信息后,會執(zhí)行寫入操作,將該設(shè)備綁定信息寫入到智能合約的數(shù)據(jù)部分,由此生成的第一程序運(yùn)行結(jié)果中包含了設(shè)備綁定信息。此時,綁定狀態(tài)確認(rèn)模塊520獲取該第一程序運(yùn)行結(jié)果,并將該結(jié)果中包含的設(shè)備綁定信息與發(fā)送給用戶設(shè)備的設(shè)備綁定信息進(jìn)行比較。若兩個信息內(nèi)容一致,則說明向智能合約提供信息的用戶設(shè)備就是當(dāng)初發(fā)起綁定請求的用戶設(shè)備,綁定狀態(tài)確認(rèn)模塊520根據(jù)該結(jié)果就可以向智能合約發(fā)送綁定成功消息。
認(rèn)證信息生成模塊530,用于接收用戶設(shè)備發(fā)送的設(shè)備認(rèn)證請求,根據(jù)設(shè)備認(rèn)證請求向用戶設(shè)備返回設(shè)備認(rèn)證信息。
認(rèn)證信息生成模塊530在收到用戶設(shè)備發(fā)送的設(shè)備認(rèn)證請求后,根據(jù)設(shè)備認(rèn)證請求中的相關(guān)信息生成對應(yīng)的設(shè)備認(rèn)證信息,并將該設(shè)備認(rèn)證信息返回給發(fā)送請求的用戶設(shè)備。
設(shè)備認(rèn)證模塊540,用于獲取智能合約根據(jù)用戶設(shè)備提供的設(shè)備認(rèn)證信息生成的第二程序運(yùn)行結(jié)果,根據(jù)第二程序運(yùn)行結(jié)果對用戶設(shè)備進(jìn)行認(rèn)證。
用戶設(shè)備將上述設(shè)備認(rèn)證信息發(fā)送到區(qū)塊鏈中的智能合約中后,智能合約將執(zhí)行寫入數(shù)據(jù)操作,將上述設(shè)備認(rèn)證信息寫入到智能合約中。在智能合約完成寫入數(shù)據(jù)操作后,設(shè)備認(rèn)證模塊540接收其發(fā)送的程序運(yùn)行結(jié)果,對上述程序運(yùn)行結(jié)果進(jìn)行比對驗(yàn)證,最后將設(shè)備認(rèn)證結(jié)果發(fā)送給用戶設(shè)備。由此完成整個設(shè)備認(rèn)證過程。
上述各個模塊的具體工作原理可參照方法實(shí)施例中相應(yīng)步驟的描述,此處不再贅述。
綜上所述,本申請實(shí)施例提供的一種認(rèn)證服務(wù)器利用區(qū)塊鏈智能合約自身特點(diǎn),采用區(qū)塊鏈智能合約保存設(shè)備綁定信息,使得設(shè)備信息無法被篡改,由此解決了現(xiàn)有技術(shù)所存在的問題,保證了發(fā)起認(rèn)證請求的用戶設(shè)備的唯一性,同時利用智能合約來驗(yàn)證設(shè)備信息,極大地簡化了驗(yàn)證流程,提高了設(shè)備認(rèn)證的效率。
實(shí)施例五
圖6是本申請實(shí)施例五提供的一種認(rèn)證服務(wù)器的結(jié)構(gòu)示意圖。如圖6所示,該認(rèn)證服務(wù)器包括:廣播模塊610、綁定信息生成模塊620、綁定狀態(tài)確認(rèn)模塊630、認(rèn)證信息生成模塊640和設(shè)備認(rèn)證模塊650。
廣播模塊610,用于設(shè)置智能合約,將智能合約廣播到區(qū)塊鏈中。
具體地,廣播模塊610將預(yù)設(shè)的智能合約以區(qū)塊鏈交易的形式廣播到區(qū)塊鏈網(wǎng)絡(luò)上,經(jīng)過多數(shù)節(jié)點(diǎn)的驗(yàn)證,使該智能合約達(dá)成區(qū)塊鏈網(wǎng)絡(luò)上的共識,然后該智能合約便可以運(yùn)行在區(qū)塊鏈網(wǎng)絡(luò)上。其中,上述智能合約的結(jié)構(gòu)分為三個部分,分別是智能合約區(qū)塊鏈賬戶地址、數(shù)據(jù)部分和程序部分,且該智能合約的程序部分能夠?qū)崿F(xiàn)三個功能,一是向數(shù)據(jù)部分寫入數(shù)據(jù),即用于對接收到的數(shù)據(jù)執(zhí)行數(shù)據(jù)寫入操作;二是標(biāo)記數(shù)據(jù)部分的數(shù)據(jù),即將符合條件的已寫入智能合約的設(shè)備綁定信息標(biāo)記為已綁定狀態(tài);三是對已寫入的數(shù)據(jù)進(jìn)行查詢,即用于查找已寫入智能合約的設(shè)備綁定信息是否被標(biāo)記為已綁定狀態(tài)。
綁定信息生成模塊620,用于接收用戶設(shè)備發(fā)送的設(shè)備綁定請求,生成與設(shè)備綁定請求對應(yīng)的設(shè)備綁定信息,將設(shè)備綁定信息提供給用戶設(shè)備。
為了保證發(fā)起認(rèn)證請求的用戶設(shè)備的唯一性,在進(jìn)行認(rèn)證操作前,需要將用戶設(shè)備的綁定信息存儲到區(qū)塊鏈的智能合約中。因此,綁定信息生成模塊620需要針對用戶設(shè)備發(fā)送的設(shè)備綁定請求生成對應(yīng)的而且唯一的設(shè)備綁定信息,并將該設(shè)備綁定信息返回給用戶設(shè)備,以便用戶設(shè)備將該設(shè)備綁定信息發(fā)送給智能合約。
其中,設(shè)備綁定請求中包括了設(shè)備指紋,即能夠唯一標(biāo)識用戶設(shè)備的一段字符信息。設(shè)備綁定信息中包括了用戶設(shè)備的區(qū)塊鏈賬戶地址和與用戶設(shè)備唯一對應(yīng)的設(shè)備標(biāo)識,該設(shè)備標(biāo)識是根據(jù)設(shè)備指紋生成的。
綁定狀態(tài)確認(rèn)模塊630,用于獲取區(qū)塊鏈中預(yù)設(shè)的智能合約根據(jù)用戶設(shè)備提供的設(shè)備綁定信息生成的第一程序運(yùn)行結(jié)果,根據(jù)第一程序運(yùn)行結(jié)果向智能合約發(fā)送綁定成功消息。
智能合約在接收到用戶設(shè)備提供的設(shè)備綁定信息后,會執(zhí)行寫入操作,將該設(shè)備綁定信息寫入到智能合約的數(shù)據(jù)部分,由此生成第一程序運(yùn)行結(jié)果。其中,第一程序運(yùn)行結(jié)果具體包括:智能合約根據(jù)用戶設(shè)備發(fā)送的設(shè)備綁定信息執(zhí)行寫入操作后的運(yùn)行結(jié)果。則綁定狀態(tài)確認(rèn)模塊630具體用于將第一程序運(yùn)行結(jié)果包含的設(shè)備標(biāo)識與提供給用戶設(shè)備的設(shè)備綁定信息中包含的設(shè)備標(biāo)識進(jìn)行比對,當(dāng)比對結(jié)果一致時,則說明向智能合約提供信息的用戶設(shè)備就是當(dāng)初發(fā)起綁定請求的用戶設(shè)備,因此,可以向智能合約發(fā)送綁定成功消息。智能合約接收到綁定成功消息后,會將綁定成功消息對應(yīng)的用戶設(shè)備標(biāo)記為已綁定狀態(tài)。
認(rèn)證信息生成模塊640,用于接收用戶設(shè)備發(fā)送的設(shè)備認(rèn)證請求,根據(jù)設(shè)備認(rèn)證請求向用戶設(shè)備返回設(shè)備認(rèn)證信息。
具體地,認(rèn)證信息生成模塊640在收到用戶設(shè)備發(fā)送的設(shè)備認(rèn)證請求后,隨機(jī)生成設(shè)備認(rèn)證信息,將設(shè)備認(rèn)證信息返回給用戶設(shè)備。其中,該設(shè)備認(rèn)證信息包括:隨機(jī)標(biāo)識,例如隨機(jī)數(shù)等。
設(shè)備認(rèn)證模塊650,用于獲取智能合約根據(jù)用戶設(shè)備提供的設(shè)備認(rèn)證信息生成的第二程序運(yùn)行結(jié)果,根據(jù)第二程序運(yùn)行結(jié)果對用戶設(shè)備進(jìn)行認(rèn)證。
其中,第二程序運(yùn)行結(jié)果具體包括智能合約根據(jù)用戶設(shè)備提供的設(shè)備認(rèn)證信息執(zhí)行寫入操作后的運(yùn)行結(jié)果。具體地,智能合約根據(jù)用戶設(shè)備提供的設(shè)備認(rèn)證信息生成第二程序運(yùn)行結(jié)果之前,進(jìn)一步用于通過查詢已寫入的相關(guān)數(shù)據(jù),判斷用戶設(shè)備是否為已綁定狀態(tài)。當(dāng)判斷結(jié)果為是時,執(zhí)行后續(xù)步驟;當(dāng)判斷結(jié)果為否時,生成認(rèn)證失敗提示信息。該操作用于判斷發(fā)起設(shè)備認(rèn)證請求的用戶設(shè)備是否為已經(jīng)完成設(shè)備綁定的用戶設(shè)備,只有已綁定狀態(tài)的用戶設(shè)備才有權(quán)發(fā)起設(shè)備認(rèn)證請求。
對應(yīng)地,設(shè)備認(rèn)證模塊650具體用于將第二程序運(yùn)行結(jié)果包含的隨機(jī)標(biāo)識與提供給用戶設(shè)備的設(shè)備認(rèn)證信息中包含的隨機(jī)標(biāo)識進(jìn)行比對,當(dāng)比對結(jié)果一致時,認(rèn)證成功;反之,認(rèn)證失敗。
上述各個模塊的具體工作原理可參照方法實(shí)施例中相應(yīng)步驟的描述,此處不再贅述。
綜上所述,本申請實(shí)施例提供的一種認(rèn)證服務(wù)器采用具有唯一性的設(shè)備指紋來生成設(shè)備標(biāo)識,并將該設(shè)備標(biāo)識加入到設(shè)備綁定信息中,保證了設(shè)備綁定信息的唯一性,同時利用區(qū)塊鏈智能合約自身特點(diǎn),采用區(qū)塊鏈智能合約保存設(shè)備綁定信息,使得設(shè)備信息無法被篡改,由此解決了現(xiàn)有技術(shù)所存在的問題,保證了發(fā)起認(rèn)證請求的用戶設(shè)備的唯一性,并進(jìn)一步利用智能合約來驗(yàn)證設(shè)備信息,極大地簡化了驗(yàn)證流程,提高了設(shè)備認(rèn)證的效率。
實(shí)施例六
圖7是本申請實(shí)施例六提供的一種用戶設(shè)備的結(jié)構(gòu)示意圖。如圖7所示,該用戶設(shè)備包括:綁定請求模塊710、綁定信息傳遞模塊720、認(rèn)證請求模塊730和認(rèn)證信息傳遞模塊740。
綁定請求模塊710,用于向認(rèn)證服務(wù)器發(fā)送設(shè)備綁定請求,接收認(rèn)證服務(wù)器根據(jù)設(shè)備綁定請求返回的設(shè)備綁定信息。
在本實(shí)施例中,為了保證發(fā)起認(rèn)證請求的用戶設(shè)備的唯一性,在進(jìn)行認(rèn)證操作前,需要對用戶設(shè)備進(jìn)行綁定操作,并將用戶設(shè)備的綁定信息存儲到區(qū)塊鏈的智能合約中。因此,當(dāng)綁定請求模塊710向認(rèn)證服務(wù)器發(fā)送綁定請求后,認(rèn)證服務(wù)器需要針對用戶設(shè)備發(fā)送的設(shè)備綁定請求生成對應(yīng)的而且唯一的設(shè)備綁定信息,并將該設(shè)備綁定信息返回給用戶設(shè)備,以便用戶設(shè)備將該設(shè)備綁定信息發(fā)送給智能合約。其中,設(shè)備綁定請求中包括設(shè)備指紋,即可以唯一標(biāo)識用戶設(shè)備的一段字符信息,則設(shè)備綁定信息中包括了根據(jù)該設(shè)備指紋生成的設(shè)備標(biāo)識。
綁定信息傳遞模塊720,用于將設(shè)備綁定信息提供給區(qū)塊鏈中預(yù)設(shè)的智能合約。
綁定信息傳遞模塊720將設(shè)備綁定信息提供給區(qū)塊鏈中預(yù)設(shè)的智能合約,是為了方便智能合約根據(jù)設(shè)備綁定信息生成第一程序運(yùn)行結(jié)果,該第一程序運(yùn)行結(jié)果用于提供給認(rèn)證服務(wù)器進(jìn)行設(shè)備綁定。
認(rèn)證請求模塊730,用于向認(rèn)證服務(wù)器發(fā)送設(shè)備認(rèn)證請求,接收認(rèn)證服務(wù)器返回的設(shè)備認(rèn)證信息。
認(rèn)證請求模塊730向認(rèn)證服務(wù)器發(fā)送設(shè)備認(rèn)證請求,該請求包括但不限于登錄和注銷等等類型,請求內(nèi)容包括用戶設(shè)備的區(qū)塊鏈賬戶地址。認(rèn)證請求模塊730接收認(rèn)證服務(wù)器隨機(jī)生成的設(shè)備認(rèn)證信息,該信息中包含了認(rèn)證服務(wù)器隨機(jī)生成的隨機(jī)標(biāo)識,例如隨機(jī)數(shù)等。
認(rèn)證信息傳遞模塊740,用于將設(shè)備認(rèn)證信息提供給智能合約。
認(rèn)證信息傳遞模塊740將設(shè)備認(rèn)證信息提供給智能合約,以便智能合約根據(jù)設(shè)備認(rèn)證信息生成第二程序運(yùn)行結(jié)果,第二程序運(yùn)行結(jié)果用于提供給認(rèn)證服務(wù)器進(jìn)行設(shè)備認(rèn)證。
上述各個模塊的具體工作原理可參照方法實(shí)施例中相應(yīng)步驟的描述,此處不再贅述。
綜上所述,本申請實(shí)施例提供的一種用戶設(shè)備采用具有唯一性的設(shè)備指紋來生成設(shè)備標(biāo)識,并將該設(shè)備標(biāo)識加入到設(shè)備綁定信息中,保證了設(shè)備綁定信息的唯一性,同時利用區(qū)塊鏈智能合約自身特點(diǎn),采用區(qū)塊鏈智能合約保存設(shè)備綁定信息,使得設(shè)備信息無法被篡改,由此解決了現(xiàn)有技術(shù)所存在的問題,保證了發(fā)起認(rèn)證請求的用戶設(shè)備的唯一性,并進(jìn)一步利用智能合約來驗(yàn)證設(shè)備信息,極大地簡化了驗(yàn)證流程,提高了設(shè)備認(rèn)證的效率。
至此,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識到,雖然本文已詳盡示出和描述了本發(fā)明的多個示例性實(shí)施例,但是,在不脫離本發(fā)明精神和范圍的情況下,仍可根據(jù)發(fā)明公開的內(nèi)容直接確定或推導(dǎo)出符合本發(fā)明原理的許多其他變型或修改。因此,本發(fā)明的范圍應(yīng)該被理解和認(rèn)定為覆蓋了所有這些其他變型或修改。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明的實(shí)施方式可以實(shí)現(xiàn)為一種系統(tǒng)、裝置、設(shè)備、方法或計(jì)算機(jī)程序產(chǎn)品。此外,本發(fā)明也不針對任何特定編程語言,應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)本發(fā)明描述的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
需要注意的是,盡管在上面的說明中詳細(xì)描述了滑動解鎖驗(yàn)證裝置的若干模塊,但是這種劃分僅僅是示例性的,并非是強(qiáng)制性的。本領(lǐng)域的技術(shù)人員可以理解,實(shí)際上,可以對實(shí)施例中的模塊進(jìn)行自適應(yīng)性地改變,將實(shí)施例中的多個模塊組合成一個模塊,也可將一個模塊劃分成多個模塊。
此外,盡管在附圖中以特定順序描述了本發(fā)明實(shí)施操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實(shí)現(xiàn)期望的結(jié)果??梢允÷阅承┎襟E,將多個步驟合并為一個步驟執(zhí)行,或者將一個步驟分成多個步驟執(zhí)行。
綜上所述,應(yīng)用本發(fā)明所述的一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法采用具有唯一性的設(shè)備指紋來生成設(shè)備標(biāo)識,并將該設(shè)備標(biāo)識加入到設(shè)備綁定信息中,保證了設(shè)備綁定信息的唯一性,同時利用區(qū)塊鏈智能合約自身特點(diǎn),采用區(qū)塊鏈智能合約保存設(shè)備綁定信息,使得設(shè)備信息無法被篡改,由此解決了現(xiàn)有技術(shù)所存在的問題,保證了發(fā)起認(rèn)證請求的用戶設(shè)備的唯一性,并進(jìn)一步利用智能合約來驗(yàn)證設(shè)備信息,極大地簡化了驗(yàn)證流程,提高了設(shè)備認(rèn)證的效率。
以上對本發(fā)明的方法和具體實(shí)施方法進(jìn)行了詳細(xì)的介紹,并給出了相應(yīng)的實(shí)施例。當(dāng)然,除上述實(shí)施例外,本發(fā)明還可以有其它實(shí)施方式,凡采用等同替換或等效變換形成的技術(shù)方案,均落在本發(fā)明所要保護(hù)的范圍之內(nèi)。
本發(fā)明公開了:A1、一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法,其中,包括:
接收用戶設(shè)備發(fā)送的設(shè)備綁定請求,生成與所述設(shè)備綁定請求對應(yīng)的設(shè)備綁定信息,將所述設(shè)備綁定信息提供給所述用戶設(shè)備;
獲取區(qū)塊鏈中預(yù)設(shè)的智能合約根據(jù)所述用戶設(shè)備提供的所述設(shè)備綁定信息生成的第一程序運(yùn)行結(jié)果,根據(jù)所述第一程序運(yùn)行結(jié)果向所述智能合約發(fā)送綁定成功消息;
接收所述用戶設(shè)備發(fā)送的設(shè)備認(rèn)證請求,根據(jù)所述設(shè)備認(rèn)證請求向所述用戶設(shè)備返回設(shè)備認(rèn)證信息;
獲取所述智能合約根據(jù)所述用戶設(shè)備提供的所述設(shè)備認(rèn)證信息生成的第二程序運(yùn)行結(jié)果,根據(jù)所述第二程序運(yùn)行結(jié)果對所述用戶設(shè)備進(jìn)行認(rèn)證。
A2、根據(jù)A1所述的方法,其中,所述設(shè)備綁定信息中包括:與所述用戶設(shè)備對應(yīng)的設(shè)備標(biāo)識,則所述第一程序運(yùn)行結(jié)果具體包括:所述智能合約根據(jù)所述用戶設(shè)備發(fā)送的所述設(shè)備綁定信息執(zhí)行寫入操作后的運(yùn)行結(jié)果;
且所述根據(jù)所述第一程序運(yùn)行結(jié)果向所述智能合約發(fā)送綁定成功消息的步驟具體包括:將第一程序運(yùn)行結(jié)果包含的設(shè)備標(biāo)識與提供給所述用戶設(shè)備的設(shè)備綁定信息中包含的設(shè)備標(biāo)識進(jìn)行比對,當(dāng)比對結(jié)果一致時,向所述智能合約發(fā)送綁定成功消息。
A3、根據(jù)A2所述的方法,其中,所述設(shè)備綁定請求中包括:設(shè)備指紋,則所述設(shè)備綁定信息中包含的設(shè)備標(biāo)識根據(jù)所述設(shè)備指紋生成。
A4、根據(jù)A1-A3任一所述的方法,其中,所述設(shè)備認(rèn)證信息中包括隨機(jī)標(biāo)識,且所述第二程序運(yùn)行結(jié)果具體包括:所述智能合約根據(jù)所述用戶設(shè)備提供的所述設(shè)備認(rèn)證信息執(zhí)行寫入操作后的運(yùn)行結(jié)果;
則所述根據(jù)所述第二程序運(yùn)行結(jié)果對所述用戶設(shè)備進(jìn)行認(rèn)證的步驟具體包括:將第二程序運(yùn)行結(jié)果包含的隨機(jī)標(biāo)識與提供給所述用戶設(shè)備的設(shè)備認(rèn)證信息中包含的隨機(jī)標(biāo)識進(jìn)行比對,當(dāng)比對結(jié)果一致時,認(rèn)證成功;反之,認(rèn)證失敗。
A5、根據(jù)A1-A4任一所述的方法,其中,所述智能合約接收到所述綁定成功消息后,進(jìn)一步將所述綁定成功消息對應(yīng)的用戶設(shè)備標(biāo)記為已綁定狀態(tài),則所述智能合約根據(jù)所述用戶設(shè)備提供的所述設(shè)備認(rèn)證信息生成第二程序運(yùn)行結(jié)果的步驟之前,進(jìn)一步包括步驟:判斷所述用戶設(shè)備是否為已綁定狀態(tài),當(dāng)判斷結(jié)果為是時,執(zhí)行后續(xù)步驟;當(dāng)判斷結(jié)果為否時,生成認(rèn)證失敗提示信息。
A6、根據(jù)A1-A5任一所述的方法,其中,所述接收用戶設(shè)備發(fā)送的設(shè)備綁定請求的步驟之前,進(jìn)一步包括步驟:設(shè)置智能合約,將所述智能合約廣播到所述區(qū)塊鏈中。
A7、根據(jù)A1-A6任一所述的方法,其中,所述設(shè)備綁定信息進(jìn)一步包括:用戶設(shè)備的區(qū)塊鏈賬戶地址。
本發(fā)明還公開了:B8、一種基于區(qū)塊鏈的設(shè)備認(rèn)證方法,其中,包括:
向認(rèn)證服務(wù)器發(fā)送設(shè)備綁定請求,接收所述認(rèn)證服務(wù)器根據(jù)所述設(shè)備綁定請求返回的設(shè)備綁定信息;
將所述設(shè)備綁定信息提供給區(qū)塊鏈中預(yù)設(shè)的智能合約,以供所述智能合約根據(jù)所述設(shè)備綁定信息生成第一程序運(yùn)行結(jié)果,所述第一程序運(yùn)行結(jié)果用于提供給所述認(rèn)證服務(wù)器進(jìn)行設(shè)備綁定;
向所述認(rèn)證服務(wù)器發(fā)送設(shè)備認(rèn)證請求,接收所述認(rèn)證服務(wù)器返回的設(shè)備認(rèn)證信息;
將所述設(shè)備認(rèn)證信息提供給所述智能合約,以供所述智能合約根據(jù)所述設(shè)備認(rèn)證信息生成第二程序運(yùn)行結(jié)果,所述第二程序運(yùn)行結(jié)果用于提供給所述認(rèn)證服務(wù)器進(jìn)行設(shè)備認(rèn)證。
B9、根據(jù)B8所述的方法,其中,所述設(shè)備綁定請求中包括:設(shè)備指紋,則所述設(shè)備綁定信息中包括:根據(jù)所述設(shè)備指紋生成的設(shè)備標(biāo)識。
本發(fā)明還公開了:C10、一種認(rèn)證服務(wù)器,其中,包括:
綁定信息生成模塊,用于接收用戶設(shè)備發(fā)送的設(shè)備綁定請求,生成與所述設(shè)備綁定請求對應(yīng)的設(shè)備綁定信息,將所述設(shè)備綁定信息提供給所述用戶設(shè)備;
綁定狀態(tài)確認(rèn)模塊,用于獲取區(qū)塊鏈中預(yù)設(shè)的智能合約根據(jù)所述用戶設(shè)備提供的所述設(shè)備綁定信息生成的第一程序運(yùn)行結(jié)果,根據(jù)所述第一程序運(yùn)行結(jié)果向所述智能合約發(fā)送綁定成功消息;
認(rèn)證信息生成模塊,用于接收所述用戶設(shè)備發(fā)送的設(shè)備認(rèn)證請求,根據(jù)所述設(shè)備認(rèn)證請求向所述用戶設(shè)備返回設(shè)備認(rèn)證信息;
設(shè)備認(rèn)證模塊,用于獲取所述智能合約根據(jù)所述用戶設(shè)備提供的所述設(shè)備認(rèn)證信息生成的第二程序運(yùn)行結(jié)果,根據(jù)所述第二程序運(yùn)行結(jié)果對所述用戶設(shè)備進(jìn)行認(rèn)證。
C11、根據(jù)C10所述的認(rèn)證服務(wù)器,其中,所述設(shè)備綁定信息中包括:與所述用戶設(shè)備對應(yīng)的設(shè)備標(biāo)識,則所述第一程序運(yùn)行結(jié)果具體包括:所述智能合約根據(jù)所述用戶設(shè)備發(fā)送的所述設(shè)備綁定信息執(zhí)行寫入操作后的運(yùn)行結(jié)果;
且所述綁定狀態(tài)確認(rèn)模塊具體用于:將第一程序運(yùn)行結(jié)果包含的設(shè)備標(biāo)識與提供給所述用戶設(shè)備的設(shè)備綁定信息中包含的設(shè)備標(biāo)識進(jìn)行比對,當(dāng)比對結(jié)果一致時,向所述智能合約發(fā)送綁定成功消息。
C12、根據(jù)C11所述的認(rèn)證服務(wù)器,其中,所述設(shè)備綁定請求中包括:設(shè)備指紋,則所述設(shè)備綁定信息中包含的設(shè)備標(biāo)識根據(jù)所述設(shè)備指紋生成。
C13、根據(jù)C10-C12任一所述的認(rèn)證服務(wù)器,其中,所述設(shè)備認(rèn)證信息中包括隨機(jī)標(biāo)識,且所述第二程序運(yùn)行結(jié)果具體包括:所述智能合約根據(jù)所述用戶設(shè)備提供的所述設(shè)備認(rèn)證信息執(zhí)行寫入操作后的運(yùn)行結(jié)果;
則所述設(shè)備認(rèn)證模塊具體用于:將第二程序運(yùn)行結(jié)果包含的隨機(jī)標(biāo)識與提供給所述用戶設(shè)備的設(shè)備認(rèn)證信息中包含的隨機(jī)標(biāo)識進(jìn)行比對,當(dāng)比對結(jié)果一致時,認(rèn)證成功;反之,認(rèn)證失敗。
C14、根據(jù)C10-C13任一所述的認(rèn)證服務(wù)器,其中,所述智能合約接收到所述綁定成功消息后,進(jìn)一步將所述綁定成功消息對應(yīng)的用戶設(shè)備標(biāo)記為已綁定狀態(tài),則所述智能合約進(jìn)一步用于:判斷所述用戶設(shè)備是否為已綁定狀態(tài),當(dāng)判斷結(jié)果為是時,執(zhí)行后續(xù)步驟;當(dāng)判斷結(jié)果為否時,生成認(rèn)證失敗提示信息。
C15、根據(jù)C10-C14任一所述的認(rèn)證服務(wù)器,其中,所述服務(wù)器進(jìn)一步包括:廣播模塊,用于設(shè)置智能合約,將所述智能合約廣播到所述區(qū)塊鏈中。
C16、根據(jù)C10-C15任一所述的認(rèn)證服務(wù)器,其中,所述設(shè)備綁定信息進(jìn)一步包括:用戶設(shè)備的區(qū)塊鏈賬戶地址。
本發(fā)明還公開了:D17、一種用戶設(shè)備,其中,包括:
綁定請求模塊,用于向認(rèn)證服務(wù)器發(fā)送設(shè)備綁定請求,接收所述認(rèn)證服務(wù)器根據(jù)所述設(shè)備綁定請求返回的設(shè)備綁定信息;
綁定信息傳遞模塊,用于將所述設(shè)備綁定信息提供給區(qū)塊鏈中預(yù)設(shè)的智能合約,以供所述智能合約根據(jù)所述設(shè)備綁定信息生成第一程序運(yùn)行結(jié)果,所述第一程序運(yùn)行結(jié)果用于提供給所述認(rèn)證服務(wù)器進(jìn)行設(shè)備綁定;
認(rèn)證請求模塊,用于向所述認(rèn)證服務(wù)器發(fā)送設(shè)備認(rèn)證請求,接收所述認(rèn)證服務(wù)器返回的設(shè)備認(rèn)證信息;
認(rèn)證信息傳遞模塊,用于將所述設(shè)備認(rèn)證信息提供給所述智能合約,以供所述智能合約根據(jù)所述設(shè)備認(rèn)證信息生成第二程序運(yùn)行結(jié)果,所述第二程序運(yùn)行結(jié)果用于提供給所述認(rèn)證服務(wù)器進(jìn)行設(shè)備認(rèn)證。
D18、根據(jù)D17所述的用戶設(shè)備,其中,所述設(shè)備綁定請求中包括:設(shè)備指紋,則所述設(shè)備綁定信息中包括:根據(jù)所述設(shè)備指紋生成的設(shè)備標(biāo)識。