关于任何一个无线设备,无论是健康监测器仍是付款体系,维护用户的隐私信息都是十分重要的。隐私机制可防止设备遭到不可信的设备追寻。安全的通讯保证了数据安全,防止未经授权的设备侵入数据导致触发体系意外操作。BLE 4.2的新功用加强了隐私和安全,处理了前期BLE的缺点而且进步了能效。
隐私
为了维护BLE设备的隐私,受信赖的BLE设备运用同享的身份解析密钥(IRK,Identity Resolving Key)生成和解析随机的可解析私有地址(RPA,Resolvable Private Address)。只需一台设备具有另一台播送设备的IRK时,才干盯梢该播送设备的活动。
蓝牙设备在配对期间同享IRK,并将其存储在设备内置存储器中的解析列表中。因而,早前绑定的设备仍然可以解析对方设备的私有地址。
蓝牙4.1中,该解析列表保存于主机而且由主机完结地址解析,也就是说每次收到RPA的广告包时,都需求主机进行干涉。在蓝牙4.2中,该解析列表保存在控制器中,由控制器解析私有地址。假如设备主机运用独自的CPU,则主机不需求被唤醒即可进行蓝牙配对,然后下降了全体功耗。即便设备运用相同的CPU履行控制器和主机,由于地址不需求经过不同的协议层,削减了解析地址所需的CPU循环次数,也可下降功耗。
RPA会时刻改变,因而第三方更难以盯梢私有设备。在Privacy 1.1(蓝牙4.1)中,主张的RPA超时时刻为15分钟。可是,由于Privacy1.1对衔接和功耗有必定影响,因而它的运用十分有限。此外,由于Privacy 1.1不支撑地址在链路层解析,因而在运用RPA时不能完成设备过滤和定向衔接播送(DCA)之类的功用。
蓝牙4.2中Privacy 1.2答应的RPA超时时刻可以为1秒到11.5小时。由于BLE 4.2支撑在链路层解析地址,故可运用DCA加快设备之间的衔接并下降功耗。
被迫偷听
为了防止未经授权拜访通讯,无线体系有必要防止被迫偷听和中间人(MITM)进犯。被迫偷听是指第三台设备悄悄地偷听两个设备(见图2)之间的私有通讯。关于付出处理方案这样的信息保密性(比方暗码)极其重要的运用来说,防止被迫偷听是十分重要的。
图1:在被迫偷听进犯中,第三台设备悄悄偷听两个设备之间的通讯。
经过运用密钥对数据进行加密,体系可以防止被迫偷听。蓝牙低功耗4.2引进LE安全衔接,选用契合联邦信息处理规范(FIPS)的DCTH (Elliptic Curve Diffie-Hellman)算法生成密钥。该密钥用于生成其它密钥,如长时间密钥和DH密钥,但其自身从不经过无线电同享。由于DH密钥从不经过无线电交流,因而第三方设备很难猜出加密密钥。在蓝牙低功耗前期版别(蓝牙4.1或更老版别)中,设备选用的是十分简略猜测到的暂时密钥(TK)对衔接进行初次加密,尔后的长时间密钥和其他密钥都会在这个不太安全的衔接上进行。
中间人
MITM是指当两个设备测验互相通讯时,第三设备刺进到两者之间并假装成对方设备(参见图1)。经过认证可以保证体系所通讯的设备是其实践预期的设备,而不是假装的非授权设备。
图2:在中间人进犯中,第三台设备刺进两台设备的衔接之中,而且使通讯的两头以为他们是在与对方直接对话。
在蓝牙通讯中,两台设备运用相关模型完成彼此验证,然后安全地交流数据。蓝牙配对是一个密钥交流的进程;可是,交流密钥之前,这两个设备有必要同享包含认证要求在内的配对参数。而为了完成认证,两台设备有必要运用某种相关模型进行彼此验证。模型的挑选依据三个参数:
a. 是否需求MITM防护
b. 该设备是否可以从用户接纳数据(例如按钮或键盘输入)或是否可以向用户输出数据(例如LCD显现6位十进制数)。将用户归入到配对处理是数据安全传输的一个重要因素
c. 该设备是否可以进行频带外(OOB)通讯。例如,假如部分安全密钥可以在两个设备之间经过近场通讯(NFC)交流,那么偷听者就无法了解终究的数据含义。
BLE 4.2有四个相关模型可供挑选:
数值比较-两台待匹配设备均显现六位数字,假如两个数字相同,那么用户在设备上挑选“是”即可经过验证。蓝牙4.2 低功耗安全衔接引进了这种相关模型。在传统配对(蓝牙低功耗4.1或更老的版别)中,这些IO功用完成的是“立刻运转”相关模型(无验证)。
密钥输入-用户在两台设备中输入相同的密钥,或其间一台设备显现密钥,用户在另一台设备输入相同的密钥。在传统密钥输入(蓝牙4.1或更老的版别)中,整个密钥以简略的单次承认即可进入交流;而蓝牙4.2中,一次交流一位密钥,安全性有了很大进步。这种逐位发布保证了在协议的配对程序失利之前,未猜测到的密钥走漏不超越2位。
非蓝牙传输(OOB)-OOB相关模型适用于两边设备中至少有一个具有OOB才干、可以加密信息进行频带外交流的状况。此刻,MITM防护取决于用于同享信息的OOB协议对MITM的抵抗力。在传统配对(BLE 4.1或更老的版别)中,两个设备都需求具有OOB才干才干运用OOB相关模型。
立刻运转-在不需求MITM维护或许设备具有表1中说到的IO才干的时分,选用这种相关模型。
表1显现了不同IO状况下在LE安全衔接配对时可以运用的相关模型。可是,假如不需求MITM维护或其间某台BLE设备具有OOB功用时, 可以疏忽IO。
表1:相关模型的挑选取决于设备的I/O支撑怎么。
蓝牙低功耗4.2供给三个支撑MITM防护的相关模型以及一个针对无需MITM防护运用的模型。4.1以及更老的BLE版别不支撑数值相关模型;假如OOB数据也不可用,则只能运用密钥输入相关模型进行验证配对。而密钥相关模型需求键盘完成密钥输入,这一点在许多体系中无法完成,约束了MITM防护的运用。可是,只需显现可以完成是/否选项时,可以运用数值比较模型,为更多的运用供给MITM维护。
配对
配对是密钥交流和认证的进程。依据不同的蓝牙低功耗版别,有两种取决于的配对类型:LE安全衔接(蓝牙4.2新增)和LE传统配对(蓝牙4.0今后的版别支撑)。与之前的版别比较,LE安全衔接供给了明显的改进。
蓝牙低功耗的配对分为三个阶段。在第一阶段,设备交流其配对参数,其是可以确认适宜相关模型的才干和安全要求。配对参数包含各种字段,如图3。
图3:BLE 4.2配对第一阶段交流的配对参数
LE安全衔接选用契合联邦信息处理规范(FIPS)的ECDH算法,可以在没有防护的信道中树立安全的同享密钥。运用ECDH方法是P-256,这意味着设备生成的私有密钥长度为256位(或32字节)。
履行ECDH算法之前,两个设备有必要确认一组特定的域参数。在LE安全衔接中,由于两台待衔接设备都FIP的SP-256 ECDH机制,因而都知道一个默许的参数。随后,两台设备各生成一对密钥,一个称为私有密钥,该设备不会经过无线电进行同享或发送;另一个称为公共密钥,由设备密钥和一个发生器函数(域参数的一部分)发生。
随后,两台设备都将自己的公共密钥发送给对方设备。运用这个接纳到的公共密钥、自己的公共密钥以及自己的私有密钥,两台设备都可以生成一个同享密钥。留意,被迫偷听者只能获取设备之间交流的公共密钥,但没有两边的私有密钥,因而不能发生用于进一步加密的同享密钥。经过这种方法,ECDH可以在不安全的通道上生成同享密钥并对衔接进行加密。
图4显现了在有第三设备偷听的状况下,两台设备是怎么树立同享密钥的。
图4:当有第三设备偷听时,两台设备正在树立同享密钥
在第2阶段中,ECDH密钥生成后将公共密钥同享给可信的设备并树立加密衔接。为保证与设备进行通讯的设备是预期的设备,需求运用相关模型进行认证。该设备依据ECDH算法的同享密钥生成一个长时间密钥(LTK)并继续进行第二阶段的认证查看,包含查看DH密钥。
在第3阶段,运用长时间密钥来对衔接进行加密。一旦衔接被加密,密钥就可以经过配对参数中的启动器密钥分配/应答器密钥分配标志进行同享(例如,假如选用RPA,则需求IRK)。
数据签名
数据签名是另一个可以协助添加安全级别的BLE功用。在没有运用加密时,BLE可以运用衔接签名解析密钥(CSRK,Connection Signature Resolving Key)对数据进行认证。签名是由签名算法和计数器发生的。计数器随各数据PDU递加,以防止任何重放进犯。请留意,数据签名并非用来防护被迫偷听,而是为接纳设备验证数据源的真实性。
蓝牙低功耗4.2供给了强壮的安全机制以保证安全的无线衔接体系。虽然BLE 4.1和4.2都供给了MITM防护功用,但只需蓝牙4.2可以完成真实安全的BLE体系。当运用蓝牙4.1 的LE传统配对时,只需OOB相关模型供给了被迫偷听的防护;而蓝牙4.2还供给数值比较相关模型和ECDH算法以保证隐私和数据安全。
有关蓝牙4.2隐私和安全功用的详细信息,请参阅运用攻略AN99209,有关蓝牙4.2功用的详细信息,请参阅蓝牙中心标准。