IPTV视频硬件加密传输系统的设计

2016-06-20 07:54李吉广
电视技术 2016年5期
关键词:机顶盒解密数据包

李吉广

(北京腾锐视讯科技有限公司,北京 100176)



IPTV视频硬件加密传输系统的设计

李吉广

(北京腾锐视讯科技有限公司,北京 100176)

摘要:目前IPTV都是清流直接播出,容易盗链。鉴于视频数据量非常大,实时性、连续性要求高,软件文件加解密的方式用于IPTV有一定的局限性,设计实现了一套IPTV硬件加密传输播控系统。阐述了整体的设计架构,3DES与224位ECC加密算法的使用、密钥的管理方式、3DES密钥的传输方法、系统的实现、关键技术、安全性等。

关键词:IPTV;硬件加密;数据安全;安全播出;盗链;ECC算法;3DES算法

1设计需求及背景技术

近年来互联网电视发展迅速。互联网电视可以提供高质量的视频节目,用户可以自由地选择宽带IP网上视频节目,实现媒体提供者和媒体消费者的实质性互动,为网络发展商和节目提供商提供了广阔的新兴市场。但是目前IPTV存在着盗链、不易收费、很容易被截获看到等问题。盗链的服务提供商自己不提供服务的内容,通过技术手段绕过其他有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其他服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到收益。由于内容传送的是清流,视频内容很容易被截获看到,视频传输的安全性大大降低。本项目使用硬件将视频流(也特别适合很大的、实时性要求高的大数据量的文件)进行加密传输,并设计了用户授权管理系统,为收费提供了手段,从根本上彻底解决了上述问题[1-2]。

2设计构思

网络上传输的视频数据量非常大,实时性、连续性要求高。因此常用的文件加密方式在传输视频时不适用。视频数据现在基本上是通过清流传输。由于数据量相对很少,文件加密基本上是通过软件或处理运算能力很低的辅助硬件例如类似银行U盾的设备完成的。多套节目同时播出的IPTV视频流数据量非常巨大,不可能通过处理普通文件的处理方法和处理能力进行处理。本文中视频流在整个传输过程中通过专用的硬件设备进行实时的加密与解密处理,在互联网上传输加密的实时或非实时的大数据量的视频,核心是设计了使用硬件对视频流进行加密的加密数据打包服务器和解密的USB视频硬件解密盘,本文设计了一整套视频加密传输IPTV播控系统,这套系统对视频流进行加密,保证传输过程中在互联网上传输的是加密视频流,这样即使被截获后也不能被看到。本文设计了用户授权管理软件及系统,从而完成了用户的授权、收费与管理。

3整体架构、工作原理与数据流程

特别重点设计了系统的整体结构、协议及数据结构、由硬件对视频流进行加密运算的加密数据打包服务器和由硬件解密的USB视频硬件解密盘。整个系统由加密数据打包服务器(简称打包服务器)、用户授权管理服务器(简称管理服务器)、节目存储视频服务器、通用清流IPTV机顶盒(简称机顶盒)、USB视频硬件解密盘构成(简称解密盘),如图1所示。每个解密盘都有唯一的一个识别号,这有助于提高系统的安全性。

图1 IPTV视频加密传输系统框图

密钥传输的逻辑关系如图2所示。

图2 密钥传输的逻辑关系

数据包的结构(图3)如下:各种标准例如MPEG-1、MPEG-2、H.264、H.265等的视频节目或者大数据量的文件在该系统中均视为大数据量的数据文件。打包服务器首先将数据文件分割成长度为8 byte的等长的数据小块,接着使用3DES将数据小块加密。然后将固定数量(例如1 024个)加密后的数据小块连接成1个数据大块,对该数据大块做SHA265运算,将得到的哈希值与当前的和下一个的3DES密钥识别号、用户管理服务器地址连接在一起,构成特征信息,然后对该特征信息做224位ECC运算,将得到的加密特征信息再与包头同步字、包长、包识别号连接在一起,放在数据大块前面,共同封装成加密数据包。

图3 加密数据包结构

3DES密钥的传输时序安排如下:加密数据包通过互联网传输给接收端,3DES密钥持续一定时间后要变换成下一个密钥,变化时间间隔通过打包服务器的人机界面设定。在加密数据包头里传输下一个密钥的识别号的目的是为了给3DES解密模块提前准备下一个密钥提供信息,从而保证解密盘有足够的时间从授权管理服务器上获得下一个密钥,进而保证密钥切换时视频播放的连续性。机顶盒上的应用程序将收到的加密数据包传输给解密盘,解密盘内软件接收加密数据包后分拆数据包,获得当前的和下一个3DES密钥识别号。

