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

一種基于硬件特征和動態(tài)許可證的分布式高可用軟件授權認證模型

2021-08-06 06:23:24馬劍華
關鍵詞:用戶信息模型

高 博,劉 羽,唐 瑩,侯 璞,馬劍華

(1.重慶市教育考試院 a.信息處;b.財務處,重慶 401147;2.四川外國語大學,重慶 400031;3.重慶辰盛悟智科技有限公司,重慶 401121;4.重慶市招生考試服務有限責任公司,重慶 400010)

軟件破解與保護是跟隨軟件全生命周期的永恒課題。2004年,微軟公司提出了最終用戶許可協(xié)議(end-user license agreement,EULA)并要求用戶遵守。迄今為止,國際上對商用軟件的版權進行保護的通用慣例依然如此。但是,由于EULA只是從文本上約定了最終用戶的權利和義務,并未從技術角度提供有效的版權保護機制和控制手段,無法控制用戶的任意安裝與使用,更無法保證用戶私自對軟件進行破解。為了達到保護軟件版權的目的,產(chǎn)生了硬件保護和軟件保護兩類方案,其中基于硬件保護的措施能夠在一定程度上保證軟件版權的有效控制,但控制手段必須依賴特定的硬件載體(加密狗、安全光盤等),在需要運行軟件的計算機硬件設備數(shù)量眾多時對授權硬件載體數(shù)量的需求同步增加從而導致開銷增加等。

筆者所在研究團隊的前期工作[1]在一定程度上實現(xiàn)了基于硬件特征和動態(tài)許可證的軟件授權認證,但在實際應用中發(fā)現(xiàn)存在一些問題和不足。陳金玉等[2]提出了一種基于機器特征生成注冊碼的軟件加殼版權保護方法。余瓊霞[3]討論了SaaS模式下計算機軟件保護的相關問題。李森[4]采用RSA算法,提出了一種基于License授權文件的、通用的軟件版權保護機制。范潔等[5]提出了一種基于靜態(tài)軟件水印和軟件指令集的軟件特征值提取方法。王云曉等[6]設計了一種基于動態(tài)密文的軟件保護方法。張學誠等[7]設計了一種基于計算機指紋的軟件版權保護方法。胡國良等[8]研究了一種基于實時授權的企業(yè)級軟件License控制方法。劉蓬濤等[9]給出了一種基于第三方認證的軟件版權保護方案。Jinyue等[10]提出了一種證明二進制代碼相似性的遺傳算法。Lvchen等[11]提出了一種嵌入式系統(tǒng)軟件版權保護的認證策略。綜合相關研究者的最新進展和成果,我們在前期提出的SSAMHFDL(server-side software authorization model based on hardware feature and dynamic license)模型基礎上,提出了改進的DHASAMHFDL(distributed and high-available software authorization model based on hardware feature and dynamic license)模型。

1 SSAMHFDL模型在實際應用中存在的問題及改進措施

經(jīng)過多個項目的實際應用,發(fā)現(xiàn)SSAMHFDL模型存在以下問題和不足:

1)授權服務器LMS和授權數(shù)據(jù)庫LD存在單點故障的風險。SSAMHFDL模型中的LMS和LD都默認為單臺服務器上的單實例,在實際應用中容易因網(wǎng)絡阻塞、操作系統(tǒng)錯誤或LMS/LD本身報錯引發(fā)單點故障。

2)目前市面上應用廣泛的一些軟件如Jet-Brains的IDEA開發(fā)工具等,大都被攻擊者通過偽造本地LMS對LA進行授權的方式進行了本地破解,SSAMHFDL模型中LA與LMS之間的通訊未采用證書加密,也存在該風險。

3)未考慮LA離線提交授權許可的情況,有些用戶的BS運行在內(nèi)網(wǎng),無法直接訪問LMS,亟須增加生成離線授權請求數(shù)據(jù)的功能。

4)不區(qū)分終端上運行的BS的版本,導致不同版本BS可使用同一授權,軟件提供商的利益受到損害。

