Android P 安全行為變更

安全行為變更

Android P 引入了若干可提升應(yīng)用和運行應(yīng)用的設(shè)備安全性的行為變更藕甩。 本頁面介紹對第三方應(yīng)用開發(fā)者最重要的平臺變更命爬,需要他們牢記在心曹傀。

影響所有應(yīng)用的行為變更

無論應(yīng)用的目標(biāo)平臺版本如何,Android P 添加的若干功能均可令應(yīng)用的安全性得到改善饲宛。

新增的 APK 密鑰輪轉(zhuǎn)

Android P 添加了對 APK Signature Scheme v3 的支持皆愉。該架構(gòu)提供的選擇可以在其簽名塊中為每個簽名證書加入一條輪轉(zhuǎn)證據(jù)記錄。 應(yīng)用可以通過將 APK 文件過去的簽名證書鏈接到現(xiàn)在簽署應(yīng)用時使用的證書艇抠,使用新簽名證書來簽署應(yīng)用幕庐。

除了可以使用新簽名,您仍可使用舊簽名證書來簽署應(yīng)用家淤。 這樣一來异剥,用戶就可以將應(yīng)用安裝在運行 Android 8.1(API 級別 27)的設(shè)備上,或者運行的 Android 版本較低絮重,不支持更改簽名證書的設(shè)備上冤寿。

傳輸層安全協(xié)議 (TLS) 實現(xiàn)變更

系統(tǒng)的傳輸層安全協(xié)議 (TLS) 實現(xiàn)在 Android P 中經(jīng)歷了若干次變更:

  • 如果 SSLSocket 的實例在創(chuàng)建時連接失敗,現(xiàn)在系統(tǒng)會引發(fā) IOException 而非 NullPointerException青伤。
  • SSLEngine 類現(xiàn)在可正常處理出現(xiàn)的任何 close_notify 提醒督怜。

更嚴(yán)格的 Seccomp 過濾器

我們對可供應(yīng)用使用的系統(tǒng)調(diào)用做了進一步限制。 應(yīng)用不受影響狠角,但前提是應(yīng)用使用 Bionic 內(nèi)容庫号杠,并且不直接進行系統(tǒng)調(diào)用。

對 ChaCha20 流式傳輸加密的支持

Android 平臺現(xiàn)在提供 RFC 7539 中所述的 ChaCha20 加密實現(xiàn)丰歌, {: .external-link}既有純粹的流式傳輸加密形式 ChaCha20/None/NoPadding姨蟋,也有 ChaCha20 + Poly1305 AEAD 形式 ChaCha20/Poly1305/NoPadding。

舊版加密支持

附帶 Keymaster 4 的 Android P 設(shè)備支持三重數(shù)據(jù)加密算法(簡稱三重 DES)立帖。 如果您的應(yīng)用與需要三重 DES 的舊版系統(tǒng)進行互操作芬探,請使用這種加密來加密敏感憑據(jù)。

影響以 Android P 為目標(biāo)平臺的應(yīng)用的行為變更

Android P 添加的若干功能可改善應(yīng)用的安全性厘惦,但僅當(dāng)應(yīng)用以 Android P 為目標(biāo)平臺時偷仿,才能獲得這些改善。

默認(rèn)情況下啟用網(wǎng)絡(luò)傳輸層安全協(xié)議 (TLS)

如果您的應(yīng)用以 Android P 為目標(biāo)平臺宵蕉,則默認(rèn)情況下 isCleartextTrafficPermitted() 函數(shù)返回 false酝静。 因此,如果您的應(yīng)用需要為特定域名啟用明文羡玛,您需要在應(yīng)用的網(wǎng)絡(luò)安全性配置中將 cleartextTrafficPermitted 顯式地設(shè)置為 true别智。

按進程分設(shè)基于網(wǎng)絡(luò)的數(shù)據(jù)目錄

在 Android P 中,為改善應(yīng)用穩(wěn)定性和數(shù)據(jù)完整性稼稿,應(yīng)用無法再讓多個進程共用同一 WebView 數(shù)據(jù)目錄薄榛。 此類數(shù)據(jù)目錄一般存儲 Cookie讳窟、HTTP 緩存以及其他與網(wǎng)絡(luò)瀏覽有關(guān)的持久性和臨時性存儲。

在大多數(shù)情況下敞恋,您的應(yīng)用只應(yīng)在一個進程中使用 android.webkit 軟件包中的類丽啡,例如 WebView 和 CookieManager。 例如硬猫,您應(yīng)該將所有使用 WebView 的 Activity 對象移入同一進程补箍。 您可以通過在應(yīng)用的其他進程中調(diào)用 disableWebView(),更嚴(yán)格地執(zhí)行“僅限一個進程”規(guī)則啸蜜。 該調(diào)用可防止 WebView 在這些其他進程中被錯誤地初始化坑雅,即使是從依賴內(nèi)容庫進行的調(diào)用也能防止。

