首頁 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計(jì)算器

綜合交流 / 評(píng)測(cè) / 活動(dòng)區(qū)

交流區(qū) | 測(cè)硬件 | 網(wǎng)站活動(dòng) | Z幣中心

新手入門 / 進(jìn)階 / 社區(qū)互助

新手 | 你問我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 119086|回復(fù): 28
上一主題 下一主題
[交流討論]

科普: 什么是廣電機(jī)頂盒中的高級(jí)安全,及你所需知道的一切

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2019-7-30 20:23 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式 | 未知
本帖最后由 Delta_18 于 2019-7-30 20:26 編輯

前言:本篇文章為原創(chuàng)的適合小白的科普貼,按照非專業(yè)人士的理解能力而編撰,只是為了讓大眾能夠理解一些基本的概念。專業(yè)人士對(duì)于其中的表達(dá)不準(zhǔn)確的內(nèi)容請(qǐng)不要見笑。如發(fā)現(xiàn)錯(cuò)誤請(qǐng)?jiān)谠u(píng)論區(qū)予以糾正。全文閱讀大約需要30分鐘,請(qǐng)合理安排閱讀時(shí)間。

經(jīng)常關(guān)注廣電機(jī)頂盒的朋友們都知道,隨著安卓系統(tǒng)在全球范圍內(nèi)的興起,廣電機(jī)頂盒也從傳統(tǒng)的Linux系統(tǒng)逐漸轉(zhuǎn)變?yōu)榱嘶诎沧可鷳B(tài)的4K機(jī)頂盒。安卓系統(tǒng)和相關(guān)硬件的優(yōu)勢(shì)眾所周知,采用安卓系統(tǒng)的4K廣電機(jī)頂盒也為我們提供了諸多“增強(qiáng)” (挖掘功能)的便利。隨著“4K” 、“安卓”而來的新一代廣電機(jī)頂盒還有“高級(jí)安全”。我們經(jīng)常聽說一些新款芯片采用了“高級(jí)安全”方案。許多朋友都對(duì)此感到陌生,或簡單的顧名思義,而并不真正清楚究竟什么是“高級(jí)安全”、“高級(jí)安全”是做什么用的,以及在我們“增強(qiáng)”廣電4K機(jī)頂盒的道路上會(huì)給我們(或者說是故意給我們)制造哪些障礙呢?

先來說說“高級(jí)安全”設(shè)計(jì)是干嘛用的吧。在這件事情上其實(shí)我們是可以顧名思義的。高級(jí)安全,就是防止你利用之前常用的各種手段去“增強(qiáng)”廣電機(jī)頂盒(和配套設(shè)施)的方方面面。比方說,廣電對(duì)刷第三方固件的現(xiàn)象深惡痛絕,于是引入了高級(jí)安全防止你刷機(jī)。再比如說,廣電(其實(shí)更多的是衛(wèi)星電視公司)對(duì)共享問題(一張正版CA卡可供N個(gè)盜版用戶同時(shí)收視)深惡痛絕,于是引入了高級(jí)安全防止你共享。最后比如說,廣電(主要是國外廣電)提供了機(jī)頂盒原生錄像功能,但是對(duì)拿去倒賣錄像的人深惡痛絕,于是引入了高級(jí)安全防止(國外用戶)拷出不加密或很容易解密的錄像。說到這里,您可能乍一聽:呦,高級(jí)安全(以下簡稱“高安”)是個(gè)嘛玩意兒,這么神叨。實(shí)際上,雖說帶有高安的功能都做到了一個(gè)芯片里,但是與其說高安是一個(gè)東西,倒不如說高安是一個(gè)屬性,或者說特質(zhì)。也就是說高安是一套思路(一個(gè)套路),是抽象的,而高安本身不是一個(gè)具體的物質(zhì)。舉個(gè)有趣的例子:高安就好比游泳,抽象的很。游泳中涉及泳姿,也分自由泳、仰泳、蝶泳、蛙泳。其中細(xì)分下來的泳姿具體用哪一種,各取所需,并不強(qiáng)制。你要圖速度就去游自由泳,你要圖好看就去游蝶泳,你要是用不到仰泳就可以直接忽略不用。但這些泳姿有一個(gè)共同點(diǎn)(共同目的):就是把你泡水里。高安亦是如此,即根據(jù)廣電的具體需求,從各個(gè)方面采用一定的套路防止你對(duì)某一方面下手。因此,簡單的說,高安也是分種類和功能的。單個(gè)高安功能只管它那一部分的事兒??v觀中國知網(wǎng)等國內(nèi)外大型學(xué)術(shù)性網(wǎng)站,對(duì)高級(jí)安全所介紹和描述的文章(論文)數(shù)量簡直是微乎其微,且對(duì)我們一般人的入門理解來說并沒有什么幫助。你們?cè)诰W(wǎng)上看到的為數(shù)不多的介紹高安的文章或帖子,也都只是介紹了高安CA或高安boot中具體的一項(xiàng),并且過于專業(yè)化和有針對(duì)性。如果不理解“高安只是一個(gè)概念或者說模式,下面細(xì)分出很多具體的具有高安特質(zhì)的功能”這一點(diǎn),很可能導(dǎo)致自學(xué)的基礎(chǔ)不過關(guān)。在我們國家廣電環(huán)境中常見的就是“高安boot”(高安啟動(dòng))和“高安CA”(高安智能卡)兩項(xiàng)。其他諸如高安PVR(高安錄像)等高安特質(zhì),也就是留給廣電使用高安保護(hù)其他功能的選項(xiàng),但因?yàn)閲鴥?nèi)廣電幾乎沒有使用的,我就不在本文中詳細(xì)介紹了。

