方芳
【摘要】近年來(lái),國(guó)內(nèi)外的移動(dòng)互聯(lián)網(wǎng)發(fā)展迅速,對(duì)國(guó)內(nèi)社會(huì)大眾的日常工作、生活和社會(huì)經(jīng)濟(jì)的發(fā)展都做出了重要的貢獻(xiàn),其中Android移動(dòng)終端的普及速度較快、普及范圍比較廣,相關(guān)的用戶可以頻繁地進(jìn)行數(shù)據(jù)信息的交流,同時(shí)感受到相對(duì)應(yīng)的便利。然而在Android移動(dòng)終端快速發(fā)展的背景之下,與之相關(guān)的數(shù)據(jù)信息安全問(wèn)題也層出不窮,對(duì)于不同用戶的生活、工作和國(guó)內(nèi)整體社會(huì)經(jīng)濟(jì)的發(fā)展都形成了比較大的負(fù)面影響。在Android移動(dòng)終端技術(shù)快速發(fā)展的背景下,重視與之相關(guān)的信息數(shù)據(jù)安全防護(hù)技術(shù)的發(fā)展,對(duì)國(guó)內(nèi)Android移動(dòng)終端發(fā)展和廣大用戶群體的隱私數(shù)據(jù)安全都是十分重要和必要的。本文針對(duì)Android移動(dòng)終端數(shù)據(jù)安全防護(hù)技術(shù)進(jìn)行相關(guān)的研究和分析,旨在實(shí)現(xiàn)Android移動(dòng)終端用戶個(gè)人隱私數(shù)據(jù)的安全保護(hù)。
【關(guān)鍵詞】Android;移動(dòng)終端;數(shù)據(jù)安全;防護(hù)技術(shù);技術(shù)運(yùn)用;研究分析
中圖分類號(hào):TN92? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? DOI:10.12246/j.issn.1673-0348.2022.05.007
眾所周知,目前國(guó)內(nèi)處于重要的信息技術(shù)和移動(dòng)互聯(lián)網(wǎng)時(shí)代背景之下,這一背景下的信息技術(shù)發(fā)展迅速,同時(shí)與之相對(duì)應(yīng)的智能終端設(shè)備也在不斷迭代更新,其中Android移動(dòng)終端基礎(chǔ)之上的各種移動(dòng)終端智能設(shè)備已經(jīng)成為了現(xiàn)代社會(huì)大眾日常溝通交流、娛樂(lè)、生活中不可或缺的一個(gè)重要工具,并且這些設(shè)備當(dāng)中包含相當(dāng)多的用戶信息和數(shù)據(jù),用戶的這些設(shè)備中下載了惡意手機(jī)程序的情況下,會(huì)導(dǎo)致用戶的個(gè)人隱私數(shù)據(jù)不斷被竊取,近年來(lái)之所以出現(xiàn)程度不一的詐騙案件,其中非常重要的一個(gè)原因就是用戶個(gè)人的數(shù)據(jù)和信息出現(xiàn)了被泄露的情況,輕則出現(xiàn)一定的經(jīng)濟(jì)損失,嚴(yán)重情況下還會(huì)導(dǎo)致用戶的人身安全受到比較大的負(fù)面影響。所以,在接下來(lái)的文章當(dāng)中就將針對(duì)Android移動(dòng)終端數(shù)據(jù)安全防護(hù)技術(shù)進(jìn)行詳盡闡述,其主要目的在于提升Android移動(dòng)終端用戶群體的個(gè)人數(shù)據(jù)和信息安全,希望對(duì)相關(guān)的數(shù)據(jù)安全防護(hù)技術(shù)開(kāi)發(fā)起到一定的借鑒和指導(dǎo)作用。
1. 開(kāi)發(fā)平臺(tái)的分析
1.1 Android的體系架構(gòu)
Android系統(tǒng)是在Linux開(kāi)源操作系統(tǒng)的基礎(chǔ)之上不斷設(shè)計(jì)、開(kāi)發(fā)所得到的,目前在移動(dòng)智能設(shè)備當(dāng)中的應(yīng)用比較常見(jiàn)。在系統(tǒng)架構(gòu)方面主要采用了分層式的架構(gòu),整體層次相對(duì)明細(xì),具體的架構(gòu)分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫(kù)層和Linux內(nèi)核層。這種金字塔式系統(tǒng)結(jié)構(gòu),主要是因?yàn)槊恳粚佣紩?huì)為上一層提供相對(duì)應(yīng)的服務(wù),以便Android移動(dòng)終端系統(tǒng)能夠不斷迭代更新,同時(shí)可以方便相關(guān)的開(kāi)發(fā)工作者的使用。
1.1.1 應(yīng)用程序?qū)?/p>
應(yīng)用程序?qū)?,顧名思義就是以應(yīng)用程序?yàn)檩d體的一個(gè)層級(jí),可以與Android移動(dòng)終端的用戶進(jìn)行交互,在Android系統(tǒng)當(dāng)中的諸多原生應(yīng)用都是應(yīng)用程序?qū)?,包含常?jiàn)的鬧鐘、通訊錄和照相機(jī)等等。除此之外,應(yīng)用程序曾還包含第三方開(kāi)發(fā)的重要應(yīng)用,常見(jiàn)的包含微博、微信和QQ等等。相關(guān)的開(kāi)發(fā)工作人員在工作過(guò)程中,需要同時(shí)考慮到Android系統(tǒng)和用戶的需求,從而開(kāi)發(fā)出不同的應(yīng)用程序,供廣大的用戶群體進(jìn)行使用。
1.1.2 應(yīng)用程序的框架層
在Android系統(tǒng)的應(yīng)用程序框架層當(dāng)中包含了不同應(yīng)用程序需要的類庫(kù)和API,并且封裝了開(kāi)發(fā)工作人員所需要的各種不同組件,有利于提升相關(guān)開(kāi)發(fā)組成員的開(kāi)發(fā)工作效率,并且能夠滿足用戶群體的需求實(shí)現(xiàn)個(gè)性化的應(yīng)用程序開(kāi)發(fā)。
1.1.3 系統(tǒng)運(yùn)行層
Android系統(tǒng)的運(yùn)行層主要包含兩個(gè)組成部分,分別是程序庫(kù)和Android運(yùn)行時(shí)庫(kù);其中程序庫(kù)是一些C/C++庫(kù),開(kāi)發(fā)工作人員可以使用這些類庫(kù),進(jìn)行本地代碼的開(kāi)發(fā)工作,其中NDK也為開(kāi)發(fā)者提供了相對(duì)應(yīng)的系統(tǒng)資源接口,相關(guān)開(kāi)發(fā)者的使用相對(duì)便捷。
Android運(yùn)行時(shí)庫(kù)主要包含核心庫(kù)和虛擬機(jī)兩個(gè)組成部分,其中核心庫(kù)中包含了Java語(yǔ)言所需要的基本函數(shù),同時(shí)還包含了Android的核心庫(kù)。另外,Android系統(tǒng)針對(duì)不同的應(yīng)用程序分配了專門的Dalvik虛擬機(jī),其主要目的是保障每一個(gè)應(yīng)用程序都能夠保持單線程的運(yùn)行,從而有效保障應(yīng)用之間的數(shù)據(jù)隔離性,避免Android系統(tǒng)在運(yùn)行過(guò)程中出現(xiàn)混亂的情況,其中Dalvik虛擬機(jī)能夠從dex格式的文件當(dāng)中讀取相關(guān)的指令和數(shù)據(jù),促使應(yīng)用程序?qū)崿F(xiàn)數(shù)據(jù)運(yùn)行。
1.1.4 Linux內(nèi)核層
Android系統(tǒng)是在開(kāi)源系統(tǒng)linux操作系統(tǒng)的基礎(chǔ)之上開(kāi)發(fā)得到的,其中Linux內(nèi)核實(shí)現(xiàn)了匿名共享內(nèi)存、輕量級(jí)進(jìn)程間通信等等功能,促使系統(tǒng)內(nèi)訓(xùn)管理的安全性和有效性大大提升。
1.2 基于Android平臺(tái)的JNI技術(shù)
目前來(lái)看,主要的Android程序都是使用Java語(yǔ)言編寫的,質(zhì)量比較高。但是使用Java語(yǔ)言進(jìn)行Android程序的編寫存在著一定的不足,包含運(yùn)行效率比較低、容易被反編譯等等缺陷,因此容易留下數(shù)據(jù)信息方面的隱患。因此本文在研究的過(guò)程中主要采取運(yùn)行效率高,同時(shí)安全性表現(xiàn)比較好的C/C++語(yǔ)言進(jìn)行編寫,也就是在Java的代碼當(dāng)中調(diào)用本地的C/C++語(yǔ)言代碼。在實(shí)際的Android開(kāi)發(fā)平臺(tái)當(dāng)中,可以通過(guò)NDK使用JNI與本地代碼進(jìn)行交互,具體的步驟如下所示:
①配置相對(duì)應(yīng)的AndroidNDK環(huán)境;
②創(chuàng)建Android程序項(xiàng)目,并且與NDK關(guān)聯(lián)起來(lái);
③在項(xiàng)目中生命調(diào)用的Native方法;
④使用需要交互的本地代碼,實(shí)現(xiàn)在Android中聲明的Native方法;
⑤通過(guò)ndk-bulid命令進(jìn)行編譯,產(chǎn)生.so庫(kù)文件;
⑥編譯AndroidStudio工程,實(shí)現(xiàn)Android調(diào)用本地代碼。
在以上步驟當(dāng)中,.so庫(kù)文件不容易被反編譯,同時(shí)C/C++語(yǔ)言具有效率高、質(zhì)量好等等優(yōu)勢(shì),最終Android系統(tǒng)整體的性能都會(huì)得到比較大的提升。最后,相關(guān)的工作人員還需要將大量的代碼打包成為動(dòng)態(tài)鏈接庫(kù),并且減少apk的數(shù)據(jù)包體積,優(yōu)化整體的應(yīng)用系統(tǒng)。
2. Android移動(dòng)終端數(shù)據(jù)安全整體的方案設(shè)計(jì)
2.1 設(shè)計(jì)目標(biāo)
在不同的Android移動(dòng)終端當(dāng)中,儲(chǔ)存著用戶大量的個(gè)人數(shù)據(jù)和信息,一旦不法分子通過(guò)非法手段、惡意攻擊等等方式,會(huì)使得不同的智能終端設(shè)備的隱私數(shù)據(jù)被泄漏,這對(duì)于用戶個(gè)人做造成的損失其實(shí)是非常嚴(yán)重的。其中用戶個(gè)人社交群當(dāng)中流傳的個(gè)人圖片版權(quán)對(duì)于持有者至關(guān)重要,因此在Android移動(dòng)終端數(shù)據(jù)安全設(shè)計(jì)過(guò)程中,本地?cái)?shù)據(jù)的加密保護(hù)、圖像存證和鑒定都是是非重要的。
基于Android平臺(tái)自身的特性,系統(tǒng)設(shè)計(jì)可以主要分為兩個(gè)模塊,分別是隱私空間模塊和水印相機(jī)模塊,其中隱私空間模塊可以依據(jù)用戶自身的本地?cái)?shù)據(jù)情況進(jìn)行相關(guān)的處理,包含加密、解密和粉碎刪除等等,一旦遭遇竊取或者是供給,加密數(shù)據(jù)也無(wú)法被識(shí)別,同時(shí)相關(guān)的文件名稱也已經(jīng)得到加密,因此如果想要恢復(fù)源文件,其代價(jià)也是比較大的。
水印相機(jī)模塊可以針對(duì)用戶實(shí)時(shí)拍攝的照片添加相對(duì)應(yīng)的水印信息,水心印象包含時(shí)間、地點(diǎn)、設(shè)備信號(hào)等等,同時(shí)將綜合水印信息切入圖片中,并且將其保存在設(shè)備本地圖庫(kù)的特定文件夾當(dāng)中,用戶可以依據(jù)自身的需求提取相關(guān)的圖像信息。水印相機(jī)模塊的意義在于,可以將不可見(jiàn)水印形式的信息嵌入到圖片當(dāng)中,從外觀上來(lái)看并無(wú)異樣,同時(shí)還能夠抵御傳輸過(guò)程中所帶來(lái)的壓縮損耗情況,經(jīng)過(guò)相關(guān)的實(shí)驗(yàn)驗(yàn)證來(lái)看,水印相機(jī)模塊可以有效地保護(hù)圖片版權(quán)。
2.2 模塊設(shè)計(jì)
2.2.1 隱私空間模塊的設(shè)計(jì)
伴隨著國(guó)內(nèi)社會(huì)經(jīng)濟(jì)的快速發(fā)展,人民群眾的經(jīng)濟(jì)水平也具有顯著的提升,其中最為明顯的一點(diǎn)就是各種智能終端設(shè)備的普及程度得到了比較大的提升,這些設(shè)備的便捷性比較強(qiáng),用戶也習(xí)慣性地將自身的各種數(shù)據(jù)、信息儲(chǔ)存在不同的智能終端設(shè)備當(dāng)中,包含相關(guān)的文本、圖片和視頻等等。因此在實(shí)際的Android移動(dòng)終端數(shù)據(jù)安全設(shè)計(jì)過(guò)程中,需要設(shè)計(jì)相對(duì)應(yīng)的信息加密模塊,將相關(guān)的數(shù)據(jù)和信息,通過(guò)改進(jìn)之后ARS算法加密儲(chǔ)存在設(shè)備的內(nèi)存當(dāng)中,從而有效保障用戶的個(gè)人隱私信息不被泄露。
終端用戶需要口令密碼,這樣才能進(jìn)入到模塊空間,并且依據(jù)系統(tǒng)的導(dǎo)向選擇本地多媒體書文件,并且進(jìn)行加密儲(chǔ)存,從而形成雙重的加密。在本模塊的設(shè)計(jì)過(guò)程中,針對(duì)授權(quán)用戶具有最大限度的數(shù)據(jù)信息支配權(quán),而未被授權(quán)的用戶無(wú)法訪問(wèn)模塊空間,從而最大程度上保障用戶本地?cái)?shù)據(jù)、信息的安全性,具體的設(shè)計(jì)流程如下所示:
2.2.2 水印相機(jī)模塊設(shè)計(jì)
進(jìn)行本方案中的水印相機(jī)模塊設(shè)計(jì)工作,其主要目的是在用戶對(duì)本體圖像上傳之前,針對(duì)圖像進(jìn)行添加水印信息的操作,從而有效保護(hù)手機(jī)圖像版權(quán)。在水印相機(jī)模塊設(shè)計(jì)過(guò)程中主要希望給予用戶以下幾方面的重要功能,包含水印信息提取、圖像儲(chǔ)存、水印信息生成和嵌入等等;
具體的設(shè)計(jì)流程和內(nèi)容如下所示:
①圖像的獲取
用戶進(jìn)入到水印相機(jī)模塊之后,用戶選擇而本地拍照,或缺一張相片的同時(shí)為其添加相對(duì)應(yīng)的水印信息;
②圖像的預(yù)處理
模塊將獲取到的圖像經(jīng)過(guò)壓縮等等預(yù)處理,使其展示在用戶的設(shè)備界面當(dāng)中;
③水印信息的生成
本方案的綜合水印信息主要包含設(shè)備信號(hào)、時(shí)間和地點(diǎn)等等,其中地理位置主要通過(guò)設(shè)備自身地圖工具獲取,時(shí)間、設(shè)備信號(hào)信息由系統(tǒng)自身所提供;
④水印信息的嵌入
本方案采取采用基于Android智能終端的數(shù)字水印算法,因?yàn)檫@一算法考慮到來(lái)移動(dòng)終端平臺(tái)的特性,并且算法的執(zhí)行效率比較高,用戶的滿意程度也會(huì)具有一定的提升,其中提取到水印信息則說(shuō)明該圖像能夠達(dá)到版權(quán)保護(hù)的目的。
3. Android移動(dòng)終端數(shù)據(jù)安全防護(hù)算法的改進(jìn)
以Android系統(tǒng)為基礎(chǔ)的智能終端設(shè)備本質(zhì)上是為了“人”進(jìn)行服務(wù)的,因此相關(guān)的算法改進(jìn)工作非常重要,本方案主要考慮到平臺(tái)特性和數(shù)據(jù)處理用戶的友好性,主要提出以下幾方面的優(yōu)化策略;
3.1 技術(shù)層面上來(lái)說(shuō)
加密算法使用任何一種語(yǔ)言都能夠?qū)崿F(xiàn),其中Java語(yǔ)言的JDK已經(jīng)封裝好了AES加解密函數(shù)庫(kù),相關(guān)的開(kāi)發(fā)工作人員可以直接對(duì)其進(jìn)行調(diào)用,然而在實(shí)際的Android移動(dòng)終端數(shù)據(jù)安全防護(hù)方案設(shè)計(jì)過(guò)程中,使用Java語(yǔ)言的加密算法效率比較低,因此本文提出使用C/C++語(yǔ)言進(jìn)行編寫,并且交由JNI層進(jìn)行處理,經(jīng)過(guò)實(shí)驗(yàn)可以驗(yàn)證,C/C++語(yǔ)言的編寫的加密核心模塊效果比較好,解密速度比較快,用戶體驗(yàn)也得到了顯著的提升,同時(shí)使用這一加密核心模塊的情況下,能夠防止應(yīng)用程序出現(xiàn)被反編譯或者是暴力破解的情況,由此Android移動(dòng)終端數(shù)據(jù)安全防護(hù)水平就得到了比較大的提升,這也是現(xiàn)階段進(jìn)行Android移動(dòng)終端數(shù)據(jù)安全設(shè)計(jì)的主要目標(biāo)之一。
3.2 AES算法
AES的密鑰長(zhǎng)度比DES大,它也可設(shè)定為32比特的任意倍數(shù),最小值為128比特,最大值為256比特,所以用窮舉法是不可能破解的。因此在本文設(shè)計(jì)的方案當(dāng)中,將AES算法進(jìn)行優(yōu)化,其中每一循環(huán)的字節(jié)轉(zhuǎn)換,簡(jiǎn)單來(lái)說(shuō)就是S盒替換中的S盒直接初始化,在代碼當(dāng)中完成預(yù)定義工作,這樣能夠省略大量的計(jì)算過(guò)程,使得相關(guān)的工作人員的運(yùn)行時(shí)間得到很大程度上的節(jié)約,從而使得Android移動(dòng)終端數(shù)據(jù)安全防護(hù)算法執(zhí)行效率得到對(duì)應(yīng)的保障。
3.3 使用基于DCT變換的數(shù)字水印技術(shù)
基于DCT變換的數(shù)字水印技術(shù)的優(yōu)勢(shì)在于,能夠?qū)崿F(xiàn)對(duì)應(yīng)的盲提取和盲檢測(cè)工作,簡(jiǎn)單來(lái)說(shuō),在實(shí)際的水印信息的提取和檢測(cè)過(guò)程中,并不需要原始宿主圖像的參與,就能夠很快地實(shí)現(xiàn)水印信息的提取。
除此之外,基于DCT變換的數(shù)字水印技術(shù)的關(guān)鍵步驟是由C++語(yǔ)言編寫成的,與系統(tǒng)具有較強(qiáng)的契合性,開(kāi)發(fā)工作人員在Java語(yǔ)言中的Native函數(shù)中直接調(diào)用,能夠節(jié)省大量的計(jì)算時(shí)間,用戶的使用體驗(yàn)也會(huì)得到比較大的提升。
綜上所述,就是筆者針對(duì)現(xiàn)階段Android移動(dòng)終端數(shù)據(jù)安全防護(hù)技術(shù)的相關(guān)研究和分析了,從文中闡述內(nèi)容中不難看出,現(xiàn)代智能設(shè)備終端用戶群體對(duì)于個(gè)人數(shù)據(jù)、信息的安全性比較看重,而目前來(lái)看,諸多Android移動(dòng)終端的數(shù)據(jù)安全防護(hù)還具有不到位的情況。而在本文所提出的Android移動(dòng)終端數(shù)據(jù)安全防護(hù)技術(shù)方案當(dāng)中,相關(guān)的工作效率比較高,同時(shí)可以有效地保護(hù)用戶的個(gè)人隱私數(shù)據(jù)安全,并且保護(hù)用戶的圖像版權(quán),具有一定的應(yīng)用價(jià)值。但本文所提出的Android移動(dòng)終端數(shù)據(jù)安全防護(hù)技術(shù)方案還具有一定的優(yōu)化空間,需要隨著不同智能終端設(shè)備的迭代更新進(jìn)行相對(duì)應(yīng)的針對(duì)性優(yōu)化和完善,除此之外還需要強(qiáng)化專業(yè)人才的培養(yǎng),這是實(shí)現(xiàn)這項(xiàng)工作得以可持續(xù)性發(fā)展的重要前提。
參考文獻(xiàn):
[1]鮑清揚(yáng).基于Android數(shù)據(jù)安全防護(hù)系統(tǒng)的研究與實(shí)現(xiàn)[D].北京郵電大學(xué),2020.
[2]蘇祥.基于沙箱的Android應(yīng)用程序動(dòng)態(tài)監(jiān)測(cè)技術(shù)研究[D].西安電子科技大學(xué),2019.
[3]王璇.Android移動(dòng)終端數(shù)據(jù)安全防護(hù)技術(shù)的研究及其實(shí)現(xiàn)[D].北京郵電大學(xué),2019.
[4]王喆.Android移動(dòng)終端數(shù)據(jù)安全檢測(cè)方法研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2019(01):63-64.
[5]尹卿,移動(dòng)作業(yè)終端數(shù)據(jù)安全防護(hù)關(guān)鍵技術(shù)研究及應(yīng)用.內(nèi)蒙古自治區(qū),內(nèi)蒙古電力,2018-12-06.
[6]王璇.Android平臺(tái)數(shù)據(jù)安全防護(hù)技術(shù)的研究及其實(shí)現(xiàn)[J].信息技術(shù)與信息化,2018(11):196-202.
[7]崔海娜.基于虛擬化及重定向技術(shù)的Android沙箱的設(shè)計(jì)與實(shí)現(xiàn)[D].北京郵電大學(xué),2018.
[8]紀(jì)策.基于Android的惡意軟件檢測(cè)與防護(hù)技術(shù)研究[D].東南大學(xué),2018.
[9]王俊.基于安全沙箱的醫(yī)院移動(dòng)終端數(shù)據(jù)安全防護(hù)[J].中國(guó)數(shù)字醫(yī)學(xué),2018,13(03):96-98.
[10]李承澤.基于組件通信的海量Android應(yīng)用安全分析關(guān)鍵技術(shù)研究[D].北京郵電大學(xué),2018.
[11]張若定,張妍.智能移動(dòng)終端隱私數(shù)據(jù)泄露問(wèn)題與防護(hù)手段[J].保密工作,2013(09):52-53.
[12]邵志鵬.移動(dòng)互聯(lián)網(wǎng)環(huán)境下的電力智能終端防護(hù)技術(shù)研究[C]//2012年電力通信管理暨智能電網(wǎng)通信技術(shù)論壇論文集.,2013:337-341.