導航:首頁 > 文檔加密 > 加密電路的製作方法

加密電路的製作方法

發布時間:2023-02-09 11:24:37

① 電子元件保密方法

電子元件的保密主要目的是對設計的保護,一種是帶有程序的設計,一種是無程序的電子電路的保護。

  1. 採用硬體加密的方法

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

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

    密碼丟失資料還原困難

    可以通過掛載一個加密晶元(加密IC)來實現硬體加密,如加一個256位密鑰的AT88SA102S,這樣,在程序被復制的情況下,沒有加密晶元AT88SA102S,程序沒法運行。

  2. 元器件打磨

    把元器件上面的絲印號碼,用專用工具打磨掉。

  3. 元器件罐裝

    把含有敏感晶元的元件封裝起來,不能認為打開,打開也就損壞器件了。

② 我的世界紅石自鎖電路怎麼做

紅石是我的世界游戲中最為重要的材料,玩家可以通過紅石做出各種東西來,而紅石本身的玩法也是非常多的。今天口袋小編glp給大家帶來我的世界紅石無限循環紅石電路的製作方法,希望大家喜歡。


無限循環紅石電路製作方法


第一步:在四個角上都放上紅石(我用的是正方形,長方形其實也可以)



可以在放紅石粉的方塊兩旁(四角的紅石粉都可)放上需要紅石才能激活的物品了!可用在發射器上,比如放火焰球在裡面,火焰球就會一個一個連續地從發射器里射出來了!是不會斷的,如果你想讓它停止就把其中一個紅石打掉,就會停了,停了之後還想激活?把拉桿和缺的那一角紅石放上再用第五步和第六步就可以了!

③ 什麼是加密集成電路

TMROM晶元不同於現代密碼系統使用的各種固定功能的通用或專用電路,是以大容量可擦寫的通用只讀存貯器為主,配合可程式控制的運算電路及多種邏輯轉換電路構造的,其結構的規模相當於一種專用CPU和一片足夠大容量的RAM、一片盡可能大容量的EPROM的組合。晶元無需任何附屬器件, 就可以完成本理論所設定的一切加密功能。可以任意選擇加密策略,把輸入的明文序列獨立地加密轉換成密碼輸出,加密變換過程中完全禁止一切內涵輸出。晶元獨創一套特殊的壓縮密碼資料庫,依靠特殊設計的硬體結構,能隨機變化出幾乎無限量的浮動密碼庫,其容量超過現代任意密碼系統使用的密碼或密鑰庫。 晶元的加密過程,是把接收方的編碼、發送時的隨機數和明文序列的各種不同特徵,聯合作為加密變換的因素,貫穿加密過程的始終。任何因素的輕微變化都將影響同一文件的密碼整體變化。發向任意部門的密碼不可能與給其它部門的密碼相同。晶元的內部結構控制系統不允許針對自己的編碼加密。發送者的編碼,可以自動附加在密碼的任意部位。也可以作為加密的因素使用,與正文序列一起加密。接收方確認屬於自己的呼叫,將呼叫編碼和隨後接收到的密碼順序地輸入解碼系統,核對編碼無誤,自動析出加密因素約定代碼,按發送方隨機因素設定的加密策略進行解碼,輸出解密的原文。如果與自己的內部編碼不符,則不予理睬。 晶元的解碼系統依靠專用校對符組合進行錯誤檢查。發現校對錯誤,解碼系統只輸出出錯信號,不輸出錯誤譯文。接收系統得到出錯信號,自動回呼重發請求,重新進行收、譯過程。直到完成正確收譯,結束一次聯絡。

單片機原理的加密方法

