国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于區(qū)塊鏈的身份認(rèn)證系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2020-12-07 06:03韋智勇周立廣
軟件工程 2020年11期
關(guān)鍵詞:身份認(rèn)證區(qū)塊鏈技術(shù)

韋智勇 周立廣

摘? 要:隨著區(qū)塊鏈技術(shù)的高速發(fā)展,該技術(shù)已運(yùn)用到各行各業(yè)中,而身份認(rèn)證也成為全球科學(xué)界關(guān)注的熱點(diǎn)。本文主要使用超級賬本技術(shù),對區(qū)塊鏈的身份認(rèn)證系統(tǒng)進(jìn)行設(shè)計(jì)與實(shí)現(xiàn),首先對系統(tǒng)進(jìn)行需求分析,確定系統(tǒng)功能,包括用戶模塊、信息查詢與修改、信息認(rèn)證與授權(quán)、區(qū)塊信息查詢等,然后對系統(tǒng)進(jìn)行深入的分析,對各功能模塊進(jìn)行詳細(xì)的設(shè)計(jì),最后通過功能測試,各功能模塊達(dá)到預(yù)定的目標(biāo),而且系統(tǒng)運(yùn)行穩(wěn)定高效,對于用戶而言系統(tǒng)操作簡便、快捷,整個(gè)系統(tǒng)安全有效。

關(guān)鍵詞:區(qū)塊鏈技術(shù);超級賬本;身份認(rèn)證

中圖分類號:TP311.5? ? ?文獻(xiàn)標(biāo)識碼:A

Abstract: With its rapid development, blockchain technology has been applied to all aspects of life. Identity authentication has also become a hot topic in the global scientific community. This paper proposes and implements an identity authentication system based on blockchain by using super account technology. Firstly, system requirements are analyzed to determine system functions, including user module, information query and modification, information authentication and authorization, block information query, etc. Then, the system is analyzed in depth, and each functional module is designed in detail. Finally, results of function test show that each function module achieves the design goal, and the system runs stably and efficiently. For users, the system is easy to operate and the whole system is safe and effective.

Keywords: blockchain technology; super book; identity authentication

1? ?引言(Introduction)

隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)絡(luò)技術(shù)已在應(yīng)用于各個(gè)領(lǐng)域中,也走進(jìn)了老百姓生活當(dāng)中,基于互聯(lián)網(wǎng)技術(shù)的研究猶如雨后春筍般的快速增長,同時(shí)在網(wǎng)上進(jìn)行的各種業(yè)務(wù)與日俱增,例如:網(wǎng)上在線辦理各種業(yè)務(wù)需要進(jìn)行個(gè)人身份認(rèn)證,認(rèn)證方式一般可用企業(yè)提供的賬號通過微信、身份證信息等方式進(jìn)行身份認(rèn)證,但是由于企業(yè)提供的賬號本身具有虛假性,輸入的信息也有可能存在被修改的風(fēng)險(xiǎn),而開具實(shí)體證明又給工作帶來諸多不便[1]。另外,信息造假是一個(gè)普遍的現(xiàn)象,好多求職的人對學(xué)歷信息進(jìn)行造假,開具一些假的工作簡歷證明文件,以達(dá)到魚目混珠的目的,雖然一些用人單位通過調(diào)查的方式查詢求職者身份的真實(shí)性,但由于查找方式較為煩瑣而且成本較高,背景查詢也無法做到萬無一失。

伴隨著區(qū)塊鏈技術(shù)的問世,為解決這一難題指明了方向。為了解決身份認(rèn)證問題,在系統(tǒng)設(shè)計(jì)時(shí)可建立區(qū)塊鏈技術(shù)的網(wǎng)絡(luò)架構(gòu),對于后臺數(shù)據(jù)庫的構(gòu)建也采用這一方式進(jìn)行,區(qū)塊鏈技術(shù)的核心就是去中心化,數(shù)據(jù)存儲可通過共識去信任化的方式進(jìn)行。區(qū)塊鏈?zhǔn)且环N點(diǎn)對點(diǎn)的存儲傳輸模式,具有分布式存儲的特點(diǎn),存儲后的數(shù)據(jù)是通過區(qū)塊鏈網(wǎng)絡(luò)的節(jié)點(diǎn)進(jìn)行統(tǒng)一管理,不會被某一節(jié)點(diǎn)進(jìn)行修改[2]。

