




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
8.1Android安全框架8.2應(yīng)用程序簽名8.3Android權(quán)限模型8.4Oauth2認(rèn)證協(xié)議8安全和用戶管理8.1Android安全架構(gòu)安全OS(LinuxKernel)應(yīng)用程序沙箱Android權(quán)限機(jī)制安全的進(jìn)程間通信(IPC)應(yīng)用程序簽名8.2Linux安全機(jī)制基于用戶,組的訪問控制每個(gè)Linux進(jìn)程都會(huì)分配兩組ID:實(shí)際用戶ID,組ID:(RUID,RGID)創(chuàng)建該進(jìn)程的用戶ID有效用戶ID,組ID:(EUID,EGID)用于訪問資源時(shí)的權(quán)限檢查文件權(quán)限drwxr-xr-x2rootroot409611月2808:32bin8.3Android的權(quán)限模型每個(gè)程序在安裝時(shí)都會(huì)分配唯一的用戶ID,用以保護(hù)數(shù)據(jù)不被其它應(yīng)用獲取。Android根據(jù)不同的用戶和組,分配不同權(quán)限,比如訪問SD卡,訪問網(wǎng)絡(luò)等等應(yīng)用程序?qū)?yīng)的進(jìn)程使用分配的用戶ID作為進(jìn)程的RUID,EUID運(yùn)行。具有相同UID的應(yīng)用程序可以運(yùn)行在同一個(gè)進(jìn)程內(nèi)。應(yīng)用程序沙箱(sandbox)沙箱:受限的程序運(yùn)行環(huán)境每個(gè)Android程序都在一個(gè)沙箱中運(yùn)行程序只能訪問所屬沙箱內(nèi)的資源,而不能直接訪問其他沙箱內(nèi)的資源對(duì)操作系統(tǒng)資源的訪問控制內(nèi)核之上所有程序都處于AndroidSandbox中不同ID的APP運(yùn)行在相互獨(dú)立的沙箱中具有相同UID的APP運(yùn)行在同一沙箱內(nèi)Android定義的用戶和組#defineAID_ROOT0/*traditionalunixrootuser*/#defineAID_SYSTEM1000/*systemserver*/#defineAID_RADIO1001/*telephonysubsystem,RIL*/#defineAID_BLUETOOTH1002/*bluetoothsubsystem*/#defineAID_GRAPHICS1003/*graphicsdevices*/#defineAID_INPUT1004/*inputdevices*/#defineAID_AUDIO1005/*audiodevices*/#defineAID_CAMERA1006/*cameradevices*/#defineAID_LOG1007/*logdevices*/#defineAID_COMPASS1008/*compassdevice*/#defineAID_MOUNT1009/*mountdsocket*/#defineAID_WIFI1010/*wifisubsystem*/#defineAID_ADB1011/*androiddebugbridge(adbd)舉例:查看當(dāng)前SHELL登陸用戶shell@mako:/$ididuid=2000(shell)gid=2000(shell)groups=1003(graphics),1004(input),1007(log),1009(mount),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats)context=u:r:shell:s0ls-al/mnt/drwxr-xr-xrootsystem2014-05-2900:11asecdrwxr-xr-xrootsystem2014-05-2900:11obbd---rwxr-xsystemsdcard_rw1970-01-0100:00sdcar使用共享UID在多個(gè)APK間實(shí)現(xiàn)數(shù)據(jù)互訪多個(gè)APK可以在AndroidMenifiest.xml中指定相同的SharedUserid來實(shí)現(xiàn)應(yīng)用程序間的互訪在配置相同UID的條件下,多個(gè)APK可以共享同一進(jìn)程APK必須擁有相同的證書或簽名舉例:以下兩個(gè)APK指定了相同的sharedUserIdAPK1:<manifestxmlns:android="/apk/res/android"package="com.example.note"
android:sharedUserId="com.example">APK2:<manifestxmlns:android="/apk/res/android"package="com.example.reader"
android:sharedUserId="com.example">8.4Android權(quán)限模型Android應(yīng)用程序在訪問系統(tǒng)敏感信息時(shí)需要向系統(tǒng)申請(qǐng)權(quán)限,并得到用戶批準(zhǔn)后才可以訪問這些資源未授權(quán)的訪問將觸發(fā)運(yùn)行時(shí)安全異常常見的敏感信息類型CamerafunctionsLocationdata(GPS)BluetoothfunctionsTelephonyfunctionsSMS/MMSfunctionsNetwork/dataconnections這些API只能由OS來訪問,應(yīng)用程序如果要訪問這些接口,必須通過Menifest文件申請(qǐng)授權(quán)權(quán)限:<uses-permission/><?xmlversion="1.0"encoding="utf-8"?><manifestxmlns:android="/apk/res/android"
package="com.example.note"
android:versionCode="1"
android:versionName="1.0"><uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permissionandroid:name="android.permission.WRITE_APN_SETTINGS"/>
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>權(quán)限的底層映射Android權(quán)限在框架層映射到相應(yīng)的組ID,當(dāng)用戶授權(quán)后,應(yīng)用程序進(jìn)程獲取對(duì)應(yīng)的GID,從而獲取對(duì)應(yīng)組的權(quán)限例如一個(gè)READ_EXTERNAL_STORAGE的權(quán)限會(huì)對(duì)應(yīng)到一個(gè)sdcard_r組ID<permissionname="android.permission.READ_EXTERNAL_STORAGE"><groupgid="sdcard_r"/></permission>自定義權(quán)限:<permission/>在Menifext文件中使用<permission/>聲明自定義權(quán)限,外部應(yīng)用必須使用<uses-permission/>申請(qǐng)?jiān)摍?quán)限后,才能訪問該APP中的組件語法:舉例:<permissionandroid:name="com.example.note.RECEIVE"/>………………..<receiverandroid:name=".NetworkReceiver"android:permission="com.example.note.RECEIVE">><intent-filter><actionandroid:name=".conn.CONNECTIVITY_CHANGE"/><actionandroid:name=".wifi.WIFI_STATE_CHANGED"/></intent-filter></receiver>8.3應(yīng)用程序簽名Android系統(tǒng)要求所以安裝的程序必須有應(yīng)用程序開發(fā)者認(rèn)證的數(shù)字簽名的私人密鑰。Android系統(tǒng)用這個(gè)證書來識(shí)別作者并建立與應(yīng)用程序的信用關(guān)系。所有的應(yīng)用程序必須簽名。如果應(yīng)用程序沒有簽名,系統(tǒng)將無法安裝此程序。可以使用自簽名證書來簽名,不需要官方機(jī)構(gòu)的認(rèn)證。正式發(fā)布產(chǎn)品時(shí),必須有一個(gè)合適的密鑰來簽名它,不能發(fā)布一個(gè)用調(diào)試密鑰簽名的應(yīng)用程序。使用Keytool創(chuàng)建自己的秘鑰keytool-genkey-v-keystoremy-release-key.keystore-aliasalias_name-keyalgRSA-keysize2048-validity10000建議有效周期為25年或者更多,如果密鑰的有效期過期,用戶將無法無縫更新應(yīng)用程序的新版本。如果計(jì)劃在Google商店發(fā)布應(yīng)用程序。你密鑰的有效周期到2033年10月22日,商店強(qiáng)制要求這個(gè)屬性確保用戶可以無縫更新應(yīng)用程序的新版本。使用jarsigner對(duì)應(yīng)用程序簽名jarsigner-verbose-sigalgMD5withRSA-digestalgSHA1-keystoremy-release-key.keystoremy_application.apkalias_name驗(yàn)證簽名jarsigner-verifymy_signed.apk8.5OAuth2認(rèn)證與授權(quán)什么是OAuth?
OAuth(開放授權(quán))是一個(gè)開放標(biāo)準(zhǔn)。允許第三方網(wǎng)站在用戶授權(quán)的前提下訪問在用戶在服務(wù)商那里存儲(chǔ)的各種信息。而這種授權(quán)無需將用戶提供用戶名和密碼提供給該第三方網(wǎng)站。OAuth2OAuth2.0是從2006年開始設(shè)計(jì)OAuth協(xié)議的下一個(gè)版本,OAuth2.0同時(shí)提供Web,桌面和移動(dòng)應(yīng)用程序的支持,并較1.0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 度退休人員兼職合同模板
- 2023-2024學(xué)年大連理工版小學(xué)信息技術(shù)五年級(jí)下冊(cè)奇妙的編碼(教學(xué)設(shè)計(jì))
- 2023-2024學(xué)年滬科版(2019)高中信息技術(shù)必修一3.4《分析歷史氣溫?cái)?shù)據(jù)-設(shè)計(jì)批量數(shù)據(jù)算法》教學(xué)設(shè)計(jì)
- 10青山處處埋忠骨教學(xué)設(shè)計(jì)-2024-2025學(xué)年五年級(jí)下冊(cè)語文統(tǒng)編版
- 餐廳股權(quán)合同范本
- 甜品批發(fā)合同范本
- 5 我愛我們班 教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治二年級(jí)上冊(cè)統(tǒng)編版
- 2 百分?jǐn)?shù)(二)成數(shù) 第二課時(shí)(教學(xué)設(shè)計(jì))-2023-2024學(xué)年六年級(jí)下冊(cè)數(shù)學(xué)人教版
- 24“諾曼底號(hào)”遇難記 教學(xué)設(shè)計(jì)-2023-2024學(xué)年四年級(jí)下冊(cè)語文統(tǒng)編版
- 店面貸款合同范本
- 部編版三年級(jí)下冊(cè)語文第一單元教材解讀PPT課件
- 【2022】154號(hào)文附件一:《江蘇省建設(shè)工程費(fèi)用定額》(2022年)營改增后調(diào)整內(nèi)容[10頁]
- 二年級(jí)剪窗花
- 分子生物學(xué)在醫(yī)藥中的研究進(jìn)展及應(yīng)用
- 《對(duì)折剪紙》)ppt
- 03SG520-1實(shí)腹式鋼吊車梁(中輕級(jí)工作制A1~A5_Q235鋼_跨度6.0m、7.5m、9.0m)
- 以虛報(bào)注冊(cè)資本、虛假出資、抽逃出資為由對(duì)實(shí)行認(rèn)繳資本登記制的公司進(jìn)行處罰無法律依據(jù)
- 風(fēng)電場生產(chǎn)運(yùn)營準(zhǔn)備大綱11.14
- 人教版八年級(jí)語文下冊(cè)教材研說
- 《機(jī)械制造裝備設(shè)計(jì)》ppt課件
- 中學(xué)家訪記錄大全100篇 關(guān)于中學(xué)家訪隨筆
評(píng)論
0/150
提交評(píng)論