一種應(yīng)用的云備份方法及其系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體地涉及基于Java Card平臺實現(xiàn)Java Card應(yīng)用的云備份的方法及其系統(tǒng)。
[0002]
【背景技術(shù)】
[0003]隨著移動互聯(lián)網(wǎng)的不斷普及、發(fā)展,用戶對個人數(shù)據(jù)的儲存、迀移和管理的需求越來越強(qiáng)烈,用戶會需要將移動終端上的應(yīng)用中的數(shù)據(jù)備份到云服務(wù)器中并且之后再從云服務(wù)器中進(jìn)行數(shù)據(jù)的恢復(fù)。
[0004]另一方面,隨著移動支付突飛猛進(jìn),在日常生活中占據(jù)了非常重要的角色。例如,公交卡、銀行卡、儲值會員卡、優(yōu)惠券等都可以通過空中下載的方式安裝到帶有SE芯片和支持NFC技術(shù)的移動設(shè)備中。使得移動設(shè)備可以當(dāng)作各類普通卡片使用,極大的提升了用戶體驗和生活的便利。
[0005]在日常使用過程中,存在如下一些特殊情況:例如,消費者更換新的手機(jī),需要將正在使用的應(yīng)用數(shù)據(jù)例如:公交卡,會員卡等信息備份到云端,然后恢復(fù)到新的手機(jī)上;或者是把一個手機(jī)上開的卡,迀移到另一個手機(jī)上等等。這些雖然不是常態(tài)使用條件,但是也有一定的使用場景,同時也為用戶帶來了非常便利的體驗。然而,這些數(shù)據(jù)都是涉及到用戶資金的數(shù)據(jù),如果僅進(jìn)行普通的備份以及恢復(fù),可能會存在安全性的問題。這些安全性的問題包括:
(O實體認(rèn)證問題:需要保證只有合法的實體才能發(fā)起云備份;
(2)數(shù)據(jù)安全問題:需要保證數(shù)據(jù)在傳輸過程中的安全性和完整性;
(3)數(shù)據(jù)同步問題:需要保證數(shù)據(jù)的一致性、唯一性和原子性。
[0006]
【發(fā)明內(nèi)容】
[0007]鑒于上述問題,本發(fā)明旨在提供一種能夠保證數(shù)據(jù)安全性、完整性以及唯一性的應(yīng)用的云備份方法及其系統(tǒng)。
[0008]本發(fā)明的應(yīng)用的云備份方法是將應(yīng)用中的數(shù)據(jù)通過代理應(yīng)用備份到云服務(wù)器的方法,其特征在于,包括下述步驟:
預(yù)置步驟,在應(yīng)用和云服務(wù)器中分別預(yù)置認(rèn)證密鑰和加密密鑰;
合法認(rèn)證步驟,應(yīng)用通過代理應(yīng)用的轉(zhuǎn)接認(rèn)證云服務(wù)器的合法身份;
備份步驟,在認(rèn)證了云服務(wù)器合法身份的情況下,將應(yīng)用的數(shù)據(jù)備份在代理應(yīng)用之后,再將備份在代理應(yīng)用中的數(shù)據(jù)備份到云服務(wù)器;以及
恢復(fù)步驟,將備份在云服務(wù)器中數(shù)據(jù)通過代理應(yīng)用恢復(fù)到應(yīng)用中。
[0009]優(yōu)選地,所述應(yīng)用實現(xiàn)共享接口,所述應(yīng)用和所述代理應(yīng)用之間的數(shù)據(jù)交互通過所述共享接口實現(xiàn)。
[0010]優(yōu)選地,所述合法認(rèn)證步驟包括:
(1)用戶通過客戶端界面發(fā)起云備份請求發(fā)到云服務(wù)器,云服務(wù)器發(fā)起隨機(jī)數(shù)生成請求并通過代理應(yīng)用轉(zhuǎn)發(fā)到應(yīng)用;
(2)應(yīng)用根據(jù)所述隨機(jī)數(shù)生成請求產(chǎn)生隨機(jī)數(shù)并且將該隨機(jī)數(shù)通過代理應(yīng)用發(fā)送給云服務(wù)器;
(3)云服務(wù)器采用所述認(rèn)證密鑰對隨機(jī)數(shù)進(jìn)行加密并生成隨機(jī)數(shù)密文,將該隨機(jī)數(shù)密文通過代理應(yīng)用返回給應(yīng)用;
(4)應(yīng)用利用預(yù)置的認(rèn)證密鑰驗證該隨機(jī)數(shù)密文,在通過驗證的情況下判斷為云服務(wù)器合法。
[0011 ] 優(yōu)選地,所述備份步驟包括:
第一備份步驟,在認(rèn)證了云服務(wù)器合法的情況下,將應(yīng)用的數(shù)據(jù)利用所述加密密鑰進(jìn)行加密并將加密數(shù)據(jù)通過所述共享接口備份到代理應(yīng)用;以及
第二備份步驟,將備份在代理應(yīng)用中的加密數(shù)據(jù)把數(shù)據(jù)從代理應(yīng)用轉(zhuǎn)備份到云服務(wù)器。
[0012]優(yōu)選地,在所述第一備份步驟和所述第二備份步驟之間還具備:
使得完成第一備份步驟后的應(yīng)用失效的步驟。
[0013]優(yōu)選地,在所述第一備份步驟中,采用3DES加密方法對于數(shù)據(jù)進(jìn)行加密。
[0014]優(yōu)選地,在所述第二備份步驟之后,由云服務(wù)器發(fā)起命令刪除所述代理應(yīng)用的緩存數(shù)據(jù)。
[0015]優(yōu)選地,所述恢復(fù)步驟包括:
(1)在應(yīng)用端完成舊應(yīng)用的刪除,下載安裝新的應(yīng)用;
(2)使待恢復(fù)應(yīng)用失效;
(3)利用隨機(jī)數(shù)認(rèn)證云服務(wù)器的合法身份;
(4)在認(rèn)證合法身份后,將云服務(wù)器中備份的數(shù)據(jù)恢復(fù)到應(yīng)用中;
(5)在應(yīng)用中解密數(shù)據(jù)后恢復(fù)數(shù)據(jù);
(6)恢復(fù)成功后云服務(wù)器刪除已恢復(fù)的數(shù)據(jù),同時使待恢復(fù)應(yīng)用恢復(fù)正常使用狀態(tài)。
[0016]本發(fā)明的對應(yīng)用進(jìn)行云備份的系統(tǒng),其特征在于,具備:
一個或多個應(yīng)用,在所述應(yīng)用中預(yù)置有認(rèn)證密鑰和加密密鑰,并且實現(xiàn)備份共享接
P ;
云服務(wù)器,所述云服務(wù)器中預(yù)置有所述認(rèn)證密鑰和所述加密密鑰,所述云服務(wù)器用于備份所述應(yīng)用的數(shù)據(jù);
代理應(yīng)用,用于在所述應(yīng)用和云服務(wù)器之間進(jìn)行數(shù)據(jù)的轉(zhuǎn)接,并且用于緩存來自所述應(yīng)用及云服務(wù)器的數(shù)據(jù),
其中,所述應(yīng)用用于通過所述代理應(yīng)用的轉(zhuǎn)接來認(rèn)證所述云服務(wù)器的合法身份,在認(rèn)證了所述云服務(wù)器合法身份的情況下,所述代理應(yīng)用緩存所述應(yīng)用的數(shù)據(jù)并且將緩存的數(shù)據(jù)進(jìn)一步備份到所述云服務(wù)器。
[0017]優(yōu)選地,所述代理應(yīng)用在緩存所述應(yīng)用的數(shù)據(jù)之后使得所述應(yīng)用失效。
[0018]利用本發(fā)明的實現(xiàn)應(yīng)用的云備份的方法及其系統(tǒng),由于通過隨機(jī)數(shù)進(jìn)行實體認(rèn)證,因此,能夠保證只有合法的實體才能夠發(fā)起云備份,而且在數(shù)據(jù)的傳輸、備份中都利用加密密鑰對數(shù)據(jù)進(jìn)行加密,并計算HASH值,因此,能夠保證進(jìn)行備份的數(shù)據(jù)的安全性和完整性。而且,在進(jìn)行備份時或者是恢復(fù)數(shù)據(jù)時,停止原應(yīng)用或者新應(yīng)用的被調(diào)用,因此也能夠保證數(shù)據(jù)的一致性、唯一性和原子性。尤其是,對于涉及金融數(shù)據(jù)的應(yīng)用的數(shù)據(jù)備份,本發(fā)明能夠有效地保證金融數(shù)據(jù)的安全性、同步性和完整性。
[0019]
【附圖說明】
[0020]圖1是表示本發(fā)明的用于實現(xiàn)應(yīng)用的云備份系統(tǒng)的構(gòu)造框圖。
[0021]圖2是表示本發(fā)明的用于實現(xiàn)應(yīng)用的云備份的方法的主要步驟的流程圖。
[0022]圖3a、圖3b、圖3c中分別表示用于實現(xiàn)云備份方法中的共享接口部分定義、備份步驟S103、恢復(fù)步驟S104的一個實例的JAVA程序。
[0023]
【具體實施方式】
[0024]下面介紹的是本發(fā)明的多個實例中的一些,旨在提供對本發(fā)明的基本了解。并不旨在確認(rèn)本發(fā)明的關(guān)鍵或決定性的要素或限定所要保護(hù)的范圍。
[0025]JAVA CARD是JAVA技術(shù)的一個子集,專門用于智能卡的嵌入設(shè)備中,可以說JAVACARD是運(yùn)行JAVA程序的一種智能卡。JAVA CARD中的應(yīng)用叫applet(后文中稱為“應(yīng)用”)。JAVA CARD中各個應(yīng)用之間存在防火墻,不能相互訪問,例如,正常情況下,應(yīng)用A不能訪問應(yīng)用B。因此,在JAVA CARD中,不同應(yīng)用之間的數(shù)據(jù)的直接訪問是嚴(yán)格禁止的,由JAVACARD平臺的防火墻來實現(xiàn)這樣的邏輯隔離。
[0026]另一方面,在《JavaCard 3 Platform Runtime Environment Specificat1n,Classic Edit1n))Vers1n 3.0.4 中 6.2.4 節(jié)描述了 Shareable Interface (這里,我們稱為“共享接口”)這個特征。具體地主要是:共享接口是Java Card API的一個特征,用于實現(xiàn)應(yīng)用的交互。共享接口定義了一套共享的接口方法。該接口方法能夠從上下文調(diào)用,甚至在實現(xiàn)該接口方法的對象是屬于另一個上下文的應(yīng)用的情況下。在本標(biāo)準(zhǔn)中,作為實現(xiàn)該共享接口的類的對象實例,稱作為共享接口對象(S10)。對于本身的上下文,S1是其成員變量(field)和方法能夠被訪問的普通的對象。而對于另一上下文,S1是共享接口的實例并且只有在共享接口中被定義的方法才能被訪問。S1的所有其他成員變量以及方法被防火墻保護(hù)。
[0027]在本發(fā)明中,發(fā)明人就主要利用了 JAVA CARD中的上述共享接口來使得兩個應(yīng)用之間能夠進(jìn)行數(shù)據(jù)交互,例如,使得應(yīng)用A (相當(dāng)于后文中的應(yīng)用)和應(yīng)用B (相當(dāng)于后文中的應(yīng)用)之間能夠利用共享接口跨過防火墻進(jìn)行數(shù)據(jù)交互,由此來實現(xiàn)本發(fā)明的應(yīng)用的云備份方法及其系統(tǒng)。
[0028]下面,首先對于本發(fā)明的用于實現(xiàn)應(yīng)用的云備份系統(tǒng)進(jìn)行說明。
[0029]圖1是表示本發(fā)明的用于實現(xiàn)應(yīng)用的云備份系統(tǒng)的構(gòu)造框圖。
[0030]如圖1所示,本發(fā)明的用于實現(xiàn)應(yīng)用的云備份系統(tǒng)包括:多個應(yīng)用100、一個代理應(yīng)用200、以及云服務(wù)器300。
[0031]在本發(fā)明中,應(yīng)用100可以是一個,也可以是多個,作為應(yīng)用的實例,例如可以是公交應(yīng)用、銀行卡應(yīng)用、優(yōu)惠券應(yīng)用等等的各種應(yīng)用。在應(yīng)用100中預(yù)先設(shè)置有認(rèn)證密鑰和加密密鑰。應(yīng)用100在設(shè)計上能夠?qū)崿F(xiàn)上述的共享接口,共享接口的實現(xiàn)通常通過程序設(shè)計來實現(xiàn)。
[0032]云服務(wù)器300用于備份應(yīng)用100的數(shù)據(jù),在云服務(wù)器300中,與在應(yīng)用100預(yù)置的認(rèn)證密鑰和加密密鑰對應(yīng)地,也預(yù)置有認(rèn)證密鑰和加密密鑰。
[0033]在應(yīng)用100和云服務(wù)器300之間設(shè)置有代理應(yīng)用200,利用代理應(yīng)用200在應(yīng)用100和云服務(wù)器300之間能夠進(jìn)行數(shù)據(jù)的轉(zhuǎn)接。具體地,在應(yīng)用100中的數(shù)據(jù)通過其共享接口能夠跨過防火墻先緩存?zhèn)浞莸酱響?yīng)用200,然后代理應(yīng)用200再把緩存的數(shù)據(jù)備份到云服務(wù)器300中。也就是說,在這里代理應(yīng)用200相當(dāng)于一個中間轉(zhuǎn)接件,將卡內(nèi)的數(shù)據(jù)(應(yīng)用100中的數(shù)據(jù))轉(zhuǎn)接備份到卡外(即云服務(wù)器300)。代理應(yīng)用200對卡內(nèi)來說可以對應(yīng)于多個應(yīng)用100,對卡外來說,代理應(yīng)用200是多個應(yīng)用100對外的一個統(tǒng)一出口。
[0034]下面對于利用上述系統(tǒng)實現(xiàn)的應(yīng)用的云備份方法進(jìn)行說明。
[0035]圖2是表示本發(fā)明的用于實現(xiàn)應(yīng)用的云備份的方法的主要步驟的流程圖。
[0036]如圖2所示,該方法包括下述步驟:
預(yù)置步驟SlOl:在應(yīng)用100和云服務(wù)器300中分別預(yù)置認(rèn)證密鑰和加密密鑰;
合法認(rèn)證步驟S102:應(yīng)用100通過其具備的共享接口通過代理應(yīng)用200的轉(zhuǎn)接認(rèn)證云服務(wù)器300的合法身份;
備份步驟S103:在認(rèn)證了云服務(wù)器300合法身份的情況下,應(yīng)用100的數(shù)據(jù)通過其具備的共享接口備份在代理應(yīng)用200之后,再將備份在代理應(yīng)用200中的數(shù)據(jù)備份到云服務(wù)器300 ;以及