激活碼方式注冊的實現原理述
1.?軟件授權方式概述
目前,商用軟件和共享軟件絕大部份都是采用注冊碼授權的方式來保證軟件本身不被盜用,以保證自身的利益。盡管很多常用的許多軟件系統的某些版本已經被別人破解,但對于軟件特殊行業而言,注冊碼授權的方式還是一種保護軟件系統本身的一種有效的手段。
通常而言,注冊碼授權方式有以下幾種方式:
l?安裝序列號方式
這是最為常用的方式,Microsoft提供的產品(例如:Windows系列產品、Office系列產品等等)都是采用這種方式。通過一種復雜的算法生成安裝序列號,在安裝過程中,安裝程序對用戶輸入的安裝序列號進行校驗來驗證該系統是否被合法,從而完成授權。
l?用戶名+序列號方式
即軟件系統的供應商給用戶提供有效的用戶名和序列號,用戶在安裝過程或啟動過程中輸入有效的用戶名和序列號,系統通過算法校驗通過后完成軟件授權。
l?在線注冊方式
用戶安裝系統后,通過網絡進行注冊授權。軟件系統的供應商事先已經登記了用戶的信息,用戶在線注冊時,供應商的注冊系統對用戶的信息進行驗證。用戶身份有效時,注冊系統生成一個憑證信息,軟件系統根據憑證信息完成授權。
l?激活碼方式
用戶安裝系統后,軟件系統會根據用戶機器的關鍵信息(例如:MAC地址、CPU序列號、硬盤序列號等等)生成一個注冊憑證(也可稱為注冊碼),用戶將這個注冊憑證發送給軟件供應商,供應商通過注冊憑證生成一個激活碼。用戶輸入激活碼,軟件系統完成授權。
不論是采用哪種方式來進行授權,理論上都是可以被破解的。只要破解者發現了軟件授權機制和原理則任何保護機制都將化為烏有。因此,只能夠通過選擇復雜的算法和機制來增加破解者的破解難度,從而在在一定的時間內保證軟件不被盜用。通常在行業應用軟件領域,我們選用激活碼方式進行軟件授權管理。
2.?激活碼方式注冊的實現原理述
RSA算法(非對稱加密算法)是一個廣泛用于加密和數字簽名的算法,是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數據加密標準。RSA算法基于一個十分簡單的數論事實:將兩個大素數相乘十分容易,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰可以適用用戶名+序列號、在線注冊、激活碼等軟件保護方式。
RSA算法實現激活碼注冊方式的原理如下:
1.?生成一對公鑰E和私鑰D(供軟件注冊模板和注冊機使用);
2.?用戶安裝軟件后,軟件注冊模板提取用戶機器指紋信息(如:MAC地址、CPU序列號、硬盤序列號等),并通過其它的編碼算法(如BASE64)生成一個申請碼C;
3.?用戶將申請碼C發給軟件開發商。軟件開發商通過注冊機采用私鑰D加密申請碼C后生成激活碼F。軟件供應商將激活碼F發給用戶。
4.?用戶輸入激活碼F,軟件注冊模板采用公鑰E對激活碼F解碼后生成G(即:用戶機器特征信息),然后軟件注冊模板提取用戶機器的特定信息后進行編碼。將編碼的結果與G進行比較,如果相等則用戶合法,完成授權,否則授權失敗
網絡
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。