《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > KEELOQ加密算法在硬件加密中的應用

KEELOQ加密算法在硬件加密中的應用

2008-03-31
作者:李 羅,盧建剛

  摘 要: 基于KEELOQ的硬件加密" title="硬件加密">硬件加密方法可解決目前通過PCB抄板和芯片解密仿造產品的問題。針對此方法,提出了具體的軟硬件設計方案。該方法能夠對產品的產權進行保護,阻止盜版活動,加強信息安全。同時,它也可以用于對U盤等數據存儲器中的數據進行加密,以開拓KEELOQ算法新的應用領域。
  關鍵詞: 硬件加密 KEELOQ 跳碼


  隨著信息社會的飛速發展,大規模集成電路和嵌入式系統" title="嵌入式系統">嵌入式系統的應用已深入到各個行業。于是,軟硬件知識產權的保護、系統的安全運行等也就成為人們關注的問題。目前,利用PCB抄板技術直接讀取存儲在ROM或Flash中的程序代碼來進行產品仿制的盜版行為越來越多。因此,只有更好地發展加密技術" title="加密技術">加密技術,才能更有效地保護知識產權。本文對KEELOQ技術的良好加密性能進行深入研究,并把它應用到嵌入式系統加密保護中。
1 現有的軟硬件加密技術
  嵌入式系統由處理器、存儲器、傳感器、數據接口和嵌入式軟件等部分組成。其中程序存儲器" title="程序存儲器">程序存儲器、數據存儲器和嵌入式軟件的加密是硬件知識產權保護的關鍵所在。很多嵌入式系統都采用外部擴展程序存儲器,只要有相應的控制信號出現,程序存儲器便對CPU是透明的。因此,建立一個同樣的硬件電路,拷貝一片新的程序存儲器即能完成仿制。因而系統設計人員十分關注微機系統的程序保密性及提高保密性的方法。目前主要有以下幾種保密方法[1]
  (1)無關值插入法
  在源程序中的某些地方插入一些與源程序無關的值,可使反匯編出來的源程序面目全非。
  (2)總線置亂法
  在單片微機的應用領域(如采用擴展程序的存儲器)中,為了防止從程序存儲器中直接得到正確的源程序,可以采取地址、數據總線置亂的方法。若該微機系統的地址總線為n根,則將它置亂的方式有n!種。
  (3)求反、異或加密
  將程序存儲器里的代碼按有效程序代碼逐字節求反后存放,或者按同鑰匙碼異或后的二進制碼存放。這樣,解密者直接反匯編將得不到正確的原代碼。
  以上三種方法雖然有一定作用,但有經驗的設計人員經過分析后,仍有很大的破解可能,安全性不夠。
  (4)外部隨機存儲器" title="隨機存儲器">隨機存儲器驗證法
  在一外部隨機存儲器中預先寫入一些數據,系統運行時,CPU首先從該存儲器讀取數據,這些數據可以是CPU執行程序的條件判別依據,也可以是CPU將執行的程序。如果數據正確,則整個系統能正常運行;否則系統不能運行。隨機存儲器由電池供電,能在掉電后保持數據。若對硬件電路沒有剖析清楚,拔下了隨機存儲器或取下電池,則隨機存儲器中的數據消失。在無正確源程序的情況下,根本無法恢復原來的數據。
  該方法的缺陷在于,只要分析清楚電路,隨機存儲器中的數據很容易被讀取。另外若不小心斷電,則會導致系統不能運行,不夠穩定。
  (5)訂制IC、FPGA、PLD
  該方法不易被破解復制,但成本過高,且不易實現。
  以下將要介紹的基于KEELOQ的硬件加密方法是一種新型的加密方法,具有不易破解復制、可靠、低成本、易于實現等特點,彌補了以上方法的缺陷,又綜合了各種優點。
