999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于注冊碼的軟件加密設計和實現

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

江志儉 張燕平

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

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

1 引言

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

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

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

2 加密方案

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

2.1 軟加密

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

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

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

2.2 硬加密

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

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

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

2.3 軟加密和硬加密比較

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

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

3 加密算法

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

3.1 對稱加密算法DES

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

3.2 非對稱加密算法RSA

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

4 注冊碼加密技術

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

4.1 注冊表創建

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

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

AS SERT (IResult==ERROR_SUCCESS);

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

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

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

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

4.2 注冊碼寫入注冊表

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

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逆而解密加密算法,設計為非對稱算法,采用一對用于加密的序列號和用于解密的注冊號,從序列號難以推算出注冊號,加密強度高,不易解密。

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

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

4.4 WinCE下Embedded Visual C++實現和驗證

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

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

5 結束語

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

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

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

參考文獻

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

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

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

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

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

主站蜘蛛池模板: 午夜天堂视频| 99人妻碰碰碰久久久久禁片| 激情综合网址| 欧洲av毛片| 亚洲 日韩 激情 无码 中出| 狠狠ⅴ日韩v欧美v天堂| 国产午夜无码片在线观看网站| а∨天堂一区中文字幕| 亚洲有码在线播放| 国产极品粉嫩小泬免费看| 最新日韩AV网址在线观看| 国产91熟女高潮一区二区| 国产高清免费午夜在线视频| 国产在线97| 亚洲天堂网视频| 91成人在线免费观看| 57pao国产成视频免费播放| 亚洲日韩精品欧美中文字幕 | 国产亚卅精品无码| 狼友视频一区二区三区| 青青热久免费精品视频6| 2021国产精品自拍| 天天摸夜夜操| 九九热精品在线视频| 色悠久久久| 国产激情国语对白普通话| 国产亚洲视频播放9000| 久久精品aⅴ无码中文字幕| 亚洲三级成人| 美女视频黄又黄又免费高清| 亚洲欧美色中文字幕| 国内丰满少妇猛烈精品播| 四虎永久免费地址在线网站| 老色鬼欧美精品| 成人字幕网视频在线观看| 精品人妻一区无码视频| 天堂在线视频精品| 亚洲天堂777| 在线看片国产| 青青操国产视频| 无码不卡的中文字幕视频| 婷婷伊人五月| 国产在线无码av完整版在线观看| 亚洲毛片一级带毛片基地| www欧美在线观看| 视频二区中文无码| 中文字幕欧美日韩高清| 毛片免费在线| 一本大道无码高清| 亚洲色偷偷偷鲁综合| 亚洲VA中文字幕| 欧美色图第一页| 日韩精品一区二区三区免费在线观看| 国产精品无码一区二区桃花视频| 精品午夜国产福利观看| 亚洲日本在线免费观看| 白浆免费视频国产精品视频| 国产精品 欧美激情 在线播放 | 国产成人乱无码视频| 亚洲欧美日韩高清综合678| 广东一级毛片| 亚洲大尺码专区影院| 欧美日本不卡| 日韩精品久久无码中文字幕色欲| 国产第一页屁屁影院| 国产白浆在线观看| 欧美精品另类| 欧美第二区| 亚洲伦理一区二区| 激情无码视频在线看| 亚洲午夜国产精品无卡| 国产女主播一区| 国产福利免费视频| 夜色爽爽影院18禁妓女影院| 久爱午夜精品免费视频| 一本大道无码日韩精品影视| 国产区91| 国产精品第5页| 99久久成人国产精品免费| 狼友av永久网站免费观看| 欧美综合成人| 国产成人一二三|