Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android安全機制

Android安全機制

編輯:關於android開發

Android安全機制


Android系統是基於Linux內核開發的,因此,Android系統不僅保留和繼承了Linux操作系統的安全機制,而且其系統架構的各個層次都有獨特的安全特性。

Linux內核安全機制

Android的Linux內核包含了強制訪問控制機制和自主訪問控制機制。強制訪問控制機制由Linux安全模塊來實現。自主訪問控制機制通常由文件訪問控制來實現,Linux文件系統的權限控制是由user、group、other與讀(r) 、寫(w) 、執行(x)的不同組合來實現的。這樣,每個文件都有三個基本權限集,它們的組合可以容許、限制、拒絕用戶、用戶組和其他用戶的訪問。通常,只有uid是“system”或“root”用戶才擁有Android系統文件的訪問權限,而應用程序只有通過申請Android權限才能實現對相應文件的訪問,也正因為此,Android使用內核層Linux的自主訪問控制機制和運行時的Dalvik虛擬機來實現Android的“沙箱”機制。

Android的“沙箱”機制

Android“沙箱”的本質是為了實現不同應用程序和進程之間的互相隔離,即在默認情況下,應用程序沒有權限訪問系統資源或其它應用程序的資源。每個APP和系統進程都被分配唯一並且固定的User Id,這個uid與內核層進程的uid對應。每個APP在各自獨立的Dalvik虛擬機中運行,擁有獨立的地址空間和資源。運行於Dalvik虛擬機中的進程必須依托內核層Linux進程而存在,因此Android使用Dalvik虛擬機和Linux的文件訪問控制來實現沙箱機制,任何應用程序如果想要訪問系統資源或者其它應用程序的資源必須在自己的manifest文件中進行聲明權限或者共享uid。
Android中的數據分為system和data兩個區,其中system是只讀的,data是用來存放應用自己的數據,這樣保證系統數據不會被隨意改寫。

應用權限機制

任何一個應用程序在使用Android受限資源(網絡、電話、短信、藍牙、通訊錄、SdCard等)之前都必須以XML文件的形式事先向Android系統提出申請,等待Android系統批准後應用程序方可使用相應的資源,權限與Java的API是多對多的映射關系。

如何讓兩個app運行在同一個進程裡? 1. 兩個app用相同的private key來簽名。 2. 兩個app的Manifest文件中添加android:sharedUserId 設置成相同的UID。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved