2024年4月27日发(作者:)
ISSN1009-3044
ComputerKnowledgeandTechnology
第15卷第36期(2019年12月)
电脑知识
与技术
Vol.15,No.36,
December.
2019
E-mail:jslt@
ComputerKnowledgeandTechnology
电脑知识
与技术
http://
Tel:+86-551-6569
iPhone备份文件加密模式及安全性研究
石奥迪
(公安部第三研究所,上海201204)
摘要:iPhone作为主流移动终端,在国内外的用户非常多。近几年,iOS系统已经迭代更新至iOS13,用户使用iTunes对
iPhone手机进行备份的文件结构也从iOS10开始发生了较大的变化。用户通过iTunes对iPhone手机进行备份时可以选择
对备份进行加密。理论上来说,没有备份密码的情况下,无论是用户还是取证鉴定机构都很难解密iPhone备份文件。该
文对iPhone备份文件的加密模式进行了深入的研究,并探究其加密模式的安全性。
关键词:iPhone备份文件;加密模式
中图分类号:TP393文献标识码:A
开放科学(资源服务)标识码(OSID):
此文件包含备份相关
信息以及解密所需的
此文件包含了备份状
态、时间、是否为全备
份等信息
此文件为Plist文件,
包含了备份手机的相
关信息
此类文件为真正的备
一系列sha1字符串命
中记录
名的文件
Domain>-
份文件,其文件名与
否
否
KeyBag
否
文章编号:1009-3044(2019)36-0049-02
1背景
iPhone手机由于其流畅的界面UI,简约的工业化设计和前
沿的智能化思想成为越来越多用户首选的智能手机。与此同
时,iPhone的安全性也越来越高,自从iOS10开始,市面上已经
没有提供稳定越狱的工具,取证厂商只能通过iPhone备份数据
才能够获取到iPhone手机的隐私数据。倘若用户在此之前对
iPhone手机设置了备份密码,苹果厂商声称在没有备份密码的
情况下,iPhone备份文件是无法被暴力破解的。本文通过对
iPhone备份文件的加密模式进行研究,进而论证iPhone备份的
安全性。
2新版iPhone备份与旧版iPhone备份的区别
用户通过iTunes备份获得的备份文件保存路径如下:
WindowsXP:%HOMEPATH%ApplicationDataAppleCom⁃
puterMobileSyncBackup{UDID}
WindowsVista/7/8:%HOMEPATH%AppDataRoamingAp⁃
pleComputerMobileSyncBackup{UDID}
%APPDATA%AppleComputerMobileSyncBackup{UDID}
OSX:~/Library/ApplicationSupport/MobileSync/Backup/
{UDID}
2.1iOS10以前
的相对路径的对应关
是
系为:文件名=SHA1(<
旧版本备份文件目录结构如下图1所示:
iOS10之前的备份文件中包括如下文件:
表1
文件名称内容
此文件为iOS操作系
统特有的二进制数据
库文件,记录了备份
文件的相对路径、文
件名以及相对应的本
地文件名
否
加密备份中是否加密
图1
收稿日期:2019-10-29
基金项目:基于云的仿真和自动化测试技术研究(2019年基本科研业务费专项资金,所内编号C19352)
作者简介:石奥迪(1994—),上海人,研究实习员,本科,主要研究方向为电子取证鉴定。
本栏目责任编辑:代影
网络通讯及安全
49
ComputerKnowledgeandTechnology
电脑知识
与技术
2.2iOS10及其以后
iOS10以后的备份文件和目录结构都发生了变化。其中
记录了文件路径相关信息外,
文件变为了
对于加密的备份它还记录了每个
。后者为sqlite数据库,除
文件对应的加密密钥,在加密备份中文件也会被加
密。同时发生变化的还有备份文件的存储结构,由之前的同一
级目录存储变为了分级存储,新版备份文件会根据每个文件名
的前两个字符为文件夹名称创建父文件夹,文件名前两个字符
相同的文件会被归类到同一个目录下。新版本备份文件目录
结构如下图2所示:
图2
3iPhone备份文件加密模式
当使用iTunes创建一个加密的iPhone备份时,会在电脑上
自动生成一个与之对应的
PBKDF2
后,keybag
算法将备份密码经过
Backupkeybag,而这个keybag是使用
经过AESUnwrap算法进行加密之后作为密钥,
1000万次迭代运算生成的。之
再使
用AES-CBC-256算法对备份文件依次进行加密。
3.1iOS10以前
HamcSHA1
iOS10之前的系统在加密备份时,使用了PBKDF2With⁃
3.2iOS10及其以后
算法,经过若干次迭代后生成keybag。
HamcSHA1
iOS10及其以后的系统在备份时,首先使用PBKDF2With⁃
结果作为输入项,
算法对备份密码进行若干次迭代运算后,
使用PBKDF2WithHamcSHA256算法再次进
再将迭代
行若干次迭代运算生成最终的
的key记录在
文件通过
AESUnwrap
keybag。同时,系统还会对man⁃
文件中。
算法进行加密,并将加密该文件
4iPhone备份文件安全性探究
由上文得知,iPhone备份首先会对备份密码进行PBKDF2
哈希运算。接下来的加密过程都是基于PBKDF2算法的运算
结果进行的。备份文件的加密通过AES对称加密算法,众所周
知,AES为对称加密算法,在密钥已知的情况下,是可以解密出
加密信息的。因此,
KDF2
iPhone加密备份破解的关键点就在于PB⁃
4.1PBKDF2
算法的安全性。
Password-BasedKeyDerivationFunction2简称PBKDF2,它
50
网络通讯及安全
第15卷第36期(2019年12月)
基于一个伪随机函数,例如iPhone备份加密是基于HMAC算
法,输入密码或口令以及一个salt值,并多次重复该过程以生成
派生密钥,该密钥可在后续操作中用作密码密钥。增加的计算
工作使密码破解变得更加困难,这就是所谓的密钥拉伸。
4.2PBKDF2函数定义
DK
PRF
=PBKDF2(PRF,Password,Salt,
Password
是两个参数的伪随机函数,
c,dkLen)
c
是生成派生密钥的主密码
输出长度为hLen
dkLen
是所需的迭代次数
DK
是所需的派生密钥的长度
派生密钥由
是生成的派生密钥
DK
dkLen/hLen
其中,
=T
个block块连接而成:
T
每个
1
+T
block
2
+...
通过函数
+T
dklen/hlen
F生成:
函数
i
=F(Password,
F由链式PRFs
Salt,
进行
c,i)
c次异或迭代的结果。PRF的第
一次迭代使用Password作为PRF的KEY,并将Salt与编码为大
端
Password
32位整数的
F(Password,
作为PRF
i连接起来作为输入。
其中:
Salt,
密钥,
PRF的后续迭代使用
c,i)
前一次
=U
1
^U
PRF
2
^...
计算的输出作为输入:
^U
c
U
U
1
=PRF(Password,Salt+INT_32_BE(i))
...
2
=PRF(Password,U
1
)
U
例如,
c
=PRF(Password,U
c-1
)
up_SALT,
DK=
iPhone
PBKDF2(HMAC
IOS10以前的系统备份加密的密钥使用:
−SHA1,
iPhone
ionCount,256)
backup_password,back⁃
backup_DPSL,
DK_TEMP
IOS10及其以后的系统备份加密的密钥使用:
backup_DPICIterCount,
=PBKDF2(HMAC−SHA256,
256)
backup_password,
ionCount,
DK=PBKDF2(HMAC−SHA1,DK_TEMP,backup_SALT,
在新版本的iOS系统中,
256)
尽管对备份密码进行了高强度的
哈希运算,但是由于其没有关联特定设备,理论上来说,可以通
过暴力碰撞获取到备份密码。当然,iTunes备份密码可以设置
数字、字母和特殊符号的组合,因此,可以通过高强度的密码组
合来抵抗密码碰撞,从而增加安全性。
参考文献:
[1]周君.基于口令的密钥导出算法安全性分析[D].厦门
[2]
大学
Visconti
,2013.
:厦门
KDF2[C]//
A,
and
The
Bossi
14th
S,Ragab
International
H,etal.
Conference
Ontheweaknesses
onCryptology
ofPB⁃
[3]
Publishing,
NetworkSecurity(CANS2015).SpringerInternational
金星,孙波
2015.
,曹雪芬.备份文件加密的
[4]
[J].
iOS_Security_.
iOS
警察技术
Security[EB/OL]./business/docs/site/
,2012(5):12-14.
iPhone手机取证研究
【通联编辑:谢媛媛】
本栏目责任编辑:代影
发布评论