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