999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

iOS開發(fā)過程中常用的加密技術(shù)初探

2021-06-28 18:10:23高強
電腦知識與技術(shù) 2021年10期

高強

摘要:隨著智能手機的應(yīng)用程序開發(fā)越來越普及,對應(yīng)用程序的安全也提出了新的要求,iOS作為智能設(shè)備的一種常見的操作系統(tǒng),應(yīng)用程序的開發(fā)過程中也面臨著數(shù)據(jù)加密的問題,通過對iOS開發(fā)中常見的問題進行分析,并對iOS應(yīng)用開發(fā)中數(shù)據(jù)安全的影響因素進行分析,探討了iOS系統(tǒng)開發(fā)中常用的數(shù)據(jù)加密技術(shù)。

關(guān)鍵詞:iOS;應(yīng)用程序;加密技術(shù)

中圖分類號:TP393? ? ? 文獻標識碼:A

文章編號:1009-3044(2021)10-0051-03

iOS智能手機的應(yīng)用為用戶提供了全新的體驗,在為用戶提供便利的同時,手機的信息安全問題也成為人們關(guān)注的熱點問題,作為日常生活和工作的重要數(shù)據(jù)載體,數(shù)據(jù)安全的保護成為人們關(guān)注的重點,iOS數(shù)據(jù)的安全問題日前顯得非常突出,在桌面操作系統(tǒng)的背景下,文件透明加密技術(shù)在Windows平臺環(huán)境中已經(jīng)得到了廣泛的應(yīng)用,在市場應(yīng)用下,也出現(xiàn)iOS手機加密技術(shù),但是這些加密技術(shù)要求用戶在使用這些常用的加密程序或者查看加密文件時都需要驗證,不僅降低程序的加密效率,還在一定的程度上造成用戶的信息泄露,影響用戶對iOS手機的使用體驗。

1 iOS系統(tǒng)常用應(yīng)用分析

在iPhone、iPad等移動終端上,采用iOS系統(tǒng)作為設(shè)備運行基礎(chǔ),iOS App常用的應(yīng)用開發(fā)一般采用Xcode,通過利用不同模擬器將不同的iOS版本集成在一起,這種開發(fā)應(yīng)用將iPhone、iPad等蘋果公司產(chǎn)品的應(yīng)用集成在一起,在具體的應(yīng)用上具有很強的靈活性與適用性,iOS系統(tǒng)在應(yīng)用中具有如下的優(yōu)勢:

1.1 IOS系統(tǒng)有獨特的任務(wù)管理機制

iOS系統(tǒng)的常見應(yīng)用只在運行時占用系統(tǒng)內(nèi)存,當應(yīng)用程序不在前臺運行時,就不會占用系統(tǒng)的內(nèi)存,一般情況下,除了部分應(yīng)用服務(wù),需要必須執(zhí)行外,App的其他應(yīng)用都會在10分鐘內(nèi)被掛起,當然被掛起的程序在正常情況是不會被執(zhí)行的,只是運行的數(shù)據(jù)駐留在系統(tǒng)的內(nèi)存中,這種任務(wù)管理機制保證了用戶在收到相關(guān)信息時,能夠及時推送給用戶,方便用戶查看。

1.2 內(nèi)存管理機制

iOS在執(zhí)行任何一個具體應(yīng)用時,系統(tǒng)會根據(jù)執(zhí)行程序的大小申請內(nèi)存空間,以調(diào)用相關(guān)的程序,來執(zhí)行應(yīng)用操作。如果應(yīng)用在使用的過程中,出現(xiàn)內(nèi)存不足不夠用時,就會不斷地申請應(yīng)用內(nèi)存,以滿足應(yīng)用的要求,如果應(yīng)用超過了系統(tǒng)限定的內(nèi)存區(qū)間,這樣手機就會警報,系統(tǒng)就不會執(zhí)行命令,出現(xiàn)死機的現(xiàn)象。同樣,如果iOS應(yīng)用程序向系統(tǒng)申請內(nèi)存時,系統(tǒng)就會根據(jù)程序運行的情況,自動結(jié)束一些運行的程序,釋放內(nèi)存空間資源,以滿足系統(tǒng)應(yīng)用程序的需求。

