本發(fā)明涉及的技術(shù)領(lǐng)域是多服務(wù)器環(huán)境下身份認(rèn)證機(jī)制的研究,具體涉及一種多服務(wù)器環(huán)境下基于智能卡且注冊中心不參與服務(wù)器與用戶之間認(rèn)證過程的認(rèn)證方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)及其應(yīng)用的高速發(fā)展,多服務(wù)器環(huán)境下的互聯(lián)網(wǎng)應(yīng)用也得到了廣泛的普及,使之需求大大增加。雖然在線服務(wù)向用戶不斷提供著方便用戶生活的各種服務(wù),但是其安全性問題一直是人們關(guān)注的焦點(diǎn),應(yīng)該如何做到保證用戶的合法性和信息的安全性?合法用戶的身份認(rèn)證是網(wǎng)絡(luò)安全的第一道安全保障,因此身份的認(rèn)證機(jī)制對任何一個網(wǎng)絡(luò)服務(wù)來說都是非常重要且必不可少的一個環(huán)節(jié)。在多服務(wù)器環(huán)境下的身份認(rèn)證方案中,通過智能卡能夠很方便的去辨別遠(yuǎn)程用戶的合法性,因此智能卡得到了廣泛的使用。
自2003年tsaur在文獻(xiàn)《aflexibleuserauthenticationschemeformulti-serverinternetservices》中首次為人們帶來多服務(wù)模型的思想以來,多服務(wù)器認(rèn)證的概念得到空前的發(fā)展。目前,多服務(wù)器環(huán)境下基于智能卡的身份認(rèn)證方案通常可以劃分為兩種類型:三方認(rèn)證模式和兩方認(rèn)證模式。三方認(rèn)證模式是指注冊中心需要參與用戶與服務(wù)器之間的認(rèn)證,而兩方認(rèn)證模式則不需要注冊中心的參與?;谌秸J(rèn)證模式的身份認(rèn)證技術(shù)因為服務(wù)器自身沒有驗證用戶合法性的能力,每次認(rèn)證時,需傳遞認(rèn)證消息給第三方認(rèn)證中心,因此數(shù)據(jù)通信費(fèi)用相對比較大。此外,在該模式下的認(rèn)證效率深受認(rèn)證中心的效率的影響,攻擊者通常會抓住這個把柄去進(jìn)行攻擊消耗服務(wù)器,如2015年odelu的《asecurebiometrics-basedmulti-serverauthenticationprotocolusingsmartcards》和2016年li的《anovelchaoticmaps-baseduserauthenticationandkeyagreementprotocolformulti-serverenvironmentswithprovablesecurity》等等。
基于兩方認(rèn)證模式的身份認(rèn)證技術(shù)不需要第三方認(rèn)證中心才的處理,但實現(xiàn)認(rèn)證身份,服務(wù)器與用戶之間事先必需共享一系列的秘密參數(shù),即需要用戶的智能卡存儲秘密認(rèn)證信息。而且隨著注冊的服務(wù)器增多,智能卡存儲的秘密認(rèn)證信息增多,這對存儲容量是有限的智能卡是很不現(xiàn)實的。正如2016年reddy的《anenhancedbiometricbasedauthenticationwithkey-agreementprotocolformulti-serverarchitecturebasedonellipticcurvecryptography》和chaturvedi的《designofasecuresmartcard-basedmulti-serverauthenticationscheme》等文獻(xiàn)都出現(xiàn)上述問題,如何在多服務(wù)器環(huán)境下,智能卡存儲的信息不隨著注冊服務(wù)器增多而增多,是一個急需解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是為了解決現(xiàn)有技術(shù)中的上述缺陷,提供一種多服務(wù)器環(huán)境下基于智能卡的認(rèn)證方法。
本發(fā)明的目的可以通過采取如下技術(shù)方案達(dá)到:
一種多服務(wù)器環(huán)境下基于智能卡的認(rèn)證方法,所述認(rèn)證方法包括下列步驟:
s1、通過注冊中心初始化系統(tǒng)的相關(guān)參數(shù),并公布系統(tǒng)公共參數(shù)params;
s2、服務(wù)器sj通過注冊中心注冊,得到私鑰
s3、用戶ui通過注冊中心注冊,得到包含身份登錄秘密信息{zi,pi}和私鑰
s4、當(dāng)用戶ui登錄系統(tǒng)時,通過輸入本機(jī)的身份標(biāo)識idi',密碼pwi'和本機(jī)的生物識別信息bi'登入系統(tǒng)并計算身份認(rèn)證信息向服務(wù)器sj發(fā)送認(rèn)證請求{idrc,c,q,t};
s5、當(dāng)服務(wù)器sj接收到用戶認(rèn)證請求時,通過自身的私鑰和認(rèn)證算法認(rèn)證用戶的合法性:
如果表達(dá)式成立,則表明用戶ui合法,服務(wù)器sj繼續(xù)計算sv=h3(gab)和身份認(rèn)證信息,最后將{sidj,d,b}發(fā)送給用戶ui;
s6、用戶ui接收到服務(wù)器sj的回復(fù)后通過驗證等式驗證服務(wù)器的合法性:d=h1(a),
如果表達(dá)式成立,則表明服務(wù)器是合法的,并計算出sv=h3(gab)如果表達(dá)式不成立,則表明服務(wù)器是非法的;
s7、服務(wù)器sj和用戶ui成功認(rèn)證彼此身份后通過skey(i,j)=kdf(sv)建立彼此的臨時會話密鑰。
進(jìn)一步地,所述步驟s1包括:
s11、生成一個階為q且生成元為p的一個循環(huán)群g,與此同時,存在另外一個同樣階為q的循環(huán)群gt,其中q是一個足夠大的素數(shù),假設(shè)(g,gt)是一個雙線性映射群,則存在一個映射e:g×g→gt,滿足如下性質(zhì):
雙線性:e(ga,gb)=e(g,g)ab,其中
非退化性:存在g∈g且e(g,g)≠1;
可計算性:存在一個有效的算法去計算e(g,g),g∈g;
s12、選擇三個加密哈希函數(shù),分別滿足以下三個條件
s13、選擇一個主密鑰
s14、注冊中心發(fā)布的公共參數(shù)param:{g,gt,e,g,g1,pk,h1,h2,h3}。
進(jìn)一步地,所述步驟s2包括:
s21、服務(wù)器sj將本機(jī)的身份標(biāo)標(biāo)識sidj通過安全通道發(fā)送給注冊中心rc;
s22、注冊中心rc接收到服務(wù)器sj的注冊請求后,根據(jù)接收到的身份標(biāo)標(biāo)識sidj計算服務(wù)器用于認(rèn)證的秘鑰
進(jìn)一步地,所述步驟s3包括:
s31、插入智能卡sci,設(shè)置好idi,pwi和生物特征bi,計算fi=h1(bi),并將注冊請求reg={idi,h1(pwi||fi)}通過安全通道發(fā)送給注冊中心rc;
s32、注冊中心rc接收到用戶ui的注冊請求后,計算用戶ui用于認(rèn)證的私鑰
s33、將{zi,pi}通過安全通道發(fā)送給用戶ui,用戶ui接收到回復(fù)消息后,將{zi,pi}存儲于智能卡sci即完成注冊。
進(jìn)一步地,所述步驟s4包括:
s41、當(dāng)用戶ui登錄系統(tǒng)訪問服務(wù)器sj時,插入智能卡sci,并輸入本機(jī)的身份標(biāo)識idi',密碼pwi'和本機(jī)的生物識別信息bi';
s42、智能卡sci計算fi'=h1(bi')和
s43、如果等式不成立,則登錄失敗,否則,選擇隨機(jī)秘密參數(shù)
進(jìn)一步地,所述步驟s5包括:
s51、服務(wù)器sj接收到認(rèn)證請求后,利用自身的主密鑰計算:
r1=e(t,sjk)(1);
s52、計算
s53、若等式不成立,則登錄失??;若等式成立,則服務(wù)器sj將選擇一個秘密參數(shù)
進(jìn)一步地,所述步驟s6包括:
s61、用戶ui接收到服務(wù)器sj的消息后,驗證d=h1(a)是否成立;
s62、若等式不成立,則說明服務(wù)器消息不可靠,終止會話;否則,計算sv=h3(gab),擦除秘密參數(shù)a。
本發(fā)明相對于現(xiàn)有技術(shù)具有如下的優(yōu)點(diǎn)及效果:
1)本發(fā)明不需要第三方參與認(rèn)證的過程,使注冊中心不用維持在線狀態(tài)處理所有的認(rèn)證問題。
2)本發(fā)明不僅簡潔了用戶的密鑰管理,而且對于服務(wù)器數(shù)目的增加并不會造成用戶的存儲量增加的問題。
3)本發(fā)明服務(wù)器在認(rèn)證過程中僅需使用本機(jī)的一個私鑰,并不需要額外存儲關(guān)于用戶的信息,用戶的撤銷更替并不會對服務(wù)器造成影響。
4)通過ban邏輯分析證明了該認(rèn)證模型的安全性。
5)性能分析表明,與已有的多服務(wù)器環(huán)境下基于智能卡的認(rèn)證方案相比,本發(fā)明在計算費(fèi)用和通信費(fèi)用不需要增加明顯負(fù)擔(dān)的情況下,具有較低的存儲費(fèi)用要求。
附圖說明
圖1是本發(fā)明公開的多服務(wù)器環(huán)境下基于智能卡認(rèn)證方法的流程示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
實施例
隨著互聯(lián)網(wǎng)及其應(yīng)用的高速發(fā)展,多服務(wù)器環(huán)境下的互聯(lián)網(wǎng)應(yīng)用也得到了廣泛的普及,使之需求大大增加。身份認(rèn)證是為用戶提供所需服務(wù)的第一道安全屏障,一直是人們關(guān)注的焦點(diǎn)。目前,已有的多服務(wù)器環(huán)境下基于智能卡的認(rèn)證方案存在一個問題,即在不需要第三方參與認(rèn)證時,服務(wù)器與用戶之間產(chǎn)生認(rèn)證事件時,需要彼此之間事先共享一系列的秘密參數(shù),即需要用戶的智能卡存儲秘密認(rèn)證信息來完成彼此之間的身份認(rèn)證。而且隨著注冊的服務(wù)器增多,智能卡存儲的秘密認(rèn)證信息增多,這對存儲容量是有限的智能卡是很不現(xiàn)實的。如何在多服務(wù)器環(huán)境下,智能卡存儲的信息不隨著注冊服務(wù)器增多而增多,是一個急需解決的問題。
針對上面所述的問題,本實施例提出了一個基于智能卡的多服務(wù)器認(rèn)證方法,該認(rèn)證方法不需要第三方參與認(rèn)證,用戶只需注冊一次,智能卡只需存儲常量的信息,就可以實現(xiàn)與多個服務(wù)器之間的認(rèn)證和訪問,且服務(wù)器端也不需存儲任何用戶信息,從而解決了多服務(wù)器環(huán)境下無第三方參與認(rèn)證,智能卡存儲的信息隨注冊服務(wù)器增加而增長的的問題。
同時,通過ban邏輯分析證明了該認(rèn)證模型的安全性。本發(fā)明不需要注冊中心參與服務(wù)器與用戶之間的認(rèn)證,減輕了注冊中心的負(fù)擔(dān)。本發(fā)明不僅具有不需要第三方參與認(rèn)證過程,而且用戶的存儲量不隨著服務(wù)器的增加而增加,有效減低了用戶存儲負(fù)擔(dān)。當(dāng)有服務(wù)器的撤銷或增加時,合法用戶無需更新密鑰,有效地減輕了授權(quán)機(jī)構(gòu)的負(fù)擔(dān)。此外,本發(fā)明中用戶的撤銷與增加,服務(wù)器亦無需更新密鑰。與已有的方案相比,本發(fā)明在計算費(fèi)用和通信費(fèi)用不需要增加明顯負(fù)擔(dān)的情況下,具有較低的存儲費(fèi)用要求。
下面結(jié)合圖1對本實施例公開的一種多服務(wù)器環(huán)境下基于智能卡的認(rèn)證方法的具體過程進(jìn)行詳細(xì)說明。包括如下步驟:
s1、通過注冊中心初始化系統(tǒng)的相關(guān)參數(shù),并公布系統(tǒng)公共參數(shù)params。
具體應(yīng)用中,所述的通過注冊中心初始化系統(tǒng)主要進(jìn)行下面幾個步驟:
(1)生成一個階為q且生成元為p的一個循環(huán)群g,與此同時,存在另外一個同樣階為q的循環(huán)群gt,其中q是一個足夠大的素數(shù),假設(shè)(g,gt)是一個雙線性映射群,則存在一個映射e:g×g→gt,滿足如下性質(zhì):
雙線性:e(ga,gb)=e(g,g)ab,其中
非退化性:存在g∈g且e(g,g)≠1;
可計算性:存在一個有效的算法去計算e(g,g),g∈g。
(2)選擇三個加密哈希函數(shù),分別滿足以下三個條件
(3)選擇一個主密鑰
(4)注冊中心發(fā)布的公共參數(shù)param:{g,gt,e,g,g1,pk,h1,h2,h3}。
s2、服務(wù)器sj通過注冊中心注冊,得到私鑰
具體應(yīng)用中,服務(wù)器sj將本機(jī)的身份標(biāo)標(biāo)識sidj通過安全通道發(fā)送給注冊中心rc,注冊中心rc接收到sj的注冊請求后,根據(jù)接收到的身份標(biāo)標(biāo)識sidj計算服務(wù)器用于認(rèn)證的秘鑰
s3、用戶ui通過注冊中心注冊,得到包含身份登錄秘密信息{zi,pi}和私鑰
具體應(yīng)用中,用戶ui注冊時,首先插入智能卡sci,設(shè)置好idi,pwi和生物特征bi,計算fi=h1(bi),并將注冊請求reg={idi,h1(pwi||fi)}通過安全通道發(fā)送給注冊中心rc。rc接收到ui的注冊請求后,計算用戶用于認(rèn)證的私鑰
s4、當(dāng)用戶ui登錄系統(tǒng)時,通過輸入本機(jī)的身份標(biāo)識idi',密碼pwi'和本機(jī)的生物識別信息bi'登入系統(tǒng)并計算身份認(rèn)證信息向服務(wù)器sj發(fā)送認(rèn)證請求{idrc,c,q,t}。
具體應(yīng)用中,當(dāng)用戶ui想要訪問服務(wù)器sj時,首先要插入智能卡sci,并輸入本機(jī)的身份標(biāo)識idi',密碼pwi'和本機(jī)的生物識別信息bi'。sci計算fi'=h1(bi')和
s5、當(dāng)服務(wù)器sj接收到用戶認(rèn)證請求時,通過本機(jī)的私鑰和認(rèn)證算法認(rèn)證用戶的合法性:
如果表達(dá)式成立,則表明用戶ui合法,服務(wù)器sj繼續(xù)計算sv=h3(gab)和身份認(rèn)證信息,最后將{sidj,d,b}發(fā)送給用戶ui。
具體應(yīng)用中,服務(wù)器sj接收到認(rèn)證請求后,首先利用自身的主密鑰計算:
r1=e(t,sjk)(1)
這樣服務(wù)器sj就能獲取到r1,接著計算
若等式不成立,則登錄失?。蝗舻仁匠闪?,則服務(wù)器sj將選擇一個秘密參數(shù)
s6、用戶ui接收到服務(wù)器sj的回復(fù)后通過驗證等式驗證服務(wù)器的合法性:
d=h1(a),
如果表達(dá)式成立,則表明服務(wù)器是合法的,并計算出sv=h3(gab)如果表達(dá)式不成立,則表明服務(wù)器是非法的。
具體應(yīng)用中,用戶ui接收到服務(wù)器sj的消息后,驗證d=h1(a)是否成立。若等式不成立,則說明服務(wù)器消息不可靠,終止會話;否則,計算sv=h3(gab),擦除秘密參數(shù)a。
s7、服務(wù)器sj和用戶ui成功認(rèn)證彼此身份后通過skey(i,j)=kdf(sv)建立彼此的臨時會話密鑰。
具體應(yīng)用中,上述步驟s5和步驟s6中的驗證均通過,則說明服務(wù)器sj和用戶ui成功認(rèn)證彼此身份,最后通過skey(i,j)=kdf(sv)建立彼此的臨時會話密鑰。
多服務(wù)器環(huán)境下,注冊中心不參與認(rèn)證的模型主要由三個實體組成,一個注冊中心(rc),多個系統(tǒng)用戶(ui)和多個服務(wù)器(sj)。該模型下rc只向用戶和服務(wù)器提供注冊服務(wù),任何想要參與系統(tǒng)的用戶或服務(wù)器都需先完成注冊的過程。sj通常都是充當(dāng)應(yīng)用服務(wù)器,為合法用戶提供用戶所需的服務(wù)。
當(dāng)用戶和服務(wù)器進(jìn)行注冊時,無論服務(wù)器還是用戶注冊時存儲的秘密參數(shù)都與其他服務(wù)器和用戶的數(shù)量無關(guān)。對應(yīng)用服務(wù)器而言,僅需保存本機(jī)的一個私鑰;對用戶而言,智能卡除了保存相關(guān)的登錄秘密參數(shù)外,也僅需保存認(rèn)證時所用到的一個私鑰。這就避免了用戶存儲的認(rèn)證所用到的秘密參數(shù)隨著服務(wù)器的增加而增加的問題。
當(dāng)ui成功登錄智能卡之后,想要sj提供服務(wù)時,sj不可能盲目的向用戶提供服務(wù),需要認(rèn)證申請服務(wù)的用戶是否合法。同樣的道理,因為服務(wù)器也可能是偽裝的,用戶需要對服務(wù)器進(jìn)行認(rèn)證。因此,ui請求服務(wù)之前需要先與目標(biāo)服務(wù)器sj完成一個彼此認(rèn)證的過程。該過程中,ui需要通過本機(jī)的私鑰
不管之后有沒新的服務(wù)器加入或原來的合法服務(wù)器過期,用戶所存儲的秘密參數(shù)并不會因此而增多,對服務(wù)器而言,亦是如此。
綜上所述,本發(fā)明為了實現(xiàn)多服務(wù)器環(huán)境下安全有效的身份認(rèn)證方案,為了滿足在不需要第三方參與認(rèn)證的基礎(chǔ)上,用戶只需注冊一次,智能卡只需存儲常量的信息,就可以實現(xiàn)與多個服務(wù)器之間的認(rèn)證和訪問,且服務(wù)器端也不需存儲任何用戶信息,從而解決了多服務(wù)器環(huán)境下無第三方參與認(rèn)證時,智能卡存儲的信息隨注冊服務(wù)器增加而增長的問題。通過ban邏輯分析證明了該認(rèn)證模型的安全性。性能分析表明,與已有的多服務(wù)器環(huán)境下基于智能卡的認(rèn)證方案相比,本發(fā)明在計算費(fèi)用和通信費(fèi)用不需要增加明顯負(fù)擔(dān)的情況下,具有較低的存儲費(fèi)用要求。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。