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