專利名稱:用于可縮放代碼流的安全密鑰管理的制作方法
用于可縮放代碼流的安全密鑰管理些且 NT豕人們使用多種不同類型的數(shù)字設(shè)備來通過因特網(wǎng)和其它網(wǎng)絡(luò)訪問服務(wù)。如廣 泛理解的,這些服務(wù)中的多個(gè)服務(wù),從新聞服務(wù)到在線購物和娛樂,都大量利用了 照片以及其它圖像、視頻和音頻。
圖1示出了可用于經(jīng)由因特網(wǎng)114訪問服務(wù)器110和112上維護(hù)的服務(wù)和內(nèi) 容的多種不同的數(shù)字設(shè)備102-108。臺(tái)式計(jì)算機(jī)102具有較大的高分辨率顯示器 122,由此,其用戶可能希望以其最高的分辨率顯示圖像或視頻來利用顯示器122 的能力。另一方面,便攜式計(jì)算機(jī)104的便攜式顯示器124可能無法提供可與臺(tái)式 計(jì)算機(jī)102的高分辨率顯示122相比的分辨率。或者,即使便攜式顯示器124支持 高分辨率圖形,便攜式計(jì)算機(jī)104也可使用共享的系統(tǒng)存儲(chǔ)器來進(jìn)行圖形支持,且 其用戶可能不原意分配系統(tǒng)存儲(chǔ)器來支持高分辨率圖形。 )除了臺(tái)式計(jì)算機(jī)102和便攜式計(jì)算機(jī)104之外,還使用手持式設(shè)備來訪問因 特網(wǎng)或其它多媒體服務(wù)。例如,個(gè)人數(shù)字助理106包括觸摸屏顯示器126,其每一 邊為幾英寸,并用于以對(duì)臺(tái)式計(jì)算機(jī)102和便攜式計(jì)算機(jī)104可用的分辨率的一部 分來顯示小圖像或視頻幀。甚至諸如無線電話108等較小的設(shè)備也包括可用于訪問 因特網(wǎng)或其它多媒體服務(wù)并向用戶呈現(xiàn)非常小的圖像和其它多媒體內(nèi)容的電話顯 示屏128。訪問服務(wù)器110和112上的內(nèi)容的設(shè)備102-108范圍對(duì)內(nèi)容提供者造成了問 題。更具體地,由于設(shè)備102-108分別使用的顯示器122-128的范圍,內(nèi)容提供者 必須使得多媒體內(nèi)容以不同的格式可用。例如,必須使高分辨率圖像或高清晰度視 頻對(duì)具有高分辨率顯示器122的用戶可用。另一方面,必須使具有高分辨率圖像或高清晰度視頻的分辨率或色彩粒度的一小部分的濃縮圖像或視頻對(duì)具有諸如個(gè)人 數(shù)字助理106和無線電話108等分別具有較低處理能力和較低分辨率顯示器126 和128的設(shè)備的用戶可用。為訪問適當(dāng)格式的多媒體內(nèi)容,用戶手動(dòng)指定諸如分辨 率和質(zhì)量等所需參數(shù)?;蛘?,服務(wù)器110-112可輪詢?cè)O(shè)備102-108以確定設(shè)備 102-108中的每一個(gè)可支持什么類型的圖形、視頻或音頻數(shù)據(jù),來確定向設(shè)備102-108發(fā)送什么格式的多媒體內(nèi)容。服務(wù)器110-112必須維護(hù)并選擇性地傳送多種不同多媒體格式的問題由可縮 放多媒體格式來解決。例如,聯(lián)合圖片專家組2000 ( "JPEG 2000")格式指定了 可對(duì)多種不同訪問類型中的每一種縮放的圖像代碼流,這些類型包括小塊、分辨率、 層、色彩分量以及范圍。該代碼流可在這些訪問類型中的每一種內(nèi)的多個(gè)級(jí)別上縮 放。單個(gè)代碼流可由不同設(shè)備訪問,以呈現(xiàn)適用于每一設(shè)備被配置成所支持的每一 訪問類型的各個(gè)等級(jí)。由此, 一個(gè)多媒體代碼流可被儲(chǔ)存并提供給支持可縮放代碼 流的任何設(shè)備。盡管使用可縮放代碼流消除了對(duì)特定多媒體內(nèi)容維護(hù)多個(gè)代碼流的需求,但 是控制對(duì)可縮放代碼流的訪問涉及復(fù)雜的密鑰管理。當(dāng)維護(hù)多個(gè)不同的多媒體代碼 流時(shí),對(duì)每一特定代碼流生成一密鑰,并將其發(fā)放給被授權(quán)訪問該多媒體的用戶。 用于解密數(shù)據(jù)分組的內(nèi)容加密密鑰可使用已知的方法從該密鑰中導(dǎo)出,從而允許用 戶訪問經(jīng)加密的多媒體。使用可縮放代碼流,生成并可提供適當(dāng)?shù)拿荑€可能更成問題。必須向?qū)δ骋?特定訪問級(jí)別授權(quán)的用戶發(fā)放多個(gè)密鑰以提供用于該用戶被授權(quán)的訪問級(jí)別、以及 被包含在用戶的授權(quán)訪問級(jí)別中的較低等級(jí)的訪問級(jí)別的密鑰。圖2A-2F是示出JPEG 2000代碼流的特性的一系列框圖。圖2A示出了當(dāng)用戶 查看時(shí)的圖像200:圖像200由元素202的陣列構(gòu)成。然而,可縮放代碼流的實(shí)際 結(jié)構(gòu)并不是如此簡(jiǎn)單地組織的。圖2B是不同大小的數(shù)據(jù)塊212的陣列210,它表示了不同分辨率級(jí)別是如何 在代碼流中表示的。根據(jù)離散小波變換,訪問不同的分辨率等級(jí)涉及訪問代碼流中 不同的數(shù)據(jù)塊212。如圖2C所示,為訪問最低的所支持的分辨率級(jí)別,僅訪問陣 列220的第一數(shù)據(jù)塊222。如圖2D所示,為訪問下一最高分辨率級(jí)別,訪問數(shù)據(jù) 塊222和一系列毗鄰的第二數(shù)據(jù)塊232。如圖2E所示,為訪問下一最高分辨率級(jí) 別,必須訪問第一數(shù)據(jù)塊222、第二數(shù)據(jù)塊232以及一系列毗鄰的第三數(shù)據(jù)塊242 全部。訪問毗鄰的各組數(shù)據(jù)塊,直到達(dá)到最高可用圖像分辨率。由此,呈現(xiàn)較高的 分辨率級(jí)別時(shí)使用的數(shù)據(jù)塊包含了呈現(xiàn)較低分辨率級(jí)別時(shí)使用的數(shù)據(jù)。對(duì)于被授權(quán)來以最高分辨率查看圖像的用戶,必須向該用戶提供從中可解密 與最高分辨率級(jí)別相關(guān)聯(lián)的數(shù)據(jù)塊的密鑰,以及從中可解密與較低分辨率級(jí)別相關(guān) 聯(lián)的所有數(shù)據(jù)塊的密鑰。或者,使用分層密鑰系統(tǒng),可向用戶給予從中可導(dǎo)出對(duì)各 較低訪問級(jí)別的密鑰的一個(gè)密鑰。不幸的是,并非可縮放代碼流中的所有訪問類型都具有使它們適用于分層密 鑰系統(tǒng)的分層結(jié)構(gòu)。例如,允許用戶訪問圖像的一個(gè)或多個(gè)部分的小塊訪問不涉及分層地訪問數(shù)據(jù)的包含部分。如圖2F所示,陣列250示出了數(shù)據(jù)塊252-258中用 于以高分辨率呈現(xiàn)圖像的一部分的各部分。為呈現(xiàn)圖像的所選部分,必須訪問表示 不同分辨率級(jí)別的數(shù)據(jù)塊252-258的各部分全部。由于要使用的數(shù)據(jù)不遵循分層結(jié) 構(gòu),因此必須生成、維護(hù)并分發(fā)多個(gè)密鑰以選擇性地控制對(duì)圖像內(nèi)的不同分辨率的 訪問。概述執(zhí)行密鑰管理來生成允許解碼可縮放代碼流內(nèi)的多個(gè)訪問類型的所有授權(quán)級(jí) 別的單個(gè)密鑰。從表示訪問類型的集合中導(dǎo)出一訪問節(jié)點(diǎn)集,該節(jié)點(diǎn)集具有可由諸 如分辨率和層級(jí)別等全序集表示的分層結(jié)構(gòu),以及可由諸如小塊和范圍等偏序集表示的分層結(jié)構(gòu)。所導(dǎo)出的訪問節(jié)點(diǎn)集是表示包括在代碼流中的訪問類型的級(jí)別的各 組合的偏序集。向該訪問節(jié)點(diǎn)集應(yīng)用一分層密鑰管理系統(tǒng)以向每一訪問節(jié)點(diǎn)分配一 密鑰、生成內(nèi)容加密密鑰、并加密該代碼流。接收該代碼流、訪問節(jié)點(diǎn)集和其它公 共信息的客戶機(jī)使用密鑰來導(dǎo)出解密代碼流中的可訪問數(shù)據(jù)的附加密鑰。生成包括用于每一訪問節(jié)點(diǎn)的密鑰的密鑰集,使得密鑰可用于表示可用的不 同級(jí)別訪問組合的每一訪問節(jié)點(diǎn)。諸如組DiffieHellman密鑰交換協(xié)議等分層密鑰 方案生成保護(hù)該代碼流的密鑰,并僅以單個(gè)密鑰來允許對(duì)授權(quán)的訪問級(jí)別和所包括 的較低訪問級(jí)別的訪問。附圖簡(jiǎn)述參考附圖描述該詳細(xì)描述。在附圖中,參考標(biāo)號(hào)的最左邊數(shù)字標(biāo)識(shí)了該參考 標(biāo)號(hào)首次出現(xiàn)的圖。在不同附圖中使用相同的參考標(biāo)號(hào)來指示相似或相同的項(xiàng)。圖1 (現(xiàn)有技術(shù))是其中使用具有不同顯示能力的不同設(shè)備來訪問同一服務(wù)器 上的內(nèi)容的網(wǎng)絡(luò)。圖2A-2F (現(xiàn)有技術(shù))示出了在以不同訪問類型的不同級(jí)別呈現(xiàn)圖像內(nèi)容時(shí)使 用的數(shù)據(jù)塊。圖3A-3C是表示包括在可縮放代碼流中的不同訪問類型的可能的不同級(jí)別的 哈斯(Hasse)圖。圖3D-3F是被縮減來移除每一所描繪的訪問類型內(nèi)的不可用級(jí)別的圖3A-3C的哈斯圖。圖4A-4B是表示從圖3D-3F的哈斯圖導(dǎo)出的訪問類型級(jí)別的組合的哈斯圖。 圖5是示出生成訪問節(jié)點(diǎn)并加密可縮放代碼流的模式的流程圖。 圖6是示出加密可縮放代碼流并生成用于解碼該代碼流的一組密鑰的模式的 流程圖。圖7是示出使用一組訪問節(jié)點(diǎn)和單個(gè)密鑰來解碼經(jīng)加密的可縮放代碼流的模 式的流程圖。圖8是適用于加密和解碼代碼流的計(jì)算系統(tǒng)環(huán)境的功能圖。 圖9是包括在分發(fā)用于控制對(duì)己編碼可縮放代碼流的訪問的訪問節(jié)點(diǎn)和密鑰 時(shí)使用的服務(wù)器和客戶機(jī)的系統(tǒng)的功能框圖。詳細(xì)描述使用偏序集來表示訪問級(jí)別的組合如先前結(jié)合圖2A-2E所描述的,可縮放代碼流內(nèi)的某些訪問類型的較高等級(jí)的級(jí)別包含了其它級(jí)別。例如,在JPEG 2000可縮放代碼流中,分辨率訪問、層訪問和色彩分量訪問的較高等級(jí)的級(jí)別都包括了較低的級(jí)別。由于這些訪問類型內(nèi)的 每一較低等級(jí)都被包括在接連著的較高等級(jí)內(nèi),因此這些訪問類型內(nèi)的等級(jí)是可由全序集來表示的全序分層結(jié)構(gòu)。相反,諸如小塊訪問或范圍訪問等訪問類型不是完全包括小塊訪問或范圍訪 問的其它級(jí)別。換言之,表示代碼流中的一個(gè)小塊的數(shù)據(jù)不包括或依賴于表示該代 碼流中的另一小塊的數(shù)據(jù),盡管一組小塊可包括表示兩個(gè)小塊的數(shù)據(jù)。因此,諸如 按小塊訪問和按范圍訪問類型等訪問類型被組織為各個(gè)塊的不同組合。這些訪問類 型內(nèi)的級(jí)別構(gòu)成可由偏序集表示的偏序分層結(jié)構(gòu)。在數(shù)學(xué)上,偏序集可由標(biāo)志(尸,S)來表示,其中尸是有限集,^是二元關(guān)系。 在a和b都是尸的成員,且a^b的情況下,成員a的所有組成部分都是成員b的所 有組成部分,但是子集b的所有組成部分并非都是子集a的組成部分。由此,如果 a和b表示對(duì)代碼流內(nèi)的小塊的訪問,則能夠訪問小塊b的用戶也能夠訪問小塊a, 但是能夠訪問小塊a的用戶不能給予用戶對(duì)小塊b的訪問。用偏序集來表示諸如小塊訪問和范圍訪問等訪問類型在對(duì)可縮放代碼流的加 密和密鑰生成中是有用的。例如,如果子集a表示與可縮放訪問類型內(nèi)的一個(gè)級(jí)別 相關(guān)聯(lián)的數(shù)據(jù)分組,而子集b表示同一可縮放訪問類型內(nèi)的較高等級(jí)的級(jí)別,則允許訪問子集b的密鑰將允許訪問子集a。由此,通過提供對(duì)子集b的單個(gè)密鑰,可 生成用于解碼所有包括的級(jí)別的密鑰。圖3A-3C是表示可縮放代碼流內(nèi)的三個(gè)不同訪問類型的級(jí)別的哈斯圖。在該 哈斯圖中,每一頂點(diǎn)表示訪問類型的一個(gè)訪問級(jí)別。在頂點(diǎn)之間延伸的每一條線是 表示較高訪問級(jí)別或頂點(diǎn)的相對(duì)于較低訪問級(jí)別或頂點(diǎn)的包括性訪問優(yōu)先級(jí)的邊。圖3A是針對(duì)分辨率的哈斯圖300,它包括空級(jí)別0302和兩個(gè)分辨率級(jí)別r0 304和n 306。如上所述,分辨率級(jí)別構(gòu)成了全序分層結(jié)構(gòu),且因此,可被表示為 一全序集。換言之,包括在由分辨率級(jí)別r。304表示的分辨率數(shù)據(jù)的子集內(nèi)的數(shù)據(jù) 被包含在分辨率數(shù)據(jù)^ 306的子集內(nèi)。另一方面,包括在分辨率級(jí)別q 306內(nèi)的所 有數(shù)據(jù)并不都包括在分辨率級(jí)別r。 304內(nèi)。類似于圖3A,圖3B是針對(duì)層訪問級(jí)別的哈斯圖,它包括空級(jí)別0312和兩 個(gè)層級(jí)別lo314和h316。同樣,空級(jí)別0312是圖3B中的最低級(jí)別。層級(jí)別也表 示可被表示為全序集的全序分層結(jié)構(gòu)。與分辨率訪問級(jí)別和層訪問級(jí)別的全序分層結(jié)構(gòu)形成對(duì)比,小塊訪問級(jí)別是 可被表示為偏序集的偏序分層結(jié)構(gòu),如圖3C所示。圖3C是針對(duì)構(gòu)成圖像的一行 的一部分的一組三個(gè)相鄰的小塊tQ、 h和t2的示例的哈斯圖320。在空級(jí)別0322 上,哈斯圖300包括針對(duì)to 324、 ^ 326和t2 328中的每一個(gè)的三個(gè)頂點(diǎn)。在下一 較高級(jí)別上,哈斯圖320包括表示兩組小塊的可能組合,包括to,t!330、 to,t2 332 和th t2 334的頂點(diǎn)。在頂部級(jí)別上,哈斯圖320包括表示三個(gè)小塊tc, th t2 336的組 合的頂點(diǎn)。可以理解,在哈斯圖300和310中,沒有一個(gè)組合如哈斯圖320中那樣表示。 在哈斯圖300和310中表示的訪問類型,即分辨率訪問和層訪問中,所表示的訪問 類型具有全序分層結(jié)構(gòu),其中表示較高等級(jí)的子集的每一較高等級(jí)的頂點(diǎn)包括較低 的元素子集的所有元素。哈斯圖300、 310和320可被縮減以消除對(duì)某些可縮放代碼流不必要的等級(jí)。 盡管某些可縮放代碼流可對(duì)一個(gè)或多個(gè)訪問類型利用空級(jí)別,但是JPEG 2000代碼 流不在其可縮放訪問類別的任一個(gè)內(nèi)包括任何空級(jí)別。由此,為訪問JPEG 2000 代碼流,必須指定訪問級(jí)別,并將其授予分辨率訪問、層訪問、小塊訪問和其它訪 問類型(未示出)的至少一個(gè)非空級(jí)別。由此,在圖3A-3C所示的JPEG 2000代碼流的示例中,空級(jí)別0302、 0312 和0322,即分別為哈斯圖300、 310和320中的最低級(jí)別,不表示其各自的訪問類型的可訪問級(jí)別,并且可被省略。類似地,將0頂點(diǎn)302、 312和322連接到其 它頂點(diǎn)的邊可被省略。在圖3A、 3B和3C的哈斯圖300、 310和320中省略多于 的頂點(diǎn)分別產(chǎn)生了圖3D、 3E和3F的哈斯圖340、 350和360。另外,偏序集及其各自的表示具有偏序分層結(jié)構(gòu)的訪問類型的哈斯圖可被進(jìn) 一步縮減以消除可能從不被用戶訪問的不必要的組合。哈斯圖320是對(duì)于一行中的 三個(gè)連續(xù)的小塊to、 t。 t2的小塊訪問的偏序集的分層表示。對(duì)不連續(xù)的小塊的組 合to和t2授予訪問在某些應(yīng)用中是不必要的。由此,表示這一組合的頂點(diǎn)332在這 些應(yīng)用中也可從圖3F的哈斯圖360中消除。為表示對(duì)可縮放代碼流的訪問級(jí)別,組合表示每一訪問類型的級(jí)別的全序集和偏序集。在數(shù)學(xué)上,全序集和偏序集通過計(jì)算每一集合內(nèi)的元素的乘積來組合。可縮放訪問控制的偏序集(尸,S)僅僅是所有可縮放類型的全序集和偏序集(尸,,S)的乘積,如由公式l所表示的(P,S) = x(i%^ (1)所得的偏序集中的頂點(diǎn)數(shù)目等于每一可縮放類型中的頂點(diǎn)數(shù)目的乘積,由公式2表不i汁n,i尸'.i (2)如公式2中所使用的,運(yùn)算符IZI表示集合Z的勢(shì)。乘積的哈斯圖中的邊的數(shù)目 由公式3給出(3)在公式3中,e,.是第/個(gè)可縮放類型的哈斯圖中的邊數(shù)。所得的偏序集的示例性部分分別由圖4A和4B的哈斯圖400和450來表示。 圖4A示出了哈斯圖400,它表示哈斯圖340 (圖3D)和350 (圖3F)的組合,由 此表示了分辨率訪問和小塊訪問的可能的級(jí)別組合。哈斯圖400包括哈斯圖360 的兩次迭代,以表示對(duì)于兩種不同分辨率訪問級(jí)別的每一小塊訪問級(jí)別。對(duì)應(yīng)的頂 點(diǎn)由邊連接以表示分辨率級(jí)別ro和n之間的分層關(guān)系??梢岳斫?,包括在哈斯圖 400中的哈斯圖360的迭代被偏移而非垂直對(duì)齊,以更好地提示所表示的組合的維 數(shù)。例如,頂點(diǎn)402表示對(duì)分辨率級(jí)別ro和小塊訪問級(jí)別to、 t,、 t2的級(jí)別組合。 頂點(diǎn)404表示對(duì)分辨率級(jí)別^和小塊訪問級(jí)別to、 t2的級(jí)別組合。邊406在頂 點(diǎn)402和404之間繪出,以表示對(duì)由頂點(diǎn)404表示的級(jí)別組合的訪問包括對(duì)由頂點(diǎn)402表示的級(jí)別的訪問,以及對(duì)較低訪問級(jí)別的所有組合的訪問。由此,能夠以最高分辨率n訪問所有小塊的用戶也能夠以較低分辨率訪問所有小塊。取另一示例,頂點(diǎn)408表示對(duì)分辨率級(jí)別ro和小塊訪問級(jí)別to和h的級(jí)別組 合。對(duì)這一級(jí)別組合的訪問也包括了對(duì)表示對(duì)于分辨率級(jí)別ro和小塊訪問級(jí)別t0 的較低等級(jí)的級(jí)別組合的頂點(diǎn)410、以及表示對(duì)于分辨率級(jí)別ro和小塊訪問級(jí)別^ 的級(jí)別組合的頂點(diǎn)412的訪問。然而,對(duì)頂點(diǎn)406的訪問不允許訪問包括對(duì)小塊t2 的附加小塊訪問的級(jí)別組合402,也不允許訪問包括對(duì)較高分辨率級(jí)別n的頂點(diǎn) 414。圖4B示出了哈斯圖450,它表示哈斯圖350 (圖3E)以及哈斯圖340 (圖3D) 和360 (圖3F)的組合,由此表示了對(duì)于層訪問、分辨率訪問和小塊訪問的可能 的級(jí)別組合。為視覺上清楚起見,由最多頂點(diǎn)表示的級(jí)別組合的標(biāo)簽被省略,然而 例如標(biāo)出了少數(shù)幾個(gè)頂點(diǎn)。例如,哈斯圖450包括頂點(diǎn)452,它表示對(duì)小塊to、 ti和t2的層級(jí)別l(j、分辨 率級(jí)別ro和小塊訪問的組合。哈斯圖450還包括頂點(diǎn)454,它表示對(duì)小塊to、 tj口 t2的層級(jí)別l()、分辨率級(jí)別n和小塊訪問的組合。對(duì)由頂點(diǎn)454表示的級(jí)別(包括 較高分辨率級(jí)別)的訪問包括對(duì)所有較低級(jí)別組合(包括由頂點(diǎn)452表示的級(jí)別組 合)以及在頂點(diǎn)452和454兩者下方的所有頂點(diǎn)的訪問。另一方面,被授權(quán)訪問由 頂點(diǎn)454表示的級(jí)別組合的用戶不能訪問由頂點(diǎn)456表示的級(jí)別組合,因?yàn)橛脩魶] 有被授權(quán)訪問層級(jí)別h,頂點(diǎn)456表示h與對(duì)小塊to、 tt和t2的分辨率級(jí)別ro和小 塊訪問的級(jí)別組合。哈斯圖4A和4B中可視地表示的級(jí)別組合表示了對(duì)于所示的訪問類型的訪問 節(jié)點(diǎn)集。該訪問節(jié)點(diǎn)集包括表示代碼流內(nèi)可向用戶提供對(duì)于其的訪問的可用訪問級(jí) 別組合中的每一個(gè)的訪問節(jié)點(diǎn)。使用訪問節(jié)點(diǎn)的偏序集和分層密鑰方案,生成提供對(duì)由每一訪問節(jié)點(diǎn)表示的 級(jí)別組合的訪問的一組密鑰。此外,與每一訪問節(jié)點(diǎn)相關(guān)聯(lián)的密鑰提供了對(duì)與訪問 節(jié)點(diǎn)相關(guān)聯(lián)的所有較低等級(jí)的級(jí)別組合的訪問。由此,通過向用戶提供訪問節(jié)點(diǎn)集、 對(duì)應(yīng)于表示一特定級(jí)別組合的訪問節(jié)點(diǎn)的單個(gè)密鑰、以及某些相關(guān)公共信息,用戶 能夠?qū)С鲇糜谒休^低等級(jí)的、包括在內(nèi)的訪問級(jí)別的密鑰。無需向用戶提供其它 密鑰來導(dǎo)出用于較低等級(jí)的級(jí)別組合的密鑰,如以下將進(jìn)一步描述的。生成訪問節(jié)點(diǎn)集和對(duì)應(yīng)的密鑰集圖5是示出用于表示可縮放代碼流中的訪問類型的級(jí)別組合以及將密鑰與每 一組合相關(guān)聯(lián)的邏輯步驟的流程圖500。這些組合由一組訪問節(jié)點(diǎn)來表示,并且一 密鑰與每一訪問節(jié)點(diǎn)相關(guān)聯(lián)。每一密鑰允許用戶在用戶被授權(quán)的每一訪問類型的級(jí)別以及所有較低等級(jí)的級(jí)別組合下訪問代碼流。流程圖500在框502處開始。在框504處,從包括在可縮放代碼流中的訪問 類型中選擇要表示的下一訪問類型。在判別框506處,確定訪問類型是否是包括可 用全序集來表示的全序分層結(jié)構(gòu)的全序訪問類型。例如,如上所述,在JPEG 2000 可縮放代碼流中,對(duì)于分辨率、層和色彩分量的訪問類型是全序分層結(jié)構(gòu)。如果在 框506處確定訪問類型是全序分層結(jié)構(gòu),則在框508處,創(chuàng)建一全序集來表示對(duì)于 該訪問類型的可用級(jí)別。另一方面,如果在判別框506處確定該訪問類型不是全序分層結(jié)構(gòu),則該訪 問類型必然表示一偏序分層結(jié)構(gòu)。如上在JPEG 2000可縮放代碼流的示例中所述 的,對(duì)于小塊訪問和范圍訪問的訪問類型是偏序分層結(jié)構(gòu)。在框510處,創(chuàng)建一偏 序集來表示該訪問類型的可用級(jí)別。在判別框512處,確定是否已表示了代碼流中的所有訪問類型。如果沒有, 則流程圖500循環(huán)到框504以選擇要表示的下一訪問類型。然而, 一旦在判別框 512處確定已表示了所有訪問類型,則在框514處,組合表示每一訪問類型的所有 全序集和偏序集以創(chuàng)建多個(gè)有序的訪問節(jié)點(diǎn)集。使用該訪問節(jié)點(diǎn)集,在框516處, 生成包括用于每一訪問節(jié)點(diǎn)的密鑰的密鑰集,并在框518處加密該代碼流,如以下 對(duì)于圖6進(jìn)一步描述的。 一旦在框518處完成加密,流程圖500在框520處結(jié)束。根據(jù)流程圖500的級(jí)別組合和密鑰關(guān)聯(lián)的模式,對(duì)每一代碼流執(zhí)行一次內(nèi)容 加密和密鑰生成。該密鑰集包括用于該代碼流內(nèi)可用的每一級(jí)別組合的可用密鑰。 由此,可縮放代碼流的數(shù)字權(quán)限管理一般是靜態(tài)過程,不必重復(fù)該過程來允許授權(quán) 并為對(duì)動(dòng)態(tài)級(jí)別組合的請(qǐng)求生成密鑰。訪問節(jié)點(diǎn)集和密鑰集被儲(chǔ)存在授權(quán)或許可證 服務(wù)器上,以便在接收到支付或滿足其它條件之后分發(fā)密鑰。用于將密鑰分配給訪問節(jié)點(diǎn)的分層密鑰生成方案圖6是表示為訪問節(jié)點(diǎn)生成密鑰的模式的流程圖600。流程圖600在框602 處開始。在框604處,從訪問節(jié)點(diǎn)集中標(biāo)識(shí)一個(gè)或多個(gè)根節(jié)點(diǎn)。如先前在圖4A和 4B中所示的, 一個(gè)或多個(gè)根節(jié)點(diǎn)表示與每一訪問類型的最高訪問級(jí)別的組合相關(guān) 聯(lián)的訪問節(jié)點(diǎn)。在框606處,對(duì)每一根節(jié)點(diǎn),生成一隨機(jī)數(shù)并分配該數(shù)作為其密鑰。在一種密鑰生成模式中,選擇一適當(dāng)?shù)馁|(zhì)數(shù); ,并選擇"eZ;中的生成元",其中 "根據(jù)公式4來定義oreZ;, 2S"p-2 (4)在框608處,標(biāo)識(shí)下一子節(jié)點(diǎn)。從根節(jié)點(diǎn)開始,子節(jié)點(diǎn)表示按等級(jí)的降序的 下一訪問節(jié)點(diǎn)。在框608處,如上所述生成一隨機(jī)數(shù)并將其分配給該子節(jié)點(diǎn)。在框 610處,如上結(jié)合公式2所述地生成一隨機(jī)數(shù),并將其分配給該子節(jié)點(diǎn)。在框612 處,標(biāo)識(shí)該子節(jié)點(diǎn)的父節(jié)點(diǎn)。每一子節(jié)點(diǎn)的父節(jié)點(diǎn)是這樣的訪問節(jié)點(diǎn)對(duì)于該訪問 節(jié)點(diǎn),對(duì)訪問類型之一的訪問級(jí)別要高一個(gè)級(jí)別。例如,回頭參考圖4A的哈斯圖 400,與訪問級(jí)別r。, (t。, t!)相關(guān)聯(lián)的頂點(diǎn)408是與訪問級(jí)別r。, (t。, th t》相關(guān)聯(lián)的頂 點(diǎn)402以及與訪問級(jí)別r1; (to, t0相關(guān)聯(lián)的頂點(diǎn)414的子節(jié)點(diǎn)。由此,頂點(diǎn)402和414 是頂點(diǎn)408的父節(jié)點(diǎn),因?yàn)轫旤c(diǎn)402和414各自表示比頂點(diǎn)408所表示的訪問級(jí)別 高一的對(duì)一種訪問類型的一種訪問級(jí)別。在框614處,使用在框610處分配給子節(jié)點(diǎn)的隨機(jī)數(shù)以及在框612處標(biāo)識(shí)的 父節(jié)點(diǎn)的密鑰的值來計(jì)算子節(jié)點(diǎn)的密鑰。在一種密鑰生成模式中,使用組Diffie Hdlman密鑰交換協(xié)定來計(jì)算每一子密鑰。對(duì)于每一子節(jié)點(diǎn)i,每一子密鑰ki基于 分配給該子節(jié)點(diǎn)的隨機(jī)數(shù)ri,并且Ri是對(duì)子節(jié)點(diǎn)i的所有父節(jié)點(diǎn)的密鑰的乘積,如 由公式5所定義的《U (5)每一子密鑰ki使用公式6來計(jì)算 '= mod/ (6)在判別框616處,確定是否已對(duì)訪問節(jié)點(diǎn)集中的所有訪問節(jié)點(diǎn)分配了密鑰, 包括根節(jié)點(diǎn)和所有子節(jié)點(diǎn)。如果沒有,則流程圖600循環(huán)到框608以標(biāo)識(shí)下一子節(jié) 點(diǎn)。 一旦在判別框616處確定已分配了所有子節(jié)點(diǎn),則在框618處,將所生成的密 鑰儲(chǔ)存在與該訪問節(jié)點(diǎn)集相對(duì)應(yīng)的密鑰集中。對(duì)于儲(chǔ)存在密鑰集中的每一密鑰,當(dāng) 接收到對(duì)代碼流中的每一訪問類型的各種級(jí)別組合的訪問的請(qǐng)求時(shí),可從該密鑰集 中取出適當(dāng)?shù)拿荑€而無需生成另外的密鑰或執(zhí)行任何其它計(jì)算。一旦導(dǎo)出并儲(chǔ)存了密鑰,在框620處,導(dǎo)出與每一訪問節(jié)點(diǎn)相關(guān)聯(lián)的每一數(shù) 據(jù)分組的內(nèi)容加密密鑰。在一種加密和密鑰生成模式中,根據(jù)密碼散列函數(shù)來散列 相關(guān)聯(lián)的訪問節(jié)點(diǎn)的密鑰。該散列函數(shù)生成期望大小的內(nèi)容加密密鑰。在框622 處,使用該內(nèi)容加密密鑰來加密該代碼流中的數(shù)據(jù)分組。在框624處,將經(jīng)加密的內(nèi)容與將用于導(dǎo)出用于解密該代碼流的密鑰的公共信息一起儲(chǔ)存。根據(jù)一種密鑰生成模式,偏序訪問節(jié)點(diǎn)集、質(zhì)數(shù); 、"、以及對(duì)每一子節(jié)點(diǎn),公式7的值("淨(jìng)modp〉 (7) 在公式7中,ri是與每一節(jié)點(diǎn)i相關(guān)聯(lián)的隨機(jī)數(shù),Ri是父節(jié)點(diǎn)的密鑰的乘積, 而k是節(jié)點(diǎn)i的父節(jié)點(diǎn)的密鑰。經(jīng)加密的內(nèi)容可被儲(chǔ)存在服務(wù)器上以允許用戶下載 經(jīng)加密的代碼流。流程圖600在框626處結(jié)束。訪問使用訪問節(jié)點(diǎn)集和單個(gè)密鑰編碼的代碼流圖7是示出訪問根據(jù)流程圖500 (圖5)和600 (圖6)編碼的代碼流的模式 的流程圖700。流程圖700在框702處開始。在框704處,標(biāo)識(shí)指定代碼流中的每 一可縮放訪問類型的期望級(jí)別的級(jí)別組合。更具體地,通過因特網(wǎng)或使用另一接入 方式將級(jí)別組合指定到服務(wù)器。在框706處,保護(hù)對(duì)在期望級(jí)別組合下訪問代碼流 的授權(quán)的安全。在框708處,接收代碼流和用于該代碼流的訪問節(jié)點(diǎn)集。在一種編 碼經(jīng)加密的代碼流的模式中,訪問節(jié)點(diǎn)集被包括在代碼流的指定部分中。在框712處,接收與表示期望級(jí)別組合的訪問節(jié)點(diǎn)相關(guān)聯(lián)的單個(gè)密鑰。在框 714處,使用該密鑰和訪問節(jié)點(diǎn)集,導(dǎo)出用于較低等級(jí)的訪問級(jí)別的密鑰。例如, 使用組DiffieHdlman密鑰交換,使用訪問節(jié)點(diǎn)、密鑰和相關(guān)的公共信息,可導(dǎo)出 用于數(shù)據(jù)分組的內(nèi)容加密密鑰。在框716處,解碼該代碼流。流程圖700在框700 處結(jié)束。用于實(shí)現(xiàn)示例性實(shí)施例的計(jì)算系統(tǒng)圖8示出了用于實(shí)現(xiàn)可縮放密鑰管理系統(tǒng)的實(shí)施例的示例性計(jì)算系統(tǒng)800。計(jì) 算系統(tǒng)800僅為合適的操作環(huán)境的一個(gè)示例,并非對(duì)先前描述的密鑰管理過程的示 例性實(shí)施例或其它實(shí)施例的使用范圍或功能提出任何局限。也不應(yīng)將計(jì)算系統(tǒng)800 解釋為對(duì)示例性計(jì)算系統(tǒng)800中示出的任一組件或其組合具有任何依賴性或需求。該密鑰管理過程和相關(guān)聯(lián)的加密及解密過程可在諸如程序模塊等在計(jì)算系統(tǒng) 800上執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述。 一般而言,程序模塊包括執(zhí) 行特定任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。 此外,本領(lǐng)域的技術(shù)人員可以理解,該密鑰管理過程可以用各種計(jì)算機(jī)系統(tǒng)配置來 實(shí)施,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程消費(fèi)電子設(shè)備、小 型機(jī)、大型計(jì)算機(jī)機(jī)等等。該密鑰管理過程也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行的分布式計(jì)算環(huán)境中實(shí)踐。在分布式計(jì)算環(huán)境中,程序模塊 可以位于包括存儲(chǔ)器存儲(chǔ)設(shè)備的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
參考圖8,用于實(shí)現(xiàn)該密鑰管理過程的示例性計(jì)算系統(tǒng)800包括計(jì)算機(jī)810, 它包括處理單元820、系統(tǒng)存儲(chǔ)器830以及將包括系統(tǒng)存儲(chǔ)器830的各類系統(tǒng)組件 耦合至處理單元820的系統(tǒng)總線821。
計(jì)算機(jī)810通常包括各種計(jì)算機(jī)可讀介質(zhì)。作為示例而非局限,計(jì)算機(jī)可讀 介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)的示例包括但不限于,隨 機(jī)存取存儲(chǔ)器(RAM);只讀存儲(chǔ)器(ROM);電可擦除可編程只讀存儲(chǔ)器 (EEPROM);閃存或其它存儲(chǔ)器技術(shù);CD-ROM、數(shù)字多功能盤(DVD)或其 它光盤存儲(chǔ)或全息盤存儲(chǔ);磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備;或可以用 來儲(chǔ)存所期望的信息并可由計(jì)算機(jī)810訪問的任一其它介質(zhì)。系統(tǒng)存儲(chǔ)器830包括 易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì),如ROM 831和RAM 832。 基本輸入/輸出系統(tǒng)833 (BIOS)包括幫助在計(jì)算機(jī)810內(nèi)的元件之間傳輸信息(如 在啟動(dòng)時(shí))的基本例程,它通常儲(chǔ)存在ROM831中。RAM 832通常包含處理單元 820立即可訪問和/或當(dāng)前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非局限,圖 8示出了操作系統(tǒng)834、應(yīng)用程序835、其它程序模塊836和程序數(shù)據(jù)837。
計(jì)算機(jī)810也可包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。 僅作示例,圖8示出了對(duì)不可移動(dòng)、非易失性磁介質(zhì)進(jìn)行讀寫的硬盤驅(qū)動(dòng)器841, 對(duì)可移動(dòng)、非易失性磁盤852進(jìn)行讀寫的磁盤驅(qū)動(dòng)器851,以及對(duì)可移動(dòng)、非易失 性光盤856,如CDROM或其它光介質(zhì)進(jìn)行讀寫的光盤驅(qū)動(dòng)器855??梢栽谑纠?操作環(huán)境中使用的其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但 不限于,磁帶盒、閃存單元、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM 等等。硬盤驅(qū)動(dòng)器841通常通過不可移動(dòng)存儲(chǔ)器接口,如接口 840連接到系統(tǒng)總線 821。磁盤驅(qū)動(dòng)器851和光盤驅(qū)動(dòng)器855通常通過可移動(dòng)存儲(chǔ)器接口,如接口 850 連接到系統(tǒng)總線821。
上文討論并在圖8示出的驅(qū)動(dòng)器及其關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算機(jī)810提 供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲(chǔ)。例如,示出硬盤驅(qū) 動(dòng)器841儲(chǔ)存操作系統(tǒng)844、應(yīng)用程序845、其它程序模塊846和程序數(shù)據(jù)847。 注意,這些組件可以與操作系統(tǒng)834、應(yīng)用程序835、其它程序模塊836和程序數(shù) 據(jù)837相同,也可以與它們不同。通常,儲(chǔ)存在RAM中的操作系統(tǒng)、應(yīng)用程序等 是從硬盤驅(qū)動(dòng)器841中讀取的對(duì)應(yīng)的系統(tǒng)、程序或數(shù)據(jù)的部分,這些部分取決于所需要的功能而在大小和范圍上變化。這里對(duì)操作系統(tǒng)844、應(yīng)用程序845、其它程 序模塊846和程序數(shù)據(jù)847給予不同的標(biāo)號(hào)來說明至少它們可以是不同的副本。用 戶可以通過輸入設(shè)備,如鍵盤862;定點(diǎn)設(shè)備861 (通常稱為鼠標(biāo)、跟蹤球或觸摸 墊);無線輸入接收組件863;或諸如遙控器等無線源向計(jì)算機(jī)810輸入命令和信 息。其它輸入設(shè)備(未示出)可包括話筒、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃 描儀等等。這些和其它輸入設(shè)備通常通過耦合至系統(tǒng)總線821的用戶輸入接口 860 連接至處理單元820,但是也可以通過其它接口和總線結(jié)構(gòu)連接,如并行端口、游 戲端口、 IEEE 1394端口或通用串行總線(USB) 898、或紅外(IR)總線899。如 上所述,輸入/輸出功能可經(jīng)由通信網(wǎng)絡(luò)以分布式方式來促進(jìn)。
顯示設(shè)備891也通過接口,如視頻接口 890連接至系統(tǒng)總線821。顯示設(shè)備 891可以是顯示計(jì)算機(jī)810的輸出的任何設(shè)備,而不限于監(jiān)視器、LCD屏幕、TFT 屏幕、平版顯示器、常規(guī)電視機(jī)或屏幕投影儀。除顯示設(shè)備891之外,計(jì)算機(jī)也可 包括其它外圍輸出設(shè)備,如揚(yáng)聲器897和打印機(jī)896,它們通過輸出外圍接口 895 連接。
計(jì)算機(jī)810將使用到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),如遠(yuǎn)程計(jì)算機(jī)880的邏輯連接 在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)880可以是個(gè)人計(jì)算機(jī),并通常包括許多或所有 相對(duì)于計(jì)算機(jī)810所描述的元件,盡管在圖8中僅示出了存儲(chǔ)器存儲(chǔ)設(shè)備881。圖 8描述的邏輯連接包括局域網(wǎng)(LAN) 871和廣域網(wǎng)(WAN) 873,但也可包括其 它網(wǎng)絡(luò),諸如到城域網(wǎng)(MAN)、內(nèi)聯(lián)網(wǎng)或因特網(wǎng)的連接。
當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)810通過網(wǎng)絡(luò)接口或適配器870連接至 LAN 871。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)810通常包括調(diào)制解調(diào)器872或 用于通過WAN 873,如因特網(wǎng)建立通信的其它裝置。調(diào)制解調(diào)器872可以是內(nèi)置 或外置的,它通過網(wǎng)絡(luò)接口 870或其它適當(dāng)?shù)臋C(jī)制連接至系統(tǒng)總線821。調(diào)制解調(diào) 器872可以是電纜調(diào)制解調(diào)器、DLS調(diào)制解調(diào)器或其它寬帶設(shè)備。在網(wǎng)絡(luò)化環(huán)境 中,相對(duì)于計(jì)算機(jī)810所描述的程序模塊或其部分可儲(chǔ)存在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備 中。作為示例而非局限,圖8示出遠(yuǎn)程應(yīng)用程序885駐留在存儲(chǔ)器設(shè)備881上???以理解,示出的網(wǎng)絡(luò)連接是示例性的,也可以使用在計(jì)算機(jī)之間建立通信鏈路的其 它手段。
盡管示出了計(jì)算機(jī)810的許多其它內(nèi)部組件,但是本領(lǐng)域的普通技術(shù)人員可 以理解,這些組件和互連是公知的。例如,在計(jì)算機(jī)810內(nèi)包括諸如電視調(diào)諧卡和 網(wǎng)絡(luò)接口卡等各種擴(kuò)展卡是常規(guī)的。因此,關(guān)于計(jì)算機(jī)810的內(nèi)部構(gòu)造的附加細(xì)節(jié)無需在描述該密鑰管理過程的示例性實(shí)施例時(shí)公開。
當(dāng)計(jì)算機(jī)810被開啟或重啟時(shí),儲(chǔ)存在ROM 831中的BIOS 833指示處理單 元820將操作系統(tǒng)或其必要部分從硬盤驅(qū)動(dòng)器841加載到RAM 832中。 一旦被指 定為操作系統(tǒng)844的操作系統(tǒng)的復(fù)制部分被加載到RAM 832中,處理單元820就 執(zhí)行該操作系統(tǒng)代碼,并使得與操作系統(tǒng)834相關(guān)聯(lián)的用戶界面的可視元素在顯示 設(shè)備891上顯示。通常,當(dāng)用戶打開應(yīng)用程序845時(shí),從硬盤驅(qū)動(dòng)器841中讀取程 序代碼和相關(guān)數(shù)據(jù),并將必要部分復(fù)制到RAM 832中,所復(fù)制的部分此處由參考 標(biāo)號(hào)835來表示。
用于編碼和解碼可縮放代碼流的服務(wù)器和客戶機(jī)系統(tǒng)
圖9示出了系統(tǒng)900的功能框圖,該系統(tǒng)包括可用于通過網(wǎng)絡(luò)950向客戶機(jī) 960提供受安全保護(hù)的可縮放代碼流的服務(wù)器910,而客戶機(jī)960能夠根據(jù)本發(fā)明 的各種模式來解碼該代碼流。系統(tǒng)900可以使用一個(gè)或多個(gè)服務(wù)器910來實(shí)現(xiàn),包 括提供內(nèi)容的一個(gè)或多個(gè)服務(wù)器以及執(zhí)行加密、密鑰管理、客戶機(jī)授權(quán)和其它功能 的一個(gè)或多個(gè)附加服務(wù)器。并且,還存在通過網(wǎng)絡(luò)950訪問一個(gè)或多個(gè)服務(wù)器910 的大量客戶機(jī)960。盡管如此,為圖示簡(jiǎn)明起見,圖9示出了可用于提供內(nèi)容并執(zhí) 行密鑰管理功能的、可通過網(wǎng)絡(luò)950由單個(gè)客戶機(jī)960訪問的單個(gè)服務(wù)器910。
服務(wù)器910包括訪問級(jí)別標(biāo)識(shí)和授權(quán)子系統(tǒng)912,它接收對(duì)各種級(jí)別組合的授 權(quán)請(qǐng)求,并授權(quán)客戶機(jī)能夠解碼來自服務(wù)器910的代碼流,如以下進(jìn)一步描述的。 服務(wù)器還包括訪問節(jié)點(diǎn)子系統(tǒng)914。訪問節(jié)點(diǎn)子系統(tǒng)包括訪問節(jié)點(diǎn)生成器916,它 如結(jié)合圖5所描述地導(dǎo)出對(duì)應(yīng)于在可縮放代碼流中可用的訪問級(jí)別組合的訪問節(jié) 點(diǎn)。所生成的訪問節(jié)點(diǎn)被儲(chǔ)存在訪問節(jié)點(diǎn)集存儲(chǔ)918中,用于為解密的目的而形成 密鑰集并為代碼流配備。
密鑰子系統(tǒng)920包括用于如結(jié)合圖6所描述地形成密鑰的根節(jié)點(diǎn)標(biāo)識(shí)器922 和子及父節(jié)點(diǎn)標(biāo)識(shí)器922。同樣如結(jié)合圖6所描述的,隨機(jī)數(shù)生成器926生成用作 根節(jié)點(diǎn)密鑰并用于與每一子節(jié)點(diǎn)相關(guān)聯(lián)來形成子節(jié)點(diǎn)密鑰的隨機(jī)數(shù)。密鑰生成器 928如結(jié)合圖6所描述地生成密鑰,而密鑰分配器930將適當(dāng)?shù)拿荑€與每一訪問節(jié) 點(diǎn)相關(guān)聯(lián)。所生成的密鑰被儲(chǔ)存在密鑰集存儲(chǔ)932中,使得用于所有訪問節(jié)點(diǎn)的密 鑰僅被生成一次,并且可響應(yīng)于授權(quán)請(qǐng)求從密鑰集存儲(chǔ)932中取出各密鑰。
一旦在密鑰子系統(tǒng)920中生成并儲(chǔ)存了密鑰,加密子系統(tǒng)934就加密代碼流。 如結(jié)合圖6所描述的,內(nèi)容加密密鑰生成器936基于與數(shù)據(jù)分組所關(guān)聯(lián)到的訪問節(jié)點(diǎn)相關(guān)聯(lián)的密鑰來導(dǎo)出用于該分組的內(nèi)容加密密鑰。使用內(nèi)容密鑰,代碼流加密子
系統(tǒng)938加密儲(chǔ)存在代碼流存儲(chǔ)940中的可縮放代碼流??蛻魴C(jī)授權(quán)請(qǐng)求、授權(quán)批 準(zhǔn)、密鑰和代碼流經(jīng)由與網(wǎng)絡(luò)950通信的通信控制子系統(tǒng)945來交換。
客戶機(jī)960向訪問級(jí)別選擇子系統(tǒng)962發(fā)起訪問安全的可縮放代碼流的請(qǐng)求, 該子系統(tǒng)標(biāo)識(shí)指示該可縮放代碼流內(nèi)每一訪問類型的期望訪問級(jí)別的級(jí)別組合。如 果一授權(quán)請(qǐng)求成功,則由密鑰控制子系統(tǒng)964從服務(wù)器910接收密鑰。該密鑰被儲(chǔ) 存在密鑰存儲(chǔ)966中,并且使用所接收的密鑰和訪問節(jié)點(diǎn)集,密鑰處理子系統(tǒng)968 導(dǎo)出與代碼流內(nèi)的較低等級(jí)的級(jí)別相關(guān)聯(lián)的密鑰,以及解碼該代碼流的內(nèi)容加密密 鑰。代碼流被儲(chǔ)存在代碼流/訪問節(jié)點(diǎn)存儲(chǔ)970中,并由解碼器972解碼??蛻魴C(jī) 通信控制子系統(tǒng)980可用于發(fā)送授權(quán)請(qǐng)求并接收密鑰和代碼流。
結(jié)論
盡管以對(duì)結(jié)構(gòu)特征和/或方法動(dòng)作專用的語言描述了示例性實(shí)施例,但是可以 理解,所附權(quán)利要求書不必限于先前所描述的具體特征或動(dòng)作。相反,這些具體特 征和動(dòng)作是作為示例性實(shí)施例來公開的。
權(quán)利要求
1.一種用于保護(hù)對(duì)包括多種可縮放訪問類型的代碼流內(nèi)的各級(jí)別的訪問的方法,包括用一全序節(jié)點(diǎn)集表示一全序訪問類型的第一級(jí)別的第一集合,其中每一較低等級(jí)的第一級(jí)別總是包括在每一較高等級(jí)的第一級(jí)別內(nèi);用一偏序節(jié)點(diǎn)集表示一偏序訪問類型的第二級(jí)別的第二集合,其中每一較低等級(jí)的第二級(jí)別不總是包括在每一較高等級(jí)的第二級(jí)別內(nèi);組合所述全序節(jié)點(diǎn)集和所述偏序節(jié)點(diǎn)集,以創(chuàng)建包括一偏序集的訪問節(jié)點(diǎn)集,其中每一訪問節(jié)點(diǎn)表示所述第一級(jí)別和所述第二級(jí)別的組合;生成包括與所述訪問節(jié)點(diǎn)集中的每一節(jié)點(diǎn)相對(duì)應(yīng)的密鑰的密鑰集;以及加密所述代碼流。
2. 如權(quán)利要求1所述的方法,其特征在于, 一附加全序訪問類型和一附加偏 序訪問類型中的至少一個(gè)用一附加節(jié)點(diǎn)集來表示,并在創(chuàng)建所述訪問節(jié)點(diǎn)集時(shí)與所 述全序節(jié)點(diǎn)集和所述偏序節(jié)點(diǎn)集組合。
3. 如權(quán)利要求l所述的方法,其特征在于,還包括通過提供所述訪問節(jié)點(diǎn)集 以及所述密鑰集中與表示期望級(jí)別組合的期望訪問節(jié)點(diǎn)相對(duì)應(yīng)的期望密鑰,來提供 對(duì)所述多個(gè)可縮放訪問類型中的期望等級(jí)組合的訪問。
4. 如權(quán)利要求1所述的方法,其特征在于,所述全序節(jié)點(diǎn)集和所述偏序節(jié)點(diǎn) 集通過確定每一節(jié)點(diǎn)的乘積來組合。
5. 如權(quán)利要求1所述的方法,其特征在于,所述代碼流包括聯(lián)合圖片專家組 2000代碼流,并且其中所述全序訪問類型包括以下之一按照分辨率訪問; 按照層訪問;以及 按照色彩分量訪問;并且 所述偏序訪問類型包括以下之一 按照小塊訪問;以及 按照范圍訪問。
6. 如權(quán)利要求l所述的方法,其特征在于,還包括標(biāo)識(shí)表示對(duì)非連續(xù)數(shù)據(jù)元素的訪問的至少一個(gè)外來第二級(jí)別;以及 移除所述外來第二級(jí)別,使得所述訪問集不包括涉及所述外來第二級(jí)別的組合。
7. 如權(quán)利要求1所述的方法,其特征在于,所述密鑰是使用可操作來與所述 偏序集一起使用的分層密鑰方案來生成的。
8. 如權(quán)利要求7所述的方法,其特征在于,所述分層密鑰方案包括 從所述訪問節(jié)點(diǎn)集中標(biāo)識(shí)至少一個(gè)根節(jié)點(diǎn),所述根節(jié)點(diǎn)表示最高第一級(jí)別訪問和最高第二級(jí)別訪問的組合;將一根密鑰分配給所述根節(jié)點(diǎn);將除所述至少一個(gè)根節(jié)點(diǎn)之外的訪問節(jié)點(diǎn)標(biāo)識(shí)為子節(jié)點(diǎn);對(duì)多個(gè)子節(jié)點(diǎn)中的每一個(gè)標(biāo)識(shí)至少一個(gè)父節(jié)點(diǎn),所述父節(jié)點(diǎn)表示一級(jí)別組合, 對(duì)所述級(jí)別組合,所述第一級(jí)別和所述第二級(jí)別中的任一個(gè)包括比與所述子節(jié)點(diǎn)相 關(guān)聯(lián)的級(jí)別組合中的級(jí)別高一個(gè)等級(jí)的下一級(jí)別;以及對(duì)所述子節(jié)點(diǎn)中的每一個(gè),從所述子節(jié)點(diǎn)的至少一個(gè)父節(jié)點(diǎn)的至少一個(gè)父密 鑰中計(jì)算子密鑰。
9. 如權(quán)利要求8所述的方法,其特征在于,所述根密鑰包括被分配給所述根 節(jié)點(diǎn)的隨機(jī)數(shù),所述方法還包括將一隨機(jī)數(shù)與所述子節(jié)點(diǎn)中的每一個(gè)相關(guān)聯(lián);以及對(duì)所述子節(jié)點(diǎn)中的每一個(gè),使用與所述子節(jié)點(diǎn)相關(guān)聯(lián)的隨機(jī)數(shù)以及所述子節(jié) 點(diǎn)的至少一個(gè)父節(jié)點(diǎn)的至少一個(gè)父密鑰,利用組Diffie Hellman協(xié)議來計(jì)算所述子 密鑰。
10. 如權(quán)利要求l所述的方法,其特征在于,還包括對(duì)包括呈現(xiàn)由與對(duì)應(yīng)的訪問節(jié)點(diǎn)相關(guān)聯(lián)的所述第一級(jí)別和第二級(jí)別的組合指 定的內(nèi)容時(shí)所涉及的數(shù)據(jù)的多個(gè)分組的每一個(gè),通過使用一密碼散列函數(shù)來散列與 所述對(duì)應(yīng)訪問節(jié)點(diǎn)相關(guān)聯(lián)的密鑰,來生成內(nèi)容加密密鑰;以及用所述內(nèi)容加密密鑰來加密所述代碼流。
11. 一種其上包含有用于執(zhí)行如權(quán)利要求1所述的方法的計(jì)算機(jī)可使用指令 的計(jì)算機(jī)介質(zhì)。
12. —種用于訪問包括多個(gè)可縮放訪問類型的代碼流內(nèi)的各級(jí)別的方法,包括標(biāo)識(shí)一全序訪問類型的第一級(jí)別集合中的第一期望訪問級(jí)別,其中每一較低等級(jí)的第一級(jí)別總是被包括在每一較高等級(jí)的第一級(jí)別內(nèi);標(biāo)識(shí)一偏序訪問類型的第二級(jí)別的第二集合中的第二期望訪問級(jí)別,其中每 一較低等級(jí)的第二級(jí)別不總是包括在每一較高等級(jí)的第二級(jí)別內(nèi);保護(hù)對(duì)在包括所述第一期望級(jí)別和第二期望級(jí)別的期望級(jí)別組合下訪問所述 代碼流的授權(quán);接收包括一訪問節(jié)點(diǎn)偏序集的訪問節(jié)點(diǎn)集,所述訪問節(jié)點(diǎn)偏序集表示一全序 節(jié)點(diǎn)集與一偏序節(jié)點(diǎn)集的組合,所述全序節(jié)點(diǎn)集表示所述全序訪問類型,而所述偏 序節(jié)點(diǎn)集表示所述偏序訪問類型;以及接收允許在所述期望級(jí)別組合下訪問所述代碼流的單個(gè)密鑰,并通過使用所 述訪問節(jié)點(diǎn)集,在包括較低等級(jí)的第一級(jí)別和較低等級(jí)的第二級(jí)別中的至少一個(gè)的 至少一個(gè)較低組合下進(jìn)行訪問。
13. 如權(quán)利要求12所述的方法,其特征在于,還包括從所述訪問節(jié)點(diǎn)集和所 述單個(gè)密鑰中導(dǎo)出提供對(duì)所述期望級(jí)別組合和所述至少一個(gè)較低組合的訪問的多個(gè)附加密鑰。
14. 如權(quán)利要求13所述的方法,其特征在于,所述多個(gè)密鑰是使用組Diffie Hdlman協(xié)議從所述訪問節(jié)點(diǎn)集和所述單個(gè)密鑰中導(dǎo)出的。
15. 如權(quán)利要求13所述的方法,其特征在于,還包括向所述單個(gè)密鑰和所述 多個(gè)密鑰中的至少一個(gè)應(yīng)用一散列函數(shù),以對(duì)包括在所述期望級(jí)別組合和所述至少 一個(gè)較低組合之一下呈現(xiàn)內(nèi)容時(shí)所涉及的數(shù)據(jù)的多個(gè)分組中的每一個(gè)導(dǎo)出內(nèi)容加 密密鑰。
16. 如權(quán)利要求12所述的方法,其特征在于,所述代碼流包括聯(lián)合圖片專家 組2000代碼流,并且其中所述全序訪問類型包括以下之一按照分辨率訪問;按照層訪問;以及按照色彩分量訪問;并且 所述偏序訪問類型包括以下之一按照小塊訪問;以及按照范圍訪問。
17. —種其上包含有用于執(zhí)行如權(quán)利要求12所述的方法的計(jì)算機(jī)可使用指令 的計(jì)算機(jī)介質(zhì)。
18. —種用于控制對(duì)包括多個(gè)可縮放訪問類型的代碼流內(nèi)的各級(jí)別的訪問的 系統(tǒng),所述系統(tǒng)包括包括被編程以執(zhí)行以下動(dòng)作的一個(gè)或多個(gè)計(jì)算機(jī)的服務(wù)器維護(hù)一包括多個(gè)訪問節(jié)點(diǎn)的訪問節(jié)點(diǎn)集,每一所述訪問節(jié)點(diǎn)表示對(duì)所述多個(gè)可縮放訪問類型的各級(jí)別的組合的偏序集的成員;維護(hù)用于所述多個(gè)訪問節(jié)點(diǎn)中的每一個(gè)的密鑰,每一密鑰允許訪問與一訪問節(jié)點(diǎn)相關(guān)聯(lián)的級(jí)別組合以及包括至少一個(gè)較低等級(jí)的級(jí)別的任何級(jí)別組合.接收對(duì)指示所述多個(gè)可縮放訪問類型中的每一個(gè)的期望訪問級(jí)別的期望 級(jí)別組合的授權(quán)請(qǐng)求;對(duì)所述期望級(jí)別組合標(biāo)識(shí)一期望訪問節(jié)點(diǎn)集,并檢索用于所述期望訪問 節(jié)點(diǎn)的期望密鑰;以及傳遞所述訪問節(jié)點(diǎn)集和所述期望密鑰;以及 包括被編程以執(zhí)行以下動(dòng)作的一個(gè)或多個(gè)計(jì)算機(jī)的客戶機(jī)-選擇所述期望級(jí)別組合;接收所述訪問節(jié)點(diǎn)集和所述期望密鑰;以及使用所述期望密鑰在所述期望級(jí)別組合下訪問所述代碼流,并通過使用 所述訪問節(jié)點(diǎn)集和所述期望密鑰,導(dǎo)出提供對(duì)包括至少一個(gè)較低等級(jí)的級(jí)別 的級(jí)別組合的訪問的至少一個(gè)附加密鑰。
19. 如權(quán)利要求18所述的系統(tǒng),其特征在于,所述服務(wù)器還被編程為生成用 于所述多個(gè)訪問節(jié)點(diǎn)中的每一個(gè)的密鑰,包括從所述訪問節(jié)點(diǎn)集中標(biāo)識(shí)一根節(jié)點(diǎn),所述根節(jié)點(diǎn)表示對(duì)所述多個(gè)可縮放訪問 類型的最高訪問級(jí)別的組合;將一根密鑰分配給所述根節(jié)點(diǎn);將除所述根節(jié)點(diǎn)以外的訪問節(jié)點(diǎn)標(biāo)識(shí)為子節(jié)點(diǎn);對(duì)所述多個(gè)子節(jié)點(diǎn)中的每一個(gè)標(biāo)識(shí)至少一個(gè)父節(jié)點(diǎn),所述父節(jié)點(diǎn)表示對(duì)其所 述級(jí)別組合之一是比所述子節(jié)點(diǎn)的級(jí)別高一個(gè)等級(jí)的下一級(jí)別的級(jí)別組合;以及對(duì)所述子節(jié)點(diǎn)中的每一個(gè),從所述子節(jié)點(diǎn)的至少一個(gè)父節(jié)點(diǎn)的至少一個(gè)父密 鑰中計(jì)算子密鑰。
20. 如權(quán)利要求19所述的系統(tǒng),其特征在于,所述服務(wù)器還被編程為生成用 于所述多個(gè)訪問節(jié)點(diǎn)中的每一個(gè)的密鑰,包括將一隨機(jī)數(shù)與所述子節(jié)點(diǎn)中的每一個(gè)相關(guān)聯(lián);以及對(duì)所述子節(jié)點(diǎn)中的每一個(gè),使用與所述子節(jié)點(diǎn)相關(guān)聯(lián)的隨機(jī)數(shù)以及所述子節(jié)點(diǎn)的至少一個(gè)父節(jié)點(diǎn)的至少一個(gè)父密鑰,利用組Diffie Hellman協(xié)議來計(jì)算所述子 密鑰。
全文摘要
執(zhí)行密鑰管理來生成允許解碼可縮放代碼流內(nèi)的多個(gè)訪問類型的所有授權(quán)級(jí)別的單個(gè)密鑰。從表示具有諸如分辨率和層級(jí)別等可由全序集表示的分層結(jié)構(gòu)、以及諸如小塊和類型級(jí)別等可由偏序集來表示的分層結(jié)構(gòu)的訪問類型的集合中導(dǎo)出一訪問節(jié)點(diǎn)集。所導(dǎo)出的訪問節(jié)點(diǎn)集是表示包括在代碼流內(nèi)的訪問類型的各級(jí)別的組合的偏序集。向該訪問節(jié)點(diǎn)集應(yīng)用一分層密鑰管理系統(tǒng)以將一密鑰分配給每一訪問節(jié)點(diǎn)、生成內(nèi)容加密密鑰、以及加密代碼流。接收代碼流、訪問節(jié)點(diǎn)集和其它公共信息的客戶機(jī)使用該密鑰來導(dǎo)出解碼該代碼流的附加密鑰。
文檔編號(hào)H04L9/14GK101218781SQ200680025135
公開日2008年7月9日 申請(qǐng)日期2006年7月11日 優(yōu)先權(quán)日2005年7月11日
發(fā)明者B·朱, M·馮, S·李 申請(qǐng)人:微軟公司