在物联网应用中,如何确保BLE连接的安全

发布时间:2022年07月02日
       在设计物联网应用程序时, 安全性是最大的挑战之一。由于物联网设备采用无线通信方式, 所有控制和状态信息以及私人用户数据都可能面临风险。不安全的物联网设备不仅不会让生活更轻松,

反而会使人们的生命和财产处于危险之中。想象一下, 有人可以入侵家庭照明控制系统, 跟踪用户何时在家, 然后闯入。或者有人可以伪造您的身份, 然后解锁您的智能锁。为了保护 IoT 设备, 需要进行三个部署: 隐藏设备身份以防止未经授权的设备的机制 身份保护 保护用户免受破坏者跟踪其物理位置的严重性。如果没有足够的保护, 物联网设备会使用户面临隐私泄露和对生命或财产的潜在威胁。这种情况类似于有人根据您的汽车登记号跟踪您。防止被动窃听 被动窃听是指监听两个设备之间的私人通信的过程。被动窃听者静默监听通信, 但不更改数据。防止中间人攻击(攻击是所有安全威胁中最严重的一种。在这种情况下, 称为攻击者的第三个设备不仅可以监听两个设备之间的私人通信, 还可以冒充任何一个设备并更改数据 对未经授权的设备隐藏设备身份 该设备使用 48 位地址, 如果该地址可以被另一个设备解码, 则后者可以实时跟踪前者。使不受信任的设备难以通过频率更改地址以实施跟踪。以上是通过使用仅可用于受信任设备的身份解析密钥来实现的。
       一旦链接被加密, 它就可以在配对过程中在受信任的设备之间共享。然后它作为绑定过程的一部分在内部存储。这种类型的地址称为可解析私有地址(。可解析私有地址由24位和24位两部分组成。如果是函数, 则由一个22位随机数和两个固定(最显着bits). 随机生成的 22 位不可能所有位都为“1”或“0”。之后, 使用 sum 作为加密函数“”的输入变量来计算。, , 截断为 24 位设备是一组 128 位数字。由 104 位填充连接, 其中填充位设置为 0, 以便接收到的大小生成一个本地。然后将这个本地与地址中的那个进行比较。如果有匹配, 地址可以解析。由于一个设备可以存储多个设备中的一个, 因此可以使用每个存储的一个一个计算本地值, 直到匹配直到匹配。版本42及更高版本允许地址快速更改一次每秒, 最大更改间隔为 115 小时, 称为超时。
       更改越频繁, t他更难的是跟踪设备。防止被动窃听假设在一次会议中, 谈话中的两个人突然切换到他们的母语, 这对于会议的其余部分来说很难理解, 那么会发生什么?事实上, 由此一种方法是, 他们可以保护这部分对话免受被动窃听。同样, 设备使用共享密钥对链接进行加密。因此, 没有密钥的设备在链接加密后将无法理解设备之间的对话。保护的强度取决于密钥的强度, 即获取或猜测密钥的难易程度。
        (版本 42 或更高版本使用符合(联邦信息处理标准)的算法来生成和交换密钥。这些密钥随后用于生成其他密钥, 也称为共享密钥。用于加密链接的密钥或生成另一组用于加密的密钥在设备中, 这种安全通信的基础是在配对过程中建立起来的。配对过程分为三个阶段: 阶段 1,

参与配对过程的两个设备在配对过程中发送配对请求和响应参数, 包括设备的性能和安全要求。之后, 两台设备会根据交换的参数值选择配对方式。阶段2涉及设备认证和链路加密。这个阶段建立的安全环境可以确保设备免受被动窃听和攻击。如前所述, 为了防止被动窃听, 符合标准的算法用于使设备能够在不安全的通道上建立共享秘密。密钥, 然后使用此密钥或其派生密钥加密链接。为了理解该算法是如何工作的, 我们给出一个非常经典的例子(见图5。并且想建立一个安全的通信链路,

但是他们正在通信的通道被第三方窃听。1并且已经生成了他们的拥有自己的私钥和公钥, 其中私钥是从 [1 到 1], 然后乘以 得到公钥。假设私钥和公钥是and, 那么私钥和公钥分别是and。 2 并在正在被窃听的不安全通道上彼此共享他们的公钥和。总和可以被截获, 但她无法确定私钥。 3 使用自己的私钥计算共享密钥, 然后使用计算共享密钥。请注意, 共享密钥是相同的。 4 现在, 可以使用这个共享密钥来保护他们的通信, 或者使用这个共享密钥来生成另一个密钥。无法计算密钥, 因为她只知道总和。上面的示例假设并且都使用相同的域参数。在低功耗安全连接的情况下, 两台设备默认遵循标准的256机制。一旦两台设备成功生成共享密钥, 就会生成一个长期密钥(和一个(媒体访问控制密钥)。
       用于确认生成的密钥是正确的。确认成功后,

两个设备将使用加密链接。注意, 这永远不会在空中共享, 因此被动窃听者将无法计算, 窃听者不会能够拦截两个设备之间交换的信息。虽然提供的安全性可以防止被动窃听, 但它并不能防止设备受到攻击。为了防止攻击, 根据设备的能力, 身份验证被用作第 2 阶段的一部分配对过程。