非常高興看到有卡陣營的朋友對無卡CA提出種種質疑。有卡和無卡從名詞上來看是針鋒相對的,但都可以滿足現在數字電視的加密需求。因為站的角度不同 ,對于有卡CA和無卡CA的安全性高低個人覺得已經沒有討論的意義。一個從開放的角度,另一個從封閉的角度,因為站在自己的角度上,對方永遠是錯的,所以這樣的爭吵永遠沒有結論。在這里,我們拋開概念、安全之爭,從機頂盒技術的發展歷史說起,大家或許可以看出數字電視技術的發展方向,并從中找到正確的道路。
站在從CA是一個標準這個的角度來講,筆者非常認同《DVB標準,歐洲人的圈套?》這篇文章。這里指的DVB標準應該是DVB標準的后端部分,而不是信道解碼部分。但并不是很認同DVB標準有缺陷這個說法,筆者認為僅僅是沒有明確定義CA接口。這個CA接口也只是軟件接口方面的定義。受當時制定標準時的條件所限,筆者不認同一定是歐洲人設下的圈套。因為定義這個接口很簡單,而且可以做到中性,只是后來發現各個公司通過對這個接口進行私有封閉的定義可以從中獲取利益,進而不愿意將自己的私有喲定義開放。,但這卻給對這卻給現在技術發展方向認識上比較清醒的人們留了一個被套牢的印象。再加上在數字化之初,業界和管理者都沒有認識到這種封閉標準所帶來的危害性,沒有像日本那樣,在開始數字化的時候,統一明確定義CA接口,所以才會出現CA標準的混亂。與硬件有關的DVB標準沒有問題,CA的混亂封閉僅僅是后來CA公司處于商業目的人為造成的。,而談論DVB標準的誕生也不能不考慮當時的歷史背景。
在十幾年前制定數字電視DVB技術標準的時候,數字電視乃至IT技術的水平與現在相比不可同日而語。從事數字電視技術較早的工程師都知道,在數字電視技術剛剛開始得到應用的那幾年,半導體工藝剛進入亞微米(<1um,1um=1000nm)時代,單片式的機頂盒芯片都還沒有出現,更沒有現在的機頂盒芯片高級安全功能的概念,好像連電腦CPU芯片的ID號概念都沒有。普遍增加高級安全功能的機頂盒芯片大量出現也就是這幾年的事情。而在當時將類似PROM之類的存儲器和MCU系統做在一起的芯片工藝復雜,價格非常昂貴,現在意義上的智能卡還沒有投入商用。能夠獲得較便宜的可以寫入機頂盒ID號的芯片是PAL、PLD之類的可編程邏輯門陣芯片。最初的數字電視加密及尋址技術就是靠這些焊在線路板上的芯片實現的。所以,最早的數字電視加密是無卡的。
因為受半導體工藝技術的限制,芯片的集成度很低,當時機頂盒的線路板比現在的計算機主板還要復雜,價格也非常昂貴,主要用于有線電視前端作為信號源接收。從事電視行業較早的廣電技術人員都知道,現在的數字電視機頂盒在當時不叫機頂盒,而是稱做綜合接收解碼器(Integrated Receiver Decoder,簡稱IRD),至今還有一些廣電的機房里作為節目源的衛星接收機叫做IRD。所以,最早的數字電視機頂盒主要用于工程而非家庭。隨著IRD價格的不斷下降,才開始大量進入家庭。
而當時還沒有智能卡這個概念,普遍叫做IC卡,主要是存儲一些簡單的信息,所以很長一段時間內大家叫它為IC卡,直到現在還有很多人這樣叫。后來隨著技術進步,大約從2000年左右開始,卡里集成進MCU,在有了一定的運算能力之后才逐漸叫它為智能卡。隨著智能卡價格逐漸被接受,再加上它使用方便,很快在各個行業中得到廣泛應用,其中包括現在數字電視加密智能卡的銷售對象運營商,而機頂盒的銷售對象是普通用戶。這種技術和商業模式最初在歐洲形成,并擴散到全世界,一直持續到現在。
值得指出的是,機頂盒是一個舶來詞(Set Top Box),意思是放在電視機上面的盒子,是在中國開始有線電視數字化時叫起來的。Set Top Box的叫法首先在美國和歐洲有線電視行業興起。最開始的時候,有線電視運營商為了增加傳輸電視節目的數量,用到了增補頻道,而那個時候的電視機普遍沒有接收增補頻道的功能,于是就出現了能接收增補頻道的轉換器。當時在國內有人叫有線電視上(下)變換器、有線電視變頻器、增補頻道變換器,叫法比較亂。在那個時候時,泰信就開發了一款用于這種變換器的芯片。這款控制芯片當時賣到近20元。
這是一顆掩模型的8位單片機,比現在的機頂盒芯片還要貴。說出來或許現在很多人不相信,那時候這顆芯片的程序資料是用軟盤郵寄的方式提供給國外半導體廠家的,連電子郵件都沒有。也就是在泰信用軟盤傳遞MCU代碼的時期,DVB的同密標準才開始制定。所以,在當時恐怕誰都沒有想到,十幾年后的網絡技術會如此發達,更想不到CW網絡共享會變成CA安全的一個克星。所以,當時有的CA公司針對機頂盒的CW通訊是透明的。對CW加密傳輸確實提高了CA的安全性,后來廣電行業對CW是否有加密傳輸作為判斷一個CA技術水平的依據。
因為CA和機頂盒有嚴重的軟硬件捆綁導致CA代碼無法更新,比較老舊的CA至今還延續著CW透明的傳輸方式。在《DVB標準,歐洲人的陰謀?》講到在制定DVB標準時,懷疑標準制定者故意不定義CA接口,以套牢照搬照抄DVB標準的國家和運營商。但筆者覺得他們可能沒有那么陰險,在當時的歷史條件下,不可能想得那么遙遠。只不過是后來因為智能卡CA沒有與時俱進,沒有改變靠封閉獲得安全性的技術和商業模式,以嚴守CA接口的秘密來獲取利潤。于是在越來越開放的環境下,這種封閉受到了越來越嚴重的挑戰。
智能卡CA在EMM授權信息上利用了智能卡唯一序列號,授權信息與之相關聯,并將授權信息保存下來。在這里,智能卡發揮了它的強項。但在從ECM中把CW解密出來的過程就與智能卡的ID號沒有了關系,并且所有智能卡都是一樣的。就當CW被解密出來之后,還要通過一個接口送到機頂盒里,其安全性完全脫離開機頂盒,所以才出現了問題。這種ECM加密和硬件之間形成了弱關聯,甚至沒有關聯,安全性完全依靠對算法和密鑰的人為保密,以及智能卡對它的保護,這樣獨立于機頂盒硬件之后的加密算法就很容易受到攻擊。這就是為什么在衛星電視領域,每當一個新版本的CA推出后就很快遭到破解。直到CW共享變成了主流盜版模式之后,黑客才減弱了對ECM加密算法的攻擊。
一些CA公司為了適應大批量生產,智能卡芯片是掩模的,代碼不可更改,所以ECM算法破解后就可以長期使用,直到被破解的卡被完全換掉。在這個過程中黑客是可以偵測出CW的,所以有的CA廠家就在這個表面的接口上做文章,給要傳輸的數據染色,以便追蹤共享的來源。這僅僅能對付很初級的黑客,但實際上,接觸到機頂盒CA的軟件工程師可以不受任何干擾,就可以繞過這種追蹤,直接得到沒有染色的CW,再將它擴散出去。
于是,為了不讓外界的機頂盒工程師接觸到機頂盒CA軟件,有的CA公司只能采取更加封閉的技術措施,將所有與機頂盒有關的軟件全部封閉在自己公司內部開發,不再把包含有染色的機頂盒CA軟件授權擴散給機頂盒廠家,使得機頂盒技術有越來越封閉的傾向,特別是在三網融合的背景之下,十分不利于數字電視技術的發展。但從保密的角度,這種做法是將安全性向機頂盒轉移,只不過是從封閉的角度進行的。其實與無卡CA殊途同歸,最終都是要拋棄智能卡。
因為DVB同密標準中對于EMM、ECM、CW的傳輸定義足夠靠近底層,可以很靈活地對其進行定義。所以,足夠靠近底層基礎的DVB標準沒有問題,只是各個CA公司為了經濟利益在這個基礎上的定義都是封閉保密的,CA公司一多就形成了混亂,進而導致了現在機頂盒的嚴重混亂。
泰信對這些接口進行了規范和開放,并將CA的安全性定義到與其相關聯的機頂盒硬件上。于是CA軟件就可以做到開放透明,可以通過下載實現和增加各種CA功能,適應了在開放的環境下保證CA的安全性,從而對DVB CA標準的接口定義方面作了有益的補充。這個接口不但可以加載無卡CA,也可以加載智能卡CA,從而做到了向下兼容與統一。在機頂盒芯片高級安全功能越來越普遍的情況下,泰信定義的這種開放式CA得到了越來越多運營商的支持,從而保證了數字電視向三網融合過程中的平穩過渡。