CA系统的安全讨论
本期DVBCN進一步探討CA系統的安全性問題,之前有網友A認為無卡CA技術還是安全的,無卡CA沒有被破解的記錄,反倒是智能卡CA被破解得很厲害。CA的安全是靠芯片捆綁保護,實際上也是和芯片捆綁的,只不過捆綁的不是智能卡芯片,而是捆綁了主芯片以及帶有ID號的FLASH和DRAM,不論智能卡CA還是無卡CA,它的安全性都是取決于與芯片的捆綁。芯片硬件越復雜,破解的難度就越大,對應捆綁的CA安全性就越高。既然是和芯片捆綁,從安全的角度來講,捆綁多個芯片肯定要比捆綁一個芯片安全性要高,捆綁機頂盒芯片肯定比捆綁智能卡芯片安全性高。也有網友B認為靠技術封閉獲得CA的安全性不可取。
?????但這次網友C卻認為從目前情況來看,無卡CA明顯先天不足。由于高級安全特性芯片未廣泛應用,現有的無卡CA有的是沒有硬件安全保護,有的是在主板上增加一塊安全芯片(注意不是高級安全特性芯片,而是在普通機頂盒芯片旁增加的一塊負責安全功能的芯片)。沒有硬件安全保護的無卡CA,黑客僅需要復制機頂盒的FLASH就能制造盜版機頂盒觀看節目,完全沒有安全性可言;而增加一塊安全芯片的無卡CA,事實上是將智能卡的一部分安全保障功能轉移到安全芯片中完成,同樣存在回傳CW的通道加密問題及機頂盒中CW被盜取的漏洞。而安全芯片沒有智能卡的溫度探測、電壓探測及自毀功能,容易被黑客跟蹤內部程序,安全性不如采用智能卡的CA系統。詳讀下文:
???? 近期來,論壇上對CA系統安全性的質疑紛紛揚揚,甚至有人認為數字電視運營商就不應該上CA系統。對于這些質疑者的論調,我認為大家首先應該了解的是:任何安全性都是相對而言的。目前應用的安全系統,包括公認安全性較高的銀行系統,都是通過密碼算法、密鑰、密碼協議、密碼策略、密碼管理等來保障其安全性的。而一個系統有密碼算法,就有破解算法,關鍵是破解算法所需的計算量。比如銀行系統,由于采用了設計嚴密的SET/SSL協議,選用了強度較高的RSA非對稱算法、數字簽名及數字證書技術,使得黑客即使采用當前最先進的計算設備,硬性破解銀行系統也需要幾百年時間。CA系統的安全性,同樣是依靠密碼算法和協議來保障的。當然由于CA系統的私有性,各種CA系統采用的算法不一,有采用RSA和3DES融合算法的,也有僅采用DES算法的,也就是說,目前CA系統的算法強度不在一個數量級上。若采用強度最低的DES算法,黑客用一臺PC十幾天時間就能用窮舉法獲得密鑰,破解CA。而采用RSA和3DES融合算法,以窮舉法破解的時間會在百年以上。一句話,任何系統都是能被破解的,關鍵是破解系統所需的時間、支出與破解系統所得利益之間的關系。
??????當然,CA系統的安全性不僅僅依靠密碼算法的強度,也依賴于整個系統協議的健全性。許多CA系統的破解,都不是因為黑客攻破了算法,而是利用了系統的漏洞。對于CA系統而言,CW是整個系統的重中之重,對于一套加密節目,同一運營商的所有機頂盒都使用相同的CW對碼流解擾。因此,如何獲得CW就成為了黑客們千方百計尋找的漏洞。
??????目前,黑客們一般會采用三種方法獲取CW。第一種是從機頂盒與智能卡之間的通信接口截取CW。由于智能卡解出CW后必須回傳給機頂盒,這就成為了黑客們盯上的首要漏洞。以前的CA系統很多是將CW明文回傳的,黑客能很容易地截取并分析出CW。隨著CA技術的發展,如今大多數的CA系統已經對機卡之間的通信接口作了加密保護。由于CA系統的私有性,機卡通信加密算法的強度也有強有弱,有的CA系統僅用固定密鑰配合對稱算法對機卡通信信道加密,黑客們能很容易地用窮舉法推算出密鑰,破解系統。而較先進的CA系統則采用了一次一密的動態密鑰加密算法,每次機頂盒開機后,都會與智能卡協商產生不同的會話密鑰。頻繁的密鑰變化,使黑客們無法搜集足夠多的密文推算密鑰,即使推算出了密鑰,也僅能應用于某段時間而無法長期使用。
??????第二種方法是智能卡共享,也就是用一張正版的智能卡帶動兩臺以上的機頂盒。將多臺機頂盒與智能卡的通信數據接到同一張智能卡中,即可利用正版智能卡的計算能力向多臺機頂盒回傳CW。對于這一系統漏洞,各家CA系統基本都采取了有效的封堵措施。首先是機卡配對,由CA前端發送配對指令,使須配對的機頂盒與智能卡中存有相同的數字序列,每次機頂盒開機時都會與智能卡交互驗證該序列,這就使得一臺機頂盒只能與一張智能卡配合,限制了智能卡的共享。但機卡配對并不能完全杜絕智能卡共享的發生,黑客可復制機頂盒的FLASH,使多臺機頂盒都存有相同的配對序列,破壞機卡配對。而一次一密的機卡間加密通信則能從根本上解決該問題。每次開機時,機頂盒和智能卡之間都會根據智能卡號、當前時間及智能卡生成的隨機數等協商生成會話密鑰,也就是說,即使兩臺機頂盒完全一樣,由于開機時間和智能卡生成的隨機數不同,協商的會話密鑰也將不同。這就從根本上保證了智能卡無法同時與兩臺以上的機頂盒通信,杜絕了智能卡共享的發生。
??????第三種方法是從機頂盒中直接盜取CW,這也是目前大多數CA系統無法防范的一個漏洞。由于CW被寫入解擾器時必須是明文的,因此若黑客跟蹤機頂盒內程序運行,或直接在機頂盒中利用CA移植的機會安裝后門程序,都會泄漏CW。解決該問題的一種辦法,是在機頂盒中選用高級安全特性芯片。由于高級安全特性芯片具有唯一的ID號、加解密算法引擎及可讓CA廠商定制寫入的OTP(onetimeprogramming)區域,CW被傳入芯片時完全可以是加密的,CW可在芯片內部解密并寫入解擾器。高級安全特性芯片還封閉了JTAG調試接口,使黑客無法跟蹤芯片內部程序運行,保證了CW的安全。但目前高級安全特性芯片的應用還存在著較大的問題,芯片成本的增加、芯片必須由CA廠商定制引起的供貨周期大幅度延長都會對整個產業鏈產生影響。因此,高級安全特性芯片目前還處于起步階段,實際應用很少。
??????為了在現階段解決機頂盒中CW被盜用的漏洞,某些較有遠見的CA廠商采用了所謂的“CA內核下沉技術”。即與主流芯片廠商簽訂協議,由芯片廠商向該CA廠商開放解擾器的驅動代碼與硬件接口,由CA廠商將解擾器的驅動程序直接包含在CA內核中,這樣,CA廠商就獲得了對解擾器的直接控制,可以在CA內核中完成CW的解密與寫入,封堵了機頂盒中CW被盜用的漏洞。這種方法增加了CA廠商的工作量(需要根據不同的機頂盒芯片開發不同的CA內核),但在高級安全特性芯片未得到推廣的今天,無疑是解決機頂盒中CW盜用問題的較好方法。
??????針對前面提到的三種黑客破解方式,有廠商提出了無卡CA的解決方案,也就是不要智能卡,CA系統解密功能均在機頂盒中完成。從目前情況來看,無卡CA明顯先天不足。由于高級安全特性芯片未廣泛應用,現有的無卡CA有的是沒有硬件安全保護,有的是在主板上增加一塊安全芯片(注意不是高級安全特性芯片,而是在普通機頂盒芯片旁增加的一塊負責安全功能的芯片)。沒有硬件安全保護的無卡CA,黑客僅需要復制機頂盒的FLASH就能制造盜版機頂盒觀看節目,完全沒有安全性可言;而增加一塊安全芯片的無卡CA,事實上是將智能卡的一部分安全保障功能轉移到安全芯片中完成,同樣存在回傳CW的通道加密問題及機頂盒中CW被盜取的漏洞。而安全芯片沒有智能卡的溫度探測、電壓探測及自毀功能,容易被黑客跟蹤內部程序,安全性不如采用智能卡的CA系統。
??????安全性是CA系統的基礎,但CA系統并不僅僅只有安全功能。數字電視運營商需要CA系統的支持和配合來管理用戶、管理產品、開發增值服務,因此,CA是數字電視系統中不可或缺的一部分。當然,CA系統最根本的仍是其安全性,雖然從理論上說世界上沒有破不了的系統,但優秀的CA系統完全可以做到使黑客破解的成本遠大于破解后所得的利益,關鍵是數字電視運營商選擇的CA系統是否足夠優秀。
獲取CW成為了黑客們千方百計尋找的漏洞。
機卡間CW通信加密方式:
1.機卡通訊算法加密
有的CA系統僅用固定密鑰配合對稱算法對機卡通信信道加密,黑客們能很容易地用窮舉法推算出密鑰,破解系統。而較先進的CA系統則采用了一次一密的動態密鑰加密算法,每次機頂盒開機后,都會與智能卡協商產生不同的會話密鑰。頻繁的密鑰變化,使黑客們無法搜集足夠多的密文推算密鑰,即使推算出了密鑰,也僅能應用于某段時間而無法長期使用。
2.智能卡共享盜取CW字,解決方案機卡配對,黑客可復制機頂盒的flash是機頂盒有相同的配對序列。
3.在機頂盒中選用高級安全特性芯片。由于高級安全特性芯片具有唯一的ID號、加解密算法引擎及可讓CA廠商定制寫入的OTP(onetimeprogramming)區域,CW被傳入芯片時完全可以是加密的,CW可在芯片內部解密并寫入解擾器。高級安全特性芯片還封閉了JTAG調試接口,使黑客無法跟蹤芯片內部程序運行,保證了CW的安全。但芯片成本的增加、芯片必須由CA廠商定制引起的供貨周期大幅度延長都會對整個產業鏈產生影響。直接盜取CW,這也是目前大多數CA系統無法防范的一個漏洞。由于CW被寫入解擾器時必須是明文的,因此若黑客跟蹤機頂盒內程序運行,或直接在機頂盒中利用CA移植的機會安裝后門程序,都會泄漏CW。采用以上方法避免盜取風險。
4.某些較有遠見的CA廠商采用了所謂的“CA內核下沉技術”。即與主流芯片廠商簽訂協議,由芯片廠商向該CA廠商開放解擾器的驅動代碼與硬件接口,由CA廠商將解擾器的驅動程序直接包含在CA內核中,這樣,CA廠商就獲得了對解擾器的直接控制,可以在CA內核中完成CW的解密與寫入,封堵了機頂盒中CW被盜用的漏洞。這種方法增加了CA廠商的工作量(需要根據不同的機頂盒芯片開發不同的CA內核),但在高級安全特性芯片未得到推廣的今天,無疑是解決機頂盒中CW盜用問題的較好方法。
總結
- 上一篇: mysql DDL数据定义语言
- 下一篇: 玩转12306之系统登录