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

基于安卓終端的SQLite數據庫網盤存儲安全研究

2020-10-27 05:51:19張晶
中國管理信息化 2020年15期
關鍵詞:安全

張晶

[摘? ? 要] 隨著移動客戶端的普及,我國移動用戶不斷增加。基于此,文章對安卓終端的SQLite數據庫進行簡單介紹,以網盤存儲的安全研究為主,分別從身份認證、訪問控制模塊、網盤的設計與實現和SQLite數據庫加密等方面,進一步提升SQLite數據庫的網盤存儲安全性。

[關鍵詞] 安卓終端;SQLite數據庫;網盤儲存;安全

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2020. 15. 082

[中圖分類號] TP311? ? [文獻標識碼]? A? ? ? [文章編號]? 1673 - 0194(2020)15- 0197- 02

1? ? ? 基于安卓終端的SQLite數據庫介紹

SQLite是一款通過C語言編寫的開放嵌入式數據庫,符合ACID中的關系型數據庫管理系統。SQLite數據庫具有所占內容小、運行效率高的特點,是現在安卓終端設備常用的數據庫,其由公共接口、虛擬機、后端與編譯器系統等部分組成。其中公共接口主要是通過SQLite C API組成,其中很多腳本語言或者程序,都是利用SQLite與接口交互;而編譯器系統則由分析器、代碼生成器與分組器組成,其中分組器與分析器先檢測執行的語句,然后將其轉變為方便基層處理的數據結構,接著將這種數據結構傳遞給代碼生成器進行后續處理,并產生虛擬機,繼續執行匯編代碼;虛擬機也叫虛擬數據庫引擎,此是SQLite數據庫的關鍵內容,負責解釋執行字節;后端的主要作用是管理數據,并借助OS Interface分享頁面信息[1]。

2? ? ? 基于安卓終端的SQLite數據庫網盤存儲安全的實現

2.1? ?身份認證

增強SQLite數據庫網盤儲存的安全性,最先從身份認證方案的實現入手,具體包括身份認證與密鑰形成兩部分內容。

2.1.1? ?身份認證

第一,系統中調出sqlite3_open_v2()的函數,并根據提示分別輸入用戶名與口令。第二,系統繼續調取函數,并分析其中帶有的參數,如用戶名、口令等。第三,用戶在函數下,通過查找用戶名的形式,觀看其是否在用戶信息體系中的屬性列表中。如果存在,繼續下一步。如果不存在,系統直接退出頁面,結束訪問。第四,結合密鑰生成的過程,用戶在輸入口令的時候,還需關注運算后產生的數值。第五,對于查詢系統,用戶有密鑰文件中的密鑰K。第六,系統調用checkPassword()函數中判斷K0和K的關系,若兩者相等,則證明身份認證成功,成功進入數據庫,若兩者不相等,直接退出訪問。

2.1.2? ?密鑰生成規則函數

數據庫進入過程中的身份驗證,需要比較兩個數值,如K0和K,K0表示用戶登錄數據庫中輸入的口令,經過密鑰生成規則的數值;K則是用戶最早注冊,設置口令時產生的密鑰值,圖1為密鑰生成規律函數下的算法代碼[2]。其中,用戶輸入口令之后,通過密鑰生成規律,進行密鑰計算,系統通過函數提示錄入手機IMEI碼,接著將其與站用戶輸入口令拼接,再加入Sale值,進行MD5散列,最終得到上百位不可逆推的密鑰。

2.2? ?訪問控制模塊

用戶在終端登錄SQLite數據庫的時候,系統經過對其進行身份驗證后,就會對用戶角色進行劃分,可以是一種,也可是多種,并在多種角色下,盡量增強角色權限。例如方位控制階段,系統會讀取用戶的權限與角色類別,判斷其是否具有操作權限。用戶身份驗證成功后,系統調用鉤子函數授權回調函數。其中的回調函數有三類返回值,分別為允許操作、拒絕操作與允許操作中摒棄不授權的操作。然后通過調用函數,按照用戶的角色,檢測是否有進行SQL語句操作權限。驗證結果如果是有權限,則允許操作,若沒有就終止請求。查找權限表的代碼圖只需系統對用戶進行角色判斷,就可知道是否具有執行權限。若權限碼type的值為1-5,表示系統執行的是符合用戶需求的操作;若權限碼type的值為6-10,表示系統執行的是刪除的操作;若權限碼type的值為11-15,表示系統執行對應SQL語句操作:若用戶的角色中沒有type,則表示無對應操作權限。

2.3? ?網盤的設計與實現

