AirDrop调研
1. 什么是AirDrop?
AirDrop,即隔空投送。是苹果公司iOS,iPadOS和macOS系统下特有的功能,用于在近场的多台设备之间分享文件。
2. 特性
-
系统级别的能力
-
点对点的文件分享
-
传输速度足够快
- 它比蓝牙、NFC快得多,因为结合了WIFI和蓝牙,传输时会择优使用,能达到WIFI芯片的最大速度
- 它比电子邮件或者短信快得多,因为使用快速的点对点WIFI连接,而电邮和短信需要通过互联网传输
-
安全加密
3. 如何使用AirDrop?
1. 找到您要分享的内容并点击分享图标调出分享菜单。
2. 点击开启 AirDrop。然后,您会看到图标变为蓝色,表示 AirDrop 已打开,并显示一条消息,指示您告诉您的朋友从控制中心打开 AirDrop(如果他们尚未打开)。如果他们有,你会看到他们的头像......
3. 点击想分享的朋友。会在他们的名字下方看到“已发送”字样
4. 您的朋友需要在他们的 iOS 设备上点击接受以允许传输文件。传入的内容将保存在适当的位置(照片应用程序中的照片、存折中的通行证、联系人中的联系人等)。
4. AirDrop的版本演进
时间 | 版本 | 更新内容 |
---|---|---|
2011 | Mac OS X Lion(10.7) | 首次引入 |
2013 | IOS 7.0 | IOS首次引入,支持共享图片、视频、通讯录、备忘录、文档等等 |
2014 | IOS 8 | 支持IOS与MAC OS之间共享 |
2014 | IOS 8.1 | 支持Passbook(钱包,iOS 9发布时改称为Wallet) |
2015 | IOS 9 | 简体中文界面AirDrop改为隔空投送,支持组织在受管理的设备上停用airdrop |
2018 | IOS 12 | 支持在“设置”的“密码与帐户”中使用“隔空投送”与联系人共享密码 |
2019 | IOS 13.1 | 支持基于U1芯片的超宽带技术以空间感知选择隔空投送的对象 |
5. AirDrop是如何工作的?
- 调用 AirDrop 共享功能后,AirDrop 使用蓝牙来发现能分享的对象
- 根据预先配置的AirDrop分享策略,决定看到周围的每个人或仅联系人
- 一旦确定了连接对象后,AirDrop会建立一个点对点的WiFi 网络。该网络是私有的,它有自己的私有加密密钥,保证其他人无法获取共享内容。
- 文件在私有加密网络中进行传输
6. AirDrop的工作原理
- 开启隔空投送时,存储一个2048位的RAS身份标识,并生成一个基于appId关联的电子邮件地址和电话号码的短身份标识hash
- 开始共享文件时,发送设备会广播自己的短hash,周围开启隔空投送且被唤醒的设备会建立点对点WIFI响应自己的短hash
- 如果仅限联系人模式,会比对周围设备发送的短hash是否匹配本设备通讯录中联系人的hash,如果没有匹配则抛弃,如果匹配则显示在共享表单中
- 选择共享对象后,发送设备和接受设备建立一个加密的TLS连接,基于该连接交换iCloud身份证书,针对用户的通讯录进行验证
- 通过验证后,完成文件传输
“隔空投送”使用 iCloud 服务帮助用户完成认证。当用户登录 iCloud 时,设备上会储存一个 2048 位 RSA 身份标识,且当用户打开“隔空投送”时,设备还会根据与用户 Apple ID 相关联的电子邮件地址和电话号码,创建一个“隔空投送”短身份标识哈希值。
当用户选择使用“隔空投送”共享项目时,发送设备会通过 BLE 发出包括用户的“隔空投送”短身份标识哈希值的“隔空投送”信号。附近处于唤醒状态且打开了“隔空投送”的其他 Apple 设备检测到这一信号,并使用点对点无线局域网进行响应,这样发送设备就可以发现任何响应设备的身份标识。
在“仅限联系人”模式下,接收到的“隔空投送”短身份标识哈希值会与接收设备的“通讯录” App 中联系人的哈希值进行对比。如果找到匹配,接收设备将使用其身份标识信息通过点对点无线局域网进行响应。如果没有匹配,设备将不作响应。
在“所有人”模式中也会采用大致相同的过程。但是,即使设备的“通讯录” App 中没有匹配,接收设备也会作出响应。
发送设备随即使用点对点无线局域网发起“隔空投送”连接,并使用此连接将长身份标识哈希值发送给接收设备。如果长身份标识哈希值与接收方“通讯录”中某个已知联系人的哈希值匹配,则接收方会使用其长身份标识哈希值作出响应。
如果哈希值通过验证,接收方的名字和照片(如果“通讯录”中有)会显示在发送方的“隔空投送”共享表单中。在 iOS 和 iPadOS 中,这些信息均显示在“联系人”或“设备”部分中。未验证或未认证的设备会显示在发送方的“隔空投送”共享表单中,并带有一个剪影图标及设备名称,该名称可在“设置”>“通用”>“关于本机”>“名称”中找到。在 iOS 和 iPadOS 中,设备会放置在“隔空投送”共享表单的“其他人”部分中。
然后发送方用户可选择要与之共享的人。用户选择后,发送设备会与接收设备建立一个加密的 (TLS) 连接,此连接会交换其 iCloud 身份证书。身份证书中的身份标识会针对每位用户的“通讯录” App 进行验证。
如果证书通过验证,则会请求接收方用户接收来自经过验证的用户或设备即将传输的内容。如果选择了多个接收者,将针对每个目标重复此过程。