因此,為解決SSAMHFDL模型存在的問題和彌補不足,我們基于前期研究,提出了基于硬件特征和動態(tài)許可證的分布式高可用軟件授權認證模型DHASAMHFDL,主要針對上述問題進行了以下改進,并將授權場景擴展到所有軟件類型。

1)將單臺授權服務器LMS更換為分布式授權管理服務器集群DLMSC,將單臺授權數(shù)據(jù)庫LD更換為分布式授權數(shù)據(jù)庫集群DLDC,相應的操作流程也隨之變更。

2)引入第三方CA對LA和DLMSC簽發(fā)安全證書,LA與DLMSC之間的所有通信數(shù)據(jù)均使用證書加密和驗證。

3)考慮到用戶實際使用中可能存在BS不能直接訪問網(wǎng)絡的情況,允許LA生成離線授權請求數(shù)據(jù),由用戶在滿足網(wǎng)絡授權條件的情況下手動向DLMSC提交授權請求數(shù)據(jù),并完成后續(xù)步驟。

4)區(qū)分終端運行的BS版本,將版本參數(shù)VER加入注冊授權流程中并進行驗證,版本不同的BS原則上不能共享授權信息。

2 DHASAMHFDL模型

2.1 定義與約定

符號約定:

U:User,用戶

BS:Business Software,目標商用軟件程序

LA:License Agent,BS中的授權認證模塊

DLMSC:Distributed License Management Server Cluster,分布式授權管理服務器集群

DLDC:Distributed License Database Cluster,分布式授權數(shù)據(jù)庫集群

L:許可證

SL:許可證狀態(tài),UNLICENSED表示已失效或未授權,LICENSED表示已授權

Ts:申請許可證的時間戳

Tc:當前時間戳

Tr:BS在運行過程中向LMS發(fā)起授權驗證請求的時間間隔,依特定算法M生成,Tr∈[60,900]

T:限制申請許可證的最短時間間隔

Lifetime:許可證有效期

OTCA,B:One-Time Code,一次性A、B共享對稱密鑰

Ka,K′a:分別表示a的公鑰和私鑰E,D:分別表示加密和解密

SK(m):表示以K對m的簽名

VK(s):表示以K驗證s的簽名

C:DLMSC驗證許可證是否有效的算法

M:LA生成Tr′的特定算法

R:隨機量

定義1:硬件特征碼(hardware feature code,HFC)是指用于區(qū)分軟件使用者身份的關聯(lián)于機器硬件特征的全局唯一標識碼。一般由多個硬件組件的型號、流水號等信息通過某種加密算法生成。

定義2:用戶識別碼(user identification code,UIC)是指用于區(qū)分軟件使用者身份的關聯(lián)于用戶自身特征的全局唯一標識碼。一般由用戶自身相關信息通過某種方式進行編碼。

定義3:請求向量

Req={HFC,UIC,OP,VER,CHKSUM}

其中,HFC為硬件特征碼;UIC為用戶識別碼;OP為操作類型;VER為軟件版本特征碼。

其中,REG、VERIFY、GETLIC分別表示申請許可證、驗證許可證和獲取已授權的許可證文件;CHKSUM表示對前述3項數(shù)據(jù)的Hash校驗值。

定義4:軟件許可證是用于控制軟件版權,由許可證管理器依據(jù)HFC、UIC、VER和OTC(One-Time Code,一次性驗證碼)為用戶動態(tài)生成的、加密的復合數(shù)據(jù)結(jié)構。其狀態(tài)其中,LICENSED、UNLICENSED分別表示已授權和未授權,其中未授權包括從未授權和授權后注銷2種情況。

定義5:軟件胎記(Software Birthmark)是指軟件出廠前設置的一種特征信息,在軟件本身發(fā)生變化時該特征保持不變,可用于標識該軟件屬性。在軟件非執(zhí)行狀態(tài)下提取得到的特征信息集合稱為軟件的靜態(tài)胎記,在軟件運行狀態(tài)下提取得到的特征信息集合稱為軟件的動態(tài)胎記。

定義6:軟件水印(Software Watermark)是指在軟件開發(fā)時嵌入到軟件的數(shù)據(jù)區(qū)或代碼區(qū)的隱藏信息,但不在程序的可執(zhí)行流程中,與軟件運行狀態(tài)無關,可被提取出來用于判斷軟件的擁有者或開發(fā)者,協(xié)助鑒定軟件版權。

