一種互聯(lián)網(wǎng)視頻和數(shù)據(jù)文件硬件加密傳輸系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及到互聯(lián)網(wǎng)數(shù)字視頻及網(wǎng)絡(luò)安全傳輸、版權(quán)保護(hù)等領(lǐng)域。
【背景技術(shù)】
[0002]近年來(lái)互聯(lián)網(wǎng)視頻迅速的繁榮起來(lái)。但是目前互聯(lián)網(wǎng)視頻存在著很強(qiáng)的盜鏈、不易收費(fèi)、很容易被截獲看到等問(wèn)題。有些服務(wù)提供商自己不提供服務(wù)的內(nèi)容,通過(guò)技術(shù)手段繞過(guò)其它有利益的最終用戶界面(如廣告),直接在自己的網(wǎng)站上向最終用戶提供其它服務(wù)提供商的服務(wù)內(nèi)容,騙取最終用戶的瀏覽和點(diǎn)擊率。由于內(nèi)容傳送的是清流,視頻內(nèi)容很容易被截獲看到,視頻傳輸?shù)陌踩源蟠蟮慕档土恕>W(wǎng)絡(luò)上傳輸?shù)囊曨l數(shù)據(jù)量非常大,實(shí)時(shí)性、連續(xù)性要求高。因此常用的文件加密方式在傳輸視頻時(shí)不適用。一般文件加密由于數(shù)據(jù)量相對(duì)很少,實(shí)時(shí)性要求不是很高,基本上是通過(guò)軟件或處理運(yùn)算能力很低的輔助硬件例如類似銀行U盾的設(shè)備完成的。多套節(jié)目同時(shí)播出的互聯(lián)網(wǎng)視頻流數(shù)據(jù)量非常巨大,實(shí)時(shí)性要求高,不可能通過(guò)處理文件的處理方法和處理能力進(jìn)行處理。本項(xiàng)目使用硬件將視頻流或文件數(shù)據(jù)(特別適合很大的,實(shí)時(shí)性要求高的文件數(shù)據(jù))進(jìn)行加密傳輸,從根本上徹底解決了以上問(wèn)題。。
【發(fā)明內(nèi)容】
[0003]針對(duì)互聯(lián)網(wǎng)上的視頻和特別大的,實(shí)時(shí)性要求高的數(shù)據(jù)文件(簡(jiǎn)稱大數(shù)據(jù)量文件)在互聯(lián)網(wǎng)上的實(shí)時(shí)加密傳輸,本發(fā)明為硬件實(shí)時(shí)加密傳輸系統(tǒng),視頻流和大數(shù)據(jù)量文件在整個(gè)傳輸過(guò)程中通過(guò)專用的硬件設(shè)備進(jìn)行實(shí)時(shí)的加密與解密處理,由一塊插入服務(wù)器內(nèi)部的,使用了 PCI總線的硬件加密打包板卡(103)來(lái)完成硬件對(duì)視頻流及大數(shù)據(jù)量文件進(jìn)行加密運(yùn)算的數(shù)據(jù)加密打包服務(wù)器(102)來(lái)完成加密打包、插入機(jī)頂盒(106)的USB 口的USB視頻硬件解密盤(107)進(jìn)行解密、由用戶授權(quán)管理軟件和打包服務(wù)軟件進(jìn)行管理及輔助打包,由它們共同構(gòu)成的一整套視頻和大數(shù)據(jù)量文件的加密傳輸及播控系統(tǒng)。
[0004]首先設(shè)計(jì)了系統(tǒng)的整體結(jié)構(gòu)、協(xié)議及數(shù)據(jù)結(jié)構(gòu),然后設(shè)計(jì)了使用硬件對(duì)視頻流進(jìn)行加密的數(shù)據(jù)加密打包服務(wù)器(102)和解密的USB視頻硬件解密盤(107)、用戶授權(quán)管理軟件及打包服務(wù)軟件。整個(gè)系統(tǒng)由數(shù)據(jù)加密打包服務(wù)器(簡(jiǎn)稱打包服務(wù)器)(102)、用戶授權(quán)管理服務(wù)器(簡(jiǎn)稱管理服務(wù)器)(104)、節(jié)目存儲(chǔ)視頻服務(wù)器(101)、通用清流互聯(lián)網(wǎng)機(jī)頂盒(簡(jiǎn)稱機(jī)頂盒)(106)、USB視頻硬件解密盤構(gòu)成(簡(jiǎn)稱解密盤)(107),如圖1。每個(gè)解密盤都有唯一的一個(gè)識(shí)別號(hào),這有助于提高系統(tǒng)的安全性。
[0005]密鑰傳輸?shù)倪壿嬯P(guān)系:如圖2所示。數(shù)據(jù)加密打包服務(wù)器(102)輸出加密數(shù)據(jù)包及密鑰識(shí)別號(hào)給USB視頻硬件解密盤(107),解密盤(107)根據(jù)密鑰識(shí)別號(hào)向用戶授權(quán)管理服務(wù)器(104)請(qǐng)求相應(yīng)的密鑰,管理服務(wù)器(104)對(duì)認(rèn)證合格的解密盤(107 )發(fā)放相應(yīng)的密鑰。
[0006]數(shù)據(jù)包的結(jié)構(gòu)如下:各種標(biāo)準(zhǔn)例如MPEG1、MPEG2、H264、H265等的視頻節(jié)目或者大數(shù)據(jù)量的文件在該系統(tǒng)中均視為大數(shù)據(jù)量的數(shù)據(jù)文件。打包服務(wù)器(102)首先將數(shù)據(jù)文件分割成長(zhǎng)度為8字節(jié)的等長(zhǎng)的數(shù)據(jù)小塊,接著使用3DES將數(shù)據(jù)小塊加密。然后將固定數(shù)量(例如1024個(gè))加密后的數(shù)據(jù)小塊連接成一個(gè)數(shù)據(jù)大塊,對(duì)該數(shù)據(jù)大塊做SHA265運(yùn)算,將得到的哈希值與當(dāng)前的和下一個(gè)的3DES密鑰識(shí)別號(hào)、用戶管理服務(wù)器(104)地址連接在一起,構(gòu)成特征信息,然后對(duì)該特征信息做224位ECC運(yùn)算,將得到的加密特征信息再與包頭同步字、包長(zhǎng)、包識(shí)別號(hào)連接在一起,放在數(shù)據(jù)大塊前面,共同封裝成加密數(shù)據(jù)包。
[0007]3DES密鑰的傳輸時(shí)序安排如下:加密數(shù)據(jù)包通過(guò)互聯(lián)網(wǎng)傳輸給接收端,3DES的密鑰持續(xù)一定的時(shí)間后要變換成下一個(gè)密鑰,變化時(shí)間間隔通過(guò)打包服務(wù)器(102)的人機(jī)界面設(shè)定。在加密數(shù)據(jù)包頭里傳輸下一個(gè)密鑰的識(shí)別號(hào)的目的是為了給3DES解密模塊提前準(zhǔn)備下一個(gè)密鑰提供信息,從而保證解密盤有足夠的時(shí)間從授權(quán)管理服務(wù)器(104)上獲得下一個(gè)密鑰,進(jìn)而保證密鑰切換時(shí)視頻播放的連續(xù)性。機(jī)頂盒(106)上的應(yīng)用程序?qū)⑹盏降募用軘?shù)據(jù)包傳輸給解密盤(107),解密盤(107)內(nèi)軟件接收加密數(shù)據(jù)包后分拆數(shù)據(jù)包,獲得當(dāng)前的和下一個(gè)的3DES密鑰識(shí)別號(hào)。
[0008]密鑰請(qǐng)求指令的生成:解密盤(107)內(nèi)的軟件獲取本身的解密盤識(shí)別號(hào),與當(dāng)前的和下一個(gè)的3DES密鑰識(shí)別號(hào)一起組成請(qǐng)求密鑰明文,然后用事先存在于解密盤內(nèi)的使用224位ECC算法的用戶獨(dú)有私鑰加密,再次加入解密盤識(shí)別號(hào),然后再使用ECC算法的用戶共有公鑰加密,形成經(jīng)過(guò)兩次224位ECC加密的3DES密鑰請(qǐng)求指令,發(fā)送給用戶授權(quán)管理服務(wù)器(104)去請(qǐng)求密鑰。
[0009]ECC算法使用的兩個(gè)密鑰對(duì):用戶管理信息的加密傳輸使用了兩個(gè)密鑰對(duì),用戶獨(dú)有密鑰對(duì)和用戶共有密鑰對(duì)。用戶獨(dú)有密鑰對(duì)是指ECC公鑰保存在管理服務(wù)器(104)內(nèi)的數(shù)據(jù)庫(kù)中,私鑰保存于解密盤內(nèi)的針對(duì)每一個(gè)用戶都不相同的解密盤與管理服務(wù)器(104)單獨(dú)通訊使用的密鑰對(duì),用戶共有密鑰對(duì)指的是ECC私鑰保存于加密打包機(jī)內(nèi)的硬件加密打包板卡內(nèi)的,而公鑰保存于所有的解密盤內(nèi)的,并且所有解密盤的公鑰都相同的一個(gè)密鑰對(duì),該密鑰對(duì)在服務(wù)器無(wú)法確知具體的解密盤的用戶識(shí)別號(hào)時(shí)與所有解密盤通訊時(shí)使用。
[0010]解密盤(107)身份的驗(yàn)證及密鑰的發(fā)放:在接到用戶終端的請(qǐng)求指令后,管理服務(wù)器(104)首先使用用戶共有密鑰對(duì)中的私鑰對(duì)收到的加密的請(qǐng)求指令進(jìn)行一次解密,得到請(qǐng)求指令中的解密盤(107)識(shí)別號(hào),然后將解密盤(107)識(shí)別號(hào)與數(shù)據(jù)庫(kù)中的數(shù)據(jù)比較,從而判別該用戶號(hào)是否為合法授權(quán)用戶,如果是合法用戶,那么根據(jù)該識(shí)別號(hào)在數(shù)據(jù)庫(kù)內(nèi)找出相對(duì)應(yīng)的用戶獨(dú)有密鑰對(duì)中的公鑰對(duì)指令進(jìn)行二次解密。將二次解密后得到的解密盤識(shí)別號(hào)與一次解密后得到的解密盤識(shí)別號(hào)進(jìn)行比較,如果一致說(shuō)明解密盤(107)身份真實(shí),繼續(xù)進(jìn)行下一步,如果不一致說(shuō)明解密盤(107)身份被偽造了。如果身份真實(shí),管理服務(wù)器(104)會(huì)根據(jù)3DES密鑰的識(shí)別號(hào)在數(shù)據(jù)庫(kù)中找出對(duì)應(yīng)的密鑰,然后使用用戶獨(dú)有ECC密鑰對(duì)中的公鑰對(duì)相應(yīng)的3DES密鑰進(jìn)行加密,通過(guò)互聯(lián)網(wǎng)發(fā)送給相應(yīng)的解密盤。解密盤收到加密的3DES密鑰后使用用戶獨(dú)有ECC密鑰對(duì)中的私鑰解密出相對(duì)應(yīng)的3DES密鑰。并將密鑰存儲(chǔ)在內(nèi)部存儲(chǔ)器中。
[0011]ECC加密的特征信息:打包服務(wù)器(102)使用用戶共有密鑰對(duì)中的私鑰對(duì)特征信息進(jìn)行加密,解密盤(107)使用用戶共有密鑰對(duì)中的公鑰對(duì)加密特征信息進(jìn)行解密。
[0012]解密盤(107)對(duì)加密數(shù)據(jù)包的解密:解密盤(107)首先使用SHA256函數(shù)計(jì)算3DES加密的數(shù)據(jù)大塊的哈希值,如果得到的哈希值與特征信息里收到的哈希值相同,證明加密數(shù)據(jù)包是原始的數(shù)據(jù)包,沒(méi)有被改變。解密盤將加密的大數(shù)據(jù)拆分成數(shù)據(jù)小塊,然后用得到的3DES密鑰對(duì)加密的數(shù)據(jù)小塊解密,恢復(fù)出原始的數(shù)據(jù)。
[0013]開(kāi)戶授權(quán):每一個(gè)用戶在開(kāi)戶時(shí),人工核實(shí)身份后,管理服務(wù)器(104)對(duì)解密盤
(107)進(jìn)行授權(quán),在授權(quán)過(guò)程中,管理服務(wù)器(104)接收被授權(quán)用戶解密盤(107)給出的用戶獨(dú)有ECC密鑰對(duì)中的公鑰,其中的私鑰由解密盤自己生成并保存在內(nèi)部。同時(shí)管理服務(wù)器(104 )將用戶共有ECC密鑰對(duì)中的公鑰輸出給解密盤(107 ),硬件加密打包板卡保存相應(yīng)的私鑰。
[0014]用戶端構(gòu)成:用戶端由機(jī)頂盒(106)、機(jī)頂盒應(yīng)用程序(APP)及解密盤(107)構(gòu)成。采用通用機(jī)頂盒(106)保證了該系統(tǒng)可以更好的商業(yè)化,針對(duì)不同的機(jī)頂盒平臺(tái)例如安卓平臺(tái)需要安裝不同的支持相應(yīng)系統(tǒng)的應(yīng)用程序。解密盤(107)是核心部分,機(jī)頂盒(106)輸出加密視頻流給解密盤,解密盤(107)將解密后的清流通過(guò)USB接口輸出給機(jī)頂盒(106),然后機(jī)頂盒(106)對(duì)清流進(jìn)行解碼輸出。
[0015]用戶授權(quán)管理軟件的主要功能:用戶授權(quán)管理軟件可對(duì)不同的節(jié)目分成不同的產(chǎn)品包和套餐包,方便用不同的價(jià)格來(lái)管理。用戶管理很靈活,由于每一個(gè)USB視頻硬件解密盤(107)都有一個(gè)唯一識(shí)別號(hào),用戶管理服務(wù)器(104)就很容易對(duì)用戶進(jìn)行管理,可以通過(guò)用戶管理服務(wù)器(104)和解密盤(107)的視頻解密軟件,來(lái)對(duì)單獨(dú)的用戶進(jìn)行“開(kāi)授權(quán)”和“關(guān)授權(quán)”。當(dāng)然也可以批量“開(kāi)授權(quán)”、“關(guān)授權(quán)”。開(kāi)戶很便捷,可通過(guò)文件批量導(dǎo)入來(lái)批量開(kāi)戶,也允許每一個(gè)用戶獨(dú)立登錄網(wǎng)站開(kāi)戶,也支持二維碼掃描開(kāi)戶。充值續(xù)費(fèi)很方便,支持每一個(gè)用戶獨(dú)立登錄網(wǎng)站續(xù)費(fèi),也支持掃描二維碼來(lái)續(xù)費(fèi),也支持發(fā)短信續(xù)費(fèi)。
[0016]硬件解密的安全性:3DES與ECC算法均在解密盤(107)的內(nèi)部芯片中運(yùn)行,密鑰全部存儲(chǔ)于解密盤(107)的內(nèi)部芯片中,在整個(gè)運(yùn)行過(guò)程中,全部敏感數(shù)據(jù)都在芯片內(nèi)部,不出現(xiàn)在任何外部總線上。每一個(gè)解密盤(107)都有一個(gè)唯一的識(shí)別碼