标签:Verified Boot RSA HOST host 字段 Android avbtool OUT
Android Verified Boot,验证程序用来保护用户使用软件在设备上运行的完整性。它通常从设备固件的只读部分开始,该部分加载代码并仅在密码验证代码是真实的且没有任何已知的安全缺陷之后执行。AVB是经过验证的引导的一种实现。
BOARD_AVB_ENABLE 默认为true,可以设置为false关闭avb。
1. avbtool工具
1.1 位置
HOST_OUT_ROOT := $(OUT_DIR)/host
HOST_OUT := $(HOST_OUT_ROOT)/$(HOST_OS)-$(HOST_PREBUILT_ARCH)
所以HOST_OUT := out/host/linux-x86
HOST_OUT_EXECUTABLES := $(HOST_OUT)/bin
AVBTOOL := $(HOST_OUT_EXECUTABLES)/avbtool$(HOST_EXECUTABLE_SUFFIX)
Windows下HOST_EXECUTABLE_SUFFIX是“.exe”表示后缀,linux下为空。
所以ubuntu下avbtool工具为out/host/linux-x86/avbtool
1.2 源码
源码路径:external/avb/avbtool
Android.bp中:
python_binary_host {
name: "avbtool",
srcs: [":avbtool_py"],
main: "avbtool.py",
required: ["fec"],
version: {
py2: {
enabled: true,
embedded_launcher: true,
},
py3: {
enabled: false,
},
},
}
采用python实现。
1.2.1 RSA私钥语法
RSA定义私钥语法:
version | 版本 |
modulus | RSA合数模 n |
publicExponent | RSA公开幂 e |
privateExponent | RSA私有幂 d |
prime1 | n的素数因子p |
prime2 | /n的素数因子q |
exponent1 | 值 d mod (p-1) |
exponent2 | 值 d mod (q-1) |
coefficient | CRT系数 (inverse of q) mod p |
otherPrimeInfos | OtherPrimeInfos OPTIONAL |
1.2.2 TLV编码结构
BER编码的一种,ASN1标准,全称Tag(标签),Length(长度),Value(值)。
IS-IS数据通信领域中,tlv三元组: tag-length-value(TLV)。T、L字段的长度往往固定(通常为1~4bytes),V字段长度可变。顾名思义,T字段表示报文类型,L字段表示报文长度、V字段往往用来存放报文的内容。
可以通过下属命令查看vbmeta信息。
标签:Verified,Boot,RSA,HOST,host,字段,Android,avbtool,OUT 来源: https://blog.csdn.net/weixin_42081051/article/details/122734567
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。