如果你只是想大概了解一下高安的基本作用,那么讀到這里就已經(jīng)足夠了。如果你還想更深入的了解其工作原理和實(shí)際應(yīng)用,那么請(qǐng)繼續(xù)往下閱讀。

評(píng)分

參與人數(shù) 1威望 +6 金幣 +10 Z幣 +3 收起 理由
投影達(dá)人 + 6 + 10 + 3 優(yōu)秀

查看全部評(píng)分


上一篇:湖北廣電HDC-2100K刷錯(cuò)升級(jí)包開機(jī)反復(fù)重啟怎樣救磚?
下一篇:福建有線 創(chuàng)維2910 任意安裝app
推薦
 樓主| 發(fā)表于 2019-7-30 20:38 | 只看該作者 | 未知
【補(bǔ)習(xí)班C班:談?wù)凞VB直播機(jī)頂盒到底是怎么工作的 上課】
唉唉唉,我是怎么進(jìn)到補(bǔ)習(xí)班里的?這個(gè)補(bǔ)習(xí)班我覺得很多人可能都需要讀一讀,因此沒說什么情況下就可以跳過。原因是,接觸了各式DVB直播機(jī)頂盒時(shí)間很長的人,只要沒做過開發(fā),都有可能對(duì)其中的一些常識(shí)的理解有誤,包括曾經(jīng)的我自己。而做過開發(fā)的就不用看我整篇文章了,太基礎(chǔ)。

我們按照電腦的工作方式,劃分出了硬件層的任務(wù)及軟件層的任務(wù)。一般功能性的任務(wù)按照我們的常識(shí)都是在軟件中完成。機(jī)頂盒其實(shí)大致也是如此。不同的是,機(jī)頂盒芯片中,由于ARM芯片自身的運(yùn)算量有限,因此很多常見的功能都是由獨(dú)立的芯片模塊做支持的,也就是硬件運(yùn)算。舉個(gè)例子,看似很普通的AES加密運(yùn)算,在電腦CPU中就能輕松實(shí)現(xiàn),可是在ARM設(shè)備上,很可能需要獨(dú)立運(yùn)算芯片才能保證CPU不過載,另外也是為了加快速度。有點(diǎn)像GPU編解碼的道理。那么在DVB盒子上,所有的DVB功能也都是由獨(dú)立的芯片模塊完成的,也就是在硬件層上完成。例如DVB-CSA算法(解密節(jié)目)的實(shí)現(xiàn),甚至簡單到DVB TS流的解復(fù)用都是由芯片模塊完成,也就是硬件處理。這也很好理解,畢竟大量的常用的重復(fù)工作當(dāng)然是硬件跑起來速度快,最關(guān)鍵的是更穩(wěn)定。很多人都有相關(guān)誤區(qū),認(rèn)為硬件只是將調(diào)制解調(diào)器(tuner)中的數(shù)據(jù)轉(zhuǎn)換為數(shù)字形式,交由軟件處理。這樣的理解,在電腦用的DVB電視卡上,正確。在DVB盒子上,錯(cuò)誤。DVB盒子中的DVB模塊能干的事情多了,而軟件所做的只是向硬件發(fā)送指令并獲取反饋,僅此而已。軟件根本不接觸任何DVB相關(guān)數(shù)據(jù)。這樣的原理就有點(diǎn)像調(diào)用硬件API(接口)。這解釋了很多事情。一是為什么常見的DTV(數(shù)字電視)APK體積都那么小,因?yàn)樗皇窍蛴布l(fā)點(diǎn)指令,獲取些狀態(tài)罷了,并不包含任何實(shí)際處理DVB數(shù)據(jù)的功能。二是為什么DTV APK拿到別的機(jī)頂盒上不通用,因?yàn)镈VB硬件配置即使一樣,相關(guān)硬件接口不通用,也沒戲。三是為什么截圖的時(shí)候接不到直播畫面,因?yàn)榻貓D是工作在軟件層,而DVB畫面直接被CPU直接控制的硬件解碼輸出(給HDMI)了,你去哪里截去。四是為什么我無論怎么折騰前臺(tái)軟件,跑各種shell命令,后臺(tái)DVB播放依然穩(wěn)如狗,因?yàn)椴シ帕鞒淌怯布?jí)的。高安芯片不過是新增的另一個(gè)CPU所直接控制的硬件模塊,與其叫高安芯片,不如叫“含有高安模塊的DVB芯片”。而硬件級(jí)的模塊,具有安全、穩(wěn)定的特點(diǎn)。調(diào)試軟件的那些手段在硬件級(jí)模塊上不起作用。因此硬件模塊更能保護(hù)DVB+CA業(yè)務(wù)的安全。除了芯片級(jí)別的調(diào)試以外,幾乎是無法獲取可被利用的(也就是芯片組自身不開放的)數(shù)據(jù)的。
【補(bǔ)習(xí)班C班 下課】