科研成果保護是每一個科研人員最關心的事情,加密方法有軟體加密,硬體加密,軟硬體綜合加密,時間加密,錯誤引導加密,專利保護等措施有矛就有盾,有盾就有矛,有矛有盾,才促進矛盾質量水平的提高加密只講盾,也希望網友提供更新的加密思路,現先講一個軟體加密:利用MCS-51 中A5 指令加密,其實世界上所有資料,包括英文資料都沒有講這條指令,其實這是很好的加密指令A5 功能是二位元組空操作指令加密方法在A5 後加一個二位元組或三位元組操作碼,因為所有反匯編軟體都不會反匯編A5 指令,造成正常程序反匯編亂套,執行程序無問題仿製者就不能改變你的源程序。
硬體加密:8031/8052單片機就是8031/8052掩模產品中的不合格產品,內部有ROM,可以把8031/8052 當8751/8752 來用,再擴展外部程序器,然後調用8031 內部子程序當然你所選的同批8031晶元的首地址及所需用的中斷入口均應轉到外部程序區。
硬體加密
用高電壓或激光燒斷某條引腳,使其讀不到內部程序,用高電壓會造成一些器件損壞重要RAM 數據採用電池(大電容,街機採用的辦法)保護,拔出晶元數據失去機器不能起動,或能初始化,但不能運行。
用真假方法加密
擦除晶元標識
把8X52單片機,標成8X51 單片機,並用到後128B的RAM 等方法,把AT90S8252 當AT89C52,初始化後程序段中並用到EEPROM 內容,你再去聯想吧!
用激光(或絲印)打上其它標識如有的單片機引腳兼容,有的又不是同一種單片機,可張冠李戴,只能意會了,這要求你知識面廣一點 。
用最新出廠編號的單片機,如2000 年後的AT89C 就難解密,或新的單片機品種,如AVR 單片機。
DIP 封裝改成PLCC,TQFP,SOIC,BGA等封裝,如果量大可以做定製ASIC,或軟封裝,用不需外晶振的單片機工作(如AVR 單片機中的AT90S1200),使用更復雜的單片機,FPGA+AVR+SRAM=AT40K系列。
硬體加密與軟體加密只是為敘說方便而分開來講,其實它們是分不開的,互相支撐,互相依存的軟體加密:其目的是不讓人讀懂你的程序,不能修改程序,你可以………….....
利用單片機未公開,未被利用的標志位或單元,作為軟體標志位,如8031/8051有一個用戶標志位,PSW.1 位,是可以利用的程序入口地址不要用整地址,如:XX00H,XXX0H,可用整地址-1,或-2,而在整地址處加二位元組或三位元組操作碼,在無程序的空單元也加上程序機器碼,最好要加巧妙一點用大容量晶元,用市場上模擬器不能模擬的晶元,如內部程序為64KB 或大於64KB 的器件,如:AVR 單片機中ATmega103 的Flash 程序存儲器為128KBAT89S8252/AT89S53中有EEPROM,關鍵數據存放在EEPROM 中,或程序初始化時把密碼寫到EEPROM 中,程序執行時再查密碼正確與否,盡量不讓人家讀懂程序。關於單片機加密,講到這里,就算拋磚引玉。

⑤ 單片機二級加密怎麼設置

程序防寫

這種方法是最常見,也是最簡單的一種。現在的MUC基本都有防寫功能,但是這種容易被人破解。

燒斷數據匯流排

這個方法聽起來不錯,但有損壞的風險,同樣也能破解。

軟體加密

是一些防止別人讀懂程序的方法,單一的這種方法不能防止別人全盤復制,須配合其他的加密演算法

添加外部硬體電路的加密方法

這個方法效果看起來比較好,但會增加成本。

晶元打磨改型

這個方法改了型號能誤導,但同時也增加成本,解密者一般也能分析出來。

通過通過聯網加序列號加密

通過連接網路,在你的MCU中生成一個唯一的隨機長序列號,並加入復雜的特種演算法,或加入你們重新編碼的企業信息在裡面,每個晶元內不同,復制者只能復制到一個序列號。

通過MCU唯一的標識加密

以前很多MCU沒有唯一標識碼,現在的很多MCU都具有唯一標識碼了。

這個方法比較好,簡單省事,能很好的防止復制。

讀保護 + 唯一ID加密

使用讀保護 + 唯一ID的加密是最常用的一種方法,也是推薦大家使用的一種方法。

唯一ID
現在正規的晶元,每顆出廠的時候都帶了一個唯一標識碼,這個號碼是唯一不重復的,比如STM32的就使用96位作為唯一ID。

和我們每個人的身份證號碼一樣,現在剛出生的嬰兒,上戶的時候就給他一個身份證號,那麼每個晶元一生產出來,也就具備了這個身份證號。
加密原理

讀保護就不用說了,增加被破解難度。
使用唯一ID加密的方法很多,這里說一種簡單的方法:出廠時程序讀取唯一ID並保存在一個位置,以後程序執行之前,要讀取並匹配這個唯一ID,一致才執行程序。
當然,這種方法是最基礎的原理,但也存在被破解的風險。所以,存儲的數據,以及讀取驗證這兩個地方需要進一步添加一些演算法。
這樣操作之後,即使別人讀取了你的程序,也是無法正常執行。

⑥ 加密鎖的工作原理

加密鎖通過在軟體執行過程中和加密鎖交換數據來實現加密的.加密鎖內置單片機電路(也稱CPU),使得加密鎖具有判斷、分析的處理能力,增強了主動的反解密能力。這種加密產品稱它為"智能型"加密鎖.加密鎖內置的單片機里包含有專用於加密的演算法軟體,該軟體被寫入單片機後,就不能再被讀出。這樣,就保證了加密鎖硬體不能被復制。同時,加密演算法是不可預知、不可逆的。加密演算法可以把一個數字或字元變換成一個整數,如DogConvert(1)=17345、DogConvert(A)=43565。下面,我們舉個例子說明單片機演算法的使用。 比如一段程序中有這樣一句:A=Fx(3)。程序要根據常量3來得到變數A的值。於是,我們就可以把原程序這樣改寫:A=Fx(DogConvert(1)-17342)。那麼原程序中就不會出現常量3,而取之以DogConvert(1)-17342。這樣,只有軟體編寫者才知道實際調用的常量是3。而如果沒有加密鎖,DogConvert函數就不能返回正確結果,結果算式A=Fx(DogConvert(1)-17342)結果也肯定不會正確。這種使盜版用戶得不到軟體使用價值的加密方式,要比一發現非法使用就警告、中止的加密方式更溫和、更隱蔽、更令解密者難以琢磨。此外,加密鎖還有讀寫函數可以用作對加密鎖內部的存儲器的讀寫。於是我們可以把上算式中的17342也寫到加密鎖的存儲器中去,令A的值完全取決於DogConvert()和DogRead()函數的結果,令解密難上加難。不過,一般說來,加密鎖單片機的演算法難度要低於一些公開的加密演算法,如DES等,因為解密者在觸及加密鎖的演算法之前要面對許多難關

