當(dāng)前位置:首頁(yè) > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]可編程邏輯器件(PLD)經(jīng)歷了PAL、GAL、CPLD 和FPGA幾個(gè)發(fā)展階段。使用PLD具有設(shè)計(jì)靈活、調(diào)試方便、系統(tǒng)可靠性高等眾多優(yōu)點(diǎn),并有利于硬件設(shè)計(jì)的保護(hù),防止他人對(duì)電路的分析、仿照,使其成為科研實(shí)驗(yàn)、樣機(jī)試制和小批量

可編程邏輯器件(PLD)經(jīng)歷了PAL、GAL、CPLD 和FPGA幾個(gè)發(fā)展階段。使用PLD具有設(shè)計(jì)靈活、調(diào)試方便、系統(tǒng)可靠性高等眾多優(yōu)點(diǎn),并有利于硬件設(shè)計(jì)的保護(hù),防止他人對(duì)電路的分析、仿照,使其成為科研實(shí)驗(yàn)、樣機(jī)試制和小批量產(chǎn)品的首選方案。

隨著計(jì)算機(jī)、單片機(jī)技術(shù)的發(fā)展和廣泛應(yīng)用,軟件加密成為知識(shí)產(chǎn)權(quán)保護(hù)的重要手段。目前微機(jī)軟件加密的方法可分為兩大類:軟加密和硬加密。軟加密主要有密碼方式、軟件自校驗(yàn)方式、鑰匙盤(pán)方式等多種。隨著軟加密的發(fā)展,解密軟件也大量出現(xiàn)。硬加密由于具有加密強(qiáng)度大、可靠性高等特點(diǎn),已廣泛用于微機(jī)軟件保護(hù)。硬加密將硬件和軟件相結(jié)合來(lái)實(shí)現(xiàn)軟件的加密,軟件在運(yùn)行時(shí)需與硬件正確交換數(shù)據(jù),否則程序不運(yùn)行,或不能執(zhí)行主要功能,典型的產(chǎn)品有:插在計(jì)算機(jī)總線上的加密卡,接在計(jì)算機(jī)并口或USB口的軟件狗(加密鎖)、微狗等。軟件狗大多用E2PROM存儲(chǔ)密碼數(shù)據(jù),電路簡(jiǎn)單,成本低,但用SOFT-ICE等軟件進(jìn)行軟件狗的解密和復(fù)制并不很困難。在這種情況下,軟件狗內(nèi)部增加了一個(gè)單片機(jī)稱為微狗,通過(guò)對(duì)數(shù)據(jù)的處理來(lái)提高軟件的加密強(qiáng)度;少數(shù)專業(yè)的硬加密生產(chǎn)商則采用獨(dú)自的ASIC芯片。加密卡的原理與軟件狗和微狗的相似,不同的是通過(guò)總線操作,使得設(shè)計(jì)更靈活、功能更強(qiáng),只是安裝不方便。

隨著某一加密產(chǎn)品加密操作方式的公開(kāi),其解密也就為期不遠(yuǎn)。新出現(xiàn)的解密軟件能模擬絕大部分軟件與加密狗間的數(shù)據(jù)交換過(guò)程,從而達(dá)到解密;國(guó)產(chǎn)的加密卡和微狗,大多外用E2ROM存儲(chǔ)配置數(shù)據(jù)和用戶密碼,獲取這些數(shù)據(jù)就可能解密、甚至復(fù)制微狗,因此加密方法的獨(dú)特性、手法的反常規(guī)性在加密應(yīng)用中非常重要。單片機(jī)/DSP系統(tǒng)的控制及外圍電路都相對(duì)簡(jiǎn)單,對(duì)軟件的跟蹤比較容易分析硬件的設(shè)計(jì)思想和實(shí)現(xiàn)功能,而目前對(duì)其軟件的保護(hù)并不受重視,并且單片機(jī)/DSP系統(tǒng)沒(méi)有現(xiàn)成的加密產(chǎn)品,設(shè)計(jì)者應(yīng)結(jié)合系統(tǒng)軟、硬件的要求靈活決定。我們利用PLD器件本身的加密保護(hù)特性,由其產(chǎn)生的偽隨機(jī)序列實(shí)現(xiàn)單片機(jī)/DSP系統(tǒng)和計(jì)算機(jī)應(yīng)用程序的加密,具有簡(jiǎn)單方便,解密難度大的特點(diǎn),同樣可用PLD器件實(shí)現(xiàn)更復(fù)雜的加密方法如 EDS。

