论文学习笔记 PrivateDrop: Practical Privacy-Preserving Authentication for Apple AirDrop


背景

 Apple AirDrop隔空投送的双向认证过程中存在隐私问题,即敌手会获得发送方或者接收方的联系人识别号(Contact Identifiers),例如手机号或者电子邮件地址。这篇论文的主要贡献是发现了这些隐私危害并对AirDrop进行了改进,通过隐私集合求交(Private Set Intersection)设计了一种隐私保护的认证协议PrivateDrop,最终实现了协议原型系统,在保留用户体验的同时实现了安全目标。


一、AirDrop协议

 首先放上整个协议的流程,其中发送者S试图向接收者R发送一个文件需要经历三个过程,包括发现阶段、认证阶段和数据转移阶段。

  1. 发现阶段。
     S使用低功耗蓝牙技术(BLE)将具有自己hash后的识别号(short指hash截断,如使用SHA256来哈希电话号码后取前80位)的advertisement发送给R。
     R定期地执行BLE扫描,一旦接收到该advertisement,检查是否满足下列条件之一: a)everyone 模式;b)与本地通讯录中保存的联系人识别号hash截断相匹配,若满足,则激活AWDL(Apple 无线直连),向S发送AWDL同步请求,后续S和R的所有通信都采用AWDL。
     S和R随后开启AirDrop服务,进入认证阶段。
  2. 认证阶段。
     S和R建立具有客户端服务器证书的TLS(安全传输层)连接。
     S向R发送HTTPS POST 发现Discover请求,同时传递S的验证记录VR,VR的格式如下。
    VR
     其中 U U I D UUID UUID为账户全局唯一标识, S H A − 256 ( I D i ) SHA-256(ID_i) SHA256(IDi)为S的第 i i i个身份识别号的hash值, σ V R \sigma_{VR} σVR是Apple颁发的证书,以及 S i g n ( σ V R , V R ) Sign(\sigma_{VR}, VR) Sign(σVR,VR)表示 V R VR VR的签名,可以使用 σ V R \sigma_{VR} σVR进行验证。
     R对S发送的VR进行验证,如果通过则回应OK并附上自己的VR。S进行对其验证。最终TLS关闭,进入数据转移阶段。
  3. 数据转移阶段。
     S和R建立具有客户端服务器证书的TLS连接。
     S向R发送具有VR的Ask请求,R决定是否接收文件,若回复OK,则S开始转移文件,完成后R回复OK。最终TLS终止。

AirDrop

二、隐私问题

发送方S联系人识别号泄漏

 S向R发送的VR中包含了下列两种情况的联系人识别号hash值: 𝐻 = S H A 256 ( + 49123... ) 或 𝐻 = S H A 256 ( … @ i c l o u d . c o m ) 𝐻 = SHA256(+49 123...)或𝐻 = SHA256(… @icloud. com) H=SHA256(+49123...)H=SHA256(@icloud.com),攻击者可以采用离线字典猜测攻击恢复手机号或者邮箱。注意手机号是有限的,比如中国是11位,如果排除前几位的地区号则范围进一步缩小。而邮箱一般的格式为first.lastname@{gmail.com,yahoo.com,…},也容易恢复。此外邮箱还可以通过一些在线的hash邮箱地址查询服务,感兴趣可以查看原文参考文献34。

接收方R联系人识别号泄漏

 除了上述的攻击(正常的协议执行过程中发生的隐私泄漏),更重要的是,存在Celebrity Issue(名人问题):恶意的发送方不需要知道接收方:一个受欢迎的人(例如,一个公司的经理)可以利用这个设计缺陷学习有受欢迎的人的其他人的地址簿中的所有标识符 (例如,公司的员工)。


三、PrivateDrop:基于PSI的双向认证协议

设计选项和最终设计

PSI简单的sample。S的联系人识别号 I D S ID_S IDS和R的通讯录 A B R AB_R ABR,目的是求交集 I D S ∩ A B R ID_S\cap AB_R IDSABR.

PSI协议存在发送者和接收者,发送者和接收者谁输入 I D S ID_S IDS,谁输入 A B R AB_R ABR也是需要决定的,所以出现了下面的设计选项。
设计选项
表中列出的设计选项(DOs)不同于
(a) AirDrop发送方和接收方的PSI输入,即联系人标识符和通讯录
(b) 各方在PSI中扮演的角色,即PSI发送者和PSI接收者
© 设计选项DOs执行的顺序。

 至于PSI角色的分配和执行顺序,我们可以排除进一步的合并。由于AirDrop发送方和接收方都必须保证是相互联系的,所以每个人都必须充当一次PSI接收方。在认证过程中,应该是AirDrop发送方首先披露信息,否则恶意发送方很容易触发认证过程,从大量无辜的接收方中提取信息。因此,选项必须串联起来,使AirDrop接收器首先作为PSI接收器(DO1或DO2),然后作为发送者(DO3或DO4)。接下来,我们将讨论剩下的两种可能性。

(DO1->DO4)排除。恶意的接收者R会先收到发送者的 I D S ID_S IDS,然后使用离线字典攻击恢复 I D S ID_S IDS,这时候R根本不知道S的通讯录中是否保存了S的 I D S ID_S IDS
(DO2->DO3)可行。下面是详细的协议流程。

PSI流程 DO2->DO3

PSI协议选择

选择了Security and Communication Networks 2021年发表的PSI协议,下面是协议流程(协议比较简单,这里不再描述)。
PSI Protocol of [JL10]
该协议中的某些操作可以离线进行,例如S产生 u j u_j uj和R产生 h i , y i h_i, y_i hi,yi

基于PSI的PrivateDrop协议

结合上一章的最终设计,可以得到PrivateDrop协议。
PrivateDrop

总结

该论文提出了Apple AirDrop协议中存在的隐私泄漏问题,该问题会泄漏发送者或接收者的联系人识别号(手机号或邮件地址)。随后基于PSI协议设计了改进的双向认证协议—PrivateDrop。问题的产生本质上为hash函数没有加密功能,敌手采用离线字典攻击可以很容易地恢复出手机号对应的hash值。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值