⑦ 密碼鎖課程設計

軟體狗[Dongles]

1、認識軟體狗。[首先我對軟體狗作一簡單介紹,在後面我們將對各種軟體狗的加密和解密做詳細的講解。]

軟體狗是插在微機並行口上的一個軟體保護裝置,它包括主機檢查程序和密鑰(也稱加密盒)兩部分。主機檢查程序就是前面說的加密代碼的一部分,加密盒是用來存放密碼的。一般來說,軟體狗插在並行口上,不會影響列印機的正常工作。常見的軟體狗加密盒外形,如兩個一公一母的D行25針連接器倒接在一起,公頭(DB25/M)插在並行口上,母頭(DB25/F)可接列印機,相當於原來的並行口。整個軟體狗的硬體電路板就在這約5厘米見方的加密盒子里。
電路板上的公頭(DB25/F)之間的管腳是一一對應、直接相聯結的,以保證並行口的作用不變。存儲密碼或起信號加密變換作用的器件及其它輔助元件就跨接在這25根線上面,應用程序以特定的方式跟他們溝通、核對。除了某些設計不良的情況之外,一般不會影響列印機的正常工作,列印機工作時也不會影響它們。
為了防止程序被非法復制,所做的加密保護措施一般都包括兩部分。首先是要有保存密碼數據的載體,即密鑰;其次是夾雜在應用程序中的主機檢查程序,即加密代碼。密鑰應該能保證不易被解密、復制;如一般用磁碟做加密時,加密部分無法用一般的工具復制。另外,當檢查程序用特殊方法去讀密碼時,密碼應該能很容易地被讀出,而不致影響應用程序的正常執行。當發現密碼不對或密鑰不存在時,就讓主機掛起、重新起動或採用被的措施。

