程序加密晶元
❶ 如何選用正確的加密晶元
對於加密晶元的選擇,要從三個方面考慮:晶元平台、晶元操作系統安全性、可行性加密方案。
1.晶元平台的選擇
目前嵌入式加密行業內存在兩大陣營,一個是傳統的邏輯加密晶元,採用的IIC介面,其原理是EEPROM外圍,加上硬體保護電路,內置某種演算法;
另外一個是採用智能卡晶元平台,充分利用智能卡晶元本身的高安全性來抗擊外部的各種攻擊手段。
邏輯加密晶元本身的防護能力很弱,大多數的解密公司都可以輕松破解,已經逐步被淘汰。
取而代之的是被證明最好的智能卡平台。
為提高智能卡晶元高安全性,要求選用的智能卡晶元具有國際安全認證委員會的EAL4+以上的晶元,否則安全性也難以達到要求。
凌科芯安公司的LKT系列加密晶元完全符合這個要求。
2.晶元操作系統的安全性在確定智能卡晶元平台的前提下,需要考慮的是晶元操作系統的安全性,凌科芯安的LKCOS操作系統,經過了權威部門的嚴格檢測,具有極高的安全性,不存在安全漏洞。
而未經過PBOC認證的加密晶元系統是無法具有高安全性的。
此外,凌科芯安的LKCOS對晶元內部資源可以進行有效的管理,同時對底層介面做了大量切實有效的防護,保證盜版商無法從晶元操作系統來攻擊或破解。
這一點非常重要,某些採用智能卡晶元平台的加密晶元只是提供了演算法下載的介面,對晶元資源管理和介面的底層防護幾乎沒有做任何的處理,那麼,盜版商是可以作為漏洞來進行攻擊的。
3.加密方案的選擇
傳統的加密晶元,都是採用演算法認證的方案,他們聲稱加密演算法如何復雜,如何難以破解,卻沒有考慮到演算法認證方案本身存在極大的安全漏洞。
清楚的知道,單片機是一個不安全的載體,對於盜版商而言甚至是完全透明的。
做演算法認證勢必要在單片機內部提前寫入密鑰或密碼,每次認證後給單片機一個判斷標志,作為單片機執行的一個判斷依據,那麼盜版商就可以輕松抓住這一點進行攻擊,模擬給出單片機一個信號,輕松繞過加密晶元,從而達到破解的目的。
如果要破解晶元內部數據,那麼通過傳統的剖片、紫外光、調試埠、能量分析等多種手段,都可以破解。
採用智能卡晶元平台的加密晶元,本身就可以有效防護這些攻擊手段,將MCU中的部分代碼或演算法植入到加密晶元內部,在加密晶元內部來執行這些程序,使得加密晶元內部的程序代碼成為整個MCU程序的一部分,從而達到加密的目的。
因為MCU內部的程序不完整,即便被盜版了,由於缺少關鍵代碼,也無法進行復制,那麼,選擇什麼樣的代碼或程序放入到加密晶元內部,就是考驗MCU編程者的功力了,盡可能地多植入程序並增加演算法的強度,就可以有效防止被破譯的可能。
LKT420032位的智能卡晶元平台可以解決上述所有問題,甚至在晶元內部做浮點運算都是沒有問題的。
因此建議,選擇加密晶元,首選智能卡晶元平台,更要選擇32位的智能卡晶元平台。
凌科芯安公司嵌入式加密IC的最大優勢集中表現在幾點:
其一,凌科芯安選用高端的智能卡晶元平台作為硬體載體,特別是32位的智能卡晶元,是國內唯一的32位加密晶元平台,安全性EAL5+級別的智能卡晶元,使得破解成為不可能。
其二,凌科芯安公司的晶元操作系統LKCOS,通過國家權威部門的檢測,具有極高的安全性,對底層埠的防護,做了大量的處理,保證加密IC埠的安全性。
同時,支持客戶自定義代碼下載並且運行的加密模式,也是國內第一個將演算法移植加密方案的實施者。
其三,凌科芯安公司加密方案的安全性,演算法移植的加密模式,最大的特點就是單片機程序是不完整的,如果單片機被破解,由於程序不完整,也是無法完成抄板的,被移植的部分程序,是很好的保護並運行在加密IC內部,客戶可以自由的編寫加密演算法或者加密的代碼。
而傳統的認證加密方案,及時選擇了安全性極高的智能卡平台晶元,也是無濟於事的,因為智能卡加密IC,無法破解,但是由於單片機程序的完整性,可以被破解,使得加密晶元失去了應有的作用。
所以,選擇合適的加密方案非常重要。
❷ 加密IC加密方式有哪些
當前推薦的有幾種方式,安全性由低到高分別為:
方式一,使用加密晶元內部存儲的一些數據(通常晶元唯一ID),在程序執行前或過程中做ID驗證,判斷是否為合法加密IC,如不合法則禁止操作
優點:操作簡單
缺點:安全性很低,一旦被截獲,則晶元失效
方式二
與方式一原理相似,但存儲在加密晶元中的為密鑰(AES
或者
DES,密鑰長度8位元組或16位元組),程序運行前或運行中,取隨機數
由加密晶元和程序本身對隨機數加密,驗證結果是否相同來判斷是否合法。
優點:晶元操作簡單
缺點:安全性有缺陷,如果MCU端程序被破解,會導緻密鑰泄露,晶元失效
方式三
可編程類加密晶元,可將MCU端的部分程序移植到加密晶元中,程序運行時由MCU端程序和加密晶元配合來實現完整程序的執行。
優點:安全性高,MCU端被破解不會影響程序安全性,必須破解加密晶元
缺點:開發略顯復雜
綜上所述:如想要真正的保護程序,還是建議用可編程類的晶元,安全性好,當前的環境下極難被破解。北京有一家公司在做,LKT4105也支持方式一和方式二,可以嘗試一下
❸ 如何使用加密晶元如何對程序加密
1.程序加密可結合AES演算法,在程序運行中,通過外部晶元中的AES密鑰,加密數據來驗證雙方的正確性,稱之為對比認證。
2.加密數據傳輸過程中,可通過AES加密後形成密文傳輸,到達安全端後再進行解密,實現數據傳輸安全控制。
3.綜合1和2,當前高大上的方式是程序加密可進行移植到加密晶元,存儲在加密晶元中,運行也在加密晶元內部運行,輸入數據參數,返回執行結果,同時輔助以AES加密和認證,實現數據程序的全方位防護
❹ 加密IC的加密原理
LKT4100防盜版晶元真正對用戶的軟體代碼和重要數據提供了全方位、高安全度的保護。其加密原理為一種全新的、可信的軟體保護模型,工作原理:在這套加密保護方案中,單片機內部應用軟體的關鍵的代碼和數據被安全地移植到LKT4100防盜版晶元的硬體中保護起來。在需要使用時,應用軟體可以通過功能調用引擎指令運行硬體中的關鍵代碼和數據並返回結果,從而依然可以完成整個軟體全部的功能。由於這些代碼和數據在單片機端沒有副本存在,因此解密者無從猜測演算法或竊取數據,從而極大程度上保證了整個軟體系統的安全性。這種加密方案是目前理論上最安全的加密方案。簡言之,LKT4100防盜版晶元提供了一套可信的解決方案,從理論上保證軟體加密的安全。
LKT4100防盜版晶元是目前全球硬體版權保護領域中第一款採用智能卡(Smart Card)技術嵌入程序代碼運行的硬體加密晶元。自LKT4100加密晶元引入硬體版權保護行業以來,超過1000家硬體開發以及方案開發提供商採用了這項先進技術,累計銷量已經突破5000萬片。
軟硬體開發商可以把自己軟體中一部分演算法和代碼下載到晶元中運行。用戶採用標准C語言, 編寫操作代碼。編譯並下載到智能晶元中。在軟體實際運行過程中,通過調用函數方式運行智能晶元內的程序段,並獲得運行結果,並以此結果作為用戶程序進一步運行的輸入數據。LKT4100防盜版晶元成了軟體產品的一部分。從根本上杜絕了程序被破解的可能。LKT4100防盜版晶元能有效保護自有軟體的知識產權,維護自身的經濟利益,有效避免軟體盜版。
❺ 最近聽說有一種程序保護的晶元,有人知道具體原理嗎難道能在裡面編寫c java或者更多的語言嗎想
語言環境是C,不在晶元中編程,是在Keil軟體里使用C編寫程序,生成hex格式的程序文件,然後再燒到晶元中。原理呢,也簡單,就是將程序放到晶元中保護起來,只能調用,但不能復制,通過加密晶元控制數量,保證不被抄板剽竊,程序區域最高可達百K位元組,數據區也很有特點,只能通過底層函數讀寫,在當今的加密方法中,屬於比較有效的一種方式。
❻ 加密晶元的工作原理是怎麼樣的
推薦CSDN文章《硬體加密晶元介紹 及 加密晶元選擇(加密IC)》,可以初步了解加密晶元的工作原理及常見演算法,網頁鏈接