專利名稱:保護(hù)軟件的方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全領(lǐng)域,特別涉及一種保護(hù)軟件的方法、裝置和系統(tǒng)。
背景技術(shù):
現(xiàn)有技術(shù)中,最流行的對軟件的使用權(quán)進(jìn)行保護(hù)的方法是使用加密鎖這種 加密工具。加密鎖采用的是高強(qiáng)度智能卡芯片和先進(jìn)的密碼學(xué)技術(shù),并且具有
一定的運(yùn)算和存儲能力,同時(shí)難以被破解和復(fù)制,在高強(qiáng)度軟件保護(hù)中具有廣 泛的應(yīng)用。
利用加密鎖對軟件進(jìn)行加密保護(hù)是現(xiàn)有的軟件保護(hù)的主流方法,通過在計(jì) 算機(jī)的通信接口插上一個(gè)加密鎖,并配合特定的軟件進(jìn)行保護(hù),使用戶的軟件 離開加密鎖就無法運(yùn)行,從而實(shí)現(xiàn)軟件產(chǎn)品的保護(hù)。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)存在以下缺點(diǎn) 加密鎖的時(shí)間限制、日期限制功能是很普遍的,而且對軟件試用期的使用 控制也很方便,但是在現(xiàn)有技術(shù)中加密鎖無法記錄其開始使用的起始日期,并 且也不能限制其被使用的起始時(shí)間和截止時(shí)間,并且現(xiàn)有的加密鎖電池使用存 在浪費(fèi)。
發(fā)明內(nèi)容
為了使加密鎖具有限制其使用的起始時(shí)間和截止時(shí)間的功能,本發(fā)明實(shí)施 例提供了一種保護(hù)軟件的方法、裝置和系統(tǒng)。所迷技術(shù)方案如下 一種保護(hù)軟件的方法,所述方法包括
安全設(shè)備與終端設(shè)備建立連接,所述安全設(shè)備中包括時(shí)間的限制信息; 所述終端設(shè)備中的受保護(hù)軟件向所述安全設(shè)備發(fā)送預(yù)先約定的服務(wù)指令; 所述安全設(shè)備接收所述服務(wù)指令,判斷所述安全設(shè)備內(nèi)部的實(shí)時(shí)鐘是否已 經(jīng):故激活;
當(dāng)所述判斷結(jié)果為未激活時(shí),所述安全設(shè)備激活所述實(shí)時(shí)鐘,讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間,并判斷所述當(dāng)前時(shí)間是否有效;如果是,則所述安全設(shè)備執(zhí) 行所述服務(wù)指令并返回執(zhí)行結(jié)果給所述終端設(shè)備;如果不是,則所述安全設(shè)備 返回錯(cuò)誤結(jié)果給所述終端設(shè)備;
當(dāng)所述判斷結(jié)果為已激活時(shí),所述安全設(shè)備讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間, 并判斷所述當(dāng)前時(shí)間是否有效;如果是,則所述安全設(shè)備執(zhí)行所述服務(wù)指令并 返回執(zhí)行結(jié)果給所述終端設(shè)備;如果不是,則所述安全設(shè)備返回錯(cuò)誤結(jié)果給所 述終端設(shè)備。
所述受保護(hù)軟件向所述安全設(shè)備發(fā)送預(yù)先約定的服務(wù)指令,具體包括 所述終端設(shè)備對所述服務(wù)指令進(jìn)行加密,并將所述加密后的服務(wù)指令發(fā)送 給所述安全設(shè)備;
相應(yīng)的,所迷方法還包^r:
所述安全設(shè)備對接收到的所述加密后的服務(wù)指令進(jìn)行解密。 所述方法還包括
所述安全設(shè)備對所述執(zhí)行結(jié)果或所述錯(cuò)誤結(jié)果進(jìn)行加密,并將加密后的執(zhí) 行結(jié)果或錯(cuò)誤結(jié)果返回給所述終端設(shè)備; 相應(yīng)的,所述方法還包括
所述終端設(shè)備對接收到的所述加密后的執(zhí)行結(jié)果或錯(cuò)誤結(jié)果進(jìn)行解密。 所述加密使用的算法為對稱加密算法,所述解密使用的算法為相應(yīng)于所述 加密使用的算法的對稱解密算法。
所述錯(cuò)誤結(jié)果具體為所述安全設(shè)備已過期的提示信息或報(bào)錯(cuò)信息或隨機(jī)結(jié)果。
所述判斷所述安全設(shè)備內(nèi)部的實(shí)時(shí)鐘是否已經(jīng)被激活,具體包括 所述安全設(shè)備判斷所述實(shí)時(shí)鐘的激活標(biāo)識位是否激活標(biāo)志; 當(dāng)所述激活標(biāo)識位為激活標(biāo)志時(shí),所述實(shí)時(shí)鐘已激活; 當(dāng)所述激活標(biāo)識位為非激活標(biāo)志時(shí),所述實(shí)時(shí)鐘未激活。 所述安全設(shè)備激活所述實(shí)時(shí)鐘,具體包括 所述安全設(shè)備將所述實(shí)時(shí)鐘的時(shí)鐘芯片與電池連4妄; 所述電池開始為所述實(shí)時(shí)鐘供電,所述實(shí)時(shí)鐘開始計(jì)時(shí); 將所述實(shí)時(shí)鐘的激活標(biāo)識位修改為激活標(biāo)志; 將所述實(shí)時(shí)鐘的時(shí)間狀態(tài)值設(shè)置為所述實(shí)時(shí)鐘的起始時(shí)間。所述安全設(shè)備激活所述實(shí)時(shí)鐘,具體包括
所述安全設(shè)備控制所述實(shí)時(shí)鐘的時(shí)鐘振蕩器使其開始工作;
并將所述實(shí)時(shí)鐘的使能腳使能,所述實(shí)時(shí)鐘開始計(jì)時(shí);
將所述實(shí)時(shí)鐘的激活標(biāo)識位修改為激活標(biāo)志;
將所述實(shí)時(shí)鐘的時(shí)間狀態(tài)值設(shè)置為所述實(shí)時(shí)鐘的起始時(shí)間。
所述安全i殳備激活所述實(shí)時(shí)鐘之后,所述方法還包括
所述安全設(shè)備根據(jù)所述起始時(shí)間和所述時(shí)間的限制信息設(shè)置截止時(shí)間。
所述判斷所述當(dāng)前時(shí)間是否有效,具體包括
所述安全i殳備讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間、以及所述截止時(shí)間;
判斷所述實(shí)時(shí)鐘的當(dāng)前時(shí)間是否已超過所述截止時(shí)間;
如果是,則當(dāng)前時(shí)間為無效;
如果否,則當(dāng)前時(shí)間為有效。
所述判斷所述當(dāng)前時(shí)間是否有效,具體包括
所述安全設(shè)備讀取所述實(shí)時(shí)鐘的起始時(shí)間、當(dāng)前時(shí)間、以及所述時(shí)間的限 制信息中設(shè)定的時(shí)間長度;
計(jì)算所述當(dāng)前時(shí)間與所述起始時(shí)間的差值; 判斷所述差值是否小于所述時(shí)間限制信息中設(shè)定的時(shí)間長度; 如果是,則當(dāng)前時(shí)間為有效; 如果否,則當(dāng)前時(shí)間為無效。 所述安全設(shè)備激活所述實(shí)時(shí)鐘,具體包括 所述安全i殳備開啟所述實(shí)時(shí)鐘的時(shí)間保護(hù)功能; 并將所述實(shí)時(shí)鐘的激活標(biāo)識位修改為激活標(biāo)志。 所述判斷所述當(dāng)前時(shí)間是否有效,具體包括
所述安全設(shè)備讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間、所述時(shí)間的限制信息中設(shè)定的 截止使用日期;
判斷所述實(shí)時(shí)鐘的當(dāng)前時(shí)間是否超過所述時(shí)間的限制信息中設(shè)定的截止使 用日期;
如果是,則當(dāng)前時(shí)間為無效; 如果否,則當(dāng)前時(shí)間為有效。 所述判斷所述當(dāng)前時(shí)間是否有效,具體包括所述安全設(shè)備讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間、所述時(shí)間的限制信息中設(shè)定的
使用時(shí)間區(qū)間;
判斷所述實(shí)時(shí)鐘的當(dāng)前時(shí)間是否在所述時(shí)間的限制信息中設(shè)定的使用時(shí)間 區(qū)間內(nèi);
如果是,則當(dāng)前時(shí)間為有效; 如果否,則當(dāng)前時(shí)間為無效。 一種保護(hù)軟件的裝置,所述裝置包括 連接模塊,用于與終端設(shè)備建立連接;
接收模塊,用于接收所述終端設(shè)備中的受保護(hù)軟件發(fā)送的預(yù)先約定的服務(wù) 指令;
激活判斷模塊,用于判斷所述安全設(shè)備內(nèi)部的實(shí)時(shí)鐘是否已經(jīng)被激活; 激活模塊,用于當(dāng)所述激活判斷模塊的判斷結(jié)果為未激活時(shí),激活所述實(shí) 時(shí)鐘;
讀取模塊,用于讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間; 有效判斷模塊,用于判斷所述當(dāng)前時(shí)間是否有效;
發(fā)送模塊,用于當(dāng)所述有效判斷模塊的判斷結(jié)果為是時(shí),發(fā)送所述服務(wù)指 令的執(zhí)行結(jié)果給所述終端設(shè)備;當(dāng)所述有效判斷模塊的判斷結(jié)果為否時(shí),發(fā)送 錯(cuò)誤結(jié)果給所述終端設(shè)備;
所述裝置還包括
解密模塊,用于當(dāng)所述接收模塊接收到的服務(wù)指令為加密的服務(wù)指令時(shí), 使用預(yù)先約定的解密算法對所述加密的服務(wù)指令進(jìn)行解密。 所述裝置還包括
加密模塊,用于對所述執(zhí)行結(jié)果或所述錯(cuò)誤結(jié)果進(jìn)行加密; 相應(yīng)的,所述發(fā)送模塊具體用于
將所述加密后的執(zhí)行結(jié)果或錯(cuò)誤結(jié)果返回給所述終端設(shè)備。
所述錯(cuò)誤結(jié)果具體為所述安全設(shè)備已過期的提示信息或報(bào)錯(cuò)信息或隨機(jī)結(jié)果。
所述激活判斷模塊具體用于判斷所述實(shí)時(shí)鐘的激活標(biāo)識位是否激活標(biāo)志; 當(dāng)所述激活標(biāo)識位為激活標(biāo)志時(shí),所述實(shí)時(shí)鐘已激活; 當(dāng)所述激活標(biāo)識位為非激活標(biāo)志時(shí),所述實(shí)時(shí)鐘未激活。所述激活模塊具體包括
連接單元,用于將所述實(shí)時(shí)鐘的時(shí)鐘芯片與電池連接;
計(jì)時(shí)單元,用于所述電池開始為所述實(shí)時(shí)鐘供電,所述實(shí)時(shí)鐘開始計(jì)時(shí);
修改單元,用于將所述實(shí)時(shí)鐘的激活標(biāo)識位修改為激活標(biāo)志;
設(shè)置單元,用于將所述實(shí)時(shí)鐘的時(shí)間狀態(tài)值設(shè)置為所述實(shí)時(shí)鐘的起始時(shí)間。
所述激活模塊具體包括
控制單元,用于控制所述實(shí)時(shí)鐘的時(shí)鐘振蕩器使其開始工作; 計(jì)時(shí)單元,用于將所述實(shí)時(shí)鐘的使能腳使能,所述實(shí)時(shí)鐘開始計(jì)時(shí); 修改單元,用于將所述實(shí)時(shí)鐘的激活標(biāo)識位修改為激活標(biāo)志; 設(shè)置單元,用于將所述實(shí)時(shí)鐘的時(shí)間狀態(tài)值設(shè)置為所述實(shí)時(shí)鐘的起始時(shí)間。 所述設(shè)置單元,還用于根據(jù)所述起始時(shí)間和所述時(shí)間的限制信息設(shè)置截止 時(shí)間。
所述有效判斷模塊具體包括
讀耳又單元,用于讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間、以及所述截止時(shí)間; 判斷單元,用于判斷所述實(shí)時(shí)鐘的當(dāng)前時(shí)間是否已超過所述截止時(shí)間; 如果是,則所述判斷單元的結(jié)果為當(dāng)前時(shí)間為無效; 如果否,則所述判斷單元的結(jié)果為當(dāng)前時(shí)間為有效。 所述有效判斷模塊具體包括
讀取單元,用于讀取所述實(shí)時(shí)鐘的起始時(shí)間、當(dāng)前時(shí)間、以及時(shí)間的限制 信息中設(shè)定的時(shí)間長度;
計(jì)算單元,用于計(jì)算所述實(shí)時(shí)鐘的當(dāng)前時(shí)間與所述實(shí)對鐘的起始時(shí)間的差
值;
判斷單元,用于判斷所述差值是否處于所述時(shí)間的限制信息中設(shè)定的時(shí)間 長度內(nèi);
如果是,則所述判斷單元的結(jié)果為當(dāng)前時(shí)間為有效; 如果否,則所述判斷單元的結(jié)果為當(dāng)前時(shí)間為無效。 所述激活模塊具體包括
開啟單元,用于開啟所述實(shí)時(shí)鐘的時(shí)間保護(hù)功能; 修改單元,用于將所述實(shí)時(shí)鐘的激活標(biāo)識位修改為激活標(biāo)志。 所述有效判斷^f莫塊具體包括讀耳又單元,用于讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間、所述時(shí)間的限制信息中i殳定
的截止使用日期;
判斷單元,用于判斷所述實(shí)時(shí)鐘的當(dāng)前時(shí)間是否超過所述時(shí)間的限制信息
中設(shè)定的截止使用日期;
如果是,則所述判斷單元的結(jié)果為當(dāng)前時(shí)間為無效; 如果否,則所述判斷單元的結(jié)果為當(dāng)前時(shí)間為有效。 所述有效判斷模塊具體包括
讀取單元,用于讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間、所述時(shí)間的限制信息中設(shè)定 的指定的使用時(shí)間區(qū)間;
判斷單元,用于判斷所述實(shí)時(shí)鐘的當(dāng)前時(shí)間是否在所述時(shí)間的限制信息中 設(shè)定的指定的使用時(shí)間區(qū)間內(nèi);
如果是,則當(dāng)前時(shí)間為有效;
如果否,則當(dāng)前時(shí)間為無效。
一種保護(hù)軟件的系統(tǒng),所述系統(tǒng)包括安全設(shè)備和終端設(shè)備; 所述安全設(shè)備包括
連接才莫塊,用于與所述終端設(shè)備建立連接;
接收模塊,用于接收所述終端設(shè)備中的受保護(hù)軟件發(fā)送的預(yù)先約定的服務(wù) 指令;
激活判斷模塊,用于判斷所述安全設(shè)備內(nèi)部的實(shí)時(shí)鐘是否已經(jīng)被激活; 激活模塊,用于當(dāng)所述激活判斷模塊的判斷結(jié)果為未激活時(shí),激活所述實(shí) 時(shí)鐘;
讀取模塊,用于讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間; 有效判斷模塊,用于判斷所述當(dāng)前時(shí)間是否有效;
發(fā)送模塊,用于當(dāng)所述有效判斷模塊的判斷結(jié)果為是時(shí),發(fā)送所述服務(wù)指 令的執(zhí)行結(jié)果給所述終端設(shè)備;當(dāng)所述有效判斷模塊的判斷結(jié)果為否時(shí),發(fā)送 錯(cuò)誤結(jié)果給所述終端設(shè)備;
所述終端設(shè)備包括
接口模塊,用于與所述終端設(shè)備的連接模塊建立連接; 發(fā)送模塊,用于向所述安全設(shè)備發(fā)送預(yù)先約定的服務(wù)指令; 接收模塊,用于接收所述安全設(shè)備發(fā)送的執(zhí)行結(jié)果或錯(cuò)誤結(jié)果。所述終端設(shè)備還包括
加密模塊,用于對所述服務(wù)指令進(jìn)行加密;
相應(yīng)的,所述終端設(shè)備的發(fā)送模塊具體用于
向所述安全設(shè)備發(fā)送加密后的服務(wù)指令。
所述終端設(shè)備還包括
解密模塊,用于當(dāng)所述終端設(shè)備的接收模塊接收到的是加密后的執(zhí)行結(jié)果 或錯(cuò)誤結(jié)果時(shí),對所述加密后的執(zhí)行結(jié)果或錯(cuò)誤結(jié)果進(jìn)行解密。
所述錯(cuò)誤結(jié)果具體為所述安全設(shè)備已過期的提示信息或報(bào)錯(cuò)信息或隨機(jī)結(jié)果。
本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是
通過安全設(shè)備中攜帶時(shí)間的限制信息,并根據(jù)時(shí)間的限制信息限制安全設(shè) 備的使用時(shí)間,使得安全設(shè)備更加方便地與時(shí)間、日期等功能進(jìn)行綁定,限制 了受保護(hù)軟件使用安全設(shè)備的周期,為受保護(hù)軟件提供了更安全的服務(wù);同時(shí) 還延長了安全設(shè)備的使用壽命。
圖l是本發(fā)明實(shí)施例1中提供的保護(hù)軟件的方法流程圖; 圖2是本發(fā)明實(shí)施例2中提供的保護(hù)軟件的方法流程圖; 圖3是本發(fā)明實(shí)施例3中提供的保護(hù)軟件的裝置結(jié)構(gòu)示意圖; 圖4是本發(fā)明實(shí)施例4中提供的保護(hù)軟件的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明 實(shí)施方式作進(jìn)一步地詳細(xì)描述。
實(shí)施例1
本實(shí)施例提供了一種保護(hù)軟件的方法,參見圖1,該方法包括 步驟101:安全設(shè)備與終端設(shè)備建立連接;
本實(shí)施例中的安全設(shè)備以加密鎖為例進(jìn)行說明,其中,加密鎖包含一個(gè)由 電池供電的實(shí)時(shí)鐘,該加密鎖在出廠時(shí)實(shí)時(shí)鐘不工作,即實(shí)時(shí)鐘不計(jì)時(shí),只有在接收到終端設(shè)備發(fā)送的服務(wù)指令后實(shí)時(shí)鐘才開始進(jìn)行計(jì)時(shí)。并且,在該加密 鎖出廠之前,還可以設(shè)置一個(gè)或多個(gè)關(guān)于時(shí)間的限制信息,該時(shí)間的限制信息 用于加密鎖在出廠后的使用中對受保護(hù)的軟件實(shí)施時(shí)間保護(hù)功能。這種對受保 護(hù)軟件實(shí)施的時(shí)間保護(hù)功能在加密鎖出廠之前是處于未激活的狀態(tài),只有當(dāng)加 密鎖與終端設(shè)備建立連接之后,加密鎖接收到終端設(shè)備發(fā)送的服務(wù)指令時(shí)才會(huì) 被激活。其中,服務(wù)指令為加密鎖在出廠時(shí)與被保護(hù)軟件之間預(yù)先約定好的。
在本實(shí)施例中,時(shí)間的限制信息可以為限制受保護(hù)軟件使用該安全設(shè)備的 時(shí)間長度(如10小時(shí))。
終端設(shè)備可以為計(jì)算機(jī)、有源讀卡器、射頻讀卡器以及所有能夠使用上述 加密鎖的設(shè)備。
步驟102:終端設(shè)備中的受保護(hù)軟件向安全設(shè)備發(fā)送服務(wù)指令;
其中,受保護(hù)軟件是指對部分或全部功能的使用進(jìn)行修改或加密保護(hù)的軟 件,并且在受保護(hù)軟件啟動(dòng)應(yīng)用保護(hù)功能時(shí),受保護(hù)軟件可以自動(dòng)或手動(dòng)地向 安全設(shè)備發(fā)送服務(wù)指令。
服務(wù)指令為安全設(shè)備與終端設(shè)備之間預(yù)先約定的指令,可以是預(yù)先約定的 多條服務(wù)指令中的任意一條。例如,服務(wù)指令可以為計(jì)算機(jī)與加密鎖的通訊指 令,如APDU指令80 10 00 00 00,也可以是程序啟動(dòng)指令和/或功能算法指令等。
進(jìn)一步的,終端設(shè)備中的受保護(hù)軟件向還可以向安全設(shè)備發(fā)送加密后的服 務(wù)指令;其中,終端設(shè)備對服務(wù)指令進(jìn)行加密可以但不限于采用以下加密算法,
如AES (Advanced Encryption Standard,高級加密標(biāo)準(zhǔn))算法、DES (Data Encryption Standard,數(shù)據(jù)力口密標(biāo)準(zhǔn))算法等。
步驟103:安全設(shè)備接收到終端設(shè)備發(fā)送的服務(wù)指令,判斷安全設(shè)備內(nèi)的實(shí) 時(shí)鐘是否被激活,即已經(jīng)開始計(jì)時(shí);
如果否,則執(zhí)行步驟104;
如果是,則執(zhí)行步驟105;
其中,如果安全設(shè)備接收到的是加密后的服務(wù)指令,則安全設(shè)備按照預(yù)先 約定的解密算法對加密后的服務(wù)指令進(jìn)行解密。解密的算法可以但不限于AES 算法或DES算法等。
在本步驟103中,判斷實(shí)時(shí)鐘是否已經(jīng)開始計(jì)時(shí)的方法具體可以包括
判斷實(shí)時(shí)鐘的激活標(biāo)識位是否為激活標(biāo)志;當(dāng)激活標(biāo)識位為非激活標(biāo)志時(shí),表示時(shí)鐘芯片與電池?cái)嚅_,實(shí)時(shí)鐘沒有開
始計(jì)時(shí);
當(dāng)激活標(biāo)識位為激活標(biāo)志時(shí),表示時(shí)鐘芯片與電池已連接,實(shí)時(shí)鐘已經(jīng)開
始計(jì)時(shí)。
步驟104:安全設(shè)備激活內(nèi)部實(shí)時(shí)鐘使其開始計(jì)時(shí),并將實(shí)時(shí)鐘中的時(shí)間狀 態(tài)值設(shè)置為實(shí)時(shí)鐘的起始時(shí)間;
這里需要說明的是,本發(fā)明實(shí)施例中安全設(shè)備的實(shí)時(shí)鐘省略了與終端設(shè)備 的時(shí)鐘進(jìn)行同步的工作,安全設(shè)備可以按照實(shí)時(shí)鐘本身進(jìn)行計(jì)時(shí)。
在實(shí)時(shí)鐘被激活開始計(jì)數(shù)之前,實(shí)時(shí)鐘處于不工作的狀態(tài),實(shí)時(shí)鐘內(nèi)部會(huì) 存儲著一個(gè)時(shí)間值,本實(shí)施例將其稱為時(shí)間狀態(tài)值。當(dāng)實(shí)時(shí)鐘被激活開始計(jì)數(shù) 時(shí),安全設(shè)備將該時(shí)間狀態(tài)值設(shè)置為實(shí)時(shí)鐘的起始時(shí)間。
本實(shí)施例還可以包括安全設(shè)備讀取內(nèi)部預(yù)先設(shè)置的限制受保護(hù)軟件使用 該安全設(shè)備的時(shí)間長度(如10小時(shí)),并判斷實(shí)時(shí)鐘保存的時(shí)間狀態(tài)值是否為0, 若為0,則安全設(shè)備將讀取得到的時(shí)間長度(如10小時(shí))設(shè)置為實(shí)時(shí)鐘的截止 時(shí)間,若不為O,則安全設(shè)備將實(shí)時(shí)鐘保存的時(shí)間狀態(tài)值加上讀取得到的限制受 保護(hù)軟件使用該安全設(shè)備的時(shí)間長度(如10小時(shí))后得到的時(shí)間設(shè)置為受保護(hù) 軟件使用該實(shí)時(shí)鐘的截止時(shí)間。
其中,當(dāng)判斷得出實(shí)時(shí)鐘保存的時(shí)間狀態(tài)值不為0時(shí),還可以進(jìn)行如下操 作安全設(shè)備將實(shí)時(shí)鐘保存的時(shí)間狀態(tài)值清O,并將讀取得到的時(shí)間長度設(shè)置為 實(shí)時(shí)鐘的截止時(shí)間。
具體的,本實(shí)施例中,安全設(shè)備激活其內(nèi)部實(shí)時(shí)鐘的操作具體可以概括為 以下幾種情況
(1) 當(dāng)實(shí)時(shí)鐘的時(shí)鐘芯片與電池處于斷開狀態(tài)時(shí); 安全設(shè)備將實(shí)時(shí)鐘的時(shí)鐘芯片與電池連4妄; 電池開始^^實(shí)時(shí)鐘供電,即實(shí)時(shí)鐘開始計(jì)時(shí);
同時(shí)將實(shí)時(shí)鐘的激活標(biāo)識位改為激活標(biāo)志。
(2) 當(dāng)實(shí)時(shí)鐘的時(shí)鐘芯片與電池處于連接狀態(tài)時(shí); 安全設(shè)備控制實(shí)時(shí)鐘的時(shí)鐘振蕩器使其開始工作; 實(shí)時(shí)鐘的使能腳被4吏能,實(shí)時(shí)鐘開始計(jì)時(shí);
同時(shí)將實(shí)時(shí)鐘的激活標(biāo)識位改為激活標(biāo)志。步驟105:安全設(shè)備讀取實(shí)時(shí)鐘的當(dāng)前時(shí)間,判斷當(dāng)前時(shí)間是否為有效時(shí)間; 如果是,則執(zhí)行服務(wù)指令并將執(zhí)行結(jié)果返回給終端設(shè)備; 如果不,則將錯(cuò)誤結(jié)果返回給終端設(shè)備。
其中,安全設(shè)備返回給終端設(shè)備的執(zhí)行結(jié)果和/或錯(cuò)誤結(jié)果可以是加密的, 安全設(shè)備所采用的加密算法可以但不限于包括AES算法或DES算法;
并且,錯(cuò)誤結(jié)果具體可以但不限于為安全設(shè)備已過期的提示信息或報(bào)錯(cuò)信 息或隨機(jī)結(jié)果。
判斷當(dāng)前時(shí)間是否為有效時(shí)間的方法具體可以為
安全設(shè)備計(jì)算當(dāng)前時(shí)間和起始時(shí)間的差值,并將得到的差值與其自身預(yù)置 的限制受保護(hù)軟件使用該安全設(shè)備的時(shí)間長度相比較,判斷得到的差值是否已 經(jīng)超過其自身預(yù)置的限制受保護(hù)軟件使用該安全設(shè)備的時(shí)間長度,如果超過, 則當(dāng)前時(shí)間為無效;如果未超過,則當(dāng)前時(shí)間為有效。
例如,安全設(shè)備的實(shí)時(shí)鐘當(dāng)前時(shí)間為6點(diǎn)25分,起始時(shí)間是0點(diǎn);而其自 身預(yù)置的限制受保護(hù)軟件使用該安全設(shè)備的時(shí)間長度為IO小時(shí),當(dāng)前時(shí)間與起 始時(shí)間的差值未超過時(shí)間長度10小時(shí),因此當(dāng)前時(shí)間有效;
或者,
安全設(shè)備讀取此時(shí)實(shí)時(shí)鐘的當(dāng)前時(shí)間和截止時(shí)間,并判斷讀取得到的當(dāng)前 時(shí)間是否在截止時(shí)間之前,若不是,則當(dāng)前時(shí)間為無效;若是,則當(dāng)前時(shí)間為 有效;
例如,若安全i殳備的實(shí)時(shí)鐘當(dāng)前時(shí)間為10點(diǎn)45分,而截止時(shí)間為10點(diǎn), 當(dāng)前時(shí)間在截止時(shí)間之前,因此當(dāng)前時(shí)間有效。
需要說明的是,當(dāng)安全設(shè)備中的實(shí)時(shí)鐘被激活后,只有當(dāng)受保護(hù)軟件主動(dòng) 停止應(yīng)用或已到達(dá)應(yīng)用時(shí)間,實(shí)時(shí)鐘才會(huì)停止工作,如果強(qiáng)制其停止工作,該 安全設(shè)備將被損壞,并向終端設(shè)備返回安全設(shè)備已壞的信息。
本發(fā)明實(shí)施例通過安全設(shè)備中保存時(shí)間的限制信息,并根據(jù)時(shí)間的限制信 息限制安全設(shè)備的使用時(shí)間,使得安全設(shè)備更加方便地與時(shí)間、日期等功能進(jìn) 行綁定,限制了受保護(hù)軟件使用安全設(shè)備的周期,為受保護(hù)軟件提供了更安全 的服務(wù);同時(shí)還延長了安全設(shè)備的使用壽命。實(shí)施例2
本實(shí)施例提供了一種保護(hù)軟件的方法,參見圖2,該方法包括 步驟201:安全設(shè)備與終端設(shè)備建立連接;
本實(shí)施例中的安全設(shè)備以加密鎖為例進(jìn)行說明,其中,加密鎖包含一個(gè)由 電池供電的實(shí)時(shí)鐘,該實(shí)時(shí)鐘在加密鎖出場即已進(jìn)行校對,使得實(shí)時(shí)鐘的時(shí)間 和日期準(zhǔn)確、可信;并且,在該加密鎖出廠之前,還可以設(shè)置一個(gè)或多個(gè)關(guān)于 時(shí)間的限制信息,該時(shí)間的限制信息用于加密鎖在出廠后的使用中對受保護(hù)的 軟件實(shí)施時(shí)間保護(hù)功能。這種對受保護(hù)的軟件實(shí)施時(shí)間保護(hù)功能在加密鎖出廠 之前是處于未激活的狀態(tài),只有當(dāng)加密鎖與終端設(shè)備建立連接之后,加密鎖接 收到終端設(shè)備發(fā)送的服務(wù)指令時(shí)才會(huì)被激活。其中,服務(wù)指令為加密鎖在出廠 之前廠家與終端設(shè)備的廠家之間預(yù)先約定好的。
在本實(shí)施例中,時(shí)間的限制信息可以為限制受保護(hù)軟件只能在截止日期之 前(如2010年12月31日之前)使用該加密鎖;或者,時(shí)間的限制信息可以為 限制受保護(hù)軟件只能在指定的時(shí)間區(qū)間內(nèi)(如一天當(dāng)中的8: OOa.m——5: OOp.m) 使用該加密鎖。
終端設(shè)備可以為計(jì)算機(jī)、有源讀卡器、射頻讀卡器以及所有能夠使用上述 加密鎖的設(shè)備。
步驟202:終端設(shè)備中的受保護(hù)軟件向安全設(shè)備發(fā)送服務(wù)指令;
其中,受保護(hù)軟件是指對部分或全部功能的使用進(jìn)行修改或加密保護(hù)的軟 件,并且在受保護(hù)軟件啟動(dòng)應(yīng)用保護(hù)功能時(shí),受保護(hù)軟件可以自動(dòng)或手動(dòng)地向 安全設(shè)備發(fā)送服務(wù)指令。
服務(wù)指令為安全設(shè)備與終端設(shè)備之間預(yù)先約定的指令,可以是預(yù)先約定的 多條服務(wù)指令中的任意一條。例如,服務(wù)指令可以為計(jì)算機(jī)與加密鎖的通訊指 令,如APDU指令80 10 00 00 00,也可以是程序啟動(dòng)指令和/或功能算法指令等。
進(jìn)一步的,終端設(shè)備中的受保護(hù)軟件向還可以向安全設(shè)備發(fā)送加密后的服
務(wù)指令;其中,終端設(shè)備對服務(wù)指令進(jìn)行加密可以但不限于采用以下加密算法,
如AES算法、DES算法等。
步驟203:安全設(shè)備接收到終端設(shè)備發(fā)送的服務(wù)指令,判斷安全設(shè)備內(nèi)的實(shí) 時(shí)鐘是否被激活,即實(shí)時(shí)鐘是否已經(jīng)開啟時(shí)間保護(hù)功能;
如果否,則執(zhí)行步驟204;如果是,則執(zhí)行步驟205;
其中,如果安全設(shè)備接收到的是加密后的服務(wù)指令,則安全設(shè)備按照預(yù)先 約定的解密算法對加密后的服務(wù)指令進(jìn)行解密。解密的算法可以但不限于AES 算法或DES算法等。
需要說明的是,安全設(shè)備還可以通過接收到的服務(wù)指令,將自身的實(shí)時(shí)鐘 的當(dāng)前時(shí)間與終端設(shè)備的時(shí)鐘進(jìn)行校準(zhǔn)操作。
在本步驟203中,判斷實(shí)時(shí)鐘是否已經(jīng)開啟時(shí)間保護(hù)功能的方法具體可以 包括
判斷實(shí)時(shí)鐘的激活標(biāo)識位是否為激活標(biāo)志;
當(dāng)激活標(biāo)識位為非激活標(biāo)志時(shí),表示實(shí)時(shí)鐘沒有開啟時(shí)間保護(hù)功能; 當(dāng)激活標(biāo)識位為激活標(biāo)志時(shí),表示實(shí)時(shí)鐘已經(jīng)開啟時(shí)間保護(hù)功能。 步驟204:安全設(shè)備激活內(nèi)部實(shí)時(shí)鐘使其開啟時(shí)間保護(hù)功能,并將實(shí)時(shí)鐘的
激活標(biāo)識位改為激活標(biāo)志;
需要說明的是,當(dāng)安全設(shè)備中的實(shí)時(shí)鐘被激活后,只有當(dāng)受保護(hù)軟件主動(dòng)停
止應(yīng)用或已到達(dá)應(yīng)用時(shí)間,實(shí)時(shí)鐘才會(huì)停止工作,如果強(qiáng)制其停止工作,該安
全設(shè)備將被損壞,并向終端設(shè)備返回安全設(shè)備已壞的信息。
步驟205:安全設(shè)備讀取實(shí)時(shí)鐘的當(dāng)前時(shí)間,判斷當(dāng)前時(shí)間是否為有效時(shí)間; 如果是,則執(zhí)行服務(wù)指令并將執(zhí)行結(jié)果返回給終端設(shè)備; 如果不,則將錯(cuò)誤結(jié)果返回給終端設(shè)備。
其中,安全設(shè)備返回給終端設(shè)備的執(zhí)行結(jié)果和/或錯(cuò)誤結(jié)果可以是加密的, 安全設(shè)備所采用的加密算法可以但不限于包括AES算法或DES算法「
并且,錯(cuò)誤結(jié)果具體可以但不限于為安全設(shè)備已過期的提示信息或報(bào)錯(cuò)信 息或隨機(jī)結(jié)果。
判斷當(dāng)前時(shí)間是否為有效時(shí)間的方法可以包括以下幾種 (1)當(dāng)時(shí)間的限制信息為限制受保護(hù)軟件只能在截止日期之前使用該安全 設(shè)備時(shí);
安全設(shè)備讀取實(shí)時(shí)鐘的當(dāng)前時(shí)間和時(shí)間的限制信息中的截止使用日期; 判斷實(shí)時(shí)鐘的當(dāng)前時(shí)間是否已超過截止使用日期; 如果是,則當(dāng)前時(shí)間為無效時(shí)間; 如果否,則當(dāng)前時(shí)間為有效時(shí)間。例如,實(shí)時(shí)鐘的當(dāng)前時(shí)間為2009年6月23日,時(shí)間的限制信息中的截止 使用日期為2010年12月31日,則實(shí)時(shí)鐘的當(dāng)前時(shí)間未超過截止使用日期,當(dāng) 前時(shí)間有效。
(2 )當(dāng)時(shí)間的限制信息為限制受保護(hù)軟件只能在指定的時(shí)間區(qū)間內(nèi)使用該 安全設(shè)備時(shí);
安全設(shè)備讀取實(shí)時(shí)鐘的當(dāng)前時(shí)間、時(shí)間的限制信息中的起始時(shí)間和截止時(shí)
間;
判斷實(shí)時(shí)鐘的當(dāng)前時(shí)間是否處于時(shí)間的限制信息中的起始時(shí)間和截止時(shí)間 之間;
如果是,則當(dāng)前時(shí)間為有效時(shí)間; 如果否,則當(dāng)前時(shí)間為無效時(shí)間。
例如,實(shí)時(shí)鐘的當(dāng)前時(shí)間為6: OOa.m,時(shí)間的限制信息中的起始時(shí)間和截 止時(shí)間分別為8: 003.111和5: OOp.m,則實(shí)時(shí)鐘的當(dāng)前時(shí)間未處于時(shí)間的限制 信息中的起始時(shí)間和截止時(shí)間,當(dāng)前時(shí)間無效。
本發(fā)明實(shí)施例通過安全設(shè)備中保存時(shí)間的限制信息,并根據(jù)時(shí)間的限制信 息限制安全設(shè)備的使用時(shí)間,使得安全設(shè)備更加方便地與時(shí)間、日期等功能進(jìn) 行綁定,限制了受保護(hù)軟件使用安全設(shè)備的周期,為受保護(hù)軟件提供了更安全 的服務(wù);同時(shí)還延長了安全設(shè)備的使用壽命。
實(shí)施例3
本實(shí)施例提供了一種保護(hù)軟件的裝置,參見圖3,該裝置包括 連接模塊301 ,用于與終端設(shè)備建立連接;
接收模塊302,用于接收終端設(shè)備中的受保護(hù)軟件發(fā)送的預(yù)先約定的服務(wù)指
令;
激活判斷模塊303,用于判斷安全設(shè)備內(nèi)部的實(shí)時(shí)鐘是否已經(jīng)被激活; 激活模塊304,用于當(dāng)激活判斷模塊的判斷結(jié)果為未激活時(shí),激活實(shí)時(shí)鐘; 讀取才莫塊305,用于讀取實(shí)時(shí)鐘的當(dāng)前時(shí)間; 有效判斷模塊306,用于判斷當(dāng)前時(shí)間是否有效;
發(fā)送模塊307,用于當(dāng)有效判斷模塊的判斷結(jié)果為是時(shí),發(fā)送服務(wù)指令的執(zhí)行結(jié)果給終端設(shè)備;當(dāng)有效判斷模塊的判斷結(jié)果為否時(shí),發(fā)送錯(cuò)誤結(jié)果給終端 設(shè)備,其中錯(cuò)誤結(jié)果具體可以但不限于為安全設(shè)備已過期的提示信息或報(bào)錯(cuò)信 息或隨機(jī)結(jié)果;
進(jìn)一步的,該裝置還可以包括
解密模塊,用于當(dāng)接收模塊302接收到的服務(wù)指令為加密的服務(wù)指令時(shí), 使用預(yù)先約定的解密算法對加密的服務(wù)指令進(jìn)行解密。 進(jìn)一步的,該裝置還可以包括 加密模塊,用于對執(zhí)行結(jié)果或錯(cuò)誤結(jié)果進(jìn)行加密; 相應(yīng)的,發(fā)送才莫塊307具體用于 將加密后的執(zhí)行結(jié)果或錯(cuò)誤結(jié)果返回給終端設(shè)備。 激活判斷模塊303具體用于判斷實(shí)時(shí)鐘的激活標(biāo)識位是否激活標(biāo)志; 當(dāng)激活標(biāo)識位為激活標(biāo)志時(shí),實(shí)時(shí)鐘已激活; 當(dāng)激活標(biāo)識位為非激活標(biāo)志時(shí),實(shí)時(shí)鐘未激活。 一種實(shí)施方式下,激活模塊304具體包括 連接單元,用于將實(shí)時(shí)鐘的時(shí)鐘芯片與電池連接; 計(jì)時(shí)單元,用于電池開始為實(shí)時(shí)鐘供電,實(shí)時(shí)鐘開始計(jì)時(shí); 修改單元,用于將實(shí)時(shí)鐘的激活標(biāo)識位修改為激活標(biāo)志; 設(shè)置單元,用于將實(shí)時(shí)鐘的時(shí)間狀態(tài)值設(shè)置為實(shí)時(shí)鐘的起始時(shí)間。 另一種實(shí)施方式下,激活模塊304具體包括 控制單元,用于控制實(shí)時(shí)鐘的時(shí)鐘振蕩器使其開始工作; 計(jì)時(shí)單元,用于將實(shí)時(shí)鐘的使能腳使能,實(shí)時(shí)鐘開始計(jì)時(shí); 修改單元,用于將實(shí)時(shí)鐘的激活標(biāo)識位修改為激活標(biāo)志; 設(shè)置單元,用于將實(shí)時(shí)鐘的時(shí)間狀態(tài)值設(shè)置為實(shí)時(shí)鐘的起始時(shí)間。 設(shè)置單元,還用于根據(jù)時(shí)間狀態(tài)值和時(shí)間的限制信息設(shè)置截止時(shí)間。 再一種實(shí)施方式下,激活模塊304具體包括 開啟單元,用于開啟實(shí)時(shí)鐘的時(shí)間保護(hù)功能; 修改單元,用于將實(shí)時(shí)鐘的激活標(biāo)識位修改為激活標(biāo)志。 一種實(shí)施方式下,有效判斷模塊306具體包括 讀取單元,用于讀取實(shí)時(shí)鐘的當(dāng)前時(shí)間、以及截止時(shí)間; 判斷單元,用于判斷實(shí)時(shí)鐘的當(dāng)前時(shí)間是否已超過截止時(shí)間;如果是,則判斷單元的結(jié)果為當(dāng)前時(shí)間為無效; 如果否,則判斷單元的結(jié)果為當(dāng)前時(shí)間為有效。 另一種實(shí)施方式下,有效判斷模塊306具體包括
讀耳又單元,用于讀取實(shí)時(shí)鐘的起始時(shí)間、當(dāng)前時(shí)間、以及時(shí)間的限制信息 中設(shè)定的時(shí)間長度;
計(jì)算單元,用于計(jì)算當(dāng)前時(shí)間與起始時(shí)間之間的差值;
判斷單元,用于判斷差值是否小于時(shí)間的限制信息中設(shè)定的時(shí)間長度;
如果是,則判斷單元的結(jié)果為當(dāng)前時(shí)間為有效;
如果否,則判斷單元的結(jié)果為當(dāng)前時(shí)間為無效。
再一種實(shí)施方式下,有效判斷模塊306具體包括
讀取單元,用于讀耳又實(shí)時(shí)鐘的當(dāng)前時(shí)間、時(shí)間的限制信息中i殳定的截止寸吏 用日期;
判斷單元,用于判斷實(shí)時(shí)鐘的當(dāng)前時(shí)間是否已超過時(shí)間的限制信息中設(shè)定 的截止使用日期;
如果是,則判斷單元的結(jié)果為當(dāng)前時(shí)間為無效; 如果否,則判斷單元的結(jié)果為當(dāng)前時(shí)間為有效。 又一種實(shí)施方式下,有效判斷模塊306具體包括
讀取單元,用于讀取實(shí)時(shí)鐘的當(dāng)前時(shí)間、時(shí)間的限制信息中設(shè)定的使用時(shí) 間區(qū)間;
判斷單元,用于判斷所述實(shí)時(shí)鐘的當(dāng)前時(shí)間是否在所述時(shí)間的限制信息中 設(shè)定的使用時(shí)間區(qū)間內(nèi);
如果是,則當(dāng)前時(shí)間為有效; 如果否,則當(dāng)前時(shí)間為無效。
本發(fā)明實(shí)施例通過安全設(shè)備中保存時(shí)間的限制信息,并#^居時(shí)間的限制信 息限制安全設(shè)備的使用時(shí)間,使得安全設(shè)備更加方便地與時(shí)間、日期等功能進(jìn) 行綁定,限制了受保護(hù)軟件使用安全設(shè)備的周期,為受保護(hù)軟件提供了更安全 的服務(wù);同時(shí)還延長了安全設(shè)備的使用壽命。
實(shí)施例4
本實(shí)施例提供了一種保護(hù)軟件的系統(tǒng),參見圖4,該系統(tǒng)包括安全設(shè)備401和終端設(shè)備402;
其中,安全設(shè)備401具體可以參見實(shí)施例2中保護(hù)軟件的裝置,在本實(shí)施 例中不予以重復(fù)贅述。
參見圖,終端設(shè)備402包括
接口模塊,用于與終端設(shè)備的連接模塊建立連接;
發(fā)送模塊,用于向安全設(shè)備發(fā)送預(yù)先約定的服務(wù)指令;
接收模塊,用于接收安全設(shè)備發(fā)送的執(zhí)行結(jié)果或錯(cuò)誤結(jié)果,其中錯(cuò)誤結(jié)果 具體可以但不限于為安全設(shè)備已過期的提示信息或報(bào)錯(cuò)信息或隨機(jī)結(jié)果。
進(jìn)一步的,終端設(shè)備402還包括
加密模塊,用于對服務(wù)指令進(jìn)行加密;
相應(yīng)的,終端設(shè)備402的發(fā)送模塊還用于
向安全設(shè)備發(fā)送加密后的服務(wù)指令。
進(jìn)一步的,終端設(shè)備402還包括
解密模塊,用于當(dāng)終端設(shè)備的接收模塊接收到的是加密后的執(zhí)行結(jié)果或錯(cuò) 誤結(jié)果時(shí),對加密后的執(zhí)行結(jié)果或錯(cuò)誤結(jié)果進(jìn)行解密。
本發(fā)明實(shí)施例通過安全設(shè)備中保存時(shí)間的限制信息,并根據(jù)時(shí)間的限制信 息限制安全設(shè)備的使用時(shí)間,使得安全設(shè)備更加方便地與時(shí)間、日期等功能進(jìn) 行綁定,限制了受保護(hù)軟件使用安全設(shè)備的周期,為受保護(hù)軟件提供了更安全 的服務(wù);同時(shí)還延長了安全設(shè)備的使用壽命。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的 精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的 保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種保護(hù)軟件的方法,其特征在于,所述方法包括安全設(shè)備與終端設(shè)備建立連接,所述安全設(shè)備中包括時(shí)間的限制信息;所述終端設(shè)備中的受保護(hù)軟件向所述安全設(shè)備發(fā)送預(yù)先約定的服務(wù)指令;所述安全設(shè)備接收所述服務(wù)指令,判斷所述安全設(shè)備內(nèi)部的實(shí)時(shí)鐘是否已經(jīng)被激活;當(dāng)所述判斷結(jié)果為未激活時(shí),所述安全設(shè)備激活所述實(shí)時(shí)鐘,讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間,并判斷所述當(dāng)前時(shí)間是否有效;如果是,則所述安全設(shè)備執(zhí)行所述服務(wù)指令并返回執(zhí)行結(jié)果給所述終端設(shè)備;如果不是,則所述安全設(shè)備返回錯(cuò)誤結(jié)果給所述終端設(shè)備;當(dāng)所述判斷結(jié)果為已激活時(shí),所述安全設(shè)備讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間,并判斷所述當(dāng)前時(shí)間是否有效;如果是,則所述安全設(shè)備執(zhí)行所述服務(wù)指令并返回執(zhí)行結(jié)果給所述終端設(shè)備;如果不是,則所述安全設(shè)備返回錯(cuò)誤結(jié)果給所述終端設(shè)備。
2、 如權(quán)利要求l所述的方法,其特征在于,所述受保護(hù)軟件向所述安全設(shè) 備發(fā)送預(yù)先約定的服務(wù)指令,具體包括所述終端設(shè)備對所述服務(wù)指令進(jìn)行加密,并將所述加密后的服務(wù)指令發(fā)送 給所述安全設(shè)備;相應(yīng)的,所述方法還包括所述安全設(shè)備對接收到的所述加密后的服務(wù)指令進(jìn)行解密。
3、 如權(quán)利要求1所述的方法,其特征在于,所述方法還包括 所述安全設(shè)備對所述執(zhí)行結(jié)果或所述錯(cuò)誤結(jié)果進(jìn)行加密,并將加密后的指令返回給所述終端設(shè)備;相應(yīng)的,所述方法還包才舌所述終端設(shè)備對接收到的所述加密后的執(zhí)行結(jié)果或錯(cuò)誤結(jié)果進(jìn)行解密。
4、 如權(quán)利要求2或3所述的方法,其特征在于,所述加密使用的算法為對稱加密算法,所述解密使用的算法為相應(yīng)于所述加密使用的算法的對稱解密算法。
5、 如權(quán)利要求1或3所述的方法,其特征在于,所述錯(cuò)誤結(jié)果具體為所述 安全設(shè)備已過期的提示信息或報(bào)錯(cuò)信息或隨機(jī)結(jié)果。
6、 如權(quán)利要求l所述的方法,其特征在于,所述判斷所述安全設(shè)備內(nèi)部的 實(shí)時(shí)鐘是否已經(jīng)被激活,具體包括所述安全設(shè)備判斷所述實(shí)時(shí)鐘的激活標(biāo)識位是否為激活標(biāo)志; 當(dāng)所述激活標(biāo)識位為激活標(biāo)志時(shí),所述實(shí)時(shí)鐘已激活; 當(dāng)所述激活標(biāo)識位為非激活標(biāo)志時(shí),所述實(shí)時(shí)鐘未激活。
7、 如權(quán)利要求1所述的方法,其特征在于,所述安全設(shè)備激活所述實(shí)時(shí)鐘, 具體包括所述安全設(shè)備將所述實(shí)時(shí)鐘的時(shí)鐘芯片與電池連"f妄; 所述電池開始為所述實(shí)時(shí)鐘供電,所述實(shí)時(shí)鐘開始計(jì)時(shí); 將所述實(shí)時(shí)鐘的激活標(biāo)識位修改為激活標(biāo)志; 將所述實(shí)時(shí)鐘的時(shí)間狀態(tài)值設(shè)置為所述實(shí)時(shí)鐘的起始時(shí)間。
8、 如權(quán)利要求1所述的方法,其特征在于,所述安全設(shè)備激活所述實(shí)時(shí)鐘, 具體包括所述安全設(shè)備控制所述實(shí)時(shí)鐘的時(shí)鐘振蕩器使其開始工作; 并將所述實(shí)時(shí)鐘的使能腳使能,所述實(shí)時(shí)鐘開始計(jì)時(shí); 將所述實(shí)時(shí)鐘的激活標(biāo)識位修改為激活標(biāo)志; 將所述實(shí)時(shí)鐘的時(shí)間狀態(tài)值設(shè)置為所述實(shí)時(shí)鐘的起始時(shí)間。
9、 如權(quán)利要求7或8所述的方法,其特征在于,所述安全設(shè)備激活所述實(shí) 時(shí)鐘之后,所述方法還包括所述安全設(shè)備根據(jù)所述起始時(shí)間和所述時(shí)間的限制信息設(shè)置截止時(shí)間。
10、 如權(quán)利要求9所述的方法,其特征在于,所述判斷所述當(dāng)前時(shí)間是否有效,具體包括所述安全i殳備讀耳又所述實(shí)時(shí)鐘的當(dāng)前時(shí)間、以及所述截止時(shí)間; 判斷所述實(shí)時(shí)鐘的當(dāng)前時(shí)間是否已超過所述截止時(shí)間; 如果是,則當(dāng)前時(shí)間為無效; 如果否,則當(dāng)前時(shí)間為有效。
11、 如權(quán)利要求9所述的方法,其特征在于,所述判斷所述當(dāng)前時(shí)間是否 有效,具體包括所述安全設(shè)備讀取所述實(shí)時(shí)鐘的起始時(shí)間、當(dāng)前時(shí)間、以及所述時(shí)間的限 制信息中設(shè)定的時(shí)間長度;計(jì)算所述當(dāng)前時(shí)間與所述起始時(shí)間的差值;判斷所述差值是否小于所述時(shí)間限制信息中設(shè)定的時(shí)間長度;如果是,則當(dāng)前時(shí)間為有效;如果否,則當(dāng)前時(shí)間為無效。
12、 如權(quán)利要求1所述的方法,其特征在于,所述安全設(shè)備激活所述實(shí)時(shí) 鐘,具體包括所述安全設(shè)備開啟所述實(shí)時(shí)鐘的時(shí)間保護(hù)功能; 并將所述實(shí)時(shí)鐘的激活標(biāo)識位修改為激活標(biāo)志。
13、 如權(quán)利要求12所述的方法,其特征在于,所述判斷所述當(dāng)前時(shí)間是否 有效,具體包括所述安全設(shè)備讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間、所述時(shí)間的限制信息中設(shè)定的 截止使用日期;判斷所述實(shí)時(shí)鐘的當(dāng)前時(shí)間是否超過所述時(shí)間的限制信息中設(shè)定的截止使 用曰期;如果是,則當(dāng)前時(shí)間為無效; 如果否,則當(dāng)前時(shí)間為有效。
14、 如權(quán)利要求12所述的方法,其特征在于,所述判斷所述當(dāng)前時(shí)間是否 有效,具體包括所述安全設(shè)備讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間、所述時(shí)間的限制信息中設(shè)定的 使用時(shí)間區(qū)間;判斷所述實(shí)時(shí)鐘的當(dāng)前時(shí)間是否在所述時(shí)間的限制信息中設(shè)定的使用時(shí)間 區(qū)間內(nèi);如果是,則當(dāng)前時(shí)間為有效; 如果否,則當(dāng)前時(shí)間為無效。
15、 一種保護(hù)軟件的裝置,其特征在于,所述裝置包括 連接模塊,用于與終端設(shè)備建立連接;接收模塊,用于接收所述終端設(shè)備中的受保護(hù)軟件發(fā)送的預(yù)先約定的服務(wù) 指令;激活判斷模塊,用于判斷所述安全設(shè)備內(nèi)部的實(shí)時(shí)鐘是否已經(jīng)被激活; 激活模塊,用于當(dāng)所述激活判斷模塊的判斷結(jié)果為未激活時(shí),激活所述實(shí) 時(shí)鐘;讀取模塊,用于讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間;有效判斷模塊,用于判斷所述當(dāng)前時(shí)間是否有效;發(fā)送模塊,用于當(dāng)所述有效判斷模塊的判斷結(jié)果為是時(shí),發(fā)送所述服務(wù)指 令的執(zhí)行結(jié)果給所述終端設(shè)備;當(dāng)所述有效判斷模塊的判斷結(jié)果為否時(shí),發(fā)送 錯(cuò)誤結(jié)果給所述終端設(shè)備;
16、 如權(quán)利要求15所述的裝置,其特征在于,所述裝置還包括 解密模塊,用于當(dāng)所述接收模塊接收到的服務(wù)指令為加密的服務(wù)指令時(shí),使用預(yù)先約定的解密算法對所述加密的服務(wù)指令進(jìn)行解密。
17、 如權(quán)利要求15所述的裝置,其特征在于,所述裝置還包括 加密模塊,用于對所述執(zhí)行結(jié)果或所述錯(cuò)誤結(jié)果進(jìn)行加密;相應(yīng)的,所述發(fā)送模塊具體用于將所述加密后的執(zhí)行結(jié)果或錯(cuò)誤結(jié)果返回給所述終端設(shè)備。
18、 如權(quán)利要求15或17所述的裝置,其特征在于,所述錯(cuò)誤結(jié)果具體為 所述安全設(shè)備已過期的提示信息或報(bào)錯(cuò)信息或隨機(jī)結(jié)果。
19、 如權(quán)利要求15所述的裝置,其特征在于,所述激活判斷模塊具體用于 判斷所述實(shí)時(shí)鐘的激活標(biāo)識位是否為激活標(biāo)志;當(dāng)所述激活標(biāo)識位為激活標(biāo)志時(shí),所述實(shí)時(shí)鐘已激活; 當(dāng)所述激活標(biāo)識位為非激活標(biāo)志時(shí),所述實(shí)時(shí)鐘未激活。
20、 如權(quán)利要求15所述的裝置,其特征在于,所述激活模塊具體包括 連接單元,用于將所述實(shí)時(shí)鐘的時(shí)鐘芯片與電池連接;計(jì)時(shí)單元,用于所述電池開始為所述實(shí)時(shí)鐘供電,所述實(shí)時(shí)鐘開始計(jì)時(shí);修改單元,用于將所述實(shí)時(shí)鐘的激活標(biāo)識位修改為激活標(biāo)志;設(shè)置單元,用于將所述實(shí)時(shí)鐘的時(shí)間狀態(tài)值設(shè)置為所述實(shí)時(shí)鐘的起始時(shí)間。
21、 如權(quán)利要求15所述的裝置,其特征在于,所述激活模塊具體包括 控制單元,用于控制所述實(shí)時(shí)鐘的時(shí)鐘振蕩器使其開始工作; 計(jì)時(shí)單元,用于將所述實(shí)時(shí)鐘的使能腳使能,所述實(shí)時(shí)鐘開始計(jì)時(shí); 修改單元,用于將所述實(shí)時(shí)鐘的激活標(biāo)識位^修改為激活標(biāo)志;設(shè)置單元,用于將所述實(shí)時(shí)鐘的時(shí)間狀態(tài)值設(shè)置為所述實(shí)時(shí)鐘的起始時(shí)間。
22、 如權(quán)利要求20或21所述的裝置,其特征在于,所述設(shè)置單元還用于 根據(jù)所述起始時(shí)間和所述時(shí)間的限制信息設(shè)置截止時(shí)間。
23、 如權(quán)利要求22所述的裝置,其特征在于,所述有效判斷模塊具體包括: 讀耳又單元,用于讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間、以及所述截止時(shí)間; 判斷單元,用于判斷所述實(shí)時(shí)鐘的當(dāng)前時(shí)間是否已超過所述截止時(shí)間; 如果是,則所述判斷單元的結(jié)果為當(dāng)前時(shí)間為無效;如果否,則所述判斷單元的結(jié)果為當(dāng)前時(shí)間為有效。
24、 如權(quán)利要求20或21所述的裝置,其特征在于,所述有效判斷模塊具 體包括讀耳又單元,用于讀耳又所述實(shí)時(shí)鐘的起始時(shí)間、當(dāng)前時(shí)間、以及時(shí)間的限制 信息中設(shè)定的時(shí)間長度;計(jì)算單元,用于計(jì)算所述實(shí)時(shí)鐘的當(dāng)前時(shí)間與所述實(shí)時(shí)鐘的起始時(shí)間的差值;判斷單元,用于判斷所述差值是否處于所述時(shí)間的限制信息中的設(shè)定的時(shí)間長度內(nèi);如果是,則所述判斷單元的結(jié)果為當(dāng)前時(shí)間為有效; 如果否,則所述判斷單元的結(jié)果為當(dāng)前時(shí)間為無效。
25、 如權(quán)利要求15所述的裝置,其特征在于,所述激活模塊具體包括 開啟單元,用于開啟所述實(shí)時(shí)鐘的時(shí)間保護(hù)功能;修改單元,用于將所述實(shí)時(shí)鐘的激活標(biāo)識位修改為激活標(biāo)志。
26、 如權(quán)利要求25所述的裝置,其特征在于,所述有效判斷模塊具體包括 讀取單元,用于讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間、所述時(shí)間的限制信息中設(shè)定的截止使用日期;判斷單元,用于判斷所述實(shí)時(shí)鐘的當(dāng)前時(shí)間是否超過所述時(shí)間的限制信息 中設(shè)定的截止時(shí)間截止使用曰期;如果是,則所述判斷單元的結(jié)果為當(dāng)前時(shí)間為無效; 如果否,則所述判斷單元的結(jié)果為當(dāng)前時(shí)間為有效。
27、 如權(quán)利要求25所述的裝置,其特征在于,所述有效判斷模塊具體包括 讀取單元,用于讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間、所述時(shí)間的限制信息中設(shè)定的使用時(shí)間區(qū)間;判斷單元,用于判斷所述實(shí)時(shí)鐘的當(dāng)前時(shí)間是否在所述時(shí)間的限制信息中 設(shè)定的使用時(shí)間區(qū)間內(nèi);如果是,則當(dāng)前時(shí)間為有效; 如果否,則當(dāng)前時(shí)間為無效。
28、 一種保護(hù)軟件的系統(tǒng),其特征在于,所述系統(tǒng)包括安全設(shè)備和終端 設(shè)備;所述安全設(shè)備包括連接模塊,用于與所述終端設(shè)備建立連接;接收模塊,用于接收所述終端設(shè)備中的受保護(hù)軟件發(fā)送的預(yù)先約定的服務(wù) 指令;激活判斷模塊,用于判斷所述安全設(shè)備內(nèi)部的實(shí)時(shí)鐘是否已經(jīng)被激活; 激活模塊,用于當(dāng)所述激活判斷模塊的判斷結(jié)果為未激活時(shí),激活所述實(shí) 時(shí)鐘;讀取才莫塊,用于讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間; 有效判斷模塊,用于判斷所述當(dāng)前時(shí)間是否有效;發(fā)送模塊,用于當(dāng)所述有效判斷模塊的判斷結(jié)果為是時(shí),發(fā)送所述服務(wù)指 令的執(zhí)行結(jié)果給所述終端設(shè)備;當(dāng)所述有效判斷模塊的判斷結(jié)果為否時(shí),發(fā)送 錯(cuò)誤結(jié)果給所述終端設(shè)備;所述終端設(shè)備包括接口模塊,用于與所述終端設(shè)備的連接模塊建立連接; 發(fā)送模塊,用于向所述安全設(shè)備發(fā)送預(yù)先約定的服務(wù)指令; 接收模塊,用于接收所述安全設(shè)備發(fā)送的執(zhí)行結(jié)果或錯(cuò)誤結(jié)果。
29、 如權(quán)利要求28所述的系統(tǒng),其特征在于,所述終端設(shè)備還包括 加密模塊,用于對所述服務(wù)指令進(jìn)行加密;相應(yīng)的,所述終端設(shè)備的發(fā)送模塊具體用于 向所述安全設(shè)備發(fā)送加密后的服務(wù)指令。
30、 如權(quán)利要求28所述的系統(tǒng),其特征在于,所述終端設(shè)備還包括 解密模塊,用于當(dāng)所述終端設(shè)備的接收模塊接收到的是加密后的執(zhí)行結(jié)果或錯(cuò)誤結(jié)果時(shí),對所述加密后的執(zhí)行結(jié)果或錯(cuò)誤結(jié)果進(jìn)行解密。
31、 如權(quán)利要求28或30所述的系統(tǒng),其特征在于,所述錯(cuò)誤結(jié)果具體為所述安全設(shè)備已過期的提示信息或報(bào)錯(cuò)信息或隨機(jī)結(jié)果。
全文摘要
本發(fā)明公開了一種保護(hù)軟件的方法、裝置和系統(tǒng),屬于信息安全領(lǐng)域。所述方法包括安全設(shè)備與終端設(shè)備建立連接;所述安全設(shè)備接收所述服務(wù)指令,判斷所述安全設(shè)備內(nèi)部的實(shí)時(shí)鐘是否已經(jīng)被激活;讀取所述實(shí)時(shí)鐘的當(dāng)前時(shí)間,并判斷所述當(dāng)前時(shí)間是否有效;如果是,則所述安全設(shè)備執(zhí)行所述服務(wù)指令并返回執(zhí)行結(jié)果給所述終端設(shè)備;如果不是,則所述安全設(shè)備返回錯(cuò)誤結(jié)果給所述終端設(shè)備。為受保護(hù)軟件提供了更安全的服務(wù);同時(shí)還延長了安全設(shè)備的使用壽命。
文檔編號G06F21/10GK101587523SQ200910088379
公開日2009年11月25日 申請日期2009年7月2日 優(yōu)先權(quán)日2009年7月2日
發(fā)明者于華章, 舟 陸 申請人:北京飛天誠信科技有限公司