允許電信網絡中的安全通信而免於服務的拒絕(DoS)和浸灌攻擊的方法和裝置的製作方法
2023-12-04 19:49:16 1
專利名稱:允許電信網絡中的安全通信而免於服務的拒絕(DoS)和浸灌攻擊的方法和裝置的製作方法
技術領域:
本發明涉及在電信網絡中使得通信安全。
背景技術:
電信網絡(諸如,網際網路)經由共用基礎設施來在各種網絡實體(諸如,網絡伺服器 或電子消息傳送伺服器)之間傳送數據。藉助於示例,本發明可以應用於從網絡實體到服務 平臺的安全接入。藉助於示例,本發明還可以應用於將「原始消息」從網絡實體傳送到一個或多個 其它網絡實體;在這裡,術語「原始消息」用於意指任何數據集合,例如,電子郵件、或用於 發起網際網路協議上的語音(VoIP)呼叫的請求、或者實際上的「即時消息」。一般而言,附接 (attach)到「起源」域並且連接到「發送」域的「起源客戶端」將原始消息發送到附接到「目 的域」並且連接到「接收」域的「目的客戶端」(在本發明的上下文中,當實體擁有與網絡域 的服務和/或邏輯和/或管控(administrative)鏈路時,將該實體稱為「附接」到該網絡 域;針對電子郵件,該邏輯地址對應於「電子郵件地址」)。發送域可以可選地相異於起源域, 並且接收域可以可選地相異於目的域;例如,當發送域將連接到發送域、但是沒有附接到發 送域的漫遊的起源客戶端所發送的消息中繼到目的客戶端時,此在域之間的相異性是有用 的。如公知的,電信網絡經歷針對職業、行政、或個人目標的攻擊。現今常見的攻擊在 於,向儘可能多的目的地發送非期望的消息,所述消息是非期望的原因在於它們並不是被 要求的,諸如用於電子郵件的「垃圾郵件(spam)」或者用於網際網路電話呼叫的「垃圾電話 (spit)」。術語「非期望的」被廣泛使用,並且同樣地應用於消息的起源者的身份,並且應用 於消息的內容,該消息的起源者的身份可以是真實的或者偽造的。具體地,用於垃圾郵件/垃圾電話類型的攻擊的潛在性依賴於以下因素 在網際網路上使用的協議的弱點,諸如,簡單郵件轉移協議(SMTP),其處於用於轉 移電子郵件的最普遍使用中,並且具體地沒有合併用於對電子郵件的發送者進行驗證的功
計算機的功率上的增加,其可以在非常短的時段上按照自動的方式來成批地發 送非期望消息;以及 有權接入網際網路的網絡的數目上的增加、和這些網絡之間的連接性上的增加,由 此向攻擊者呈現了非常大數目的目標,所述攻擊者可以隱藏在相對鬆懈的(lax)或者超出 目標網絡的法定或管控界限的網絡之後。此外,類型「sende r. fr」的發送域不易於確定由連接到發送域的漫遊起源客戶端 供應的類型userioriginator. fr的地址是否是有效的,即是否實際上在域「originator. fr」中分配了該客戶端的地址,並且不易於確定該客戶端是否具有從這個地址發送消息的 權利發送域並不管理身份,即類型「originator.fr」的邏輯地址。攻擊者經常利用這個核查的難題,以在虛假的身份之下,從攻擊者有權接入的域中、或者實際上經由位於合法域中的被侵佔(corrupt)的機器來發送消息。例如,由攻擊者創建的網際網路域「domain, fr」完全適合於在具有呼叫者身份+332abcdefghidomain. fr的發送語音呼叫中使用,即使訂戶號碼「+332abcdefgh」事實上比方說是被分配到域「orange, fr」的。面對這種攻擊,要求主叫域添加數字籤名(參照網際網路工程任務組(IETF)文獻請求註解(RFC) 4474)是無效的,這是由於儘管它針對目的地保證了呼叫確實實際上來自「domain, fr」,但是它針對目的地沒有確保在這個域中事實上註冊了該主叫號碼。對於這個檢查的難題的一個解決方案在於,在發送域中動作為阻止其中起源地址沒有附接到發送域的任何消息的發送,然而,這個解決方案具體地在VoIP服務的移動性方面極為有限,該VoIP服務使得漫遊的終端能夠使用第三方中繼器(諸如,發送域),以便設立電話呼叫。這個情形引起了以下問題,即尋找使得目的域能夠確保已經在從其中正在發送消息的域中執行了充分檢查的部件。在本發明的上下文中,將術語「交易(transaction)」用於覆蓋所有的協議交換,所述協議交換使得能夠在會話的持續時間期間在兩個網絡實體A和B之間設立共享秘密 (secret)或「首要會話密鑰(key)」。交易對應於對會話進行初始化的階段,該會話可以比該交易持續長得多的時間。在描述的某些部分中,可以將術語「交易」和「會話」認為是等效的。出於簡化目的,還將首要會話密鑰稱作A與B之間的「會話密鑰」,而與可能向其應用的任何密鑰推導或密鑰多樣化操作無關。例如,可以將會話密鑰用於推導用於在實體A與B之間設立安全連接(傳輸層安全(TLS)、網際網路協議安全(IPSec等))的其它秘密密鑰。作為另一示例,會話密鑰可以用來保證由實體A (起源客戶端)發送到實體B (目的客戶端)的原始消息的機密性或完整性;從起源客戶端發送到一個或多個目的客戶端的每一個新的原始消息對應於新的交易;相反地,不將重複協議步驟(例如,作為網絡問題的結果)認為是新的交易。原則上,自然地,網絡實體可以藉助於公共密鑰基礎設施(PKI)來驗證另一網絡實體。然而,公知的是,將PKI付諸實施和使用是麻煩的。在變體中,某些方法(諸如,迪菲-赫爾曼(Diffie-Hellman)算法)使得兩個實體當在它們之間交換任何原始消息以前共同地確定會話密鑰。然而,這樣的算法自身上沒有向實體A給予關於與之如此建立會話密鑰的實體B的身份的任何保證。在變體中,在具有小數目的用戶的網絡(諸如,對等網絡)中,可能規定用於每對所 關注實體的共享秘密密鑰的「手動」安裝(例如,通過現場訪問)。然而,這樣安裝共享秘密密鑰不適合於具有大數目的用戶的網絡。良好地適於具有大數目用戶的網絡的解決方案在於,設立通常稱作「密鑰分發中心」的受信任第三方。試圖利用這個安全通信服務的每個網絡實體A向密鑰分發中心發出預訂,並且結果地,在預定持續時間中或在預定交易中,獲得在A和與密鑰分發中心相關聯的授權伺服器S之間共享的秘密密鑰KSA。有利地,當在涉及密鑰分發中心的參與的逐交易的基礎上使得通信安全的情況下,對於此服務的訂戶不需要存儲與其它訂戶相關的秘密或證書。此外,取決於需要,該密鑰分發中心可以按照安全的方式來將秘密密鑰傳送到處於其 控制之下的支持實體(存儲器、網關等),或者傳送到法定實體,以便截取某些通信。由於密鑰分發中心持有所有的訂戶秘密密鑰,所以清楚的是,實質上要有力地防止它遭受任何敵對入侵,然而,這並不表現任何特定的難題。藉助於示例,用於預訂服務的兩個實體A與B之間的安全通信的一個這種方法已知名稱為「Kerberos」(參照IETF文獻RFC 4120)。該Kerberos方法實質上包括以下步驟I)實體A作為標識符IDa的持有者來向授權伺服器S標識它自身並且驗證它自身(在將它自身尋址到與授權伺服器S相異的驗證伺服器之後);授權伺服器S確定它與此實體A共享的秘密密鑰Ksa ;2)實體A向授權伺服器S宣告用幹與某ー實體B進行通信的它的意圖;授權伺服器S確定它與實體B共享的秘密密鑰Ksb ;3)授權伺服器S生成會話密鑰Kab,並且使用所述秘密密鑰Ksa、按照加密的形式來 將它發送到實體A ;4)授權伺服器S還生成「票券(ticket)」 T,該「票券」 T至少包括實體A的所述標識符IDa和所述會話密鑰Kab ;授權伺服器S使用所述秘密密鑰Ksb來向實體A發送作為對所述票券T進行加密的結果的檢查數據CHECKa ; 5 )實體A使用它的秘密密鑰Ksa來對會話密鑰Kab進行解密,並且它向實體B發送(實體A預先已經從授權伺服器S接收到的)數據CHECKa、以及作為使用會話密鑰Kab的結果的數據S A,以對至少包括它自己的標識符IDa的元素的集合進行加密;以及6)實體B使用它的秘密密鑰Ksb來對票券T進行解密;會話密鑰Kab然後使得它能夠對實體A的標識符IDa進行解密;實體B核查此標識符實際上與在票券T中包含的那個標識符相同;如果實體B核准該交易,則它向實體A通知此核准。然後,實體A可以結束與實體B的交易。例如,如果實體B是服務的供應者,則實體A可以通過與實體B交換數據,來請求某一具體服務並且獲得它,該數據是使用會話密鑰Kab來加密的。作為另ー示例,如果實體B正在期望來自實體A的文檔,則實體A可以向實體B發送原始消息,其伴隨有如藉助於會話密鑰Kab所獲得的該原始消息的消息驗證代碼(MAC)(在此方面應該回憶起,按照傳統的方式,MAC是短值,一般地該短值佔用幾十比持,該短值是根據在消息中包含的數據並且根據在消息的發送者與接收者之間共享的秘密密鑰、通過使用密碼算法而推斷出的;通過發送伴隨有它的驗證代碼的消息,發送者使得接收者能夠核查出數據並非來自任何其它實體,並且核查出它尚未在正被發送與正被接收之間受到篡改)。因而,Kerberos方法規定首先將會話密鑰直接傳送到實體A、並且其次將它間接地傳送到(經由實體A而傳遞到)實體B ;因此,實體B無需與授權伺服器S進行通信,以便獲得會話密鑰。有利地,Kerberos方法還使得可能使實體B核查實體A的身份;此核查阻止了所謂的「網絡釣魚(phishing)」類型的攻擊,其中攻擊者初始地在其真正身份之下向授權伺服器S標識它自身,以便從伺服器獲得交易授權,並然後,在盜用的身份之下向實體B標識它自身(例如,通過將自身冒充為實體B的銀行,以便獲得機密銀行信息)。不過,Kerberos方法呈現出以下缺點,即實體B仍然容易受到浸灌攻擊(floodingattack)。在重新考慮上面的第6個步驟時,可以看出,在它能夠標識攻擊之前,實體B必須執行跟隨有核查匹配的操作的兩次解密操作。不幸的是,解密操作在計算時間方面成本很高,使得攻擊者可以通過向實體B重複地發送任意數據CHECKa和5 A來淹沒(submerge)實體B。更為不幸的是,攻擊者可以向實體B發送攻擊者預先在由合法的實體A發起的交易期間已經讀取或截取的數據CHECKa和Sa (回放攻擊)在這種情況下,攻擊者不但浸灌(flood)了實體B,而且浸灌了合法的實體A,該實體A按照重複的方式而從實體B接收確認消息Kerberos方法的版本5通過推薦將時間和日期戳插入在數據S A中而確實防止合法實體A受到浸灌攻擊,然而,這進一步增加了實體B上的負擔,這是由於它必須核查它從某ー實體A接收到的連續數據項8 A,全部都呈現出不同的時間戳,由此僅僅使得實體B的浸灌更加惡化
發明內容
因而,本發明提供了一種用於在電信網絡中使用的安全通信方法,其中,所述網絡的實體A與實體B之間的交易包括以下步驟a)該實體A向授權伺服器S發送授權請求,在該請求中,該實體A作為標識符IDa的持有者來標識它自身並且驗證它自身;b)該實體A向該授權伺服器S宣告用幹與某ー實體B進行通信的它的意圖;該授權伺服器S確定它與該實體B共享的秘密密鑰Ksb ;以及c)該授權伺服器S生成會話密鑰Kab,N,並且將它發送到實體A。所述方法的值得注意之處在於,所述會話密鑰Kab,,是所述秘密密鑰Ksb的單向函數,並且還是向所述交易分配的整數N的函數,該整數被稱作交易編號,並且該方法還包括以下步驟d)該授權伺服器S還生成交易標識符IDTRn,該交易標識符IDTRn是按照不可逆的方式而至少取決於所述交易編號N的函數;e)該授權伺服器S使得元素到達該實體B,該元素至少包括所述交易標識符IDTRn ;以及f)該實體B至少核查在上面步驟e)期間所接收到的交易標識符IDTRn的值顯現在由該實體B所預先計算的並且與用於交易編號的至少ー個所預測的值對應的值的集合內;如果是這樣,則該實體B根據其來首先推斷出該交易編號N的當前值,井隨後推斷出該會話密鑰Kab, N的值。清楚的是,步驟b)不必須發生在步驟a)之後。相似地,步驟d)不必須發生在步驟c)之後。應該觀察到,可以通過任何已知的驗證部件來評估實體A的真實性。此外,(按照與Kerberos方法類似的方式),它可以通過向與授權伺服器S相異的驗證伺服器做出預先的查詢來執行。在實踐中,並且針對密碼分離需求,還應該觀察到,它不必是用於對實體A與B之間的交換進行加密的(首要)會話密鑰Kab,N,而是相反地,當適當吋,它可以是根據Kab,N所推導出的ー個或多個密鑰。出於簡化目的,在本文獻中沒有總是描述根據首要密鑰所推導出的密鑰,而是應該隱含地理解用於對密鑰進行推導或多祥化的現有技術操作,只要給定的共享秘密用於實現多個秘碼函數。因而,在本發明中,針對通過它的標識符N所標識的每個新的交易,該授權伺服器S將會話密鑰Kab,N供應到實體A,而不是供應到實體B。與Kerberos方法不同的,本發明的實體B擁有它自己的部件,以用於根據它與授權伺服器S共享的秘密密鑰Ksb、並且根據在接收到交易標識符IDTRn之後實體B所確定的當前交易編號N來計算此會話密鑰。藉助於本發明,可能受益於「密鑰分發中心」類型的安全通信方法的上述優點。具體地,在預訂了安全通信服務的任何實體可以與另一訂戶實體進行通信之前,需要它的核查,由此提供了用於那個其它身份的安全性保證。
此外,本發明有利地消除了與實體B對於浸灌攻擊的易受性相關的Kerberos方法的上述缺點。在本發明中,在上面的步驟e)期間,實體B直接地、亦或經由另一實體來從授權伺服器S接收交易標識符IDTRn,該另ー實體有利地可以是實體A (參照下面詳細描述的實施例)。此外,實體B計算用於交易編號中的至少ー個值N的交易標識符IDTRn的值,該值被設計為從在先前交易中使用的值繼續下去。在給定用於混亂(當一個或多個實體A已經在短時間段上發起了全部都尋址到相同實體B的多個交易時,在到達實體B處時可能出現該混亂)的潛在性的情況下,優選地,使得實體B預先計算用於包括整數N的多個值的預定序列的交易標識符IDTRn的值的集合,並且在接收到某一交易標識符IDTRn之後,使得它通過徹底掃描用於IDTRn的它的值的集合來標識哪ー個交易編號N對應於所接收到的交易標識符。在此方面應該回憶起,IDTRn的值是按照不可逆的方式而至少取決於整數N的函數,使得不可能通過對該函數進行逆轉來根據IDTRn的值而計算整數N的值,也不可能在給定先前值IDTRu U彡0)中的ー些或所有值的知識的情況下,計算值IDTRN+i (i>0)中的任何值。藉助於這些規定,在觀察到本該表現有效的交易標識符IDTRn的所接收到的值沒有顯現在預先計算的值的所述集合內時,實體B可以容易地檢測到攻擊(S卩,在幾次計算操作之後)(如上面所解釋的,攻擊者具有極小的機會來猜測出用於給定實體B的在給定時刻處可接受的交易編號值N,使得攻擊者不能計算用於IDTRn的可接受的值,即使使得其中交易標識符IDTRn取決於N的方式為公共的)。這用來防止預訂了安全通信服務的實體受到浸灌攻擊。與Kerberos方法相比,本發明的附加優點在於協議消息的尺寸(按照比特的數目)。在Kerberos方法中,實體A向實體B發送如通過對票券T進行加密所計算的數據CHECKa ;然後,該票券T必須具有大的尺寸,這是由於它具體地包括會話密鑰Kab。此大的尺寸可能引發對於利用非連接傳輸模式的某些架構(例如,將會話初始化協議(SIP)用於信令的那些架構)的問題,其中信令消息的額定尺寸有時阻止插入大量數據。相對地,在本發明中,實體A有利地不需要向實體B發送會話密鑰U,,。此外,同樣地,在上面的步驟e)期間從授權伺服器S到實體B的交易標識符IDTRn的(直接或間接)傳送不需要大尺寸的任何消息,這是由於交易標識符IDTRn可以是適度尺寸(典型地,幾個字節)的函數,同時在密碼學上講,提供了優秀的安全性。當底層傳輸協議無法確保授權伺服器S與實體A之間的交換的機密性時,授權伺服器S在上面的步驟c)期間動作為優選地按照藉助於在授權伺服器S與實體A之間共享的秘密密鑰Ksa (或者藉助於根據此秘密密鑰Ksa所推導出的密鑰)所計算的機密形式0P,來向實體A發送所述會話密鑰Kab, N。在這種情況下,實體A自然地利用它的秘密密鑰Ksa,以便獲得會話密鑰Kab, N。根據具體特性,由該實體A向該實體S發送的所述授權請求包括請求標識符IDREQm,該請求標識符IDREQm是按照不可逆的方式而至少取決於向所述授權請求分配的、並且被稱作授權編號的整數M的函數。藉助於這些規定,還防止授權伺服器S遭受浸灌攻擊。在應用了與實體A相關聯的預定序列的情況下,在觀察到本該是請求標識符IDREQm的所接收到的值沒有對應於用於從預先所使用的授權編號繼續下去的授權編號M的值中的任何值時,授權伺服器S可以容易地檢測到攻擊(即,它需要執行幾次計算操作)。根據更加具體特性,在上面的步驟c)期間,該授權伺服器S還向該實體A發送授權標識符IDAUTm,該授權標識符IDAUTm是按照不可逆的方式而至少取決於所述授權編號M的函數。藉助於這些規定,還防止實體A遭受浸灌攻擊。在觀察到本該表現值授權標識符IDAUTm的所接收到的值沒有對應於用於授權編號M的可接受的值(S卩,向由實體A預先發送到授權伺服器S的授權請求分配的M的值)吋,實體A容易地檢測到攻擊(即,它具有要執行的幾次計算操作)。根據其它具體特性,對在上面的步驟e)期間向該實體B發送的所述元素中的所有或ー些元素進行完整性保護。藉助於這些規定,防止這些元素遭受任何變更;幾乎任何這種變更將導致交易失敗。具體地可以藉助於MAC代碼來執行此完整性保護。根據更加具體特性,藉助於所述會話密鑰Kab,N或根據所述會話密鑰Kab,,所推導出的密鑰來執行所述完整性保護。藉助於這些規定,實體B可以確信已經向它發送了包括有效交易標識符IDTRn的元素的實體實際上具有與當前交易相關聯的會話密鑰Kab,N。出於簡化的原因,這些規定還使得可能不受阻礙地向實體B發送交易標識符IDTRn。根據又一具體特性,在上面的步驟e)期間該授權伺服器S使得到達該實體B的所述元素還包括檢查數據CHECKa,N,該檢查數據CHECKa,N取決於該交易編號N並且藉助於密碼函數來推斷,該密碼函數取決於根據所述秘密密鑰Ksb所推導出的秘密密鑰KsUh6dt,所述秘密密鑰Ksb來自從所述授權請求、並可選地從該交易編號N所選取的元素的集合。應該觀察到,為了這麼做,可能設想(至少)兩個變體。在第一變體中,應用了所述密碼函數的變量僅僅包括從所述授權請求中選取的元素在這種情況下,必須使得秘密密鑰(然後,其寫為、,)成為交易編號N的(以及秘密密鑰Ksb的)單向函數。在第二變體中,將交易編號N實際上包括在應用了所述密碼函數的變量之中在這種情況下,所述秘密密鑰KsUhedt不必取決於N,並且只需要是秘密密鑰Ksb的單向函數。藉助於這些規定,授權伺服器S可以向實體B證明它已經實際上授權了該交易,並且可以向它通知關於它為了這麼做所依賴於的信息。根據又一具體特性,該實體A使得該實體B接收該實體A的所述標識符IDa、亦或根據其所推導出的標識符ID』 A,例如,該標識符用於隱私性需求。藉助於這些規定,向實體B通知已經發起與其的交易編號N的實體A的身份。根據更加具體特性 根據其來推斷出所述數據CHECKa,N的元素的所述集合包括該實體A的標識符IDa或所述所推導出的標識符ID』 A ;以及
在所述步驟f )期間,該實體B使用所述秘密密鑰Ksb,N來核查在首先的如上面所簡要描述地從授權伺服器S (直接或間接)接收到的數據CHECKa, N、與其次的如上面所簡要描述地從該實體A接收到的包括該標識符IDa或所推導出的標識符ID』 A的所述元素之間的
一致性。藉助於這些規定,實體B可以核查授權伺服器S實際上在相同的身份IDa或ID』 A(「反網絡釣魚」)之下授權了嘗試與該實體B通信的實體A。因而,在本發明的此實現中使用的機制等效於在通過對票券T進行解密的Kerberos中使用的機制。相對地,在Kerberos中,實體A知道票券T的值和利用秘密密鑰Ksb來對票券T進行加密的結果CHECKa ;如果實體A是欺詐的(並且具有可用的強大的計算部件),則它可以能夠通過強カ攻擊(bruteforce)或通過ー些其它密碼部件、根據其來推斷出Ksb (這是由於加密算法原則上是公共的)。 即使在其中通過經由實體A進行中繼來將數據CHECKa,N從授權伺服器S傳送到實體B的實現中,本發明也解決了這個問題。儘管在用於計算CHECKa, N的第一上述變體中真實的是,實體A知道CHECKa,N以及應用了所述密碼函數的變量,但是也無法幫助實體A根據其來推斷出秘密密鑰Ksb,N的值,這是由於不可能根據這個秘密密鑰來計算「父(parent)」秘密密鑰Ksb、乃至KSB,N+1、乃至當前交易編號N。在用於計算CHECKa,N的第二上述變體中,實體A甚至不知道應用了所述秘密函數的所有變量,這是由於它不知道當前的交易編號N。還應該觀察到,與Kerberos方法的數據CHECKa不同地,這個數據CHECKa,N在尺寸上可以是適度的,這是由於它不必是對秘密密鑰進行加密的結果。對應地,本發明還提供了各個裝置。因而,本發明首先提供了一種被稱作授權伺服器的裝置,用於在實體A與實體B之間的交易期間在電信網絡中使通信安全,該裝置包括用於執行以下步驟的部件 對持有標識符IDa的實體A進行標識和驗證; 確定所述授權伺服器S與實體B共享的秘密密鑰Ksb,該實體A宣告用幹與該實體B進行通信的它的意圖;以及 生成會話密鑰Kab, N,並且將它發送到該實體A。所述裝置的值得注意之處在於,所述會話密鑰Kab,,是所述秘密密鑰Ksb的單向函數,並且還是向所述交易分配的並且被稱作交易編號的整數N的函數,並且該裝置還包括用於執行以下步驟的部件 生成交易標識符IDTRn,該交易標識符IDTRn是按照不可逆的方式而至少取決於所述交易編號N的函數;以及 使得所述交易標識符IDTRn到達所述實體B。其次,本發明還提供了一種被稱作實體B的裝置,用於在電信網絡中使通信安全。所述裝置的值得注意之處在於,它包括在涉及所述實體B和實體A的交易期間、用於執行以下步驟的部件 接收包括由授權伺服器S生成的交易標識符IDTRn的元素,所述交易標識符IDTRn是按照不可逆的方式而至少取決於向所述交易分配的並且被稱作交易編號的整數N的函數; 核查所接收到的交易標識符IDTRn的值顯現在由該實體B所預先計算的並且與用於所述交易編號的至少ー個所預測的值對應的值的集合內; 根據其來推斷出該交易編號的當前值N ;以及 根據其來推斷出會話密鑰Kab,N,該會話密鑰Kab,,首先是該交易編號N的函數,並且其次是由該實體B和所述授權伺服器S共享的秘密密鑰Ksb的單向函數。第三,本發明還提供了一種被稱作實體A的裝置,用於在電信網絡中使通信安全,該裝置包括在涉及所述實體A和實體B的交易期間、用於執行以下步驟的部件 作為標識符IDa的持有者來向授權伺服器S標識它自身並且驗證它自身; 向所述授權伺服器S宣告用幹與某ー實體B進行通信的它的意圖;以及 從該授權伺服器S接收會話密鑰Kab,N。 所述裝置的值得注意之處在於,所述會話密鑰Kab,,是由該授權伺服器S和該實體B共享的秘密密鑰Ksb的單向函數,並且還是向所述交易分配的並且被稱作交易編號的整數N的函數,並且該裝置還包括用於執行以下步驟的部件 從該授權伺服器S接收交易標識符IDTRn,該交易標識符IDTRn是按照不可逆的方式而至少取決於所述交易編號N的函數;以及 向該實體B發送至少包括所述交易標識符IDTRn的元素。因而,此第三裝置與如上面簡要提及的本發明的實現相關聯,在該實現中,經由實體A來對從授權伺服器S到實體B的交易標識符IDTRn的傳送進行中繼。本發明還提供了一種組合了上面所簡要描述的最後兩個裝置的部件的裝置;取決於各情況,這種裝置可以運轉為起源實體A或目的實體B。這些裝置所提供的優點實質上與上面所簡要描述的對應方法所提供的那些優點是相同的。應該觀察到,可能藉助於軟體指令和/或藉助於電子電路來實現本發明的安全通ィ目方法。因而,本發明還提供了一種可從通信網絡上下載的、和/或在計算機可讀介質上存儲的、和/或由微處理器可執行的電腦程式。該電腦程式的值得注意之處在於,它包括用於實現在上面所簡要描述的安全通信裝置的任何安全通信裝置中包括的所述部件的指令。由該電腦程式提供的優點實質上與所述裝置所提供的那些優點是相同的。
一旦閱讀了作為非限制性示例而給出的具體實施例的以下詳細描述,本發明的其它方面和優點顯現。該描述參考以下附圖,其中 圖I是應用了本發明的電信網絡和主要實體的示意表現; 圖2是本發明第一實現中的安全通信方法的步驟的圖;以及 圖3是本發明第二實現中的安全通信方法的步驟的圖。
具體實施例方式圖I所示的系統包括至少三個實體,所述至少三個實體經由通信網絡(例如,網際網路類型的網絡)而進行互聯。該方法具體地有利於非連接傳輸模式,但是它也適用於連接傳輸模式。實體A和B預訂相同的安全通信服務。按照傳統的方式,它們中的每ー個使用終端或伺服器,例如,該終端或伺服器適合於在固定或移動的信道上發送或接收任何類型(諸如,電子郵件或電話呼叫)的消息。在本發明的上下文中,並且為了簡化描述,應該觀察到統一地使用術語「伺服器」,以指定任何類型的計算機裝置,並不只是傳統地在「伺服器」的名稱之下已知的那些計算機裝置。在實踐中,實體A可以動作為用於連接到實體A的實體A』的伺服器或中繼器;同樣地,實體B可以動作為用於連接到實體B的實體B』的伺服器或中繼器。
實體S是「授權伺服器」(在實踐中,其自然地可以由多個物理伺服器組成)。此實體S使得任何訂戶實體A能夠按照安全的方式而與任何訂戶B進行通信;此外,它防止實體B免於接收到非期望的消息。取決於應用和部署場景,實體S可以獨立於實體A和B所屬的網絡或應用域,或者實體S可以形成與實體A和/或實體B相同的網絡或應用域的部分。優選地,授權伺服器S考慮被稱作「授權編號」的整數值的序列,以單獨地用於預訂了安全通信服務的每個實體。授權編號M用來對由訂戶實體A (或當適當時,對其而言、訂戶實體A動作為伺服器或中繼器的實體)所發起的交易進行排序。在該方法的初始化吋,實體S和A協定初始的授權編號Mci,優選地,該初始的授權編號M0根據實體A的不同而變化。其後,在毎次交易時,通過可以為公共的算法來修改授權編號M ;例如,在毎次新的交易時,可以將M遞增1,然而,該算法也可以根據實體A的不同而變化,在該情況下,它需要形成在實體S與A之間共享的秘密的部分。在任何事件中,絕不將授權編號從ー個實體傳送到另ー個實體。藉助於這些規定,攻擊者不可能找出實體A的授權編號的當前值。同樣地,授權伺服器S考慮已知為「交易編號」的整數值的序列,以單獨地用於預訂了安全通信服務的每個實體。交易編號N用來對其中訂戶實體B參與的、但是是由除了實體B之外的訂戶實體(或當適當時,對其而言、訂戶實體B動作為伺服器或中繼器的實體)所發起的交易進行排序。在該方法的初始化吋,實體S和B協定初始的交易編號Ntl,優選地,該初始的交易編號Ntl根據實體B的不同而變化。其後,在毎次交易時,使用可以為公共的算法來修改交易編號N ;例如,在毎次新的交易時,可以將N遞增1,然而,該算法也可以根據實體B的不同而變化,在該情況下,它需要形成在實體S與B之間共享的秘密的部分。在任何事件中,絕不將交易編號從ー個實體傳送到另ー個實體。藉助於這些規定,攻擊者不可能找出實體B的交易編號的當前值。在由實體A向S發送的授權請求以後,授權伺服器S必須對具有交易編號N的交易進行授權。如果核准,則授權伺服器S通過向實體A提供用於與實體B聯繫所需的信息來回復此授權請求。在每次交易期間,在實體A的標識之後,授權伺服器S確定它與實體A共享的長期秘密密鑰Ksa。這個長期秘密密鑰Ksa使得當需要時、能夠推導出所使用的其它秘密密鑰,以確保在A與S之間交換的消息的完整性或機密性。同樣地,存在在實體S與B之間共享的長期共享秘密Ksb。此長期秘密密鑰Ksb使得當需要時、能夠推導出所使用的其它秘密密鑰,以確保在S與B之間(直接或間接)交換的消息的完整性或機密性。針對編號M的每個授權,實體S和A優選地能夠通過使用可以為公共的算法而獨立地動作為生成 「請求標識符」 IDREQm,其必須至少取決於M,並且必須藉助於算法來生成,使得即使已知在先前交易中使用的IDREQm的ー個或多個值,也不可能根據其來推斷M的當前值、或值 IDREQM+i (i>0);以及 「授權標識符」 IDAUTm,其必須至少取決於M,並且必須藉助於算法來生成,使得即使已知在先前交易中使用的IDAUTm的ー個或多個值,也不可能根據其來推斷M的當前值、或值 IDAUTM+i (i>0)。同樣地,針對編號N的任何交易,實體S和B能夠通過使用可以為公共的算法而獨立地動作為生成「交易標識符」 IDTRn,其必須至少取決於N,並且必須藉助於算法來生成,使得即使已知在先前交易中使用的IDTRn的ー個或多個值,也不可能根據其來推斷當前值N、或值 IDTRN+i (i>0)。為了實現更大的安全性,可能使得交易標識符IDTRn既取決於交易編號N又取決於秘密密鑰Ksb。此外,實體S和B能夠使用可以為公共的算法而獨立地動作為生成用於當前交易和會話的在實體A與B之間使用的(首要)會話密鑰Kab,,;該會話密鑰必須至少取決於N並且取決於KSB,並且它必須藉助於算法來生成,使得即使已知KAB,N的值和N的值,也不可能根據其來推斷Ksb的值。按照傳統的方式,首要會話密鑰(或交易密鑰)Kab,,使得當需要時、能夠推導出所使用的其它秘密密鑰,以用於確保在A與B之間交換的消息的完整性或機密性。圖2是本發明方法的第一實現的步驟的圖,其中實體A對從授權伺服器S到實體B的交易標識符IDTRn的傳送進行中繼。本實現的主要目的在於,在實體A與B之間安裝會話密鑰KAB,N,以用於編號N的交易,並且按照安全的方式來這麼做,以便隨後在從本發明的觀點來看、不具有重要性的會話期間,由實體A與B利用這個會話密鑰KAB,N (其中,這種使用例如可以是多媒體流或電子支付的機密傳送)。作為具體示例,假設「起源客戶端」實體A試圖向ー個或多個「目的客戶端」實體B發送「起源消息」MES。下面描述了此實現的主要步驟。在第一步驟El期間,授權伺服器S對新的交易進行驗證和授權。更精確地,在子步驟El. I期間,實體A通過向授權伺服器S發送授權請求REQ來發起交易,它與該授權伺服器S共享秘密密鑰KSA。此授權請求REQ包含用於使得授權伺服器S能夠對實體A進行驗證的元素INFO中的至少ー個,這些元素至少包括此實體的標識符IDa。優選地,授權請求REQ還包含如上所述的、並且針對當前授權編號M(即,第一值M,使得實體A已經預先在授權編號的預定序列中發送了在這個值M以前的授權編號的所有請求)所計算的請求標識符idreqm。授權請求REQ還可以包含用於表徵消息MES的或使得對實體B進行標識的信息。最終,當底層傳輸協議無法確保A與S之間的交換的完整性吋,授權請求REQ優選地包含對於請求REQ的上述元素中的所有或ー些元素所計算的驗證代碼MACl。為此目的, 利用根據秘密密鑰Ksa所推導出的秘密密鑰,如果該密鑰取決於M (其優選地是在安全性方面),則將它寫為KSA,M,ma,並且如果該密鑰不取決於M,則將它寫為KSA,Ma (以便簡化由該方法所需的計算)。與實體A和B的標識符有關的,還應該可以觀察到 在某些情況下,實體A無法知道它的原始消息MES的目的客戶端的完整身份;然後,由授權伺服器S來確定此身份; 在某些情況下,出於隱私性的原因,可能的是,不向實體B揭露實體A的標識符IDa,或者實體A要求授權伺服器S在「所推導的標識符ID』 A」之下向實體B介紹實體A ;以及 當適當時,並且取決於所考慮的架構,A或B的標識符可以被取代或者與A』或B』的身份相關聯(參照圖I的上面描述)。 在子步驟El. 2期間,在接收到授權請求REQ時,授權伺服器S作為在該請求中包含的信息的函數來決定是否授權該交易。具體地,如果授權請求REQ包括請求標識符IDREQm,則授權伺服器S比較它的值和它針對授權編號M的(多個)值而計算或已經預先計算的請求標識符,在與實體A所協定的序列中,該授權編號M要跟隨在已經預先使用的授權編號以後。當底層傳輸協議是非連接的時,明智的是,做出用於M的這種值的某一預定窗ロ的規定,這是由於以下情況可能出現,即授權伺服器S沒有按照其中實體A發送授權請求REQ的順序而接收到它們;此操作標識出與目前授權請求REQ相關聯的授權編號M的值。如果所接收到的授權請求REQ與驗證代碼MACl相關聯,則授權伺服器S核查與授權請求REQ有關的元素的完整性。當必要時,授權伺服器S確定(多個)目的客戶端B或(B』)的身份。最終,並且可選地,授權伺服器S核查與實體A相關的實體B的任何黑名單或白名單,例如以覆蓋以下情形,其中具體地,實體B已經宣告它拒絕與實體A的所有交易。如果授權了交易,則授權伺服器S在步驟E2期間動作為向實體A發送授權響應RESP,該響應至少包含會話密鑰Kab,N。當底層傳輸協議無法確保授權伺服器S與實體A之間的交換的機密性時,授權伺服器S向實體A發送處於寫為OP的機密形式中的會話密鑰Kab,N。為了這麼做,一個解決方案僅僅在於,使用利用所述秘密密鑰Ksa的或者根據所述秘密密鑰Ksa所推導出的密鑰的算法來對會話密鑰KAB,N進行加密。然後,實體A可以藉助於使用秘密密鑰Ksa的或者根據秘密密鑰Ksa所推導出的所述密鑰的解密算法,根據此加密形式來計算會話密鑰Kab,N。不過,這種解決方案在計算方面十分貪求。在變體中,因此,優選地使用以下解決方案,該解決方案在於,藉助於作為秘密密鑰Ksa的和授權編號M的單向函數的密鑰Ksa, M的值來對會話密鑰Kab, N進行可逆地掩蔽(mask):換言之,在此第二變體中,OP是與ー個或多個操作對應的公共值,當應用於所述密鑰Ksa,M吋,該ー個或多個操作使得能夠獲得會話密鑰Kab,N。例如,可以做出規定,使得密鑰Ksa,M具有與Kab,,相同數目的比持,並且使得僅僅通過使用以下公式來計算所掩蔽的值OP OP-Ksa, M XOR Kab, N其中,符號「 X0R」指定了按位相加(還已知為「異或」操作)。在此示例中,可以通過使用以下公式,根據Ksa,M並且根據OP來恢復Kab,N
Kffij N-KSA;M XOR OP從安全性的觀點來看,「傾聽(listen in)」授權伺服器S與實體A之間的交換的攻擊者將知道值0P,但是這種攻擊者無法根據其來推斷出KAB,N,這是由於攻擊者不知道Ksa, (其中,通過窮舉搜索進行的發現KSA,M具有與發現Kab,,相同數量級的複雜度)。此第二變體還具有以下優點,即授權伺服器S與實體A可以預先計算用於授權編號M的任何值的密鑰KSA,M,而與交易編號N無關;其後,授權伺服器S可以容易地計算值0P,並且實體A可以根據值OP而容易地推斷出會話密鑰Κι,。可以與其它操作並行地執行密鑰KSA,Μ的此預先計算,而在第一變體中,需要與發送和接收授權響應RESP聯合地執行對密鑰Kab,,進行加密和解密。此外,與上述交易標識符IDTRn有關的是,在此第一實現中,授權伺服器S還動作為將此交易標識符IDTRn傳送到實體Α,該實體A負責在下面描述的子步驟Ε3. 2期間將它中繼到實體B。 應該觀察到,可選地,可能不受阻礙地傳送交易標識符IDTRn。不過,當底層傳輸協議無法確保授權伺服器S與實體A之間的交換的機密性吋,如果攻擊者曾能夠讀取到它的值,則該攻擊者可以非常快速地動作為將ー個或多個無效消息發送到實體B,因而使得在實體B接收到實體A所發送的合法消息之前、實體B能夠接收到所述ー個或多個無效消息。實體B將檢測到這種攻擊,但是只有在執行了附加的核查之後(參見下面),這是由於交易標識符IDTRn的值將顯現為是正確的。因而,實體B將暴露在通過浸灌進行的攻擊的風險之下。因而,在所考慮的情況下,按照和與保護會話密鑰Kab,,相關的上面兩個變體類似的方式,授權伺服器S優選地在藉助於秘密密鑰Ksa或根據此秘密密鑰Ksa所推導出的秘密密鑰、來對交易標識符IDTRn進行加密或對它進行掩蔽之後,將它發送到實體A。如果授權請求REQ包括請求標識符IDREQm,則授權響應RESP還包含使用用於授權編號M的相同值所計算的上述授權標識符IDAUTm。授權響應RESP還可以包含·用於核查目的在授權請求REQ中包含的信息INFO的子集INFO』 ;以及 檢查數據CHECKa,N,其是通過以下方式來推斷出的,即,使用取決於根據所述秘密密鑰Ksb並且根據交易編號N所推導出的秘密密鑰KSB,N的密碼函數,並且優選地和在由授權伺服器S和實體B進行的毎次交易期間同時生成的隨機數(該隨機數通過對數據CHECKa,N進行逆轉來阻止惡意的實體A發現秘密密鑰KSB,N)—起,來將該函數應用於從授權請求REQ所抽取出的元素的集合。如上所述,可能設想本發明的應用,其中對實體進行授權,以針對實體B而保持匿名;在這種情況下(並且可能地,同樣在其它情況下),從授權請求REQ抽取的並且進行加密以提供數據CHECKa, N的所述元素不包含實體A的任何標識符,它們也不包含實體A的所述所推導出的標識符ID』A。最終,當底層傳輸協議無法確保A與S之間的交換的完整性時,授權響應RESP優選地包含對於響應RESP的上述元素中的所有或ー些元素所計算的驗證代碼MAC2。為了這麼做,利用根據秘密密鑰Ksa所推導出的秘密密鑰,如果該密鑰取決於M(其優選地是在安全性方面),則將它寫為KSA,M,me2,並且如果該密鑰不取決於M,則將它寫為KSA,Me2 (以便簡化由該方法所需的計算)。
在步驟E3中,實體A從授權伺服器S接收授權響應RESP,並且向實體B發送「所驗證的消息」 AM。更精確地,在子步驟E3. I期間,並且在接收到授權響應RESP之後,實體A優選地執行以下核查 如果所接收到的授權響應RESP包含授權標識符IDAUTm,則實體A比較它的值和它針對與由該實體向授權伺服器S發送的、並且對於其而言實體A尚未接收到授權響應的較早授權請求相關聯的M的值而計算的或已經事先計算的授權標識符;此操作標識出與目前授權響應RESP相關聯的授權編號M的值;
如果所接收到的授權響應RESP包含本該屬於在授權請求REQ中包含的信息的子集的數據,則實體A核查此信息實際上對應於它預先已經發送的授權請求REQ ;以及 如果所接收到的授權響應RESP與驗證代碼MAC2相關聯,則實體A核查與授權響應RESP有關的所有元素。如果這些核查是肯定的,則在子步驟E3. 2期間,實體A從授權響應RESP中提取會話密鑰Kin (當適當時,經由該機密值OP來傳遞,如上所述);交易標識符IDTRn ;以及當適當時的數據CHECKa, N。然後,實體A向實體B發送「所驗證的消息」 AM,該消息AM包括原始消息MES、交易標識符IDTRn、和當適當時的數據CHECKa,N。當底層傳輸協議無法確保A與B之間的交換的完整性時,所驗證的消息AM優選地包含對於此消息AM的上述元素中的所有或ー些元素所計算的驗證代碼MAC3 ;為了這麼做,有利地,利用會話密鑰Kab,N,或者利用根據該會話密鑰Kab,N所推導出的秘密密鑰KAB,N,mc。除了當需要完全的隱私性時之外,所驗證的消息AM包括實體A的標識符IDa或所推導出的標識符ID』a。自然地,此標識符自身就可以形成被用作用於計算驗證代碼MAC3的基礎的所述元素的部分。在變體(具體地,參照下面描述的架構示例)中,應該觀察到,可以由除了實體A自身之外的所授權的實體(例如,另ー網絡伺服器)來發送所驗證的消息AM。下面,參考圖3來描述其中授權伺服器S 「直接地」發送所驗證的消息AM的情形。在步驟E4中,實體B接收所驗證的消息AM,並且確定會話密鑰。更精確地,在子步驟E4. I期間,在接收到所驗證的消息AM之後,實體B核查所接收到的元素IDTRn實際上對應於所期望的交易標識符。優選地,實體B預先計算用於值N的預定序列的值IDTRn。如果所接收到的值IDTRn是有效的,則實體B根據其來推斷出交易編號的當前值N,並且可選地和與此交易相關聯的所述秘密密鑰Ksb,N和/或所述秘密密鑰Kab,N,M。一起,來恢復或計算會話密鑰Kab,N。可選地,然後,實體B核查 實體B已經接收到的信息與驗證代碼MAC3 (當存在吋)並且與會話密鑰Kab,N或秘密密鑰Kab, N,M。一致;和/或 實體B已經接收到的信息與數據CHECKa, N (當存在吋)並且與秘密密鑰KSB,N —致。具體地,當適當吋,實體B使用所述秘密密鑰Ksb, n來核查首先的數據CHECKa, n與其次的包括如從實體A所接收到的標識符IDa或所推導出的標識符ID』 A的元素之間的一致性。最終,如果這些核查是肯定的,則在子步驟E4. 2期間,實體B從所驗證的消息AM中提取原始消息MES,並且當適當時,將此原始消息MES傳送到目的客戶端B』。圖3是本發明方法的第二實現中的步驟的圖。在此實現中,「起源客戶端」實體A期望向ー個或多個「目的客戶端」實體B發送真正的原始消息MES。此外,在某些應用中(例如,如果消息MES是用於發起語音呼叫的請求),原始消息MES可以同時地動作為授權請求REQ。本實現與如上面參考圖2所描述的第一實現的實質不同之處在於,授權伺服器S 「直接地」向實體B傳送所驗證的消息AM,即沒有使用實體A作為中繼器。因而,此實現呈現出用於授權伺服器S的附加處理的缺點,但是仍然發現它在某些架構的情況下是實用的(參見以下示例)。接著是此實現的主要步驟的描述。第一步驟E』 I與第一實現的步驟El是類似的。不過,應該觀察到,在此第二實現中,實體A向授權伺服器S所發送的授權請求REQ總是完整地包含原始消息MES。第二步驟E』 2與第一實現的步驟E2是類似的,除了授權響應RESP既不包含交易標識符IDTRn、也不包含數據CHECKa,N之外。在步驟E』 3期間,授權伺服器S 「直接地」向實體B傳送所驗證的消息AM,此消息包括原始消息MES、交易標識符IDTRn、和當適當時的數據CHECKa,N。當底層傳輸協議無法確保S與B之間的交換的完整性時,所驗證的消息AM優選地包含對於此消息AM的上述元素中的所有或ー些元素所計算的驗證代碼MAC3;為了這麼做,如在第一實現中一祥,利用會話密鑰Kab,,,或者利用根據該會話密鑰KAB,N所推導出的秘密密鑰KAB,N,MC ;在變體中,可能在此示例中使用秘密密鑰Ksb或根據該秘密密鑰Ksb所推導出的秘密密鑰。如圖3所示,應該觀察到,步驟E』3可以在步驟E』2以前。按照此順序來進行工作使得可能有利地,在實體B沒有向S發送用於所驗證的消息AM的接收的確認的事件中,假設這種接收是期望的話,或者在實體B向S發送其中所述實體B宣告它拒絕與實體A的此交易的接收的確認的事件中,在授權伺服器S向實體A發送授權響應RESP之前,中斷該交易。最終,步驟E』 4與第一實現的步驟E4是類似的。具體地,如果已經藉助於驗證代碼MAC3來對所驗證的消息AM的進行了完整性保護,則實體B通過使用適當的秘密密鑰來核查所述代碼與另一所接收到的信息之間的相符性。應該觀察到,自然地,此步驟E』 4必須在步驟E』 3之後發生,但是它可以在步驟E』 2以前。下面,作為示例來研究用於實現本發明的各種可能的架構。最初三個示例涉及VoIP。VoIP服務和網絡構成了特別關注的應用環境,這是由於除了高級別的安全性約束之外,它們還是與實時使用、已經部署的實體的數目(目前,在一些網絡中,幾百萬)、終端的功率、和同樣地需要用於截取敏感呼叫的能力的法定約束相關 的約束的對象。自然地,針對法定攔截的這種需求促使由受信任實體(這裡,授權伺服器S)來執行會話密鑰控制,該實體於是可以是網絡運營商的代理伺服器(proxy)。a)域內VoIP呼叫
客戶端實體A和B以及授權伺服器S全部形成屬於單一運營商的網絡的部分。授權伺服器S是這個網絡的VoIP代理伺服器,並且傳統上,它具有它與客戶端終端中的每ー個共享的秘密,該秘密是在預訂該服務的階段期間設立的,並且隨後在向網絡註冊該客戶端終端的階段期間已經進行核查。實體A所發送的授權請求REQ使得授權伺服器S能夠對實體A進行驗證,並且確定用於到達實體B的路由。然後,直接在實體A與B之間設立該呼叫,而不是必須在A與B之間設立TLS連接以便確保信令的完整性和機密性。該消息MES對應於「邀請(INVITE)」請求。b)模式 IVoIP 互聯在此實現中,將起源和目的實體定位在屬於不同運營商的兩個相異的網絡中;將起源域寫為D-0RIG,並且將目的域寫為D-DEST。實體A是來自起源域D-ORIG的出局(outgoing)代理伺服器之一。實體A服務該域D-ORIG的多個客戶端終端A』、或者相同域中的或(當客戶端終端是移動的並且處於移動中吋)第三方域中的發送伺服器A』。授權伺服器S是目的域D-DEST的入局(incoming)代理伺服器之一。授權伺服器S保護並且服務可以屬於目的域D-DEST或第三方域的一個或多個實體B。實體B可以直接地對應於目的客戶端終端。在變體中,實體B可以對應於形成目的域D-DEST的或第三方域的部分的接收伺服器,在該情況下,真正的目的客戶端終端對應於實體B』。在授權請求REQ中,實體A經由網絡、傳輸、或應用級別處的ー個或多個標識符(諸如,實體B的網絡地址、實體B所屬的域名、和指定了目的客戶端實體的會話發起協議通用資源標識符(SIP_URI)或Tel_URI)來參考目的實體B。同樣地,實體A使用網絡、傳輸、或應用級別處的ー個或多個標識符(諸如,它的網絡地址、其中它所屬的域的名稱、或者指定了起源客戶端實體的SIP_URI或Tel_URI)來標識它自身。獲取編號N的交易使得A和B能夠共享首要會話密鑰Kab, N。此會話密鑰使得能夠對呼叫設立消息「 INVITE」進行驗證。另外,它還可以用來對呼叫的其它階段(「取消(CANCEL) 」、「確認(ACK) 」、「再見(BYE ) 」請求或相關聯的響應)進行驗證。它還可以使得可能推導出用於媒體流加密的次要密鑰。在起源伺服器與目的伺服器之間交換授權請求REQ和授權響應RESP,其中由起源伺服器或發送伺服器來向接收伺服器發送消息AM。c)模式 2VoIP 互聯如上,將起源和目的實體定位在被標註為D-ORIG和D-DEST的兩個相異網絡中。實體A是域D-ORIG的客戶端終端,亦或是起源域的或第三方域的發送伺服器。如果實體A是發送伺服器,則實際的起源客戶端對應於實體A』。授權伺服器S是來自起源域D-ORIG的出局代理伺服器之一,即起源伺服器。授權伺服器S服務起源域的或第三方域的實體A,並且它對與目的域的呼叫進行授權。實體B是目的域D-DEST的入局代理伺服器之一。此實體服務並且保護作為直接的客戶端終端、亦或屬於目的域或第三方域的接收伺服器的實體B』。
在起源域中或者在發送域與起源域之間交換授權請求REQ和授權響應RESP,而由客戶端實體或發送器伺服器來將消息AM發送到目的伺服器。d)發送電子郵件或即時消息(IM)在與實體A、A』、S、B、和B』有關的範圍內,該架構與用於VoIP互聯(模式I或模式2)的那個架構相似。在用於指定實體A或A』(或分別地,B或B』)的交易請求中使用的標識符是電子郵件地址、IM地址、或域名。實現交易編號N使得A和B能夠共享首要會話密鑰KAB,N。此會話密鑰用於驗證和確保從A發送到B的電子郵件消息或頂的完整性。e)設立安全連接
實體A向授權伺服器S發送授權請求,該授權伺服器S保護對於實體A試圖與之進行通信的實體B的接入。授權請求包括處於網絡或傳輸地址或者與正在討論的服務相關的應用地址的形式中的、實體A和B的標識符。實現交易編號N使得A和B能夠共享首要會話密鑰KAB, N。然後,此會話密鑰用於在實體A與B之間設立安全連接(IPSec、TLS、DTLS等)。f )對於DNS/ENUM類型的服務的應用本發明的方法的此應用涉及映射服務,其中授權伺服器S是域名伺服器(DNS)類型的或者用於VoIP應用的E. 164電話號碼映射(ENUM)類型的伺服器。這使得可能避免以下攻擊,其中主叫VoIP實體索取沒有向它的網絡分配的或者沒有向它的應用域分配的電話號碼。在此應用中,實體A是來自域「域I (domainl)」的出局代理伺服器之一,並且它具有它與授權伺服器S共享的秘密。在向實體B發送呼叫之前,實體A向授權伺服器S發送授權請求,以對呼叫者進行驗證,並且獲得用於對於B的呼叫的秘密密鑰。授權伺服器S是DNS/ENUM類型的伺服器,作為在先映射階段的結果,它具有與某一編號的域共享的秘密KSA、KSB。授權伺服器S動作為受信任第三方。實體B是來自域「域2 (domain2)」的出局代理伺服器之一,並且它具有它與授權伺服器S共享的秘密。實現交易使得實體B能夠核查授權伺服器S實際上已經驗證了在「INVITE」請求中由實體A所呈現的主叫標識符。它還使得實體A和B能夠具有可以用於保護它們交換的剰餘部分或用於保護媒體流的共享秘密KAB, N。可以藉助於軟體和/或硬體組件,在電信網絡節點(具體地,實體的終端或伺服器,諸如,預訂了本發明的安全通信服務的A或B;或者授權伺服器S)內實現本發明的方法。可以將軟體組件合併到用於管理網絡節點的傳統電腦程式中。這就是為什麼如上所述地、本發明還涉及計算機系統的原因。按照傳統的方式,該計算機系統包括中央處理單元,使用信號來控制存儲器;以及同樣的輸入単元和輸出單元。該計算機系統還可以用於運行電腦程式,該電腦程式包括用於實現本發明的安全通信方法的指令。本發明還提供了一種電腦程式,該電腦程式可以從通信網絡上下載,該程序包括用於當在計算機上運行該程序時、運行本發明的安全通信方法的步驟中的至少ー些的指令。該電腦程式可以存儲在計算機可讀介質上,並且它可以適合於通過微處理器來運行。該程序可以處於任何程式語言中,並且它可以處於原始碼、目標代碼、或介於原始碼與目標代碼之間的中間代碼的形式(諸如,部分編譯形式)中,或者處於任何其它期望形式中。本發明還提供了一種計算機可讀數據介質,其包括如上所述的電腦程式的指令。該數據介質可以是能夠存儲該程序的任何實體或裝置。例如,該介質可以包括存儲部件,諸如,只讀存儲器 (ROM),例如緻密盤(⑶)ROM、或微電子電路ROM ;或實際上的磁記錄部件,例如軟盤或硬碟。此外,該數據介質可以是適合於經由電纜或光纜、通過無線電、或通過其它手段而輸送的、諸如電信號或光信號之類的可傳送介質。具體地,可以從網際網路類型的網絡上下載本發明的電腦程式。在變體中,該數據介質可以是其中合併了該程序的集成電路,該電路適於在本發明的安全通信裝置中使用。
權利要求
1.一種用於在電信網絡中使用的安全通信方法,其中,所述網絡的實體A與實體B之間 的交易包括以下步驟a)該實體A向授權伺服器S發送授權請求(REQ),在該請求中,該實體A作為標識符IDa 的持有者來標識它自身並且驗證它自身;b)該實體A向該授權伺服器S宣告它的用幹與某ー實體B進行通信的意圖;該授權服 務器S確定它與該實體B共享的秘密密鑰Ksb ;以及c)該授權伺服器S生成會話密鑰Kab,N,並且將它發送到實體A;所述方法的特徵在幹,所述會話密鑰Kab,,是所述秘密密鑰Ksb的單向函數,並且還是向 所述交易分配的整數N的函數,該整數被稱作交易編號,並且該方法還包括以下步驟d)該授權伺服器S還生成交易標識符IDTOn,該交易標識符IDTOn是按照不可逆的方式 而至少取決於所述交易編號N的函數;e)該授權伺服器S使得元素到達該實體B,該元素至少包括所述交易標識符IDTOn;以及f)該實體B至少核查在所述步驟e)期間所接收到的交易標識符IDTOn的值顯現在由 該實體B所預先計算的並且與用於交易編號的至少ー個所預測的值對應的值的集合內;如 果是這樣,則該實體B根據其來首先推斷出該交易編號N的當前值,井隨後推斷出該會話密 鑰Kab, N的值。
2.根據權利要求1的安全通信方法,其特徵在幹,所述授權請求(REQ)包括請求標識符 IDREW,該請求標識符IDREW是按照不可逆的方式至少取決於向所述授權請求(REQ)分配 的、並且被稱作授權編號的整數M的函數。
3.根據權利要求2的安全通信方法,其特徵在幹,在所述步驟c)期間,該授權伺服器S 還向該實體A發送授權標識符IDAUTm,該授權標識符IDAUTm是按照不可逆的方式至少取決 於所述授權編號M的函數。
4.根據權利要求1到3中任ー項的安全通信方法,其特徵在於,對在所述步驟e)期間 向該實體B發送的所述元素中的所有或ー些元素進行完整性保護。
5.根據權利要求4的安全通信方法,其特徵在幹,藉助於所述會話密鑰Kab,N或根據所 述會話密鑰Kab, n所推導出的密鑰來執行所述完整性保護。
6.根據權利要求1到5中任ー項的安全通信方法,其特徵在幹,在所述步驟e)期間該 授權伺服器S使得到達該實體B的所述元素還包括檢查數據CHECKa,N,該檢查數據CHECKa,N 取決於該交易編號N並且藉助於密碼函數來推斷,該密碼函數取決於根據所述秘密密鑰Ksb 所推導出的秘密密鑰KSB,。he。k,所述秘密密鑰Ksb來自從所述授權請求(REQ)並可選地從該交 易編號N選取的元素的集合。
7.根據權利要求1到6中任ー項的安全通信方法,其特徵在幹,該實體A使得該實體B 接收該實體A的所述標識符IDa、亦或根據其所推導出的標識符ID』a。
8.根據權利要求6和權利要求7的安全通信方法,其特徵在於 根據其來推斷出所述數據CHECKa, n的元素的所述集合包括該實體A的標識符IDa或 所述所推導出的標識符ID』 A ;以及 在所述步驟f)期間,該實體B使用所述秘密密鑰Ksb,N來核查在首先的根據權利要求 6所接收到的數據CHECKa,N、與其次的根據權利要求7所接收到的包括該標識符IDa或所推導出的標識符ID』A的所述元素之間的一致性。
9.一種被稱作授權伺服器的裝置,用於在實體A與實體B之間的交易期間在電信網絡 中使通信安全,該裝置包括用於執行以下操作的部件 對持有標識符IDa的實體A進行標識和驗證; 確定所述授權伺服器S與實體B共享的秘密密鑰Ksb,該實體A宣告它的用於與該實 體B進行通信的意圖;以及 生成會話密鑰Kab,n,並且將它發送到該實體A ;該裝置的特徵在於,所述會話密鑰Ki,是所述秘密密鑰Ksb的單向函數,並且還是向所 述交易分配的並且被稱作交易編號的整數N的函數,並且該裝置還包括用於執行以下操作 的部件 生成交易標識符IDTRN,該交易標識符IDTRN是按照不可逆的方式至少取決於所述交 易編號N的函數;以及 使得所述交易標識符IDTRn到達所述實體B。
10.一種被稱作實體B的裝置,用於電信網絡中的安全通信,該裝置的特徵在於,它包 括在涉及所述實體B和實體A的交易期間、用於執行以下操作的部件 接收包括由授權伺服器s生成的交易標識符idtrn的元素,所述交易標識符idtrn是 按照不可逆的方式至少取決於向所述交易分配的並且被稱作交易編號的整數N的函數; 核查所接收到的交易標識符IDTRn的值顯現在由該實體B所預先計算的並且與用於 所述交易編號的至少一個所預測的值對應的值的集合內; 根據其來推斷出該交易編號的當前值N ;以及 根據其來推斷出會話密鑰Ki,,該會話密鑰Ki,首先是該交易編號N的函數,並且其 次是由該實體B和所述授權伺服器S共享的秘密密鑰Ksb的單向函數。
11.一種被稱作實體A的裝置,用於電信網絡中的安全通信,該裝置包括在涉及所述實 體A和實體B的交易期間、用於執行以下操作的部件 作為標識符IDa的持有者來向授權伺服器S標識它自身並且驗證它自身; 向所述授權伺服器S宣告它的用於與某一實體B進行通信的意圖;以及 從該授權伺服器S接收會話密鑰Kab,n ;該裝置的特徵在於,所述會話密鑰Ki,是由該授權伺服器S和該實體B共享的秘密密 鑰KSB的單向函數,並且還是向所述交易分配的並且被稱作交易編號的整數N的函數,並且 該裝置還包括用於執行以下操作的部件 從該授權伺服器S接收交易標識符IDTRn,該交易標識符IDTRn是按照不可逆的方式 至少取決於所述交易編號N的函數;以及 向該實體B發送至少包括所述交易標識符IDTRn的元素。
12.一種電信網絡中的安全通信裝置,該裝置的特徵在於,它包括根據權利要求10和 根據權利要求11的部件。
13.—種不可拆卸的、或者部分地、或完全地可拆卸的數據存儲部件,包括用於實現在 根據權利要求9到12中任一項的安全通信裝置中包括的所述部件的電腦程式代碼指令。
14.一種可從通信網絡上下載的、和/或在計算機可讀介質上存儲的、和/或可由微處 理器執行的電腦程式,該程序的特徵在於,它包括用於實現在根據權利要求9到12中任一項的安全通信裝置中包括的所述部件的指令。
全文摘要
本發明涉及一種允許電信網絡中的安全通信的方法,其中,所述網絡的實體A與實體B之間的交易包括以下步驟,即實體A向授權伺服器S發送授權請求,在該請求中,對實體A進行標識並且驗證;實體A向該授權伺服器S通知用於與實體B進行通信的它的意圖;該授權伺服器S確定它與實體B共享的秘密密鑰KSB;該授權伺服器S創建會話密鑰KAB,N,它將該會話密鑰KAB,N發送到實體A,所述會話密鑰KAB,N是所述秘密密鑰KSB的單向函數,並且還是向所述交易分派的整數N的函數,該整數N被已知為交易編號;該授權伺服器S還創建交易標識符,該交易標識符是按照不可逆變的方式而至少取決於所述交易編號N的函數;該授權伺服器S向實體B提供元素,該元素至少包括所述交易標識符;實體B至少檢查所接收到的交易標識符的值顯現在由實體B所預先計算的並且與用於該交易編號的至少一個所預測的值對應的值的集合中;並且如果情況如此,則實體B根據其來首先推斷出該交易編號N的當前值,並隨後推斷出該會話密鑰KAB,N的值。
文檔編號H04L9/08GK102668497SQ201080054106
公開日2012年9月12日 申請日期2010年9月28日 優先權日2009年9月30日
發明者H.吉爾伯特, P.巴蒂斯特羅 申請人:法國電信公司