1.3 偽多任務(wù)機制

在iOS應(yīng)用程序中,在一些程序沒有運行時,在用戶收到信息時,還需要推送給用戶,方便用戶及時查看信息。例如,微信,退出后不在后臺運行,往往會收到一些信息,這都是系統(tǒng)的自動推送服務(wù)功能。在iOS常見的應(yīng)用中,不管用戶是否運行應(yīng)用程序,iOS系統(tǒng)會根據(jù)應(yīng)用程序的實際情況,在后臺維護中提供多種維度任務(wù),所有應(yīng)用程序共用這一服務(wù),及時將信息推送給用戶。

2 影響iOS系統(tǒng)的安全因素

2.1 移動網(wǎng)絡(luò)安全問題

移動通信網(wǎng)絡(luò)的安全是保證移動通信有效運行的前提條件,也是保證用戶信息不被泄露的前提,同時也能有效保證移動設(shè)備不受侵害、損壞。移動通信網(wǎng)絡(luò)的安全是保證iOS應(yīng)用開發(fā)程序安全有效使用的前提,不僅能提高iOS程序使用的效率,還能提高用戶獲取的效率與體驗。iOS應(yīng)用程序的使用過程中,主要影響因素是信息安全,由于病毒數(shù)據(jù)很容易通過網(wǎng)絡(luò)協(xié)議的漏洞入侵到用戶的移動通信設(shè)備中,在破壞系統(tǒng)數(shù)據(jù)的同時,還會通過一步步的破解iOS用戶的加密口令與密碼,來獲取用戶的通信信息,導(dǎo)致iOS的應(yīng)用程序不能正常的使用。

2.2 手機操作系統(tǒng)存在的問題

iOS操作系統(tǒng)也是一個不斷完善的過程,在日常使用的過程中,往往需要更新補丁,才能提高操作系統(tǒng)的安全性。如果iOS操作系統(tǒng)在受到病毒攻擊時,應(yīng)用程序就會受到影響,造成系統(tǒng)的一些功能不能正常使用,并導(dǎo)致手機運行速度變慢,病毒占用移動通信設(shè)備的內(nèi)存,導(dǎo)致用戶不能正常的使用iOS的應(yīng)用程序,而且病毒的入侵往往會導(dǎo)致用戶的賬號、密碼、信息等資源,給用戶造成損失,同時病毒還會對iOS的應(yīng)用程序造成破壞,盜取用戶保存在iOS應(yīng)用程序的信息,造成用戶對iOS應(yīng)用程序的安全性產(chǎn)生懷疑。而造成移動設(shè)備操作系統(tǒng)安全的問題,一般情況下都是用戶在手機上安裝了一些病毒軟件,缺乏手機病毒防范意識,導(dǎo)致操作系統(tǒng)不能正常使用,同時也會影響著iOS應(yīng)用程序的使用。

2.3 數(shù)據(jù)使用的影響因素

iOS設(shè)備中的數(shù)據(jù)都存儲在系統(tǒng)的存儲器中,在iOS應(yīng)用程序開發(fā)的過程中,為了保證應(yīng)用程序使用的流暢性,都會將程序保存在本地,也方便用戶的日常使用及尋找,數(shù)據(jù)在應(yīng)用的過程中,往往會產(chǎn)生一些臨時數(shù)據(jù),也會保存在系統(tǒng)的內(nèi)存中,iOS系統(tǒng)數(shù)據(jù)的保存具有多種方式與管理方式,在數(shù)據(jù)調(diào)用的過程中需要對其進行解壓,這種數(shù)據(jù)管理方式也會給病毒帶來了可乘之機,會破壞應(yīng)用程序的使用,進而導(dǎo)致應(yīng)用程序中的用戶信息被泄露,影響用戶對iOS應(yīng)用程序的使用。

3 iOS開發(fā)過程中常用的加密技術(shù)分析

針對iOS應(yīng)用程序開發(fā)的過程中,往往需要一些數(shù)據(jù)加密技術(shù),才能保證用戶的安全,通過采用的一定的安全組合策略,可以提高iOS應(yīng)用程序的安全性,也能提高用戶對iOS移動終端的體驗。

