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

基于注冊碼的軟件授權保護系統的設計與實現

2020-05-20 01:35:12何永瑾郭肖旺趙德政
網絡安全與數據管理 2020年5期
關鍵詞:信息

何永瑾,郭肖旺,趙德政

(1.華北計算機系統工程研究所,北京 100083; 2.中電智能科技有限公司,北京 102209)

0 引言

計算機軟件的發展和應用為社會帶來了巨大的效益,也提供了大量的就業崗位。在為人們帶來便利的同時,軟件保護的問題也開始備受關注。由于軟件廠商版權意識不強,人們對知識產權不夠重視,盜版軟件和非授權軟件的使用不僅使企業遭受經濟損失,更容易使用戶和軟件的信息泄露,被不法人員利用。2018年,商業軟件聯盟(BSA)公布了《全球軟件調查》報告,報告結果表明,我國計算機軟件盜版率同2014年相比下降了8個百分點。這一方面歸功于國家一直在完善的軟件知識產權保護制度,另一方面軟件研發者們不斷研究各種各樣的軟件保護技術應用在自己的軟件上,延長非法破解軟件時間,增加不法分子盜版軟件的技術和時間成本,盡可能保護軟件不被非法利用[1]。

按照工作方式和原理的不同,國內外常見的軟件保護技術分為兩種,一種是基于軟件的軟加密技術,一種是需要特定硬件配合的硬加密技術。然而不論是軟加密還是硬加密,都有不可避免的劣勢。硬加密的缺點在于:①容易引起硬件沖突,操作要求高;②隨著軟件的升級,加密鎖也需要不斷更換,成本高;③需要附加專業硬件設備,靈活性差。軟加密技術減少了硬加密的一些缺點,不需要附加硬件設備,不過軟加密使用的keyfile和序列號的格式大同小異,容易被篡改,無法保證安全性。

在國外,軟加密保護產品憑借其易分發、成本低、靈活性好等優勢,已經代替加密鎖成為主流趨勢,如已經成熟的Flexlm系統,軟許可CmActLicense等。目前國內加密鎖仍是主流軟件保護產品,自主研發的軟加密授權產品較少,系統仍有待完善[2]。

國內的軟件保護技術目前存在的問題在于現有的軟件保護的方式過于單一,如硬件綁定、加殼技術等,未對軟件的保護方法進行二次設計開發,導致軟件破解有規律可循;再者,軟件多側重于對軟件自身的保護,購買一次可以獲得永久的使用權,沒有結合用戶的需求采取靈活的授權模式,例如不同的用戶應該擁有不同的使用期限和不同的功能模塊。

本文提出了一種基于機器注冊碼的軟件授權保護策略,優先使用國產加密算法,對軟件授權的各個環節進行優化和改進。在保護軟件的同時,也可以按時間、功能模塊對用戶進行授權。

1 系統方案

為解決傳統軟件保護技術存在的保護方式單一、授權不夠靈活等問題,設計基于注冊碼的軟件授權保護方案,該方案的設計目標包括以下四點。

(1)激活碼需要和硬件信息相結合。硬件信息是唯一且不變的,做到“一機一碼”,保證每臺機器的激活碼不可通用,單獨授權,并且要做到硬件信息不易推測出來。

(2)生成激活碼的算法的安全性。基于軟加密的保護機制的核心在于加解密算法,采用安全可靠的加解密算法防止軟件輕易被破壞。

(3)安全的授權校驗機制,解密的過程是一個明文信息暴露的過程,如果校驗機制出現了隱患,對軟件來說則是致命的威脅。

(4)具有一定的自身檢查能力,包括對磁盤文件和內存映像的檢查,避免軟件在開發者不知情的情況下修改校驗機制,被破解而不自知。

基于上述設計目標,制定了軟件授權保護系統的授權流程,其流程如圖1所示。主要思路是:首先,客戶啟動軟件,軟件提取能夠唯一標識機器身份的指紋信息,使用加密算法對其加密形成注冊碼。服務端收到注冊碼之后,根據軟件的基本信息和用戶的需求信息(功能需求和使用期限)生成激活碼,發送給客戶端??蛻舳耸褂眉せ畲a激活軟件,在校驗激活信息無誤后,進入軟件主界面。

2 系統組成部分

基于功能的需求,對系統功能進行功能模塊的劃分,得出系統功能組成,如圖2所示。

圖1 授權流程

圖2 系統組成

(1)服務端的加密模塊和授權模塊是本系統的重要功能模塊。授權模塊需要讀取客戶端發來的注冊碼和用戶的需求信息并調用加密模塊的加密算法對信息加密。

(2)客戶端的加解密模塊包括生成注冊碼和完整性校驗時需要的加密摘要算法,以及解析激活碼時的解密算法。

(3)硬件信息采集模塊主要用于采集可以唯一標識用戶身份的硬件信息,如磁盤序列號、MAC地址等。

(4)注冊碼生成模塊包括讀取硬件信息、組合硬件信息和生成信息摘要三部分。