軟體狗經歷的「時代」
軟體狗的發展經歷了好幾代,至2001年初就已發展到了第四代。
第一代是存儲器型的加密鎖。這是最有歷史的加密鎖,內部只有存儲體,廠商只能對鎖進行讀、寫。軟體狗起信號加密變換作用的器件,最多隻簡單採用一些電阻、二極體等,檢查方法也比較簡單,很容易被人解密.常見的有原金天地的「軟體狗」、深思洛克的Keypro型、Rainbow的Cplus等。這種鎖的主要特點是廠商可以預先把自己的保密數據設置到鎖內,然後在軟體運行時隨機讀取,這樣防止了解密者通過簡單重復並口數據來解密,但解密者進一步分析一下數據規律就可以解決了,這就是常說的「埠」層的數據分析。這種加密鎖原理非常簡單,是種正在被逐步淘汰的產品,但是其原料成本極低,即使在很低的價位也有很好的利潤,加密廠商一般都不願放棄這種鎖;而很多廠商由於成本原因又不得不採用,因此這種鎖仍有一定的市場份額;
第二代是演算法不公開的加密鎖。硬體內部增加了單片機,即所謂內置CPU,廠商主要是利用演算法功能進行加密。加密鎖通常還增加了一些輔助功能,比如倒計數器、遠程升級等。軟體狗採用了低功耗TTL,COMS等邏輯元件,在電路上做了一些加密工作,檢查時也要比第一代軟體狗多一道手續,解密的難度自然也增加了。常見的有深思洛克的「深思Ⅰ」型,彩虹天地的SuperPro、微狗,ALADDIN的MemoHASP等。利用單片機,軟體與鎖之間的數據通訊建立了一個保密協議,數據都是經過加密的,解密者就難以分析出數據內容和規律了,因此對於這種鎖的數據分析就不是停留在「埠」層了,解密者轉向了「功能」層,就是對軟體中的函數調用進行分析。為了抵擋功能層的數據分析,這種鎖來了個「軟硬」兼施的策略。
「軟」的是指驅動程序內反跟蹤、外殼加密等等軟體工作,讓解密者難以在功能層上模擬,誰都靠的是對操作系統、微機系統的精確理解。誰都無法決勝,結果是加密驅動程序在不斷更新、膨脹。
「硬」的就是加密鎖內的演算法功能,這大大增加了解密難度,這是掌握在加密者手中的武器。但是,加密者只能設置演算法的參數,即所謂內含多少種演算法可選,而演算法內容並不知道。這樣就限制了廠商對演算法的使用,要麼預先記錄演算法結果然後在軟體運行時核對(使用碼表);要麼在軟體中至少變換兩次然後比較結果是否一致。如果解密者截獲這些數據,通過統計、分析就有可達到解密目的;
第三代加密鎖,即所謂「可編程」的加密鎖。1999年初,以北京深思洛克為代表推出了第三代加密鎖,「可編程」加密鎖概念的推出是軟體加密技術的一次進步。「可編程」加密鎖設計初衷是希望用戶能夠將軟體中重要的代碼或模塊「移植」到加密保護設備中運行,使軟體與加密鎖實現真正無縫鏈接。但由於成本限制,早期推出的幾款「可編程」加密鎖採用的低檔單片機給 「可編程」性造成了很大的局限,主要表現在:1、演算法變換的復雜度不夠高,2、指令編碼空間較小,3、程序區的空間較小。這些局限性使得用戶根本不可能利用「可編程」加密鎖實現理想的高強度加密方案。 軟體狗採用了PAL(Programmable Array Logic)、PEEL(Programmable Electrically Erasable Logic Device)、GAL(Generic Array Logic)等可編程器件,但目前流行的期間大概要算串列讀寫的EEPROM(Serial Electrically Erasable PROM)了。這些器件由於密碼編制的靈活性和製成密鑰後在程序中插入檢查的方便性,極大地增加了解密的難度。從使用的角度來看PAL、PEEL、GAL 等邏輯器件只能讀取數據,不能隨時寫入數據,密碼的重新設置比較麻煩;而EEPROM晶元可隨意讀寫,用在軟體狗上靈活性相當大,譬如可以為每一個軟體狗單獨設一個密碼,以增加解密的難度;另外,從EEPROM器件的電器性能上來說也非常適合做軟體狗;因此這種器件在軟體狗的設計中獲得了廣泛的應用,是當時軟體狗製作者的首選晶元。它象一般RAM存儲器一樣可讀寫(只不過讀寫是串列的),即使斷電後也能保存數據不變。常用的EEPROM型號是93C46,它是64×16bit的結構,也就是說一個93C46具有64個16位bit單元的容量,每次處理數據也都是16位。有的93C46,如 Microchip、ATMEL、CSi等品牌的93C46可以通過切換,變為128×8bit或64×16bit兩種模式,這對軟體狗製作來說就更靈活了,其加密效果也更好。當然也有人採用更大容量的93C56、93C66或容量小一點的93C06、93C26等EEPROM晶元。因為軟體狗是插在微機的並行口上,所以檢查程序是通過並行口的I/O地址去讀寫EEPROM。具體的讀寫方式跟硬體線路以及EEPROM的時序有關,因此,一般的檢查程序針對某一種硬體線路;但是這些程序大同小異,大體上是差不多的。
第四代軟體夠在第三代軟體狗基礎上,加入一個單片機晶元,如PIC16C5X。此晶元中存有特定的演算法程序,可將讀出的密鑰數據進行加密變換,以對抗邏輯分析儀。可以說,軟體狗發展到第四代,已經非常成熟了。在此技術上,各軟體狗研製公司又加入自己的電路設計,形成了各自的產品特色。
平時常見的狗主要有「洋狗」(國外狗)和「土狗」(國產狗)。這里「洋狗」主要指美國的彩虹和以色列的HASP,「土狗」主要有金天地(現在與美國彩虹合資,叫彩虹天地)、深思、堅石。總的來說,「洋狗」在軟體介面、加殼、防跟蹤等「軟」方面做得沒有「土狗」好,但在硬體上絕對「無法」 pj(應當說pj難度非常大):而「土狗」在「軟」的方面做得絕對稱得上世界第一,許多技術,如噪音、自檢測、演算法可變、碼表變換等等,可以說都很先進,而在硬體上不及國外,只要稍有單片機功力的人,都可復制。

現在狗的技術發展很快,針對不同的應用場合有不同的類型,如:
強勁狗:自由定義演算法的高強度加密方案
微狗: 面向單片機環境的高強度加密方案
USB狗: USB介面的微狗全兼容產品
軟體狗:面向單機環境的低成本加密方案
網路狗:面向網路環境的加密方案
卡式狗:面向網路環境的加密方案

軟體狗採取了各種的加密技術,目前較先進的加密技術有以下幾種:
AS技術:API函數調用與SHELL外殼加密結合,即使外殼被破壞,加密程序依然不能正常運行。
反跟蹤:
a.數據交換隨機噪音技術:有效地對抗邏輯分析儀分析及各種調試工具的攻擊。
b.迷宮技術:在程序入口和出口之間包含大量判斷跳轉干擾,動態改變執行次序,提升狗的抗跟蹤能力。
抗共享:可從硬體對抗並口共享器,由開發商選擇是否共享狗。
口令: 可由軟體開發商設置32位口令,口令錯誤將不能對存儲區進行讀寫。
時間閘:某些狗內部設有時間閘,各種操作必須在規定的時間內完成。狗正常操作用時很短,但跟蹤時用時較長,超過規定時間狗將返回錯誤結果。
單片機:硬體內置單片機,固化的單片機軟體保證外部不可讀,從而保證狗不可仿製。
存儲器:提供20位元組掉電保持存儲器供開發商存放關鍵數據、配置參數等信息。

