摘要:iPhone作為主流移動(dòng)終端,在國(guó)內(nèi)外的用戶非常多。近幾年,iOS系統(tǒng)已經(jīng)迭代更新至iOSl3,用戶使用iTunes對(duì)iPhone手機(jī)進(jìn)行備份的文件結(jié)構(gòu)也從iOSl0開(kāi)始發(fā)生了較大的變化。用戶通過(guò)irlunes對(duì)iPhone手機(jī)進(jìn)行備份時(shí)可以選擇對(duì)備份進(jìn)行加密。理論上來(lái)說(shuō),沒(méi)有備份密碼的情況下,無(wú)論是用戶還是取證鑒定機(jī)構(gòu)都很難解密iPhone備份文件。該文對(duì)iPhone備份文件的加密模式進(jìn)行了深入的研究,并探究其加密模式的安全性。
關(guān)鍵詞:iPhone備份文件;加密模式
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)36-0049-02
1背景
iPhone手機(jī)由于其流暢的界面UI,簡(jiǎn)約的工業(yè)化沒(méi)計(jì)和前沿的智能化思想成為越來(lái)越多用戶首選的智能手機(jī)。與此同時(shí),iPhone的安全性也越來(lái)越高,自從iOSl0開(kāi)始,市面上已經(jīng)沒(méi)有提供穩(wěn)定越獄的工具,取證廠商只能通過(guò)iPhone備份數(shù)據(jù)才能夠獲取到iPhone手機(jī)的隱私數(shù)據(jù)。倘若用戶在此之前對(duì)iPhone手機(jī)設(shè)置了備份密碼,蘋果廠商聲稱在沒(méi)有備份密碼的情況下,iPhone備份文件是無(wú)法被暴力破解的。本文通過(guò)對(duì)iPhone備份文件的加密模式進(jìn)行研究,進(jìn)而論證iPhone備份的安全性。
2新版iPhone備份與舊版iPhone備份的區(qū)別
用戶通過(guò)iTunes備份獲得的備份文件保存路徑如下:
Windmvs XP:oHOMEPATH%YApplication Data\Apple Com-puter\MobileSync\Backup\{U DID)
Windows Vista/7/8:% HOMEPATH% \AppData\Roaming\Ap-ple Computer\MobileSync\Backup\( UDID)
%APPDATA%\Apple Computer\MobileSync\Backup\{ UDID}
Os X:~/Library/Application Support/MobileSync/Backup/{UDID}
2.liOS10以前
iOSIO之前的備份文件中包括如下文件:
2.2 iOS10及其以后
iOSIO以后的備份文件和目錄結(jié)構(gòu)都發(fā)生了變化。其中Mainfest.mdbd文件變?yōu)榱薓ainfest.db。后者為sqlite數(shù)據(jù)庫(kù),除記錄了文件路徑相關(guān)信息外,對(duì)于加密的備份它還記錄了每個(gè)文件對(duì)應(yīng)的加密密鑰,在加密備份中Mainfest.db文件也會(huì)被加密。同時(shí)發(fā)生變化的還有備份文件的存儲(chǔ)結(jié)構(gòu),由之前的同一級(jí)目錄存儲(chǔ)變?yōu)榱朔旨?jí)存儲(chǔ),新版?zhèn)浞菸募?huì)根據(jù)每個(gè)文件名的前兩個(gè)字符為文件夾名稱創(chuàng)建父文件夾,文件名前兩個(gè)字符相同的文件會(huì)被歸類到同一個(gè)目錄下。新版本備份文件目錄結(jié)構(gòu)如下圖2所示:
3 iPhone備份文件加密模式
當(dāng)使用iTunes創(chuàng)建一個(gè)加密的iPhone備份時(shí),會(huì)在電腦上自動(dòng)生成一個(gè)與之對(duì)應(yīng)的Backup keybag,而這個(gè)keybag是使用PBKDF2算法將備份密碼經(jīng)過(guò)1000萬(wàn)次迭代運(yùn)算生成的。之后,keybag經(jīng)過(guò)AES Unwrap算法進(jìn)行加密之后作為密鑰,再使用AES-CBC-256算法對(duì)備份文件依次進(jìn)行加密。
3.liOS10以前
iOSIO之前的系統(tǒng)在加密備份時(shí),使用了PBKDF2With-HamcSHAl算法,經(jīng)過(guò)若十次迭代后生成keybag。
3.2 iOSIO及其以后
iOSIO及其以后的系統(tǒng)在備份時(shí),首先使用PBKDF2With-HameSHAl算法對(duì)備份密碼進(jìn)行若干次迭代運(yùn)算后,再將迭代結(jié)果作為輸入項(xiàng),使用PBKDF2WithHamcSHA256算法再次進(jìn)行若十次迭代運(yùn)算生成最終的keybag。同時(shí),系統(tǒng)還會(huì)對(duì)man-ifest.db文件通過(guò)AES Unwrap算法進(jìn)行加密,并將加密該文件的key記錄在Manifest.plist文件中。
4 iPhone備份文件安全性探究
由上文得知,iPhone備份首先會(huì)對(duì)備份密碼進(jìn)行PBKDF2哈希運(yùn)算。接下來(lái)的加密過(guò)程都是基于PBKDF2算法的運(yùn)算結(jié)果進(jìn)行的。備份文件的加密通過(guò)AES對(duì)稱加密算法,眾所周知,AES為對(duì)稱加密算法,在密鑰已知的情況下,是可以解密出加密信息的。因此,iPhone加密備份破解的關(guān)鍵點(diǎn)就在于PB-KDF2算法的安全性。
4.1 PBKDF2
Password-Based Key Derivation Function 2簡(jiǎn)稱PBKDF2,它基于一個(gè)偽隨機(jī)函數(shù),例如iPhone備份加密是基于HMAC算法,輸入密碼或口令以及一個(gè)salt值,并多次重復(fù)該過(guò)程以生成派生密鑰,該密鑰可在后續(xù)操作中用作密碼密鑰。增加的計(jì)算工作使密碼破解變得更加困難,這就是所謂的密鑰拉伸。
4.2 PBKDF2函數(shù)定義
DK= PBKDF2(PRF, Password, Salt,e, dkLen)
PRF是兩個(gè)參數(shù)的偽隨機(jī)函數(shù),輸出長(zhǎng)度為hLen
Password是生成派生密鑰的主密碼
c是所需的迭代次數(shù)
dkLen是所需的派生密鑰的長(zhǎng)度
DK是生成的派生密鑰
派生密鑰由dkLen/hLen個(gè)bloek塊連接而成:
DK=T1+T2+…+Tdkledhlen
其中,每個(gè)block通過(guò)函數(shù)F生成:
T.= F(Password, Salt,c,i)
函數(shù)F由鏈?zhǔn)絇RFs進(jìn)行c:次異或迭代的結(jié)果。PRF的第一次迭代使用Password作為PRF的KEY,并將Salt與編碼為大端32位整數(shù)的i連接起來(lái)作為輸入。PRF的后續(xù)迭代使用Password作為PRF密鑰,前一次PRF計(jì)算的輸出作為輸入:
F(Password, Salt,c,i)=Ui U2 U。
其中:
Ul= PRF(Password, Salt+ INT_32_BE(i)
U2= PRr(Password, u1)
Ue= PRF(Password,Ue-1)
例如,iPhone IOS10以前的系統(tǒng)備份加密的密鑰使用:
DK=PBKDF2(HMAC - SHAI, backup_password, back-up_SALT, backup.IterationCount, 256)
iPhone IOSIO及其以后的系統(tǒng)備份加密的密鑰使用:
DK_TEMP=PBKDF2(HMAC - SHA256, backup_passWord,backup_DPSL, backup_DPIClterCount, 256)
DK=PBKDF2(HMAC - SHAI, DK_TEMP, backup_SALT,backup.IterationCount, 256)
在新版本的iOS系統(tǒng)中,盡管對(duì)備份密碼進(jìn)行了高強(qiáng)度的哈希運(yùn)算,但是由于其沒(méi)有關(guān)聯(lián)特定設(shè)備,理論上來(lái)說(shuō),可以通過(guò)暴力碰撞獲取到備份密碼。當(dāng)然,iTunes備份密碼可以設(shè)置數(shù)字、字母和特殊符號(hào)的組合,因此,可以通過(guò)高強(qiáng)度的密碼組合來(lái)抵抗密碼碰撞,從而增加安全性。
參考文獻(xiàn):
[1]周君.基于口令的密鑰導(dǎo)出算法安全性分析[D].廈門:廈門大學(xué),2013.
[2] Visconti A,Bossi S,Ragab H,et al.On the weaknesses of PB-KDF2[C]// The 14th International Conference on Cryptologyand Network Security (CANS 2015). Springer InternationalPuhlishing.2015.
[3]金星,孫波,曹雪芬.備份文件加密的iPhone手機(jī)取證研究[J]警察技術(shù),2012(5):12-14.
[4] iOS Security[EB/OL].https://www.apple.com/business/docs/site/iOS_Security_Guide.pdf.
【通聯(lián)編輯:謝媛媛】
收稿日期:2019-10-29
基金項(xiàng)目:基于云的仿真和自動(dòng)化測(cè)試技術(shù)研究(2019年基本科研業(yè)務(wù)費(fèi)專項(xiàng)資金,所內(nèi)編號(hào)C19352)
作者簡(jiǎn)介:石奧迪(1994-),上海人,研究實(shí)習(xí)員,本科,主要研究方向?yàn)殡娮尤∽C鑒定。