1 硬件加密的PLD實(shí)現(xiàn)原理

硬件加密必須綜合考慮加密方法的可行性、有效性、硬件復(fù)雜度等因素,由邏輯電路產(chǎn)生大量密碼的一種簡(jiǎn)單有效的方法是使用線性反饋移位寄存器,其產(chǎn)生的偽隨機(jī)數(shù)據(jù)已廣泛用于數(shù)據(jù)通信中的加擾、擴(kuò)頻、跳頻和數(shù)據(jù)加密。圖1所示是具有防跟蹤、產(chǎn)生2N-1個(gè)N 位偽隨機(jī)數(shù)據(jù)的加密電路原理框圖,密碼生成所用觸發(fā)器和門(mén)電路少,并且密碼是加電后動(dòng)態(tài)產(chǎn)生的,不同的預(yù)置產(chǎn)生的數(shù)據(jù)不同,因此密碼的強(qiáng)度、隱蔽性優(yōu)于加密狗和微狗(卡)。

N位移位寄存器產(chǎn)生的偽隨機(jī)碼作為讀取的密碼或輸入數(shù)據(jù)解密的密鑰,在移位時(shí)鐘的作用下,可輸出2N-1個(gè)N位的有效密碼或密鑰。對(duì)某一具體電路,移位寄存器初值不同時(shí),這2N-1個(gè)隨機(jī)數(shù)有2N-1 種排序,可預(yù)置偽隨機(jī)數(shù)產(chǎn)生器的原理電路如圖2所示。要使移位寄存器產(chǎn)生一確定的值,首先置其初值,然后置移位計(jì)數(shù)器初值并允許時(shí)鐘電路產(chǎn)生移位時(shí)鐘;當(dāng)移位計(jì)數(shù)器計(jì)滿時(shí),產(chǎn)生一個(gè)數(shù)據(jù)準(zhǔn)備好狀態(tài)可供軟件讀取,該狀態(tài)同時(shí)阻斷時(shí)鐘電路,停止移位操作,并且啟動(dòng)防跟蹤記數(shù)器的時(shí)鐘產(chǎn)生電路;若在規(guī)定的時(shí)間內(nèi)讀取密碼字或者寫(xiě)入待解密數(shù)將清零防跟蹤記數(shù)器,否則超時(shí)使防跟蹤記數(shù)器滿導(dǎo)致觸發(fā)器翻轉(zhuǎn),打開(kāi)三態(tài)門(mén),擾亂輸出數(shù)據(jù),雖然這時(shí)讀/寫(xiě)數(shù)據(jù)能清零防跟蹤記數(shù)器,阻斷其時(shí)鐘,但必須重加電或系統(tǒng)復(fù)位才能斷開(kāi)三態(tài)門(mén)。

對(duì)加密電路的正確操作步驟是:在主程序中預(yù)置移位計(jì)數(shù)器和移位寄存器初值,在子程序的一處判斷移位是否完成,另一處讀密碼或?qū)懘饷軘?shù),在另一子程序判斷或取解密數(shù)據(jù),以防止跟蹤。

為在使用較少觸發(fā)器情況下保證程序正常運(yùn)行并能有效地防止解密跟蹤,應(yīng)恰當(dāng)?shù)剡x擇防跟蹤計(jì)數(shù)器的時(shí)鐘,若用移位寄存器時(shí)鐘源,則需要較高的分頻才能滿足高速的數(shù)據(jù)產(chǎn)生、適當(dāng)?shù)难訒r(shí)時(shí)間;因此在實(shí)際使用中,應(yīng)根據(jù)需要,選擇系統(tǒng)可能提供的低頻持續(xù)脈沖信號(hào)作為防跟蹤計(jì)數(shù)器的時(shí)鐘。在微機(jī)系統(tǒng)中,尤其在 WINDOWS操作系統(tǒng)的分時(shí)事件驅(qū)動(dòng)運(yùn)行模式下,由于系統(tǒng)固有的存儲(chǔ)器刷新、時(shí)鐘中斷,以及運(yùn)行中硬件中斷、DMA操作、任務(wù)切換,必須有較長(zhǎng)的防跟蹤延時(shí)才能保證合法程序正常運(yùn)行,要注意在軟硬盤(pán)操作時(shí)對(duì)密碼數(shù)據(jù)操作的影響。

