摘 要:近幾年里,互聯(lián)網(wǎng)技術(shù)逐漸深入到各行業(yè)中,為行業(yè)帶來全新發(fā)展機遇的同時,也帶來了一定的風險,其中最為突出的就是數(shù)據(jù)庫安全問題。因此,本文針對數(shù)據(jù)庫加密系統(tǒng)進行分析,在簡單了解的具體的設(shè)計方案后,從實際出發(fā),深入探討加密系統(tǒng)的實現(xiàn),以供參考。
關(guān)鍵詞:數(shù)據(jù)庫;加密系統(tǒng);數(shù)據(jù)安全;隱私保護
引言:當前,數(shù)據(jù)隱私問題困擾著每個行業(yè),傳統(tǒng)的數(shù)據(jù)保護技術(shù)已經(jīng)無法滿足人民的實際需求,必須要得到根本上的改善。數(shù)據(jù)庫在信息系統(tǒng)中占據(jù)著至關(guān)重要的地位,一旦數(shù)據(jù)庫的信息安全無法保證,那么國民的財產(chǎn)安全也會受到非常嚴重的負面影響,可以說,數(shù)據(jù)庫加密技術(shù)是數(shù)據(jù)庫保護的最后屏障,必須得到重視。
一、數(shù)據(jù)加解密模塊
數(shù)據(jù)庫系統(tǒng)安全策略本身是一個很大的范疇,設(shè)計物理控制、操作系統(tǒng)、數(shù)據(jù)管理等部分,傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)并不能完全解決數(shù)據(jù)庫的安全問題,因此需要采用加密的方法來增強數(shù)據(jù)安全。這樣不僅可以規(guī)避數(shù)據(jù)失密的問題,也能夠避免密鑰被非法修改,數(shù)據(jù)完整性得到了根本上的保證。數(shù)據(jù)加密系統(tǒng)對數(shù)據(jù)庫起到的是一個保護作用,是一種數(shù)據(jù)庫外層工具,根據(jù)系統(tǒng)情況可以分為用戶登錄保護、權(quán)限識別保護以及數(shù)據(jù)加密保護三個層次。在數(shù)據(jù)加密技術(shù)中,加解密模塊是最為重要的內(nèi)容,使用三種加密模型對數(shù)據(jù)進行加密和解密,并且實現(xiàn)SQL查詢,可以最大程度提高數(shù)據(jù)安全性。本文使用的是SSDB體系結(jié)構(gòu)對數(shù)據(jù)庫進行加密處理,其中包括三種加密模型,分別為:等值加密、保序加密以及同態(tài)加密。等值加密的安全性最高,可以支持密文進行等值比較,有效避免明文信息暴露問題,在實際應(yīng)用過程中采用兩層加密方式,生成密文。保序加密是一種單層加密法,在不暴露明文的前提下,保留明文原有的順序關(guān)系,可以直接進行順序比較。同態(tài)加密也是一種單層加密法,可以在密文上直接完成一些基本的數(shù)據(jù)庫sum和avg操作。
二、密鑰管理模塊和元數(shù)據(jù)管理模塊
在實際應(yīng)用過程中,根據(jù)數(shù)據(jù)的具體情況,有針對性的選擇加解密模塊,因此密鑰管理工作必須要得到落實,在SSDB體系結(jié)構(gòu)中,密鑰管理方案分為兩種,一種是針對等值加密模型動態(tài)生成的工作密鑰,另一種是針對保序加密以及同態(tài)加密模型生成的列密鑰。在等值加密模型中,密鑰管理會根據(jù)加密目標列的列名和主密鑰生成工作密鑰,并且提供具體的加密算法。對于保序加密以及同態(tài)加密模型,會將對應(yīng)的密鑰存儲在元數(shù)據(jù)表中,避免密鑰被竊取。元數(shù)據(jù)表在存儲前會對密鑰進行進一步加密,可以從元數(shù)據(jù)表中獲取這些密鑰,但無法進行加密和解密。用戶在利用數(shù)據(jù)庫的過程中,需要創(chuàng)建數(shù)據(jù)表,為了保證數(shù)據(jù)安全,更好的隱藏明文屬性信息,要將明文字段類型改變?yōu)槊芪淖侄晤愋蚚1]。此時,就需要利用到元數(shù)據(jù)表,預(yù)先存儲明文屬性信息。此外,保序加密以及同態(tài)加密模型的密鑰也需要存放到元數(shù)據(jù)表中。由此可知,元數(shù)據(jù)表承擔著非常重要的存儲和獲取的功能,具體包括:表名、列名、明文列類型、OPEA密鑰、HEA密鑰。
三、語句重寫和數(shù)據(jù)庫連接模塊
在數(shù)據(jù)庫系統(tǒng)中,想要構(gòu)建一個完善科學的加密系統(tǒng),SQL語句重寫和數(shù)據(jù)庫連接模塊都不能夠忽視。其中SQL語句重寫模塊主要承擔著解析任務(wù),利用這一模塊可以對用戶提交的SQL語句進行解析并且查詢具體類型,同時對語句中含有的明文數(shù)據(jù)進行全面加密,從根本上保證數(shù)據(jù)的安全性,也能夠從相應(yīng)的加密模型中獲取得到具體密文。數(shù)據(jù)庫連接模塊主要負責將加密系統(tǒng)和數(shù)據(jù)庫連接在一起,利用該模塊存儲遠程數(shù)據(jù)庫連接信息,并且利用該模塊改變遠程數(shù)據(jù)庫服務(wù)器,并且啟用新的連接方式。
四、數(shù)據(jù)庫加密系統(tǒng)體系的實際應(yīng)用情況
在完成數(shù)據(jù)庫加密系統(tǒng)體系結(jié)構(gòu)的基本設(shè)計分析后,從實際應(yīng)用入手,驗證該系統(tǒng)的具體應(yīng)用情況和性能。考慮到數(shù)據(jù)庫為MySQL,編程語言采用Java,使用JSQLParser開源項目實現(xiàn)語句SQL語句解析功能。在實際實現(xiàn)過程中,為了更好地完成數(shù)據(jù)存儲工作,使用了BASE64編碼對二進制數(shù)據(jù)進行轉(zhuǎn)換,最終以字符類型存在數(shù)據(jù)庫中。通過增刪改查等操作來測試語句,并且和傳統(tǒng)的數(shù)據(jù)庫加密系統(tǒng)進行對比,根據(jù)實際的實驗結(jié)果表明,經(jīng)過本文設(shè)計的數(shù)據(jù)庫加密系統(tǒng)可以在密文的基礎(chǔ)上直接完成增刪改查功能,具有實用價值,執(zhí)行效率也優(yōu)于傳統(tǒng)數(shù)據(jù)庫,系統(tǒng)有效性較高。從空間開銷的角度上看,采用SSDB系統(tǒng)最多的加密模型為兩層結(jié)構(gòu),存儲空間較小,在小數(shù)據(jù)量的情況下,可以將額外空間開銷控制在一定范圍內(nèi)。這種系統(tǒng)可以在密文上直接執(zhí)行復(fù)雜的SQL語句,包括創(chuàng)建表、插入操作、選擇查詢、更新、刪除等,不僅如此,還能夠支持多種不同的數(shù)據(jù)進行操作,切實提高了保密性和安全性,在一定程度上,讓查詢效率也得到了提高[2]。
綜上所述,數(shù)據(jù)加密技術(shù)是數(shù)據(jù)庫系統(tǒng)發(fā)展過程中必須要解決的問題,傳統(tǒng)保護方式就是將隱私數(shù)據(jù)進行加密后進行存儲,但是這種方式存在一定的缺陷。通過本文分析,設(shè)計形成了數(shù)據(jù)庫加密技術(shù),區(qū)別于傳統(tǒng)的通信加密,這種加密算法不會改變數(shù)據(jù)長度和數(shù)據(jù)量,而且可以快速響應(yīng)用戶,在第一時間完成轉(zhuǎn)換工作。
參考文獻:
[1]何文才,馬鵬斐,劉培鶴,等.基于Android平臺的SQLite數(shù)據(jù)庫加密研究[J].計算機應(yīng)用與軟件,2019,36(10):310-315+333.
[2]張占義.探討基于云計算平臺的數(shù)據(jù)庫加密保護系統(tǒng)[J].電腦知識與技術(shù),2019,15(21):57-58.
作者簡介:
蔡雅慧(1996-),女,籍貫:海南;職稱和學歷:本科;研究方向或?qū)I(yè):計算機科學與技術(shù)專業(yè)。