亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于注冊碼的軟件加密設計和實現(xiàn)

        2018-02-25 06:21:08江志儉張燕平
        電子技術與軟件工程 2018年9期

        江志儉 張燕平

        摘要 隨著信息技術的突飛猛進的發(fā)展和航空軟件交付的增多,開發(fā)者為了維護自身軟件的成果、技術、版權以及購買人的利益,必需對軟件進行加密保護。本文針對傳統(tǒng)基于序列號的軟加密存在的序列號固定、加密強度低、軟件供應商不易控制的缺點,提出了根據(jù)隨機產生的序列號,設計非對稱的加密算法,動態(tài)生成對應的注冊碼的方法,對交付的軟件實現(xiàn)加密注冊,實現(xiàn)一個終端,一個注冊碼,完成注冊碼驗證的終端才能運行應用軟件。經試驗驗證,基于該方法實現(xiàn)軟件加密,操作簡單,可靠性強,解密難度大,且不需要額外的成本,有效地防止軟件被復用或盜用。

        【關鍵詞】注冊碼 軟件加密 加密算法WINDOWS CE

        1 引言

        隨著信息技術的突飛猛進發(fā)展,直升機航空電子系統(tǒng)的體系結構的改變,軟件在直升機航空電子設備作用日趨明顯,推動著直升機航電技術的發(fā)展。為了保障交付的軟件產權和成果,和軟件購買人利益,使軟件不被隨意拷貝復用或盜用,軟件開發(fā)商采用某種加密方法對其軟件產品進行保護,就非常有必要。

        目前對軟件保護方法就是對軟件加密,加密的方法可分為軟加密和硬加密兩種,主流的硬加密方法是提供外帶軟件狗加密保護,該方法需要外帶軟件狗,遺失或故障均導致軟件不可用。主流軟加密提供唯一的序列號,序列號公開,則軟件可隨意使用。

        本文以軟件加密技術和算法為研究背景,對數(shù)據(jù)加密方案和算法做系統(tǒng),全面分析,并提出一種基于注冊碼方法加密技術實現(xiàn)對交付的應用軟件進行加密,序列號為根據(jù)時間信息采用加密算法生成6位隨機數(shù)字,依據(jù)序列號,設計解密算法產生唯一的注冊號,只有提供該注冊號的設備可運行配置的應用軟件?;谧源a的軟件加密技術,成功應用于WINCE嵌入式系統(tǒng)PDA設備交付的應用軟件中。

        2 加密方案

        當前,加密方案存在多種方式,主要可以歸類為兩種,一種為不依賴硬件的加密f軟加密)方案和依賴硬件(硬加密)的加密方案。

        2.1 軟加密

        軟加密是不需要輔助硬件,直接在軟件中設密碼,一般才用序列號或許可證文件的授權方式,通過特定的軟件算法,可以降低加密成本的加密方法,常見的軟加密位為序列號加密方法,密碼表加密方法。

        序列號加密方案:為軟件供應方提供購買者安裝該軟件使用的唯一正確的序列號,用戶只要輸入正確的序列號,就可以使用該軟件。該方案如果序列號被盜,該軟件可以隨意拷貝復用,且軟件能夠正常運行,加密強度低,不易于供應商控制。

        密碼表加密方案:為應用程序運行時,提出問題,目前主流為提供特定長度數(shù)字的序列號,根據(jù)序列號,輸入對應的密碼來解鎖相應的應用程序。只要密碼輸入正確,軟件才能正確運行。該使用者為合法用戶。該方案運行和使用簡單,得到廣泛的運用。每個設備在使用該應用程序時,必須先輸入正確的注冊密碼,且每個設備注冊碼異同,易于供應商控制和防止應用軟件被盜用或復用。

        2.2 硬加密

        硬加密是將應用程序的加密信息存儲到某個特定的硬件存儲區(qū)中或是硬件的電路中,然后座位軟件的附加設備一起提供給軟件購買人。在使用該軟件時,必須插入該附屬硬件,軟件方可正常運行。軟件運行時,檢測該硬件存儲區(qū)或電路中對應的密鑰信息,如密鑰不存在,軟件運行異?;蜍浖承┕δ墚惓?。常見的硬加密有軟件狗,智能鎖。

        軟件狗:軟件狗是目前主流的一種加密工具,它是插入計算機并行口上可插入USB口的軟硬件結合軟件加密設備。該設備具有幾十或幾百字節(jié)的非易失性存儲空間,供應商可將密鑰信息存儲在該區(qū)域,用于讀寫密鑰信息。軟件狗加密用戶使用簡易。

        智能卡:為了防止密鑰信息被取出或盜用,在軟件狗基礎上內部增加一個單片機,軟件開發(fā)商將軟件部分程序或算法寫入卡中,使用戶與外接設備之間實現(xiàn)無縫鏈接.和加密硬件有效結合,保證軟件提供者利益。智能卡加密強度高,兼容性強,但成本高。

        2.3 軟加密和硬加密比較

        硬加密:優(yōu)點為加密強度高,加密性能好、加密方法靈活,缺點為無法方便用戶實現(xiàn)試用版本和按需購買,硬件作為附屬設備本身需要安裝和維護成本,且丟失,軟件不可正常使用,難以升級和管理。額外的硬件設備影響了客戶用戶體驗。

        軟加密:優(yōu)點為不需要加密鎖硬件,也不需要安裝驅動和客戶端組件,實現(xiàn)軟件電子化發(fā)行。易于管理和維護,有助于提高授權效率和改善用戶體驗。降低購買者的管理成本。

        3 加密算法

        軟件加密的核心在于密鑰,密鑰生成核心在加密算法,常用的加密算法有置換加密、對稱加密算法和非對稱加密算法。目前主流為后兩種,對稱加密算法是采用相同的密鑰進行加密和解密,代表算法有DES算法,非對稱加密算法使用兩種不同的密鑰,公鑰和私鑰,其中公鑰公開,用于加密,私鑰由用戶保存,用于解密。該類算法代表有RSA算法。

        3.1 對稱加密算法DES

        DES算法為密碼體系的對稱密碼體制,又被稱為數(shù)據(jù)加密標準,是IBM公司由1972年研制的對稱加密算法,自推出以來,一直為國際上商用保密通訊和計算機通信最常用的加密算法。DES算法為對稱加密算法,加密密鑰和解密密鑰一致。明文按64位進行分組,密鑰長64位,密鑰事實為56位參與DES計算,分組后的明文組合56位密鑰按位替代后交換的方法形成密文組的加密方法。算法特點為分組比較短,密鑰太短、密碼生命周期短,運算速度較慢。

        3.2 非對稱加密算法RSA

        RSA公鑰加密算法是1977年由美國學者提出的公鑰密碼體制,其基礎為是數(shù)論中的歐拉定理,。公鑰加密體制的特點采用不同的加密密鑰和解密密鑰,通訊雙方不需要事先傳遞密鑰便可以建立通訊鏈接。保密性好,計算量大,不適合大量信息的加密。RSA是目前最有影響力和最常用的公鑰加密算法,它能夠抵抗到目前絕大多數(shù)密碼的攻擊,已被ISO推薦為數(shù)據(jù)加密標準。

        4 注冊碼加密技術

        本文采用的注冊碼加密技術是密碼表軟加密技術的改進。注冊碼為自動生成6位隨機數(shù)字,根據(jù)該6位數(shù)字,通過設計的非對稱加密算法產生唯一的注冊碼,用戶通過輸入正確的6位注冊碼,軟件方可正確使用,軟件驗證注冊碼合法性的過程,實際上就是驗證序列號和注冊碼的換算關系是否符合加密算法,由于該過程在手執(zhí)PDA終端是進行的,必須保證該過程關鍵性數(shù)據(jù)和加密算法的可靠性,不被輕易解密,注冊碼技術的關鍵在于加密算法的換算過程。算法公式可自行設計,本文的基于注冊碼的加密方法設計架構圖如圖1,應用軟件啟動流程圖如圖2。

        4.1 注冊表創(chuàng)建

        本文采用Embedded Visual C++開發(fā)工具,采用MFC的工程對話框、文本框、按鈕等控件,創(chuàng)建注冊表程序為:LPCTSTR keyName=L”MySofiware\\RegTest”;

        IResult=RegCreateKeyEx(HKEY_CURRENT_USER,keyName,O,L””,O,O,NULL,&hOpenKey,&dwOpenStyle);

        AS SERT (IResult==ERROR_SUCCESS);

        創(chuàng)建注冊表的目的為在注冊表中存儲密鑰,創(chuàng)建注冊表的過程為先創(chuàng)建鍵名,在鍵值中存儲密鑰,應用程序啟動時,取出該數(shù)據(jù)進行驗證或處理,滿足條件時運行應用程序,否則終止運行,保護應用程序的合法性。

        注冊表常用的類為:RegCreateKeyEx:創(chuàng)建關鍵字,如果關鍵字己被創(chuàng)建,則執(zhí)行打開操作。

        RegOpenKey: 用于打開某鍵值。RegSetValueEx:打開某鍵后,設定某鍵的值。

        RegQueryValueEx:查詢一個存在的值,如果匹配,返回成功,否則失敗。

        4.2 注冊碼寫入注冊表

        解密成功,將特定密碼數(shù)據(jù)寫入到對應注冊表中,將程序寫入注冊表的核心代碼為:

        LPCTSTR dwKeyName=L”密碼”;

        IRe sult=RegS etValueEx(hOpenKey,dwKeyName,O,REG_SZ,(BYTE*)& dwKeyValue,sizeof(dwKeyValue》;ASSERT(lResult==ERRORSUCCESS);

        固定密碼寫入注冊表之后,PDA設備加密的應用程序啟動時,匹配特定的密碼,如正確,應用程序正常運行,否則不可用。

        4.3 設定序列號和注冊號

        密鑰=F逆(序列號),將序列號加密生成密鑰,應考慮F算法復雜度和可靠性的設計.使解密者不容易分析F逆而解密加密算法,設計為非對稱算法,采用一對用于加密的序列號和用于解密的注冊號,從序列號難以推算出注冊號,加密強度高,不易解密。

        序列號:根據(jù)時間數(shù)據(jù),采用加密算法Serial Number= cal(T),生成6位數(shù)字序列號算法圖3。

        注冊號:根據(jù)序列號,采用解密算法生成Registration code= caI(Serial Number),算法為圖4。

        4.4 WinCE下Embedded Visual C++實現(xiàn)和驗證

        本文采用基于嵌入式平臺WinCE操作系統(tǒng),以Embedded Visual C++為編譯開發(fā)工具,基于MFC框架實現(xiàn),輔助與對話框,按鈕,文本框實現(xiàn),運行在PDA設備的界面如圖5。

        基于注冊碼的加密技術,成功運用于WINCE嵌入式平臺PDA設備的應用軟件的加密,己完成兩型機外場驗證,并交付多套PDA設備,每臺PDA設備必須通過序列號,申請到注冊號,完成注冊,方可正常運行該應用軟件,PDA設備維修返廠,再注冊使用。

        5 結束語

        對比傳統(tǒng)的軟加密序列號技術,軟件供應方提供該軟件使用的唯一正確的序列號,如果序列號被盜,該軟件可以隨意拷貝復用,加密強度低,本文基于注冊碼的加密技術,注冊碼是依據(jù)給定的隨機的序列號,動態(tài)生成的,且不唯一,因此可靠性更強,解密難度更高,保證了應用軟件使用的合法性,且易于供應商控制。

        基于注冊碼的軟件加密技術,加密軟件本身啟動時無需注冊,設備第一次運行應用程序時注冊一次,正確后寫入注冊表,啟動時再匹配固定的密碼,整個過程操作簡易,可靠性強,維護軟件提供人的成果,同時也是最經濟可行的方案,容易實現(xiàn)。

        基于注冊碼的加密技術,成功運用于WINCE嵌入式平臺,其核心在于算法計算隨機序列號和由序列號生成注冊碼的過程,但過程和算法本身是跨平臺的、可移植的,是一種通用的、可行的軟件加密技術,具有很強的工程實用價值。

        參考文獻

        [l]Douglas Boling,Microft Windows CE程序設計[M].北京大學出版社,1998.

        [2]顧剛.加密與解密[M].北京:電子工業(yè)出版社,2003.

        [3]李樹彬,一種實用軟件保護方案和實現(xiàn)[J].現(xiàn)代計算機,2007.

        [4]侯愛民,利用加密狗實現(xiàn)軟件版權的保護[J].東莞理工學院學報,2005.

        [5]徐海風,軟件加密方法及技術[J].山西冶金,2007 (01).

        国产又滑又嫩又白| 97精品人妻一区二区三区在线| 男女18禁啪啪无遮挡激烈网站| a级毛片100部免费看| 纯肉无遮挡H肉动漫在线观看国产| 偷拍av一区二区三区| 久久久精品人妻一区二区三区妖精 | 真人在线射美女视频在线观看 | 日韩av毛片在线观看| 亚洲精品无码av人在线播放| 国产精品久久久久久久成人午夜 | 久久aⅴ无码一区二区三区| 国产西西裸体一级黄色大片| 亚洲第一女人的天堂av| 先锋中文字幕在线资源| 日韩精品一区二区三区视频| 国产无遮挡又黄又爽无VIP| 中文字幕人妻久久久中出| 五月婷婷六月丁香久久综合| av无码小缝喷白浆在线观看| 中文字幕无码不卡一区二区三区| 国产无码十八禁| 美女性色av一区二区三区| 久久99精品久久久久婷婷| 久久乐国产精品亚洲综合| 国产一区二区三区国产精品| 久久久精品国产亚洲av网麻豆| 久久久久综合一本久道| 国产一区二区三区在线观看黄| 欧美精品一区二区精品久久| 欧美成年黄网站色视频| 亚洲精品乱码久久久久99| 国产午夜免费啪视频观看| 国99久9在线 | 免费| 天天爽夜夜爽人人爽曰喷水| 国产在线精彩自拍视频| 日韩人妻不卡一区二区三区| 欧美第一黄网免费网站| 在线观看av片永久免费| 国产成人亚洲一区二区| 国产成人无码a区在线观看视频|