專利名稱:一種跨域認證方法和系統(tǒng)的制作方法
技術(shù)領域:
本發(fā)明涉及網(wǎng)絡安全領域,特別涉及一種跨域認證方法和系統(tǒng)。
背景技術(shù):
當前大規(guī)模分布式網(wǎng)絡環(huán)境中,處于不同域中的企業(yè)、機構(gòu)之間出現(xiàn)了 越來越多的業(yè)務往來,隸屬于不同信任域的用戶進行跨域信息交互和訪問也 越來越多。
目前,實體A在5爭域訪問其他信任域中的實體B時,跨域認證普遍采用 的解決方法是由實體B所在信任域的認證服務器直接對實體A進行跨域身份 認證。其中,同構(gòu)域為采用同種認證體制的信任域,異構(gòu)域為采用不同種認 證體制的信任域。現(xiàn)有的認證體制包括PKI ( Public Key Infrastructure, 7>開密鑰基礎i殳施)iU正體制、Ke r be r o s認i正體制、IBC (Identity- Based Cryptography,基于身份的認證體制)認證體制等。
其中,對于跨同構(gòu)域的認證中,比如基于PKI認證體制的信任域A向基 于PKI認證體制的信任域B進行跨域認證時,需要建立從目標證書到認證方 信任錨之間的一條或多條候選的證書路徑(或稱為證書鏈),證書路徑中的每 一個證書都需要被檢查和驗證,這種交叉證書路徑處理的過程非常復雜,使 得認證服務器在直接驗證非本域用戶證書的過程變得繁瑣低效。
另外,對于跨異構(gòu)域的認證中,由于不同信任域之間的認證體制互不兼 容,導致用戶的身份憑證形式不同,例如PKI中采用身份證書,Kerberos中 采用票據(jù)形式等。所以認證服務器在直接驗證非本域用戶身份憑證時,認證 服務器識別身份憑證時需要對身份憑證的形式進行轉(zhuǎn)換,同樣,也使得認證 服務器在直接驗證非本域用戶憑證的過程變得繁瑣低效。
發(fā)明內(nèi)容
本發(fā)明提供的跨域認證的方法和系統(tǒng),以解決跨域認證中認證服務器在直接驗證非本域用戶憑證時繁瑣低效的問題。
一方面,提供了一種跨域認證方法,包括至少兩個信任域,建立不同信 任域中的認證服務器之間基于公開密鑰基礎設施PKI認證體系的信任關系, 當?shù)?一信任域中的第 一 實體跨域訪問第二信任域中的第二實體時,所述方法
包括
步驟A:所述第一信任域中的第一認證服務器對所述第一實體進行身份 認證,并將認證結(jié)果發(fā)送給所述第二信任域中的第二認證服務器;
步驟B:所述第二認證服務器利用預先建立的所述基于PKI認證體系的 信任關系驗證所述第一認證服務器是否合法,合法則執(zhí)行步驟C,否則結(jié)束;
步驟C:所述第二認證服務器判斷接收到的所述認i正結(jié)果是否為認證通 過,是則跨域認證成功,否則跨域認證失敗。
另一方面,還提供了一種跨域認證系統(tǒng),包括至少兩個信任域,所述系 統(tǒng)包括
信任關系建立模塊,用于建立不同信任域中的認證服務器之間基于公開 密鑰基礎設施PKI認證體系的信任關系;
第 一域認證模塊,用于當?shù)?一信任域中的第 一 實體跨域訪問第二信任域 中的第二實體時,所述第 一信任域中的第 一認證服務器對所述第 一 實體進行 身份認證,并將認證結(jié)果發(fā)送給跨域認證才莫塊;
PKI認證模塊,用于所述第二認證服務器利用所述信任關系建立模塊建 立的所述基于PKI認證體系的信任關系驗證所述第一認證服務器的合法性; 跨域認證模塊,用于當所述PKI認證模塊驗證所述第 一認證服務器為合 法時,所述第二認證服務器判斷接收到的所述認證結(jié)果是否為認證通過,是 則跨域認證成功,否則跨域認證失敗。
上述第一信任域、第二信任域,第一認證服務器、第二認證服務器,和 第一實體、第二實體是為了區(qū)分不同的信任域、認證服務器和實體而進行的 標識,與順序先后沒有關系。同理,對于第二信任域中的第二實體向第一信 任域中的第一實體進行跨域訪問時,是一樣的。
本發(fā)明提供的跨域認證方法和系統(tǒng)的有益效果是通過在不同信任域中 的認證服務器之間建立基于PKI認證體系的信任關系,不同信任域中的兩個
6認證服務器之間利用這種互相信任的關系傳送認證結(jié)果實現(xiàn)跨域認證,從而 解決了跨同構(gòu)域認證中交叉證書路徑處理復雜的問題,及跨異構(gòu)域中認證服 務器認證不同形式的身份憑證時需要對身份憑證的形式進行轉(zhuǎn)換的問題,從
而簡化了跨域認證流程,提高了跨域認證效率;進一步的,本發(fā)明還可以在
首次跨域訪問成功后,將認證成功的信息記錄在第二認證服務器上,這樣當 第一實體想再次跨域訪問第二實體時,就可以直接進行跨域訪問,而無需再
進行跨域認證,實現(xiàn)了透明高效的跨域單點訪問。
圖1是本發(fā)明實施例提供的一種跨域認證方法流程圖2是本發(fā)明實施例提供的另 一種跨域認證方法流程圖3是本發(fā)明實施例提供的另 一種跨域認證方法流程圖4是本發(fā)明實施例提供的另一種跨域認證方法流程圖4-1是本發(fā)明實施例4提供的一種優(yōu)選的跨域認證方法流程圖5是本發(fā)明實施例提供的一種跨域認證系統(tǒng)結(jié)構(gòu)圖5-1是本發(fā)明實施例5提供的一種跨域認證系統(tǒng)示意圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā) 明實施方式作進一步地詳細描述。 實施例一
參見圖1,為本發(fā)明實施例提供了一種跨域認證方法, 首先,步驟101:建立不同信任域中的認證服務器之間基于PKI認證體 系的信任關系。優(yōu)選的方式為將不同信任域中的認證服務器歸屬于基于PKI 認證體系中的同 一個信任認證中心CA,該信任認證中心CA為每個認證服 務器頒發(fā)證書,根據(jù)PKI i^正理i侖可知, 一個CA的所有實體都自動信任該 CA所簽發(fā)的所有證書,這樣就建立起認證服務器之間的信任關系了 。這里, 可以包含至少兩個信任域,相應的,認證服務器的數(shù)量也有至少兩個。其中
7實體可以是用戶、應用服務器等。 跨域認證的方法包括如下步驟,
步驟102:實體A向?qū)嶓wB發(fā)送跨域訪問請求; 步驟103:實體B將認證服務器B的標識發(fā)送給實體A; 步驟104:實體A向域A的認證服務器A發(fā)送包含認證服務器B的標 識的認證請求;
步驟105:域A的認證服務器A對實體A進行身份認證,將認證結(jié)果依 據(jù)上述認證服務器B的標識發(fā)送給域B的認證服務器B;
其中認證服務器對本域內(nèi)實體進行身份認證時,由于各信任域采用的認 證體制不同(如PKI, Kerberos等),認證服務器根據(jù)其所屬域的認證體制對 域內(nèi)實體進行身份認證。
比如,域A釆用的是PKI認證體制,則此時認證服務器A可以采用證 書方式、口令方式,或證書方式與口令方式的結(jié)合的方式對實體A進行身份 認證。其中,認證服務器A采用證書方式對實體A進行身份認證的過程舉例 "i兌明3口下
第一步實體A向認證服務器A發(fā)送認證請求消息{實體A身份證書, 用認證服務器A />鑰加密的臨時密鑰,由該臨時密鑰加密的實體A標識和隨 機數(shù)ru"
第二步認證服務器A收到消息后驗證實體A身份證書有效性和證書路 徑,驗證失敗則拒絕。 -驗證成功后查詢用戶是否已注冊,未注冊則拒絕,已 經(jīng)注冊則讀耳又實體A的用戶信息,解密出臨時密鑰乂人而解密出隨機數(shù)和實體 A身份標識并與實體A的身份證書聲明比較是否一致,若一致則向?qū)嶓wA發(fā) 送消息(由實體A公鑰加密的本次會話的會話密鑰,由該會話密鑰加密的認 證服務器的身份標識,收到的隨機數(shù)ru,認證服務器A產(chǎn)生的隨機數(shù)ra〉。
第三步實體A收到消息后解密若看到自己發(fā)送出的隨機數(shù)ru則信任 認證服務器A,并發(fā)送消息(用本次會話密鑰加密的由認證服務器A產(chǎn)生的 隨機數(shù)ra)。認證服務器A收到消息后解密若看到自己產(chǎn)生的隨機數(shù)ra則信 任實體A,認證結(jié)果為認證通過,否則認證結(jié)果為未通過。
8認證服務器A采用口令方式對實體A進行身份認證的過程舉例說明如
下
第一步實體A向認證服務器A發(fā)送一個隨機數(shù)ru作為挑戰(zhàn)值。 第二步認證服務器A收到實體A的挑戰(zhàn)值ru后產(chǎn)生對用戶的挑戰(zhàn)值
ra,然后對ru、 ra和口令鏈接求散列值,向?qū)嶓wA發(fā)送消息{挑戰(zhàn)值ra,散
列值}。
第三步實體A收到消息后按相同方法求散列值,與收到的散列值比較, 不同則認證結(jié)果為未通過,相同則信任認證服務器A,用會話密鑰對{認證服 務器前后產(chǎn)生的隨機數(shù)ra和口令鏈接后的散列值}加密后發(fā)送給認證服務器 A,認證服務器A收到消息后做散列值驗證,若匹配則信任實體A,認證結(jié) 果為iU正通過。
口令方式認證,或先進行口令方式認i正通過后再進行i正書方式認證。
步驟106:認證服務器B利用預先建立的上述基于PKI認證體系的信任 關系驗證認證服務器A是否合法,合法則執(zhí)行步驟107,否則結(jié)束;
證服務器A的合法性,等等。
步驟107:認證服務器B判斷接收到的認證結(jié)果是否為認證通過,是則 跨域認證成功,否則跨域認證失敗。
通過在不同信任域中的認證服務器之間建立基于PKI認證體系的信任關
結(jié)果實現(xiàn)跨域認證,從而解決了跨同構(gòu)域認證中交叉證書路徑處理復雜的問 題,及跨異構(gòu)域中認證服務器認證不同形式的身份憑證時需要對身份憑證的 形式進行轉(zhuǎn)換的問題,從而簡化了跨域認證流程,提高了跨域認證效率。 為了進一步提高跨域認證的安全性,進一步的,還可以在步驟107之前 增加認證服務器B對實體B進行身份認證的步驟。
本發(fā)明實施例中是利用認證服務器B的標識來識別認證服務器A將對實 體A的認證結(jié)果發(fā)送給哪個認證服務器的,在實際應用中,不限于這種方 法,還可以采用其他方法進行標識。
9本發(fā)明實施例中上述域A、域B,認證服務器A、認證服務器B,和實 體A、實體B是為了區(qū)分不同的信任域、認證服務器和實體而進行的標識, 與順序先后沒有關系。同理,對于域B中的實體B向域A中的實體A進行 跨域訪問時,是一樣的。
可以理解,上述域A、域B,認證服務器A、認證服務器B,實體A、 實體B也可以被稱為第一信任域,第二信任域,第一認證服務器、第二認 證服務器,第一實體、第二實體。
實施例二
參見圖2,為本發(fā)明實施例提供的另一種跨域認證的方法,
首先,步驟201:建立不同信任域中的認證服務器之間基于PKI認證體 系的信任關系。優(yōu)選的方式為將不同信任域中的認證服務器歸屬于基于PKI 認證體系中的同 一個信任認證中心CA,該信任認證中心CA為每個認證服 務器頒發(fā)^^正書,根據(jù)PKI認證理-淪可知, 一個CA的所有實體都自動信任該 CA所簽發(fā)的所有證書,這樣就建立起認證服務器之間的信任關系了 。這里, 可以包含至少兩個信任域,相應的,認證服務器的數(shù)量也有至少兩個。其中 實體可以是用戶、應用服務器等。
當上述至少兩個信任域中的域A的實體A要跨域訪問域B的實體B時, 跨域認證的方法包括如下步驟,
步驟202:實體A向?qū)嶓wB發(fā)送^,域訪問請求;
步驟203:實體B判斷域B的認證服務器B上是否記錄有實體A認證成 功的信息,是則跨域認證成功,結(jié)束;否則執(zhí)行步驟204;
步驟204:實體B將認證服務器B的標識4是供給實體A;
步驟205:實體A向域A的認證服務器A發(fā)送包含認證服務器B的標 識的認證請求;
步驟206:域A的認證服務器A對實體A進行身份認證,將認證結(jié)果依 據(jù)上述認證服務器B的標識發(fā)送給域B的認證服務器B;
步驟207:認證服務器B利用預先建立的上述基于PKI認證體系的信任 關系驗證認證服務器A是否合法,合法則執(zhí)行步驟208,否則結(jié)束;驗證的方法可以是認證服務器B通過驗證認證服務器A的證書來驗證認 證服務器A的合法性,等等。
步驟208:認證服務器B判斷接收到的認證結(jié)果是否為認證通過,是則 跨域認證成功,將實體A認證成功的信息記錄在認證服務器B上;否則跨域 認證失敗。
為了進一步提高跨域認證的安全性,進一步的,還可以在步驟208之前 增加認證服務器B對實體B進行身份認證的步驟。
可見,通過在不同信任域中的認證服務器之間建立基于PKI認證體系的 信任關系,不同信任域中的兩個認證服務器之間利用這種互相信任的關系傳 送認證結(jié)果實現(xiàn)跨域認證,從而解決了跨同構(gòu)域認證中交叉證書路徑處理復 雜的問題,及跨異構(gòu)域中認證服務器認證不同形式的身份憑證時需要對身份 憑證的形式進行轉(zhuǎn)換的問題,從而簡化了跨域認證流程,提高了跨域認證效 率。進一步的,在首次跨域訪問成功后,將認證成功的信息記錄在認證服務 器B上,這樣當實體A想再次跨域訪問實體B時,就可以直接進行跨域訪 問,而無需再進行跨域認i正,實現(xiàn)了透明高效的跨域單點訪問。
本發(fā)明實施例中是利用認證服務器B的標識來識別認證服務器A將對實 體A的認證結(jié)果發(fā)送給哪個認證服務器的,在實際應用中,不限于這種方 法,還可以采用其他方法進行標識。
本發(fā) 明實施例中上述域A、域B,認證服務器A、認證服務器B,和實 體A、實體B是為了區(qū)分不同的信任域、認證服務器和實體而進行的標識, 與順序先后沒有關系。同理,對于域B中的實體B向域A中的實體A進行 跨域訪問時,是一樣的。
可以理解,上述域A、域B,認證服務器A、認證服務器B,實體A、 實體B也可以被稱為第一信任域,第二信任域,第一認證服務器、第二認 證服務器,第一實體、第二實體。
實施例三
參見圖3,為本發(fā)明實施例提供的另一種跨域認證方法,
首先,步驟301:建立不同信任域中的認證服務器之間基于PKI認證體系的信任關系。優(yōu)選的方式為將不同信任域中的認證服務器歸屬于基于
PKI認證體系中的同 一個信任認證中心CA,該信任認證中心CA為每個認 證服務器頒發(fā)證書,根據(jù)PKI認證理論可知, 一個CA的所有實體都自動 信任該CA所簽發(fā)的所有證書,這樣就建立起認證服務器之間的信任關系 了。這里,可以包含至少兩個信任域,相應的,認證服務器的數(shù)量也有至少 兩個。其中實體可以是用戶、應用服務器等。
步驟302:利用上述信任關系在上述不同域的認證服務器之間建立會話 密鑰;
優(yōu)選的,建立會話密鑰的方法可以是,域A中的認證服務器A將上述建 立信任關系時頒發(fā)的證書發(fā)送到域B中的認證服務器B,認證服務器B對 該證書驗證通過后,建立會話密鑰,用上述證書中包含的認證服務器A的 公鑰加密上述會話密鑰,發(fā)送給認證服務器A,認證服務器A用自己的私 鑰解密后得到會話密鑰。當然,利用基于PKI認證機制在不同信任域的服 務器之間建立會話密鑰的方法不限于上述方法,還有其他多種方法都可以實 現(xiàn)。
其中,在上述至少兩個信任域中的域A和域B之間利用上述信任關系建 立會話密鑰,則當域A中的實體A要跨域訪問域B中的實體B時,跨域認 證的方法包括如下步驟,
步驟303:實體A向?qū)嶓wB發(fā)送跨域訪問請求; 步驟304:實體B將認證服務器B的標識發(fā)送給實體A; 步驟305:實體A向域A的認證服務器A發(fā)送包含認證服務器B的標 識的認證請求;
步驟306:域A的認證服務器A對實體A進行身份認證,將認證結(jié)果和 認證服務器A的標識依據(jù)上述認證服務器B的標識發(fā)送給域B的認證服務 器B;
步驟307:認證服務器B依據(jù)接收到的認證服務器A的標識查找是否有 與認證服務器A的標識對應的會話密鑰,是則說明認證服務器A和認證服務 器B之間是信任的,則執(zhí)行步驟308,否則結(jié)束;
步驟308:認證服務器B判斷接收到的認證結(jié)果是否為認證通過,是則
123爭域認證成功,否則^,域認證失敗。
通過在不同信任域中的認證服務器之間建立基于PKI認證體系的信任關 系,不同信任域中的兩個認證服務器之間利用這種互相信任的關系傳送認證 結(jié)果實現(xiàn)跨域認證,從而解決了跨同構(gòu)域認證中交叉證書路徑處理復雜的問
形式進行轉(zhuǎn)換的問題,從而簡化了跨域認證流程,提高了跨域認證效率。
為了進一步提高跨域認證的安全性,進一步的,還可以在步驟308之前 增加認證服務器B對實體B進行身份認證的步驟。
本發(fā)明實施例中是利用認證服務器B的標識來識別認證服務器A將對實 體A的認證結(jié)果發(fā)送給哪個認證服務器的,在實際應用中,不限于這種方 法,還可以采用其他方法進行標識。
本發(fā)明實施例中上述域A、域B,認證服務器A、認證服務器B,和實 體A、實體B是為了區(qū)分不同的信任域、認證服務器和實體而進行的標識, 與順序先后沒有關系。同理,對于域B中的實體B向域A中的實體A進行 跨域訪問時,是一樣的。
可以理解,上述域A、域B,認證服務器A、認證服務器B,實體A、 實體B也可以被稱為第一信任域,第二信任域,第一認證服務器、第二認 證服務器,第一實體、第二實體。
實施例四
參見圖4,為本發(fā)明實施例提供的另一種跨域認證方法, 首先,步驟401:建立不同信任域中的認證服務器之間基于PKI認證體 系的信任關系。優(yōu)選的方式為將不同信任域中的認證服務器歸屬于基于 PKI認證體系中的同 一個信任認證中心CA,該信任認證中心CA為每個認 證服務器頒發(fā)證書,根據(jù)PKI認證理論可知, 一個CA的所有實體都自動 信任該CA所簽發(fā)的所有證書,這樣就建立起認證服務器之間的信任關系 了。這里,可以包含至少兩個信任域,相應的,認證服務器的數(shù)量也有至少 兩個。其中實體可以是用戶、應用服務器等。
步驟402:利用上述信任關系在上述不同域的認證服務器之間建立會話
13密鑰;
優(yōu)選的,建立會話密鑰的方法可以是,域A中的認證服務器A將上述建
立信任關系時頒發(fā)的證書發(fā)送到域B中的認證服務器B,認證服務器B對 該證書驗證通過后,建立會話密鑰,用上述證書中包含的認證服務器A的 公鑰加密上述會話密鑰,發(fā)送給認證服務器A,認證服務器A用自己的私 鑰解密后得到會話密鑰。當然,利用基于PKI認證機制在不同信任域的服 務器之間建立會話密鑰的方法不限于上述方法,還有其他多種方法都可以實 現(xiàn)。
其中,在上述至少兩個信任域中的域A和域B之間利用上述信任關系建 立會話密鑰,則當域A中的實體A要跨域訪問域B中的實體B時,跨域認 證的方法包括如下步驟,
步驟403:實體A向?qū)嶓wB發(fā)送跨域訪問請求;
步驟404:實體B判斷域B的認證服務器B上是否記錄有實體A認證成 功的信息,是則跨域認證成功,結(jié)束;否則執(zhí)行步驟405;
步驟405:實體B將認證服務器B的標識發(fā)送給實體A;
步驟406:實體A向域A的認證服務器A發(fā)送包含認證服務器B的標 識的認證請求;
步驟407:域A的認證服務器A對實體A進行身份認證,將認證結(jié)果和 認證服務器A的標識依據(jù)上述認證服務器B的標識發(fā)送給域B的認證服務 器B;
步驟408:認證服務器B依據(jù)接收到的認證服務器A的標識查找是否有 與認證服務器A的標識對應的會話密鑰,是則說明認證服務器A和認證服務 器B之間是信任的,則執(zhí)行步驟409,否則結(jié)束;
步驟409:認證服務器B判斷接收到的認證結(jié)果是否為認證通過,是則 跨域認證成功,否則跨域認證失敗。
為了進一步提高跨域認證的安全性,進一步的,還可以在步驟409之前 增加認證服務器B對實體B進行身份認證的步驟。
可見,通過在不同信任域中的認證服務器之間建立基于PKI認證體系的送認證結(jié)果實現(xiàn)跨域認證,從而解決了跨同構(gòu)域認證中交叉證書路徑處理復
憑證的形式進行轉(zhuǎn)換的問題,從而簡化了跨域認證流程,提高了跨域認證效 率。進一步的,在首次跨域訪問成功后,將認證成功的信息記錄在認證服務
器B上,這樣當實體A想再次3爭域訪問實體B時,就可以直接進行^夸域訪 問,而無需再進行跨域認證,實現(xiàn)了透明高效的跨域單點訪問。
本發(fā)明實施例中是利用認證服務器B的標識來識別認證服務器A將對實 體A的認證結(jié)果發(fā)送給哪個認證服務器的,在實際應用中,不限于這種方 法,還可以采用其他方法進行標識。
本發(fā)明實施例中上述域A、域B,認證服務器A、認證服務器B,和實 體A、實體B是為了區(qū)分不同的信任域、認證服務器和實體而進行的標識, 與順序先后沒有關系。同理,對于域B中的實體B向域A中的實體A進行 跨域訪問時,是一樣的。
可以理解,上述域A、域B,認證服務器A、認證服務器B,實體A、 實體B也可以被稱為第一信任域,第二信任域,第一認證服務器、第二認 證服務器,第一實體、第二實體。
參見圖4-1,為本方法的一個優(yōu)選方案,首先,將不同信任域中的認i正 服務器歸屬于基于PKI認證體系中的同一個信任認證中心CA,該信任認證 中心CA為每個認證服務器頒發(fā)證書,根據(jù)PKI認證理論可知, 一個CA的 所有實體都自動信任該CA所簽發(fā)的所有證書,建立起認證服務器之間的信 任關系了。然后,上述建立了互相之間信任關系的不同信任域中的域A和 域B之間建立會話密鑰key3,當上述域A中的用戶u要跨域訪問域B中的 應用服務器App時,其中域A和域B都采用PKI認證機制,用戶u在域A 的認證服務器ASa認證通過后,建立二者之間建立會話密鑰keyl,應用服 務器App在域B的認證服務器ASb注冊后,建立二者之間建立會話密鑰 key2,然后執(zhí)行下述步驟
① 用戶u向應用服務器App發(fā)送跨域訪問請求;
② 應用服務器App驗證認證服務器ASb是否記錄有用戶u的跨域認證 成功的信息,若有則說明用戶u為已經(jīng)被域B的認證服務器ASb認證通過的,跨域認證成功,結(jié)束;否則應用服務器App向用戶u發(fā) 送消息串{ASb標識,App證書},其中App證書包含有App公鑰信 息;ASb標識為認證服務器B的標識; ③用戶u收到上述消息串后,從其中的App證書中解析得到App公鑰, 并生成對應用服務器App的挑戰(zhàn)值urc,用App公鑰加密消息串(u 標識,urc},將加密后的消息串發(fā)送給應用服務器App; u標識為用 戶u的標識;
應用服務器App用App私鑰解密接收到上述消息串,并生成對用戶u 的挑戰(zhàn)值brc,再用認證服務器ASb的公鑰加密消息串(App標識, brc, urc},得到消息M,發(fā)送給用戶u;
⑤ 用戶u收到消息后,向認證服務器ASa發(fā)送認證請求,認證請求包 含《密文C, ASb標識,消息M),其中密文C用會話密鑰keyl加密 {H(M), NH尋到的;其中H(M)為用戶u對消息M進行散列運算的結(jié) 果,N為用戶u與認證服務器ASa本次會話的流水號,這里不限于散 列運算,可以選用其他的加密算法得到H(M), N也不限于流水號, 比如還可以采用當前時間等;
⑥ 認證服務器ASa對用戶u進行本域身份認證,從域A的授權(quán)服務器 中查詢用戶u的訪問權(quán)限等信息,生成用戶消息串uM,向認證服務 器ASb發(fā)送消息串(密文D, ASa標識,消息M》,其中密文D為用 會話密鑰key3加密消息串(uM, R(Asa-u), H(M》得到的;其中H(M) 可以是認證服務器ASa從步驟⑤中接收到的消息串中得到的M散列 值H(M),也可以是用會話密鑰keyl解密密文C得到消息M后,利 用和用戶u使用相同的散列算法對消息M進行散列運算,生成M的 散列值H(M); R(Asa-u)表示認證服務器ASa對用戶u的認證結(jié)果。 可以zf旦不限于用凄t字0和1分別^C表i人i正失敗和^人i正通過。
⑦ 認證服務器ASb根據(jù)ASa標識查找是否有與其對應的會話密鑰key3, 未找到則說明ASa與ASb之間并未建立信任關系,結(jié)束認證過程; 有的話,說明ASa對ASb而言是可信的,即認證服務器ASa是合法 的,ASb用會話密鑰key3解密密文D得到H(M), ASb用與ASa端
16使用的相同的散列算法對收到的M進行散列運算,得到H(M),,比 對H(M)與H(M),是否一致, 一致則說明消息確實是由可信的認證服 務器ASa發(fā)送的,且消息M未被第三方修改過,即消息M是完整的。 解密密文D得出認證服務器ASa對用戶u的認證結(jié)果R(Asa-u),才艮 據(jù)R(Asa-u)判斷是否對用戶u認證通過,當R(Asa-u)為0時說明對用 戶u認證未通過,當R(Asa-u)為1時說明對用戶u認證通過,此時向 認證服務器ASa發(fā)送消息,允許用戶u對應用服務器App進行跨域訪 問,步驟可以是ASb查找是否有消息M中的APP標識,有則說明應 用服務器App已經(jīng)在認證服務器ASb上注冊,則向認證服務器ASa發(fā) 送消息串(密文E,密文F },其中密文E為利用會話密鑰key3加密 消息串(brc, u標識,R(Asb-u), uM〉得到的,密文F為利用會話密鑰 key3加密消息串(urc, key2' }得到的;key2'為用應用服務器A卯 的/^鑰加密key2得到的。
⑧ 認證服務器ASa用會話密鑰key3解密密文F,根據(jù)urc判斷是否為 用戶u生成的,是則向用戶u發(fā)送消息串(密文E,密文G),其中密 文G為用會話密鑰key 1加密{urc, key2' }得到的;
⑨ 用戶u用會話密鑰keyl解密密文G,得到自己生成的挑戰(zhàn)值urc,判 斷認證服務器ASb和應用服務器App的合法性,向應用服務器發(fā)送 消息串(密文E, key2' },應用服務器App利用私鑰解密key2'得到 key2,利用key2解密密文E,得到brc, u標識,R(Asb-u), uM,來 驗證用戶身份的合法性,完成跨域認證,之后便可以依據(jù)用戶信息串 uM進行跨域訪問了。
實施例五
參見圖5,為本發(fā)明實施例提供的一種跨域認證系統(tǒng),包括至少兩個信 任域,所述系統(tǒng)包括
信任關系建立模塊,用于建立不同信任域中的認證服務器之間基于公開 密鑰基礎設施PKI認證體系的信任關系;
第 一域認證;漠塊,用于當?shù)?一信任域中的第 一 實體跨域訪問第二信任域
17中的第二實體時,所述第 一信任域中的第 一認證服務器對所述第 一實體進行 身份認證,并將認證結(jié)果發(fā)送給跨域認證模塊;
PKI認證模塊,用于第二認證服務器利用上述信任關系建立模塊建立的 基于PKI認證體系的信任關系驗證第一i人證服務器的合法性;
跨域認證模塊,用于當上述PKI認證模塊驗證第 一認證服務器為合法時, 第二認證服務器判斷接收到的認證結(jié)果是否為認證通過,是則跨域認證成 功,否則3爭域認i正失敗。
其中,信任關系建立模塊具體用于將不同信任域中的認證服務器歸屬于 基于PKI認證體系中的同 一個信任認證中心CA,信任認證中心CA為認證 服務器頒發(fā)證書。
進一步的,上述信任關系建立模塊還包括會話密鑰建立單元,用于利用 上述信任關系在不同信任域中的認證服務器之間建立會話密鑰,相應的,
第 一域認證模塊還包括標識發(fā)送單元,用于第 一認證服務器將第 一認證 服務器標識發(fā)送給第二認證服務器;
PKI認證模塊具體用于第二認證服務器依據(jù)標識發(fā)送單元發(fā)送來的第一 認證服務器標識查找是否有與第 一認證服務器標識對應的會話密鑰,來驗證 第一認證服務器的合法性。
通過在不同信任域中的認證服務器之間建立基于PKI認證體系的信任關 系,不同信任域中的兩個認證服務器之間利用這種互相信任的關系傳送認證 結(jié)果實現(xiàn)跨域認證,從而解決了跨同構(gòu)域認證中交叉證書路徑處理復雜的問
形式進行轉(zhuǎn)換的問題,從而簡化了跨域認證流程,提高了跨域認證效率。
進一步的,為了進一步提高跨域認證中的安全性,所述系統(tǒng)還包括第二 域認證模塊,用于第二認證服務器對第二實體進行身份認證。
再進一步的,上述跨域認證模塊還包括記錄單元,用于當跨域認證成功 后,在第二認證服務器上記錄第一實體被認證成功的信息;相應的,所述系 統(tǒng)還包括判斷模塊,用于第二實體在接收到第一實體的跨域訪問請求后,判 斷第二認證服務器上是否記錄有該第 一 實體被認證成功的信息。這樣當?shù)谝?實體想再次跨域訪問第二實體時,就可以直接進行跨域訪問,而無需再進行
18跨域認證,實現(xiàn)了透明高效的跨域單點訪問。
上述第一信任域、第二信任域,第一認證服務器、第二認證服務器,和 第一實體、第二實體是為了區(qū)分不同的信任域、認證服務器和實體而進行的 標識,與順序先后沒有關系。同理,對于第二信任域中的第二實體向第一信 任域中的第一實體進行跨域訪問時,是一樣的。
參見圖5-1,各信任域中的認證服務器根據(jù)需要依托PKI信任體系建立
相互信任關系,形成一種域間分布式認證,域內(nèi)集中式認證的分布式結(jié)構(gòu)。 認證體系結(jié)構(gòu)中包括兩個或兩個以上不同信任域之間的跨域認證,每個 信任域可采用相同的認證體制,也可根據(jù)需要采用不同的認證體制。如圖
5-1中所示,認證體系結(jié)構(gòu)中包括三個不同的信任域域A、域B和域C, 其中域A和域B均采用PKI認證體制,域C采用Kerberos認證體制。域A、 B內(nèi)實體分別信任認證中心CA1、 CA2,認證中心為本域內(nèi)實體(包括用戶、 應用服務器、認證服務器等)頒發(fā)公鑰證書,具體為CA1向用戶1、應用 服務器l、認證服務器1頒發(fā)公鑰證書,CA2與此類似。域C中實體均在 認證服務器中注冊,具體為應用服務器4的信息注冊到認證服務器中。
根據(jù)采用的認證體制不同,分別設立認證服務器負責實體間的認證,其 中域A和域B分別包括i人證服務器1和2,域C包括iU正服務器3和Kerberos 服務器。
依托PKI信任體系建立各信任域中認證服務器的相互信任關系。為實現(xiàn) 跨域認證,將各域的認證服務器建立在統(tǒng)一的PKI認證體系之下,由PKI 體系中的CA為各認證服務器頒發(fā)證書,從而使得各域中的認證服務器屬于 同一個根CA,建立了各認證服務器之間的信任關系。如圖5-l中PKI認證 體系為認證服務器l、 2和3分別頒發(fā)證書,通過同一個根CA建立三個認 證服務器之間的相互信任關系。其中認證服務器的功能包括本域內(nèi)集中認證 和域間分布式認證。
域內(nèi)采用集中式認證各信任域內(nèi)由認證服務器負責統(tǒng)一認證,其中域 A和域B分別由認證服務器1和2負責本域內(nèi)實體的統(tǒng)一身份認證,域C 通過認證服務器3對域內(nèi)實體實施統(tǒng)一身份認證。但是由于采用的認證體制 不同,各域內(nèi)認i正月l務器的認證過程不同,按照相應的認證方法對域內(nèi)實體實施集中統(tǒng)一的身份認證,如認證服務器1和2 ,根據(jù)證書鏈的構(gòu)建和驗
證,對本域?qū)嶓w進行認證;認證服務器3,同票據(jù)授權(quán)服務器一起,按照認 證業(yè)務交換、授權(quán)票據(jù)業(yè)務交換和用戶/服務器認證交換,對本域?qū)嶓w進行 認證。
域間采用分布式認證認證服務器驗證非本信任域用戶身份時,通過與 用戶所屬域的認證服務器交互,完成分布式認證。當用戶跨域訪問應用服務 器時,應用服務器要求用戶到應用服務器所在域認證服務器身份認證。用戶 首先到本域認證服務器進行域內(nèi)身份認證,由該認證服務器向應用服務器所 屬域的認證服務器發(fā)送用戶身份認證的結(jié)果;應用服務器所屬域的認證服務 器根據(jù)接收到的認證結(jié)果,判斷該實體是否通過身份認證。例如圖5-l中, 認證服務器2驗證用戶1的身份時,首先由用戶1所屬域A中的認證服務 器對用戶l進行身份認證,并將用戶1在本域內(nèi)的認證結(jié)果提交給認證服務 器2,通知用戶l身份是否認證通過,進而由認證服務器2決定用戶l身份 iU正通過與否。
域A與域C,域B與域C之間的跨域認證過程與以上流程同理。 以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范
圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均
包含在本發(fā)明的保護范圍內(nèi)。
權(quán)利要求
1、一種跨域認證的方法,包括至少兩個信任域,其特征在于,建立不同信任域中的認證服務器之間基于公開密鑰基礎設施PKI認證體系的信任關系,當?shù)谝恍湃斡蛑械牡谝粚嶓w跨域訪問第二信任域中的第二實體時,所述方法包括步驟A所述第一信任域中的第一認證服務器對所述第一實體進行身份認證,并將認證結(jié)果發(fā)送給所述第二信任域中的第二認證服務器;步驟B所述第二認證服務器利用預先建立的所述基于PKI認證體系的信任關系驗證所述第一認證服務器是否合法,合法則執(zhí)行步驟C,否則結(jié)束;步驟C所述第二認證服務器判斷接收到的所述認證結(jié)果是否為認證通過,是則跨域認證成功,否則跨域認證失敗。
2、 如權(quán)利要求1所述的跨域認證方法,其特征在于,所述建立不同信任 域中的認證服務器之間基于PKI認證體系的信任關系具體為將不同信任 域中的認證服務器歸屬于基于PKI認證體系中的同一個信任認證中心CA, 所述信任認證中心CA為所述認證服務器頒發(fā)證書。
3、 如權(quán)利要求1所述的跨域認證方法,其特征在于,所述建立不同信任 域中認證服務器之間基于PKI認證體系的信任關系之后還包括利用所述信 任關系在屬于不同信任域中的認證服務器之間建立會話密鑰的步驟,相應 的,步驟A還包括所述第一認證服務器將第一認證服務器標識發(fā)送給第二 認證服務器;步驟B中所述第二認證服務器利用預先建立的所述基于PKI認證體系的 信任關系驗證所述第一認證服務器是否合法的步驟具體為所述第二認證服 務器依據(jù)所述第 一認證服務器標識查找是否有與所述第 一認證服務器標識 對應的會話密鑰,是則所述第一認證服務器為合法。
4、 如權(quán)利要求1-3中任一項所述的跨域認證方法,其特征在于,步驟C 跨域認證成功后還包括在所述第二認證服務器上記錄所述第一實體被認證 成功的信息的步驟;相應的,步驟A之前還包括所述第二實體在接收到所述第一實體的跨 域訪問請求后,判斷所述第二認證服務器上是否記錄有所述第 一實體被認證成功的信息的步驟,是則跨域認證成功,結(jié)束;否則執(zhí)行步驟A。
5、 如權(quán)利要求1-3中任一項所述的跨域認證方法,其特征在于,所述步 驟B之前還包括所述第二認證服務器對所述第二實體進行身份認證的步驟。
6、 一種跨域認證的系統(tǒng),包括至少兩個信任域,其特征在于,所述系統(tǒng) 包括信任關系建立模塊,用于建立不同信任域中的認證服務器之間基于公開 密鑰基礎設施PKI認證體系的信任關系;第一域認證模塊,用于當?shù)谝恍湃斡蛑械牡谝粚嶓w跨域訪問第二信任域 中的第二實體時,所述第 一信任域中的第 一認證服務器對所述第 一 實體進行 身份認證,并將認證結(jié)果發(fā)送給跨域認證模塊;PKI認證模塊,用于所述第二認證服務器利用所述信任關系建立^^莫塊建 立的所述基于PKI認證體系的信任關系驗證所述第 一認證服務器的合法性;跨域認證模塊,用于當所述PKI認證模塊驗證所述第 一認證服務器為合 法時,所述第二認證服務器判斷接收到的所述認證結(jié)果是否為認證通過,是 則3爭域認i正成功,否則跨域認證失敗。
7、 如權(quán)利要求6所述的跨域認證系統(tǒng),其特征在于,所述信任關系建立 模塊具體用于將不同信任域中的認證服務器歸屬于基于PKI認證體系中的 同一個信任認證中心CA,所述信任認證中心CA為所述認證服務器頒發(fā)證 書。
8、 如權(quán)利要求6所述的跨域認證系統(tǒng),其特征在于,所述信任關系建立 模塊還包括會話密鑰建立單元,用于利用所述信任關系在所述不同信任域中 的認證服務器之間建立會話密鑰,相應的,所述第 一域認證模塊還包括標識發(fā)送單元,用于所述第 一認證服務器將 第 一認證服務器標識發(fā)送給第二認證服務器;所述PKI認證模塊具體用于所述第二認證服務器依據(jù)所述標識發(fā)送單元 發(fā)送來的第 一認證服務器標識查找是否有與所述第 一認證服務器標識對應 的會話密鑰,來驗證所述第一認證服務器的合法性。
9、 如權(quán)利要求6-8中任一項所述的跨域認證系統(tǒng),其特征在于,所述跨 域認證模塊還包括記錄單元,用于當跨域認證成功后,在所述第二認證服務器上記錄所述第一實體被認證成功的信息;相應的,所述系統(tǒng)還包括判斷模塊,用于所述第二實體在接收到所述第 一實體的跨域訪問請求后,判斷所述第二認證服務器上是否記錄有所述第一實體被認證成功的信息。
10、如權(quán)利要求6-8中任一項所述的跨域認證系統(tǒng),其特征在于,所述 系統(tǒng)還包括第二域認證模塊,用于所述第二認證服務器對所述第二實體進行 身份認證。
全文摘要
本發(fā)明公開一種跨域認證方法和系統(tǒng),屬于網(wǎng)絡安全領域。所述方法為建立不同信任域中的認證服務器之間基于PKI認證體系的信任關系,當?shù)谝恍湃斡虻牡谝粚嶓w跨域訪問第二信任域的第二實體時,第一信任域中的第一認證服務器對第一實體進行身份認證,并將認證結(jié)果發(fā)送給第二信任域中的第二認證服務器;第二認證服務器利用預先建立的信任關系驗證第一認證服務器為合法時,判斷接收到的認證結(jié)果為認證通過時,跨域認證成功。所述系統(tǒng)包括信任關系建立模塊、第一域認證模塊、PKI認證模塊和跨域認證模塊。本發(fā)明提供的方法和系統(tǒng)簡化了跨域認證流程,提高了跨域認證效率;進一步,還實現(xiàn)了透明高效的跨域單點訪問。
文檔編號H04L29/06GK101453476SQ20091000005
公開日2009年6月10日 申請日期2009年1月6日 優(yōu)先權(quán)日2009年1月6日
發(fā)明者任志宇, 單棣斌, 斌 張, 智 楊, 艷 楊, 陳性元 申請人:中國人民解放軍信息工程大學