網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。 此篇文章將從基礎開始,從了解軟件狗的工作原理到手工制作軟件狗,到介紹軟件狗以前和現行的保護措施,其次是在現行基礎上如何改進使其保護功能更加完善,而后將從軟件和硬件方面詳細講解軟派和硬派高手是如何解密軟件狗的,全文中我將引用大量的實例,以便您能夠很好的理解。 因為本人不是做計算機專業,所學知識非常淺薄,只能邊學習邊請教,并且只能利用業余時間完善此文章,所以我會對其不斷修改[我不想每一篇文章都單獨發帖,這樣影響版面的美觀,相關的東西總結一下就好了],力求全面、詳細、完整。
電路板上的公頭(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難度非常大):而“土狗”在“軟”的方面做得絕對稱得上世界第一,許多技術,如噪音、自檢測、算法可變、碼表變換等等,可以說都很先進,而在硬件上不及國外,只要稍有單片機功力的人,都可復制。
強勁狗:自由定義算法的高強度加密方案 網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!