亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

權(quán)限請(qǐng)求響應(yīng)方法及相應(yīng)的裝置制造方法

文檔序號(hào):6636012閱讀:183來(lái)源:國(guó)知局
權(quán)限請(qǐng)求響應(yīng)方法及相應(yīng)的裝置制造方法
【專利摘要】本發(fā)明以Android應(yīng)用場(chǎng)景為例,公開(kāi)一種權(quán)限請(qǐng)求響應(yīng)方法,包括以下步驟:?jiǎn)?dòng)屬于系統(tǒng)級(jí)別的通信接口,通過(guò)該通信接口監(jiān)聽(tīng)外部權(quán)限請(qǐng)求;依據(jù)該權(quán)限請(qǐng)求獲得請(qǐng)求方的特征標(biāo)識(shí),在預(yù)置的認(rèn)證列表中檢索該特征標(biāo)識(shí)是否處于被允許的狀態(tài);當(dāng)該特征標(biāo)識(shí)為被允許狀態(tài)時(shí),為該權(quán)限請(qǐng)求向系統(tǒng)申請(qǐng)權(quán)限。借助本發(fā)明所實(shí)現(xiàn)的權(quán)限請(qǐng)求管理功能,具有通信快速高效、技術(shù)安全可靠的特點(diǎn)。
【專利說(shuō)明】權(quán)限請(qǐng)求響應(yīng)方法及相應(yīng)的裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)操作系統(tǒng)的權(quán)限管理技術(shù),尤其涉及一種權(quán)限請(qǐng)求響應(yīng)方法及相應(yīng)的裝置。

【背景技術(shù)】
[0002]基于Uinux誕生的操作系統(tǒng),從Linux系列到移動(dòng)終端的Android操作系統(tǒng),均存在嚴(yán)格的用戶管理機(jī)制。其中,以Android為例,系統(tǒng)的最高權(quán)限帳號(hào)為Root,該帳號(hào)的權(quán)限也代表著權(quán)限管理機(jī)制的最高級(jí)別,可以啟動(dòng)或停止一個(gè)進(jìn)程,刪除或增加用戶,增加或禁用硬件等等。移動(dòng)終端設(shè)備出廠時(shí),廠商出于安全因素考慮,一般不向用戶開(kāi)放Root權(quán)限。在這種情況下,用戶對(duì)移動(dòng)終端設(shè)備所進(jìn)行的系統(tǒng)操作,或者第三方應(yīng)用例如手機(jī)安全軟件需要實(shí)現(xiàn)某些諸如卸載出廠應(yīng)用之類的功能時(shí),便會(huì)受到阻礙。因此,獲取Root權(quán)限便變得越來(lái)越普遍。
[0003]目前市面上的手機(jī)安全軟件,例如“360手機(jī)助手”,通常配備有針對(duì)手機(jī)應(yīng)用而提供的權(quán)限管理模塊。獲得Root權(quán)限后,需要進(jìn)一步加強(qiáng)對(duì)權(quán)限請(qǐng)求的管理,因便實(shí)現(xiàn)對(duì)操作系統(tǒng)的安全監(jiān)控,防止惡意應(yīng)用隨意實(shí)現(xiàn)自身目的,例如請(qǐng)求聯(lián)系人權(quán)限、請(qǐng)求手機(jī)MEI權(quán)限等,以便做到既給予用戶更大的操作自由度,又能夠確保技術(shù)上的安全性。
[0004]現(xiàn)有技術(shù)在很大程度上實(shí)現(xiàn)了 Root權(quán)限管理,但是,也存在如下不足:一方面,由于進(jìn)行權(quán)限管理的通信機(jī)制利用不善的緣故,導(dǎo)致Root權(quán)限管理的效率不高;另一方面,過(guò)分依賴于系統(tǒng)的功能,導(dǎo)致權(quán)限管理的運(yùn)行效率不高。


【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的在于提供一種運(yùn)行效率較為高效的權(quán)限請(qǐng)求響應(yīng)方法及其相應(yīng)的
>J-U ρ?α裝直。
[0006]為實(shí)現(xiàn)本發(fā)明的目的,本發(fā)明采取如下技術(shù)方案:
[0007]本發(fā)明提供的一種權(quán)限請(qǐng)求響應(yīng)方法,包括以下步驟:
[0008]啟動(dòng)屬于系統(tǒng)級(jí)別的通信接口,通過(guò)該通信接口監(jiān)聽(tīng)外部權(quán)限請(qǐng)求;
[0009]依據(jù)該權(quán)限請(qǐng)求獲得請(qǐng)求方的特征標(biāo)識(shí),在預(yù)置的認(rèn)證列表中檢索該特征標(biāo)識(shí)是否處于被允許的狀態(tài);
[0010]當(dāng)該特征標(biāo)識(shí)為被允許狀態(tài)時(shí),為該權(quán)限請(qǐng)求向系統(tǒng)申請(qǐng)權(quán)限。
[0011]較佳的,所述系統(tǒng)級(jí)別的通信接口,是指基于Android的Binder機(jī)制而建立的通信服務(wù)進(jìn)程,用于與發(fā)起權(quán)限請(qǐng)求的外部應(yīng)用進(jìn)程通信。
[0012]較佳的,所述的特征標(biāo)識(shí),是指Android系統(tǒng)中的WD,每個(gè)UID對(duì)應(yīng)于一個(gè)應(yīng)用。
[0013]根據(jù)本發(fā)明一種實(shí)施例所揭示,所述預(yù)置的認(rèn)證列表,存儲(chǔ)有若干特征標(biāo)識(shí),特征標(biāo)識(shí)在認(rèn)證列表中的存在,表征該特征標(biāo)識(shí)為被允許狀態(tài)。
[0014]根據(jù)本發(fā)明另一實(shí)施例所揭示,所述預(yù)置的認(rèn)證列表,存儲(chǔ)有若干特征標(biāo)識(shí)和對(duì)應(yīng)每個(gè)特征標(biāo)識(shí)設(shè)置的狀態(tài)識(shí)別字段,當(dāng)某個(gè)特征標(biāo)識(shí)的相應(yīng)的狀態(tài)識(shí)別字段被設(shè)置為表征被允許的符號(hào)時(shí),以該符號(hào)表征該特征標(biāo)識(shí)為被允許狀態(tài)。
[0015]進(jìn)一步,當(dāng)所述特征標(biāo)識(shí)為非被允許狀態(tài)時(shí),拒絕所述的權(quán)限請(qǐng)求。
[0016]優(yōu)選地,本方法包括另一步驟:從遠(yuǎn)程接口獲取公共認(rèn)證列表數(shù)據(jù)并更新本地的所述認(rèn)證列表。
[0017]進(jìn)一步,當(dāng)采用該權(quán)限請(qǐng)求成功獲取Root權(quán)限后,綁定發(fā)起該權(quán)限請(qǐng)求的用戶進(jìn)程與服務(wù)進(jìn)程的通信,服務(wù)進(jìn)程用于響應(yīng)執(zhí)行由用戶進(jìn)程請(qǐng)求執(zhí)行的指令。
[0018]較佳的,本地的所述認(rèn)證列表中,設(shè)置有用于表征與所述特征標(biāo)識(shí)相對(duì)應(yīng)的用戶程序的權(quán)限作用周期的類型標(biāo)識(shí),在向系統(tǒng)申請(qǐng)權(quán)限時(shí),對(duì)應(yīng)所述類型標(biāo)識(shí)申請(qǐng)不同類型的權(quán)限。
[0019]本發(fā)明提供的一種權(quán)限請(qǐng)求響應(yīng)裝置,其包括:
[0020]通信接口,被以系統(tǒng)級(jí)別的方式啟動(dòng),用于監(jiān)聽(tīng)外部權(quán)限請(qǐng)求;
[0021]檢索單元,用于依據(jù)該權(quán)限請(qǐng)求獲得請(qǐng)求方的特征標(biāo)識(shí),在預(yù)置的認(rèn)證列表中檢索該特征標(biāo)識(shí)是否處于被允許的狀態(tài);
[0022]處理單元,當(dāng)該特征標(biāo)識(shí)為被允許狀態(tài)時(shí),用于為該權(quán)限請(qǐng)求向系統(tǒng)申請(qǐng)權(quán)限。
[0023]具體的,所述通信接口,為基于Android的Binder機(jī)制而建立的置于系統(tǒng)級(jí)別的通信服務(wù)進(jìn)程,通過(guò)與外部應(yīng)用進(jìn)程通信獲取所述權(quán)限請(qǐng)求。
[0024]較佳的,所述的特征標(biāo)識(shí),是指Android系統(tǒng)中的WD,每個(gè)UID對(duì)應(yīng)于一個(gè)應(yīng)用。
[0025]根據(jù)本發(fā)明的一種實(shí)施例所揭示,所述預(yù)置的認(rèn)證列表,用于存儲(chǔ)若干特征標(biāo)識(shí),特征標(biāo)識(shí)在認(rèn)證列表中的存在,表征該特征標(biāo)識(shí)為被允許狀態(tài)。
[0026]根據(jù)本發(fā)明的另一實(shí)施例所揭示,所述預(yù)置的認(rèn)證列表,用于存儲(chǔ)有若干特征標(biāo)識(shí)和對(duì)應(yīng)每個(gè)特征標(biāo)識(shí)設(shè)置的狀態(tài)識(shí)別字段,當(dāng)某個(gè)特征標(biāo)識(shí)的相應(yīng)的狀態(tài)識(shí)別字段被設(shè)置為表征被允許的符號(hào)時(shí),以該符號(hào)表征該特征標(biāo)識(shí)為被允許狀態(tài)。
[0027]進(jìn)一步,所述處理單元,當(dāng)所述特征標(biāo)識(shí)為非被允許狀態(tài)時(shí),用于拒絕所述的權(quán)限請(qǐng)求。
[0028]優(yōu)先地,本發(fā)明包括維護(hù)單元,用于從遠(yuǎn)程接口獲取公共認(rèn)證列表數(shù)據(jù)并更新本地的所述認(rèn)證列表。
[0029]進(jìn)一步,該裝置還包括服務(wù)進(jìn)程,當(dāng)采用該權(quán)限請(qǐng)求成功獲取Root權(quán)限后,與發(fā)起該權(quán)限請(qǐng)求的用戶進(jìn)程綁定通信,該服務(wù)進(jìn)程用于響應(yīng)執(zhí)行由用戶進(jìn)程請(qǐng)求執(zhí)行的指令。
[0030]較佳的,本地的所述認(rèn)證列表中,設(shè)置有用于表征與所述特征標(biāo)識(shí)相對(duì)應(yīng)的用戶程序的權(quán)限作用周期的類型標(biāo)識(shí),在向系統(tǒng)申請(qǐng)權(quán)限時(shí),對(duì)應(yīng)所述類型標(biāo)識(shí)申請(qǐng)不同類型的權(quán)限。
[0031]相較于現(xiàn)有技術(shù),本發(fā)明至少具有如下優(yōu)點(diǎn):本發(fā)明使用系統(tǒng)級(jí)別的通信接口為基礎(chǔ),建立基于外部應(yīng)用的權(quán)限請(qǐng)求的權(quán)限管理機(jī)制,具有通信快速、成功率高等優(yōu)點(diǎn),進(jìn)一步,通過(guò)建立預(yù)置的認(rèn)證列表,可以實(shí)現(xiàn)對(duì)外部應(yīng)用的權(quán)限請(qǐng)求的獨(dú)立管理,從技術(shù)角度來(lái)看,此一認(rèn)證列表具備類似于防火墻的作用,具有數(shù)據(jù)集中、運(yùn)行高效、安全可靠等優(yōu)點(diǎn)。
[0032]本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。

【專利附圖】

【附圖說(shuō)明】
[0033]本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
[0034]圖1是本發(fā)明的權(quán)限請(qǐng)求響應(yīng)方法的原理框圖;
[0035]圖2是本發(fā)明的權(quán)限請(qǐng)求響應(yīng)裝置的原理框圖。