目前,區(qū)塊鏈在社會運(yùn)用已非常廣泛了,例如比特幣,其后臺技術(shù)就是區(qū)塊鏈,在全球的許多金融機(jī)構(gòu)業(yè)務(wù)都包含有區(qū)塊鏈技術(shù)的應(yīng)用,此外在一些領(lǐng)域,例如通信、物流、防偽設(shè)計(jì)、期貨交易、企業(yè)信息管理、政務(wù)信息發(fā)布、醫(yī)療救助等,這些都使區(qū)塊鏈技術(shù)在各行業(yè)得到了快速的發(fā)展。

2? ?相關(guān)技術(shù)(Related technology)

2.1? ?區(qū)塊

在基于區(qū)塊鏈技術(shù)的數(shù)據(jù)存儲中,數(shù)據(jù)存儲是以區(qū)塊作為主體而進(jìn)行的,每個(gè)區(qū)塊鏈結(jié)點(diǎn)的結(jié)構(gòu)一般都包含區(qū)塊頭和區(qū)塊體兩部分,區(qū)塊頭主要存放該節(jié)點(diǎn)唯一的標(biāo)志識別信息和服務(wù)版本信息,同時(shí)也包含了前一結(jié)點(diǎn)的哈希值,這樣可通過哈希值,把所有的數(shù)據(jù)都通過鏈?zhǔn)酱鎯Φ慕Y(jié)構(gòu)方式進(jìn)行數(shù)據(jù)存儲[3]。區(qū)塊體主要用于數(shù)據(jù)的載體,數(shù)據(jù)單元主要存放各種信息及類別,不同的區(qū)塊鏈應(yīng)用都對應(yīng)不同的數(shù)據(jù)類型,例如,金融交易類則存放交易信息、轉(zhuǎn)賬人、金額數(shù)量、交易時(shí)間等。每個(gè)結(jié)點(diǎn)的哈希值主要是通過Merkle樹進(jìn)行計(jì)算生成,對于每個(gè)結(jié)點(diǎn),如果數(shù)據(jù)信息要更改,則所有的區(qū)塊信息都要進(jìn)行修改,否則無法進(jìn)行數(shù)據(jù)更新操作,因此,區(qū)塊鏈的這個(gè)結(jié)構(gòu)可有效確保數(shù)據(jù)的安全性。

2.2? ?共識機(jī)制

共識機(jī)制是區(qū)塊鏈的各個(gè)結(jié)點(diǎn)為了達(dá)到共同的目標(biāo)而采取的同一口徑,每個(gè)結(jié)點(diǎn)都必須遵循這一規(guī)定,這些規(guī)定中標(biāo)明了各種事務(wù)是否合法有效,一般都以區(qū)塊鏈的協(xié)議方式存在,共識機(jī)制主要是通過共識算法來實(shí)現(xiàn),隨著區(qū)塊鏈技術(shù)的不斷深入研究,各種共識算法層出不窮,例如,Pow算法、PBFT算法、POS算法和DPOS算法等,Pow算法主要是通過計(jì)算哈希值來確定該工作量;POS算法是基于代幣的共識算法,新區(qū)塊鏈的生成都由最高股權(quán)參與者進(jìn)行維護(hù),提高區(qū)塊鏈的可靠性;DPOS算法是對POS算法的一種改進(jìn),維護(hù)者通過投票選舉的方式進(jìn)行產(chǎn)生,這樣可節(jié)省的交易的時(shí)間,提高了效率;PBFT算法主要是先選出一個(gè)主節(jié)點(diǎn),一般要在取得共識前進(jìn)行,由于主結(jié)點(diǎn)與其他結(jié)點(diǎn)進(jìn)行交互,達(dá)成共識后由主結(jié)點(diǎn)生成新的區(qū)塊[4]。

2.3? ?智能合約

智能合約是用區(qū)塊鏈的技術(shù)進(jìn)行的一種數(shù)字化合約方式,一般通過程序代碼寫入?yún)^(qū)塊鏈中,主要通過特定的運(yùn)行機(jī)制來保障交易的進(jìn)行,該合約的操作不受外界的干擾,智能合約的方式首先通過雙方的合約內(nèi)容進(jìn)行協(xié)商,如果雙方達(dá)成一致認(rèn)可,系統(tǒng)將通過程序代碼按照合約邏輯把合約內(nèi)容發(fā)布在系統(tǒng)中。合約一旦確立,寫入系統(tǒng)后,合約將自動生效,外界將無法進(jìn)行修改[5]。因此,訂立合約時(shí)雙方必須要嚴(yán)謹(jǐn),另外合約雙方無須到場進(jìn)行面簽,只要雙方在網(wǎng)上通過智能合約系統(tǒng)便可完成,這就保證了智能合約的安全性和高效性。