約定1:該商用軟件的許可證授權與認證部分在同一終端上運行。同一臺終端硬件設備上可運行一套或多套不同版本的該商用軟件。

約定2:為了有效地控制和保證許可證的原子性,在請求發(fā)放證書的時限T內(nèi)重復發(fā)送相同的授權請求將被拒絕發(fā)放許可證;否則,將認為是合法的請求,可為其發(fā)放許可證。每當處理用戶請求時,分為2種情況:

1)該用戶僅有一份額定有效許可證,此時將清空許可證分布式授權數(shù)據(jù)庫集群DLDC內(nèi)保存的該用戶上一次的有效許可證信息,并填入此次請求的相關數(shù)據(jù),然后生成許可證文件發(fā)送給用戶。

2)該用戶可申請多份額定有效許可證,當未達到該用戶的有效許可證數(shù)量上限時,將新建許可證信息并填入此次請求的相關數(shù)據(jù),然后生成許可證文件發(fā)送給用戶;否則將提示用戶許可證數(shù)量已達上限,此時用戶可根據(jù)情況重置其名下的某個許可證信息,步驟與1)相似。

約定3:分布式授權管理服務器集群DLMSC是公平、可信的,商用軟件本身以及授權代理LA、授權管理服務器等程序在軟件實現(xiàn)上是安全的。

約定4:模型中的通信數(shù)據(jù)完整性通過Hash校驗值和安全對稱密碼算法保證;數(shù)據(jù)不可否認性通過公鑰算法保證;系統(tǒng)時間戳由服務器方發(fā)放和控制;時間戳驗證需與服務器方聯(lián)機。

約定5:LA與CA、DLMSC與CA之間的數(shù)據(jù)通訊均使用證書加密和驗證,證書的合法性由CA保證。

2.2 概念設計

DHASAMHFDL模型的思路和一般執(zhí)行步驟如下:

步驟1用戶購買軟件后運行其中的LA,LA將首先檢測軟件自身胎記和水印信息,如正常則生成HFC、UIC并獲取當前軟件版本信息VER;如軟件胎記和水印信息異常,表明軟件可能存在破解或損壞,LA將向用戶發(fā)送相關錯誤提示信息并終止后續(xù)流程。

步驟2LA檢測當前系統(tǒng)環(huán)境是否滿足網(wǎng)絡授權相關條件,如不滿足則執(zhí)行步驟3,如滿足則執(zhí)行步驟4。

步驟3LA生成離線授權請求數(shù)據(jù)Req{HFC,UIC,VER,OP,CHKSUM},由用戶在滿足網(wǎng)絡授權條件的情況下手動向DLMSC提交授權請求數(shù)據(jù)。

步驟4LA聯(lián)系CA,獲取DLMSC的有效地址,使用SSL證書與DLMSC驗證通過后,向DLMSC在線提交授權請求數(shù)據(jù)Req{HFC,UIC,VER,OP,CHKSUM}。

步驟5DLMSC聯(lián)系CA,獲取DLDC的有效地址,并使用SSL證書聯(lián)系DLDC進行查詢,若數(shù)據(jù)無效或未滿足其他條件,拒絕發(fā)放許可證,向LA返回授權失敗等信息;否則DLMSC生成新的許可證信息并將其返回至LA。

步驟6LA依據(jù)DLMSC的返回信息對該商用軟件進行授權認證,或在其界面上提示授權失敗的相關內(nèi)容。

DHASAMHFDL模型的概念結(jié)構流程如圖1所示。

圖1 DHASAMHFDL模型的概念結(jié)構流程框圖

2.3 算法流程

根據(jù)上述思想,DHASAMHFDL模型的軟件注冊授權全過程包括以下4個階段:

階段1:初始化

用戶U操作BS,啟動LA模塊,執(zhí)行初始化操作,共分以下2個步驟:

步驟1LA檢測BS的胎記和水印信息:

如發(fā)生異常,LA向U發(fā)送錯誤提示信息;如正常,執(zhí)行步驟2。