那么,我們?cè)跈C(jī)頂盒“增強(qiáng)”(和CA讀卡)的道路上,真的就完全被高安所放倒了嗎?其實(shí),話也不能說的這么絕。但有一點(diǎn)可以肯定的是,跟高安硬碰硬,一定會(huì)頭破血流、賠了夫人又折兵。為什么,想想RSA算法誕生幾十年仍未被破解的這個(gè)事實(shí),也就能打消你“干就完了”這個(gè)念頭了。但一般對(duì)于這種情況,我們能做的也只是鉆空子,就比如我前面提到的某些國內(nèi)廠商沒有嚴(yán)格執(zhí)行高安boot標(biāo)準(zhǔn),導(dǎo)致系統(tǒng)文件修改后不會(huì)被校驗(yàn)的現(xiàn)象。相信有一天,高安CA也會(huì)被找到相應(yīng)的空子,只是短時(shí)間內(nèi)不要抱有太大希望就是了。高級(jí)安全目前逐步成為了維護(hù)廣電及其他DVB直播提供商的利益的工具,并且還有一個(gè)聽起來很美麗、實(shí)際上不咋地的名字“高級(jí)安全特性芯片”。并且我在這里還要潑最后一盆冷水,那就是采用高級(jí)安全方案的提供商只會(huì)越來越多。北京歌華有線和6A衛(wèi)星只是高級(jí)安全的“試驗(yàn)田”,隨著更多DVB提供商發(fā)現(xiàn)其相關(guān)優(yōu)勢(shì)后,逐步引入將成為必然。但是用戶量越大,安全研究人員就越多,因此這也未必是件壞事。希望本文作為全網(wǎng)幾乎是首篇高級(jí)安全基礎(chǔ)概念科普文章能對(duì)廣大機(jī)頂盒愛好者的理解和學(xué)習(xí)有所幫助,謝謝大家!
沙發(fā)
 樓主| 發(fā)表于 2019-7-30 20:26 | 只看該作者 | 未知
看到這里你可能會(huì)問,樓主你說了這么多,我怎么還是覺得高安這東西也沒多大能耐呢?那我們先來學(xué)習(xí)一下高安的工作原理,也就是套路。一個(gè)字概括就是:RSA算法。(我數(shù)學(xué)很好)什么,你說你不知道什么是RSA?好吧,那你真的要好好補(bǔ)習(xí)一下基礎(chǔ)知識(shí)了。已經(jīng)了解什么是RSA算法的朋友請(qǐng)直接跳過“補(bǔ)習(xí)班A班”,繼續(xù)向下閱讀。
板凳
 樓主| 發(fā)表于 2019-7-30 20:27 | 只看該作者 | 未知
【補(bǔ)習(xí)班A班:密碼學(xué)與RSA算法 上課】
密碼學(xué),簡單說就是用密碼保護(hù)一些內(nèi)容不被沒有密碼的人獲取。因?yàn)檫@是補(bǔ)習(xí)班,我們就介紹密碼學(xué)中最常用的兩類:對(duì)稱密碼與非對(duì)稱密碼。唉唉唉,這位同學(xué),你先別不耐煩。我知道你聽不懂,所以下面我用你能聽懂的話給你講。對(duì)稱密碼,就是你用“233333”作為密碼加密一串字“高安去死”后,變成&^%#*&%(一串亂碼)。然后如果你想解密這串亂碼,你還要用“233333”這個(gè)密碼。

