新四季網

身份保護方法、裝置和相應的電腦程式產品的製作方法

2023-06-07 11:24:06 2

專利名稱:身份保護方法、裝置和相應的電腦程式產品的製作方法
技術領域:
本發明涉及在網絡內的身份識別領域。
更具體地說,本發明涉及一種用於保護網絡用戶的身份的方法。 本發明尤其涉及安全模塊,例如允許安全使用這種方法的晶片 卡,其可以被用在用戶終端和/或用在認證網絡用戶的伺服器上。
本發明還涉及一種用於由認證伺服器管理多個安全模塊的方法。 在本發明的範圍內,應該對術語"網絡"做可能的最廣義的理解。
它被用於表示基於ADSL數據機和Wi - Fi接入點的家庭自動化 網絡、配備有基站(UMTS、 HSDPA等等)或熱點(Wi - Fi、 WiMax 等等)的公共網絡,使用LAN、 PLAN、 WLAN或MAN類型網絡的 公司或公共服務網絡。
同樣,對相同的網絡必須做可能的最廣義的理解。例如它可以是 指由作業系統管理的計算機。此外,這種計算機可以被配備一個或者 多個由許多如IEEE 802.3 (乙太網標準)、IEEE802.il ( Wi - Fi標 準)、IEEE802.16 (WiMax標準)、IEEE802.16e ( WiMobile標準) 的標準所描述的通信接口 。還可以是指如行動電話或者個人助理的移 動通信終端。
對術語"認證伺服器"也必須做可能的最廣義的理解。它是指由包 括至少 一個通信接口並且能夠提供認證服務的作業系統管理的計算 機。
背景技術:
使用、管理或者配置通信服務的個人用戶、個人或者公共組織的 主要關心的問題在於保證所交換的信息的安全性。這種安全性的保證 在可能遠程偵聽所交換的信息(這種方法有時被稱作停車場攻擊)的無線通信的情況下尤其需要。
網際網路工程任務強制在AAA縮寫下(認證授權記帳)指定了執 行可以可選地在基於IP協議的通信基礎結構中開帳單的安全服務所 需的裝置。
用於認證用戶的過程通常是用戶把一張身份出示給認證機構,然 後由同一用戶生成對此身份的真實所有權的證明和相關的權限。認證
有操作。、 、 ". 、, ',
有多種認證協議。它們控制對通過OSI (開i文式系統互連)通信 模型的不同層所提供的服務的訪問
-控制對本地網絡的MAC層(OSI第二層)的訪問。該操作模 式特別地由PPP (點到點協議)標準和移動通信標準使用
-控制對OSI第三層和第四層即IP層和UDP/TCP傳輸(使 用數據報協議和傳輸控制協議)層的訪問。該操作模式通常被用於經 由例如IKEv2認證協議打開有效的VPN (虛擬個人網絡)連接。
由於由通信網絡、尤其在無線環境中的普遍使用導致安全問題的 增加,IETF已經批准了被稱為EAP (可擴充認證協議)的標準。該 標準允許多個認證腳本的傳輸,其中某些由EAP-TLS (RFC 2246)、 EAP畫SIM ( RFC 4168 )和EAP-AKA ( RFC 4178 )規範定義。
由RFC 2246引進的EAP-TLS協議是由文件RFC精確地詳述的 TLS (傳輸層安全)協議的透明封裝。
EAP協議可以:帔應用於控制對MAC(與FRC 2284相等的PPP, 與IEEE 802.x相等的乙太網和WiFi,與IEEE802.16和IEEE 802.16e 相等的WiMax)的訪問,以及VPN層服務(由RFC 4306描述的 IKEv2、由RFC 2637描述的PPTP點到點隧道協議、由RFC 2341 描述的L2FCisco第二層轉發協議)。
TLS是由Netscape所獲得的SSL (安全套接字層)協議(US 5,657,390)的改進的和非私有版本,其在1994年末發布了版本2和 1996年十一月發布了版本3。關於圖1,描述了 TLS協議的標準操作。
在正常使用中,網絡伺服器(301)把它的身份(插入到證書消 息103中)以X509證書的形式出示給遠程客戶端(通常是網絡瀏覽 器201)。客戶端分析來自伺服器的證書,並且它特別地使用它信任 的認證機構的公共密鑰(KpubCA)檢驗籤名。如果該檢驗成功,客戶 端提取出包含在證書(103, KpubS)中的公共密鑰並且選擇48個八位 字節的隨機號碼,被稱作PreMasterSecret (107 ),其通過密鑰KpubS 被發送到伺服器(在ClientKeyExchange消息中)。
所有的可用於TSL協議的加密材料被從PreMasterSecret參數中 移除。可以觀察到在這種情況下,經由網際網路,客戶端不揭示它的身 份並且伺服器的身份也被循環解密,也就是說不經過編碼。
當TLS協議被用在如EAP-TLS的認證腳本中時,客戶端的認證 是必須的;這種相互認證過程通常被稱作客戶端認證握手。客戶端把 它的身份以解密的形式(在證書消息106中)發送到伺服器,也就是 說經由它的X509證書。它通過創建在兩個實體(客戶端和伺服器) 之間通過它的私有密鑰KpHvC預先交換的握手類型籤名證明它的身 份。這種信息經由被稱作CertificateVerify ( 108)的消息被傳送。月良 務器通過兩個操作認證伺服器的身份
1. 由客戶端出示的X509證書的分析,它從中特別地提取它的 公共密鑰KpubC。
2. 包含在通過Kpubc密鑰的方式檢驗的CertificateVerify消息中 的籤名的正確值。
TLS協議的使用導致客戶端在識別階段展現它的身份。 現有技術的缺點
該現有技術的 一個缺點是EAP-TLS協議不保證客戶端的身份的 保密性。
實際上,即使EAP-TLS協議被廣泛地用於對WLAN ( WiFi, WiMax)或者VPN (IKEv2等等)服務的訪問控制,缺乏對客戶端 身份的保護使得例如在公司或者管理牆的外面能夠獲得當前個人的
7列表。
身份的解密顯示還授權可觀看無線網絡客戶端的移動,因此這幹 擾了客戶端的隱私。
在網絡上使用EAP-TLS協議的客戶端的身份的了解通過被動或 者主動的攻擊獲得。普通被動攻擊由偵聽認證交換和注意在網絡上的 客戶端的列表組成。
關於圖2,描述了使用EAP-TLS協議的主動攻擊。在該腳本中, 客戶終端被配備WiFi接口並且使用EAP-TLS協議。這樣它相當於其 可以在100米遠的距離被讀取並且其允許確定特定用戶的存在的 RFID (射頻身份識別)電子標籤。
入侵接入點(AP, 301)周期地廣播由客戶站點解釋為已授權 AP標識符的SSID (服務集標識符)標識符。按照IEEE 802.1x協議, 認證會話開始。客戶端發送EAP-Start數據包(102) , AP發送 EAP-Identity請求消息(104)、客戶端用EAP隱Identity.response消 息(104)來回應。AP發送EAP-TLS start消息(105)。
然後客戶發送EAP-TLS響應,其包含ClientHello TLS消息 (106)。欺詐AP發送包含證書的ServerHello消息(107),也就 是說以客戶端信任的認證伺服器身份。
該身份可以通過預先偵聽並且分析EAP-TLS消息或者利用對本 身不保密的伺服器證書的了解被獲取。按照TLS協議,ServerHello 消息(107)不具有任何安全屬性,並且如果有效的伺服器身份被插 入,則可能被簡單地偽造。該消息在EAP-TLS.request消息(107) 中被發送到客戶端。客戶端認證伺服器的證書並且在承載證書類型 TLS消息(108)的EAP-TLS.response中發送它的身份。攻擊者到達 它的目標,遠程地獲得客戶端身份(109)。
這種經典攻擊的描述強調了由EAP-TLS協議使用的該認證技術 的主要缺點,其迫使客戶端揭示它的身份
發明內容
本發明建議的方案通過由認證伺服器認證客戶終端的方法能夠 克服現有技術的這些缺點,其中所述客戶終端具有認證證書。
根據本發明,這種方法包括以下階段 —由所述客戶終端獲得至少一個加密參數; 一所述^人證證書由提供加密的i人證證書的所述客戶終端從所述 至少一個加密參數加密;
一把所述加密認的證證書發送到所述伺服器; 一由所述伺服器提取所述至少一個加密參數; 一從所述至少 一個加密參數對所述加密的認證證書進行解碼; 一認證並且如果認證結果是肯定的則提供認證的聲明。 因此本發明基於在網絡內的客戶端認證的完全新穎和有創造性 的方法。實際上,與現有技術的普通常規方法的不同之處在於本發明 建議客戶端的認證證書在後者被傳送到伺服器之前被加密。然後服務 器使用對於伺服器和客戶端都已知的加密參數負責解密該證書並且 證實客戶端il證的有效性。
根據本發明的一個特定的方面,所述對通過所述客戶終端所述認 證證書的階段包括以下步驟
一由所述客戶終端根據至少一個加密參數計算證書加密密鑰;
一使用所述證書加密密鑰加密所述i人證證書。
因此,客戶終端能夠根據一個計算函數由加密參數計算加密密 鑰。然後它可以使用該密鑰加密它的證書,該密鑰已經被它計算以獲 得加密證書。因此證書的加密在客戶終端被執行。
根據本發明的一個特定特徵,用於由所述伺服器提取所述至少一 個加密參數的所述階段包括以下步驟
一由所述客戶終端根據由所述伺服器發送到所述終端的至少一 個公共密鑰加密所述至少一個加密參數;
一由所述客戶終端把所述至少一個所加密的加密參數發送到所 述伺服器;
一由所述伺服器根據與所述至少一個公共加密密鑰不對稱的至少一個私有加密密鑰對所述至少一個所加密的加密參數進行解碼。
終端使用伺服器的公共密鑰加密已經被用於計算證書的加密密 鑰的加密參數。之後,終端把這些所加密的參數發送到伺服器。服務 器使用它的私有密鑰對這些參數進行解碼。因此伺服器是能夠對這些
參數(已經使用它的公共密鑰加密)進行解碼的唯--方。因此,對
於第三方來說不可能截取這些解碼後的參數。因此這通過雙重機制提
供了用於保護加密數據的有力機制所加密的認證證書的發送和用於
加密該證書的參數的發送均被加密。
根據本發明的 一個基本的方面,所述至少 一個加密參數所屬的組
包括以下信息中的至少一項
一代表由所述認證伺服器獲得的一個隨機數的信息項; 一代表由所述客戶終端獲得的一個隨機數的信息項;
一代表一個用所述認證伺服器的所述公共密鑰加密的數字的信息項。
用於加密的參數可以具有多個來源例如來自伺服器的隨機數、 來自客戶端的隨機數、使用認證伺服器的公共密鑰的數。以這種方式,
確保了參數被用於加密不是恆定的或者不能簡單地可再現的證書,並 且它們不可能被第三方發現。因此這增強了客戶端身份的保護。
根據本發明的一個特定方面,所述方法在SSL和/或TLS協議中實現。
根據本發明的一個基本方面,所述方法在EAP協議中實現。
通過這種方式,身份保護方法可以通過添加新的功能被插入到已 知的^人證方法中。
本發明還涉及在所述終端由認證伺服器認證期間,具有認證證書 的客戶終端的身份加密的方法。
根據本發明,這種方法包括以下步驟
_由所述客戶終端提取至少一個加密參數;
—由所述客戶終端從所述至少 一個加密參數加密所述所加密的 認證證書;
10—把所述所加密的認證證書發送到所述伺服器。
在該實施例中,使用本發明的客戶終端能夠在它的身份被發送到 認證伺服器之前加密它的身份。這種方法確保了終端的身份將不由通 信網絡解密發送。
本發明還涉及在所述終端由認證伺服器認證期間,具有認證證書 的客戶終端的身份加密設備。
根據本發明,這種設備包括以下步驟 一提取至少一個加密參數;
一從所述至少一個加密參數加密所述所加密的i人證證書;
一把所述所加密的認證證書發送到所述伺服器。
在該另 一個實施例中, 一種設備可以在客戶端的身份被發送到服
務器之前加密客戶終端的身份。
在本發明的一個特定方面中,所述身份加密設備被用在使用虛擬
機的晶片卡中。
因此,該身份加密設備可以裝配在使用例如虛擬機的作業系統的 晶片卡中。根據本發明的一個特定方面,該虛擬機可以是Java類型 的並且晶片卡可以是Java卡。
本發明還涉及一種用於在由所述認證伺服器對所述終端的認證 中通過認證伺服器對具有認證證書的客戶終端的身份進行解碼的方 法。
根據本發明,這種方法包括以下步驟
一從所述客戶終端接收所加密的認證證書;
_由所述伺服器提取至少一個加密參數;
一從所述至少一個加密參數對所述所加密的i人證證書進行解
碼;
一認證並且如果認證結果是肯定的話則提供認證的聲明。 根據本發明的一個特定實施例,該方法允許其身份受到保護的客 戶終端的身份被解碼。
本發明還涉及一種用於在由認證伺服器對所述終端進行認證中對具有認證證書的客戶終端的身份進行解碼的設備。
根據本發明,這種設備包括 一從所述客戶終端接收所加密的認證證書的裝置; _由所述伺服器提取所述至少一個加密參數的裝置; 一從所述至少一個加密參數對所述所加密的認證證書進行解碼 的裝置;
一認證並且如果認證結果是肯定的的話則提供認證的聲明的裝置。
在該另 一個實施中,該設備能夠對已經被發送到伺服器的客戶終 端的身份進行解碼。
根據本發明的一個特定方面,所述解碼設備被用在使用虛擬機的 晶片卡中。
因此,該身份解碼設備可以裝配在使用例如虛擬機的作業系統的 晶片卡中。根據一個特定的方面,該虛擬機可以是Java類型的並且 晶片卡可以是Java卡。
在另 一個實施例中,本發明涉及一種可以從通信網絡下載和/或 存儲在計算機可讀支持栽體上和/或可由微處理器執行的計算機軟體 程序。
根據本發明,在至少一個實施例中,這種計算機軟體程序包括如 之前描述的由認證伺服器執行客戶終端的認證過程的程序代碼指令。
在另一個實施例中,本發明還涉及一種可以從通信網絡下載和/ 或存儲在計算機可讀支持栽體上和/或可由微處理器執行的計算機軟 件程序。
根據本發明,在至少一個實施例中,這種計算機軟體程序包括如 之前描述的對於客戶終端執行身份加密方法的程序代碼指令。
在另 一個實施例中,本發明還涉及一種以從通信網絡下栽和/或 存儲在計算機可讀支持栽體上和/或可由微處理器執行的計算機軟體程序。
根據本發明,在至少一個實施例中,這種計算機軟體程序包括如之前描述的對於客戶終端執行身份解碼方法的程序代碼指令。