(5)激活校驗模塊獲取到解密后的信息后校驗內容的正確性,包括激活碼校驗、時間校驗和功能校驗。

(6)完整性校驗模塊在程序最開始運行的時候對整個軟件的完整性進行檢驗,校驗無誤后才可進入激活校驗。

3 系統具體實現

3.1 注冊碼生成模塊

計算機中,可以作為指紋的能讀取的硬件信息有:MAC地址,CPU序列號,BIOS序列號,硬盤序列號。MAC地址具有全球唯一性;BIOS序列號的讀取并不容易,但有些主板沒有BIOS序列號,使用一些工具也可以輕易更改它,如DMIScope;如果是同一批次同一配置的電腦,CPU序列號存在重復的可能;硬盤序列號是獨一無二的,是計算機信息的重要組成部分,如果執意修改,可能會導致系統錯誤,硬盤無法使用。所以本方案采取讀取硬盤序列號和MAC地址作為指紋信息。采用這一方式有一定的風險,兩種信息的簡單組合很容易被推測出所使用的硬件信息,在安全性上有所欠缺。故本方案中將硬盤序列號和MAC地址分組進行交叉,使信息變得復雜化,如圖3所示。

圖3硬件信息組成方式

由于硬件信息的長度不固定,注冊碼的生成采用摘要算法,生成固定長度的消息摘要。MD5和SHA-1算法不再安全[3],本文采用安全性更高的SM3摘要算法生成摘要。將其作為加密算法的消息輸入,摘要算法加密的不可逆性,可以保證硬件信息的交叉處理原文不被反推出來。

3.2 加密授權模塊

和非對稱加密算法相比,對稱密碼算法運算速度快,加密效率高,不需要考慮安全傳輸的問題。在對稱密碼算法中,國產SM4對稱分組密碼算法具有較高的可靠性和安全性,故本方案中采用SM4算法。它的分組長度為128 bit,密鑰長度也為等長的128 bit。加密算法和密鑰擴展算法均采用32輪非線性迭代結構,每次迭代為一個圓形變換函數f。該SM4算法添加/解密相同的結構,只使用車輪密鑰相反,其中解密車輪密鑰是加密車輪密鑰的相反順序[4]。

3.2.1 SM4算法的改進使用

由于SM4是對稱加密密鑰,加密和解密過程使用相同的密鑰,獲取了加密密鑰,相當于得到了解密密鑰,就可以破解密文。另外SM4算法在擴展密鑰的計算過程中使用固定參數CK和FK,不具有良好的隨機性。故在使用過程中,對SM4算法進行了改進[5]。本文提出在輪密鑰的生成過程中添加隨機性參數,改進參數的選擇方式,無法獲得這些參數,則無法生成正確的輪密鑰,也無法還原解密過程。具體改進描述如下。

(1)將4個系統參數FK增加至16個,原來的4個系統參數不變,另外使用隨機數生成12個不同的參數FK4~FK15。采取以下方式隨機選擇4個參數進行加密運算。

采用線性探測法構建哈希表,存儲16個FK,如圖4所示。

圖4 固定參數表

取明文的最后一位X15,模4求余得j=X15mod4,計算取FK的關鍵字地址hi=4×i+j(i=0,1,2,3),得到4個FKi=Hash(hi)(i=0,1,2,3)。

CK32=80878e95 CK33=acb3bac1

CK34=c8cfd6dd CK35=e1ebf2f9

在固定參數FK中添加隨機參數,增加了生成輪密鑰的隨機性,提高密鑰的安全性。增加CK的值,并且增加密鑰擴展的輪數,提高了算法的復雜度,進而提高整個算法的安全。

3.2.2 加密授權方法

激活碼由軟件供應商提供生成。SM4算法為分組為128 bit長度的對稱加密算法,加密數據格式較為固定,若一次加密,形式過于單一,故采用兩次加密,先驗證注冊碼的合法性,如果合法,則設置軟件信息,包括軟件版本信息、注冊時間等,合成等長的128 bit字符串作為密鑰,對注冊碼進行第一次SM4加密。把授權信息,如使用期限、使用的功能、供應商等,生成128 bit的字符串,使用上一次生成的密鑰,對授權信息進行第二次加密,生成最終的激活碼[6]。生成激活碼流程如圖5所示。

圖5 生成激活碼流程

3.3 軟件激活校驗模塊

驗證激活碼是為了判斷用戶是否有合法的使用權。驗證過程在客戶端進行,可以在無網絡的環境下驗證,保證其安全性。主要流程[7]如圖6所示。

圖6 校驗流程

獲取到激活碼后,首先和生成過程類似,將注冊碼和軟件信息加密,生成解析授權信息的軟件密鑰,使用軟件密鑰對激活碼解密,獲取授權信息,判斷授權信息的數據格式是否合法。這一步也是對激活碼進行校驗,如果數據格式不合法說明激活碼中加密的注冊碼有誤,無法對軟件激活。獲取到軟件信息后,判斷軟件的使用期限和功能信息是否有效,有效則進入軟件主界面。

