《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > SmartLock并口單片機軟件狗加密技術

SmartLock并口單片機軟件狗加密技術

2009-01-12
作者:李長洲 魏蛟龍 周曼麗

  摘? 要: 介紹一套單片機軟件狗加密系統——SmartLock。它安裝在微機并行口上,通過并口與加密軟件進行通信,主要使用代碼移植的方法實現軟件加密。該系統具有加密可靠、使用方便、兼容性好等特點。

  關鍵詞: 軟件加密? 并行口? 單片機? 代碼移植

?

  由于加密給軟件開發者和用戶帶來了許多不便和麻煩,因此,全球軟件業的趨勢是開發不加密軟件,依靠版權法來保護軟件開發者的權益。但對于一些大型的工程應用軟件系統如:AutoCAD、Xilinx FPGA開發系統等,由于銷量小、成本高,不得已仍然需要使用軟件加密技術。另外,對于某些敏感行業的應用軟件也必須實行軟件加密,對程序代碼進行保護。

  早期的軟件加密方法有:軟盤或硬盤加密、加密卡等,由于加密性能、兼容性能或使用不方便等方面的原因而被淘汰。目前廣為流行的是軟件狗硬件電路加密法,其中又以使用單片機的加密技術最為可靠。其硬件通常都帶有智能抗分析技術,不可復制,且加密方式靈活、工作可靠、運行速度快、使用方便,不失為軟件加密的一種優選方法。

  SmartLock軟件狗加密系統的硬件部分外形類似火柴盒,兩頭分別帶有一個IEEE-1284并行口的公頭和母頭,串接在并行口和打印機之間。軟件狗使用的是Atmel公司的89C2051單片機,芯片從微機并行口取電,通過并口與加密軟件進行通信,系統主要使用代碼移植技術實現軟件加密。

1 Smart Lock系統的硬件設計

  通過研究微機打印口接口電路、IEEE-1284并口通信標準和89C2051型單片機特性,設計出SmartLock加密系統的硬件電路如圖1所示。有89C2051單片機、3個鍺二極管、1個12MHz晶振、2個30pF瓷片電容和1個電阻共8個元件。系統從并行口中共引出了11根端口線,其中有8根數據線D0~D7、1根狀態線(低電平有效 ,當打印機接收完一字節數據允許微機發送下一字節數據時,發給微機信號)、1根控制線(低電平有效,打印機自動換行信號)和地線GND。

?

?

  微機的標準并口并不提供+5V電源,所以只有從驅動能力較強的數據口“借電”。依據IBM PC AT/XT設計標準,并行口數據位的高電平(4.5V)輸出電流為2.5mA(舊式的TTL型)或15mA(CMOS型),而89C2051單片機的典型工作電流為5.5mA/3V,工作頻率為12MHz。所以使用D4~D6三根數據線經鍺二極管并在一起作為單片機電源(采用鍺管的原因是因為它的壓降較小,只有0.4V)。同時為減少軟件狗硬件的功耗,電路設計得極其簡潔,除了單片機,沒有其它有源器件。

  單片機復位使用的是上電自動復位電路。因此微機對并行口供電幾百毫秒之后,單片機才進入正常工作狀態。

2 并口通信協議

  軟件狗使用數據口的D0~D3及D7作為微機向單片機傳送數據的前向數據通道(一次送半字節數據,用D7位標志高/低半字節);并口控制/狀態信號中的平時不常用,所以這里用來作為微機向單片機傳送數據時的握手信號。信號為高電平,則表示微機已準備好待傳送數據,此協議中稱為DR(data ready)信號;信號為低電平,表示單片機已準備好接收數據,此協議中稱為PR(peripheral ready)信號。

  軟件狗從微機接收數據的時序如圖2所示。具體步驟是:

  (1)微機中的加密程序將DR()控制線設置為0,然后在并口的D4~D6數據線上給一個負脈沖后再置恒1,使軟件狗復位啟動;

  (2)加密程序延時300ms后,設置D7為0,表示傳送的是數據的低半字節;

  (3)加密程序將需要傳送的數據放到并口的D0~D3;

  (4)加密程序在DR控制線上給出一個正脈沖,通知軟件狗數據已準備好;

  (5)軟件狗收到DR信號后從D0~D3線上讀取數據,同時,從D7位可以了解這半字節數據是低位還是高位。讀完數據后在PR()狀態線上給出負脈沖,通知微機數據已讀完,可以進行下一次傳送;

  (6)加密程序收到PR信號后,即進行下一輪的數據傳送,直到最后所有數據傳送完畢或一定時間后仍沒有收到PR信號,則出錯退出。

