本發(fā)明屬于信息通信中跨異構(gòu)域認證與密鑰協(xié)商技術(shù)領(lǐng)域。
背景技術(shù):
分布式的網(wǎng)絡(luò)環(huán)境的各種應(yīng)用,例如虛擬企業(yè),即時通信系統(tǒng)等等,用戶與其想要訪問的信息資源往往都處于不同的信任域中。而不同的信任域可能會基于不同的密碼體制,例如基于Kerberos的密碼體制,基于PKI(公鑰基礎(chǔ)設(shè)施)的密碼體制以及基于IBC(基于身份的密碼技術(shù))的密碼體制等等。同構(gòu)域之間的認證密鑰協(xié)商方法已經(jīng)有較多的研究,并且已形成標準并被廣泛應(yīng)用。用于PKI以及Kerberos兩個域之間的認證密鑰協(xié)商方法也有較多的研究。但PKI域的用戶訪問IBC域的資源時的認證密鑰協(xié)商方法,卻很少有人研究。而在分布式網(wǎng)絡(luò)下的諸如虛擬企業(yè),敏捷制造等應(yīng)用場景下,PKI域的用戶訪問IBC域的資源的應(yīng)用需求很多。
現(xiàn)有的PKI域的用戶訪問IBC域的資源時的認證密鑰協(xié)商文獻只有:
文獻1“異構(gòu)域的跨域授權(quán)”(孟欣,胡亮,初劍峰,等.異構(gòu)信任域的跨域授權(quán)[J].吉林大學學報理學版,2010,48(1):89-93.)依托于PKI同構(gòu)域之間的互信互聯(lián)體系,采用身份映射,跨域授權(quán)兩部分內(nèi)容實現(xiàn)跨IBC與PKI域之間的可信互聯(lián)。但是該文獻中大量多次使用到證書,證書在傳遞,存儲過程中都會消耗大量的資源,與人們當初設(shè)計IBC密碼體制的初衷不符;采用身份映射的方式很不直接,在現(xiàn)實的應(yīng)用中可行性不高。并且該文獻只是用身份映射,信任傳遞的方式來實現(xiàn)認證的思想,沒有具體的方案流程,只能算作是一種新的跨域授權(quán)的思想而不是一個可以直接實現(xiàn)的方案。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種PKI域內(nèi)的用戶訪問IBC域內(nèi)的資源的認證密鑰協(xié)商方法,該方法能有效實現(xiàn)PKI域內(nèi)的用戶訪問IBC域內(nèi)的資源的認證密鑰協(xié)商,其消耗資源少,安全性高。
本發(fā)明實現(xiàn)其發(fā)明目的所采用的技術(shù)方案是,一種PKI域內(nèi)的用戶訪問IBC域內(nèi)的資源的認證密鑰協(xié)商方法,其操作步驟是:
A、申請訪問
PKI域的用戶U向PKI域的認證服務(wù)器CA發(fā)出訪問IBC域的資源S的請求,PKI域認證服務(wù)器CA對PKI域的用戶U的身份合法性進行認證;若認證未通過,則跳轉(zhuǎn)至步驟E;否則,向IBC域認證服務(wù)器TA轉(zhuǎn)發(fā)PKI域的用戶U的訪問請求;
B、生成用戶索引并發(fā)送
IBC域認證服務(wù)器TA對PKI域認證服務(wù)器CA進行身份認證,若認證未通過,則跳轉(zhuǎn)至步驟E;否則,IBC域認證服務(wù)器TA生成PKI域的用戶U訪問IBC域內(nèi)資源S的會話密鑰K的認證服務(wù)器部分k1,并生成會話密鑰K的認證服務(wù)器部分k1對應(yīng)的用戶索引Na;且該用戶索引Na為隨機產(chǎn)生并與已有用戶索引不相同;
IBC域認證服務(wù)器TA利用自身私鑰SKTA對IBC域認證服務(wù)器TA的身份標識IDTA、用戶索引Na及會話密鑰K的認證服務(wù)器部分k1,進行簽名得到已簽名消息Msign,再利用PKI域的用戶U的公鑰PKU對已簽名消息Msign進行加密,得到用戶接收消息MA2TA->U,并將用戶接收消息MA2TA->U發(fā)送給PKI域的用戶U;
同時,IBC域認證服務(wù)器TA利用IBC域內(nèi)資源S的公鑰QS對已簽名消息Msign進行加密,得到資源接收信息MA2TA->S,并將資源接收信息MA2TA->S發(fā)送給IBC域內(nèi)的資源S;
C、雙向身份認證以及協(xié)商會話密鑰
C1、PKI域的用戶U利用自身私鑰SKU對IBC域認證服務(wù)器TA發(fā)來的用戶接收消息MA2TA->U進行解密,得到IBC域認證服務(wù)器TA的身份標識IDTA、用戶索引Na及會話密鑰K的認證服務(wù)器部分k1;再利用IBC域認證服務(wù)器TA的身份標識IDTA,計算出IBC域認證服務(wù)器TA的公鑰QTA,并用IBC域認證服務(wù)器TA的公鑰QTA來驗證簽名的有效性,若驗證未通過,則跳轉(zhuǎn)至步驟E;否則,PKI域的用戶U生成會話密鑰K的用戶部分k2,并將會話密鑰K的用戶部分k2首位處進行填充,使其與會話密鑰K的認證服務(wù)器部分k1的位數(shù)相同,然后對會話密鑰K的認證服務(wù)器部分k1和填充后的用戶部分k2進行異或處理得到完整的會話密鑰K;
C2、IBC域內(nèi)的資源S用自身私鑰SS對B步驟中IBC域內(nèi)認證服務(wù)器TA發(fā)送來的資源接收消息MA2TA->S進行解密,得到解密會話密鑰K’的認證服務(wù)器部分K1'以及對應(yīng)的資源端用戶索引Na';
C3、PKI域的用戶U再利用IBC域內(nèi)的資源S的身份標識IDS,計算出IBC域內(nèi)的資源S的公鑰QS,對會話密鑰K的用戶部分K2和用戶索引Na進行加密,得到用戶密文S-k2;同時,利用會話密鑰K對IBC域內(nèi)的資源S的身份標識IDS進行加密,得到身份標識密文S-ID;再將用戶密文S-k2和身份標識密文S-ID一起發(fā)送給IBC域內(nèi)的資源S;
C4、IBC域內(nèi)的資源S對收到的用戶密文S-k2進行解密,得到資源端會話密鑰K''的用戶部分K2''以及用戶端用戶索引Na'';再搜索出與用戶端用戶索引Na''對應(yīng)的檢出解密會話密鑰K'''的認證服務(wù)器部分K1''';再將資源端會話密鑰K''的用戶部分K2''首位處進行填充,使其與檢出解密會話密鑰K'''的認證服務(wù)器部分K1'''的位數(shù)相同,然后對檢出解密會話密鑰K'''的認證服務(wù)器部分K1'''和填充后的用戶部分K2''進行異或處理得到完整的資源端會話密鑰K'';再用資源端會話密鑰K''解密收到的身份標識密文S-ID,得到IBC域內(nèi)資源S的提取身份標識IDS',將提取身份標識IDS'和IBC域的資源S的身份標識IDS進行驗證,若二者不一致,則跳轉(zhuǎn)至步驟E;否則,IBC域內(nèi)的資源S用資源端會話密鑰K''對其身份標識IDS進行加密,得到IBC域內(nèi)的資源S的資源端身份標識密文MA3S->U,并將其發(fā)送給PKI域的用戶U;
C5、PKI域的用戶U用會話密鑰K對收到的資源端身份標識密文MA3S->U進行解密,得到IBC域內(nèi)的資源S的用戶端身份標識IDS”,并驗證IBC域內(nèi)的資源S的用戶端身份標識IDS”的有效性,若驗證未通過,則跳轉(zhuǎn)至步驟E;否則PKI域的用戶U與IBC域的資源S的認證密鑰協(xié)商完成,PKI域的用戶U利用會話密鑰K對IBC域的資源S進行安全訪問;
D、重認證
當會話密鑰K的認證服務(wù)器部分k1超出其生命周期時,IBC域認證服務(wù)器TA銷毀B步驟中生成的與會話密鑰K的認證服務(wù)器部分k1對應(yīng)的用戶索引Na;IBC域內(nèi)的資源S銷毀C2步驟中得到的與會話密鑰K的認證服務(wù)器部分K1對應(yīng)的用戶索引Na;若PKI域的用戶U不再訪問IBC域的資源S,則跳轉(zhuǎn)至步驟E;若PKI域的用戶U仍需訪問IBC域的資源S,則跳轉(zhuǎn)至步驟A;
當會話密鑰K的用戶部分k2超出其生命周期,但會話密鑰K的認證服務(wù)器部分k1仍在其生命周期中,若PKI域的用戶U不再訪問IBC域的資源S時,則跳轉(zhuǎn)至步驟E;若PKI域的用戶U仍需訪問IBC域的資源S,則跳轉(zhuǎn)至步驟A或者進行快速重認證;
E、中止會話。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
一、本發(fā)明給出了PKI域內(nèi)的用戶訪問IBC域內(nèi)的資源時的跨異構(gòu)域認證密鑰協(xié)商方法,使得PKI域內(nèi)的用戶能夠安全的訪問IBC域內(nèi)的資源。
二、會話密鑰是由會話密鑰的認證服務(wù)器部分和用戶部分進行異或處理得到,較之單純由認證服務(wù)器生成的會話密鑰而言,其安全性得到大幅提高,并且增加的資源消耗少。
三、IBC域內(nèi)的資源基于用戶索引的方法來認證PKI域內(nèi)的用戶的合法身份,由于用戶索引隨機產(chǎn)生、密文傳輸;因此能保證訪問的安全性。較之傳統(tǒng)的基于訪問授權(quán)票據(jù)的認證方法,用戶索引的信息量少,又能有效地減少通信量。
四、當會話密鑰的認證服務(wù)器部分超出其生命周期時,其對應(yīng)的用戶索引隨即銷毀;減少了對存儲資源的消耗;同時,使新的用戶索引生成更快捷,使用用戶索引進行檢索時更迅速高效。
進一步,本發(fā)明的B步驟中的會話密鑰K的認證服務(wù)器部分K1的位數(shù)為128位;所述的C1步驟中,IBC域的用戶U生成會話密鑰K的用戶部分K2的長度為80位。
這樣,采用80位的用戶部分進行填充與128位的認證服務(wù)器部分進行異或得到會話密鑰,較之僅由128位的認證服務(wù)器部分得到的會話密鑰,密鑰的生命周期較短,會話密鑰的安全得到保證,同時,增加的通信量很少。
進一步,本發(fā)明的D步驟中的快速重認證的具體做法是:
PKI域內(nèi)的用戶U生成重認證會話密鑰KR的用戶部分KR2,并將重認證會話密鑰KR的用戶部分KR2首位處進行填充,使其與重認證會話密鑰KR的認證服務(wù)器部分k1的位數(shù)相同,然后對重認證會話密鑰KR的認證服務(wù)器部分k1和填充后的用戶部分KR2進行異或處理得到完整的重認證會話密鑰KR;轉(zhuǎn)至C3步驟。
這樣,當會話密鑰的用戶部分超出其生命周期,但會話密鑰的認證服務(wù)器部分仍在其生命周期中時;若PKI域的用戶仍需訪問IBC域的資源,可進行快速重認證,而無需重新進行申請訪問和訪問授權(quán)票據(jù)生成和分發(fā)的操作,在保證訪問安全的前提下,大大減少了方法的交互次數(shù),通信量和計算量。
下面結(jié)合具體實施方式對本發(fā)明作進一步的詳細說明。
具體實施方式
實施例
一種PKI域內(nèi)的用戶訪問IBC域內(nèi)的資源的認證密鑰協(xié)商方法,其操作步驟是:
A、申請訪問
PKI域的用戶U向PKI域的認證服務(wù)器CA發(fā)出訪問IBC域的資源S的請求,PKI域認證服務(wù)器CA對PKI域的用戶U的身份合法性進行認證;若認證未通過,則跳轉(zhuǎn)至步驟E;否則,向IBC域認證服務(wù)器TA轉(zhuǎn)發(fā)PKI域的用戶U的訪問請求;
B、生成用戶索引并發(fā)送
IBC域認證服務(wù)器TA對PKI域認證服務(wù)器CA進行身份認證,若認證未通過,則跳轉(zhuǎn)至步驟E;否則,IBC域認證服務(wù)器TA生成PKI域的用戶U訪問IBC域內(nèi)資源S的會話密鑰K的認證服務(wù)器部分k1,并生成會話密鑰K的認證服務(wù)器部分k1對應(yīng)的用戶索引Na;且該用戶索引Na為隨機產(chǎn)生并與已有用戶索引不相同;
IBC域認證服務(wù)器TA利用自身私鑰SKTA對IBC域認證服務(wù)器TA的身份標識IDTA、用戶索引Na及會話密鑰K的認證服務(wù)器部分k1,進行簽名得到已簽名消息Msign,再利用PKI域的用戶U的公鑰PKU對已簽名消息Msign進行加密,得到用戶接收消息MA2TA->U,并將用戶接收消息MA2TA->U發(fā)送給PKI域的用戶U;
同時,IBC域認證服務(wù)器TA利用IBC域內(nèi)資源S的公鑰QS對已簽名消息Msign進行加密,得到資源接收信息MA2TA->S,并將資源接收信息MA2TA->S發(fā)送給IBC域內(nèi)的資源S;
C、雙向身份認證以及協(xié)商會話密鑰
C1、PKI域的用戶U利用自身私鑰SKU對IBC域認證服務(wù)器TA發(fā)來的用戶接收消息MA2TA->U進行解密,得到IBC域認證服務(wù)器TA的身份標識IDTA、用戶索引Na及會話密鑰K的認證服務(wù)器部分k1;再利用IBC域認證服務(wù)器TA的身份標識IDTA,計算出IBC域認證服務(wù)器TA的公鑰QTA,并用IBC域認證服務(wù)器TA的公鑰QTA來驗證簽名的有效性,若驗證未通過,則跳轉(zhuǎn)至步驟E;否則,PKI域的用戶U生成會話密鑰K的用戶部分k2,并將會話密鑰K的用戶部分k2首位處進行填充,使其與會話密鑰K的認證服務(wù)器部分k1的位數(shù)相同,然后對會話密鑰K的認證服務(wù)器部分k1和填充后的用戶部分k2進行異或處理得到完整的會話密鑰K;
C2、IBC域內(nèi)的資源S用自身私鑰SS對B步驟中IBC域內(nèi)認證服務(wù)器TA發(fā)送來的資源接收消息MA2TA->S進行解密,得到解密會話密鑰K’的認證服務(wù)器部分K1'以及對應(yīng)的資源端用戶索引Na';
C3、PKI域的用戶U再利用IBC域內(nèi)的資源S的身份標識IDS,計算出IBC域內(nèi)的資源S的公鑰QS,對會話密鑰K的用戶部分K2和用戶索引Na進行加密,得到用戶密文S-k2;同時,利用會話密鑰K對IBC域內(nèi)的資源S的身份標識IDS進行加密,得到身份標識密文S-ID;再將用戶密文S-k2和身份標識密文S-ID一起發(fā)送給IBC域內(nèi)的資源S;
C4、IBC域內(nèi)的資源S對收到的用戶密文S-k2進行解密,得到資源端會話密鑰K''的用戶部分K2''以及用戶端用戶索引Na'';再搜索出與用戶端用戶索引Na''對應(yīng)的檢出解密會話密鑰K'''的認證服務(wù)器部分K1''';再將資源端會話密鑰K''的用戶部分K2''首位處進行填充,使其與檢出解密會話密鑰K'''的認證服務(wù)器部分K1'''的位數(shù)相同,然后對檢出解密會話密鑰K'''的認證服務(wù)器部分K1'''和填充后的用戶部分K2''進行異或處理得到完整的資源端會話密鑰K'';再用資源端會話密鑰K''解密收到的身份標識密文S-ID,得到IBC域內(nèi)資源S的提取身份標識IDS',將提取身份標識IDS'和IBC域的資源S的身份標識IDS進行驗證,若二者不一致,則跳轉(zhuǎn)至步驟E;否則,IBC域內(nèi)的資源S用資源端會話密鑰K''對其身份標識IDS進行加密,得到IBC域內(nèi)的資源S的資源端身份標識密文MA3S->U,并將其發(fā)送給PKI域的用戶U;
C5、PKI域的用戶U用會話密鑰K對收到的資源端身份標識密文MA3S->U進行解密,得到IBC域內(nèi)的資源S的用戶端身份標識IDS”,并驗證IBC域內(nèi)的資源S的用戶端身份標識IDS”的有效性,若驗證未通過,則跳轉(zhuǎn)至步驟E;否則PKI域的用戶U與IBC域的資源S的認證密鑰協(xié)商完成,PKI域的用戶U利用會話密鑰K對IBC域的資源S進行安全訪問;
D、重認證
當會話密鑰K的認證服務(wù)器部分k1超出其生命周期時,IBC域認證服務(wù)器TA銷毀B步驟中生成的與會話密鑰K的認證服務(wù)器部分k1對應(yīng)的用戶索引Na;IBC域內(nèi)的資源S銷毀C2步驟中得到的與會話密鑰K的認證服務(wù)器部分K1對應(yīng)的用戶索引Na;若PKI域的用戶U不再訪問IBC域的資源S,則跳轉(zhuǎn)至步驟E;若PKI域的用戶U仍需訪問IBC域的資源S,則跳轉(zhuǎn)至步驟A;
當會話密鑰K的用戶部分k2超出其生命周期,但會話密鑰K的認證服務(wù)器部分k1仍在其生命周期中,若PKI域的用戶U不再訪問IBC域的資源S時,則跳轉(zhuǎn)至步驟E;若PKI域的用戶U仍需訪問IBC域的資源S,則跳轉(zhuǎn)至步驟A或者進行快速重認證;
E、中止會話。
本例的B步驟中的會話密鑰K的認證服務(wù)器部分K1的位數(shù)為128位;所述的C1步驟中,PKI域的用戶U生成會話密鑰K的用戶部分K2的長度為80位。
本例的D步驟中的快速重認證的具體做法是:
PKI域內(nèi)的用戶U生成重認證會話密鑰KR的用戶部分KR2,并將重認證會話密鑰KR的用戶部分KR2首位處進行填充,使其與重認證會話密鑰KR的認證服務(wù)器部分k1的位數(shù)相同,然后對重認證會話密鑰KR的認證服務(wù)器部分k1和填充后的用戶部分KR2進行異或處理得到完整的重認證會話密鑰KR;轉(zhuǎn)至C3步驟。