在軟件運行期間,會一直讀取激活碼,檢查硬件信息是否相符。還會進行功能和時間校驗。讀取上次使用的時間,并計算出剩余使用時間,寫入注冊表中。在軟件校驗時間時,讀取注冊表中的時間信息,判斷時間是否在有效期內,如果不是則標志為過期,阻止用戶通過篡改時間達到延長期限的目的,保證軟件一直運行在授權期限中[8]。如果在軟件運行中修改時間,程序檢測到當前時間大于上次使用時間,則停止運行,直到時間修改回來才能繼續運行。

在客戶端軟件中嵌入功能模塊信息列表,用戶使用某一功能模塊的時候,檢測程序中的功能模塊碼值和授權信息中的功能信息是否一致,則開放對應模塊的功能。

3.4 文件完整性校驗

在保護方案中,為了阻止惡意程序修改軟件信息,保護授權校驗機制,增加了對軟件的完整性校驗[9]。完整性校驗包括磁盤文件和內存映像的檢查,DLL文件和EXE文件的完整性檢查。對原始文件使用SM3計算得到散列值,并將值放在某處,每當EXE文件開始運行時,重新計算文件的散列值,同原值進行比較,如果不同則表明文件已經被修改。對內存映像檢測的方法是從內存映像中獲得代碼區塊的RVA值和內存大小,計算內存數據的散列值,與自身文件先前儲存的散列值進行比較,判斷數據是否被修改。如果檢測到數據被修改,則停止程序的運行。

4 結論

本文從實際應用出發,分析常見軟件保護技術的不足之處,將軟件保護和用戶授權相結合,提出了一種基于注冊碼的軟件授權保護方案,改進了注冊碼的構成方式,設計了授權和加密方案,完成了激活校驗的流程,并對軟件做了完整性校驗,保證軟件的完整性,在對軟件起到保護作用的同時,可以對用戶分時間和功能授權,提高了授權的靈活性。

本方案還可以做一些改進,例如增加云授權、次數授權等。還應該從不同角度進行安全防護,從底層系統的安全性開始同軟件保護技術結合起來,保證軟件的安全,這也是接下來重點研究的內容。

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 中国黄色一级视频| 亚洲无码视频一区二区三区 | 日韩欧美在线观看| 亚洲高清国产拍精品26u| 九九久久99精品| 免费不卡在线观看av| 亚洲精品日产精品乱码不卡| 国产成人区在线观看视频| 性喷潮久久久久久久久| 久久国产乱子| 一级福利视频| 国产精品思思热在线| 无码内射在线| 日本高清在线看免费观看| 午夜少妇精品视频小电影| 91美女视频在线| 99re经典视频在线| 毛片基地视频| 日韩精品一区二区三区swag| 曰韩免费无码AV一区二区| 成人小视频在线观看免费| 91视频精品| 高清欧美性猛交XXXX黑人猛交 | 性色生活片在线观看| 成人免费网站在线观看| 无码一区18禁| 丁香六月综合网| 色哟哟精品无码网站在线播放视频| 青青青视频91在线 | 91成人在线免费观看| 成人亚洲视频| 狠狠色婷婷丁香综合久久韩国 | 中国国产A一级毛片| 黄色网址手机国内免费在线观看| 国产成人精品视频一区二区电影| 无码aaa视频| 亚洲无线一二三四区男男| 无码又爽又刺激的高潮视频| 亚洲黄色激情网站| 久久精品只有这里有| 天天综合网色中文字幕| 网友自拍视频精品区| 香蕉视频在线观看www| 国产精品亚洲天堂| AV熟女乱| 熟妇人妻无乱码中文字幕真矢织江| 国产一级小视频| 亚洲精品大秀视频| 欧美在线视频不卡第一页| 欧美日韩国产在线人成app| 免费看黄片一区二区三区| 亚洲资源站av无码网址| 免费国产好深啊好涨好硬视频| 亚洲性一区| 伊人久久久大香线蕉综合直播| 99热国产这里只有精品无卡顿" | 亚洲区第一页| 国产a网站| 91口爆吞精国产对白第三集| 久久久久88色偷偷| 99国产在线视频| V一区无码内射国产| 国产极品美女在线| 国产手机在线ΑⅤ片无码观看| 99re这里只有国产中文精品国产精品 | 日韩欧美国产区| 自拍偷拍欧美日韩| 亚洲人成影院午夜网站| 久青草免费视频| 国产粉嫩粉嫩的18在线播放91| 欧美怡红院视频一区二区三区| 夜夜操国产| 国禁国产you女视频网站| 色婷婷成人网| 内射人妻无码色AV天堂| 精品国产美女福到在线不卡f| av在线5g无码天天| 成人午夜在线播放| 国产三级国产精品国产普男人| 九九九精品成人免费视频7| 日韩A∨精品日韩精品无码| 美女被躁出白浆视频播放|