?

?

  SmartLock系統使用了狀態線作為單片機向微機發送“串行”數據時的數據線。同時,通過使用獨特的脈寬調制數據傳送方式,實現了單端口線的數據傳輸。這是由于:

  (1)微機并行口的用途是由微機向外設進行單向的數據傳輸,同時沒有多余的備用端口線;

  (2)并口中只有狀態線才能向微機傳送信息,其中狀態線一般不用。

  軟件狗向微機發送數據的時序比較特殊,如圖3所示。具體步驟是:

  (1)微機中的加密程序將控制幀發送完畢后開始等待軟件狗的返回數據。

  (2)軟件狗計算出返回數據后,首先發送一個固定長度的標準負脈沖,然后再依據數據值發送一個數據脈沖,兩個脈沖代表一個數據值;直到所有數據發送完畢為止。

  (3)加密程序通過計算數據脈沖與標準脈沖的寬度比得到數據值。

  以上說明的是微機與軟件狗之間數據通信的底層協議。雙方通信時數據幀的具體格式則可以由用戶根據需要自行定義。

?

?

3 加密軟件系統

  軟件部分目前只采用內含式加密法。分為以下五個模塊:底層I/O操作模塊、用戶接口模塊、反跟蹤模塊、異常處理模塊和全自動操作模塊。它們之間的結構層次關系見圖4。

?

?

3.1 底層I/O模塊

  底層I/O模塊是最底層的功能函數,也是整個加密軟件系統的核心。主要用于與軟件狗進行數據通信,向軟件狗發送數據,接收軟件狗的返回值(包括對返回值的數字化轉換和求精)及向上層模塊報告通信過程中出現的錯誤。實際上是前面密鑰模塊在微機內運行的接口部分。另外,各種反跟蹤技術主要也融入到此模塊中。

3.2 用戶接口模塊

  用戶接口模塊有多個,分別與軟件狗的各個功能一一對應,用于對通信中數據格式的轉換及對通信過程的管理。它們將上層軟件傳來的指令翻譯為軟件狗能識別的格式后再傳給底層模塊,然后將底層模塊的返回值整理后上傳。

  用戶接口函數可由待加密軟件直接調用。它們自行檢測并處理軟件被跟蹤調試時的情況,同時顯式或是隱式地向用戶軟件提供軟件狗是否合法的信息,用戶軟件可依據該信息來自行定義對軟件系統處于非法運行狀態時的處理措施(本軟件系統提供了與各種反擊方法對應的函數)。這種使用模式十分有利于加密模塊與軟件系統的融合,能大大提高軟件系統的抗解密性能。

3.3 全自動操作模塊

  若用戶要求軟件加密系統自動完成對軟件狗的檢測及對檢測結果的處理,則可使用該函數。它自行使用隨機命令調用用戶接口模塊以檢測軟件狗的合法性,然后自動對檢測結果進行判斷并處理。當然,集成度高必然導致抗解密性能下降。

3.4 反跟蹤模塊

  各類反跟蹤措施(函數或程序段)用于檢測軟件系統目前是否處于被跟蹤的狀態,或人為地制造一些障礙,阻止解密者對本加密軟件的分析。它們融合于底層I/O模塊、用戶接口函數及自動操作模塊中,隱蔽地檢測軟件系統是否運行于調試環境下并自動作出相應處理。