2.4? ?超級賬本

超級賬本是區(qū)塊鏈技術(shù)的一個(gè)開發(fā)框架,框架的選取是區(qū)塊鏈技術(shù)系統(tǒng)的基礎(chǔ)和關(guān)鍵核心,關(guān)系系統(tǒng)開發(fā)的成敗。例如在比特幣交易中,交易過程需要虛擬代幣,這種方式可以實(shí)現(xiàn)去中心化,但由于浪費(fèi)資源、效率低下,所以不適合響應(yīng)市場需求,而超級賬本不需要代幣,交易雙方可以加入共識機(jī)制進(jìn)行記賬、驗(yàn)證交易信息即可,這種方式對本系統(tǒng)的開發(fā)更加切合實(shí)際[6]。

3? ?系統(tǒng)設(shè)計(jì)分析(System design analysis)

3.1? ?系統(tǒng)設(shè)計(jì)原則

由于區(qū)塊鏈具有防止數(shù)據(jù)篡改、提高系統(tǒng)安全性及去中心化的特點(diǎn),故本系統(tǒng)也是根據(jù)區(qū)塊鏈技術(shù)的這些特性進(jìn)行系統(tǒng)設(shè)計(jì),同時(shí)就遵循以下原則:

(1)數(shù)據(jù)錄入必須安全有效。必須保證數(shù)據(jù)錄入系統(tǒng)過程中的安全性及有效性,如果數(shù)據(jù)錄入錯(cuò)誤,數(shù)據(jù)在系統(tǒng)中的轉(zhuǎn)換將會出錯(cuò),則會導(dǎo)致后面的各功能模塊出現(xiàn)數(shù)據(jù)錯(cuò)誤[7]。

(2)確保數(shù)據(jù)的安全性。對于所有交易信息,做到數(shù)據(jù)操作的可追溯性,同時(shí)利用區(qū)塊鏈數(shù)據(jù)不可篡改的特點(diǎn),確保后臺數(shù)據(jù)庫的數(shù)據(jù)安全,防止被篡改。

(3)合約的流程化。對于交易雙方如果達(dá)成一致,則可以通過智能合約進(jìn)行簽訂合同,在此,必須要保證整個(gè)交易流程的邏輯透明,防止外界各種因素的干擾[8]。

3.2? ?系統(tǒng)需求分析

本系統(tǒng)需求分析,主要根據(jù)數(shù)據(jù)錄入和修改、系統(tǒng)授權(quán)、信息認(rèn)證、系統(tǒng)管理和后臺存儲等功能模塊進(jìn)行探討。對于數(shù)據(jù)信息的錄入,用戶首先必須通過系統(tǒng)注冊才能登錄到本系統(tǒng),系統(tǒng)用戶主要包括個(gè)人用戶和機(jī)構(gòu)用戶,用戶通過賬號登錄到系統(tǒng),賬號要嚴(yán)格管理;數(shù)據(jù)修改主要是對數(shù)據(jù)庫的相關(guān)信息進(jìn)行修改,這個(gè)操作必須通過“補(bǔ)丁”的形式進(jìn)行數(shù)據(jù)更新,不能直接修改數(shù)據(jù),操作記錄都將保存在賬本中;系統(tǒng)授權(quán)主要是用戶登錄系統(tǒng)時(shí)通過用戶定制信息的認(rèn)證授權(quán),用于通過身份管理系統(tǒng)注冊用戶身份信息,即可直接授權(quán)登錄使用;信息認(rèn)證主要對用戶的個(gè)人信息進(jìn)行認(rèn)證,如學(xué)歷學(xué)位信息、職稱、身份證信息、學(xué)習(xí)及工作履歷等,對于比對進(jìn)行用戶的真實(shí)身份認(rèn)證,如果信息是真實(shí)存在的,系統(tǒng)會自動給用戶傳遞密鑰和電子簽名,通過信息授權(quán)的方式給用戶使用該系統(tǒng)[9];系統(tǒng)管理主要對用戶的賬號信息進(jìn)行增加或刪除,對區(qū)塊鏈的數(shù)據(jù)進(jìn)行永久的保存,對歷史數(shù)據(jù)進(jìn)行必要的維護(hù);后臺存儲主要對把用戶的數(shù)據(jù)、簡歷信息、履歷信息、身份認(rèn)證信息等,在進(jìn)行數(shù)據(jù)校驗(yàn)后,以區(qū)塊的形式保存到后臺數(shù)據(jù)庫中。

