0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

常見(jiàn)的視頻加密技術(shù)介紹

UtFs_Zlgmcu7890 ? 來(lái)源:未知 ? 作者:李倩 ? 2018-07-17 18:47 ? 次閱讀

付費(fèi)觀看視頻的模式是很多平臺(tái)的核心業(yè)務(wù),如果視頻被錄制并非法傳播,付費(fèi)業(yè)務(wù)將受到嚴(yán)重威脅。因此對(duì)視頻服務(wù)進(jìn)行加密的技術(shù)變得尤為重要。

本文所指的視頻加密是為了讓要保護(hù)的視頻不能輕易被下載,即使下載到了也是加密后的內(nèi)容,其它人解開加密后的內(nèi)容需要付出非常大的代價(jià)。

常見(jiàn)的視頻加密技術(shù)分兩種

防盜鏈:一種加了防盜鏈簽名的URL,經(jīng)過(guò)簽名的URL能夠與流服務(wù)器的安全機(jī)制進(jìn)行配合,可以將URL的使用權(quán)限定在指定的APP或播放器上,惡意第三方拿到URL也不能使用和播放;

流媒體加密:通過(guò)對(duì)稱加密算法加密視頻內(nèi)容本身,用戶獲得加密后的視頻內(nèi)容,通過(guò)驗(yàn)證的用戶可以獲取解密視頻的密鑰,在客戶端解密后播放。這種方式實(shí)現(xiàn)起來(lái)流程復(fù)雜,會(huì)帶來(lái)更多的計(jì)算量。

實(shí)際應(yīng)用場(chǎng)景中,一般結(jié)合著兩種技術(shù)一起使用,下面分別介紹這兩種加密技術(shù)。

一、防盜鏈

1、Referer防盜鏈

Referer是HTTP協(xié)議中request header的一部分,當(dāng)瀏覽器向web服務(wù)器發(fā)送請(qǐng)求的時(shí)候,一般會(huì)帶上Referer,告訴服務(wù)器是從哪個(gè)頁(yè)面鏈接過(guò)來(lái)的,服務(wù)器基于此可以獲得一些信息用于處理。如果refer信息不是來(lái)自本站,就阻止訪問(wèn)或者跳到其它鏈接。

Nginx防盜鏈的配置:如針對(duì)文件類型的配置方法。

程序清單1 Nginx防盜鏈配置

這種方法是在server或者location段中加入:valid_referers none blocked,其中none表示空的來(lái)路,也就是直接訪問(wèn),比如直接在瀏覽器打開一個(gè)文件,blocked表示被防火墻標(biāo)記過(guò)的來(lái)路,*.zlg.cn表示所有子域名。

以上表示所有來(lái)自zlg.cn和域名中包含zlg.cn的站點(diǎn)都可以訪問(wèn)當(dāng)前站點(diǎn)的圖片和視頻文件,如果來(lái)源域名不在blocked列表中,則返回一個(gè)403給盜鏈者。

2、Token防盜鏈

Token防盜鏈通過(guò)對(duì)時(shí)間有關(guān)的字符串進(jìn)行簽名,將時(shí)間、簽名信息通過(guò)一定的方式傳遞給CDN(Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò))節(jié)點(diǎn)服務(wù)器作為判斷依據(jù),CDN 節(jié)點(diǎn)則會(huì)根據(jù) URL 的加密形式,取出對(duì)應(yīng)的過(guò)期時(shí)間,和當(dāng)前服務(wù)器時(shí)間進(jìn)行比較,確認(rèn)請(qǐng)求是否過(guò)期,過(guò)期的話,則直接拒絕;如果時(shí)間未過(guò)期,CDN 節(jié)點(diǎn)將根據(jù)約定的簽名算法和密文,將計(jì)算后的值和 URL 中的原始加密串進(jìn)行比較;通過(guò)之后,請(qǐng)求會(huì)被認(rèn)為是合法的。不合法的請(qǐng)求可以采取禁止訪問(wèn)或其他操作。

其流程如下圖1 Token防盜鏈流程所示。

客戶端業(yè)務(wù)服務(wù)器生成驗(yàn)證信息,驗(yàn)證信息的生成由業(yè)務(wù)服務(wù)器負(fù)責(zé),具體的加密過(guò)程需要確認(rèn)如下事項(xiàng)。

