本發(fā)明涉及信息安全,具體的說,是一種基于時(shí)間序列驗(yàn)證的輕量化認(rèn)證方法。
背景技術(shù):
1、人工智能、邊緣計(jì)算、大數(shù)據(jù)技術(shù)等新型技術(shù)推動工業(yè)終端設(shè)備自治化、智能化的同時(shí),其本身的安全性、可靠性也變得尤為重要。鑒于工業(yè)互聯(lián)網(wǎng)設(shè)備的應(yīng)用環(huán)境用于采集、邊緣處理、傳輸?shù)裙δ?,而?zhí)行任務(wù)過程中設(shè)備的能源來自電池,工業(yè)互聯(lián)網(wǎng)的設(shè)備需要在能源受限、網(wǎng)絡(luò)受限等諸多受限條件下完成相關(guān)任務(wù),而且還得保證其是安全可靠運(yùn)行的。因此工業(yè)互聯(lián)網(wǎng)安全認(rèn)證方法是保證合法用戶基本安全需求之一。為了確保工業(yè)互聯(lián)網(wǎng)環(huán)境的可靠,工業(yè)互聯(lián)網(wǎng)中網(wǎng)絡(luò)環(huán)境的確定性是其有效應(yīng)用的基本前提。針對工業(yè)互聯(lián)網(wǎng)設(shè)備能源受限、通信受限的狀態(tài)完成網(wǎng)絡(luò)互聯(lián)互通的問題,提出了輕量化的安全認(rèn)證方法用于識別設(shè)備之間的合法身份。
2、目前工業(yè)互聯(lián)網(wǎng)為解決身份認(rèn)證過程的信息的新鮮性,采用基于輕量化的認(rèn)證方法僅通過時(shí)間差的間隔小于閾值來控制交互消息的新鮮性。例如,實(shí)體a發(fā)送給實(shí)體b認(rèn)證消息m1,記錄發(fā)送時(shí)間為t1,然而實(shí)體b返回給實(shí)體a認(rèn)證消息m2,記錄返回時(shí)間為t2,只要t2-t1≤δt,即可保證兩條消息在時(shí)間差滿足條件,即消息的新鮮性也滿足要求。這樣的方法可能導(dǎo)致出現(xiàn)兩個(gè)方面的問題:一是即使再小的時(shí)間間隔都有可能讓惡意攻擊者完成干擾合法參與者的正常交互;二是由于網(wǎng)絡(luò)延遲原因可能會導(dǎo)致部分合法用戶認(rèn)證失敗。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種基于時(shí)間序列驗(yàn)證的輕量化認(rèn)證方法,用于解決現(xiàn)有技術(shù)中采用基于輕量化的認(rèn)證方法僅通過時(shí)間差的間隔小于閾值來控制交互消息的新鮮性存在惡意攻擊的可能以及可能導(dǎo)致合法用戶認(rèn)證失敗的問題。
2、本發(fā)明通過下述技術(shù)方案解決上述問題:
3、一種基于時(shí)間序列驗(yàn)證的輕量化認(rèn)證方法,包括:
4、步驟s1、在安全信道服務(wù)中心注冊階段,包括:
5、a1、用戶注冊:將用戶注冊請求消息通過安全信道發(fā)送給安全服務(wù)中心,安全服務(wù)中心根據(jù)用戶注冊請求消息計(jì)算用戶注冊到安全服務(wù)中心的哈希消息并和安全服務(wù)中心身份標(biāo)識一起返回用戶,用戶根據(jù)安全服務(wù)中心返回的信息進(jìn)行哈希驗(yàn)證,如果驗(yàn)證通過,則注冊成功,并存儲用戶注冊到安全服務(wù)中心的哈希消息和安全服務(wù)中心身份標(biāo)識;
6、a2、網(wǎng)關(guān)注冊:將網(wǎng)關(guān)注冊請求消息通過安全信道發(fā)送給安全服務(wù)中心,安全服務(wù)中心根據(jù)網(wǎng)關(guān)注冊請求消息計(jì)算網(wǎng)關(guān)注冊到安全服務(wù)中心的哈希消息并返回網(wǎng)關(guān),網(wǎng)關(guān)根據(jù)安全服務(wù)中心返回的信息進(jìn)行哈希驗(yàn)證,如果驗(yàn)證通過,則注冊成功,并存儲網(wǎng)關(guān)注冊到安全服務(wù)中心的哈希消息和安全服務(wù)中心身份標(biāo)識;
7、a3、終端設(shè)備注冊:將終端設(shè)備注冊請求消息通過安全信道發(fā)送給網(wǎng)關(guān),網(wǎng)關(guān)根據(jù)終端設(shè)備注冊請求消息計(jì)算終端設(shè)備注冊到網(wǎng)關(guān)的哈希消息并返回終端設(shè)備,終端設(shè)備根據(jù)網(wǎng)關(guān)返回的信息進(jìn)行哈希驗(yàn)證,如果驗(yàn)證通過,則注冊成功,并存儲終端設(shè)備注冊到網(wǎng)關(guān)的哈希消息和網(wǎng)關(guān)身份標(biāo)識;
8、步驟s2、認(rèn)證和會話密鑰協(xié)商階段,包括:
9、b1、用戶發(fā)起認(rèn)證:用戶將第一認(rèn)證消息和第一驗(yàn)證消息通過公開信道發(fā)送給安全服務(wù)中心;安全服務(wù)中心收到用戶發(fā)來的消息之后匹配獲得網(wǎng)關(guān)身份標(biāo)識以及驗(yàn)證第一認(rèn)證消息,驗(yàn)證通過后,安全服務(wù)中心計(jì)算第二認(rèn)證消息和第二驗(yàn)證消息,并將安全服務(wù)中心的認(rèn)證消息通過公開信道發(fā)送給網(wǎng)關(guān);
10、b2、網(wǎng)關(guān)協(xié)同認(rèn)證:網(wǎng)關(guān)接收安全服務(wù)中心的認(rèn)證消息后,進(jìn)行哈希驗(yàn)證,驗(yàn)證通過后,確定用戶認(rèn)證的身份信息,計(jì)算第三認(rèn)證消息和第三驗(yàn)證消息,并將網(wǎng)關(guān)的認(rèn)證消息發(fā)送給終端設(shè)備;
11、b3、終端設(shè)備響應(yīng)認(rèn)證:終端設(shè)備接收網(wǎng)關(guān)發(fā)送的認(rèn)證消息后,進(jìn)行哈希驗(yàn)證,驗(yàn)證通過后確定網(wǎng)關(guān)的身份信息,計(jì)算第四認(rèn)證消息和第四驗(yàn)證消息,將終端設(shè)備的認(rèn)證消息發(fā)送給用戶,并計(jì)算與用戶的會話密鑰;
12、b4、用戶確認(rèn)認(rèn)證:用戶收到終端設(shè)備發(fā)送的認(rèn)證消息后,進(jìn)行哈希驗(yàn)證,驗(yàn)證通過后確定終端設(shè)備的身份信息,驗(yàn)證第四認(rèn)證消息,驗(yàn)證通過確定網(wǎng)關(guān)的身份信息,并計(jì)算與終端設(shè)備的會話密鑰。
13、進(jìn)一步地,所述用戶注冊的方法為:
14、用戶選擇一個(gè)用戶身份標(biāo)識idu和提取固有生物特征bu,選擇一個(gè)隨機(jī)數(shù)ru,ru∈zp*,zp*為模p的整數(shù)集,計(jì)算用戶身份標(biāo)識和固有生物特征的哈希消息mu=h(idu||bu)和用戶隨機(jī)標(biāo)識ru=h(rup||mu),將由idu、ru和mu組成的用戶注冊請求消息通過安全信道發(fā)送給安全服務(wù)中心;
15、安全服務(wù)中心接收到用戶注冊請求消息之后,計(jì)算用戶注冊到安全服務(wù)中心的哈希消息msu=h(idu||secretid||ru),secretid為安全服務(wù)中心身份標(biāo)識,將由secretid和msu組成的用戶注冊相關(guān)信息通過安全信道返回給用戶;
16、當(dāng)用戶接收到用戶注冊相關(guān)信息后,驗(yàn)證是否滿足h(idu||secretid||ru)=msu,若滿足,則用戶在安全服務(wù)中心的信息注冊成功,用戶存儲用戶注冊相關(guān)信息;否則用戶重新注冊。
17、進(jìn)一步,所述網(wǎng)關(guān)注冊的方法為:
18、網(wǎng)關(guān)選擇網(wǎng)關(guān)身份標(biāo)識idgj和一個(gè)隨機(jī)數(shù)rgj,rgj∈zp*,計(jì)算網(wǎng)關(guān)隨機(jī)標(biāo)識rgj,rgj=h(rgjp||h(idgj)),將由idgj和rgj組成的網(wǎng)關(guān)注冊請求消息通過安全信道發(fā)送給安全服務(wù)中心;
19、當(dāng)安全服務(wù)中心接收到網(wǎng)關(guān)注冊信息之后,計(jì)算網(wǎng)關(guān)注冊到安全服務(wù)中心的哈希消息msg,msg=h(idgj||secretid||rgj),將由secretid和msg組成的網(wǎng)關(guān)注冊相關(guān)信息通過安全信道返回給網(wǎng)關(guān);
20、當(dāng)網(wǎng)關(guān)接收到網(wǎng)關(guān)注冊相關(guān)信息后,驗(yàn)證是否滿足:h(idgj||secretid||rgj)=msg,若滿足,則網(wǎng)關(guān)在安全服務(wù)中心的信息注冊成功,網(wǎng)關(guān)存儲網(wǎng)關(guān)注冊相關(guān)信息,否則網(wǎng)關(guān)重新注冊。
21、進(jìn)一步地,所述終端設(shè)備注冊的方法為:
22、每個(gè)終端設(shè)備選擇終端設(shè)備身份標(biāo)識idsnk和一個(gè)隨機(jī)數(shù)rsnk,rsnk∈zp*,計(jì)算終端設(shè)備注冊到安全服務(wù)中心的哈希消息msnk和終端設(shè)備隨機(jī)標(biāo)識rsnk:
23、msnk=h(idsnk)
24、rsnk=h(rsnkp||msnk)
25、其中k=1,2,…,m,m為網(wǎng)關(guān)管理的終端設(shè)備的數(shù)量;
26、每個(gè)終端設(shè)備將由idsnk,rsnk和msnk組成的終端設(shè)備注冊請求消息通過安全信道發(fā)送給網(wǎng)關(guān);
27、當(dāng)網(wǎng)關(guān)接收到終端設(shè)備注冊請求消息后,計(jì)算終端設(shè)備注冊到網(wǎng)關(guān)的哈希消息mgsn:mgsn=h(idsnk||idgj||rsnk),將由idgj和mgsn組成的終端注冊相關(guān)信息通過安全信道返回給終端設(shè)備;
28、終端設(shè)備接收到終端注冊相關(guān)信息后,驗(yàn)證是否滿足:
29、h(idgj||idsnk||rsnk)=mgsn
30、若滿足,則終端設(shè)備在網(wǎng)關(guān)的信息注冊成功,終端設(shè)備存儲終端注冊相關(guān)信息,否則終端設(shè)備重新注冊。
31、進(jìn)一步地,所述用戶發(fā)起認(rèn)證的方法為:
32、用戶選擇一個(gè)隨機(jī)數(shù)rua,rua∈zp*,隨機(jī)選擇用戶認(rèn)證起始數(shù)tnu,并從待認(rèn)證列表中獲得網(wǎng)關(guān)身份標(biāo)識idgj;計(jì)算第一隨機(jī)數(shù)標(biāo)識r1和第一時(shí)間序列標(biāo)識t1:
33、r1=ruap
34、t1=h(tnu)
35、并計(jì)算第一認(rèn)證消息m1和第一驗(yàn)證消息v1:
36、m1=h(idu||secretid||idgj||r1||t1||msu)
37、
38、將由idu、r1、t1、m1和v1組成的用戶認(rèn)證請求消息通過公開信道發(fā)送給安全服務(wù)中心;
39、當(dāng)安全服務(wù)中心收到用戶發(fā)來的用戶認(rèn)證請求消息之后,計(jì)算第一隨機(jī)數(shù)標(biāo)識和第一時(shí)間序列標(biāo)識的哈希值l1:l1=h(r1||t1),根據(jù)用戶身份標(biāo)識idu,獲得用戶接收的網(wǎng)關(guān)注冊到安全服務(wù)中心的哈希消息msu*,再通過匹配計(jì)算的方法驗(yàn)證所有網(wǎng)關(guān)身份標(biāo)識,驗(yàn)證是否等于h(idu||secretid||idgj*||msu*),最后將匹配獲得的接收的網(wǎng)關(guān)身份標(biāo)識idgj*,計(jì)算并驗(yàn)證第一認(rèn)證消息m1是否等于h(idu||secretid||idgj*||r1||t1||msu*),若相等,安全服務(wù)中心用戶的身份進(jìn)行驗(yàn)證,獲該用戶準(zhǔn)備和哪個(gè)網(wǎng)關(guān)進(jìn)行相關(guān)認(rèn)證,否則認(rèn)證失??;在消息的發(fā)送過程中,數(shù)據(jù)有可能發(fā)生變化,因此,用*區(qū)別網(wǎng)關(guān)注冊到安全服務(wù)中心的哈希消息msu與用戶接收的網(wǎng)關(guān)注冊到安全服務(wù)中心的哈希消息msu*,其他參數(shù)同樣如此。
40、安全服務(wù)中心計(jì)算第二認(rèn)證消息m2和第二驗(yàn)證消息v2:
41、m2=h(idu||secretid||idgj||r1||t1||msg)
42、
43、將idu、r1、t1、m2、v2和msu通過公開信道發(fā)送給網(wǎng)關(guān)。
44、進(jìn)一步地,所述網(wǎng)關(guān)協(xié)同認(rèn)證的方法為:
45、網(wǎng)關(guān)接收到安全服務(wù)中心發(fā)送的idu、r1、t1、m2、v2和msu之后,計(jì)算第一隨機(jī)數(shù)標(biāo)識和第一時(shí)間序列標(biāo)識的新計(jì)算的哈希值l1*=h(r1||t1),網(wǎng)關(guān)獲取存儲的接收的安全服務(wù)中心身份標(biāo)識secretid*及接收的網(wǎng)關(guān)注冊到安全服務(wù)中心的哈希消息msg*,計(jì)算是否等于h(idu||secretid*||idgj||msg*||msu),如果不等于,則認(rèn)證失敗,如果等于,則將匹配獲得接收的網(wǎng)關(guān)身份標(biāo)識idgj*,計(jì)算并驗(yàn)證認(rèn)證消息m2是否等于h(idu||secretid*||idgj*||r1||t1||msg*),如果不等于,則認(rèn)證失敗,否則,則網(wǎng)關(guān)確定用戶認(rèn)證的身份信息;
46、網(wǎng)關(guān)選擇一個(gè)隨機(jī)數(shù)rga∈zp*,然后隨機(jī)選擇網(wǎng)關(guān)認(rèn)證起始數(shù)tngj,并從待認(rèn)證列表中獲得終端設(shè)備身份標(biāo)識idsnk;計(jì)算第二隨機(jī)數(shù)標(biāo)識r2和第二時(shí)間序列標(biāo)識t2:
47、r2=rgap
48、t2=h(tngj)
49、計(jì)算第三認(rèn)證消息m3和第三驗(yàn)證消息v3:
50、m3=h(idu||idgj||idsnk||r1||r2||t1||t2||mgsn)
51、
52、將由idu、r1、r2、t1、t2、m3、v3和msu組成的網(wǎng)關(guān)認(rèn)證消息通過公開信道發(fā)送給終端設(shè)備。
53、進(jìn)一步地,所述終端設(shè)備響應(yīng)認(rèn)證的方法為:
54、當(dāng)終端設(shè)備接收到網(wǎng)關(guān)認(rèn)證消息之后,計(jì)算第一隨機(jī)數(shù)標(biāo)識r1、第二隨機(jī)數(shù)標(biāo)識r2、第一時(shí)間序列標(biāo)識t1和第二時(shí)間序列標(biāo)識t2的新計(jì)算的哈希值l2:l2=h(r1||r2||t1||t2),終端設(shè)備獲取存儲的接收的網(wǎng)關(guān)身份標(biāo)識idgj*及接收的網(wǎng)關(guān)注冊消息mgsn*,計(jì)算是否等于h(idu||idgj*||idsnk||mgsn*||msu),如果不等于,則認(rèn)證失敗,如果等于,則可確認(rèn)接收的網(wǎng)關(guān)身份標(biāo)識idgj*,計(jì)算并驗(yàn)證第三認(rèn)證消息m3是否等于h(idu||idgj*||idsnk||r1||r2||t1||t2||mgsn*),如果不等于,則認(rèn)證失敗,如果等于,則終端設(shè)備確定網(wǎng)關(guān)的身份信息;
55、終端設(shè)備選擇一個(gè)隨機(jī)數(shù)rsna∈zp*,隨機(jī)選擇終端設(shè)備認(rèn)證起始數(shù)tnsnk,計(jì)算第三隨機(jī)數(shù)標(biāo)識r3和第三時(shí)間序列標(biāo)識t3:
56、r3=rsnar2
57、t3=h(tnsnk)
58、計(jì)算第四認(rèn)證消息m4和第四驗(yàn)證消息v4:
59、
60、將由idu、idgj、idsnk、r3、t3、m4、v4組成的終端設(shè)備認(rèn)證消息通過公開信道發(fā)送給用戶,終端設(shè)備計(jì)算與用戶的會話密鑰uskey=rsnar1r2。
61、進(jìn)一步地,所述用戶確認(rèn)認(rèn)證的方法為:
62、當(dāng)用戶接收到終端設(shè)備發(fā)送的終端設(shè)備認(rèn)證消息之后,獲取第一隨機(jī)數(shù)標(biāo)識r1、第一時(shí)間序列標(biāo)識t1和接收的用戶注冊到安全服務(wù)中心的哈希消息msu*,計(jì)算第一隨機(jī)數(shù)標(biāo)識r1、第三隨機(jī)數(shù)標(biāo)識r3、第一時(shí)間序列標(biāo)識t1和第三時(shí)間序列標(biāo)識t3的哈希值l3:l3=h(r1||r3||t1||t3),計(jì)算是否等于h(idu||idgj||idsnk||msu*),如果不等于,則認(rèn)證失敗,如果等于,則確認(rèn)終端設(shè)備身份標(biāo)識idsnk,計(jì)算并驗(yàn)證第四認(rèn)證消息m4是否等于h(idu||idgj||idsnk||r1||r3||t1||t3||msu*),如果不等于,認(rèn)證失敗,如果等于,則終端設(shè)備確定網(wǎng)關(guān)的身份,用戶計(jì)算與終端設(shè)備的會話密鑰uskey=ruar3。
63、本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn)及有益效果:
64、(1)本發(fā)明應(yīng)用時(shí)間序列驗(yàn)證實(shí)現(xiàn)了認(rèn)證消息的次序一致性問題,通過輕量化的認(rèn)證機(jī)制保證工業(yè)互聯(lián)網(wǎng)設(shè)備在資源受限情況下能快速、安全完成身份識別任務(wù);確保認(rèn)證消息的新鮮性。
65、(2)本發(fā)明適用于分布式網(wǎng)絡(luò)環(huán)境下安全身份認(rèn)證,可實(shí)現(xiàn)網(wǎng)內(nèi)終端設(shè)備之間在輕量化的計(jì)算模式下的身份相互識別。