非對(duì)稱密碼,就是你用“233333”加密后,再想解開這串亂碼時(shí),必須要用另一個(gè)密碼,比如“566666”。其中密碼“233333”和密碼“566666”是配套的,不是你隨便設(shè)定的,是按照一定規(guī)律生成的,但這都不重要。重要的是,當(dāng)你擁有一對(duì)兒,也就是兩個(gè)密碼之后,采用密碼“233333”加密的內(nèi)容只能用密碼“566666”解開。采用密碼“566666”加密的內(nèi)容只能用密碼“233333”解開。而RSA算法正是這樣的非對(duì)稱密碼的種類之一,工作原理大同小異。比方說,我用一個(gè)“神秘密碼”(其實(shí)就是566666)加密“高安去死”四個(gè)字然后發(fā)給你這串加密后的亂碼&^%#*&%,再發(fā)給你一個(gè)密碼“233333”。(而“566666”這個(gè)密碼你就假裝不知道,乖~) 那么在這種情況下,想想看,你能做什么。懶得想?沒問題,我直接說了:你可以用“233333”輕輕松松得解開我這串用“神秘密碼”(就是你假裝不知道的566666)加密的亂碼。你還可以用“233333”加密你自己的文字“高安滾蛋”再發(fā)給我,但是只有我才能解開你發(fā)的內(nèi)容,因?yàn)橹挥形覔碛小吧衩孛艽a”。非對(duì)稱算法(包括RSA算法)中,我們把“神秘密碼”稱之為“私鑰”,無條件發(fā)給你的“233333”公開的密碼叫做“公鑰”。公鑰任何人都可以知道,而私鑰只有受信任的人和設(shè)備才能知道。

不好意思,到這里補(bǔ)習(xí)課程還沒有上完。在實(shí)際應(yīng)用中,諸如RSA算法的非對(duì)稱算法除了上述的加密用途以外,還有一個(gè)重要的用途,我們稱作簽名。簽名就好比說,你拿到了一份可口可樂公司的重要飲料調(diào)制配方,可你怎么證明它確實(shí)是可口可樂公司流傳出來的呢?因?yàn)樯厦嫔w有可口可樂公司獨(dú)一無二的印章。簽名的目的就是,證明一個(gè)文件由私鑰的持有者發(fā)布。而去驗(yàn)明一個(gè)文件是否由某個(gè)私鑰的持有者簽名,需要用配套的公鑰,且只能用公鑰去驗(yàn)證。也就是說,如果我持有私鑰“566666”且只有我知道這個(gè)密鑰,我將“你懂的.zip”簽名然后傳給你,然后呢你怕是病毒可是又想看里面刺激的內(nèi)容,于是你用早已拿到的我公開發(fā)布的公鑰“233333”證明“你懂的.zip”確實(shí)是我發(fā)布的,不是別人發(fā)布的。

至此總結(jié)一下,RSA等非對(duì)稱算法的核心就是:
1) 非對(duì)稱算法的主要用途是加密與簽名數(shù)據(jù)。
2) 公鑰加密的數(shù)據(jù)只有私鑰才能解開。
3) 私鑰加密的數(shù)據(jù)只有公鑰才能解開。
4) 公鑰和私鑰是配套的,且公鑰公開,私鑰保密。
5) 私鑰簽名的數(shù)據(jù)可以且只能用公鑰驗(yàn)證簽名。

你說我講了這么多腦袋都大了?乖乖,這可是理解高級(jí)安全的基礎(chǔ)之基礎(chǔ)!沒有這些知識(shí)就不用想著理解高安的工作原理了。關(guān)于更多的非對(duì)稱算法的工作原理我就不在這里贅述了,有興趣的朋友可以自行上網(wǎng)搜索,相關(guān)資料多得很。這里我只講述理解高安所必需的知識(shí)。
【補(bǔ)習(xí)班A班 下課】
地板
 樓主| 發(fā)表于 2019-7-30 20:27 | 只看該作者 | 未知
那么現(xiàn)在我們可以聊聊高安的“看家本事”RSA算法了。一般的,CA(智能卡)廠商是“皇帝”,因?yàn)樗麄兩刹⒄乒苤鄠€(gè)RSA私鑰。每個(gè)高安功能,例如高安boot、高安CA都有一個(gè)獨(dú)立的私鑰,都是由CA廠商生成的,且私鑰完全掌握在CA廠商的手里。這些分功能的私鑰們(包括公鑰們)被燒死在每一個(gè)生產(chǎn)出來的機(jī)頂盒的CPU(芯片)中,它們(私鑰和公鑰們)無法從發(fā)售出的機(jī)頂盒中提取。CA廠商正是利用RSA算法的種種特性,實(shí)現(xiàn)對(duì)機(jī)頂盒各個(gè)模塊的分塊保護(hù)。如上所述,本篇文章只介紹高安boot和高安CA兩項(xiàng)功能。

