亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

軟件保護裝置中實時時間的獲得及遠(yuǎn)程校準(zhǔn)方法

文檔序號:6615765閱讀:217來源:國知局
專利名稱:軟件保護裝置中實時時間的獲得及遠(yuǎn)程校準(zhǔn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機安全領(lǐng)域,特別是一種軟件保護裝置中獲取實 時時間并對該實時時間進行遠(yuǎn)程校準(zhǔn)的方法。
背景技術(shù)
在軟件版權(quán)保護領(lǐng)域,對軟件的使用進行限時控制是常用的方法, 例如軟件定期試用、租賃、定期使用許可等模式,即軟件只能在某一 設(shè)定的日期之前被使用,這要求軟件保護裝置必須能夠獲得當(dāng)前的實 時時間,以便對軟件的運行進行控制。目前,獲得實時時間有如下幾 種實現(xiàn)方法第 一種方法是給軟件保護裝置附加電池,利用軟件保護裝置內(nèi)部 處理器時鐘頻率累加計時。但由于軟件保護裝置在不工作時處理器仍 處于運行狀態(tài),耗電量高,裝置的有效工作期受到電池容量的限制; 同時計時誤差會累積,長時間使用會產(chǎn)生較大偏差;另外電池的使用 也會增加成本。第二種方法是附加實時時鐘芯片進行計時,軟件保護裝置在工作 時從實時時鐘芯片讀取時間信息,實時時鐘芯片功耗低、計時精確, 可以解決第 一種方法的部分缺點,但其使用時間仍受電池容量的限制, 成本則更高。第三種方法是軟件保護裝置在每次上電時利用內(nèi)部處理器時鐘頻 率,從上次記錄的時間開始累計計時,并定期寫入非易失存儲器中。但由于只能在上電時開始計時,因此必須使用本地主機的時間來校準(zhǔn)。 該方法的最大問題是軟件破解者很容易調(diào)整主機時間,或者篡改向軟 件保護裝置發(fā)送的時間信息。雖然該方法可以對從主機取得的時間進 行一定的判斷,例如將其與裝置內(nèi)的計時信息進行比對,只有在主機 時間晚于裝置時間時才被認(rèn)為有效,但這種判斷的有效性很差。軟件 破解者可以記錄每次下電時間,在下一次軟件保護裝置工作時傳入該 時間之后的 一個很接近的時間,使得軟件保護裝置實際上只是在累計上電時間,而無法得到真正的實時時間。例如一個試用期為30天的軟 件,假設(shè)軟件平均每天的使用時間是2小時,破解者利用上述手段可 以獲得長達(dá)約1年的使用期(24小時x 30天-2小時=360天)。因此該 方法無法提供有效的軟件限時保護。發(fā)明內(nèi)容為了解決上述問題,本發(fā)明提出了 一種軟件保護裝置中實時時間 的獲得及遠(yuǎn)程校準(zhǔn)方法,其在設(shè)定策略的控制下分析受保護軟件的使為了便于敘述,首先對以下概念給出定義 實時時間準(zhǔn)確的當(dāng)前日期和時刻 發(fā)布時間軟件保護裝置發(fā)布的日期和時刻裝置時間軟件保護裝置中當(dāng)前所記錄并維護的日期和時刻,本 發(fā)明的目的是使其盡可能地與實時時間相符主機時間軟件保護裝置從本地主機獲得的日期和時刻信息,該 時間可能被人為改變,因此不一定與實時時間相符服務(wù)器時間由時鐘服務(wù)器發(fā)出的響應(yīng)數(shù)據(jù)包信息中的日期和時 刻,該時間是可信的實時時間上電時間軟件保護裝置某次上電過程的時間間隔累計上電時間從某一時刻開始以來所有上電時間的總和工作時間軟件保護裝置實施某次軟件保護功能的時間間隔,即 保護功能結(jié)束時間減去保護功能開始時間,通常與受保護軟件的一次 運行時間相對應(yīng)累計工作時間從某一時刻開始以來所有工作時間的總和使用時間軟件保護裝置所推測出的,從某一起始時間到當(dāng)前時 間之間的間隔,即裝置時間減去該起始時間為實現(xiàn)上述目的,本發(fā)明提出的軟件保護裝置中實時時間的獲得 及遠(yuǎn)程校準(zhǔn)方法包括以下步驟a. 所述軟件保護裝置在上電后從所述非易失存儲器中讀取所保存 的裝置時間,根據(jù)主機時間對該裝置時間進行修正后,啟動計時功能 并定期將當(dāng)前的裝置時間記錄到所述非易失存儲器內(nèi);b. 所述軟件保護裝置對所述受保護軟件的使用信息進行統(tǒng)計和記 錄,并判斷所述使用信息是否達(dá)到設(shè)定的閾值條件;c. 當(dāng)判斷為上述使用信息達(dá)到了設(shè)定的閾值條件時,所述軟件保 護裝置啟動實時時間遠(yuǎn)程校準(zhǔn)流程,包括以下步驟d. 所述軟件保護裝置根據(jù)裝置時間實施軟件保護功能。所述軟件保護裝置在首次上電前,其內(nèi)的非易失存儲器中設(shè)置有 作為初始的裝置時間的受保護軟件發(fā)布時間。所述根據(jù)主機時間對所述裝置時間進行修正的過程具體為判斷 主機時間的有效性;如果判斷為有效,即主機時間晚于裝置時間,或 主機時間在預(yù)定的時間范圍內(nèi)早于裝置時間,則根據(jù)主機時間更新裝 置時間;如果判斷為無效,即主機時間在預(yù)定的時間范圍之外早于裝 置時間,則進入主機時間異常處理流程,具體為啟動所述c步驟的實 時時間遠(yuǎn)程校準(zhǔn)流程、或者禁止使用所述受保護軟件。所述c步驟具體包括如下步驟cl.所述軟件保護裝置向遠(yuǎn)程的時鐘服務(wù)器發(fā)送請求數(shù)據(jù)包;c2.所述時鐘服務(wù)器接收請求數(shù)據(jù)包后,生成響應(yīng)數(shù)據(jù)包并發(fā)送 給所述軟件保護裝置;c3.所述軟件保護裝置收到響應(yīng)數(shù)據(jù)包并驗證其為有效時,用該 響應(yīng)數(shù)據(jù)包內(nèi)包含的時鐘服務(wù)器時間校準(zhǔn)所述裝置時間,然后根據(jù)主 機時間對所述校準(zhǔn)后的裝置時間進行修正。在b步驟中,所述受保護軟件的使用信息包括以下信息的至少其 中一種該受保護軟件從最近一次校準(zhǔn)時間起的使用時間;該受保護 軟件從最近一次校準(zhǔn)時間起的累計工作時間;該受保護軟件從最近一 次校準(zhǔn)時間起的累計上電時間;該受保護軟件從最近一次校準(zhǔn)時間起 的累計使用次數(shù);所述最近一次校準(zhǔn)時間為步驟c3中所述軟件保護裝 置成功地用服務(wù)器時間校準(zhǔn)所述裝置時間的時刻,或者為所述軟件發(fā) 布時間。在b步驟中,所述閾值條件包括以下條件的至少其中一個從最 近一次校準(zhǔn)時間起,所述受保護軟件使用時間達(dá)到預(yù)設(shè)值;從最近一 次校準(zhǔn)時間起,所述受保護軟件累計工作時間達(dá)到預(yù)設(shè)值;從最近一 次校準(zhǔn)時間起,所述受保護軟件累計上電時間達(dá)到預(yù)設(shè)值;從最近一 次校準(zhǔn)時間起,所述受保護軟件累計使用次數(shù)達(dá)到預(yù)設(shè)值;從最近一 次校準(zhǔn)時間起,累計工作時間與使用時間之比達(dá)到預(yù)設(shè)值;從最近一 次校準(zhǔn)時間起,累計上電時間與使用時間之比達(dá)到預(yù)設(shè)值;從最近一 次校準(zhǔn)時間起,受保護軟件累計使用次數(shù)與使用時間之比達(dá)到預(yù)設(shè)值; 所述最近一次校準(zhǔn)時間為步驟c3中所述軟件保護裝置用于校準(zhǔn)所述裝 置時間的所述服務(wù)器時間,或者為所述軟件發(fā)布時間。在cl步驟中,所述請求數(shù)據(jù)包包含以下數(shù)據(jù)的至少其中一個所 述軟件保護裝置的設(shè)備信息;記錄在非易失存儲器中的請求數(shù)據(jù)包編 號,該編號的初始值為0,在每次發(fā)送請求數(shù)據(jù)包后加1;隨機信息, 由所述軟件保護裝置在生成請求數(shù)據(jù)包時產(chǎn)生并記錄在非易失存儲器 中。在c2步驟中,所述響應(yīng)數(shù)據(jù)包包含以下數(shù)據(jù)的至少其中一個實 時時間;請求數(shù)據(jù)包中包含的所述軟件保護裝置的設(shè)備信息;請求數(shù) 據(jù)包的編號;請求數(shù)據(jù)包中包含的隨機信息。在cl和c2步驟中,所述軟件保護裝置和時鐘服務(wù)器共享一個對 稱密鑰,以對所述響應(yīng)數(shù)據(jù)包進行加密和解密。在cl和c2步驟中,所述時鐘服務(wù)器對所述響應(yīng)數(shù)據(jù)包附加驗證 數(shù)據(jù)以待所述軟件保護裝置加以驗證,所述驗證數(shù)據(jù)由所述時鐘服務(wù) 器使用密碼學(xué)算法對響應(yīng)數(shù)據(jù)包的數(shù)據(jù)運算產(chǎn)生。在C3步驟中,所述軟件保護裝置對響應(yīng)數(shù)據(jù)包有效性的驗證過程包括下列步驟的至少其中 一個所述響應(yīng)數(shù)據(jù)包中包含的軟件保護裝 置設(shè)備信息與軟件保護裝置實際設(shè)備信息的 一致性驗證;所述響應(yīng)數(shù) 據(jù)包中包含的請求數(shù)據(jù)包編號與所述軟件保護裝置記錄的請求數(shù)據(jù)包 編號的一致性驗證;所述響應(yīng)數(shù)據(jù)包中包含的隨機信息與所述軟件保 護裝置記錄的包含在請求數(shù)據(jù)包中的隨機信息的一致性驗證;使用響 應(yīng)數(shù)據(jù)包中包含的可驗證數(shù)據(jù)對響應(yīng)數(shù)據(jù)包的完整性和不可偽造性進 行驗證。在c3步驟中,所述軟件保護裝置用時鐘服務(wù)器時間校準(zhǔn)裝置時間 的過程包括判斷時鐘服務(wù)器時間的有效性;如果判斷為有效,即時 鐘服務(wù)器時間晚于裝置時間,或者在預(yù)定的時間范圍內(nèi)早于裝置時間, 則用時鐘服務(wù)器時間更新裝置時間;如果判斷為無效,即時鐘服務(wù)器 時間在預(yù)定的時間范圍之外早于裝置時間,則進入包括禁止受保護軟 件的使用在內(nèi)的響應(yīng)數(shù)據(jù)包異常處理流程。如果所述實時時間遠(yuǎn)程校準(zhǔn)流程已經(jīng)啟動但尚未完成,則在d步 驟中對所述受保護軟件實施以下控制策略之一立即禁止所述受保護 軟件的使用;從此刻起,當(dāng)使用時間達(dá)到預(yù)定值之后禁止所述受保護 軟件的使用;從此刻起,當(dāng)累計工作時間達(dá)到預(yù)定值之后禁止所述受 保護軟件的使用;從此刻起,當(dāng)累計上電時間達(dá)到預(yù)定值之后禁止所 述受保護軟件的使用;從此刻起,當(dāng)受保護軟件累計使用次數(shù)達(dá)到預(yù) 定值之后禁止所述受保護軟件的使用。如果沒有啟動所述實時時間遠(yuǎn)程校準(zhǔn)流程,則在d步驟中對所述 受保護軟件實施預(yù)定的控制策略。本發(fā)明的有益效果在于彌補了現(xiàn)有技術(shù)中主機時間不可信的缺 點,為軟件著作權(quán)的限時保護提供了低成本、實用性強的解決方案。 使用本發(fā)明的方法無須為軟件保護裝置附加實時時鐘芯片和電池,也 不依賴于本地主機時間,可獲得可信的、較為精確的實時時間,為軟 件開發(fā)商提供了日期限制等軟件保護方案。


圖1為本發(fā)明的控制流程圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明的具體實施例做詳盡描述。軟件保護裝置內(nèi)包含有非易失存儲器,用于保存裝置時間等數(shù)據(jù)。 初始的裝置時間為受保護軟件的發(fā)布時間。圖1為本發(fā)明的控制流程圖,如圖所示,軟件保護裝置上電(SOl) 后,讀取非易失存儲器中存儲的裝置時間(S02)和主機時間(S03) 并將這兩個時間進行比較,即檢查主機時間(S04),以判斷該時間是 否為有效的實時時間。如果主機時間在允許的范圍外早于裝置時間,說明主機時間被人 為改動,判斷主機時間無效并進入主機時間異常處理流程(S06),立 即禁止對受保護軟件的使用(S23),或者啟動遠(yuǎn)程校準(zhǔn)流程(Sll), 以強制用戶從時鐘服務(wù)器端獲取正確的實時時間。如果主機時間晚于裝置時間,或在允許的范圍內(nèi)早于裝置時間, 則認(rèn)為主機時間可信,并使用主機時間修正裝置時間(S05)。之后軟件保護裝置利用內(nèi)部的時鐘頻率開始計時,更新裝置時間并定期將當(dāng) 前裝置時間記錄到非易失存儲器中以防突然掉電(S07 )。在軟件保護裝置進行計時的同時還定期檢查受保護軟件的使用情況,統(tǒng)計并記錄該受保護軟件的使用信息(S08),并判斷所保護軟件 的使用信息如使用時間是否達(dá)到了設(shè)定的閾值(S09),如果達(dá)到閾值 則啟動遠(yuǎn)程校準(zhǔn)流程(S11 )。上述的受保護軟件的使用信息可以是該受保護軟件從最近一次校 準(zhǔn)時間起的使用時間、累計工作時間、累計上電時間或者累計使用次 數(shù),所述閾值條件可以是最近一次校準(zhǔn)時間起,受保護軟件的使用時 間、累計工作時間、累計上電時間、累計使用次數(shù)、累計工作時間與 使用時間之比、上電時間與使用時間之比或者累計使用次數(shù)與使用時 間之比達(dá)到預(yù)設(shè)值。上述最近一次校準(zhǔn)時間為軟件保護裝置成功地用 服務(wù)器時間校準(zhǔn)所述裝置時間的時刻,或者為受保護軟件的發(fā)布時間?,F(xiàn)以具體的操作策略來說明檢查和判斷閾值的方法。例如一個辦 公軟件的限制使用期限是100天, 一般平均每天使用時間不會超過8 小時,也就是說在正常情況下該軟件的累計工作時間達(dá)到800小時后 即超過使用期限,同時累計工作時間與使用時間(從軟件發(fā)布時間到 當(dāng)前的時間間隔)的比值不應(yīng)超過1/3。因此可以讓軟件保護裝置記錄 累計工作肘間,如果發(fā)現(xiàn)已經(jīng)達(dá)到一定數(shù)值,比如500小時,并且與 使用時間的比值明顯大于1/3,比如達(dá)到1/2,則很可能主機時間被人 為修改了,當(dāng)前的裝置時間可信度很低,這時就啟動遠(yuǎn)程校準(zhǔn)流程 (Sll)。在用戶正常的使用情況下,累計工作時間與使用時間的比值 很難達(dá)到上述條件,因此不會啟動遠(yuǎn)程校準(zhǔn)流程(S11)而是直接進入對受保護軟件的控制流程(S10),不會給正常使用軟件的用戶造成不 便。啟動遠(yuǎn)程校準(zhǔn)流程(S11 )后,軟件保護裝置產(chǎn)生隨機信息,該隨機信息可以是硬件產(chǎn)生的一定長度的隨機數(shù),由所述軟件保護裝置在 生成請求數(shù)據(jù)包時產(chǎn)生并記錄在非易失存儲器中,該隨機數(shù)與設(shè)備唯一序列號組成請求數(shù)據(jù)包(S12),經(jīng)由主機發(fā)送給時鐘服務(wù)器(S13)。 請求數(shù)據(jù)包還可以包括記錄在軟件保護裝置的非易失存儲器中的請求 數(shù)據(jù)包編號,該請求數(shù)據(jù)包編號的初始值為0,并在每次發(fā)送請求數(shù)據(jù) 包后加1。這時在時鐘服務(wù)器端,服務(wù)器接收到請求后(S20),將當(dāng)前的實 時時間、請求數(shù)據(jù)包中包含的上述隨機數(shù)和設(shè)備唯一序列號組成響應(yīng) 數(shù)據(jù)包數(shù)據(jù),并用服務(wù)器私鑰對響應(yīng)數(shù)據(jù)包進行數(shù)字簽名附加到響應(yīng) 數(shù)據(jù)包中(S21),經(jīng)由主機返回給軟件保護裝置(S22)。如果請求數(shù) 據(jù)包內(nèi)包含請求數(shù)據(jù)包編號,則響應(yīng)數(shù)據(jù)包也包含該編號,以便軟件 保護裝置進行檢驗。軟件保護裝置和時鐘服務(wù)器可以使用密碼學(xué)功能來保證響應(yīng)數(shù)據(jù) 包的完整性和不可偽造性。具體可采用如下方案軟件保護裝置和時 鐘服務(wù)器可以共享一個對稱密鑰,以對所述響應(yīng)數(shù)據(jù)包進行加密和解 密;或者由時鐘服務(wù)器對響應(yīng)數(shù)據(jù)包附加可驗證數(shù)據(jù),該數(shù)據(jù)由時鐘 服務(wù)器使用密碼學(xué)算法生成,被軟件保護裝置驗證其有效性,而他人 無法生成,例如可以釆用MAC、 HMAC、數(shù)字簽名等密碼學(xué)算法對響 應(yīng)數(shù)據(jù)包的數(shù)據(jù)運算產(chǎn)生。本實施例中采用對稱密鑰的方案。軟件保護裝置接收上述時鐘響 應(yīng)數(shù)據(jù)包(S14)后,用共享的對稱密鑰對其解密,并驗證響應(yīng)數(shù)據(jù)包 中的隨機數(shù)和設(shè)備唯一序列號或者請求數(shù)據(jù)包編號與該軟件保護裝置內(nèi)部保存的信息是否一致(S15)。如果采用由時鐘服務(wù)器對響應(yīng)數(shù)據(jù)包附加可驗證數(shù)據(jù)的方案,則需要使用響應(yīng)數(shù)據(jù)包中包含的可驗證數(shù) 據(jù)對響應(yīng)數(shù)據(jù)包的完整性和不可偽造性進行驗證。如果上述驗證未能通過,則認(rèn)為是一個無效的響應(yīng)數(shù)據(jù)包,這時進入時鐘響應(yīng)包異常處理流程(S16);如果上述驗證均通過,則認(rèn)為 是一個有效的響應(yīng)數(shù)據(jù)包,并用其中的實時時間更新裝置時間(S17), 這時需要判斷時鐘服務(wù)器時間的有效性,如果時鐘服務(wù)器時間晚于裝 置時間,或者在預(yù)定的時間范圍內(nèi)早于裝置時間,則用時鐘服務(wù)器時 間更新裝置時間,否則進入響應(yīng)數(shù)據(jù)包異常處理流程,例如禁止使用 所述受保護軟件。由于響應(yīng)數(shù)據(jù)包從服務(wù)器端發(fā)出到軟件保護裝置端接收會有延 時,因此軟件保護裝置在用服務(wù)器時間校準(zhǔn)裝置時間后可以再用主機 時間修正(S18),修正時同樣需要判斷主機時間的有效性,其過程與 前述上電后用主機時間修正裝置時間(S05)相同。當(dāng)成功完成上述操 作后,結(jié)束遠(yuǎn)程校準(zhǔn)流程(S19),進入對受保護軟件的控制流程(SIO)。如果實時時間遠(yuǎn)程校準(zhǔn)流程已經(jīng)啟動但尚未完成,則立即禁止受 保護軟件的使用,或者從此刻起當(dāng)受保護軟件的使用時間、累計工作 時間、當(dāng)累計上電時間或者累計使用次數(shù)達(dá)到預(yù)定值之后禁止該受保 護軟件的使用。如果沒有啟動實時時間遠(yuǎn)程校準(zhǔn)流程,則對受保護軟 件實施預(yù)定的控制策略。本發(fā)明不局限于上述特定實施例子,在不背離本發(fā)明精神及其實形,這些相應(yīng)改變和變形都應(yīng)屬于本發(fā)明所附權(quán)利要求保護范圍之內(nèi)。
權(quán)利要求
1、一種軟件保護裝置中實時時間的獲得及遠(yuǎn)程校準(zhǔn)方法,其特征在于,該方法包括以下步驟a.所述軟件保護裝置在上電后從所述非易失存儲器中讀取所保存的裝置時間,根據(jù)主機時間對該裝置時間進行修正后,啟動計時功能并定期將當(dāng)前的裝置時間記錄到所述非易失存儲器內(nèi);b.所述軟件保護裝置對所述受保護軟件的使用信息進行統(tǒng)計和記錄,并判斷所述使用信息是否達(dá)到設(shè)定的閾值條件;c.當(dāng)判斷為上述使用信息達(dá)到了設(shè)定的閾值條件時,所述軟件保護裝置啟動實時時間遠(yuǎn)程校準(zhǔn)流程;d.所述軟件保護裝置根據(jù)裝置時間實施軟件保護功能。
2、 如權(quán)利要求1所述的軟件保護裝置中實時時間的獲得及遠(yuǎn)程校 準(zhǔn)方法,其特征在于,所述軟件保護裝置在首次上電前,其內(nèi)的非易 失存儲器中設(shè)置有作為初始的裝置時間的受保護軟件發(fā)布時間。
3、 如權(quán)利要求1所述的軟件保護裝置中實時時間的獲得及遠(yuǎn)程校 準(zhǔn)方法,其特征在于,所述c步驟具體包括以下步驟c 1.所述軟件保護裝置向遠(yuǎn)程的時鐘服務(wù)器發(fā)送請求數(shù)據(jù)包;c2.所述時鐘服務(wù)器接收請求數(shù)據(jù)包后,生成響應(yīng)數(shù)據(jù)包并發(fā)送 給所述軟件保護裝置;c3.所述軟件保護裝置收到響應(yīng)數(shù)據(jù)包并驗證其為有效時,用該 響應(yīng)數(shù)據(jù)包內(nèi)包含的時鐘服務(wù)器時間校準(zhǔn)所述裝置時間,然后根據(jù)主 機時間對所述校準(zhǔn)后的裝置時間進行修正。
4、 如權(quán)利要求1~3中任一個所述的軟件保護裝置中實時時間的獲得及遠(yuǎn)程校準(zhǔn)方法,其特征在于,所述a步驟中根據(jù)主機時間對所述 裝置時間進行修正的過程具體為判斷主機時間的有效性;如果判斷為有效,即主機時間晚于裝置時間,或主機時間在預(yù)定 的時間范圍內(nèi)早于裝置時間,則根據(jù)主機時間更新裝置時間;如果判斷為無效,即主機時間在預(yù)定的時間范圍之外早于裝置時 間,則進入主機時間異常處理流程,所述處理流程包括啟動所述c步 驟的實時時間遠(yuǎn)程校準(zhǔn)流程或者禁止使用所述受保護軟件。
5、 如權(quán)利要求3所述的軟件保護裝置中實時時間的獲得及遠(yuǎn)程校 準(zhǔn)方法,其特征在于,所述c3步驟中根據(jù)主機時間對所述裝置時間進 行修正的過程具體為判斷主才幾時間的有效性;如果判斷為有效,即主機時間晚于裝置時間,或主機時間在預(yù)定 的時間范圍內(nèi)早于裝置時間,則根據(jù)主機時間更新裝置時間;如果判斷為無效,即主機時間在預(yù)定的時間范圍之外早于裝置時 間,則進入主機時間異常處理流程,所述處理流程包括禁止使用所述 受保護軟件。
6、 如權(quán)利要求3或5所述的軟件保護裝置中實時時間的獲得及遠(yuǎn) 程校準(zhǔn)方法,其特征在于,在b步驟中,所述受保護軟件的使用信息 包括以下信息的至少其中一種該受保護軟件從 最近一次校準(zhǔn)時間起的使用時間;該受保護軟件從最近一次校準(zhǔn)時間起的累計工作時間;該受保護軟件從最近一次校準(zhǔn)時間起的累計上電時間;該受保護軟件從最近一次校準(zhǔn)時間起的累計使用次數(shù);所述最近一次校準(zhǔn)時間為步驟c3中所述軟件保護裝置成功地用服 務(wù)器時間校準(zhǔn)所述裝置時間的時刻,或者為所述軟件發(fā)布時間。
7、如權(quán)利要求3或5所述的軟件保護裝置中實時時間的獲得及遠(yuǎn)程校準(zhǔn)方法,其特征在于,在b步驟中,所述閾值條件包括以下條件 的至少其中一個從最近一次校準(zhǔn)時間起,所述受保護軟件使用時間達(dá)到預(yù)設(shè)值; 從最近一次校準(zhǔn)時間起,所述受保護軟件累計工作時間達(dá)到預(yù)設(shè)值;從最近一次校準(zhǔn)時間起,所述受保護軟件累計上電時間達(dá)到預(yù)設(shè)值;從最近一次校準(zhǔn)時間起,所述受保護軟件累計使用次數(shù)達(dá)到預(yù)設(shè)值;從最近一次校準(zhǔn)時間起,累計工作時間與使用時間之比達(dá)到預(yù)設(shè)值;從最近一次校準(zhǔn)時間起,累計上電時間與使用時間之比達(dá)到預(yù)設(shè)值;從最近一次校準(zhǔn)時間起,受保護軟件累計使用次數(shù)與使用時間之比達(dá)到預(yù)設(shè)值;所述最近一次校準(zhǔn)時間為步驟c3中所述軟件保護裝置用于校準(zhǔn)所 述裝置時間的所述服務(wù)器時間,或者為所述軟件發(fā)布時間。
8、 如權(quán)利要求3或5所述的軟件保護裝置中實時時間的獲得及遠(yuǎn) 程校準(zhǔn)方法,其特征在于,在cl步驟中,所述請求數(shù)據(jù)包包含以下數(shù) 據(jù)的至少其中一個所述軟件保護裝置的設(shè)備信息;記錄在非易失存儲器中的請求數(shù)據(jù)包編號,該編號的初始值為0, 在每次發(fā)送請求lt據(jù)包后加1;隨機信息,由所述軟件保護裝置在生成請求數(shù)據(jù)包時產(chǎn)生并記錄 在非易失存儲器中。
9、 如權(quán)利要求3或5所述的軟件保護裝置中實時時間的獲得及遠(yuǎn) 程校準(zhǔn)方法,其特征在于,在c2步驟中,所述響應(yīng)數(shù)據(jù)包包含以下數(shù) 據(jù)的至少其中一個實時時間;請求數(shù)據(jù)包中包含的所述軟件保護裝置的i殳備信息;請求數(shù)據(jù)包的編號;請求數(shù)據(jù)包中包含的隨機信息。
10、 如權(quán)利要求3或5所述的軟件保護裝置中實時時間的獲得及 遠(yuǎn)程校準(zhǔn)方法,其特征在于,在cl和c2步驟中,所述軟件保護裝置和時鐘服務(wù)器共享一個對稱密鑰,以對所述響應(yīng)數(shù)據(jù)包進行加密和解 密。
11、 如權(quán)利要求3或5所述的軟件保護裝置中實時時間的獲得及 遠(yuǎn)程校準(zhǔn)方法,其特征在于,在cl和c2步驟中,所述時鐘服務(wù)器對 所述響應(yīng)數(shù)據(jù)包附加驗證數(shù)據(jù)以待所述軟件保護裝置加以驗證,所述 驗證數(shù)據(jù)由所述時鐘服務(wù)器使用密碼學(xué)算法對響應(yīng)數(shù)據(jù)包的數(shù)據(jù)運算 產(chǎn)生。
12、 如權(quán)利要求3或5所述的軟件保護裝置中實時時間的獲得及 遠(yuǎn)程校準(zhǔn)方法,其特征在于,在c3步驟中,所述軟件保護裝置對響應(yīng) 數(shù)據(jù)包有效性的驗證過程包括下列步驟的至少其中 一個所述響應(yīng)數(shù)據(jù)包中包含的軟件保護裝置設(shè)備信息與軟件保護裝置 實際設(shè)備信息的 一致性驗證;所述響應(yīng)數(shù)據(jù)包中包含的請求數(shù)據(jù)包編號與所述軟件保護裝置記 錄的請求數(shù)據(jù)包編號的一致性驗證;所述響應(yīng)數(shù)據(jù)包中包含的隨機信息與所述軟件保護裝置記錄的包 含在請求數(shù)據(jù)包中的隨機信息的一致性驗證;使用響應(yīng)數(shù)據(jù)包中包含的可驗證數(shù)據(jù)對響應(yīng)數(shù)據(jù)包的完整性和不 可偽造性進行驗證。
13、 如權(quán)利要求3或5所述的軟件保護裝置中實時時間的獲得及 遠(yuǎn)程校準(zhǔn)方法,其特征在于,在c3步驟中,所述軟件保護裝置用時鐘 服務(wù)器時間校準(zhǔn)裝置時間的過程包括判斷時鐘服務(wù)器時間的有效性;如果判斷為有效,即時鐘服務(wù)器時間晚于裝置時間,或者在預(yù)定的時間范圍內(nèi)早于裝置時間,則用時鐘服務(wù)器時間更新裝置時間;如果判斷為無效,即時鐘服務(wù)器時間在預(yù)定的時間范圍之外早于 裝置時間,則進入包括禁止受保護軟件的使用在內(nèi)的響應(yīng)數(shù)據(jù)包異常 處理流程。
14、 如權(quán)利要求1 3中任一個所述的軟件保護裝置中實時時間的 獲得及遠(yuǎn)程校準(zhǔn)方法,其特征在于,如果所述實時時間遠(yuǎn)程校準(zhǔn)流程 已經(jīng)啟動但尚未完成,則在d步驟中對所述受保護軟件實施以下控制 策略之一立即禁止所述受保護軟件的使用;從此刻起,當(dāng)使用時間達(dá)到預(yù)定值之后禁止所述受保護軟件的使用;從此刻起,當(dāng)累計工作時間達(dá)到預(yù)定值之后禁止所述受保護軟件的使用;從此刻起,當(dāng)累計上電時間達(dá)到預(yù)定值之后禁止所述受保護軟件 的使用;從此刻起,當(dāng)受保護軟件累計使用次數(shù)達(dá)到預(yù)定值之后禁止所述 受保護軟件的使用。
15、 如權(quán)利要求1~3中任一個所述的軟件保護裝置中實時時間的 獲得及遠(yuǎn)程校準(zhǔn)方法,其特征在于,如果沒有啟動所述實時時間遠(yuǎn)程 校準(zhǔn)流程,則在d步驟中對所述受保護軟件實施預(yù)定的控制策略。
全文摘要
一種軟件保護裝置中實時時間的獲得及遠(yuǎn)程校準(zhǔn)方法,包括軟件保護裝置在上電后讀取所保存的裝置時間,根據(jù)主機時間對該裝置時間進行修正后,啟動計時功能并定期記錄當(dāng)前的裝置時間;軟件保護裝置記錄受保護軟件的使用信息,并判斷該使用信息是否達(dá)到設(shè)定的閾值條件;當(dāng)達(dá)到閾值條件時啟動實時時間遠(yuǎn)程校準(zhǔn)流程,包括軟件保護裝置向時鐘服務(wù)器發(fā)送請求數(shù)據(jù)包、時鐘服務(wù)器生成響應(yīng)數(shù)據(jù)包并發(fā)送給軟件保護裝置、軟件保護裝置收到響應(yīng)數(shù)據(jù)包并驗證其為有效時,用服務(wù)器時間校準(zhǔn)裝置時間;軟件保護裝置根據(jù)裝置時間實施軟件保護功能。本發(fā)明彌補了現(xiàn)有技術(shù)中主機時間不可信的缺點,為軟件著作權(quán)的限時保護提供了低成本、實用性強的解決方案。
文檔編號G06F21/00GK101216870SQ20071030456
公開日2008年7月9日 申請日期2007年12月28日 優(yōu)先權(quán)日2007年12月28日
發(fā)明者孫吉平, 勇 韓 申請人:北京深思洛克數(shù)據(jù)保護中心
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1