專利名稱:一種單點登錄系統(tǒng)的密鑰交換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種單點登錄系統(tǒng),尤其是一種單點登錄系統(tǒng)的密鑰交換方法。
背景技術(shù):
單點登錄(Single Sign On):簡稱為SS0,是目前比較流行的企業(yè)業(yè)務(wù)整合的解決方案之一。SSO的定義是在多個應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng),避免了用戶每次請求一個服務(wù)時都要驗證一次身份造成的性能損耗。為了實現(xiàn)單點登錄,所有應(yīng)用系統(tǒng)都共享一個身份認證系統(tǒng)。若在單點登錄系統(tǒng)的整個認證或者服務(wù)交互過程中,長時間或者過多使用永久密碼對消息進行加密,則容易導致密鑰被攻擊者獲取,造成密鑰的泄露。現(xiàn)有的密鑰交換方法一般基于迪菲-赫爾曼密鑰交換(Diffie - Heilman keyexchange,簡稱“D_H”)協(xié)議,所述D-H協(xié)議是一種安全協(xié)議,它可以讓雙方在完全沒有對方 任何信息的條件下通過不安全信道建立起一個密鑰。這個密鑰可以在后續(xù)的通訊中作為對稱密鑰來加密通訊內(nèi)容。在申請?zhí)枮镃N03116619. 9,專利名稱為《一種基于公匙證書的密鑰交換方法》的中國發(fā)明專利文獻中公開了一種基于公匙證書的密鑰交換方法,它從大素數(shù)域上的離散對數(shù)問題和D-H協(xié)議出發(fā),輔以抗碰撞雜湊函數(shù)、公匙證書和數(shù)字簽名的會話密鑰交換方法。該D-H協(xié)議基于離散對數(shù)的應(yīng)用,但是若出現(xiàn)了一個高效的解決離散對數(shù)問題的算法,那么則可以用來簡化a或者b的計算,就可以解決迪菲-赫爾曼問題,使得該迪菲一赫爾曼密鑰交換系統(tǒng)在內(nèi)的很多公匙密碼學系統(tǒng)變得不安全。在申請?zhí)枮镃N200610103449. 6,專利名稱為《一種橢圓曲線密鑰交換方法在MANET網(wǎng)絡(luò)中的應(yīng)用》的中國發(fā)明專利文獻中公開了一種MANET網(wǎng)絡(luò)安全保護過程的新型加密解密體制和密鑰管理方法,該方法采用了橢圓形曲線密碼體制,但橢圓形曲線加密的密鑰交換方法對計算量要求很大,不適用于瘦終端。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種單點登錄系統(tǒng)的密鑰交換方法,該密鑰交換方法對計算量的要求低且安全性高。為了解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是
一種單點登錄系統(tǒng)的密鑰交換方法,應(yīng)用于發(fā)送方與接收方之間的密鑰交換,所述發(fā)送方與接收方之間存在雙方共享的共享密鑰,所述密鑰交換包括以下步驟
發(fā)送方以共享密鑰對要發(fā)送的第一數(shù)據(jù)進行HMAC操作得到第二數(shù)據(jù);
發(fā)送方對所述第二數(shù)據(jù)與要發(fā)送的密鑰進行位異或操作得到第三數(shù)據(jù);
發(fā)送方將第一數(shù)據(jù)和第三數(shù)據(jù)發(fā)送給接收方;
接收方根據(jù)接收的第一數(shù)據(jù)和本地的共享密鑰進行HMAC操作得到第二數(shù)據(jù);
接收方對計算得到的第二數(shù)據(jù)和接收的第三數(shù)據(jù)進行位異或操作得到發(fā)送方發(fā)送的密鑰。
進一步作為優(yōu)選的實施方式,所述第一數(shù)據(jù)為密鑰交換過程中參與交互的額外信
肩、O進一步作為優(yōu)選的實施方式,所述發(fā)送方或者接收方為身份認證請求或者服務(wù)請求中交互的客戶端或者服務(wù)器。本發(fā)明的有益效果是本發(fā)明單點登錄系統(tǒng)的密鑰交換方法,應(yīng)用于身份認證請求或者服務(wù)請求中交互的發(fā)送方和接收方之間的密鑰交換,本發(fā)明方法通過發(fā)送方和接收方共享的共享密鑰對交互的額外信息進行HMAC操作得到第二數(shù)據(jù),并將第二數(shù)據(jù)與要交換的密鑰進行位異或操作后的結(jié)果傳送給接收方,既減輕了密鑰交互算法的復雜性,在保證密鑰交互的時效性下又支持長密鑰的交換,保證密鑰換的安全性,適用于瘦終端間的密鑰交換。
下面結(jié)合附圖對本發(fā)明的具體實施方式
作進一步說明
圖I是本發(fā)明單點登錄系統(tǒng)的密鑰交換方法的步驟流程圖。
具體實施例方式參照圖1,一種單點登錄系統(tǒng)的密鑰交換方法,應(yīng)用于發(fā)送方與接收方之間的密鑰交換,所述發(fā)送方或者接收方為身份認證請求或者服務(wù)請求中交互的客戶端或者服務(wù)器。例如當發(fā)送方為客戶端時,接收方為服務(wù)器;當發(fā)送方為服務(wù)器時,接收方為客戶端。所述發(fā)送方與接收方之間共享的共享密鑰為sharekey。所述密鑰交換包括以下步驟
發(fā)送方用共享密鑰sharekey對要發(fā)送的第一數(shù)據(jù)content進行HMAC操作得到第二數(shù)據(jù)H(sharekey, content),所述H(sharekey, content)是表不以 sharekey 為密鑰,對消息content進行HMAC操作;
發(fā)送方對所述第二數(shù)據(jù)H (sharekey, content)與要發(fā)送的密鑰exchangkey進行位異或操作 得到第三數(shù)據(jù) H (sharekey, content) exchangdkey ;
發(fā)送方將第一數(shù)據(jù)content和第三數(shù)據(jù)H (sharekey, content) exchangdkey發(fā)送給接收方;
接收方根據(jù)接收的第一數(shù)據(jù)content和本地的共享密鑰sharekey進行HMAC操作得到第二數(shù)據(jù) H (sharekey, content);
接收方對計算得到的第二數(shù)據(jù)H(sharekey, content)和接收的第三數(shù)據(jù)H(sharekey,content) exchangdkey進行位異或操作得到發(fā)送方發(fā)送的密鑰exchangkey。所述過程如下
H(sharekey, content) (H(sharekey, content) exchangdkey) —exchangekey0所述exchangkey是指由一方創(chuàng)建或得知之后,交換或傳遞給另外一方的密鑰;所述content是指在整個密鑰交換過程中參與交互的額外信息,若content中有部分信息是已知的(標記為share_content),那么以上的發(fā)送方發(fā)送的數(shù)據(jù)也可以表示為“partial—content, share_content_tips, H (sharekey, partial_content+share_content) exchangdkey”,其中share_content_tips是表示要用到的共享消息的相關(guān)提示信息,“+”表示與操作,與操作左邊與右邊的信息如何組織可以根據(jù)具體情況而定。以上是對本發(fā)明的較佳實施進行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可以作出種種的等同變形或替換,這些等同的變形或替換均包含在 本申請權(quán)利要求所限定的范圍內(nèi)。
權(quán)利要求
1.一種單點登錄系統(tǒng)的密鑰交換方法,應(yīng)用于發(fā)送方與接收方之間的密鑰交換,所述發(fā)送方與接收方之間存在雙方共享的共享密鑰,其特征在于,所述密鑰交換包括以下步驟 發(fā)送方以共享密鑰對要發(fā)送的第一數(shù)據(jù)進行HMAC操作得到第二數(shù)據(jù); 發(fā)送方對所述第二數(shù)據(jù)與要發(fā)送的密鑰進行位異或操作得到第三數(shù)據(jù); 發(fā)送方將第一數(shù)據(jù)和第三數(shù)據(jù)發(fā)送給接收方; 接收方根據(jù)接收的第一數(shù)據(jù)和本地的共享密鑰進行HMAC操作得到第二數(shù)據(jù); 接收方對計算得到的第二數(shù)據(jù)和接收的第三數(shù)據(jù)進行位異或操作得到發(fā)送方發(fā)送的密鑰。
2.根據(jù)權(quán)利要求I所述的一種單點登錄系統(tǒng)的密鑰交換方法,其特征在于所述第一數(shù)據(jù)為密鑰交換過程中參與交互的額外信息。
3.根據(jù)權(quán)利要求I所述的一種單點登錄系統(tǒng)的密鑰交換方法,其特征在于所述發(fā)送方或者接收方為身份認證請求或者服務(wù)請求中交互的客戶端或者服務(wù)器。
全文摘要
本發(fā)明公開了一種單點登錄系統(tǒng)的密鑰交換方法,應(yīng)用于身份認證請求或者服務(wù)請求中交互的發(fā)送方和接收方之間的密鑰交換,本發(fā)明方法通過發(fā)送方和接收方共享的共享密鑰對交互的額外信息進行HMAC操作得到第二數(shù)據(jù),并將第二數(shù)據(jù)與要交換的密鑰進行位異或操作后的第三數(shù)據(jù)傳送給接收方,接收方根據(jù)接收的第一數(shù)據(jù)和本地的共享密鑰進行HMAC操作得到第二數(shù)據(jù);接收方對計算得到的第二數(shù)據(jù)和接收的第三數(shù)據(jù)進行位異或操作得到發(fā)送方發(fā)送的密鑰。本方法既減輕了密鑰交互算法的復雜性,在保證密鑰交互的時效性下又支持長密鑰的交換,保證密鑰換的安全性,適用于瘦終端間的密鑰交換。
文檔編號H04L29/06GK102739660SQ201210200320
公開日2012年10月17日 申請日期2012年6月16日 優(yōu)先權(quán)日2012年6月16日
發(fā)明者巴鐘杰, 李子柳, 李驚生, 趙淦森 申請人:華南師范大學, 廣州杰賽科技股份有限公司