3.1 透明加密技術(shù)

透明加密在iOS應(yīng)用程序開發(fā)中常用的加密技術(shù),是一種被動的強制加密技術(shù),它的加密與解密過程是不改變用戶操作習(xí)慣的環(huán)境下完成的,這個過程是在用戶不知道的情況下完成的。當用戶在打開或者編輯指定文件時,iOS系統(tǒng)會自動的結(jié)合實際情況對文件進行加密與解密處理,并對已經(jīng)加密的文件進行自動解密,如果離開iOS系統(tǒng)環(huán)境,已經(jīng)加密的文件就不能自動解密,進而能夠起到對應(yīng)用程序的保護作用。透明加密技術(shù)根據(jù)加密位置不同,有以下兩種加密方法。

3.1.1 鉤子透明加密技術(shù)

鉤子透明加密技術(shù)主要工作在應(yīng)用層,采用的是用戶位置動態(tài)加密方法,在系統(tǒng)的應(yīng)用層完成數(shù)據(jù)的讀取,鉤子透明加密技術(shù)的原理如圖1所示。當用戶打開文件時,iOS系統(tǒng)需要對加密的文件進行解密,利用內(nèi)存的數(shù)據(jù)寫入,保證應(yīng)用程序調(diào)用的數(shù)據(jù)是明文,從而方便用戶獲取相應(yīng)的信息;在保存文件時,iOS系統(tǒng)需要先將內(nèi)存中的明文數(shù)據(jù)進行加密,完成數(shù)據(jù)的調(diào)用,例如,將NSData類型對象data寫入文件,主要是運用data writeToFile:FileName atomically:YES命令來完成文件的存儲,加密模塊一般采用對稱加密AES算法,采用的密鑰長度可以是128位、192位或者256,對文件數(shù)據(jù)進行保護。在iOS系統(tǒng)中,可以利用 HOOKER API對用戶打開和關(guān)閉文件,并完成相應(yīng)的數(shù)據(jù)安全處理,從而實現(xiàn)對文件的加密技術(shù)。目前,iOS系統(tǒng)平臺下常用的透明數(shù)據(jù)加密技術(shù)主要采用的工具有 Xposed、HOOK 框架等,運用透明加密技術(shù)主要是文件的打開與關(guān)閉功能進行靜態(tài)的加密與備份,并對文件中存在的危險數(shù)據(jù)進行攔截,透明加密技術(shù)可以在不修改手機APK的情況下,實施HOOK 服務(wù),可以實現(xiàn)對整個文件進行加密,但是,這種加密技術(shù)的速度較慢,實施的技術(shù)比較簡單。

3.1.2 文件過濾驅(qū)動透明加密技術(shù)

該技術(shù)主要是通過內(nèi)核態(tài)層實現(xiàn)的,過濾驅(qū)動加密技術(shù)主要是采用Windows 的文件系統(tǒng)過濾驅(qū)動(IFS)技術(shù),對iOS系統(tǒng)的應(yīng)用程序在讀取相應(yīng)的文件進行檢測與攔截,將加密過程與解密過程工作在iOS的內(nèi)核層內(nèi)完成。文件過濾驅(qū)動透明加密技術(shù)在不影響上層和下層接口的情況下,在iOS的驅(qū)動層完成文件的解密過程,它能夠截獲所有的應(yīng)用程序的文件系統(tǒng)請求,結(jié)合應(yīng)用程序的運行情況,從而不需要修改iOS系統(tǒng)的上層的軟件或下層的驅(qū)動程序,使得應(yīng)用程序能夠快速的讀取或者寫入數(shù)據(jù),可以快速地加入應(yīng)用程序的新功能,例如在利用NSData、NSString、NSNumber、NSDate、NSArray、NSDictionary命令寫入數(shù)據(jù)時,都可以采用文件過濾驅(qū)動透明加密技術(shù),可以快速的完成數(shù)據(jù)寫入。文件過濾驅(qū)動透明加密技術(shù)原理如圖2所示。它的特點是加密效率高、安全性強,對文件數(shù)據(jù)的加密與解密過程比較快,從應(yīng)用程序的關(guān)聯(lián)度來說,該技術(shù)能夠?qū)⑺羞\行的應(yīng)用程序進行歸類,形成應(yīng)用程序列表,采用文件過濾驅(qū)動透明加密技術(shù)與應(yīng)用程序的工作方式無關(guān),只需要采用監(jiān)控應(yīng)用程序列表,實時對iOS系統(tǒng)的應(yīng)用程序運行狀態(tài)進行監(jiān)控。但是,它的技術(shù)門檻較高,安全性比較強,需要深入理解Windows與iOS系統(tǒng)內(nèi)核,且開發(fā)難度大,對硬件的配置要求也比較高。在數(shù)據(jù)處理時,首先,讀取iOS應(yīng)用程序終端的mac地址,并進行相應(yīng)的操作與變換,然后采用AES算法對文件進行加密,生成相應(yīng)密鑰,進而完成數(shù)據(jù)的加密。其中,iOS終端在獲取設(shè)備的mac地址時,需要運用/sys/class/net/wlan0 下的 address的命令調(diào)取設(shè)備的mac地址,進而能有效地保證系統(tǒng)的安全。

