人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統 > 網絡技術教程 > 詳細頁面

軟件狗[Dongles]的加密與解密技術(1)

軟件狗[Dongles]的加密與解密技術(1)

更新時間:2021-04-26 文章作者:未知 信息來源:網絡 閱讀次數:

網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。

   此篇文章將從基礎開始,從了解軟件狗的工作原理到手工制作軟件狗,到介紹軟件狗以前和現行的保護措施,其次是在現行基礎上如何改進使其保護功能更加完善,而后將從軟件和硬件方面詳細講解軟派和硬派高手是如何解密軟件狗的,全文中我將引用大量的實例,以便您能夠很好的理解。

   因為本人不是做計算機專業,所學知識非常淺薄,只能邊學習邊請教,并且只能利用業余時間完善此文章,所以我會對其不斷修改[我不想每一篇文章都單獨發帖,這樣影響版面的美觀,相關的東西總結一下就好了],力求全面、詳細、完整。


軟件狗[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接口的微狗全兼容產品
軟件狗:面向單機環境的低成本加密方案
網絡狗:面向網絡環境的加密方案
卡式狗:面向網絡環境的加密方案



網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 会宁县| 阳谷县| 高邑县| 额济纳旗| 沧源| 黎川县| 永嘉县| 呼伦贝尔市| 山东省| 鄂尔多斯市| 朝阳县| 莎车县| 吉木乃县| 嘉禾县| 江源县| 普安县| 镇江市| 黔西| 漳浦县| 宾川县| 扎兰屯市| 资中县| 伊吾县| 丰原市| 南京市| 云浮市| 长宁县| 夏津县| 白山市| 西藏| 雷山县| 雷州市| 汝南县| 仙桃市| 泗洪县| 华宁县| 依兰县| 昌黎县| 衡南县| 玛纳斯县| 武平县|