首页 > 其他分享 >BLE中的配对原理分析三

BLE中的配对原理分析三

时间:2024-12-09 15:43:34浏览次数:3  
标签:AES 加密 SKD LTK 算法 BLE 原理 配对

BLE中的配对原理分析三

说明

​ 前面的两篇博客已经把LTK的生成给了出来,但是也说到LTK并非是最后用于AES加密的实际密钥。今天我们就再进一步分析,通信时候的数据到底是如何被加密成密文,密文究竟是如何被解密成明文的。

架构说明

​ 首先要明确一点,这里的部分其实已经跟HOST层的安全规范无关了,涉及到底层也就是Controller层的安全规范。HOST层更多的是通信双方对于密钥信息的确认和同步,Controller层是对密钥的使用。

session key

​ 前面已经讲过上层已经生成好LTK,那么底层就可以开始启动加密通信了,而加密通信的第一步是启动LL层的Encryption Start procedure,这部分内容在

BLUETOOTH CORE SPECIFICATION Version 6.0 | Vol 6, Part B Link Layer Specification

的5.1.3.1 Encryption Start procedure。

这个流程交互的数据包如下:

​ 其中的Rand和EDIV这个上一篇以及讲过了,这里就不重复了,关键是SKD和IV。SKD和IV有主从各出一半,然后组成完整的SKD和IV。

​ SKD是Session Key Diversifier,用于和LTK一同通过AES算法生成session key。

​ 而IV是初始向量,如果有用到相关分组加密需要有初始向量的场景会用到,不过BLE中一般无用。

上述specification中提到只要主从都有LTK,那么再在得到SKD后就会得到Session key,不然就会报错。

AES-CCM

​ 在BLE Controller Link Layer的安全部分描述中,最开是便提到了BLE使用AES-CCM算法作为基本数据加密方案。关于AES-CCM这套东西,网络上有很多写得好的文章已经描述了。

​ 大家可以先看看

分组密码的模式——ECB、CBC、CFB、OFB、CTR_ofb是指分组密码的哪种工作模式-CSDN博客

这篇文章,对分组密码的模式有一个基本的认识,特别是要CTR和CBC模式

随后可以再看看

蓝牙加密(AES-CCM)-CSDN博客

​ 这篇文章很好的说明了蓝牙使用CBC来加密MIC,用CTR来加密明文,并使用AES算法作为基本的\(CIPH_k()\)算法。

​ 现在回过头来看规范原文,蓝牙规范规定了使用AES作为加密算法,将Session Key作为AES的密钥。从而实现对密文的加密。

小结

​ 这里有几点要注意,

  1. 配对绑定是生成LTK的流程,是Host的流程。该流程并没有进行过什么将通信数据进行加密的过程。
  2. 对通信数据进行加解密是底层Controller层的工作,一般都是在硬件层面实现。
  3. 所谓的对数据进行加解密,本质也只是通过AES算法生成的特殊密钥数据,然后对数据进行异或处理,并非直接将数据进行AES操作。所以本质上是不需要AES解密功能的,只需要使用AES加密算法,即可完成对数据流的加解密。听起来可能有些矛盾,这一点需要对上面两篇博客好好研究才能明白这套算法的原理。

标签:AES,加密,SKD,LTK,算法,BLE,原理,配对
From: https://www.cnblogs.com/simpleGao/p/18595112

相关文章

  • NAT原理:概念、使用场景、转发流程及规则
    本文分享自天翼云开发者社区《NAT原理:概念、使用场景、转发流程及规则》,作者:x****n网络地址转换(NAT)是一种在计算机网络中将一个网络的IP地址转换为另一个网络的IP地址的技术。它通常用于将私有网络的IP地址映射到公共网络的IP地址,以便在Internet上进行通信。NAT技术解决了IPv4地......
  • 直流无刷电机的运行原理和霍尔位置检测
    直流无刷电机(BLDC)直流无刷电机(BLDC)和直流有刷电机是相对的,最明显的特点是没有换向器。转子是由永磁体构成的,定子是由铜线圈缠绕的绕组构成的。截面动态示意图如下所示.内部结构简图是结构很简单的2极(2个磁体)3槽(3个线圈)电机。线圈采用Y形接法,使用霍尔元件为线圈供给电流,根据......
  • Halcon 轮廓检测常用算子、原理及应用场景
    一、引言在机器视觉领域,轮廓检测是一项关键技术,它能够提取物体的边缘信息,从而实现物体的定位、识别、测量等多种功能。Halcon作为一款强大的机器视觉软件库,提供了丰富的轮廓检测算子。本文将详细介绍Halcon中轮廓检测的常用算子、原理及其应用场景。二、Halcon轮廓检测......
  • Halcon 中各种拟合算子原理及应用场景
    一、引言在机器视觉和图像处理领域,拟合操作是一种非常重要的技术手段。Halcon作为一款强大的机器视觉软件库,提供了多种拟合算子来处理不同类型的数据,如点、线、曲线等,从而帮助用户从复杂的数据中提取出有价值的几何信息。这些拟合算子基于严谨的数学原理,并且在不同的工业检测......
  • PHP程序员应该如何感恩回馈自己的家人?底层原理是什么?
    PHP程序员感恩回馈家人不仅有助于增强家庭关系,还能为个人提供情感上的支持和满足感。1.时间投资具体步骤:定期陪伴:设定固定的时间与家人共度,如每周的家庭晚餐或每月的一次短途旅行。参与家务:主动分担家务劳动,减轻家人的负担。庆祝节日:重视家庭成员的生日、纪念日等特殊日......
  • Halcon中get_region_runs(Operator)算子原理及应用详解
    在Halcon中,get_region_runs算子用于从一个区域(Region)中提取连续的线段(runs),并返回这些线段的起始行号、起始列号和结束列号。这个算子特别适用于处理二值图像或区域对象,其中需要分析区域的连续部分。下面是对get_region_runs算子的详细解释:算子原型get_region_runs(Region......
  • Halcon中lines_gauss(Operator)算子原理及应用详解
    在Halcon图像处理库中,lines_gauss算子是一个用于检测图像中线条的强大工具,它能够提供亚像素精度的线条轮廓。以下是对lines_gauss(ImageReducedTracks,Lines,1.5,1,8,‘light’,‘true’,‘bar-shaped’,‘true’)算子的详细解释:一、算子功能lines_gauss算子主要......
  • 【064】基于51单片机无线亲子分离报警器【Keil程序+报告+原理图】
    ☆、设计硬件组成:51单片机最小系统+NRF24L01无线模块+震动器+按键电路+蜂鸣器+LED灯。1、本设计采用STC89C51/52、AT89C51/52、AT89C51/52单片机作为主控芯片;2、系统采用NRF24L01无线将主控板和子控板进行通讯;3、当主控板和子控板超出范围时两个板子都会发出声光报警提......
  • 分享 vxe-table vue 树表格拖拽二次确认
    分享vxe-tablevue树表格拖拽二次确认官网:https://vxetable.cn/<template><div><vxe-gridv-bind="gridOptions"></vxe-grid></div></template><script>import{VxeUI}from'vxe-table'exportde......
  • 【StableDiffusion教程】Stable Diffusion 喂饭教程来啦!价值上万的模特AI换装方法
    在电商领域,最近AI模特换装特别火,结合网上的教程和实战,总结了一个最简单性价比最高的方法。今天我们就一起学起来!!(文末扫码可获取SD安装包及[AI绘画]入门籽料)一思路[整体的]思路其实很简单,分为三步:获取模特服饰的蒙版获取模特的姿势特征图通过图生图局部重绘(上传蒙......