利用CPU卡加密協處理器技術實現安全功能
PC軟件的盜版一直是困擾軟件行業(yè)發(fā)展的主要問題,同樣,在嵌入式應用領域,隨著近年來黑客技術和芯片解剖技術的發(fā)展,嵌入式系統(tǒng)所面臨的攻擊也越來越多,因此,為解決這一問題開發(fā)的防抄板技術引起了產品設計者的重視。
產品設計者所面臨的問題主要是黑客對產品的仿制,其目的是獲得產品設計技術或者降低產品設計成本,攻擊手段主要是抄襲產品設計者的線路板布線圖和通過拷貝獲得產品運行程序。
目前市場通用的ARM、DSP、單片機通常安全防護手段很少,更多的程序暴露在透明的Flash或EEPROM中,面對不斷發(fā)展的攻擊技術以及黑客之間的競爭,產品的破解時間和成本越來越低,相對于產品仿制者獲得的巨大利益,有時其破解成本甚至可以忽略不計。尤其在一些特殊行業(yè),如游戲、消費電子行業(yè),甚至出現了仿制產品大大多于自有產權產品的現象。因此,如何保護自身的利益,是產品設計者目前經常面對的問題,這也促進了嵌入式系統(tǒng)防抄板技術的發(fā)展。
在嵌入式系統(tǒng)中,更高的防護技術意味著更高的成本,但受到攻擊的產品往往是產銷量大的消費電子產品,為增加防護技術所增加的產品成本會削弱產品的價格競爭能力。市場上流行的防抄板安全技術及產品多屬于低成本解決方案,下文將對這些主流方案進行探討。
早期的口令認證防護技術:幾年以前,產品設計者通常采用一個邏輯加密卡芯片來給產品定義唯一序列號或存儲序列號,這種邏輯加密存儲器必須通過口令認證后才能進行讀寫,這種防護技術面向黑客的示波器,口令和明文傳輸的數據可輕易被獲得,防護技術已經完全失效和過時。
動態(tài)口令認證防護技術:為避免線路監(jiān)控固定口令的缺陷,一些防護芯片采用動態(tài)口令技術,其基本原理是防護芯片和MCU內置相同的密鑰和相同的對稱算法,利用隨機數作為通訊數據,MCU通過判斷防護芯片的計算結果正確與否來決定程序是否繼續(xù)運行。這種產品和技術解決了認證過程線路監(jiān)控的問題,但實際防護作用微乎其微。因為MCU本身沒有硬件防護功能才選用防護芯片,而這種防護芯片的硬件安全性甚至不如MCU,其內部存儲的密鑰可以很容易的被獲取。更重要的一點是,MCU在安全防護上僅僅實現了一個認證流程,可以很容易地被能夠修改程序的黑客跳過。目前市場上這種芯片的銷量雖然很大,但缺乏真正防護效果,實際上增加了產品設計者的成本。
動態(tài)口令認證+數據存儲技術:為解決僅需簡單認證的問題,有些公司繼續(xù)使用安全存儲技術,防護芯片內置動態(tài)口令和認證算法,并具有數據存儲功能。首先使用復雜的動態(tài)雙向認證技術,獲得存儲器的讀寫權限,然后讀寫敏感的數據信息。這種防護芯片在硬件上具有一定的安全性,因此具有一些防護作用。但是MCU端的安全性并沒有解決,黑客仍可以通過攻擊MCU端的程序獲取算法和密鑰,通過認證后監(jiān)控讀寫通道獲取敏感數據,其安全性具有局限性。
采用CPU卡加密協處理器技術的功能示意圖。
CPU卡通用COS保護技術:CPU卡在SIM領域和金融領域的廣泛應用,使得其安全性得到了廣泛的認知。金融應用以及SIM卡的巨大發(fā)卡量所帶來的潛在安全風險,使CPU卡面臨的安全挑戰(zhàn)最大,因此CPU卡的硬件安全防護技術是比較全面的,而且在不斷的升級,國際權威機構也有針對CPU卡的安全認證,其認證費用非常昂貴,因此CPU卡的設計和生產商往往是國際性的大公司,這也增加了人們對CPU卡的信任。
目前常用CPU卡的安全性體現在硬件和軟件兩個方面。CPU卡的硬件設計增加了許多傳感器,如高壓和低壓傳感器、頻率傳感器、濾波器、光傳感器、脈沖傳感器、溫度傳感器等,這些傳感器可以清晰地感覺到外部環(huán)境的變化,從而有效防止黑客利用改變硅片外部環(huán)境而誘導芯片誤感應的半入侵攻擊。為應對物理攻擊,CPU卡在芯片內部對存儲器和總線系統(tǒng)進行加密,存儲在芯片上的數據本身利用強大的密碼算法進行加密,即使攻擊者能夠得到這些數據,也只能獲得無用的信息。另一方面,采用有效的屏蔽網對攻擊者構成有效的屏障。采用微米級的超細保護線來覆蓋安全控制器。這些保護線被連續(xù)監(jiān)控,如果出現短路、切斷或損壞,就會啟動報警。采用多層次的保護措施,就可以對控制器起到較好的保護作用,以免遭受物理攻擊。此外,CPU卡內部還具有真隨機數發(fā)生器和硬件加密協處理器,以增加計算的安全性和速度。
除了CPU卡硬件安全性,CPU卡還使用內部操作系統(tǒng)COS來實現數據的安全管理,如使用安全狀態(tài)機來實現數據讀寫的權限管理,通過隨機數認證機制獲取存儲器的權限,卡內存儲的數據也可以使用密文或者動態(tài)密文的方式在線路傳輸,這些技術基本能夠解決在防護芯片一端的數據安全性。
采用CPU卡進行防護已經成為一種領先技術,CPU卡在SIM領域的巨量應用使得其成本也能夠逐漸下降到被設計者接受的程度。
盡管CPU卡比較安全,但依然沒有解決MCU一端的安全問題,對稱算法的使用使得在MCU端依然會暴露算法和密鑰,此外,對于CPU卡的使用者而言,COS功能已經設計好,只能被動使用固定指令,功能擴展困難,而且第三方COS的資料是公開的,COS本身的權威性和安全性也會受到人們的擔心和質疑。
開放的CPU卡加密協處理器技術
CPU卡實際上依然是一個單片機,盡管加載了各種安全技術,但它等同于一個迷你接口的安全單片機,針對COS廠商的軟件開發(fā)人員而言,COS編程等同于單片機開發(fā),所使用的開發(fā)工具和編程語言與單片機甚至是相同的。因此,如果采用CPU卡作為主MCU的一個安全協處理器輔助MCU工作,使得一些重要程序或數據處理過程在CPU卡內部完成,將解決MCU一端的安全問題,同時CPU卡內部通常也具備很大的數據存儲空間(20~120K字節(jié)),安全計算加大容量安全存儲,大大提高了CPU卡應用的性價比。
但對于單片機工程師而言,編寫COS或者與CPU卡進行通訊的過程中,面臨的最大困擾是復雜的ISO7816協議,同時還要熟悉CPU卡內部的結構,為解決這個問題,有的CPU卡內部預置了固件,將ISO7816協議變成普通的串口協議,同時通過調用固件,可以輕松完成對CPU卡內部資源的管理,這樣工程師就能夠像針對單片機編程一樣輕松自如地對安全單片機進行編程了。
開放的CPU卡加密協處理器技術相對于傳統(tǒng)的認證技術具有極大的優(yōu)勢,依托安全的CPU卡硬件平臺作為安全協處理器,設計工程師可以在安全協處理器內部自如地實現自己的設計思路,而不受第三方COS的制約,從而將設計思想和敏感數據完全控制在自己手中。
北京寶興達信息技術有限公司日前開發(fā)的新興產品ESPU0808已經引起了人們的興趣,在很多領域得到了成功應用,例如在游戲機內部,使用ESPU0808來計算人機博弈的中獎概率,在安防、IC卡消費、智能門鎖等領域,利用ESPU0808對正常用戶和黑名單進行管理,這項技術不僅增加了算法的安全性,同時減少了主MCU的負擔。
不過,使用這項技術依然有一些問題需要考慮,在CPU卡加密協處理器內部運行的程序應具有很好的隨機性,簡單的程序和過少的數據交互會增加黑客的攻擊機會。
隨著技術的進步,防抄板技術也在不斷地發(fā)展,以對抗不斷增強的黑客攻擊手段。
評論