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

Android平臺加密算法及系統實現

2017-05-31 06:40:26蘇瑩蔡芳
軟件導刊 2017年5期

蘇瑩 蔡芳

摘要摘要:為滿足人們對Android手機私密信息的保護,針對Android系統的特點,闡釋對稱加密算法和非對稱加密算法的基本原理,并著重分析3種常用加密算法的加密過程。針對Android手機隱私泄露問題,提供一套可行的基于AES加密算法的手機隱私保護解決方案。分析用戶需求,總結用戶對Android加密軟件的需求,進行系統設計和詳細設計,實現一款集文件加密和管理于一身的Android軟件,并對軟件進行測試。

關鍵詞關鍵詞:加密算法;Android系統;加密性能;算法安全;文件加密

DOIDOI:10.11907/rjdk.171086

中圖分類號:TP309.7

文獻標識碼:A文章編號文章編號:16727800(2017)005017103

0引言

智能手機的出現極大改變了人們的生活方式,當人們已經習慣和依賴手機時,也更加注重手機個人信息的安全性。在數據信息的安全保障措施中,信息加密技術是最主要和最基本的方法,信息加密是由加密算法具體實現的,利用密鑰確保信息安全[1]。以Android平臺為代表的智能手機操作系統在當前最為流行,然而Android的開放性也使得其安全性大為降低,以致出現了很多使用Android操作系統的用戶隱私被泄露的現象[2]。鑒于此,對Android平臺下的數據安全進行研究迫在眉睫。

本文針對目前幾種較為成熟的加密算法,對算法加密過程、安全性及Android平臺的適用性等進行研究,根據Android平臺的特點選定一種加密算法設計出一款功能強大的加密軟件。加密軟件可以對本地的文本文件和圖片進行加密和解密,并實現文件的基本可視化界面操作。

1加密算法特性分析

對于RSA算法,其安全性很大程度上依賴于大素數分解,但沒有任何理論證明其安全性等同于大數分解的難度[3]。就目前而言,分解n是最有效的破解方法。當前計算機已經能分解多個十進制的大素數,因此n必須足夠大。然而當n過大時會降低加密效率。RSA最大的缺點在于其計算量太大,會耗費大量系統資源。由于計算量太大,RSA算法多用于傳遞密鑰、簽名等少量信息的加密,因而對于文件加密不合適。RSA算法在運算性能不是很強大的Android系統應用上,顯然不太合適。

DES算法具有很高的安全性,目前除了用窮舉搜索法對抗DES算法攻擊外,還未發現更有效的方法[34]。在DES算法中只用到了64位密鑰中的其中56位,第8、16、24、…、64位這8個位沒有參與DES運算,由此可以看出,DES的安全性是基于除第8、16、24、…、64位以外的56位的組合變化才使得256得以保證,因此在實際應用中,應該避開使用第8、16、24、…、64位作為有效的數據位,即使用其它的56位作為有效數據位,才能保證DES算法安全可靠地發揮作用。另外,DES算法中S盒8個選擇函數矩陣的設計原理至今未公布,因此嚴格地講,DES算法并不是真正的公開加密算法。如果S盒中存在陷門,那么DES算法就沒有安全性可言了,這顯然不符合本課題對算法的要求。

AES算法是一個分組迭代密碼,分組長度和密鑰長度設計靈活。與DES算法相比,AES算法支持可變分組長度,分組長度可設定為32bit的任意倍數,最小為128bit,最大為256bit。另外AES算法遵循寬軌跡策略,因此它可以有效對抗差分密碼分析和線性密碼分析[56]。目前,AES算法被列為是比現今任何其它加密算法都要安全的一種算法,在理論和實際應用中,它被認為是“安全的”,因為要破解AES算法,唯一有效的方法就是生成所有密鑰,并精確地測量出加密線程所需的時間。

3種算法的性能對比分析如表1所示。RSA算法在保證安全的前提下計算量太大,不適合Android系統;DES算法安全性得不到保證,也不適合本次課題的要求;而AES算法由于其安全性高、運算速度快和資源消耗低的特點非常適合用于Android下的加密設計。

2功能需求與設計

2.1功能需求

一款功能齊全的基于Android系統的加密軟件,軟件系統功能主要分為文件加密、文件解密、文件瀏覽、文件操作和設置密碼五大塊。軟件功能如圖1所示。

(1)文件加密。系統可以對文本文件和圖片進行加密,對文件加密后,在原文件的目錄中創建密文文件,并刪除原文件。對于不支持加密的文件要給予提示,以免誤刪。因此,要求加密算法為安全性和效率較高的AES算法。

(2) 文件解密。文件解密是將密文文件還原成明文,要能夠完全還原成加密前的內容,解密后刪除密文文件。

