Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Android系统如何得知硬件安全能力?

Android系统如何得知硬件安全能力?

作者头像
安智客
发布于 2018-07-30 06:59:28
发布于 2018-07-30 06:59:28
1.5K0
举报
文章被收录于专栏:安智客安智客

借助系统芯片 (SoC) 中提供的可信执行环境Android 设备可以为 Android 操作系统、平台服务甚至是第三方应用提供由硬件支持的强大安全服务。

之前如果Android系统中的应用需要使用TEE进行存储、加解密、TUI等等,都是通过Framework-->JNI-->HAL层(CA)-->接口库-->TA流程进行的。随着Android8.0及其后续版本的演化,比如Android本身的keystore机制,将keymaster在TEE中硬件实现。流程首先是keystore服务-->HAL层的服务-->HAL层(CA)-->接口库-->TA。

各部分代码如下:

1,\hardware\interfaces\keymaster\3.0中定义了HAL层的服务机制,适合Android8.0新的架构。

2,HAL层keymaster CA,实现获取硬件TEE支持信息接口函数getHardwareFeatures。

3,keymaster TA实现。

Android系统越来会开放其硬件安全能力,并且系统HAL层增加了获取硬件TEE支持信息接口函数,如下:

getHardwareFeatures() generates(bool isSecure, bool supportsEllipticCurve, bool supportsSymmetricCryptography,bool supportsAttestation, bool supportsAllDigests, string keymasterName,string keymasterAuthorName);

getHardwareFeatures 方法向客户端披露了底层安全硬件的一些重要特征。该方法不需要任何参数,且返回四个布尔值值:

  • 如果密钥始终存储在安全硬件(TEE 等)中,则 isSecuretrue
  • 如果硬件支持采用 NIST 曲线(P-224、P-256、P-384 和 P-521)的椭圆曲线加密,则 supportsEllipticCurvetrue
  • 如果硬件支持对称加密(包括 AES 和 HMAC),则 supportsSymmetricCryptographytrue
  • 如果硬件支持生成使用注入安全环境中的密钥进行签名的 Keymaster 公钥认证证书,则 supportsAttestationtrue