對于系統(tǒng)功能需求外,系統(tǒng)的性能需求也要求同步跟上,主要包括兩個(gè)方面,一是系統(tǒng)的處理信息的效率,當(dāng)用戶操作該系統(tǒng)時(shí),當(dāng)該業(yè)務(wù)處理正常通過時(shí)系統(tǒng)才能授權(quán)給用戶進(jìn)行下一步的業(yè)務(wù)操作,這里如果系統(tǒng)的性能差或效率低,則會導(dǎo)致進(jìn)程卡死在系統(tǒng)內(nèi)部,嚴(yán)重影響各功能的正常使用。二是系統(tǒng)響應(yīng)速度[10]。用戶在操作該系統(tǒng)時(shí),通過操作流程向系統(tǒng)發(fā)出指令,系統(tǒng)必須要規(guī)定的時(shí)間內(nèi)響應(yīng)該指令,如果響應(yīng)時(shí)間太長,同時(shí)也會造成系統(tǒng)效率低而影響業(yè)務(wù)進(jìn)行,由于本系統(tǒng)設(shè)計(jì)是基于聯(lián)盟鏈技術(shù)開發(fā)的,響應(yīng)的速度應(yīng)更加快一些。

3.3? ?系統(tǒng)架構(gòu)設(shè)計(jì)

本文所設(shè)計(jì)的系統(tǒng)主要采用分層的架構(gòu)進(jìn)行設(shè)計(jì),主要有基層平臺、合約層、業(yè)務(wù)管理層和用戶層,共四層結(jié)構(gòu)。系統(tǒng)架構(gòu)圖如圖1所示。

基層平臺由用戶端結(jié)點(diǎn)、CA結(jié)點(diǎn)、賬本數(shù)據(jù)塊組成的分布式區(qū)塊鏈網(wǎng)絡(luò),對于CA節(jié)點(diǎn)而言,只有PKI權(quán)限的用戶才能對該結(jié)點(diǎn)進(jìn)行維護(hù),另外還有基于賬本數(shù)據(jù)存儲的狀態(tài)數(shù)據(jù)庫系統(tǒng),該系統(tǒng)把賬本的區(qū)塊數(shù)據(jù)存儲在該數(shù)據(jù)庫中,同時(shí)包括各類用戶數(shù)據(jù)信息、區(qū)塊鏈內(nèi)部代碼等[11]。

合約層主要是用戶雙方進(jìn)行的信息操作,根據(jù)鏈碼來實(shí)現(xiàn)的,該層主要對雙方信息進(jìn)行認(rèn)證比對,正確后才能進(jìn)入下一層操作[12]。

業(yè)務(wù)管理層主要是為客戶端提供后臺服務(wù)的,主要功能是進(jìn)行區(qū)塊鏈的網(wǎng)絡(luò)傳輸,由合約層請求后調(diào)入鏈碼,完成交易雙方的合約操作,同時(shí)也給用戶層提供接口,處理來自用戶支的指令。

用戶層主要是提供用戶的交互應(yīng)用,通過網(wǎng)頁界面與用戶進(jìn)行交互,該層基于WEB開發(fā),主要運(yùn)用網(wǎng)絡(luò)編程語言進(jìn)行編寫程序代碼,該層主要面對用戶提供系統(tǒng)登錄、授權(quán)審核等,并向下一層提供接口。

3.4? ?系統(tǒng)運(yùn)行流程設(shè)計(jì)

本系統(tǒng)開發(fā)設(shè)計(jì),主要采用Java++語言進(jìn)行前端網(wǎng)頁開發(fā),對于智能合約方面,主要solidity語言,同時(shí)也包括了網(wǎng)絡(luò)接口及網(wǎng)絡(luò)構(gòu)建等,具有運(yùn)行流程如圖2所示。

