李吉廣
(北京騰銳視訊科技有限公司,北京 100176)
?
IPTV視頻硬件加密傳輸系統(tǒng)的設(shè)計
李吉廣
(北京騰銳視訊科技有限公司,北京 100176)
摘要:目前IPTV都是清流直接播出,容易盜鏈。鑒于視頻數(shù)據(jù)量非常大,實時性、連續(xù)性要求高,軟件文件加解密的方式用于IPTV有一定的局限性,設(shè)計實現(xiàn)了一套IPTV硬件加密傳輸播控系統(tǒng)。闡述了整體的設(shè)計架構(gòu),3DES與224位ECC加密算法的使用、密鑰的管理方式、3DES密鑰的傳輸方法、系統(tǒng)的實現(xiàn)、關(guān)鍵技術(shù)、安全性等。
關(guān)鍵詞:IPTV;硬件加密;數(shù)據(jù)安全;安全播出;盜鏈;ECC算法;3DES算法
1設(shè)計需求及背景技術(shù)
近年來互聯(lián)網(wǎng)電視發(fā)展迅速。互聯(lián)網(wǎng)電視可以提供高質(zhì)量的視頻節(jié)目,用戶可以自由地選擇寬帶IP網(wǎng)上視頻節(jié)目,實現(xiàn)媒體提供者和媒體消費者的實質(zhì)性互動,為網(wǎng)絡(luò)發(fā)展商和節(jié)目提供商提供了廣闊的新興市場。但是目前IPTV存在著盜鏈、不易收費、很容易被截獲看到等問題。盜鏈的服務(wù)提供商自己不提供服務(wù)的內(nèi)容,通過技術(shù)手段繞過其他有利益的最終用戶界面(如廣告),直接在自己的網(wǎng)站上向最終用戶提供其他服務(wù)提供商的服務(wù)內(nèi)容,騙取最終用戶的瀏覽和點擊率。受益者不提供資源或提供很少的資源,而真正的服務(wù)提供商卻得不到收益。由于內(nèi)容傳送的是清流,視頻內(nèi)容很容易被截獲看到,視頻傳輸?shù)陌踩源蟠蠼档?。本項目使用硬件將視頻流(也特別適合很大的、實時性要求高的大數(shù)據(jù)量的文件)進(jìn)行加密傳輸,并設(shè)計了用戶授權(quán)管理系統(tǒng),為收費提供了手段,從根本上徹底解決了上述問題[1-2]。
2設(shè)計構(gòu)思
網(wǎng)絡(luò)上傳輸?shù)囊曨l數(shù)據(jù)量非常大,實時性、連續(xù)性要求高。因此常用的文件加密方式在傳輸視頻時不適用。視頻數(shù)據(jù)現(xiàn)在基本上是通過清流傳輸。由于數(shù)據(jù)量相對很少,文件加密基本上是通過軟件或處理運算能力很低的輔助硬件例如類似銀行U盾的設(shè)備完成的。多套節(jié)目同時播出的IPTV視頻流數(shù)據(jù)量非常巨大,不可能通過處理普通文件的處理方法和處理能力進(jìn)行處理。本文中視頻流在整個傳輸過程中通過專用的硬件設(shè)備進(jìn)行實時的加密與解密處理,在互聯(lián)網(wǎng)上傳輸加密的實時或非實時的大數(shù)據(jù)量的視頻,核心是設(shè)計了使用硬件對視頻流進(jìn)行加密的加密數(shù)據(jù)打包服務(wù)器和解密的USB視頻硬件解密盤,本文設(shè)計了一整套視頻加密傳輸IPTV播控系統(tǒng),這套系統(tǒng)對視頻流進(jìn)行加密,保證傳輸過程中在互聯(lián)網(wǎng)上傳輸?shù)氖羌用芤曨l流,這樣即使被截獲后也不能被看到。本文設(shè)計了用戶授權(quán)管理軟件及系統(tǒng),從而完成了用戶的授權(quán)、收費與管理。
3整體架構(gòu)、工作原理與數(shù)據(jù)流程
特別重點設(shè)計了系統(tǒng)的整體結(jié)構(gòu)、協(xié)議及數(shù)據(jù)結(jié)構(gòu)、由硬件對視頻流進(jìn)行加密運算的加密數(shù)據(jù)打包服務(wù)器和由硬件解密的USB視頻硬件解密盤。整個系統(tǒng)由加密數(shù)據(jù)打包服務(wù)器(簡稱打包服務(wù)器)、用戶授權(quán)管理服務(wù)器(簡稱管理服務(wù)器)、節(jié)目存儲視頻服務(wù)器、通用清流IPTV機(jī)頂盒(簡稱機(jī)頂盒)、USB視頻硬件解密盤構(gòu)成(簡稱解密盤),如圖1所示。每個解密盤都有唯一的一個識別號,這有助于提高系統(tǒng)的安全性。
圖1 IPTV視頻加密傳輸系統(tǒng)框圖
密鑰傳輸?shù)倪壿嬯P(guān)系如圖2所示。
圖2 密鑰傳輸?shù)倪壿嬯P(guān)系
數(shù)據(jù)包的結(jié)構(gòu)(圖3)如下:各種標(biāo)準(zhǔn)例如MPEG-1、MPEG-2、H.264、H.265等的視頻節(jié)目或者大數(shù)據(jù)量的文件在該系統(tǒng)中均視為大數(shù)據(jù)量的數(shù)據(jù)文件。打包服務(wù)器首先將數(shù)據(jù)文件分割成長度為8 byte的等長的數(shù)據(jù)小塊,接著使用3DES將數(shù)據(jù)小塊加密。然后將固定數(shù)量(例如1 024個)加密后的數(shù)據(jù)小塊連接成1個數(shù)據(jù)大塊,對該數(shù)據(jù)大塊做SHA265運算,將得到的哈希值與當(dāng)前的和下一個的3DES密鑰識別號、用戶管理服務(wù)器地址連接在一起,構(gòu)成特征信息,然后對該特征信息做224位ECC運算,將得到的加密特征信息再與包頭同步字、包長、包識別號連接在一起,放在數(shù)據(jù)大塊前面,共同封裝成加密數(shù)據(jù)包。
圖3 加密數(shù)據(jù)包結(jié)構(gòu)
3DES密鑰的傳輸時序安排如下:加密數(shù)據(jù)包通過互聯(lián)網(wǎng)傳輸給接收端,3DES密鑰持續(xù)一定時間后要變換成下一個密鑰,變化時間間隔通過打包服務(wù)器的人機(jī)界面設(shè)定。在加密數(shù)據(jù)包頭里傳輸下一個密鑰的識別號的目的是為了給3DES解密模塊提前準(zhǔn)備下一個密鑰提供信息,從而保證解密盤有足夠的時間從授權(quán)管理服務(wù)器上獲得下一個密鑰,進(jìn)而保證密鑰切換時視頻播放的連續(xù)性。機(jī)頂盒上的應(yīng)用程序?qū)⑹盏降募用軘?shù)據(jù)包傳輸給解密盤,解密盤內(nèi)軟件接收加密數(shù)據(jù)包后分拆數(shù)據(jù)包,獲得當(dāng)前的和下一個3DES密鑰識別號。
密鑰請求指令的生成:解密盤內(nèi)的軟件獲取本身的解密盤識別號,與當(dāng)前的和下一個3DES密鑰識別號一起組成請求密鑰明文,然后用事先存在于解密盤內(nèi)的使用224位ECC算法的用戶獨有私鑰加密,再次加入解密盤識別號,然后再使用ECC算法的用戶共有公鑰加密,形成經(jīng)過兩次224位ECC加密的3DES密鑰請求指令,發(fā)送給用戶授權(quán)管理服務(wù)器去請求密鑰。
ECC算法使用的兩個密鑰對:用戶管理信息的加密傳輸使用了兩個密鑰對,用戶獨有密鑰對和用戶共有密鑰對。用戶獨有密鑰對是指ECC公鑰保存在管理服務(wù)器內(nèi)的數(shù)據(jù)庫中,私鑰保存于解密盤內(nèi)的針對每一個用戶都不相同的解密盤與管理服務(wù)器單獨通信使用的密鑰對。用戶共有密鑰對指的是ECC私鑰保存于加密打包機(jī)內(nèi)的硬件加密打包板卡內(nèi)的,而公鑰保存于所有的解密盤內(nèi),并且所有解密盤的公鑰都相同的一個密鑰對,該密鑰對在服務(wù)器無法確知具體的解密盤的用戶識別號時與所有解密盤通信時使用。
解密盤身份的驗證及密鑰的發(fā)放:在接到用戶終端的請求指令后,管理服務(wù)器首先使用用戶共有密鑰對中的私鑰對收到的加密的請求指令進(jìn)行一次解密,得到請求指令中的解密盤識別號,然后將解密盤識別號與數(shù)據(jù)庫中的數(shù)據(jù)比較,從而判別該用戶號是否為合法授權(quán)用戶,如果是合法用戶,那么根據(jù)該識別號在數(shù)據(jù)庫內(nèi)找出相對應(yīng)的用戶獨有密鑰對中的公鑰對指令進(jìn)行二次解密。將二次解密后得到的解密盤識別號與一次解密后得到的解密盤識別號進(jìn)行比較,如果一致說明解密盤身份真實,則繼續(xù)進(jìn)行下一步,如果不一致說明解密盤身份被偽造了。如果身份真實,服務(wù)器會根據(jù)3DES密鑰的識別號在數(shù)據(jù)庫中找出對應(yīng)的密鑰,然后使用用戶獨有ECC密鑰對中的公鑰對相應(yīng)的3DES密鑰進(jìn)行加密,通過互聯(lián)網(wǎng)發(fā)送給相應(yīng)的解密盤。解密盤收到加密的3DES密鑰后使用用戶獨有ECC密鑰對中的私鑰解密出相對應(yīng)的3DES密鑰。并將密鑰存儲在內(nèi)部存儲器中[3-4]。
ECC加密的特征信息:打包服務(wù)器使用用戶共有密鑰對中的私鑰對特征信息進(jìn)行加密,解密盤使用用戶共有密鑰對中的公鑰對加密特征信息進(jìn)行解密。
解密盤對加密數(shù)據(jù)包的解密:解密盤首先使用SHA256函數(shù)計算3DES加密的數(shù)據(jù)大塊的哈希值,如果得到的哈希值與特征信息里收到的哈希值相同,證明加密數(shù)據(jù)包是原始的數(shù)據(jù)包,沒有被改變。解密盤將加密的大數(shù)據(jù)拆分成數(shù)據(jù)小塊,然后用得到的3DES密鑰對加密的數(shù)據(jù)小塊解密,恢復(fù)出原始的數(shù)據(jù)。
開戶授權(quán):每一個用戶在開戶時,人工核實身份后,管理服務(wù)器對解密盤進(jìn)行授權(quán),在授權(quán)過程中,服務(wù)器接收被授權(quán)用戶解密盤給出的用戶獨有ECC密鑰對中的公鑰,其中的私鑰由解密盤自己生成并保存在內(nèi)部。同時服務(wù)器將用戶共有ECC密鑰對中的公鑰輸出給解密盤,硬件加密打包板卡保存相應(yīng)的私鑰。服務(wù)器上運行MySQL數(shù)據(jù)庫。
用戶端構(gòu)成:用戶端由機(jī)頂盒、機(jī)頂盒應(yīng)用程序(APP)及解密盤構(gòu)成。采用通用機(jī)頂盒保證了該系統(tǒng)可以更好地商業(yè)化,針對不同的機(jī)頂盒平臺例如安卓平臺需要安裝不同的支持相應(yīng)系統(tǒng)的應(yīng)用程序。解密盤是核心部分,機(jī)頂盒輸出加密視頻流給解密盤,解密盤將解密后的清流通過USB接口輸出給機(jī)頂盒,然后機(jī)頂盒對清流進(jìn)行解碼輸出。
4系統(tǒng)的實現(xiàn)方式
1)節(jié)目存儲視頻服務(wù)器:購買或租用標(biāo)準(zhǔn)的商用視頻服務(wù)器。
2)清流IP機(jī)頂盒:采用通用的可以解碼清流的商用機(jī)頂盒軟硬件平臺作為清流IPTV機(jī)頂盒,本文提供應(yīng)用程序接口,與機(jī)頂盒設(shè)計者聯(lián)合開發(fā)支持本系統(tǒng)的應(yīng)用程序軟件,將開發(fā)的軟件安裝在機(jī)頂盒上。
3)用戶授權(quán)管理服務(wù)器:該服務(wù)器的硬件采用標(biāo)準(zhǔn)商業(yè)用服務(wù)器,軟件中的數(shù)據(jù)庫采用標(biāo)準(zhǔn)商業(yè)用數(shù)據(jù)庫軟件。自己開發(fā)了用戶授權(quán)管理軟件,安裝在服務(wù)器上運行,該軟件實現(xiàn)了用戶的開戶、銷戶、服務(wù)分類、有效期管理、用戶的授權(quán)、反授權(quán)、收費、發(fā)送指令、公告等用戶管理功能。
4)打包服務(wù)器:服務(wù)器的硬件采用標(biāo)準(zhǔn)商業(yè)用服務(wù)器。為了提高視頻流的處理速度,設(shè)計了硬件加密打包板卡模塊。該模塊是由一塊插入服務(wù)器內(nèi)部的使用了PCI總線的硬件板卡來完成,該板卡上使用了加密打包芯片,該芯片內(nèi)部具有強(qiáng)大的CPU、加密算法硬件協(xié)處理器[7-8]。軟件硬件結(jié)合完成了數(shù)據(jù)的打包、密鑰的生成與管理等功能。
5)USB視頻硬件解密盤:由一個外觀類似USB存儲盤的裝置完成,該裝置內(nèi)部使用了解密芯片。該芯片內(nèi)部具有強(qiáng)大的CPU、硬件3DES算法、硬件ECC算法協(xié)處理器。該芯片完成了3DES解密、3DES密鑰的獲取,ECC密鑰的生成與管理,ECC的加密解密、解密盤識別號管理等功能。
5實現(xiàn)系統(tǒng)的關(guān)鍵技術(shù)
該系統(tǒng)實現(xiàn)涉及以下幾項關(guān)鍵技術(shù):數(shù)據(jù)的加密打包方法及格式的定義、加密算法的選擇、密鑰的交換方法與體系、硬件加密打包板卡、硬件包服務(wù)器和USB視頻硬件解密盤等的設(shè)計與實現(xiàn)。
6系統(tǒng)的安全性分析
3DES與224位的ECC算法的安全性在很多文獻(xiàn)中有非常詳細(xì)的分析,算法本身在每一個密鑰的生命周期內(nèi)是非常安全的。3DES 與ECC 算法均在解密盤的內(nèi)部芯片中運行,密鑰全部存儲于解密盤的內(nèi)部芯片中,在整個運行過程中,全部敏感數(shù)據(jù)都在芯片內(nèi)部,不出現(xiàn)在任何外部總線上。每一個解密盤都有一個唯一的識別碼,對應(yīng)著不同的ECC密鑰對,并且3DES密鑰是經(jīng)過雙層224位ECC算法加密的,因此加密強(qiáng)度非常高,破解難度非常大[6-7]。
節(jié)目被加密后,服務(wù)器上的節(jié)目內(nèi)容就沒有盜鏈的意義了,盜了也沒用,普通用戶根本看不了,必須持有后端的USB視頻硬件解密盤,并且使用此系統(tǒng)的解密應(yīng)用軟件才有可能對視頻數(shù)據(jù)進(jìn)行解密,達(dá)到設(shè)計目的。
7系統(tǒng)的數(shù)據(jù)處理能力
該系統(tǒng)中打包服務(wù)器的一個加密打包模塊處理數(shù)據(jù)的速度可達(dá)500 Mbit/s,還可以疊加多個加密打包板卡模塊。后端解密盤解密時處理數(shù)據(jù)的速度可達(dá)40 Mbit/s。可加密實時直播數(shù)據(jù),只要總帶寬沒達(dá)到上限,可同時加密處理的直播節(jié)目總數(shù)幾乎沒有上限。對于直播節(jié)目,目前支持的數(shù)據(jù)傳輸協(xié)議有UDP、HTTP、HLS等協(xié)議,對于音視頻節(jié)目的壓縮標(biāo)準(zhǔn)沒有限制,MPEG-1、MPEG-2、H.264、H.265等都支持??杉用芊菍崟r的用于點播的文件,對非實時文件采取“預(yù)處理”、“預(yù)加密”的方式,
8數(shù)據(jù)管理和用戶管理功能
加解密可將不同的節(jié)目分成不同的產(chǎn)品包和套餐包,方便采用不同的價格來管理。用戶管理很靈活,由于每一個USB視頻硬件解密盤都有一個唯一識別號,前端服務(wù)器就很容易對用戶進(jìn)行管理,可以通過前端服務(wù)器和后端的視頻解密軟件,來對單獨的用戶進(jìn)行“開授權(quán)”和“關(guān)授權(quán)”。當(dāng)然也可以批量“開授權(quán)”、“關(guān)授權(quán)”。開戶很便捷,可通過文件批量導(dǎo)入來批量開戶,也允許每一個用戶獨立登錄網(wǎng)站開戶,也支持二維碼掃描開戶。充值續(xù)費很方便,支持每一個用戶獨立登錄網(wǎng)站續(xù)費,也支持掃描二維碼來續(xù)費,也支持發(fā)短信續(xù)費。
9系統(tǒng)的實際試驗情況
目前,這套系統(tǒng)已經(jīng)全部開發(fā)完成,在實驗室搭建了測試試驗平臺,目前已經(jīng)試驗約3個月的時間。系統(tǒng)現(xiàn)在平穩(wěn)運行,在運行過程中,有時會發(fā)現(xiàn)一些小的問題與缺陷,經(jīng)過不斷的改進(jìn),目前系統(tǒng)運營情況比較好。下一步準(zhǔn)備進(jìn)入商業(yè)推廣階段。
參考文獻(xiàn):
[1]陳翔.數(shù)字電視條件接收系統(tǒng)的安全性分析[J].電視技術(shù),2010,34(2):43-45.
[2]陳文全,付國映,趙利,等.數(shù)字電視條件接收系統(tǒng)的安全性分析[J].電視技術(shù),2004,28(1):53-55.
[3]閆茂德,賀昱曜,張陽.AES與ECC混合加密算法的無線數(shù)據(jù)通信系統(tǒng)設(shè)計[J].微電子學(xué)與計算機(jī),2007(7):135-138.
[4]馬擎宇,張東.基于AES和ECC的遙測數(shù)據(jù)加密技術(shù)研究與實現(xiàn)[J].艦船電子工程,2015(4):78-81.
[5]王紅珍,李竹林. 基于AES和ECC的混合加密系統(tǒng)的設(shè)計與實現(xiàn)[J].電子設(shè)計工程, 2012(4): 9-11.
[6]王紅珍, 李竹林. ECC算法在軟件保護(hù)中的應(yīng)用及安全性分析[J].計算機(jī)技術(shù)與發(fā)展,2012(8): 155-158.
[7]潘崢嶸, 朱麗麗. ECC與AES混合加密算法在射頻CPU卡安全機(jī)制中的應(yīng)用[J].計算機(jī)系統(tǒng)應(yīng)用,2012(9):162-165.
責(zé)任編輯:時雯
Design of IPTV video hardware encryption transmission system
LI Jiguang
(BeijingTengrui(Topreal)TechnologiesCo.Ltd.,Beijing100176,China)
Abstract:Currently the clear video data flow is directly broadcasted in IPTV systems. Hot link is easy. Software data encryption methods are not suitable for IPTV because the video data are very considerable, real-time and consistent. In this article an IPTV hardware encryption transmission broadcasting control system is designed and implemented. The infrastructure,usage of 3DES and 224bit ECC algorithms, key management, transmission methods of the 3DES keys, system implementation, kernel technologies, security, etc are illustrated.
Key words:IPTV; hardware encryption; data security; securely broadcasting; hotlink; ECC algorithm; 3DES algorithm
中圖分類號:TN919.81
文獻(xiàn)標(biāo)志碼:A
DOI:10.16280/j.videoe.2016.05.016
收稿日期:2015-11-25
文獻(xiàn)引用格式:李吉廣. IPTV視頻硬件加密傳輸系統(tǒng)的設(shè)計[J].電視技術(shù),2016,40(5):74-77.
LI J G. Design of IPTV video hardware encryption transmission system [J].Video engineering,2016,40(5):74-77.