步驟2LA檢測當前系統(tǒng)環(huán)境是否滿足網(wǎng)絡授權條件:

如發(fā)生異常,LA生成離線授權請求數(shù)據(jù),并向U發(fā)送提示信息:

由用戶在滿足網(wǎng)絡授權條件的情況下手動向DLMSC提交授權請求數(shù)據(jù);

如正常,執(zhí)行步驟3。階段2:申請許可證LA從DLMSC獲取許可證,共分以下3個步驟:

步驟3LA聯(lián)系CA,獲取DLMSC的有效地址,并使用SSL證書與DLMSC驗證:

步驟4LA通過網(wǎng)絡向DLMSC提交授權請求:

其中,OTCLA,DLMSC為每次申請授權時LA向DLMSC取得的OTC。

步驟5DLMSC驗證LA提交的信息的合法性:

若Tc-Ts<T,表明在時限內(nèi)多次申請授權,則拒絕并返回,否則轉(zhuǎn)步驟6。

步驟6根據(jù)LA的授權請求,DLMSC檢查LA提交的HFC、UIC、VER等數(shù)據(jù)并根據(jù)情況決定是否生成許可證并發(fā)放。

若SL=UNLICENSED,則DLMSC動態(tài)生成L并使用BS的公鑰KBS加密,并隨機生成BS、DLMSC會話密鑰KBS,DLMSC和新的OTC密鑰OTC′BS,DLMSC,加密返回給LA:

2)LMS→U:對L做簽名并加密傳送至LA:

3)置SL=LICENSED,將HFC、UIC、Ver、Ts、Lifetime寫入DLDC;

4)LA檢測從DLMSC得到的L,若R2與R1不為相似向量,則拒絕接受該許可證信息,否則驗證L的簽名VKBS(SKBS′(L)),通過則接受L,否則拒絕;

若SL=LICENSED,則表明L已經(jīng)過授權,此時鑒權HFC、UIC、VER等信息:

若(HFC=HFC′)&&(UIC=UIC′)&&(VER=VER′),即該BS在同一服務器硬件設備上重新安裝,為LA發(fā)放L;否則,表明該BS的運行環(huán)境已與申請授權時不同,拒絕發(fā)放L并返回。

階段3:注冊授權軟件

步驟7LA向BS提交申請到的L,BS使用私鑰K′BS解密L:

并與DLMSC聯(lián)機,提交Ver、Ts、Lifetime,DLMSC根據(jù)自己的Tc計算Tc-Ts<Lifetime是否成立,并將結(jié)果返回LA,若此過程超時,LA拒絕注冊,否則轉(zhuǎn)步驟8。

步驟8LA驗證

是否成立,成立則激活BS相關功能、保存OTC′BS,DLMSC、向U提示BS激活授權成功并寫入軟件運行日志,否則作廢L并向U提示BS激活失敗、寫入軟件運行日志。

階段4:驗證授權信息

步驟9當BS首次運行時將采用隨機算法生成Tr。

步驟10當BS授權成功后,經(jīng)過Tr時間,由LA模塊向DLMSC發(fā)起驗證授權許可證信息的請求:

其中OP=VERIFY。

同時LA模塊依據(jù)特定算法M生成新的Tr′。DLMSC對此請求進行驗證操作:

則BS提交的許可證繼續(xù)有效,否則許可證失效,需要重新申請授權認證。

若此操作超時,則許可證自動失效,已激活的功能將關閉,轉(zhuǎn)步驟1。

步驟11經(jīng)過Tr′后,BS重復執(zhí)行步驟10。

對于軟件遷移(原服務器硬件設備發(fā)生改變也認為是遷移的一種特例),即更改BS的運行環(huán)境或更改用戶授權信息,均需重新執(zhí)行以上步驟以獲取新的L來激活BS方可正常使用。

2.4 模型分析

1)U提交的HFC、UIC、VER等信息,通過本模型能且僅能獲得適用于一臺終端硬件設備激活使用的用于特定版本BS的L,且能夠使得L激活BS以正常使用。

由2.3知,當且僅當