我們先來介紹高安boot,也就是高安啟動(dòng)。為什么先介紹這個(gè)呢,因?yàn)楦甙睠A涉及的內(nèi)容太多了,想想都懶得先寫它。高安boot是機(jī)頂盒制造商或提供方防止用戶刷第三方固件的有效手段,主要涉及的相關(guān)技術(shù)是RSA私鑰簽名技術(shù)。一般Linux機(jī)頂盒(安卓等)正常的啟動(dòng)流程是,上電,進(jìn)入boot分區(qū),進(jìn)入系統(tǒng),然后加載系統(tǒng)引導(dǎo)程序(init)。這個(gè)時(shí)候,我無論是直接改掉boot分區(qū),還是我改掉init進(jìn)程,或者在原生系統(tǒng)上改幾個(gè)系統(tǒng)文件(刪掉幾個(gè)APP),貌似都沒什么影響。高安則是噩夢(mèng)的開始。高安啟動(dòng)首先會(huì)讀取燒死在高安CPU中,CA廠商專門為高安boot模塊生成并燒寫的公鑰。高安CPU使用該公鑰校驗(yàn)boot分區(qū)的簽名。如果發(fā)現(xiàn)簽名不對(duì),拒絕啟動(dòng)。這一過程是由芯片完成的硬件啟動(dòng)過程。其實(shí)說到這里,機(jī)頂盒制造商也是一臉無辜。因?yàn)?,他們辛辛苦苦寫的boot分區(qū)還要提交給CA廠商查驗(yàn)(有些CA廠商還要求機(jī)頂盒制造商提供源碼以供查驗(yàn)),CA廠商校驗(yàn)無誤后用私鑰進(jìn)行boot簽名。機(jī)頂盒制造商在這件事情上也算是被牽著鼻子走了,心疼他們?nèi)腌姟=酉聛?,機(jī)頂盒制造商總算有點(diǎn)話語權(quán)了,但這對(duì)我們依然毫不樂觀。進(jìn)入boot后,機(jī)頂盒制造商的boot會(huì)校驗(yàn)引導(dǎo)程序init進(jìn)程的合規(guī)性。然后,系統(tǒng)開始啟動(dòng)。機(jī)頂盒制造商編寫的固件的init(系統(tǒng)加載程序)嚴(yán)格意義上將對(duì)所有的系統(tǒng)文件進(jìn)行檢查,常見的有檢查文件數(shù)量,文件大小,和文件哈希。如果發(fā)現(xiàn)任意一項(xiàng)不匹配,就會(huì)給你花式耍賴,例如無限重啟,反正你就是進(jìn)不去系統(tǒng),看不到桌面。但在我們國家,有些廠商并不“嚴(yán)格”。所以,時(shí)而會(huì)出現(xiàn)init偷懶不校驗(yàn)系統(tǒng)文件的情況,因此這樣我們會(huì)有機(jī)可乘。這時(shí),系統(tǒng)啟動(dòng)完畢,然后,你能動(dòng)的也只有用戶數(shù)據(jù)分區(qū)(data分區(qū))了。只能動(dòng)這個(gè)分區(qū),懂一點(diǎn)的人都知道,這樣已經(jīng)意義不大了。

其實(shí)高安boot這樣的原理說起來跟微軟公司在自家電腦上做的“安全啟動(dòng)”功能差不多,只不過微軟允許你選擇是否強(qiáng)制使用微軟公司的公鑰驗(yàn)證boot簽名,而CA廠商不會(huì)給你這樣的權(quán)利??吹竭@里,小伙伴們可以喝杯茶壓壓驚了。但是我相信你一定還抱有一絲絲的僥幸心理。嗯,是時(shí)候該給你潑一盆冷水了。在一個(gè)完全符合高安標(biāo)準(zhǔn)的高安boot環(huán)境中,若廠商嚴(yán)格執(zhí)行,那么我們來看看常用的那些小技倆還好不好使。你想刷第三方boot?沒戲,因?yàn)楦甙睠PU用RSA公鑰驗(yàn)證簽名這一關(guān)你就過不去。你想刷第三方系統(tǒng)?用不配套的boot根本引導(dǎo)不進(jìn)去。你說你不刷第三方的文件,只對(duì)原生系統(tǒng)做點(diǎn)優(yōu)化修改?沒戲,init程序查系統(tǒng)文件屬性這關(guān)你還是過不去。你說你把init給改了?沒戲,boot分區(qū)要校驗(yàn)init的程序?qū)傩?。所以,整個(gè)高安啟動(dòng)流程就是,簽名一環(huán)套一環(huán),直到系統(tǒng)完全啟動(dòng),中間無懈可擊(除非廠商沒嚴(yán)格按照標(biāo)準(zhǔn)設(shè)計(jì))。把你逼急了從根源上找突破口,上CPU調(diào)試技術(shù)?首先,RSA密鑰是燒死在CPU中的,無法提取。其次,你無法修改CPU的硬件運(yùn)行邏輯。再有,高安芯片封鎖了(或者說特別保護(hù)了)JTAG等常用的芯片調(diào)試技術(shù),讓你連跟蹤C(jī)PU行為都行不通,更不用提修改邏輯。怎么樣,驚不驚喜?意不意外?刺不刺激?別著急,還有更刺激的呢!接下來讓我們隆重請(qǐng)出高安CA!
5#
 樓主| 發(fā)表于 2019-7-30 20:29 | 只看該作者 | 未知
