999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SQL Server的數據庫內部加密技術的探討

2009-04-29 00:00:00
電腦知識與技術 2009年15期

摘要:數據庫是企業信息系統運轉的核心,同時數據庫也是黑客攻擊的主要目標,因此,研究一種有效的數據庫加密技術對企業的信息安全十分重要。介紹了SQL Server數據庫的安全問題和常見的數據庫加密技術,提出了一種針對于數據庫列的內部加密技術。實驗結果表明,針對列的內部加密技術不僅能夠取得理想的保密效果,同時也得到了最優化的數據庫運行性能。

關鍵詞:SQL Server;數據庫;加密

中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2009)15-3847-02

SQL Server-based Database of Internal Encryption Technology

LIU Jian

(Information Engineering Department of Hunan Urban Construction College, Xiangtan 411101, China)

Abstract: Enterprise Information System database is the core operation, while the database is the main objective of hacker attacks, and therefore the study of an effective database encryption technology for enterprise information security is very important. Introduced a SQL Server database security issues and a common database encryption technology, a column in the database for internal encryption technology. The experimental results show that listed on the internal encryption technology can not only achieve the desired confidentiality, but will also be the most optimized performance of the database.

Key words: SQL Server; database; encryption

1 引言

企業信息系統的發展將數據的安全問題提到前所未有的高度。一方面,企業本身需要對自己的關鍵數據進行有效的保護另一方面,越來越多的企業開始從應用服務提供商一,處獲得應用支待和服務,在這種情況下,企業的業務數據存放在處,其安全性無法得到有效的保障。因為傳統的數據庫保護方式是通過設定口令字和訪問權限等方法實現的,這就留下了一個很大的安全漏洞一數據庫管理員可以不加限制地訪問數據庫中的所有數據。解決這一問題的關鍵是要對數據本身加密,即使數據不幸泄露或丟失,也難以被人破譯。[1]

數據庫加密系統,其實現的主要功能是對存儲在數據庫中的數據進行不同級的存儲加密。這樣就有效的保護了存儲在數據庫中的重要數據,即使某一用戶非法入侵到系統中或盜得了數據庫文件,沒有解密密鑰,他也不能得到所需數據。所以數據庫的加密處理對保護數據的安全性具有非常重要的意義。

2 SQL Server的常見安全問題

SQL Server 2005已經被眾多信息系統采用,但在安全方面還是存在一些技術或者是管理上的問題。

1)空口令或弱口令:初學者在安裝SQL Server時為了省事,SQL Server管理員sa 用的是空口令或弱口令,這樣危險性十分巨大,而這些危險往往是初學者意識不到的,小王就覺得,自己的庫是試驗數據,沒什么用,即使別人連上庫也無所謂。殊不知SQL Server的默認用戶sa的權限非常巨大,有種觀點是sa的權限要大于administrator的權限,也就是說沒有限制的sa用戶可以做Windows系統管理員所做的任何事。

2)注入和跨庫攻擊:注入和跨庫攻擊可能是這幾年黑客攻擊中最流行的詞了,它的原理和上面講的都是獲得了SQL Server管理員sa的權限,從而控制數據庫,還可以利用xp_cmdshell這樣的SQL Server的擴展存儲過程控制Windows系統。注入和空口令獲取sa權限的方法不同,注入是ASP程序在連接SQL Server時有漏洞,黑客利用漏洞獲取了sa權限。

3)SQL Server不打補丁的漏洞:沒打補丁的SQL Server存在著眾多的漏洞,無論你的權限設置的多么嚴格都能被輕易攻破。

3 數據庫加密技術介紹

3.1 加密層次

數據庫加密大致可以分為兩種方式外部加密和內部加密。數據庫的外部加密,一般選擇在應用程序和操作系統,通過調用加解密函數來完成加密數據的存儲和訪問。外部加密的優點是,不需要修改,只需要在應用程序或者操作系統中增加相應的加解密模塊即可。但是,這種方法也有一些缺點,首先它不能支持各種加密粒度。其次,它僅僅對用戶數據進行加密而不能對元數據索引數據日志等進行加密再者,數據的完整性檢查需要應用程序來完成,因為數據加密后,沒有辦法在DBMS中進行完整性檢查,而需要在應用程序中增加這項功能,實現起來非常麻煩。在操作系統中加密時,加密的粒度是基于文件,對應到數據庫中則是相應的表或者整個數據庫,這種加密粒度非常粗糙,最直接的影響是,加解密的工作相當大,極大地降低系統性能。

