USB軟件狗的設計及反破解技術
發布時間:2008/5/26 0:00:00 訪問次數:928
     摘要:介紹了軟件狗技術的發展,提出了一種改進的低成本usb軟件狗的設計方案,分析了常見的加解密技術,并據此提出了一系列反破解措施。
    
    
     關鍵詞:usb
     軟件狗 加解密技術 反破解
     1 軟件狗技術
     近年來,軟件狗技術在保護軟件開發者利益、防止軟件盜版方面起了很大作用。軟件狗技術屬于硬加密技術,它具有加密強度大、可靠性高等特點,已廣泛應用于計算機軟件保護。軟件狗技術的發展經歷了多次更新換代。第一代軟件狗通過短接并行口的某兩根線,或者再加上些電阻、電容、二極管等實現;第二代軟件狗采用邏輯門電路跨接在開行口上,并采取適當的措施盡量避免軟件狗和打印機之間的相互干擾;第三代軟件狗的核心芯片是eeprom,主機通過并行口直接讀寫eeprom以實現對加密信息存取;第四代軟件狗以微控制器和eeprom為核心器件,又稱微狗,它具有一定的智能,應用靈活性和抗破解能力都得到了很大提高。
     傳統的軟件狗通過在并行口上附加一定的電路實現,而并行口本身的特點限制了傳統軟件狗技術的進步發展。由于并行口本身沒有電源線,所以傳統折并行口軟件狗都是通過各種“偷電”技術從數據線或控制線獲得軟件狗電路所需的電源,其電路必須選用規模不大的低拉耗元器件。在負載能力很低的并行口上,并行口軟件狗難以保證正常工作。由于并行口是為連接單個設備設計的,在連接多個設備時很難避免沖突,傳統的并行口軟件狗必須細考慮與打印機之間的兼容問題。特別是對于一些非標準接口的并行口設備,就更難解決沖突問題。這些都使并行口軟件技術的展受到很大限制。
     usb是在1994年底由compaq、ibm、microsoft等多家公司聯合提出的一種連接外部設備的新型的通用串行接口技術,它具有真正的即插即用和熱插拔功能,理論上可支持多達127個不外設的同時連接。usb是一種先進的很有前途的接口標準,隨著usb接口器件的發展,使用usb接口的設備會越來越多。usb接口本身具有電源線,可為外設提供穩定可靠的工作電源,從而對usb軟件狗所用元器件的工作電壓、功耗等的要求大大降低,軟件狗的工作條件得到很大改善,更容易實現復雜、靈活的設計和電路的微型化。由于usb是為連接多個設備而設計的,有著嚴格的規范,從接口本身避免了設備間的沖突,只要遵循usb接口規范,usb軟件狗不但不會對別的usb設備產生影響,也不會受到別的usb設備的影響。與并行口相比,usb接口更適合于軟件狗技術。
    
     2 usb軟件狗的硬件
     在本設計中,所使用的微控制器是cy7c63100a/cy7c63101a。它是cypress公司生產的8位精簡指令集(risc)的otp型微控制器。它集成有1.5mbps的usb串行接口引擎(sie)(即usb收發器),具有128字節的片內ram、2/4k字節的程序存儲空間,片內還具有個自由運行的8位定時器、一個看門狗定時器和內部上電復位電路,它的指令集專門為開發usb應用進行了優化。該控制器擁有兩個輸入輸出端口、16根通用i/o線,且每根線均可作為中斷源。端口1的所有引腳都帶有可編程驅動器,可以直接驅動led發光。該控制器的操作電壓為4.0~5.25v,它需要6mhz的外部陶瓷共振器,片內操作時鐘為12mhz。cy7c63100a/cy7c63101a是低速usb外設的低成本解決方案,符合usb1.1規范,支持1個設備址和2個端點(一個控制端點和一個數據端點)。
     本設計中所使用的存儲器是24c02,它是帶有硬件寫保護功能的串行eeprom,其接口兼容i2c總線規范,通過一對串行時鐘、數據線對片內存儲單元進行讀寫。24c02的片仙存儲器容量為2k位(或256字節)。
     本文設計的usb軟件狗的硬件電路圖如圖1所示。其核心器件是微控制器(可根據需要選用cy7c63100a或cy7c63101a,其區別為程序存儲器的空間不同,分別為2k字節和4k字節)和串行eeprom(24c02),各元件的具體參數如圖1所示。
     微控制器的第15(d-)、16(d+)腳分別連接usb連接器的2(d-)、3(d+)腳,提供微控制器和主機之間信息交換的電信號通道,其中第15
     摘要:介紹了軟件狗技術的發展,提出了一種改進的低成本usb軟件狗的設計方案,分析了常見的加解密技術,并據此提出了一系列反破解措施。
    
    
     關鍵詞:usb
     軟件狗 加解密技術 反破解
     1 軟件狗技術
     近年來,軟件狗技術在保護軟件開發者利益、防止軟件盜版方面起了很大作用。軟件狗技術屬于硬加密技術,它具有加密強度大、可靠性高等特點,已廣泛應用于計算機軟件保護。軟件狗技術的發展經歷了多次更新換代。第一代軟件狗通過短接并行口的某兩根線,或者再加上些電阻、電容、二極管等實現;第二代軟件狗采用邏輯門電路跨接在開行口上,并采取適當的措施盡量避免軟件狗和打印機之間的相互干擾;第三代軟件狗的核心芯片是eeprom,主機通過并行口直接讀寫eeprom以實現對加密信息存取;第四代軟件狗以微控制器和eeprom為核心器件,又稱微狗,它具有一定的智能,應用靈活性和抗破解能力都得到了很大提高。
     傳統的軟件狗通過在并行口上附加一定的電路實現,而并行口本身的特點限制了傳統軟件狗技術的進步發展。由于并行口本身沒有電源線,所以傳統折并行口軟件狗都是通過各種“偷電”技術從數據線或控制線獲得軟件狗電路所需的電源,其電路必須選用規模不大的低拉耗元器件。在負載能力很低的并行口上,并行口軟件狗難以保證正常工作。由于并行口是為連接單個設備設計的,在連接多個設備時很難避免沖突,傳統的并行口軟件狗必須細考慮與打印機之間的兼容問題。特別是對于一些非標準接口的并行口設備,就更難解決沖突問題。這些都使并行口軟件技術的展受到很大限制。
     usb是在1994年底由compaq、ibm、microsoft等多家公司聯合提出的一種連接外部設備的新型的通用串行接口技術,它具有真正的即插即用和熱插拔功能,理論上可支持多達127個不外設的同時連接。usb是一種先進的很有前途的接口標準,隨著usb接口器件的發展,使用usb接口的設備會越來越多。usb接口本身具有電源線,可為外設提供穩定可靠的工作電源,從而對usb軟件狗所用元器件的工作電壓、功耗等的要求大大降低,軟件狗的工作條件得到很大改善,更容易實現復雜、靈活的設計和電路的微型化。由于usb是為連接多個設備而設計的,有著嚴格的規范,從接口本身避免了設備間的沖突,只要遵循usb接口規范,usb軟件狗不但不會對別的usb設備產生影響,也不會受到別的usb設備的影響。與并行口相比,usb接口更適合于軟件狗技術。
    
     2 usb軟件狗的硬件
     在本設計中,所使用的微控制器是cy7c63100a/cy7c63101a。它是cypress公司生產的8位精簡指令集(risc)的otp型微控制器。它集成有1.5mbps的usb串行接口引擎(sie)(即usb收發器),具有128字節的片內ram、2/4k字節的程序存儲空間,片內還具有個自由運行的8位定時器、一個看門狗定時器和內部上電復位電路,它的指令集專門為開發usb應用進行了優化。該控制器擁有兩個輸入輸出端口、16根通用i/o線,且每根線均可作為中斷源。端口1的所有引腳都帶有可編程驅動器,可以直接驅動led發光。該控制器的操作電壓為4.0~5.25v,它需要6mhz的外部陶瓷共振器,片內操作時鐘為12mhz。cy7c63100a/cy7c63101a是低速usb外設的低成本解決方案,符合usb1.1規范,支持1個設備址和2個端點(一個控制端點和一個數據端點)。
     本設計中所使用的存儲器是24c02,它是帶有硬件寫保護功能的串行eeprom,其接口兼容i2c總線規范,通過一對串行時鐘、數據線對片內存儲單元進行讀寫。24c02的片仙存儲器容量為2k位(或256字節)。
     本文設計的usb軟件狗的硬件電路圖如圖1所示。其核心器件是微控制器(可根據需要選用cy7c63100a或cy7c63101a,其區別為程序存儲器的空間不同,分別為2k字節和4k字節)和串行eeprom(24c02),各元件的具體參數如圖1所示。
     微控制器的第15(d-)、16(d+)腳分別連接usb連接器的2(d-)、3(d+)腳,提供微控制器和主機之間信息交換的電信號通道,其中第15
熱門點擊