首页 > 其他分享 >[4] Secret Key Extraction using Bluetooth Wireless Signal Strength Measurements 论文精读

[4] Secret Key Extraction using Bluetooth Wireless Signal Strength Measurements 论文精读

时间:2023-05-31 16:13:33浏览次数:52  
标签:Strength Signal WIFI 蓝牙 Alice 精读 密钥 Bob RSS

近日在找和BLE或者RSS相关的baseline,不好找,找到了一篇2014年的文章,感觉CCF B的文章工作量其实也还好吧。 

Secret Key Extraction using Bluetooth Wireless Signal Strength Measurements

题目:通过蓝牙测试RSS来生成密钥

 

1、摘要和介绍

其实看了题目大概就知道他在干啥了,摘要点出了这篇文章是对标的谁——WIFI:

 BLE在我们的直觉里最大的优势是低功耗,那么,如何做到其生成密钥的效率与WIFI相当呢?一句话吸引读者。

在摘要中,还写出了一句很狂的话:能够提供安全,以对抗具有无限计算能力的对手。当然,前提是一次一密钥。

 在摘要中也介绍了用RSS或者CSI做信道加密的原理,即做一个基本的假设,Alice和Bob之间的信道是互易的,而这个信道的特征与Eve到任意一人的特征都无关。

 随后就简要介绍了整篇文章的工作。

 

 

2、密钥生成过程

本文比较详细地阐明了传统的密钥生成方法和自己的密钥生成方法,如下:

 首先都是对所观测的物理信号做采样,本文则是采样RSS值。

随后的差值部分,这是常规的密钥生成方法不一定会用的方案,主要是以预测Alice 和 Bob之间的测量值来解决不对称性,换句话说,就是预量化插值。本文还用实验数据表示,蓝牙必须使用插值这一步骤,否则量化后的不匹配率会非常高。

具体来说,设TR表示Alice或Bob随后两次测量之间的时间延迟,τa(i)和τb(i)表示Alice和Bob分别记录其第一次测量的时间瞬间。分数阶采样偏移µ计算为:

 如果Alice和Bob分别以(1 +µ)TR和(1−µ)TR的延迟估计他们的测量值,那么我们将对他们的测量值进行同时估计。

这个可能不太好理解,其实括号里分子表示的是二者第一次测量时间的差值,这个差值相对于时间延迟来说差了多少?则设置时间延迟的起点为0点,那么除以这段时间,就是二者第一次测量时间的差在时间延迟这段时间内的平均分配,将这段差值除以二,一个做加法一个做减法,就可以大致上抵消这个信息延迟,从而增强密钥匹配成功率。

插值之后进入量化过程,这个过程就比较简单了,采用的是最经典的双阈值量化方案,即确定一个阈值μ,确定一个标准差segma,然后μ+-segma的加权,分别作为上阈值和下阈值,分别量化为1和0,在这之间的值丢弃。

信息协调过程本文使用的是基本的奇偶校验纠错。

最后经过隐私放大之后,生成秘密比特流。所谓的隐私放大,其实就是利用哈希函数或者其他随机方案让可能的泄露源更加随机而已。

 

3、攻防模型

作为一篇安全文章,攻防模型竟然用一段话就写了一章,讲道理,看之前,我是不知道这个东西可以写的这么简单的,他们甚至都没有实现,仅仅是在理论上建立了一个模型,全文如下:

我们假设对手Eve可以听到真正的双方Alice和Bob之间的所有对话。对手也可以同时测量自己与Alice和Bob之间的信道。然而,伊芙的位置不能离爱丽丝或鲍勃很近。具体来说,夏娃应该与它们都有几个波长的距离,这样她才能测量到一个不相关的频道[5],[6]。密钥提取算法以及使用的参数是公开的。我们假设数据完整性受到保护,也就是说,Eve对操纵Alice和Bob之间的消息不感兴趣。Eve能够通过在环境中随机移动物体来影响Alice和Bob之间的无线信道。然而,她无法控制运动到显著增加通道相干时间的程度。蓝牙使用标准化算法[11]在2.4 GHz频段的不同信道之间进行跳频,其中跳频序列对蓝牙微网中的所有节点都是通用的。我们假设Eve不属于piconet,因此不知道跳跃序列。然而,她可以干扰同一2.4 GHz频段的WiFi频道。我们的方案不需要对Alice或Bob进行身份验证,也不能避免主动的中间人攻击。著名的Diffie-Hellman密钥建立方案在网络安全协议和标准中得到了广泛的应用,即使没有认证机制。我们相信,我们的方案将为无线网络中建立会话密钥提供一个强大的替代方案,以取代Diffie-Hellman方案。

 

