【蓝牙协议栈】【SMP】安全管理协议

1. SMP概念

        SMP(Security Manager Protocol)即安全管理协议。SMP 是蓝牙用来进行安全管理的,其定义了配对和 Key(可以理解成密钥)的分发过程的实现,以及用于 实现这些方法的协议和工具。SMP 的内容主要是配对和 Key 的分发,然后用 Key 对链路或数据进行加密。这个 Key 至关重要,怎么生成、怎么由通信的双方共 享,关系到加密的成败。因此蓝牙协议定义了一系列的复杂机制,用于处理和加 密 Key 有关的操作。

        SMP 被用在 LE 单模设备或蓝牙双模(BR/EDR/LE)设备中。 LE 设备配对分为 LE 传统配对(LE Legacy Pairing)和 LE 安全连接配对(LE Secure ConnectionPairing)两种方式。

        SM规范定义了蓝牙设备的配对以及密钥协商机制,密钥协商完成后,由Controller层的链路层完成加密链路的建立以及加解密操作。此外加密链路建立后,通信双方可以在该链路上共享其他的key,如Resolvable地址中使用的IRK。

2. SMP 的架构如下

​    如上图所示, 安全管理(Security Manager, SM)位于逻辑链路控制和适配协 议(Logic LinkControl and Adaption Protocol, L2CAP)之上、通用访问配 置文件(Generic Access Profile,GAP)之下。这个图还是不太具体,我们来 具体看下 SMP 在协议栈中的位置 

3. SMP配对流程

    需要注意的是BLE的加密机制针对面向连接的数据,对于广播数据(等时同步音频流除外)是不支持加密的。

流程如下:

Established LL connection:建立蓝牙连接,此时链路是明文的

Phase1:通过Pairing Request与Pairing Response协议交换双方的配对信息,如IO能力、配对方法、鉴权方式、是否建立绑定关系等等

Phase2:基于SMP协议进行配对操作以及密钥生成,有两种配对方法可选:LE legacy pairing和LE Secure Connections

Encrypted connection:基于密钥,建立加密连接

Phase3:连接建立后,可以传送一些敏感信息,如IRK等,如果后续会重新建立安全连接,则可以将配对信息保存到本地安全数据库中(后续用于建立绑定关系)

配对方法:

1.LE legacy pairing:通过随机数以及与或运算完成密钥协商,存在暴力破解可能

2.LE Secure Connections:通过ECDH算法完成密钥协商,安全性更高,能有效防止中间人攻击

鉴权方法:

1.Passkey Entry:要求用户在一个具有数字输入能力的蓝牙设备输入6位数字,另一个蓝牙设备显示相同数字。

2.Numeric Comparison(仅LE Secure Connections配对支持 ):要求两个具有显示能力的蓝牙设备自行协商6位数字,用户进行确认是否一致,如手机蓝牙

3.Out Of Band:两个蓝牙设备通过非蓝牙途径交换配对信息,如NFC蓝牙音箱

4.Just Works:无需用户参数,设备自行协商,不会进行鉴权,如蓝牙耳机

4. SMP 安全模式

​         蓝牙外围设备被中央设备访问时,提供了三种安全模式:安全模式1、安全模式2、安全模式3。外围设备中会维护一个安全数据库,数据库中维护蓝牙服务的安全模式,当中央设备满足安全模式要求时,允许其访问该蓝牙服务。

LE Security mode 1:主要用于在建立连接的Peripheral 和Central 之间,提供不同级别的信息加密,该模式为连接加密提供四个等级,这四个等级的安全性逐级增强。

LE Security mode 2:主要用于在建立连接的Peripheral 和Central 之间,提供不同等级的数据签名,该模式为数据签名提供两个等级,这两个等级的安全性逐级增强。

LE Security mode 3:主要用于在同步广播的Broadcaster 和Observer 之间,提供不同等级的BIS 同步广播信息加密,该模式为BIS 信息加密提供三个等级,这三个等级的安全性逐级增强;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/288007.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索网络分析:图论算法介绍及其如何用于地理空间分析