如果說高安boot在機(jī)頂盒或者說任何智能設(shè)備的領(lǐng)域更為普遍化,那么高安CA則是更具有針對(duì)性的了。高安CA應(yīng)用于DVB直播電視的CA卡(智能卡)和授權(quán)方面的保護(hù)領(lǐng)域。一般大家對(duì)于CA卡(智能卡)的理解就是,交錢,然后把卡插機(jī)頂盒上就能看付費(fèi)電視節(jié)目。嗯,如果你的理解也是這樣,歡迎進(jìn)入“補(bǔ)習(xí)班B班”。如果你確信自己已經(jīng)完全理解CA卡的基本工作原理,及CW被瘋狂共享的現(xiàn)狀,那么請(qǐng)?zhí)^這個(gè)補(bǔ)習(xí)班。

【補(bǔ)習(xí)班B班:CA卡的授權(quán)與工作原理及面臨的威脅 上課】
對(duì)于DVB直播來說,插卡收視已經(jīng)是深入人心。DVB所涵蓋的領(lǐng)域包括衛(wèi)星電視、有線電視和無線地面波,并且DVB組織的相關(guān)標(biāo)準(zhǔn)在亞洲、歐洲和大洋洲等地區(qū)被廣泛使用。這是廣播電視行業(yè)內(nèi)非常受歡迎的一個(gè)標(biāo)準(zhǔn),其節(jié)目鑒權(quán)(保護(hù))方式是通過不同CA廠商設(shè)計(jì)的智能卡及配套系統(tǒng)。我們知道,DVB信號(hào)的傳輸通常以RF射頻同軸線纜作為載體。DVB協(xié)議是一個(gè)單向的廣播式傳輸標(biāo)準(zhǔn)。這就像一個(gè)大喇叭,傳出去的消息可能千千萬萬的人都能聽到(從一個(gè)源點(diǎn)復(fù)制很多份),但是沒有一個(gè)人能夠向喇叭往回傳送信息的。這樣就是單向傳輸+廣播傳輸。接收付費(fèi)節(jié)目需要天線(如果有),RF射頻同軸線纜一段,機(jī)頂盒一臺(tái),智能卡一張。喂喂,別打岔,說什么電源的事兒啊。智能卡用于控制授權(quán)信息,決定你是否有權(quán)限觀看某些付費(fèi)節(jié)目。很多人的一個(gè)誤區(qū)是,機(jī)頂盒通過讀取卡中是否擁有一組頻道的播放許可,決定是否為用戶播放該頻道。這樣的想法是完全錯(cuò)誤的。在整個(gè)付費(fèi)節(jié)目收視過程中,其實(shí)機(jī)頂盒是最無辜、最冤的一個(gè)龍?zhí)赘纾ㄅ荦執(zhí)椎模?。我們?cè)诒疚闹邪央娨暦?wù)提供方暫時(shí)稱作“廣電”,實(shí)則電視提供方可以涵蓋各種傳輸形式,包括衛(wèi)星電視提供商,有線電視提供商,地面波無線電視提供商等各類DVB直播電視提供商。廣電首先把節(jié)目分為多組,每一組節(jié)目包含一個(gè)或多個(gè)頻道,用于控制授權(quán)。先來說說每套付費(fèi)節(jié)目的加密情況。是的,每個(gè)付費(fèi)頻道的內(nèi)容都使用密鑰進(jìn)行了對(duì)稱算法加密。每個(gè)密鑰都大小是8字節(jié)(相當(dāng)于20位數(shù)字的密碼)。嗯,你肯定想到了,我把密碼破了不就能一直看了。CA廠商也想到了。于是,他們?cè)O(shè)計(jì)的CA系統(tǒng)每5-10秒左右就會(huì)更換一次密鑰。正確的獲取密鑰的方式是通過CA卡。也正是因?yàn)檫@個(gè)原因,機(jī)頂盒很無辜,因?yàn)榻饷芄?jié)目的密鑰只有CA卡才知道。它也必須要向CA卡索取密鑰才能解密付費(fèi)節(jié)目。CA系統(tǒng)頻繁的更換每個(gè)頻道的密鑰正是你需要一直插著卡才能看節(jié)目的原因,而不是插一次然后拔下來,像沖電費(fèi)一樣。好吧,那你說我們還是老老實(shí)實(shí)解密。大神們往下看的時(shí)候勿噴,因?yàn)橄旅娴慕忉屖菫榱俗羁炖斫獯笾鹿ぷ髟矶珜懙?,不是最完整的。你的CA卡里會(huì)存有你所有已經(jīng)付費(fèi)節(jié)目的授權(quán)信息,卡在接收到CA系統(tǒng)發(fā)送過來的一串密文后,會(huì)從中提取到所有有關(guān)該頻道的數(shù)據(jù),包括節(jié)目分組,及解密該頻道所需的密鑰。通過在卡內(nèi)檢查是否擁有授權(quán),決定是否告訴機(jī)頂盒正確的節(jié)目解密密鑰。機(jī)頂盒在收到卡發(fā)過來的密鑰之后,就可以開開心心解密節(jié)目了。你可能會(huì)問,卡插在機(jī)頂盒上,是怎么收到這些亂七八糟但有價(jià)值的CA數(shù)據(jù)的?好問題。廣電(DVB協(xié)議)會(huì)有一個(gè)專門的信道用于廣播CA系統(tǒng)發(fā)布的所有CA相關(guān)的數(shù)據(jù)。機(jī)頂盒再提取出這一部分直接轉(zhuǎn)發(fā)給卡就可以了。因此,你的CA卡可以收到CA系統(tǒng)想要發(fā)到卡上的所有數(shù)據(jù)。不用想著從中找到什么突破口,CA系統(tǒng)到CA卡的通訊都是加密的。機(jī)頂盒也只是無辜的原樣轉(zhuǎn)發(fā)。機(jī)頂盒若是屏蔽這些CA數(shù)據(jù),就同樣也收不到解密節(jié)目用的密鑰。
6#
 樓主| 發(fā)表于 2019-7-30 20:32 | 只看該作者 | 未知
