[技術(shù)領(lǐng)域]
本發(fā)明涉及機(jī)頂盒加密方法技術(shù)領(lǐng)域,尤其涉及一種加密安全性能高且方式簡單的通過otg方式對融合型機(jī)頂盒進(jìn)行加密的方法。
[
背景技術(shù):
]
目前市面上廣泛流通著很多ott機(jī)頂盒子,然而隨著消費升級以及人們實際需求的不斷增強(qiáng),在傳統(tǒng)的ott機(jī)頂盒上集成dvb業(yè)務(wù)成為重要的發(fā)展方向,在ott上集成dvb業(yè)務(wù)每個廠家都不同,實現(xiàn)的方式也有差別,為了保護(hù)ott+dvb盒子中的dvb模塊,有些機(jī)頂盒是通過加密芯片方式對dvb內(nèi)容進(jìn)行保護(hù),也有通過簽名方式防止刷機(jī),通過以上方式對盒子加密的步驟和方法相對于比較復(fù)雜,也相應(yīng)增加了成本,仍然有可能不夠完全保護(hù)程序中某段程序,某些私有數(shù)據(jù),甚至整個flash,存在數(shù)據(jù)被盜取的風(fēng)險,怎樣采用技術(shù)創(chuàng)新,達(dá)到更好的保護(hù)dvb模塊內(nèi)容的目的,并且使得數(shù)據(jù)不容易拷貝或者破解,是行業(yè)內(nèi)技術(shù)人員經(jīng)??紤]的問題。
基于上述問題,本領(lǐng)域的技術(shù)人員進(jìn)行了大量的研發(fā)和實驗,從機(jī)頂盒的具體原理和構(gòu)成,以及加密方式方法方面進(jìn)行改進(jìn)和改善,并取得了較好的成績。
[
技術(shù)實現(xiàn)要素:
]
為克服現(xiàn)有技術(shù)所存在的問題,本發(fā)明提供一種加密安全性能高且方式簡單的通過otg方式對融合型機(jī)頂盒進(jìn)行加密的方法。
本發(fā)明解決技術(shù)問題的方案是提供一種通過otg方式對融合型機(jī)頂盒進(jìn)行加密的方法,包括以下步驟,
s1:在融合型智能機(jī)頂盒中設(shè)置usbotg控制芯片,且該所述智能機(jī)頂盒通過otg信號連接線連接外部pc工具或安卓設(shè)備終端,智能機(jī)頂盒與外部pc工具或安卓設(shè)備終端通信互聯(lián),發(fā)送和接收數(shù)據(jù)包;
s2:外部pc工具或安卓設(shè)備終端獲取每臺智能機(jī)頂盒盒子的唯一芯片id,然后通過外部的加密算法對相應(yīng)的芯片id進(jìn)行加密處理;
s3:將步驟s2中加密完成后的數(shù)據(jù)通過otg發(fā)送到智能機(jī)頂盒的序列引導(dǎo)uboot中,加密后的數(shù)據(jù)在uboot中通過轉(zhuǎn)換成一段hex數(shù)據(jù),然后通過寫efuse函數(shù)將加密的這段數(shù)據(jù)寫入otp區(qū)域中;寫入成功之后此otp區(qū)域數(shù)據(jù)不可以擦寫也不能重寫;
s4:通過智能機(jī)頂盒的系統(tǒng)內(nèi)核讀出cpu中加密過后的數(shù)據(jù)和芯片id,中間件通過調(diào)用驅(qū)動封裝的efuse數(shù)據(jù)和芯片id,將解密算法添加到中間件中dvb播放模塊的so庫中;
s5:中間件通過解密算法解密由系統(tǒng)內(nèi)核的efuse節(jié)點和chipid節(jié)點傳過來的數(shù)據(jù),通過解密之后的數(shù)據(jù)去對比芯片id,如果解密之后的數(shù)據(jù)跟芯片id相同則解密成功,且dvb應(yīng)用便可以正常啟動,正常播放相關(guān)節(jié)目;若解密之后的數(shù)據(jù)跟芯片id不同則檢驗不通過,dvb應(yīng)用無法啟動。
優(yōu)選地,所述步驟s2中,外部pc工具或安卓設(shè)備終端對傳輸過來的芯片唯一id進(jìn)行base64加密算法加密處理。
優(yōu)選地,所述步驟s2中,外部pc工具或安卓設(shè)備終端對智能機(jī)頂盒otp區(qū)域進(jìn)行加密的過程是通過得到chipid,該所述chipid是每個芯片唯一的序列號。
優(yōu)選地,所述外部pc工具或安卓設(shè)備終端通過otg通訊負(fù)責(zé)初始化數(shù)據(jù)通信,去獲取各種描述符和配置設(shè)備。
優(yōu)選地,所述步驟s3中,智能機(jī)頂盒盒子內(nèi)部芯片中嵌入有一個一次性寫入存儲區(qū)域(onetimeprogrammemery,otp)。
優(yōu)選地,所述智能機(jī)頂盒包括usb插接口以及usbotg連接口。
優(yōu)選地,所述安卓設(shè)備終端的系統(tǒng)配置為高于安卓6.0。
優(yōu)選地,所述外部pc工具根據(jù)智能機(jī)頂盒端設(shè)定的vendorid和productid,通過inftool安裝otg驅(qū)動。
與現(xiàn)有技術(shù)相比,本發(fā)明一種通過otg方式對融合型機(jī)頂盒進(jìn)行加密的方法通過usbotg通信方式,使外部設(shè)備通過otg通信對ott+dvb盒子中dvb部分加密保護(hù),避免加密方式繁瑣,加密不安全,使生產(chǎn)成本和研發(fā)效率上得到改善。本發(fā)明首先通過在智能機(jī)頂盒中設(shè)置usbotg控制芯片,機(jī)頂盒通過otg線連接外部pc工具或者安卓設(shè)備,使智能機(jī)頂盒與外部pc工具通信,發(fā)送和接收數(shù)據(jù)包,通過得到每臺盒子的唯一id,然后通過外部的加密算法對芯片id進(jìn)行加密,將加密一段數(shù)據(jù)寫到芯片otp區(qū)域中,機(jī)頂盒芯片的高級安全功能就是在芯片中嵌入一個一次性寫入存儲區(qū)域,通過加密這個區(qū)域不能更改與擦除,其次通過封裝的dvbso庫中去獲取otp中加密后的數(shù)據(jù),通過解密otp中加密的數(shù)據(jù)去判斷dvb是否播放或者應(yīng)用是否打開,其中使用的外部工具需要專門人員的保護(hù),使用的外部工具同時也需要授權(quán)才能操作,從而增加了加密數(shù)據(jù)的安全性。
[附圖說明]
圖1是本發(fā)明一種通過otg方式對融合型機(jī)頂盒進(jìn)行加密的方法的流程示意圖。
[具體實施方式]
為使本發(fā)明的目的,技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用于解釋本發(fā)明,并不用于限定此發(fā)明。
請參閱圖1,本發(fā)明一種通過otg方式對融合型機(jī)頂盒進(jìn)行加密的方法包括以下步驟,
s1:在融合型智能機(jī)頂盒中設(shè)置usbotg控制芯片,且該所述智能機(jī)頂盒通過otg信號連接線連接外部pc工具或安卓設(shè)備終端,智能機(jī)頂盒與外部pc工具或安卓設(shè)備終端通信互聯(lián),發(fā)送和接收數(shù)據(jù)包;
s2:外部pc工具或安卓設(shè)備終端獲取每臺智能機(jī)頂盒盒子的唯一芯片id,然后通過外部的加密算法對相應(yīng)的芯片id進(jìn)行加密處理;
s3:將步驟s2中加密完成后的數(shù)據(jù)通過otg發(fā)送到智能機(jī)頂盒的序列引導(dǎo)uboot中,加密后的數(shù)據(jù)在uboot中通過轉(zhuǎn)換成一段hex數(shù)據(jù),然后通過寫efuse函數(shù)將加密的這段數(shù)據(jù)寫入otp區(qū)域中;寫入成功之后此otp區(qū)域數(shù)據(jù)不可以擦寫也不能重寫;
s4:通過智能機(jī)頂盒的系統(tǒng)內(nèi)核讀出cpu中加密過后的數(shù)據(jù)和芯片id,中間件通過調(diào)用驅(qū)動封裝的efuse數(shù)據(jù)和芯片id,將解密算法添加到中間件中dvb播放模塊的so庫中;
s5:中間件通過解密算法解密由系統(tǒng)內(nèi)核的efuse節(jié)點和chipid節(jié)點傳過來的數(shù)據(jù),通過解密之后的數(shù)據(jù)去對比芯片id,如果解密之后的數(shù)據(jù)跟芯片id相同則解密成功,且dvb應(yīng)用便可以正常啟動,正常播放相關(guān)節(jié)目;若解密之后的數(shù)據(jù)跟芯片id不同則檢驗不通過,dvb應(yīng)用無法啟動。
通過usbotg通信方式,使外部設(shè)備通過otg通信對ott+dvb盒子中dvb部分加密保護(hù),避免加密方式繁瑣,加密不安全,使生產(chǎn)成本和研發(fā)效率上得到改善。本發(fā)明首先通過在智能機(jī)頂盒中設(shè)置usbotg控制芯片,機(jī)頂盒通過otg線連接外部pc工具或者安卓設(shè)備,使智能機(jī)頂盒與外部pc工具通信,發(fā)送和接收數(shù)據(jù)包,通過得到每臺盒子的唯一id,然后通過外部的加密算法對芯片id進(jìn)行加密,將加密一段數(shù)據(jù)寫到芯片otp區(qū)域中,機(jī)頂盒芯片的高級安全功能就是在芯片中嵌入一個一次性寫入存儲區(qū)域,通過加密這個區(qū)域不能更改與擦除,其次通過封裝的dvbso庫中去獲取otp中加密后的數(shù)據(jù),通過解密otp中加密的數(shù)據(jù)去判斷dvb是否播放或者應(yīng)用是否打開,其中使用的外部工具需要專門人員的保護(hù),使用的外部工具同時也需要授權(quán)才能操作,從而增加了加密數(shù)據(jù)的安全性。
優(yōu)選地,所述步驟s2中,外部pc工具或安卓設(shè)備終端對傳輸過來的芯片唯一id進(jìn)行base64加密算法加密處理。通過加密芯片id將加密數(shù)據(jù)寫到芯片otp區(qū)域。
優(yōu)選地,所述步驟s2中,外部pc工具或安卓設(shè)備終端對智能機(jī)頂盒otp區(qū)域進(jìn)行加密的過程是通過得到chipid,該所述chipid是每個芯片唯一的序列號。
優(yōu)選地,所述外部pc工具或安卓設(shè)備終端通過otg通訊負(fù)責(zé)初始化數(shù)據(jù)通信,去獲取各種描述符和配置設(shè)備。
優(yōu)選地,所述步驟s3中,智能機(jī)頂盒盒子內(nèi)部芯片中嵌入有一個一次性寫入存儲區(qū)域(onetimeprogrammemery,otp)。
優(yōu)選地,所述智能機(jī)頂盒包括usb插接口以及usbotg連接口。
優(yōu)選地,所述安卓設(shè)備終端的系統(tǒng)配置為高于安卓6.0。
優(yōu)選地,所述外部pc工具根據(jù)智能機(jī)頂盒端設(shè)定的vendorid和productid,通過inftool安裝otg驅(qū)動。
本加密方法能夠通過otg通信方式將pc端的加密數(shù)據(jù)傳輸?shù)給tt+dvb安卓機(jī)頂盒中,通過pc端開發(fā)的工具或者安卓端通過otg線能與ott+dvb自動連接,得到芯片id(安卓系統(tǒng)要求安卓6.0以上),通過otg線發(fā)送加密之后的芯片id數(shù)據(jù),加密后的數(shù)據(jù)在中間層dvb相關(guān)的so庫中得到解密,且機(jī)頂盒接入pc主機(jī)端通過接收盒子端發(fā)送的0x06命令,獲取盒子的usb描述符,pc端通過發(fā)送0x35指令發(fā)送加密后的數(shù)據(jù)。
實際處理過程中,通過在pc端或者安卓手機(jī)端開發(fā)一個工具或者apk應(yīng)用,此工具通過otg連接機(jī)頂盒,工具通過otg線得到機(jī)頂盒描述信息,使兩個設(shè)備之間能夠連接,以便用于交互數(shù)據(jù),從而便可以對機(jī)頂盒otp區(qū)域進(jìn)行加密,此方案是通過得到chipid,且安卓系統(tǒng)要保證在安卓6.0以上版本才能獲取chipid,此chipid是每個芯片唯一的序列號,這能保證每臺機(jī)頂盒的唯一性,pc工具或者安卓端主要通過otg負(fù)責(zé)初始化數(shù)據(jù)通信,去獲取usb各種描述符和配置設(shè)備。機(jī)頂盒和pc工具端分別以主機(jī)和從機(jī)方式傳輸信息,兩個設(shè)備之間的識別,pc端需要根據(jù)盒子端設(shè)定的vendorid和productid,通過inftool安裝otg驅(qū)動。
目前很多加密方案都是在程序中去進(jìn)行加密,對其中鏡像包進(jìn)行簽名,對其生成的文件加密,使用加密芯片去加密,這樣方式加密算法存在程序中可能存在破解加密文件或者鏡像包的風(fēng)險,而本發(fā)明技術(shù)是通過外部工具端進(jìn)行加密,秘鑰不容易獲取和破解,雖然可以通過外部串口,網(wǎng)絡(luò)方式去達(dá)到這種效果,但是有些機(jī)頂盒是不帶串口,也容易收到網(wǎng)絡(luò)的限制,但是大多數(shù)機(jī)頂盒帶usb口,本發(fā)明提供了一種對ott+dvb融合機(jī)頂盒中dvb模塊的加密方法,通過otg通信方式,使用usbotg發(fā)送與接收otg數(shù)據(jù)包,usbotg可實現(xiàn)沒有主機(jī)時設(shè)備與設(shè)備之間的數(shù)據(jù)傳輸,傳輸速度快,可以不受網(wǎng)絡(luò)限制,可以通過pc端也可以通過手機(jī),pad去連接,使用方便簡單,通過usbotg這種加密方式去加密dvb應(yīng)用,不僅達(dá)到了盒子dvb業(yè)務(wù)的安全性,加密方式更加簡單,也使得ott+dvb機(jī)頂盒中dvb模塊能夠得到有更好的保護(hù)。
與現(xiàn)有技術(shù)相比,本發(fā)明一種通過otg方式對融合型機(jī)頂盒進(jìn)行加密的方法通過usbotg通信方式,使外部設(shè)備通過otg通信對ott+dvb盒子中dvb部分加密保護(hù),避免加密方式繁瑣,加密不安全,使生產(chǎn)成本和研發(fā)效率上得到改善。本發(fā)明首先通過在智能機(jī)頂盒中設(shè)置usbotg控制芯片,機(jī)頂盒通過otg線連接外部pc工具或者安卓設(shè)備,使智能機(jī)頂盒與外部pc工具通信,發(fā)送和接收數(shù)據(jù)包,通過得到每臺盒子的唯一id,然后通過外部的加密算法對芯片id進(jìn)行加密,將加密一段數(shù)據(jù)寫到芯片otp區(qū)域中,機(jī)頂盒芯片的高級安全功能就是在芯片中嵌入一個一次性寫入存儲區(qū)域,通過加密這個區(qū)域不能更改與擦除,其次通過封裝的dvbso庫中去獲取otp中加密后的數(shù)據(jù),通過解密otp中加密的數(shù)據(jù)去判斷dvb是否播放或者應(yīng)用是否打開,其中使用的外部工具需要專門人員的保護(hù),使用的外部工具同時也需要授權(quán)才能操作,從而增加了加密數(shù)據(jù)的安全性。
以上所述的本發(fā)明實施方式,并不構(gòu)成對本發(fā)明保護(hù)范圍的限定。任何在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。