市場上常見幾種軟體狗的簡單介紹
彩虹天地:在中國應該算是老大了,從第一代到第四代的產品都有,但它的主要產品還是第三代的微狗(TD-MH),該代產品中有干擾晶元,能隨時產生無用的干擾信號,更加有效的對抗邏輯分析儀;雖然有第四代的強勁狗(CS-QA),但好象有不少問題,所以推出的USB介面的加密鎖還是兼容微狗的。彩虹天地的加密強度不高,最簡單的pj方法就是隨便買一個狗,然後復製成要解的狗。
深思洛克:也是一個比較有名的,至2001年初最主要的產品就是第四代的深思Ⅲ型加密狗,特點就是用戶可在狗中定義自己的演算法,這大大加強了其保護能力,但它的CPU功能還不夠強,演算法上有漏洞,而且只提供一種加密方式,所以也是可以擊破的,並且也能硬體復制原狗。此類狗加密的產品有Pkpm 結構計算軟體、分析家股票軟體、圓方cad軟體等等。
深思 Ⅲ 的n階黑箱模型法:
深思 Ⅲ 的n階黑箱模型法並不是簡單的記憶,而是通過深思 Ⅲ 獨特的完全可編程使得深思 Ⅲ 鎖對於輸入和輸出呈現高階黑箱控制模型的特徵。每次調用代碼運行時使用鎖內存儲作為運算變數和參數,改變鎖的狀態影響後續的調用。用戶自定義的代碼沒有任何的說明書和特徵,甚至兩次相同的調用會返回不同的有用的結果。這是深思 Ⅲ 獨特之處。
以上加密範例並不要求加密者尋找復雜並難以預料的函數關系加以移植。
如果是採用0階黑箱模型那麼輸入與輸出具有直接的對應關系 y=f(x1,x2),其中x1,x2為本次輸入,y為本次輸出。這時如果函數關系簡單就很容易被解密者破譯,比如用迭代法、插值法和列表法等方法逼近;這就迫使加密者尋求復雜函數來防止解密者的破譯和模擬。但由於鎖內資源的限制使得軟體移植幾乎不可能。現在採用n階黑箱模型,就使得輸入與輸出的對應關系復雜化: yn=f(yn-1,yn-2,yn-3,...,y1,xn1,xn2),其中,y1,y2,...,yn-1為以前n-1次調用輸出或隱藏的結果, xn1,xn2為本次(第n次)調用的輸入參數。
面對這樣的復雜關系,解密者簡單地取消中間的任何一次調用都可能使後邊的結果發生錯誤,既使是簡單的函數關系也可以被這高階黑箱過程隱藏得難以推測。這樣,藉助於高階黑箱模型法很容易找到應用軟體中可以利用的公式或函數作為加密的對象。
n階黑箱模型法使用過程中一樣可以使用碼表法,例如,範例中的第一次調用。
但是,這樣的碼表法不同的加密點互相關聯,必須進行整體解密,這就大大地提高了加密強度。使用傳統的0階黑箱模型時,不同的加密點之間互不關聯只需各個擊破分別解密即可,其復雜度無法與n階黑箱模型相比。對於比較復雜的函數,盡管鎖內沒有足夠的資源,還是可以通過n階模型法進行加密處理我們可以將復雜函數化為簡單函數的運算組合,例如:y=(a-b)*(a+b)+c可以先計算(a-b)和(a+b)然後將結果相乘再加c。
n階模型嚴格說是不可解的(只是目前理論上,也請深思公司記住這一點),因為第n次輸出依賴於前n-1次輸入和輸出,而前n-1次輸出可能已部分或全部被隱藏,所以第n次輸出無法推測,至少推測n-1次輸入產生的輸出要比一次輸入產生的輸出復雜度有質的飛躍。
深思 Ⅲ 具有完備的指令系統,可以通過編程實現n階或任意階黑箱模型,每次調用互相關聯,並且可以絕對隱藏中間結果,只要使用得當,理論上是不可解的( 我的理論是沒有不可解的:)
飛天誠信:是新崛起的一家,主要產品是ROCKEY-IV和相兼容的USB狗,技術支持比較好,功能比較多,它的外殼加密程序很不錯,用在加密上主要是8號功能(種子碼)和14、15、16號功能(都是自定義演算法),它的自定義演算法比深思的產品好,「沒有」漏洞(目前理論上說)。如果很好地使用它加密,是極難pj的。但大多數開發商都很偷懶,比如就只用8號功能(種子碼)來加密。
製作和出售軟體狗的公司很多,你只要注意一下計算機雜志上的廣告就能得知。各公司生產的軟體狗除了上述特點外,一般都有一些為吸引用戶而附加的功能,主要是一些工具軟體,其核心技術卻是大同小異。

加密狗的一般特點
1、不佔用並行口,因為它雖然插在並行口上,但是它又提供了一個跟原來一致的並行口。
2、軟體具有防解密功能,可對抗各種調試工具的跟蹤。
3、一狗一密碼或一種線路,軟硬體不可互換,就像一把鎖一把鑰匙那樣。
4、提供各種語言的編程介面以及一套實用工具,方便用戶在自己開發的程序中嵌入加密模塊。
5、提供對可執行文件的加密工具,以便用戶對已有的產品進行加密。

