本發(fā)明涉及移動(dòng)終端安全技術(shù)領(lǐng)域,尤其是一種剪切板訪問控制方法及系統(tǒng)。
背景技術(shù):
隨著移動(dòng)智能技術(shù)與智能終端設(shè)備的快速發(fā)展與廣泛應(yīng)用,其功能也呈現(xiàn)出越來越多樣化的趨勢(shì),移動(dòng)應(yīng)用與服務(wù)也日益豐富。android系統(tǒng)是目前最為流行的智能終端平臺(tái),僅googleplay即提供了數(shù)量超過100萬的android應(yīng)用程序。智能終端的廣泛應(yīng)用與移動(dòng)應(yīng)用的日益豐富,為其進(jìn)入移動(dòng)辦公領(lǐng)域提供了可能。自帶設(shè)備辦公(byod,bringyourowndevice)由于具有工作靈活、效率提升以及成本節(jié)約等優(yōu)勢(shì),已成為研究的熱點(diǎn)與未來企業(yè)發(fā)展的趨勢(shì)。
然而,也正是由于android應(yīng)用的廣泛應(yīng)用,給byod技術(shù)帶來了便利,但其同時(shí)也帶來了嚴(yán)峻的安全挑戰(zhàn),即企業(yè)員工的自有移動(dòng)終端不可避免地會(huì)運(yùn)行在外部網(wǎng)絡(luò)環(huán)境中,容易遭受惡意攻擊,導(dǎo)致敏感信息的泄漏。在所有針對(duì)android系統(tǒng)的惡意攻擊中,針對(duì)android剪切板的攻擊則利用了android系統(tǒng)剪切板本身存在的安全缺陷。而在byod應(yīng)用中,android剪切板存在的漏洞則會(huì)導(dǎo)致更大的安全隱患。
在現(xiàn)有的剪切板訪問控制機(jī)制中,剪切板具有全局可訪問性,也是說所用的應(yīng)用對(duì)剪切板進(jìn)行訪問時(shí)是無需權(quán)限的,甚至還允許應(yīng)用通過注冊(cè)監(jiān)聽器來監(jiān)視剪切數(shù)據(jù)的內(nèi)容變化。當(dāng)系統(tǒng)中存在非合法應(yīng)用程序時(shí),該非法應(yīng) 用程序可能會(huì)對(duì)剪切板的數(shù)據(jù)監(jiān)控獲取,甚至進(jìn)行惡意篡改,因此,在byod環(huán)境下,用戶的隱私信息與企業(yè)的機(jī)密信息均有可能通過剪切板操作導(dǎo)致信息泄漏。
因此,為了保證使用剪切板服務(wù),特別是在byod環(huán)境下使用剪切板服務(wù)時(shí),免受惡意攻擊以及合法用戶的非授權(quán)訪問,有必要提供一種剪切板訪問控制方法,來增強(qiáng)android剪切板的安全性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的主要技術(shù)問題是,提供一種剪切板訪問控制方法及系統(tǒng),以解決現(xiàn)有技術(shù)中非法應(yīng)用程序在對(duì)系統(tǒng)剪切板數(shù)據(jù)監(jiān)聽時(shí)所導(dǎo)致剪切數(shù)據(jù)泄漏的技術(shù)問題。
為解決上述技術(shù)問題,本發(fā)明提供一種剪切板訪問控制方法,包括:
為合法應(yīng)用程序設(shè)置私有剪切板;
為所述私有剪切板設(shè)置安全剪切板服務(wù);
獲取所述合法應(yīng)用程序的私有剪切數(shù)據(jù);
將所述私有剪切數(shù)據(jù)存入所述私有剪切板中;
接收請(qǐng)求方應(yīng)用程序發(fā)送的數(shù)據(jù)獲取請(qǐng)求;
通過所述安全剪切板服務(wù)對(duì)所述數(shù)據(jù)獲取請(qǐng)求進(jìn)行安全鑒權(quán);
若鑒權(quán)通過,則提取所述數(shù)據(jù)獲取請(qǐng)求所請(qǐng)求的私有剪切數(shù)據(jù)發(fā)送給所述請(qǐng)求方應(yīng)用程序。
在本發(fā)明的另一實(shí)施例中,在將所述私有剪切數(shù)據(jù)存入所述私有剪切板之后,接收請(qǐng)求方應(yīng)用程序發(fā)送的數(shù)據(jù)獲取請(qǐng)求之前,還包括:接收所述合法應(yīng)用程序發(fā)送的數(shù)據(jù)緩存請(qǐng)求;通過所述安全剪切板服務(wù)對(duì)所述數(shù)據(jù)緩存請(qǐng)求進(jìn)行安全鑒權(quán);若鑒權(quán)通過,則從合法應(yīng)用程序的私有剪切板中提取所述私有剪切數(shù)據(jù)發(fā)送至所述安全剪切板服務(wù)上進(jìn)行緩存。
在本發(fā)明的另一實(shí)施例中,在提取所述私有剪切數(shù)據(jù)發(fā)送至所述安全剪切板服務(wù)上進(jìn)行緩存之后還包括:接收請(qǐng)求方應(yīng)用程序發(fā)送的數(shù)據(jù)獲取請(qǐng)求,從所述安全剪切板服務(wù)中提取所述數(shù)據(jù)獲取請(qǐng)求所請(qǐng)求的私有剪切數(shù)據(jù)發(fā)送給所述請(qǐng)求方應(yīng)用程序。
在本發(fā)明的另一實(shí)施例中,在將所述剪切數(shù)據(jù)發(fā)送給所述安全剪切板之前,還包括:根據(jù)預(yù)設(shè)的加密規(guī)則對(duì)所述剪切數(shù)據(jù)進(jìn)行加密處理;
接收到請(qǐng)求方應(yīng)用程序的數(shù)據(jù)獲取請(qǐng)求之后,所述請(qǐng)求方應(yīng)用程序根據(jù)預(yù)設(shè)的加密規(guī)則對(duì)獲取到的密文數(shù)據(jù)進(jìn)行解密處理。
在本發(fā)明的另一實(shí)施例中,所述為合法應(yīng)用程序設(shè)置私有剪切板具體包括:為每個(gè)合法應(yīng)用程序設(shè)置一個(gè)私有剪切板;
所述將所述私有剪切數(shù)據(jù)存入所述私有剪切板中具體包括:將所述剪切數(shù)據(jù)存入每個(gè)合法應(yīng)用程序自身的私有剪切板中。
在本發(fā)明的另一實(shí)施例中,所述方法還包括:對(duì)所述私有剪切數(shù)據(jù)進(jìn)行接收監(jiān)聽,以獲取來自于所述合法應(yīng)用程序或安全剪切板服務(wù)的私有剪切板數(shù)據(jù)發(fā)送通知。
為了解決上述技術(shù)問題,本發(fā)明還提供了一種剪切板訪問控制系統(tǒng),包括:
私有剪切板設(shè)置模塊,用于為合法應(yīng)用程序設(shè)置私有剪切板,
安全剪切板服務(wù)設(shè)置模塊,用于為所述私有剪切板設(shè)置安全剪切板服務(wù);
數(shù)據(jù)獲取模塊,用于獲取所述合法應(yīng)用程序的私有剪切數(shù)據(jù);
存儲(chǔ)模塊,用于將所述私有剪切數(shù)據(jù)存入所述私有剪切板中;
接收模塊,用于接收請(qǐng)求方應(yīng)用程序發(fā)送的數(shù)據(jù)獲取請(qǐng)求;
鑒權(quán)模塊,用于對(duì)所述數(shù)據(jù)獲取請(qǐng)求進(jìn)行安全鑒權(quán);
發(fā)送模塊,用于在所述檢測(cè)模塊鑒權(quán)通過后,提取所述數(shù)據(jù)獲取請(qǐng)求所請(qǐng)求的私有剪切數(shù)據(jù)發(fā)送給所述請(qǐng)求方應(yīng)用程序。
在本發(fā)明的另一實(shí)施例中,在所述存儲(chǔ)模塊將所述私有剪切數(shù)據(jù)存入所述私有剪切板之后,還包括:所述接收模塊接收所述合法應(yīng)用程序發(fā)送的數(shù) 據(jù)緩存請(qǐng)求;所述鑒權(quán)模塊對(duì)所述數(shù)據(jù)緩存請(qǐng)求進(jìn)行安全鑒權(quán);若鑒權(quán)通過,則所述發(fā)送模塊從所述合法應(yīng)用程序的私有剪切板中提取所述私有剪切數(shù)據(jù)發(fā)送至所述安全剪切板服務(wù)上進(jìn)行緩存。
在本發(fā)明的另一實(shí)施例中,所述接收模塊包括接收子模塊,所述發(fā)送模塊包括發(fā)送子模塊,所述接收子模塊用于在提取所述私有剪切數(shù)據(jù)發(fā)送至所述安全剪切板服務(wù)上進(jìn)行緩存之后,接收請(qǐng)求方應(yīng)用程序發(fā)送的數(shù)據(jù)獲取請(qǐng)求,所述發(fā)送子模塊從所述安全剪切板服務(wù)中提取所述數(shù)據(jù)獲取請(qǐng)求所請(qǐng)求的私有剪切數(shù)據(jù)發(fā)送給所述請(qǐng)求方應(yīng)用程序。
在本發(fā)明的另一實(shí)施例中,所述系統(tǒng)還包括:加密模塊,用于根據(jù)預(yù)設(shè)的加密規(guī)則對(duì)所述剪切數(shù)據(jù)進(jìn)行加密處理;
解密模塊,用于在所述接收模塊接收到請(qǐng)求方應(yīng)用程序的數(shù)據(jù)獲取請(qǐng)求之后,所述請(qǐng)求方應(yīng)用程序根據(jù)預(yù)設(shè)的加密規(guī)則對(duì)獲取到的密文數(shù)據(jù)進(jìn)行解密處理。
在本發(fā)明的另一實(shí)施例中,所述私有剪切板設(shè)置模塊為合法應(yīng)用程序設(shè)置私有剪切板具體包括:所述私有剪切板設(shè)置模塊為每個(gè)合法應(yīng)用程序設(shè)置一個(gè)私有剪切板;
所述存儲(chǔ)模塊將所述私有剪切數(shù)據(jù)存入所述私有剪切板中具體包括:將所述剪切數(shù)據(jù)存入每個(gè)合法應(yīng)用程序自身的私有剪切板中。
在本發(fā)明的另一實(shí)施例中,所述系統(tǒng)還包括:監(jiān)聽模塊,用于對(duì)所述私有剪切數(shù)據(jù)進(jìn)行接收監(jiān)聽,以獲取來自于所述合法應(yīng)用程序或安全剪切板服務(wù)的私有剪切板數(shù)據(jù)發(fā)送通知。
本發(fā)明的有益效果是:
本發(fā)明提供了一種剪切板訪問控制方法及系統(tǒng),通過為合法應(yīng)用程序設(shè)置私有剪切板,以及設(shè)置安全剪切板服務(wù),獲取所述合法應(yīng)用程序的私有剪切數(shù)據(jù),并存入所述私有剪切板中,從而有效地阻斷了非法應(yīng)用程序在監(jiān)聽 系統(tǒng)剪切板的同時(shí)也會(huì)對(duì)合法應(yīng)用程序交互的私有剪切數(shù)據(jù)進(jìn)行監(jiān)聽;進(jìn)一步的,當(dāng)私有剪切數(shù)據(jù)需要在合法應(yīng)用程序之間進(jìn)行交互時(shí),合法應(yīng)用程序?qū)⑺接屑羟邪鍞?shù)據(jù)加密后存儲(chǔ)到安全剪切板服務(wù)中,請(qǐng)求方應(yīng)用程序需要向安全剪切板服務(wù)發(fā)送數(shù)據(jù)獲取請(qǐng)求,安全剪切板對(duì)所述數(shù)據(jù)獲取請(qǐng)求進(jìn)行安全鑒權(quán),若鑒權(quán)通過,則提取所述數(shù)據(jù)獲取請(qǐng)求所請(qǐng)求的私有剪切數(shù)據(jù),并發(fā)送給所述請(qǐng)求方應(yīng)用程序。因此,通過對(duì)本發(fā)明提供的方法的實(shí)施,即使非法應(yīng)用程序能夠監(jiān)聽系統(tǒng)剪切板甚至能夠監(jiān)聽到所述合法應(yīng)用程序之間的私有剪切數(shù)據(jù),也無法直接獲取到所述私有剪切數(shù)據(jù)明文數(shù)據(jù),從而進(jìn)一步的保證了私有剪切數(shù)據(jù)的安全性,達(dá)到了將所述剪切板的數(shù)據(jù)隔離與訪問控制的目的,同時(shí)也提高了用戶的體驗(yàn)效果。
附圖說明
圖1為非法應(yīng)用程序針對(duì)剪切板上的私有剪切數(shù)據(jù)的竊取和篡改攻擊的流程圖;
圖2為本發(fā)明實(shí)施例一提供的一種剪切板訪問控制方法的流程圖;
圖3為本發(fā)明實(shí)施例二提供的另一種剪切板訪問控制方法的流程圖;
圖4為本發(fā)明實(shí)施例三提供的一種剪切板訪問控制系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面通過具體實(shí)施方式結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
本發(fā)明的主要構(gòu)思在于:由于在現(xiàn)有的剪切板訪問控制機(jī)制中,非法應(yīng)用程序可以通過向android系統(tǒng)注冊(cè)系統(tǒng)剪切板數(shù)據(jù)變更監(jiān)聽器來監(jiān)視剪切板上數(shù)據(jù)的變化,從而獲得私有剪切數(shù)據(jù),導(dǎo)致針對(duì)私有剪切數(shù)據(jù)的竊取 和篡改攻擊。因而,本發(fā)明提供的剪切板訪問控制方法,主要是通過設(shè)置私有剪切板,安全剪切板服務(wù)和對(duì)請(qǐng)求應(yīng)用程序獲取數(shù)據(jù)時(shí)進(jìn)行訪問權(quán)限的檢查,從而實(shí)現(xiàn)截?cái)喾欠☉?yīng)用程序?qū)τ诤戏☉?yīng)用程序的所使用的剪切板的監(jiān)聽,使得這類應(yīng)用程序無法監(jiān)視合法應(yīng)用程序的私有剪切數(shù)據(jù)的變化,進(jìn)而阻斷對(duì)于私有剪切數(shù)據(jù)的竊取和篡改攻擊。
本發(fā)明提供了一種剪切板訪問控制方法,包括:為合法應(yīng)用程序設(shè)置私有剪切板,以及為所述私有剪切板設(shè)置安全剪切板服務(wù),獲取所述合法應(yīng)用程序的私有剪切數(shù)據(jù),并將所述私有剪切數(shù)據(jù)存入所述私有剪切板中;當(dāng)所述合法應(yīng)用程序需要進(jìn)行私有剪切數(shù)據(jù)的交互時(shí),首先接收請(qǐng)求方應(yīng)用程序向安全剪切板數(shù)據(jù)發(fā)送的數(shù)據(jù)獲取請(qǐng)求,安全剪切板服務(wù)對(duì)所述數(shù)據(jù)獲取請(qǐng)求進(jìn)行安全鑒權(quán),若鑒權(quán)通過,則將所述私有剪切數(shù)據(jù)發(fā)送給所述請(qǐng)求方應(yīng)用程序。值得注意的是:本發(fā)明提供的合法應(yīng)用程序指的是,插裝有本發(fā)明提供的私有剪切板,安全鑒權(quán)的這類應(yīng)用,而沒有插裝到的則為非法應(yīng)用程序;所述安全剪切板服務(wù)用于檢查應(yīng)用程序訪問剪切板數(shù)據(jù)的訪問權(quán)限,以及緩存私有剪切數(shù)據(jù)。
實(shí)施例一:
請(qǐng)參考圖1,非法應(yīng)用程序針對(duì)剪切板上的私有剪切數(shù)據(jù)的竊取和篡改攻擊的流程圖,其步驟具體包括如下:
s111,非法應(yīng)用程序102通過調(diào)用操作組件103(如,activity組件)中的get方法獲取clipboardmanager(剪切板管理器)對(duì)象106,以實(shí)現(xiàn)對(duì)剪切板的操作;
s112,非法應(yīng)用程序102創(chuàng)建實(shí)現(xiàn)onprimaryclipchangedlistener(剪切板監(jiān)聽器)接口105的對(duì)象,并重寫剪切板中的私有剪切數(shù)據(jù)變更通知方 法;
s113,非法應(yīng)用程序102將s112創(chuàng)建的對(duì)象加入剪切板監(jiān)聽器列表106,從而,當(dāng)剪切板的私有剪切數(shù)據(jù)發(fā)生變化時(shí),該對(duì)象的更改通知將會(huì)被調(diào)用;
s114,合法應(yīng)用程序101使用剪切板進(jìn)行讀寫操作,首先須調(diào)用activity組件103中的get方法獲取clipboardmanager對(duì)象106;
s115,合法應(yīng)用程序101創(chuàng)建clipdata(私有剪切數(shù)據(jù))對(duì)象104,并將待寫入剪切板的私有剪切數(shù)據(jù)賦值給該clipdata對(duì)象104,其中,clipdata對(duì)象104為私有剪切數(shù)據(jù)存取的基本單元;
s116,合法應(yīng)用程序101調(diào)用clipboardmanager對(duì)象106的set方法將s115創(chuàng)建的clipdata對(duì)象104寫入剪切板;
s117,當(dāng)私有剪切數(shù)據(jù)發(fā)生變更時(shí),系統(tǒng)回調(diào)監(jiān)聽器106中注冊(cè)的對(duì)象105的相應(yīng)方法;
步驟118:對(duì)象105調(diào)用clipboardmanager對(duì)象106的get方法獲取系統(tǒng)剪切板中當(dāng)前存儲(chǔ)的私有剪切數(shù)據(jù);
s119,clipboardmanager對(duì)象106將私有剪切數(shù)據(jù)發(fā)送給非法應(yīng)用程序102,從而非法應(yīng)用程序可以獲取當(dāng)前剪切板存儲(chǔ)的私有剪切數(shù)據(jù),完成數(shù)據(jù)竊取攻擊;
s120,進(jìn)一步,非法應(yīng)用程序102可以對(duì)獲得的私有剪切數(shù)據(jù)進(jìn)行篡改,即是寫入用于實(shí)施攻擊的代碼命令、腳本等數(shù)據(jù);
s121,非法應(yīng)用程序102調(diào)用clipboardmanager對(duì)象106的set方法將篡改后的數(shù)據(jù)重新寫系統(tǒng)剪切板中,完成數(shù)據(jù)篡改攻擊,進(jìn)而可以利用篡改后的私有剪切數(shù)據(jù)實(shí)施代碼注入等攻擊。
需要說明的是,圖1中的系統(tǒng)剪切板是沒有任何的權(quán)限限制的開放性的 剪切板,該剪切板暫時(shí)保存各個(gè)合法應(yīng)用程序通過復(fù)制或剪切操作得到的數(shù)據(jù),并且將其提供給相同的或者不相同的應(yīng)用程序使用,由于非法應(yīng)用程序也能夠在該系統(tǒng)剪切板上注冊(cè)clipboardmanager對(duì)象來監(jiān)聽私有剪切數(shù)據(jù)的變化,并且是不需要任何權(quán)限就可以訪問的,所以各應(yīng)用程序在該剪切板上存儲(chǔ)的數(shù)據(jù)可以有未授權(quán)的其他應(yīng)用程序獲取得到,因此,當(dāng)通過byod環(huán)境訪問時(shí)就會(huì)造成數(shù)據(jù)被泄露的風(fēng)險(xiǎn)。針對(duì)于上述問題,本實(shí)施例提供了一種剪切板訪問控制方法,如圖2所示。
請(qǐng)參考圖2,為本實(shí)施例提供的剪切板訪問控制方法流程圖,其具體控制步驟如下:
s201,為合法應(yīng)用程序設(shè)置私有剪切板;
s202,為所述私有剪切板設(shè)置安全剪切板服務(wù);
s203,獲取所述合法應(yīng)用程序的私有剪切數(shù)據(jù);
s204,將所述私有剪切數(shù)據(jù)存入所述私有剪切板中;
s205,接收請(qǐng)求方應(yīng)用程序發(fā)送的數(shù)據(jù)獲取請(qǐng)求;
s206,通過所述安全剪切板服務(wù)對(duì)所述數(shù)據(jù)獲取請(qǐng)求進(jìn)行安全鑒權(quán);
s207,若鑒權(quán)通過,則提取所述數(shù)據(jù)獲取請(qǐng)求所請(qǐng)求的私有剪切數(shù)據(jù)發(fā)送給所述請(qǐng)求方應(yīng)用程序。
在本實(shí)施例中,為所述合法應(yīng)用設(shè)置私有剪切板,將通過剪切或復(fù)制得到的數(shù)據(jù)轉(zhuǎn)移到所述私有剪切板中,不僅保證數(shù)據(jù)的復(fù)制/粘貼功能的使用,還確保了私有剪切數(shù)據(jù)的安全,不會(huì)被非法應(yīng)用程序監(jiān)聽竊取。值得注意的是,在本實(shí)施例中,可以通過應(yīng)用程序接口和手工操作可視化控件兩種方式來實(shí)現(xiàn)對(duì)私有剪切板和系統(tǒng)剪切板的調(diào)用,但這兩種方式最終均是通過clipboardmanager對(duì)象來操作剪切板,故將android應(yīng)用中指向clipboard manager對(duì)象的指針重定向到私有剪切板對(duì)象,可有效截?cái)喾欠☉?yīng)用對(duì)于剪切板的監(jiān)聽。
在本實(shí)施中,優(yōu)選的,在為所述合法應(yīng)用程序設(shè)置私有剪切板時(shí),具體的可以為每個(gè)合法應(yīng)用程序均設(shè)置一個(gè)私有剪切板,每個(gè)合法應(yīng)用程序獲取到剪切數(shù)據(jù)私有剪切數(shù)據(jù)后,獨(dú)自地將所述剪切數(shù)據(jù)私有剪切數(shù)據(jù)存儲(chǔ)到合法應(yīng)用程序自身的私有剪切板中;值得注意的是,所述私有剪切板的實(shí)現(xiàn)為進(jìn)程私有空間的內(nèi)存區(qū),只限于當(dāng)前進(jìn)程訪問,一個(gè)進(jìn)程無法訪問其他的進(jìn)程的私有剪切板,從而實(shí)現(xiàn)應(yīng)用自身的剪切板存取功能,或者是通過硬件的設(shè)置特征的內(nèi)存區(qū)域,從而實(shí)現(xiàn)剪切板的私有化。
進(jìn)一步的,在步驟s202中,為所述私有剪切板設(shè)置安全剪切板服務(wù),所述安全剪切板服務(wù)用于對(duì)所述接收到的數(shù)據(jù)獲取請(qǐng)求進(jìn)行安全鑒權(quán),還可以用于在合法應(yīng)用程序之間的數(shù)據(jù)交互時(shí)暫存需要在不同應(yīng)用之間交互的私有剪切數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的安全保護(hù),其具體首先通過所述安全剪切板服務(wù)接收所述合法應(yīng)用程序發(fā)送的數(shù)據(jù)獲取請(qǐng)求,然后對(duì)所述數(shù)據(jù)獲取請(qǐng)求進(jìn)行安全鑒權(quán)處理;若數(shù)據(jù)獲取請(qǐng)求鑒權(quán)通過,則將所述數(shù)據(jù)獲取請(qǐng)求所請(qǐng)求的私有剪切數(shù)據(jù),并發(fā)送給所述請(qǐng)求方應(yīng)用程序。
在本實(shí)施例中,在步驟s204之后,在步驟s205之前,所述方法還包括:接收所述合法應(yīng)用程序發(fā)送的數(shù)據(jù)緩存請(qǐng)求;通過所述安全剪切板服務(wù)對(duì)所述數(shù)據(jù)緩存請(qǐng)求進(jìn)行安全鑒權(quán);若鑒權(quán)通過,則從所述合法應(yīng)用程序的私有剪切板中提取所述私有剪切數(shù)據(jù)發(fā)送至所述安全剪切板服務(wù)上進(jìn)行緩存。
在本實(shí)施例中,所提供的剪切板訪問控制方法還包括根據(jù)預(yù)設(shè)的加密規(guī)則對(duì)所述私有剪切數(shù)據(jù)進(jìn)行加密處理,也即是說,在將所述私有剪切數(shù)據(jù)發(fā) 送出去之前需要進(jìn)行加密,防止數(shù)據(jù)被非法應(yīng)用程序監(jiān)聽到竊取,優(yōu)選的,可以根據(jù)提供的基于密碼分組鏈接模式的sm4對(duì)稱加密算法對(duì)所述私有剪切數(shù)據(jù)進(jìn)行加密,其中其密鑰由安全策略所定義的用戶組導(dǎo)出。然后在將經(jīng)過上述加密算法加密所述得到的密文數(shù)據(jù)發(fā)送給請(qǐng)求方應(yīng)用程序,請(qǐng)求方應(yīng)用程序接收到密文數(shù)據(jù)后,根據(jù)其加密密鑰是對(duì)其進(jìn)行解決處理,就可以得到私有剪切數(shù)據(jù)明文。
在本實(shí)施例中,在發(fā)送密文數(shù)據(jù)時(shí),具體可以通過廣播的形式將密文數(shù)據(jù)廣播給所述合法應(yīng)用程序,并且還在所述安全剪切板服務(wù)以及合法應(yīng)用程序上設(shè)置接收私有剪切數(shù)據(jù)的監(jiān)聽操作過程,對(duì)安全剪切板服務(wù)或合法應(yīng)用程序接收數(shù)據(jù)進(jìn)行監(jiān)聽。
在本實(shí)施例提供的剪切板訪問控制方法中,當(dāng)在不同合法應(yīng)用程序之間使用剪切板傳遞數(shù)據(jù)時(shí),系統(tǒng)回調(diào)當(dāng)前activity的onpause方法,暫停當(dāng)前應(yīng)用程序的activity,使之轉(zhuǎn)換為非激活狀態(tài),此時(shí),當(dāng)前合法應(yīng)用程序調(diào)用預(yù)設(shè)的加密規(guī)則對(duì)私有剪切數(shù)據(jù)進(jìn)行加密,并將密文數(shù)據(jù)通過廣播方式發(fā)送至所述安全剪切板服務(wù)。
在本實(shí)施例提供的剪切板訪問控制方法中,合法應(yīng)用程序向所述安全剪切板發(fā)送的廣播中,包含了私有剪切數(shù)據(jù)密文和應(yīng)用所屬組的信息。
在本實(shí)施例提供的剪切板訪問控制方法中,當(dāng)私有剪切數(shù)據(jù)請(qǐng)求方應(yīng)用程序的activity轉(zhuǎn)換為激活狀態(tài)時(shí),其activity的onresume方法被系統(tǒng)回調(diào),此時(shí),請(qǐng)求方應(yīng)用程序向所述安全剪切板服務(wù)發(fā)送私有剪切數(shù)據(jù)請(qǐng)求廣播。
在本實(shí)施例所提供的剪切板訪問控制方法中,還包括:對(duì)發(fā)送至所述安全剪切板服務(wù)上進(jìn)行緩存的私有剪切數(shù)據(jù)進(jìn)行接收監(jiān)聽,以獲取來自于合法 應(yīng)用程序的私有剪切數(shù)據(jù)的緩存通知,同時(shí),在合法應(yīng)用程序上也設(shè)置私有剪切數(shù)據(jù)的接收監(jiān)聽,以接收來自于安全剪切板服務(wù)的私有剪切數(shù)據(jù)發(fā)送通知。
實(shí)施例二:
圖3為本實(shí)施例提供的另一種剪切板訪問控制方法,在本實(shí)施例中,所述方法是以android系統(tǒng)為例,對(duì)本實(shí)施例提供的剪切板訪問控制方法作進(jìn)一步的說明,其具體步驟如下:
s311,在安全剪切板服務(wù)309上注冊(cè)廣播監(jiān)聽器,處理來自合法應(yīng)用程序的發(fā)送私有剪切數(shù)據(jù)的請(qǐng)求廣播;
s312,非法應(yīng)用程序302通過調(diào)用activity組件303中的get方法獲取clipboardmanager對(duì)象306,以實(shí)現(xiàn)對(duì)系統(tǒng)剪切板的操作;
s313,非法應(yīng)用程序302創(chuàng)建實(shí)現(xiàn)onprimaryclipchangedlistener接口305的對(duì)象,并重寫系統(tǒng)剪切板中的剪切數(shù)據(jù)變更通知方法;
s314,非法應(yīng)用程序302將步驟s313創(chuàng)建的對(duì)象加入系統(tǒng)剪切板監(jiān)聽器列表306,從而,當(dāng)剪切數(shù)據(jù)發(fā)生變化時(shí),該對(duì)象的更改通知將會(huì)被調(diào)用;
s315,在合法應(yīng)用程序301上注冊(cè)廣播監(jiān)聽器,從而可以接收來自安全剪切板服務(wù)309的廣播消息,該廣播消息包括數(shù)據(jù)緩存請(qǐng)求和私有剪切數(shù)據(jù)的密文數(shù)據(jù);
s316,合法應(yīng)用程序301使用私有剪切板進(jìn)行讀寫操作,首先須調(diào)用activity組件303中的get方法獲取clipboardmanager對(duì)象306;
s317,合法應(yīng)用程序301創(chuàng)建clipdata對(duì)象304,并將待寫入私有剪切板的私有剪切數(shù)據(jù)賦值給該對(duì)象304,其中,clipdata對(duì)象304為私有剪切數(shù)據(jù)存取的基本單元;
s318,合法應(yīng)用程序301將指向clipboardmanager對(duì)象306的指針重定向到私有剪切板對(duì)象307;
s319,合法應(yīng)用程序301調(diào)用私有剪切板對(duì)象307的set方法將步驟s317創(chuàng)建的clipdata對(duì)象304寫入私有剪切板中;
s320,正常情況下,當(dāng)在合法應(yīng)用程序301內(nèi)部需要使用剪切板讀取數(shù)據(jù)時(shí),合法應(yīng)用程序301調(diào)用私有剪切板對(duì)象307的get方法獲取私有剪切板中當(dāng)前存儲(chǔ)的私有剪切數(shù)據(jù);
s321,當(dāng)android系統(tǒng)中的合法應(yīng)用程序進(jìn)行切換時(shí),即,需要在不同合法應(yīng)用程序之間使用剪切板傳遞數(shù)據(jù)時(shí),系統(tǒng)回調(diào)當(dāng)前activity組件303的onpause方法,暫停當(dāng)前應(yīng)用程序的activity,使之轉(zhuǎn)換為非激活狀態(tài);
s322,當(dāng)前合法應(yīng)用程序301調(diào)用加密規(guī)則308的加密方法對(duì)當(dāng)前私有剪切板中的私有剪切數(shù)據(jù)進(jìn)行加密處理,生成密文數(shù)據(jù);
s323,當(dāng)前合法應(yīng)用程序301向安全剪切板服務(wù)309發(fā)送廣播報(bào)文,廣播報(bào)文中含有步驟s322生成的密文數(shù)據(jù)以及當(dāng)前合法應(yīng)用程序的組信息和特征信息;
s324,安全剪切板服務(wù)309接收步驟s323發(fā)送的報(bào)文并在本地存儲(chǔ)私有剪切數(shù)據(jù)的密文數(shù)據(jù);
s325,當(dāng)私有剪切數(shù)據(jù)請(qǐng)求方應(yīng)用程序301激活時(shí),請(qǐng)求方應(yīng)用程序的activity轉(zhuǎn)換為激活狀態(tài)時(shí),其activity組件303的onresume方法被系統(tǒng)回調(diào);
s326,請(qǐng)求方應(yīng)用程序301向安全剪切板服務(wù)309發(fā)送私有剪切數(shù)據(jù)請(qǐng)求廣播,廣播報(bào)文中含有獲取私有剪切數(shù)據(jù)密文的請(qǐng)求以及步驟s323中包含的組信息和特征信息;
s327,安全剪切板服務(wù)309對(duì)步驟s326中的請(qǐng)求進(jìn)行權(quán)限檢查,決定是否允許發(fā)送包含被請(qǐng)求數(shù)據(jù)密文的私有剪切數(shù)據(jù)密文數(shù)據(jù);
s328,若允許,則安全剪切板服務(wù)309將當(dāng)前存儲(chǔ)的密文數(shù)據(jù)以廣播密文形式向請(qǐng)求方應(yīng)用程序301進(jìn)行發(fā)送;
s329,請(qǐng)求方應(yīng)用程序301調(diào)用加密規(guī)則308的解密方法對(duì)私有剪切數(shù)據(jù)密文數(shù)據(jù)進(jìn)行解密處理,恢復(fù)私有剪切數(shù)據(jù)明文;
s330,加密規(guī)則308將恢復(fù)的私有剪切數(shù)據(jù)明文發(fā)送至請(qǐng)求方應(yīng)用程序301;
s331,請(qǐng)求方應(yīng)用程序301將私有剪切數(shù)據(jù)明文寫入到自身的私有剪切板307,從而完成跨應(yīng)用程序的私有剪切數(shù)據(jù)數(shù)據(jù)獲取。
值得注意的是,在本實(shí)施例中,在每個(gè)合法應(yīng)用程序中均設(shè)置有私有剪切板和加/解密規(guī)則,安全剪切服務(wù)可以合法應(yīng)用程序共用的一個(gè)系統(tǒng)服務(wù),任何合法應(yīng)用程序均具有訪問權(quán)限。
在本實(shí)施例中,所述安全剪切板服務(wù)也可以是設(shè)置于每個(gè)合法應(yīng)用程序中,也即是每個(gè)合法應(yīng)用程序均設(shè)置有自己獨(dú)立的安全剪切板服務(wù),當(dāng)需要進(jìn)行私有剪切數(shù)據(jù)交互時(shí),則每個(gè)合法應(yīng)用程序先將需要發(fā)送的私有剪切數(shù)據(jù)進(jìn)行加密,然后發(fā)送至合法應(yīng)用程序自身的安全剪切板服務(wù)上,最后通過廣播的形式將所述加密后的密文數(shù)據(jù)廣播給需要的合法應(yīng)用程序;進(jìn)一步的,在發(fā)送廣播密文數(shù)據(jù)之前,還需要接收來自請(qǐng)求方應(yīng)用程序的數(shù)據(jù)獲取請(qǐng)求,并進(jìn)行安全鑒權(quán),若通過,則將對(duì)應(yīng)的密文數(shù)據(jù)廣播給請(qǐng)求方應(yīng)用程序。
實(shí)施例三:
圖4為本實(shí)施例提供的剪切板訪問控制系統(tǒng)40,在本實(shí)施中國,所述剪切板訪問控制系統(tǒng)包括:
私有剪切板設(shè)置模塊401,用于為合法應(yīng)用程序設(shè)置私有剪切板;優(yōu)選的,在設(shè)置私有剪切板時(shí),具體可以為每個(gè)合法應(yīng)用程序設(shè)置一個(gè)私有剪切板供合法應(yīng)用程序存儲(chǔ)自身的私有剪切數(shù)據(jù)。
安全剪切板服務(wù)設(shè)置模塊402,用于為所述私有剪切板設(shè)置安全剪切板服務(wù);
數(shù)據(jù)獲取模塊403,用于獲取所述合法應(yīng)用程序的私有剪切數(shù)據(jù);
存儲(chǔ)模塊404,用于將所述私有剪切數(shù)據(jù)存入所述私有剪切板中;當(dāng)每個(gè)合法應(yīng)用程序都設(shè)置自己獨(dú)立的私有剪切板時(shí),所述存儲(chǔ)模塊404具體為將合法應(yīng)用程序自身的私有剪切數(shù)據(jù)存儲(chǔ)于自身對(duì)應(yīng)的私有剪切板上。
接收模塊405,用于接收請(qǐng)求方應(yīng)用程序發(fā)送的數(shù)據(jù)獲取請(qǐng)求;
鑒權(quán)模塊406,用于對(duì)所述數(shù)據(jù)獲取請(qǐng)求進(jìn)行安全鑒權(quán);
發(fā)送模塊407,用于在所述檢測(cè)模塊鑒權(quán)通過后,提取所述數(shù)據(jù)獲取請(qǐng)求所請(qǐng)求的私有剪切數(shù)據(jù),并發(fā)送給所述請(qǐng)求方應(yīng)用程序。
在本實(shí)施例中,通過設(shè)置私有剪切板進(jìn)行對(duì)私有剪切數(shù)據(jù)的存儲(chǔ),實(shí)現(xiàn)了對(duì)數(shù)據(jù)存儲(chǔ)的隔離,保證了非法應(yīng)用程序在對(duì)系統(tǒng)剪切板進(jìn)行數(shù)據(jù)監(jiān)聽時(shí),會(huì)獲取到私有剪切數(shù)據(jù),甚至對(duì)數(shù)據(jù)進(jìn)行竊取篡改。
在本實(shí)施例中,所述接收模塊405包括接收子模塊,所述發(fā)送模塊407包括發(fā)送子模塊,所述接收子模塊用于在所述存儲(chǔ)模塊404將所述私有剪切數(shù)據(jù)存入所述私有剪切板之后,在所述接收模塊405接收請(qǐng)求方應(yīng)用程序發(fā)送的數(shù)據(jù)獲取請(qǐng)求之前,接收所述合法應(yīng)用程序發(fā)送的數(shù)據(jù)發(fā)送請(qǐng)求數(shù)據(jù)緩存請(qǐng)求;所述鑒權(quán)模塊406對(duì)所述數(shù)據(jù)發(fā)送請(qǐng)求數(shù)據(jù)緩存請(qǐng)求進(jìn)行安全鑒權(quán);若鑒權(quán)通過,則所述發(fā)送子模塊從所述私有剪切板中提取所述私有剪切數(shù)據(jù)發(fā)送至所述安全剪切板服務(wù)上進(jìn)行緩存。
在本實(shí)施例中,所述剪切板訪問控制系統(tǒng)40還包括:
加密模塊408,用于根據(jù)預(yù)設(shè)的加密規(guī)則對(duì)所述私有剪切數(shù)據(jù)進(jìn)行加密處理;所述發(fā)送模塊407將通過加密處理所得到的密文數(shù)據(jù)發(fā)送給所述請(qǐng)求方應(yīng)用程序;
解密模塊409,用于在所述接收模塊405接收到請(qǐng)求方應(yīng)用程序的數(shù)據(jù)獲取請(qǐng)求之后,所述請(qǐng)求方應(yīng)用程序根據(jù)預(yù)設(shè)的加密規(guī)則對(duì)所述密文數(shù)據(jù)進(jìn)行解密處理。
在本實(shí)施例中,所述剪切板訪問控制系統(tǒng)40還包括:監(jiān)聽模塊410,所述監(jiān)聽模塊410,用于在設(shè)置模塊401為所述合法應(yīng)用程序設(shè)置安全剪切板服務(wù)之后,對(duì)所述私有剪切數(shù)據(jù)進(jìn)行接收監(jiān)聽,以獲取來自于安全剪切板服務(wù)或私有剪切板上的私有剪切板數(shù)據(jù)發(fā)送通知。
綜上可知,通過本發(fā)明的實(shí)施,至少存在以下有益效果:
本發(fā)明提供了一種剪切板訪問控制方法及系統(tǒng),所述方法包括先為合法應(yīng)用設(shè)置私有剪切板,以及設(shè)置安全剪切板服務(wù),然后獲取所述合法應(yīng)用程序的私有剪切數(shù)據(jù),并存儲(chǔ)在所述私有剪切板中,當(dāng)有其他應(yīng)用需要獲取該私有剪切數(shù)據(jù)時(shí),需要通過發(fā)送數(shù)據(jù)獲取請(qǐng)求,并且進(jìn)行權(quán)限檢查,若通過了,才能進(jìn)行數(shù)據(jù)的訪問獲取,這樣使得本發(fā)明提供的方法能夠有效地截?cái)喾欠☉?yīng)用程序?qū)λ接屑羟袛?shù)據(jù)的監(jiān)聽,避免了私有剪切數(shù)據(jù)被竊取的危險(xiǎn)情況,解決了用戶在byod環(huán)境下對(duì)剪切板進(jìn)行數(shù)據(jù)訪問時(shí),存在數(shù)據(jù)泄露的安全隱患,同時(shí)增強(qiáng)了用戶在byod環(huán)境使用應(yīng)用程序的體驗(yàn)。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在 多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)介質(zhì)(rom/ram、磁碟、光盤)中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。所以,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
以上內(nèi)容是結(jié)合具體的實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。