承載使用用於流傳送的控制協議和傳輸協議保護的內容的製作方法
2023-11-02 04:52:12 4
專利名稱::承載使用用於流傳送的控制協議和傳輸協議保護的內容的製作方法和傳輸協議保護的內容背景數字權限管理(DRM)指的是用於諸如通過控制或限制對數字媒體內容在電子設備上的使用來保護內容的技術。DRM的一個特性在於,它可將媒體內容綁定到給定的機器或設備。因此,一般將關於特定內容並定義與該內容相關聯的權限和限制的許可證綁定至該給定的機器或設備。因此,用戶一般不能夠取得該內容,並將其移動至另一機器以便回放該內容。存在許可受到DRM保護的內容被移動至其它機器以便於在這些機器上回放該內容的某些技術,但這些技術傾向於使用不適於同時傳送和回放內容的非實時內容傳送協議。概述各種實施例利用保護內容的各種方法,諸如數字權限管理(DRM),來允許在諸如家庭媒體網絡等的區域網內的多個機器和設備上安全地回放內容。在至少某些實施例中,分別使用用於流傳送的控制協議和傳輸協議來傳遞消息和內容。在至少某些實施例中,用於流傳送的控制協議是實時流傳送協議(RTSP),而傳輸協議為實時傳輸協議(RTP)。附圖簡述圖1示出了可用其來在一個實施例中採用本發明實施例的一協議的示例性註冊過程。圖2示出了可用其來在一個實施例中採用本發明實施例的一協議的示例性鄰近檢測過程。圖3示出了可用其來在一個實施例中採用本發明實施例的一協議的示例性會話建立過程。圖4示出了可用其來在一個實施例中採用本發明實施例的一協議的示例性數據傳送過程。4圖5示出了可用其來根據一個實施例來利用本發明實施例的流傳送協議的各個方面。圖6示出了結合一個實施例來利用的圖5中的流傳送協議。圖7示出了結合一個實施例來利用的圖5中的流傳送協議。圖8是描述根據一個實施例的一方法中各步驟的流程圖。圖9示出了根據一個實施例的分組。圖IO示出了根據一個實施例的樣本加密。圖11示出了根據一個實施例的分組。詳細描述概觀此處描述的各個實施例利用了用於保護內容的各方法,諸如數字權限管理(DRM)以允許在諸如家庭媒體網絡的區域網內的多個機器和設備上安全地回放內容。在至少某些實施例中,分別使用用於流傳送的控制協議和傳輸協議來傳遞消息和內容。在至少某些實施例中,用於流傳送的控制協議為實時流傳送協議(RTSP),而傳輸協議為實時傳輸協議(RTP)。如由本領域的技術人員所理解的,在這些實施例中,引入了協議擴展,它們享受由RTSP/RTP提供的優點,包括通過用戶數據報協議(UDP)和客戶機與伺服器之間的雙向通信來進行數據傳遞。具體地,在至少某些實施例中,協議擴展使用RTSP安全地建立一會話,傳輸用RTP封裝的受保護數據,提供根據RTP有效負荷格式來加密和傳送數據的各種方案,以及用於同經加密的內容數據一起傳送加密參數的各種方法。在以下的討論中,提供了題為"內容安全和許可證傳送協議的章節,它描述了可在其中採用本發明技術的一個特定系統。在其之後,提供了題為"RTSP"的章節以向不熟悉RTSP的讀者給出RTSP領域中用於理解本發明技術的至少某些上下文。在該章節之後,提供了題為"使用RTSP的示例性實現"的章節,它描述了採用RTSP以建立控制流並利用RTP來建立數據流的各種本發明技術。內容安全和許可證傳送協議以下提供了一示例性協議的討論,該協議提供用於內容通過數字鏈路流動的安全和傳送許可證。該協議僅構成了可用其來採用各種發明的技術的一個示例性協議。可以理解和領會,可利用其它協議,而不背離所要求保護的本主體的精神和範圍。在描述中使用以下密碼記號K(數據)使用秘密密鑰K來加密數據。K[數據]使用秘密密鑰K來籤署數據。{數據}^用設備的公鑰來加密數據。m用設備的私鑰來籤署數據。在此特定協議中,有五個主要過程茲〕欽、^M;新驗f、鄰近檢/jf、會話;^i、在^^屋過程中,發送機(即,有內容要發送給另一設備的一設備)可唯一且安全地表示預期的接收機(即,要向其發送內容的設備)。在該特定協議中,發送機維護具有已註冊接收機的資料庫,並確保不同時使用超過少量預定數目的接收機。在該註冊過程期間,發送機還採用鄰if澄,/i^^確保接收機位於網絡中發送機的"附近",以防止受保護內容的廣泛分發。_^^#:邀^^過程被用來確保接收機繼續在發送機"附近"。除非接收機在過去的一預定時間段內已註冊或已重新驗證,否則內容不被傳遞給該接收機。只要接收機向發送機請求內容就使用會話一建J過程。發送機強制在完成會話;^J2^前該設備必須經過註冊或最近經過驗證。一旦建立了會話,所請求內容的^"嚴/^^可用安全的方式進行。接收機可再次使用該會話來檢索該內容的特定部分(查找),但必須建立一新會話以便檢索不同的內容。現在結合圖1和描述註冊期間在發送機和接收機之間傳遞的各個消息的下表來考慮注I過程。消息值描述tableseeoriginaldocumentpage6地址發送機傳入和傳出的鄰近分組套接字的地址。SId(會話Id)128位隨機會話Id。鄰近檢測算法在頻帶外執行鄰近檢測算法。此處,接收機發送除其它信息外還包含接收機的數字證書的註冊請求消息。響應於接收該註冊請求消息,發送機驗證接收機的證書,生成種子和隨機會話ID,在註冊響應消息中按上述格式向接收機返回同樣內容。接收機然後驗證發送機的籤名,獲取會話ID並執行附圖中所示的其它動作。接收機和發送機然後可經歷以下描述的鄰近檢測過程。對於^if邀,,執行與上述相同的過程,區別在於,在羞、齊教證期間,接收機已在資料庫中註冊。對於鄰近澄#/,結合圖2考慮以下。在汆^近澄^f過程期間,接收機向發送機發送包含鄰近檢測初始化消息中指示的會話Id的消息。發送機然後向接收機發送包含現時值(Nonce)(128位隨機值)的消息,並測量接收機以使用內容加密密鑰加密的現時值來答覆所花的時間。最後,發送機向接收機發送指示鄰近檢測成功與否的消息。接收機可重複該過程,直到它確認鄰近檢測成功。當該特定協議在基於IP的網絡上使用時,通過UDP來交換鄰近檢測消息。接收機經由註冊響應消息知道發送機的地址。接收機的地址不需要單獨傳送,因為可通過檢查承載鄰近檢測初始化消息的UDP分組的傳入IP頭來確定。下表描述了在鄰近檢測期間交換的消息:消息值描述鄰近開始消息1SId(會話Id)由發送機發送的同一128位會話Id值。鄰近質詢消息Seq(序號)8位遞增序號。SId(會話Id)同一128位會話Id。現時值128位隨機值。鄰近響應消息Seq(序號)由發送機確定的同一序號。SId(會話Id)同一128位會話Id。KC(現時值〉使用內容加密密鑰加密的128位現時值。鄰近結果消息SId(會話Id)同一128位會話Id。結果指示註冊過程成功還是失敗的狀態碼。7對於會話;^立,結合圖3和描述在會話^^li期間交換的消息的下表考慮以下。tableseeoriginaldocumentpage8在此示例中,從接收機向發送機發送許可證請求消息,它包含上述信息。作為響應,發送機可發送包含上述信息的許可證響應消息。在該特定示例中,用XMR格式表示許可證,許可證包括內容加密密鑰、內容完整性密鑰、發送機CRL的版本、128位權限Id和128位序列號。許可證還包含使用OMAC用內容完整性密鑰計算的OMAC。對於^"嚴傳送過程,結合圖4考慮以下。一旦會話;^J^成,即以控制協議專用的方式執行數據傳送。^"嚴傳送請求和響應兩者必須為控制協議和內容類型特別定義。這概念性地表示在圖4中。現在提供了可用其來採用本發明實施例的示例性協議的簡要概觀,現在考慮RTSP的一些背景信息。RTSP如本領域的技術人員所理解,實時流傳送協議即RTSP是用於對具有實時特性的數據傳遞(即流傳送)進行控制的應用層協議。RTSP提供允許對諸如音頻和視頻的實時數據進行受控、按需傳遞的可擴展框架。數據源可包括實況數據饋送和已存儲的剪輯兩者。該協議旨在控制多個數據傳遞會話,提供用於選擇諸如UDP、組播UDP和TCP的傳遞信道的手段,並提供用於基於RTP選擇傳遞機制的手段。RTSP建立並控制單個或多個時間同步的連續媒體流,諸如音頻和視頻。它自己一般不傳遞連續流,儘管連續媒體流與控制流的交織是可能的。換言之,RTSP用作多媒體伺服器的"網絡遙控器"。要被控制的流的集合由演示描述定義。在RTSP中,不存在RTSP連接的概念;相反,伺服器維護由標識符標記的會話。RTSP會話決不綁定至傳輸層連接,諸如TCP連接。在RTSP會話期間,RTSP客戶機可打開或關閉至伺服器的眾多可靠的傳輸連接以發出RTSP請求。或者,如本領域的技術人員可以理解,可使用諸如UDP的無連接傳輸協議。由RTSP控制的流可使用RTP,但RTSP的操作不依賴於用於承載連續媒體的傳輸機制。現在結合圖5考慮客戶機/接收機500與伺服器/發送機502之間的典型的RTSP請求/響應交換。初步地,RTSP請求/響應具有為簡潔起見未做描述的標頭。在RTSP中,客戶機/接收機500—般發出被稱為描述的請求,它針對從伺服器502檢索由請求URL標識的演示或媒體對象的描述。伺服器502用以會話描述協議(SDP)表示的被請求資源的描述作出響應。描述響應(SDP)包含其所描述的資源的所有媒體初始化信息。接著,客戶機500發送對指定要用於流傳送媒體的傳輸機制的URI的設置請求。在圖5的示例中,為音頻和視頻兩者發送設置請求。客戶機500還在設置請求中指示它將利用的傳輸參數。設置請求中的傳輸標頭指定客戶機可接受用於數據傳輸的傳輸參數。來自伺服器502的響應包含由伺服器所選的傳輸參數。伺服器還響應於該設置請求生成會話標識符。此時,客戶機可發出播放請求,它告知伺服器以經由設置中指定的機制來開始發送數據。響應於接收播放請求,伺服器可開始流傳送內容,在此示例中,該內容為音頻/視頻內容。如本領域的技術人員可以理解,在此示例中,流傳送的內容9使用RTP分組封裝並通過UDP發送。RTSP協議具有感興趣的其它方法,包括暫停、拆卸、獲取參數、設置參數、重定向和記錄。對關於RTSP的其它背景,讀者應查詢1998年4月的RTSP草案,Schulzrinne,H.,Rao,A.和R.Lanphier的"RealTimeStreamingProtocol(實時流傳送協議)(RTSP)",草案2326,可在http:〃www.ietf.org/rfc/rfc2326.txt提供。使用RTSP的示例性實現在以下討論中,有兩個主要的子章節,一個題為"控制流",描述如何使用RTSP建立受DRM保護的內容的控制流,另一個題為"數據流",描述了如何使用RTSP建立受DRM保護的內容的數據流。這些主要子章節中的每一個都具有與之相關聯的描述本發明的實施例的各方面的子章節。在以下討論中,提供了如何根據一個實施例使用RTSP/RTP來實現上述協議的會話;^J和^"嚴傳送過程的描述。更具體地,在以下的"控制流"章節中,提供了如何使用RTSP實現會話^J的描述。在"數據流"章節中,提供了如何使用RTP實現J^嚴傳送的描述。控制流根據該實施例,由希望回放受DRM保護的內容——即,具有相關聯許可證的內容的接收機設備發起會話^^立。回想以上對內容安全和許可證協議的討論,客戶機/接收機可相應地向伺服器/發送機發送許可證請求消息,伺服器/發送機可以許可證響應消息來對其答覆。許可證響應消息又承載一許可證,在以上示例中該許可證是以可擴展媒體權限(XMR)來表示的。許可證包含與所請求的內容相關聯的策略和內容密鑰。在描述請求中承載許可證請求消息現在結合圖6考慮內容安全和許可證協議與RTSP的匯合。具體地,圖6示出了根據一個實施例的客戶機/接收機600和伺服器/發送機602。根據該實施例,當客戶機/接收機600希望訪問受DRM保護的內容時,客戶機在描述請求的正文中插入許可證請求消息。僅作為一個實現示例,考慮以下根據一個實施例包括許可證請求消息的描述請求消息摘錄。DESCRIBErtsp:〃eduardoOl/file.麗vRTSP/1.0Accept:application/sdpCSeq:1Supported:com.microsoft.wmdrm-nd,com.microsoft.wra.eosmsg,method.announceRequire:com.microsoft.wmdnn-ndContent-Type:application/vnd.ms-wmdrm-license-requestContent-Liength:1078License—iegxzest一Message在該示例中使用"R叫uire(要求)com.microsoft.wmdrm-nd"以指示接收機期望伺服器為特定類型的發送機。在該示例中使用"Content-Type(內容類型)application/vnd.ms-wmdrm-license-r叫uest"以指示該描述的正文包含許可證請求消息。除非存在錯誤,否則發送機應以SDP描述來答覆,該描述包括在下一章節中描述的許可證響應消息。將許可證響應消息嵌入到SDP描述中接收到在正文中包含許可證請求消息的描述請求之後,伺服器可返回許可證響應消息。在此示例中,伺服器返回不僅包含前述各個參數而且包含許可證響應消息的SDP描述。在此實施例中,如前所述,許可證響應消息將承載指定將對內容應用哪些策略的XMR許可證。僅作為一個實現示例,考慮以下根據一個實施例包括許可證響應請求的SDP摘錄。RTSP/1.0200OKLast-Modified:Thu,19Dec200215:36:18GMTContent-Length:1891Content-Type:application/sdpCSeq:1Supported:com.microsoft.wmdrm-nd,com.microsoft.麗.eosmsg,method.announceSDP一Description根據一個實施例,由發送機返回的SDP包括根據2397草案(http:〃www.ietf.org/rfc/rfc2397.txt)的規範被編碼在數據URL中的許可證響應消息。在一個示例中,包含在數據URL中的數據必須是Base64編碼的,且MIME類型i^、多頁牟皮設置為"application/vnd.ms-wmdrm-license陽response"。11作為句法的示例,考慮以下data:application/vnd.ms-wmdrm-license-responsebase64OAAQANAAAACgABAAMABAAAABoAAQAFAAAAEgBkAGQAZABkAGQAAwAJAAAApgA在該示例中,根據SDP密鑰管理擴展規範,數據URL必須使用"a:key-mgmt"屬性被插入到SDP會話層,該規範迄今為止仍是進展中的工作。句法如下a=key-mgmt:wmdrm-ndURL參數為上述數據URL。在通告(announce)請求中承載許可證響應消息現在考慮一些媒體文件包含需要實施不同策略的片段。作為示例,採取由Windows媒體中心TV錄製版生成的文件的情況。這樣的文件受到WMDRM的保護,並具有與之相關聯的多個策略。例如,對TV演出可能要求Macrovision,但對出現在同一錄製內的商業廣告片段則不需要。該要求導致需要定義用於在流中間傳遞經更新的策略的機制。根據一個實施例,可使用RTSP的通告請求在流中間傳遞經更新的策略。在此實施例中,通告請求可承載包含新的XMR許可證的許可證響應消息。在此示例中,有兩種與流傳送媒體相關聯的策略可能改變的情況。在第一種情況中,僅與特定流相關的策略可能改變。第二種情況中,策略和內容格式本身均可改變。考慮其中僅與流傳送媒體相關聯的策略可能改變的第一種情況。該情況的一個示例為TV演出片段與商業廣告之間的切換,其中TV片段需要在模擬輸出上啟用Macrovision,而商業廣告不需要。注意到,在該示例中,僅策略改變諸如比特率、編解碼器等編碼參數保持不變。考慮其中策略和內容格式兩者均改變的第二種情況。該情況的一個示例也是TV演出片段與商業廣告之間的切換,對策略有相同類型的改變。然而,在該示例12中,TV演出和商業廣告是使用不同編碼參數編碼的,諸如從高清晰度編碼過渡到標準清晰度編碼。這樣的場景一般被命名為"格式改變"。該情況的另一示例涉及通常被稱為"條目改變"的情況。條目改變一般是在作為"伺服器方播放列表"的一部分由伺服器傳遞的媒體文件之間切換的結果。這些播放列表一般由不必共有任何編碼參數或策略的媒體文件的集合組成。只要策略改變時格式未變,如在第一種情況中示出,伺服器僅將新策略發送給客戶機,作為通告請求的正文的一部分。在這種情況中,許可證響應消息被包括在通告消息的正文中。作為示例,考慮圖7,它示出了示例性的客戶機/接收機700和向客戶機/接收機發出通告請求以續接(articulate)帶有經更新策略的新許可證的伺服器/發送機702。只要策略改變且格式改變,如第二種情況中所示,伺服器向客戶機傳遞經更新的SDP描述。要求該SDP描述以描述發生的格式改變。在該示例中,SDP描述在格式改變的情況中也被作為通告請求傳遞。因此代替傳遞其中一個包含格式改變、另一包含策略改變的兩個連續通告請求,伺服器可僅發送承載SDP描述的一個通告請求。然後將策略改變作為嵌入在SDP描述中的許可證響應請求發送。再次考慮圖7,它示出了其正文包含具有嵌入的許可證響應消息的經更新SDP的通告請求。用於將許可證響應消息嵌入到作為通告請求的一部分的SDP描述中的格式與前述用於嵌入作為描述響應的一部分的SDP描述的格式相同。圖8是描述根據一個實施例的方法中各步驟的流程圖。該方法可結合任何合適的硬體、軟體、固件或其組合來實現。在一個實施例中,該方法被實現為具體化成某種類型的計算機可讀介質的一組計算機可讀指令或軟體代碼。步驟800試圖通過經由流傳送協議發送對受DRM內容的許可證的請求來建立控制流。在所示和所述實施例中,該步驟由客戶機/接收機執行。對許可證的請求的一個具體示例為上述的許可證請求消息。可利用其它的請求類型或格式,而不背離所要求保護的主題的精神和範圍。此外,以上描述了流傳送協議的一個示例(即,RTSP)。可使用其它流傳送協議,而不背離所要求保護的主題的精神和範圍。在RTSP實施例中,將請求插入描述請求的正文內。步驟802試圖通過接收該對許可證的請求來建立控制流。該步驟在此示例中由伺服器/發送機實現。響應於接收請求,步驟804可使用流傳送協議向客戶機/接收機發送許可證。以上提供了將許可證返回給客戶機/接收機的一個具體示例,其13中向客戶機/接收機發送了許可證響應消息形式的許可證。可利用其它響應類型或格式,而不背離所要求保護的主題的精神和範圍。此外,以上描述了流傳送協議的一個示例(即,RTSP)。可利用其他流傳送協議,而不背離所要求保護的主題的精神和範圍。在RTSP實施例中,響應是用SDP發送的。可以理解和領會,步驟804也可被實現成向客戶機/接收機發送更新。在此情況和RTSP示例的上下文中,可使用上述通告請求來傳遞更新。步驟806經由流傳送協議接收許可證。在所示和所述實施例中,該步驟由客戶機/接收機實現。在接收許可證之後,客戶機可根據許可證中定義的條款來訪問並消費內容。以下描述跟隨許可證獲取過程的數據流。數據流描述了結合受DRM保護的內容利用RTSP的控制流的示例性實施例,現在考慮包含實際受DRM保護的內容或允許其通信的數據流。在以下描述的實施例中,使用RTP作為數據傳送協議在發送機和接收機之間傳輸受DRM保護的內容。艮P,受DRM保護的內容傳輸自發送機並傳輸至接收機。在提供的特定示例中,描述了兩種不同的方法。在第一種方法中,所利用的RTP有效負荷格式支持擴展,進而允許諸如密鑰ID擴展和初始化向量的加密參數被包括在RTP分組中,使得經加密的有效負荷數據可經歷解密過程並被解密。在第二種方法中,RTP有效負荷格式不支持擴展。因此,在該方法中,定義了^"述)伊,它與包含經加密的有效負荷的RTP分組相關聯。描述符包含諸如密鑰ID擴展和初始化向量等可在解密過程中使用來對經加密的有效負荷數據解密的加密參數。通過Windows媒體有效負荷格式來承載樣本加密的有效負荷圖9示出了根據一個實施例、整體在900處的RTP分組的示例性部分。在該實施例中,所利用的RTP有效負荷格式以允許諸如密鑰ID擴展和初始化向量等的加密參數連同經加密的有效負荷內容一起被包括在RTP分組中的方式來支持擴展。這樣的格式的一個示例為Windows媒體RTP有效負荷格式,它在http:〃download.microsoft.com/download/5/5/a/55a7b886-b742-4613-8ea8國d8b8b5c27bbc/RTPPayloadFormatforWMAandWMVvl.doc描述。然而,可利用其他格式,而不背離所要求保護的主題的精神和範圍。在該示例中,分組900包括RTP標頭902和有效負荷格式標頭卯4。有效負荷格式標頭在該示例中允許擴展。因此,分組900還包括密鑰ID擴展906和初始化向量908,以及與密鑰ID擴展906和初始化向量908相關聯並可用其來解密的經加密有效負荷數據910(音頻或視頻數據中任一)。此外,RTP分組900可包括多個其它經加密的有效負荷。在此特定示例中,分組900還包括另一有效負荷格式標頭904a、密鑰ID擴展卯6a、初始化向量908a、以及與密鑰ID擴展906a和初始化向量908a相關聯並可用其來解密的經加密有效負荷數據910a(音頻或視頻數據中任一)。在該特定實施例中,一個RTP分組可包含多個不同的經加密的有效負荷。作為僅在一個特定上下文中的特定實現示例,結合Windows媒體音頻和視頻內容考慮以下。當承載受上述許可證保護的Windows媒體內容時,必須在RTP分組中設置以下值和欄位。1."MAU屬性"部分中位欄位(BitField)2中的"加密"位(E)必須被設置為1。2."MAU定時"部分中"擴展存在"位(X)必須為設置為1,以指示擴展欄位的存在性。3."經加密有效負荷邊界"擴展不允許存在。4.必須包括"WMDRM初始化向量"擴展。以下值必須被設置a."擴展類型"必須被設置為2。b."擴展長度"必須被設置為8(意為64位)。c.必須用如以下在題為"樣本加密"的章節中定義的樣本ID值來設置"擴展數據"。d.必須為每個MAU的第一有效負荷包括該擴展。如果MAU被分成多個有效負荷,則該擴展應僅存在於第一有效負荷中。5.必須包括"WMDRM密鑰ID"。以下值必須被設置a."擴展類型"必須被設置為3。b."擴展長度"必須被設置為16(意為128位)。c.在承載ASF內容時必須用來自ASF內容加密對象的密鑰ID值來設置"擴展數據"。或者,在承載諸如DVR-MS的非ASF內容時,它被設置為表示所使用的加密密鑰的密鑰ID值。d.必須為每個多有效負荷RTP分組中的第一有效負荷包括該擴展以解決分組丟失問題。15樣本加密作為對以上項目4(C)的進一步解釋,考慮以下。在該實施例中,每一樣本應使用計數器模式的AES加密。圖IO示出了用於使用該技術對單個樣本加密的過程。在該實施例中,計數器模式創建字節流,這些字節然後與媒體樣本的明文字節異或(XOR)以創建經加密的媒體樣本。密鑰流生成器使用AES輪來一次生成16位元組塊的密鑰流。對AES輪的輸入為內容加密密鑰(Kc)以及樣本ID與樣本內塊號的128位級聯。密鑰流生成器的輸出應與來自媒體樣本的相應塊(i)的數據逐個字節地異或。在媒體樣本未被按16位元組平均劃分的情況中,僅來自最後一塊的媒體數據的有效字節應與密鑰流異或並被保留為經加密的樣本。當加密來自ASF文件的樣本時,樣本ID等效於來自有效負荷擴展的樣本ID。因此,在該實施例中,根據"樣本"邊界來加密和解密數據,這些邊界是給定媒體類型的自然邊界,例如視頻流的視頻幀或音頻流的音頻樣本塊。使用數據片段描述符通過RTP有效負荷格式來承載鏈路加密的有效負荷圖11示出了根據另一個實施例、整體在1100處的分組的各個方面。在該示例中,分組1100可包括IP標頭1102、UDP標頭1104、RTP標頭1106、有效負荷格式標頭1108、有效負荷數據1110和描述符1112。在該特定示例中,將描述符追加到有效負荷數據的尾部,儘管它可被置於任何合適的位置。如本領域的技術人員可以理解的,將描述符置於有效負荷數據的尾部可減輕後向兼容問題。在該實施例中,除RTP標頭以外的RTP分組被視為與描述符1112相關聯的數據片段來處理。描述符1112又承載了可在能夠解密有效負荷數據1110的解密過程中使用的加密參數。在該特定實施例中,對有效負荷數據iiio應用了單個策略和內容加密密鑰。根據一個實施例,描述符1112包括如下的數據結構:部分欄位標誌8位標誌擴展8位擴展個數多個可變長度擴展長度數據片段描述符長度在該示例中,標誌部分為指示數據屬性的位欄位。當前定義以下值0x01指示經加密數據。當該標誌被置位時,它指示數據處於加密形式。否則,該數據為明文。對於擴展部分,擴展個數欄位指示包括在該描述符中的可變長度擴展的個數。對於可變長度擴展欄位,每一擴展具有以下格式8位擴展類型16位擴展長度可變長度擴展根據一個實施例,密鑰ID擴展和數據片段ID擴展被如下定義密鑰ID擴展擴展類型對於密鑰ID擴展,必須被設置為0x01。擴展長度必須被設置為16,表示28位U6位元組)。擴展必須包含同該描述符一起傳遞的經加密媒體的密鑰ID值。該擴展僅在加密數據標誌被置位時才使用。數據片段ID擴展擴展類型對於數據片段ID擴展,必須被設置為0x02。擴展長度必須被設置為8,表示64位(8位元組)。擴展必須包含同該描述符一起傳遞的經加密媒體的數據片段ID值。該擴展僅在加密數據標誌被置位時才使用。對於長度部分,在該實施例中,該部分必須包含以字節為單位的數據片段描述符的總長度。該長度並不包括同該描述符一起傳遞的媒體數據的大小。結論上述各個實施例利用保護內容的各種方法,諸如數字權限管理(DRM)來允許在諸如家庭媒體網絡的區域網內的多個機器和設備上安全地回放內容。在至少某些實施例中,經由實時流傳送協議(RTSP)和實時傳輸協議(RTP)來傳遞消息和內容,且引入了協議擴展,它享受由RTSP/RTP提供的優點,包括通過用戶數據報協議(UDP)以及客戶機與伺服器之間雙向通信來進行數據傳遞。儘管用結構特徵和/或方法步驟專用的語言描述了本發明,但可以理解,所附權利要求書中定義的本發明不必限於所述的特定特徵或步驟。相反,特定特徵和步驟被公開為實現所要求保護的本發明的優選形式。1權利要求1.一種計算機實現的方法,包括試圖使用用於流傳送的控制協議來建立用於交換受保護內容的控制流數據流;以及允許使用數據流來傳輸受保護內容,其中所述數據流使用一傳輸協議。2.如權利要求1所述的方法,其特徵在於,所述試圖建立控制流的動作包括向被配置成發送所述受保護內容的發送機發送許可證請求消息;以及從所述發送機接收包含一許可證的許可證響應消息。3.如權利要求1所述的方法,其特徵在於,所述試圖建立控制流的動作包括:從被配置成播放所述受保護內容的接收機接收許可證請求消息;以及向所述接收機發送包含一許可證的許可證響應消息。4.如權利要求l所述的方法,其特徵在於,所述試圖建立控制流的動作是使用RTSP實現的。5.如權利要求4所述的方法,其特徵在於,所述試圖建立控制流的動作還包括在RTSP描述請求的正文中向發送機發送許可證請求消息;以及從所述發送機接收包括含有許可證的許可證響應消息的RTSP會話描述協議(SDP)。6.如權利要求4所述的方法,其特徵在於,所述試圖建立控制流的動作還包括從接收機接收RTSP描述請求的正文中的許可證請求消息;以及向所述接收機發送包括含有許可證的許可證響應消息的RTSP會話描述協議(SDP)。7.如權利要求l所述的方法,其特徵在於,所述允許的動作是使用RTP來實現的。8.如權利要求l所述的方法,其特徵在於,還包括在所述受保護內容的流傳送期間更新與所述受保護內容相關聯的策略或格式信息。9.如權利要求8所述的方法,其特徵在於,所述更新的動作包括經由所述用於流傳送的控制協議來發送更新。10.如權利要求9所述的方法,其特徵在於,所述用於流傳送的控制協議包括RTSP,且所述更新是經由RTSP通告請求來發送的。11.如權利要求8所述的方法,其特徵在於,所述更新的動作包括經由用於流傳送的控制協議來接收更新。12.如權利要求U所述的方法,其特徵在於,所述用於流傳送的控制協議包括RTSP,且所述更新是經由RTSP通告請求來接收的。13.—種計算機實現的方法,包括使用RTSP來建立用於交換受保護內容的控制流;以及允許使用數據流來傳送受保護內容,其中受保護內容是使用RTP封裝的。14.如權利要求13所述的方法,其特徵在於,所述允許的動作包括在包含經加密的受保護內容的RTP分組中包括可在將所述經加密的內容解密的解密過程中使用的加密參數。15.如權利要求14所述的方法,其特徵在於,所述RTP分組可包含多個不同的經加密的有效負荷。16.如權利要求15所述的方法,其特徵在於,所述加密參數包括用於每一經加密的有效負荷的密鑰ID擴展和初始化向量。17.如權利要求13所述的方法,其特徵在於,所述允許的動作包括定義包含可在將經加密的受保護內容解密的解密過程中使用的加密參數的描述符;以及使所述描述符與所述受保護內容相關聯。18.如權利要求17所述的方法,其特徵在於,所述關聯的動作包括將所述描述符追加在所述RTP分組的尾部。19.如權利要求17所述的方法,其特徵在於,所述經加密的受保護內容可使用由所述描述符引用的單個密鑰來解密。20.如權利要求13所述的方法,其特徵在於,所述允許的動作還包括在RTSP描述請求的正文中向發送機發送許可證請求消息;從接收機接收所述RTSP描述請求的正文中的所述許可證請求消息;向所述接收機發送包括含有許可證的許可證響應消息的RTSP會話描述協議(SDP);從所述發送機接收包括含有所述許可證的所述許可證響應消息的所述RTSP會話描述協議(SDP)。全文摘要各個實施例利用保護內容的各種方法,諸如數字權限管理(DRM),來允許在諸如家庭媒體網絡等的區域網內的多個機器和設備上安全地回放內容。在至少某些實施例中,分別使用用於流傳送的控制協議和傳輸協議來傳遞消息和內容。在至少某些實施例中,用於流傳送的控制協議是實時流傳送協議(RTSP),而傳輸協議為實時傳輸協議(RTP)。文檔編號G06F15/16GK101506790SQ200680024443公開日2009年8月12日申請日期2006年6月22日優先權日2005年7月7日發明者A·E·克萊門茨,A·帕卡,E·P·奧利弗拉,S·巴哈塔申請人:微軟公司