密钥请求指令的生成:解密盘内的软件获取本身的解密盘识别号,与当前的和下一个3DES密钥识别号一起组成请求密钥明文,然后用事先存在于解密盘内的使用224位ECC算法的用户独有私钥加密,再次加入解密盘识别号,然后再使用ECC算法的用户共有公钥加密,形成经过两次224位ECC加密的3DES密钥请求指令,发送给用户授权管理服务器去请求密钥。

ECC算法使用的两个密钥对:用户管理信息的加密传输使用了两个密钥对,用户独有密钥对和用户共有密钥对。用户独有密钥对是指ECC公钥保存在管理服务器内的数据库中,私钥保存于解密盘内的针对每一个用户都不相同的解密盘与管理服务器单独通信使用的密钥对。用户共有密钥对指的是ECC私钥保存于加密打包机内的硬件加密打包板卡内的,而公钥保存于所有的解密盘内,并且所有解密盘的公钥都相同的一个密钥对,该密钥对在服务器无法确知具体的解密盘的用户识别号时与所有解密盘通信时使用。

解密盘身份的验证及密钥的发放:在接到用户终端的请求指令后,管理服务器首先使用用户共有密钥对中的私钥对收到的加密的请求指令进行一次解密,得到请求指令中的解密盘识别号,然后将解密盘识别号与数据库中的数据比较,从而判别该用户号是否为合法授权用户,如果是合法用户,那么根据该识别号在数据库内找出相对应的用户独有密钥对中的公钥对指令进行二次解密。将二次解密后得到的解密盘识别号与一次解密后得到的解密盘识别号进行比较,如果一致说明解密盘身份真实,则继续进行下一步,如果不一致说明解密盘身份被伪造了。如果身份真实,服务器会根据3DES密钥的识别号在数据库中找出对应的密钥,然后使用用户独有ECC密钥对中的公钥对相应的3DES密钥进行加密,通过互联网发送给相应的解密盘。解密盘收到加密的3DES密钥后使用用户独有ECC密钥对中的私钥解密出相对应的3DES密钥。并将密钥存储在内部存储器中[3-4]。

ECC加密的特征信息:打包服务器使用用户共有密钥对中的私钥对特征信息进行加密,解密盘使用用户共有密钥对中的公钥对加密特征信息进行解密。

解密盘对加密数据包的解密:解密盘首先使用SHA256函数计算3DES加密的数据大块的哈希值,如果得到的哈希值与特征信息里收到的哈希值相同,证明加密数据包是原始的数据包,没有被改变。解密盘将加密的大数据拆分成数据小块,然后用得到的3DES密钥对加密的数据小块解密,恢复出原始的数据。

开户授权:每一个用户在开户时,人工核实身份后,管理服务器对解密盘进行授权,在授权过程中,服务器接收被授权用户解密盘给出的用户独有ECC密钥对中的公钥,其中的私钥由解密盘自己生成并保存在内部。同时服务器将用户共有ECC密钥对中的公钥输出给解密盘,硬件加密打包板卡保存相应的私钥。服务器上运行MySQL数据库。

用户端构成:用户端由机顶盒、机顶盒应用程序(APP)及解密盘构成。采用通用机顶盒保证了该系统可以更好地商业化,针对不同的机顶盒平台例如安卓平台需要安装不同的支持相应系统的应用程序。解密盘是核心部分,机顶盒输出加密视频流给解密盘,解密盘将解密后的清流通过USB接口输出给机顶盒,然后机顶盒对清流进行解码输出。

4系统的实现方式

1)节目存储视频服务器:购买或租用标准的商用视频服务器。

2)清流IP机顶盒:采用通用的可以解码清流的商用机顶盒软硬件平台作为清流IPTV机顶盒,本文提供应用程序接口,与机顶盒设计者联合开发支持本系统的应用程序软件,将开发的软件安装在机顶盒上。

3)用户授权管理服务器:该服务器的硬件采用标准商业用服务器,软件中的数据库采用标准商业用数据库软件。自己开发了用户授权管理软件,安装在服务器上运行,该软件实现了用户的开户、销户、服务分类、有效期管理、用户的授权、反授权、收费、发送指令、公告等用户管理功能。

4)打包服务器:服务器的硬件采用标准商业用服务器。为了提高视频流的处理速度,设计了硬件加密打包板卡模块。该模块是由一块插入服务器内部的使用了PCI总线的硬件板卡来完成,该板卡上使用了加密打包芯片,该芯片内部具有强大的CPU、加密算法硬件协处理器[7-8]。软件硬件结合完成了数据的打包、密钥的生成与管理等功能。

