專利名稱:數(shù)據(jù)通信網(wǎng)絡(luò)的安全聯(lián)合的制作方法
技術(shù)領(lǐng)域:
所述技術(shù)一般涉及數(shù)據(jù)通信網(wǎng)絡(luò),尤其涉及數(shù)據(jù)通信網(wǎng)絡(luò)的安全聯(lián)合。
背景技術(shù):
應(yīng)用程序有時需要建立和管理計算設(shè)備之間的會話。會話是在一段時間上發(fā)生的計算設(shè)備之間的一組交互。舉例而言,實時通信應(yīng)用程序,諸如MICROSOFTMESSENGER或語音IP(“VoIP”)代表用戶在通信設(shè)備之間建立會話。這些應(yīng)用程序會使用各種機制建立會話,諸如“Session Initiation Protocol(會話發(fā)起協(xié)議)”(“SIP”)。SIP是應(yīng)用層控制協(xié)議,設(shè)備可以用此來互相發(fā)現(xiàn),以及建立、修改和終止設(shè)備之間的會話。SIP是因特網(wǎng)建議的標準。其規(guī)范“RFC 3261”可以在<http//www.ietf.org/rfc/rfc3261.txt>上獲取。關(guān)于事件通知的SIP的擴展“RFC 3265”的規(guī)范可以在<http//www.ietf.org/rfc/rfc3265.txt>上獲取。定位SIP服務(wù)器的“RFC 3263”規(guī)范可以在<http//www.ietf.org/rfc/rfc3263.txt>上獲取。所有這三個規(guī)范全部通過引用包含在此。
應(yīng)用程序會使用SIP和另一個協(xié)議一起發(fā)送或接收信息。舉例而言,應(yīng)用程序會在會話期間使用SIP和實時傳輸協(xié)議(“RTP”)一起傳輸實時數(shù)據(jù)。通過將SIP和其它協(xié)議一起使用,應(yīng)用程序可以建立和管理會話并在會話過程中交換信息。與SIP一起使用來交換信息的協(xié)議可以將信息分割成消息。舉例而言,一VoIP應(yīng)用程序可以將長的敘述分割成較短的消息。在會話中交換消息被稱為“對話”。SIP會使用較低層的通信層來傳輸對話消息,諸如傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(“TCP/IP”),它通常用于傳輸和網(wǎng)絡(luò)層協(xié)議。
SIP網(wǎng)絡(luò)包含作為客戶機、服務(wù)器或兩者皆有參與對話的實體。SIP支持四種類型的實體用戶代理、代理服務(wù)器、重定向服務(wù)器和注冊器。用戶代理通過與其它SIP實體交換消息開始和終止會話。用戶代理可以是用戶代理客戶機,它是一般是開始SIP請求的設(shè)備(例如,開始會話),或用戶代理服務(wù)器,它是一般接收SIP請求和響應(yīng)這樣的請求的設(shè)備。作為例子,“IP-電話”、個人數(shù)字助理和任何其它類型的計算設(shè)備可以是用戶代理。設(shè)備可以在一個對話中是用戶代理客戶機,而在另一個會話中是用戶代理服務(wù)器,或在會話中交換角色。代理服務(wù)器是用作對客戶機的服務(wù)器和對服務(wù)器的客戶機的實體。這樣使得代理服務(wù)器在客戶機和服務(wù)器之間截取、解釋或轉(zhuǎn)發(fā)消息。代理服務(wù)器通過,例如驗證消息的發(fā)送者和接收者,來作用于網(wǎng)絡(luò)安全。重定向服務(wù)器接收SIP請求并生成SIP響應(yīng),所述SIP響應(yīng)引導(dǎo)發(fā)送請求的客戶機以聯(lián)系另外的網(wǎng)絡(luò)資源。作為例子,重定向服務(wù)器會指明在幾個設(shè)備中哪個是特定的用戶當前是可用的。注冊器是從SIP客戶機接收注冊信息并通知定位服務(wù)器或其它實體接收到的注冊信息的服務(wù)器。
SIP支持兩種消息類型從客戶機發(fā)送到服務(wù)器的請求和一般是在響應(yīng)請求時從服務(wù)器發(fā)送到客戶機的響應(yīng)。SIP消息包含三個部分。SIP消息的第一部分是“開始線”,包含指示消息類型和協(xié)議版本的字段。SIP消息的第二部分包含報頭字段,其值表示為名字一值對。SIP消息的第三部分是消息主體,被用于描述要開始的會話或包含與會話相關(guān)的數(shù)據(jù)。消息主題會出現(xiàn)在請求或響應(yīng)中。
根據(jù)SIP消息頭部字段的內(nèi)容來路由這些SIP消息。若要有效,SIP請求應(yīng)該包含至少以下六個報頭字段To、From、Cseq、Call-D、Max-Forwards和Via。To報頭字段表示請求接收方的邏輯身份。From報頭字段表示請求發(fā)起者的邏輯身份。Max-Forwards報頭字段表示在到達其目的地之前請求可以作出的轉(zhuǎn)發(fā)的次數(shù)。作為例子,如果來自設(shè)備A的消息在到達目的地設(shè)備C之前通過設(shè)備B,該消息被稱為作出了兩個轉(zhuǎn)發(fā)(例如,設(shè)備B和C)。Via報頭字段表示至今為止請求所采用的路徑(例如,請求所經(jīng)過的設(shè)備的網(wǎng)絡(luò)地址序列),并表示當路由該響應(yīng)時應(yīng)該遵循的路徑。報頭也會包含Record-Route字段,被用于表示以后的請求和響應(yīng)應(yīng)該通過所示的設(shè)備路由。在試圖在對話中強制子序列消息通過特定設(shè)備路由中,網(wǎng)絡(luò)設(shè)備會在轉(zhuǎn)發(fā)SIP消息時插入指定設(shè)備的Record-Route報頭字段。Record-Route報頭字段會包含一設(shè)備標識符(例如,網(wǎng)絡(luò)地址)和參數(shù)。這些和其它報頭字段在上面所引用的SIP規(guī)范中描述。
幾個組織會每個都提供SIP服務(wù)器作為網(wǎng)絡(luò)資源。這些組織會使它們網(wǎng)絡(luò)之外的SIP客戶機和服務(wù)器,例如來自因特網(wǎng)或其它組織,能夠連接到它們的SIP服務(wù)器以便交換消息。組織會為它的SIP服務(wù)器從信任實體獲得證書,以使得其它組織能夠認證它的SIP服務(wù)器發(fā)送的消息。SIP服務(wù)器會使用諸如傳輸層安全(“TLS”)等協(xié)議在它發(fā)送的消息上加上這個證書的指示。
組織會希望將它們的SIP服務(wù)器或網(wǎng)絡(luò)相聯(lián)合。通過聯(lián)合它們的SIP服務(wù)器或網(wǎng)絡(luò),組織使它們網(wǎng)絡(luò)中的參與者能夠與聯(lián)盟中其它信任組織的SIP服務(wù)器通信。作為例子,組織會期望建立應(yīng)用層虛擬專用網(wǎng)絡(luò)(“VPN”)以允許組織所執(zhí)行的應(yīng)用程序能夠安全地與可能位于另一個組織的網(wǎng)絡(luò)中的SIP服務(wù)器通信。使得SIP服務(wù)器的管理員能夠安全地聯(lián)合他們的SIP服務(wù)器的有效的方法將具有重要的效用。
發(fā)明內(nèi)容
提供了用于安全聯(lián)合數(shù)據(jù)通信網(wǎng)絡(luò)的技術(shù)。該技術(shù)采用邊緣代理服務(wù)器根據(jù)聯(lián)合模式來路由消息。在直接聯(lián)合模式中,網(wǎng)絡(luò)的邊緣代理服務(wù)器被配置成與特定的實體組交換消息,所述特定實體組諸如其它網(wǎng)絡(luò)、服務(wù)器、設(shè)備或用戶。在自動聯(lián)合模式中,邊緣代理服務(wù)器會接收來自具有有效證書的實體的所有輸入消息。在交換所(Clearing hours)聯(lián)合模式中,邊緣代理服務(wù)器轉(zhuǎn)發(fā)所有輸出的消息到特定的、信任的交換所服務(wù)器。
圖1是示出用于數(shù)據(jù)通信網(wǎng)絡(luò)的安全聯(lián)合的系統(tǒng)的實施例的框圖。
圖2是示出圖1的網(wǎng)絡(luò)的實施例的框圖。
圖3是示出圖2的邊緣代理服務(wù)器的實施例的框圖。
圖4是示出由邊緣代理服務(wù)器執(zhí)行的用于處理與另一個聯(lián)合網(wǎng)絡(luò)上的設(shè)備交換的消息的例行程序的實施例的流程圖。
具體實施例方式
在一個實施例中,提供了用于數(shù)據(jù)通信網(wǎng)絡(luò)安全聯(lián)合的技術(shù)。該技術(shù)采用了邊緣代理服務(wù)器根據(jù)聯(lián)合模式來路由消息。邊緣代理服務(wù)器是跨兩個網(wǎng)絡(luò)(例如,企業(yè)內(nèi)部互聯(lián)網(wǎng)和因特網(wǎng)或者兩個企業(yè)內(nèi)部互聯(lián)網(wǎng))的網(wǎng)絡(luò)資源,使得邊緣代理服務(wù)器的網(wǎng)絡(luò)“之外”的計算設(shè)備能夠通過邊緣代理服務(wù)器與邊緣代理服務(wù)器的網(wǎng)絡(luò)“之內(nèi)”的計算設(shè)備通信,反之亦然。邊緣代理服務(wù)器用作代理服務(wù)器網(wǎng)絡(luò)任一邊上的計算設(shè)備之間的中介。這樣,它截取、解釋或轉(zhuǎn)發(fā)諸如客戶機和服務(wù)器等實體之間的消息。管理員會選擇以幾個聯(lián)合模式中的一個或多個聯(lián)合具有邊緣代理服務(wù)器的數(shù)據(jù)通信網(wǎng)絡(luò),所述模式包含直接、自動或交換所。管理員也會選擇允許或拒絕其網(wǎng)絡(luò)之外的計算設(shè)備的用戶接入邊緣代理網(wǎng)絡(luò)內(nèi)部的計算設(shè)備。
在直接聯(lián)合模式中,網(wǎng)絡(luò)的邊緣代理服務(wù)器被配置成與特定的實體組交換消息,所述特定實體組諸如其它網(wǎng)絡(luò)、服務(wù)器、計算設(shè)備或用戶。網(wǎng)絡(luò)的管理員會指定授權(quán)實體,諸如服務(wù)器或域,用于授權(quán)邊緣代理服務(wù)器以便交換消息。管理員會(“URI”)指定這些實體使用統(tǒng)一的資源標識符。舉例而言,管理員會指出允許一合伙者(“PartnerA”)經(jīng)由其邊緣代理服務(wù)器“edge.partnera.com”直接聯(lián)合,并僅授予PartnerA對域“partnera.com”的義務(wù)和權(quán)限。此配置授權(quán)“edge.partnera.com”可以為任何具有匹配模式“<any user>@partnera.com”的URI的用戶連接和發(fā)送或接收消息。邊緣代理服務(wù)器也會在認證其網(wǎng)絡(luò)之外的計算設(shè)備方面使用多種認證模式,包含諸如證書、共享密鑰、私有交換公/密鑰對、Kerberos或其它基于證書的認證。選擇由邊緣代理服務(wù)器使用的認證模型的管理員也會指出將只采用域名服務(wù)器(“DNS”)而非其它的認證。這種認證會包含確定當建立連接時是否接收到證書,或在報頭字段中顯示出現(xiàn)在已撤銷證書列表中的到達消息。當使用證書時,會時常自動或手動地更新該已撤銷證書列表。認證經(jīng)授權(quán)的實體也會包括確定經(jīng)授權(quán)的實體是否在有效的(例如,經(jīng)認證)的連接上發(fā)送消息。一旦完成了認證和授權(quán)檢查,邊緣代理服務(wù)器會忽視所有來自或到達未認證或未授權(quán)的實體的消息。當消息從經(jīng)授權(quán)的實體到達時(該消息可能也經(jīng)過認證),邊緣代理服務(wù)器會檢查發(fā)送該消息的實體或作為該消息接收者的實體是否出現(xiàn)在“拒絕列表”中。舉例而言,“X.COM”可能時經(jīng)授權(quán)的實體,而“JOE@X.COM”可能位于拒絕列表中。在這種情況下,來自“SALLY@X.COM”的消息將被接收,但是來自“JOE@X.COM”的消息將被忽略。接著,邊緣代理服務(wù)器會將未被忽略的消息轉(zhuǎn)發(fā)到適當?shù)摹跋乱粋€中繼段”。下一個中繼段是消息接下來將被路由至的計算設(shè)備。通過管理員配置下一個中繼段或查詢另一個服務(wù)器,邊緣代理服務(wù)器基于消息報頭字段的任一內(nèi)容來為消息確定下一個中繼段,所述服務(wù)器諸如與消息的接收方相關(guān)聯(lián)的注冊服務(wù)器。因此,在直接聯(lián)合模式中,只可以與指出被管理員授權(quán)和可以被認證的實體交換消息。
在自動聯(lián)合模式中,邊緣代理服務(wù)器接收來自能夠以指示為邊緣代理服務(wù)器的管理員可接收的方式認證自身的實體的所有輸入消息。邊緣代理服務(wù)器會可使用多種認證方式來認證它們網(wǎng)絡(luò)之外的計算設(shè)備,所述模式諸如證書、共享密鑰、私有交換公/密鑰對、Kerberos或其它基于證書的認證。舉例而言,當實體發(fā)送消息給邊緣代理服務(wù)器時,實體會通過加一證書到所有的消息或提供與連接相關(guān)的證書來用邊緣代理服務(wù)器認證自身。當在經(jīng)認證的連接上接收到消息之后,邊緣代理服務(wù)器會選擇基于證書接收消息。或者,消息會包含認證在未經(jīng)認證的連接上的消息的證書。認證會包含通過,例如確定消息中指示的證書是否出現(xiàn)在已撤銷的證書列表中(這可以是使得消息或連接無效的指示)來驗證證書。這個已撤銷證書列表會被時常被自動或手動更新。邊緣代理服務(wù)器會驗證,對消息發(fā)送者所指示的URI與實際發(fā)送該消息的域相匹配(如用于認證發(fā)送實體的證書所標識的那樣)。當邊緣代理服務(wù)器接收到來其網(wǎng)絡(luò)內(nèi)的計算設(shè)備的輸出消息,它會使用DNS的查詢服務(wù)(“SRV”)機制來發(fā)現(xiàn)目標服務(wù)器提供哪些服務(wù)。這個機制被共同地稱為“DNS-SRV”。接著,如果目標服務(wù)器提供這樣的服務(wù),邊緣代理服務(wù)器會請求使用互相認證傳輸層安全(“MTLS”)的到目標服務(wù)器的安全會話。自動聯(lián)合方式也會有拒絕列表,它包含消息被拒絕或消息不能發(fā)送至的實體。因此,在自動聯(lián)合模式中,在真實地接收到或發(fā)送了消息之前邊緣代理服務(wù)器無需知道聯(lián)合中的其它網(wǎng)絡(luò)或服務(wù)器。
在交換所聯(lián)合模式中,邊緣代理服務(wù)器會將所有輸出消息轉(zhuǎn)發(fā)到特定的、信任的交換所服務(wù)器。交換所服務(wù)器會將它接收到的消息轉(zhuǎn)發(fā)到該消息中指定的接收方處。在一個實施例中,交換所服務(wù)器繼續(xù)在會話中連接的計算設(shè)備之間路由消息。在一個實施例中,消息的接收方會直接與發(fā)送者建立會話,對會話中后續(xù)消息繞過交換所。通過使用交換所,邊緣代理服務(wù)器無需知道聯(lián)合中的其它網(wǎng)絡(luò)或服務(wù)器,只需要知道信任的交換所服務(wù)器。聯(lián)合中的網(wǎng)絡(luò)或服務(wù)器會隱含地信任所有由交換所轉(zhuǎn)發(fā)的消息的實體。然而,如同自動和直接聯(lián)合模式,交換所聯(lián)合模式也有拒絕列表,它包含其消息將被拒絕的實體。在交換所聯(lián)合模式中,邊緣代理可以被簡單地配置成通過使用被管理的交換所,用最少的配置與大量的網(wǎng)絡(luò)交換消息,所述被管理的交換所便利了消息的這個交換。
在交換所聯(lián)合模式的一個替換實施例中,交換所服務(wù)器會表明它可以轉(zhuǎn)發(fā)消息至哪個域。這個指示會使得管理員能夠允許交換所服務(wù)器的子集將消息轉(zhuǎn)發(fā)到管理員的邊緣代理服務(wù)器。
在各種“混合”聯(lián)合模式中,可以同時采用多種聯(lián)合模式。舉例而言,即使當配置幾個直接聯(lián)合模式合伙者時,可以采用自動聯(lián)合。邊緣代理服務(wù)器也會通過動態(tài)地增加實體,自動授權(quán)附加實體,邊緣代理服務(wù)器用所增加的實體與授權(quán)列表互相作用,使得今后管理員可以改進以增加或刪除條目。交換所聯(lián)合模式也會與直接聯(lián)合模式一起使用。在這種配置中,邊緣代理服務(wù)器會直接與授權(quán)的實體交換消息,并會采用交換所服務(wù)器以認證其它實體。通過指定已知實體和也使得消息能夠與較大的實體組交換,系統(tǒng)能夠與一大組實體通信,而無需管理員方面的大量人力。
現(xiàn)在轉(zhuǎn)到附圖,圖1是示出用于安全地聯(lián)合數(shù)據(jù)通信網(wǎng)絡(luò)的系統(tǒng)的實施例的框圖。系統(tǒng)可以具有一個或多個客戶機102、一個或多個網(wǎng)絡(luò)104、和連接客戶機和諸如因特網(wǎng)等網(wǎng)絡(luò)114的網(wǎng)絡(luò)??梢越?jīng)由網(wǎng)絡(luò)連接108將客戶機連接到因特網(wǎng)上。可以使用各種形式的數(shù)據(jù)通信鏈路110把網(wǎng)絡(luò)104連接到因特網(wǎng)上??蛻魴C可以是,例如,計算機、蜂窩電話或其它連接到因特網(wǎng)的設(shè)備。網(wǎng)絡(luò)可以是,例如,企業(yè)內(nèi)部互聯(lián)網(wǎng)。也可以使用專用數(shù)據(jù)通信鏈路112將客戶機直接連接到網(wǎng)絡(luò)上。相似地,可以使用專用數(shù)據(jù)通信鏈路112直接將網(wǎng)絡(luò)連接到其它網(wǎng)絡(luò)上。系統(tǒng)也可以具有經(jīng)由數(shù)據(jù)通信鏈路118連接到因特網(wǎng)上的交換所116。也可以將因特網(wǎng)連接到各種其它的計算設(shè)備上(未示出)。這里所描述的連接可以是物理的、無線的和實際上是任何形式的數(shù)據(jù)通信網(wǎng)絡(luò)連接。
圖2是示出圖1的網(wǎng)絡(luò)的實施例的框圖。網(wǎng)絡(luò)200包含一個或多個客戶機202、一服務(wù)器204、一目錄服務(wù)器206、指揮站208、DNS 210和邊緣代理服務(wù)器212。網(wǎng)絡(luò)也可以包含其它的設(shè)備(未示出)。所示的網(wǎng)絡(luò)設(shè)備(和那些未示出的)可以經(jīng)由與網(wǎng)絡(luò)200相關(guān)聯(lián)的數(shù)據(jù)通信網(wǎng)絡(luò)互相連接??蛻魴C202和服務(wù)器204可以執(zhí)行各種活動,包括交換SIP消息。目錄服務(wù)器206可以為設(shè)備、用戶和其它網(wǎng)絡(luò)資源提供定位服務(wù)。舉例而言,目錄服務(wù)可以是ACTIVE DIRECTORY服務(wù)。指揮站208執(zhí)行各種服務(wù)器相關(guān)的功能,包含例如將客戶機重定向到客戶機關(guān)聯(lián)的一服務(wù)器或一服務(wù)器池、記錄網(wǎng)絡(luò)信息量認證從不是該網(wǎng)絡(luò)一部分的計算設(shè)備連接到該網(wǎng)絡(luò)的用戶。DNS具有將網(wǎng)絡(luò)資源名稱(例如設(shè)備名稱)映射到網(wǎng)絡(luò)位置(例如IP地址)的數(shù)據(jù)庫。網(wǎng)絡(luò)設(shè)備可以使用DNS來將“友好的”設(shè)備名稱解析成設(shè)備可以用來路由消息的網(wǎng)絡(luò)地址。邊緣代理服務(wù)器212被同時連接到網(wǎng)絡(luò)200(“內(nèi)部”網(wǎng)絡(luò))和“外部”網(wǎng)絡(luò),例如因特網(wǎng)(未示出)。當客戶機希望開始到服務(wù)器的會話,邊緣代理可以,例如確定是否應(yīng)該開始該會話和應(yīng)該使用哪個通信鏈路。
圖3是示出與圖2的邊緣代理服務(wù)器相關(guān)的組件的實施例的框圖。所述組件包含傳輸組件302、DNS-SRV組件304、路由組件306和列表組件308。邊緣代理服務(wù)器接收輸入消息(即,從“外部”網(wǎng)絡(luò)到達的消息)并轉(zhuǎn)發(fā)輸出消息(即,到“外部”網(wǎng)絡(luò)的消息)。邊緣代理服務(wù)器在執(zhí)行各種與消息相關(guān)的操作后,將輸入或輸出消息轉(zhuǎn)發(fā)到下一個中繼段(即,消息接下來被路由至的設(shè)備)。這些操作可以包含驗證消息是否從消息報頭字段所示的服務(wù)器接收,確定消息的發(fā)送者是否被授權(quán)發(fā)送消息到邊緣代理服務(wù)器的網(wǎng)絡(luò),并確定消息接下來應(yīng)該被路由至哪個設(shè)備。這些操作是通過或使用網(wǎng)絡(luò)和代理服務(wù)器的各種組件執(zhí)行的,所述組件諸如傳輸組件302、路由組件306、域名服務(wù)查詢服務(wù)組件306和列表組件308。
傳輸組件302建立與計算設(shè)備的會話,邊緣代理服務(wù)器與此計算設(shè)備交換消息。舉例而言,傳輸組件會建立與發(fā)送消息到網(wǎng)絡(luò)中的計算設(shè)備的MTLS連接。傳輸組件也會控制它建立的與其它計算設(shè)備的會話或連接的數(shù)目,使得保護邊緣代理服務(wù)器免于,例如“拒絕服務(wù)攻擊”(惡意的用戶或設(shè)備的攻擊),以防止邊緣代理服務(wù)器實現(xiàn)其指定的功能。傳輸組件也可以驗證出現(xiàn)在來自網(wǎng)絡(luò)之外的設(shè)備的消息中的證書一或當與網(wǎng)絡(luò)之外的設(shè)備建立連接時接收到的消息中的證書不出現(xiàn)在無效證書列表上。傳輸組件也可以將它自己的證書加入到消息中,系統(tǒng)將所述消息轉(zhuǎn)發(fā)到網(wǎng)絡(luò)之外的設(shè)備上或與這樣的設(shè)備建立連接。
路由組件306基于消息報頭字段的內(nèi)容確定是否應(yīng)該轉(zhuǎn)發(fā)輸入消息和輸出消息。路由組件通過確定消息的發(fā)送者的URI是否與認證信息和其它包含在消息報頭中的信息相匹配來驗證輸入消息。無論邊緣代理服務(wù)器是運作在直接、自動或混合聯(lián)合模式中,路由組件確定發(fā)送方或接收方的實體(或?qū)嶓w的域)是否出現(xiàn)在授權(quán)實體或域的列表中。當邊緣代理服務(wù)器在自動聯(lián)合模式(或包含自動聯(lián)合模式的混合聯(lián)合模式)中運作時,路由組件也會確定URI的域名是否與包含在消息報頭中的其它信息相匹配。
路由組件也根據(jù)消息報頭字段的內(nèi)容驗證輸出消息。當運作在直接聯(lián)合模式中時,路由機制確定為輸出消息所示的域是否經(jīng)授權(quán)。如果該域未經(jīng)授權(quán),路由組件忽略該消息或返回一響應(yīng)消息,指出該域未經(jīng)授權(quán)。當運行于自動聯(lián)合模式中,路由組件首先檢查消息中所示的目標實體的域是否經(jīng)授權(quán)。如果該域未經(jīng)授權(quán),消息會被傳遞到DNS-SRV組件以確定是否可以轉(zhuǎn)發(fā)該消息。如果DNS-SRV組件不能定位合適的實體以接收該消息,這個消息可能不被轉(zhuǎn)發(fā)。
域名服務(wù)查詢服務(wù)組件(“DNS-SRV”)304為消息確定目標服務(wù)器??梢詾檩敵鱿⒉捎眠@個組件來確定如何路由消息。當DNS-SRV組件不能確定將消息路由到哪個服務(wù)器時,該組件會忽略該消息或返回表示失敗的響應(yīng)消息。不能定位路由該消息所至的服務(wù)器可以是表示消息被指定至未經(jīng)授權(quán)的服務(wù)器。DNS-SRV組件獲取一組服務(wù)器,可以通過查詢DNS服務(wù)器將消息路由至所述服務(wù)器。當傳輸組件請求查詢以基于例如URI為消息指示一服務(wù)器時,DNS-SRV組件執(zhí)行這個查詢。接著,傳輸組件會試圖發(fā)送該消息到所示的服務(wù)器。如果傳輸組件不能聯(lián)系所示的服務(wù)器,傳輸組件會請求DNS-SRV組件提供一替換服務(wù)器。這個過程會被重復(fù)直至DNS-SRV組件識別出傳輸組件能夠聯(lián)系的服務(wù)器?;蛘?,DNS-SRV組件向傳輸組件提供一服務(wù)器列表,傳輸組件獨立地重復(fù)經(jīng)過該列表直至傳輸組件定位到它能聯(lián)系的服務(wù)器。當邊緣代理服務(wù)器運作在直接連接模式中,DNS-SRV組件可能無需執(zhí)行這些步驟,因為會明確地指出服務(wù)器地址。
列表組件308會具有邊緣服務(wù)器將與其交換消息的實體(“接收列表”)和邊緣服務(wù)器將不與其交換消息的實體(“拒絕列表”)的關(guān)聯(lián)列表。這些列表會存儲在與邊緣代理服務(wù)器相關(guān)聯(lián)或連接到邊緣代理服務(wù)器的存儲設(shè)備中,諸如硬盤驅(qū)動器、隨機存取存儲器或連接的文件服務(wù)器(未示出)。在一實施例中,系統(tǒng)會在參考拒絕列表(即,包含未經(jīng)授權(quán)的實體)之間參考接收列表(即,包含經(jīng)授權(quán)的實體)。在一個替換實施例中,系統(tǒng)會以倒序檢查列表。當一實體同時出現(xiàn)在兩個列表中時,首先檢查哪個列表會具有不同的結(jié)果。舉例而言,如果一實體同時出現(xiàn)在兩個列表上且首先檢查拒絕列表,來自該實體的消息會不被接收即使后來該實體被加入到接收列表中。
列表會包含使用支持搜索的多種方案所指定的實體。舉例而言,管理員會能夠使用全稱域名、IP地址、DNS-SRV查詢和其它通常采用指示服務(wù)器或域的方法來指定實體。列表中的信息會使用表達式示出。舉例而言,管理員會指出所有以“MICROSOFT.COM”結(jié)尾的域是經(jīng)授權(quán)的。列表組件會使用模式搜索機制在列表中搜索實體。這種模式會包含通配符。舉例而言,“*.MICROSOFT.COM”會是所有來自或去到以“MICROSOFT.COM”結(jié)尾的域的消息是經(jīng)授權(quán)的指示。
經(jīng)授權(quán)和未經(jīng)授權(quán)實體的組合可以被用于使域中特定的實體能夠發(fā)送或接收消息。舉例而言,“*.x.com”會指示以“x.com”結(jié)尾的所有的域是未經(jīng)授權(quán)的,但是“ceo.x.com”會是經(jīng)授權(quán)的。在這種情況下,除了來自或去到“ceo.x.com”的消息之外,所有來自或去到具有域“x.com”的任何實體的消息將被忽略。
系統(tǒng)會使用這些組件以確定是否和怎樣以多種方式路由輸出消息。系統(tǒng)會首先確定將接收消息的實體是否在經(jīng)授權(quán)的域中。如果它在未經(jīng)授權(quán)的域中,系統(tǒng)會確定該實體是否出現(xiàn)在經(jīng)授權(quán)的實體列表中。舉例而言,“X.COM”域會是未經(jīng)授權(quán)的,而“CEO.X.COM”實體是經(jīng)授權(quán)的。如果該域不是未經(jīng)授權(quán)(和未經(jīng)明確地授權(quán)),系統(tǒng)會聯(lián)系DNS以確定如何路由該消息。如果對于接收方?jīng)]有DNS條目,系統(tǒng)會聯(lián)系交換所以路由該消息?;蛘撸到y(tǒng)會發(fā)送消息給信任方,所述信任方會獨立地知道如何路由消息(例如,“默認的”路由)。
邊緣代理服務(wù)器也會強制與公司商業(yè)模式相關(guān)的授權(quán)邏輯以路由消息。舉例而言,邊緣代理服務(wù)器會被配置成使得一些用戶和設(shè)備能夠交換SIP消息而非其它消息。該授權(quán)邏輯可以使用任一或所有的聯(lián)合模式來授權(quán)和路由消息。作為進一步的例子,邊緣代理服務(wù)器首先會嘗試直接聯(lián)合路由。如果那個失敗,邊緣代理服務(wù)器接著會嘗試自動聯(lián)合路由。如果那兩種聯(lián)合路由機制都不能使得消息被轉(zhuǎn)發(fā),邊緣代理服務(wù)器會使用交換所聯(lián)合模式,其中交換所被指明為“默認的”路由。
圖4是示出由邊緣代理服務(wù)器執(zhí)行的用于處理與另一個聯(lián)合網(wǎng)絡(luò)上的設(shè)備交換的信息的例行程序的實施例的流程圖。舉例而言,例行程序會授權(quán)、認證和轉(zhuǎn)發(fā)與兩個設(shè)備之間的會話相關(guān)的消息,所述兩個設(shè)備的每個耦合到不同的網(wǎng)絡(luò)上。例行程序在塊502處開始,其中它接受一消息作為參數(shù)。在塊504處,例行程序確定消息是否從內(nèi)部服務(wù)器接收。如果消息是從內(nèi)部服務(wù)器接收,例行程序在塊506處繼續(xù)。否則,例行程序在塊514處繼續(xù)。在塊506處,例行程序確定消息是請求還是響應(yīng)。如果消息是一請求,例行程序在塊508處繼續(xù)。否則,例行程序在塊512處繼續(xù)。在塊508處,例行程序確定發(fā)送方或接收方是否被授權(quán)。如果是的話,例行程序驗證來自消息的Route報頭字段,簽署Record-Route和Via報頭字段并轉(zhuǎn)發(fā)該請求。簽署Record-Route和Via報頭字段使得設(shè)備能夠信任它們接收到的以后的消息中使用Route或Via報頭用于路由的消息報頭。
在塊512處,例行程序確定響應(yīng)中所指示的發(fā)送者或接收者是否經(jīng)授權(quán)。如果是的話,例行程序根據(jù)所簽署的響應(yīng)的Via報頭字段來路由該響應(yīng)。
在塊514處,例行程序確定消息是請求還是響應(yīng)。如果消息是一請求,例行程序在塊516處繼續(xù)。否則,例行程序在塊518處繼續(xù)。在塊516處,例行程序認證請求將被轉(zhuǎn)發(fā)至的服務(wù)器。如果該服務(wù)器是經(jīng)認證的,例行程序驗證From和To URI報頭字段。如果這些報頭字段是有效的,例行程序?qū)⒃撓⑥D(zhuǎn)發(fā)到下一中繼段。
在塊518處,例行程序驗證消息的Via報頭字段。如果這些字段是有效的,例行程序?qū)⒃擁憫?yīng)轉(zhuǎn)發(fā)至服務(wù)器。
例行程序在塊510處返回到其調(diào)用程序。
雖然這里所討論的特定例子使用SIP,然而替換實施例可以使用其它等價或相似的協(xié)議。
用于實現(xiàn)數(shù)據(jù)通信網(wǎng)絡(luò)安全聯(lián)合的系統(tǒng)的計算設(shè)備可以包含一中央處理單元、存儲器、輸入設(shè)備(例如鍵盤和定位設(shè)備)、輸出設(shè)備(例如顯示設(shè)備)和存儲設(shè)備(例如磁盤驅(qū)動器)。存儲器和存儲設(shè)備是計算機可讀介質(zhì),它們可以包含實現(xiàn)所述系統(tǒng)的指令。此外,數(shù)據(jù)結(jié)構(gòu)和消息結(jié)構(gòu)會經(jīng)由數(shù)據(jù)傳輸介質(zhì)被存儲或發(fā)送,諸如在通信鏈路上的信號??梢允褂酶鞣N通信鏈路,諸如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)或點對點撥號連接。
圖1示出了合適的操作環(huán)境的例子,其中可以實現(xiàn)用于數(shù)據(jù)通信網(wǎng)絡(luò)安全聯(lián)合的系統(tǒng)。該操作環(huán)境僅僅是合適的操作環(huán)境的一個例子,而不是意在對本系統(tǒng)的使用范圍或功能作出任何限制。其它可以適用的眾知的計算系統(tǒng)、環(huán)境和配置包含個人計算機、服務(wù)器計算機、手持或膝上設(shè)備包括“智能”蜂窩電話、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機、大型機、包含任何上述系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。
用于數(shù)據(jù)通信網(wǎng)絡(luò)安全聯(lián)合的系統(tǒng)可以被大體上描述為一個或多個計算機和其它設(shè)備執(zhí)行的計算機可執(zhí)行指令,諸如程序模塊。一般地,程序模塊包含執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例行程序、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。典型地,程序模塊的功能可以如在各種實施例中所期望的被組合或分布。
如上所述,應(yīng)該理解這里所描述的本發(fā)明的特定實施例意在說明,可以作出不背離本發(fā)明的精神的范圍的各種修改。相應(yīng)地,除了所附的權(quán)利要求書的限制之外,本發(fā)明不是受限的。
權(quán)利要求
1.一種由邊緣代理服務(wù)器執(zhí)行的方法,用于以直接聯(lián)合模式聯(lián)合網(wǎng)絡(luò),所述方法包含接收授權(quán)實體的指示;接收消息;驗證所述消息是由經(jīng)授權(quán)和認證的實體發(fā)送的;以及在驗證所述消息是由經(jīng)授權(quán)和認證的實體發(fā)送后,為所述消息確定下一中繼段;以及將所述消息轉(zhuǎn)發(fā)到所述下一中繼段。
2.如權(quán)利要求1所述的方法,其特征在于,所述消息是使用會話發(fā)起協(xié)議接收的。
3.如權(quán)利要求1所述的方法,其特征在于,所述授權(quán)實體的指示是一列表。
4.如權(quán)利要求3所述的方法,其特征在于,所述列表包含由管理員指定的擬授權(quán)的實體。
5.如權(quán)利要求3所述的方法,其特征在于,當一實體不出現(xiàn)在所述列表上時,它被授權(quán)。
6.如權(quán)利要求1所述的方法,其特征在于,所述下一中繼段是從所述消息的報頭字段確定的。
7.如權(quán)利要求1所述的方法,其特征在于,所述下一中繼段是通過查詢服務(wù)器確定的。
8.如權(quán)利要求7所述的方法,其特征在于,所述服務(wù)器是一域名服務(wù)。
9.如權(quán)利要求1所述的方法,其特征在于,所述下一中繼段是從授權(quán)實體的列表確定的。
10.一種由邊緣代理服務(wù)器執(zhí)行的方法,用于在自動聯(lián)合模式中聯(lián)合網(wǎng)絡(luò),所述方法包含接收消息;驗證所述消息是由認證實體發(fā)送的;確定接收消息的報頭字段中所指示的證書是否出現(xiàn)在已撤銷證書列表中,以及當接收消息是輸入消息時,驗證為消息的發(fā)送者所指示的統(tǒng)一資源標識符與從中接收消息的域相匹配;以及當接收消息時輸出消息時,查詢域名服務(wù)。
11.如權(quán)利要求10所述的方法,其特征在于,所述查詢包含為所述消息確定下一個中繼段。
12.一種由邊緣代理服務(wù)器執(zhí)行的方法,用于在交換所聯(lián)合模式中聯(lián)合網(wǎng)絡(luò),所述方法包含接收消息;將接收到的消息轉(zhuǎn)發(fā)到所述消息中所指定的接收方;以及直接在所述接收消息的發(fā)送方和所述接收消息的接收方之間建立會話。
13.如權(quán)利要求12所述的方法,其特征在于包含驗證所述消息是在有效連接上接收到的。
14.如權(quán)利要求12所述的方法,其特征在于,所述接收消息的報頭字段包含一證書。
15.一種用于聯(lián)合網(wǎng)絡(luò)的邊緣代理服務(wù)器系統(tǒng),所述系統(tǒng)包含為代理服務(wù)器接收聯(lián)合模式指示的組件;接收消息的組件;基于所示的聯(lián)合模式認證接收消息的發(fā)送者的組件;以及基于所示聯(lián)合模式和所述接收消息的所述發(fā)送者是否經(jīng)認證來處理所述消息的組件。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述處理包含當所述消息中所示的接收方未出現(xiàn)在拒絕列表中時,轉(zhuǎn)發(fā)所述消息。
17.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述聯(lián)合模式是直接的。
18.如權(quán)利要求17所述的系統(tǒng),其特征在于,通過確定所述發(fā)送者是否在有效連接內(nèi)發(fā)送消息來認證發(fā)送者。
19.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述處理包含當所述消息中所示接收方出現(xiàn)在接收列表中,轉(zhuǎn)發(fā)所述消息。
20.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述處理包含為所述消息確定下一個中繼段。
21.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述聯(lián)合模式是自動的。
22.如權(quán)利要求21所述的系統(tǒng),其特征在于,當所述消息是在有效連接中發(fā)送時,所述發(fā)送者是經(jīng)認證的。
23.如權(quán)利要求21所述的系統(tǒng),其特征在于,當為發(fā)送者所示的URI的域與實際發(fā)送所述消息的實體的域相匹配時,所述發(fā)送者是經(jīng)認證的。
24.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述處理包含確定由在所述消息中所示的目標實體所提供的服務(wù)。
25.如權(quán)利要求24所述的系統(tǒng),其特征在于,一服務(wù)是互相認證的傳輸層安全性。
26.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述聯(lián)合模式是交換所。
27.如權(quán)利要求26所述的系統(tǒng),其特征在于,所述處理包含從所述交換所接收消息。
28.如權(quán)利要求27所述的系統(tǒng),其特征在于,所述發(fā)送者是隱含地信任的。
29.如權(quán)利要求26所述的系統(tǒng),其特征在于,所述處理包含將輸出消息轉(zhuǎn)發(fā)到交換所。
30.如權(quán)利要求26所述的系統(tǒng),其特征在于,所述處理包含直接與所述發(fā)送方建立會話。
31.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述聯(lián)合模式包含聯(lián)合模式的組合。
32.如權(quán)利要求31所述的系統(tǒng),其特征在于,所述聯(lián)合模式的組合包含直接聯(lián)合模式、自動聯(lián)合模式和交換所聯(lián)合模式。
33.如權(quán)利要求31所述的系統(tǒng),其特征在于,所述認證包含接收一證書。
34.一種具有計算機可執(zhí)行指令的計算機可讀介質(zhì),所述指令用于執(zhí)行以下步驟接收授權(quán)實體的指示;接收消息;確定發(fā)送所述消息的實體是否經(jīng)授權(quán);以及當發(fā)送所述消息的所述實體經(jīng)授權(quán)時,認證所述經(jīng)授權(quán)實體,其中所述認證包含確定所述消息是否是在有效連接上接收到的;以及當所述授權(quán)實體是經(jīng)認證的,為所述消息確定下一個中繼段;以及將所述消息轉(zhuǎn)發(fā)至所述下一個中繼段。
35.如權(quán)利要求34所述的計算機可讀介質(zhì),其特征在于,包含用于執(zhí)行有關(guān)確定所述消息是否是在有效連接中從授權(quán)實體接收到的步驟的指令。
36.一種用于聯(lián)合網(wǎng)絡(luò)的邊緣代理服務(wù)器,所述服務(wù)器包含用于與計算設(shè)備建立會話的裝置;用于授權(quán)所述計算設(shè)備的裝置;用于驗證來自或去往所述計算設(shè)備的消息的裝置;用于為經(jīng)驗證的消息確定目標的裝置;用于將所述消息路由至所確定目標的裝置。
37.如權(quán)利要求36所述的邊緣代理服務(wù)器,其特征在于,所述用于與計算設(shè)備建立會話的裝置控制多個會話。
38.如權(quán)利要求36所述的邊緣代理服務(wù)器,其特征在于,用于授權(quán)計算設(shè)備的裝置會具有一未經(jīng)授權(quán)實體的關(guān)聯(lián)列表。
39.如權(quán)利要求36所述的邊緣代理服務(wù)器,其特征在于,用于驗證消息的裝置基于所述消息的內(nèi)容來驗證消息。
40.如權(quán)利要求36所述的邊緣代理服務(wù)器,其特征在于,用于路由消息的裝置根據(jù)聯(lián)合模式來路由消息。
全文摘要
提供了用于數(shù)據(jù)通信網(wǎng)絡(luò)安全聯(lián)合的技術(shù)。所述技術(shù)依照聯(lián)合模式,采用邊緣代理服務(wù)器來路由消息。在直接聯(lián)合模式中,網(wǎng)絡(luò)的邊緣代理服務(wù)器被配置成與特定的實體組交換消息,諸如其它網(wǎng)絡(luò)、服務(wù)器、其它設(shè)備或用戶。在自動聯(lián)合模式中,邊緣代理服務(wù)器會接收來自具有有效證書的實體的所有輸入消息。在交換所聯(lián)合模式中,邊緣代理服務(wù)器將所有輸出消息轉(zhuǎn)發(fā)到特定的、信任的交換所服務(wù)器。
文檔編號H04M3/00GK1703028SQ20051007586
公開日2005年11月30日 申請日期2005年5月27日 優(yōu)先權(quán)日2004年5月27日
發(fā)明者J·布徹, G·金姆奇, S·施若夫 申請人:微軟公司