專利名稱:UPnP認(rèn)證和授權(quán)的制作方法
UPnP認(rèn)證和授權(quán)
扭旦 冃爾
UPnP (通用即插即用)體系結(jié)構(gòu)提供諸如電器設(shè)備、無線設(shè)備、電子 設(shè)備、便攜式媒體設(shè)備和個(gè)人計(jì)算機(jī)等消費(fèi)電子設(shè)備的網(wǎng)絡(luò)連通性。UPnP 是分布式、開放的網(wǎng)絡(luò)體系結(jié)構(gòu),其利用TCP/IP和web技術(shù)來啟用鄰近連 網(wǎng)和控制在家庭、辦公室和公共空間的聯(lián)網(wǎng)的設(shè)備之間的數(shù)據(jù)傳輸。UPnP 被設(shè)計(jì)為支持對來自各種廠商的大量設(shè)備類別的零配置、"不可見"連網(wǎng) 和自動(dòng)發(fā)現(xiàn)。設(shè)備可以動(dòng)態(tài)地加入網(wǎng)絡(luò),獲得IP地址,傳送其能力,并獲 知其它設(shè)備的在場和能力。同樣,UPnP設(shè)備可以離開網(wǎng)絡(luò)而不留下任何不 想要的狀態(tài)。
在UPnP模型中,所有設(shè)備都被假定為被隱式地授權(quán)來做出任何可能 的請求,以啟用所謂的"不可見"連網(wǎng)。然而,沒有認(rèn)證,則從另一UPnP 設(shè)備接收UPnP請求的設(shè)備不知道發(fā)送該請求的設(shè)備是否被授權(quán)來做出這 種請求。因?yàn)閁PnP是為其中所有設(shè)備被假定是可信的家庭網(wǎng)絡(luò)等設(shè)計(jì)的, 所以設(shè)備的認(rèn)證和授權(quán)是不必要的。然而,即使在家庭網(wǎng)絡(luò)中,在UPnP 中缺少對授權(quán)和認(rèn)證的支持也可能是有問題的。例如,假定共享網(wǎng)絡(luò)在大 學(xué)宿舍中或利用無線技術(shù)(例如,Wi-Fi)的環(huán)境中實(shí)現(xiàn)。在這種情況下, 基于UPnP的文件服務(wù)器的所有者可能不想授予對存儲(chǔ)在網(wǎng)絡(luò)的服務(wù)器上 的文件的不受限訪問,因?yàn)樵撍姓呖赡懿荒軌蛐湃文軌蛟L問該網(wǎng)絡(luò)的所 有其它UPnP設(shè)備。
在另一示例中,假定能夠流傳輸高分辨率視頻的基于UPnP的媒體服 務(wù)器的制造商可能希望將對該高分辨率視頻內(nèi)容的訪問限制到得到許可的 并且能夠呈現(xiàn)該高分辨率視頻內(nèi)容的設(shè)備上,同時(shí)將該視頻內(nèi)容的標(biāo)準(zhǔn)分 辨率版本流傳輸?shù)狡渌O(shè)備。換言之,UPnP設(shè)備的制造商可能希望準(zhǔn)許訪 問UPnP設(shè)備的子集,如由同一制造商生產(chǎn)的設(shè)備。
對認(rèn)證和授權(quán)問題的現(xiàn)有解決方案或者是不完整的、不充分安全的, 或者被綁定到數(shù)字權(quán)限管理(DRM)系統(tǒng)上。例如,對認(rèn)證問題的常見解
6決方案是在一個(gè)或多個(gè)UPnP消息中尋找公知的人類可讀的串。該串可以 在用戶-代理協(xié)議頭部中,或其可以嵌入在設(shè)備描述文檔(可以從所有UPnP 設(shè)備下載的XML格式文檔)中。想要認(rèn)證第二UPnP設(shè)備的第一UPnP設(shè) 備檢查這些串的一個(gè)的存在。如果找至U,則第一UPnP設(shè)備將認(rèn)為第二UPnP 設(shè)備得到認(rèn)證。然而,該解決方案是不安全的,因?yàn)樵摯且匀祟惪勺x的 明文形式來傳輸?shù)?,而?fù)制這種形式是很平常的。
在另一現(xiàn)有解決方案中,接收該請求的UPnP設(shè)備在經(jīng)授權(quán)的設(shè)備的 地址的表中查找UPnP請求的以太網(wǎng)MAC (媒體訪問控制)地址。如果找 到請求設(shè)備的MAC地址,則該設(shè)備被認(rèn)為是經(jīng)授權(quán)的。否則,則向接收設(shè) 備的用戶給出向請求設(shè)備授予訪問并將其地址添加到該表的選項(xiàng)。然而, 該解決方案是不安全的,因?yàn)橐蕴W(wǎng)MAC地址相對容易"欺騙"或偽造。
此外,在其中UPnP設(shè)備想要將訪問限制到只有特定的得到許可的或 被批準(zhǔn)的設(shè)備的場景中,該解決方案是不切實(shí)際的。因?yàn)橐蕴W(wǎng)MAC地址 通常存儲(chǔ)在與UPnP軟件分開制造的硬件芯片中。所以,讓軟件制造商創(chuàng) 建經(jīng)授權(quán)的以太網(wǎng)MAC地址的表通常是不切實(shí)際的,因?yàn)楸慌鷾?zhǔn)的設(shè)備的 MAC地址在創(chuàng)建軟件時(shí)是不知道的。另外,在該場景中,提示用戶向經(jīng)授 權(quán)的MAC地址的表中添加MAC地址是不合需要的,因?yàn)橛脩艨梢韵蛭唇?jīng) 許可的或未批準(zhǔn)的設(shè)備授予訪問。
第三種解決方案由常規(guī)DRM系統(tǒng)來提供。雖然DRM系統(tǒng)允許兩個(gè)設(shè) 備相互認(rèn)證以及以加密的形式傳輸音頻/視頻內(nèi)容,但該特別專用的解決方 案并不適用于所有場景。例如,如DRM系統(tǒng)所要求的加密被傳輸?shù)膬?nèi)容可 能并不總是合乎需要的。同樣,在傳輸音頻/視頻內(nèi)容期間,某些DRM系 統(tǒng)具有安全的(基于加密的)消息交換,但該內(nèi)容的發(fā)現(xiàn)(通過UPnP內(nèi) 容目錄服務(wù))并不被該安全消息交換所覆蓋。因此,第一設(shè)備可以在第二 設(shè)備的內(nèi)容目錄服務(wù)中發(fā)現(xiàn)內(nèi)容,而不知道該第一設(shè)備是否被授權(quán)來流傳 輸所發(fā)現(xiàn)的內(nèi)容。
概述
本發(fā)明的各實(shí)施例通過向UPnP設(shè)備提供安全服務(wù)以認(rèn)證和授權(quán)彼此和其它UPnP端點(diǎn),來克服公知UPnP協(xié)議中的一個(gè)或多個(gè)不足。根據(jù)本發(fā) 明的各方面,UPnP發(fā)起者設(shè)備向UPnP響應(yīng)者設(shè)備發(fā)送包括來自可信授權(quán) 機(jī)構(gòu)的標(biāo)識(shí)信息的請求。該響應(yīng)者經(jīng)由該可信授權(quán)機(jī)構(gòu)來認(rèn)證發(fā)起者設(shè)備 的身份,并根據(jù)該標(biāo)識(shí)信息來授權(quán)該設(shè)備。
在另一方面,本發(fā)明在認(rèn)證和授權(quán)過程期間建立會(huì)話標(biāo)識(shí)符。該會(huì)話 標(biāo)識(shí)符包括在對發(fā)起者的響應(yīng)中,以將來自該發(fā)起者的后續(xù)UPnP或HTTP 請求與先前成功完成的授權(quán)和認(rèn)證進(jìn)行匹配。
具有用于聯(lián)網(wǎng)的便攜式媒體設(shè)備的安全認(rèn)證和授權(quán)服務(wù)的計(jì)算機(jī)可執(zhí) 行指令的計(jì)算機(jī)可讀介質(zhì)實(shí)施本發(fā)明的其它方面?;蛘?,本發(fā)明的各實(shí)施 例包括各種其它方法和裝置。
提供本概述以便以簡化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的 一些概念。該概述不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征, 也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
其它特征的一部分將是顯而易見的, 一部分將在下文中指出。
附圖簡述
圖1是示出根據(jù)本發(fā)明的實(shí)施例的用于認(rèn)證和授權(quán)服務(wù)的計(jì)算系統(tǒng)環(huán) 境的框圖。
圖2是示出根據(jù)本發(fā)明的實(shí)施例的發(fā)起者消息的創(chuàng)建的示例性流程圖。
圖3是示出根據(jù)本發(fā)明的實(shí)施例的響應(yīng)者消息的創(chuàng)建的示例性流程圖。
圖4是示出根據(jù)本發(fā)明的實(shí)施例的確認(rèn)消息的創(chuàng)建的示例性流程圖。 圖5是根據(jù)本發(fā)明的實(shí)施例的發(fā)起消息的框圖。 圖6是根據(jù)本發(fā)明的實(shí)施例的響應(yīng)消息的框圖。
圖7示出具有用于供媒體服務(wù)器授權(quán)和認(rèn)證媒體呈現(xiàn)器的計(jì)算機(jī)可執(zhí) 行組件的計(jì)算機(jī)可讀介質(zhì)。
相應(yīng)的參考標(biāo)號(hào)在全部附圖中指示相應(yīng)的部分。
8詳細(xì)描述
參考附圖,圖1示出根據(jù)本發(fā)明的各方面的用于認(rèn)證和授權(quán)服務(wù)的系
統(tǒng)。有利的是,本發(fā)明的各實(shí)施例允許一個(gè)UPnP (通用即插即用)設(shè)備通 過例如以可擴(kuò)展的方式向UPnP協(xié)議添加新的安全服務(wù)而不改變UPnP協(xié)議 本身來認(rèn)證和授權(quán)另一個(gè)UPnP設(shè)備。
在一實(shí)施例中,UPnP設(shè)備響應(yīng)于來自UPnP端點(diǎn)的請求實(shí)現(xiàn)一個(gè)或多 個(gè)UPnP服務(wù)。應(yīng)當(dāng)理解,該UPnP端點(diǎn)也可以是UPnP設(shè)備。例如,如果 第一設(shè)備實(shí)現(xiàn)UPnP服務(wù),則根據(jù)定義其就是UPnP設(shè)備。如果該同一設(shè)備 請求在第二 UPnP設(shè)備上實(shí)現(xiàn)的UPnP服務(wù),則該第一設(shè)備也用作UPnP端 點(diǎn)。在所示實(shí)施例中,諸如發(fā)起者102等UPnP端點(diǎn)和諸如響應(yīng)者104等 UPnP設(shè)備都是同一 UPnP網(wǎng)絡(luò)的成員。UPnP體系結(jié)構(gòu)允許設(shè)備動(dòng)態(tài)地加 入網(wǎng)絡(luò),獲得IP地址,傳送其能力,并獲知其它設(shè)備的在場和能力。UPnP 設(shè)備、端點(diǎn)等包括實(shí)現(xiàn)UPnP網(wǎng)絡(luò)協(xié)議的任何設(shè)備,如消費(fèi)電子設(shè)備、計(jì) 算設(shè)備、家庭自動(dòng)化設(shè)備、家庭安全設(shè)備、電器設(shè)備、便攜式媒體設(shè)備、 打印設(shè)備、數(shù)碼相機(jī)、掃描儀、計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備、移動(dòng)設(shè)備等等。
本發(fā)明的一個(gè)方面實(shí)現(xiàn)允許UPnP端點(diǎn)(例如,發(fā)起者102)和UPnP 設(shè)備(例如,響應(yīng)者104)認(rèn)證一個(gè)或另一個(gè)或彼此(即以安全的方式建立 彼此的身份)的新的UPnP握手服務(wù)。 一經(jīng)認(rèn)證,每一設(shè)備則可以確定另 一設(shè)備是否被授權(quán)來與之通信。
在一實(shí)施例中,響應(yīng)者104是向諸如網(wǎng)絡(luò)上的發(fā)起者102等UPnP媒 體呈現(xiàn)器設(shè)備提供媒體內(nèi)容的通用媒體服務(wù)器設(shè)備。例如,媒體服務(wù)器包 括各種設(shè)備,如便攜式媒體設(shè)備、VCR、 CD播放器、DVD播放器、錄音 磁帶播放器、靜止圖像照相機(jī)、攝錄像一體機(jī)、收音機(jī)、電視調(diào)諧器、和 機(jī)頂盒、MP3服務(wù)器、PVR (個(gè)人視頻記錄器)和諸如個(gè)人計(jì)算機(jī)等家庭 媒體服務(wù)器。在操作中,發(fā)起者102和響應(yīng)者104執(zhí)行諸如在各附圖中所 示出的計(jì)算機(jī)可執(zhí)行指令來實(shí)現(xiàn)本發(fā)明的各方面。
發(fā)起者102和響應(yīng)者104通常擁有至少某種形式的計(jì)算機(jī)可讀介質(zhì)。 計(jì)算機(jī)可讀介質(zhì)包括易失性與非易失性介質(zhì)、可移動(dòng)與不可移動(dòng)介質(zhì),其 可以是可由發(fā)起者102和響應(yīng)者104訪問的任何可用介質(zhì)。作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì) 包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的 信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性與非易失性、可移動(dòng)與不可移動(dòng)介質(zhì)。
例如,計(jì)算機(jī)存儲(chǔ)介質(zhì)包括RAM、 ROM、 EEPROM、閃存或其它存儲(chǔ)器技 術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲(chǔ)、磁帶盒、磁帶、 磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或可以用于存儲(chǔ)所需信息并可由發(fā)起者102 和響應(yīng)者104訪問的任何其它介質(zhì)。通信介質(zhì)一般以諸如載波或其它傳輸 機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)來體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其 它數(shù)據(jù),并且包括任何信息傳遞介質(zhì)。本領(lǐng)域技術(shù)人員熟悉已調(diào)制數(shù)據(jù)信 號(hào),其一個(gè)或多個(gè)特征以將信息編碼在該信號(hào)中的方式來設(shè)置與改變。諸 如有線網(wǎng)絡(luò)或直接線連接等有線介質(zhì),以及如聲學(xué)、RF、紅外線及其它無 線介質(zhì)等無線介質(zhì)都是通信介質(zhì)的示例。以上的任一種的組合也包括在計(jì) 算機(jī)可讀介質(zhì)的范圍之內(nèi)。
媒體服務(wù)器經(jīng)由UPNP內(nèi)容目錄服務(wù)來展示其內(nèi)容。媒體服務(wù)器可以 處理任何特定類型的媒體、任何數(shù)據(jù)格式、和傳輸協(xié)議。媒體內(nèi)容的示例 包括MPEG2視頻、CD音頻、MP3音頻、WMA音頻和JEPG圖像。
UPnP服務(wù)由統(tǒng)一資源名(URN)來標(biāo)識(shí)。URN在設(shè)備搜索其它設(shè)備 所主存的服務(wù)時(shí),或在設(shè)備通告其自身主存的服務(wù)的可用性時(shí)使用。用于 握手服務(wù)的URN可以任意選擇。在本發(fā)明的一實(shí)施例中, "urn:schemas-microsoft-com:service:Handshake:l"是握手月艮務(wù)的URN。
安全UPnP設(shè)備只接受來自其它經(jīng)認(rèn)證的和經(jīng)授權(quán)的UPnP設(shè)備和端點(diǎn) 的通信。因此,在安全UPnP設(shè)備允許第二設(shè)備訪問該安全設(shè)備所實(shí)現(xiàn)的 任何其它UPnP設(shè)備之前,該安全UPnP設(shè)備要求握手服務(wù)成功地認(rèn)證和授 權(quán)該第二設(shè)備。
在一實(shí)施例中,請求另一 UPnP設(shè)備所主存的服務(wù)的UPnP端點(diǎn)被稱為 發(fā)起者102。例如,如果媒體呈現(xiàn)器設(shè)備請求媒體服務(wù)器設(shè)備所提供的可用 內(nèi)容的列表,則該媒體呈現(xiàn)器向該媒體服務(wù)器設(shè)備所主存的UPnP內(nèi)容目 錄服務(wù)發(fā)送請求。在該示例中,媒體呈現(xiàn)器在其與內(nèi)容目錄服務(wù)通信時(shí)是 發(fā)起者102,而媒體服務(wù)器設(shè)備被稱為響應(yīng)者104。然而,同一媒體呈現(xiàn)器設(shè)備還可以主存其自身的UPnP服務(wù)。在這種 情況下,該媒體呈現(xiàn)器用作UPnP設(shè)備以及UPnP端點(diǎn)。如果媒體服務(wù)器決 定使用這些服務(wù)的任何一個(gè),則角色反轉(zhuǎn),且媒體服務(wù)器是發(fā)起者102而 媒體呈現(xiàn)器是響應(yīng)者104。在一實(shí)施例中,媒體呈現(xiàn)器向媒體服務(wù)器發(fā)起的 握手和媒體服務(wù)器向媒體呈現(xiàn)器發(fā)起的握手被認(rèn)為是兩個(gè)完全獨(dú)立的操作。
UPnP協(xié)議向發(fā)起者102提供兩個(gè)標(biāo)準(zhǔn)方式來尋找其想要與之通信的設(shè) 備。首先,發(fā)起者102廣播M-SEARCH (搜索)請求,該請求向網(wǎng)絡(luò)上的、 支持該M-SEARCH請求中的URN所標(biāo)識(shí)的UPnP服務(wù)的所有UPnP設(shè)備 請求響應(yīng)。其次,發(fā)起者102監(jiān)聽NOTIFY (通知)消息。所有UPnP設(shè)備 周期性地發(fā)送通告其主存的服務(wù)的可用性的NOTIFY消息。
在一實(shí)施例中,搜索實(shí)現(xiàn)內(nèi)容目錄服務(wù)的UPnP設(shè)備的媒體呈現(xiàn)器設(shè) 備將使用M-SEARCH和/或NOTIFY消息來尋找該內(nèi)容目錄服務(wù)。該媒體 呈現(xiàn)器還使用M-SEARCH和/或NOTIFY消息來尋找該服務(wù)的URN所標(biāo)識(shí) 的握手服務(wù)。在該實(shí)施例中,如果同一 UPnP設(shè)備主存握手服務(wù)和內(nèi)容目 錄服務(wù),則該媒體呈現(xiàn)器將只與內(nèi)容目錄服務(wù)通信。同樣,如果握手服務(wù) 已經(jīng)成功,則該媒體呈現(xiàn)器將只使用內(nèi)容目錄服務(wù)。內(nèi)容目錄服務(wù)是用于 說明性的目的的,握手服務(wù)可以在諸如連接管理器服務(wù)或AV傳輸服務(wù)等 任何其它UPnP服務(wù)之前實(shí)現(xiàn)。
在一替換實(shí)施例中,握手服務(wù)建立共享秘密和對稱加密密鑰。該共享 秘密被用來生成可在后續(xù)UPnP或HTTP請求中使用的安全令牌702,來確 定該請求起源于已經(jīng)被認(rèn)證和授權(quán)的設(shè)備。安全令牌702可以根據(jù)每一請 求而改變,使欺詐設(shè)備更難以試圖偽裝為經(jīng)授權(quán)的設(shè)備。另選地,可以使 用設(shè)備的以太網(wǎng)MAC地址或IP地址來標(biāo)識(shí)來自已被認(rèn)證的設(shè)備的請求; 然而,如上所述,該實(shí)現(xiàn)較不安全。
圖3-5示出的方法所建立的對稱加密密鑰可被用來加密在設(shè)備被授權(quán) 之后所發(fā)送的內(nèi)容。這提供附加的安全層,因?yàn)槠浞乐刮词跈?quán)的設(shè)備竊聽 兩個(gè)相互授權(quán)的設(shè)備之間的通信。例如,上述高分辨率視頻流可以使用該 對稱加密密鑰來加密。在一實(shí)施例中,除握手服務(wù)之外,在執(zhí)行了初始握手后的后續(xù)HTTP
和UPnP請求中使用新的HTTP和UPnP頭部。在替換實(shí)施例中,使用基于 XML的句法來代替UPnP頭部。
UPnP服務(wù)具有動(dòng)作和事件。握手服務(wù)包括兩個(gè)動(dòng)作而不包括事件。一 個(gè)動(dòng)作類似于具有輸入和輸出參數(shù)的遠(yuǎn)程過程調(diào)用。在一實(shí)施例中,為開 始握手服務(wù),發(fā)起者102調(diào)用進(jìn)行握手(DoHandshake)動(dòng)作106。該動(dòng)作 的名稱沒有意義且可以是不同的,只要XML格式的UPnP服務(wù)描述正確地 描述該名稱。
在一實(shí)施例中,進(jìn)行握手動(dòng)作具有一個(gè)輸入?yún)?shù)和兩個(gè)輸出參數(shù)。在 本發(fā)明的該實(shí)施例中,輸入?yún)?shù)是發(fā)起者消息500,第一輸出參數(shù)是響應(yīng)者 消息600,而第二輸出參數(shù)是請求標(biāo)識(shí)符。在一替換實(shí)施例中,發(fā)起者消息 500、響應(yīng)者消息600是同一格式的。另外,由于UPnP是基于文本的協(xié)議, 所以在其通過UPnP傳輸時(shí),發(fā)起者和響應(yīng)者消息都是64基編碼的。
發(fā)起者消息500的目的是允許響應(yīng)者104認(rèn)證發(fā)起者102。進(jìn)行握手 動(dòng)作106從發(fā)起者102向響應(yīng)者104發(fā)送發(fā)起者消息500。在圖5示出的實(shí) 施例中,發(fā)起者消息500將包括證書502,且使用公鑰密碼來認(rèn)證。證書使 用數(shù)字簽名來將公鑰504與發(fā)起者102的諸如設(shè)備型號(hào)和序列號(hào)等標(biāo)識(shí)信 息506綁定在一起。該證書可被用來驗(yàn)證公鑰504屬于發(fā)起者102。在典型 的公鑰基礎(chǔ)結(jié)構(gòu)方案中,該簽名是可信授權(quán)機(jī)構(gòu)的。響應(yīng)者104可以驗(yàn)證 該簽名并査明該證書是真實(shí)的。有利的是,響應(yīng)者104可以區(qū)別不同的發(fā) 起者102,并能夠通過使用包括在證書502中的信息來個(gè)別地授權(quán)每一發(fā)起 者102。例如,假定響應(yīng)者104只能夠流傳輸高分辨率視頻內(nèi)容。響應(yīng)者 104從證書502中査找設(shè)備型號(hào)來確定發(fā)起者102是否能夠呈現(xiàn)高分辨率視 頻內(nèi)容。如果發(fā)起者102能夠呈現(xiàn)高分辨率視頻內(nèi)容,則響應(yīng)者104授權(quán) 發(fā)起者102。
在一替換實(shí)施例中,該證書包括發(fā)起者的公鑰504。用公鑰504加密 的消息只可以使用只有發(fā)起者102知道的匹配的私鑰來解密。在該實(shí)施例 中,發(fā)起者消息500不僅包括證書502,而且包括每次調(diào)用進(jìn)行握手動(dòng)作時(shí) 都不相同的隨機(jī)數(shù)508。隨機(jī)數(shù)508被響應(yīng)者104用來生成共享秘密。另選
12地,隨機(jī)數(shù)508是數(shù)字和字符的任何生成的組合。
在一實(shí)施例中,響應(yīng)者消息600是響應(yīng)者104能夠認(rèn)證發(fā)起者消息500 中的證書502的指示。在圖6示出的替換實(shí)施例中,響應(yīng)者消息600包括 允許發(fā)起者102認(rèn)證響應(yīng)者104的、響應(yīng)者104的證書602。證書602還包 括響應(yīng)者104的標(biāo)識(shí)信息606以及響應(yīng)者的公鑰604。進(jìn)行握手動(dòng)作響應(yīng) 108從發(fā)起者102向響應(yīng)者104發(fā)送響應(yīng)者消息600和請求標(biāo)識(shí)符。
如上所述,證書602由可信授權(quán)機(jī)構(gòu)或直接或間接地?cái)?shù)字地簽名。并 且,通過驗(yàn)證該簽名,發(fā)起者102可以認(rèn)證響應(yīng)者104。另外,響應(yīng)者的證 書602以使用發(fā)起者的公鑰的方式來加密。在替換實(shí)施例中,響應(yīng)者消息 600的經(jīng)加密的部分包括每次調(diào)用進(jìn)行握手動(dòng)作時(shí)都不相同的隨機(jī)數(shù)608。 另選地,隨機(jī)數(shù)608是數(shù)字和字符的任何生成的組合。
在一實(shí)施例中,第二輸出參數(shù),即請求標(biāo)識(shí)符被用來將后續(xù)UPnP或 HTTP請求與先前成功完成的進(jìn)行握手動(dòng)作相匹配。在響應(yīng)者104記錄己經(jīng) 成功完成進(jìn)行握手動(dòng)作的發(fā)起者設(shè)備的以太網(wǎng)MAC地址的實(shí)施例中,不使 用請求標(biāo)識(shí)符,因?yàn)檫M(jìn)一步的請求只基于該以太網(wǎng)MAC地址來接受或拒 絕。在利用請求標(biāo)識(shí)符的實(shí)施例中,請求標(biāo)識(shí)符由響應(yīng)者104來生成。在 一實(shí)施例中,請求標(biāo)識(shí)符是隨機(jī)數(shù)。另選地,請求標(biāo)識(shí)符是數(shù)字和字符的 任何生成的組合。然而,在該實(shí)施例中,響應(yīng)者104將不知道發(fā)起者102 實(shí)際上是否能夠解密響應(yīng)者消息600中的加密的證書。不能夠查明這一點(diǎn), 則發(fā)起者102可能使用實(shí)際上是發(fā)放給一不同的設(shè)備的證書。
UPnP握手服務(wù)中的第二個(gè)動(dòng)作被稱為確認(rèn)(Confirm)動(dòng)作,其允許 響應(yīng)者104確認(rèn)發(fā)起者102能夠解密響應(yīng)者消息600中的證書。確認(rèn)動(dòng)作 110從發(fā)起者102向響應(yīng)者104發(fā)送確認(rèn)消息700。
確認(rèn)動(dòng)作IIO具有兩個(gè)輸入?yún)?shù)且不具有輸出參數(shù)(除成功/失敗指示 112之外)。第一輸入?yún)?shù)是響應(yīng)者104在進(jìn)行握手動(dòng)作響應(yīng)108中提供給 發(fā)起者102的請求標(biāo)識(shí)符。在一實(shí)施例中,該請求標(biāo)識(shí)符只在一段有限的 時(shí)間內(nèi)有效。嘗試用已經(jīng)期滿的請求標(biāo)識(shí)符調(diào)用確認(rèn)動(dòng)作使得該動(dòng)作返回 失敗指示。
在圖7中,確認(rèn)消息700包含第二個(gè)輸入?yún)?shù)。在該實(shí)施例中,確認(rèn)
13消息700包括安全令牌702。在一實(shí)施例中,安全令牌702是共享秘密702 的摘要。在一替換實(shí)施例中,安全令牌702是響應(yīng)者104和發(fā)起者102所 知道的數(shù)字,且使用例如從該共享秘密中導(dǎo)出的加密密鑰來加密。在一實(shí) 施例中,確認(rèn)消息700以二進(jìn)制格式來存儲(chǔ)。該共享秘密是使用發(fā)起者消 息500中的隨機(jī)數(shù)508和響應(yīng)者消息600中的隨機(jī)數(shù)608來導(dǎo)出的。因?yàn)?響應(yīng)者消息600中的隨機(jī)數(shù)608被加密,所以如果發(fā)起者102在確認(rèn)消息 700中包括正確的安全令牌702,則證明發(fā)起者102能夠解密響應(yīng)者消息600 的經(jīng)加密的部分。從響應(yīng)者104向發(fā)起者102發(fā)送成功或失敗的指示112。
安全令牌702在確認(rèn)消息700中不是以明文發(fā)送的。在一實(shí)施例中, 安全令牌702是響應(yīng)者和發(fā)起者都知道的數(shù)字,且使用例如從共享秘密中 導(dǎo)出的加密密鑰來加密。另選地,安全令牌702是該共享秘密的摘要(散 列)。在期望最小化CPU資源的實(shí)施例中,實(shí)現(xiàn)了散列,因?yàn)樯⒘型ǔ1?加密算法需要更少的CPU資源來計(jì)算。
在一替換實(shí)施例中,兩個(gè)隨機(jī)數(shù)508、 608還可以被用來導(dǎo)出對稱加密 密鑰。該密鑰可以與某一合適的加密算法一起使用,如AES (高級加密標(biāo) 準(zhǔn)),以加密在握手操作完成之后所發(fā)送的UPnP和/或HTTP業(yè)務(wù)。例如, 使用該加密密鑰來加密正在從媒體服務(wù)器下載或流傳輸?shù)膬?nèi)容可能是合乎 需要的。
在一實(shí)施例中,響應(yīng)者104可以記錄發(fā)起者102設(shè)備的以太網(wǎng)MAC 地址,并將其添加到已通過握手的設(shè)備的表中,和/或?qū)⑵涮砑拥揭驯皇跈?quán) 的設(shè)備(假定該設(shè)備也被成功授權(quán))的表中。后續(xù)UPnP和HTTP請求將基 于該MAC地址是否在經(jīng)授權(quán)的設(shè)備的表中而被接受或拒絕。
在本發(fā)明的另一實(shí)施例中,請求標(biāo)識(shí)符參數(shù)擔(dān)任會(huì)話標(biāo)識(shí)符的角色。 在該實(shí)施例中,會(huì)話標(biāo)識(shí)符在后續(xù)UPnP和HTTP請求中使用,以允許響應(yīng) 者104 了解該請求起源于已完成握手操作的設(shè)備。
在一實(shí)施例中,會(huì)話標(biāo)識(shí)符參數(shù)與先前描述的請求標(biāo)識(shí)符相同。另選 地,會(huì)話標(biāo)識(shí)符參數(shù)包括會(huì)話令牌。會(huì)話令牌根據(jù)第一和第二隨機(jī)數(shù)來生 成,以使第一個(gè)生成的會(huì)話令牌不等于第二個(gè)生成的會(huì)話令牌。在另一替 換中,用一個(gè)輸出參數(shù)來擴(kuò)展確認(rèn)動(dòng)作。該新的輸出參數(shù)是會(huì)話標(biāo)識(shí)符,其只在確認(rèn)動(dòng)作成功的情況下才提供。
在本發(fā)明的一替換實(shí)施例中,會(huì)話標(biāo)識(shí)符和安全令牌702被包括在
UPnP和HTTP請求中。在另一實(shí)施例中,安全令牌702在每一請求中都是 不相同的。在一替換中,安全令牌702是從一數(shù)字中導(dǎo)出的,且發(fā)起者102 和響應(yīng)者104兩者在每一 UPnP或HTTP請求時(shí)都遞增該數(shù)字。另選地,安 全令牌702保持相同且在該摘要中計(jì)算附加數(shù)字(例如,當(dāng)前時(shí)間);該 附加數(shù)字在每一 UPnP或HTTP請求時(shí)遞增或是不同的。
在UPnP中,協(xié)議頭部使用與HTTP頭部相同的句法,所以定義對兩 協(xié)議都有效的單個(gè)協(xié)議頭部是可能的。在一實(shí)施例中,會(huì)話標(biāo)識(shí)符和秘密 的摘要被包括在利用ABNF(擴(kuò)充的巴克斯-諾爾范式(Backus-Naurform)) 句法的UPnP/HTTP頭部中
"X-握手-Id:" <會(huì)話"(1> ":" <秘密的64基編碼的摘要>
<會(huì)話"(1>字段是前述會(huì)話標(biāo)識(shí)符參數(shù),而<秘密的64基編碼的摘要〉 字段是在應(yīng)用64基編碼來將共享秘密轉(zhuǎn)換為ASCII表示之后,在其上計(jì)算 的摘要(散列)。
示例
X-Handshake-Id: 12345 : ab0fl2cd45eefl
(64基編碼的摘要在此處是出于說明性的目的示出的,且在實(shí)踐中將 更大)。在本發(fā)明的另一變型中,如以上定義的"X-Handshake-Id"頭部等 頭部只用于HTTP請求。
另選地,對于UPnP請求,該信息嵌入在UPnP請求消息內(nèi)部。以下是 以XML句法的示例
<formula>formula see original document page 15</formula>
現(xiàn)在參考圖2,該附圖示出根據(jù)本發(fā)明的實(shí)施例的發(fā)起者消息的創(chuàng)建。 在202處,第一便攜式媒體設(shè)備經(jīng)由網(wǎng)絡(luò)來廣播消息,通告所主存的UPnP 服務(wù)的可用性。在替換實(shí)施例中,該網(wǎng)絡(luò)是對等網(wǎng)絡(luò)。在另一實(shí)施例中,第一便攜式媒體設(shè)備包括UPnP控制點(diǎn)而第二便攜式媒體設(shè)備包括UPnP媒 體呈現(xiàn)器。另選地,第一便攜式媒體設(shè)備包括UPnP媒體呈現(xiàn)器而第二便 攜式媒體設(shè)備包括UPnP控制點(diǎn)。該服務(wù)包括握手服務(wù)和諸如內(nèi)容目錄服 務(wù)等至少一個(gè)附加UPnP服務(wù)。在一實(shí)施例中,該第一便攜式媒體設(shè)備周 期性地廣播UPnP NOTIFY消息,通告其所主存的服務(wù)的可用性。在一替換 實(shí)施例中,第二便攜式媒體設(shè)備廣播對握手服務(wù)的UPnP M-SEARCH請求, 該請求向網(wǎng)絡(luò)上的、支持該M-SEARCH請求中的URN所標(biāo)識(shí)的握手服務(wù) 的所有UPnP設(shè)備請求響應(yīng)。在204處,第二便攜式媒體設(shè)備生成第一隨機(jī)數(shù)。在該替換中,該隨 機(jī)數(shù)可以是字母和數(shù)字的任何組合。在一實(shí)施例中,該第一便攜式媒體設(shè) 備是諸如響應(yīng)者等UPnP設(shè)備,而第二便攜式媒體設(shè)備是諸如圖1所示的 發(fā)起者等UPnP端點(diǎn)。在一替換實(shí)施例中,第二便攜式媒體設(shè)備也是UPnP 設(shè)備。在另一實(shí)施例中,該隨機(jī)數(shù)將被包括在對第一便攜式媒體設(shè)備的請 求中,并被用來生成可用于設(shè)備之間的進(jìn)一步通信的對稱加密的共享秘密。 另選地,該隨機(jī)數(shù)被用來建立包括在設(shè)備之間的進(jìn)一步通信中的會(huì)話標(biāo)識(shí) 符。在206處,第二便攜式媒體設(shè)備將標(biāo)識(shí)信息和數(shù)字簽名格式化到對第 一便攜式媒體設(shè)備的請求中。在一實(shí)施例中,第二便攜式媒體設(shè)備使用公 鑰-私鑰對中的私鑰來簽署來自可信授權(quán)機(jī)構(gòu)的證書和第一隨機(jī)數(shù)。該證書 包括第二便攜式媒體設(shè)備的標(biāo)識(shí)信息,該標(biāo)識(shí)信息包括以下各項(xiàng)的至少一 個(gè)設(shè)備的設(shè)備型號(hào)、設(shè)備的序列號(hào)、和設(shè)備所支持的媒體格式的列表。 在一替換實(shí)施例中,包括在該請求中的數(shù)據(jù)被格式化到圖5所示的二進(jìn)制 發(fā)起者消息中。在208處,第二便攜式媒體設(shè)備經(jīng)由網(wǎng)絡(luò)向主存握手服務(wù)的第一便攜 式媒體設(shè)備發(fā)送該請求。當(dāng)在局域網(wǎng)絡(luò)環(huán)境中使用時(shí),第一和第二便攜式 媒體設(shè)備通過網(wǎng)絡(luò)接口或適配器連接到LAN。當(dāng)在廣域網(wǎng)絡(luò)環(huán)境中使用時(shí), 第一和第二便攜式媒體設(shè)備通常包括網(wǎng)卡或用于通過諸如因特網(wǎng)等WAN 建立通信的其它裝置。網(wǎng)絡(luò)環(huán)境中的連接可以是有線網(wǎng)絡(luò)或直接線連接和 無線介質(zhì),如Wi-Fi、聲學(xué)、RF、紅外、和其它無線介質(zhì)。所示的網(wǎng)絡(luò)連接是示例性的,并且可以使用在第一和第二便攜式媒體設(shè)備之間建立通信 鏈路的其它手段?,F(xiàn)在參考圖3,第一便攜式媒體設(shè)備從第二便攜式媒體設(shè)備接收該請求。下一步,在302-309處,第一便攜式媒體設(shè)備根據(jù)第二便攜式媒體設(shè)備的數(shù)字簽名來認(rèn)證第二便攜式媒體設(shè)備。該認(rèn)證建立第二便攜式媒體設(shè) 備的身份。在302處,第一便攜式媒體設(shè)備驗(yàn)證該數(shù)字簽名是來自第二便攜式媒 體設(shè)備的。在一實(shí)施例中,包括在發(fā)起者消息中的經(jīng)簽署的證書由可信授 權(quán)機(jī)構(gòu)來驗(yàn)證。如果該數(shù)字簽名未被驗(yàn)證,則第一便攜式媒體設(shè)備在304 處丟棄該會(huì)話,并在306處關(guān)閉與第二便攜式媒體設(shè)備的連接。在308處, 第一便攜式媒體設(shè)備檢査包括在該發(fā)起者消息中的證書是否是來自可信授 權(quán)機(jī)構(gòu)的。如果該證書不是來自可信授權(quán)機(jī)構(gòu)的,則第一便攜式媒體設(shè)備 在304處丟棄該會(huì)話,并在306處關(guān)閉與第二便攜式媒體設(shè)備的連接。一旦該設(shè)備得到認(rèn)證,則在309處,第一便攜式媒體設(shè)備根據(jù)證書的 標(biāo)識(shí)信息來授權(quán)第二便攜式媒體設(shè)備。在一替換實(shí)施例中,第一便攜式媒 體查詢第二便攜式媒體設(shè)備來獲得該第二便攜式媒體設(shè)備所支持的媒體格 式的列表。在該實(shí)施例中,如果第二便攜式媒體設(shè)備支持至少一個(gè)兼容格 式,則第一便攜式媒體設(shè)備授權(quán)該第二設(shè)備。如果第二便攜式媒體設(shè)備未 被授權(quán),則第一便攜式媒體設(shè)備在304處丟棄該會(huì)話,并在306處關(guān)閉與 第二便攜式媒體設(shè)備的連接。有利的是,第一便攜式媒體可以通過授權(quán)來將對其服務(wù)的訪問限制到 得到許可的或批準(zhǔn)的設(shè)備。例如,假定第一便攜式媒體設(shè)備主存只流傳輸 高分辨率視頻的服務(wù)。該第一便攜式媒體設(shè)備將只授權(quán)能夠呈現(xiàn)該高分辨 率視頻內(nèi)容的第二便攜式媒體設(shè)備。第一便攜式媒體設(shè)備通過第二便攜式 媒體設(shè)備的標(biāo)識(shí)信息(例如,型號(hào)、序列號(hào)和所支持的媒體格式)來確定 第二便攜式媒體設(shè)備是否能夠呈現(xiàn)該高分辨率視頻內(nèi)容。在一實(shí)施例中,第一便攜式媒體設(shè)備將經(jīng)授權(quán)的和經(jīng)認(rèn)證的第二便攜 式媒體設(shè)備的MAC以太網(wǎng)地址記錄在表中。在該實(shí)施例中,第一便攜式媒 體設(shè)備只接受來自其以太網(wǎng)MAC地址已被記錄的設(shè)備的對所主存的服務(wù)17的請求,且該方法終止。另選地,再次參考圖3,在310處,第一便攜式媒體設(shè)備生成第一隨機(jī)數(shù)。在該替換中,該隨機(jī)數(shù)可以是字母和數(shù)字的任何組合。在312處, 第一便攜式媒體設(shè)備生成安全令牌702。在一實(shí)施例中,安全令牌702是從 第一和第二隨機(jī)數(shù)生成的共享秘密的散列,該兩個(gè)隨機(jī)數(shù)可用于設(shè)備之間 的進(jìn)一步通信的對稱加密(例如,AES)或用來建立包括在設(shè)備之間的進(jìn) 一步通信中的會(huì)話標(biāo)識(shí)符。在314處,第一便攜式媒體設(shè)備將證書、數(shù)字簽名和第二隨機(jī)數(shù)格式 化到對第二便攜式媒體設(shè)備的響應(yīng)中。在一實(shí)施例中,第一便攜式媒體設(shè) 備簽署來自可信授權(quán)機(jī)構(gòu)的證書,而第二便攜式媒體設(shè)備可以使用該證書 和簽名來認(rèn)證第一便攜式媒體設(shè)備。在一替換實(shí)施例中,包括在該請求中 的數(shù)據(jù)被格式化到圖6所示的響應(yīng)者消息中。在316處,第一便攜式媒體設(shè)備選擇對稱加密密鑰(例如,AES密鑰) 并在318處使用所選擇的密鑰來加密所簽署的證書、第二隨機(jī)數(shù)和安全令 牌702。在320處,第一便攜式媒體設(shè)備用第二便攜式媒體設(shè)備的公鑰來加 密所選擇的AES密鑰。有利的是,人類可讀的認(rèn)證串未被包括在該響應(yīng)中, 因?yàn)锳ES密鑰是使用第二便攜式媒體設(shè)備的公鑰來加密的。因此,只有具 有第二便攜式媒體設(shè)備的私鑰的設(shè)備才能夠解密第一便攜式媒體設(shè)備的證 書和該散列。在320處,第一便攜式媒體設(shè)備經(jīng)由網(wǎng)絡(luò)向第二便攜式媒體設(shè)備發(fā)送 響應(yīng)消息。在一替換實(shí)施例中,請求標(biāo)識(shí)符被包括在該響應(yīng)中。該請求標(biāo) 識(shí)符由第一便攜式媒體設(shè)備用來將來自第二便攜式媒體設(shè)備的后續(xù)UPnP 或HTTP請求與先前成功完成的授權(quán)和認(rèn)證進(jìn)行匹配。在另一實(shí)施例中, 該請求標(biāo)識(shí)符被用來確認(rèn)第二便攜式媒體設(shè)備能夠解密該響應(yīng)消息中的證 書。在該實(shí)施例中,會(huì)話標(biāo)識(shí)符被包括在該響應(yīng)中,以將來自第二便攜式 媒體設(shè)備的后續(xù)UPnP或HTTP請求與先前成功完成的授權(quán)和認(rèn)證進(jìn)行匹 配?,F(xiàn)在參考圖4,第二便攜式媒體設(shè)備從第一便攜式媒體設(shè)備接收該響 應(yīng)。下一步,在402-412處,第二便攜式媒體設(shè)備根據(jù)第一便攜式媒體設(shè)18備的數(shù)字簽名來認(rèn)證該第一便攜式媒體設(shè)備。該認(rèn)證建立第一便攜式媒體 設(shè)備的身份。在一實(shí)施例中,包括在響應(yīng)消息中的經(jīng)簽署的證書由可信授 權(quán)機(jī)構(gòu)來驗(yàn)證。在402處,第二便攜式媒體設(shè)備使用其私鑰來解密該響應(yīng)消息中的 AES密鑰。在404處,第二便攜式媒體設(shè)備使用經(jīng)解密的AES密鑰來解密 第一便攜式媒體設(shè)備的證書。在406處,第二便攜式媒體設(shè)備驗(yàn)證該數(shù)字 簽名是來自第一便攜式媒體設(shè)備的。如果該數(shù)字簽名未得到驗(yàn)證,則第二 便攜式媒體設(shè)備在408處丟棄該會(huì)話,并在410處關(guān)閉與第一便攜式媒體 設(shè)備的連接。在412處,第二便攜式媒體設(shè)備檢查包括在該響應(yīng)消息中的 證書是否是來自可信授權(quán)機(jī)構(gòu)的。如果該證書不是來自可信授權(quán)機(jī)構(gòu)的, 則第二便攜式媒體設(shè)備在408處丟棄該會(huì)話,并在410處關(guān)閉與第一便攜 式媒體設(shè)備的連接。一旦第一便攜式媒體設(shè)備得到認(rèn)證,則在414處,第二便攜式媒體設(shè) 備生成包括所接收到的請求標(biāo)識(shí)符和經(jīng)解密的散列的確認(rèn)。在一替換實(shí)施 例中,包括在該確認(rèn)中的數(shù)據(jù)被格式化到圖7所示的確認(rèn)消息中。在一實(shí) 施例中,用第一便攜式媒體設(shè)備的公鑰加密該確認(rèn)的至少一部分。在一替 換實(shí)施例中,該請求標(biāo)識(shí)符只在一段有限的時(shí)間內(nèi)(例如,10秒)有效。 如果第二便攜式媒體設(shè)備在該請求標(biāo)識(shí)符期滿之前不向第一便攜式媒體設(shè) 備發(fā)送該確認(rèn),則認(rèn)證和授權(quán)失敗且第二便攜式媒體設(shè)備必須再次在步驟 302處開始該過程。在416處,第二便攜式媒體設(shè)備向第一便攜式媒體設(shè)備 發(fā)送該確認(rèn)。在418處,第一便攜式媒體設(shè)備使用該第一便攜式媒體設(shè)備的私鑰來 解密從第二便攜式媒體設(shè)備接收到的確認(rèn)消息。在420處,第一便攜式媒 體設(shè)備從第一和第二隨機(jī)數(shù)計(jì)算安全令牌702。在422處,第一便攜式媒體 設(shè)備將所計(jì)算的安全令牌與該確認(rèn)消息的經(jīng)解密的安全令牌702進(jìn)行比較。 如果兩個(gè)安全令牌不相等,則該確認(rèn)失敗且第一便攜式媒體設(shè)備在408處 丟棄該會(huì)話,并在410處關(guān)閉與第二便攜式媒體設(shè)備的連接。在424處,第一便攜式媒體設(shè)備生成會(huì)話標(biāo)識(shí)符。該會(huì)話標(biāo)識(shí)符由第 一便攜式媒體設(shè)備用來將來自第二便攜式媒體設(shè)備的后續(xù)UPnP或HTTP請求與先前成功完成的授權(quán)和認(rèn)證進(jìn)行匹配。在一實(shí)施例中,該會(huì)話標(biāo)識(shí)符等于請求標(biāo)識(shí)符。在一替換實(shí)施例中,該會(huì)話標(biāo)識(shí)符是與請求標(biāo)識(shí)符不
相同的隨機(jī)值。在426處,第一便攜式媒體設(shè)備向第二便攜式媒體設(shè)備返
回會(huì)話標(biāo)識(shí)符,以指示該第二便攜式媒體設(shè)備的認(rèn)證和授權(quán)完成。
圖8示出具有用于供媒體服務(wù)器授權(quán)和認(rèn)證媒體呈現(xiàn)器的計(jì)算機(jī)可執(zhí)行組件的計(jì)算機(jī)可讀介質(zhì)。在一實(shí)施例中,媒體呈現(xiàn)器和媒體服務(wù)器都是UPnP設(shè)備。另選地,媒體呈現(xiàn)器和媒體服務(wù)器都是便攜式媒體設(shè)備。在第三替換方案中,媒體呈現(xiàn)器是UPnP端點(diǎn)而媒體服務(wù)器是UPnP設(shè)備。媒體服務(wù)器在開放網(wǎng)絡(luò)中實(shí)現(xiàn)一個(gè)或多個(gè)UPnP服務(wù)。在一替換實(shí)施例中,該網(wǎng)絡(luò)是對等網(wǎng)絡(luò)。各組件包括接口組件802、驗(yàn)證組件804和安全組件806。
接口組件802經(jīng)由網(wǎng)絡(luò)從媒體呈現(xiàn)器接收請求。該請求與包括媒體呈現(xiàn)器的標(biāo)識(shí)信息和數(shù)字簽名的發(fā)起消息相關(guān)聯(lián)。另外,接口組件802經(jīng)由網(wǎng)絡(luò)向媒體呈現(xiàn)器設(shè)備發(fā)送響應(yīng),指示該媒體呈現(xiàn)器是否已被媒體服務(wù)器認(rèn)證和授權(quán)。
驗(yàn)證組件804根據(jù)該請求的數(shù)字簽名來認(rèn)證媒體呈現(xiàn)器。在一實(shí)施例中,該數(shù)字簽名由可信授權(quán)機(jī)構(gòu)來驗(yàn)證。另外,驗(yàn)證組件804根據(jù)該請求的標(biāo)識(shí)信息來授權(quán)媒體呈現(xiàn)器設(shè)備。在一替換實(shí)施例中,查詢媒體呈現(xiàn)器設(shè)備來獲得所支持的媒體格式的列表。在該實(shí)施例中,如果媒體呈現(xiàn)器設(shè)備支持至少一個(gè)兼容的格式,則其被授權(quán)。
安全組件806在媒體呈現(xiàn)器被驗(yàn)證組件授權(quán)和認(rèn)證的情況下向媒體呈現(xiàn)器授予對媒體服務(wù)器所實(shí)現(xiàn)的一個(gè)或多個(gè)服務(wù)的訪問,并在媒體呈現(xiàn)器未被驗(yàn)證組件授權(quán)和認(rèn)證的情況下向媒體呈現(xiàn)器拒絕訪問。
出于說明的目的,諸如接口組件802、驗(yàn)證組件804和安全組件806等程序和其它可執(zhí)行程序組件在此處作為分立的塊來示出。然而,可以認(rèn)
識(shí)到,這樣的程序和組件在不同時(shí)間駐留在UPnP設(shè)備的不同存儲(chǔ)組件中,并由該設(shè)備的數(shù)據(jù)處理器執(zhí)行。
除非另有指定,否則此處所示和所述的本發(fā)明各實(shí)施例的操作的執(zhí)行
或進(jìn)行的次序不是必需的。即,除非另有指明,否則各操作可按照任何次序執(zhí)行,且本發(fā)明的實(shí)施例可以包括比本文所公開的更多或更少的操作。
20例如,構(gòu)想了在另一操作之前、同時(shí)或之后執(zhí)行或進(jìn)行某一操作是在本發(fā)明各方面的范圍之內(nèi)的。
本發(fā)明的各實(shí)施例可以用計(jì)算機(jī)可執(zhí)行指令來實(shí)現(xiàn)。計(jì)算機(jī)可執(zhí)行指令可以被組織為一個(gè)或多個(gè)計(jì)算機(jī)可執(zhí)行組件或模塊。本發(fā)明的各方面可以用任何數(shù)量的這些組件或模塊及其任何組織來實(shí)現(xiàn)。例如,本發(fā)明的各方面不限于在各附圖和本文中示出的特定的計(jì)算機(jī)可執(zhí)行指令或者特定的組件或模塊。本發(fā)明的其他實(shí)施例可以包括具有比在本文中示出和描述的更多或更少的功能的不同計(jì)算機(jī)可執(zhí)行指令或組件。
當(dāng)介紹本發(fā)明或其實(shí)施例的各方面的各元素時(shí),冠詞"一"、"一個(gè)"、"該"和"所述"指的是存在該元素的一個(gè)或多個(gè)。術(shù)語"包括"、"包含"、"具有"旨在是包括性的并且指的是可以有除所列元素之外的其它元素。
在不背離本發(fā)明各方面的范圍的情況下,可對以上構(gòu)造、產(chǎn)品和方法進(jìn)行各種改變,以上描述中所包含的以及在附圖中所示出的所有一切旨在應(yīng)被解釋為說明性并且沒有限制意義。
權(quán)利要求
1. 一種用于在開放網(wǎng)絡(luò)中的UPnP(通用即插即用)設(shè)備(104)和UPnP端點(diǎn)(102)之間建立安全連接的方法,其中所述UPnP設(shè)備(104)和UPnP端點(diǎn)(102)可以動(dòng)態(tài)地加入和離開所述網(wǎng)絡(luò),所述方法包括UPnP設(shè)備(104)接收對UPnP服務(wù)的請求(500),所述請求是經(jīng)由所述網(wǎng)絡(luò)從UPnP端點(diǎn)(102)接收的,所述請求(500)包括與所述UPnP端點(diǎn)(102)相關(guān)聯(lián)的標(biāo)識(shí)信息(506)和數(shù)字簽名;所述UPnP設(shè)備(104)根據(jù)所接收到的所述UPnP端點(diǎn)(102)的數(shù)字簽名來認(rèn)證所述UPnP端點(diǎn)(102),以驗(yàn)證所述UPnP端點(diǎn)(102)的身份;所述UPnP設(shè)備(104)根據(jù)所接收到的標(biāo)識(shí)信息(506)來授權(quán)所述UPnP端點(diǎn)(102),以準(zhǔn)許對所述UPnP設(shè)備(104)所實(shí)現(xiàn)的一個(gè)或多個(gè)服務(wù)的訪問;從所述UPnP設(shè)備(104)向所述UPnP端點(diǎn)(102)發(fā)送響應(yīng),指示所述UPnP端點(diǎn)(102)是否已被所述UPnP設(shè)備(104)認(rèn)證和授權(quán)。
2. 如權(quán)利要求1所述的方法,其特征在于,所述標(biāo)識(shí)信息包括可信授權(quán)機(jī)構(gòu)所提供的證書,所述可信授權(quán)機(jī)構(gòu)提供所述請求的數(shù)字簽名。
3. 如權(quán)利要求2所述的方法,其特征在于,所述證書包括所述UPnP端點(diǎn)的公鑰,且所述方法還包括用所述UPnP端點(diǎn)的公鑰來加密所述UPnP設(shè)備所提供的響應(yīng)的至少一部分。
4. 如權(quán)利要求1所述的方法,其特征在于,所述標(biāo)識(shí)信息包括以下各項(xiàng)的一個(gè)或多個(gè)所述UPnP端點(diǎn)的設(shè)備型號(hào)、所述UPnP端點(diǎn)的序列號(hào)、和所述UPnP端點(diǎn)所支持的媒體格式的列表。
5. 如權(quán)利要求1所述的方法,其特征在于,所述響應(yīng)包括所述UPnP設(shè)備的證書,且所述方法還包括所述UPnP端點(diǎn)用所述UPnP設(shè)備的證書來認(rèn)證所述UPnP設(shè)備。
6. 如權(quán)利要求1所述的方法,其特征在于,所述響應(yīng)包括會(huì)話標(biāo)識(shí)符,所述會(huì)話標(biāo)識(shí)符被包括在后續(xù)請求中。
7. 如權(quán)利要求1所述的方法,其特征在于,所述請求包括所述UPnP端點(diǎn)所生成的第一隨機(jī)數(shù),且所述響應(yīng)包括所述UPnP設(shè)備所生成的第二隨機(jī)數(shù),所述響應(yīng)用所述UPnP端點(diǎn)的公鑰來加密,且所述方法還包括所述UPnP設(shè)備從所述UPnP端點(diǎn)接收確認(rèn),所述確認(rèn)包括所述UPnP端點(diǎn)根據(jù)所述第一隨機(jī)數(shù)和經(jīng)解密的第二隨機(jī)數(shù)生成的安全令牌,所述第二隨機(jī)數(shù)用所述UPnP端點(diǎn)的私鑰來解密,所述UPnP端點(diǎn)的私鑰對應(yīng)于所述UPnP端點(diǎn)的公鑰;以及響應(yīng)于接收到所述確認(rèn),所述UPnP設(shè)備根據(jù)所述安全令牌來確認(rèn)所述UPnP端點(diǎn)的認(rèn)證和授權(quán)。
8. 如權(quán)利要求7所述的方法,其特征在于,還包括所述UPnP端點(diǎn)根據(jù)所述第一和第二隨機(jī)數(shù)來生成共享秘密;以及所述UPnP端點(diǎn)根據(jù)所述共享秘密來生成所述安全令牌。
9. 如權(quán)利要求8所述的方法,其特征在于,所述安全令牌包括以下各項(xiàng)的一個(gè)或多個(gè)所述共享秘密的摘要;和所述UPnP端點(diǎn)和所述UPnP設(shè)備知道的、使用從所述共享秘密導(dǎo)出的加密密鑰來加密的值。
10. 如權(quán)利要求7所述的方法,其特征在于,還包括所述UPnP設(shè)備生成會(huì)話標(biāo)識(shí)符,所述會(huì)話標(biāo)識(shí)符被包括在對所述UPnP端點(diǎn)的響應(yīng)中,所述會(huì)話標(biāo)識(shí)符還被包括在來自所述UPnP端點(diǎn)的后續(xù)請求和來自所述UPnP設(shè)備的后續(xù)響應(yīng)中。
11. 如權(quán)利要求IO所述的方法,其特征在于,所述會(huì)話標(biāo)識(shí)符包括會(huì)話令牌,且所述方法還包括根據(jù)所述第一和第二隨機(jī)數(shù)來生成所述會(huì)話標(biāo)識(shí)符,以便第一個(gè)生成的會(huì)話令牌不等于第二個(gè)生成的會(huì)話令牌。
12. 如權(quán)利要求11所述的方法,其特征在于,所述會(huì)話標(biāo)識(shí)符和會(huì)話令牌被嵌入在以下各項(xiàng)的至少一個(gè)中XML請求和UPnP請求的HTTP頭部。
13. 如權(quán)利要求l所述的方法,其特征在于,還包括所述UPnP設(shè)備根據(jù)所述UPnP端點(diǎn)的授權(quán)和認(rèn)證來記錄與所述UPnP端點(diǎn)相關(guān)聯(lián)的地址,所述地址由所述UPnP設(shè)備用來標(biāo)識(shí)來自所述UPnP端點(diǎn)的后續(xù)請求。
14. 如權(quán)利要求1所述的方法,其特征在于, 一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)具有用于執(zhí)行如權(quán)利要求1所述的方法的計(jì)算機(jī)可執(zhí)行指令。
15. —種用于在開放網(wǎng)絡(luò)中在多個(gè)UPnP (通用即插即用)便攜式媒 體設(shè)備之間建立新的安全握手服務(wù)的方法,其中一個(gè)或多個(gè)所述UPriP便攜式媒體設(shè)備可以動(dòng)態(tài)地加入和離開所述網(wǎng)絡(luò),所述方法包括經(jīng)由所述網(wǎng)絡(luò)發(fā)送消息(202),所述消息通告第一便攜式媒體設(shè)備所 主存的UPnP服務(wù)的可用性,所述服務(wù)包括所述握手服務(wù)和至少一個(gè)附加 UPnP服務(wù);所述第一便攜式媒體設(shè)備經(jīng)由所述網(wǎng)絡(luò)從第二便攜式媒體設(shè)備接收發(fā) 起所述握手服務(wù)的第一請求(208),所述請求包括發(fā)起消息,所述發(fā)起消 息包括所述第二便攜式媒體設(shè)備的標(biāo)識(shí)信息和數(shù)字簽名;所述第一便攜式媒體設(shè)備根據(jù)所述第二便攜式媒體設(shè)備的數(shù)字簽名來 認(rèn)證(302)所述第二便攜式媒體設(shè)備,所述認(rèn)證建立所述第二便攜式媒體 設(shè)備的身份;所述第一便攜式媒體設(shè)備根據(jù)所述請求的標(biāo)識(shí)信息來授權(quán)(309)所述 第二便攜式媒體設(shè)備,所述授權(quán)確定所述第二便攜式媒體設(shè)備是否被準(zhǔn)許 與所述第一便攜式媒體設(shè)備通信;所述第一便攜式媒體設(shè)備經(jīng)由所述網(wǎng)絡(luò)向所述第二便攜式媒體設(shè)備發(fā) 送響應(yīng)(322),所述響應(yīng)指示所述第二便攜式媒體設(shè)備是否已被所述第一 便攜式媒體設(shè)備認(rèn)證和授權(quán);所述第一便攜式媒體設(shè)備經(jīng)由所述網(wǎng)絡(luò)從所述第二便攜式媒體設(shè)備接 收對所述第一便攜式所主存的所述至少一個(gè)附加UPnP服務(wù)的第二請求 (416);其中如果所述第二便攜式媒體設(shè)備被所述第一便攜式媒體設(shè)備認(rèn)證和授 權(quán),則所述第二便攜式媒體設(shè)備被允許訪問主存在所述第一便攜式媒體設(shè) 備上的所述至少一個(gè)附加UPnP服務(wù);以及如果所述第二便攜式媒體設(shè)備未被所述第一便攜式媒體設(shè)備認(rèn)證和授 權(quán),則所述第二便攜式媒體設(shè)備不被允許訪問主存在所述第一便攜式媒體 設(shè)備上的所述至少一個(gè)附加UPnP服務(wù)。
16. 如權(quán)利要求15所述的方法,其特征在于,所述第一便攜式媒體 設(shè)備包括UPnP控制點(diǎn)而所述第二便攜式媒體設(shè)備包括UPnP媒體呈現(xiàn)器。
17. 如權(quán)利要求15所述的系統(tǒng),其特征在于,所述第一便攜式媒體 設(shè)備包括UPnP媒體呈現(xiàn)器而所述第二便攜式媒體設(shè)備包括UPnP控制點(diǎn)。
18. —個(gè)或多個(gè)具有用于供媒體服務(wù)器授權(quán)和認(rèn)證媒體呈現(xiàn)器的計(jì) 算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),其中所述媒體服務(wù)器在開放網(wǎng)絡(luò)中實(shí) 現(xiàn)一個(gè)或多個(gè)UPnP服務(wù),所述介質(zhì)包括接口組件(802),用于經(jīng)由所述網(wǎng)絡(luò)從所述媒體呈現(xiàn)器接收請求,所述請求包括發(fā)起消息, 所述發(fā)起消息包括所述媒體呈現(xiàn)器的標(biāo)識(shí)信息和數(shù)字簽名;以及經(jīng)由所述網(wǎng)絡(luò)向媒體呈現(xiàn)器設(shè)備發(fā)送響應(yīng),所述響應(yīng)指示所述媒體 呈現(xiàn)器是否已被所述媒體服務(wù)器認(rèn)證和授權(quán); 驗(yàn)證組件(804),用于根據(jù)所述媒體呈現(xiàn)器的數(shù)字簽名來認(rèn)證所述媒體呈現(xiàn)器,所述認(rèn)證 建立所述媒體呈現(xiàn)器的身份;以及根據(jù)所述請求的標(biāo)識(shí)信息來授權(quán)所述媒體呈現(xiàn)器,所述授權(quán)確定所 述媒體呈現(xiàn)器是否被準(zhǔn)許與所述媒體服務(wù)器通信;以及 安全組件(806),用于如果所述媒體呈現(xiàn)器被所述驗(yàn)證組件授權(quán)和認(rèn)證,則向所述媒體呈 現(xiàn)器授予對所述媒體服務(wù)器所實(shí)現(xiàn)的一個(gè)或多個(gè)服務(wù)的訪問;以及如果所述媒體呈現(xiàn)器未被所述驗(yàn)證組件授權(quán)和認(rèn)證,則向所述媒體 呈現(xiàn)器拒絕對所述媒體服務(wù)器所實(shí)現(xiàn)的一個(gè)或多個(gè)服務(wù)的訪問。
19. 如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括用 于供所述媒體呈現(xiàn)器響應(yīng)于所述媒體服務(wù)器所發(fā)送的請求來認(rèn)證和授權(quán)所 述媒體服務(wù)器的計(jì)算機(jī)可執(zhí)行指令。
20. 如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述媒體 服務(wù)器和所述媒體呈現(xiàn)器是便攜式媒體設(shè)備。
全文摘要
在主存一個(gè)或多個(gè)UPnP服務(wù)的開放網(wǎng)絡(luò)中,在多個(gè)UPnP(通用即插即用)便攜式媒體設(shè)備和端點(diǎn)之間實(shí)現(xiàn)安全握手服務(wù)。第一便攜式媒體設(shè)備經(jīng)由網(wǎng)絡(luò)從第二便攜式媒體設(shè)備接收對所主存的服務(wù)的第一請求。第一便攜式媒體設(shè)備根據(jù)該請求的證書來認(rèn)證授權(quán)第二便攜式媒體設(shè)備。如果第二便攜式媒體設(shè)備被第一便攜式媒體設(shè)備認(rèn)證和授權(quán),則該第二便攜式媒體設(shè)備被允許訪問所請求的主存在該第一便攜式媒體設(shè)備上的服務(wù)。
文檔編號(hào)H04L9/32GK101523801SQ200780037857
公開日2009年9月2日 申請日期2007年10月10日 優(yōu)先權(quán)日2006年10月13日
發(fā)明者A·凱爾門茨, B·K·達(dá)克斯塔, J·T·小沃爾特, K·斯瑞尼瓦斯 申請人:微軟公司