博客
关于我
BLE安全机制从入门到放弃
阅读量:263 次
发布时间:2019-03-01

本文共 1474 字,大约阅读时间需要 4 分钟。

蓝牙低能耗(BLE)安全机制从入门到深入理解

作为一个刚入行的工程师,我对蓝牙低能耗(BLE)安全机制的了解最初是零,但通过深入研究,我逐渐掌握了BLE 4.0和BLE 4.2的核心安全机制。以下是我在学习过程中的思考和总结。

一、信息安全基础

在深入研究BLE安全机制之前,我首先回顾了信息安全的基础知识。信息安全面临的主要威胁包括窃听篡改伪装。为了应对这些威胁,信息安全需要具备机密性一致性认证性

密码技术概述
  • 对称密码:使用相同的密钥进行加密和解密,适用于防止窃听,但需解决密钥配送问题。
  • Diffie-Hellman密钥交换算法:通过数学难题协商共享密钥,解决对称密码的密钥配送问题。
  • 椭圆曲线Diffie-Hellman密钥交换算法(ECDH):利用椭圆曲线加密,提升密钥安全性。
  • 消息认证码(MAC):用于信息一致性和身份认证,防止篡改和伪装。
  • 认证加密(CCM):结合加密和认证技术,提供更强的安全性。
  • 二、BLE安全机制入门

    BLE设备在通信过程中分为主机角色(Master)和从机角色(Slave)。通信过程经历连接配对明文传输密文传输等阶段。

    BLE通信阶段
  • 连接阶段:主机发起连接,设备进入扫描或广播状态。
  • 配对阶段:通过配对码(TK)生成会话密钥(sessionKey)和随机数(IV),用于CCM认证加密。
  • 明文传输阶段:使用CCM加密数据包。
  • 密文传输阶段:使用生成的密钥加密数据包。
  • 绑定阶段:通过长期密钥(LTK)优化后续通信。
  • BLE安全机制的关键点
    • 配对码(TK):用于加密和认证,需妥善管理以防泄露。
    • CCM(计数器与CBC-MAC):结合加密和认证,保障数据完整性和来源认证。
    • 配对阶段:输出临时密钥(STK)和长期密钥(LTK),提升后续通信安全性。

    三、BLE 4.0安全机制详解

    BLE 4.0的安全机制
  • 配对阶段:使用STK生成sessionKey和IV,用于CCM认证加密。
  • 绑定阶段:从机发送LTK给主机,优化后续通信。
  • 动态配对码:通过Passkey模式,确保配对码的安全性。
  • BLE 4.0的安全漏洞
    • 静态配对码容易被破解,需谨慎管理。
    • 配对阶段的STK和LTK易被窃听,需加强保护。

    四、BLE 4.2安全机制的改进

    为了解决BLE 4.0的安全漏洞,BLE 4.2引入了动态配对码和ECDH算法。

    BLE 4.2的改进措施
  • 动态配对码:每次配对生成不同的配对码,增强安全性。
  • ECDH算法:通过椭圆曲线加密,增强密钥的安全性。
  • 直接生成LTK:减少对STK的依赖,提升安全性。
  • BLE 4.2的优势
    • 动态配对码避免了静态配对码的安全问题。
    • ECDH加密确保了配对阶段的安全性。
    • 直接生成LTK减少了窃听风险。

    五、实际应用中的注意事项

  • 密钥管理:妥善管理配对码和长期密钥,防止泄露。
  • 认证强度:确保认证密钥的安全性,避免逆向推算。
  • 协议版本选择:根据实际需求选择适合的协议版本(如BLE 4.2)。
  • 六、总结与展望

    通过对BLE 4.0和BLE 4.2的学习,我认识到信息安全是多层次的,需要结合密码技术和协议规范来保障数据传输的安全。未来,我计划深入研究BLE的核心规范和实际应用案例,以提升我的专业能力。

    参考资料

  • 《图解密码技术》
  • BLE配对过程详解
  • BLE核心规范
  • Hash算法总结
  • 穷举法破解BLE的TK值
  • 本文作者:Jayden Huang

    本文链接:https://jaydenh215.github.io/2019/05/14/BLE安全机制从入门到放弃/

    转载地址:http://bpex.baihongyu.com/

    你可能感兴趣的文章
    Node-RED中建立静态网页和动态网页内容
    查看>>
    Node-RED中解析高德地图天气api的json数据显示天气仪表盘
    查看>>
    Node-RED中连接Mysql数据库并实现增删改查的操作
    查看>>
    Node-RED中通过node-red-ui-webcam节点实现访问摄像头并截取照片预览
    查看>>
    Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件
    查看>>
    Node-RED安装图形化节点dashboard实现订阅mqtt主题并在仪表盘中显示温度
    查看>>
    Node-RED怎样导出导入流程为json文件
    查看>>
    Node-RED订阅MQTT主题并调试数据
    查看>>
    Node-RED通过npm安装的方式对应卸载
    查看>>
    node-request模块
    查看>>
    node-static 任意文件读取漏洞复现(CVE-2023-26111)
    查看>>
    Node.js 8 中的 util.promisify的详解
    查看>>
    node.js debug在webstrom工具
    查看>>
    Node.js HTTP模块详解:创建服务器、响应请求与客户端请求
    查看>>
    Node.js RESTful API如何使用?
    查看>>
    node.js url模块
    查看>>
    Node.js Web 模块的各种用法和常见场景
    查看>>
    Node.js 之 log4js 完全讲解
    查看>>
    Node.js 函数是什么样的?
    查看>>
    Node.js 函数计算如何突破启动瓶颈,优化启动速度
    查看>>