2 KEELOQ跳碼加密技術分析
  KEELOQ技術是一種非線性跳碼加解密技術[2]。其原理如圖1所示。根據密碼學的原理,要保證加密系統的安全性,必須不斷地更新密碼內容,它包含著密鑰、被加密數據、算法等。KEELOQ技術完全符合這一特點。它著重于非線性和跳碼,二者結合使得每次發送的碼均以無規律方式變化,而且不重復,因此滿足高性能加密的需求。采用硬件電路產生加密碼,使編碼和加密變換過程都被封裝在芯片里,內部進行密鑰與編碼算法運算,每次發送不同密碼,即使被截獲,也不易被破譯。設置同步碼,阻止了通過截獲重發的破解方式。


  KEELOQ技術的核心思想[3,4]是:由64位廠商密碼、32位產品序列號和32位種子碼經過特定的生成算法生成64位的加密密鑰。用64位的加密密鑰去加密32位的數據CSR(包括4位功能碼,12位校驗碼,16位同步碼)得到32位的密文。
  加密機制為:首先定義一個非線性表,這個非線性表有5位輸入,一位輸出。它在CSR中間隔均勻地取固定5位,通過非線性產生一個輸出碼;這一位輸出碼再與加密密鑰中的15位、CSR中的2位進行異或運算后輸出第一位輸出碼CRYP[0];每輸出一位后,加密密鑰、CSR分別進行移位,加密密鑰作循環移位,CRYP[0]作為CSR移位的輸入;重復上述步驟直到輸出32位密文。依此方法,即使32位CSR中只有一位發生變化,用KEELOQ加密算法得到的CRYP密文也會有50%以上的數據位(16位)發生變化。解密過程類似。
  Microchip公司的HCS301是一款較典型的以KEELOQ技術為基礎的跳碼專用芯片。它是一塊8引腳的編碼IC芯片,里面集成了KEELOQ算法和其他一些功能,帶有四個按鍵接口,實現15位的功能/命令碼。內置192bit(12×16bit)E2PROM,用來存放EN_KEY(加密密鑰)、SN(序列號)、SYNC(同步碼)、SEED(種子碼)等。每次發送數據時,同步計數器的值都被更新,所以每次發送的密文都不相同,有效防止了空中截獲法和數據重傳帶來的安全隱患。
3 KEELOQ技術用于硬件加密的改進算法
  為了將KEELOQ技術用于程序加密,需要對算法進行一些改進[5]
  (1)原算法發送的數據中,其有用信息(如序列號、功能碼)全部在固定碼中,加密碼只作為一種加密用的附加數據,這樣不但降低了安全性,而且傳輸效率不高。以HCS300為例,發送的66位數據中只有32位為有用信息,傳輸效率比較低。改進后把同步碼映射到各組待加密的數據中,提高了傳輸效率。
  (2)原算法無法用于數據加密。由于原算法是由硬件芯片實現的,它所能加密的數據只限于序列號、同步碼等預先存在HCS301的E2PROM中的數據。它沒有數據入口,無法對數據流進行加密。因此,需要增加數據入口,改變對加密數據的長度要求,使其適合批量的數據加密。
  (3)原算法對功能碼的檢錯和糾錯的功能較弱。由于加密的都是關鍵數據,若在傳輸中出現誤碼,后果非常嚴重。因此需要增加對數據的檢錯和糾錯的功能。
4 KEELOQ硬件加密算法在硬件防盜版中的應用
  KEELOQ硬件防盜版技術由硬件驗證和程序加密兩部分組成,其框圖見圖2。


4.1 硬件驗證
  硬件驗證法類似于前面所述的外部隨機存儲器驗證法,只是外部隨機存儲器被替換為HCS301,這樣系統更為穩定可靠。
  CPU在第一次運行時會對HCS301進行學習,獲取序列號以及種子碼,并據此算出解密密鑰。每次開機上電或復位后,由CPU產生4位隨機數,送至HCS301的S0-S3。經過HCS301的硬件加密后,密文由PWM輸出至CPU。
  CPU收到密文后就用解密密鑰進行軟件解密,解密得到的4位隨機數、序列號及計數器的值若都與發送的內容相符,則通過驗證,主程序開始執行,否則主程序不會執行。驗證流程如圖3所示。


  這一驗證方式保證了CPU內部程序的保密性,將CPU換到其他電路將不能運行,除非知道HCS301的廠商密碼、同步碼等信息。而這些信息一般都是很難獲取的。