如果您的應(yīng)用必須在多個進程中使用 WebView 的實例衬横,則必須先利用 WebView.setDataDirectorySuffix() 函數(shù)為每個進程指定不同的數(shù)據(jù)目錄后綴裹粤,然后再在該進程中使用 WebView 的給定實例。 該函數(shù)會將每個進程的網(wǎng)絡(luò)數(shù)據(jù)放入其在應(yīng)用數(shù)據(jù)目錄內(nèi)自己的目錄中蜂林。

注:即使您使用 setDataDirectorySuffix()遥诉,系統(tǒng)也不會跨應(yīng)用的進程界限共享 Cookie 以及其他網(wǎng)絡(luò)數(shù)據(jù)。 如果應(yīng)用中的多個進程需要訪問同一網(wǎng)絡(luò)數(shù)據(jù)悉尾,您需要自行在這些進程之間復(fù)制數(shù)據(jù)突那。 例如,您可以調(diào)用 getCookie() 和 setCookie()构眯,在不同進程之間手動傳送 Cookie 數(shù)據(jù)愕难。

以應(yīng)用為單位的 SELinux 域名

以 Android P 為目標(biāo)平臺的應(yīng)用無法再利用可全球訪問的 Unix 權(quán)限與其他應(yīng)用共享數(shù)據(jù)。 此變更可改善 Android 應(yīng)用沙盒的完整性惫霸, {: .external-link}具體地講猫缭,就是要求應(yīng)用的私有數(shù)據(jù)只能由該應(yīng)用訪問。
要與其他應(yīng)用共享文件壹店,請使用 content provider或外部存儲空間內(nèi)的共享空間猜丹。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市硅卢,隨后出現(xiàn)的幾起案子射窒,更是在濱河造成了極大的恐慌,老刑警劉巖将塑,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脉顿,死亡現(xiàn)場離奇詭異,居然都是意外死亡点寥,警方通過查閱死者的電腦和手機艾疟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蔽莱,你說我怎么就攤上這事弟疆。” “怎么了盗冷?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵怠苔,是天一觀的道長。 經(jīng)常有香客問我正塌,道長嘀略,這世上最難降的妖魔是什么恤溶? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任乓诽,我火速辦了婚禮,結(jié)果婚禮上咒程,老公的妹妹穿的比我還像新娘鸠天。我一直安慰自己,他們只是感情好帐姻,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布稠集。 她就那樣靜靜地躺著,像睡著了一般饥瓷。 火紅的嫁衣襯著肌膚如雪剥纷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天呢铆,我揣著相機與錄音晦鞋,去河邊找鬼。 笑死棺克,一個胖子當(dāng)著我的面吹牛悠垛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播娜谊,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼确买,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了纱皆?” 一聲冷哼從身側(cè)響起湾趾,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎派草,沒想到半個月后搀缠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡澳眷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年胡嘿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钳踊。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡衷敌,死狀恐怖勿侯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情缴罗,我是刑警寧澤助琐,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站面氓,受9級特大地震影響兵钮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜舌界,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一掘譬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧呻拌,春花似錦葱轩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至猾普,卻和暖如春袜炕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背初家。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工偎窘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人笤成。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓评架,卻偏偏與公主長得像,于是被迫代替她去往敵國和親炕泳。 傳聞我的和親對象是個殘疾皇子纵诞,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,522評論 25 707
  • Android P 在加強app安全方面,推出了一些變動培遵。本篇主要介紹對于一些第三方app開發(fā)者浙芙,需要牢記在心的變...
    GhostInMatrix閱讀 1,212評論 0 1
  • 2014-9-8 18:21 在夢里經(jīng)常夢到小時候住過的地方,也一直想過去看看籽腕,說說念念很多次嗡呼,也一直未能如愿。今...
    博美之愛閱讀 5,240評論 1 1
  • 最初看到這個影片名字皇耗,其實是不感興趣的南窗,心想還不知道是怎么意淫出來的這么一個主題呢。吸引我進入影院的是坐公交車介紹...
    蝸牛倩閱讀 326評論 0 0
  • 共享要解決誰的問題? 資源是有限的万伤,也是“無窮的”窒悔。有限是相對于使用的緊張度,無窮是相對于使用的閑置度來講敌买。共享就...
    噠噠luada閱讀 92評論 0 0