在系統(tǒng)的運(yùn)行流程圖中,智能合約代碼用solidity語言實(shí)現(xiàn),合約文件的后綴名為.sol,通過合約接口程序?qū)?shù)據(jù)傳輸入智能合約編譯器中,把合約內(nèi)容轉(zhuǎn)換為數(shù)字代碼,然后將合約的數(shù)字代碼傳輸?shù)较到y(tǒng)前端,將合約的內(nèi)容部署到網(wǎng)絡(luò)中,可通過這個(gè)結(jié)果進(jìn)行系統(tǒng)測試,當(dāng)完成身份認(rèn)證后,將合約的內(nèi)容保存到后臺的數(shù)據(jù)庫中[13]。

3.5? ?系統(tǒng)功能模塊

基于區(qū)塊鏈的身份認(rèn)證系統(tǒng)功能模塊主要分成用戶模塊、查詢與修改模塊、認(rèn)證與授權(quán)管理、數(shù)據(jù)存儲模塊四大功能。

(1)用戶模塊。用戶使用本系統(tǒng)一般都要通過自己的賬號及密碼輸入后登錄,作為新用戶而言,必須要先注冊自己的賬號,把自己的個(gè)人身份及相關(guān)信息輸入系統(tǒng)中,這樣才可獲得相應(yīng)的系統(tǒng)賬號,本系統(tǒng)的用戶主要包括個(gè)人用戶和單位用戶,對于單位用戶,除了個(gè)人用戶的所有功能外,還可給個(gè)人用戶進(jìn)行信息認(rèn)證,兩種用戶的使用系統(tǒng)的流程大體一致,但由于數(shù)據(jù)結(jié)構(gòu)不相同,程序的接口也不一樣。

(2)查詢與修改模塊。查詢功能主要包括系統(tǒng)的數(shù)據(jù)及相關(guān)信息查詢,一些公開的信息無須操作權(quán)限,可直接輸入關(guān)鍵字進(jìn)行查詢,但有關(guān)數(shù)據(jù)信息必須要求有訪問權(quán)限才能進(jìn)行查詢,獲取權(quán)限通過請求后,由管理員分配權(quán)限,各用戶的權(quán)限范圍均可在系統(tǒng)首頁中查詢;修改功能主要是對原來的數(shù)據(jù)進(jìn)行更新,該功能實(shí)現(xiàn)主要通過記賬的方式進(jìn)行,這時(shí),為了確保數(shù)據(jù)安全,系統(tǒng)要驗(yàn)證其操作合法性,對修改的操作都保存在賬本中,便于今后進(jìn)行數(shù)據(jù)追溯,同樣該功能也必須有相應(yīng)的權(quán)限方可操作。

(3)認(rèn)證與授權(quán)管理。認(rèn)證功能主要是對用戶身份信息、工作履歷等個(gè)人信息,對于單位用戶而言,首先要對本單位的員工信息也進(jìn)行認(rèn)證,認(rèn)證通過后,也要提交到系統(tǒng)進(jìn)行認(rèn)證,這樣可確保用戶身份的真實(shí)性,有效地防止了信息造假行為發(fā)生;授權(quán)功能主要是用戶提供一個(gè)身份認(rèn)證的接口程序,用戶可通過該接口進(jìn)行數(shù)字簽名,確保簽名的用戶與系統(tǒng)中的用戶是同一用戶,確保數(shù)據(jù)真實(shí)有效,系統(tǒng)授權(quán)主要通過密鑰簽發(fā)來實(shí)現(xiàn)。

(4)數(shù)據(jù)存儲模塊。主要是存儲用戶的個(gè)人數(shù)據(jù)及相關(guān)信息,個(gè)人用戶信息一般包括證件信息、居住地址、學(xué)習(xí)經(jīng)歷、工作履歷、聯(lián)系方式、電子郵箱等,本系統(tǒng)的數(shù)據(jù)的存儲在區(qū)塊鏈的狀態(tài)數(shù)據(jù)庫中,而存儲時(shí)的鏈碼則通過超級賬本進(jìn)行保存,對數(shù)據(jù)進(jìn)行存儲操作時(shí),都通過接口向賬本發(fā)出請求即可,同時(shí)方便系統(tǒng)管理員對數(shù)據(jù)的維護(hù)。

4? ?系統(tǒng)的實(shí)現(xiàn)(Implementation of the system)

4.1? ?系統(tǒng)的運(yùn)行環(huán)境

