數(shù)據(jù)庫的操作方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種數(shù)據(jù)庫的操作方法及裝置。
【背景技術(shù)】
[0002]目前的應(yīng)用最廣泛的手機(jī)操作系統(tǒng)是Android,在Android系統(tǒng)中,大部分的系統(tǒng)及應(yīng)用數(shù)據(jù)都使用SQLite數(shù)據(jù)庫來存儲,如系統(tǒng)配置數(shù)據(jù)、通訊錄、短信、應(yīng)用存儲的網(wǎng)站登錄密碼、網(wǎng)上購物信息等。SQLite是一個非常小巧的跨平臺嵌入式數(shù)據(jù)庫,它的數(shù)據(jù)庫以文件的形式存放在本地磁盤上。因其簡單高效且跨平臺的特性,SQLite在嵌入式系統(tǒng)中獲得了廣泛的應(yīng)用,但是在其開源的免費版中卻缺少了一個數(shù)據(jù)庫中幾乎是必備的功能:數(shù)據(jù)庫的加密。這使得在獲取到SQLite數(shù)據(jù)庫的文件后,就可以使用任意的文本編輯工具或?qū)iT的SQLite數(shù)據(jù)庫查看軟件,直接看到數(shù)據(jù)庫內(nèi)存儲的數(shù)據(jù)內(nèi)容,存在較大的安全隱串
■/Q1、Ο
[0003]遺憾的是,Android系統(tǒng)采用的恰好就是SQLite的開源免費版本。雖然Android系統(tǒng)限制了對系統(tǒng)及應(yīng)用數(shù)據(jù)庫文件的訪問權(quán)限,但是獲取到Android系統(tǒng)的Root權(quán)限后,所有人都可以不受限制的導(dǎo)出和查看這些數(shù)據(jù)庫文件。一些惡意軟件或病毒程序甚至可以通過特殊手段,在手機(jī)上直接讀取這些數(shù)據(jù)庫文件的內(nèi)容。一旦這些數(shù)據(jù)被不懷好意的人拿到,就可能給使用者帶來的潛在安全隱患和經(jīng)濟(jì)損失,因此有必要設(shè)計一種可以阻止數(shù)據(jù)庫內(nèi)容被輕易讀出并識別的方法和技術(shù)來阻止這些信息的泄露。
[0004]針對相關(guān)技術(shù)中,開源數(shù)據(jù)庫存在安全隱患的問題,還未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種數(shù)據(jù)庫的操作方法及裝置,以至少解決現(xiàn)有技術(shù)中開源數(shù)據(jù)庫存在安全隱患的問題。
[0006]根據(jù)本發(fā)明的一個方面,提供了一種數(shù)據(jù)庫的操作方法,包括:接收對第一終端的開源數(shù)據(jù)庫的讀寫請求;在所述讀寫請求的觸發(fā)下,生成訪問所述開源數(shù)據(jù)庫的第一密鑰;比較所述第一密鑰與第二密鑰是否一致,其中,所述第二密鑰為所述第一終端在創(chuàng)建所述開源數(shù)據(jù)庫時根據(jù)所述第一終端的特征碼生成的密鑰;根據(jù)比較結(jié)果確定是否允許對所述開源數(shù)據(jù)庫進(jìn)行讀寫操作,其中,在比較結(jié)果指示一致時,允許對所述開源數(shù)據(jù)庫進(jìn)行讀寫操作,在比較結(jié)果指示不一致時,禁止對所述開源數(shù)據(jù)庫進(jìn)行讀寫操作。
[0007]優(yōu)選地,生成訪問所述開源數(shù)據(jù)庫的所述第一密鑰,包括:在所述讀寫請求為所述第一終端發(fā)送的讀寫請求時,根據(jù)所述第一終端的特征碼生成所述第一密鑰。
[0008]優(yōu)選地,在所述讀寫請求為所述第一終端發(fā)送的讀寫請求時,所述比較結(jié)果指示所述第一密鑰與所述第二密鑰一致。
[0009]優(yōu)選地,生成訪問所述開源數(shù)據(jù)庫的所述第一密鑰,包括:在所述讀寫請求為第二終端發(fā)送的讀寫請求時,根據(jù)所述第二終端的特征碼生成所述第一密鑰。
[0010]優(yōu)選地,在所述讀寫請求為所述第二終端發(fā)送的讀寫請求時,所述比較結(jié)果指示所述第一密鑰與所述第二密鑰不一致。
[0011]優(yōu)選地,根據(jù)比較結(jié)果確定是否允許對所述開源數(shù)據(jù)庫進(jìn)行讀寫操作包括:根據(jù)比較結(jié)果確定是否允許對所述開源數(shù)據(jù)庫本身進(jìn)行讀寫操作,和/或?qū)λ鲩_源數(shù)據(jù)庫中的內(nèi)容進(jìn)行讀寫操作。
[0012]優(yōu)選地,所述特征碼包括以下至少之一:終端的標(biāo)識、藍(lán)牙通信地址、WIFI地址。
[0013]根據(jù)本發(fā)明的另一個方面,提供了一種數(shù)據(jù)庫的操作裝置,包括:接收模塊,用于接收對第一終端的開源數(shù)據(jù)庫的讀寫請求;生成模塊,用于在所述讀寫請求的觸發(fā)下,生成訪問所述開源數(shù)據(jù)庫的第一密鑰;比較模塊,用于比較所述第一密鑰與第二密鑰是否一致,其中,所述第二密鑰為所述第一終端在創(chuàng)建所述開源數(shù)據(jù)庫時根據(jù)所述第一終端的特征碼生成的密鑰;確定模塊,用于根據(jù)比較結(jié)果確定是否允許對所述開源數(shù)據(jù)庫進(jìn)行讀寫操作,其中,在比較結(jié)果指示一致時,允許對所述開源數(shù)據(jù)庫進(jìn)行讀寫操作,在比較結(jié)果指示不一致時,禁止對所述開源數(shù)據(jù)庫進(jìn)行讀寫操作。
[0014]優(yōu)選地,所述生成模塊還用于在所述讀寫請求為所述第一終端發(fā)送的讀寫請求時,根據(jù)所述第一終端的特征碼生成所述第一密鑰。
[0015]優(yōu)選地,在所述讀寫請求為所述第一終端發(fā)送的讀寫請求時,所述比較模塊還用于指示所述第一密鑰與所述第二密鑰一致。
[0016]優(yōu)選地,所述生成模塊還用于在所述讀寫請求為第二終端發(fā)送的讀寫請求時,根據(jù)所述第二終端的特征碼生成所述第一密鑰。
[0017]優(yōu)選地,在所述讀寫請求為所述第二終端發(fā)送的讀寫請求時,所述比較模塊還用于指示所述第一密鑰與所述第二密鑰不一致。
[0018]優(yōu)選地,所述確定模塊還用于根據(jù)比較結(jié)果確定是否允許對所述開源數(shù)據(jù)庫本身進(jìn)行讀寫操作,和/或?qū)λ鲩_源數(shù)據(jù)庫中的內(nèi)容進(jìn)行讀寫操作。
[0019]優(yōu)選地,所述特征碼包括以下至少之一:終端的標(biāo)識、藍(lán)牙通信地址、WIFI地址。
[0020]通過本發(fā)明,接收對第一終端的開源數(shù)據(jù)庫的讀寫請求;在讀寫請求的觸發(fā)下,生成訪問開源數(shù)據(jù)庫的第一密鑰;比較第一密鑰與第二密鑰是否一致,其中,第二密鑰為第一終端在創(chuàng)建開源數(shù)據(jù)庫時根據(jù)第一終端的特征碼生成的密鑰;根據(jù)比較結(jié)果確定是否允許對開源數(shù)據(jù)庫進(jìn)行讀寫操作,其中,在比較結(jié)果指示一致時,允許對該開源數(shù)據(jù)庫進(jìn)行讀寫操作,在比較結(jié)果指示不一致時,禁止對該開源數(shù)據(jù)庫進(jìn)行讀寫操作。解決了開源數(shù)據(jù)庫存在安全隱患的問題,進(jìn)而可以在系統(tǒng)層面對寫入到數(shù)據(jù)庫內(nèi)的用戶數(shù)據(jù)進(jìn)行保護(hù),避免了因這些數(shù)據(jù)被非法獲取給用戶帶來安全隱含和損失。
【附圖說明】
[0021]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0022]圖1是根據(jù)本發(fā)明實施例的數(shù)據(jù)庫的操作方法的流程圖;
[0023]圖2是根據(jù)本發(fā)明實施例的數(shù)據(jù)庫的操作裝置的結(jié)構(gòu)框圖;
[0024]圖3是根據(jù)本發(fā)明實施例的數(shù)據(jù)庫的操作方法的邏輯流程圖;
[0025]圖4是根據(jù)本發(fā)明實施例的數(shù)據(jù)庫的操作業(yè)務(wù)流程流程圖;
[0026]圖5是根據(jù)本發(fā)明實施例的數(shù)據(jù)庫密鑰生成的業(yè)務(wù)流程圖;
[0027]圖6是本發(fā)明實施例的裝置的模塊組成圖。
【具體實施方式】
[0028]下文中將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0029]在本實施例中提供了一種數(shù)據(jù)庫的操作方法,圖1是根據(jù)本發(fā)明實施例的數(shù)據(jù)庫的操作方法的流程圖,如圖1所示,該流程包括如下步驟:
[0030]步驟S102,接收對第一終端的開源數(shù)據(jù)庫的讀寫請求;
[0031]步驟S104,在該讀寫請求的觸發(fā)下,生成訪問該開源數(shù)據(jù)庫的第一密鑰;
[0032]步驟S106,比較該第一密鑰與第二密鑰是否一致,其中,第二密鑰為第一終端在創(chuàng)建開源數(shù)據(jù)庫時根據(jù)第一終端的特征碼生成的密鑰;
[0033]步驟S108,根據(jù)比較結(jié)果確定是否允許對開源數(shù)據(jù)庫進(jìn)行讀寫操作,其中,在比較結(jié)果指示一致時,允許對開源數(shù)據(jù)庫進(jìn)行讀寫操作,在比較結(jié)果指示不一致時,禁止