4、对标高堵塞状态的WIFI

本文做了一个实验来验证一件事,即WIFI在高流量下采样周期会变得非常大,以至于不能用于加密,而蓝牙则对高流量具有鲁棒性。

他也给了一个很好的例子:

假设一个网络有三个节点,a、B和c。假设节点a和B之间的数据交换速率很高,例如,流媒体视频或交换大数据文件。现在,节点C希望利用节点a与节点a之间的无线信道的特性,与其中一个节点(比如节点a)建立密钥。如果节点a和C选择使用现有的WiFi信道,(i)节点a和C将只能以非常低的速率采样信道以收集RSS测量值;(ii)由于节点A和C之间为了收集RSS测量值而进行了新的探针数据包交换,它将减缓节点A和B之间正在进行的现有数据传输。

实验结果验证了这个例子:

 可以看到,WIFI Light虽然是最高的密钥生成率,但是一旦通信变得Heavy,就比蓝牙更差了,直接周期扩大了200倍。而蓝牙则对通信的Heavy程度无明显敏感。

这是我认为本文第一个能打的点。

 

 

5、实验细节

其所谓的 ROBUST SECRET KEY EXTRACTION METHOD 即RSKE方案,最主要的点在于使用了蓝牙的跳频机制,面对那些拥堵的频段则直接舍弃,而使用light的通信频段去通信。

 因为蓝牙设备一般都会维护一个AFH映射,这个映射记录了被其他设备占用的通道,共79个1位的字段,第i个位置是1表示第i个通道有人再用,反之0表示无人使用,当跳频序列的信道至少包含20个可用信道时,蓝牙才可以成功运行。

根据此,我们可以生成一组绕开Heavy通信的通道,从而使得WIFI在大量占用通道时,完成蓝牙信息的传输。而WIFI本身一般不做跳频,因此这就是本文的优势。

 

而在获得RSS值时,有两种方案,一种是基于查询的RSS获得方法,但是不能用,因为收集RSS速率太小,而且查询RSS是广播机制,可能受到别的干扰,且很难对指定设备做出响应。另外,发现模式只能持续180s,不太够。

另一种方案是基于连接的方案,但是返回的不是原始的RSS值,返回的是RSS值低于还是高于还是处于GRPR(理想信号功率范围)范围内,如果处于的话,就会返回0,因此只能使用不处于GRPR范围的值来做加密。。。

但是作者还是选择了这种方案,因为实验表明这比A要强很多。

作者在户外户内,不同距离下分别收集了30000的RSS samples去做实验。

 

6、实验评估

因为采用的是第二种RSS获得值,因此很多实验结果其实是可以预见的。

作者首先比较了熵、比特失配率、秘密比特率三个数据与量化阈值α的关系,并发现距离和这些值的关系不是很大。但是在户外,距离还是有一定影响因素的:

 

另外就是0值的比率:

 室内远远高于室外,因为室内的信号更多的落在了GRPR内,所以才会使得室外信号加密更好,因为不用丢弃。

也因为选的基于连接的方案,所以显得室外效果更好:

 随后作者展示了一些NIST测试,结果很好,这里不再赘述。

作者还与之前的工作(自己)比较,表明了Bluetooth与WIFI在户外的加密能力相当:

 

7、总结

这篇文章做了以下几件事:

构建了一种生成密钥的方法,使用非常宽的带宽与随机跳频组合,并实施了这些方法,做了很多实验。