2 應(yīng)用舉例

2.1 并行口加密電路

在PC機(jī)系統(tǒng)中,一般打印機(jī)并行接口包括單向輸出的8條數(shù)據(jù)線D0~D7和四條控制線、5條狀態(tài)輸入線,因此每次讀操作只讀取4bits密碼,其加密電路原理框圖如圖3所示。由于并行口不提供電源,將聯(lián)機(jī)控制信號(hào)SLCT置高提供的電流很小,因此直接掛在并行口上的電路必須選用規(guī)模不大的低功耗器件。

經(jīng)并行口控制移位寄存器產(chǎn)生密碼的基本操作步驟是:(1)SLCT置高加電;(2)STROBE觸發(fā)經(jīng)D0~D8寫(xiě)入16位控制字,選通加密電路,否則打印口正常;(3)初始化信號(hào)INIT置低,STROBE選擇預(yù)置移位寄存器和移位計(jì)數(shù)器;(4)INIT置高選通移位時(shí)鐘;(5)檢測(cè)數(shù)據(jù)是否準(zhǔn)備好;(6)換行控制AUTO LF置高,在STROBE脈沖作用下數(shù)據(jù)按4bits輸出供CPU讀取;(7)SLCT置低斷電。

防跟蹤記數(shù)器由移位計(jì)數(shù)器滿狀態(tài)啟動(dòng),其溢出脈沖使觸發(fā)器翻轉(zhuǎn)選通三態(tài)門(mén),擾亂輸出數(shù)據(jù)。防跟蹤記數(shù)器和移位寄存器時(shí)鐘可由門(mén)電路構(gòu)成的RC振蕩器產(chǎn)生。

2.2 ISA總線加密電路

與并行口方式相比,通過(guò)總線方式對(duì)加密電路的移位寄存器和移位記數(shù)器的預(yù)置、輸入數(shù)據(jù)的異或解密等操作更靈活、方便,并可與其它電路結(jié)合,其原理框圖與圖1相似。總線接口電路對(duì)端口地址和控制信號(hào)譯碼,產(chǎn)生移位寄存器和移位記數(shù)器輸入寫(xiě)、移位寄存器及異或解密輸出讀信號(hào),讀信號(hào)清零防跟蹤記數(shù)器并阻斷其時(shí)鐘。在ISA總線接口中,移位寄存器時(shí)鐘用OSC或總線時(shí)鐘BCLK,而防跟蹤記數(shù)器時(shí)鐘可采用移位時(shí)鐘或狀態(tài)持續(xù)變化的總線控制信號(hào)及狀態(tài)信號(hào),如:地址鎖存信號(hào)BALE、刷新指示信號(hào)REFRESH、DMA操作允許信號(hào)AEN(因用于I/O地址譯碼,隱蔽性好)等,用REFRESH信號(hào)時(shí)計(jì)數(shù)器規(guī)模小、運(yùn)行可靠,但是切斷該信號(hào)防跟蹤功能不起作用,密碼數(shù)據(jù)仍正常產(chǎn)生。

2.3 單片機(jī)/ DSP系統(tǒng)程序加密電路

早期的單片機(jī)系統(tǒng)大都用擴(kuò)展EPROM作為程序存儲(chǔ)器,這種方式目前在高速單片機(jī)/DSP中仍然很常用。對(duì)于程序量小,不需外部程序?qū)ぶ返暮?jiǎn)單系統(tǒng)(如微狗),采用內(nèi)置EPROM/FLASH RAM、帶加密控制字的MCU(如GMS97C2051)本身就能可靠地保護(hù)程序;因此我們的討論只限于用擴(kuò)展程序存儲(chǔ)器的系統(tǒng)。