目前主流軟體加密鎖的不足
對軟體加密保護產品而言,使用者最關心的是加密的有效性,產品的兼容性和穩定性。目前市場上主要的軟體加密鎖硬體內部均含有單片機,即所謂內置CPU,軟體廠商主要是利用演算法功能進行加密。加密鎖通常還增加了一些輔助功能,比如倒計數器、遠程升級等。這類型加密鎖主要產品有彩虹天地的「微狗」 「SuperPro」、深思洛克的「深思Ⅰ、III型」、 ALADDIN的HASP3、4等。通過對這些軟體鎖進行分析,認為從安全性上講他們至少有三方面致命的薄弱點:
薄弱點1:設計原理有很大缺陷
目前主流的加密鎖硬體提供了讀、寫和演算法變換功能,且演算法變換關系難以pj和窮舉。但這類加密鎖最大的缺陷是演算法不向軟體廠商公開,鎖內的變換演算法在出廠時已經固定,軟體加密者只能設置演算法的參數。這樣就限制了廠商對演算法的使用,要麼預先記錄演算法結果然後在軟體運行時核對(使用碼表),要麼在軟體中至少變換兩次然後比較結果是否一致;如果解密者截獲這些數據,通過統計、分析就有可達到解密目的。
薄弱點2:加密鎖受處理能力的限制,無法為軟體提供強有力的保護
市場上曾先後推出了幾款「可編程」加密鎖。這類型加密鎖最大的特點就是可以讓用戶自行設計專用演算法。「可編程」加密鎖的出現的確是軟體加密技術的一次進步。深思洛克的「深思III」、飛天誠信的「Rockey4」均屬此類產品。
但由於成本限制,這類型加密鎖往往只能採用10~20元人民幣的通用8位單片機或同檔次的ASIC晶元作為核心微處理器。這種低檔單片機的處理運算能力是相當弱的,這就給 「可編程」加密鎖造成了很大的局限性,主要表現在:1、演算法變換的復雜度不夠高,2、指令編碼空間較小,3、程序區的空間較小。這些局限性使得用戶根本不可能利用「可編程」加密鎖實現理想的高強度加密方案。
薄弱點3:硬體本身抵抗惡意攻擊的能力較弱
隨著集成電路設計、生產技術的發展,安全產品的核心晶元硬體本身受到攻擊的可能性越來越大。典型的硬體攻擊手段有電子探測攻擊(如SPA和DPA)和物理攻擊(探測,如採用SiShell技術),下面我們就這方面進行簡要的分析。
電子探測(SPA和DPA)攻擊技術的原理是:單片機晶元是一個活動的電子元器件,當它執行不同的指令時,對應的電功率消耗也相應的變化。通過使用特殊的電子測量儀和數學統計技術,來檢測和分析這些變化,從中得到單片機中的特定關鍵信息。
物理攻擊的方法有:通過掃描電子顯微鏡對晶元內部存儲器或其它邏輯直接進行分析讀取;通過測試探頭讀取存儲器內容;通過從外部無法獲取的介面(例如廠家測試點)對存儲器或處理器進行直接數據存取;再激活單片機的測試功能等。
由於通用低檔單片機並非定位於製作安全類產品,沒有提供有針對性的防範物理攻擊手段,因此比較容易通過電子探測(SPA和DPA)攻擊直接讀出存儲器內的數據。雖然大多數普通單片機都具有熔絲燒斷保護單片機內代碼的功能,但此類晶元應用場合廣、發行批量大,隨著廠商間委託加工與頻繁技術轉讓,使得利用該類晶元下載程序的設計漏洞,利用廠商的晶元測試介面,通過特殊的燒寫時序和數據讀出信息成為比較容易的事情。
ASIC晶元是完全根據用戶需求而特別定做,屬於小批量生產。由於其採用特殊的邏輯電路且不會輕易公開測試功能介面,因此只要以其為基礎開發的系統不是保存重要的信息或者不用於高級別的安全場合還是可以防範一般情況下的物理攻擊。
加密鎖性能判定
加密鎖很小巧,包含的技術內容卻很豐富。一般我們從三個方面分析加密鎖的性能:
第一個是加密原理,或者說加密鎖有些什麼功能,這往往是針對一些解密方法發展起來的,最需要創造性的地方就是這里。國內產品在這個方面一直與國外產品具備足夠的競爭能力。
第二個是加密鎖的可靠性、穩定性、兼容性、透明性等。這些是對鎖的基本要求,但是做完整並不容易,尤其是兼容性、透明性問題,加密廠家在這方面有著豐富的經驗,但是沒有誰可以100%保證。透明性是鎖的一個比較特殊的指標,由於鎖是工作在並口(列印口),並口還會有其他設備,比如列印機、繪圖儀、硬碟、光碟機等,鎖如果影響到原來設備的正常工作就是透明性不夠好,完全的透明是難以做到的,一般的加密廠家不保證鎖對並口硬碟、光碟機等設備的透明性。
最後一個是鎖的易學性、易用性。

