亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于HLS協(xié)議的細(xì)粒度流媒體視頻加密、解密方法與流程

文檔序號(hào):12493450閱讀:351來(lái)源:國(guó)知局
一種基于HLS協(xié)議的細(xì)粒度流媒體視頻加密、解密方法與流程
本發(fā)明涉及流媒體視頻處理
技術(shù)領(lǐng)域
,尤其涉及一種基于HLS協(xié)議的細(xì)粒度流媒體視頻加密、解密方法。
背景技術(shù)
:隨著互聯(lián)網(wǎng)技術(shù)的深入發(fā)展,流媒體技術(shù)的應(yīng)用越來(lái)越普及,如遠(yuǎn)程教育、視頻會(huì)議、互聯(lián)網(wǎng)直播等等。然而,流媒體的傳輸離不開(kāi)協(xié)議的承載。針對(duì)流媒體的傳輸協(xié)議大體可以分為兩類(lèi),一種基于UDP/TCP協(xié)議,另外一種基于HTTP協(xié)議?;贖TTP協(xié)議的技術(shù)由于其部署容易,可以自適應(yīng)調(diào)整碼流以及防火墻穿透性好等優(yōu)點(diǎn),被廣泛的應(yīng)用在各個(gè)商業(yè)的直播和點(diǎn)播網(wǎng)絡(luò)中。其中,支持流媒體視頻使用HTTP協(xié)議傳輸?shù)募夹g(shù)有多種多樣(HLS協(xié)議是所有此類(lèi)協(xié)議中使用最廣泛的技術(shù)),基本原理都是將視頻流的數(shù)據(jù)進(jìn)行分片,然后通過(guò)索引的方式定位,用戶(hù)通過(guò)拉取不同的視頻分片實(shí)現(xiàn)視頻流的傳輸。然而,在這些協(xié)議中都沒(méi)有對(duì)其傳輸過(guò)程中的安全性進(jìn)行考量,或者只定義了相應(yīng)的接口。如何保護(hù)這些瑣碎的視頻小片段,同時(shí)提供相應(yīng)的用戶(hù)條件訪問(wèn)機(jī)制是亟需要解決的問(wèn)題。另一方面,目前針對(duì)視頻內(nèi)容的加密方案主要有兩類(lèi),一類(lèi)是傳統(tǒng)的完全加密算法,另一類(lèi)是選擇性加密算法。然而,無(wú)論是完全加密技術(shù)還是選擇性加密技術(shù),都是以整個(gè)視頻為單位來(lái)進(jìn)行操作的。因此,用戶(hù)接入視頻的最小粒度為整個(gè)視頻。若要實(shí)現(xiàn)更細(xì)粒度的權(quán)限訪問(wèn)控制,比如有的網(wǎng)站或者內(nèi)容提供商可以提供某些VIP視頻限時(shí)體驗(yàn)的業(yè)務(wù),這就需要另外一套權(quán)限控制的機(jī)制來(lái)實(shí)現(xiàn)。技術(shù)實(shí)現(xiàn)要素:針對(duì)上述技術(shù)問(wèn)題,本發(fā)明提出了一種基于HLS協(xié)議的細(xì)粒度流媒體視頻加密、解密方法,以在保護(hù)安全傳輸流媒體數(shù)據(jù)的同時(shí),實(shí)現(xiàn)細(xì)粒度的視頻接入權(quán)限控制。本發(fā)明的技術(shù)方案為:一種基于HLS協(xié)議的細(xì)粒度流媒體視頻加密方法,包括:第一層加密步驟,根據(jù)對(duì)稱(chēng)加密算法,利用視頻密鑰對(duì)由HLS協(xié)議分片服務(wù)器生成的視頻分片進(jìn)行加密,并將視頻密鑰存入m3u8索引文件;第二層加密步驟,根據(jù)對(duì)稱(chēng)加密算法,利用索引密鑰對(duì)所述m3u8索引文件進(jìn)行加密;第三層加密步驟,根據(jù)屬性加密算法和用戶(hù)訪問(wèn)控制策略,對(duì)所述索引密鑰進(jìn)行加密。根據(jù)本發(fā)明的實(shí)施例,在上述第一層加密步驟中,根據(jù)塊加密或流加密算法,利用所述視頻密鑰對(duì)所述視頻分片進(jìn)行選擇性加密。根據(jù)本發(fā)明的實(shí)施例,在上述第二層加密步驟中,根據(jù)塊加密或流加密算法,利用所述索引密鑰對(duì)所述m3u8索引文件進(jìn)行選擇性加密。根據(jù)本發(fā)明的實(shí)施例,在上述第二層加密步驟中,所述索引密鑰根據(jù)所述視頻分片對(duì)應(yīng)的視頻節(jié)目的時(shí)間線訪問(wèn)控制策略生成。根據(jù)本發(fā)明的實(shí)施例,在上述第三層加密步驟中,所述用戶(hù)訪問(wèn)控制策略根據(jù)所述視頻分片對(duì)應(yīng)的視頻節(jié)目的時(shí)間線訪問(wèn)控制策略和用戶(hù)屬性集合制定。根據(jù)本發(fā)明的實(shí)施例,上述第三層加密步驟包括:初始化步驟,生成乘法循環(huán)群,并計(jì)算公鑰和私鑰;加密索引密鑰步驟,利用秘密數(shù)、雙線性映射函數(shù)和所述公鑰對(duì)所述索引密鑰進(jìn)行加密,并根據(jù)用戶(hù)訪問(wèn)控制策略樹(shù)分享所述秘密數(shù),獲得密文集合;其中,所述用戶(hù)訪問(wèn)控制策略樹(shù)是通過(guò)對(duì)所述用戶(hù)訪問(wèn)控制策略進(jìn)行二叉樹(shù)描述獲得的;存儲(chǔ)步驟,將所述密文集合存入加密的m3u8索引文件中。進(jìn)一步地,所述密文集合包括所述用戶(hù)訪問(wèn)控制策略樹(shù)、加密所述索引密鑰獲得的密文和所述用戶(hù)訪問(wèn)控制策略樹(shù)中每個(gè)葉子節(jié)點(diǎn)的共享參數(shù)。根據(jù)本發(fā)明的實(shí)施例,在上述加密索引密鑰步驟中,根據(jù)所述用戶(hù)訪問(wèn)控制策略樹(shù),利用拉格朗日定理分享所述秘密數(shù)。還提供了一種基于HLS協(xié)議的細(xì)粒度流媒體視頻解密方法,包括:第一層解密步驟,根據(jù)用戶(hù)屬性集合計(jì)算索引密鑰;第二層解密步驟,利用所述索引密鑰對(duì)加密的m3u8索引文件進(jìn)行解密,獲得解密的m3u8索引文件;第三層解密步驟,利用所述解密的m3u8索引文件中的視頻密鑰,對(duì)加密的視頻分片進(jìn)行解密。根據(jù)本發(fā)明的實(shí)施例,上述第一層解密步驟包括:讀取步驟,讀取加密的m3u8索引文件中的密文集合;解密索引密鑰步驟,利用用戶(hù)屬性集合樹(shù)、秘密字和所述密文集合計(jì)算所述用戶(hù)屬性集合樹(shù)的根節(jié)點(diǎn)的份額值,并根據(jù)所述根節(jié)點(diǎn)的份額值計(jì)算所述索引密鑰;其中,所述用戶(hù)屬性集合樹(shù)是通過(guò)對(duì)所述用戶(hù)屬性集合進(jìn)行二叉樹(shù)描述獲得的。與現(xiàn)有技術(shù)相比,上述方案中的一個(gè)或多個(gè)實(shí)施例可以具有如下優(yōu)點(diǎn)或有益效果:1)應(yīng)用本發(fā)明實(shí)施例提供的流媒體視頻加密方法,實(shí)現(xiàn)了細(xì)粒度的視頻接入權(quán)限控制,同時(shí)還保證了流媒體數(shù)據(jù)傳輸?shù)陌踩浴?)本發(fā)明的第一層加密通過(guò)以視頻分片為粒度,采用視頻密鑰對(duì)視頻分片進(jìn)行加密,使整個(gè)系統(tǒng)對(duì)視頻訪問(wèn)權(quán)限的控制達(dá)到了視頻分片的級(jí)別。3)本發(fā)明采用雙層選擇性加密的策略。用戶(hù)在選擇加密視頻的深度時(shí),可以在第一層的加密中選擇不同的加密感興趣區(qū)域進(jìn)行加密,同時(shí)也可以在第二層選擇不同的視頻流片段進(jìn)行加密。實(shí)現(xiàn)了對(duì)單個(gè)視頻基于時(shí)長(zhǎng)或者碼率的細(xì)粒度控制。4)本發(fā)明的第三層采用基于屬性加密的方案,實(shí)現(xiàn)了針對(duì)不同的用戶(hù)達(dá)到不同的訪問(wèn)權(quán)限控制。同時(shí)將眾多用戶(hù)通過(guò)用戶(hù)屬性集合的方式進(jìn)行定義,這樣只需針對(duì)不同的用戶(hù)屬性集合提供不同的訪問(wèn)權(quán)限,省去了對(duì)每個(gè)用戶(hù)都要分配一套公私密鑰帶來(lái)的大量密鑰管理工作。并且在減少密鑰管理的同時(shí),還可以和web系統(tǒng)中常用的基于角色的訪問(wèn)控制(Role-BasedAccessControl,RBAC)方案對(duì)接。5)本發(fā)明通過(guò)AND和OR的控制樹(shù)方案,將文字的權(quán)限控制字段表達(dá)為樹(shù)的結(jié)構(gòu),使得用戶(hù)將其屬性放入用戶(hù)訪問(wèn)控制策略樹(shù)中解析就可以得到自己是否具有訪問(wèn)權(quán)限,為終端節(jié)省了大量的運(yùn)算。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且部分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在說(shuō)明書(shū)、權(quán)利要求書(shū)以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。附圖說(shuō)明附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與本發(fā)明的實(shí)施例共同用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:圖1是本發(fā)明的實(shí)施例中基于HLS協(xié)議的細(xì)粒度流媒體視頻加密方法的流程圖;圖2是圖1所示實(shí)施例中步驟S30所示的對(duì)索引密鑰進(jìn)行加密的方法的流程圖;圖3是本發(fā)明的實(shí)施例中基于HLS協(xié)議的細(xì)粒度流媒體視頻解密方法的流程圖;圖4是本發(fā)明的另一實(shí)施例中基于HLS協(xié)議的細(xì)粒度流媒體視頻整個(gè)加密和解密方法的流程圖;圖5是本發(fā)明的另一實(shí)施例中基于HLS協(xié)議的細(xì)粒度流媒體視頻加密方法的流程圖;圖6是本發(fā)明的又一實(shí)施例中前六分鐘的用戶(hù)訪問(wèn)控制策略樹(shù)的結(jié)構(gòu)示意圖;圖7是本發(fā)明的又一實(shí)施例中六分鐘后的用戶(hù)訪問(wèn)控制策略樹(shù)的結(jié)構(gòu)示意圖;圖8是本發(fā)明的又一實(shí)施例中基于HLS協(xié)議的細(xì)粒度流媒體視頻解密方法的流程圖;圖9是本發(fā)明的又一實(shí)施例中用戶(hù)屬性集合樹(shù)的結(jié)構(gòu)示意圖。具體實(shí)施方式以下將結(jié)合附圖及實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明的實(shí)施方式,借此對(duì)本發(fā)明如何應(yīng)用技術(shù)手段來(lái)解決技術(shù)問(wèn)題,并達(dá)成技術(shù)效果的實(shí)現(xiàn)過(guò)程能充分理解并據(jù)以實(shí)施。需要說(shuō)明的是,只要不構(gòu)成沖突,本發(fā)明中的各個(gè)實(shí)施例以及各實(shí)施例中的各個(gè)特征可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護(hù)范圍之內(nèi)。實(shí)施例一圖1是本發(fā)明的實(shí)施例中基于HLS協(xié)議的細(xì)粒度流媒體視頻加密方法的流程圖。下面結(jié)合圖1詳細(xì)地說(shuō)明對(duì)流媒體視頻加密的各個(gè)步驟及其原理。步驟S110,即第一層加密步驟,根據(jù)對(duì)稱(chēng)加密算法,利用視頻密鑰對(duì)由HLS協(xié)議分片服務(wù)器生成的視頻分片進(jìn)行加密,并將視頻密鑰存入m3u8索引文件。在該步驟中,優(yōu)選使用傳統(tǒng)的塊加密或者流加密算法對(duì)經(jīng)HLS協(xié)議分片生成的視頻分片內(nèi)容進(jìn)行加密。進(jìn)一步地,本層優(yōu)選傳統(tǒng)的選擇性視頻加密方案。由于HLS協(xié)議分片的視頻流格式為ts的,因此針對(duì)性的分析ts的視頻結(jié)構(gòu),優(yōu)選采用I幀或者DCT系數(shù)對(duì)視頻分片進(jìn)行加密,并將視頻密鑰存儲(chǔ)在m3u8索引文件中。應(yīng)當(dāng)說(shuō)明的是,本實(shí)施例不對(duì)視頻密鑰做具體的限定,只要保證其具有足夠的隨機(jī)性即可。本層完成了對(duì)視頻分片的加密保護(hù),以視頻分片為粒度,不同的視頻分片對(duì)應(yīng)不同的視頻加密密鑰(即視頻密鑰),使整個(gè)系統(tǒng)對(duì)視頻訪問(wèn)權(quán)限的控制達(dá)到了視頻分片的級(jí)別。步驟S120,即第二層加密步驟,根據(jù)對(duì)稱(chēng)加密算法,利用索引密鑰對(duì)所述m3u8索引文件進(jìn)行加密。在該步驟中,優(yōu)選使用傳統(tǒng)的塊加密或者流加密算法對(duì)包括視頻密鑰的m3u8索引文件進(jìn)行加密。進(jìn)一步地,本層優(yōu)選傳統(tǒng)的選擇性視頻加密方案。并且,本層中根據(jù)視頻分片對(duì)應(yīng)的視頻節(jié)目的時(shí)間線訪問(wèn)控制策略生成索引密鑰。本實(shí)施例中,采用雙層選擇性加密的策略。用戶(hù)在選擇加密視頻的深度時(shí),可以在第一層的加密中選擇不同的加密感興趣區(qū)域進(jìn)行加密,同時(shí)也可以在第二層選擇不同的視頻流片段進(jìn)行加密。實(shí)現(xiàn)了對(duì)單個(gè)視頻基于時(shí)長(zhǎng)或者碼率的細(xì)粒度控制。步驟S130,即第三層加密步驟,根據(jù)屬性加密算法和用戶(hù)訪問(wèn)控制策略,對(duì)所述索引密鑰進(jìn)行加密。圖2示出了本發(fā)明的實(shí)施例中對(duì)索引密鑰進(jìn)行加密的方法的流程圖。具體過(guò)程如下:步驟S131,即初始化步驟,生成一個(gè)乘法循環(huán)群,并計(jì)算公鑰和私鑰。步驟S132,即加密索引密鑰步驟,利用秘密數(shù)、雙線性映射函數(shù)和公鑰對(duì)索引密鑰進(jìn)行加密,并根據(jù)用戶(hù)訪問(wèn)控制策略樹(shù)分享秘密數(shù),獲得密文集合。其中,用戶(hù)訪問(wèn)控制策略樹(shù)是通過(guò)對(duì)用戶(hù)訪問(wèn)控制策略進(jìn)行二叉樹(shù)描述獲得的。進(jìn)一步地,本實(shí)施例中的用戶(hù)訪問(wèn)控制策略是根據(jù)視頻分片對(duì)應(yīng)的視頻節(jié)目的時(shí)間線訪問(wèn)控制策略和用戶(hù)屬性集合制定的。該步驟具體過(guò)程如下:首先,生成一個(gè)隨機(jī)數(shù),該隨機(jī)數(shù)屬于階為p的有限域,并將該隨機(jī)數(shù)作為秘密數(shù)。應(yīng)當(dāng)說(shuō)明的是p為大質(zhì)數(shù),在具體實(shí)施過(guò)程中,本領(lǐng)域的技術(shù)人員可以根據(jù)實(shí)際需要對(duì)其進(jìn)行設(shè)定。然后,利用秘密數(shù)、雙線性映射函數(shù)和公鑰對(duì)索引密鑰進(jìn)行加密,得到加密索引密鑰的密文。同時(shí),利用用戶(hù)訪問(wèn)控制策略樹(shù)分享秘密數(shù),得到用戶(hù)訪問(wèn)控制策略樹(shù)中每個(gè)葉子節(jié)點(diǎn)的共享參數(shù)。最后,用戶(hù)訪問(wèn)控制策略樹(shù)、得到的加密索引密鑰的密文和用戶(hù)訪問(wèn)控制策略樹(shù)中每個(gè)葉子節(jié)點(diǎn)的共享參數(shù)組成了密文集合。步驟S133,即存儲(chǔ)步驟,將密文集合存入加密的m3u8索引文件中。本層采用基于屬性加密的方案,實(shí)現(xiàn)了針對(duì)不同的用戶(hù)達(dá)到不同的訪問(wèn)權(quán)限控制。同時(shí)將眾多用戶(hù)通過(guò)用戶(hù)屬性集合的方式進(jìn)行定義,這樣只需針對(duì)不同的用戶(hù)屬性集合提供不同的訪問(wèn)權(quán)限,省去了對(duì)每個(gè)用戶(hù)都要分配一套公私密鑰帶來(lái)的大量密鑰管理工作。另外,本實(shí)施例還提供了一種與上述加密方法相對(duì)應(yīng)的基于HLS協(xié)議的細(xì)粒度流媒體視頻解密方法,具體如圖3所示。下面結(jié)合圖3詳細(xì)地說(shuō)明對(duì)流媒體視頻解密的各個(gè)步驟及其原理。步驟S210,即第一層解密步驟,根據(jù)用戶(hù)屬性集合計(jì)算索引密鑰。具體過(guò)程如下:讀取步驟,讀取加密的m3u8索引文件中的密文集合。解密索引密鑰步驟,利用用戶(hù)屬性集合樹(shù)、秘密字和密文集合計(jì)算所述用戶(hù)屬性集合樹(shù)的根節(jié)點(diǎn)的份額值,并根據(jù)所述根節(jié)點(diǎn)的份額值計(jì)算索引密鑰。其中,用戶(hù)屬性集合樹(shù)是通過(guò)對(duì)用戶(hù)屬性集合進(jìn)行二叉樹(shù)描述獲得的。進(jìn)一步地,本實(shí)施例中的用戶(hù)屬性集合是指申請(qǐng)視頻節(jié)目的用戶(hù)的屬性集合。該步驟具體過(guò)程如下:首先,根據(jù)用戶(hù)屬性集合和私鑰生成秘密字。然后,利用用戶(hù)屬性集合樹(shù)、秘密字和密文集合,優(yōu)選采用迭代的方式計(jì)算用戶(hù)屬性集合樹(shù)的根節(jié)點(diǎn)的份額值。最后,根據(jù)用戶(hù)屬性集合樹(shù)的根節(jié)點(diǎn)的份額值,計(jì)算出循環(huán)群中的密鑰,并將其轉(zhuǎn)換為索引密鑰。步驟S220,即第二層解密步驟,利用索引密鑰對(duì)加密的m3u8索引文件進(jìn)行解密,獲得解密的m3u8索引文件。步驟S230,即第三層解密步驟,利用解密的m3u8索引文件中的視頻密鑰,對(duì)加密的視頻分片進(jìn)行解密。本實(shí)施例通過(guò)三層的流媒體視頻加密和解密方案,實(shí)現(xiàn)了細(xì)粒度的視頻接入權(quán)限控制,同時(shí)還保證了流媒體數(shù)據(jù)傳輸?shù)陌踩?。?shí)施例二圖4是本發(fā)明的實(shí)施例中基于HLS協(xié)議的細(xì)粒度流媒體視頻整個(gè)加密和解密方法的流程圖。下面結(jié)合圖4詳細(xì)地從服務(wù)器加密和終端解密兩個(gè)角度說(shuō)明各個(gè)步驟及其原理。圖5示出了本發(fā)明的實(shí)施例中基于HLS協(xié)議的細(xì)粒度流媒體視頻加密方法的流程圖。下面結(jié)合圖4和圖5從服務(wù)器加密角度詳細(xì)地說(shuō)明加密流媒體視頻的各個(gè)步驟及其原理。第一層加密步驟:加密對(duì)象為視頻分片,加密算法優(yōu)選高級(jí)加密標(biāo)準(zhǔn)(AES,AdvancedEncryptionStandard)算法,視頻加密密鑰keyvideo隨機(jī)生成,加密具體過(guò)程如下:首先,接受經(jīng)過(guò)HLS協(xié)議分片服務(wù)器生成的流媒體視頻片段(即視頻分片)。其次,生成需要加密當(dāng)前視頻分片的視頻加密密鑰keyvideo。然后,使用視頻加密密鑰keyvideo對(duì)視頻分片進(jìn)行加密,獲得加密的視頻分片。最后,將加密的視頻分片存入存儲(chǔ)云,同時(shí)將視頻加密密鑰keyvideo存入數(shù)據(jù)庫(kù)。第二層加密步驟:加密對(duì)象為包括keyvideo的m3u8索引文件,加密算法使用AES算法,索引加密密鑰(即索引密鑰)keym3u8根據(jù)視頻節(jié)目的時(shí)間線訪問(wèn)控制策略生成。加密具體過(guò)程如下:首先,讀取視頻節(jié)目的時(shí)間線訪問(wèn)控制策略,生成索引加密密鑰keym3u8。其次,讀取視頻加密密鑰keyvideo,將其存入m3u8索引文件,生成包括keyvideo的m3u8索引文件。然后,使用索引加密密鑰keym3u8加密包括keyvideo的m3u8索引文件,獲得加密的m3u8索引文件。最后,將加密的m3u8索引文件存入存儲(chǔ)云。第三層加密步驟:加密對(duì)象為索引加密密鑰keym3u8,加密算法使用屬性加密(ABE,Attribute-basedEncryption)算法。具體的加密過(guò)程如下:首先,初始化,生成一個(gè)乘法循環(huán)群,并計(jì)算公鑰和私鑰。其次,為視頻節(jié)目的時(shí)間線訪問(wèn)控制策略制定不同的用戶(hù)訪問(wèn)屬性集合,該用戶(hù)訪問(wèn)屬性集合為用戶(hù)訪問(wèn)控制策略。然后,以用戶(hù)訪問(wèn)控制策略、公鑰和索引加密密鑰keym3u8作為輸入,使用ABE算法加密keym3u8,獲得密文集合。最后,將密文集合存入加密的m3u8索引文件中,并將其存入存儲(chǔ)云。下面結(jié)合圖4從終端解密角度詳細(xì)地說(shuō)明解密流媒體視頻的各個(gè)步驟及其原理。第一層解密步驟:解密對(duì)象為索引密鑰,解密具體過(guò)程如下:終端(用戶(hù))向RBAC權(quán)限控制服務(wù)器申請(qǐng)?jiān)L問(wèn)。RBAC權(quán)限控制服務(wù)器將終端屬性集合發(fā)送給ABE加密服務(wù)器。ABE加密服務(wù)器根據(jù)終端屬性集合和私鑰生成秘密字,并將秘密字發(fā)送給RBAC權(quán)限控制服務(wù)器。RBAC權(quán)限控制服務(wù)器將終端屬性集合和秘密字發(fā)送給終端。終端向存儲(chǔ)云申請(qǐng)點(diǎn)播視頻節(jié)目,即申請(qǐng)?jiān)撘曨l節(jié)目的m3u8索引文件。存儲(chǔ)云將與該視頻節(jié)目相對(duì)應(yīng)的加密的m3u8索引文件發(fā)送給終端,其中該加密的m3u8索引文件包括密文集合。終端讀取密文集合,并根據(jù)終端屬性集合、秘密字和密文集合計(jì)算索引密鑰。第二層解密步驟:解密對(duì)象為加密的m3u8索引文件,終端利用索引密鑰對(duì)加密的m3u8索引文件進(jìn)行解密,獲得解密的m3u8索引文件。第三層解密步驟:解密對(duì)象為加密的視頻分片,終端利用解密的m3u8索引文件中的視頻密鑰,對(duì)加密的視頻分片進(jìn)行解密,獲得相應(yīng)的視頻分片。應(yīng)用本發(fā)明實(shí)施例提供的流媒體視頻加密和解密方法,實(shí)現(xiàn)了細(xì)粒度的視頻接入權(quán)限控制,同時(shí)還保證了流媒體數(shù)據(jù)傳輸?shù)陌踩?。并且基于屬性加密的方案,將眾多用?hù)通過(guò)屬性的方式進(jìn)行定義,而不是從單個(gè)用戶(hù)的層面進(jìn)行權(quán)限的控制。這樣在減少密鑰管理量的同時(shí),還實(shí)現(xiàn)了和web系統(tǒng)中常用的RBAC方案對(duì)接。實(shí)施例三下面以某普通用戶(hù)點(diǎn)播一個(gè)超清視頻為例,進(jìn)一步對(duì)本發(fā)明加密、解密流媒體視頻方法的工作過(guò)程進(jìn)行詳細(xì)的描述。為了清楚展示本發(fā)明實(shí)施例的方案和有益效果,在具體展開(kāi)說(shuō)明本發(fā)明的第三個(gè)具體實(shí)施例之前,首先對(duì)視頻的屬性和用戶(hù)的屬性進(jìn)行一些定義,如表1所示。從中,可以確定不同用戶(hù)觀看視頻的權(quán)限范圍。表1對(duì)視頻的屬性和用戶(hù)的屬性的定義加密流程:對(duì)于一個(gè)超清的視頻,根據(jù)HLS協(xié)議將其分成不同的視頻分片之后,每一個(gè)視頻分片選擇不同的視頻加密密鑰進(jìn)行加密。保存加密以后的視頻分片,同時(shí)保存視頻加密密鑰,完成第一層的加密保護(hù)。同一個(gè)超清視頻,在視頻的不同時(shí)間段上有不同的訪問(wèn)控制策略(以普通用戶(hù)只可以觀看前6分鐘之前的內(nèi)容,包月用戶(hù)可以觀看整個(gè)視頻內(nèi)容為例),即視頻節(jié)目的時(shí)間線訪問(wèn)控制策略。因此,該視頻節(jié)目的時(shí)間線訪問(wèn)控制策略分為兩部分,前六分鐘和六分鐘以后。根據(jù)視頻節(jié)目的時(shí)間線訪問(wèn)控制策略生成兩個(gè)索引密鑰,分別為索引密鑰keym3u81和索引密鑰keym3u82。索引密鑰keym3u81和索引密鑰keym3u82與視頻節(jié)目的時(shí)間線訪問(wèn)控制策略的對(duì)應(yīng)關(guān)系如表2所示。表2keym3u81和keym3u82與視頻時(shí)間段的對(duì)應(yīng)關(guān)系keym3u81前六分鐘keym3u82六分鐘后使用索引密鑰keym3u81加密該視頻六分鐘之前的索引文件m3u81,使用索引密鑰keym3u82加密該視頻六分鐘之后的索引文件m3u82。保存加密以后的索引文件m3u81和索引文件m3u82,同時(shí)保存索引密鑰keym3u81和索引密鑰keym3u82,完成第二層的加密保護(hù)。同時(shí),該視頻節(jié)目的時(shí)間線訪問(wèn)控制策略對(duì)應(yīng)的不同用戶(hù)屬性集合為表3所示:表3超清視頻節(jié)目的時(shí)間線訪問(wèn)控制策略對(duì)應(yīng)的不同用戶(hù)屬性集合前六分鐘{user=‘vip’oruser=‘normal’}六分鐘后{user=‘vip’}因此,定義兩種不同的用戶(hù)訪問(wèn)控制策略:前六分鐘的用戶(hù)訪問(wèn)控制策略a:{{vFmt=2}and{{user=’vip’}oruser=’normal’}}。六分鐘后的用戶(hù)訪問(wèn)控制策略b:{{vFmt=2}and{user=’vip’}}。其中,前六分鐘的用戶(hù)訪問(wèn)控制策略a表示:視頻格式為超清(即2)、用戶(hù)屬性為包月用戶(hù)(即vip)或者普通用戶(hù)(即normal)。六分鐘后的用戶(hù)訪問(wèn)控制策略b表示:視頻格式為超清(即2)、用戶(hù)屬性為包月用戶(hù)(即vip)。在本實(shí)施例中,可以?xún)?yōu)選地通過(guò)二叉樹(shù)分別對(duì)前六分鐘的用戶(hù)訪問(wèn)控制策略a和六分鐘后的用戶(hù)訪問(wèn)控制策略b進(jìn)行描述,獲得前六分鐘的用戶(hù)訪問(wèn)控制策略樹(shù)a'和六分鐘后的用戶(hù)訪問(wèn)控制策略樹(shù)b',如圖6和圖7所示。進(jìn)一步地,使用ABE算法加密索引密鑰keym3u81和keym3u82,具體流程如下:初始化步驟,具體地:選擇階為大質(zhì)數(shù)q,生成元為整數(shù)g的群G1;e為雙線性映射函數(shù),滿(mǎn)足:e:G1×G1=GT。選擇兩個(gè)隨機(jī)數(shù)α,β∈Zp,Zp為階為p的有限域。計(jì)算公鑰PK:PK={q,g,h,e(g,g)α};h=gβ。計(jì)算私鑰MK:MK={β,gα}。加密索引密鑰keym3u81和keym3u82步驟,具體地:下面以前六分鐘的用戶(hù)訪問(wèn)控制策略a為例,詳細(xì)說(shuō)明加密索引密鑰keym3u81的具體步驟:首先,生成隨機(jī)數(shù)s∈Zp,并將其作為秘密數(shù)。利用前六分鐘的用戶(hù)訪問(wèn)控制策略樹(shù)a'分享該秘密數(shù)s。在本實(shí)施中,分享算法可以?xún)?yōu)選使用拉格朗日插值定理來(lái)實(shí)現(xiàn)。進(jìn)而,對(duì)于策略樹(shù)a'的每一個(gè)葉子節(jié)點(diǎn)(c1,c2,c3,c4),分別計(jì)算:其中,Cy和C'y為葉子節(jié)點(diǎn)y的共享參數(shù),H()為求哈希值,attr(y)為當(dāng)前葉子節(jié)點(diǎn)y的屬性值,策略樹(shù)a'的葉子節(jié)點(diǎn)c1對(duì)應(yīng)的是策略樹(shù)a'的葉子節(jié)點(diǎn)vFmt:1*,策略樹(shù)a'的葉子節(jié)點(diǎn)c2對(duì)應(yīng)的是策略樹(shù)a'的葉子節(jié)點(diǎn)vFmt:*0,策略樹(shù)a'的葉子節(jié)點(diǎn)c3對(duì)應(yīng)的是策略樹(shù)a'的葉子節(jié)點(diǎn)user=‘vip’,策略樹(shù)a'的葉子節(jié)點(diǎn)c4對(duì)應(yīng)的是策略樹(shù)a'的葉子節(jié)點(diǎn)user=’normal’。然后,組成密文集合CTa':其中,Y為策略樹(shù)a'葉子節(jié)點(diǎn)的集合,func()為將索引密鑰keym3u81轉(zhuǎn)換到GT群內(nèi),和C為加密索引密鑰keym3u81獲得的密文。進(jìn)一步地,將密文集合CTa'存入加密的m3u81索引文件中。需要說(shuō)明的是,加密索引密鑰keym3u82的具體實(shí)施方式與加密索引密鑰keym3u81的具體實(shí)施方式類(lèi)似,具體請(qǐng)參見(jiàn)加密索引密鑰keym3u81的部分的描述。為了減少冗余,在此不做贅述。存儲(chǔ)步驟:將包括密文集合CTa'的加密的m3u81索引文件和包括密文集合CTb'的加密的m3u82索引文件存入該超清視頻的m3u8索引文件,同時(shí)保存m3u8索引文件,完成第三層的加密保護(hù)。解密流程:下面以某普通用戶(hù)為例結(jié)合圖8,詳細(xì)說(shuō)明解密該高清視頻的具體步驟:首先,根據(jù)用戶(hù)屬性集合和私鑰生成秘密字SK:其中,S為用戶(hù)屬性集合,r為任意數(shù),滿(mǎn)足r∈Zp,且rj∈Zp,D為秘密字SK主要字段,Dj,D'j為第j個(gè)用戶(hù)集合對(duì)應(yīng)秘密分片。然后,用戶(hù)申請(qǐng)點(diǎn)播該高清視頻,即申請(qǐng)?jiān)摳咔逡曨l的m3u8索引文件。最后,用戶(hù)得到該高清視頻加密之后的m3u8索引文件、相應(yīng)的屬性集合S和秘密字SK之后,讀取m3u8索引文件中的密文集合CTa'。根據(jù)用戶(hù)屬性集合S、秘密字SK,密文集合CTa'三部分計(jì)算func(keym3u81)。再運(yùn)算func()-1,最終得到索引密鑰keym3u81,完成第一層的解密。在本實(shí)施例中,索引密鑰keym3u81的計(jì)算過(guò)程具體如下:終端的輸入有密文集合CTa'、秘密字SK和用戶(hù)屬性集合S。進(jìn)一步地,可以?xún)?yōu)選地通過(guò)二叉樹(shù)對(duì)用戶(hù)屬性集合S進(jìn)行描述,獲得用戶(hù)屬性集合樹(shù)S',如圖9所示。由圖9可知,其葉子節(jié)點(diǎn)即實(shí)際的屬性集合為{vFmt:1*}、{vFmt:*0}和{user=’normal’}。設(shè)i為用戶(hù)屬性集合樹(shù)S'的葉子節(jié)點(diǎn)屬性,若i∈Y,則計(jì)算如下公式:然后,將戶(hù)屬性集合樹(shù)S'整體使用迭代的方式求得最終結(jié)果。如果當(dāng)前節(jié)點(diǎn)為AND,左節(jié)點(diǎn)值為x,右節(jié)點(diǎn)值為y,則該節(jié)點(diǎn)值為z:z=2x-y如果當(dāng)前節(jié)點(diǎn)為OR,左節(jié)點(diǎn)值為x,右節(jié)點(diǎn)為y,則該節(jié)點(diǎn)的值為z:z=xORy最終符合條件的用戶(hù)在得到根節(jié)點(diǎn)的份額值A(chǔ)=e(g,g)rs之后,計(jì)算GT群內(nèi)最終的密鑰func(keym3u81):進(jìn)一步地,通過(guò)執(zhí)行func()-1最終得到索引密鑰keym3u81的值。用戶(hù)在獲得索引密鑰keym3u81之后,可以完全解密m3u8文件中前6分鐘的索引字段,同時(shí)獲得相應(yīng)的視頻分片的視頻密鑰,完成第二層的解密。用戶(hù)在獲得視頻密鑰后,解密視頻分片即可觀看視頻,即得到了授權(quán),完成第三層的解密。但是,當(dāng)視頻達(dá)到6分鐘之后,由于{{vFmt>0}AND{user=‘normal’}}并不滿(mǎn)足用戶(hù)訪問(wèn)控制策略樹(shù)b'的需求,因此終端無(wú)法解密keym3u82,繼而無(wú)法獲得相應(yīng)視頻的解密密鑰,無(wú)法對(duì)6分鐘以后的視頻內(nèi)容進(jìn)行訪問(wèn),即沒(méi)有得到授權(quán)。需要說(shuō)明的是,用戶(hù)訪問(wèn)控制策略并不局限于本實(shí)施中的用戶(hù)訪問(wèn)控制策略a和b兩種。在具體實(shí)施過(guò)程中,本領(lǐng)域技術(shù)人員可根據(jù)實(shí)際需要設(shè)定用戶(hù)訪問(wèn)的控制策略,例如還可以設(shè)置按次點(diǎn)播的用戶(hù)以及加密的時(shí)間等等。綜上所述,應(yīng)用本發(fā)明實(shí)施例提供的流媒體視頻加密和解密方法,實(shí)現(xiàn)了細(xì)粒度的視頻接入權(quán)限控制,同時(shí)還保證了流媒體數(shù)據(jù)傳輸?shù)陌踩?。并且,通過(guò)AND和OR的控制樹(shù)方案,將文字的權(quán)限控制字段表達(dá)為樹(shù)的結(jié)構(gòu),使得用戶(hù)將其屬性放入用戶(hù)訪問(wèn)控制策略樹(shù)中解析就可以得到自己是否具有訪問(wèn)權(quán)限,為終端節(jié)省了大量的運(yùn)算。雖然本發(fā)明所公開(kāi)的實(shí)施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬
技術(shù)領(lǐng)域
內(nèi)的技術(shù)人員,在不脫離本發(fā)明所公開(kāi)的精神和范圍的前提下,可以在實(shí)施的形式上及細(xì)節(jié)上作任何的修改與變化,但本發(fā)明的保護(hù)范圍,仍須以所附的權(quán)利要求書(shū)所界定的范圍為準(zhǔn)。當(dāng)前第1頁(yè)1 2 3 
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1