实验表明,这种方案在户外效果更好,甚至与WIFI相当。

证明,蓝牙在WIFI处于Heavy场景时,局有更优秀的表现。

 

标签:Strength,Signal,WIFI,蓝牙,Alice,精读,密钥,Bob,RSS
From: https://www.cnblogs.com/loveandninenine/p/17446205.html

相关文章

  • 7.4精读笔记
    逻辑结构设计概念结构是独立于任何一种数据模型的信息结构,逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。7.4.1E-R图向关系模型的转换E-R图向关系模型的转换要解决的问题是,如何将实体型和实体......
  • 精读7.35读书笔记
    概念结构设计概念结构设计的第一步就是对需求分析阶段收集到的数据进行分类、组织,确定实体、实体的属性、实体之间的联系类型,形成E-R图。首先,如何确定实体和属性这个看似简单的问题常常会困扰设计人员,因为实体与属性之间并没有形式上可以截然划分的界限。实体与属性的划分原则......
  • 精读 Openpose 论文
    原始题目OpenPose:RealtimeMulti-Person2DPoseEstimationusingPartAffinityFields中文名称Openpose:使用PartAffinityFields来实时多人2D姿态估计发表时间2016年11月24日平台CVPR2017来源卡内基梅隆大学机器人研究所文章链接https://a......
  • SignalR WebSocket通讯机制
    1、什么是SignalRASP.NETSignalR是一个面向ASP.NET开发人员的库,可简化向应用程序添加实时Web功能的过程。实时Web功能是让服务器代码在可用时立即将内容推送到连接的客户端,而不是让服务器等待客户端请求新数据。SignalR使用的三种底层传输技术分别是WebSocket......
  • .NET + SignalR 的反向代理 websocket/http 数据隧道
    开源项目TuToDataTunnel:https://github.com/viordash/TuToDataTunnel,这个项目可以满足以下几个需求:使用一个公网IP地址和一个tcp端口,默认端口为80http。Websocket或http隧道传输、性能或可访问性。理想情况下,将自动选择最佳可用交换协议。同时通过隧道传输多个TCP和u......
  • span class=part用户操作处理: signal 和 slotspan
    1.点击`统计`,会根据button.clicked.connect函数名)调用handleCalc()函数: 2.使用textEdit.toPlainText()方法接收窗口发送的信息: 3.对代码处理结果做相关总结,并使用QMessageBox.about()方法展示结果弹窗: 4.对功能代码做封装: ......
  • Codeforces 1781H1 - Window Signals (easy version)
    很套路的一道题,把F1写了,F2感觉和F1gap不太大就懒得写了/shui首先需要明白大致思路:直接计算\(2^{nm-k}-1\)之所以会算重,是因为对于同一种图案,可能把它放在很多位置都是合法的。那么显然我们需要选一个代表元来把它的贡献唯一化,非常自然的想法就是把它固定在最左上角那个合......
  • elasticsearch7.13.4(7.X版本)使用RealtimeSignalProcessor进行删除时,索引_doc文档不会
    环境django==3.8.18elasticsearch==7.13.4drf-haystack==1.8.11django-haystack==3.2.1原因django-haystack如果没有指定HAYSTACK_IDENTIFIER_METHOD,默认使用<app.label>.<object_name>.<pk>作为id进行删除,而大部分生成文档时都是默认使用纯数字作为id。解决方法将删除id......
  • scipy.signal.butter实现带通滤波器
    fromscipy.signalimportbutter,lfilter#带通滤波器defbutter_bandpass_filter(data,lowcut,highcut,fs,order):low=lowcut*2/fshigh=highcut*2/fsb,a=butter(order,[low,high],btype='bandpass')y=lfilter(b,a,......
  • mvc5中使用autofac注册SignalR
    1.引用autofac.SignalR 2.Startup publicvoidConfiguration(IAppBuilderapp){DependencyConfig.RegisterDependencies(app);}3.RegisterDependencies//RegisteryourSignalRhubs.builder.RegisterHubs(Assembly.GetExecutingAssembly());var......