時,DLMSC才生成并發(fā)放L。當對應于HFC、UIC和VER的L生成后,原許可證L′則自動失效(被L的信息覆蓋),L′對應的終端硬件設備信息在經(jīng)過Tr時間后向DLMSC驗證授權許可證是否有效時將失敗,從而保證了許可證的原子性發(fā)放;而當LA申請到許可證后,在T內(nèi)重復申請將無法得到許可證,這使得重放攻擊無法順利實施。從而保證U能且僅能獲得適用于一臺終端硬件設備激活的L。

階段1和2的各步操作均應當加密傳輸,且其中使用了OTC方式保證了即使同一用戶在不同時刻發(fā)起的申請請求數(shù)據(jù)也毫無關聯(lián),因此系統(tǒng)能夠確保安全通信。在LA得到L后,即使U篡改了其內(nèi)容也無法通過BS的簽名驗證VKBS(SKBS′(L)),從而許可證的完整性得到保證。

2)當BS被遷移使用時(或原終端硬件設備發(fā)生改變,即HFC發(fā)生變化),階段4的操作將返回失敗的結(jié)果,此時需要U重新執(zhí)行步驟1來獲取新的L激活BS。

3)本模型中的分布式主要是指授權管理服務器集群DLMSC和授權數(shù)據(jù)庫集群DLDC分別采用了分布式架構,既排除了原有模型容易出現(xiàn)單點故障的隱患和風險,又提升了授權模型服務端的負載能力。DLMSC和DLDC的分布式集群在實際應用中可通過多種方式實現(xiàn),本文不再贅述。

3 DHASAMHFDL模型的完整實現(xiàn)

在DHASAMHFDL模型設計的基礎上,我們遵循分層化、模塊化的原則,分別采用PHP語言和C#語言構建了Web版本和Windows桌面版本的BS示例程序及其中的LA模塊,其中PHP語言版本的BS程序還使用Zend Guard 7.0進行混淆加密生成二進制中間執(zhí)行代碼,保證BS程序的代碼無法被逆向工程或反編譯破解。DLMSC的實現(xiàn)也同樣采用了2種方式——使用PHP語言構建的Web版本和使用C#語言構建的本地Windows服務版本,DLDC采用MySQL數(shù)據(jù)庫,完整實現(xiàn)了適于Internet/Intranet的軟件授權認證系統(tǒng)。該系統(tǒng)的軟件體系結(jié)構流程如圖2所示。

圖2 基于DHASAMHFDL模型的軟件授權認證 系統(tǒng)多層體系結(jié)構流程框圖

在此系統(tǒng)中,簽名算法采用RSA-SHA1,對稱密碼算法采用AES,其密鑰采用OTC機制(仿照One-Time Password,一次性密碼)生成,關鍵驗證運算采用自主實現(xiàn)算法。該系統(tǒng)基于CPU型號和流水號、硬盤序列號以及網(wǎng)卡MAC地址進行復合邏輯運算并進行Hash生成HFC;UIC則采用用戶相關數(shù)據(jù)如用戶姓名、Email、電話等以及當前操作系統(tǒng)名稱、版本,BS運行環(huán)境等相關信息復合邏輯運算并進行Hash生成;VER為終端上運行的BS版本。經(jīng)驗證,該試驗系統(tǒng)具有良好的穩(wěn)定性、可重構性、可移植性和可擴展性,在i5 4790/32G RAM環(huán)境下能夠同時承載2萬左右的并發(fā)申請授權請求,并且系統(tǒng)工作正常。

4 相關工作比較

目前,市面上流行的商用軟件多使用基于硬件特征驗證軟保護等措施來加強軟件安全。與流行的幾種方案相比較,本系統(tǒng)支持許可證的原子發(fā)放、軟件資源的遷移和回收、支持分布式部署等,能夠以較弱的限制有效地抵制非法復制與擴散,達到了EULA協(xié)議的要求。本模型與其他方案的功能支持數(shù)據(jù)如表1所示。

表1 DHASAMHFDL模型與目前流行的軟件保護方案的功能

為進一步考察DHASAMHFDL模型的量化性能,以圖2搭建的環(huán)境為基礎,將上述軟件保護方案實例化,著重從響應時延、用戶操作步驟多少、可保護信息的信息量、實時處理能力、資源占用度(服務器資源和網(wǎng)絡帶寬等)、第三方組件依賴程度及成本等方面進行了比較,結(jié)果如表2所示。

