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