在數據庫內部加密一般選擇在數據物理存取之前進行加解密操作也就是說,DBMS在將內存中的數據寫到如磁盤時,進行加密操作,而從磁盤讀取數據到內存中時,進行相應的解密操作。這種方法的優點是,由于DBMS能夠區分各種粒度的數據,所以可以支持各種粒度的加密,加密的靈活性較好。另外,在DBMS內部實現加密,可以更有效地和DBMS內部的訪問控制機制、授權機制等各種功能結合起來。更重要的是,數據庫一個重要特點是被多個應用共享,這種方法的加解密都是在DBMS內部完成,對應用程序是透明的,不需要在多個應用中進行修改,容易保持數據的一致性。缺點是需要修改DBMS的內核,DBMS是一個非常復雜的軟件,對它進行修改是一件非常艱巨任務。

3.2 加密粒度

按照數據庫的結構層次,數據庫的加密粒度可以分為數據庫級、表級、記錄級、字段級和數據項級。根據不同的應用需要,選擇合適的加密粒度。[2]

字段加密的對象是關系中的某個字段,字段級加密是一個很好的選擇,因為在實際生活中,一些重要和敏感的信息往往出現在關系中的某些列,如信用卡號、身份證號、銀行賬號等,只需要對這些重要數據進行加密保護,而沒有必要對普通數據也進行加密。例如,有一個客戶表,它包含客戶、姓名、地址和信用卡號。在這個表中,沒有必要去加密客戶,我們最想加密的字段是信用卡號。在實現字段級加密時,可以采取多種方式,既可以在DBMS外部完成,也可以在DBMS內部完成。

3.3 加密算法

加密算法是數據加密的核心,加密算法本身的好壞直接影響數據庫加密的安全和性能。一個好的加密算法產生的密文應該頻率平衡,隨機無重碼規律,周期很長而又不可能產生重復現象。攻擊者很難通過對密文頻率、重碼等特征的分析獲得成功。通常來說,加密算法有對稱算法和非對稱算法。對稱算法有時又叫傳統密碼算法,就是加密密鑰能夠從解密密鑰推算出來,反過來也成立。在大多數對稱算法中,加密密鑰和解密密鑰是相同的。[3]

在對數據庫存儲數據進行加密時對稱加密算法使用最為廣泛這是因為,與非對稱加密算法相比,對稱加密算法的速度快了幾十甚至幾百倍,對系統的性能影響較小。對稱算法又可分為兩類序列密碼和分組密碼。目前數據庫加密常用的算法有:AES、DES、3DES、RC5等。

4 數據庫加密系統設計

4.1 設計目標

根據實際項目需求和前面章節的的理論研究先提出基于擴展存儲過程的數據庫加密系統”設計目標如下:

1)利用數據庫加密技術,對數據庫中存儲的“敏感”數據實現字段級加密;2)實現對數據的存儲加密和密文檢索等操作;3)保證加解密處理過程中的數據完整性;4)屏蔽密文數據對應用程序的開發影響,開發人員通過加密系統能實現對密文數據的“透明訪問”。

4.2 系統工作模型

數據庫加密系統由SQL解析模塊、數據庫對象、加解密動態鏈接庫和加密系統管理程序組成。系統的工作工程如下:

1)加密系統中的“SQL分析模塊”對提交的SQL語句進行語法分析和擴展,根據DBMS中的“加密字典”對SQL語句進行“解析擴展”;2)加密系統將重組后的SQL語句提交給DBMS,DBMS通過“數據庫對象”調用“加解密動態庫”對數據庫中的密文數據進行解密,并將解密后結果反饋給“數據庫對象”;3)應用程序通過“數據庫對象”獲取解密后的明文數據。

4.3 開發平臺

本系統運行在數據庫服務器上,其開發平臺及工具如下所示:

1)操作系統:Windows Server 2003;2)數據庫:Microsoft SQL Server 2005;3)設計工具:Microsoft Visio 2005;4)開發平臺:JDK 6.0,MyEclipse 6.5。

4.4 關鍵技術及實現

