<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 講解數(shù)據(jù)庫(kù)加密技術(shù)的功能特性與實(shí)現(xiàn)方法

          講解數(shù)據(jù)庫(kù)加密技術(shù)的功能特性與實(shí)現(xiàn)方法

          作者: 時(shí)間:2017-06-12 來(lái)源:網(wǎng)絡(luò) 收藏
          信息安全的核心就是數(shù)據(jù)庫(kù)的安全,也就是說(shuō)數(shù)據(jù)庫(kù)加密是信息安全的核心問(wèn)題。數(shù)據(jù)庫(kù)數(shù)據(jù)的安全問(wèn)題越來(lái)越受到重視,數(shù)據(jù)庫(kù)加密技術(shù)的應(yīng)用極大的解決了數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全問(wèn)題,但實(shí)現(xiàn)方法各有側(cè)重。

          隨著電子商務(wù)逐漸越來(lái)越多的應(yīng)用,數(shù)據(jù)的安全問(wèn)題越來(lái)越受到重視。一是企業(yè)本身需要對(duì)自己的關(guān)鍵數(shù)據(jù)進(jìn)行有效的保護(hù);二是企業(yè)從應(yīng)用服務(wù)提供商(Application Service Provider,)處獲得應(yīng)用支持和服務(wù),在這種情況下,企業(yè)的業(yè)務(wù)數(shù)據(jù)存放在處,其安全性無(wú)法得到有效的保障。因?yàn)閭鹘y(tǒng)的數(shù)據(jù)庫(kù)保護(hù)方式是通過(guò)設(shè)定口令字和訪問(wèn)權(quán)限等方法實(shí)現(xiàn)的,數(shù)據(jù)庫(kù)管理員可以不加限制地訪問(wèn)和更改數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)。解決這一問(wèn)題的關(guān)鍵是要對(duì)數(shù)據(jù)本身加密,即使數(shù)據(jù)不幸泄露或丟失,也難以被人破譯,關(guān)于這一點(diǎn)現(xiàn)基本數(shù)據(jù)庫(kù)產(chǎn)品都支持對(duì)數(shù)據(jù)庫(kù)中的所有存儲(chǔ)。

          對(duì)數(shù)據(jù)進(jìn)行加密,主要有三種方式:、客戶端(外層)加密、服務(wù)器端(內(nèi)核層)加密??蛻舳思用艿暮锰幨遣粫?huì)加重?cái)?shù)據(jù)庫(kù)服務(wù)器的負(fù)載,并且可實(shí)現(xiàn)網(wǎng)上的傳輸加密,這種加密方式通常利用數(shù)據(jù)庫(kù)外層工具實(shí)現(xiàn)。而服務(wù)器端的加密需要對(duì)數(shù)據(jù)庫(kù)管理系統(tǒng)本身進(jìn)行操作,屬核心層加密,如果沒(méi)有數(shù)據(jù)庫(kù)開(kāi)發(fā)商的配合,其實(shí)現(xiàn)難度相對(duì)較大。此外,對(duì)那些希望通過(guò)獲得服務(wù)的企業(yè)來(lái)說(shuō),只有在客戶端實(shí)現(xiàn)加解密,才能保證其數(shù)據(jù)的安全可靠。

          1. 常用數(shù)據(jù)庫(kù)加密技術(shù)

          信息安全主要指三個(gè)方面。一是數(shù)據(jù)安全,二是系統(tǒng)安全,三是電子商務(wù)的安全。核心是數(shù)據(jù)庫(kù)的安全,將數(shù)據(jù)庫(kù)的就抓住了信息安全的核心問(wèn)題。

          對(duì)數(shù)據(jù)庫(kù)中是為增強(qiáng)普通關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的安全性,提供一個(gè)安全適用的數(shù)據(jù)庫(kù)加密平臺(tái),對(duì)數(shù)據(jù)庫(kù)存儲(chǔ)的內(nèi)容實(shí)施有效保護(hù)。它通過(guò)數(shù)據(jù)庫(kù)存儲(chǔ)加密等安全方法實(shí)現(xiàn)了數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)保密和完整性要求,使得數(shù)據(jù)庫(kù)以密文方式存儲(chǔ)并在密態(tài)方式下工作,確保了數(shù)據(jù)安全。

          1.1 數(shù)據(jù)庫(kù)加密技術(shù)的功能和特性

          經(jīng)過(guò)近幾年的研究,我國(guó)數(shù)據(jù)庫(kù)加密技術(shù)已經(jīng)比較成熟。

          一般而言,一個(gè)行之有效的數(shù)據(jù)庫(kù)加密技術(shù)主要有以下6個(gè)方面的功能和特性。

          (1)身份認(rèn)證:

          用戶除提供用戶名、口令外,還必須按照系統(tǒng)安全要求提供其它相關(guān)安全憑證。如使用終端密鑰。

          (2) 通信加密與完整性保護(hù):

          有關(guān)數(shù)據(jù)庫(kù)的訪問(wèn)在網(wǎng)絡(luò)傳輸中都被加密,通信一次一密的意義在于防重放、防篡改。

          (3) 數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)加密與完整性保護(hù):

          數(shù)據(jù)庫(kù)系統(tǒng)采用數(shù)據(jù)項(xiàng)級(jí)存儲(chǔ)加密,即數(shù)據(jù)庫(kù)中不同的記錄、每條記錄的不同字段都采用不同的密鑰加密,輔以校驗(yàn)措施來(lái)保證數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)的保密性和完整性,防止數(shù)據(jù)的非授權(quán)訪問(wèn)和修改。

          (4) 數(shù)據(jù)庫(kù)加密設(shè)置:

          系統(tǒng)中可以選擇需要加密的數(shù)據(jù)庫(kù)列,以便于用戶選擇那些敏感信息進(jìn)行加密而不是全部數(shù)據(jù)都加密。只對(duì)用戶的敏感數(shù)據(jù)加密可以提高數(shù)據(jù)庫(kù)訪問(wèn)速度。這樣有利于用戶在效率與安全性之間進(jìn)行自主選擇。

          (5)多級(jí)密鑰管理模式:

          主密鑰和主密鑰變量保存在安全區(qū)域,二級(jí)密鑰受主密鑰變量加密保護(hù),數(shù)據(jù)加密的密鑰存儲(chǔ)或傳輸時(shí)利用二級(jí)密鑰加密保護(hù),使用時(shí)受主密鑰保護(hù)。

          (6) 安全備份:

          系統(tǒng)提供數(shù)據(jù)庫(kù)明文備份功能和密鑰備份功能。

          1.2 對(duì)數(shù)據(jù)庫(kù)加密系統(tǒng)基本要求

          (1) 字段加密;

          (2) 密鑰動(dòng)態(tài)管理;

          (3) 合理處理數(shù)據(jù);

          (4) 不影響合法用戶的操作;

          (5) 防止非法拷貝;

          1.3 數(shù)據(jù)加密的算法

          加密算法是一些公式和法則,它規(guī)定了明文和密文之間的變換方法。密鑰是控制加密算法和解密算法的關(guān)鍵信息,它的產(chǎn)生、傳輸、存儲(chǔ)等工作是十分重要的。

          數(shù)據(jù)加密的基本過(guò)程包括對(duì)明文(即可讀信息)進(jìn)行翻譯,譯成密文或密碼的代碼形式。該過(guò)程的逆過(guò)程為解密,即將該編碼信息轉(zhuǎn)化為其原來(lái)的形式的過(guò)程。

          DES算法, DES(Data Encryption Standard)是由IBM公司在1970年以后發(fā)展起來(lái)的,于1976年11月被美國(guó)政府采用,DES隨后被美國(guó)國(guó)家標(biāo)準(zhǔn)局和美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(American National Standard Institute,ANSI)承認(rèn), DES算法把64位的明文輸入塊變?yōu)?4位的密文輸出塊,它所使用的密鑰也是64位,DES算法中只用到64位密鑰中的其中56位。

          三重DES, DES的密碼學(xué)缺點(diǎn)是密鑰長(zhǎng)度相對(duì)比較短,因此,人們又想出了一個(gè)解決其長(zhǎng)度的方法,即采用三重DES,三重DES是DES的一種變形。這種方法使用兩個(gè)獨(dú)立的56位密鑰對(duì)交換的信息(如EDI數(shù)據(jù))進(jìn)行3次加密,從而使其有效密鑰長(zhǎng)度達(dá)到112位或168位, 對(duì)安全性有特殊要求時(shí)則要采用它。

          RSA算法它是第一個(gè)既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法。它易于理解和操作,也很流行。算法的名字就是發(fā)明者的名字:Ron Rivest, AdiShamir 和Leonard Adleman, 但RSA的安全性一直未能得到理論上的證明, RSA的安全性依賴于大數(shù)的因子分解,但并沒(méi)有從理論上證明破譯RSA的難度與大數(shù)分解難度等價(jià)。即RSA的重大缺陷是無(wú)法從理論上把握它的保密性能如何,而且密碼學(xué)界多數(shù)人士?jī)A向于因子分解不是NPC問(wèn)題, RSA算法是第一個(gè)能同時(shí)用于加密和數(shù)字簽名的算法,也易于理解和操作。RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)在已近二十年,經(jīng)歷了各種攻擊的考驗(yàn),逐漸為人們接受,普遍認(rèn)為是目前最優(yōu)秀的公鑰方案之一。

          AES是美國(guó)高級(jí)加密標(biāo)準(zhǔn)算法,將在未來(lái)幾十年里代替DES在各個(gè)領(lǐng)域中得到廣泛應(yīng)用,盡管人們對(duì)AES還有不同的看法,但總體來(lái)說(shuō),AES作為新一代的數(shù)據(jù)加密標(biāo)準(zhǔn)匯聚了強(qiáng)安全性、高性能、高效率、易用和靈活等優(yōu)點(diǎn)。AES設(shè)計(jì)有三個(gè)密鑰長(zhǎng)度:128,192,256位,相對(duì)而言,AES的128密鑰比DES的56密鑰強(qiáng)1021倍。AES算法主要包括三個(gè)方面:輪變化、圈數(shù)和密鑰擴(kuò)展。在理論上,此加密方法需要國(guó)家軍事量級(jí)的破解設(shè)備運(yùn)算10年以上時(shí)間才可能破譯。

          1.4 數(shù)據(jù)庫(kù)數(shù)據(jù)加密的實(shí)現(xiàn)

          使用數(shù)據(jù)庫(kù)安全保密中間件對(duì)數(shù)據(jù)庫(kù)進(jìn)行加密是最簡(jiǎn)便直接的方法。主要是通過(guò)、內(nèi)核層(服務(wù)器端)加密和DBMS外層(客戶端)加密。

          ,在系統(tǒng)中無(wú)法辨認(rèn)數(shù)據(jù)庫(kù)文件中的數(shù)據(jù)關(guān)系,將數(shù)據(jù)先在內(nèi)存中進(jìn)行加密,然后文件系統(tǒng)把每次加密后的內(nèi)存數(shù)據(jù)寫(xiě)入到數(shù)據(jù)庫(kù)文件中去,讀入時(shí)再逆方面進(jìn)行解密就,這種加密方法相對(duì)簡(jiǎn)單,只要妥善管理密鑰就可以了。缺點(diǎn)對(duì)數(shù)據(jù)庫(kù)的讀寫(xiě)都比較麻煩,每次都要進(jìn)行加解密的工作,對(duì)程序的編寫(xiě)和讀寫(xiě)數(shù)據(jù)庫(kù)的速度都會(huì)有影響。

          在DBMS內(nèi)核層實(shí)現(xiàn)加密需要對(duì)數(shù)據(jù)庫(kù)管理系統(tǒng)本身進(jìn)行操作。這種加密是指數(shù)據(jù)在物理存取之前完成加解密工作。這種加密方式的優(yōu)點(diǎn)是加密功能強(qiáng),并且加密功能幾乎不會(huì)影響DBMS的功能,可以實(shí)現(xiàn)加密功能與數(shù)據(jù)庫(kù)管理系統(tǒng)之間的無(wú)縫耦合。其缺點(diǎn)是加密運(yùn)算在服務(wù)器端進(jìn)行,加重了服務(wù)器的負(fù)載,而且DBMS和加密器之間的接口需要DBMS開(kāi)發(fā)商的支持。

          在DBMS外層實(shí)現(xiàn)加密的好處是不會(huì)加重?cái)?shù)據(jù)庫(kù)服務(wù)器的負(fù)載,并且可實(shí)現(xiàn)網(wǎng)上的傳輸,加密比較實(shí)際的做法是將數(shù)據(jù)庫(kù)加密系統(tǒng)做成DBMS的一個(gè)外層工具,根據(jù)加密要求自動(dòng)完成對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的加解密處理。

          采用這種加密方式進(jìn)行加密,加解密運(yùn)算可在客戶端進(jìn)行,它的優(yōu)點(diǎn)是不會(huì)加重?cái)?shù)據(jù)庫(kù)服務(wù)器的負(fù)載并且可以實(shí)現(xiàn)網(wǎng)上傳輸?shù)募用?,缺點(diǎn)是加密功能會(huì)受到一些限制,與數(shù)據(jù)庫(kù)管理系統(tǒng)之間的耦合性稍差。

          數(shù)據(jù)庫(kù)加密系統(tǒng)分成兩個(gè)功能獨(dú)立的主要部件:一個(gè)是加密字典管理程序,另一個(gè)是數(shù)據(jù)庫(kù)加解密引擎。數(shù)據(jù)庫(kù)加密系統(tǒng)將用戶對(duì)數(shù)據(jù)庫(kù)信息具體的加密要求以及基礎(chǔ)信息保存在加密字典中,通過(guò)調(diào)用數(shù)據(jù)加解密引擎實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)表的加密、解密及數(shù)據(jù)轉(zhuǎn)換等功能。數(shù)據(jù)庫(kù)信息的加解密處理是在后臺(tái)完成的,對(duì)數(shù)據(jù)庫(kù)服務(wù)器是透明的。

          按以上方式實(shí)現(xiàn)的數(shù)據(jù)庫(kù)加密系統(tǒng)具有很多優(yōu)點(diǎn):首先,系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的最終用戶是完全透明的,管理員可以根據(jù)需要進(jìn)行明文和密文的轉(zhuǎn)換工作;其次,加密系統(tǒng)完全獨(dú)立于數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),無(wú)須改動(dòng)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)就能實(shí)現(xiàn)數(shù)據(jù)加密功能;第三,加解密處理在客戶端進(jìn)行,不會(huì)影響數(shù)據(jù)庫(kù)服務(wù)器的效率。

          數(shù)據(jù)庫(kù)加解密引擎是數(shù)據(jù)庫(kù)加密系統(tǒng)的核心部件,它位于應(yīng)用程序與數(shù)據(jù)庫(kù)服務(wù)器之間,負(fù)責(zé)在后臺(tái)完成數(shù)據(jù)庫(kù)信息的加解密處理,對(duì)應(yīng)用開(kāi)發(fā)人員和操作人員來(lái)說(shuō)是透明的。數(shù)據(jù)加解密引擎沒(méi)有操作界面,在需要時(shí)由操作系統(tǒng)自動(dòng)加載并駐留在內(nèi)存中,通過(guò)內(nèi)部接口與加密字典管理程序和用戶應(yīng)用程序通訊。數(shù)據(jù)庫(kù)加解密引擎由三大模塊組成:加解密處理模塊、用戶接口模塊和數(shù)據(jù)庫(kù)接口模塊。

          2. 結(jié)束語(yǔ)

          上面的論述還遠(yuǎn)遠(yuǎn)沒(méi)達(dá)到數(shù)據(jù)庫(kù)安全需要,比如現(xiàn)在的數(shù)據(jù)庫(kù)基本都基于網(wǎng)絡(luò)架構(gòu),網(wǎng)際的安全傳輸?shù)?,也是要重點(diǎn)考慮的方面。一個(gè)好的安全系統(tǒng)必須綜合考慮核運(yùn)用這些技術(shù),以保證數(shù)據(jù)的安全,通過(guò)以上論述希望對(duì)大家有所幫助,同時(shí)也和大家一起討論一起學(xué)習(xí),共同進(jìn)步。




          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();