白话BLE技术 第六篇

安全

安全是BLE无线通信的核心技术。自从蓝牙标准4.0开始引入BLE的概念,用户数据的安全传输就是一个主要目标,并且在蓝牙标准4.1中进行了加强。

在BLE中,安全主要基于两个部分。一个是安全管理器,一个是GAP安全。

安全管理器

安全管理器实现了真实的加密算法和允许两个设备进行安全的数据交换和私有侦听的协议。主要是在协议栈和在硬件加速器上来实现。例如生成随机数,使用AES来加密数据和交换秘钥等都是在这个部分实现的。

GAP安全 GAP security aspects

GAP定义了一系列的和安全相关的模式和过程,来加强敏感数据传输的安全性。安全过程是非对称性的,中心设备和外围设备分别进行不同的工作。而且GAP还进一步扩展了一些工具来加强安全性。

地址类型

接下来具体介绍一下GAP的安全性

BLE中的蓝牙有公开地址和随机地址,GAP也扩展了这个概念,并且引入了3种不同类型的地址。

静态地址,一个可以任何时候都被设备生成的地址,在一个设备的启动后的声明周期里不可以被改变。

不可解析的私有地址,这种地址通常不被使用,也是一个产生的随机数,代表一个临时的地址。

可以解析的私有地址,从IRK中生成的随机数组合成的地址,他们可以经常被改变来防止被盗听和追踪。只有IRK之后,才可以解析这个地址。

授权

授权的概念在BLE中很模糊。

授权作为一个过程

在GAP中,授权过程可以指加强当前连接的安全性的过程。在配对和重连是可以使用秘钥。

授权作为一个资格

授权也可以理解为使用一个算法。他实现了MITM保护授权是指在配对和数据交换中的秘钥的使用。

安全模式

连接是在安全的模式下进行操作的。GAP有2中安全模式,每个模式下有几个安全级别。

安全模式1

            级别1,没有安全性,也就是说没有加密

            级别2,没有授权的加密

            级别3,授权以后的加密

安全模式2

            级别1 没有授权的数据签名

            级别2 授权以后的数字签名

连接总是从安全模式1级别1开始,之后慢慢升级到其他模式和级别。

安全模式和过程

GAP也定义了相关的模式和过程来加强安全。

  • 不可绑定的模式

在这个模式下,不允许绑定发生,设备无法分发,接收和存储秘钥,限制了所有的安全等级升级。

  • 可以绑定的模式

在这个模式下,设备可以创建一个绑定,并且永久的存储安全秘钥。

 

  • 绑定过程

中心设备可以在任何时候发起绑定过程,新的秘钥会被生成,旧的秘钥会被替换。

 

  • 授权过程

授权过程会让连接升级为安全模式。

 

  • 认证过程

认证过程是指程序让应用程序或者是用户可以选择是接收或者拒绝一个传输。

 

  • 加密过程

这是一个内置在链路层里的加密过程。在所有传输开始之前,会进行加密处理。虽然中心设备有能力初始化一个加密过程,周边设备也有能力去请求中心设备做类似的事情。

 

额外的GAP定义

广播数据格式

我们讨论了用户数据可以被广播包携带,但是我们没有涉及到数据的格式部分的内容。具体的详细内容可以参见蓝牙的核心规格文档。我们用一个表格来简单表示典型的数据格式。

 

服务和服务的UUID被用来加密数据,蓝牙的工作组定义了大量的官方服务。每一个服务都有一个独立的UUID,和对应的服务相关联。当然,用户也可以创建自己的服务和服务对应的UUID,例如,任何设备都可以实现电池服务,但是必须遵循蓝牙工作组定义的数据格式,使用官方的UUID和数据格式。

一个广播包可以包含完整的或者是不完整的服务的UUID列表,来让其他设备知道它包含了哪些服务,而在建立连接的时候,可以使用这些服务。连接是昂贵的,并且只有在必要的时候才建立连接。这样做的原因是为了延长电池的寿命,减少损耗。通过让外部知道这个设备暴露出了一组什么样的服务,比如GATT服务,用户可以快速决定这个设备是否和自己有关,而不用专门建立到每一个设备的连接。这样做的原因也是出于低功耗的设计思想。

服务独立可以让中心设备收到各种各样的广播包,然后找出那些服务是可以访问的,那些服务是不需要的。当连接建立以后,服务就可以被正常使用了。广播包包含了服务的数据。

最终,在广播包中包含数据信息。例如,苹果的iBeacon使用了广播包类型来发送数据给其他的设备,并且在广播包中插入128位的UUID来识别位置和2个16位的数据来识别身份。这个域提供了大量的灵活性给产品设计者来做个性化的处理,可以自由改变这些域的内容。

GAP服务

每个设备必须包含GATT服务,每个服务可以被连接后的设备自由访问并且没有安全要求。这个服务包含了以下几个特性

  • 设备名称特性
  • 外观特性
  • 外围设备连接参数特性

在后面的章节,我们会详细介绍GATT的内容,以及GATT中涉及到的过程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值