[發明專利]一種SQLite數據庫安全增強方法有效
| 申請號: | 202011369759.9 | 申請日: | 2020-11-30 |
| 公開(公告)號: | CN112580068B | 公開(公告)日: | 2023-05-23 |
| 發明(設計)人: | 陳明志;翁才杰;謝加良;楊小權;饒慶裕;許春耀;傅明建;周怡 | 申請(專利權)人: | 北卡科技有限公司 |
| 主分類號: | G06F21/60 | 分類號: | G06F21/60;G06F21/62 |
| 代理公司: | 福州君越知識產權代理事務所(普通合伙) 35299 | 代理人: | 梁錦平 |
| 地址: | 350100 福建省福州市閩侯縣科技東路*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 sqlite 數據庫 安全 增強 方法 | ||
本發明公開一種SQLite數據庫安全增強方法,在將SQLite數據庫文件寫入存儲介質時觸發,具體包括以下步驟:在加密接口的加密函數中增加對BTree頁的冗余數據清除功能,在對當前頁加密前,先對其執行冗余數據清除操作;利用ZUC和SM3算法實現SQLite數據庫的加解密接口函數中的加解密操作。此種方法可在數據庫文件被存儲到存儲介質前對其進行加密,而在加密前先對BTree頁執行冗余數據清除操作,能夠有效增強數據庫的安全性,從而防止用戶隱私數據被竊取。
技術領域
本發明屬于數據安全技術領域,特別涉及一種SQLite數據庫安全增強方法。
背景技術
SQLite數據庫在系統中是以文件的形式存儲,在實際應用中,大量的SQLite數據庫文件被存儲在閃存中。一方面,閃存只能進行擦除、寫和讀操作,不支持數據的本地更新;另一方面,SQLite提供的API在刪除數據時,只刪除記錄在數據庫文件中的記錄,并沒有徹底清除數據庫文件中的記錄數據。因此,隨著對SQLite數據庫進行增、刪、改、查操作,數據庫文件會在閃存里留下大量的歷史痕跡。而這些痕跡給不法分子提供了通過閃存來恢復數據庫文件,并進一步竊取用戶隱私的可能。
發明內容
本發明的目的,在于提供一種SQLite數據庫安全增強方法,其可在數據庫文件被存儲到存儲介質前對其進行加密,而在加密前先對BTree頁執行冗余數據清除操作,能夠有效增強數據庫的安全性,從而防止用戶隱私數據被竊取。
為了達成上述目的,本發明的解決方案是:
一種SQLite數據庫安全增強方法,在SQLite數據庫的加密接口函數中增加實現冗余數據清除的函數,在將SQLite數據庫文件寫入存儲介質時觸發加密接口函數,首先對數據庫的BTree頁進行冗余數據清除操作,然后進行加密操作;加密接口函數的具體工作過程是:
步驟A,在首次對SQLite數據庫文件進行寫入操作時,獲取該SQLite數據庫文件的總頁數N,加密接口函數在本地建立一個可存儲N個crc32值的文件,并對這N個crc32值進行初始化賦值;
步驟B,在對SQLite數據庫文件的某一頁進行操作時,根據該頁的頁類型標志判斷該頁的類型,若為BTree頁,則轉步驟C;否則不對該頁做任何處理,轉到下一頁重復步驟B;
步驟C,根據本地存儲crc32值的文件中當前頁對應的crc32值來判斷是否為首次對當前頁執行冗余數據清除操作,若是第一次執行冗余數據清除操作,則在執行完清除操作后,計算當前頁的crc32值并保存在本地;若非第一次執行冗余數據清除操作,則先計算當前頁的crc32值,并與保存在本地的當前頁的crc32值進行比較:若兩者相等則跳過本次的數據清除操作;若不相等,則在執行完數據清除操作后重新計算當前頁的crc32值,并用重新計算后的crc32值來更新本地存儲的當前頁的crc32值;
步驟D,在SQLite源碼中添加啟動加密擴展的宏定義,然后利用SM3計算加解密密鑰,利用ZUC算法實現SQLite數據庫加密接口函數中的加密操作和解密接口函數中的解密操作。
上述步驟B中將所有頁的第一個字節作為該頁的頁類型標志,若頁類型標志為0X0D、0X05、0X0A、0X02時,則判定當前頁為BTree頁。
上述步驟C中,冗余數據清除操作的具體過程是:首先,根據SQLite數據庫文件格式和當前頁的頁頭數據解析當前頁的頁面數據;接著,將頁面格式信息和存儲在當前頁面中的單元數據之外的其他數據標記為無效數據;最后,用0X00或隨機數覆蓋清除數據庫中的無效數據。
上述步驟B中,對crc32值賦值為-1;在步驟C中,若從本地文件讀取的當前頁的crc32值為-1,則為首次操作;若crc32值存在且不為-1,則非首次操作。
上述步驟C中,冗余數據清除操作適用于不大于15.9G的SQLite數據庫。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北卡科技有限公司,未經北卡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011369759.9/2.html,轉載請聲明來源鉆瓜專利網。





