|
網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機整體,實現(xiàn)資源的全面共享和有機協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數(shù)據(jù)資源、信息資源、知識資源、專家資源、大型數(shù)據(jù)庫、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。 此篇文章將從基礎(chǔ)開始,從了解軟件狗的工作原理到手工制作軟件狗,到介紹軟件狗以前和現(xiàn)行的保護措施,其次是在現(xiàn)行基礎(chǔ)上如何改進使其保護功能更加完善,而后將從軟件和硬件方面詳細講解軟派和硬派高手是如何解密軟件狗的,全文中我將引用大量的實例,以便您能夠很好的理解。 因為本人不是做計算機專業(yè),所學(xué)知識非常淺薄,只能邊學(xué)習(xí)邊請教,并且只能利用業(yè)余時間完善此文章,所以我會對其不斷修改[我不想每一篇文章都單獨發(fā)帖,這樣影響版面的美觀,相關(guān)的東西總結(jié)一下就好了],力求全面、詳細、完整。
電路板上的公頭(DB25/F)之間的管腳是一一對應(yīng)、直接相聯(lián)結(jié)的,以保證并行口的作用不變。存儲密碼或起信號加密變換作用的器件及其它輔助元件就跨接在這25根線上面,應(yīng)用程序以特定的方式跟他們溝通、核對。除了某些設(shè)計不良的情況之外,一般不會影響打印機的正常工作,打印機工作時也不會影響它們。 為了防止程序被非法復(fù)制,所做的加密保護措施一般都包括兩部分。首先是要有保存密碼數(shù)據(jù)的載體,即密鑰;其次是夾雜在應(yīng)用程序中的主機檢查程序,即加密代碼。密鑰應(yīng)該能保證不易被解密、復(fù)制;如一般用磁盤做加密時,加密部分無法用一般的工具復(fù)制。另外,當(dāng)檢查程序用特殊方法去讀密碼時,密碼應(yīng)該能很容易地被讀出,而不致影響應(yīng)用程序的正常執(zhí)行。當(dāng)發(fā)現(xiàn)密碼不對或密鑰不存在時,就讓主機掛起、重新起動或采用被的措施。
軟件狗的發(fā)展經(jīng)歷了好幾代,至2001年初就已發(fā)展到了第四代。 第一代是存儲器型的加密鎖。這是最有歷史的加密鎖,內(nèi)部只有存儲體,廠商只能對鎖進行讀、寫。軟件狗起信號加密變換作用的器件,最多只簡單采用一些電阻、二極管等,檢查方法也比較簡單,很容易被人解密.常見的有原金天地的“軟件狗”、深思洛克的Keypro型、Rainbow的Cplus等。這種鎖的主要特點是廠商可以預(yù)先把自己的保密數(shù)據(jù)設(shè)置到鎖內(nèi),然后在軟件運行時隨機讀取,這樣防止了解密者通過簡單重復(fù)并口數(shù)據(jù)來解密,但解密者進一步分析一下數(shù)據(jù)規(guī)律就可以解決了,這就是常說的“端口”層的數(shù)據(jù)分析。這種加密鎖原理非常簡單,是種正在被逐步淘汰的產(chǎn)品,但是其原料成本極低,即使在很低的價位也有很好的利潤,加密廠商一般都不愿放棄這種鎖;而很多廠商由于成本原因又不得不采用,因此這種鎖仍有一定的市場份額; 第二代是算法不公開的加密鎖。硬件內(nèi)部增加了單片機,即所謂內(nèi)置CPU,廠商主要是利用算法功能進行加密。加密鎖通常還增加了一些輔助功能,比如倒計數(shù)器、遠程升級等。軟件狗采用了低功耗TTL,COMS等邏輯元件,在電路上做了一些加密工作,檢查時也要比第一代軟件狗多一道手續(xù),解密的難度自然也增加了。常見的有深思洛克的“深思Ⅰ”型,彩虹天地的SuperPro、微狗,ALADDIN的MemoHASP等。利用單片機,軟件與鎖之間的數(shù)據(jù)通訊建立了一個保密協(xié)議,數(shù)據(jù)都是經(jīng)過加密的,解密者就難以分析出數(shù)據(jù)內(nèi)容和規(guī)律了,因此對于這種鎖的數(shù)據(jù)分析就不是停留在“端口”層了,解密者轉(zhuǎn)向了“功能”層,就是對軟件中的函數(shù)調(diào)用進行分析。為了抵擋功能層的數(shù)據(jù)分析,這種鎖來了個“軟硬”兼施的策略。 第三代加密鎖,即所謂“可編程”的加密鎖。1999年初,以北京深思洛克為代表推出了第三代加密鎖,“可編程”加密鎖概念的推出是軟件加密技術(shù)的一次進步!翱删幊獭奔用苕i設(shè)計初衷是希望用戶能夠?qū)④浖兄匾拇a或模塊“移植”到加密保護設(shè)備中運行,使軟件與加密鎖實現(xiàn)真正無縫鏈接。但由于成本限制,早期推出的幾款“可編程”加密鎖采用的低檔單片機給 “可編程”性造成了很大的局限,主要表現(xiàn)在:1、算法變換的復(fù)雜度不夠高,2、指令編碼空間較小,3、程序區(qū)的空間較小。這些局限性使得用戶根本不可能利用“可編程”加密鎖實現(xiàn)理想的高強度加密方案。 軟件狗采用了PAL(Programmable Array Logic)、PEEL(Programmable Electrically Erasable Logic Device)、GAL(Generic Array Logic)等可編程器件,但目前流行的期間大概要算串行讀寫的EEPROM(Serial Electrically Erasable PROM)了。這些器件由于密碼編制的靈活性和制成密鑰后在程序中插入檢查的方便性,極大地增加了解密的難度。從使用的角度來看PAL、PEEL、GAL等邏輯器件只能讀取數(shù)據(jù),不能隨時寫入數(shù)據(jù),密碼的重新設(shè)置比較麻煩;而EEPROM芯片可隨意讀寫,用在軟件狗上靈活性相當(dāng)大,譬如可以為每一個軟件狗單獨設(shè)一個密碼,以增加解密的難度;另外,從EEPROM器件的電器性能上來說也非常適合做軟件狗;因此這種器件在軟件狗的設(shè)計中獲得了廣泛的應(yīng)用,是當(dāng)時軟件狗制作者的首選芯片。它象一般RAM存儲器一樣可讀寫(只不過讀寫是串行的),即使斷電后也能保存數(shù)據(jù)不變。常用的EEPROM型號是93C46,它是64×16bit的結(jié)構(gòu),也就是說一個93C46具有64個16位bit單元的容量,每次處理數(shù)據(jù)也都是16位。有的93C46,如Microchip、ATMEL、CSi等品牌的93C46可以通過切換,變?yōu)?28×8bit或64×16bit兩種模式,這對軟件狗制作來說就更靈活了,其加密效果也更好。當(dāng)然也有人采用更大容量的93C56、93C66或容量小一點的93C06、93C26等EEPROM芯片。因為軟件狗是插在微機的并行口上,所以檢查程序是通過并行口的I/O地址去讀寫EEPROM。具體的讀寫方式跟硬件線路以及EEPROM的時序有關(guān),因此,一般的檢查程序針對某一種硬件線路;但是這些程序大同小異,大體上是差不多的。 第四代軟件夠在第三代軟件狗基礎(chǔ)上,加入一個單片機芯片,如PIC16C5X。此芯片中存有特定的算法程序,可將讀出的密鑰數(shù)據(jù)進行加密變換,以對抗邏輯分析儀?梢哉f,軟件狗發(fā)展到第四代,已經(jīng)非常成熟了。在此技術(shù)上,各軟件狗研制公司又加入自己的電路設(shè)計,形成了各自的產(chǎn)品特色。 平時常見的狗主要有“洋狗”(國外狗)和“土狗”(國產(chǎn)狗)。這里“洋狗”主要指美國的彩虹和以色列的HASP,“土狗”主要有金天地(現(xiàn)在與美國彩虹合資,叫彩虹天地)、深思、堅石?偟膩碚f,“洋狗”在軟件接口、加殼、防跟蹤等“軟”方面做得沒有“土狗”好,但在硬件上絕對“無法”pj(應(yīng)當(dāng)說pj難度非常大):而“土狗”在“軟”的方面做得絕對稱得上世界第一,許多技術(shù),如噪音、自檢測、算法可變、碼表變換等等,可以說都很先進,而在硬件上不及國外,只要稍有單片機功力的人,都可復(fù)制。
強勁狗:自由定義算法的高強度加密方案 網(wǎng)絡(luò)的神奇作用吸引著越來越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來越嚴(yán)峻的考驗―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項技術(shù)都需要適時應(yīng)勢,對應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!