SQLite數據庫網盤的使用客戶,可通過客戶端注冊登錄與檢索下載。SQLite數據庫服務器對信息的儲存是以密文形式,要想解密,需要的密鑰在本地安卓終端上,以此防止云服務過程中產生的安全威脅。打開SQLite數據庫客戶端,輸入賬號密碼后,用戶持合法身份進入主界面,并點擊其中的多種功能,上傳文件空間,系統程序自動打開SQLite接口,進入安全模塊,系統驗證訪問者身份。待權限控制模塊認證成功后,SQLite數據庫內部的文件就可上傳[3]。安卓終端中的本地SQLite安全加強模塊中的密文,通過云端或者網盤,上傳到服務器終端。文件上傳前,就已經有很多數據被加密,以密文的形式存在于服務端,防止資料信息在傳遞或者保存的時候,被黑客攻擊并竊取。本文關于網盤的存儲安全,主要就是通過密文形式,通過數據庫安全模塊,將儲存在數據庫中的數據成功保護。網盤儲存模塊,有客戶端與服務器端兩種。

2.3.1? ?客戶端模塊

本次研究面向的是安卓終端專用的網盤,其安全性需要在安卓終端處,增加安全機制,保障數據安全后再上傳。SQLite數據庫的設計也重視終端數據的信息安全。用戶先進行簡單的注冊、登錄,然后在數據庫中收集信息并下載文件。首先,注冊登錄系統的設計。SQLite數據庫下的網盤存儲安全的保證,最先從認證用戶身份的合法性開始,通過注冊用戶名與密碼,保證數據庫登錄的安全性,通過MD5散列后,將與用戶名一致的信息上傳到服務器,保存用戶信息。用戶第一次登錄賬號的時候,在成功后會將個人信息直接上傳并保存到服務器的數據庫中。若不是首次登錄的用戶,直接填寫用戶名與賬號即可,待信息與數據庫中已有賬號相符,驗證提交密碼的散列值與對應散列值一致,則表示登錄成功,否則會出現“對不起,您提交的信息無效”的提示。

接著實現注冊登錄功能,安卓終端中的SQLite數據庫與其他應用程序相同,帶配置完開發環境后,就構建安全網盤工程,并在安卓終端資源目錄中,完成多個頁面的UI設計,并存入項目所處的圖片與多種格式等資源,并在JAVA文件中完成頁面的布局。開發過程中需連接網絡,并在AndroidManifest.xml中注冊授權,對于SQLite數據庫客戶端中頁面的設計,需有登錄頁面、注冊頁面與上傳下載頁面。用戶首次登錄時在登錄頁面注冊賬號,自己輸入賬號與密碼,注冊成功后對密碼進行MD5散列,多種數值一同保存。注冊頁面上需要有:“注冊”提示;輸入用戶名、密碼、確定密碼;體現注冊信息、退出。

文件加密上傳功能的設計,用戶文件上傳時需點擊“上傳文件”按鈕,并回調打開函數接口,完成數據庫的權限認證,并在制定的用戶文件中提去本地密鑰,加密所選上傳文件。加密結束后就可在SQLite數據庫日志中增加密文信息,并上傳密文。此處可以借助Socket的方法完成客戶端與服務器端的通信。

2.3.2? ?服務端模塊

SQLite數據庫中服務端模塊的設計,先從數據表開始,服務端作為數據庫中關鍵部分,記錄用戶的信息、上傳下載文件信息等內容。用戶初次注冊成功后,網絡服務端就會增加一條用戶信息,往往通過CountID當作用戶的ID標識,用于登錄時設置名稱,由服務端確定該用戶是否存在于數據庫中,若存在,接著對比密碼散列值與用戶輸入密碼散列后得到的值,以此提升口令安全性。以FileID文件標識為例,任意一個上傳到服務端的文件,都有獨立的ID號,通過FileID設置主鍵增強。并根據Sourceid判斷文件是否初次上傳,若該數值為空,則表示初次上傳。安卓終端中,服務端與客戶端相同,都通過創建對象,完成客戶端與服務器的連接。可通過SocketServer.java文件,結合客戶端發來的信息,確定文件是否初次上傳、是否是斷點續傳、是否上傳成功等,并將正確信息傳輸給客戶端。

2.4? ?SQLite數據庫加密

2.4.1? ?加密思路

安卓終端上的源碼十分復雜,整體范圍龐大,加密SQLite數據庫的時候,若直接在安卓源碼中修改SQLite源碼,后期調試就會變得困難,且使用效率低。所以需要將SQLite源碼先從安卓原生系統中分離,然后獨立進行修改,以此優化AES算法加密效果。SQLite源碼中增添加密與權限認證功能之后,就可再放入到原生系統中,完成加密接口與應用層的銜接,使系統開發技術人員在應用層中能快速調用SQLite加密API,并編寫安卓源碼,最終構建SQLite數據庫安全系統。

2.4.2? ?加密方案的實現

