Android15安全架构精选
该专栏为热销专栏榜 第80名
文章平均质量分 79
都android15了
优惠券已抵扣
余额抵扣
还需支付
¥99.90
¥299.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
代码改变世界ctw
12年手机安全、汽车安全、芯片安全开发经验。擅长Trustzone/TEE/安全的设计与开发。作有《Armv8/Armv9架构从入门到精通》、《Trustzone/TEE/安全快速入门班》、《Secureboot从入门到精通 训练营》等课程。
展开
-
【置顶】Android15安全架构精选-[目录]
讲述android13最新安全架构,包括但不限于:Gatekeeper(locksetting)、生物认证(指纹fingerprint、人脸faceid)、keystore/keystore2/keymaster/keymint、googlekey(attesstation key).....原创 2021-04-02 22:06:58 · 6132 阅读 · 1 评论 -
gatekeeper代码导读
gatekeeperd中的enroll,则会调用AIDL实现的enroll或HIDL实现的enroll。我们以为HIDL为例分析。其实就是在调用 /system/core/trusty/gatekeeper/ 下的。所以这里的enroll其实就是在调用gatekeeperd 中的。1、LockSettingsService.java 中的。而HIDL的注册在这里。原创 2024-06-24 18:42:49 · 38 阅读 · 0 评论 -
Trusty gatekeeper代码导读系列--从framework到TA全栈流程解析
gatekeeperd中的enroll,则会调用AIDL实现的enroll或HIDL实现的enroll。其实就是在调用 /system/core/trusty/gatekeeper/ 下的。(2)调用SyntheticPasswordManager.java 中的。所以这里的enroll其实就是在调用gatekeeperd 中的。1、LockSettingsService.java 中的。或取 AIDL的gatekeeper service。函数,又调用了3个参数的。而HIDL的注册在这里。原创 2024-06-24 19:22:17 · 47 阅读 · 0 评论 -
大总结:Android15安全都包含什么?--Android安全架构梳理-建议收藏
StrongBox则是一个独立的硬件安全模块(HSM),专门存储高价值的加密密钥,如用于支付和生物认证的密钥。每个应用程序在独立的进程中运行,并且拥有一个唯一的用户ID (UID),使得应用程序之间不能直接访问彼此的数据。Android系统为用户提供了一个相对安全的操作环境,保护了用户数据和设备的安全。AVB是Android的验证引导机制,旨在确保设备启动时加载的每一层软件都是可信的。它通过加密和密钥管理机制,确保只有授权设备和用户才能访问受保护的内容,防止未经授权的复制和分发。原创 2024-06-26 00:56:12 · 82 阅读 · 0 评论 -
什么是 DICE 架构?
DICE 代表设备标识符组合引擎,它是由可信计算组织 (TCG : Trusted Computing Group)创建的安全标准,该组织多年来一直致力于解决安全问题。TCG 宣布成立 DICE 架构或 DICE 架构工作组,以满足提高物联网 (IoT) 安全性的需求,从而针对 MCU 和片上系统 (SoC) 等产品。DICE 架构是一种简单而新颖的安全方法,不会增加芯片要求,并且可以在制造过程中在安全产品的硬件中实现。原创 2024-05-06 19:45:29 · 270 阅读 · 1 评论 -
Android Keymint Remote Provisioning HAL
设计 HAL 以支持非对称密钥证书的无线配置。HAL 必须与 Keystore(和其他服务)有效交互并保护设备隐私和安全。请注意,此 API 最初是为 KeyMint 设计的,目的是使其可用于需要证书配置的其他 HAL。在本文档中,我们将引用 Keystore 和 KeyMint(以前称为 Keymaster)组件,但这只是为了具体和方便;这些标签可以分别替换为需要提供证书的任何系统和安全区域组件的名称。原创 2023-12-26 15:09:22 · 1122 阅读 · 0 评论 -
Upgrading Android Attestation: Remote Provisioning
自 Android 8.0 以来,认证作为一项功能已被强制执行。随着版本的不断更新,对于各种功能和服务(如 SafetyNet、身份凭证、数字汽车钥匙和各种第三方库)的信任,它变得越来越重要。有鉴于此,我们是时候重新审视我们的证明基础设施,以加强信任链的安全性,并提高设备信任在发生已知漏洞时的可恢复性。从 Android 12.0 开始,我们将提供一个选项,将工厂内私钥配置替换为工厂内公钥提取和具有短期证书的无线证书配置的组合。该方案将在 Android 13.0 中强制执行。原创 2023-07-22 14:26:07 · 462 阅读 · 0 评论 -
VTS工具测试指定的testcase函数(以VtsHalKeymasterV4_0TargetTest为例)
文章目录1、查看Help2、查看该测试项下有多少testcase3、运行一个testcase(指定函数调用)1、查看Help./VtsHalKeymasterV4_0TargetTest --help130|Project:/data # ./VtsHalKeymasterV4_0TargetTest --helpThis program contains tests written using Google Test. You can use thefollowing command line原创 2021-02-07 11:47:30 · 1646 阅读 · 0 评论 -
如何编写一个测试HIDL接口的vts(gtest)的testcase
我们先看一下vts HIDL测试的模型:以keymaster为例,先实现一套调用Keymaster HIDL的接口1、实现Keymaster HIDL的调用接口class KeymasterHidlTest : public ::testing::TestWithParam<std::string> { public: void SetUp() override; void TearDown() override { if (key_blob_.siz原创 2021-02-07 12:53:43 · 1083 阅读 · 0 评论 -
Android13有哪些vts
out/target/product/xxx/testcasesbinderDriverInterfaceTest cts-framework-sdkextensions-30-public-api VtsHalCasV1_1TargetTest VtsHalSapV1_0TargetTestbinderDriverInterfaceTest_IPC_32 ct原创 2021-02-07 12:57:04 · 1727 阅读 · 0 评论 -
什么是 Widevine 数字版权管理 (DRM),它为什么重要
许多视频服务(如Disney Plus、Netflix和Prime Video )不允许某些智能手机以高于 480p 的分辨率播放电影或电视节目。锁定的原因是这些服务受数字版权管理 (DRM) 保护,以防止复制和未经授权重新分发这些视频文件。为了确保 Android 智能手机和许多其他设备免受盗版,这些流行的流媒体服务使用了Google 的 Widevine DRM 平台。作为业界最古老的 DRM 服务之一,它估计安装在全球约 40 亿台设备上。以下是您需要了解的有关 Widevine 及其工作原理的.原创 2022-05-30 00:22:51 · 2457 阅读 · 2 评论 -
如何检查您的 Android 设备是否支持 Widevine DRM
许多流媒体服务,如 Netflix、Disney+、Hulu 等,使用各种类型的数字版权管理 (DRM) 来保护其内容不被复制和重新分发。大多数 DRM 实际上并没有阻止这种行为,而是主要用来惹恼那些为内容付费的人,但这是另一次讨论。Widevine 是一种广泛使用的 DRM 技术,经常出现在 Web 和 Android 应用程序中,但并非所有 Android 设备都完全支持 Widevine DRM。Widevine DRM被 Netflix、HBO、Disney+、Prime Video、Hulu、S原创 2022-05-30 00:14:50 · 1347 阅读 · 0 评论 -
Android Keystore/keymaster的错误码
上层(frameworks/base/core/java/android/security/keymaster/KeymasterDefs.java) // Error codes.public static final int KM_ERROR_OK = ErrorCode.OK;public static final int KM_ERROR_ROOT_OF_TRUST_ALREADY_SET = ErrorCode.ROOT_OF_TRUST_ALREADY_SET; //原创 2021-12-27 10:05:51 · 1620 阅读 · 0 评论 -
Android keystore/Keymaster的代码导读
1、先上架构图:2、keyMaster Hal接口(system/keymaster/include/keymaster/android_keymaster.h)class AndroidKeymaster { public: AndroidKeymaster(KeymasterContext* context, size_t operation_table_size); virtual ~AndroidKeymaster(); AndroidKeymaster(Andr原创 2020-08-05 13:48:29 · 6309 阅读 · 0 评论 -
Android keymaster4.0- device集成笔记
1、keymaster@4.0-service的集成在device.mk中定义了需要集成的keymaster,多选一:android.hardware.keymaster@4.0-service.trustonicandroid.hardware.keymaster@4.0-service.beanpodandroid.hardware.keymaster@4.0-service.beanpod.liteandroid.hardware.keymaster@4.0-service.trustke原创 2021-02-02 20:08:13 · 3830 阅读 · 0 评论 -
Android keymaster的介绍和总结
keymaster官方文档keymaster接口函数介绍原创 2021-02-02 20:08:50 · 8165 阅读 · 0 评论 -
Android手机使用命令行增加/删除/修改密码(password/pin/pattern)
在android系统中,支持locksettings(等价cmd lock_settings)命令1、进入adb shell,查看locksettings支持哪些命令locksettings命令C:\Users\user1>C:\Users\user1>adb shellProjects:/ # locksettingsusage: locksettings set-pattern [--old OLD_CREDENTIAL] NEW_PATTERN locksetti原创 2020-11-16 16:04:05 · 6177 阅读 · 0 评论 -
LockSettingsService的setLockCredentialInternal函数详解
在android系统中的设置密码、清除密码、修改密码,都是调用到LockSettingsService.java的setLockCredential函数进行的,而setLockCredential又调用了setLockCredentialInternal,接下来我们来分析这个函数的流程private boolean setLockCredentialInternal(LockscreenCredential credential, LockscreenCredential savedCre原创 2020-11-17 14:51:50 · 4327 阅读 · 0 评论 -
android密码解锁/指纹解锁返回的authToken深度解剖
目录1、authToken是什么2、authToken代码精读(1)、AddAuthenticationToken(2)、FindAuthorization(3)、AddAuthenticationToken1、authToken是什么在android中authToken是一串标致调用者身份的数据,是一个结构体.在gatekeeper和fingerprint的鉴权成功后(verify成功后),都会返回一个authToken给android,然后加入到auth_token_table表中, 该表最大存储原创 2020-08-07 14:13:32 · 4758 阅读 · 0 评论 -
Android Gatekeeper流程深度解剖
1、先来张整体的软件框图2、enroll和verify的调用流程4、关键函数的介绍(1)、writeCredentialHash //将enroll_handle保存到文件如果是password,保存到passwordFilename, patterFilename写入空如果是patter,保存到patterFilename, passwordFilename写入空frameworks/base/services/core/java/com/android/server/locksettin原创 2020-08-06 21:12:16 · 4636 阅读 · 16 评论 -
Android locksettings/gatekeeper代码导读
文章目录1、pin/parttern/passwd密码锁的框图2、gatekeeper的框图1、pin/parttern/passwd密码锁的框图KeyguardManager.java已属于app的一部分LockPatternUtils.java中会根据passwd、pin、parttern的不同,调用不同的渲染接口相关代码参考:frameworks/base/core/java/android/app/KeyguardManager.javaframeworks/base/core/ja原创 2021-02-02 20:08:23 · 1134 阅读 · 0 评论 -
Gatekeeper代码导读
gatekeeper原创 2022-08-13 10:20:26 · 940 阅读 · 0 评论 -
Android Verity Boot的参考资料
基于android12,多图多精简总结,白话总结,一网打尽密码锁、locksettingService、gatekeeper所有知识点。并拓展了指纹、人脸、DRM相关的知识点。👉👉👉[专题目录]–Android架构安全精选(基于android12)👈👈👈。...原创 2022-07-17 23:23:43 · 437 阅读 · 0 评论 -
Android Verity Boot(AVB)验证原理
基于android12,多图多精简总结,白话总结,一网打尽密码锁、locksettingService、gatekeeper所有知识点。并拓展了指纹、人脸、DRM相关的知识点.👉👉👉[专题目录]–Android架构安全精选(基于android12)👈👈👈透过事务看本质,到底什么是AVB?AVB(AndroidVerifiedBoot)就是,主要包含•对以下镜像提供完整性检查Linuxkernel+ramdisk整个分区的HASH存储在VBMetaimage中。...原创 2022-08-02 08:56:11 · 5149 阅读 · 0 评论 -
Android Verity Boot(AVB)初探
基于android12,多图多精简总结,白话总结,一网打尽密码锁、locksettingService、gatekeeper所有知识点。并拓展了指纹、人脸、DRM相关的知识点。透过事务看本质,到底什么是AVB?AVB(AndroidVerifiedBoot)就是建立一条从bootloader到systemimages的信任链,主要包含….👉👉👉[专题目录]–Android架构安全精选(基于android12)👈👈👈。...原创 2022-07-25 13:08:22 · 3250 阅读 · 0 评论 -
Android13中的虚拟化技术
virtualization on android13Getting started with Protected Virtual MachinesMicrodroid原创 2022-06-30 08:46:03 · 776 阅读 · 0 评论 -
指纹/人脸/gatekeeper学习笔记
IBiometricsFingerprint.hal()setNotify(IBiometricsFingerprintClientCallback clientCallback) generates (uint64_t deviceId);preEnroll() generates (uint64_t authChallenge);enroll(uint8_t[69] hat, uint32_t gid, uint32_t timeoutSec) generates (RequestStatus原创 2022-05-03 19:35:54 · 539 阅读 · 1 评论 -
keystore2代码导读笔记
setWrappedKeyEntry – AndroidKeyStoreSpi.javaIKeystoreSecurityLevel.aidlimport_key – system/security/keystore2/src/security_level.rskm_dev.importKey(¶ms, format, key_data, None /* attestKey */) — 调用到Vendor HAL---->TA原创 2022-06-07 21:47:07 · 1228 阅读 · 0 评论 -
DRM的设计模型
drm原创 2022-06-05 11:05:22 · 432 阅读 · 1 评论 -
解读Android12 CDD中针对隔离环境(TEE)的要求
密码锁、生物认证keystoreStrongly Recommend原创 2022-05-12 10:20:23 · 3481 阅读 · 0 评论 -
android生物认证(指纹/人脸)学习这一篇就够了--ongoing
指纹,人脸原创 2021-02-02 20:08:41 · 2977 阅读 · 3 评论 -
keystore/keymaster代码导读系列-ongoing
1、keymaster earlyBootEnded阶段在keymaster earlyBootEnded阶段时,会stop使用early-boot keys, 然后使用MAX_BOOT_LEVEL key, 这里会针对TRUSTED_ENVIRONMENT和STRONGBOX分别调用call_with_watchdog初始化log如下所示,由于系统中没有STRONGBOX,所以在call_with_watchdog(STRONGBOX) 打印出异常是正常的04-24 14:27:50.261418原创 2022-05-04 17:41:56 · 1330 阅读 · 0 评论 -
keystore/keystore2/keymaster/keymint 深入学习
Keymaster的发展历程keymaster0.2/0.3 非常简单的密码学服务,提供数字签名和验证操作keymaster1.0 增加对称加密单元(AES和HMAC)keymaster3.0 从旧式 C 结构硬件抽象层 (HAL) 转换到根据新硬件接口定义语言 (HIDL), 支持 ID (IMEI/MEID)认证keymaster4.0 支持嵌入式安全元件、支持密钥导入、支持3DES、版本绑定(boot.img,system.img)2、软件架构在android11及其之前的版本中原创 2022-05-04 12:59:03 · 5673 阅读 · 10 评论 -
android gatekeeper(locksetting密码锁)学习这一篇就够了
学习gatekeeper/密码是只看这一篇文章就够了。基于android13,多图多精简总结,白话总结,一网打尽密码锁、locksettingService、gatekeeper hal 、CA、TA、TEE 所有知识点。并拓展了指纹、人脸、DRM 相关的知识点原创 2022-05-04 08:09:25 · 3567 阅读 · 3 评论