專利名稱:用于可控認證的個人符記和方法
技術領域:
本發(fā)明涉及例如互聯(lián)網的公用網絡上的安全性,更一般地涉及當使用例如智能卡的個人符記(personal token)來認證用戶時的任何網絡上的安全性。
背景技術:
已經提出許多用于在網絡中認證持有智能卡的用戶的協(xié)議。
當前的SSL(安全套接字層)強認證方案是基于智能卡和證書的,常規(guī)地用于進行認證,不需要聯(lián)系簽署智能卡證書的證書頒發(fā)機構。
然而在這種方案中由于不需要與證書頒發(fā)機構進行聯(lián)系就出現(xiàn)了一個問題。
實際上在服務提供商執(zhí)行智能卡的認證之前,智能卡發(fā)行者看來從來沒有請求認可。換句話說,借助于智能卡進行認證的過程對任何服務提供商都是有利的,所述服務商包括沒有在商業(yè)上與智能卡發(fā)行者達成一致的任何服務提供商。因此,對于包括智能卡發(fā)行者的競爭者的任何實體來說,智能卡成為普遍使用的有利的認證工具。
對于采用公鑰基礎設施(PKI)加密系統(tǒng)的標準SSL也是如此。任何服務器都能夠利用智能卡PKI請求客戶機對其進行認證,同時智能卡包含私人密鑰和相關的證書,任何服務器能夠接收用戶證書并且從而檢查用戶簽名的有效性。
發(fā)明內容
本發(fā)明的一個目的在于允許智能卡發(fā)行者控制在其智能卡上進行的每次認證,同時仍然依賴于目前在多數(shù)服務器上的軟件和硬件中可以得到的標準SSL配置。
這一目的是借助于個人符記,特別是智能卡實現(xiàn)的,如在隨附的權利要求中所述的。在權利要求中還描述了包括這種符記和認證方法的裝置,所述符記和認證方法將要實現(xiàn)相同的主要目的。
在下面參考附圖的詳細描述中將討論與本發(fā)明相關的其它優(yōu)點、目的和特征,其中圖1描述根據本發(fā)明的認證系統(tǒng)布置的體系結構;圖2描述根據本發(fā)明的認證過程。
具體實施例方式
在下面的例子中,遠程SSL服務器將被稱為IDP,從而被稱為互聯(lián)網D提供商。
這個例子涉及SSL鏈接,其中為了在互聯(lián)網上利用智能卡10通過用戶PC(個人計算機)20認證用戶而采用SSL鏈接。另一種類型的個人符記,也被稱為便攜符記,例如包括認證數(shù)據的USB符記或大容量存儲器符記,可以替換這種智能卡。
下面執(zhí)行采用智能卡作為SSL客戶機的認證過程。
終端用戶的PC通常會嵌入網絡瀏覽器21,其中為了通過IT服務器30訪問遠程網站來啟動該網絡瀏覽器21。嵌入在智能卡中的瀏覽器同樣能夠用于訪問網站。
這種網站通常需要注冊,用戶或智能卡10通常選擇注冊鏈接。
目前PC20配置有專用于IDP服務器的代理服務器(proxy)22。這里這種代理服務器22被稱為IDP代理服務器。
在本例子中,客戶側SSL連接不是由PC瀏覽器21執(zhí)行的,而是由IDP代理服務器22利用其自己內置的但是標準的SSL層執(zhí)行的。
因此,通過選擇注冊鏈接,將PC 20和其瀏覽器21重定向到客戶機PC上的IDP代理服務器22上。
接著IDP代理服務器22接通與IDP服務器30的SSL連接。這種SSL連接受到卡10的保護。
SSL連接使用卡證書11。如果卡證書11是有效的加密狗(dongle)證書并且不處于證書撤銷列表中,則SSL連接是成功的。
IDP代理服務器22具有內置的SSL實現(xiàn),優(yōu)選地其不依賴于已知的協(xié)議MS-CAPI和PKCS#1。這些已知的協(xié)議通常從卡10中選取認證證書11并將其存儲在PC20的存儲器中??梢詫E瀏覽器或Netscape瀏覽器的SSL內置客戶機進行相同的標記,其中IE瀏覽器或Netscape瀏覽器通常利用傳輸?shù)絇C20中的卡證書11來提供強認證。
通過采用這種不同的協(xié)議,就防止了將證書存儲在處于卡10之外的登記簿或文件中,因此第三方不能通過最初將證書傳輸?shù)絇C20中而利用卡進行強認證。
如果SSL連接是成功的,則IDP服務器30從包含在證書11中的加密狗ID中查找終端用戶的身份,并且IDP服務器30然后將SAML符記返回到IDP代理服務器22。
接著IDP代理服務器22利用SAML符記將瀏覽器21重定向到服務器提供商的網站上。
從那時起,瀏覽器21能夠用返回的SAML符記訪問受保護的網站。
在成功地實施SSL連接之前,如下所述執(zhí)行客戶機的SSL認證。
由于下面的配置,可以特有地與具體的IDP服務器30協(xié)商SSL連接。
通過使用在前面步驟中,例如在制造過程中智能卡的個性化步驟中已經存儲在卡10中的IDP服務器30的公鑰,或者甚至通過卡存儲器的空中下載(Over-The-Air)更新來保證這種排他性。服務器公鑰目前存儲在服務器證書12中,服務器證書12以與卡證書11相同的方式存儲在卡中。
如下面將要解釋的,在卡10中存儲IDP服務器的私人密鑰或任何其它服務器專用的信息就能防止任何第三方服務器可能啟動未被同意的與智能卡的SSL連接。
在將要在IDP代理服務器22和IDP服務器30之間啟動SSL連接的階段,發(fā)生SSL握手,在這期間來自服務器-問候消息的服務器證書12用于檢查服務器簽字。這屬于標準的SSL實現(xiàn)過程。
為了加強服務器驗證,卡10包括作為指紋的服務器證書12或可靠的認證元件,IDP代理服務器請求卡根據存儲的指紋12來檢查服務器證書。
一旦在卡10中檢查了ID服務器30的身份,則在卡中生成ClientKeyExchange消息。
作為優(yōu)選的例子,IDP服務器的IDP公鑰存儲在卡10中,并用于生成ClientKeyExchange消息。
為此,卡10根據依賴于IDP的數(shù)據,即在該例子中服務器30的公鑰,用數(shù)據的簽名過程完成一般的數(shù)據散列處理。
因此,通過前面在卡中存儲的服務器的公鑰,和通過利用預存儲的IDP服務器的公鑰在卡中執(zhí)行SSL散列加密的最后階段,來保證特別專用于給定的IDP服務器30的強認證。
然而,在執(zhí)行客戶機簽名(CertificateVerify消息)之前,優(yōu)選地完成這種執(zhí)行服務器專用簽名的最后階段。
具有依賴于IDP數(shù)據的ClientKeyExchange消息的簽名提供兩種主要的優(yōu)點。
只要在服務器30中需要依賴于IDP服務器的數(shù)據來解釋ClientKeyExchange消息的內容,就僅能夠由專用的IDP服務器30成功地實現(xiàn)SSL連接,其中IDP服務器30還包含這種依賴于IDP服務器的數(shù)據。
因此卡的公鑰不能用于除執(zhí)行與專用的IDP服務器的SSL連接之外的任何其它目的。
當執(zhí)行消息的簽名時,卡10執(zhí)行專用于希望的IDP服務器和涉及服務器公鑰的SSL協(xié)議的一部分。這就意味著對于希望的服務器30來說卡簽名將是有效的,但是對于不擁有正確的服務器私人密鑰的其它服務器來說是無效的。因此這種卡10不能用在未被授權的環(huán)境中。
可選地,所使用的依賴于IDP的數(shù)據或者可以構成部分消息,或者可以構成消息的加密工具,為了解釋該消息需要知道消息的加密工具。
優(yōu)選地,服務器30的公鑰是將把SSL密鑰材料傳輸?shù)椒掌?0的唯一密鑰。
實際上,在SSL連接期間,IDP服務器在接收卡證書12后驗證CRL(證書撤銷列表)中證書的有效性,并在包括在這種證書12中的卡ID中執(zhí)行身份查找。
如前所述,如果證書12是有效的,則可以利用SSL連接向IDP代理服務器發(fā)回SAML符記,接著IDP代理服務器將瀏覽器21重定向到服務提供商的網站,從而用SAML符記邀請PC瀏覽器21連接到服務提供商40。
服務提供商的站點用IDP服務器30斷言(assertion)SAML符記的有效性,如果成功的話,則服務器提供商通過PC的瀏覽器啟動SSL連接,而不用客戶機證書。
服務器提供商40可以作為連接到代理服務器21的相同的IDP服務器30的主機,或者作為另一個遠程服務器的主機。
盡管僅能夠由被允許的SSL服務器執(zhí)行強認證,但是認證仍然主要是標準的SSL認證。
優(yōu)選地服務器公鑰是存儲在卡10中的密鑰,而不是在SSL服務器-問候消息期間,即在啟動認證過程之前,可以由服務器30發(fā)送的密鑰。這就防止第三方服務器啟動與IDP代理服務器的SSL連接和利用卡執(zhí)行強認證。
而且,由于在該具體例子中,采用不需要大量的服務器側軟件或硬件定制的標準的SSL協(xié)議,因此SSL客戶機用客戶機和服務器證書執(zhí)行標準的SSL協(xié)議,并且主要由多數(shù)服務器軟件和硬件組件支持。
上述描述是參照智能卡進行的。然而本發(fā)明還涉及另一種用于個人認證的便攜符記,例如USB棒或大容量存儲卡。
權利要求
1.一種用于在網絡中進行認證的個人符記(10),包括用于通過生成消息來啟動SSL連接的一段軟件,所述消息向遠程服務器(30)認證所述符記,其特征在于,所述一段軟件控制所述消息的處理,以利用預存儲在所述符記(10)中并特別與遠程服務器(30)相關的數(shù)據,從而能夠僅由專用的遠程服務器(30)解釋所述消息。
2.一種包括個人符記(10)和作為所述個人符記(10)的主機的通信終端(20)的裝置,所述裝置包括用于通過生成驗證消息來啟動SSL連接的一段軟件,所述消息向遠程服務器(30)驗證所述符記(10),其特征在于,所述符記(10)存儲特別與遠程服務器(30)相關的數(shù)據(12),所述一段軟件利用所述數(shù)據(12)處理所述消息的簽字,從而只有所述專用的遠程服務器(30)能夠解釋所述認證消息。
3.如權利要求2所述的裝置,其特征在于,特別與服務器相關的數(shù)據是所述服務器(30)的公鑰。
4.如權利要求2所述的裝置,其特征在于,所述一段軟件嵌入在所述符記(10)中。
5.如權利要求2所述的裝置,其特征在于,所述作為主機的終端(20)包括代理服務器(22)。
6.如權利要求5所述的裝置,其特征在于,所述裝置包括用于在代理服務器(22)和遠程服務器(30)之間建立SSL連接的一段軟件。
7.一種用于在網絡中利用個人符記進行認證的方法,所述方法包括以下步驟a)提供嵌入了一段軟件的個人符記(10),以通過生成消息來啟動SSL連接,所述消息向遠程服務器(30)驗證所述符記(10);b)由所述一段軟件控制所述消息的處理,以利用預存儲在符記(10)中并特別與遠程服務器(30)相關的數(shù)據,從而生成能夠僅由專用的遠程服務器(30)解釋的消息。
8.如權利要求7所述的方法,其特征在于,所述方法包括使用用于所述個人符記(10)的作為主機的終端(20)的步驟,其中所述作為主機的終端(20)包括代理服務器(22),并且通過使用所述符記(10)生成的認證消息在代理服務器(22)和遠程服務器(30)之間建立SSL連接。
9.如權利要求8所述的方法,其特征在于,所述方法包括一旦在代理服務器(22)和遠程服務器(30)之間建立SSL連接,就在瀏覽器(21)和服務遠程服務器(30)之間建立通信連接的步驟。
全文摘要
本發(fā)明涉及一種用于在網絡中進行認證的個人符記(10),其包括用于通過生成消息來啟動SSL連接的一段軟件,所述消息向遠程服務器(30)驗證所述符記,其特征在于,所述一段軟件控制所述消息的處理,以利用預存儲在符記(10)中并特別與遠程服務器(30)相關的數(shù)據,從而能夠僅由專用的遠程服務器(30)解釋所述消息。
文檔編號G06F21/34GK101027676SQ200580032602
公開日2007年8月29日 申請日期2005年8月24日 優(yōu)先權日2004年8月24日
發(fā)明者菲利佩·斯馬亞, 瓊-丹尼爾·奧塞爾 申請人:艾斯奧托公司