看到這里你可能又會(huì)問了,CA系統(tǒng)看起來這一切已經(jīng)做得很完善了,這又是哪兒來的威脅呢?是,CA系統(tǒng)自身是沒什么威脅了??墒?,廣電的利益卻受到了威脅,而其中的根因正是在CA系統(tǒng)上。這就是我們常聽說的節(jié)目“共享”(或共享收視、共享號(hào)等)。不知道你有沒有發(fā)現(xiàn)上面節(jié)目解密過程中的一個(gè)問題,那就是一旦卡認(rèn)為你有權(quán)利收看這個(gè)頻道,那么機(jī)頂盒就可以獲得該時(shí)段(5-10秒鐘)的解密密鑰。
7#
 樓主| 發(fā)表于 2019-7-30 20:33 | 只看該作者 | 未知
如果機(jī)頂盒不老實(shí),像個(gè)大喇叭一樣把每次(每個(gè)5-10秒)獲得的密鑰向大庭廣眾公布出去呢?這樣就實(shí)現(xiàn)了一人交錢,百人收看。而且這種行為確實(shí)沒有攻擊CA系統(tǒng)自身。這就好比我買了一張加密的DVD光盤,但是我可以依次借給100個(gè)人觀看,并沒有破解其中的DVD加密系統(tǒng)。這樣對(duì)廣電的利益產(chǎn)生了極大的損害,尤其是一些國外體制下的電視提供商。
8#
 樓主| 發(fā)表于 2019-7-30 20:36 | 只看該作者 | 未知
本帖最后由 Delta_18 于 2019-7-30 20:37 編輯

這樣一來,問題還是出在了CA廠商上。因?yàn)閺V電向CA廠商購買了保護(hù)系統(tǒng),但CA廠商還是間接使其損失了部分利益。在接下來的內(nèi)容中,我們將對(duì)解密單頻道節(jié)目中所用到的每個(gè)密鑰,使用其專業(yè)名稱:控 制 字(英 文 全 稱 C o n t r o l   W o r d),縮寫為CW,進(jìn)行講述?!狙a(bǔ)習(xí)班B班下課】
9#
 樓主| 發(fā)表于 2019-7-30 20:38 | 只看該作者 | 未知
