本發(fā)明涉及身份認(rèn)證領(lǐng)域,特別涉及一種基于區(qū)塊鏈的身份認(rèn)證系統(tǒng)和方法。
背景技術(shù):
1、在當(dāng)前信息社會(huì)中,各類組織都會(huì)面臨對(duì)自身業(yè)務(wù)信息進(jìn)行獲取、傳遞、處理、加工、再生的需要,目前這類需求都是利用信息系統(tǒng)來(lái)滿足上述需求。通過(guò)觀察可以發(fā)現(xiàn),目前各類組織所使用的信息系統(tǒng)中負(fù)責(zé)獲取、傳遞、處理、加工、再生的各類節(jié)點(diǎn)在空間上一般不可能處于同一位置,是散布在該組織的不同地域的機(jī)構(gòu)中。同時(shí),這些信息節(jié)點(diǎn)以及它們間的信息關(guān)系,就構(gòu)成了該組織的網(wǎng)絡(luò)信息體系。那么當(dāng)該組織為適應(yīng)某種需要,其網(wǎng)絡(luò)信息體系中的節(jié)點(diǎn)或者信息關(guān)系必須進(jìn)行轉(zhuǎn)換或變化時(shí),信息節(jié)點(diǎn)就會(huì)面臨重新接入網(wǎng)絡(luò)信息體系,并與其它節(jié)點(diǎn)建立信息關(guān)系的問(wèn)題。
2、身份認(rèn)證是保證信息安全的一種重要安全機(jī)制。身份認(rèn)證技術(shù)指的是對(duì)互聯(lián)網(wǎng)中執(zhí)行者身份鑒別、審計(jì)的過(guò)程和方法。傳統(tǒng)的身份認(rèn)證方法包括本地密碼認(rèn)證,用戶將預(yù)先設(shè)置的密碼存儲(chǔ)本地終端設(shè)備中;與之相對(duì)的是遠(yuǎn)程密碼認(rèn)證,用戶在認(rèn)證的時(shí)候?qū)⒈镜剌斎氲拿艽a發(fā)送到遠(yuǎn)程中心化服務(wù)器中進(jìn)行驗(yàn)證。近年來(lái)也出現(xiàn)了很多新興的驗(yàn)證手段:1)短信驗(yàn)證。隨機(jī)驗(yàn)證碼以手機(jī)短信的形式發(fā)送給用戶,用戶在驗(yàn)證或交易認(rèn)證的時(shí)候輸入此驗(yàn)證碼,從而確保系統(tǒng)身份認(rèn)證的正確性;2)動(dòng)態(tài)口令。目前主流的是基于時(shí)間同步的方式,每隔一段時(shí)間終端應(yīng)用會(huì)隨機(jī)生成一段序列號(hào)作為用戶驗(yàn)證的密碼;3)生物識(shí)別。生物特征指人體特征的相關(guān)度量,在計(jì)算機(jī)科學(xué)中是一種新興的人體身份識(shí)別和訪問(wèn)控制手段。這種方法使用傳感器或是感應(yīng)器來(lái)獲取生物的生理特性或行為特征,進(jìn)一步將其轉(zhuǎn)化為序列化的信息用于驗(yàn)證。人體的生物特征包括生理特性和行為特征,其中生理特性與身體的物理測(cè)量有關(guān),例如指紋、手掌靜脈、面部識(shí)別等;行為特征與人體的行為模式有關(guān),包括步態(tài)、簽名等。然而無(wú)論對(duì)于上述任何一種驗(yàn)證方案,都需要將密碼或用戶生物特征信息存儲(chǔ)在本地終端或遠(yuǎn)程服務(wù)器中,一旦這些認(rèn)證信息在傳輸過(guò)程中被截獲或是中心化服務(wù)器被攻擊,攻擊者就可以偽造用戶身份進(jìn)行欺騙攻擊,最終導(dǎo)致用戶隱私的泄露和資產(chǎn)的損失。
3、現(xiàn)有技術(shù)中公開(kāi)的基于公鑰基礎(chǔ)設(shè)施(public?key?infrastructure,pki)的身份認(rèn)證是目前較為成熟并取得普遍應(yīng)用的認(rèn)證技術(shù)。其以公鑰證書(shū)的形式將用戶公鑰和用戶身份進(jìn)行綁定。但是,pki通過(guò)引入可信第三方ca進(jìn)行身份認(rèn)證,這帶來(lái)了證書(shū)的管理、存儲(chǔ)和計(jì)算上的代價(jià)。大規(guī)模密鑰管理的問(wèn)題一般是采用物理上增加ca的方法,而各個(gè)ca的用戶之間還存在交叉認(rèn)證和信任管理的問(wèn)題。而使提供商的中央服務(wù)器崩潰是黑客的主要目標(biāo),因此用戶數(shù)據(jù)容易受到黑客攻擊。在分布式環(huán)境中,各機(jī)構(gòu)為了方便管理用戶,設(shè)置認(rèn)證服務(wù)器形成相對(duì)獨(dú)立的信任域,然而單個(gè)獨(dú)立的信任域不能提供多種服務(wù),用戶需要多域訪問(wèn),存在跨域認(rèn)證問(wèn)題。因此基于上述的身份認(rèn)證機(jī)制存在不易維護(hù)、中心化服務(wù)器易被攻擊的問(wèn)題,所以如何提供一種去中心化、可靠性強(qiáng)和易維護(hù)的身份認(rèn)證系統(tǒng)是目前亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)上述存在的問(wèn)題,本發(fā)明提出了一種基于區(qū)塊鏈的身份認(rèn)證系統(tǒng)和方法,利用區(qū)塊鏈的去中心化結(jié)構(gòu)、不可篡改等特性解決傳統(tǒng)的身份管理機(jī)制中潛在的中心化單點(diǎn)故障問(wèn)題和隱私數(shù)據(jù)泄露問(wèn)題。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案如下:
3、一種基于區(qū)塊鏈的身份認(rèn)證系統(tǒng),其特征在于,本系統(tǒng)自上向下依次為應(yīng)用層、業(yè)務(wù)層、服務(wù)層、數(shù)據(jù)層和基礎(chǔ)層,其中:
4、應(yīng)用層,主要用于業(yè)務(wù)邏輯處理,在前端對(duì)數(shù)據(jù)進(jìn)行操作,以可視化方式將數(shù)據(jù)進(jìn)行動(dòng)態(tài)展示;
5、業(yè)務(wù)層,用于提供業(yè)務(wù)實(shí)現(xiàn)所需的算法,并通過(guò)相關(guān)算法完成業(yè)務(wù)功能,并與數(shù)據(jù)層和應(yīng)用層交互;
6、服務(wù)層,用于提供可復(fù)用的服務(wù);
7、數(shù)據(jù)層,用于進(jìn)行數(shù)據(jù)存儲(chǔ)與訪問(wèn),實(shí)現(xiàn)區(qū)塊鏈數(shù)據(jù)與mysql數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步,且所述區(qū)塊鏈數(shù)據(jù)包括節(jié)點(diǎn)數(shù)據(jù)、授權(quán)數(shù)據(jù)、交易記錄、訪問(wèn)記錄,mysql數(shù)據(jù)庫(kù)中的數(shù)據(jù)包括基礎(chǔ)數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù);
8、基礎(chǔ)層,用于提供系統(tǒng)運(yùn)行的基礎(chǔ)設(shè)施。
9、進(jìn)一步地,所述服務(wù)層提供的服務(wù)包括區(qū)塊鏈服務(wù)、認(rèn)證服務(wù)以及訪問(wèn)控制限制服務(wù);
10、區(qū)塊鏈服務(wù)包括基礎(chǔ)服務(wù)、密鑰服務(wù)、委員投票服務(wù)、聯(lián)盟節(jié)點(diǎn)管理、智能合約相關(guān)服務(wù);
11、認(rèn)證服務(wù)包含用戶認(rèn)證服務(wù)和令牌認(rèn)證服務(wù)。
12、進(jìn)一步地,所述應(yīng)用層包括:
13、數(shù)據(jù)看板模塊,用于監(jiān)控各業(yè)務(wù)終端關(guān)系狀態(tài)、服務(wù)器運(yùn)行資源情況和區(qū)塊鏈運(yùn)行情況;
14、數(shù)據(jù)操作模塊,用于提供控制端各功能服務(wù)的管理界面。
15、進(jìn)一步地,所述業(yè)務(wù)層包括:
16、系統(tǒng)節(jié)點(diǎn)管理模塊,用于調(diào)用區(qū)塊鏈對(duì)各節(jié)點(diǎn)終端的基礎(chǔ)信息、固件信息、身份標(biāo)識(shí)進(jìn)行新增、修改、停用管理,完成節(jié)點(diǎn)身份注冊(cè);
17、業(yè)務(wù)關(guān)系管理模塊,用于為各前置端節(jié)點(diǎn)創(chuàng)建交易待辦;
18、訪問(wèn)控制代理模塊,部署在應(yīng)用終端的中間件,用于獲取所在節(jié)點(diǎn)的唯一固件信息,并在重置或初始化訪問(wèn)控制代理模塊時(shí)解析完成身份注冊(cè)后生成的身份密鑰,并將其配置到訪問(wèn)控制代理模塊,并實(shí)現(xiàn)與控制管理端的長(zhǎng)連接通信服務(wù);
19、用戶管理模塊,用于負(fù)責(zé)系統(tǒng)的操作用戶、角色基礎(chǔ)管理;
20、訪問(wèn)記錄查詢模塊,用于對(duì)系統(tǒng)訪問(wèn)產(chǎn)生的日志進(jìn)行查詢;
21、交易記錄查詢模塊,用于對(duì)系統(tǒng)中交易記錄進(jìn)行查詢;
22、日志管理模塊,用于系統(tǒng)日常運(yùn)行、操作記錄進(jìn)行管理查詢;
23、權(quán)限管理模塊,用于進(jìn)行系統(tǒng)用戶的權(quán)限控制。
24、進(jìn)一步地,所述訪問(wèn)控制代理模塊包括節(jié)點(diǎn)固件信息單元、節(jié)點(diǎn)身份設(shè)置單元、節(jié)點(diǎn)連接服務(wù)單元;
25、節(jié)點(diǎn)固件信息單元,用于獲取所在信息終端的硬件序列碼以及硬件的唯一信息;
26、節(jié)點(diǎn)身份設(shè)置單元,用于對(duì)系統(tǒng)節(jié)點(diǎn)管理模塊完成身份注冊(cè)后生成的身份秘鑰進(jìn)行配置;
27、節(jié)點(diǎn)連接服務(wù)單元,用于與控制管理端進(jìn)行長(zhǎng)連接通信。
28、進(jìn)一步地,所述服務(wù)層包括:
29、區(qū)塊鏈服務(wù)模塊,用于提供基本的區(qū)塊鏈服務(wù);
30、認(rèn)證服務(wù)模塊,用于對(duì)用戶信息和令牌信息進(jìn)行認(rèn)證;
31、訪問(wèn)控制服務(wù)模塊,用于在用戶或中間件的身份認(rèn)證失敗時(shí)主動(dòng)切斷兩者之間的通信連接。
32、進(jìn)一步地,所述區(qū)塊鏈服務(wù)模塊包括區(qū)塊鏈基礎(chǔ)服務(wù)單元、秘鑰服務(wù)單元、委員投票服務(wù)單元、聯(lián)盟節(jié)點(diǎn)管理單元和智能合約單元。
33、進(jìn)一步地,所述認(rèn)證服務(wù)模塊包括:
34、用戶認(rèn)證單元,用于對(duì)登錄系統(tǒng)的用戶或中間件長(zhǎng)連接進(jìn)行識(shí)別、校驗(yàn)、鑒權(quán)處理;
35、令牌認(rèn)證單元,用于對(duì)用戶、中間件的所有通信進(jìn)行防偽識(shí)別、防借用識(shí)別處理。
36、一種基于區(qū)塊鏈的身份認(rèn)證方法,基于如權(quán)利要求1所述的身份認(rèn)證系統(tǒng)實(shí)現(xiàn),其特征在于,包括以下步驟:
37、步驟1:部署訪問(wèn)控制代理服務(wù)模塊到業(yè)務(wù)節(jié)點(diǎn);
38、步驟2:通過(guò)訪問(wèn)控制代理服務(wù)模塊獲取業(yè)務(wù)節(jié)點(diǎn)的唯一固件信息;
39、步驟3:根據(jù)得到的固件信息向控制端的系統(tǒng)節(jié)點(diǎn)管理模塊進(jìn)行節(jié)點(diǎn)身份注冊(cè);
40、步驟4:系統(tǒng)節(jié)點(diǎn)管理模塊在接到身份注冊(cè)請(qǐng)求后,調(diào)用區(qū)塊鏈的秘鑰服務(wù)單元生成該節(jié)點(diǎn)的區(qū)塊鏈身份標(biāo)識(shí),并將固件信息和區(qū)塊鏈身份標(biāo)識(shí)關(guān)聯(lián)后,利用區(qū)塊鏈基礎(chǔ)服務(wù)存入?yún)^(qū)塊鏈,完成節(jié)點(diǎn)身份注冊(cè);
41、步驟5:系統(tǒng)節(jié)點(diǎn)管理模塊導(dǎo)出業(yè)務(wù)節(jié)點(diǎn)的身份秘鑰文件,并將身份秘鑰文件導(dǎo)入到訪問(wèn)控制代理服務(wù)模塊;
42、步驟6:訪問(wèn)控制代理服務(wù)模塊接收到身份秘鑰導(dǎo)入請(qǐng)求后,依據(jù)固件信息對(duì)身份秘鑰文件的密文進(jìn)行解析,若解析成功則將秘鑰文件進(jìn)行配置,并進(jìn)入步驟7,若否,則表示秘鑰無(wú)效,終止認(rèn)證流程;
43、步驟7:訪問(wèn)控制代理服務(wù)模塊自動(dòng)發(fā)起長(zhǎng)連接向控制端建立通信并發(fā)送請(qǐng)求消息;
44、步驟8:控制端接收到通信請(qǐng)求后,調(diào)用認(rèn)證服務(wù)模塊對(duì)請(qǐng)求中攜帶的身份標(biāo)識(shí)進(jìn)行認(rèn)證;若認(rèn)證成功,則進(jìn)入步驟9,若認(rèn)證失敗,則表示身份標(biāo)識(shí)無(wú)效,訪問(wèn)控制服務(wù)模塊主動(dòng)斷開(kāi)長(zhǎng)連接通信,終止認(rèn)證流程;
45、步驟9:控制端根據(jù)身份標(biāo)識(shí)調(diào)用區(qū)塊鏈服務(wù)查詢中間件固件信息,若查詢成功,則進(jìn)入步驟10,若查詢失敗,則表示身份標(biāo)識(shí)無(wú)效,訪問(wèn)控制服務(wù)模塊主動(dòng)斷開(kāi)長(zhǎng)連接通信,終止認(rèn)證流程;
46、步驟10:控制端根據(jù)固件信息和訪問(wèn)控制代理服務(wù)模塊的身份秘鑰,解密通信內(nèi)容,若解密成功,則進(jìn)入步驟11,若解密失敗,則表示身份標(biāo)識(shí)被冒用,訪問(wèn)控制服務(wù)模塊主動(dòng)斷開(kāi)長(zhǎng)連接通信,終止認(rèn)證流程;
47、步驟11:通信內(nèi)容解密成功則通過(guò)令牌認(rèn)證。
48、本發(fā)明的有益效果是:
49、本發(fā)明所設(shè)計(jì)的身份識(shí)別系統(tǒng)采用fisco?bcos區(qū)塊鏈平臺(tái)作為底層技術(shù)支持實(shí)現(xiàn)了業(yè)務(wù)應(yīng)用的接入身份識(shí)別,具有高性能、高可擴(kuò)展性、更高的安全性和可信度的特點(diǎn)。