(3)密碼設置。分為軟件啟動密碼和文件加密密碼。軟件啟動時要求用戶輸入密碼,隨后對文件進行操作。軟件啟動密碼指軟件啟動時的初始密碼,在設置選項里可以更改軟件啟動密碼。文件加密密碼是用于加密文件的密碼,當用戶選擇對文件解密后要求輸入文件的加密密碼,當密碼驗證通過后再將文件解密。文件的加密密碼也有一個初始值,可以在設置里更改。

(4)文件瀏覽。文件瀏覽要顯示當前所在路徑,以列表形式顯示存儲卡里的文件和文件夾,列表的每一項都由文件圖標和文件名組成。用戶能上下滑動屏幕以瀏覽文件,當點擊一個目錄時就進入目錄。

(5)文件操作。在文件列表長按某個文件時,彈出功能選擇框,功能選項和目標有:刪除、打開、復制、粘貼、重命名。

2.2總體設計

程序首次啟動要求用戶輸入默認的軟件啟動密碼,正確輸入密碼后進入主界面,主界面是手機sd卡根目錄的文件列表展示,用戶可以選擇“手機”、“SD卡”、“日志”和“設置”選項,或者直接進行SD卡的文件瀏覽。程序流程如圖2所示。

當用戶點擊目錄時直接進入目錄,當點擊文件時則調用系統的程序來打開文件。當長按某個文件或文件夾時彈出列表選擇框讓用戶選擇操作方式,操作方式有打開、刪除、復制、粘貼、重命名、加密和解密,選擇操作,程序執行各自對應的方法,然后關閉列表選擇框。

在選擇加密操作后,即調用加密方法,判斷:如果在sd卡根目錄下存在日志文件,則將此密文文件的日志信息寫入日志文件中;如果日志文件不存在,則在sd卡根目錄下創建日志文件,再寫入日志信息。選擇解密文件后,彈出對話框讓用戶輸入密碼,密碼驗證正確后執行解密方法。

當用戶選擇查看日志時,出現列表對話框,對話框每一項都是密文的日志信息。對話框每次將日志文件的內容按行讀出信息,然后在在每個選項中展示。

當用戶選擇設置密碼時,出現密碼對話框,對話框包括兩個單選按鈕和一個文本輸入框,單選按鈕是選擇設置軟件啟動密碼和文件加密密碼,輸入框接收用戶輸入的密碼。

3關鍵技術及實現

設置密碼包括軟件啟動密碼和文件加密密碼,兩個密碼都采用SharedPreferences方式存儲。加密完某個文件時,將文件的絕對路徑名和當前系統時間一并寫入日志文件中,其中日志文件內容不能被覆蓋,只允許將新內容加入原內容之后。當要顯示日志信息時,彈出列表對話框。列表對話框的讀取日志文件,對話框每一項顯示文件的絕對路徑名和被加密時的時間。

被加密的文件不能被讀取或者讀取的是亂碼,文件被解密后要求能被正確讀取,而且沒有亂碼現象或者質量損失的情況,文件加密后要求將此日志信息正確寫入日志文件中。在進行文件瀏覽時要求能正確顯示各目錄下的文件名和子目錄名,對文件的各種操作能夠正確執行。在顯示日志時能夠正確顯示日志文件的內容,沒有亂碼或顯示格式混亂的情況。設置密碼要求將用戶設置的密碼成功保存,在密碼不被修改的情況下,密碼不被改變。

由于程序涉及讀文件的操作,要提防用戶操作系統的重要文件或目錄,這就要求在顯示文件時將系統重要文件或目錄過濾掉。

對于加密算法所需密鑰則是用由用戶提供的密碼,程序根據密碼生成密鑰,密碼保存在SharedPreferred(操作模式為Context.MODE_PRIVATE)中。對文件加密先用FileInputStream獲得明文的輸入流形成字符串,再將字符串加密,密文字符串用輸出流FileInputStream將密文寫入新文件,然后將源文件刪除。解密過程與加密過程相同,只不過加密與解密的方法不同。加密解密所需的密鑰根據SharedPreferred中的密碼經過轉換得到。

軟件啟動密碼的實現,則可以設計一個登錄流程,當輸入正確密碼時進入主界面。對文件類型的判斷用getName()獲得文件的名字,根據文件后綴名設置不同的圖標,用isFile()判斷文件是標準文件還是目錄,如果是目錄則進入繼續反復判斷,直到文件夾沒有子文件夾為止。

文件的瀏覽則用File類的list()方法獲得根目錄下所文件和文件夾的字符串列表,將列表放入中間容器BaseAdapter中,再將BaseAdapter的內容顯示在Listview中。

當用戶選擇退出時,程序調用MainActivity.this.finish()方法退出程序。

4系統測試

4.1系統測試目的及環境