5)USB视频硬件解密盘:由一个外观类似USB存储盘的装置完成,该装置内部使用了解密芯片。该芯片内部具有强大的CPU、硬件3DES算法、硬件ECC算法协处理器。该芯片完成了3DES解密、3DES密钥的获取,ECC密钥的生成与管理,ECC的加密解密、解密盘识别号管理等功能。

5实现系统的关键技术

该系统实现涉及以下几项关键技术:数据的加密打包方法及格式的定义、加密算法的选择、密钥的交换方法与体系、硬件加密打包板卡、硬件包服务器和USB视频硬件解密盘等的设计与实现。

6系统的安全性分析

3DES与224位的ECC算法的安全性在很多文献中有非常详细的分析,算法本身在每一个密钥的生命周期内是非常安全的。3DES 与ECC 算法均在解密盘的内部芯片中运行,密钥全部存储于解密盘的内部芯片中,在整个运行过程中,全部敏感数据都在芯片内部,不出现在任何外部总线上。每一个解密盘都有一个唯一的识别码,对应着不同的ECC密钥对,并且3DES密钥是经过双层224位ECC算法加密的,因此加密强度非常高,破解难度非常大[6-7]。

节目被加密后,服务器上的节目内容就没有盗链的意义了,盗了也没用,普通用户根本看不了,必须持有后端的USB视频硬件解密盘,并且使用此系统的解密应用软件才有可能对视频数据进行解密,达到设计目的。

7系统的数据处理能力

该系统中打包服务器的一个加密打包模块处理数据的速度可达500 Mbit/s,还可以叠加多个加密打包板卡模块。后端解密盘解密时处理数据的速度可达40 Mbit/s。可加密实时直播数据,只要总带宽没达到上限,可同时加密处理的直播节目总数几乎没有上限。对于直播节目,目前支持的数据传输协议有UDP、HTTP、HLS等协议,对于音视频节目的压缩标准没有限制,MPEG-1、MPEG-2、H.264、H.265等都支持。可加密非实时的用于点播的文件,对非实时文件采取“预处理”、“预加密”的方式,

8数据管理和用户管理功能

加解密可将不同的节目分成不同的产品包和套餐包,方便采用不同的价格来管理。用户管理很灵活,由于每一个USB视频硬件解密盘都有一个唯一识别号,前端服务器就很容易对用户进行管理,可以通过前端服务器和后端的视频解密软件,来对单独的用户进行“开授权”和“关授权”。当然也可以批量“开授权”、“关授权”。开户很便捷,可通过文件批量导入来批量开户,也允许每一个用户独立登录网站开户,也支持二维码扫描开户。充值续费很方便,支持每一个用户独立登录网站续费,也支持扫描二维码来续费,也支持发短信续费。

9系统的实际试验情况

目前,这套系统已经全部开发完成,在实验室搭建了测试试验平台,目前已经试验约3个月的时间。系统现在平稳运行,在运行过程中,有时会发现一些小的问题与缺陷,经过不断的改进,目前系统运营情况比较好。下一步准备进入商业推广阶段。

参考文献:

[1]陈翔.数字电视条件接收系统的安全性分析[J].电视技术,2010,34(2):43-45.

[2]陈文全,付国映,赵利,等.数字电视条件接收系统的安全性分析[J].电视技术,2004,28(1):53-55.

[3]闫茂德,贺昱曜,张阳.AES与ECC混合加密算法的无线数据通信系统设计[J].微电子学与计算机,2007(7):135-138.

[4]马擎宇,张东.基于AES和ECC的遥测数据加密技术研究与实现[J].舰船电子工程,2015(4):78-81.

[5]王红珍,李竹林. 基于AES和ECC的混合加密系统的设计与实现[J].电子设计工程, 2012(4): 9-11.

[6]王红珍, 李竹林. ECC算法在软件保护中的应用及安全性分析[J].计算机技术与发展,2012(8): 155-158.

[7]潘峥嵘, 朱丽丽. ECC与AES混合加密算法在射频CPU卡安全机制中的应用[J].计算机系统应用,2012(9):162-165.

责任编辑:时雯

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

文献标志码:A

DOI:10.16280/j.videoe.2016.05.016

收稿日期:2015-11-25

文献引用格式:李吉广. IPTV视频硬件加密传输系统的设计[J].电视技术,2016,40(5):74-77.

LI J G. Design of IPTV video hardware encryption transmission system [J].Video engineering,2016,40(5):74-77.

猜你喜欢
机顶盒解密数据包
二维隐蔽时间信道构建的研究*
炫词解密
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
解密“一包三改”
炫词解密
机顶盒上别盖布
安全使用机顶盒注意五点
SmartSniff
有线电视高清数字电视机顶盒测试系统的构建
What is Apple Watch All About?