專利名稱:點對點模式下單點登錄方法
技術(shù)領域:
本發(fā)明涉及一種點對點模式下單點登錄方法。
背景技術(shù):
目前企業(yè)建設的應用系統(tǒng)越來越多,各個應用系統(tǒng)都包含獨立的用戶認證 和授權(quán)模塊。首先,各個應用系統(tǒng)的模塊維護用戶信息可能存在很大差異,阻 礙了用戶信息的共享。其次,用戶需要記憶不同應用系統(tǒng)的登錄口令,定期更 新所有可訪問應用系統(tǒng)的口令。最后,每個系統(tǒng)都開發(fā)獨立的認證和授權(quán)模塊 導致投資浪費和延誤工期。將應用系統(tǒng)的認證和授權(quán)統(tǒng)一管理,實現(xiàn)單點登錄 成為企業(yè)信息化建設的發(fā)展趨勢。
單點登錄的發(fā)展主要經(jīng)歷了兩個階段,二次填表和票據(jù)階段。二次填表技 術(shù)通過代理網(wǎng)關代理客戶填寫應用系統(tǒng)的用戶名和口令,向應用系統(tǒng)提交認 證。二次填表技術(shù)鮮明特點是各應用系統(tǒng)維護獨立的用戶名和口令,采用該技 術(shù)實現(xiàn)單點登錄要求原有系統(tǒng)的改造較少,具有低入侵性。但是該方法以代理 網(wǎng)關為中心,要求所有的應用系統(tǒng)必須通過代理網(wǎng)關實現(xiàn)單點登錄,容易造成 代理網(wǎng)關的性能瓶頸和單點失敗,口令需要多次傳遞導致口令泄露。票據(jù)技術(shù) 在全系統(tǒng)采用單一用戶名和口令,用戶通過認證后以票據(jù)作為用戶登錄應用系
統(tǒng)的身份憑證,票據(jù)認證的典型代表有Kerberos和CAS。但是在Kerberos和CAS 中客戶登錄應用系統(tǒng)需要頻繁經(jīng)過身份認證服務器的認證,沒有實現(xiàn)以票據(jù)的 有效期作為客戶的生命周期。Kerberos中客戶訪問應用系統(tǒng)需要經(jīng)過認證和授 權(quán)兩步實現(xiàn),沒有實現(xiàn)認證和授權(quán)統(tǒng)一管理,增加信息傳輸和處理時間。CAS 要求應用系統(tǒng)必須信任身份認證服務器,降低了安全性。Kerberos和CAS實現(xiàn) 單點登錄都具有典型的客戶/服務器特點。
發(fā)明內(nèi)容
本發(fā)明的目的就是提供一種系統(tǒng)運行成本低、效率高、安全性能好的點對 點模式下單點登錄方法。
本發(fā)明的點對點模式下單點登錄方法,涉及客戶(Client)、身份認證服 務器(Server)、門戶(Portal)和應用系統(tǒng)(Application)四個組件間的交 互,客戶訪問使用點對點認證方法接入門戶應用的處理過程分為以下步驟步驟a,客戶使用身份認證服務器的公鑰加密客戶的身份標識、客戶名、 密碼、應用系統(tǒng)標識和隨機數(shù),然后將加密后的消息發(fā)送給身份認證服務器;
步驟b,身份認證服務器使用自己的私鑰對收到的消息進行解密,得到客 戶的身份標識、客戶名、密碼、應用系統(tǒng)標識和隨機數(shù),如果客戶訪問門戶系 統(tǒng),身份認證服務器使用客戶的公鑰對客戶身份標識和隨機數(shù)進行加密;使用 門戶的公鑰對門戶標識、門戶頒發(fā)給客戶的證書和隨機數(shù)進行加密;使用應用 系統(tǒng)的公鑰對應用系統(tǒng)標識、應用系統(tǒng)頒發(fā)給客戶的證書和隨機數(shù)進行加密, 然后把這些加密后的消息串接后返回給客戶;
步驟c,客戶用門戶公鑰對客戶標識、會話密鑰、隨機數(shù)進行加密,將加 密后的信息、門戶頒發(fā)的客戶證書和應用系統(tǒng)頒發(fā)的客戶證書發(fā)送給門戶;
步驟d,門戶使用私鑰對客戶傳送的消息解密,判斷門戶頒發(fā)的客戶證書 的有效性,使用應用系統(tǒng)的公鑰對門戶標識、門戶和應用系統(tǒng)之間的會話密鑰、 隨機數(shù)以及應用系統(tǒng)頒發(fā)的客戶證書進行加密后發(fā)送給應用系統(tǒng);
步驟e,應用系統(tǒng)使用門戶的公鑰對應用標識和隨機數(shù)加密后發(fā)送給門戶, 實現(xiàn)門戶對應用系統(tǒng)的驗證;
步驟f,門戶使用客戶的公鑰對門戶標識和隨機數(shù)加密后發(fā)送給客戶,實 現(xiàn)客戶對門戶的驗證;
步驟g,應用系統(tǒng)使用身份認證服務器的公鑰將應用標識和隨機數(shù)發(fā)送給 身份認證服務器,身份認證服務器收到消息后進行解密,判斷解密后的隨機數(shù) 是否和步驟b中的隨機數(shù)相同,以此來驗證應用系統(tǒng)的合法性;
步驟h,身份認證服務器使用應用系統(tǒng)的公鑰將身份認證服務器的標識和 隨機數(shù)加密后發(fā)送給應用系統(tǒng),應用系統(tǒng)收到消息后進行解密,判斷解密后的 隨機數(shù)是否和步驟g中的隨機數(shù)相同,以此來驗證身份認證服務器的合法性。
本發(fā)明的點對點模式下單點登錄方法,具有以下特點
1、 首先以客戶為中心直接訪問應用系統(tǒng)點對點認證,而不像基于"二次 填表技術(shù)"的認證方法那樣以反向代理為中心,所有的單點登錄都必須通過反 向代理,點對點認證以證書來代表客戶身份并管理客戶生命周期,無需每次訪 問應用系統(tǒng)都經(jīng)過身份認證服務器的認證,減輕了身份認證服務器的負擔,有 助于提高系統(tǒng)運行的效率;
2、 實現(xiàn)身份認證服務器和應用系統(tǒng)的雙向認證,點對點認證中,驗證雙 方使用公鑰加密隨機數(shù)來實現(xiàn)雙方身份的驗證,與其它單點登錄技術(shù)相比,可以實現(xiàn)客戶與身份認證服務器的雙向驗證,增加了安全性;
3、設置客戶和應用系統(tǒng)的初始會話密鑰,設置了客戶和門戶系統(tǒng)之間的
初始會話密鑰,設置了門戶和應用系統(tǒng)之間的初始會話密鑰,在客戶和應用系 統(tǒng)之間建立了安全通道,使用會話密鑰加密與公鑰體制相比具有加密速度快的 優(yōu)點,有利于降低系統(tǒng)運行開銷。
圖l為本發(fā)明的結(jié)構(gòu)及流程圖。
具體實施例方式
參看圖1,應用系統(tǒng)A1已經(jīng)接入到門戶P中,當客戶C需要訪問應用系統(tǒng) Al時,客戶C首先訪問身份認證服務器S,獲得相應證書,客戶C把證書傳遞 給門戶P,門戶P將證書發(fā)送給應用系統(tǒng)Al,應用系統(tǒng)Al根據(jù)證書中標記的 客戶角色對用戶進行授權(quán),門戶P和應用系統(tǒng)Al根據(jù)證書標記的開始時間和 結(jié)束時間判斷用戶持有的證書是否有效,管理用戶的生命周期。
完整的登陸過程分為8個步驟-
步驟1,客戶C使用身份認證服務器S的公鑰加密客戶的身份標識C、客 戶名、密碼、應用系統(tǒng)A1和隨機數(shù)N①然后將加密后的消息發(fā)送給身份認證 服務器。
EKs(S, Username, Password, Al, Ncs}
步驟2,身份認證服務器S使用自己的私鑰對收到的消息進行解密,得到 客戶的身份標識C、客戶名、密碼、應用系統(tǒng)A1和隨機數(shù)Nc;s。如果客戶訪問 門戶系統(tǒng),身份認證服務器S使用客戶C的公鑰對客戶身份標識C和隨機數(shù)NAM1 進行加密,使用門戶的公鑰對門戶標識P、門戶頒發(fā)給客戶的證書Cert〈 P,C,Rp,Tl,T2〉和隨機數(shù)Nsp進行加密,使用Al的公鑰對應用系統(tǒng)標識Al、 Al 頒發(fā)給客戶C的證書Cert〈Al, C, R, Tl, T2〉和隨機數(shù)N^進行加密,將這些加密 后的消息串接后返回給客戶C。
EKC{C, Ncs} CredentialOf Portal Credentials CredentialOfPortal= EKP{C, Cert〈P, C, R, Tl, T2〉, NSP}<formula>formula see original document page 6</formula>
步驟3,客戶使用門戶公鑰對客戶標識C、會話密鑰IW、隨機數(shù)N^進行加 密,將加密后的信息和身份認證服務器S返回的CredentialOfPortal和 Credentials發(fā)送給門戶P。
EKP{C, KCp, NCP}, CredentialOfPortal, Credentials
步驟4,門戶P使用私鑰對客戶C傳送的信息解密,判斷客戶門戶頒發(fā)給 客戶證書的有效性。使用應用系統(tǒng)Al的公鑰對門戶標識P、門戶和應用系統(tǒng) Al之間的會話密鑰KPA1、隨機機數(shù)Nw以及應用系統(tǒng)頒發(fā)給客戶的證書進行加 密后發(fā)送給應用系統(tǒng)Al。
EKA1{P,KPA1, NPA1}, EKA1{C, Cert〈Al,C, RA1,T1,T2〉, NSA1}
步驟5,應用系統(tǒng)使用門戶的公鑰對應用系統(tǒng)標識A1和隨機數(shù)N^加密后 發(fā)送給門戶實現(xiàn)門戶對應用系統(tǒng)A1的驗證。
EKP{A1, NPA1}
步驟6,門戶使用客戶的公鑰對門戶標識P和隨機數(shù)Nc;p加密后發(fā)送給客戶,
實現(xiàn)客戶對門戶的驗證。
EKC{P, NCP}
步驟7,應用系統(tǒng)Al使用服務器的公鑰將應用系統(tǒng)標識Al和隨機數(shù)NSAI 發(fā)送給服務器S,服務器收到信息后進行解密,判斷隨機數(shù)是否和步驟2中的 隨機數(shù)相同,以此來驗證應用系統(tǒng)A1的合法性。
EKs(Al, NSA1 }
步驟8,身份認證服務器S使用應用系統(tǒng)Al的公鑰將標識S和隨機數(shù)NSA1 發(fā)送給應用系統(tǒng)A1,應用系統(tǒng)A1收到信息后進行解密,判斷隨機數(shù)是否和步 驟7中的隨機數(shù)相同,以此來驗證身份認證服務器S的合法性。
權(quán)利要求
1. 一種點對點模式下單點登錄方法,涉及客戶(Client)、身份認證服務器(Server)、門戶(Portal)和應用系統(tǒng)(Application)四個組件間的交互,其特征在于它包括以下步驟步驟a,客戶使用身份認證服務器的公鑰加密客戶的身份標識、客戶名、密碼、應用系統(tǒng)標識和隨機數(shù),然后將加密后的消息發(fā)送給身份認證服務器;步驟b,身份認證服務器使用自己的私鑰對收到的消息進行解密,得到客戶的身份標識、客戶名、密碼、應用系統(tǒng)標識和隨機數(shù),如果客戶訪問門戶系統(tǒng),身份認證服務器使用客戶的公鑰對客戶身份標識和隨機數(shù)進行加密;使用門戶的公鑰對門戶標識、門戶頒發(fā)給客戶的證書和隨機數(shù)進行加密;使用應用系統(tǒng)的公鑰對應用系統(tǒng)標識、應用系統(tǒng)頒發(fā)給客戶的證書和隨機數(shù)進行加密,然后把這些加密后的消息串接后返回給客戶;步驟c,客戶用門戶公鑰對客戶標識、會話密鑰、隨機數(shù)進行加密,將加密后的信息、門戶頒發(fā)的客戶證書和應用系統(tǒng)頒發(fā)的客戶證書發(fā)送給門戶;步驟d,門戶使用私鑰對客戶傳送的消息解密,判斷門戶頒發(fā)的客戶證書的有效性,使用應用系統(tǒng)的公鑰對門戶標識、門戶和應用系統(tǒng)之間的會話密鑰、隨機數(shù)以及應用系統(tǒng)頒發(fā)的客戶證書進行加密后發(fā)送給應用系統(tǒng);步驟e,應用系統(tǒng)使用門戶的公鑰對應用標識和隨機數(shù)加密后發(fā)送給門戶,實現(xiàn)門戶對應用系統(tǒng)的驗證;步驟f,門戶使用客戶的公鑰對門戶標識和隨機數(shù)加密后發(fā)送給客戶,實現(xiàn)客戶對門戶的驗證;步驟g,應用系統(tǒng)使用身份認證服務器的公鑰將應用標識和隨機數(shù)發(fā)送給身份認證服務器,身份認證服務器收到消息后進行解密,判斷解密后的隨機數(shù)是否和步驟b中的隨機數(shù)相同,以此來驗證應用系統(tǒng)的合法性;步驟h,身份認證服務器使用應用系統(tǒng)的公鑰將身份認證服務器的標識和隨機數(shù)加密后發(fā)送給應用系統(tǒng),應用系統(tǒng)收到消息后進行解密,判斷解密后的隨機數(shù)是否和步驟g中的隨機數(shù)相同,以此來驗證身份認證服務器的合法性。
全文摘要
本發(fā)明涉及一種點對點模式下單點登錄方法,與現(xiàn)有的基于客戶服務器模式的單點登錄方法不同,該方法實現(xiàn)以用戶證書有效期管理用戶單點登錄生命周期,用戶單次認證多次登錄,該方法完成應用系統(tǒng)和身份認證服務器的相互認證,初始化通信雙方的共享密鑰,建立客戶和應用系統(tǒng)之間的安全通道。通過身份認證服務器和應用系統(tǒng)間的相互認證,使得任何一個應用系統(tǒng)都可以獨立進行身份認證,弱化中央身份認證服務器的地位,避免傳統(tǒng)客戶/服務器模式單點故障的弱點,具有系統(tǒng)運行成本低、效率高、安全性能好的特點。
文檔編號H04L9/28GK101286843SQ20081010689
公開日2008年10月15日 申請日期2008年6月3日 優(yōu)先權(quán)日2008年6月3日
發(fā)明者文 梁, 勇 馬 申請人:江西省電力信息通訊有限公司