精品一区二区三区在线成人,欧美精产国品一二三区,Ji大巴进入女人66h,亚洲春色在线视频

51CTO專家專欄 李洋談Android安全框架

原創
移動開發 Android
【編者按】移動開發正在成為軟件領域的發展趨勢,51CTO非常榮幸邀請到從事計算機網絡信息安全研發工作10多年的安全專家李洋為51CTO移動開發頻道開設的專家專欄,在未來一段時間李洋老師這個專欄里將向我們介紹“Android安全框架”、“Android系統及應用程序授權機制”等內容,希望讀者喜歡。

【51CTO獨家特稿】本文李洋老師將向我們介紹“Android安全框架概覽”:Android安全結構的中心思想為“應用程序在默認的情況下不可以執行任何對其他應用程序,系統或者用戶帶來負面影響的操作。”開發者只有了解到Android的安全架構才能設計出在使用過程中更加流暢的用戶體驗。

1. Android具有哪些權限

根據用戶的使用過程體驗,可以將Android涉及的權限大致分為如下三類:

(1)Android手機所有者權限:自用戶購買Android手機(如Samsung GT-i9000)后,用戶不需要輸入任何密碼,就具有安裝一般應用軟件、使用應用程序等的權限;

(2)Android root權限:該權限為Android系統的***權限,可以對所有系統中文件、數據進行任意操作。出廠時默認沒有該權限,需要使用z4Root等軟件進行獲取,然而,并不鼓勵進行此操作,因為可能由此使用戶失去手機原廠保修的權益。同樣,如果將Android手機進行root權限提升,則此后用戶不需要輸入任何密碼,都將能以Android root權限來使用手機。

(3)Android應用程序權限:Android提供了豐富的SDK(Software development kit),開發人員可以根據其開發Android中的應用程序。而應用程序對Android系統資源的訪問需要有相應的訪問權限,這個權限就稱為Android應用程序權限,它在應用程序設計時設定,在Android系統中初次安裝時即生效。值得注意的是:如果應用程序設計的權限大于Android手機所有者權限,則該應用程序無法運行。如:沒有獲取Android root權限的手機無法運行Root Explorer,因為運行該應用程序需要Android root權限。

2. Android的組件模型(Component Model)

Android系統中包括4種組件

(1)Activity:Activity就是一個界面,這個界面里面可以放置各種控件。比如:Task Manager的界面、Root Explorer的界面等;

(2)Service:服務是運行在后臺的功能模塊。如文件下載、音樂播放程序等;

(3)Content Provider:它是Android平臺應用程序間數據共享的一種標準接口,它以類似于URI(Universal Resources Identification)的方式來表示數據,如:content://contacts/people/1101;

(4)Broadcast Receiver:與此組件相關的概念是Intent,Intent是一個對動作和行為的抽象描述,負責組件之間程序之間進行消息傳遞。而Broadcast Receiver組件則提供了一種把Intent作為一個消息廣播出去,由所有對其感興趣的程序對其作出反應的機制。舉個簡單的例子,:為了實現一個系統啟動后播放音樂的功能,則可以定義Intent為android.intent.action.BOOT_COMPLETED,由Broadcast Receiver組件將其進行廣播,而系統中的Media Player接收到該信息后則進行播放。

如上所述,4個組件之間的關系如下圖:

4個組件之間的關系如下圖

3. Android安全訪問設置

每個Android的apk(Android Package)包里面都包含有一個AndroidMainifest.xml文件,該文件除了羅列應用程序運行時庫、運行依賴關系等之外,還會詳細地羅列出該應用程序所需的系統訪問。該文件的基本格式如下:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  3.      package="cn.com.fetion.android" 
  4.      android:versionCode="1" 
  5.      android:versionName="1.0.0"> 
  6.    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
  7.        <activity android:name=".welcomActivity" 
  8.                   android:label="@string/app_name"> 
  9.             <intent-filter> 
  10.                 <action android:name="android.intent.action.MAIN" /> 
  11.                 <category android:name="android.intent.category.LAUNCHER" /> 
  12.             </intent-filter> 
  13.         </activity> 
  14.    </application> 
  15.   <uses-permission android:name="android.permission.SEND_SMS"></uses-permission> 
  16. </manifest> 

如上述文件描述中斜體部分,該文件的作用是說明該軟件具備發送短信的功能。Android定義了106種permission,可供開發人員使用,具體詳見網址:http://developers.androidcn.com/reference/android/Manifest.permission.html。

李洋李洋博士畢業于中科院計算所。10多年來一直從事計算機網絡信息安全研發工作,曾主持和參與多項國家重點項目以及信息安全系統和企業信息安全系統的研發工作。具有Linux系統應用、管理、安全及內核的研發經驗,擅長網絡安全技術、協議分析、Linux系統安全技術、Linux系統及網絡管理、Linux內核開發等。

【51CTO.com獨家特稿,非經授權謝絕轉載!合作媒體轉載請注明原文出處!如果您想與李洋老師探討Android安全架構等話題,或者向51CTO移動開發頻道投稿請發郵件至zhousn#51CTO.com(將“#”換成“@”)】

責任編輯:佚名 來源: 51CTO
相關推薦

2011-09-06 13:56:43

李洋iOS安全機制

2011-08-29 13:52:15

李洋Android應用

2011-08-12 09:06:48

Android系統應用程序

2011-08-22 08:53:17

Android啟動過程李洋

2011-11-03 09:24:57

李洋簽名

2011-09-15 08:58:41

Android短信丟失技術原因

2012-07-16 10:21:48

Android進程線程

2010-08-26 08:57:04

AndroidAndroid開發

2012-07-23 13:22:42

Intent Filt安全Android

2011-09-22 09:51:41

2010-01-19 11:21:20

51CTO駐站專家

2012-08-27 09:52:48

Android沙箱模型

2016-08-23 18:15:26

2012-07-04 09:07:40

2012-01-11 16:02:56

Android 4.0Launcher源碼分析

2012-02-02 15:56:48

Android 4.0Launcher源碼分析

2012-02-13 12:47:41

Android 4.0Launcher源碼分析

2012-06-05 10:09:45

AndroidManiAndroidMani

2016-06-12 13:48:33

51CTO

2010-12-10 13:21:47

51CTO博客大賽
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 阿瓦提县| 潜江市| 苏州市| 舞阳县| 天镇县| 福安市| 宜城市| 桐庐县| 阳原县| 汨罗市| 昌黎县| 武穴市| 广元市| 马公市| 昌江| 留坝县| 科技| 定边县| 奉贤区| 通化市| 垣曲县| 宜兴市| 共和县| 东明县| 同德县| 宁波市| 根河市| 新营市| 齐齐哈尔市| 涡阳县| 阿克陶县| 东海县| 崇州市| 丹阳市| 博爱县| 平果县| 云梦县| 砀山县| 葫芦岛市| 开鲁县| 老河口市|