專(zhuān)利名稱(chēng):基于云端服務(wù)器的軟件保護(hù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件保護(hù)領(lǐng)域,具體說(shuō)是一種利用云端服務(wù)器為軟件提供保護(hù)的方法。
背景技術(shù):
現(xiàn)有技術(shù)中,軟件保護(hù)裝置是實(shí)現(xiàn)軟件安全保護(hù)和版權(quán)保護(hù)的主要手段。軟件保護(hù)裝置特指一種附加在計(jì)算機(jī)接口(比如,USB接口、串口、并口等接口)上的硬件設(shè)備,對(duì)運(yùn)行在計(jì)算機(jī)上的特定的軟件進(jìn)行軟件安全保護(hù)和版權(quán)保護(hù)?,F(xiàn)代的軟件保護(hù)裝置,例如USB加密鎖,采用高強(qiáng)度智能卡芯片和先進(jìn)的密碼學(xué)技術(shù),具有一定的運(yùn)算和存儲(chǔ)能力,同時(shí)難以被破解和復(fù)制,在高強(qiáng)度軟件版權(quán)保護(hù)中具有廣泛的應(yīng)用。目前,采用軟件保護(hù)裝置進(jìn)行軟件保護(hù)的通常的方法是將其視作一個(gè)與受保護(hù)軟 件并行的運(yùn)算平臺(tái),將受保護(hù)軟件中的一部分功能移植到軟件保護(hù)裝置中執(zhí)行、實(shí)現(xiàn),從而在受保護(hù)軟件運(yùn)行時(shí)調(diào)用這些功能。因?yàn)槭鼙Wo(hù)軟件的運(yùn)行依賴(lài)于軟件保護(hù)裝置提供的運(yùn)算功能(即軟件保護(hù)裝置收到調(diào)用請(qǐng)求和相關(guān)數(shù)據(jù)時(shí),通過(guò)軟件保護(hù)裝置中的運(yùn)行時(shí)環(huán)境運(yùn)行其內(nèi)部移植的功能并返回運(yùn)行結(jié)果),而破解者又無(wú)法復(fù)制硬件形式的軟件保護(hù)裝置,因此很好地保護(hù)軟件。使用軟件保護(hù)裝置的傳統(tǒng)方式是軟件開(kāi)發(fā)者給授權(quán)的軟件使用者提供硬件形式的軟件保護(hù)裝置,軟件使用者在使用軟件時(shí)將其插入運(yùn)行受保護(hù)軟件的計(jì)算機(jī)端口,受保護(hù)軟件與硬件形式的軟件保護(hù)裝置建立連接,在需要運(yùn)行被移植功能時(shí)向軟件保護(hù)裝置發(fā)出調(diào)用請(qǐng)求和相關(guān)數(shù)據(jù),軟件保護(hù)裝置運(yùn)行其內(nèi)部被移植的功能代碼后返回運(yùn)行結(jié)果,受保護(hù)軟件接收到數(shù)據(jù)后繼續(xù)運(yùn)行。由于使用軟件保護(hù)裝置需要投入一定的硬件成本,因此造成小型應(yīng)用程序較難使用硬件形式的軟件保護(hù)裝置來(lái)保護(hù)小型應(yīng)用程序。另外,在軟件保護(hù)裝置的發(fā)放、更換或升級(jí)過(guò)程中都涉及硬件的實(shí)物交遞,會(huì)帶來(lái)軟件開(kāi)發(fā)者較高的使用成本。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提出了一種基于云端服務(wù)器的軟件保護(hù)的方法?!N基于云端服務(wù)器的軟件保護(hù)的方法,受保護(hù)軟件所在的客戶(hù)端通過(guò)網(wǎng)絡(luò)與云端服務(wù)器通信,所述受保護(hù)軟件中的至少一部分應(yīng)用功能設(shè)置在云端服務(wù)器中,所述云端服務(wù)器包括
調(diào)度模塊,用于根據(jù)客戶(hù)端發(fā)出的調(diào)用請(qǐng)求,判斷是否允許調(diào)用相應(yīng)的應(yīng)用功能;
應(yīng)用功能執(zhí)行模塊,用于創(chuàng)建用于所述應(yīng)用功能的運(yùn)行時(shí)環(huán)境、加載應(yīng)用數(shù)據(jù)和用戶(hù)數(shù)據(jù),并執(zhí)行應(yīng)用功能;
用戶(hù)數(shù)據(jù)存儲(chǔ)模塊,用于存儲(chǔ)用戶(hù)數(shù)據(jù);
應(yīng)用數(shù)據(jù)存儲(chǔ)模塊,用于存儲(chǔ)應(yīng)用數(shù)據(jù);
所述方法包括如下步驟所述云端服務(wù)器中的調(diào)度模塊接收到受保護(hù)軟件發(fā)出的調(diào)用所述云端服務(wù)器中的應(yīng)用功能的請(qǐng)求后,判斷用戶(hù)是否合法并且判斷受保護(hù)軟件是否合法;如果二者都合法,則向應(yīng)用功能執(zhí)行模塊發(fā)出執(zhí)行通知,通知應(yīng)用功能執(zhí)行模塊執(zhí)行相應(yīng)的應(yīng)用功能;
應(yīng)用功能執(zhí)行模塊接收到調(diào)度模塊的執(zhí)行通知,加載相應(yīng)的應(yīng)用數(shù)據(jù)和用戶(hù)數(shù)據(jù)并創(chuàng)建運(yùn)行時(shí)環(huán)境;
執(zhí)行該應(yīng)用功能;
將執(zhí)行該應(yīng)用功能的處理結(jié)果返回給調(diào)度模塊;
調(diào)度模塊接收到應(yīng)用功能執(zhí)行模塊返回的處理結(jié)果之后,將處理結(jié)果返回給受保護(hù)軟件。根據(jù)本發(fā)明的一個(gè)方面,先判斷用戶(hù)是否是已在云端服務(wù)器中注冊(cè)過(guò)的合法用 戶(hù);
如果是注冊(cè)過(guò)的合法用戶(hù),則判斷受保護(hù)軟件是否已在云端服務(wù)器中注冊(cè)過(guò);
如果受保護(hù)軟件已在云端服務(wù)器中注冊(cè)過(guò),則判斷用戶(hù)是否是所述受保護(hù)軟件的合法用戶(hù)。根據(jù)本發(fā)明的一個(gè)方面,應(yīng)用功能執(zhí)行模塊在接收到調(diào)度模塊的執(zhí)行通知之后進(jìn)行的操作包括
創(chuàng)建應(yīng)用功能模塊的運(yùn)行時(shí)環(huán)境;
判斷是否需要加載應(yīng)用數(shù)據(jù),如果需要加載,則加載應(yīng)用數(shù)據(jù);
判斷是否需要加載用戶(hù)數(shù)據(jù),如果需要加載,則加載用戶(hù)數(shù)據(jù);
執(zhí)行應(yīng)用功能,將執(zhí)行該應(yīng)用功能的處理結(jié)果返回給調(diào)度模塊;
判斷是否需要保存用戶(hù)數(shù)據(jù),如果需要,則保存用戶(hù)數(shù)據(jù);
銷(xiāo)毀運(yùn)行時(shí)環(huán)境。該方法是讓?xiě)?yīng)用程序經(jīng)過(guò)網(wǎng)絡(luò)調(diào)用云端服務(wù)器提供應(yīng)用功能,然后將云端服務(wù)器所處理的結(jié)果給應(yīng)用程序,實(shí)現(xiàn)多個(gè)應(yīng)用程序、多個(gè)用戶(hù)共享一個(gè)軟件保護(hù)云的技術(shù)方案,因而在沒(méi)有降低軟件保護(hù)強(qiáng)度的前提下,降低軟件保護(hù)的成本。
圖I :整體結(jié)構(gòu)示意圖。圖2 :判斷用戶(hù)和應(yīng)用合法性的流程圖。圖3 :應(yīng)用功能執(zhí)行模塊流程圖。圖4 :實(shí)施例I結(jié)構(gòu)示意圖。
具體實(shí)施例方式上述的應(yīng)用功能包括云端服務(wù)器預(yù)定義的功能,如數(shù)據(jù)存儲(chǔ),物品購(gòu)買(mǎi)等,也可以是應(yīng)用程序定義的特殊功能。如應(yīng)用程序開(kāi)發(fā)者提供的模塊。如圖I所示,云端服務(wù)器至少包括調(diào)度模塊、應(yīng)用功能執(zhí)行模塊、用戶(hù)數(shù)據(jù)存儲(chǔ)模塊、應(yīng)用數(shù)據(jù)存儲(chǔ)模塊。調(diào)度模塊,用于調(diào)度應(yīng)用功能的執(zhí)行。調(diào)度模塊根據(jù)用戶(hù)端發(fā)出的調(diào)用請(qǐng)求,確定發(fā)出請(qǐng)求的應(yīng)用程序和該應(yīng)用程序的用戶(hù)是否合法。如果合法,則允許調(diào)用相應(yīng)的應(yīng)用功能。否則返回錯(cuò)誤。其中,根據(jù)應(yīng)用程序ID及用戶(hù)ID或用戶(hù)名稱(chēng)信息來(lái)確認(rèn)合法,具體流程為用戶(hù)端發(fā)出調(diào)用請(qǐng)求,同時(shí)會(huì)發(fā)送應(yīng)用程序信息例如應(yīng)用程序ID、應(yīng)用程序功能ID及用戶(hù)ID、Name信息,調(diào)度模塊根據(jù)這些信息在數(shù)據(jù)庫(kù)中檢索是否有對(duì)應(yīng)的應(yīng)用程序ID及使用該應(yīng)用程序的用戶(hù)列表中是否有該用戶(hù)ID,如果均有則表示為合法。應(yīng)用功能執(zhí)行模塊,用于創(chuàng)建應(yīng)用功能的運(yùn)行時(shí)環(huán)境(運(yùn)行時(shí)環(huán)境指運(yùn)行移植的功能所需要的配置環(huán)境或軟件,比如相關(guān)的工具包之類(lèi))、加載應(yīng)用數(shù)據(jù)和用戶(hù)數(shù)據(jù),并執(zhí)行應(yīng)用模塊(參見(jiàn)圖I中的多項(xiàng)應(yīng)用功能)。上述的創(chuàng)建應(yīng)用功能運(yùn)行時(shí)環(huán)境包含為應(yīng)用程序映射需要的資源。所謂映射關(guān)系就是不同應(yīng)用與應(yīng)用資源關(guān)系的匹配,將某個(gè)應(yīng)用與該應(yīng)用下的所有資源信息通過(guò)特定方式進(jìn)行關(guān)聯(lián)。所謂資源指該應(yīng)用程序所需要的相關(guān)信息,包括場(chǎng)景等。為應(yīng)用程序映射需要的資源即提供一種機(jī)制,比如變量或其他的很多設(shè)置,只要設(shè)置好這些變量與后臺(tái)資源的對(duì)應(yīng)關(guān)系,前端用戶(hù)就可以只調(diào)用該變量而不用關(guān)心該變量具體與后臺(tái)資源是如何對(duì)應(yīng)的,或與后臺(tái)資源的具體關(guān)系或相關(guān)運(yùn)算或存儲(chǔ)規(guī)則等,從而為用戶(hù)提供了很大的便利性。根據(jù)本發(fā)明的一個(gè)具體實(shí)施方式
,資源可包括游戲類(lèi)應(yīng)用程序中計(jì)數(shù)值,或其他數(shù)據(jù)資源。應(yīng)用功能執(zhí)行模塊通過(guò)運(yùn)行時(shí)環(huán)境限制應(yīng)用功能對(duì)資源的占用。例如限制或者允許(比如,如果沒(méi)給該用戶(hù)映射某些資源,則該用戶(hù)就無(wú)法使用該資源功能)應(yīng)用功能訪(fǎng)問(wèn)其他應(yīng)用功能的數(shù)據(jù)。用戶(hù)數(shù)據(jù)存儲(chǔ)模塊,用于存儲(chǔ)用戶(hù)數(shù)據(jù)。用戶(hù)數(shù)據(jù)是指用戶(hù)在使用某個(gè)應(yīng)用程序時(shí),該應(yīng)用程序調(diào)用了云端服務(wù)器的應(yīng)用功能而產(chǎn)生的對(duì)應(yīng)于用戶(hù)的某個(gè)應(yīng)用程序私有的數(shù)據(jù)。如應(yīng)用程序通過(guò)應(yīng)用功能保存在云端服務(wù)器的數(shù)據(jù)。應(yīng)用數(shù)據(jù)存儲(chǔ)模塊,用于存儲(chǔ)應(yīng)用數(shù)據(jù)。應(yīng)用數(shù)據(jù)是某個(gè)應(yīng)用程序需要用到的并由該應(yīng)用程序的所有用戶(hù)共享的數(shù)據(jù),如游戲類(lèi)應(yīng)用程序中的場(chǎng)景數(shù)據(jù)。根據(jù)本發(fā)明的一個(gè)具體實(shí)施方式
,場(chǎng)景數(shù)據(jù)指應(yīng)用程序需要用到的相關(guān)靜態(tài)數(shù)據(jù),包括但不限于場(chǎng)景、地圖數(shù)據(jù)、背景音樂(lè)、圖片及其他靜態(tài)數(shù)據(jù)等。云端服務(wù)器的具體工作流程如下
A :調(diào)度模塊接收到客戶(hù)端向云端服務(wù)器發(fā)送的應(yīng)用功能的調(diào)用請(qǐng)求后,判斷用戶(hù)和應(yīng)用程序是否合法。如果不合法,返回錯(cuò)誤;如果合法,則向應(yīng)用功能執(zhí)行模塊發(fā)出執(zhí)行通知,通知應(yīng)用功能執(zhí)行模塊執(zhí)行相應(yīng)的應(yīng)用功能。B :應(yīng)用功能執(zhí)行模塊接收到調(diào)度模塊的執(zhí)行通知,首先加載相應(yīng)的應(yīng)用數(shù)據(jù)。然后加載相應(yīng)的用戶(hù)數(shù)據(jù)。創(chuàng)建運(yùn)行時(shí)環(huán)境。然后執(zhí)行該應(yīng)用功能。最后返回執(zhí)行結(jié)果給調(diào)度模塊。C :調(diào)度模塊返回結(jié)果給應(yīng)用程序。上述調(diào)度模塊判斷判斷用戶(hù)和應(yīng)用程序是否合法的流程如圖2所示
Al :判斷用戶(hù)是否是系統(tǒng)的合法用戶(hù)。如果不是返回不合法。如果是執(zhí)行步驟A2。根據(jù)本發(fā)明的一個(gè)具體實(shí)施方式
,通過(guò)用戶(hù)名和密碼的形式進(jìn)行判斷。
A2 :判斷應(yīng)用程序是否是在系統(tǒng)內(nèi)注冊(cè)過(guò)的應(yīng)用程序。根據(jù)本發(fā)明的一個(gè)具體實(shí)施方式
,應(yīng)用程序事先都需要注冊(cè)應(yīng)用相關(guān)信息,比如應(yīng)用ID、應(yīng)用名稱(chēng)等;注冊(cè)信息保存在云端服務(wù)器。如果不是,則返回不合法。如果是,則執(zhí)行步驟A3。A3:判斷用戶(hù)是否是該應(yīng)用程序的合法用戶(hù)。根據(jù)本發(fā)明的一個(gè)具體實(shí)施方式
,用戶(hù)事先都需要注冊(cè);注冊(cè)信息比如為用戶(hù)ID、或用戶(hù)名稱(chēng),其與應(yīng)用程序ID或應(yīng)用程序名稱(chēng)對(duì)應(yīng),存儲(chǔ)在云端服務(wù)器,以表示該用戶(hù)為該應(yīng)用程序的合法用戶(hù)。如果不是,則返回不合法。如果是,則返回合法。 上述應(yīng)用功能執(zhí)行模塊流程圖如圖3所示
BI :創(chuàng)建應(yīng)用功能模塊的運(yùn)行時(shí)環(huán)境。B2 :判斷是否需要加載應(yīng)用數(shù)據(jù),如果不需要轉(zhuǎn)入B4。B3:加載應(yīng)用數(shù)據(jù)。B4 :判斷是否需要加載用戶(hù)數(shù)據(jù),如果不需要轉(zhuǎn)入B6。
B5:加載用戶(hù)數(shù)據(jù)。B6 :運(yùn)行應(yīng)用功能。B7 :判斷是否需要保存用戶(hù)數(shù)據(jù),如不需要轉(zhuǎn)入B9。B8:保存用戶(hù)數(shù)據(jù)。B9 :銷(xiāo)毀運(yùn)行時(shí)環(huán)境。為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。實(shí)施例I
本實(shí)施例中,云端服務(wù)器的原有的調(diào)度模塊被拆分程三個(gè)模塊,分別是云端服務(wù)器門(mén)戶(hù)模塊、用戶(hù)身份認(rèn)證模塊和調(diào)度模塊。云端服務(wù)器門(mén)戶(hù)模塊,用于提供對(duì)應(yīng)用程序的服務(wù)接口。服務(wù)接口指負(fù)責(zé)前端設(shè)備與云端服務(wù)器交互的相關(guān)方法接口,能通過(guò)服務(wù)接口根據(jù)應(yīng)用程序請(qǐng)求向云端服務(wù)器請(qǐng)求數(shù)據(jù),云端服務(wù)器返回結(jié)果給服務(wù)接口,服務(wù)接口返回?cái)?shù)據(jù)給客戶(hù)端。用戶(hù)身份認(rèn)證服務(wù)模塊,用于認(rèn)證用戶(hù)的身份。根據(jù)本發(fā)明的一個(gè)具體實(shí)施方式
,采用多種認(rèn)證方式進(jìn)行認(rèn)證,比如簽名、證書(shū)等。調(diào)度模塊,用于驗(yàn)證應(yīng)用的合法性和應(yīng)用程序用戶(hù)的合法性。本實(shí)施案例中,用戶(hù)在使用受本系統(tǒng)保護(hù)的應(yīng)用程序之前需要登錄到云端服務(wù)器。如果是非法用戶(hù)就無(wú)法登錄到云端服務(wù)器,也就無(wú)法使用本系統(tǒng),也就無(wú)法使用應(yīng)用程序。因此后續(xù)的調(diào)度模塊無(wú)需在驗(yàn)證用戶(hù)是否是合法的系統(tǒng)用戶(hù)。本實(shí)施例的用戶(hù)登錄云端服務(wù)器的流程如下
云端服務(wù)器門(mén)戶(hù)收到用戶(hù)發(fā)出的登錄請(qǐng)求(登錄請(qǐng)求中包括用戶(hù)登錄數(shù)據(jù),比如用戶(hù)ID、用戶(hù)密碼等),把用戶(hù)登錄數(shù)據(jù)發(fā)送到用戶(hù)身份認(rèn)證服務(wù)模塊。用戶(hù)身份認(rèn)證服務(wù)模塊認(rèn)證用戶(hù)的身份,并向云端服務(wù)器返回認(rèn)證結(jié)果。如果認(rèn)證通過(guò)則認(rèn)為用戶(hù)合法,否則不合法,則不允許任何后續(xù)的調(diào)用。當(dāng)云端服務(wù)器門(mén)戶(hù)收到應(yīng)用程序的調(diào)用請(qǐng)求時(shí),首先確定用戶(hù)是否已經(jīng)登錄,如果未登錄則返回錯(cuò)誤。如果已經(jīng)登錄就把調(diào)用請(qǐng)求中的數(shù)據(jù),比如應(yīng)用ID、用戶(hù)ID,發(fā)送給調(diào)度模塊。調(diào)度模塊接收到調(diào)用請(qǐng)求中的數(shù)據(jù)后,先驗(yàn)證應(yīng)用程序是否是在本系統(tǒng)中注冊(cè)的合法應(yīng)用。根據(jù)本發(fā)明的一個(gè)具體實(shí)施方式
,應(yīng)用程序事先都會(huì)先在云端服務(wù)器中注冊(cè),比如包括應(yīng)用ID、應(yīng)用名稱(chēng),而且注冊(cè)列表保存在服務(wù)器,驗(yàn)證時(shí)將調(diào)用請(qǐng)求中的應(yīng)用ID與此注冊(cè)列表中的應(yīng)用ID進(jìn)行對(duì)比,如果注冊(cè)列表中有對(duì)應(yīng)的應(yīng)用ID,則表示為合法應(yīng)用。如果不是則返回錯(cuò)誤,然后確定用戶(hù)是否是該應(yīng)用程序的合法用戶(hù)。如果不是,則返回錯(cuò)誤,如果是,則向應(yīng)用功能執(zhí)行模塊發(fā)出調(diào)用通知,通知應(yīng)用功能執(zhí)行模塊執(zhí)行對(duì)應(yīng)的應(yīng)用功能。應(yīng)用功能執(zhí)行模塊接收到調(diào)度模塊的調(diào)用通知,首先檢查是否需要加載相應(yīng)的應(yīng)用數(shù)據(jù)。如果需要,加載相應(yīng)的應(yīng)用數(shù)據(jù)。然后檢查是否需要加載相應(yīng)的用戶(hù)數(shù)據(jù)。如果需要加載相應(yīng)的用戶(hù)數(shù)據(jù),則創(chuàng)建運(yùn)行時(shí)環(huán)境。然后執(zhí)行該應(yīng)用功能。檢查是否保存用戶(hù)數(shù)據(jù),如果需要保存用戶(hù)數(shù)據(jù),則保存用戶(hù)數(shù)據(jù),最后返回執(zhí)行結(jié)果給調(diào)度模塊。調(diào)度模塊返回結(jié)果給云端服務(wù)器門(mén)戶(hù)模塊。云端服務(wù)器門(mén)戶(hù)模塊返回結(jié)果給應(yīng)用程序。實(shí)施例2
假定本實(shí)施例中的應(yīng)用程序?yàn)镚PS導(dǎo)航應(yīng)用(以下統(tǒng)稱(chēng)為GPS),根據(jù)本發(fā)明的一個(gè)實(shí)施例,已將GPS中的藍(lán)牙、倒車(chē)后視、行駛記錄、監(jiān)控保全功能放置在云端服務(wù)器。在本實(shí)施例中,將上述功能中的一部分功能上傳到云端服務(wù)器。而應(yīng)用程序信息會(huì)在云端服務(wù)器保存,假設(shè)保存在表APPInfo中。云端服務(wù)器會(huì)保存系統(tǒng)用戶(hù)信息以供身份認(rèn)證模塊認(rèn)證是否為合法用戶(hù),假定該信息都保存在表UserInfo中。通過(guò)付費(fèi)或其他形式下載使用應(yīng)用程序的用戶(hù)及對(duì)應(yīng)的應(yīng)用程序信息也會(huì)保存在云端服務(wù)器,假設(shè)保存在表User-APP中。當(dāng)用戶(hù)A向云端服務(wù)器發(fā)送調(diào)用請(qǐng)求時(shí),例如要使用行駛記錄功能,云端服務(wù)器調(diào)度模塊會(huì)根據(jù)請(qǐng)求中的用戶(hù)名/密碼信息到UserInfo中進(jìn)行對(duì)比,以判斷用戶(hù)A是否為系統(tǒng)合法用戶(hù),如果UserInfo中存儲(chǔ)的用戶(hù)信息與請(qǐng)求中的信息一致,則表示為合法用戶(hù)。否則拒絕調(diào)用。然后調(diào)度模塊會(huì)根據(jù)請(qǐng)求中的應(yīng)用信息到APPInfo表中檢測(cè)是否為合法的應(yīng)用,如果APPInfo中存在該應(yīng)用,則表示為合法應(yīng)用。否則拒絕調(diào)用。然后調(diào)度模塊會(huì)檢查該用戶(hù)是否為該應(yīng)用的合法用戶(hù),具體步驟為根據(jù)請(qǐng)求中的用戶(hù)及應(yīng)用信息去User-APP中查找是否有對(duì)應(yīng)記錄,如果是合法用戶(hù),調(diào)度模塊會(huì)向應(yīng)用程序執(zhí)行模塊發(fā)送調(diào)用通知。否則拒絕調(diào)用。應(yīng)用程序執(zhí)行模塊根據(jù)調(diào)用通知中的應(yīng)用信息來(lái)檢查是否需要加載對(duì)應(yīng)的應(yīng)用數(shù)據(jù)及用戶(hù)數(shù)據(jù),如果需要?jiǎng)t加載,之后創(chuàng)建應(yīng)用程序運(yùn)行所對(duì)應(yīng)的運(yùn)行時(shí)環(huán)境,執(zhí)行行駛記錄功能,將該用戶(hù)對(duì)應(yīng)的行駛記錄信息發(fā)送給調(diào)度模塊,調(diào)度模塊將結(jié)果發(fā)送給客戶(hù)端的GPS程序,GPS在客戶(hù)端顯示行駛記錄的具體信息。實(shí)施例3
根據(jù)本發(fā)明的一個(gè)實(shí)施例,應(yīng)用程序?yàn)橐环NPDF應(yīng)用程序P,能在移動(dòng)設(shè)備上創(chuàng)建、顯示、編輯、標(biāo)記、打印PDF格式的文檔,假定已將PDF程序中的編輯、標(biāo)記功能存儲(chǔ)在云端服務(wù)器中,假定本PDF程序是需收費(fèi)下載使用的,因此付費(fèi)下載本應(yīng)用程序的用戶(hù)即為本TOF應(yīng)用程序的合法用戶(hù)。像PDF這種在云端服務(wù)器上傳部分功能的應(yīng)用會(huì)在云端服務(wù)器標(biāo)記為合法應(yīng)用,云端服務(wù)器會(huì)通過(guò)文件或數(shù)據(jù)庫(kù)表或其他標(biāo)識(shí)來(lái)確定應(yīng)用及用戶(hù)是否合法。根據(jù)本發(fā)明的一個(gè)具體實(shí)施方式
,假定本是實(shí)例中云端服務(wù)器是通過(guò)數(shù)據(jù)庫(kù)表來(lái)存儲(chǔ)相應(yīng)的合法應(yīng)用信息、合法應(yīng)用-用戶(hù)對(duì)應(yīng)信息及合法登錄用戶(hù)信息。根據(jù)本發(fā)明的實(shí)施例,用戶(hù)A要使用PDF應(yīng)用程序P中的編輯功能,則需先向云端服務(wù)器發(fā)送登錄請(qǐng)求,請(qǐng)求中包括用戶(hù)ID、用戶(hù)密碼等,云端服務(wù)器接收到請(qǐng)求后,將請(qǐng)求數(shù)據(jù)發(fā)送到用戶(hù)身份認(rèn)證服務(wù)模塊,根據(jù)本發(fā)明的一個(gè)具體實(shí)施方式
,假設(shè)本市實(shí)例中的用戶(hù)身份認(rèn)證模塊認(rèn)證方式是通過(guò)用戶(hù)名/用戶(hù)密碼方式認(rèn)證。用戶(hù)身份認(rèn)證模塊通過(guò)請(qǐng)求中的用戶(hù)名密碼信息區(qū)合法登錄用戶(hù)信息表中校驗(yàn),如果有此用戶(hù),則表示為合法用戶(hù),可以使用PDF應(yīng)用程序,如果沒(méi)有,則認(rèn)證不通過(guò),用戶(hù)A無(wú)法登錄,也就無(wú)法使用應(yīng)用程序。用戶(hù)A合法登錄后,在使用應(yīng)用程序P中的編輯功能時(shí),向云端服務(wù)器發(fā)送調(diào)用請(qǐng)
求,云端服務(wù)器門(mén)戶(hù)模塊判斷用戶(hù)是否登錄,如果已登錄則把調(diào)用請(qǐng)求中的數(shù)據(jù)發(fā)送給調(diào)度模塊,調(diào)度模塊會(huì)根據(jù)調(diào)用請(qǐng)求中的應(yīng)用信息在合法應(yīng)用表中檢查該應(yīng)用是否為合法應(yīng)用,如果合法,則在合法應(yīng)用-用戶(hù)表中檢測(cè)該用戶(hù)是否為合法用戶(hù)。如果是合法用戶(hù),則向應(yīng)用功能執(zhí)行模塊發(fā)出調(diào)用通知,應(yīng)用功能執(zhí)行模塊,調(diào)用通知中會(huì)包含應(yīng)用信息(應(yīng)用ID、應(yīng)用功能ID等),應(yīng)用功能執(zhí)行模塊根據(jù)調(diào)用通知中的信息以判斷是否需要加載對(duì)應(yīng)的應(yīng)用數(shù)據(jù)及用戶(hù)數(shù)據(jù)。如需要,則加載,然后創(chuàng)建運(yùn)行時(shí)環(huán)境執(zhí)行相應(yīng)的編輯功能。應(yīng)用程序執(zhí)行模塊檢查是否保存用戶(hù)數(shù)據(jù),如果需要?jiǎng)t保存數(shù)據(jù),最后返回執(zhí)行結(jié)果給調(diào)度模塊,調(diào)度模塊將結(jié)果返回給云端服務(wù)器門(mén)戶(hù)模塊,云端服務(wù)器門(mén)戶(hù)模塊返回結(jié)果給應(yīng)用程序P。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換以及改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于云端服務(wù)器的軟件保護(hù)的方法,受保護(hù)軟件所在的客戶(hù)端通過(guò)網(wǎng)絡(luò)與云端服務(wù)器通信,所述受保護(hù)軟件中的至少一部分應(yīng)用功能設(shè)置在云端服務(wù)器中,其特征在于,所述云端服務(wù)器包括 調(diào)度模塊,用于根據(jù)客戶(hù)端發(fā)出的調(diào)用請(qǐng)求,判斷是否允許調(diào)用相應(yīng)的應(yīng)用功能; 應(yīng)用功能執(zhí)行模塊,用于創(chuàng)建用于所述應(yīng)用功能的運(yùn)行時(shí)環(huán)境、加載應(yīng)用數(shù)據(jù)和用戶(hù)數(shù)據(jù),并執(zhí)行應(yīng)用功能; 用戶(hù)數(shù)據(jù)存儲(chǔ)模塊,用于存儲(chǔ)用戶(hù)數(shù)據(jù); 應(yīng)用數(shù)據(jù)存儲(chǔ)模塊,用于存儲(chǔ)應(yīng)用數(shù)據(jù); 所述方法包括如下步驟 所述云端服務(wù)器中的調(diào)度模塊接收到受保護(hù)軟件發(fā)出的調(diào)用所述云端服務(wù)器中的應(yīng) 用功能的請(qǐng)求后,判斷用戶(hù)是否合法并且判斷受保護(hù)軟件是否合法; 如果二者都合法,則向應(yīng)用功能執(zhí)行模塊發(fā)出執(zhí)行通知,通知應(yīng)用功能執(zhí)行模塊執(zhí)行相應(yīng)的應(yīng)用功能; 應(yīng)用功能執(zhí)行模塊接收到調(diào)度模塊的執(zhí)行通知,加載相應(yīng)的應(yīng)用數(shù)據(jù)和用戶(hù)數(shù)據(jù)并創(chuàng)建運(yùn)行時(shí)環(huán)境; 執(zhí)行該應(yīng)用功能; 將執(zhí)行該應(yīng)用功能的處理結(jié)果返回給調(diào)度模塊; 調(diào)度模塊接收到應(yīng)用功能執(zhí)行模塊返回的處理結(jié)果之后,將處理結(jié)果返回給受保護(hù)軟件。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于, 先判斷用戶(hù)是否是已在云端服務(wù)器中注冊(cè)過(guò)的合法用戶(hù); 如果是注冊(cè)過(guò)的合法用戶(hù),則判斷受保護(hù)軟件是否已在云端服務(wù)器中注冊(cè)過(guò); 如果受保護(hù)軟件已在云端服務(wù)器中注冊(cè)過(guò),則判斷用戶(hù)是否是所述受保護(hù)軟件的合法用戶(hù)。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,應(yīng)用功能執(zhí)行模塊在接收到調(diào)度模塊的執(zhí)行通知之后進(jìn)行的操作包括 創(chuàng)建應(yīng)用功能模塊的運(yùn)行時(shí)環(huán)境; 判斷是否需要加載應(yīng)用數(shù)據(jù),如果需要加載,則加載應(yīng)用數(shù)據(jù); 判斷是否需要加載用戶(hù)數(shù)據(jù),如果需要加載,則加載用戶(hù)數(shù)據(jù); 執(zhí)行應(yīng)用功能,將執(zhí)行該應(yīng)用功能的處理結(jié)果返回給調(diào)度模塊; 判斷是否需要保存用戶(hù)數(shù)據(jù),如果需要,則保存用戶(hù)數(shù)據(jù); 銷(xiāo)毀運(yùn)行時(shí)環(huán)境。
4.根據(jù)權(quán)利要求1-3所述的方法,其特征在于,根據(jù)應(yīng)用程序ID、用戶(hù)ID或用戶(hù)名稱(chēng)信息來(lái)確認(rèn)合法。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,云端服務(wù)器中注冊(cè)并保存所述用戶(hù)ID、用戶(hù)名稱(chēng)信息、應(yīng)用程序ID。
全文摘要
本發(fā)明公開(kāi)了一種基于云的軟件保護(hù)的方法,通過(guò)在云端服務(wù)器建立一套應(yīng)用功能調(diào)用體系,實(shí)現(xiàn)低成本的軟件保護(hù)的方法,該方法包括應(yīng)用功能的調(diào)度、應(yīng)用功能執(zhí)行、應(yīng)用數(shù)據(jù)存儲(chǔ)和用戶(hù)數(shù)據(jù)存儲(chǔ)。該方法是讓?xiě)?yīng)用程序經(jīng)過(guò)網(wǎng)絡(luò)調(diào)用云端服務(wù)器提供應(yīng)用功能,然后將云端服務(wù)器所處理的結(jié)果給應(yīng)用程序,實(shí)現(xiàn)多個(gè)應(yīng)用程序、多個(gè)用戶(hù)共享一個(gè)軟件保護(hù)云的技術(shù)方案,因而在沒(méi)有降低軟件保護(hù)強(qiáng)度的前提下,降低軟件保護(hù)的成本。
文檔編號(hào)H04L29/08GK102685122SQ201210136600
公開(kāi)日2012年9月19日 申請(qǐng)日期2012年5月6日 優(yōu)先權(quán)日2012年5月6日
發(fā)明者不公告發(fā)明人 申請(qǐng)人:北京深思洛克軟件技術(shù)股份有限公司