軟體狗加解密技術的簡單介紹(我將在以後陸續加入並詳細介紹)
涉及到加、解密的技術可以說是包羅萬象,基本的有匯編語言、調試工具、操作系統等,還需要一些密碼學的基本常識,如果對數據結構、編譯原理等有一定的了解會更有幫助。當然,這並不是說沒有這些基礎就做不好加密,在使用加密鎖時,很多工作已經由加密廠家完成了,其實加密者只要對「隨機性」有一些基本的認識,就可以完成很出色的加密。這個隨機與一般意義上的隨機有所不同,這里強調的是「不可預測性」。如果解密者可以預知加密鎖返回的數據,就可以用程序代替鎖來返回,軟體就無法知道鎖是否真正存在,就是被解密了。這就是我們常說的「模擬」,在密碼學中就是假冒攻擊。所以,加密的一個重要思路就是讓解密者看來:鎖輸入輸出數據有很強的隨機性。目前,加密設計中最迫切解決的就是構造隨機性的問題。
常有人這樣加密:在軟體中反復檢查鎖內的數據,而且運用了很復雜的檢查方法,比如中間插入一些運算或者垃圾程序等,加密的工作量很大,以為「我查了那麼多次鎖還不夠嗎?」。但這在解密者眼裡不值一提,只要發現鎖返回數據的規律性就足夠解密了,根本不必理會軟體是怎麼使用的。這種加密失敗在於,只是用了些讀操作,沒有構成返回數據的隨機性。那麼,如果擴大加密鎖存儲容量,或者進行些寫操作就行嗎?顯然還是隨機性太差。因為這點,第一代加密鎖很難勝任真正的加密工作了。也因為這點,過去比較繁榮軟加密技術難以深入發展。這提醒我們,如果加密原理不合理,再大的加密工作量也是徒勞無益的。
使用演算法變換就可以增強隨機性,但是有人這樣加密:在軟體中大量調用演算法變換,變換的數據量也很大(即演算法碼表很大),可還是被輕易解密了。為什麼呢?是不是演算法被破了?不是。這種加密方法在解密者看來和上個沒有什麼不同,只要把每次變換的數據內容都記錄下來,如果軟體再用同樣的數據調用演算法,解密者自然知道應該返回什麼數據了。失敗原因是,碼表內容是固定的,被解密者窮舉了,沒有構成隨機性,這說明可以窮舉的東西是不具備隨機性的。那麼怎麼才能防止被窮舉呢?由於加密者也不知道演算法方程,實際上是做不到的。但是,我們可以給解密者增加很多窮舉困難。我們知道,只要讓解密者抓到一次,這個數據就再也沒有加密作用了,因此不能讓軟體運行一次就用完所有碼表,另外還可以用些隨機數來做變換,這就考驗解密者的分辨能力了。這是個技巧性比較高的問題,需要不小的工作量,但這的確對加密強度有貢獻。
如果加密者知道演算法內容,而解密者不知道,這樣就可以用任何數據來訪問加密鎖的演算法功能,解密者就無法窮舉了,第三代「可編程」加密鎖就能實現這種思想。
由於第三代鎖的出現,需要補充另外一個話題,就是加密鎖的功能。如果解密者可以通過數學方法解析出鎖的內部功能,就可以「模擬」了。如何設計鎖的功能才不易被破呢?這涉及到一點密碼學,一般的加密者只要能夠將不同類型的運算混合使用就夠。對於第一、二代加密鎖,解密者沒有必要去分析程序是如何使用鎖返回數據的(模擬的思路),而對於第三代鎖,這種方法常成了解密者唯一希望,寄希望於通過跟蹤鎖返回數據的使用過程而推測出鎖的內部功能。這時候幾乎任何能夠降低程序可讀性的手段都會提高加密效果,比如程序垃圾、反復的數據搬動、嵌入匯編、插入浮點運算等等。這點很吸引人,即使你剛明白加密,也能讓解密專家圍著你團團轉。
加密者往往遠不如解密者專業,隨著互聯網的發展,解密技術正以更快的速度傳播,這給加密帶來了更大的挑戰。

軟體狗的加密技術介紹
解密一個軟體狗可以從兩方面入手,其一是軟體,只要把檢查軟體狗的那部分代碼解除,那麼軟體狗就成了一隻「死狗」。其二是從硬體入手的解密方法,其含義是要仿製一個加密盒,不管機密做的如何好,如果加密盒被仿製了,那麼軟體狗的加密作用也就不存在了。因此,從硬體入手的解密跟從軟體入手的解密其效果是一樣的,只不過後者需要付出一定的額外代價—硬體成本而已。
那麼既然從軟體、硬體著手都能解密,用它來保護軟體還有什麼作用?不用著急,讓我們來談談如何更地保護您的軟體。
針對解密的兩種方法,我們也從這兩方面來加強軟體的加密功能。