3.5 異常情況處理模塊

  當加密軟件檢測到軟件系統運行在調試環境下或軟件狗非法時,就調用這一模塊正?;蚍钦5刂兄钩绦虻倪\行。一般情況下由于程序已處于被調試的狀態,中止程序運行的標準方法通常會被解密者覺察出來而達不到目的。因此,只有那些違反常規的操作代碼才能有效地中止程序的運行。

4 加密軟件的使用方法

  用戶軟件只需以函數調用的方式調用SmartLock加密系統中的用戶接口模塊,完成對軟件的加密。這樣便在用戶軟件和加密軟件之間建立了數據聯系,隱式地檢查合法軟件狗的存在。加密軟件將自動對調試軟件檢測和處理,用戶不需管理。

  另一個更為可靠的使用方式是用戶定制加密軟件。SmartLock系統將用戶待加密軟件中的某些算法完全移植到單片機軟件狗中去,再提供相應的用戶接口模塊。這一方式下用戶軟件將受到最大限度的保護。

5 代碼移植技術

  傳統的軟件加密的指導思想是:在軟件系統中加入一種特殊的信息,這種信息既是加密后的軟件系統在正常運行時必須引用的,又是用戶無法自行復制的。于是,加密后該軟件系統的運行完全依賴于售給用戶的原信息載體。這一載體在加密技術中又被稱為密鑰。

  本加密系統使用的代碼移植技術是指將待加密軟件的某些算法、程序段、重要的運算過程改造成單片機程序放在單片機中執行。由于單片機的程序ROM是解密者不可讀的,這樣,這段代碼就被完全地保護起來了,解密者將無法接觸到這段代碼和數據。通過接口函數,軟件狗可代替用戶軟件系統執行一些簡單的運算功能,以實現代碼移植。這一技術實際上是改造了傳統的加密指導思想,它把原軟件系統中的一部分信息取出來,封裝到解密者不可復制的軟件狗中。

  按傳統加密思想加密后的軟件系統中,軟件部分實際上仍然包含有原軟件系統正常運行時所需要的所有信息(指令算法和數據)。在經過代碼移植技術加密的軟件系統,系統的軟件部分已不完整,解密者即使歷盡千辛萬苦把軟件分析透徹了,軟件系統的正常運行還是離不開軟件狗的支持。

  SmartLock軟件加密系統中使用的新穎技術主要有以下兩點,它們有力地保證了軟件狗的抗分析、反跟蹤性能。

  (1)特殊的并口通信協議

  脈沖形式的握手信號,可有效對抗各種跟蹤調試工具及軟件。由圖2軟件狗的數據接收時序可知,本通信協議中,微機向單片機傳送數據時是使用窄脈沖信號作為握手信號,這樣微機的CPU必須不間斷地查詢軟件狗的PR信號。而解密者在調試跟蹤本軟件時必然會因調試狀態下軟件運行時斷時續而收不到握手信號,使數據傳輸過程出錯。軟件將無法正常工作。同時,反跟蹤模塊也可由此輕易查知調試環境的存在而采取相應的對策。

  通過脈寬調制信號從軟件狗向微機傳送數據是一種全新的微機打印口數據傳輸方法。由于它與通常的數字信號相差很大,所以這種形式的數據具有很強的反動態跟蹤能力。這樣既解決了標準并行口反向傳輸信道窄的問題,又可有效對抗各種調試工具軟件及端口信號分析儀。除非解密者完全了解它的工作機理,否則根本無法知道軟件狗在干什么。

  (2)代碼移植技術

  該技術將待加密軟件與加密系統緊密配合,將需要保護的軟件完全封裝在黑盒中。

  實際使用時,SmartLock軟件狗系統還可以進行更靈活的設計以達到更強的加密效果。例如:將并行口的數據線與89C2051單片機的P1口全部對接,同時將8根數據線全部通過鍺二極管并接成單片機電源。通信過程中,將其中的5根作為數據傳輸線,3根作為電源傳輸線;而且每根數據端口線的作用可以進行動態再分配。這種方法可以讓端口分析儀幾乎失去作用,抗分析性極強。

  SmartLock軟件狗可以輕易設計成一系列軟件加密狗,在實際應用中效果良好。