4.2 程序加密
  對于存放在外部存儲器中的程序或數據,可以用改進的KEELOQ算法進行加密,然后儲存起來。一般只須對程序及數據中的一些關鍵數據進行加密。
  關鍵數據加密的過程如下:
  (1)擴充非線性表。原算法是用64位密鑰去加密32位的明碼數據,現在把它擴展為64位密鑰去加密64位的明碼數據,密文長度也為64位。可按原規律擴展非線性表。
  (2)數據分組。盡管關鍵數據傳輸量較小,但還是必須對所要加密的數據進行分組。在使用分組時,對明文尾部不滿一個整組的碎片采用填充隨機數的辦法將其擴充為一個整組,然后進行正常加密。即數據分組長度、密鑰長度和輸出密文長度均為64位。
  (3)將同步碼映射到各組數據中。同步碼每次發送時均會改變,它是保證系統每次發送的密文都不一樣的根本。只需進行分配、疊代、移位、異或等簡單的變換即可完成映射任務。
  (4)封裝算法。算法經封裝后可方便地被各種程序調用。算法的入口參數有三個:EN_KEY、Data、Mode。其中EN_KEY為64位的加密密鑰;Data為64位被加密或被解密的數據;Mode為工作方式,有加密或解密兩種。
  (5)檢錯糾錯。在發送數據時還要加入檢錯和糾錯功能。檢錯視系統的要求可選奇偶校驗、CRC校驗等。糾錯可以用漢明碼。
  改進后的KEELQQ算法可用于數據加密的數據格式如圖4所示。


  讀寫數據的過程就是加密和解密的過程。對于不同組的數據要設置不同的同步碼。這樣存儲在外部存儲器中的關鍵數據就是用改進后的KEELOQ算法加密的。想要單純地復制其中的數據和程序是不可能的,只要出廠碼不被泄露,幾乎不可能破解,惟一可能的窮舉法用現有最快的計算機也要上百年的時間。若再配合取反異或等其他一些加密方法,破解的可能性幾乎為零。
  本文把KEELOQ的非線性跳碼編碼技術用于硬件加密的改進算法,對硬件進行雙重加密,大大降低了硬件盜版的可能。該技術可以廣泛地應用于各類存儲器、數據的加密,有著廣闊的前景。