3.2 DES 數(shù)據(jù)加密算法

DES算法是一種最通用的對稱密鑰算法,具有破譯比較困難的特點,安全性比較高,在iOS系統(tǒng)中作為保護應(yīng)用程序數(shù)據(jù)安全的一種重要措施,DES算法主要是通過置換與迭代的方式實現(xiàn)對數(shù)據(jù)的加密保護,DES算法由64位密鑰產(chǎn)生16輪的48位子秘鑰,通過每一輪的迭代,數(shù)據(jù)經(jīng)過循環(huán)移動,產(chǎn)生下一輪的置換數(shù)據(jù),通過置換與迭代實現(xiàn)對數(shù)據(jù)的加密,生成不同的子密鑰。在iOS系統(tǒng)平臺的應(yīng)用程序開發(fā)中,DES算法實現(xiàn)如下的數(shù)據(jù)保護應(yīng)用。

3.2.1 DES算法的改進

在iOS系統(tǒng)平臺中,為了進一步提高DES加密算法能夠滿足iOS平臺與服務(wù)器的數(shù)據(jù)加密,需要對設(shè)計一個初始化向量,對DES算法進行改進,以滿足DES算法的需要。設(shè)計的初始化向量為8個字節(jié)長度的數(shù)組,使得服務(wù)器端與iOS客戶端應(yīng)用程序開發(fā)的字節(jié)數(shù)保持一致,這樣就能夠消除DES數(shù)據(jù)加密在不同使用環(huán)境中的影響,也提高iOS系統(tǒng)平臺數(shù)據(jù)加密的有效性,這種初始化向量具有264種數(shù)據(jù)組合的方式,采用這種復(fù)雜的數(shù)據(jù)組合方式,能夠保證DES數(shù)據(jù)加密算法在iOS平臺上的安全性,達到應(yīng)用程序開發(fā)數(shù)據(jù)保護的目的,在iOS平臺上運用DES加密算法主要包括:加密算法的構(gòu)建、數(shù)據(jù)加密與解密的工作模式、加密對象(數(shù)據(jù))的填充模式,加密對象cipher是DES加密算法的核心。

3.2.2 構(gòu)造加密的實例化,對加密對象設(shè)置加密的參數(shù)

在iOS平臺上應(yīng)用DES 數(shù)據(jù)加密算法時,首先需要構(gòu)造 cipher 的具體操作,實現(xiàn)加密對象(數(shù)據(jù))的填充,采用的具體命令如下:Cipher cipher = Cipher.getInstance (“DES/CBC/PKCS5Pad-ding”),其中,DES/CBC/PKCS5Pad-ding是cipher的核心內(nèi)容,它明確的定義了分組塊的大小是8位。而對cipher的初始化操作為Cipher.init (ENCRYPT_MODE/key/iv),完成算法的加密模式、密鑰的生成、向量初始化等幾個內(nèi)容,然后借助Base64算法完成DES算法的加密與解密。

