本發(fā)明涉及基于Android的個(gè)性化環(huán)境感知隱私保護(hù)方法,屬于移動(dòng)終端技術(shù)領(lǐng)域。
背景技術(shù):
近年來,移動(dòng)智能終端發(fā)展迅猛,至2015年,中國移動(dòng)智能設(shè)備數(shù)量將突破13億,其中Android平臺(tái)用戶占比約為73%。移動(dòng)應(yīng)用數(shù)量也隨之增長迅速,截至到2016年上半年,Android平臺(tái)下的移動(dòng)應(yīng)用數(shù)量超過200萬,人均使用應(yīng)用數(shù)量為26.7款。58%的用戶每天查看11-50次手機(jī),約為每小時(shí)查看1-2次。而有20%的用戶每天查看超過50次手機(jī)。這些移動(dòng)應(yīng)用覆蓋范圍從人們衣食住行到學(xué)習(xí)工作,從休閑娛樂到運(yùn)動(dòng)醫(yī)療,已經(jīng)人們深度融入日常生活。因此,移動(dòng)智能終端中存儲(chǔ)有大量的用戶隱私,根據(jù)其涉及的硬軟件形式不同,通常分為用戶生成數(shù)據(jù)、設(shè)備功能和設(shè)備標(biāo)識(shí)三類。用戶生成數(shù)據(jù)是指聯(lián)系人,短信息,通話記錄等由用戶在使用移動(dòng)智能終端過程中產(chǎn)生的隱私數(shù)據(jù);移動(dòng)智能終端豐富的傳感器和多媒體功能也涉及用戶位置等隱私信息,第二類是指定位、拍照、聯(lián)網(wǎng)等由設(shè)備硬件所提供的設(shè)備功能隱私;設(shè)備標(biāo)識(shí)是指IEMI,MAC地址等能夠識(shí)別設(shè)備硬件的唯一標(biāo)識(shí),能夠借此追蹤用戶身份。
用戶在享受移動(dòng)應(yīng)用提供便捷智能的服務(wù)的同時(shí),自身的隱私也面臨著嚴(yán)重威脅。在現(xiàn)有的Android安全機(jī)制下,移動(dòng)應(yīng)用能夠輕易地獲取這些隱私信息,據(jù)統(tǒng)計(jì),在移動(dòng)應(yīng)用的惡意行為數(shù)量排名中,隱私竊取排在第四位,58%以上的安卓軟件都有隱私信息泄密的問題。例如,有的移動(dòng)應(yīng)用功能本身不需要位置信息,為了實(shí)現(xiàn)精準(zhǔn)廣告投放或產(chǎn)品推送,在運(yùn)行的時(shí)候卻不斷獲取用戶位置信息,通過分析用戶數(shù)據(jù),獲得經(jīng)濟(jì)利益。有的惡意應(yīng)用還會(huì)借此進(jìn)行詐騙或者盜刷信用卡,給用戶造成巨額經(jīng)濟(jì)損失,甚至威脅用戶生命。如2013年1月高二女生曾某外出遇害,調(diào)查結(jié)果顯示,女孩平時(shí)熱衷微博社交,自己的位置隱私幾乎暴露無遺,不法分子所利用微博發(fā)現(xiàn)了女孩的日常行為習(xí)慣蹲點(diǎn)作案。惡意軟件已經(jīng)形成一條完整的黑金產(chǎn)業(yè)鏈,大量低成本的惡意應(yīng)用通過各種分發(fā)渠道安裝到用戶的移動(dòng)智能設(shè)備中,收集用戶隱私數(shù)據(jù)如短信、聯(lián)系人等,通過分析得到得到高價(jià)值目標(biāo),再針對(duì)目標(biāo)用戶投放高成本制作的偽裝惡意應(yīng)用,進(jìn)行針對(duì)性欺詐。
為了保護(hù)用戶的隱私信息,Android系統(tǒng)和許多安全廠商都提供了各自的隱私保護(hù)方法。Android是基于Linux的移動(dòng)操作系統(tǒng),其系統(tǒng)架構(gòu)分為四層,最底層是Linux內(nèi)核和硬件驅(qū)動(dòng)模塊,上面是各類共享庫和Android運(yùn)行時(shí)環(huán)境。第三層是Android架構(gòu)層,提供面向移動(dòng)應(yīng)用開發(fā)人員的接口,應(yīng)用層的各種移動(dòng)應(yīng)用可以調(diào)用這些接口實(shí)現(xiàn)各種功能。Android為每個(gè)應(yīng)用建立一個(gè)獨(dú)立的運(yùn)行時(shí)環(huán)境,運(yùn)行在不同的進(jìn)程中,保證應(yīng)用的自身數(shù)據(jù)安全。為了方便開發(fā)人員實(shí)現(xiàn)應(yīng)用之間的進(jìn)程通訊,Android提供了客戶端-服務(wù)器模式的Binder進(jìn)程通信機(jī)制,通過獲取相關(guān)應(yīng)用的客戶端就能與其通信。
Android系統(tǒng)對(duì)于用戶隱私數(shù)據(jù)的管理主要采用權(quán)限機(jī)制,例如通訊錄、電話、短信、網(wǎng)絡(luò)等,移動(dòng)應(yīng)用如果想獲得這些數(shù)據(jù),需要在manifest.xml文件中聲所需權(quán)限,獲得批準(zhǔn)后才能使用。移動(dòng)應(yīng)用在安裝時(shí),Android會(huì)提示用戶是否同意授權(quán),只有用戶同意,應(yīng)用運(yùn)行時(shí)才能調(diào)用API訪問受限資源。以應(yīng)用讀取聯(lián)系人信息為例,開發(fā)者首先要在應(yīng)用的manifest.xml文件中聲明android.permission.READ_CONTACTS,用戶同意安裝后,該應(yīng)用運(yùn)行時(shí)調(diào)用ContentResolver.query()方法以獲取聯(lián)系人信息,Android通過ActivityManagerNativeProxy.checkPermission()方法檢查該應(yīng)用是否被授權(quán)。該方法實(shí)際上作為客戶端,通過Binder將移動(dòng)應(yīng)用權(quán)限請(qǐng)求發(fā)送至位于System_server進(jìn)程中的服務(wù)器,由方法ActivityManagerService.checkPermission()實(shí)現(xiàn)具體的權(quán)限檢查操作,并將結(jié)果返回給客戶端。如果返回PERMISSION_GRANTED,該應(yīng)用便可以讀取,若返回PERMISSION_DENIED,即該應(yīng)用不能讀取聯(lián)系人信息。
但是,Android 6.0版本之前,用戶在安裝移動(dòng)應(yīng)用過程中,不能選擇授予部分權(quán)限,為了使用該應(yīng)用只能選擇將所有權(quán)限授予應(yīng)用,導(dǎo)致隱私信息泄露。Android 6.0版本后,系統(tǒng)內(nèi)置了運(yùn)行時(shí)的權(quán)限授予機(jī)制,但出于兼容性考量,新的權(quán)限機(jī)制僅適用于在Android 6.0下重新編譯過的應(yīng)用,不能有效限制舊有應(yīng)用。因此Android權(quán)限機(jī)制在實(shí)際使用中不能有效地保護(hù)用戶隱私。而且大部分用戶并不知道自己的隱私已經(jīng)被竊取,甚至沒有隱私保護(hù)的概念,面臨嚴(yán)峻的隱私威脅。
為了解決Android的這些缺陷,LBE安全大師、360極客版等安全軟件提出了不同的解決方案。主要采用列表形式向用戶展示應(yīng)用所需要的隱私信息,用戶可以通過設(shè)置“允許”,“拒絕”或者“提示”等方式控制應(yīng)用訪問,當(dāng)移動(dòng)應(yīng)用訪問用戶隱私時(shí),安全軟件會(huì)提示用戶,并根據(jù)用戶的實(shí)時(shí)決策對(duì)應(yīng)用訪問隱私信息的行為進(jìn)行控制。另外也有專利發(fā)明提出對(duì)Android權(quán)限系統(tǒng)的改進(jìn),如“基于TPM細(xì)粒度權(quán)限的Android系統(tǒng)安全增強(qiáng)系統(tǒng)及方法”。該發(fā)明提供以TPM為基礎(chǔ),以權(quán)限為管理粒度的細(xì)粒度安全保護(hù)方法,但沒有考慮到用戶隱私需求隨環(huán)境語義不同而變化的情況,在場(chǎng)景維度上仍屬于粗粒度。
上述安全助手與專利發(fā)明雖然彌補(bǔ)了Android系統(tǒng)的權(quán)限機(jī)制的不足,但是不能根據(jù)不同的環(huán)境執(zhí)行制定不同的隱私策略。用戶對(duì)于應(yīng)用的隱私需求會(huì)隨著所處環(huán)境的改變而發(fā)生變化,而現(xiàn)有工作只能提供粗粒度的隱私策略設(shè)置,用戶只能對(duì)某一應(yīng)用的隱私請(qǐng)求選擇授予或者拒絕,無法滿足用戶在使用過程中的個(gè)性化隱私需求;另一個(gè)問題是隱私管理的復(fù)雜度,使用這類軟件需要具備一定的專業(yè)知識(shí),普通用戶難以理解權(quán)限的意義和設(shè)置方式,無法達(dá)到保護(hù)用戶隱私的目的。因此,需要一種界面友好,且能理解用戶個(gè)性化隱私需求的、環(huán)境感知隱私保護(hù)方法。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明概述:
針對(duì)現(xiàn)有基于授權(quán)的隱私保護(hù)機(jī)制沒有考慮用戶習(xí)慣和使用環(huán)境的問題,本發(fā)明提供一種基于Android的個(gè)性化環(huán)境感知隱私保護(hù)方法。本發(fā)明為了滿足用戶的因環(huán)境變化的個(gè)性化隱私需求,系統(tǒng)需要感知移動(dòng)應(yīng)用的使用環(huán)境和用戶習(xí)慣,如時(shí)間、位置、用戶交互情況、應(yīng)用類型、具體行為等,對(duì)移動(dòng)設(shè)備所處環(huán)境進(jìn)行深度的語義解析與用戶行為學(xué)習(xí),及時(shí)調(diào)整授權(quán)策略,滿足用戶需求。本發(fā)明還同時(shí)提供自主可控的隱私管理模式,用戶可以通過設(shè)置隱私策略表達(dá)自己的隱私需求,針對(duì)特定場(chǎng)景和隱私請(qǐng)求設(shè)定授權(quán)策略,實(shí)現(xiàn)細(xì)粒度的自主可控的隱私保護(hù)。本發(fā)明所述方法將攔截Android系統(tǒng)中應(yīng)用對(duì)隱私信息的請(qǐng)求,通過環(huán)境感知獲取移動(dòng)設(shè)備當(dāng)前的使用場(chǎng)景,根據(jù)用戶指定的隱私策略提供個(gè)性化隱私保護(hù)。
本發(fā)明的技術(shù)方案如下:
一種基于Android的個(gè)性化環(huán)境感知隱私保護(hù)方法,包括:攔截移動(dòng)應(yīng)用的隱私權(quán)限請(qǐng)求、基于功能語義的環(huán)境感知和隱私?jīng)Q策;所述基于功能語義的環(huán)境感知和隱私?jīng)Q策是指依據(jù)環(huán)境的功能語義理解用戶使用移動(dòng)應(yīng)用的場(chǎng)景,并以此實(shí)施相應(yīng)隱私策略;
當(dāng)所述移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求與所述基于功能語義的環(huán)境下隱私策略匹配時(shí),按照隱私策略允許或是拒絕該移動(dòng)應(yīng)用訪問用戶隱私信息。
根據(jù)本發(fā)明優(yōu)選的,所述方法還包括交互式用戶隱私需求設(shè)定:當(dāng)不存在匹配的基于功能語義的環(huán)境下隱私策略時(shí),則告知用戶所述移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求,如用戶允許,則允許移動(dòng)應(yīng)用訪問用戶隱私信息;否則,不允許。
根據(jù)本發(fā)明優(yōu)選的,所述攔截移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求,利用以下方式實(shí)現(xiàn):
使用Xposed框架hook系統(tǒng)API實(shí)現(xiàn),通過編寫Xposed模塊,掛鉤hook系統(tǒng)中相關(guān)功能函數(shù),以實(shí)現(xiàn)環(huán)境感知的隱私?jīng)Q策邏輯。Xposed框架是一款可以在不修改Android程序代碼的情況下影響程序運(yùn)行的框架服務(wù)?;赬posed框架編寫的模塊可以在不修改Android內(nèi)核源代碼的情況下,調(diào)整Android系統(tǒng)部分服務(wù)的執(zhí)行邏輯,以擴(kuò)展系統(tǒng)功能。為了實(shí)現(xiàn)對(duì)應(yīng)用隱私請(qǐng)求的攔截,本發(fā)明通過編寫Xposed模塊,掛鉤系統(tǒng)中與權(quán)限管理相關(guān)的API以實(shí)現(xiàn)環(huán)境感知的隱私保護(hù)決策邏輯。
根據(jù)本發(fā)明優(yōu)選的,所述攔截移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求方式具體為:
通過掛鉤ActivityManagerServce.checkPermission()函數(shù),攔截觸發(fā)Android系統(tǒng)權(quán)限檢查的隱私請(qǐng)求,擴(kuò)展Android原生權(quán)限檢查邏輯,加入環(huán)境感知的隱私?jīng)Q策;
和/或,通過掛鉤具體涉及隱私信息的系統(tǒng)功能性API,實(shí)現(xiàn)對(duì)移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求的行為控制。例如通過掛鉤LocationManager類中各函數(shù),實(shí)現(xiàn)對(duì)應(yīng)用訪問位置信息的請(qǐng)求攔截,并通過具體調(diào)用函數(shù)不同決定不同的隱私策略。應(yīng)用隱私請(qǐng)求攔截模塊實(shí)現(xiàn)邏輯參見圖3。
根據(jù)本發(fā)明優(yōu)選的,基于功能語義的環(huán)境感知和隱私?jīng)Q策包括:
用戶提前預(yù)設(shè)用戶隱私策略:包括不同語義環(huán)境信息下所對(duì)應(yīng)的用戶隱私?jīng)Q策;
當(dāng)移動(dòng)應(yīng)用發(fā)起隱私權(quán)限請(qǐng)求時(shí),通過獲取用戶的環(huán)境信息、解析所述環(huán)境信息為語義環(huán)境信息,并匹配得到與當(dāng)前語義環(huán)境信息符合的用戶隱私策略。完成執(zhí)行隱私策略中規(guī)定的操作,實(shí)現(xiàn)自主可控的環(huán)境感知隱私保護(hù)。為實(shí)現(xiàn)自主可控的環(huán)境感知隱私保護(hù),需要對(duì)移動(dòng)設(shè)備的使用環(huán)境進(jìn)行監(jiān)控和感知,并建立合理的策略匹配機(jī)制。
根據(jù)本發(fā)明優(yōu)選的,所述用戶的環(huán)境信息包括:移動(dòng)智能終端記載的時(shí)間、用戶位置、用戶與移動(dòng)智能終端的交互頻度和使用功能。
根據(jù)本發(fā)明優(yōu)選的,所述將環(huán)境信息解析為語義環(huán)境信息,包括:
將所述用戶的環(huán)境信息、用戶的行為目的和用戶隱私需求結(jié)合起來,形成語義環(huán)境信息。例如,如果用戶在北京市西城區(qū)長椿街45號(hào)區(qū)域停留了較長時(shí)間,我們不是直接依據(jù)地點(diǎn)的地理坐標(biāo),而是通過公開的位置信息服務(wù)獲取位置的功能類型信息,解析為區(qū)域位置的語義內(nèi)容,當(dāng)前位置為宣武醫(yī)院,功能類型醫(yī)院是敏感信息;有的地方的功能類型為商業(yè)街,有的功能類型為學(xué)校等。本發(fā)明通過Android API獲取移動(dòng)設(shè)備當(dāng)前位置、各種傳感器數(shù)據(jù)以及用戶交互情況信息,通過關(guān)聯(lián)多種因素進(jìn)一步進(jìn)行語義行為解析,例如長時(shí)間頻繁停留的位置可能是工作環(huán)境,判斷用戶的行為場(chǎng)景如就醫(yī)、工作、出行、娛樂等。執(zhí)行邏輯可見附圖4。
本發(fā)明采用功能類型的語義環(huán)境信息,而不是樸素的地理位置和時(shí)間等信息,優(yōu)點(diǎn)在于:通過考慮環(huán)境信息,將傳統(tǒng)粗粒度的應(yīng)用和權(quán)限請(qǐng)求的二元組隱私策略模式擴(kuò)展為更細(xì)粒度的多元組隱私策略模式,包含了使用環(huán)境、應(yīng)用功能和用戶行為模式等豐富語義,通過解析環(huán)境語義信息,理解用戶行為和隱私需求,更好地進(jìn)行隱私保護(hù)。
根據(jù)本發(fā)明優(yōu)選的,所述交互式用戶隱私需求設(shè)定,還包括:
當(dāng)不存在匹配的基于功能語義的環(huán)境下隱私策略時(shí),則告知用戶所述移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求,并允許用戶設(shè)定針對(duì)特定環(huán)境下、和/或特定應(yīng)用的授權(quán)隱私策略;然后根據(jù)所述授權(quán)隱私策略對(duì)應(yīng)執(zhí)行所述移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求的隱私?jīng)Q策。
根據(jù)本發(fā)明優(yōu)選的,交互式用戶隱私需求設(shè)定,還包括:學(xué)習(xí)用戶的行為模式和隱私需求,不斷補(bǔ)充和更新用戶隱私策略庫供用戶選擇。所述用戶的行為模式和隱私需求為用戶針對(duì)不同環(huán)境或應(yīng)用時(shí)所傾向采取的授權(quán)隱私策略。便于以后決策建議。
考慮到普通用戶技術(shù)能力薄弱,缺乏隱私保護(hù)意識(shí)缺乏,為了提高本發(fā)明的適用性和保護(hù)用戶隱私的有效性,本發(fā)明一方面提供用戶自主可控、交互方式友好的策略管理,另一方面提供用戶隱私泄露與保護(hù)情況。不同于現(xiàn)有技術(shù),本發(fā)明不僅提供即時(shí)隱私?jīng)Q策,還學(xué)習(xí)用戶的行為模式,不斷補(bǔ)充和更新用戶隱私策略庫,便于以后決策建議。
為了讓普通用戶更好地理解隱私保護(hù)結(jié)果,本發(fā)明分析移動(dòng)應(yīng)用在不同環(huán)境中的隱私請(qǐng)求及策略執(zhí)行情況,并通過圖表等友好形式展示統(tǒng)計(jì)分析結(jié)果,幫助用戶了解自身的隱私泄露情況,協(xié)助用戶制定有針對(duì)性的隱私保護(hù)策略。
本發(fā)明的優(yōu)勢(shì)在于:
1.本發(fā)明提供細(xì)粒度隱私保護(hù)方法。為用戶提供了更靈活的隱私保護(hù)方式,對(duì)應(yīng)用的每次隱私請(qǐng)求根據(jù)用戶隱私需求可做出不同決策。相比于其它安全軟件,本發(fā)明能滿足用戶個(gè)性化隱私需求。
2.本發(fā)明提供實(shí)時(shí)環(huán)境感知的隱私?jīng)Q策。能夠理解用戶使用移動(dòng)應(yīng)用的環(huán)境信息和行為模式,匹配不同適用的隱私策略,更好地兼顧用戶行為目的和隱私需求。
3.本發(fā)明提供用戶感知的隱私使用情況分析,能夠自主學(xué)習(xí)和更新用戶隱私策略。為普通用戶提供隱私定義和權(quán)限實(shí)時(shí)決策兩種方式,并讓用戶及時(shí)了解移動(dòng)應(yīng)用行為和對(duì)比分析,提高用戶隱私保護(hù)意識(shí);通過學(xué)習(xí)用戶決策行為,提煉出可服用的個(gè)性化隱私策略,比現(xiàn)有工作更具實(shí)用性。
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
附圖說明
圖1:本發(fā)明的模塊關(guān)系圖。圖中左側(cè)部分為實(shí)施例中,掛鉤ActivityManager擴(kuò)展Android權(quán)限管理邏輯和掛鉤LocationManager實(shí)現(xiàn)細(xì)粒度行為控制的兩種情況的示意圖。
圖2:本發(fā)明的執(zhí)行邏輯流程圖。
圖3:應(yīng)用隱私請(qǐng)求攔截模塊技術(shù)架構(gòu)及執(zhí)行流程圖。左側(cè)為Android系統(tǒng)架構(gòu)。Android應(yīng)用通過調(diào)用功能性API(如通過LocationManager獲取位置信息)獲取隱私數(shù)據(jù)。在Android系統(tǒng)框架內(nèi)部該請(qǐng)求需要經(jīng)過權(quán)限管理系統(tǒng)檢查授權(quán)。本發(fā)明通過API掛鉤技術(shù)在此兩層面上攔截應(yīng)用隱私請(qǐng)求。
圖4:基于語義的環(huán)境感知流程圖。本發(fā)明結(jié)合移動(dòng)設(shè)備上獲取的各種環(huán)境數(shù)據(jù),結(jié)合外部環(huán)境語義信息知識(shí),對(duì)當(dāng)前移動(dòng)設(shè)備產(chǎn)生語義化的環(huán)境信息。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1-4所示。
實(shí)施例1、
一種基于Android的個(gè)性化環(huán)境感知隱私保護(hù)方法,包括:攔截移動(dòng)應(yīng)用的隱私權(quán)限請(qǐng)求、基于功能語義的環(huán)境感知和隱私?jīng)Q策;所述基于功能語義的環(huán)境感知和隱私?jīng)Q策是指依據(jù)環(huán)境的功能語義理解用戶使用移動(dòng)應(yīng)用的場(chǎng)景,并以此實(shí)施相應(yīng)隱私策略;
當(dāng)所述移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求與所述基于功能語義的環(huán)境下隱私策略匹配時(shí),按照隱私策略允許或是拒絕該移動(dòng)應(yīng)用訪問用戶隱私信息。
實(shí)施例2、
如實(shí)施例1所述的一種基于Android的個(gè)性化環(huán)境感知隱私保護(hù)方法,所述方法還包括交互式用戶隱私需求設(shè)定:當(dāng)不存在匹配的基于功能語義的環(huán)境下隱私策略時(shí),則告知用戶所述移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求,如用戶允許,則允許移動(dòng)應(yīng)用訪問用戶隱私信息;否則,不允許。
實(shí)施例3、
如實(shí)施例1所述的一種基于Android的個(gè)性化環(huán)境感知隱私保護(hù)方法,所述攔截移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求,利用以下方式實(shí)現(xiàn):
使用Xposed框架hook系統(tǒng)API實(shí)現(xiàn),通過編寫Xposed模塊,掛鉤hook系統(tǒng)中相關(guān)功能函數(shù),以實(shí)現(xiàn)環(huán)境感知的隱私?jīng)Q策邏輯。Xposed框架是一款可以在不修改Android程序代碼的情況下影響程序運(yùn)行的框架服務(wù)?;赬posed框架編寫的模塊可以在不修改Android內(nèi)核源代碼的情況下,調(diào)整Android系統(tǒng)部分服務(wù)的執(zhí)行邏輯,以擴(kuò)展系統(tǒng)功能。為了實(shí)現(xiàn)對(duì)應(yīng)用隱私請(qǐng)求的攔截,本發(fā)明通過編寫Xposed模塊,掛鉤系統(tǒng)中與權(quán)限管理相關(guān)的API以實(shí)現(xiàn)環(huán)境感知的隱私保護(hù)決策邏輯。
所述攔截移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求方式具體為:
通過掛鉤ActivityManagerServce.checkPermission()函數(shù),攔截觸發(fā)Android系統(tǒng)權(quán)限檢查的隱私請(qǐng)求,擴(kuò)展Android原生權(quán)限檢查邏輯,加入環(huán)境感知的隱私?jīng)Q策;
和/或,通過掛鉤具體涉及隱私信息的系統(tǒng)功能性API,實(shí)現(xiàn)對(duì)移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求的行為控制。通過掛鉤LocationManager類中各函數(shù),實(shí)現(xiàn)對(duì)應(yīng)用訪問位置信息的請(qǐng)求攔截,并通過具體調(diào)用函數(shù)不同決定不同的隱私策略。應(yīng)用隱私請(qǐng)求攔截模塊實(shí)現(xiàn)邏輯參見圖3。
實(shí)施例4、
如實(shí)施例1所述的一種基于Android的個(gè)性化環(huán)境感知隱私保護(hù)方法,基于功能語義的環(huán)境感知和隱私?jīng)Q策包括:
用戶提前預(yù)設(shè)用戶隱私策略:包括不同語義環(huán)境信息下所對(duì)應(yīng)的用戶隱私?jīng)Q策;
當(dāng)移動(dòng)應(yīng)用發(fā)起隱私權(quán)限請(qǐng)求時(shí),通過獲取用戶的環(huán)境信息、解析所述環(huán)境信息為語義環(huán)境信息,并匹配得到與當(dāng)前語義環(huán)境信息符合的用戶隱私策略。完成執(zhí)行隱私策略中規(guī)定的操作,實(shí)現(xiàn)自主可控的環(huán)境感知隱私保護(hù)。為實(shí)現(xiàn)自主可控的環(huán)境感知隱私保護(hù),需要對(duì)移動(dòng)設(shè)備的使用環(huán)境進(jìn)行監(jiān)控和感知,并建立合理的策略匹配機(jī)制。
實(shí)施例5、
如實(shí)施例4所述的一種基于Android的個(gè)性化環(huán)境感知隱私保護(hù)方法,所述用戶的環(huán)境信息包括:移動(dòng)智能終端記載的時(shí)間、用戶位置、用戶與移動(dòng)智能終端的交互頻度和使用功能。
所述將環(huán)境信息解析為語義環(huán)境信息,包括:
將所述用戶的環(huán)境信息、用戶的行為目的和用戶隱私需求結(jié)合起來,形成語義環(huán)境信息。例如,如果用戶在北京市西城區(qū)長椿街45號(hào)區(qū)域停留了較長時(shí)間,我們不是直接依據(jù)地點(diǎn)的地理坐標(biāo),而是通過公開的位置信息服務(wù)獲取位置的功能類型信息,解析為區(qū)域位置的語義內(nèi)容,當(dāng)前位置為宣武醫(yī)院,功能類型醫(yī)院是敏感信息;有的地方的功能類型為商業(yè)街,有的功能類型為學(xué)校等。本發(fā)明通過Android API獲取移動(dòng)設(shè)備當(dāng)前位置、各種傳感器數(shù)據(jù)以及用戶交互情況信息,通過關(guān)聯(lián)多種因素進(jìn)一步進(jìn)行語義行為解析,例如長時(shí)間頻繁停留的位置可能是工作環(huán)境,判斷用戶的行為場(chǎng)景如就醫(yī)、工作、出行、娛樂等。執(zhí)行邏輯可見附圖4。
實(shí)施例6、
如實(shí)施例2所述的一種基于Android的個(gè)性化環(huán)境感知隱私保護(hù)方法,所述交互式用戶隱私需求設(shè)定,還包括:
當(dāng)不存在匹配的基于功能語義的環(huán)境下隱私策略時(shí),則告知用戶所述移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求,并允許用戶設(shè)定針對(duì)特定環(huán)境下、和/或特定應(yīng)用的授權(quán)隱私策略;然后根據(jù)所述授權(quán)隱私策略對(duì)應(yīng)執(zhí)行所述移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求的隱私?jīng)Q策。
實(shí)施例7、
如實(shí)施例6所述的一種基于Android的個(gè)性化環(huán)境感知隱私保護(hù)方法,所述交互式用戶隱私需求設(shè)定,還包括:學(xué)習(xí)用戶的行為模式和隱私需求,不斷補(bǔ)充和更新用戶隱私策略庫供用戶選擇。
通過實(shí)施例1-7實(shí)現(xiàn)以下應(yīng)用例1、2的具體方法:
應(yīng)用例1:
1.某應(yīng)用A通過ContentResolver.query()試圖獲取聯(lián)系人信息。
2.ContentResolver.query()觸發(fā)系統(tǒng)權(quán)限檢查,調(diào)用ActivityManagerService.checkPermission()函數(shù)。
3.實(shí)施例3所述技術(shù)內(nèi)容通過隱私請(qǐng)求攔截模塊實(shí)現(xiàn),即通過函數(shù)掛鉤攔截到該調(diào)用。通過檢查函數(shù)參數(shù),獲取觸發(fā)應(yīng)用信息及隱私請(qǐng)求行為,將信息傳遞給策略匹配模塊,所述策略匹配模塊負(fù)責(zé)將所述移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求與所述基于功能語義的環(huán)境下隱私策略匹配;
4.策略匹配模塊通過獲取環(huán)境感知監(jiān)聽器中的信息,獲取當(dāng)前移動(dòng)設(shè)備所處使用環(huán)境。根據(jù)環(huán)境感知監(jiān)聽器通過獲取用戶當(dāng)前環(huán)境信息如時(shí)間、位置等,使用百度地圖提供的公開API,將地理位置坐標(biāo)轉(zhuǎn)換為具有功能標(biāo)簽的地點(diǎn)說明,結(jié)合用戶歷史行為和用戶隱私需求,形成語義環(huán)境信息。
5.策略匹配模塊根據(jù)語義環(huán)境信息與應(yīng)用請(qǐng)求信息,在隱私策略庫中尋找對(duì)應(yīng)隱私?jīng)Q策。所述隱私策略庫由根據(jù)本發(fā)明中實(shí)施例6所設(shè)計(jì)的用戶交互隱私設(shè)置,以及根據(jù)實(shí)施例7設(shè)計(jì)的自主學(xué)習(xí)機(jī)制產(chǎn)生,描述根據(jù)用戶隱私需求對(duì)特定環(huán)境下特定應(yīng)用的特定請(qǐng)求允許與否的決策。
6.成功查找到匹配的策略,根據(jù)策略設(shè)定的決策,決定應(yīng)用A是否能夠獲取聯(lián)系人信息,將決策結(jié)果返回給隱私請(qǐng)求攔截模塊。
7.應(yīng)用隱私請(qǐng)求攔截模塊根據(jù)隱私?jīng)Q策結(jié)果修改checkPermission()函數(shù)返回值,控制授權(quán)結(jié)果。
應(yīng)用例2:
1.某應(yīng)用B通過LocationManager.getLastKnownLocation()試圖獲取用戶位置信息。
2.實(shí)施例3所述技術(shù)內(nèi)容通過隱私請(qǐng)求攔截模塊實(shí)現(xiàn),通過函數(shù)掛鉤攔截到該調(diào)用。通過檢查函數(shù)參數(shù),獲取觸發(fā)應(yīng)用信息及隱私請(qǐng)求行為,將信息傳遞給根據(jù)本發(fā)明中實(shí)施例3所設(shè)計(jì)的策略匹配模塊,所述策略匹配模塊負(fù)責(zé)將所述移動(dòng)應(yīng)用隱私權(quán)限請(qǐng)求與所述基于功能語義的環(huán)境下隱私策略匹配;
3.策略匹配模塊通過獲取環(huán)境感知監(jiān)聽器中的信息,獲取當(dāng)前移動(dòng)設(shè)備所處使用環(huán)境。根據(jù)環(huán)境感知監(jiān)聽器通過獲取用戶當(dāng)前環(huán)境信息如時(shí)間、位置等,使用高德地圖提供的POI周邊搜索API,將地理位置坐標(biāo)轉(zhuǎn)換為帶有功能標(biāo)簽的附近地點(diǎn),結(jié)合用戶歷史行為和用戶隱私需求,形成語義環(huán)境信息。
4.策略匹配模塊根據(jù)語義環(huán)境信息與應(yīng)用請(qǐng)求信息,在隱私策略庫中尋找對(duì)應(yīng)策略。隱私策略庫由根據(jù)本發(fā)明中實(shí)施例6所設(shè)計(jì)的用戶交互隱私設(shè)置,以及根據(jù)實(shí)施例7設(shè)計(jì)的自主學(xué)習(xí)機(jī)制產(chǎn)生,描述根據(jù)用戶隱私需求對(duì)特定環(huán)境下特定應(yīng)用的特定請(qǐng)求允許與否的決策。
5.成功查找到匹配的策略,根據(jù)策略執(zhí)行對(duì)應(yīng)的隱私?jīng)Q策,決定應(yīng)用B是否能夠獲取用戶位置信息,將隱私?jīng)Q策結(jié)果返回給應(yīng)用隱私請(qǐng)求攔截模塊。
6.應(yīng)用隱私請(qǐng)求攔截模塊根據(jù)隱私?jīng)Q策結(jié)果,決定函數(shù)返回值。若為允許則返回真實(shí)用戶位置,若為禁止,則拒絕返回地點(diǎn)信息或返回偽造的虛假地點(diǎn)以保護(hù)用戶隱私。