<noframes id="bvlxd">
<track id="bvlxd"><th id="bvlxd"><progress id="bvlxd"></progress></th></track><track id="bvlxd"></track>

      <video id="bvlxd"></video>
      <var id="bvlxd"></var>

      經典案例

      聯系方式

      公司名稱:昆山華航電子有限公司
      公司電話:0512-50139595
      公司郵箱:eric@kshuahang.com
      公司地址:江蘇省昆山市善浦西路

      您當前的位置:首頁 > 技術資源 > 芯片解密

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

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

      市場上常見幾種軟件狗的簡單介紹

      彩虹天地:在中國應該算是老大了,從第一代到第四代的產品都有,但它的主要產品還是第三代的微狗(TD-MH),該代產品中有干擾芯片,能隨時產生無用的干擾信號,更加有效的對抗邏輯分析儀;雖然有第四代的強勁狗(CS-QA),但好象有不少問題,所以推出的USB接口的加密鎖還是兼容微狗的。彩虹天地的加密強度不高,最簡單的pj方法就是隨便買一個狗,然后復制成要解的狗。

      深思洛克:也是一個比較有名的,至2001年初最主要的產品就是第四代的深思Ⅲ型加密狗,特點就是用戶可在狗中定義自己的算法,這大大加強了其保護能力,但它的CPU功能還不夠強,算法上有漏洞,而且只提供一種加密方式,所以也是可以擊破的,并且也能硬件復制原狗。此類狗加密的產品有Pkpm結構計算軟件、分析家股票軟件、圓方cad軟件等等。
      深思 Ⅲ 的n階黑箱模型法:
      深思 Ⅲ 的n階黑箱模型法并不是簡單的記憶,而是通過深思 Ⅲ 獨特的完全可編程使得深思 Ⅲ 鎖對于輸入和輸出呈現高階黑箱控制模型的特征。每次調用代碼運行時使用鎖內存儲作為運算變量和參數,改變鎖的狀態影響后續的調用。用戶自定義的代碼沒有任何的說明書和特征,甚至兩次相同的調用會返回不同的有用的結果。這是深思 Ⅲ 獨特之處。
      以上加密范例并不要求加密者尋找復雜并難以預料的函數關系加以移植。
      如果是采用0階黑箱模型那么輸入與輸出具有直接的對應關系 y=f(x1,x2),其中x1,x2為本次輸入,y為本次輸出。這時如果函數關系簡單就很容易被解密者破譯,比如用迭代法、插值法和列表法等方法逼近;這就迫使加密者尋求復雜函數來防止解密者的破譯和仿真。但由于鎖內資源的限制使得軟件移植幾乎不可能?,F在采用n階黑箱模型,就使得輸入與輸出的對應關系復雜化: yn=f(yn-1,yn-2,yn-3,...,y1,xn1,xn2),其中,y1,y2,...,yn-1為以前n-1次調用輸出或隱藏的結果,xn1,xn2為本次(第n次)調用的輸入參數。
      面對這樣的復雜關系,解密者簡單地取消中間的任何一次調用都可能使后邊的結果發生錯誤,既使是簡單的函數關系也可以被這高階黑箱過程隱藏得難以推測。這樣,借助于高階黑箱模型法很容易找到應用軟件中可以利用的公式或函數作為加密的對象。
      n階黑箱模型法使用過程中一樣可以使用碼表法,例如,范例中的第一次調用。
      但是,這樣的碼表法不同的加密點互相關聯,必須進行整體解密,這就大大地提高了加密強度。使用傳統的0階黑箱模型時,不同的加密點之間互不關聯只需各個擊破分別解密即可,其復雜度無法與n階黑箱模型相比。對于比較復雜的函數,盡管鎖內沒有足夠的資源,還是可以通過n階模型法進行加密處理我們可以將復雜函數化為簡單函數的運算組合,例如:y=(a-b)*(a+b)+c可以先計算(a-b)和(a+b)然后將結果相乘再加c。
      n階模型嚴格說是不可解的(只是目前理論上,也請深思公司記住這一點),因為第n次輸出依賴于前n-1次輸入和輸出,而前n-1次輸出可能已部分或全部被隱藏,所以第n次輸出無法推測,至少推測n-1次輸入產生的輸出要比一次輸入產生的輸出復雜度有質的飛躍。
      深思 Ⅲ 具有完備的指令系統,可以通過編程實現n階或任意階黑箱模型,每次調用互相關聯,并且可以絕對隱藏中間結果,只要使用得當,理論上是不可解的( 我的理論是沒有不可解的:)

      飛天誠信:是新崛起的一家,主要產品是ROCKEY-IV和相兼容的USB狗,技術支持比較好,功能比較多,它的外殼加密程序很不錯,用在加密上主要是8號功能(種子碼)和14、15、16號功能(都是自定義算法),它的自定義算法比深思的產品好,“沒有”漏洞(目前理論上說)。如果很好地使用它加密,是極難pj的。但大多數開發商都很偷懶,比如就只用8號功能(種子碼)來加密。

      制作和出售軟件狗的公司很多,你只要注意一下計算機雜志上的廣告就能得知。各公司生產的軟件狗除了上述特點外,一般都有一些為吸引用戶而附加的功能,主要是一些工具軟件,其核心技術卻是大同小異。


      加密狗的一般特點

      1、不占用并行口,因為它雖然插在并行口上,但是它又提供了一個跟原來一致的并行口。
      2、軟件具有防解密功能,可對抗各種調試工具的跟蹤。
      3、一狗一密碼或一種線路,軟硬件不可互換,就像一把鎖一把鑰匙那樣。
      4、提供各種語言的編程接口以及一套實用工具,方便用戶在自己開發的程序中嵌入加密模塊。
      5、提供對可執行文件的加密工具,以便用戶對已有的產品進行加密。


      目前主流軟件加密鎖的不足

        對軟件加密保護產品而言,使用者最關心的是加密的有效性,產品的兼容性和穩定性。目前市場上主要的軟件加密鎖硬件內部均含有單片機,即所謂內置CPU,軟件廠商主要是利用算法功能進行加密。加密鎖通常還增加了一些輔助功能,比如倒計數器、遠程升級等。這類型加密鎖主要產品有彩虹天地的“微狗”“SuperPro”、深思洛克的“深思Ⅰ、III型”、 ALADDIN的HASP3、4等。通過對這些軟件鎖進行分析,認為從安全性上講他們至少有三方面致命的薄弱點:

        薄弱點1:設計原理有很大缺陷
         目前主流的加密鎖硬件提供了讀、寫和算法變換功能,且算法變換關系難以pj和窮舉。但這類加密鎖最大的缺陷是算法不向軟件廠商公開,鎖內的變換算法在出廠時已經固定,軟件加密者只能設置算法的參數。這樣就限制了廠商對算法的使用,要么預先記錄算法結果然后在軟件運行時核對(使用碼表),要么在軟件中至少變換兩次然后比較結果是否一致;如果解密者截獲這些數據,通過統計、分析就有可達到解密目的。

        薄弱點2:加密鎖受處理能力的限制,無法為軟件提供強有力的保護
         市場上曾先后推出了幾款“可編程”加密鎖。這類型加密鎖最大的特點就是可以讓用戶自行設計專用算法?!翱删幊獭奔用苕i的出現的確是軟件加密技術的一次進步。深思洛克的“深思III”、飛天誠信的“Rockey4”均屬此類產品。
      但由于成本限制,這類型加密鎖往往只能采用10~20元人民幣的通用8位單片機或同檔次的ASIC芯片作為核心微處理器。這種低檔單片機的處理運算能力是相當弱的,這就給 “可編程”加密鎖造成了很大的局限性,主要表現在:1、算法變換的復雜度不夠高,2、指令編碼空間較小,3、程序區的空間較小。這些局限性使得用戶根本不可能利用“可編程”加密鎖實現理想的高強度加密方案。

        薄弱點3:硬件本身抵抗惡意攻擊的能力較弱
         隨著集成電路設計、生產技術的發展,安全產品的核心芯片硬件本身受到攻擊的可能性越來越大。典型的硬件攻擊手段有電子探測攻擊(如SPA和DPA)和物理攻擊(探測,如采用SiShell技術),下面我們就這方面進行簡要的分析。
         電子探測(SPA和DPA)攻擊技術的原理是:單片機芯片是一個活動的電子元器件,當它執行不同的指令時,對應的電功率消耗也相應的變化。通過使用特殊的電子測量儀和數學統計技術,來檢測和分析這些變化,從中得到單片機中的特定關鍵信息。
         物理攻擊的方法有:通過掃描電子顯微鏡對芯片內部存儲器或其它邏輯直接進行分析讀??;通過測試探頭讀取存儲器內容;通過從外部無法獲取的接口(例如廠家測試點)對存儲器或處理器進行直接數據存??;再激活單片機的測試功能等。
         由于通用低檔單片機并非定位于制作安全類產品,沒有提供有針對性的防范物理攻擊手段,因此比較容易通過電子探測(SPA和DPA)攻擊直接讀出存儲器內的數據。雖然大多數普通單片機都具有熔絲燒斷保護單片機內代碼的功能,但此類芯片應用場合廣、發行批量大,隨著廠商間委托加工與頻繁技術轉讓,使得利用該類芯片下載程序的設計漏洞,利用廠商的芯片測試接口,通過特殊的燒寫時序和數據讀出信息成為比較容易的事情。
         ASIC芯片是完全根據用戶需求而特別定做,屬于小批量生產。由于其采用特殊的邏輯電路且不會輕易公開測試功能接口,因此只要以其為基礎開發的系統不是保存重要的信息或者不用于高級別的安全場合還是可以防范一般情況下的物理攻擊。

      加密鎖性能判定

      加密鎖很小巧,包含的技術內容卻很豐富。一般我們從三個方面分析加密鎖的性能:

        第一個是加密原理,或者說加密鎖有些什么功能,這往往是針對一些解密方法發展起來的,最需要創造性的地方就是這里。國內產品在這個方面一直與國外產品具備足夠的競爭能力。

        第二個是加密鎖的可靠性、穩定性、兼容性、透明性等。這些是對鎖的基本要求,但是做完整并不容易,尤其是兼容性、透明性問題,加密廠家在這方面有著豐富的經驗,但是沒有誰可以100%保證。透明性是鎖的一個比較特殊的指標,由于鎖是工作在并口(打印口),并口還會有其他設備,比如打印機、繪圖儀、硬盤、光驅等,鎖如果影響到原來設備的正常工作就是透明性不夠好,完全的透明是難以做到的,一般的加密廠家不保證鎖對并口硬盤、光驅等設備的透明性。


      上一篇:軟件狗[Dongles]的加密與解密技術(1)
      下一篇軟件狗[Dongles]的加密與解密技術(3)
      溫馨提示:
      凡在本公司進行電路板克隆業務的客戶,必須有合法的PCB設計版權來源聲明,以保護原創PCB設計版權所有者的合法權益;
      【 字體: 】【打印此頁】 【返回】【頂部】【關閉

      伊人久久大香线蕉av仙人