3.2.3 隨機產(chǎn)生密鑰

在數(shù)據(jù)迭代與置換的過程中,需要隨機產(chǎn)生密鑰,在服務(wù)器端與iOS客戶端通信過程中,對應(yīng)用程序數(shù)據(jù)的加密,采用DES算法不需要使用固定的密鑰,通過采用改進后的DES算法,可以快速實現(xiàn)每一次的數(shù)據(jù)傳輸,并采用相同長度的密鑰,加大數(shù)據(jù)迭代算法的處理時間,雖然占用一定的計算資源,但是使得DES數(shù)據(jù)加密算法的安全性得到了進一步提升,也能夠進一步保障iOS應(yīng)用程序使用的安全性。

3.3 逐層控制策略

為了提高iOS平臺上應(yīng)用程序數(shù)據(jù)的安全性,iOS系統(tǒng)在多處采用逐層加密技術(shù),將硬件保密策略與軟件策略結(jié)合在一起,以增加文件的安全性。在系統(tǒng)調(diào)用相應(yīng)的應(yīng)用程序時,采用逐層加密的方法對數(shù)據(jù)進行保護,有效地防止了病毒對系統(tǒng)應(yīng)用程序的入侵,逐層控制策略的原理如圖3所示。在系統(tǒng)調(diào)用文件時,數(shù)據(jù)保護(data protection)為應(yīng)用程序生成的文件提供256位的密鑰,以完成系統(tǒng)數(shù)據(jù)的加密工作,該密鑰稱為Per-File密鑰,然后通過密碼引擎進行迭代與置換,實現(xiàn)AES-XTS模式下的第一層加密;第二,是根據(jù)選擇的加密數(shù)據(jù),對加密的數(shù)據(jù)進行封裝,形成(wrap)Per-File密鑰技術(shù),并對調(diào)用數(shù)據(jù)的元數(shù)據(jù)(file meta-data)進行加密處理,實現(xiàn)iOS系統(tǒng)數(shù)據(jù)的第二層加密;第三,采用文件系統(tǒng)密鑰(file sys-temkey)技術(shù)對調(diào)用的元數(shù)據(jù)進行加密處理,實現(xiàn)系統(tǒng)數(shù)據(jù)的第三層加密,從而實現(xiàn)iOS系統(tǒng)數(shù)據(jù)的整體加密。在打開iOS應(yīng)用程序文件時,對文件的解密過程,主要是執(zhí)行上述操作的逆過程。

硬件加密采用密鑰鏈(keychain)技術(shù)也是一種常用的數(shù)據(jù)加密技術(shù),它的功能與逐層加密技術(shù)相似。主要是采用密鑰包(keybag)技術(shù)對iOS平臺中的數(shù)據(jù)進行加密處理,并生成相應(yīng)的保護類密鑰,在具體的數(shù)據(jù)加密過程中,主要包括:用戶(us-erkeybag)的數(shù)據(jù)、設(shè)備(device keybag)數(shù)據(jù)、備份(backupkeybag)數(shù)據(jù)、第三方托管(escrow keybag)數(shù)據(jù)、iCloud數(shù)據(jù)備份(icloud backup keybag)5個加密數(shù)據(jù)密鑰包,在iOS系統(tǒng)中,采用硬件加密技術(shù)主要包括類密鑰由硬件密鑰和口令密鑰加密,存儲在用戶密鑰包完成數(shù)據(jù)的第一層封裝與加密,利用密鑰來實現(xiàn)對數(shù)據(jù)進行第二層加密,在數(shù)據(jù)寫入存儲文件系統(tǒng)時,采用密鑰包完成數(shù)據(jù)的第三層加密。

4 結(jié)束語

