[發(fā)明專利]一種SQLite數(shù)據(jù)庫(kù)安全增強(qiáng)方法有效
| 申請(qǐng)?zhí)枺?/td> | 202011369759.9 | 申請(qǐng)日: | 2020-11-30 |
| 公開(公告)號(hào): | CN112580068B | 公開(公告)日: | 2023-05-23 |
| 發(fā)明(設(shè)計(jì))人: | 陳明志;翁才杰;謝加良;楊小權(quán);饒慶裕;許春耀;傅明建;周怡 | 申請(qǐng)(專利權(quán))人: | 北卡科技有限公司 |
| 主分類號(hào): | G06F21/60 | 分類號(hào): | G06F21/60;G06F21/62 |
| 代理公司: | 福州君越知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 35299 | 代理人: | 梁錦平 |
| 地址: | 350100 福建省福州市閩侯縣科技東路*** | 國(guó)省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 sqlite 數(shù)據(jù)庫(kù) 安全 增強(qiáng) 方法 | ||
1.一種SQLite數(shù)據(jù)庫(kù)安全增強(qiáng)方法,其特征在于:在SQLite數(shù)據(jù)庫(kù)的加密接口函數(shù)中增加實(shí)現(xiàn)冗余數(shù)據(jù)清除的函數(shù),在將SQLite數(shù)據(jù)庫(kù)文件寫入存儲(chǔ)介質(zhì)時(shí)觸發(fā)加密接口函數(shù),首先對(duì)數(shù)據(jù)庫(kù)的BTree頁(yè)進(jìn)行冗余數(shù)據(jù)清除操作,然后進(jìn)行加密操作;加密接口函數(shù)的具體工作過程是:
步驟A,在首次對(duì)SQLite數(shù)據(jù)庫(kù)文件進(jìn)行寫入操作時(shí),獲取該SQLite數(shù)據(jù)庫(kù)文件的總頁(yè)數(shù)N,加密接口函數(shù)在本地建立一個(gè)可存儲(chǔ)N個(gè)crc32值的文件,并對(duì)這N個(gè)crc32值進(jìn)行初始化賦值;
步驟B,在對(duì)SQLite數(shù)據(jù)庫(kù)文件的某一頁(yè)進(jìn)行操作時(shí),根據(jù)該頁(yè)的頁(yè)類型標(biāo)志判斷該頁(yè)的類型,若為BTree頁(yè),則轉(zhuǎn)步驟C;否則不對(duì)該頁(yè)做任何處理,轉(zhuǎn)到下一頁(yè)重復(fù)步驟B;
步驟C,根據(jù)本地存儲(chǔ)crc32值的文件中當(dāng)前頁(yè)對(duì)應(yīng)的crc32值來判斷是否為首次對(duì)當(dāng)前頁(yè)執(zhí)行冗余數(shù)據(jù)清除操作,若是第一次執(zhí)行冗余數(shù)據(jù)清除操作,則在執(zhí)行完清除操作后,計(jì)算當(dāng)前頁(yè)的crc32值并保存在本地;若非第一次執(zhí)行冗余數(shù)據(jù)清除操作,則先計(jì)算當(dāng)前頁(yè)的crc32值,并與保存在本地的當(dāng)前頁(yè)的crc32值進(jìn)行比較:若兩者相等則跳過本次的數(shù)據(jù)清除操作;若不相等,則在執(zhí)行完數(shù)據(jù)清除操作后重新計(jì)算當(dāng)前頁(yè)的crc32值,并用重新計(jì)算后的crc32值來更新本地存儲(chǔ)的當(dāng)前頁(yè)的crc32值;
步驟D,在SQLite源碼中添加啟動(dòng)加密擴(kuò)展的宏定義,然后利用SM3計(jì)算加解密密鑰,利用ZUC算法實(shí)現(xiàn)SQLite數(shù)據(jù)庫(kù)加密接口函數(shù)中的加密操作和解密接口函數(shù)中的解密操作;
所述步驟C中,冗余數(shù)據(jù)清除操作的具體過程是:首先,根據(jù)SQLite數(shù)據(jù)庫(kù)文件格式和當(dāng)前頁(yè)的頁(yè)頭數(shù)據(jù)解析當(dāng)前頁(yè)的頁(yè)面數(shù)據(jù);接著,將頁(yè)面格式信息和存儲(chǔ)在當(dāng)前頁(yè)面中的單元數(shù)據(jù)之外的其他數(shù)據(jù)標(biāo)記為無效數(shù)據(jù);最后,用0X00或隨機(jī)數(shù)覆蓋清除數(shù)據(jù)庫(kù)中的無效數(shù)據(jù)。
2.如權(quán)利要求1所述的SQLite數(shù)據(jù)庫(kù)安全增強(qiáng)方法,其特征在于:所述步驟B中將所有頁(yè)的第一個(gè)字節(jié)作為該頁(yè)的頁(yè)類型標(biāo)志,若頁(yè)類型標(biāo)志為0X0D、0X05、0X0A、0X02時(shí),則判定當(dāng)前頁(yè)為BTree頁(yè)。
3.如權(quán)利要求1所述的SQLite數(shù)據(jù)庫(kù)安全增強(qiáng)方法,其特征在于:所述步驟B中,對(duì)crc32值賦值為-1;在步驟C中,若從本地文件讀取的當(dāng)前頁(yè)的crc32值為-1,則為首次操作;若crc32值存在且不為-1,則非首次操作。
4.如權(quán)利要求1所述的SQLite數(shù)據(jù)庫(kù)安全增強(qiáng)方法,其特征在于:所述步驟?C中,冗余數(shù)據(jù)清除操作適用于不大于15.9G的SQLite數(shù)據(jù)庫(kù)。
5.如權(quán)利要求1所述的SQLite數(shù)據(jù)庫(kù)安全增強(qiáng)方法,其特征在于:所述步驟D中,加密和解密接口函數(shù)中利用ZUC算法對(duì)當(dāng)前頁(yè)進(jìn)行加解密時(shí),其密鑰為用戶輸入的密鑰與當(dāng)前待處理頁(yè)的頁(yè)號(hào)拼接后得到的結(jié)果經(jīng)過SM3算法計(jì)算得到的雜湊值。
6.如權(quán)利要求1所述的SQLite數(shù)據(jù)庫(kù)安全增強(qiáng)方法,其特征在于:所述步驟D中,不對(duì)數(shù)據(jù)庫(kù)第1頁(yè)中的第17、18字節(jié)進(jìn)行加密。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北卡科技有限公司,未經(jīng)北卡科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011369759.9/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程
- 一種具有SQLite數(shù)據(jù)庫(kù)的機(jī)頂盒
- 一種恢復(fù)移動(dòng)終端已刪除sqlite文件的方法及裝置
- 一種基于SQLite數(shù)據(jù)庫(kù)的主備冗余復(fù)制方法
- 一種清除SQLite數(shù)據(jù)庫(kù)中數(shù)據(jù)的方法
- 離線編輯同步方法
- 數(shù)據(jù)插入方法和裝置
- 一種免費(fèi)地圖影像數(shù)據(jù)的加密方法及裝置
- 一種Sqlite影像瓦片數(shù)據(jù)庫(kù)的自動(dòng)更新方法及裝置
- 一種數(shù)據(jù)查詢方法及裝置
- 一種SQLite數(shù)據(jù)庫(kù)文件安全存取方法及裝置
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)及數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)構(gòu)筑裝置、數(shù)據(jù)庫(kù)檢索裝置、數(shù)據(jù)庫(kù)裝置、數(shù)據(jù)庫(kù)構(gòu)筑方法、以及數(shù)據(jù)庫(kù)檢索方法
- 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)處理方法
- 數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)更新方法、數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)更新程序
- 容器數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)同步方法及數(shù)據(jù)庫(kù)
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)語(yǔ)句執(zhí)行方法及裝置
- 增強(qiáng)片及增強(qiáng)方法
- 圖像增強(qiáng)設(shè)備和圖像增強(qiáng)方法
- 圖像增強(qiáng)裝置、圖像增強(qiáng)方法
- 粉狀增強(qiáng)減水劑及摻有粉狀增強(qiáng)減水劑的增強(qiáng)水泥
- 增強(qiáng)片、增強(qiáng)構(gòu)件、增強(qiáng)套件、增強(qiáng)片的制造方法及增強(qiáng)構(gòu)件的制造方法
- 增強(qiáng)片、增強(qiáng)構(gòu)件、增強(qiáng)套件、增強(qiáng)片的制造方法及增強(qiáng)構(gòu)件的制造方法
- 使用增強(qiáng)模型的增強(qiáng)現(xiàn)實(shí)系統(tǒng)
- 增強(qiáng)片及增強(qiáng)結(jié)構(gòu)體
- 圖像增強(qiáng)方法和圖像增強(qiáng)裝置
- 增強(qiáng)現(xiàn)實(shí)鏡片、增強(qiáng)現(xiàn)實(shí)眼鏡及增強(qiáng)現(xiàn)實(shí)成像方法