高安CA誕生的根本目的則是為了解決CW被盜用并瘋狂共享給其他用戶的問題。它深刻認(rèn)識(shí)到CW不被加密的現(xiàn)狀所導(dǎo)致對(duì)廣電行業(yè)的危害。為杜絕那些“不老實(shí)”的機(jī)頂盒充當(dāng)“大喇叭”向其他盜版用戶發(fā)送CW,特意引入了高級(jí)安全特性的CA芯片。高安CA所使用的核心技術(shù)為RSA算法的加密解密技術(shù)。在CA卡向機(jī)頂盒傳輸明文(不加密的)CW的過程中,外包一層或多層強(qiáng)加密(例如采用3DES算法),使CW無法被從中提取。你可能會(huì)想到,怎么加密的就把它怎么解密了不就完了。嗯,CA廠商也想到了。于是他們干脆把整個(gè)CW的傳輸過程都交給高安芯片去做,也就是一個(gè)硬件級(jí)別的加密解密過程。在CA卡向機(jī)頂盒高安芯片傳送CW的過程中嵌套了2-3層隨機(jī)的對(duì)稱加密密鑰。這里具體不多贅述,因?yàn)榉凑平獠涣?,說多了沒意義。嵌套密鑰的作用正是為了防止你從中發(fā)現(xiàn)外包加密的規(guī)律,進(jìn)行哈希碰撞等破解操作。其中無論是如何加密,嵌套幾層,歸根結(jié)底要用到燒死在高安CPU中另一枚專用于高安CA的私鑰。芯片通過用這枚私鑰,依次解密嵌套加密(這樣的操作有點(diǎn)像俄羅斯套娃),最終獲得正確的CW,并且直接寫入硬件解擾器(DVB-CSA解擾器),不給你從中下手的機(jī)會(huì)。整個(gè)過程全部基于硬件交互,在芯片調(diào)試被保護(hù)起來的情況下,你沒有辦法通過跟蹤芯片獲得明文CW。這塊看不明白的朋友們一會(huì)請(qǐng)自覺到“補(bǔ)習(xí)班C班”門口排隊(duì),謝謝。因此就算是俄羅斯套娃,最后最小的一個(gè)“娃”,永遠(yuǎn)是個(gè)秘密,你永遠(yuǎn)都看不到(只有CA廠商知道)。一句話總結(jié)就是:在高安CA中,CW被一坨復(fù)雜的外包加密,用硬件級(jí)別的保護(hù)給保護(hù)起來了。也就是說,所有采用高安CA系統(tǒng)的CA卡,都必須擁有一顆配套的高安芯片才能解密節(jié)目。并且高安芯片是根據(jù)不同地區(qū)、不同提供商定制的,其中的RSA私鑰必然也是不同的(一般是分地區(qū),每CA廠商每地區(qū)一個(gè)固定的高安CA RSA私鑰)。要說高安CA工作原理與現(xiàn)如今全球電影院放映機(jī)的授權(quán)和播放原理差不多,對(duì)后者有興趣的話可以偷偷找我來學(xué)呦??吹竭@里,簡直是又給不少星友潑了一盆冷水。因?yàn)?A(125 E)衛(wèi)星上的AVS2節(jié)目,正是用高安CA保護(hù)起來的。所以你們?cè)僖膊挥孟共聻槭裁垂蚕聿涣肆?,答案都在上面。舉個(gè)現(xiàn)實(shí)一點(diǎn)的例子,北京歌華有線(公司)負(fù)責(zé)為北京地區(qū)的居民提供廣播電視服務(wù)。從2017年起,歌華有線全新引入了永新視博公司(一個(gè)CA廠商)的高級(jí)安全CA系統(tǒng),并向客戶提供永新視博高安CA卡,及配套的高安機(jī)頂盒。但CA卡與機(jī)頂盒不綁定。那么在這種情況下,很多吃瓜群眾就會(huì)產(chǎn)生一些疑惑。比如,為什么用歌華有線的永新視博高級(jí)安全CA卡,插在第三方支持永新視博的機(jī)頂盒里無法收視呢?這是因?yàn)榈谌綑C(jī)頂盒中,即使支持永新視博讀卡,并且機(jī)卡不綁定,但缺少歌華有線定制的高級(jí)安全芯片,因此無法收看節(jié)目。從中我們不難看出,機(jī)卡綁定與高安芯片是兩回事。機(jī)卡綁定指定了CA卡必須插入具體的一個(gè)機(jī)頂盒,而高級(jí)安全CA則指定了CA卡必須插入任意一個(gè)具有配套高級(jí)安全芯片的機(jī)頂盒,并不指定具體的某一個(gè)。而再拿6A衛(wèi)星上的高安AVS2節(jié)目舉例,提供方曾為授權(quán)的所有十幾位用戶發(fā)放了專機(jī),那么這也就有了相同的解釋,因?yàn)閷C(jī)內(nèi)含有一顆解密該AVS2頻道專用的配套高安芯片,即使該頻道的CA廠商也是永新視博并且不機(jī)卡綁定,不擁有該款定制高安芯片的接收機(jī)(機(jī)頂盒)仍然無法解密收視。聰明的你們可能會(huì)突發(fā)奇想:咦,那有同款高安芯片的機(jī)頂盒豈不是可以共享節(jié)目了?嗯,還記得我上面說的嵌套加密嗎,里面有芯片的唯一識(shí)別碼,并且還有隨機(jī)密鑰的外包保護(hù)。因此,沒戲。至此,我們不難發(fā)現(xiàn),高安CA的核心是加密(保護(hù))CW,加密CW的核心是嵌套(強(qiáng)算法外包)加密,嵌套加密的核心是(燒死在CPU中的)RSA私鑰。一環(huán)套一環(huán),環(huán)環(huán)鎖死,直至硬件,無懈可擊。

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號(hào) )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號(hào)

GMT+8, 2024-10-23 04:37 , Processed in 0.073206 second(s), 14 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報(bào):report#znds.com (請(qǐng)將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表