參考文獻
1 任克強,劉 暉.單片機系統硬件與軟件加密技術[J].電子設計應用,2003;(7):61~63
2 Kobus Mameweck.An Introduction to KEELOQ Code Hopping(TB003)[J].Microchip Technology Inc,2002
3 岳云天,郁 濱.一種基于加密算法的編解碼IC的安全機制[J].電子技術,2002;29(7)
4 李福平,金偉正,鄧德祥.KEELOQ技術的軟件實現[J].電子技術應用,2002;28(6)
5 董 輝,盧建剛.一種基于KEELOQ的改進加密算法及其在單片機中的實現技術[J].電子技術應用,2004;30(9):14~17

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美精品在线| 蜜桃av噜噜一区| 欧美在线免费观看亚洲| 国产精品99久久久久久有的能看 | 尤物九九久久国产精品的分类| 国产精品少妇自拍| 国产精品av久久久久久麻豆网 | 欧美日韩亚洲91| 欧美精品三级| 欧美精品123区| 欧美大片va欧美在线播放| 欧美jizz19hd性欧美| 免播放器亚洲| 欧美高清不卡| 欧美精品国产| 欧美日韩国产在线看| 欧美日韩精品是欧美日韩精品| 欧美精品激情blacked18| 欧美成人免费全部观看天天性色| 另类尿喷潮videofree| 女女同性精品视频| 欧美福利一区二区三区| 欧美激情久久久久久| 欧美日韩福利在线观看| 欧美日韩精品三区| 国产精品国产| 国产欧美在线视频| 国内久久婷婷综合| 在线成人激情视频| 最新亚洲一区| 一区二区三欧美| 一区二区三区四区国产| 亚洲宅男天堂在线观看无病毒| 亚洲主播在线播放| 欧美诱惑福利视频| 亚洲人成人一区二区三区| 99在线热播精品免费| 亚洲男人的天堂在线aⅴ视频| 亚洲欧美大片| 久久久久久国产精品mv| 蜜桃久久精品一区二区| 欧美日本免费| 国产精品一二三视频| 黄色精品免费| 亚洲精品视频二区| 午夜精品福利在线观看| 亚洲国产欧美日韩另类综合| 亚洲精品欧美日韩专区| 亚洲一区二区三区色| 久久国产精品99国产| 久色婷婷小香蕉久久| 欧美日韩高清一区| 国产深夜精品福利| 亚洲国产精品黑人久久久| 9人人澡人人爽人人精品| 亚洲欧美日韩国产| 亚洲破处大片| 亚洲欧美日韩在线| 蜜臀久久99精品久久久久久9| 欧美视频国产精品| 黑人巨大精品欧美一区二区小视频| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美高清在线一区| 国产精品v欧美精品∨日韩| 国产区精品在线观看| 在线欧美电影| 亚洲永久免费精品| 亚洲乱亚洲高清| 久久精品道一区二区三区| 欧美日韩 国产精品| 国产在线精品自拍| 一区二区不卡在线视频 午夜欧美不卡在 | 国色天香一区二区| 99riav1国产精品视频| 欧美一区二区高清在线观看| 99精品99久久久久久宅男| 久久精品日产第一区二区| 欧美日韩免费| 一区二区亚洲精品| 亚洲影视中文字幕| 亚洲精品一区二区三区福利| 欧美中文日韩| 欧美视频专区一二在线观看| 在线观看日韩| 午夜老司机精品| 亚洲天天影视| 欧美成人精品激情在线观看| 国产精品亚洲综合| 夜夜夜久久久| 亚洲精品一线二线三线无人区| 久久成年人视频| 欧美视频一区二区三区| 亚洲大片在线观看| 久久成人免费电影| 午夜精品成人在线| 欧美日韩的一区二区| 亚洲二区在线观看| 久久精品亚洲国产奇米99| 欧美一区二区三区免费视频| 欧美日韩国产123区| 在线色欧美三级视频| 欧美一级播放| 性久久久久久久久| 国产精品ⅴa在线观看h| 亚洲美女在线国产| 亚洲精品三级| 噜噜噜噜噜久久久久久91 | 亚洲福利视频二区| 久久成人精品电影| 久久高清国产| 国产精品一区视频网站| 宅男噜噜噜66国产日韩在线观看| 亚洲日韩成人| 狼人社综合社区| 韩国精品久久久999| 午夜精品久久一牛影视| 午夜精品久久久久久久久久久久久| 欧美日韩国产一区二区| 亚洲精品乱码久久久久久久久| 亚洲精品视频在线看| 欧美高潮视频| 亚洲国产欧美日韩| 亚洲美女视频在线观看| 欧美高清视频一区二区| 亚洲黄页视频免费观看| 亚洲精品视频在线播放| 欧美巨乳在线观看| 日韩亚洲精品电影| 在线综合亚洲| 国产精品高清一区二区三区| 亚洲少妇中出一区| 亚洲宅男天堂在线观看无病毒| 国产精品99免费看 | 欧美一级免费视频| 国产女人精品视频| 欧美一区二区福利在线| 久久久久久亚洲综合影院红桃 | 欧美激情久久久久久| 亚洲日产国产精品| 亚洲视频网在线直播| 国产精品福利网| 亚洲一区影音先锋| 欧美自拍丝袜亚洲| 国内一区二区三区在线视频| 亚洲风情亚aⅴ在线发布| 毛片一区二区三区| 亚洲人成网站影音先锋播放| 亚洲午夜精品国产| 国产日韩视频| 亚洲精品日韩精品| 欧美日韩一区国产| 亚洲欧美日韩成人| 久久综合五月| 亚洲美女免费精品视频在线观看| 亚洲小视频在线观看| 国产欧美亚洲视频| 亚洲国产天堂久久综合| 欧美日本韩国一区二区三区| 亚洲一区二区三区四区中文| 久久成人免费网| 一区二区三区在线观看国产| 99亚洲伊人久久精品影院红桃| 国产精品久久久久久久9999 | 欧美激情亚洲精品| 亚洲午夜久久久久久久久电影院| 欧美专区日韩视频| 亚洲国产精选| 午夜精品影院在线观看| 韩国av一区二区三区| 制服诱惑一区二区| 国产人成精品一区二区三| 亚洲精品国产精品国自产在线| 欧美日韩一区二区三区四区五区| 午夜一区不卡| 欧美国产综合| 亚洲欧美日韩精品综合在线观看| 免费看黄裸体一级大秀欧美| 亚洲图片欧美午夜| 欧美77777| 亚洲男人影院| 欧美大片91| 午夜精品福利电影| 欧美日本国产| 亚洲第一页中文字幕| 国产精品大片免费观看| 亚洲第一级黄色片| 欧美午夜电影一区| 亚洲欧洲日韩女同| 国产精品最新自拍| 一本大道久久a久久精二百| 国产日韩欧美不卡| 夜夜夜精品看看| 黄色成人av在线| 亚洲嫩草精品久久| 亚洲黄色小视频| 久久人人看视频| 亚洲一区二区在线免费观看| 欧美紧缚bdsm在线视频| 久久激情婷婷| 国产精品亚洲综合天堂夜夜|