本系統(tǒng)的運(yùn)行環(huán)境是使用Ubuntu 16.04.1 LTS操作系統(tǒng),開發(fā)工具選擇VS Code,同時(shí)Node.js版本使用8.16,電腦配置方面,處理器為雙核,內(nèi)存64G,網(wǎng)絡(luò)方面,所有的終端都連接在區(qū)塊鏈的配置網(wǎng)絡(luò)中。

4.2? ?系統(tǒng)的功能實(shí)現(xiàn)

4.2.1? ?網(wǎng)絡(luò)節(jié)點(diǎn)構(gòu)建

區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建主要包括兩個(gè)部分,一是區(qū)塊鏈網(wǎng)絡(luò)部署,另外一個(gè)是智能合約系統(tǒng)的部署。區(qū)塊鏈網(wǎng)絡(luò)的部署首先利用證書生成工具CP,生成MSP證書,進(jìn)而可以生成創(chuàng)世區(qū)塊,通過啟用超級賬本部署其他的網(wǎng)絡(luò)節(jié)點(diǎn),注冊節(jié)點(diǎn)為區(qū)塊鏈的網(wǎng)絡(luò)管理節(jié)點(diǎn),從而可實(shí)例化鏈碼,可通過接口向外界提供[14]。

4.2.2? ? Node程序的實(shí)現(xiàn)

由于業(yè)務(wù)層需要提供網(wǎng)絡(luò)頁面服務(wù),用Node的SDK與其他層進(jìn)行數(shù)據(jù)傳輸,因此必須設(shè)計(jì)一些Node的應(yīng)用程序,使系統(tǒng)的各模塊提供必需的信息服務(wù),由于身份認(rèn)證系統(tǒng)使用express作為服務(wù)框架,先將URI請求的路由處理SDK與區(qū)塊鏈網(wǎng)絡(luò)底層平臺交互,定義路由的方法,這樣可達(dá)到了系統(tǒng)的功能服務(wù)。

4.2.3? ?合約設(shè)計(jì)

智能合約是實(shí)現(xiàn)雙方交易的系統(tǒng)核心功能,交易雙方身份數(shù)據(jù)的修改均由智能合約模塊來完成,這樣可能防止外界的各種干擾,確認(rèn)交易信息的安全性,用戶通過操作界面與區(qū)塊鏈系統(tǒng)進(jìn)行交互,交互的過程由系統(tǒng)后臺的程序與區(qū)塊鏈層對接與溝通,業(yè)務(wù)邏輯的實(shí)現(xiàn)要通過后臺程序調(diào)用的方式提供鏈碼,把運(yùn)行的結(jié)果存儲在超級賬本內(nèi)。

4.2.4? ?Web應(yīng)用開發(fā)

Web開發(fā)主要是使操作者通過頁面交互對系統(tǒng)進(jìn)行操作與管理,本文為個(gè)人用戶與系統(tǒng)管理員設(shè)計(jì)移動端的前置頁面功能,實(shí)現(xiàn)Web開發(fā)主要通過交互式協(xié)議與接口開發(fā)。個(gè)人用戶端主要通過賬號登錄,系統(tǒng)授權(quán)方式可通過系統(tǒng)生成的二維碼進(jìn)行操作后登錄系統(tǒng)使用;單位用戶則需要通過API接口進(jìn)行認(rèn)證后才能訪問系統(tǒng);對于系統(tǒng)管理員,主要是通過Vue.js單頁應(yīng)用認(rèn)證后,其中頁面還包括審批注冊信息的功能。

4.3? ?系統(tǒng)測試

4.3.1? ?測試環(huán)境

本系統(tǒng)通過臺式電腦中運(yùn)行系統(tǒng)程序,進(jìn)行各功能測試,運(yùn)行環(huán)境是Windows 10操作平臺,電腦硬件配置為I5四核處理器,8G內(nèi)存,開發(fā)工具為VS Code,Node.js版本為10.15.0,使用谷歌瀏覽器。

4.3.2? ?功能測試

系統(tǒng)測試一般包括有白盒測試與黑盒測試,本文主要使用黑盒測試法,對系統(tǒng)的核心功能模塊進(jìn)行測試,檢測是否能正常運(yùn)行,核心功能主要包括用戶模塊、查詢與修改模塊、認(rèn)證與授權(quán)管理等。

