摘要:協(xié)議由來已久,是公司推出的視頻播放協(xié)議,穩(wěn)定性和安全性較更好,應(yīng)用廣泛。但是加密算法過于簡單,通過解密,即可實現(xiàn)本地觀看??梢钥吹揭曨l采用了的加密算法。目前尚無解密方案出現(xiàn),安全級別極高。
信息化時代,多媒體的應(yīng)用日漸成為人們生活中不可或缺的部分,無論是獲取最新資訊還是教育學習,視頻都是直觀高效的媒介之一。
基于互聯(lián)網(wǎng)的快速傳播,眾多培訓機構(gòu)也逐漸將線下原創(chuàng)版權(quán)課程遷移到在線平臺中,一方面可以更快的打響知名度,同時往往能帶來比較樂觀的收益。這也滋生了黑產(chǎn),盜版隨之出現(xiàn)。如何防范原創(chuàng)視頻被輕易盜版呢?針對該問題,筆者對市面上的視頻防盜方案做了一定調(diào)研,如有任何不當之處,請指正。
本文將根據(jù)面向人群分類闡述。一種是防小白用戶,一種是防IT技術(shù)人員。
一、防小白用戶
什么是小白用戶?小白用戶是指對計算機的了解,僅停留在會使用階段的人群。
怎么防小白用戶下載視頻呢?一般采用的方式,包括但不僅限于播放地址隱藏、動態(tài)url校驗、協(xié)議防范等方式進行視頻保護。
1、播放地址隱藏
我們要知道,網(wǎng)站是基于HTTP協(xié)議的,如網(wǎng)站的圖片、css、js都是通過該協(xié)議進行傳輸,視頻也不例外。由于http協(xié)議的開放性,很多瀏覽器或插件都開發(fā)了對應(yīng)的嗅探下載功能。如遨游瀏覽器、360瀏覽器等。
http://e.e*.com/space.php?do=playvideo&op=play_demo&iframe=0&aid=null&lid=22880<ype=31&width=640&height=400
比如該網(wǎng)站的課程,采用了某度云的平臺,就是對播放地址進行了簡單的隱藏的方式。相關(guān)視頻使用傲游瀏覽器就可以下載。
2、動態(tài)url校驗
第一種地址隱藏的方式,地址是固定的,所以很容易被下載。為了解決這個問題,很多網(wǎng)站或平臺,選擇在原始基礎(chǔ)上,加入了自定義的sign計算,進行播放地址校驗。
一般來說動態(tài)url具有時效性,可以有效地防下載和盜鏈。如某網(wǎng)校采用的樂視云平臺。
http://users.wa**o.cn/player/Index.aspx?Id=3d009f67-259f-4aff-a710-25926a59278d
經(jīng)過分析此時的下載地址如下:
http://129/play.videocache.lecloud.com/256/19/103/bcloud/121442/ver_00_22-1101707449-avc-800000-aac-61969-10fdb2b1705aa116313dfd2-1495075183392.mp4?crypt=72aa7f2e948&b=879&nlh=4096&nlt=60&bf=86&p2p=1&video_type=mp4&termid=2&tss=no&platid=2=1519887000&nkey=22ab7366672c34cf45ff3abca0c1a564&nkey2=12672f233895fe89b49d0328161fadec&auth_key=1519887000-1-0-2-209-c08a24f6e01c7227fc9be939f3a4385d&geosid=235117191&tm=1519868986&key=4e34e1d64057a46346c4b42795e1c173&payff=0&cu**8&dur=1210&p1=3&p2=31&p3=310&cf=h5-android&p=101&playid=0&tag=mobile&sign=bcloud_121442&pay=0
通常情況下,該類下載地址存在一定的參數(shù)校驗,包括了時間戳 sign 等。但sign計算規(guī)則一般都比較簡單,容易被識破偽造。
這種方式同樣也可以通過瀏覽器或插件下載。不過需要自行判斷,哪個地址才是真實的文件地址。
3、協(xié)議防范
鑒于http協(xié)議的開放性,那么視頻如何避免被瀏覽器或插件嗅探呢?一些網(wǎng)站選擇從協(xié)議入手,采用非http的協(xié)議進行視頻播放,如rtmp協(xié)議。
rtmp協(xié)議由來已久,是adobe公司推出的視頻播放協(xié)議,穩(wěn)定性和安全性較http更好,應(yīng)用廣泛。rtmp協(xié)議,需要專用的服務(wù)器,如FMS,開源的有red5,技術(shù)成本比較高。
至于安全性方面,針對rtmp協(xié)議,目前已經(jīng)有較多的嗅探下載工具出現(xiàn)。如某抓、rtmpdumper等。
http://e.100*exi.com/DigitalLibrary/Course.aspx?Id=52811。這個網(wǎng)站就是采用了rtmp協(xié)議,并且限制10分鐘試看時間??梢允褂脤I(yè)工具的嗅探功能,就可以得到rtmp地址直接觀看或下載完整視頻,從而實現(xiàn)跳過購買流程,安全性可見一般。
綜上所述,對于小白用戶的防范,多半是在url上做文章,并沒有實質(zhì)性的數(shù)據(jù)加密,難度都很低。從安全性的角度考慮,各大網(wǎng)站或平臺應(yīng)當及時摒棄以上加密方式。
二、防IT技術(shù)人員
IT技術(shù)人員,是指具有一定的計算機基礎(chǔ),會利用現(xiàn)成工具乃至在程序方面,有深入研究的人群。如網(wǎng)站管理員,程序員等。
針對該部分人群,目前業(yè)界普遍采用的防范方式,包括但不僅限于播放器校驗,url編碼加密、視頻加密等。
1、播放器校驗
區(qū)別于一般的校驗url地址,播放器校驗是指播放地址,只能通過特定播放器,進行域名白名單校驗才可以播放。作用主要在于防盜鏈和下載,一般直接訪問下載地址會403。
這種加密方式,一般可以通過對header偽造,添加referer等方式,實現(xiàn)403跳過校驗,實現(xiàn)視頻下載,意義不大。
2、Url編碼加密
簡單來說,url編碼加密就是將播放地址自定義算法編碼,創(chuàng)建私有協(xié)議的播放地址。播放需要專用的播放器進行地址解碼。
如某圖公考采用的某家云平臺,就是采用這種方式。
http://v.hu**.com/cla/class_detail_62286.htm
經(jīng)過調(diào)試分析,并不能直接得到播放地址,但是可得到編碼加密的某家云私有url。
bjcloudvod://Uml4e3c8NDRsZG8zf2pobHYwZ2ZxbWxngnZyNWpxcjRraTo5bzQ0PTcza2ZAZTNnajU4bGgyZz1rZ2dpb2c8bDY3Zj5BNDw5bTA0NzR6Mnp4b3JnbTB6cGtndDQ5Mzc5QDI5OmY1a2g6aGk7PWM2aUA3OTVrOzY5PWc1a2g5aWhBNGk_amBobXhbbU5dN2JzeTUzODc2ODw5ODZlPGdnOWxoOjlqNWU_PjU0aj81ODluNGdnQGVnQDhoPmZnZ2l3YmlNXDswans5
通過對播放器和js的分析,實現(xiàn)對加密的url解密,得到真實的播放地址。
http://dal-video.baijiayun.co...(專用格式)
一般情況下,普通平臺的只要解析到真實地址就可以實現(xiàn)播放下載了。
某家云在此基礎(chǔ)上,同時也對視頻做了初步加密,這點做得還是不錯的。但是加密算法過于簡單,通過解密,即可實現(xiàn)本地觀看。
3、視頻加密
區(qū)別于對url進行處理,視頻加密是對數(shù)據(jù)加密,達到即便被下載也無法播放的目的。目前比較知名的視頻云平臺,幾乎均有對視頻進行加密處理。
Flash端多是自定義算法,Html5大多基于HLS 協(xié)議使用或開發(fā)。
(一)Flash-FLV視頻加密方案
方案一、flv部分數(shù)據(jù)加密,采用DES、AES128或其它算法。
比如某網(wǎng)校采用的某C視頻云平臺,就是對flv的頭部數(shù)據(jù)進行加密,視頻為pcf 格式。
http://www.k**9.com/course.php?act=details&id=1317 獲取的下載地址
http://cd14-ccd1-1.play.bokec...
由于加密的數(shù)據(jù)較少,且算法比較單一,所以存在被解密的風險。
網(wǎng)絡(luò)上已經(jīng)出現(xiàn)了相關(guān)的解密工具。目前采用此類方案的廠商,包含但不僅限于 某C視頻、某家云等。
(2)flv切片加密處理,一般也是采用DES、AES128、XOR或其它算法。
針對第一種flv加密方式存在的問題,如算法單一、視頻過大。更多有實力的廠商,在此基礎(chǔ)上優(yōu)化、衍生出更加優(yōu)秀的解決方案。
采用切片方式的優(yōu)點較多,如加載更快速、播放更流暢、每一個數(shù)據(jù)片段都采用了加密,解密難度更高。
1、比如某網(wǎng)校采用的某云視頻云平臺,演示地址
http://www.233**63.com/front/homepage!showSellWayInfo.action?queryAssessCondition.currentPage=1&querySellWayCondition.sellId=40
經(jīng)過分析可以得到片段地址,每一段均是加密的smf文件,地址存在規(guī)律性
http://videop-cdl.capitalclou...
http://videop-cdl.capitalclou...
http://videop-cdl.capitalclou...
經(jīng)過分析,其實每一段都是flv片段,進行了簡單的加密。由于分片算法比較單一,存在不足,所以還是可能被解碼合并的。
2、某某威視也采用flv切片加密技術(shù),其算法更復雜,并會自動升級,目前市面上沒有對應(yīng)的解密方案。下面是官方的介紹。
當然世界上沒有不透風的墻,不排除以后會有視頻解密方案出爐。
目前采用此類flv優(yōu)化方案的廠商,包括但不僅限于某某威視、某山(某云)等。
(二)HTML5-HLS視頻加密方案
鑒于flash跨平臺的兼容性問題及漏洞,越來越多的廠商更加青睞在H5作視頻加密方案,同時實現(xiàn)pc及移動端的視頻保護。目前較為廣泛采用的是apple hls 協(xié)議。
HLS協(xié)議理論可以參考該類文章http://blog.csdn.net/jwzhangj...
目前hls協(xié)議的使用,包含了原生協(xié)議和自定義優(yōu)化兩種。
(1)原生hls協(xié)議
Hls協(xié)議天生的優(yōu)勢,使得大部分廠商便可以直接采用,并未做任何處理。但由于協(xié)議的公開性,目前網(wǎng)絡(luò)上已經(jīng)有對應(yīng)的解密方案,其中不乏傻瓜式工具類。如ffmpeg。
比如該網(wǎng)站采用的某訊云平臺,http://www.hz**x.com/course/detail?goods_id=269
通過簡單調(diào)試,得到對應(yīng)的m3u8地址,再利用ffmpeg命令行便可實現(xiàn)下載。
http://1251150518.vod2.myqclo...
命令行大致如下
目前采用該協(xié)議的廠商,包括但不僅限于某訊云、某c視頻、某寶視頻等。
(2)基于hls協(xié)議優(yōu)化
針對hls協(xié)議的問題,部分對技術(shù)有追求的廠商,便推出了一些優(yōu)化處理方案。當然hls視頻的泄漏,主要還是密鑰的泄漏,所以優(yōu)化均是圍繞AES128密鑰的保護入手做處理。
1、某某soho采用了密鑰混淆錯序的方式。將原本的16字節(jié)密鑰處理為20字節(jié),通過播放器進行復位解碼。該算法容易被猜測出混淆錯序規(guī)則,存在一定的風險。
以某某soho官網(wǎng)的課程為例:http://demo.*soho.com/open/course/2
經(jīng)過調(diào)試分析,可以得到對應(yīng)的m3u8索引文本,采用了氣球云存儲。
http://demo.*soho.com/hls/3182/playlist/XZA3vMgVaxNQFagdbte5t8ORCfX0tC5e.m3u8
各個清晰度m3u8采用了編碼加密,有時效性,僅能訪問一次,防范做的還是不錯的。
可以看到視頻采用了AES128的加密算法。密鑰的地址,第一次訪問的時候,是20字節(jié),“f8864726x4r6f34w4r36”,其后每次訪問都是不同的16字節(jié)。
其實真實的秘鑰,就藏在了第一次的20字節(jié)里面,之后的16字節(jié)都是假的秘鑰。我們需要從20字節(jié)中找到真實秘鑰,從而實現(xiàn)解密。具體算法不做闡述。
2、某某威視目前針對hls做了兩種優(yōu)化方案,分別是web授權(quán)和app授權(quán)。
(1)Web授權(quán)
介紹:為了兼容微信平臺和web頁面,采用了sign校驗,一次訪問即失效。有效防止盜鏈和下載。
該方式與某soho方案類似,通過對m3u8地址,進行sign計算校驗,并增加了時效性,不排除被猜測規(guī)則,偽造下載地址的可能性。
(2)App授權(quán)
介紹:采用服務(wù)器校驗和傳輸密鑰,將原本的16字節(jié)加密處理為32字節(jié),SDK授權(quán)解密進行解碼。
這種方式是對密鑰key數(shù)據(jù)本身進行加密處理。目前尚無解密方案出現(xiàn),安全級別極高。當然隨著時間的遷移,不排除以后有對應(yīng)的解密方案出爐。
目前基于hls協(xié)議進行優(yōu)化處理的廠商,包括但不僅限于某某威視、某soho。
以上內(nèi)容為筆者整理相關(guān)資料合成見解,部分數(shù)據(jù)參考第三方或官網(wǎng)文檔。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/61734.html
摘要:使用簡記后端掘金全稱為即消息隊列。優(yōu)測優(yōu)社區(qū)干貨精選老司機亂談編輯器之神掘金前言是一種信仰,我自從年有了這個信仰,已經(jīng)個年頭了。 PHP 程序員進階學習書籍參考指南 - 后端 - 掘金PHP程序員進階學習書籍參考指南 @heiyeluren lastmodify: 2016/2/18 ... 當我們在談?wù)撉岸思用軙r,我們在談些什么 - 前端 - 掘金潘建旭,豈安科技(www.bigse...
閱讀 3729·2021-11-17 09:33
閱讀 2754·2021-09-22 15:12
閱讀 3355·2021-08-12 13:24
閱讀 2451·2019-08-30 11:14
閱讀 1742·2019-08-29 14:09
閱讀 1334·2019-08-26 14:01
閱讀 3074·2019-08-26 13:49
閱讀 1785·2019-08-26 12:16