喬麗平
(邢臺職業(yè)技術(shù)學(xué)院,河北 邢臺 054035)
?
網(wǎng)絡(luò)軟件浮動管理技術(shù)的研究
喬麗平
(邢臺職業(yè)技術(shù)學(xué)院,河北邢臺054035)
目前軟件行業(yè)所面臨的最大問題就是軟件安全問題,本文提出一種基于網(wǎng)絡(luò)環(huán)境采用許可證技術(shù)驗證軟件安全的方法來進行軟件管理。軟件許可管理是用于商業(yè)軟件與共享軟件版權(quán)保護以及自由軟件、開源軟件開發(fā)管理的最主要技術(shù)。軟件許可證在部署形式上分為浮動許可證和結(jié)點許可證兩大類。浮動許可證需要在網(wǎng)絡(luò)環(huán)境中部署一個或多個許可證服務(wù)器為其他的客戶端提供許可證服務(wù),從而保護軟件版權(quán)。
浮動管理;許可證文件;軟件加密;
軟件許可證是一種格式合同,由軟件作者與用戶簽訂,用以規(guī)定和限制軟件用戶使用軟件(或其源代碼)的權(quán)利,以及作者應(yīng)盡的義務(wù)。對于提供軟件保護的浮動許可證管理技術(shù),目前已有國內(nèi)公司自主研發(fā)成功軟件許可證管理相關(guān)產(chǎn)品,以及能釋放“占而不用”軟件許可證動態(tài)控制器等產(chǎn)品。但是,針對安全方面的漏洞并不能有效解決,一般都是軟件開發(fā)商研發(fā)自己的浮動許可證管理系統(tǒng),難以實現(xiàn)其它軟件的兼容,并且對數(shù)據(jù)統(tǒng)計和分析方面束手無策,與國外的技術(shù)仍有很大差別。
影響基于軟件許可證管理軟件方法的最重要因素就是數(shù)據(jù)安全問題和軟件管理問題,本文正是從這兩個因素出發(fā),研究基于客戶端數(shù)據(jù)驗證、服務(wù)端加密技術(shù)驗證以及硬件加密信息驗證的三重交叉驗證方式的網(wǎng)絡(luò)軟件浮動管理技術(shù),旨在一個浮動管理的網(wǎng)絡(luò)平臺,為用戶計算機上不同軟件產(chǎn)品、不同軟件版本同時進行管理的一種技術(shù)。同時,本課題提出了在網(wǎng)絡(luò)環(huán)境中三重交叉驗證技術(shù)的應(yīng)用,以及在這一技術(shù)的支持下如何對所提供的應(yīng)用軟件進行更有效、更安全的管理策略,從而達到更好保護軟件的目的。
本文將從客戶端數(shù)據(jù)驗證、服務(wù)端浮動管理策略以及基于TCP/IP的通信模式三個方面進行研究和分析?。
1.客戶端數(shù)據(jù)驗證
用戶在客戶端啟動軟件后就會觸發(fā)客戶端的數(shù)據(jù)驗證,驗證的信息格式如下:
struct softwareInformation
{
string name;//軟件名稱
string beta;//軟件版本
string date;//軟件有效期
string language;//軟件支持的語言
string m_allname;//軟件全稱
bool IsEnable;//軟件是否可以啟動
}
需要判斷用戶啟動的軟件名稱及版本是否浮動管理的對象,并比較它的有效期是否失效。數(shù)據(jù)驗證的整個過程如圖1所示:
圖1 客戶端數(shù)據(jù)驗證流程圖
從圖1中可知,啟動信息驗證后,一方面獲取打開的軟件名稱及版本信息,并解析相應(yīng)的信息,另一方面讀取許可證文件,由于許可證文件采用加密技術(shù),因此進行數(shù)據(jù)解密。然后比較兩者的信息,并返回驗證結(jié)果,驗證通過后需要遠程訪問服務(wù)器,并由服務(wù)器進行第二次驗證以及浮動管理。
2.服務(wù)端浮動管理策略
服務(wù)端系統(tǒng)包含兩部分,一部分是信息驗證,另一部分是客戶端的浮動管理。其中信息驗證又分軟件加密技術(shù)驗證與軟件狗硬件信息比對驗證。對于驗證通過的客戶端進行浮動管理,其管理策略如圖 2所示。
圖2 服務(wù)端浮動管理策略圖
圖 2中可以看到服務(wù)端程序啟動后,首先進行服務(wù)端信息驗證,本文研究的網(wǎng)絡(luò)軟件浮動管理平臺需要綁定服務(wù)器,因此會進行軟件硬件綜合驗證,以防止用戶私自篡改服務(wù)器的違規(guī)行為。對于服務(wù)端信息驗證的方式包括:驗證服務(wù)端的MAC地址、驗證服務(wù)端的許可證文件信息、驗證服務(wù)端安裝的軟件狗信息以及對服務(wù)端機器時間進行校對。
服務(wù)端信息驗證合格后,服務(wù)端平臺才正式運行,然后進入客戶端請求資源的浮動管理狀態(tài),需要對請求資源的客戶端進行軟件信息驗證,驗證完畢后,返回相應(yīng)結(jié)果,客戶端的軟件會正常打開。由于服務(wù)端的管理策略是浮動許可證個數(shù)管理,因此需要在線統(tǒng)計當(dāng)前獲取資源的客戶端個數(shù),并遵循三個規(guī)則:同時在線的客戶端資源個數(shù)不能超過設(shè)定的許可證個數(shù);如果已超過個數(shù),新客戶端需要等待資源空閑,進入隊列管理;對正常退出的客戶端,立即釋放資源,并從隊列中取出最先等待資源的客戶端,進行信息驗證完畢后,客戶端便可以獲取訪問資源。
3.基于TCP/IP的通信模式
客戶端與服務(wù)端的請求和相應(yīng)是基于 TCP/IP協(xié)議的 socket通信套接字完成的,其通信模式如圖 3所示:
圖3 基于TCP/IP通信模式設(shè)計圖
由圖 3可知,多個客戶端通過網(wǎng)絡(luò)與服務(wù)端進行通信,其通信方式包括:客戶端請求資源、服務(wù)端響應(yīng)拒絕客戶端請求、客戶端退出請求以及服務(wù)端對客戶端網(wǎng)絡(luò)環(huán)境的異常檢測。其主要目的是為了完成服務(wù)端對客戶端在線請求訪問資源的浮動管理方式。對于網(wǎng)絡(luò)異常的客戶端,服務(wù)端會從資源管理中釋放客戶端的訪問資源,并在日志記錄中記錄客戶端的網(wǎng)絡(luò)異?,F(xiàn)象。
基于網(wǎng)絡(luò)進行的客戶端與服務(wù)端的信息驗證和比較的載體就是軟件許可證,本文研究的軟件浮動管理平臺所采用的許可證格式如圖4所示。
圖4 license文件格式
本文針對目前軟件行業(yè)的軟件盜版問題進行分析,并考察當(dāng)前相應(yīng)的軟件保護技術(shù),然后提出網(wǎng)絡(luò)軟件浮動管理技術(shù)的研究方案,該方案在網(wǎng)絡(luò)環(huán)境中通過 C/S結(jié)構(gòu),進行客戶端的驗證,管理和注銷,采用數(shù)字加密和軟件狗加密的安全策略,服務(wù)器能夠及時地監(jiān)測客戶端軟件的異常退出,而且能夠定時地保護機器時間的準(zhǔn)確性和license文件的合法性,從而有效地控制軟件的運行和保護軟件的安全,有效地解決軟件盜版的問題,這一成果在IT行業(yè)中有較大的應(yīng)用前景。
[1]喬麗平,陳曉紀(jì).基于license文件的軟件加密技術(shù)的研究與應(yīng)用[J].邢臺職業(yè)技術(shù)學(xué)院學(xué)報,2013(1).
[2]伍曉宇.浮動許可證加密系統(tǒng)的研制[J].計算機應(yīng)用,1999(10).
[3]劉佳娜,張林龍,錢松榮.基于ACE的軟件許可證系統(tǒng)設(shè)計和實現(xiàn)[J].計算機工程,2006(9).
[4]候俊杰.深入淺出MFC[M].武漢:華中科技大學(xué)出版社,2001.
(責(zé)任編輯 李建武)
Research on the Technology of Network Software Floating Management
QIAO Li-ping
(Xingtai Polytechnic College, Xingtai, Hebei 054035, China)
At present,the biggest problem in the software industry is software security.In this paper,a method which can verify the security of the software on the basis of the network is proposed to carry out software management.Software license management is the most important technology for the protection of the copyright protection of the commercial software and the shared software and free software and open source software development and management.Software licenses are divided into two categories:floating licenses and node licenses in the form of deployment.The floating license requires that one or more licenses be deployed in a network environment to provide a license for other clients,thereby protecting software copyright.
floating management;license file;software encryption
TP311
A
1008—6129(2016)01—0092—04
2016—01—05
河北省科技支撐計劃項目——“基于三重交叉驗證的網(wǎng)絡(luò)軟件浮動管理技術(shù)的研究與應(yīng)用”,項目編號:15210133。
喬麗平(1984—),河北邢臺人,邢臺市職業(yè)技術(shù)學(xué)院信息工程系,講師。