確認(rèn)過(guò)期時(shí)間的格式,默認(rèn)采用UNIX時(shí)間戳格式;

確認(rèn)驗(yàn)證信息中的密文,用戶計(jì)算驗(yàn)證信息,需要和 CDN 平臺(tái)約定;

確認(rèn)驗(yàn)證信息時(shí)加入的參數(shù),默認(rèn)為URL 的路徑部分;

根據(jù)上文的算法說(shuō)明計(jì)算驗(yàn)證信息,其中請(qǐng)求 URL 中的驗(yàn)證參數(shù)為_upt。

CDN節(jié)點(diǎn)驗(yàn)證過(guò)程

根據(jù)約定解析取出過(guò)期時(shí)間,和當(dāng)前 CDN 節(jié)點(diǎn)服務(wù)器時(shí)間進(jìn)行比較,確認(rèn)請(qǐng)求是否過(guò)期;

根據(jù)上文約定好的算法計(jì)算方式,計(jì)算出 MD5 加密串后,和URL中的加密串進(jìn)行比較,驗(yàn)證加密串是否一致;

如果以上兩個(gè)步驟都驗(yàn)證通過(guò),請(qǐng)求才會(huì)被認(rèn)為是合法的,這時(shí) CDN 會(huì)請(qǐng)求資源響應(yīng)給客戶端,否則會(huì)被認(rèn)為是非法請(qǐng)求,直接響應(yīng) HTTP status code 403。

圖1Token防盜鏈流程

二、流媒體加密

1、常見(jiàn)的應(yīng)用與瀏覽器播放的流媒體傳輸協(xié)議有

HLS:Apple 推出的基于 HTTP 協(xié)議的 MP4 分片傳輸協(xié)議,可用于點(diǎn)播和直播場(chǎng)景。HLS 是目前最成熟的支持流媒體加密的能應(yīng)用在瀏覽器里的流媒體傳輸協(xié)議,HLS 原生支持加密。具有如下優(yōu)點(diǎn):

建立在HTTP之上,使用簡(jiǎn)單,接入代價(jià)小;

分片技術(shù)有利于CDN加速技術(shù)的實(shí)施;

部分瀏覽器原生支持,支持點(diǎn)播和錄播。

RTMPE:基于 TCP 的 FLV 分塊 message 傳輸協(xié)議,用于 Flash 客戶端。 使用由 Diffie-Hellman 密鑰交換 和 HMACSHA256 組成的行業(yè)標(biāo)準(zhǔn)基本加密。傳輸數(shù)據(jù)時(shí),RTMPE 生成一對(duì) RC4 密鑰。一個(gè)密鑰加密服務(wù)器發(fā)送的數(shù)據(jù),另一個(gè)密鑰加密發(fā)送到服務(wù)器的數(shù)據(jù)。RTMPE 阻止第三方應(yīng)用程序偵聽(tīng)客戶端和服務(wù)器之間的數(shù)據(jù)傳輸;

HTTP-FLV:基于 HTTP 長(zhǎng)連接的 FLV 分塊 tag 傳輸協(xié)議,將RTMP封裝在HTTP協(xié)議之上,可以更好的穿透防火墻等,可用于點(diǎn)播和直播場(chǎng)景。

流媒體加密技術(shù)的核心就在于對(duì)這每一小塊視頻分別使用對(duì)稱加密算法,在服務(wù)端加密客戶端解密,通過(guò)權(quán)限驗(yàn)證的用戶才能拿到解密一小塊視頻的密鑰。

之所以選擇對(duì)稱加密是因?yàn)榱髅襟w要求很強(qiáng)的實(shí)時(shí)性,數(shù)據(jù)量又很大。非對(duì)稱算法的計(jì)算都比較復(fù)雜,效率較低,適合對(duì)少量數(shù)據(jù)進(jìn)行加密。對(duì)稱加密效率相對(duì)較高,所以流媒體加密首選對(duì)稱加密。

由于HLS加密目前最為成熟穩(wěn)定,因此僅介紹該加密方案。