如果簡單地通過例子並且以非限制的方式通過閱讀優選實施例 的以下描述和所附的附圖,本發明的特徵和優點將變得更加清楚,其

一圖1,已經描述過了,代表表明在TLS會話期間所交換的消 息的時序一圖2,也已經描述過了,代表目的在於收集客戶端的身份的 攻擊的連續步驟的時序—圖3根據本發明的代表使用身份保護方法的程序表; 一圖4詳細描述了安全模塊的結構;
—圖5示出了在Java晶片卡環境中EAP-TLS應用程式的實際 實施例;
一圖6是根據本發明的代表在客戶端的認證中的客戶安全模塊 的使用的時序一圖7是根據本發明的代表在客戶端的認證中的伺服器安全模 塊的使用的時序一圖8代表其中配備有多個安全模塊的RADIUS伺服器管理同 樣也配備有安全模塊的多個客戶端的安全網絡體系結構;
—圖9詳細描述在NAS和配備有EAP-TLS安全模塊的 RADIUS i人證伺服器之間交換的消息;
一圖10示出了使用訪問請求數據包的某些屬性構造的會話標 識符(session_ID )的積無念和它的由特定安全才莫塊處理EAP消息的佳_ 用。
具體實施方式
對本發明原理的回顧
因此本發明建議在認證過程期間保護客戶端的身份。該保護甚至更為重要,因為用戶的身份對於操作者和接入提供商以及甚至對於不 希望他們的個人生活被監視的客戶自身來說已經變成真實的挑戰。
本發明的主要原理是基於通過安全模塊對身份的加密。關於圖
3,描述了本發明的一個應用於EAP-TLS協議的實施例。然而,根據
任何認證方法中。
在EAP-TLS認證過程中,消息按照TLS協議被交換。在客戶認 證握手會話期間,客戶端(201)通過ClientHello消息發起該會話。 伺服器通過 一 組ServerHello ( 102 ) 、 Certificate ( 103 )、 CertificateRequest ( 104 )和ServerHelloDone ( 105 )消息l故出響應。 然後客戶端發送Certificate (106) 、 CertificateVerify (107)、 ClientKeyExchange ( 108 ) 、 ChangeCipherSpec ( 109 )和Finished (110)消息。
證書(Certification) ( 106 )消息是客戶端證書的加密形式。更 準確地說,按照TLS協議,該消息的內容是其中的第一個證書被分配 給該客戶端而後續的證書(可選地)與一個或多個證書機構相關聯的 一系列證書。
通過示例,接下來將描述計算用於加密客戶端證書(106)的密 鑰(KeyClientCertificate)的實際方法。然而,基於4吏攻擊更加困難 的秘密公式的其它方法也可以被用於該操作。
在TLS協議中,加密密鑰可以使用Pseudo Random函數(PRF) 被生成。
共享的 MasterSecret從 PreMasterSecret 參數和在消息 ClientHello ( 101)和ServerHello ( 102 )之間交換的兩個其它隨機數 (ClientRadom和ServerRandom )被計算。因此MasterSecret密鑰 可以,皮定義為
MasterSecret = PRF ( PreMasterSecret , "mastersecret,,, Clientrandom | ServerRandom )。
在這種情況下的符號l表示並置操作。之後,在認證階段,其它
14加密密鑰使用MasterSecret參數和標誌(一串ASCII字符)被獲得。 這些其它密鑰還^f吏用PRF函數
密 鑰 = PRF ( MasterSecret , Label , ServerRandom | ClientRandom )。
才艮據本發明,KeyClientCertificate加密密鑰由類型(106)的關 系獲得
KeyClientCertificate = F ( PreMasterSecret, ServerRandom, ClientRandom, Otherparameters )
在這種情況下,F是4吏用PreMasterSecret、 ServerRandom、 ClientRandom和其它計算參數(Otherparameters)的函數。例3口, 可以^使用以下函數
KeyClientCertificate = PRF ( MasterSecret, "clientcertificate,', ClientRandom | ServerRandom )
因此客戶端通過例如當運行時使用加密算法加密它的X509證書 以及使用與該例如RC4或者相反模式的AES的加密算法相關聯的 KeyClientCertificate密鑰以保護它的身份。按照TLS協議的規定, 因此考慮加密的客戶證書(106)的內容來計算在如ClientVerify( 108) 和Finished( 110、 112 )的消息中使用的列印值(MD5和SHA1函數)。 實際上,該證書在Certificate消息中以加密的形式(106)出現。
伺服器接收六Certificate ( 106 )和CertificateVerify ( 107 ) ClientKeyExchange ( 108 ) 、 ChangeCipherSpec ( 109 )和Finished (110 )消息。它使用它的私有密鑰Pprivs對包含在ClientKeyExchange 消息(108 )中的PreMasterSecret的值進行解碼。它通過使用解碼後 的 PreMasterSecret值應用一種與客戶端所應用以獲得 KeyClientCertificate的值的函數相同的加密函數移除保護客戶證書 (106)的密鑰。在一個適用於TLSPRF函數的特定的實施例中,使 用以下/>式
KeyClientCertificate = PRF ( MasterSecret, clientcertificate, ClientRandom | ServerRandom )然後伺服器可以對客戶證書進行解碼。
然後伺服器通過產生兩個消息ChangeCipherSpec (111)和 Finished (112)來完成TLS會話的開始階段。
但是實際上,PreMasterSecret可能僅由伺服器解碼,因為僅後 者具有可以對它進行解碼的私有密鑰。例如,在EAP-TLS的情況中, PreMasterSecret由客戶端使用當證書(103 )被發送時由伺服器發送
到客戶端的Kpubs伺服器的公共伺服器密鑰來加密。但是僅有私有密 鑰Kprivs的持有者能夠對使用該公共密鑰Kpubs加密的消息進行解碼。
以這種方式,客戶端的身份被保密並且僅有伺服器能夠對該身份 進行解碼。
因此這描述了 一種用於使用加密客戶端的身份的方法的實施例, 作為使用EAP-TLS方法相互認證過程的一部分。因此客戶端不再在 網絡上分享它的"解碼後的"身份。該身份被加密並且只有具有足夠解 碼信息的伺服器能夠識別將被認證的客戶端。實際上,為了找到 KeyClientCertificate的解碼密鑰,伺服器必須具有與客戶端相同的信 息。總的來說,該信息被用於使用"F,,函數找到加密密鑰。在適用於 EAP-TLS的特定的實施例中,伺服器必須具有與那些由客戶端使用 的相同的PRF函數的自變量MasterSecret , client certificate , ClientRadom和ServerRandom。
下面給出了實現用於保護客戶端身份的方法的安全模塊情況以 及這種模塊的在RADIUS類型的認證伺服器中的集成。然而應該清楚 本發明不局限於該特定應用,並且還可以被用於其它類型的認證服務 器並且可以更廣泛地被用在試圖進行身份保護的機制的所有情況。
安全模塊的描述
在該實施例中,關於圖4,示出了實現本發明的身份保護方法的 安全模塊。
術語"安全模塊"被用於表示集成矽電路(101),通常被稱作防 篡改裝置,如例如來自ST Microelectronics (註冊商標)的ST22部 件並且能夠以不同的格式提供,如集成到USB棒或MMC(多媒體卡)存儲器中的PVC卡(晶片卡、SIM卡等等)。
這種安全模塊包含了所有安全數據存儲裝置並且也允許軟體在 安全和受到保護的環境中運行。
更準確地說,這種安全模塊特徵是CPU ( 201)、存儲作業系統 代碼的ROM (202) 、 RAM ( 203)和用作與硬碟相似的存儲裝置的 非易失性存儲器(NVR, 204),並且其中包括例如集成的TLS或者 EAP-TLS軟體。系統總線(200)連接安全模塊的各個部分。與外部 世界(301)的接口是經由符合諸如IS07816、 USB、 ISO 7816-12、 MMC、 IEEE802.3、 IEEE802.il等標準的1/0輸入/輸出埠 ( 205 )。
Java卡可以形成特定種類的安全模塊。在現有技術的情況下, 在客戶端和伺服器模式下可以在這些部件中載入並且運行符合TLS
協議規範的程序。通過示例,這種軟體通過OpenEapSmartCard的名 稱已知。科技文獻已經描述了在Java卡中的客戶端創造和EAP-TLS 伺服器。鑑於以上的描述,已經描述了的身份保護方法可以簡單地由 本領域的技術人員通過在Java卡中運行的客戶端(或者伺服器) EAP-TLS軟體來實施。
關於圖5,描述了在Java卡環境中的EAP-TLS應用的實際的實施例。
這種部件(100)通常具有符合ISO 7816標準(201)的通信接 口,集成的Java機(202)和一組由特別允許使用加密函數庫(204) 的Java卡論壇所定義的Java類。然後EAP-TLS應用程式(300 )被 定義為 一組Java模塊的集合。
EAPEngineClass (301)提供了四種基本的服務
——^持有者的信用證的管理(402),也就是說如私有RSA密 鑰或者X509證書的存儲在非易失性存儲器(401)中的敏感數據;
一安全模塊的個性化(404),也就是說要求把卡持有者的數據 寫入該部件的存儲器的所有操作;
一晶片卡的安全管理(403),其使用受到保護,例如由在三次 錯誤顯示之後與封鎖機構相關聯的PIN代碼來保護。一與網絡的接口 (405),它分析接收到的EAP數據包並且把 它們發送到EAP-TLS方法。
EAP-TLS認證方法由Method.class才莫塊(303 )執行。它通過與 特定環境(認證機構、證書、CA、客戶端證書、私有RSA密鑰等等) 相關聯的數據使用其自變量是Credential.class Java對象(302 )的初 始步驟(501)發起。
由網絡接口 ( 405 )分析的EAP消息(600 )由Method.class模 塊(303 )的ProcessEap步驟(502 )處理。Auth.class Java接口 ( 304 ) 提供EapEngine.class ( 301)和Method.class ( 303 )模塊之間的邏輯 連結。
客戶端安全模塊
關於圖6,描述了包括客戶端EAP-TLS軟體(101)的安全模塊 (201)。該程序運行TLS協議,它經由輸入/輸出通信埠 (圖4, 205)接收EAP-TLS消息並且創建適當的響應。此外,模塊存儲至少 一個CA認證機構(102)的證書和它的公共RSA密鑰(103)。模塊 的身份,也就是說客戶端證書(104)也被安全地存儲。然而,該證 書並不以解碼後的形式提供給外部世界。公共(107)和私有(108) RSA密鑰也由安全模塊管理。在EAP-TLS協議的結尾,對於使用模 塊的實體、通常是作業系統可得到MSK密鑰(108)。
從客戶安全模塊(201)的觀點使用本發明的身份保護協議, EAP-TLS認證對話將更加精確地進行描述。
接入點(401)通過發送EAP-Identity.response消息提示客戶新 的認證會話的出現。安全模塊把它的標識符(EAP-ID)插入到 EAP-Identity.response消息(302)中。這是推薦的選項,但不是把 它作為限制性的,因為該標識符提供的是關於認證伺服器而不是關於 客戶的信息。認證伺服器發送發起EAP-TLS會話的EAP-TLS.start 數據包(303)。響應該事件,客戶端發出承載ClientHello類型TLS 數據包(304)的EAP-TLS消息。
符合之前描述的TLS協議,伺服器發送一 系列消息(ServerHello,
18Certificate, CertificateRequest, ServerHelloDone ),其特別地定義了 伺服器證書、它的公共密鑰、CA (Certification Authority)證書和由 伺服器識別的客戶端證書的類型。
當EAP-TLS消息(305)被接收時,客戶端分析伺服器證書的 有效性,提取相關的公共密鑰,選擇隨機的PerMasterSecret值並且 在ClientKeyExchange消息中加密該值(使用伺服器的公共密鑰)。 根據身份保護方法客戶端證書使用之前描述的KeyClientCertificate 密鑰被力口密。TLS消息(307) 、 Certificate, ClientkeyExchange、 CertmcateVerify 、 Finish的系列被插入到EAP-TLS數據包中並且被 發送到伺服器。
通過封裝在EAP-TLS數據包中的ChangeCipherSpec和 Finished消息(308 )伺服器驗證這個消息列表並且通知該操作的正 確完成。客戶端通過EAP-TLS acceptance (309)確認接收(308)
月良務器通過EAP.success 消息(310 )發送EAP-TLS會話。在接 收該指示後,客戶端計算主秘密密鑰(MSK) (108)。通過特定的 安全模塊(311),使後者對於客戶端的作業系統是可用的。
使用根據本發明配備有身份保護機制的安全模塊(201 )運行TLS 或者EAP-TLS客戶端軟體(101)提供了以下優點
一伺服器(305)的證書在安全的計算機環境中被驗證;
一客戶軟體(101)僅把它的經過加密(106)的身份(104)傳 送到它信任的伺服器實體,並且該伺服器實體是唯——個能夠對該信 息進行解碼的。
一它通過籤名的方式,基於包含在Certificate Verify消息(307) 中的它的私有RSA密鑰Kprive (106)執行它的非拒絕性的決定。
由於它們的構成,在伺服器和客戶端之間交換的TLS消息可以 被網絡的任何觀察者讀取並且分析。在與身份保護的對話的情況下, 如本發明所建議的,觀察者所獲得的唯一信息將是伺服器的身份。在 認證過程的情況中這不是關鍵信息。
伺服器安全模塊關於圖7,示出了安全模塊(401),其包含伺服器EAP-TLS軟 件(IOI)。該程序運行TLS協議,它經由輸入/輸出通信埠 (圖4, 205)接收EAP-TLS數據包並且創建適當的消息。此外,模塊存儲至 少一個認證機構(102)的證書和它的公共RSA密鑰(103)。服務 器(107)的證書和它的乂^共(109)和私有(108) RSA密鑰也由安 全模塊管理。在EAP-TLS協議的結尾,對於使用如例如RADIUS認 證伺服器的模塊的實體可得到MSK密鑰(108)。
以下是從伺服器安全模塊(101)的觀點來看EAP-TLS認證對 話的描述。該模塊被物理地或者邏輯地連接到認證伺服器,例如 RADIUS類型(201 )或者使用EAP伺服器實體的任何其它裝置。EAP 月艮務器接收其標記EAP會話的初始化的EAP-Identity.request消息 (301 )。它發送表明EAP-TLS會話開始的EAP-TLS.start消息(303 )。
遠程客戶端發送傳送ClientHello ( 304)消息的EAP-TLS數據 包(305)。然後伺服器發送一系列消息(ServerHello, Certificate, CertificateRequest, ServerHelloDone)。當消息(305 )被接收,客 戶端分析伺服器證書的有效性,提取相關的公共密鑰,選擇隨機的 PreMasterSecret值並且在ClientKeyExchange消息中力口密該值H吏 用伺服器的公共密鑰)。客戶端證書(307 )使用之前描述的 KeyClientCertificate密鑰^皮力。密。這個TLS消息(306 ) 、 Certificate, ClientkeyExchange 、 CertificateVerify 、 Finished的系列4皮插入到 EAP-TLS數據包中並且被發送到伺服器。
伺服器認證該消息的列表,並且特別地它使用它的KpriM密鑰找
到PreMasterSecret值。然後它計算KeyClientCertificate並且從客戶 端獲得解碼後的證書。它通過封裝在EAP-TLS數據包中的 ChangeCipherSpec和Finished消息(308)通知該操作的正確完成。 客戶端通過EAP-TLS ( 309 )退出確認ChangeCipherSpec和 Finished消息(308 )的接收。安全模塊通過EAP-Success消息(310 ) 完成EAP-TLS會話並且計算主秘密密鑰MSK (108)。使後者通過 安全模塊的特定命令(311)的方式對於伺服器(201)的作業系統可用。
使用根據本發明配備有身份保護機制的安全模塊(201 )運行TLS 或者EAP-TLS客戶軟體(101)提供了以下優點
一伺服器安全模塊,其是唯一一個知道並且能夠使用私有密鑰 Kprivs(108)的,是唯一的知道客戶端身份的實體;
一客戶端的身份還由Certificateverify消息(306 )進一步證明;
—該身份的有效性通過由伺服器發出的最後的消息Finished (309)中的加密方法來表明。
當例如RADIUS類型的認證伺服器使用伺服器安全模塊時,後 者使MSK密鑰(109)可用,例如用作確保接入點和無線網絡客戶對 之間的通信的安全性。
因此本發明通過允許管理客戶端的連接並且然後使該客戶端的 MSK密鑰對於安全基礎結構可用從而不使它的身份公開,提供了一 種技術上的創新方案。
在認證基礎結構中安全模塊的實現
本發明的一個實施例在RADIUS類型的認證基礎結構中給出。 因此網絡基礎結構被認為支持大量配備有根據本發明的EAP-TLS安 全模塊的客戶端。這些客戶端根據網絡約束條件由一個或多個
RADIUS伺服器來管理。
當認證會話由客戶和伺服器EAP安全模塊對運行時,本發明允 許達到最佳水平的保密性。在該基礎結構中,每個伺服器能夠同時管 理多個EAP-TLS會話。
在該基礎機構中,安全模塊的作業系統通常監督被設計用來保護 以避免通過物理和邏輯入侵的攻擊的對策。這些對策大大降低了這些 部件的計算性能。
現在我們將描述一種通過RADIUS認證伺服器實現多安全模塊 的方法。該方法能夠實現幾個同時會話的管理並且使在支持大量用戶 的網絡中的伺服器安全模塊的使用變得可能,而性能不下降。
基礎結構的描述關於圖8,示出了 RADIUS基礎結構,用於利用根據本發明的身 份保護方法。可選地配備安全模塊(101、 102、 103)的一組客戶端 (201、 202、 203 )由例如位於該網絡的接入點的網絡管理伺服器 (NAS) (301、 302、 303)來控制。其中的每一個藉助網際網路(401) 通過由配備有作業系統的計算機系統運行的軟體(502 )與單個的 RADIUS認證伺服器(501)相關聯。該RADIUS伺服器還能夠通過 物理的和/或邏輯的接口 503與多個伺服器安全模塊(601、 602、 603) 交換信息。
目前,許多如OPENRADIUS或者FREERADIUS的免費的軟體 程序提供RADIUS認證服務。安全模塊能夠通過如USB或PC/SC(個 人計算機智慧卡)的由許多作業系統支持的物理的(503 )和/或軟體 接口被集成到這些軟體程序中。
交換的消息
關於圖9,以在通過接入點(101)的形式出現的NAS、 RADIUS 認證伺服器(201)和EAP-TLS安全模塊(301)之間的消息的形式 詳細地顯示了所交換的信息。按照之前的描述,後者包括私有RSA 密鑰和來自認證機構的X509證書。
術語"RADIUS會話(401),,被用於指定在NAS和RADIUS認 證伺服器之間交換的一系列數據包。這些數據包承栽了在EAP客戶 端和EAP伺服器之間交換的信息。
關於RADIUS伺服器,當接收到EAP-Identity.response消息 (601)時會話開始,包括訪問請求數據包(501),並且以通知的生 成結束,通常是在訪問接收數據包(510)中的EAP-success (610)。
EAP-Identity.response消息由RADIUS訪問請求數據包(501) 傳送。稱為EAP-TLS.start( 602 )的EAP-TLS request消息在RADIUS access challenge數據包(502 )中被發送到接入點。封裝TLS ClientHello協議單元(603 )的EAP-TLS消息由RADIUS訪問請求 數據包(502)傳送。
包含十ServerHello 、Certificate 、CertificateRequest 和
22erHelloDone消息系列的TLS數據包通常根據EAP-TLS協議的 被分解成兩段(604、 606)。每段在RADIUSaccess challenge數
(505、 506)中被傳送。第一段通過由RADIUS數據包(505) 的EAP-TLS消息(605)完成。在第二也就是最後一段(606) 收後,客戶端(其希望被識別並且認證)分析重新組合的消息。
在第二段(606)的接收期間,客戶端分析伺服器證書的有效性、 .相關的公共密鑰、選擇隨機的PreMasterSecret值並且在 itKeyExchange消息中加密該值(使用伺服器的公共密鑰)。客 證書使用先前描述的KeyClientCertificate密鑰來加密。TLS消 f系歹'J Certificate 、 ClientKeyExchange 、 Certificate Verify 和 ;hed被插入到EAP-TLS數據包(607 )中,然後被插入到RADIUS 請求數據包(507)中並且被發送到伺服器。
伺服器驗證該消息的列表,並且特別地,找到PreMasterSecret 計算KeyClientCertificate並且獲取解碼後的客戶端證書。如果 作成功,ChangeCipherSpec和Finished消息;故封裝到EAP-TLS 包中,然後封裝在RADIUS access—challenge消息(508 )中、
EAP-TLS完成消息(609)在RADIUS訪問請求消息(509)中 送。
然後安全模塊通過EAP-success消息表明認證的成功。RADIUS -器通過特定的命令(611)讀取MSK密鑰並且創建最後的 ,IUS access—accept消息(510 ),其特別地包括MSK密鑰的兩個 ,即MS-MPPE畫sendkey和MS畫MPPE畫recvkey。
鑑於上述描述,可以觀察到伺服器安全模塊通知認證的成功並且 給RADIUS伺服器MSK密鑰而不揭示客戶的身份(沒有加密的
)
關於圖10,示出了訪問請求類型的RADIUS數據包的內容。這 息由多個NAS (網絡訪問伺服器)發送給RADIUS認證伺服器 8, 501)。訪問請求數據包除了其它信息之處還傳送EAP響應。 該數據包的RADIUS伺服器接著創建通常封裝在EAP請求或者通知中的 Access - Challenge、 Access - Accept或者Access - Reject
類型消息。
現在將詳細給出由具有兩部分、即包頭(102 )和屬性列表(103 ) 的IP和UDP(用戶數據報協議)通信堆傳送的訪問請求數據包(101) 的內容。
包頭的特徵在於消息代碼(210)或者在我們的例子中的訪問請 求、標記(202),使得響應的值與請求的值相等、數據包的長度(203) 和隨機的16個八位字節數(204)相等。
RADIUS消息傳送在圖10中通過由RFC 2865和FRC 3559標準 所分配的名稱^皮識別的數目可變的屬性(205、 206、 207、 209、 210、 211、 212、 213、 214、 215)。
從RADIUS伺服器的觀點來看,會話由涉及遠程客戶端(205、 208)的信息的列表和涉及由客戶端(206、 207、 209、 210、 213)使 用的NAS的信息的列表識別。每個會話被關聯到由包含在訪問請求 消息中的屬性的並置獲得的唯一的標識符(session-ID)相關聯。通 過舉例,我們可以通過兩個以下的屬性的並置創建session-ID值 (301):
Session - ID = NAS畫Identifier |主叫站點-ID
NAS標識符(209) ( RADIUS屬性號碼32)是由網絡管理員或 者設備製造商提供的NAS的唯一的標識符。
"主叫站點-Id" ( 208 ) ( RADIUS屬性號碼(31)是客戶端的 唯一標識符,例如所使用的網絡主板的唯一 MAC地址)。
關於根據本發明的身份保護協議,認證伺服器把安全模塊分配給
由session-ID值唯一地識別的每個會話。當沒有可用的安全模塊時, 訪問請求數據包被RADIUS軟體忽略,因此遠程NAS不接收該事件 的任何通知。
EAP消息根據它的尺寸通過其有效長度是243個八位字節的一 個或多個屬性被封裝。
RADIUS伺服器的軟體驗證屬性(215)的正確值,由秘密密鑰(被稱為RADIUS秘密)保護的HMAC-MD5。如果驗證成功,則 EAP消息被重新組合,然後被發送到與由(301)識別的RADIUS會 話相關的安全模塊(501)。因此,使用根據本發明的身份保護方法, 伺服器安全模塊能夠把客戶終端的身份提供給RADIUS伺服器,以獲 得來自後者的認證的聲明。之後,當每個認證模塊管理最多一個會話 時,同時由RADIUS伺服器軟體程序管理的認證會話的最大數目與安 全模塊的數目相同。
然而,技術進步,特別是性能的進步,允許同時管理由同一安全 模塊負責的多個認證會話。在這種情況下,RADIUS軟體可以把多個 會話分配給每個安全模塊。
權利要求
1.用於由認證伺服器認證客戶終端的方法,其中所述客戶終端具有認證證書,其特徵在於包括以下階段-由所述客戶終端提取至少一個加密參數;-由所述客戶終端從所述至少一個加密參數加密所述加密的認證證書,提供加密的認證證書;-把所述加密的認證證書發送到所述伺服器;-由所述伺服器獲取所述至少一個加密參數;-從所述至少一個加密參數對所述加密的認證證書進行解碼;-認證,並且如果認證結果是肯定的話,則提供認證的聲明。
2. 如權利要求1中所述的認證方法,其特徵在於所述由所述客 戶終端對所述認證證書進行加密的階段包括以下步驟一由所述客戶終端根據至少一個加密參數計算證書加密密鑰; 一 4吏用所述證書加密密鑰加密所述i人證證書。
3. 如權利要求1或2中任一項所述的認證方法,其特徵在於所 述對由所述伺服器提取所述至少一個加密參數的階段包括以下步驟一由所述客戶終端根據由所述伺服器發送到所述終端的至少一 個公共密鑰加密所述至少一個加密參數;一由所述客戶終端把至少 一個加密的加密參數發送到所述伺服器;一由所述伺服器根據與所述至少一個公共加密密鑰不對稱的至 少 一 個私有加密密鑰對所述至少 一 個加密的加密參數進行解碼。
4. 如4又利要求1到3中任一項所述的認證方法,其特徵在於所 述至少 一個加密參數所屬的組包括以下信息中的 一項一代表一個由所述認證伺服器獲取的隨機數的信息項;—代表一個由所述客戶終端獲得的隨機數的信息項;一代表一個用所述認證伺服器的所述公共密鑰加密的數字的信息項。
5. 如權利要求1到4中任一項所述的認證方法,其特徵在於它 被用在SSL和/或TLS協議中。
6. 如權利要求5中所述的認證方法,其特徵在於它被用在EAP 協議中。
7. 在由認證伺服器對客戶終端進行認證期間,用於對具有認證 證書的所述客戶終端的身份進行加密的方法,其特徵在於包括以下步 驟一由所述客戶終端提取至少一個加密參數; 一由所述客戶終端從所述至少一個加密參數對所述加密的認證 證書進行加密;一把所述加密的認證證書發送到所述伺服器。
8. 在由認證伺服器對客戶終端進行認證期間,用於對具有認證 證書的所述客戶終端的身份進行加密的設備,其特徵在於包括一提取至少一個加密參數的裝置;—從所述至少一個加密參數加密所述認證證書的裝置;一把所述加密的認證證書發送到所述伺服器的裝置。
9. 如權利要求8中所述的身份加密設備,其特徵在於它被用在 使用虛擬機的晶片卡中。
10. 在由認證伺服器對客戶終端進行認證中,用於由所述認證 伺服器對具有認證證書的所述客戶終端的身份進行解碼的方法,其特 徵在於包括以下步驟—從所述客戶終端接收加密的認證證書;_由所述伺服器提取至少一個加密參數;—從所述至少 一個加密參數對所述加密的i人證證書進行解碼;—認證,並且如果認證結果是肯定的話,則提供認證的聲明。
11. 在由認證伺服器對客戶終端進行認證中,用於由認證服務 器對具有認證證書的所述客戶終端的身份進行解碼的設備,其特徵在 於包括—從所述客戶終端接收加密的認證證書的裝置;由所述伺服器提取至少一個加密參數的裝置; 一從所述至少 一個加密參數對所述加密的認證證書進行解碼的裝置;一認證並且如果認證結果是肯定的話則提供認證的聲明的裝置。
12. 如權利要求11中所述的用於對客戶終端的身份進行解碼 的設備,其特徵在於它被用在使用虛擬機的晶片卡中。
13. 計算機軟體程序,其可以從通信網絡下載和/或存儲在計算機可讀支持載體上和/或可由微處理器執行,其特徵在於它包括當在計算機上運行時由認證伺服器執行如權利要求1到6中所述的對客戶 終端進行認證的方法的程序代碼指令。
14. 計算機軟體程序,其可以從通信網絡下載和/或存儲在計 算機可讀支持載體上和/或可由微處理器執行,其特徵在於它包括當在 計算機上運行時執行如權利要求7中所述的對客戶終端的身份進行加 密的方法的程序代碼指令。
15. 計算機軟體程序,其可以從通信網絡下栽和/或存儲在計 算機可讀支持載體上和/或可由微處理器執行,其特徵在於它包括當在 計算機上運行時執行如權利要求10中所述的對客戶終端的身份進行 解碼的方法的程序代碼指令。
全文摘要
本發明涉及一種用於使用認證伺服器認證客戶終端的方法,所述客戶終端保持認證證書。根據本發明,這種方法包括以下步驟由所述客戶終端獲取至少一個加密參數;由所述客戶終端基於所述至少一個加密參數加密所述認證證書,得到加密的認證證書;發送所述加密的認證證書到所述伺服器,由所述伺服器獲取所述一個加密參數,基於所述一個加密參數解密所述加密的認證證書,認證,並且如果認證結果是肯定的話,則發送認證聲明。
文檔編號H04L9/32GK101657992SQ200780019624
公開日2010年2月24日 申請日期2007年4月3日 優先權日2006年4月7日
發明者M·巴德拉, 帕斯卡爾·尤利恩 申請人:電信學院集團-國立高等電信學院

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