Android与鸿蒙系统安全(一)
Android、鴻蒙系統安全
一、信息安全概念
信息安全涉及信息論、計算機科學和密碼學等多方面的知識,它研究計算機系統和通信網絡內信息的保護方法,是指在信息的產生、傳輸、使用、存儲過程中,對信息載體(處理載體、存儲載體、傳輸載體)和信息的處理、傳輸、存儲、訪問提供安全保護,以防止數據信息內容或能力被非法使用、篡改。
信息安全的基本屬性包括機密性、完整性、可用性、可認證性和不可否認性,主要的信息安全威脅包括被動攻擊、主動攻擊、內部人員攻擊和分發攻擊,主要的信息安全技術包括密碼技術、身份管理技術、權限管理技術、本地計算環境安全技術、防火墻技術等,信息安全的發展已經經歷了通信保密、計算機安全、信息安全和信息保障等階段。信息安全本身包括的范圍很大,包括如何防范商業企業機密泄露、防范青少年對不良信息的瀏覽、個人信息的泄露等。信息安全達到的其核心目標包括保密性、完整性、可用性、可控性和不可否認性五個安全目標
狹義的安全是建立在以密碼論為基礎的計算機安全領域,早期中國信息安全專業通常以此為基準。以下將分別從密碼理論,Android安全,鴻蒙安全介紹。
- 密碼學相關的基本概念
圖1.0?信息安全所面臨的威脅與應對這些威脅的密碼技術
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖2. 密碼學家的工具集合
·??散列函數(散列(hash)、指紋、消息摘要、摘要算法、雜湊函數):把任意長度的輸入消息數據轉化成固定長度的輸出數據的一種密碼算法。
·??消息驗證代碼:驗證數據完整性,即數據沒有被篡改。
·??數字簽名:RSA私鑰加密,公鑰解密,結合散列函數。驗證消息真實性。
·??偽隨機函數(PRF):生成任意數量的偽隨機數據。
·??RSA:可以同時用于密鑰交換和身份驗證(數字簽名)。
·??DHE_RSA:DHE 算法:密鑰協商,RSA 算法:身份驗證(數字簽名)。
·??ECDHE_RSA: ECDHE 算法:密鑰協商,RSA 算法:身份驗證(數字簽名)。
·??ECDHE_ECDSA?:ECDHE 算法:密鑰協商,ECDSA 算法:身份驗證(數字簽名)
三、PKI體系概述
PKI 的本質是把非對稱密鑰管理標準化,PKI 是 Public Key Infrastructure 的縮寫,其主要功能是綁定證書持有者的身份和相關的密鑰對(通過為公鑰及相關的用戶身份信息簽發數字證書),為用戶提供方便的證書申請、證書作廢、證書獲取、證書狀態查詢的途徑,并利用數字證書及相關的各種服務(證書發布,黑名單發布,時間戳服務等)實現通信中各實體的身份認證、完整性、抗抵賴性和保密性。
專門負責頒發數字證書的系統稱為CA系統,負責管理并運營 CA 系統的機構稱為CA中心。
·??KMC:解決私鑰的備份與恢復問題;
·??雙證書機制:「簽名證書及私鑰」只用于簽名驗簽,「加密證書及私鑰」只用于加密解密。
·??LDAP:解決數字證書查詢和下載的性能問題,避免 CA 中心成為性能瓶頸。
·??CRL(證書作廢列表)?和 OSCP(在線證書狀態協議):方便用戶快速獲得證書狀態。
·??RA:方便證書業務遠程辦理、方便證書管理流程與應用系統結合。
·??電子認證服務機構:保證 CA 系統在數字證書管理方面的規范性、合規性和安全性。
四、Android系統安全體系
Android 將安全設計貫穿系統架構的各個層面,覆蓋系統內核、虛擬機、應用程序框架層以及應用層各個環節,力求在開放的同時,也能保護用戶的數據、應用程序和設備安全。
Android安全模型主要提供以下幾種安全機制:
- 進程沙箱隔離機制
- 應用程序簽名機制
- 權限聲明機制
- 訪問控制機制
- 進程通信機制
- 內存管理機制
從功能模塊上來劃分主要有:硬件安全,系統安全,數據應用安全,安全更新,如下圖所示:
圖3.0?Android 系統安全體系
4.1?Android進程沙箱隔離機制
進程沙箱隔離機制,使Android應用程序在安裝時被賦予獨特的用戶標識(UID),并永久保持。應用程序及其運行的Dalvik虛擬機運行在獨立的Linux進程空間,與其他應用程序完全隔離,如下圖3.1所示;在特殊情況下,進程間還可以存在相互信任關系。如源自同一開發者或同一開發機構的應用程序,通過Android提供的共享UID(Shared UserId)機制,使具備信任關系的應用程序可以運行在同一進程空間。
4.1?Android進程沙箱隔離機制
進程沙箱隔離機制,使Android應用程序在安裝時被賦予獨特的用戶標識(UID),并永久保持。應用程序及其運行的Dalvik虛擬機運行在獨立的Linux進程空間,與其他應用程序完全隔離,如下圖3.1所示;在特殊情況下,進程間還可以存在相互信任關系。如源自同一開發者或同一開發機構的應用程序,通過Android提供的共享UID(Shared UserId)機制,使具備信任關系的應用程序可以運行在同一進程空間。
圖4.?Android 應用程序沙箱機制
Android從Linux繼承了已經深入人心的類Unix進程隔離機制與最小權限原則,同時結合移動終端的具體應用特點,進行了許多有益的改進與提升。具體而言,進程以隔離的用戶環境運行,不能相互干擾,比如發送信號或者訪問其他進程的內存空間。因此,Android沙箱的核心機制基于以下幾個概念:
2.?大多數進程擁有唯一的用戶ID(UID)
3. 以及嚴格限制文件系統權限
4.2. 應用程序簽名機制
規定 APK 文件必須被開發者進行數字簽名,以便標識應用程序作者和在應用程序之間的信任關系。在安裝應用程序APK時,系統安裝程序首先檢查APK是否被簽名,有簽名才能安裝。當應用程序升級時,需要檢查新版應用的數字簽名與已安裝的應用程序的簽名是否相同,否則,會被當作一個新的應用程序。Android 開發者有可能把安裝包命名為相同的名字,通過不同的簽名可以把它們區分開來,也保證簽名不同的安裝包不被替換,同時防止惡意軟件替換安裝的應用(Android Keystore)。
4.3?權限聲明機制
要想在對象上進行操作,就需要把權限和此對象的操作進行綁定。不同級別要求應用程序行使權限的認證方式也不一樣,Normal級申請就可以使用,Dangerous級需要安裝時由用戶確認,Signature和SignatureOrSystem級則必須是系統用戶才可用。
4.4 進程通信機制
基于共享內存的 Binder 實現,提供輕量級的遠程進程調用(RPC)。通過接口描述語言(AIDL)定義接口與交換數據的類型,確保進程間通信的數據不會溢出越界,如下圖所示。
圖5.?Android Binder 機制通訊
5. 內存管理機制
基于Linux的低內存管理機制,設計實現了獨特的LMK,將進程重要性分級、分組,當內存不足時,自動清理級別進程所占用的內存空間。同時,引入的 Ashmem 內存機制,使Android具備清理不再使用共享內存區域的能力。
Android還增加了一些面向移動設備的特有功能,如低內存管理LMK(Low Memory Killer)、匿名共享內存(Ashmem: Anonymous Shared Memory),以及進程間通信Binder機制。這些功能的增強進一步提升了Android在內存管理、進程間通信等方面的安全性。
總結
以上是生活随笔為你收集整理的Android与鸿蒙系统安全(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件工程项目之随心所欲—食堂点菜系统
- 下一篇: 电商平台快递物流解决方案