通過分析可以看出,在iOS平臺上應(yīng)用程序的開發(fā)需要具備完善的數(shù)據(jù)安全保護技術(shù),能保證用戶的信息數(shù)據(jù)不會被泄露,通過對ISO系統(tǒng)的數(shù)據(jù)加密技術(shù)進行分析,涉及分層加密安全策略、DES加密算法的應(yīng)用、數(shù)據(jù)透明加密技術(shù)進行分析,結(jié)合影響iOS平臺應(yīng)用程序使用的安全問題,分析了iOS開發(fā)設(shè)計中常用的數(shù)據(jù)加密技術(shù),在具體的應(yīng)用中,需要結(jié)合具體的應(yīng)用程序需要,選擇合適的數(shù)據(jù)加密技術(shù)。

參考文獻:

[1] 李林濤,朱珊虹.基于Android系統(tǒng)的手機游戲黑白棋的設(shè)計與實現(xiàn)[J].新鄉(xiāng)學(xué)院學(xué)報(自然科學(xué)版),2011,28(3):254-255.

[2] 宋杰,黨李成,郭振朝,等.Android OS手機平臺的安全機制分析和應(yīng)用研究[J].計算機技術(shù)與發(fā)展,2010,20(6):152-155.

[3] 朱天楠,施勇,薛質(zhì).基于Xposed的Android透明文件加密系統(tǒng)的研究[J].計算機技術(shù)與發(fā)展,2017,27(2):64-68.

[4] 趙銘偉,毛銳,江榮安.基于過濾驅(qū)動的透明加密文件系統(tǒng)模型[J].計算機工程,2009,35(1):150-152.

【通聯(lián)編輯:唐一東】

主站蜘蛛池模板: 国产无码性爱一区二区三区| 国产在线视频二区| 欧美国产综合视频| 国产99久久亚洲综合精品西瓜tv| 亚洲va在线∨a天堂va欧美va| 夜夜操狠狠操| 久久人搡人人玩人妻精品一| 婷婷六月综合| 91福利一区二区三区| 亚洲人成网站色7777| 亚洲综合激情另类专区| AV天堂资源福利在线观看| 免费看黄片一区二区三区| 少妇高潮惨叫久久久久久| 四虎影视库国产精品一区| 中文字幕久久亚洲一区| 日韩中文欧美| 亚洲嫩模喷白浆| 亚洲黄色高清| 999在线免费视频| 无码日韩视频| 欧美另类视频一区二区三区| 极品国产在线| 国产sm重味一区二区三区| 亚洲精品久综合蜜| 免费人欧美成又黄又爽的视频| 伦伦影院精品一区| 日本道综合一本久久久88| 国产av一码二码三码无码| 亚洲日本一本dvd高清| 毛片视频网| 中文字幕在线观看日本| 99热这里只有精品5| 国产精品网址你懂的| 国产特级毛片| 香蕉久久国产精品免| 国产亚洲精品91| 在线亚洲精品自拍| www.91在线播放| 免费xxxxx在线观看网站| 婷婷色中文网| 国产69精品久久久久孕妇大杂乱 | 国产经典三级在线| 欧美视频在线第一页| 美女一级毛片无遮挡内谢| 蜜桃视频一区二区三区| 日韩午夜福利在线观看| 99爱视频精品免视看| 日韩福利在线视频| 91视频免费观看网站| 亚洲 欧美 日韩综合一区| av无码一区二区三区在线| 婷婷六月激情综合一区| 国产一区二区三区夜色| 亚洲天堂伊人| 久久性妇女精品免费| 呦视频在线一区二区三区| 中文无码精品A∨在线观看不卡| 无遮挡国产高潮视频免费观看| 美女视频黄又黄又免费高清| 国产精品无码久久久久AV| 亚洲综合极品香蕉久久网| 欧美黄色网站在线看| 青青操视频免费观看| 亚洲91精品视频| 欧美成人午夜视频| 狠狠色噜噜狠狠狠狠色综合久| 久久亚洲综合伊人| 亚洲欧美自拍视频| 伊人色在线视频| 欧洲欧美人成免费全部视频| 久久精品波多野结衣| 国产理论最新国产精品视频| 国产无套粉嫩白浆| 狠狠五月天中文字幕| 香蕉久久国产超碰青草| 国产亚洲精品97在线观看| 国产精品第5页| 免费人成黄页在线观看国产| 久久香蕉国产线看观看式| 久久国产精品娇妻素人| 色综合中文|