專利名稱:用于分發(fā)密碼的方法
技術領域:
本發(fā)明涉及用于分發(fā)密碼的方法。具體來說,盡管非專有地,本發(fā)明涉及用來生成由終端用戶設備使用以訪問遠程服務器的密碼的方法,其中為了以后使用該密碼被保留。
背景技術:
用于應用和應用代理的終端用戶密碼的創(chuàng)建和分發(fā)存在問題。一方面,終端用戶傾向于創(chuàng)建簡單和簡短的密碼,而因此這冒著被未授權的團體泄漏的風險。另一方面,找出終端用戶身份和他們密碼之間的關系通常是不安全的并且代價昂貴。
現有的機制準許不同信任域之間重用預先存在的密碼,例如由自由聯盟開發(fā)的單一登錄解決方案。然而,依靠第三方執(zhí)行鑒別通常是必要的。當這種方案被采用,服務提供商不用主動參與鑒別。另一方面,由服務提供商執(zhí)行的密碼管理不總是適當的,因為在應用服務中密碼的處理要求復雜的和高代價的管理過程,例如密碼生命期的保持、重疊密碼值、涉及有效值的原則等。此外,終端用戶不想記住許多密碼,并且他們傾向于在若干應用服務器上使用相同的密碼,這無疑降低了安全級別。
超文本傳輸協議(HTTP)摘要鑒別框架,如在IETF文檔RFC 2617中所述,可以包含能夠產生終端用戶密碼的方法。例如,使用鑒別和密鑰同意(AKA)的HTTP摘要鑒別,如在RFC 3310中所述,是利用現有的基于存儲在抗篡改設備上的AKA證書的第三代(3GPP)鑒別基礎結構即所謂的ISIM/USIM/SIM卡來創(chuàng)建終端用戶密碼的方法。上面框架的細節(jié)可以在http//www.ietf.org/rfc.html找到。即使沒有用戶參與,HTTP摘要AKA也提供靈活的途徑來生成新的密碼,但是它不包括標準的途徑來將這些密碼委托給第三方,例如應用服務器或者代理。此外,HTTP摘要AKA假定這些密碼只能使用一次。
發(fā)明綜述本發(fā)明的目標是克服或者至少減輕上面的問題。特別是,本發(fā)明的目標是將利用HTTP摘要AKA生成的密碼委托給第三方以便可以安全地將這些密碼用于以后的鑒別。
利用帶有能夠生成密碼的算法的HTTP摘要,例如HTTP摘要AKA,在終端用戶設備和它的歸屬網絡之間完成的最初的鑒別達到這些和別的目標。在最初的鑒別期間,歸屬網絡啟動一個進程,其中新的密碼被鏈接到第三方的身份例如應用服務器或者代理上,和第三方新的臨時終端用戶身份上。終端用戶設備和第三方可以利用HTTP摘要作為鑒別方法開始使用新的密碼和相關的身份。
依照本發(fā)明的一個方面,提出生成由終端用戶設備(UE)使用來訪問遠程服務器的密碼的方法,包括將訪問請求從UE發(fā)送給遠程服務器;為UE創(chuàng)建臨時身份;將訪問請求的細節(jié)發(fā)送給UE歸屬網絡中的鑒別節(jié)點;在鑒別節(jié)點或者遠程服務器上,利用能夠生成終端用戶密碼的算法生成超文本傳輸協議(HTTP)摘要查詢,包括UE的臨時身份的細節(jié);在UE上,基于HTTP摘要查詢生成密碼,所述密碼和遠程服務器的身份及UE的身份關聯;并且將密碼和UE的臨時身份存儲在UE上。
用于生成終端用戶密碼的算法優(yōu)選地是HTTP摘要鑒別和密鑰同意(AKA),盡管可能使用別的算法會得到理解。
優(yōu)選地將遠程服務器的身份發(fā)送到鑒別節(jié)點,允許HTTP摘要查詢生成以包含遠程服務器的身份。遠程服務器的身份優(yōu)選地也存儲在UE上。
UE的臨時身份優(yōu)選地在遠程服務器上創(chuàng)建。
在一個實施例中,將訪問請求的細節(jié)發(fā)送到鑒別節(jié)點的步驟可以包括將訪問請求重定向到鑒別節(jié)點。接著可以在鑒別節(jié)點生成HTTP摘要查詢并從鑒別節(jié)點直接發(fā)送到UE。密碼優(yōu)選地存儲在鑒別節(jié)點上。
在生成密碼后,優(yōu)選地在鑒別節(jié)點鑒別UE并且將訪問請求從鑒別節(jié)點往回重定向到遠程服務器。
在可供選擇的實施例中,將訪問請求的細節(jié)發(fā)送到鑒別節(jié)點的步驟可以包含遠程服務器直接聯系鑒別節(jié)點??梢栽阼b別節(jié)點生成HTTP摘要查詢并從鑒別節(jié)點發(fā)送給遠程服務器。作為選擇,遠程服務器可以生成HTTP摘要查詢。接著將HTTP摘要查詢從遠程服務器直接發(fā)送到UE。
可以將HTTP摘要AKA查詢密碼包含在從鑒別節(jié)點發(fā)送到遠程服務器的信息中,允許UE在遠程服務器得到鑒別。作為選擇,UE可以在鑒別節(jié)點鑒別并且鑒別結果返回給遠程服務器。
上述方法產生一個與UE和遠程服務器的身份關聯的密碼,存儲在UE和鑒別節(jié)點或者遠程服務器上。這允許從UE到遠程服務器的后來的訪問而不需要生成另外的密碼。依照本發(fā)明的另一方面,提出從終端用戶設備訪問遠程服務器的方法,此方法包括利用上述方法生成和存儲密碼;將訪問請求從UE發(fā)送到遠程服務器;在遠程服務器上,生成包含遠程服務器的身份和UE的臨時身份的細節(jié)的HTTP摘要查詢并將此查詢發(fā)送給UE;以及在UE上,將包含UE的臨時身份和擁有密碼的證明的鑒別響應發(fā)送給遠程服務器。
如果密碼沒有存儲在遠程服務器上,也許將鑒別請求從遠程服務器發(fā)送到鑒別節(jié)點是必要的。接著可以將密碼從鑒別節(jié)點發(fā)送給遠程服務器,允許遠程服務器上鑒別UE。作為選擇,可以在鑒別節(jié)點鑒別UE并將鑒別的確認從鑒別節(jié)點發(fā)送給遠程服務器。
附圖簡述
圖1是網絡的示意圖。
圖2A示出終端用戶設備(UE)和應用服務器之間的密碼生成和身份同意的順序。
圖2B示出終端用戶設備(UE)和應用服務器之間的密碼生成和身份同意的可供選擇的順序。
圖3示出涉及使用新密碼的順序。
盡管本發(fā)明受各種修改和可供選擇的形式影響,它的特定實施例已通過圖中的例子示出并且將在本文詳細說明。然而應該理解,該說明書不想將本發(fā)明局限于在此所公開的特殊形式,而是相反,意圖是覆蓋落在如所附權利要求所限定的本發(fā)明范圍內的所有的修改、等價物和選擇。
首選實施例詳細說明圖1示出一種典型的方案,其中連接到歸屬網絡102例如通用移動電信系統(tǒng)(UMTS)網絡上的終端用戶設備(UE)101,希望訪問連接到另一網絡104上的應用服務器103。UE 101合并了可以將信息存儲其上的抗篡改設備如IP多媒體業(yè)務身份模塊(ISIM)。依照HTTP摘要鑒別和密鑰同意(AKA)框架,在UE 1的ISIM和歸屬網絡102中的鑒別器105之間預先建立共享秘密。此秘密存儲在UE 101的ISIM中。
鑒別器105基于共享秘密和序列號產生鑒別向量。鑒別向量包含隨機查詢、網絡鑒別令牌、預期的鑒別結果、完整性校核的會話密鑰和加密的會話密鑰。將鑒別向量下載到應用服務器103上。應用服務器103創(chuàng)建了包含隨機查詢和網絡鑒別令牌的鑒別請求,它被傳遞給UE 101。
利用共享秘密和序列號,UE 101以ISIM驗證包含在鑒別請求中的網絡鑒別令牌。如果驗證成功,則鑒別了網絡。UE 101接著利用共享秘密和隨機查詢產生鑒別響應,并將此傳遞給應用服務器103。應用服務器103將從UE 101接收的鑒別響應與從鑒別器103接收的預期響應比較。如果兩者匹配,則成功鑒別了用戶,并且可以將鑒別向量中的會話密鑰用于保護UE 101和應用服務器103之間另外的通信。然而,下一次UE 101希望訪問應用服務器103時,必須遵循相同的過程以鑒別網絡和獲得會話密鑰;沒有機制來存儲密碼供UE101將來使用。
圖2A示出用于向應用服務器(AS)103鑒別UE 101的系統(tǒng)的一個實施例。在第一階段利用HTTP摘要AKA來鑒別UE 101,并將創(chuàng)建的密碼綁定到應用服務器103和UE 101的身份上。為了理解在圖2A中示出的進程,定義在HTTP摘要鑒別框架中使用的兩個概念是必要的。
“域”是向UE 101指出要使用哪個用戶名和密碼的串。該串至少包含鑒別中心103的名字并且可能另外指出可能有訪問權的用戶集合。例子可以是“registered_user@home.com”。在3GPP/AKA的上下文中,通常將歸屬網絡的域存儲在UE 101的SIM/USIM/ISIM卡中。
“用戶名”是在指定域中的用戶名。應用服務器103使用該串為用戶找到正確的密碼。在3GPP/AKA的上下文中,對于歸屬網絡使用的用戶名通常是存儲在UE 101的SIM/USIM/ISIM卡中。在大多數情形下,用戶名和所謂的專用身份(IMPI)相同。3GPP用戶名標識預約,并且由于此原因,密碼是特定于終端用戶設備而不是真實的終端用戶。在正常的HTTP鑒別框架中,用戶名和密碼由終端用戶敲入,但是在3GPP/AKA的上下文中,這些字段由UE 101自動填寫。
如圖2A中所示,第一階段中UE 101和應用服務器103沒有共享秘密。最初利用HTTP摘要AKA鑒別UE 101,并將創(chuàng)建的密碼綁定到UE 101和應用服務器103的身份上。該過程具有以下的步驟1a)UE1將HTTP請求(通常是HTTP GET)發(fā)送到應用服務器103。
2a)由于應用服務器103和UE 101沒有共享秘密,應用服務器103將此請求重定向到鑒別器105。在重定向此請求前,應用服務器103可以為UE 101定義新的臨時用戶名。應用服務器103將該用戶名和它自己的身份信息包含到此請求中。通常將身份信息以某一標準格式編碼到URI參數中,例如“username@realm”。
3a)鑒別器105檢查看應用服務器103是否被授權以作HTTP的重定向并為UE 101請求新的HTTP摘要AKA密碼。如果是此情形,那么鑒別器105從請求中得到身份信息并且將此信息編碼在HTTP摘要AKA查詢中,它被發(fā)送到UE 101。在一個實施例中,鑒別器105將身份信息放在HTTP摘要AKA現時(nonce)的所謂“服務器數據”中,如RFC 3310中所述。通過將此身份包含到此查詢中,鑒別器105可以確定應用服務器103的身份或者終端用戶的臨時身份不能被UE 101和鑒別器103之間的任何團體(例如攻擊者)改變,因為在下一消息中此查詢被返回到鑒別器105。
4a)UE 101鑒別網絡(如在標準AKA協議中所定義)并基于HTTP摘要AKA查詢生成新的密碼。UE 101在本地存儲應用服務器104的身份和新生成的密碼,以稍后用于和應用服務器103的互相鑒別。如果查詢還包括由應用服務器103生成的新的臨時“用戶名”,該用戶名也和密碼及應用服務器103身份一起存儲。將應用服務器和UE身份二者利用例如“username@realm”的格式都編碼在HTTP摘要AKA查詢中。UE 101將鑒別響應發(fā)送到鑒別器103。
新的“用戶名”由UE 101標記為臨時用戶名。當為相同的域生成新的“用戶名”和密碼時,該用戶名和相關的HTTP摘要AKA密碼被刪除。如果查詢不包括新的臨時用戶名,那么現有的用戶名可以被重新使用。
5a)鑒別器105鑒別UE 101,并且如果成功,存儲新的密碼和UE 101與應用服務器103的身份供以后使用。請求被重定向回到應用服務器103。
如果適當,應用服務器103可以信任由鑒別器105執(zhí)行的最初的鑒別。如果未察覺到鑒別器105是安全的,應用服務器103還可以馬上利用新生成的密碼重新查詢UE 101。這次,HTTP摘要AKA不用于鑒別。作為替代,使用帶有某一別的算法的HTTP摘要,例如可以使用MD5,如在RFC 2617中所述。
圖2B示出系統(tǒng)的可供選擇的實施例,用于向應用服務器(AS)103鑒別UE 101。利用不同的過程執(zhí)行第一階段,有下列步驟1b)UE 1將HTTP請求(通常是HTTP GET)發(fā)送到應用服務器103。
2b)由于應用服務器103和UE 101沒有共享秘密,應用服務器103直接從鑒別器105請求HTTP摘要AKA鑒別查詢。如前面所述實施例中一樣,此請求可以包括應用服務器103的身份和UE 101的新的臨時身份。
3b)鑒別器105檢查看應用服務器103是否被授權以給該UE 101請求新的HTTP摘要AKA密碼。如果是此情形,那么鑒別器從此請求得到應用服務器的身份和終端用戶(如果存在的話)的臨時身份,并如前面所述的實施例中一樣將該信息編碼在HTTP摘要AKA查詢中。作為選擇,應用服務器103還可以在下述的步驟4b中將該信息包含到此查詢中。將身份信息以某一標準格式例如username@realm或者temporary_username@remote_realm編碼。應用服務器103需要以創(chuàng)建HTTP摘要AKA查詢的信息被發(fā)送回應用服務器103。如果這些參數包括HTTP摘要AKA密碼,那么可以不需要下面的處理步驟6b)和7b)。
4b)UE 101由HTTP摘要AKA鑒別查詢來查詢。應用服務器103可以在將查詢發(fā)送到UE 101之前將應用服務器和終端用戶身份添加到此鑒別查詢。然而,在這種情形下,應用服務器103必須是此鑒別的終點,并且擁有HTTP摘要AKA密碼。
5b)UE 101鑒別網絡(如在標準AKA協議中所定義)并基于HTTP摘要AKA查詢生成新的密碼。UE在本地存儲應用服務器103的身份(例如,“域”)、新生成的密碼和稍后由應用服務器103使用的它自己的新的臨時“用戶名”(如果存在的話),以用于和應用服務器-如果存在的話-的互相鑒別。UE 101將鑒別響應發(fā)送到應用服務器103。如前面所述實施例中一樣,UE 101將潛在的新的“用戶名”標記為臨時用戶名。
6b)如果應用服務器103在上面的步驟3b中沒有接收終端用戶密碼,它馬上請求鑒別器105執(zhí)行鑒別。
7b)如果應用服務器103在上面的步驟3b中沒有接收終端用戶密碼并且它在步驟6b中請求鑒別,那么鑒別器105鑒別UE 101并將適當的結果返回給應用服務器103。鑒別器105還可以在這個或者某個稍后的階段將終端用戶密碼發(fā)送給應用服務器103。
8b)如果UE鑒別是成功的,服務被傳遞給UE 101。
接下來,上述關于圖2A或者圖2B的任一個過程導致應用服務器103和UE 101具有共享秘密。下一次應用服務器103需要鑒別UE101時(可以緊接在前面的過程之后,或者經過某一更長的時段例如下一次UE 101聯系應用服務器103時),過程如圖3中所示。
1c)UE 101將HTTP請求(通常時HTTP GET)發(fā)送給應用服務器103。
2c)由于應用服務器103和UE 101現在有共享秘密,應用服務器103利用HTTP摘要查詢來查詢UE 101。此查詢將應用服務器103的身份包含到“域”參數中。
3c)UE 101利用在前一階段(上述關于圖2B或2C)期間創(chuàng)建的應用服務器103的新的臨時“用戶名”和密碼將鑒別響應(通常在HTTP GET請求中)往回發(fā)送給應用服務器103。如果沒有創(chuàng)建新的臨時用戶名,那么使用正常的AKA特定用戶名。UE 101使用“域”參數來識別正確的密碼。
4c)如果應用服務器103擁有終端用戶密碼,則不需要這個步驟和接下來的步驟(5c)。如果應用服務器103不擁有終端用戶密碼,那么應用服務器103向鑒別器105(或某種別的網絡實體(未示出),其中鑒別器105已存儲UE特定的密碼)請求鑒別。
5c)在該階段有兩個不同的可能性。鑒別器105可以代表應用服務器103處理鑒別。在該情形下,應用服務器103不需要知道密碼,而鑒別器僅將關于鑒別是否成功的信息返回給應用服務器103。作為選擇,鑒別器105可以將密碼發(fā)送給應用服務器103,它接著執(zhí)行鑒別。
如果鑒別是成功的,AS將服務傳遞給UE。
會得到理解的是,來自上述實施例的變化仍可以落入本發(fā)明的范圍。例如,如在RFC 2617中所注,鑒別器實際上不需要知道用戶的明文密碼。只要用戶名、域和密碼的摘要值可用于服務器,則可以驗證授權頭部的有效性。
權利要求
1.一種生成由終端用戶設備(UE)使用的密碼以訪問遠程服務器的方法,包括從所述UE發(fā)送訪問請求到所述遠程服務器;創(chuàng)建所述UE的臨時身份;將所述訪問請求的細節(jié)發(fā)送給所述UE歸屬網絡中的鑒別節(jié)點;在所述鑒別節(jié)點或者所述遠程服務器上,利用能夠生成終端用戶密碼的算法生成超文本傳輸協議(HTTP)摘要查詢,包含所述UE的臨時身份的細節(jié);在所述UE上,基于所述HTTP摘要查詢生成密碼,所述密碼與所述遠程服務器的身份和所述UE的身份關聯;并且將所述密碼和所述UE的臨時身份存儲在所述UE上。
2.如在權利要求1中所要求的方法,其中能夠生成終端用戶密碼的所述算法是HTTP摘要鑒別和密鑰同意(AKA)。
3.如在權利要求1或2中所要求的方法,還包括將所述遠程服務器的身份發(fā)送給所述鑒別節(jié)點,其中生成所述HTTP摘要查詢的步驟包括利用所述遠程服務器的身份,并且所述遠程服務器的身份存儲在所述UE上。
4.如在權利要求1、2或3中所要求的方法,其中所述UE的所述臨時身份在所述遠程服務器創(chuàng)建。
5.如在任一前面權利要求中所要求的方法,其中將所述訪問請求的細節(jié)發(fā)送給所述鑒別節(jié)點的步驟包括將所述訪問請求重定向到所述鑒別節(jié)點。
6.如在權利要求5中所要求的方法,其中在所述鑒別節(jié)點生成所述HTTP摘要查詢并從所述鑒別節(jié)點直接發(fā)送給所述UE。
7.如在權利要求5或6中所要求的方法,其中在所述鑒別節(jié)點存儲所述密碼。
8.如在權利要求5、6或7中所要求的方法,還包括在生成所述密碼后在所述鑒別節(jié)點鑒別所述UE并將所述訪問請求從所述鑒別節(jié)點往回重定向到所述遠程服務器。
9.如在權利要求1到4中任一權利要求所要求的方法,其中將所述訪問請求的細節(jié)發(fā)送到所述鑒別節(jié)點的步驟包括所述遠程服務器直接聯系所述鑒別節(jié)點。
10.如在權利要求9中所要求的方法,其中所述HTTP摘要查詢在所述鑒別節(jié)點生成并從所述鑒別節(jié)點發(fā)送給所述遠程服務器。
11.如在權利要求9中所要求的方法,其中所述HTTP摘要查詢在所述遠程服務器生成。
12.如在權利要求10或11中所要求的方法,還包括將所述HTTP摘要查詢從所述遠程服務器發(fā)送給所述UE。
13.如在權利要求11中所要求的方法,還包括將HTTP摘要AKA查詢密碼包含在從所述鑒別節(jié)點發(fā)送給所述遠程服務器的信息中并在所述遠程服務器上鑒別所述UE。
14.如在權利要求9到12中任一權利要求所要求的方法,還包括在所述鑒別節(jié)點鑒別所述UE并將鑒別結果返回給所述遠程服務器。
15.一種從用戶終端設備(UE)訪問遠程服務器的方法,所述方法包括利用在任一前面的權利要求中所要求的方法生成并存儲密碼;將訪問請求從所述UE發(fā)送給所述遠程服務器;在所述遠程服務器上,生成包含所述遠程服務器的身份的細節(jié)的超文本傳輸協議(HTTP)摘要查詢并將所述查詢發(fā)送給所述UE;并且在所述UE上,將包含所述UE的臨時身份和擁有所述密碼的證據的鑒別響應發(fā)送給所述遠程服務器。
16.如在權利要求15中所要求的方法,還包括將鑒別請求從所述遠程服務器發(fā)送到所述鑒別節(jié)點、將所述密碼從所述鑒別節(jié)點發(fā)送給所述遠程服務器并且在所述遠程服務器上鑒別所述UE。
17.如在權利要求15中所要求的方法,還包括將鑒別請求從所述遠程服務器發(fā)送給所述鑒別節(jié)點、在所述鑒別節(jié)點鑒別所述UE并且將鑒別的確認從所述鑒別節(jié)點發(fā)送給所述遠程服務器。
全文摘要
一種生成由終端用戶設備(UE)(101)使用以訪問遠程服務器(103)的密碼的方法,包括將訪問請求從UE發(fā)送給遠程服務器,并且將訪問請求的細節(jié)和遠程服務器的身份發(fā)送給UE歸屬網絡(104)中的鑒別節(jié)點(105)。在鑒別節(jié)點或遠程服務器上利用能夠生成終端用戶密碼的算法生成HTTP摘要查詢。此查詢包括遠程服務器的身份和UE的身份的細節(jié)?;贖TTP摘要查詢,生成密碼并存儲在UE(101)上,此密碼與遠程服務器(103)的身份和UE(101)的身份關聯。
文檔編號H04L29/06GK1813455SQ200480017984
公開日2006年8月2日 申請日期2004年6月24日 優(yōu)先權日2003年6月27日
發(fā)明者V·M·托爾維寧, M·維夫維松, A·貢扎萊斯-普拉扎 申請人:艾利森電話股份有限公司