對(duì)擴(kuò)展程序存儲(chǔ)器的加密保護(hù)可通過(guò)對(duì)其數(shù)據(jù)和地址線的異或/取反擾亂來(lái)實(shí)現(xiàn),其目的都是不能直接獲取程序存儲(chǔ)器內(nèi)部保存的數(shù)據(jù)。由于X=X+K+K,X=X,因此在系統(tǒng)工作時(shí)由硬件實(shí)現(xiàn)代碼和密鑰的異或/取反操作可得到正確的程序(文獻(xiàn)[2]中用二級(jí)異或提高加密強(qiáng)度的觀點(diǎn)不正確,因?yàn)閅=X+K1+K2=X+K),其原理如圖4所示。通常單片機(jī)加密的方式是密鑰固定不變,或CPU讀取程序代碼的同時(shí),從另一片EPROM讀取密碼,使每一代碼對(duì)應(yīng)一密鑰。這兩種方式的解密只需用簡(jiǎn)單的組合邏輯電路,對(duì)前一種方式,用邏輯分析法很容易求解邏輯關(guān)系而解密,后一種方法進(jìn)行邏輯分析的工作量雖然大大提高,但密鑰本身容易被直接獲取。因此我們用m序列產(chǎn)生器動(dòng)態(tài)產(chǎn)生密鑰,將解密的組合邏輯電路與時(shí)序邏輯相結(jié)合,而較復(fù)雜時(shí)序邏輯的分析是很困難的。

對(duì)8031、MC6085兼容系列的單片機(jī)系統(tǒng),編程使開(kāi)始的一段初始化程序順序執(zhí)行,系統(tǒng)復(fù)位時(shí)自動(dòng)對(duì)移位寄存器設(shè)初值,復(fù)位后程序存儲(chǔ)器的讀信號(hào)同時(shí)作為移位時(shí)鐘,使每條指令的密鑰不斷變化;在第一次執(zhí)行循環(huán)、跳轉(zhuǎn)指令前,程序發(fā)控制字阻斷移位時(shí)鐘,使以后的程序密鑰相同。在高速DSP系統(tǒng)中,一般上電后將低速EPROM中的程序加載到高速SRAM中運(yùn)行,可使EPROM的讀控制信號(hào)一直作為移位時(shí)鐘,使密鑰不斷變化;如果用串行口方式加載,程序解密操作與數(shù)據(jù)通信中的數(shù)據(jù)解擾相同,數(shù)據(jù)輸出時(shí)鐘直接作為移位時(shí)鐘。單片機(jī)/DSP作為微機(jī)系統(tǒng)的協(xié)處理器時(shí),單片機(jī)/DSP的代碼一般經(jīng)總線裝載,可將加密代碼與移位寄存器輸出的密鑰異或解密,輸出到單片機(jī)/DSP的程序RAM。

系統(tǒng)運(yùn)行時(shí),用于MCU/DSP程序保護(hù)的防跟蹤計(jì)數(shù)器時(shí)鐘一直有效,這樣可以防止仿真器的跟蹤。防跟蹤計(jì)數(shù)器要用程序讀或其相關(guān)信號(hào)清零,有的DSP從內(nèi)部RAM運(yùn)行程序時(shí),程序讀無(wú)相應(yīng)輸出信號(hào),這時(shí)可用定時(shí)器中斷或程序中及時(shí)插入的代碼來(lái)清零。

上述介紹應(yīng)用移位寄存器產(chǎn)生偽隨機(jī)數(shù)據(jù)對(duì)程序進(jìn)行加密的一些方法,曾在我們?cè)O(shè)計(jì)的系統(tǒng)中得到驗(yàn)證,整個(gè)電路的設(shè)計(jì)不復(fù)雜,占用PLD 器件的資源不多,完全可結(jié)合在系統(tǒng)的硬件邏輯設(shè)計(jì)中。使用8/16位的移位寄存器時(shí),密鑰量有限,制約了加密的復(fù)雜度,使用者應(yīng)根據(jù)設(shè)計(jì)要求和自己的經(jīng)驗(yàn),引入各種非常規(guī)的操作方式,這樣就可以用簡(jiǎn)單的硬件電路,很好地實(shí)現(xiàn)軟件和系統(tǒng)的保護(hù)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