增強軟體狗加密功能的方法
一、軟體加密
全面我們說,從軟體入手的解密方法很多,針對這種情況,人們也研製出了很多行之有效的防解密措施,在次,我們把一些常用的防止軟體跟蹤解密的措施列於下面:
1、計算程序執行時間,並判斷程序的執行時間是否過長;
2、關鍵程序部分禁止 鍵盤中斷,並檢查鍵盤中斷是否被開放;
3、關鍵程序部分禁止顯示輸出和列印輸出;
4、在軟體中多做幾次軟體狗檢查;
5、把程序的重要部分加以編碼加密,在運行時才解密;
6、修改斷點中斷功能;
7、利用除零中斷或溢出中斷是否有程序跟蹤;
8、利用時鍾中斷檢查是否有程序跟蹤;
9、在程序中調用INT 7;
10、程序不要寫得很結構化,要多一些「廢話」;
11、若干種加密方法綜合使用;
12、用黃玫瑰軟體製作組出品的BITSHELL作外層防護;
...... ......
==================================================
[ 附:外殼反跟蹤反破譯程序BITSHELL簡介
一、系統簡介
BITSHELL是一套可反跟蹤反破譯的軟體加密系統,主要用語保護軟體開發者的合法權益,防止未經授權的復制、演算法解讀及目標碼反匯編。它是我們應高級開發者的要求從BITLOK中提煉出來的,專為應用軟體提供pj保護的系統。應用軟體開發者可以充分發揮自己的才智編寫或精巧或復雜的程序,有 BITSHELL的保護不用擔心競爭者對商品軟體進行逆向分析。應用軟體開發者更可以設計自己的反拷貝介質(加密卡、加密狗等),然後用BITSHELL 進行外層保護,從而不必擔心訪問反拷貝介質的代碼被截獲。應用軟體開發者也可以購買商品化的加密卡,加密狗等,在應用系統內部秘密地存取加密卡、加密狗,用BITSHELL作外層保護,防止訪問反拷貝介質的代碼被截獲。
主要功能和性能如下:
千變萬化的加密方案
內含隨機可選的二十套加密演算法,構造出千變萬化的反跟蹤反破譯方案,特別適合加密有多個單獨執行程序的軟體。
先進超強的反跟蹤技術
採用加密虛擬機、多層間址多 鏈解等獨創的世界領先技術,結合傳統的加密方法,具備超強的動態反跟蹤能力。防範各種軟硬體調試器對其破譯。不僅防止了國際上通用的調試器,如:Soft-ICE,Turbo Debugger,Symdeb等,還重點防範了國內開發的各種專用調試器。
可靠性高、兼容性好、使用面最廣泛
經BITSHELL1.0加密過的軟體日夜運行在超過60萬台機器上,經過了最廣泛、最嚴格的測試。BITSHELL2.0具備同樣可靠的性能,加密過的軟體可以在各種廠牌各種機型上正常運行,兼容各種流行的DOS系統。
功能全面、使用方便
可加密各種帶覆蓋模塊的執行文件,特別適合加密有Clipper,FoxPro等編譯的各種資料庫應用系統。
提供OBJ嵌入式加密模塊。這樣,用戶還可以在源程序里加入加密模塊,與外殼部分相互關聯,有效地提高破譯難度。
可以為用戶定製專用BITSHELL反跟蹤反破譯系統,可以滿足用戶的獨特需求。
二、快速入門
BITSHELL經過了用戶嚴格的檢驗,作者對其精雕細琢反復修正,現在的版本使用極容易。確保BITSHELL硬碟或網路安裝已經成功,或BITSHELL源盤在軟碟機中,加密方法如下:
BITSHELL<源文件><目標文件>
例如:
把TEST.EXE加密成TESTOK.EXE。輸入以下命令
BITSHELL TEST.EXE TESTOK.EXE
把TEXE.EXE加密不保留未加密的程序。輸入以下命令。
三、操作指南
1、BITSHELL參數的詳細說明
BITSHELL可以用KEY環境變數來設定一些參數,這樣可以簡化使用過程。設置方法如下:
SET KEY=[SCHEMExx,][STAY,][CHECKOVL]
BITSHELL各項參數的意義如下:
(1)參數SCHEMExx,若給出則依用戶的要求使用指定的變形演算法,否則將隨機抽取一種加密演算法。BITSHELL2.0共有20種演算法可選。
每一種演算法都有自己

閱讀全文

與加密電路的製作方法相關的資料

熱點內容
支付寶跳蹬app源碼下載 瀏覽:885
倩女銷魂 紀倩倩 瀏覽:53
周星馳粵語電影 瀏覽:516
5個小時的愛情電影在線觀看 瀏覽:975
求飛機類游戲源碼 瀏覽:406
樂釣app怎麼寫出五星報告 瀏覽:626
類似團鬼六的電影有哪些 瀏覽:660
學校門口向右轉是電影院的英文 瀏覽:961
大樂透五行演算法 瀏覽:142
英語圖解pdf 瀏覽:612
智能租房系統源碼 瀏覽:346
c編程軟體哪個好 瀏覽:674
程序員寫什麼代碼最好 瀏覽:980
大尺度電影名字 瀏覽:897
重生民國收母 瀏覽:723
男主當鴨子的韓劇電影 瀏覽:488
人乳奶水電影 瀏覽:211
台灣鏡花風月系列 瀏覽:551
主角叫江辰的重生小說 瀏覽:608
李采潭演的都是真的嗎 瀏覽:512