硬體加密

硬體加密

硬體加密定義:使用待加密的電子產品之外的硬體電路與待加密的電子產品進行通訊,讓產品內部程序通過通訊數據來判斷自己是否應該繼續執行程序。

硬體加密是通過專用加密晶元或獨立的處理晶元等實現密碼運算。將加密晶元、專有電子鑰匙、硬碟一一對應到一起時,加密晶元將把加密晶元信息、專有鑰匙信息、硬碟信息進行對應並做加密運算,同時寫入硬碟的主分區表。這時加密晶元、專有電子鑰匙、硬碟就綁定在一起,缺少任何一個都將無法使用。經過加密后硬碟如果脫離相應的加密晶元和電子鑰匙,在計算機上就無法識別分區,更無法得到任何數據。

硬體加密可以採用標準的網路管理協議,比如SNMP、CMIP等來進行管理,也可以採用統一的網路管理協議進行管理。

硬體加密原理


主控晶元產生一個隨機數,把這個隨機數發送到加密晶元,由加密晶元加密后回傳給主控晶元,由主控晶元判斷該數據是不是期望得到的隨機數據。如果是,主控晶元的程序繼續執行,否則報錯或停止運行。

硬體加密晶元分類


第一種是邏輯加密晶元,這種晶元一般是由一個EEPROM加上外圍邏輯電路,通過簡單的ID號或者邏輯認證口令進行保護認證,這種晶元的特點就是便宜,開發也最簡單,但破解難度最低,這種晶元一般用於對盜版沒什麼壓力,只是為了加一個保護的樣子。
第二種是帶有固定演演算法,採用比對認證模式的加密晶元,這種晶元相對於上面那種晶元複雜點,但由於採用的是比對模式,就算線路上傳送的是隨機數或者被加密的隨機認證碼,但並沒有能起到多高的保護作用,因為被保護的CPU中的程序是完整的,跟加密晶元之間只是存在著若干孤立的比對點,而當盜版商去破解這個系統的時候,不會去破解加密晶元,而是直接破解CPU獲得全部的代碼,然後跳過所有比對點。這樣就完成了破解。這種固定演演算法比對模式的加密晶元開發相對也不是太難,只要按照說明書上的認證流程開發,當然盜版商也很喜歡這樣的晶元,因為他的加密流程盜版商也很熟悉,破解方法都已經在破解圈被大家所熟悉。
第三種加密晶元是近幾年興起的採用高端(EAL5+)智能卡晶元內核,軟硬體開發商可以把自己軟體中一部分演演算法和代碼下載到晶元中運行。用戶採用標準C語言編寫操作代碼。在軟體實際運行過程中,通過調用函數方式運行智能晶元內的程序段,並獲得運行結果,並以此結果作為用戶程序進一步運行的輸入數據。加密晶元成了軟體產品的一部分。而加密晶元中的程序是無法被讀取或者拷貝的,從根本上杜絕了程序被破解的可能。這種產品無論硬體基礎還是內部操作系統方案,都是現在最先進的,破解難度最大的

硬體加密方式


硬加密——數據加密
與軟加密不同,此種方式將密鑰放入1個晶元(幾百位元組)中,設備端發送數據給晶元,晶元用密鑰生成密文返回到設備端,設備端判定密文合法性,決定是否繼續運行程序。
優點:加密過程不易遭受外界攻擊。
缺點:容量有限,加密防護手段不多,硬體剖片容易獲得密鑰;如果設備端程序泄露,會造成晶元失效。
硬加密——數據&程序加密
晶元容量提升,為用戶開放幾十K至上百K位元組容量的程序和數據空間,用戶可在晶元內部自定義實現程序功能,也可存儲相關參數信息。
優點:晶元中數據加密和程序運行外界難以跟蹤;數據和程序混雜,硬體破解分析困難。
缺點:與邏輯晶元比,成本略高。