表2 DHASAMHFDL模型與目前流行的軟件保護方案的性能量化

綜上,與目前流行的軟件保護方案相比,DHASAMHFDL模型不但繼承了SSAMHFDL模型在許可模式上的優(yōu)點,還支持分布式部署和服務器高可用性,進一步提升了授權服務器的穩(wěn)定性與可訪問性,適用于各種軟件授權和保護場景,能夠保護用戶較多的隱私信息,既可在線生成軟件授權也允許離線提交,同時代碼實現(xiàn)容易、部署方便、對服務器和網(wǎng)絡資源占用不高,基本不依賴第三方組件、易于水平擴展服務端負載能力,能夠較好地對C/S或B/S架構軟件以及單機軟件程序進行版權保護。

5 結(jié)論

提出的DHASAMHFDL模型是對前期SSAMHFDL模型的一次重大改進,支持分布式部署和服務器高可用性,達到了EULA的要求,可用于對服務器端商用軟件進行授權認證。同時,在多項指標上具有顯著優(yōu)勢,為軟件版權保護提供了一種有效的實現(xiàn)機制。可用于實際生產(chǎn)環(huán)境,為廣大研究人員從事該領域研究提供了一種新的思路。

猜你喜歡
用戶信息模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 国产成人免费观看在线视频| 九一九色国产| 国产成在线观看免费视频| 亚洲三级视频在线观看| 亚洲色偷偷偷鲁综合| 2018日日摸夜夜添狠狠躁| 亚瑟天堂久久一区二区影院| 人妻少妇乱子伦精品无码专区毛片| 9999在线视频| 天天综合色网| 亚洲综合中文字幕国产精品欧美| 久久精品国产亚洲麻豆| 欧美国产另类| 欧美日本在线观看| 国产SUV精品一区二区6| 91福利免费视频| 999国内精品视频免费| 伊人久久大香线蕉综合影视| 久久精品无码中文字幕| 久久这里只有精品国产99| 国产理论精品| 超碰aⅴ人人做人人爽欧美| 久久国产高清视频| 视频国产精品丝袜第一页| a色毛片免费视频| 亚洲无码高清一区二区| 一本一道波多野结衣av黑人在线| 国产精品视频白浆免费视频| 内射人妻无码色AV天堂| 全部免费特黄特色大片视频| 亚洲日韩国产精品综合在线观看| 欧美在线视频不卡| 国产在线八区| 成人免费视频一区| 欧美午夜网站| 国产精品污污在线观看网站| 亚洲精品欧美日本中文字幕| 国产综合欧美| 国产区在线观看视频| 国产新AV天堂| 久久精品欧美一区二区| 99re在线免费视频| 免费a在线观看播放| 特级欧美视频aaaaaa| 欧美国产日韩一区二区三区精品影视| 国产精品一区二区久久精品无码| 精品国产电影久久九九| 色综合天天综合中文网| 国产精品成人第一区| 国内精品自在自线视频香蕉 | 国产精品一区在线麻豆| 国产免费羞羞视频| 欧美精品三级在线| 国产视频自拍一区| 国产精品福利一区二区久久| 九月婷婷亚洲综合在线| 国产福利免费观看| 亚洲精品国产日韩无码AV永久免费网 | 欧美视频二区| 亚洲成人在线网| 国产欧美日韩视频怡春院| 日本少妇又色又爽又高潮| 亚洲中文字幕久久无码精品A| 亚洲精品视频免费观看| 2021国产精品自拍| 欧美福利在线观看| 日本黄色不卡视频| 2020精品极品国产色在线观看 | 欧美一级专区免费大片| 久久综合丝袜日本网| 日韩精品一区二区三区swag| 香蕉久久国产精品免| 亚洲手机在线| 搞黄网站免费观看| 无码'专区第一页| 久久伊人操| 国产浮力第一页永久地址| 亚洲无线国产观看| 久青草免费在线视频| 国产一区二区人大臿蕉香蕉| 国产白丝av| jizz在线免费播放|