李乃龍
摘 要:伴隨著互聯(lián)網(wǎng)技術(shù)和信息軟件技術(shù)的發(fā)展,各類辦公和生活軟件走進了人們的生活,并且在衣食住行等各個領(lǐng)域廣泛應(yīng)用。各類服務(wù)軟件特別是財務(wù)金融軟件的應(yīng)用,在方便人們工作生活,為廣大使用者帶來便利和幫助的同時,信息安全和數(shù)據(jù)保密問題也是日益凸顯,數(shù)據(jù)泄露、信息竊取的事件層出不窮,如何保護用戶隱私、實現(xiàn)軟件的使用安全成為人們討論的熱點。為此,軟件加密近年來逐漸成為行業(yè)關(guān)注的焦點,越來越多的軟件開發(fā)商和終端客戶關(guān)注軟件加密技術(shù)的發(fā)展,論文就軟件加密當前的現(xiàn)狀、分類和發(fā)展進行探討。
關(guān)鍵詞:信息安全;軟件加密;現(xiàn)狀研究;方式分類
中圖分類號:TP274+.2 文獻標識碼:B
Abstract: With the development of Internet technology and information software technology, various office and life software have entered people's lives, and are widely used in various fields such as clothing, food, housing and transportation. The application of various service software, especially financial and financial software: on the one hand, it facilitates people's work and life, brings convenience and help to the majority of users; on the other hand, information security and data confidentiality during the use of software is also Increasingly, the incidents of data leakage and information theft are also endless. How to protect user privacy and how to implement software security has become a hot topic. To this end, software encryption has become the focus of the industry in recent years. More and more software developers and end customers pay attention to and care about the development of software encryption technology. This paper studies the status quo, methods and development of software encryption.
Key words: information security; software encryption; current research
1 引言
近些年,軟件產(chǎn)業(yè)發(fā)展迅速,各種應(yīng)用軟件產(chǎn)品層出不窮,已經(jīng)成為人們?nèi)粘I钪胁豢苫蛉钡囊徊糠?。各類軟件特別是財務(wù)金融軟件的應(yīng)用,在方便人們工作生活,為廣大使用者帶來了便利和幫助的同時,也讓人們深刻認識到軟件在使用過程中出現(xiàn)的信息安全和數(shù)據(jù)保密問題,有關(guān)數(shù)據(jù)泄露、信息竊取的事件也是屢見不鮮,保護用戶隱私、做好軟件加密已經(jīng)被提上日程。
所謂軟件加密并不是需要對整個軟件加密,而是只需要在軟件安裝或者運行時進行環(huán)節(jié)加密。開發(fā)商作為軟件的研發(fā)者和運營者,通常會使用加密技術(shù)來保護其軟件,實現(xiàn)信息安全。另外,通過軟件加密,可以實現(xiàn)軟件部分授權(quán)內(nèi)容的按需購買。加密技術(shù)根據(jù)是否需要專用的硬件設(shè)備,可以分為基于硬件的加密和基于軟件的加密?;谟布募用苁侵竿ㄟ^專用的硬件設(shè)備綁定實現(xiàn)加密,目前常用的硬件加密方式是加密鎖,俗稱加密狗?;谲浖募用苁侵覆恍枰獙S玫挠布O(shè)備,一般采用與終端設(shè)備軟硬件信息綁定的數(shù)字許可證,也稱電子授權(quán)。
所謂硬件加密是一種純客戶端技術(shù),缺乏上層管理和有效統(tǒng)計功能,同時會帶來生產(chǎn)、物流、驅(qū)動安裝等諸多不便,不僅成本高,而且無法實現(xiàn)軟件的網(wǎng)絡(luò)化發(fā)行和銷售。另外,此種方式容易通過硬件復(fù)制實現(xiàn)破解,對軟件的安全性帶來隱患,目前基于硬件的軟件加密方式正在逐漸走向衰落。
2 軟件加密方式分析
2.1 基于硬件的加密
基于硬件的加密方式主要是指加密鎖加密,用戶所需的各類重要數(shù)據(jù)和信息,如加密密鑰、敏感數(shù)據(jù)、授權(quán)文件、自定義算法等都可以存儲在加密鎖中。常用的加密鎖按照接口形式可以分為并口加密鎖和USB口加密鎖。早期,比較普遍使用的是并口加密鎖,后來因為插拔不方便和與其他連接的設(shè)備存在插口沖突,目前已經(jīng)逐漸被淘汰。當前,開發(fā)商使用的加密鎖基本都是USB接口,根據(jù)CPU類型分為:單片機作CPU的加密鎖和智能卡芯片作CPU的加密鎖。因為單片機硬件本身容易被破解或復(fù)制,所以中高端的加密鎖基本都在使用智能卡芯片作CPU。伴隨著智能卡加密鎖的廣泛應(yīng)用,行業(yè)中對其進行破解技術(shù)也不斷出新,芯片分析技術(shù)和儀器越來越先進、智能卡程序?qū)懞煤笠唤o芯片廠去制造可能被泄漏、同一品牌的加密鎖所使用的CPU程序是相同的等因素都導(dǎo)致了加密鎖容易被破解,導(dǎo)致信息泄露和內(nèi)容被復(fù)制。加密鎖的不足和缺點:一是適用于傳統(tǒng)的一次性永久授權(quán),無法方便實現(xiàn)試用版本和按需購買;二是無法實現(xiàn)基于互聯(lián)網(wǎng)的電子化發(fā)行、升級、跟蹤和管理;三是硬件的存在帶來了生產(chǎn)、物流、安裝和維護成本;四是一旦被破解,就可以大批量復(fù)制,難以補救。
2.2 基于軟件的加密
基于軟件的加密方式主要是電子授權(quán)技術(shù),具體還分為注冊碼和許可證文件兩種:注冊碼也稱為序列號或授權(quán)碼,通過對軟件用戶計算機軟硬件信息的某種變換得到,可用的軟硬件信息包括CPU序列號、BIOS序列號、網(wǎng)卡號、硬盤序列號、計算機名稱等。使用的變換算法有自定義算法或標準的加密算法等。用戶在軟件安裝過程或第一次使用前,需要輸入注冊碼進行驗證。驗證通過后,軟件就可以正常使用了。注冊碼保護方式的優(yōu)點是使用簡單,缺點是安全性不高、無法實現(xiàn)復(fù)雜的授權(quán)需求。許可證文件和注冊碼綁定的計算機軟硬件信息相同,相比注冊碼只能使用一兩個軟硬件信息,許可證文件可以使用多個軟硬件信息,實現(xiàn)復(fù)雜的授權(quán)需求。典型的許可證文件實現(xiàn)方法是使用非對稱算法的私鑰對許可證文件進行簽名,而公鑰嵌在軟件代碼中。因為加解密過程不對稱,私鑰又存在授權(quán)服務(wù)器上,所以很難通過分析授權(quán)文件進行破解。
電子授權(quán)保護方式的優(yōu)點是不需要額外的硬件設(shè)備、安裝驅(qū)動和客戶端組件,可以實現(xiàn)軟件的電子化發(fā)行。缺點則是對不能聯(lián)網(wǎng)的用戶,需要手工提取計算機信息來獲得注冊碼,然后再手工導(dǎo)入造成不便。另外,國內(nèi)提供電子授權(quán)產(chǎn)品的開發(fā)商相對不足,限制了電子授權(quán)保護技術(shù)的廣泛應(yīng)用。
總體而言,基于軟件的電子授權(quán)加密目前發(fā)展勢頭良好,已經(jīng)廣泛應(yīng)用于各類軟件系統(tǒng)中,伴隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,已經(jīng)越來越多的把人工智能、大數(shù)據(jù)和云計算等技術(shù)理念進行融合,這種加密方式能夠?qū)崿F(xiàn)軟件電子化發(fā)行,操作簡便,易于管理。電子授權(quán)方式既無法被復(fù)制,又需要網(wǎng)絡(luò)激活和驗證,所以具有非常好的保護效果?;谲浖碾娮邮跈?quán)加密方式順應(yīng)了無硬件化、網(wǎng)絡(luò)化和信息化的發(fā)展趨勢,未來可期。
3 軟加密方式的探究
軟加密方式具有其獨特的加密優(yōu)勢和專屬特性,通過網(wǎng)絡(luò)通訊和服務(wù)器認證技術(shù),可以獲得更加理想的安全應(yīng)用效果。在軟件安全系統(tǒng)首次運行時實現(xiàn)服務(wù)器端的“備案”,在存儲客戶端硬件特征時實現(xiàn)獲取開發(fā)商授權(quán)。服務(wù)器認證既可以獲得首次運行的激活,還可以后續(xù)再次核查和升級授權(quán)內(nèi)容。另外,還可以采用客戶端與服務(wù)器實時連接的驗證方式,保證安全系統(tǒng)指紋始終依附在服務(wù)器上,達到更高的安全的要求。
軟加密技術(shù)的優(yōu)勢特點有三個。
一是雙因素驗證。早期的硬加密和軟加密,在安全驗證上都是單因素的,即基于加密鎖或本機硬件指紋。在集成了服務(wù)器認證之后,加密方式變?yōu)榧扰c本機硬件指紋相關(guān),又與服務(wù)器相關(guān)的雙因素。雙因素驗證極大的提高了系統(tǒng)整體安全性,盜版者無法通過破解其中的單因素來竊取,使軟加密的安全性超過傳統(tǒng)硬加密成為現(xiàn)實。
二是追蹤破解。沒有哪個保護技術(shù)是絕對可靠、無懈可擊的,但運行的軟件代碼總是可以被跟蹤和分析。雙因素驗證的軟加密方式有助于實現(xiàn)對破解應(yīng)用的追蹤。除非通過逆向工程的辦法把所有與服務(wù)器通訊相關(guān)的代碼完全替換,否則服務(wù)器將有可能對軟件的破解拷貝進行追蹤。
三是利于補救。軟加密的另一個優(yōu)勢是可以方便快捷的推出被破解版本的補救方案,并且其補救措施的成本幾乎是零。在發(fā)現(xiàn)原有版本被破解后,開發(fā)者可以在平臺上為產(chǎn)品增加新的功能模塊,同時可以升級原有的功能算法和應(yīng)用程序代碼,推出升級補丁,反饋客戶完成升級和軟件加密保護。
4 結(jié)束語
軟件加密行業(yè)的發(fā)展趨勢與互聯(lián)網(wǎng)技術(shù)和軟件行業(yè)的發(fā)展趨勢密切相關(guān)。隨著人工智能、云計算和區(qū)塊鏈等技術(shù)的快速發(fā)展,軟件產(chǎn)品的提供方式正在向著網(wǎng)絡(luò)化和平臺化的方向轉(zhuǎn)變。就目前的發(fā)展態(tài)勢而言,基于硬加密的加密鎖已經(jīng)接近飽和,不久的將來會被其他先進技術(shù)替代?;谲浖用艿碾娮邮跈?quán)方式具有獨特的加密優(yōu)勢,并且隨著時代的需要不斷的進行著迭代和升級,正在經(jīng)歷從早期的注冊碼形式向功能豐富的許可證文件形式轉(zhuǎn)變,驗證方式也從離線手工驗證發(fā)展為自動網(wǎng)絡(luò)驗證,特別是在授權(quán)管理思想提出后,電子授權(quán)技術(shù)已經(jīng)從單一的軟件授權(quán)認證發(fā)展為認證、管理和統(tǒng)計等多種功能,未來發(fā)展前景良好,已經(jīng)成為軟件加密技術(shù)的大勢所趨。
參考文獻
[1] 鄭羽.加密與解密實戰(zhàn)入門[M].北京:電子工業(yè)出版社,2006.
[2] 史子榮.軟件加密技術(shù)從入門到精通[M].北京:清華大學(xué)出版社,2007.
[3] 鄧安文.密碼學(xué)——加密演算法[M].北京:水利水電出版社,2006.
[4] Matt Robshaw.快速軟件加密法[M].湖北辭書出版社,2006.
[5] 武新華,安向東,等.加密解密全方位學(xué)習(xí)[M].北京:中國鐵道出版社,2005.43-51.
[6] 于溪.加密與解密點通點睛[J].齊魯電子音響出版社,2007.12-52.
[7] 徐秀花,衛(wèi)勐.軟件加密和破解技術(shù)[J].北京印刷學(xué)院學(xué)報,2010.04.
[8] 趙曉敏,趙常林.計算機網(wǎng)絡(luò)安全技術(shù)研究[J].雞西大學(xué)學(xué)報,2007年4月第七卷 第二期.
[9] 周黎明.計算機網(wǎng)絡(luò)的加密技術(shù)[J].計算機與信息技術(shù),2007年 第22期.
[10] 劉學(xué)會,祁新安.加密技術(shù)、加密方法以及應(yīng)用[J].計算機與信息技術(shù),2007年第20期.
[11] 鐘靜.電子商務(wù)技術(shù)及應(yīng)用[M].北京:電子工業(yè)出版社.
[12] 谷大武.高級加密標準(AES)[M].北京:清華大學(xué)出版社.