安卓系統中所有SQLite源碼的路徑為:external/sqlite/dist,加密方案實現中,將SQLite源碼提取。SQLite數據庫官方源碼中,包括幾個加密系統,要想實現SQLite的加密功能,實際上就是實現幾個函數。增加SQLite加解密功能的流程為:第一,在slite3.c文件中的開始部分,增加SQLITE_HAS_CODEC宏定義,啟動SQLite數據庫中的加解密功能。第二,在SQLite數據庫定義文件中添加函數。創建加密結構體,將臨時需要用的節目過程儲存,并對于其中用到的頁數據信息、密鑰和B-tree指針等信息數值,并釋放臨時變量函數。第三,編寫加密函數,優化原先的AES-128加解密算法,并植入SQLite數據庫中。第四,編寫新函數,連接進入數據庫的讀寫操作與加解密功能。保證數據庫每次被打開的時候,都會進行一次加解密操作。系統函數中往往蘊含多個數據庫的信息,且需要通過變量數據明確需要具體的加密或者解密,將Codec變量作為加解密的密鑰,可借助其他變量,釋放函數。

3? ? ? 結? ? 論

經過對安卓終端SQLite數據庫模塊的加強與對網盤儲存安全的實現進行闡述,從用戶身份認證角度出發,配合數據加密與訪問控制等形式,完成對SQLite數據庫網盤存儲安全的加強,使SQLite數據庫網盤儲存信息的安全性得到保障,進而避免信息在傳輸過程中受到惡意攻擊,加強對安卓終端用戶隱私的保護。

主要參考文獻

[1]汪坤.SQLite數據庫在Android平臺下的加密設計[J].電子技術與軟件工程,2020(3):210-212.

[2]何文才,馬鵬斐,劉培鶴,等.基于Android平臺的SQLite數據庫加密研究[J].計算機應用與軟件,2019,36(10):310-315,333.

[3]徐志揚,楊玉志,查曉俊,等.基于Android的醫療設備管理軟件離線后數據的處理方法[J].中國醫療設備,2019,34(4):123-126.

猜你喜歡
安全
智能家居安全分析
熱電公司發電機勵磁系統改造
科技視界(2016年21期)2016-10-17 20:00:16
淺談計算機硬件實驗室管理
科技視界(2016年20期)2016-09-29 11:59:36
中國民航HUD的應用和發展淺析
科技視界(2016年20期)2016-09-29 10:54:27
主站蜘蛛池模板: 91综合色区亚洲熟妇p| 97人妻精品专区久久久久| 538国产视频| 高清无码不卡视频| 国产成年女人特黄特色大片免费| 欧美在线网| 国内精品视频| 一级全黄毛片| 国产综合欧美| a天堂视频在线| 欧美成人aⅴ| 国产欧美中文字幕| 国产一二视频| 99热这里只有精品5| 日韩AV手机在线观看蜜芽| 国产久操视频| 国产免费观看av大片的网站| 91美女在线| 国产毛片不卡| 国产系列在线| 国产成人夜色91| 国产aⅴ无码专区亚洲av综合网| 亚洲精品va| 日韩A级毛片一区二区三区| 色噜噜综合网| 欧美日韩在线成人| 日本高清视频在线www色| 日本精品视频一区二区| 国产69囗曝护士吞精在线视频| 天天爽免费视频| 18禁不卡免费网站| 毛片一级在线| 亚洲欧洲日韩久久狠狠爱| 亚洲日韩国产精品综合在线观看| 欧美日韩国产精品综合| 精品国产免费第一区二区三区日韩| 亚洲无码91视频| 久久国产亚洲欧美日韩精品| 国产亚卅精品无码| a毛片在线免费观看| 日韩欧美中文字幕在线精品| 色婷婷综合激情视频免费看| 亚洲青涩在线| 久久黄色影院| 97超碰精品成人国产| 她的性爱视频| 久久久精品久久久久三级| 台湾AV国片精品女同性| 国内精品免费| 色综合久久综合网| 国产精品无码久久久久AV| 久久国产黑丝袜视频| a级毛片毛片免费观看久潮| 在线观看免费人成视频色快速| av一区二区三区高清久久| 亚洲视频二| 亚洲一级毛片在线观播放| 99久久国产综合精品2023| 最新国产你懂的在线网址| 国产精品30p| 一级毛片免费不卡在线| 欧美 亚洲 日韩 国产| 经典三级久久| 一级一级一片免费| 在线免费a视频| 无码中文字幕精品推荐| 在线欧美国产| 91久久天天躁狠狠躁夜夜| 婷婷五月在线| 狠狠操夜夜爽| 国产午夜一级淫片| 亚洲一区二区精品无码久久久| 九九久久精品国产av片囯产区| 亚洲无线一二三四区男男| 免费观看精品视频999| 热re99久久精品国99热| 国产成人1024精品| 婷婷久久综合九色综合88| 国产永久免费视频m3u8| 欧美一级特黄aaaaaa在线看片| 2022精品国偷自产免费观看| 精品在线免费播放|