网络分析简介 出售真空吸尘器的挨家挨户的推销员列出了一个潜在客户,分布在邻近他的几个城市中。他想离开家,参观每个潜在客户,然后返回家园。他可以采取的最短、最有效的路线是什么? 这种情况被称为旅行推销员问题,它可能是优化中研究最深入的问题(旅行推销员问题,2023…

【Unity】调整Player Settings的Resolution设置无效

【背景】 Build时修改了Player Settings下的Resolution设置,但是再次Building时仍然不生效。 【分析】 明显是沿用了之前的分辨率设定,所以盲猜解决办法是Build相关的缓存文件,或者修改打包名称。 【解决】 实测修改版本号无效&#xf…

推特社交机器人分类

机器人有不同的种类。 cresci-17数据集中的三种不同的机器人类:传统垃圾机器人、社交垃圾机器人和假追随者。 传统的垃圾邮件机器人会生成大量推广产品的内容,并且可以通过频繁使用的形容词来检测; 社交垃圾邮件倾向于攻击或支持政治候选人,因此情绪是一…

鸿蒙HarmonyOS应用开发之Node-API简介

场景介绍 OpenHarmony Node-API是基于Node.js 8.x LTS的 Node-API 规范扩展开发的机制,为开发者提供了ArkTS/JS与C/C模块之间的交互能力。它提供了一组稳定的、跨平台的API,可以在不同的操作系统上使用。 本文中如无特别说明,后续均使用Nod…

顶会热点!迁移学习9个结合创新思路,让审稿人眼前一亮

为更灵活、更高效地解决各种复杂和动态变化问题,研究者开始着眼于将迁移学习与其他技术相结合。 这种结合充分发挥了迁移学习的优势,如知识转移、数据效率和加速学习过程等,让模型能够从更高的基准开始学习,更快地适应新任务&…

多源异构数据种类有哪些?企业该如何利用融合多源数据

随着信息时代的来临,数据的重要性愈发凸显,企业、组织和个人从各种渠道汲取丰富的信息。然而,这些数据往往源自不同的渠道,呈现异构的形式,为数据融合带来了巨大挑战。本文旨在深入研究多源异构数据的种类,…

人工智能课程小结

人工智能的各种认识论 对人工智能理论的争论 符号主义 (1)人类认知和思维的基本单元是符号 (2)计算机也是—个物理符号系统 (3)认知过程就是在符号表示上的一种运算。 连接主义 (1)人的思维单元是神经元 (2)人脑不同于电脑 行为主义 (1)智能取决于感知和行动&#xf…

AJAX介绍使用案例

文章目录 一、AJAX概念二、AJAX快速入门1、编写AjaxServlet,并使用response输出字符(后台代码)2、创建XMLHttpRequest对象:用于和服务器交换数据 & 3、向服务器发送请求 & 4、获取服务器响应数据 三、案例-验证用户是否存…

@Value注解的使用方式

Value 注解用于从配置文件中获取特定的属性值,并注入到 Spring Bean 中。它有多种使用方式,下面列举了一些常见的用法: 先贴图: 1. 注入单个属性值 Component public class MyBean {Value("${my.property}")private S…

DCS系统在工业场合中的功能是什么?为你揭秘常见DCS系统的应用场景

一.DCS系统的功能和应用 DCS系统的主要功能包括数据采集和处理、监控和报警、控制和调节、历史数据记录和趋势分析等。通过这些功能,DCS系统可以实现自动化控制、优化生产过程、提高生产效率和质量等目标。DCS系统广泛应用于各个行业,如化工、电力、制药…

代码随想录刷题笔记 Day 58 | 判断子序列 No.392 | 不同的子序列 No.115

文章目录 Day 5801. 判断子序列&#xff08;No. 392&#xff09;<1> 题目<2> 题解<3> 代码 02. 不同的子序列&#xff08;No. 115&#xff09;<1> 题目<2> 题解<3> 代码 Day 58 01. 判断子序列&#xff08;No. 392&#xff09; 题目链接…

图片文件过大?尝试这些方法压缩图片大小!

​有时候我们会面临图片文件过大的问题&#xff0c;这不仅占用存储空间&#xff0c;还可能导致传输、上传和下载速度&#xff0c;本文将介绍一些实用的图片压缩方法&#xff0c;帮助我们压缩图片大小&#xff0c;同时保持良好的图像质量。 调整图像尺寸&#xff1a; 图像的尺…

【SpringSecurity】基础入门

目录 权限管理什么是权限管理认证授权权限管理解决方案Shiro开发者自定义Spring Security Spring Security特性Spring、Spring Boot 和 Spring Security 三者的关系整体架构1.认证AuthenticationManagerAuthenticationSecurityContextHolder 2.授权AccessDecisionManagerAccess…

卷起来——高级数据分析师

要成为一名高级数据分析师&#xff0c;需要掌握一系列的技能&#xff0c;包括数据处理、统计分析、机器学习、数据可视化以及业务理解等&#xff0c;喜欢或者想往这方面发展的童鞋们&#xff0c;卷起来&#xff0c;点击以下链接中的链接&#xff0c;备注"分析"进群交…

电商产品效果图渲染用什么工具更方便?

​在电子商务的快速发展中&#xff0c;产品的视觉呈现变得至关重要。对于电商行业的设计师而言&#xff0c;选择一款既便捷又高效的渲染工具&#xff0c;对于快速完成高质量的产品效果图至关重要。特别是对于初学者&#xff0c;工具的直观性和功能性是他们最为关注的焦点。 那…

【机器学习之旅】概念启程、步骤前行、分类掌握与实践落地

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

【MySQL】4.MySQL日志管理与数据库的备份和恢复

备份的目的只要是为了灾难恢复&#xff0c;备份还可以测试应用&#xff0c;回滚数据&#xff0c;修改和查询历史数据&#xff0c;审计等 日志在备份、恢复中起着重要作用 一、数据库备份的重要性 在生产环境中&#xff0c;数据的安全性至关重要 任何数据丢失都可能产生严重的…

详解U-Net分割网络,提供详细代码技术细节及完整项目代码

一. 原始模型整体概述 U-Net网络是Ronneberger等人在2015年发表于计算机医学影像顶刊 MICCAI上的一篇论文&#xff0c;该论文首次提出了一种U型结构来进行图像的语义分割&#xff0c;论文的下载链接如下&#xff1a;U-Net: Convolutional Networks for Biomedical Image Segme…

高中数学:抽象函数难点突破(拔高)

例题1 只证明前3个小题&#xff0c;4,5比较简单&#xff0c;不给与证明 这里&#xff0c;第3小题&#xff0c;难度最高 例题2 证明单调性的方法&#xff1a; 1、观察图像法&#xff1a;前提有具体解析式&#xff0c;且能画出图像 2、导数法&#xff1a;高三才学&#xff0c;且…

python和Vue开发的RBAC用户角色权限管理系统

后端框架&#xff1a;python的FastAPI作为后端服务和python-jose作为JWT认证 前端框架&#xff1a;Vue3构建页面和Vue Router作为路由管理&#xff0c;Pinia作为数据存储&#xff0c;Vite作为打包工具 可以实现菜单控制和路由控制&#xff0c;页面里面有按钮权限控制&#xf…