亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        AES算法在數(shù)據(jù)庫(kù)加密中的應(yīng)用*

        2013-10-24 10:17:38
        關(guān)鍵詞:數(shù)據(jù)庫(kù)

        舒 濤

        (四川省民族學(xué)院)

        0 引言

        對(duì)于數(shù)據(jù)庫(kù)系統(tǒng)來(lái)說(shuō),數(shù)據(jù)存儲(chǔ)的安全性是必須解決的問(wèn)題,以防止數(shù)據(jù)的泄露、更改和破壞.當(dāng)前主流的大型數(shù)據(jù)庫(kù)系統(tǒng)如SQL Server、Oracle、DB2、Sybase、MySQL 等數(shù)據(jù)庫(kù)都提供了如身份識(shí)別、存取控制、隔離控制、數(shù)據(jù)庫(kù)審計(jì)等多種基于DBMS(Database Management System,數(shù)據(jù)庫(kù)管理系統(tǒng))的安全措施,但這些安全措施仍然難以有效阻止非法用戶通過(guò)竊取數(shù)據(jù)庫(kù)登錄密碼或利用操作系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)漏洞來(lái)繞過(guò)這些安全措施直接讀取或篡改數(shù)據(jù)庫(kù)中的內(nèi)容.為了防止用戶非法訪問(wèn)數(shù)據(jù)庫(kù)內(nèi)容,必須對(duì)數(shù)據(jù)庫(kù)中存儲(chǔ)的重要數(shù)據(jù)進(jìn)行加密保護(hù).

        對(duì)于數(shù)據(jù)庫(kù)的加密主要有以下幾個(gè)層次[1]:

        (1)在操作系統(tǒng)層加密.由于DBMS是在操作系統(tǒng)之上,操作系統(tǒng)是將數(shù)據(jù)庫(kù)文件作為普通文件進(jìn)行處理的,操作系統(tǒng)無(wú)法識(shí)別數(shù)據(jù)庫(kù)文件的數(shù)據(jù)結(jié)構(gòu),也就無(wú)法合理地利用自身的加密功能對(duì)數(shù)據(jù)庫(kù)庫(kù)文件進(jìn)行加密.因此,目前在操作系統(tǒng)層對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行加密還很難實(shí)現(xiàn).

        (2)在DBMS內(nèi)核中進(jìn)行加密.該方法在對(duì)數(shù)據(jù)庫(kù)文件進(jìn)行物理存取之前來(lái)完成加密工作.這種加密方式的優(yōu)點(diǎn)是功能強(qiáng)并且不會(huì)影響DBMS的功能,可以實(shí)現(xiàn)DBMS和加密功能之間的整合.其缺點(diǎn):一是加密和解密運(yùn)算均在服務(wù)器端進(jìn)行,加重了數(shù)據(jù)庫(kù)服務(wù)器的負(fù)擔(dān),二是由于加密是在DBMS內(nèi)核中實(shí)現(xiàn),必須數(shù)據(jù)庫(kù)廠商提供技術(shù)支持并取得DBMS內(nèi)核的相關(guān)資料,但實(shí)際上要做到這些并不容易.

        (3)在DBMS外層實(shí)現(xiàn)加密.該方法是將在DBMS外層加上一個(gè)數(shù)據(jù)庫(kù)加密系統(tǒng),所有對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)先由這個(gè)系統(tǒng)進(jìn)行處理.該方法的優(yōu)點(diǎn)是不涉及DBMS內(nèi)核,并且在數(shù)據(jù)傳輸時(shí)是以密文進(jìn)行傳輸?shù)?缺點(diǎn)是會(huì)影響數(shù)據(jù)庫(kù)系統(tǒng)的功能和運(yùn)行效率.

        針對(duì)以上在各個(gè)層次對(duì)數(shù)據(jù)庫(kù)進(jìn)行加密的優(yōu)缺點(diǎn),筆者采用不涉及數(shù)據(jù)庫(kù)系統(tǒng)本身,而只對(duì)記錄內(nèi)容進(jìn)行加密的方法.

        1 加密算法的選擇

        在當(dāng)前信息安全領(lǐng)域用于數(shù)據(jù)加密的實(shí)用算法,按加密和解密是否使用同一密鑰或解密密鑰可由加密密鑰計(jì)算得出,可分為至對(duì)稱密鑰算法(Symmetric Algorithm)和非對(duì)稱密鑰算法(Asymmetric Algorithm)或稱公鑰算法(Public-Key Algorithm).

        1.1 對(duì)稱密鑰算法

        對(duì)稱密鑰算法的特點(diǎn)是加密和解密使用同一密鑰或者解密密鑰可由加密密鑰經(jīng)過(guò)計(jì)算得到.對(duì)稱密鑰算法根據(jù)加密方式不同分為序列算法和分組算法兩類.序列算法單獨(dú)加密每個(gè)位,它是通過(guò)將密鑰序列中每個(gè)位與每個(gè)明文位相加實(shí)現(xiàn)的,而分組算法則是每次使用相同的密鑰加密整個(gè)明文位分組來(lái)實(shí)現(xiàn).現(xiàn)在典型的對(duì)稱密鑰算法均是采用分組算法,如IDEA、DES、3DES、AES、RC5、RC6 等.

        1.2 非對(duì)稱密鑰算法

        非對(duì)稱密鑰算法也稱公鑰算法,其特點(diǎn)是用作加密的密鑰與用作解密的密鑰不同,而且解密密鑰也不能通過(guò)加密密鑰計(jì)算得到.在典型的公開密鑰算法RSA中,數(shù)據(jù)即可以用公鑰加密用私鑰進(jìn)行解密,也可以用私鑰加密用公鑰進(jìn)行解密.

        考慮到數(shù)據(jù)庫(kù)中數(shù)據(jù)量較大,數(shù)據(jù)訪問(wèn)也很頻繁,綜合考慮各種加密方法的安全性、加解密效率等多種因素,數(shù)據(jù)庫(kù)內(nèi)容加密宜采用對(duì)稱密鑰算法進(jìn)行加密,在本文中采用AES算法.

        2 AES算法及實(shí)現(xiàn)

        AES[2](Advanced Encryption Standard,高級(jí)加密標(biāo)準(zhǔn))是由美國(guó)國(guó)家標(biāo)準(zhǔn)和技術(shù)研究院(NIST)從1997年1月開始向全世界公開征集的用于代替DES(Data Encryption Standard,數(shù)據(jù)加密標(biāo)準(zhǔn))的數(shù)據(jù)加密標(biāo)準(zhǔn),并在2002年5月正式成為新的數(shù)據(jù)加密標(biāo)準(zhǔn).它選擇了由比利時(shí)科學(xué)家Joan Daemen和Vincent Rijmen提出的Rijndael算法作為加密算法.該算法是一種數(shù)據(jù)塊長(zhǎng)度和密鑰長(zhǎng)度均可進(jìn)行迭代分組的分組加密算法,密鑰長(zhǎng)度和數(shù)據(jù)分組長(zhǎng)度可分別為128、192、256位,而標(biāo)準(zhǔn)的AES密鑰長(zhǎng)度為128位.AES相對(duì)于DES有很強(qiáng)的加密強(qiáng)度,采用128位密鑰的AES是采用56位密鑰的DES的1021倍,且當(dāng)前尚未出現(xiàn)針對(duì)AES的有效破解方法.

        2.1 AES的加解密過(guò)程

        AES的加密流程主要由輪密鑰加(Addroundkey)、字 節(jié) 置 換 (ByteSub)、行 移 動(dòng)(ShiftRow)、列混合(MixColumn)這四個(gè)基本的操作完成,其步驟是:首先將明文映射到一個(gè)4×4字節(jié)的狀態(tài)矩陣(State),并進(jìn)行初始密鑰加運(yùn)算;然后進(jìn)行 Nr次輪運(yùn)算,各輪都將進(jìn)行ByteSub、ShiftRow、MixColumn、Addroundkey 這 4個(gè)基本操作,但在第Nr輪不做MixColumn;最后將State中的明文映射為密文 .解密過(guò)程與加密過(guò)程類似,主要區(qū)別有:使用密鑰序列的順序不同、置換盒不同、行移動(dòng)方向不同、列混合系數(shù)不同,以及每輪變換中函數(shù)的使用順序不同.加密與解密流程如圖1所示.

        2.2 AES算法的基本操作

        AES算法主要由輪密鑰加(Addroundkey)、字節(jié)置換(ByteSub)、行移動(dòng)(ShiftRow)、列混合(MixColumn)四個(gè)基本的操作組成.

        (1)字節(jié)置換(ByteSub).字節(jié)置換是一種非線形變換,該置換包含一個(gè)作用在狀態(tài)字節(jié)上的S-盒.S-盒置換是一個(gè)雙向映射,即256個(gè)可能的輸入元素都與一個(gè)輸出元素一一對(duì)應(yīng).這個(gè)屬性允許我們唯一地逆轉(zhuǎn)S-盒,這也是解密操作所需要的.在軟件實(shí)現(xiàn)中,S-盒通常使用一個(gè)擁有固定項(xiàng)的、256位乘8位的查找表來(lái)實(shí)現(xiàn).

        (2)行移動(dòng)(ShiftRow).行移變換循環(huán)往復(fù)地將狀態(tài)矩陣的每一行的字節(jié)按如下方式循環(huán)移動(dòng):第二行向右移動(dòng)三個(gè)字節(jié),將第三行向右移動(dòng)兩個(gè)字節(jié),將第四行向右移動(dòng)一個(gè)字節(jié).在行移變換中,狀態(tài)矩陣的第一行保持不變.行移動(dòng)和列混合相互影響,經(jīng)過(guò)多輪變換后密碼信息將非常的混亂,增加了AES的擴(kuò)散性.

        (3)列混合(MixColumn).該操作是一個(gè)線性變換,它混淆了狀態(tài)矩陣的第一列.由于每個(gè)輸入字節(jié)都影響了四個(gè)輸出字節(jié),列混合操作是AES中的主要擴(kuò)散元素,它與行移動(dòng)操作組合使得三輪以后,狀態(tài)矩陣的每個(gè)字節(jié)都依賴于所有16個(gè)明文字節(jié)成為可能.

        (4)輪密鑰加(Addroundkey).該操作是通過(guò)輸入16字節(jié)的當(dāng)前狀態(tài)矩陣和長(zhǎng)度為128位的子密鑰,生成一個(gè)密鑰調(diào)度表.通過(guò)密鑰調(diào)度表中的前4行對(duì)狀態(tài)矩陣進(jìn)行按字節(jié)的XOR(異或)操作.

        2.3 加解密實(shí)現(xiàn)算法

        根據(jù)上述的加解密流程,下面采用偽Object Pascal語(yǔ)言對(duì)算法進(jìn)行描述.

        3 加密后對(duì)數(shù)據(jù)訪問(wèn)的影響

        數(shù)據(jù)庫(kù)管理系統(tǒng)要完成對(duì)數(shù)據(jù)庫(kù)文件的管理和使用,必須要能夠正確識(shí)別部分?jǐn)?shù)據(jù),因此,在對(duì)數(shù)據(jù)庫(kù)加密內(nèi)容進(jìn)行加密時(shí),不能對(duì)所有數(shù)據(jù)進(jìn)行加密.不能進(jìn)行加密的字段主要是以下三類:(1)索引字段;(2)表與表之間用于進(jìn)行關(guān)聯(lián)的字段;(3)具有主鍵約束和外鍵約束的字段.

        數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行加密以后,數(shù)據(jù)庫(kù)管理系統(tǒng)的一些功能會(huì)受到限制甚至根本無(wú)法使用.受影響的功能主要有:(1)不能實(shí)現(xiàn)數(shù)據(jù)約束.(2)Select語(yǔ)句中的排序、統(tǒng)計(jì)類語(yǔ)句將不起作用.(3)數(shù)據(jù)庫(kù)管理系統(tǒng)中提供的系統(tǒng)函數(shù)無(wú)法對(duì)數(shù)據(jù)進(jìn)行加密處理.(4)一些數(shù)據(jù)庫(kù)管理工具中的開發(fā)功能將受到限制.

        為了盡量減小數(shù)據(jù)加密后對(duì)數(shù)據(jù)管理的影響,針對(duì)上述受影響的功能,可采用一些措施進(jìn)行處理:

        (1)解決不能實(shí)現(xiàn)數(shù)據(jù)約束的方法.增加一張數(shù)據(jù)表將已加密的字段的數(shù)據(jù)類型存放在該表中,再將這些已經(jīng)加密字段的類型都改成變長(zhǎng)的字符類型,在給查詢時(shí)再進(jìn)行恢復(fù).

        (2)解決SQL語(yǔ)句、系統(tǒng)函數(shù)、開發(fā)功能受限的方法.在數(shù)據(jù)操作前先建立一張局部臨時(shí)表,然后將加密后的數(shù)據(jù)進(jìn)行解密后存儲(chǔ)到該臨時(shí)表中.以后對(duì)數(shù)據(jù)的操作都在這張臨時(shí)表中進(jìn)行,操作完成后應(yīng)將臨時(shí)表及時(shí)刪除,以免造成數(shù)據(jù)泄密.

        4 結(jié)束語(yǔ)

        數(shù)據(jù)庫(kù)安全、操作系統(tǒng)安全、網(wǎng)絡(luò)安全共同組成了當(dāng)今信息安全的核心.數(shù)據(jù)庫(kù)內(nèi)容加密能夠有效地保證數(shù)據(jù)的安全,即使非法用戶竊取了數(shù)據(jù),也難以得到所需的信息.另外,數(shù)據(jù)庫(kù)內(nèi)容加密后數(shù)據(jù)庫(kù)管理員也無(wú)法看到明文,從而大大提高了數(shù)據(jù)的安全性.本文在分析數(shù)據(jù)庫(kù)加密的層次、加密算法的基礎(chǔ)上提出了采用AES對(duì)數(shù)據(jù)庫(kù)內(nèi)容進(jìn)行加密的方法來(lái)提高數(shù)據(jù)庫(kù)的安全,并對(duì)數(shù)據(jù)庫(kù)內(nèi)容加密后對(duì)數(shù)據(jù)庫(kù)管理的影響進(jìn)行了分析并給出了解決方法.

        [1] 趙曉峰.幾種數(shù)據(jù)庫(kù)加密方法的研究與比較[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007(2):219-222.

        [2] Christof Paar,Jan Pelzl.深入淺出密碼學(xué):常用加密技術(shù)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2012.

        [3] 魏嘉銀.多功能AES加密與解密軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2011(6):93-97.

        [4] 陳鐵英,陳華,劉瑜.基于三層次的數(shù)據(jù)庫(kù)加密應(yīng)用系統(tǒng)[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2005(7):41-43,46.

        [5] 弟宇鳴,陳榮樺,左廣霞.基于AES算法的加密模塊設(shè)計(jì)[J]. 電子設(shè)計(jì)工程,2013(2):53-55.

        猜你喜歡
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        兩種新的非確定數(shù)據(jù)庫(kù)上的Top-K查詢
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        亚洲依依成人综合在线网址| 久久国产劲爆∧v内射| 夫妇交换性三中文字幕| 久久免费看少妇高潮v片特黄| 欧洲国产成人精品91铁牛tv| 国产我不卡在线观看免费| 国产成人无码av一区二区在线观看| 亚洲第一av导航av尤物| 视频一区精品自拍| 亚洲一区二区av免费观看| 久久不见久久见www日本网| 国产精品老熟女露脸视频| 国产午夜精品福利久久| 中文片内射在线视频播放| 久久99精品久久久久婷婷| 国产精品久久久久久无码| 亚洲一区二区三区在线观看播放| 韩国黄色三级一区二区| 老师开裆丝袜喷水视频| 依依成人精品视频在线观看| www.亚洲天堂.com| 国产中文字幕亚洲精品| 国产成人无码18禁午夜福利p| 亚洲人成网站77777在线观看| 国产一区二区亚洲av| 青青草免费在线爽视频| 国产午夜福利不卡在线观看| 国产欧美日韩午夜在线观看| 亚洲综合色视频在线免费观看| 日本强伦姧人妻一区二区| 影音先锋每日av色资源站| 日本不卡在线一区二区三区视频| 成熟的女人毛茸茸色视频| 东北少妇不带套对白| 专区国产精品第一页| 一本之道加勒比在线观看| 国产自国产自愉自愉免费24区| 国产zzjjzzjj视频全免费| 无码av专区丝袜专区| 亚洲成人av在线蜜桃| 中文日韩亚洲欧美制服|