密鎖插入局域網(wǎng)中的一臺設備中,該設備成為授權中心,從加密鎖中讀取授權信息,確定加密鎖是否有效,加密鎖有效時,該授權中心有效。
[0144]第二步,授權客戶端安裝在需要使用需要授權軟件的設備中,當啟動該軟件時,授權客戶端尋址授權中心,找到授權中心的地址。
[0145]第三步,授權客戶端向授權中心發(fā)送授權請求。
[0146]第四步,授權中心接收授權客戶端發(fā)來的請求,判斷授權的客戶端數(shù)量是否超過授權數(shù)量。
[0147]第五步,未超過授權數(shù)量時,授權中心向授權客戶端發(fā)送授權文件。發(fā)送授權文件的過程中,包括:將授權文件使用授權中心的私鑰進行加密;再用授權客戶端的公鑰進行加密;授權文件本身使用MD5算法加密。
[0148]第六步,授權客戶端接收授權中心發(fā)送的授權文件,授權成功,成功打開該軟件。若授權中心未授權,則接收授權中心發(fā)送的授權失敗的信息,授權失敗,該軟件不能打開。
[0149]第七步,授權后,授權客戶端定時向授權中心請求更新授權文件。
[0150]第八步,授權中心可以查看授權的設備,并回收授權客戶端的權限,需要會收時,授權中心向授權客戶端發(fā)送授權收回消息,收回對選定授權客戶端的授權。
[0151 ] 第九步,授權客戶端接收授權中心的授權收回消息,刪除本地授權文件并向授權中心發(fā)送反饋消息。
[0152]第十步,授權中心根據(jù)授權客戶端的反饋更新授權記錄。
[0153]其中,當授權中心授權后,授權客戶端無法連接授權中心時,授權文件可以使用預設的一段時間如2個小時,該時間根據(jù)需要設置,然后授權文件失效。
[0154]當授權客戶端再次連接授權中心時,若授權失敗,則刪除本地的授權文件。
[0155]當加密鎖有插拔動作時,還包括接收加密鎖的插拔動作信息,更新權利信息的步驟。當加密鎖插入時,對應的該設備則成為授權中心,從加密鎖中讀取授權信息并確認有效后根據(jù)客戶端的請求進行權限的分配,并根據(jù)需要進行權利的回收,以及查看等。
[0156]實施例4:
[0157]本發(fā)明提供一種動態(tài)授權系統(tǒng),采用硬件加密鎖以及C/S軟件架構,解決了在集團模式、企業(yè)不能聯(lián)網(wǎng)的情況下,完成授權管理、授權共享、動態(tài)切換功能,系統(tǒng)包含硬件加密鎖、授權中心、授權客戶端(以后簡稱客戶端)模塊幾部分,系統(tǒng)示意圖如圖5所示。分為三部分說明:
[0158](I)加密鎖:
[0159]其中硬件加密鎖中寫有軟件權力信息,具體信息內容由軟件開發(fā)商自行決定。加密鎖與授權中心一同部署在客戶某臺機器上,共同完成對權力的保護、分配。
[0160]當加密鎖有插拔動作時,通過回調函數(shù)通知授權中心更新權力信息。
[0161]加密鎖內有自己的時鐘,可防止用戶篡改系統(tǒng)時間以非法使用軟件,保護了開發(fā)商權? O
[0162]加密鎖中燒入可執(zhí)行程序,每次讀取權力時,此程序讀取鎖內時鐘與權力過期時間比較,如過期則不讀出此條信息,提高了安全級別
[0163](2)授權中心:
[0164]授權中心是一個web服務器,提供了授權管理、查看功能。授權中心從加密鎖中讀取授權信息,并根據(jù)授權客戶端發(fā)來的授權請求進行授權分配。而管理員可以通過網(wǎng)頁來查看已授權的機器、收回對某臺機器的授權。管理員通過查看已分配授權,決定收回哪臺設備的授權,當收回授權時,對應設備將刪除本地的授權文件
[0165]授權中心與設備通訊內容通過RSA算法進行兩次加密,保證傳輸內容不易被修改、提高系統(tǒng)安全性。授權中心向授權終端發(fā)送授權文件時,先用授權中心私鑰進行加密,再用授權終端公鑰加密。授權終端接收到文件采用相應秘鑰進行解密得到證書文件。證書文件本身使用MD5算法加密,保證文件不被篡改。
[0166]授權中心的授權頒發(fā)是自動的,每當有授權設備發(fā)來請求,只要沒有超過授權數(shù)量,授權中心就會頒發(fā)證書文件,不需要人工干預。證書的收回是手動的,需要管理員操作,管理員通過頁面訪問授權中心,可以查看已授權的設備并選擇收回證書,此時授權中心向授權設備發(fā)送收回消息,授權設備刪除本地證書文件并向授權中心發(fā)送反饋消息,中心更新授權記錄狀態(tài),至此完成一次證書回收操作。自動頒發(fā)證書,手動回收證書,采用這種設計,是充分考慮用戶的使用場景,給用戶的使用帶來最大的方便。
[0167](3)授權客戶端
[0168]授權客戶端集成在軟件開發(fā)商的軟件中,每當啟動軟件時,授權客戶端在局域網(wǎng)發(fā)一個廣播包,以找到授權中心地址。隨后便發(fā)送授權請求數(shù)據(jù)包,授權中心根據(jù)記錄的已授權數(shù)判斷是否分配授權,授權失敗將無法打開軟件;授權成功后,每隔一定時間會向授權中心請求更新授權文件。在斷網(wǎng)或無法連接授權中心情況下,軟件還可以再使用一段時間,這就大大提高了靈活性。在斷網(wǎng)一段時間后,再次連接到授權中心時,如果授權失敗,則授權客戶端會刪除本地的授權證書,軟件不可使用,以此保證開發(fā)商的權益。該授權客戶端實現(xiàn)了可動態(tài)分配授權的終端設備,且授權客戶端帶有本地緩存機制,斷網(wǎng)或無法連接授權中心可使用一段時間,并通過回收授權證書(即授權文件)的方式實現(xiàn)了授權證書的轉移。
[0169]實施例5:
[0170]本實施例中提供一種動態(tài)授權系統(tǒng)及其方法的具體應用實例,該方案的系統(tǒng)整體架構如附圖5所示,授權證書的轉移如附圖6所示;通訊的加密如附圖7所示。
[0171]第一部分,加密鎖部分:
[0172]加密鎖內存儲權力信息,具體內容由開發(fā)商制定。
[0173]加密鎖采用飛天誠信R0CKEY-ARM時鐘鎖型號,內部有時鐘、采用32位ARM芯片、內置至少128K存儲空間、至少支持RSA算法
[0174]在加密鎖內部燒錄可執(zhí)行程序,讀取授權信息時,可執(zhí)行程序讀取鎖內時間,與權力過期時間進行比較,如果過期則不讀出此授權,提高了安全性。可執(zhí)行程序運行在ARM平臺下,用Keil環(huán)境開發(fā)
[0175]當加密鎖有插拔動作時,授權中心通過捕獲系統(tǒng)發(fā)出的USB插拔信息判斷加密鎖狀態(tài),并從鎖內更新授權信息
[0176]第二部分,授權中心部分:
[0177]授權中心本質是一個WEB服務器。包含了幾個功能:
[0178]WEB服務器,可以通過網(wǎng)頁查看已分配授權狀態(tài)、總體授權情況信息,可以接受http數(shù)據(jù)包,根據(jù)約定的命令執(zhí)行操作。
[0179]服務發(fā)現(xiàn)功能,啟動一個線程,通過Socket監(jiān)聽一個端口,一旦收到請求包(約定好的格式、命令),就把本機的IP地址返回回去。之所以有兩個服務,是因為客戶端的流程是:首先發(fā)送廣播包,取得授權中心地址,在向此地址發(fā)送http數(shù)據(jù)包。
[0180]授權中心與授權終端通訊的內容,通過RSA 二次加密:需要兩對公私鑰,授權中心公私鑰(后簡稱G公私鑰)和客戶端公私鑰(后簡稱K公私鑰),授權中心存儲G私鑰和K公鑰,在授權中心向客戶端發(fā)送信息、授權證書時,首先對數(shù)據(jù)進行私鑰加密,即簽名,再用K公鑰加密;客戶端先K私鑰解密,再G公鑰解密
[0181]證書文件本身使用MD5加密,并將加密結果追加到文件末端??蛻舳嗽诖蜷_證書時會對文件做MD5計算,與文件末端比較,如果不相等則說明文件被修改過,證書文件打開失敗。以此確保證書文件不被篡改。
[0182]對于證書回收功能,流程如下:
[0183]1.管理員通過網(wǎng)頁選擇回收證書,選擇要回收的證書點擊“回收”按鈕
[0184]2.授權中心向指定的客戶端發(fā)送回收證書命令,具體為一個http數(shù)據(jù)包,內部包含自定義的回收證書命令
[0185]3.數(shù)據(jù)包發(fā)送出去后,授權中心等待客戶端應答包。
[0186]a)如果客戶端能夠收到回收證書命令的數(shù)據(jù)包,找到本地的證書文件并刪除此文件,然后組織一個數(shù)據(jù)包,向授權中心反饋回收成功應答包
[0187]b)如客戶端斷網(wǎng),則授權中心等待超時。
[0188]4.授權中心收到回收成功應答包:在已授權機器記錄表中刪除對應的計算機指紋,表明已經回收此臺機器的授權證書
[0189]5.授權中心等待超時:提示回收失敗。
[0190]6.至此完成一次證書回收操作,如圖8所示。
[0191]第三部分,授權客戶端部分:
[0192]客戶端具體啟動流程如下,
[0193]1.啟動客戶端時,發(fā)送一個局域網(wǎng)內的廣播包,廣播包內為制定好的內容(制定好的字段,授權中心的服務發(fā)現(xiàn)模塊收到此數(shù)據(jù)包后,發(fā)現(xiàn)是服務發(fā)現(xiàn)請求,則構建數(shù)據(jù)包,將授權中心IP寫入包內,再返回服務發(fā)現(xiàn)應答包)
[0194]2.同步等待應答包,如果等待超時,則說明局域網(wǎng)內找不到授權中心,則可能是斷網(wǎng)或授權中心不存在;否則代表連接成功,可以找到授權中心。
[0195]3.如果連接成功,根據(jù)得到的授權中心IP地址,向其發(fā)送本機的計算機指紋(結合MAC地址、Cpu信息、磁