【具體實(shí)施方式】
[0036]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。
[0037]本【技術(shù)領(lǐng)域】技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說(shuō)明書(shū)中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無(wú)線連接或無(wú)線耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的全部或任一單元和全部組合。
[0038]本【技術(shù)領(lǐng)域】技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(yǔ)(包括技術(shù)術(shù)語(yǔ)和科學(xué)術(shù)語(yǔ)),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語(yǔ),應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會(huì)用理想化或過(guò)于正式的含義來(lái)解釋。
[0039]本【技術(shù)領(lǐng)域】技術(shù)人員可以理解,這里所使用的“終端”、“終端設(shè)備”既包括無(wú)線信號(hào)接收器的設(shè)備,其僅具備無(wú)發(fā)射能力的無(wú)線信號(hào)接收器的設(shè)備,又包括接收和發(fā)射硬件的設(shè)備,其具有能夠在雙向通信鏈路上,執(zhí)行雙向通信的接收和發(fā)射硬件的設(shè)備。這種設(shè)備可以包括:蜂窩或其他通信設(shè)備,其具有單線路顯示器或多線路顯示器或沒(méi)有多線路顯示器的蜂窩或其他通信設(shè)備;PCS (Personal Communicat1ns Service,個(gè)人通信系統(tǒng)),其可以組合語(yǔ)音、數(shù)據(jù)處理、傳真和/或數(shù)據(jù)通信能力;PDA (Personal Digital Assistant,個(gè)人數(shù)字助理),其可以包括射頻接收器、尋呼機(jī)、互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)訪問(wèn)、網(wǎng)絡(luò)瀏覽器、記事本、日歷和/或GPS (Global Posit1ning System,全球定位系統(tǒng))接收器;常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備,其具有和/或包括射頻接收器的常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備。這里所使用的“終端”、“終端設(shè)備”可以是便攜式、可運(yùn)輸、安裝在交通工具(航空、海運(yùn)和/或陸地)中的,或者適合于和/或配置為在本地運(yùn)行,和/或以分布形式,運(yùn)行在地球和/或空間的任何其他位置運(yùn)行。這里所使用的“終端”、“終端設(shè)備”還可以是通信終端、上網(wǎng)終端、音樂(lè)/視頻播放終端,例如可以是PDA、MID(MobiIe Internet Device,移動(dòng)互聯(lián)網(wǎng)設(shè)備)和/或具有音樂(lè)/視頻播放功能的移動(dòng)電話,也可以是智能電視、機(jī)頂盒等設(shè)備。
[0040]本【技術(shù)領(lǐng)域】技術(shù)人員可以理解,這里所使用的服務(wù)器、云端、遠(yuǎn)端網(wǎng)絡(luò)設(shè)備等概念,具有等同效果,其包括但不限于計(jì)算機(jī)、網(wǎng)絡(luò)主機(jī)、單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器集或多個(gè)服務(wù)器構(gòu)成的云。在此,云由基于云計(jì)算(Cloud Computing)的大量計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)超級(jí)虛擬計(jì)算機(jī)。本發(fā)明的實(shí)施例中,遠(yuǎn)端網(wǎng)絡(luò)設(shè)備、終端設(shè)備與WNS服務(wù)器之間可通過(guò)任何通信方式實(shí)現(xiàn)通信,包括但不限于,基于3GPP、LTE、WIMAX的移動(dòng)通信、基于TCP/IP、UDP協(xié)議的計(jì)算機(jī)網(wǎng)絡(luò)通信以及基于藍(lán)牙、紅外傳輸標(biāo)準(zhǔn)的近距無(wú)線傳輸方式。
[0041]本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明所稱的“應(yīng)用”、“應(yīng)用程序”、“應(yīng)用軟件”以及類似表述的概念,是業(yè)內(nèi)技術(shù)人員所公知的相同概念,是指由一系列計(jì)算機(jī)指令及相關(guān)數(shù)據(jù)資源有機(jī)構(gòu)造的適于電子運(yùn)行的計(jì)算機(jī)軟件。除非特別指定,這種命名本身不受編程語(yǔ)言種類、級(jí)別,也不受其賴以運(yùn)行的操作系統(tǒng)或平臺(tái)所限制。理所當(dāng)然地,此類概念也不受任何形式的終端所限制。
[0042]本發(fā)明一種權(quán)限請(qǐng)求響應(yīng)方法的應(yīng)用場(chǎng)景,以基于Unix系為基礎(chǔ)的操作系統(tǒng)環(huán)境中實(shí)現(xiàn)的。為了實(shí)現(xiàn)本方法,需要將本方法實(shí)例化成應(yīng)用程序,獲取Root權(quán)限,安裝并運(yùn)行于相關(guān)操作系統(tǒng)中。
[0043]眾所周知,Root權(quán)限是指Unix類操作系統(tǒng)(包括Linux、Android)的系統(tǒng)管理員權(quán)限,類似于Windows (視窗)系統(tǒng)中的Administrator (管理員)權(quán)限;Root權(quán)限可以訪問(wèn)和修改用戶的移動(dòng)設(shè)備中幾乎所有的文件(Android系統(tǒng)文件及用戶文件,不包括ROM)。但是,由于目前移動(dòng)終端系統(tǒng)對(duì)于Root權(quán)限的管理是非常嚴(yán)格的,通常情況下多數(shù)應(yīng)用或程序都不具備Root權(quán)限,因此對(duì)于某些需要具備Root權(quán)限的操作就無(wú)法執(zhí)行,例如安裝或卸載應(yīng)用等操作;同時(shí),此類操作調(diào)用進(jìn)程每次執(zhí)行相應(yīng)操作時(shí)都需要向系統(tǒng)申請(qǐng)Root權(quán)限,但如果此時(shí)其他應(yīng)用進(jìn)程正在使用Root權(quán)限進(jìn)行相關(guān)操作,則此調(diào)用進(jìn)程的Root權(quán)限申請(qǐng)便無(wú)法成功;更甚者,如果用戶在系統(tǒng)中設(shè)置了禁用Root權(quán)限的操作,則相關(guān)調(diào)用進(jìn)程便無(wú)法進(jìn)行相關(guān)操作?;诖耍景l(fā)明提出只需要向系統(tǒng)發(fā)送一次Root權(quán)限獲取請(qǐng)求,具體可通過(guò)調(diào)用系統(tǒng)內(nèi)置的SU(Super User,超級(jí)用戶)命令獲取Root權(quán)限,或者通過(guò)獲取具有Root權(quán)限的shell獲取Root權(quán)限并在shell中啟動(dòng)進(jìn)程,然后在獲取所述系統(tǒng)的Root權(quán)限授權(quán)后,即可使后續(xù)其他調(diào)用進(jìn)程需執(zhí)行相關(guān)操作時(shí)無(wú)需重復(fù)申請(qǐng)Root權(quán)限;具體Root權(quán)限獲取過(guò)程可參照現(xiàn)有技術(shù)的Root權(quán)限調(diào)用函數(shù),本發(fā)明在此不再贅述。基于上述的先導(dǎo)知識(shí),以下結(jié)合圖1詳細(xì)揭示本發(fā)明的權(quán)限請(qǐng)求響應(yīng)方法。該方法包括如下步驟:
[0044]S11、啟動(dòng)屬于系統(tǒng)級(jí)別的通信接口,通過(guò)該通信接口監(jiān)聽(tīng)外部權(quán)限請(qǐng)求:
[0045]本實(shí)施例所稱的通信接口,是指由以本方法所實(shí)現(xiàn)的一個(gè)程序模塊運(yùn)行于內(nèi)存中,通過(guò)內(nèi)存中的相應(yīng)主進(jìn)程實(shí)現(xiàn)如前所述的提權(quán)操作后,向系統(tǒng)注冊(cè)一個(gè)通信服務(wù)進(jìn)程。以Android為例,該通信服務(wù)進(jìn)程基于Android系統(tǒng)所提供的Binder機(jī)制,向SystemManager注冊(cè)自身,通過(guò)Android提供的固有的Binder機(jī)制,在通信服務(wù)進(jìn)程與其監(jiān)聽(tīng)的外部應(yīng)用進(jìn)程之間建立C/S架構(gòu)的溝通管道。具體而言,當(dāng)獲取到系統(tǒng)的Root權(quán)限后,為了便于后續(xù)實(shí)現(xiàn)對(duì)外部應(yīng)用進(jìn)程的監(jiān)聽(tīng)以及相關(guān)操作功能,本發(fā)明首先啟動(dòng)具有已經(jīng)獲得Root權(quán)限的由本方法實(shí)例化后得以運(yùn)行而形成的主進(jìn)程,通過(guò)主進(jìn)程在系統(tǒng)中插入所述通信服務(wù)進(jìn)程,例如可通過(guò)系統(tǒng)調(diào)用函數(shù)ServiceManager.addService來(lái)實(shí)現(xiàn)插入操作,由此實(shí)現(xiàn)對(duì)本方法的實(shí)例化程序的成功運(yùn)行,不僅使本方法的主進(jìn)程常駐內(nèi)存,而且由其建立的通信服務(wù)進(jìn)程也成為系統(tǒng)級(jí)別的通信接口。需要注意的是,所述通信服務(wù)進(jìn)程通過(guò)上述的配置,已經(jīng)成為系統(tǒng)級(jí)別的服務(wù)進(jìn)程級(jí)別,其權(quán)限顯然高于其他外部應(yīng)用進(jìn)程甚至所述主進(jìn)程和其它進(jìn)程等這些調(diào)用它的進(jìn)程的權(quán)限,因此該通信服務(wù)進(jìn)程可以作為通信基礎(chǔ),為其他調(diào)用它的進(jìn)程提供通信保障,完成系統(tǒng)與其他調(diào)用它的進(jìn)程之間的通信連接。由此也可以進(jìn)一步推知,其他任何遵守本發(fā)明的通信接口的通信規(guī)范的客戶端,均可通過(guò)Binder機(jī)制與本發(fā)明的通信接口進(jìn)行通信,獲取相應(yīng)的權(quán)限。
[0046]因此,所述的通信接口,在本實(shí)施例中表現(xiàn)為所述的通信服務(wù)進(jìn)程,其功能用于實(shí)現(xiàn)主進(jìn)程與外部應(yīng)用進(jìn)程之間的Binder通信,這種通信方式具有快速穩(wěn)定的特點(diǎn)。對(duì)于本方法的核心要旨而言,所述通信服務(wù)進(jìn)程主要用于監(jiān)聽(tīng)外部應(yīng)用進(jìn)程所發(fā)起的權(quán)限請(qǐng)求,這一權(quán)限請(qǐng)求一般即是指期望獲得Root權(quán)限實(shí)現(xiàn)對(duì)系統(tǒng)資源的深層訪問(wèn)的提權(quán)請(qǐng)求。對(duì)于本方法而言,除所述通信服務(wù)進(jìn)程可用于建立通信接口外,當(dāng)然,也可以通過(guò)其它進(jìn)程來(lái)實(shí)現(xiàn)其它不同的功能,并且這些其它進(jìn)程可以借助所述的通信服務(wù)進(jìn)程與外部應(yīng)用進(jìn)程進(jìn)行通信,從而內(nèi)外結(jié)合完成其它特殊操作指令。例如,這些其它進(jìn)程可以執(zhí)行如下一種或多種操作,且不受此處的局限:執(zhí)行預(yù)置應(yīng)用的卸載、執(zhí)行應(yīng)用程序的安裝或卸載、執(zhí)行應(yīng)用數(shù)據(jù)的備份或還原、執(zhí)行應(yīng)用程序的啟用或禁用等。
[0047]所述的通信接口,成為進(jìn)程間通信基礎(chǔ)后,便可實(shí)現(xiàn)對(duì)外部應(yīng)用進(jìn)程的監(jiān)聽(tīng),當(dāng)外部應(yīng)用進(jìn)程需要獲得Root權(quán)限時(shí),便會(huì)向系統(tǒng)發(fā)送獲取Root權(quán)限的權(quán)限請(qǐng)求,通信服務(wù)進(jìn)程由于其所處級(jí)別較高,便能優(yōu)先獲得并處理這一用戶請(qǐng)求。通信服務(wù)進(jìn)程獲得該權(quán)限請(qǐng)求后,便可將其提交給本發(fā)明所述的主進(jìn)程,由主進(jìn)程做進(jìn)一步的處理。
[0048]S12、依據(jù)該權(quán)限請(qǐng)求獲得請(qǐng)求方的特征標(biāo)識(shí),在預(yù)置的認(rèn)證列表中檢索該特征標(biāo)識(shí)是否處于被允許的狀態(tài):
[0049]眾所周知的,Android系統(tǒng)中對(duì)UID (User Identifier,用戶標(biāo)識(shí))的定義,是為每一個(gè)具體應(yīng)用所特定的識(shí)別符號(hào),具有唯一特征,因此,UID即是每個(gè)具體應(yīng)用的唯一性的特征標(biāo)識(shí)。本實(shí)施例中,本方法所實(shí)現(xiàn)的主進(jìn)程,從通信接口轉(zhuǎn)發(fā)的源自外部應(yīng)用程序的進(jìn)程的權(quán)限請(qǐng)求中,可以獲得該外部應(yīng)用程序進(jìn)程的特征標(biāo)識(shí),依據(jù)該特征標(biāo)識(shí)可以進(jìn)一步識(shí)別相應(yīng)的應(yīng)用程序,并且決定是否予以開(kāi)放權(quán)限請(qǐng)求響應(yīng)。
[0050]本步驟中,藉由用于實(shí)現(xiàn)本步驟的主進(jìn)程還負(fù)責(zé)一個(gè)認(rèn)證列表的維護(hù)。該認(rèn)證列表可以采用多種形式實(shí)現(xiàn),各種形式的不同主要體現(xiàn)在其內(nèi)部映射關(guān)系上,以下列舉兩種形式供參照:
[0051]A、可以僅僅存儲(chǔ)每個(gè)默認(rèn)允許獲得Root權(quán)限的應(yīng)用程序的WD,由此,進(jìn)入該認(rèn)證列表的特征標(biāo)識(shí)所對(duì)應(yīng)的應(yīng)用程序,便被視為期望獲得Root權(quán)限的請(qǐng)求,處于被允許的狀態(tài),將得到滿足。
[0052]B、可以在A方案的認(rèn)證列表中增加一個(gè)狀態(tài)標(biāo)識(shí)字段,為每個(gè)特征標(biāo)識(shí)對(duì)應(yīng)映射一個(gè)狀態(tài)標(biāo)識(shí)字符,例如,當(dāng)某個(gè)WD所在的記錄的狀態(tài)標(biāo)識(shí)字符為“Y”時(shí),表征該WD所對(duì)應(yīng)的權(quán)限請(qǐng)求為被允許狀態(tài);當(dāng)為“N”時(shí),表征該UID所對(duì)應(yīng)的權(quán)限請(qǐng)求為非被允許狀態(tài)。
[0053]除以上兩種方式實(shí)現(xiàn)所述認(rèn)證列表之外,為了便于進(jìn)程調(diào)度,可以進(jìn)一步增加進(jìn)程標(biāo)識(shí)PID,在主進(jìn)程的生命周期中,并且在外部應(yīng)用程序進(jìn)行首次發(fā)送權(quán)限請(qǐng)求時(shí),從中獲得對(duì)應(yīng)的PID,存儲(chǔ)到認(rèn)證列表中,供所述外部應(yīng)用進(jìn)程在下次發(fā)起權(quán)限請(qǐng)求時(shí)對(duì)照使用,以PID和UID共同決定權(quán)限請(qǐng)求的被允許狀態(tài)。如此,可以進(jìn)一步將權(quán)限請(qǐng)求管理細(xì)化到外部應(yīng)用程序的子進(jìn)程。
[0054]當(dāng)以本方法實(shí)現(xiàn)的主進(jìn)程收到通信接口轉(zhuǎn)發(fā)的權(quán)限請(qǐng)求之后,提取其中的UID (以及PID,下同),然后以該WD去所述認(rèn)證列表中檢索,對(duì)于方式A,當(dāng)認(rèn)證列表中存在該WD時(shí),即可確認(rèn)所述WD所對(duì)應(yīng)的權(quán)限請(qǐng)求應(yīng)當(dāng)被允許,如果認(rèn)證列表中沒(méi)有對(duì)應(yīng)的UID,則表征該WD未被允許;對(duì)于方式B,當(dāng)認(rèn)證列表中存在該WD并且其狀態(tài)標(biāo)識(shí)字段的狀態(tài)標(biāo)識(shí)符為“Y”時(shí),表征該UID所對(duì)應(yīng)的權(quán)限請(qǐng)求應(yīng)當(dāng)被允許,反之,狀態(tài)標(biāo)識(shí)符為“N”時(shí),表征該UID所對(duì)應(yīng)的權(quán)限請(qǐng)求未被允許。
[0055]可以看出,采用本發(fā)明的認(rèn)證列表,通過(guò)獲取系統(tǒng)Root權(quán)限后啟動(dòng)具有Root權(quán)限的服務(wù)進(jìn)程并向系統(tǒng)中插入通信服務(wù)進(jìn)程,即可使調(diào)用通信服務(wù)進(jìn)程的外部應(yīng)用進(jìn)程執(zhí)行相應(yīng)操作時(shí)無(wú)需重復(fù)申請(qǐng)Root權(quán)限,而可通過(guò)啟動(dòng)的主進(jìn)程來(lái)執(zhí)行相應(yīng)操作,有效地避免了因Root權(quán)限正在使用或被禁用所帶來(lái)的操作失敗,進(jìn)而大大提高了數(shù)據(jù)通信的效率。
[0056]所述的認(rèn)證列表中原始數(shù)據(jù)的獲取,可以是在本方法的歷史使用過(guò)程中,依用戶使用習(xí)慣而生成。例如,用戶首次針對(duì)某個(gè)外部應(yīng)用程序進(jìn)程的請(qǐng)求,給予一個(gè)允許其獲取Root權(quán)限的主觀指示,即被本發(fā)明的主進(jìn)程添加到該認(rèn)證列表中,標(biāo)記為被允許獲取相應(yīng)權(quán)限的狀態(tài),后續(xù)便可免彈窗詢問(wèn)。所述的認(rèn)證列表也可以被遠(yuǎn)程維護(hù),通過(guò)所述的主進(jìn)程調(diào)用遠(yuǎn)程通信接口,定時(shí)或不定時(shí)地從云端下載最新的認(rèn)證列表數(shù)據(jù),以更新本地的認(rèn)證列表,由此可以發(fā)揮大數(shù)據(jù)優(yōu)勢(shì),使認(rèn)證列表中的數(shù)據(jù)更具安全性。
[0057]適應(yīng)上述情況,云端維護(hù)一張公共認(rèn)證列表,由安裝有以本發(fā)明的方法的程序的主進(jìn)程上傳用戶針對(duì)各程序UID所做出的允許獲取權(quán)限與否的數(shù)據(jù),然后根據(jù)統(tǒng)計(jì)方法對(duì)各個(gè)UID進(jìn)行統(tǒng)計(jì),當(dāng)多數(shù)用戶例如60%允許某個(gè)UID可以獲取Root權(quán)限時(shí),標(biāo)記該WD對(duì)應(yīng)的狀態(tài)標(biāo)識(shí)字為“Y”,否則,標(biāo)記為“N”。本地主進(jìn)程通過(guò)遠(yuǎn)程接口下載該公共認(rèn)證列表中,與本地的認(rèn)證列表進(jìn)行比對(duì),在尊重用戶主觀指示的基礎(chǔ)上,添加公共認(rèn)證列表中的新增記錄到本地認(rèn)證列表中。當(dāng)然,為了安全起見(jiàn),可以針對(duì)兩個(gè)表中,UID相同而狀態(tài)不同的記錄進(jìn)行彈窗詢問(wèn),看用戶是否采用公共認(rèn)證列表的數(shù)據(jù),如果用戶選擇是,則將公共認(rèn)證列表的該UID相關(guān)的記錄替換本地認(rèn)證列表的相應(yīng)記錄,如果不是,則放棄后續(xù)操作??梢钥闯觯ㄟ^(guò)這種方式可以實(shí)現(xiàn)對(duì)認(rèn)證列表的動(dòng)態(tài)維護(hù),使認(rèn)證列表在技術(shù)實(shí)現(xiàn)的角度大大發(fā)揮了其安全作用。
[0058]可以理解,云端維護(hù)的公共認(rèn)證列表的形式應(yīng)不局限于所述WD、PID的字段信息,進(jìn)一步可以推廣到為其添加調(diào)用該通信服務(wù)進(jìn)程的程序或者服務(wù)的簽名信息等,使得通信服務(wù)進(jìn)程可以進(jìn)一步通過(guò)驗(yàn)證發(fā)起權(quán)限請(qǐng)求的程序或服務(wù)的簽名信息來(lái)確定是否為其開(kāi)放Root權(quán)限,強(qiáng)化其安全防護(hù)效果。
[0059]需要指出的是,所述的認(rèn)證列表的存儲(chǔ)形式,既可以是內(nèi)存中的鏈表,也可以是存儲(chǔ)于本地的數(shù)據(jù)庫(kù)或文本文件的形式,可由本領(lǐng)域技術(shù)人員靈活實(shí)現(xiàn)。
[0060]S13、當(dāng)該特征標(biāo)識(shí)為被允許狀態(tài)時(shí),為該權(quán)限請(qǐng)求向系統(tǒng)申請(qǐng)權(quán)限。
[0061]通過(guò)前一步驟的實(shí)施,便可判斷一個(gè)權(quán)限請(qǐng)求是所對(duì)應(yīng)的特征標(biāo)識(shí)是否為被允許狀態(tài),如果是,則可由本發(fā)明所實(shí)現(xiàn)的主進(jìn)程為該權(quán)限請(qǐng)求放行,為該權(quán)限請(qǐng)求系統(tǒng)的Root權(quán)限,由系統(tǒng)向相應(yīng)的外部應(yīng)用程序進(jìn)程開(kāi)放Root權(quán)限。而如果前一步驟獲得的結(jié)果是相應(yīng)的特征標(biāo)識(shí)為非被允許狀態(tài),那么,主進(jìn)程可以拒絕該權(quán)限請(qǐng)求,通過(guò)其通信接口向外部應(yīng)用進(jìn)程返回假消息,使得外部應(yīng)用進(jìn)程所發(fā)放的權(quán)限請(qǐng)求無(wú)功而返;或者,也可直接返回權(quán)限請(qǐng)求不成功的回復(fù)。
[0062]通過(guò)本發(fā)明以上關(guān)于其權(quán)限請(qǐng)求響應(yīng)方法,可以實(shí)現(xiàn)運(yùn)行更高效的權(quán)限管理機(jī)制,不僅確保各進(jìn)程之間的通信更為快速有效,而且在技術(shù)層面上,通過(guò)認(rèn)證列表的作用,也能使得權(quán)限管理更為安全。
[0063]相應(yīng)的,本發(fā)明可以依照前述的方法而提供一種權(quán)限請(qǐng)求響應(yīng)裝置,借助該裝置所實(shí)現(xiàn)的各個(gè)模塊,分別實(shí)現(xiàn)該方法的各個(gè)步驟,也可實(shí)現(xiàn)相應(yīng)的功能。該裝置可以在處理器上以邏輯功能的方式集中實(shí)現(xiàn)。請(qǐng)參閱圖2,具體而言,本發(fā)明提供的權(quán)限請(qǐng)求響應(yīng)裝置,包括通信接口 U、檢索單元12以及處理單元13。
[0064]所述的通信接口 11,由一運(yùn)行于內(nèi)存中的通信服務(wù)進(jìn)程構(gòu)建,通過(guò)內(nèi)存中的相應(yīng)主進(jìn)程實(shí)現(xiàn)如前所述的提權(quán)操作后,向系統(tǒng)注冊(cè)一個(gè)通信服務(wù)進(jìn)程而實(shí)現(xiàn)。以Android為例,該通信服務(wù)進(jìn)程基于Android系統(tǒng)所提供的Binder機(jī)制,向System Manager注冊(cè)自身,通過(guò)Android提供的固有的Binder機(jī)制,在通信服務(wù)進(jìn)程與其監(jiān)聽(tīng)的外部應(yīng)用進(jìn)程之間建立C/S架構(gòu)的溝通管道,通信服務(wù)進(jìn)程便形成了所述的通信接口 11。具體而言,當(dāng)獲取到系統(tǒng)的Root權(quán)限后,為了便于后續(xù)實(shí)現(xiàn)對(duì)外部應(yīng)用進(jìn)程的監(jiān)聽(tīng)以及相關(guān)操作功能,本發(fā)明通過(guò)一主進(jìn)程在系統(tǒng)中插入所述通信服務(wù)進(jìn)程,例如可通過(guò)系統(tǒng)調(diào)用函數(shù)ServiceManager.addService來(lái)實(shí)現(xiàn)插入操作,由此,不僅能使該主進(jìn)程常駐內(nèi)存,而且由其建立的通信服務(wù)進(jìn)程也成為系統(tǒng)級(jí)別的通信接口 11。需要注意的是,所述通信服務(wù)進(jìn)程通過(guò)上述的配置,已經(jīng)成為系統(tǒng)級(jí)別的服務(wù)進(jìn)程級(jí)別,其權(quán)限顯然高于其他外部應(yīng)用進(jìn)程甚至所述主進(jìn)程和其它進(jìn)程等這些調(diào)用它的進(jìn)程的權(quán)限,因此該通信服務(wù)進(jìn)程可以作為通信基礎(chǔ),為其他調(diào)用它的進(jìn)程提供通信保障,完成系統(tǒng)與其他調(diào)用它的進(jìn)程之間的通信連接。
[0065]因此,所述的通信接口 11,在本實(shí)施例中表現(xiàn)為所述的通信服務(wù)進(jìn)程,其功能用于實(shí)現(xiàn)主進(jìn)程與外部應(yīng)用進(jìn)程之間的Binder通信,這種通信方式具有快速穩(wěn)定的特點(diǎn)。對(duì)于本裝置的核心要旨而言,所述通信服務(wù)進(jìn)程主要用于監(jiān)聽(tīng)外部應(yīng)用進(jìn)程所發(fā)起的權(quán)限請(qǐng)求,這一權(quán)限請(qǐng)求一般即是指期望獲得Root權(quán)限實(shí)現(xiàn)對(duì)系統(tǒng)資源的深層訪問(wèn)的提權(quán)請(qǐng)求。對(duì)于本裝置而言,除所述通信服務(wù)進(jìn)程可用于建立通信接口 11外,當(dāng)然,也可以通過(guò)其它進(jìn)程來(lái)實(shí)現(xiàn)其它不同的功能,并且這些其它進(jìn)程可以借助所述的通信服務(wù)進(jìn)程與外部應(yīng)用進(jìn)程進(jìn)行通信,從而內(nèi)外結(jié)合完成其它特殊操作指令。例如,這些其它進(jìn)程可以執(zhí)行如下一種或多種操作,且不受此處的局限:執(zhí)行預(yù)置應(yīng)用的卸載、執(zhí)行應(yīng)用程序的安裝或卸載、執(zhí)行應(yīng)用數(shù)據(jù)的備份或還原、執(zhí)行應(yīng)用程序的啟用或禁用等、執(zhí)行內(nèi)存清理功能等。
[0066]所述的通信接口 11,成為進(jìn)程間通信基礎(chǔ)后,便可實(shí)現(xiàn)對(duì)外部應(yīng)用進(jìn)程的監(jiān)聽(tīng),當(dāng)外部應(yīng)用進(jìn)程需要獲得Root權(quán)限時(shí),便會(huì)向系統(tǒng)發(fā)送獲取Root權(quán)限的權(quán)限請(qǐng)求,通信服務(wù)進(jìn)程由于其所處級(jí)別較高,便能優(yōu)先獲得并處理這一用戶請(qǐng)求。通信服務(wù)進(jìn)程獲得該權(quán)限請(qǐng)求后,便可將其提交給本發(fā)明所述的主進(jìn)程,由主進(jìn)程做進(jìn)一步的處理。
[0067]所述的檢索單元12,用于依據(jù)該權(quán)限請(qǐng)求獲得請(qǐng)求方的特征標(biāo)識(shí),在預(yù)置的認(rèn)證列表中檢索該特征標(biāo)識(shí)是否處于被允許的狀態(tài)。
[0068]眾所周知的,Android系統(tǒng)中對(duì)UID (User Identifier,用戶標(biāo)識(shí))的定義,是為每一個(gè)具體應(yīng)用所特定的識(shí)別符號(hào),具有唯一特征,因此,UID即是每個(gè)具體應(yīng)用的唯一性的特征標(biāo)識(shí)。本實(shí)施例中,本裝置所實(shí)現(xiàn)的主進(jìn)程,從通信接口 11轉(zhuǎn)發(fā)的源自外部應(yīng)用程序的進(jìn)程的權(quán)限請(qǐng)求中,可以獲得該外部應(yīng)用程序進(jìn)程的特征標(biāo)識(shí),依據(jù)該特征標(biāo)識(shí)可以進(jìn)一步識(shí)別相應(yīng)的應(yīng)用程序,并且決定是否予以開(kāi)放權(quán)限請(qǐng)求響應(yīng)。
[0069]本檢索單元12中,藉由用于實(shí)現(xiàn)本檢索單元12的主進(jìn)程還負(fù)責(zé)一個(gè)認(rèn)證列表的維護(hù),基于此而構(gòu)建一維護(hù)單元(未圖示),用于維護(hù)所述的認(rèn)證列表。邏輯上,該維護(hù)單元可以與本檢索單元12合二為一,也可相互獨(dú)立。該認(rèn)證列表可以采用多種形式實(shí)現(xiàn),各種形式的不同主要體現(xiàn)在其內(nèi)部映射關(guān)系上,以下列舉兩種形式供參照:
[0070]A、可以僅僅存儲(chǔ)每個(gè)默認(rèn)允許獲得Root權(quán)限的應(yīng)用程序的WD,由此,進(jìn)入該認(rèn)證列表的特征標(biāo)識(shí)所對(duì)應(yīng)的應(yīng)用程序,便被視為期望獲得Root權(quán)限的請(qǐng)求,處于被允許的狀態(tài),將得到滿足。
[0071]B、可以在A方案的認(rèn)證列表中增加一個(gè)狀態(tài)標(biāo)識(shí)字段,為每個(gè)特征標(biāo)識(shí)對(duì)應(yīng)映射一個(gè)狀態(tài)標(biāo)識(shí)字符,例如,當(dāng)某個(gè)WD所在的記錄的狀態(tài)標(biāo)識(shí)字符為“Y”時(shí),表征該WD所對(duì)應(yīng)的權(quán)限請(qǐng)求為被允許狀態(tài);當(dāng)為“N”時(shí),表征該UID所對(duì)應(yīng)的權(quán)限請(qǐng)求為非被允許狀態(tài)。
[0072]除以上兩種方式實(shí)現(xiàn)所述認(rèn)證列表之外,為了便于進(jìn)程調(diào)度,可以進(jìn)一步增加進(jìn)程標(biāo)識(shí)PID,在主進(jìn)程的生命周期中,并且在外部應(yīng)用程序進(jìn)行首次發(fā)送權(quán)限請(qǐng)求時(shí),從中獲得對(duì)應(yīng)的PID,存儲(chǔ)到認(rèn)證列表中,供所述外部應(yīng)用進(jìn)程在下次發(fā)起權(quán)限請(qǐng)求時(shí)對(duì)照使用,以PID和UID共同決定權(quán)限請(qǐng)求的被允許狀態(tài)。如此,可以進(jìn)一步將權(quán)限請(qǐng)求管理細(xì)化到外部應(yīng)用程序的子進(jìn)程。
[0073]當(dāng)以本裝置實(shí)現(xiàn)的主進(jìn)程收到通信接口 11轉(zhuǎn)發(fā)的權(quán)限請(qǐng)求之后,提取其中的UID(以及PID,下同),然后以該WD去所述認(rèn)證列表中檢索,對(duì)于方式A,當(dāng)認(rèn)證列表中存在該WD時(shí),即可確認(rèn)所述WD所對(duì)應(yīng)的權(quán)限請(qǐng)求應(yīng)當(dāng)被允許,如果認(rèn)證列表中沒(méi)有對(duì)應(yīng)的UID,則表征該WD未被允許;對(duì)于方式B,當(dāng)認(rèn)證列表中存在該WD并且其狀態(tài)標(biāo)識(shí)字段的狀態(tài)標(biāo)識(shí)符為“Y”時(shí),表征該UID所對(duì)應(yīng)的權(quán)限請(qǐng)求應(yīng)當(dāng)被允許,反之,狀態(tài)標(biāo)識(shí)符為“N”時(shí),表征該UID所對(duì)應(yīng)的權(quán)限請(qǐng)求未被允許。
[0074]可以看出,采用本發(fā)明的認(rèn)證列表,通過(guò)獲取系統(tǒng)Root權(quán)限后啟動(dòng)具有Root權(quán)限的服務(wù)進(jìn)程并向系統(tǒng)中插入通信服務(wù)進(jìn)程,即可使調(diào)用通信服務(wù)進(jìn)程的外部應(yīng)用進(jìn)程執(zhí)行相應(yīng)操作時(shí)無(wú)需重復(fù)申請(qǐng)Root權(quán)限,而可通過(guò)啟動(dòng)的主進(jìn)程來(lái)執(zhí)行相應(yīng)操作,有效地避免了因Root權(quán)限正在使用或被禁用所帶來(lái)的操作失敗,進(jìn)而大大提高了數(shù)據(jù)通信的效率。
[0075]所述認(rèn)證列表的維護(hù),由所述維護(hù)單元實(shí)現(xiàn),包括如何使認(rèn)證列表形成基礎(chǔ)數(shù)據(jù)和如何更新其中的數(shù)據(jù)。
[0076]所述的認(rèn)證列表中原始數(shù)據(jù)的獲取,可以是在本裝置的歷史使用過(guò)程中,依用戶使用習(xí)慣而生成。例如,用戶首次針對(duì)某個(gè)外部應(yīng)用程序進(jìn)程的請(qǐng)求,給予一個(gè)允許其獲取Root權(quán)限的主觀指示,即被本發(fā)明的主進(jìn)程添加到該認(rèn)證列表中,標(biāo)記為被允許獲取相應(yīng)權(quán)限的狀態(tài),后續(xù)便可免彈窗詢問(wèn)。所述的認(rèn)證列表也可以結(jié)合云端進(jìn)行遠(yuǎn)程維護(hù),通過(guò)所述的主進(jìn)程調(diào)用遠(yuǎn)程通信接口 11,定時(shí)或不定時(shí)地從云端下載最新的認(rèn)證列表數(shù)據(jù),以更新本地的認(rèn)證列表,由此可以發(fā)揮大數(shù)據(jù)優(yōu)勢(shì),使認(rèn)證列表中的數(shù)據(jù)更具安全性。
[0077]適應(yīng)上述情況,云端維護(hù)一張公共認(rèn)證列表,由安裝有以本發(fā)明的主進(jìn)程上傳用戶針對(duì)各程序UID所做出的允許獲取權(quán)限與否的數(shù)據(jù),然后根據(jù)統(tǒng)計(jì)方法對(duì)各個(gè)UID進(jìn)行統(tǒng)計(jì),當(dāng)多數(shù)用戶例如60%允許某個(gè)HD可以獲取Root權(quán)限時(shí),標(biāo)記該UID對(duì)應(yīng)的狀態(tài)標(biāo)識(shí)字為“Y”,否則,標(biāo)記為“N”。本地主進(jìn)程通過(guò)遠(yuǎn)程接口下載該公共認(rèn)證列表中,與本地的認(rèn)證列表進(jìn)行比對(duì),在尊重用戶主觀指示的基礎(chǔ)上,添加公共認(rèn)證列表中的新增記錄到本地認(rèn)證列表中。當(dāng)然,為了安全起見(jiàn),可以針對(duì)兩個(gè)表中,UID相同而狀態(tài)不同的記錄進(jìn)行彈窗詢問(wèn),看用戶是否采用公共認(rèn)證列表的數(shù)據(jù),如果用戶選擇是,則將公共認(rèn)證列表的該UID相關(guān)的記錄替換本地認(rèn)證列表的相應(yīng)記錄,如果不是,則放棄后續(xù)操作。顯然,本地端的這些操作,應(yīng)由所述的維護(hù)單元中的認(rèn)證列表動(dòng)態(tài)更新模塊來(lái)實(shí)現(xiàn),這樣更符合邏輯劃分。維護(hù)單元還可以進(jìn)一步包括一程序升級(jí)模塊,用于跟進(jìn)本發(fā)明所實(shí)現(xiàn)的程序的動(dòng)態(tài)更新??梢钥闯?,通過(guò)這種方式可以實(shí)現(xiàn)對(duì)認(rèn)證列表的動(dòng)態(tài)維護(hù),使認(rèn)證列表在技術(shù)實(shí)現(xiàn)的角度大大發(fā)揮了其安全作用。
[0078]需要指出的是,所述的認(rèn)證列表的存儲(chǔ)形式,既可以是內(nèi)存中的鏈表,也可以是存儲(chǔ)于本地的數(shù)據(jù)庫(kù)或文本文件的形式,可由本領(lǐng)域技術(shù)人員靈活實(shí)現(xiàn)。
[0079]所述的處理單元13,當(dāng)該特征標(biāo)識(shí)為被允許狀態(tài)時(shí),用于為該權(quán)限請(qǐng)求向系統(tǒng)申請(qǐng)權(quán)限;當(dāng)該特征標(biāo)識(shí)為未被允許狀態(tài)時(shí),用于拒絕該權(quán)限請(qǐng)求。
[0080]通過(guò)檢索單元12的處理,便可判斷一個(gè)權(quán)限請(qǐng)求是所對(duì)應(yīng)的特征標(biāo)識(shí)是否為被允許狀態(tài),如果是,則可由本發(fā)明所實(shí)現(xiàn)的主進(jìn)程為該權(quán)限請(qǐng)求放行,為該權(quán)限請(qǐng)求系統(tǒng)的Root權(quán)限,由系統(tǒng)向相應(yīng)的外部應(yīng)用程序進(jìn)程開(kāi)放Root權(quán)限。而如果檢索單元12獲得的結(jié)果是相應(yīng)的特征標(biāo)識(shí)為非被允許狀態(tài),那么,主進(jìn)程可以拒絕該權(quán)限請(qǐng)求,通過(guò)其通信接口 11向外部應(yīng)用進(jìn)程返回假消息,使得外部應(yīng)用進(jìn)程所發(fā)放的權(quán)限請(qǐng)求無(wú)功而返;或者,也可直接返回權(quán)限請(qǐng)求不成功的回復(fù)。
[0081]需要注意的是,Root權(quán)限的獲取方式,從權(quán)限作用的生命周期來(lái)看,包括永久Root權(quán)限和臨時(shí)Root權(quán)限,顧名思義,永久Root權(quán)限情況下,應(yīng)用程序一經(jīng)Root授權(quán),以后可不必再進(jìn)行Root提權(quán)操作;而臨時(shí)Root權(quán)限情況下,權(quán)限作用的生命周期只是操作系統(tǒng)的一次從開(kāi)機(jī)到關(guān)機(jī)的過(guò)程,下次開(kāi)機(jī)依然需要進(jìn)行Root。本發(fā)明的實(shí)現(xiàn)不受這種分類限制,但可以依據(jù)這兩種不同方式來(lái)做可選的程序?qū)崿F(xiàn)。例如,可以提供用戶界面供用戶選定是否進(jìn)行永久Root或臨時(shí)Root,結(jié)合所述本地認(rèn)證列表中為各WD附加是否永久Root或臨時(shí)Root的類型標(biāo)識(shí),然后按照不同的標(biāo)識(shí)對(duì)發(fā)起請(qǐng)求的用戶程序/進(jìn)程做不同的權(quán)限請(qǐng)求開(kāi)放處理。
[0082]如前所述,本發(fā)明可以通過(guò)服務(wù)進(jìn)程來(lái)實(shí)現(xiàn)權(quán)限請(qǐng)求后的后續(xù)指令執(zhí)行。服務(wù)進(jìn)程可以是獨(dú)立的,為說(shuō)明的方便,稱其為指令服務(wù)進(jìn)程。當(dāng)本發(fā)明實(shí)現(xiàn)權(quán)限管理的相關(guān)服務(wù)進(jìn)程為用戶權(quán)限請(qǐng)求成功獲取系統(tǒng)Root權(quán)限后,即可綁定該服務(wù)進(jìn)程與發(fā)起權(quán)限請(qǐng)求的用戶進(jìn)程之間的直接通信,然后,由用戶進(jìn)程向該服務(wù)進(jìn)程發(fā)送指令,例如:執(zhí)行預(yù)置應(yīng)用的卸載、執(zhí)行應(yīng)用程序的安裝或卸載、執(zhí)行應(yīng)用數(shù)據(jù)的備份或還原、執(zhí)行應(yīng)用程序的啟用或禁用等、執(zhí)行內(nèi)存或緩存清理功能等。該服務(wù)進(jìn)程構(gòu)造有執(zhí)行這些功能的函數(shù),服務(wù)進(jìn)程通過(guò)解析用戶進(jìn)程的指令,調(diào)用與用戶目標(biāo)功能相應(yīng)的函數(shù),實(shí)現(xiàn)相應(yīng)的功能,從而解決用戶的需求。
[0083]綜上,通過(guò)上述的實(shí)施例可以看出,本發(fā)明的所實(shí)現(xiàn)的權(quán)限請(qǐng)求管理功能,具有通信快速高效、技術(shù)安全可靠的特點(diǎn)。
[0084]以上所述僅是本發(fā)明的部分實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種權(quán)限請(qǐng)求響應(yīng)方法,其特征在于,包括以下步驟: 啟動(dòng)屬于系統(tǒng)級(jí)別的通信接口,通過(guò)該通信接口監(jiān)聽(tīng)外部權(quán)限請(qǐng)求; 依據(jù)該權(quán)限請(qǐng)求獲得請(qǐng)求方的特征標(biāo)識(shí),在預(yù)置的認(rèn)證列表中檢索該特征標(biāo)識(shí)是否處于被允許的狀態(tài); 當(dāng)該特征標(biāo)識(shí)為被允許狀態(tài)時(shí),為該權(quán)限請(qǐng)求向系統(tǒng)申請(qǐng)權(quán)限。
2.根據(jù)權(quán)利要求1所述的權(quán)限請(qǐng)求響應(yīng)方法,其特征在于,所述系統(tǒng)級(jí)別的通信接口,是指基于Android的Binder機(jī)制而建立的通信服務(wù)進(jìn)程,用于與發(fā)起權(quán)限請(qǐng)求的外部應(yīng)用進(jìn)程通信。
3.根據(jù)權(quán)利要求1所述的權(quán)限請(qǐng)求響應(yīng)方法,其特征在于,所述的特征標(biāo)識(shí),是指Android系統(tǒng)中的WD,每個(gè)UID對(duì)應(yīng)于一個(gè)應(yīng)用。
4.根據(jù)權(quán)利要求1所述的權(quán)限請(qǐng)求響應(yīng)方法,其特征在于,所述預(yù)置的認(rèn)證列表,存儲(chǔ)有若干特征標(biāo)識(shí),特征標(biāo)識(shí)在認(rèn)證列表中的存在,表征該特征標(biāo)識(shí)為被允許狀態(tài)。
5.根據(jù)權(quán)利要求1所述的權(quán)限請(qǐng)求響應(yīng)方法,其特征在于,所述預(yù)置的認(rèn)證列表,存儲(chǔ)有若干特征標(biāo)識(shí)和對(duì)應(yīng)每個(gè)特征標(biāo)識(shí)設(shè)置的狀態(tài)識(shí)別字段,當(dāng)某個(gè)特征標(biāo)識(shí)的相應(yīng)的狀態(tài)識(shí)別字段被設(shè)置為表征被允許的符號(hào)時(shí),以該符號(hào)表征該特征標(biāo)識(shí)為被允許狀態(tài)。
6.根據(jù)權(quán)利要求1至5中任意一項(xiàng)所述的權(quán)限請(qǐng)求響應(yīng)方法,其特征在于,其包括以下步驟:從遠(yuǎn)程接口獲取公共認(rèn)證列表數(shù)據(jù)并更新本地的所述認(rèn)證列表。
7.根據(jù)權(quán)利要求1至5中任意一項(xiàng)所述的權(quán)限請(qǐng)求響應(yīng)方法,其特征在于,當(dāng)采用該權(quán)限請(qǐng)求成功獲取Root權(quán)限后,綁定發(fā)起該權(quán)限請(qǐng)求的用戶進(jìn)程與服務(wù)進(jìn)程的通信,該服務(wù)進(jìn)程用于響應(yīng)執(zhí)行由用戶進(jìn)程請(qǐng)求執(zhí)行的指令。
8.根據(jù)權(quán)利要求1至5中任意一項(xiàng)所述的權(quán)限請(qǐng)求響應(yīng)方法,其特征在于,本地的所述認(rèn)證列表中,設(shè)置有用于表征與所述特征標(biāo)識(shí)相對(duì)應(yīng)的用戶程序的權(quán)限作用周期的類型標(biāo)識(shí),在向系統(tǒng)申請(qǐng)權(quán)限時(shí),對(duì)應(yīng)所述類型標(biāo)識(shí)申請(qǐng)不同類型的權(quán)限。
9.一種權(quán)限請(qǐng)求響應(yīng)裝置,其特征在于,其包括: 通信接口,被以系統(tǒng)級(jí)別的方式啟動(dòng),用于監(jiān)聽(tīng)外部權(quán)限請(qǐng)求; 檢索單元,用于依據(jù)該權(quán)限請(qǐng)求獲得請(qǐng)求方的特征標(biāo)識(shí),在預(yù)置的認(rèn)證列表中檢索該特征標(biāo)識(shí)是否處于被允許的狀態(tài); 處理單元,當(dāng)該特征標(biāo)識(shí)為被允許狀態(tài)時(shí),用于為該權(quán)限請(qǐng)求向系統(tǒng)申請(qǐng)權(quán)限。
10.根據(jù)權(quán)利要求9所述的權(quán)限請(qǐng)求響應(yīng)裝置,其特征在于,所述通信接口,為基于Android的Binder機(jī)制而建立的置于系統(tǒng)級(jí)別的通信服務(wù)進(jìn)程,通過(guò)與外部應(yīng)用進(jìn)程通信獲取所述權(quán)限請(qǐng)求。
【文檔編號(hào)】G06F21/45GK104346559SQ201410696530
【公開(kāi)日】2015年2月11日 申請(qǐng)日期:2014年11月26日 優(yōu)先權(quán)日:2014年11月26日
【發(fā)明者】宋振濤, 馬金亭, 鄒勇 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1