原始問題的復雜性和開發各個階段的多樣性,使得程序開發在各個階段都可能出現錯誤。為了更好地提高程序的效率和各種平臺的兼容性,需對軟件進行各種測試。在本程序中,對文件的操作較多,對文件的讀寫操作可能出現輸入輸出流錯誤的情況,這樣的錯誤會導致文件損壞,并且,在對文件的讀寫操作上可能出現編碼不一致的問題。在對密碼的保存問題上,應測試是否出現其它程序訪問SharedPreferences的情況。

4.2測試結果

本程序的開發環境是Android 4.2,因此選擇在4.2以上版本上測試。測試結果如圖3所示。

5結語

在本次加密算法研究與實現過程中,主要完成了如下工作:①研究和總結了常用加密算法RSA、DES和AES的實現過程,針對這3種算法,從算法安全性、運行速度、資源消耗和密鑰管理等角度分析并選擇適合Android平臺的加密算法;②選擇適合的加密算法后,實現了基于AES算法集文件操作和加密于一身的的加密軟件,在此過程中確定了軟件的設計目標、需求分析、系統功能模塊設計和程序流程設計;③根據系統流程對各個子功能模塊進行編碼設計,最后針對軟件功能和當前開發環境進行了系統測試。

參考文獻參考文獻:

[1]豐生強.Android軟件安全與逆向分析[M].北京:人民郵電出版社,2013.

[2]蔣紹林,王金雙,張濤.Android 安全研究綜述[J].計算機應用與軟件,2012(10):205210.

[3]JONATHAN KATZ,YEHUDA LINDELL.Introduction to modern cryptography[M].London:Chapman and Hall,2007.

[4]吳明航.DES和RSA混合加密算法的研究[D].哈爾濱:哈爾濱工業大學,2013.

[5]姚培娟,張志利.Android智能手機安全問題和防護策略研究[J].現代計算機:專業版,2015(1):6972.

[6]MODEL JISOO OH,MINWOO PARK,TAIMYOUNG CHUNG.Enhancing security of the android platform via multilevel security[J].Applications and Techniques in Information Security Communications in Computer and Information Science,2014.

責任編輯(責任編輯:孫娟)

主站蜘蛛池模板: 国产又粗又猛又爽视频| 手机在线国产精品| 亚洲综合香蕉| 久久久精品国产SM调教网站| 国产精品亚洲专区一区| 国产SUV精品一区二区| 国产喷水视频| 国产精品永久免费嫩草研究院| 好吊色妇女免费视频免费| 54pao国产成人免费视频| 蝴蝶伊人久久中文娱乐网| 亚洲最新在线| 国产在线观看精品| 色成人亚洲| 国产亚洲精久久久久久久91| 99色亚洲国产精品11p| 亚洲日韩Av中文字幕无码| 波多野结衣国产精品| 国产三级精品三级在线观看| 日韩一区二区三免费高清| 久久亚洲日本不卡一区二区| 3D动漫精品啪啪一区二区下载| 亚洲IV视频免费在线光看| 国产凹凸视频在线观看| 亚洲国产成熟视频在线多多| 91精品亚洲| 97久久免费视频| 久久精品国产一区二区小说| 色婷婷亚洲综合五月| 成人无码一区二区三区视频在线观看 | 亚洲欧美另类中文字幕| 亚洲人成人无码www| 亚洲国产一区在线观看| 无码内射中文字幕岛国片| 国产精品美乳| 一级成人欧美一区在线观看| 在线中文字幕日韩| 免费高清毛片| 国产欧美自拍视频| 99热免费在线| 欧美亚洲国产精品久久蜜芽| 尤物成AV人片在线观看| 在线观看国产网址你懂的| 免费国产无遮挡又黄又爽| 亚洲国产清纯| V一区无码内射国产| 乱人伦中文视频在线观看免费| 老色鬼欧美精品| 毛片免费试看| 国产区人妖精品人妖精品视频| 久久久久久尹人网香蕉| 国产成人精品亚洲77美色| 国产精品私拍99pans大尺度| 亚洲精品图区| 国产精品99久久久| 精品久久久久久中文字幕女| 国产va在线观看| 国产精女同一区二区三区久| 成人免费午夜视频| 亚洲精品爱草草视频在线| 欧美一级高清视频在线播放| 在线观看视频99| 97精品伊人久久大香线蕉| 免费看a毛片| 五月天在线网站| 国产极品美女在线播放| 大香伊人久久| 欧美自拍另类欧美综合图区| 国产成人精品2021欧美日韩| 亚洲精品视频免费| 国产精品任我爽爆在线播放6080| 久久亚洲美女精品国产精品| 97在线视频免费观看| 国产极品美女在线观看| 亚洲精品成人片在线观看 | 亚洲天堂日韩av电影| 麻豆精品久久久久久久99蜜桃| 超碰精品无码一区二区| 污污网站在线观看| 国产精品漂亮美女在线观看| 91激情视频| 91在线国内在线播放老师|