?

參考文獻

1 劉? 鳴.計算機磁盤加密技術.天津:天津大學出版社,1996

2 張昆藏.IBM PC/XT微型計算機接口技術.北京:清華大學出版社,1991

3 IEEE 1284-1994號PC機雙向并口外設接口的通信標準,1994

4 Atmel89C2051技術手冊

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产精品揄拍一区二区| 亚洲七七久久综合桃花剧情介绍| 亚洲精品乱码久久久久久日本蜜臀| 国产亚洲一区二区精品| 好看的av在线不卡观看| 18成人免费观看视频| 国产精品久久久久久久久免费樱桃| 一区二区三区中文在线观看| 午夜精品久久久久久久男人的天堂| 国产日产亚洲精品系列| 国产精品黄色在线观看| 欧美一区二区免费观在线| 亚洲欧美日本国产专区一区| 欧美亚洲系列| 91久久黄色| 99国产精品| 亚洲精品久久久久久久久久久久久| 99www免费人成精品| 亚洲精品中文字幕在线观看| 欧美视频在线免费看| 欧美亚洲尤物久久| 香蕉成人啪国产精品视频综合网| 激情综合视频| 国产欧美日韩另类一区| 亚洲国产美女精品久久久久∴| 美女福利精品视频| 伊人婷婷久久| 国产欧美日韩高清| 极品少妇一区二区三区精品视频| 亚洲国产精品悠悠久久琪琪| 亚洲精品日产精品乱码不卡| 亚洲视频免费| 伊人伊人伊人久久| 亚洲欧美高清| 亚洲三级观看| 欧美精品1区2区3区| 久久婷婷人人澡人人喊人人爽| 国产日韩欧美精品综合| 亚洲福利电影| 久久综合一区| 亚洲视频一区二区| 国产一区二区三区日韩欧美| 新狼窝色av性久久久久久| 亚洲综合清纯丝袜自拍| 欧美精品一区二区蜜臀亚洲| 国产精品xxxav免费视频| 欧美一区日本一区韩国一区| 99在线观看免费视频精品观看| 久久精品免费播放| 欧美午夜电影在线| 国精产品99永久一区一区| 国产一区二区三区久久| 国产亚洲成精品久久| 国产亚洲欧美激情| 欧美一区二区性| 亚洲午夜91| 亚洲国产精品一区在线观看不卡| 国产欧美一区二区三区在线老狼| 国产欧美精品| 亚洲一区二区三区涩| 亚洲国产一区二区a毛片| 久久久精品999| 亚洲一区免费观看| 日韩亚洲成人av在线| 欧美高清在线一区| 香蕉国产精品偷在线观看不卡| 亚洲精选久久| 欧美大片在线看| 日韩午夜电影| 国产精品视频一区二区三区| 欧美激情网友自拍| 激情av一区二区| 亚洲欧美日本精品| 一本大道久久a久久精二百| 夜夜嗨av一区二区三区免费区| 久久久噜噜噜| 伊人久久久大香线蕉综合直播| 国产午夜精品一区二区三区欧美| 国产日韩精品电影| 又紧又大又爽精品一区二区| 欧美片网站免费| 欧美久久一级| 国产欧美精品va在线观看| 麻豆精品在线视频| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲午夜视频在线| 久久综合给合久久狠狠狠97色69| 亚洲综合视频网| 久久影视三级福利片| 国产亚洲精品久久久久婷婷瑜伽| 亚洲一区二区三区激情| 欧美大片一区二区| 亚洲一区二区欧美日韩| 欧美日韩国产成人在线91| 国产亚洲一区二区三区在线播放| 亚洲欧美综合另类中字| 久久九九热re6这里有精品| 午夜国产精品视频免费体验区| 亚洲精品老司机| 欧美激情亚洲自拍| 午夜视频精品| 欧美freesex交免费视频| 久久精品国产99国产精品| 欧美一区二区三区视频在线| 亚洲综合首页| 久久久欧美精品sm网站| 久久国产视频网| 欧美日韩免费观看一区二区三区| 国产伦精品免费视频| 一本久道久久综合狠狠爱| 国产欧美日韩一级| 亚洲深夜激情| 国产精品乱码久久久久久| 国产乱理伦片在线观看夜一区| 免费成人性网站| 中日韩男男gay无套| 日韩系列在线| 蜜桃精品久久久久久久免费影院| 国产亚洲人成a一在线v站| 亚洲黄页视频免费观看| 一区二区日韩| 一区二区免费看| 亚洲免费人成在线视频观看| 激情欧美一区二区| 亚洲第一精品久久忘忧草社区| 欧美日韩一区二区三区在线看| 伊人狠狠色j香婷婷综合| 欧美偷拍另类| 国产精品美女久久久久aⅴ国产馆| 校园春色国产精品| 狠狠色丁香婷婷综合久久片| 99精品99| 亚洲人成7777| 国产麻豆精品久久一二三| 一本色道88久久加勒比精品| aⅴ色国产欧美| 在线观看不卡av| 午夜欧美电影在线观看| 欧美黄色影院| 亚洲人成7777| 亚洲福利在线看| 亚洲欧美日韩高清| 一本一本久久a久久精品牛牛影视| 久久成人精品视频| 欧美影院午夜播放| 一本到高清视频免费精品| 韩国欧美国产1区| 久久五月激情| 国产欧美短视频| 国产精品久久夜| 欧美sm重口味系列视频在线观看| 葵司免费一区二区三区四区五区| 欧美精品xxxxbbbb| 久久午夜电影网| 欧美三区在线视频| 老司机久久99久久精品播放免费| 国产视频不卡| 欧美在线在线| 欧美日韩亚洲系列| 亚洲动漫精品| 国产精品久久久久久av下载红粉| 久久免费精品视频| 亚洲欧美中文在线视频| 国产精品毛片a∨一区二区三区|国| 欧美日韩大片一区二区三区| 麻豆精品国产91久久久久久| 亚洲一区二区三区免费视频| 国产日韩欧美三区| 亚洲欧美日韩一区二区在线| 午夜精品国产精品大乳美女| 亚洲午夜三级在线| 狠狠综合久久av一区二区老牛| 影音先锋亚洲电影| 亚洲欧美日韩中文在线制服| 欧美黄色精品| 一区二区三区日韩精品| 国精品一区二区三区| 在线欧美视频| 欧美精品九九| 99精品视频免费| 欧美精品久久天天躁| 欧美专区福利在线| 女人色偷偷aa久久天堂| 麻豆免费精品视频| 狠狠综合久久| 麻豆精品在线视频| 国产精品99久久久久久www| 久久国产精品网站| 99精品国产99久久久久久福利| 亚洲精品日产精品乱码不卡| 欧美精品三级日韩久久| 欧美激情一区二区三区在线视频观看| 久久精品国产一区二区三| 欧美日韩在线另类| 久久久久久久久久久成人| 久久综合一区二区| 国产欧美在线观看| 亚洲精品视频啊美女在线直播| 一区二区不卡在线视频 午夜欧美不卡'| 一区二区三区日韩欧美| 欧美日韩国产欧美日美国产精品| 欧美插天视频在线播放| 亚洲日韩中文字幕在线播放| 亚洲精品免费在线播放| 免费看精品久久片| 日韩一区二区免费看| 狠狠综合久久av一区二区老牛| 男女视频一区二区| 在线亚洲免费视频| 国产丝袜一区二区| 国产精品久久久久久久久搜平片| 欧美大片免费久久精品三p| 国产亚洲一区精品| 亚洲一区三区电影在线观看| 国产精品成av人在线视午夜片| 国产日韩欧美一区| 久久久久久久久一区二区| 国产精品久久久久一区二区三区共| 国产欧美日韩亚洲| 蜜桃久久精品乱码一区二区| 久久99伊人| 羞羞漫画18久久大片| 国产女精品视频网站免费| 国产精品亚洲综合一区在线观看| 国产精品swag| 国产伦精品一区二区三区高清| 国产精品国产三级国产aⅴ浪潮| 在线欧美不卡| 亚洲免费视频观看| 欧美日本韩国| 国产精品福利片| 99国产精品99久久久久久粉嫩| 一本色道久久综合狠狠躁篇怎么玩| 国产一区二区三区最好精华液| 亚洲视频播放| 国产在线精品一区二区中文| 韩国一区二区三区美女美女秀| 欧美亚洲动漫精品| 欧美日韩国产一中文字不卡| 中文成人激情娱乐网| 国产精品欧美经典| 欧美一区二区三区视频在线观看| 欧美va亚洲va香蕉在线| 亚洲一区二区伦理| 欧美主播一区二区三区| 午夜精品亚洲一区二区三区嫩草| 午夜精品久久久久久久白皮肤| 国产农村妇女精品| 欧美电影免费观看大全| 国语自产在线不卡| 国产精品九色蝌蚪自拍| 韩国精品在线观看| 欧美视频一区在线| 亚洲精品在线观看免费| 欧美日韩视频在线一区二区观看视频| 精品91视频| 美女视频黄 久久| 国产色产综合色产在线视频| 欧美日韩国产高清| 国产精品久久9| 亚洲激情一区| 亚洲影视中文字幕| 欧美日韩国产不卡| 亚洲欧美自拍偷拍| 欧美精品91| 国内成+人亚洲| 国产一区二区三区黄| 快she精品国产999| 欧美日韩亚洲综合一区| 欧美日韩黄色一区二区| 欧美三日本三级少妇三99| 国产婷婷成人久久av免费高清| 国产伦精品一区二区三区免费迷| 亚洲一区二区成人| 伊人久久大香线| 日韩视频免费在线观看| 中文久久精品| 久久在精品线影院精品国产| 亚洲欧美在线高清| 久久成人精品| 国产精品久久国产三级国电话系列| 欧美精品一卡二卡| 欧美日韩亚洲一区二区三区在线| 日韩视频精品在线观看| 亚洲黄色一区| 久久精品国产2020观看福利| 亚洲综合首页| 国产精品欧美日韩| 亚洲日本成人在线观看| 久久久夜色精品亚洲| 亚洲高清在线观看一区| 久久精品水蜜桃av综合天堂| 永久域名在线精品| 欧美日韩中文在线| 免费观看久久久4p| 韩国av一区| 国产欧亚日韩视频| 在线免费观看视频一区| 亚洲国产91精品在线观看| 国产精品福利在线观看网址| 牛牛精品成人免费视频| 久久精品一区二区三区不卡牛牛| 夜夜嗨av一区二区三区网站四季av| 欧美日韩亚洲不卡| 激情欧美一区二区三区| 亚洲一区尤物| 亚洲日本成人网| 国产免费一区二区三区香蕉精| 午夜精品视频| 久久性色av| 欧美三级乱人伦电影| 免费国产一区二区| 亚洲日本黄色| 欧美日韩亚洲综合一区| 久久久精品欧美丰满| 欧美国产另类| 玖玖玖免费嫩草在线影院一区| 国产精品自在在线| 欧美精品激情在线观看| 尤物九九久久国产精品的特点| 在线一区二区三区做爰视频网站| 久久男女视频| 国产精品一二三四| 欧美日韩美女| 黑人巨大精品欧美一区二区| 国产精品一香蕉国产线看观看| 蘑菇福利视频一区播放| 一区在线播放视频|