用戶模塊功能測試主要是通過用戶在交互界面中輸入合法與非法的用戶信息,輸入后進(jìn)行提交,系統(tǒng)則對合法的用戶信息有“提交成功”的提示,而對于非法的用戶信息時(shí)則系統(tǒng)顯示“提交失敗”的提示;對于數(shù)據(jù)信息修改功能測試,主要是輸入聯(lián)系方式的信息,例如:電話號碼等,分別輸入合法的和非法的電話號碼,合法的顯示“修改成功”,而非法的顯示“信息無法保存”,而對于重復(fù)使用的身份證號碼,系統(tǒng)顯示“該證件已注冊,保存失敗”;對于數(shù)據(jù)查詢功能,測試方法為用已授權(quán)和沒有授權(quán)的賬號分別登錄系統(tǒng)測試,已授權(quán)的可以正常顯示所要查詢各種數(shù)據(jù)信息,沒有授權(quán)的顯示“該功能沒有授權(quán),無法查詢”;對于信息認(rèn)證功能測試,主要在系統(tǒng)中輸入用戶的工作履歷信息,則在系統(tǒng)誰后,系統(tǒng)會添加到用戶的個(gè)人資料當(dāng)中;授權(quán)功能測試,主要是測試系統(tǒng)對用戶身份是否授權(quán),用戶輸入個(gè)人信息后,系統(tǒng)會自動生成二維碼,用戶使用手機(jī)掃描二維碼后,系統(tǒng)會要求用戶進(jìn)行電子簽名,完成后系統(tǒng)會彈出“授權(quán)成功”的提示。

通過用戶模塊、查詢與修改模塊、認(rèn)證與授權(quán)管理這幾項(xiàng)功能進(jìn)行系統(tǒng)測試,根據(jù)各項(xiàng)數(shù)據(jù)表明系統(tǒng)各項(xiàng)功能界面交互友好、系統(tǒng)運(yùn)行穩(wěn)定,運(yùn)算數(shù)值正確,沒有發(fā)現(xiàn)明顯的錯(cuò)誤,達(dá)到了預(yù)期的效果。

4.3.3? ?性能測試

系統(tǒng)在進(jìn)行了功能測試后,同樣也要對系統(tǒng)的整體性能進(jìn)行測試,本文主要測試系統(tǒng)的響應(yīng)時(shí)間。測試主要是在區(qū)塊鏈的讀寫端口通過接口程序進(jìn)行,本文測試工具采用Apache公司開發(fā)的Jmeter軟件,對用戶接口和查詢接口分別進(jìn)行測試,測試中采用多線程單次操作的方式進(jìn)行。測試結(jié)果如圖3所示。

5? ?結(jié)論(Conclusion)

由于區(qū)塊鏈技術(shù)具有分布式存儲、防止篡改、中心化的特點(diǎn),基于區(qū)塊鏈技術(shù)的一系列優(yōu)點(diǎn),本文將區(qū)塊鏈技術(shù)和WEB開發(fā)技術(shù)結(jié)合一起設(shè)計(jì)實(shí)現(xiàn)了身份認(rèn)證系統(tǒng),通過把目前的身份認(rèn)證系統(tǒng)存在的問題進(jìn)行剖析,把超級賬本技術(shù)作為本系統(tǒng)開發(fā)的框架,本系統(tǒng)通過融入?yún)^(qū)塊鏈技術(shù),無論從哪個(gè)方面,都解決了身份認(rèn)證的難題,例如信息造假現(xiàn)象,該系統(tǒng)的設(shè)計(jì)取得了一定的成果,但由于目前區(qū)塊鏈技術(shù)仍處于一個(gè)的發(fā)展階段,技術(shù)尚不成熟,還有待改進(jìn),例如對不同環(huán)境的系統(tǒng)安全問題,必須有相應(yīng)的安全策略,另外對于智能合約雙方不能不能修改業(yè)務(wù)邏輯及數(shù)據(jù)信息,但是不能根據(jù)業(yè)務(wù)需要定制相應(yīng)的功能等,這些問題在今后都要逐步加以完善。

參考文獻(xiàn)(References)

[1] 周平,杜宇,李斌,等.中國區(qū)塊鏈技術(shù)與應(yīng)用發(fā)展白皮書[M].中國區(qū)塊鏈技術(shù)和產(chǎn)業(yè)發(fā)展論壇,2018:42-44.