本文實現的加密系統是通過SQL解析模塊與應用程序相接,從而實現了應用程序對DBMS中密文數據的“透明訪問”,所以SQL解析模塊也是整個加密系統設計中的關鍵所在。由于T-SQL語句的語法結構比較復雜,所以SQL語句解析模塊的設計也是整個加密系統中的一個難點問題。通過對語法結構進行裁減語法描述參見后,設計實現了語句解析模塊。模塊由“數據初始化方法”和4個核心方法“SELECT子句解析方法”、“INSERT子句解析方法”、“DELETE子句解析方法”和“UPDATE子句解析方法”所組成。

由于3DES也是基于DES的分組加密算法,其加密時也是按位二進制位對明文進行分組,所以當明文的長度不是8Bytes的整數倍時,就需要對明文進行字節對齊使得明文的長度為8Bytes的整數倍這樣字節對齊后帶的問題是解密后,需要還原在加密前進行了字節對齊操作的明文。

為了解決上述分組加密算法帶來的問題,加密DES模塊在設計中,采用ASCII碼為0x00的字符,對齊不是8Bytes整數倍的明文,當解密還原為二進制的字符串后,由于其解密后的字符串也是用0x00填充,所以無需做特殊處理,直接進行類型轉換即可保證數據在加、解密前后的一致性。

5 總結

分析了目前信息安全領域中,數據庫安全所存在的問題,深入研究了數據庫加密系統的相關理論,以數據庫的內部字段級加密為基礎,設計并實現了數據庫的加密系統。該加密系統在基于B/S系統中的運行情況表明,系統不僅滿足了數據保密性要求,在系統性能方面也得到了很好的保證。

參考文獻:

[1] 王正飛.數據庫加密技術及其應用研究[D].上海:復旦大學,2005.

[2] 王元珍,馮超.數據庫加密系統的研究與實現[J].計算機工程與應用,2005(8):170-172.

[3] 鮑勇.基于擴展存儲過程的數據庫加密系統研究[D].武漢:武漢理工大學,2006.

主站蜘蛛池模板: 亚洲人成亚洲精品| 香蕉国产精品视频| 一区二区三区在线不卡免费| 国产精品13页| 欧美精品H在线播放| 欧美福利在线| 亚洲综合九九| 久久久久亚洲AV成人网站软件| 日韩国产 在线| 亚洲日韩欧美在线观看| 中文字幕亚洲乱码熟女1区2区| 三上悠亚一区二区| 亚洲成人精品| 在线观看av永久| 日本影院一区| 国产99视频精品免费视频7| 综合亚洲网| 午夜一级做a爰片久久毛片| 在线视频精品一区| 国产一级毛片yw| 久久美女精品| 91年精品国产福利线观看久久| 国产区免费精品视频| 亚洲av综合网| 国产精品女主播| 青青热久免费精品视频6| 黄色网址手机国内免费在线观看| 真实国产精品vr专区| 亚洲男女天堂| 精品無碼一區在線觀看 | 国产亚洲高清在线精品99| 国产精品久久久久久久久久久久| 国产精品国产主播在线观看| 中文字幕永久在线看| 国产91精品久久| 中文字幕一区二区视频| 日韩欧美国产中文| 国产特级毛片| 欧美日韩中文国产| 精品福利网| 欧美成人午夜视频| 69av免费视频| 波多野结衣无码中文字幕在线观看一区二区| 青青青国产在线播放| 亚洲无码高清一区二区| 九色在线观看视频| 国产乱子伦手机在线| 自拍偷拍欧美| 最新国产在线| 日韩在线欧美在线| 性做久久久久久久免费看| 丰满少妇αⅴ无码区| 国产成在线观看免费视频| 亚洲欧洲一区二区三区| 日本a级免费| 99视频只有精品| 国产永久免费视频m3u8| 91九色最新地址| 亚洲中文精品人人永久免费| 日本www色视频| 国产精品主播| 国产91小视频| 99精品国产自在现线观看| 91色爱欧美精品www| 99热国产这里只有精品无卡顿"| 亚洲—日韩aV在线| 国产在线麻豆波多野结衣| 久久青草热| 亚洲精品成人福利在线电影| 国产99视频精品免费视频7| 老熟妇喷水一区二区三区| 国产真实乱子伦视频播放| 蜜臀AVWWW国产天堂| 97影院午夜在线观看视频| 成·人免费午夜无码视频在线观看| 成人在线不卡视频| 一本一道波多野结衣一区二区 | 日本a∨在线观看| 亚洲第一视频网| 成人伊人色一区二区三区| 久久99国产乱子伦精品免| 亚洲浓毛av|