本章介绍蓝牙协议(重点介绍:BLE)的基本特点、版本演进、协议的构成、等基础知识,本章重在了解,目的是对BLE协议有个大概的认知,即了解BLE协议栈的全貌。后续的章节会对每一部分单独进行详细的讲解。
test
发表于
|
分类于
test/BLE
123456
华为 P9 Lite TrustedCore TA 解密
发表于
|
分类于
TrustZone
议题 Unearthing the TrustedCore: A Critical Review on Huawei’s Trusted Execution Environment 的子部分,其分析的TEE方案是华为自研的TrustedCore,解密TA的大概流程主要有三步:(1)模拟运行TEE中的白盒密码算法解出RSA私钥prikeyx。(2)使用RSA的私钥prikeyx解密TA头部的manifest。(3)使用解密后manifest中的AES key 解密 TA 正文。但作者没有给出解密过程中的一些细节,例如RSA和AES密钥的组织方法。所以我尝试复现了这个解密,并给出解密过程中的所有细节。
用 西湖论剑IoT闯关赛 蓝牙赛题 理解 蓝牙协议
发表于
|
分类于
Wireless/BLE
虽然之前总结过:关于蓝牙的漏洞研究,但对于蓝牙还是很懵,因为从来没有实践过,西湖论剑IoT比赛时,蓝牙的题目一个也没做出来。每次看到蓝牙都不知道在说哪一层的协议,看到wireshark抓的包也感觉之前看的蓝牙包不长这样啊。这次经过一段时间的研究,才大概的明白:(1)蓝牙的协议栈之所以复杂,是由于历史的变迁,以及兼容性的考虑,导致出现了(老的)经典蓝牙和(新的)低功耗蓝牙并存复杂的协议栈,单独来看这新老两个技术的协议栈,都没有很复杂,并且其结构都是很清晰的。(2)蓝牙的数据包在其从用户程序发送到空中的过程中,封包并非如TCP/IP协议仅仅将上一层的数据进行简单的封装就传递到下一层,相邻层之间的数据变换可能比较复杂,于是就导致了由于抓包的层次不同,看到的同一过程的数据的组织方式是不同的,典型就是在空口抓包以及在HCI层抓包。(3)另外以西湖论剑的三道蓝牙题目为例子,总结了主机控制蓝牙不同层次的收发包工具以及背后原理。