该方法仅可能返回以下错误代码:ErrorCode:OKErrorCode::KEYMASTER_NOT_CONFIGURED 或指示无法与安全硬件通信的错误代码之一。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 安智客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android O中对TEE加解密算法的新要求
我们都知道,Android中keystore机制中的keymaster需要在TEE实现。Google关于Android后续版本中keymaster中的加解密算法要求如下: RSA 无填充 RSAES-OAEP (PaddingMode::RSA_OAEP) RSAES-PKCS1-v1_5 (PaddingMode::RSA_PKCS1_1_5_ENCRYPT) SHA-256 RSASSA-PSS (PaddingMode::RSA_PSS) RSASSA-PKCS1-v1_5 (PaddingMode:
安智客
2018/02/24
1.6K0
Android P 安全性更新
Android P 引入了若干可提升应用和运行应用的设备安全性的功能。 本页面介绍对第三方应用开发者最重要的变化,需要他们牢记在心。
Android 开发者
2018/08/02
1.1K0
Android P 安全性更新
Android 9.0的新增安全特性与TEE
特别是Android8.0以来,安全性是Android版本变更的一个重要因素。从安全性增强方面来看,本次Android9.0版本主要有以下几个方面:
安智客
2018/07/30
1.5K0
Android 9.0的新增安全特性与TEE
Keystore的技术演进之路
Android提供的keystore功能发展历程伴随着Android版本不断演进。 从 Android 6.0 之前的版本中,Android已有一个非常简单的由硬件支持的加密服务 API(由0.2和0
安智客
2018/02/24
3.1K0
Keystore的技术演进之路
Android8.0中对指纹的新要求
Android O版本对指纹有啥特别要求? 我们前面也介绍过《Android O新特性之Treble介绍》,在Android O以及以后的版本当中,Android 更新了框架,引入了一套叫HIDL的语
安智客
2018/02/24
1.8K0
Android8.0中对指纹的新要求
Android系统终端上不得不说的5个密钥!
从事手机开发、终端软件安全的相关从业者不得不面对以下5个密钥,其他密钥略: 这5个密钥,有些是因为支付宝支付、微信支付所必须要的如IFAA Key、Soter Key。有些是Google最新Andro
安智客
2018/04/19
3.9K0
Android系统终端上不得不说的5个密钥!
Key attestation-Google的密钥认证
Android的密钥库已经有很多年了,它为应用程序开发者提供了一种使用加密密钥进行验证和加密的方法。 Keystore将密钥保留在应用程序的进程空间之外,以便应用程序不会无意中将其泄露给可能被钓鱼的用户,通过其他渠道泄漏,或者在应用程序遭到破坏时。 许多设备还为安全硬件中的密钥库密钥提供了基于硬件的安全性,从而将密钥材料完全保留在Android系统之外,从而即使Linux内核泄露也不会泄露密钥材料。 在绝大多数Android设备中,安全硬件是主CPU的特殊模式,硬件强制与Linux内核和Android用
安智客
2018/02/24
7.5K0
Key attestation-Google的密钥认证
Android P专区免费开放 -- 同样的Android,不同的体验
原文链接:http://wetest.qq.com/lab/view/376.html
WeTest质量开放平台团队
2018/04/09
4.5K4
Android P专区免费开放 -- 同样的Android,不同的体验
Android P专区免费开放 -- 同样的Android,不同的体验
2018年3月8日,Google推出了Android P Preview版本,并提供官方镜像下载。
WeTest质量开放平台团队
2018/10/29
1.3K0
现代化 Android Pie: 安全与隐私
作者: Vikrant Nanda 和 René Mayrhofer, Android 安全与隐私团队
Android 开发者
2019/03/14
1K0
现代化 Android Pie: 安全与隐私
大家一起看一看新的Android P将引入哪些安全性改进
根据Google的Android开发团队发布的新版本Android系统概述,下一个Android版本(Android P或Android 9.0)大家应该很快就可以“吃”上了。文件表示,Google在2018年第三季度的版本推送计划将在三个月左右的时间内实施完成:
FB客服
2018/08/21
6610
大家一起看一看新的Android P将引入哪些安全性改进
Android 9.0 强势来袭,带来了哪些新特性?
谷歌今 天全量对外发布 Android 9(API级别28) 版本,吓得我赶快去官网学习一波,今天带大家展望9.0的新特性。Android 9 为用户和开发人员引入了强大的新功能。今天重点介绍新增的功能。
开发者技术前线
2020/11/23
4.2K0
Android 系统架构及HAL层概述
apex_payload.img是由dm-verity支持的ext4文件系统映像。各种原生常规文件包含在apex_payload.img文件中
wizzie
2022/09/28
12.2K0
Android 系统架构及HAL层概述
从诺基亚 X6 聊人脸解锁:安全基础是TEE
前不久,诺基亚发布了其全新X系列智能手机诺基亚X6,官网上也打出了:AI面部识别,基于TEE移动安全解决方案指纹解锁之外,更享安全便捷的宣传。由于其采用的是高通芯片,因此TEE技术方案是QSEE/QTEE。
安智客
2018/07/30
2K0
从诺基亚 X6 聊人脸解锁:安全基础是TEE
蚂蚁区块链第10课 可信计算分类以及TEE硬件隐私合约链智能合约开发实践
本文介绍可信计算分类INTEL SGX技术和ARM TRUSTZONE技术技术方案概要,以及应用INTEL SGX技术的蚂蚁区块链TEE硬件隐私链的智能合约开发实践。
辉哥
2019/04/17
4.2K0
蚂蚁区块链第10课  可信计算分类以及TEE硬件隐私合约链智能合约开发实践
Android系统架构与系统源码目录
前言 技术博客终于可以恢复正常的更新速度了,原因是我编写的进阶书籍的初稿已经完成,窃以为它将会是Android应用书籍中最有深度的一本,可以说是《Android开发艺术探索》的姊妹篇。在这本书的最后一章我会分析Android底层源码,但是毕竟是一本Android应用开发的书,对于底层源码阅读也只能带大家入个门。因此,在博客中我会新开一个“系统源码解析”的系列,该系列的开篇就是本篇文章。 1.Android系统架构 Android系统架构分为五层,从上到下依次是应用层、应用框架层、系统运行库层、硬件抽象层和L
用户1269200
2018/02/01
2.3K0
Android系统架构与系统源码目录
如何学习Android系统源码
Android系统的源代码非常庞大和复杂,我们不能贸然进入,否则很容易在里面迷入方向,进而失去研究它的信心。我们应该在分析它的源代码之前学习好一些理论知识,下面就介绍一些与Android系统相关的资料。
全栈程序员站长
2022/08/18
5410
《手机安全与可信应用开发指南:TrustZone和OP-TEE技术详解》读书笔记
本文是《手机安全与可信应用开发指南:TrustZone和OP-TEE技术详解》的读书笔记,需要更详细的内容和源码,请自行购买书籍。
辉哥
2021/03/02
7.4K0
《手机安全与可信应用开发指南:TrustZone和OP-TEE技术详解》读书笔记
Android系统启动过程
  当电源按下时引导芯片代码聪预定义的地方(固化在ROM)开始执行。加载引导程序到BootLoader到RAM,然后执行
用户3112896
2019/09/26
1K0
Android系统启动过程
Android系统启动流程
而我们的Android系统启动的过程就是架构图中从下往上运行加载的过程,这里有一张关于Android系统启动过程的总结图(图片来自参考链接gityuan.com),大家可以先看看:
码上积木
2021/01/11
1.8K0
Android系统启动流程
相关推荐
Android O中对TEE加解密算法的新要求
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档