[2] 袁勇,王飛躍.區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J].自動化學(xué)報(bào),2019(4):481-494.

[3] Zhu XY, Badr Y. Identity Management Systems for the Internet of Things:A Survey Towards Blockchain Solutions[J]. Sensors, 2018,18(12)83-86.

[4] 張亮,劉百祥,張如意,等.區(qū)塊鏈技術(shù)綜述[J].計(jì)算機(jī)工程,2019,45(05):1-12.

[5] 歐陽麗煒,王帥,袁勇,等.智能合約:架構(gòu)及進(jìn)展[J].自動化學(xué)報(bào),2019,45(03):445-457.

[6] 謝輝,王健.區(qū)塊鏈技術(shù)及其應(yīng)用研究[J].信息網(wǎng)絡(luò)安全,2019(9):192-195.

[7] 顧燕.基于區(qū)塊鏈的身份認(rèn)證系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京郵電大學(xué),2018.

[8] 任安軍.運(yùn)用區(qū)塊鏈改造我國票據(jù)市場的思考[J].南方金融,2018,24(03):39-42.

[9] 王皓,宋祥福,柯俊明,等.數(shù)字貨幣中的區(qū)塊鏈及其隱私保護(hù)機(jī)制[J].信息網(wǎng)絡(luò)安全,2017,17(7): 32-39.

[10] 潘維,黃曉芳.基于智能合約的身份管理及認(rèn)證模型[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2020(04):915-919.

[11]? Kubilay M, Kiraz M, Mantar H. CertLedger: A new PKI model with Certificate Transparency based on blockchain[J]. Computers & Security, 2019,85:333-334.

[12]? Lee J. BIDaaS: Blockchain Based ID As a Service[C]. IEEE Access, 2018(6):2274-2278.

[13] Chen YL, Li H, Li KJ, et al. An improved P2P file system scheme based on IPFS and Blockchain[C]. IEEE International Conference on Big Data. IEEE, 2017:2652-2657.

[14] 郭良俊.HUE-Cloud身份認(rèn)證系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].江蘇:東南大學(xué),2018.

[15] Tse? D,? Zhang? Bowen,? Yang? Yuchen,? et? al.? Blockchain? application? in? food? supply? information security[C].? IEEE? International? Conference? on? Industrial? Engineering? and? Engineering Management (IEEM).IEEEE,2018:1357-1361.

作者簡介:

韋智勇(1983-),男,碩士,信息系統(tǒng)項(xiàng)目管理師.研究領(lǐng)域:區(qū)塊鏈應(yīng)用,大數(shù)據(jù)技術(shù).

周立廣(1974-),男,碩士,高級工程師.研究領(lǐng)域:云計(jì)算,大數(shù)據(jù)分析.

猜你喜歡
身份認(rèn)證區(qū)塊鏈技術(shù)
利用區(qū)塊鏈技術(shù)開展國際結(jié)算的探討
區(qū)塊鏈技術(shù)對我國綠色金融發(fā)展的影響分析
基于區(qū)塊鏈技術(shù)的我國央行數(shù)字貨幣的前路展望
區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀及其潛在問題文獻(xiàn)綜述
淺談“一帶一路”下區(qū)塊鏈技術(shù)在金融領(lǐng)域的應(yīng)用
云電子身份管理與認(rèn)證系統(tǒng)中的關(guān)鍵技術(shù)優(yōu)化改進(jìn)
校園網(wǎng)云盤系統(tǒng)存在的安全問題及對策
基于指紋身份認(rèn)證的固定通信臺站干部跟班管理系統(tǒng)設(shè)計(jì)
基于PKI與基于IBC的認(rèn)證技術(shù)比較
Kerberos身份認(rèn)證協(xié)議的改進(jìn)
石林| 台安县| 龙海市| 金门县| 伊吾县| 巨野县| 福清市| 贵南县| 阿城市| 武隆县| 读书| 房山区| 杭锦旗| 宜昌市| 惠水县| 和顺县| 无锡市| 白城市| 阜新市| 滨海县| 灌南县| 鄂尔多斯市| 庆云县| 会同县| 扶绥县| 章丘市| 河北省| 衡阳县| 新河县| 黎川县| 志丹县| 新建县| 中宁县| 天台县| 乌恰县| 遂川县| 夏河县| 黄骅市| 延长县| 梅州市| 镇平县|