HLS 由兩部分構(gòu)成,一個(gè)是 .m3u8 文件,一個(gè)是 .ts視頻文件(TS 是視頻文件格式的一種)。整個(gè)過(guò)程是,瀏覽器會(huì)首先去請(qǐng)求 .m3u8 的索引文件,然后解析 m3u8,找出對(duì)應(yīng)的 .ts文件鏈接,并開始下載,如下圖2 HLS加密流程所示。

圖2 HLS加密流程

m3u8 文件是一個(gè)文本文件,在開啟 HLS 加密時(shí),內(nèi)容大致如下。

程序清單2 m3u8文本內(nèi)容

這個(gè)文件描述了每個(gè) TS 分片的 URL ,但這些分片都是加密后的內(nèi)容,要還原出原內(nèi)容需要從

中解析出獲取解密密鑰的URL https://priv.example.com/key.do 和對(duì)稱加密算法 AES-128,再?gòu)脑揢RL中獲取到密碼后,再在客戶端解密出原內(nèi)容。

2、啟用HLS加密后需完成如下工作

針對(duì)每個(gè)TS需要去請(qǐng)求獲取秘鑰;

需要多提供一個(gè)給客戶端獲取密鑰的鑒權(quán)服務(wù);

針對(duì)每個(gè) TS 需要去執(zhí)行對(duì)稱加密的解密計(jì)算。

本著互利共贏的理念,目前zlg.cn中的大部分音視頻資料未采用防盜鏈與流媒體加密技術(shù),各個(gè)合作伙伴可以在其網(wǎng)站中正常使用zlg.cn的音視頻資料鏈接。若zlg.cn采用了上述中refer防盜鏈和HLS流媒體加密技術(shù)保護(hù)部分保密資料,對(duì)于未授權(quán)的第三方則有很好的防護(hù)作用。

第一重防護(hù):第三方在其網(wǎng)站上添加的來(lái)自zlg.cn的鏈接將無(wú)法訪問(wèn),直接跳轉(zhuǎn)至403網(wǎng)頁(yè)或其他網(wǎng)頁(yè),如zlg.cn主頁(yè)。

第二重防護(hù):對(duì)于視頻資源,第三方播放器獲取到的文件為.m3u8文本文件,解析后能夠獲取到加密后的切片.ts文件和加密方案,但由于沒(méi)有授權(quán),因此無(wú)法獲取秘鑰,也就無(wú)法解密并播放該視頻資源。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 視頻
    +關(guān)注

    關(guān)注

    6

    文章

    1930

    瀏覽量

    72778
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8982

    瀏覽量

    85107
  • 加密技術(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    144

    瀏覽量

    17348

原文標(biāo)題:安全加密(四):拾遺?流媒體加密技術(shù)

文章出處:【微信號(hào):Zlgmcu7890,微信公眾號(hào):周立功單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SRAM工藝FPGA的加密技術(shù)

    SRAM工藝FPGA的加密技術(shù)
    發(fā)表于 08-13 17:08

    深入淺出軟件加密技術(shù)

    深入淺出軟件加密技術(shù)
    發(fā)表于 09-11 12:04

    哪位大神有l(wèi)aview加密技術(shù)的實(shí)例

    有誰(shuí)有l(wèi)abview加密技術(shù)的實(shí)例?求大神知道怎么做?
    發(fā)表于 05-19 21:50

    深入淺出軟件加密技術(shù)

    深入淺出軟件加密技術(shù)
    發(fā)表于 09-24 17:18

    云計(jì)算的云數(shù)據(jù)安全與加密技術(shù)

    ;amp;傳輸)加密技術(shù)就是用來(lái)保護(hù)數(shù)據(jù)在存儲(chǔ)和傳輸(鏈路加密技術(shù))過(guò)程中的安全性,對(duì)做存儲(chǔ)的技術(shù)人員來(lái)說(shuō),平常遇到的加密方案和技術(shù)主要是存
    發(fā)表于 11-06 14:54

    物質(zhì)特征加密技術(shù)的原理是什么?

    物質(zhì)特征加密技術(shù)的原理是在標(biāo)簽的制造過(guò)程中,提取每個(gè)商品(或票據(jù))標(biāo)簽材料本身隱性纖維的分布特征信息,結(jié)合商品的相關(guān)信息以及制造商獨(dú)自擁有的加密密鑰(私鑰),采用高強(qiáng)度加密算法與算法芯片,進(jìn)行密碼運(yùn)算,生成與其惟一對(duì)應(yīng)的“密文”
    發(fā)表于 10-08 14:29

    數(shù)據(jù)加密技術(shù)主要應(yīng)用在哪些方面

    數(shù)據(jù)加密技術(shù)主要應(yīng)用在:數(shù)據(jù)保密、身份驗(yàn)證、保持?jǐn)?shù)據(jù)完整性、數(shù)字簽名(防抵賴)。
    發(fā)表于 02-25 06:25

    軟件加密技術(shù)和注冊(cè)機(jī)制加密基礎(chǔ)

    軟件加密技術(shù)和注冊(cè)機(jī)制加密基礎(chǔ) 本文是一篇軟件加密技術(shù)的基礎(chǔ)性文章,簡(jiǎn)要介紹了軟件加密的一些基本常識(shí)和一些
    發(fā)表于 07-19 07:33

    芯片的解密技術(shù)

    在整個(gè)電子行業(yè)的應(yīng)用技術(shù)發(fā)展史上,可以說(shuō)貫穿著解密與反解密技術(shù)之間的博弈。芯片解密技術(shù)又可以美其名曰:反向設(shè)計(jì)或是逆向工程。芯片的解密主要分為開蓋和不開蓋的,對(duì)于早期的單片機(jī),加密方法
    發(fā)表于 07-28 08:55

    封裝技術(shù)加密技術(shù)的相關(guān)資料推薦

    封裝技術(shù)加密技術(shù)一.4大主流封裝技術(shù)半導(dǎo)體 封裝 是指將通過(guò)測(cè)試的晶圓按照產(chǎn)品型號(hào)及功能需求加工得到獨(dú)立芯片的過(guò)程。封裝技術(shù)是一種將集成電路用絕緣的塑料或陶瓷材料打包的
    發(fā)表于 01-25 06:50

    網(wǎng)絡(luò)通信加密技術(shù)

    網(wǎng)絡(luò)通信加密技術(shù),講解了集中網(wǎng)絡(luò)加密的方式和機(jī)制。
    發(fā)表于 03-10 10:57 ?11次下載

    基于雙混沌的視頻光學(xué)加密技術(shù)研究

    對(duì)雙隨機(jī)相位編碼系統(tǒng)進(jìn)行了改進(jìn),提出了一種基于雙混沌系統(tǒng)的光學(xué)單通道視頻加密的方法。該方法在降低系統(tǒng)復(fù)雜度的同時(shí),提高了加密效率,增強(qiáng)了系統(tǒng)的抗攻擊能力和安全性能。對(duì)加密技術(shù)的仿真結(jié)果
    發(fā)表于 01-16 11:10 ?0次下載
    基于雙混沌的<b class='flag-5'>視頻</b>光學(xué)<b class='flag-5'>加密技術(shù)</b>研究

    視頻加密技術(shù)大全,吐血推薦!

    目前視頻加密技術(shù)應(yīng)用越來(lái)越廣泛,Android??、IOS下的加密視頻播放方案(播放器引擎,能在授權(quán)后播放加密過(guò)的
    發(fā)表于 08-02 11:36 ?580次閱讀

    FDE磁盤加密技術(shù)是什么

    磁盤加密技術(shù) 如上節(jié)所述,Disk Encryption磁盤加密,目標(biāo)是保護(hù)數(shù)據(jù)at Rest狀態(tài)下的機(jī)密性,加密對(duì)象是整個(gè)磁盤/分區(qū)、或者文件系統(tǒng),采用實(shí)時(shí)加解密技術(shù)。 磁盤
    的頭像 發(fā)表于 11-29 10:54 ?1210次閱讀
    FDE磁盤<b class='flag-5'>加密技術(shù)</b>是什么

    云存儲(chǔ)服務(wù)中的數(shù)據(jù)加密技術(shù)

    對(duì)稱加密技術(shù)是一種經(jīng)典的加密方法,其特點(diǎn)是加密和解密使用相同的密鑰。在云存儲(chǔ)服務(wù)中,對(duì)稱加密技術(shù)主要用于數(shù)據(jù)傳輸和存儲(chǔ)過(guò)程中的加密。
    的頭像 發(fā)表于 10-28 15:04 ?274次閱讀