• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      軍事物流數(shù)據(jù)庫加密與AES算法的探究

      2016-11-01 01:12:14王鳳忠呂亞飛鄒饒邦彥
      物流技術 2016年9期
      關鍵詞:加解密加密算法密文

      王鳳忠,呂亞飛,鄒饒邦彥

      (1.軍事交通學院 軍用車輛系,天津 300161;2.軍事交通學院 研究生管理大隊,天津 300161)

      軍事物流數(shù)據(jù)庫加密與AES算法的探究

      王鳳忠1,呂亞飛2,鄒饒邦彥2

      (1.軍事交通學院 軍用車輛系,天津 300161;2.軍事交通學院 研究生管理大隊,天津 300161)

      針對目前軍事物流信息系統(tǒng)中數(shù)據(jù)庫安全面臨的嚴峻形勢,分析數(shù)據(jù)庫加密技術方法和AES算法的加解密過程及輪密鑰生成過程,采用Java語言在my eclipse中實現(xiàn)AES算法的編程及測試,通過實例驗證了算法的有效性。

      軍事物流;數(shù)據(jù)庫安全;AES算法;輪密鑰

      1 引言

      軍事物流主要完成軍用物資的后勤保障任務,主要包括武器、裝備、彈藥、器材、軍需被服與軍用食品等。軍事物流信息涉及部隊生活、訓練、執(zhí)勤及作戰(zhàn)情況,對于敵我雙方都是十分敏感的信息。在軍事物流信息系統(tǒng)中,軍事物流的主要信息如物資信息、實力信息、運輸信息、倉儲信息和計劃信息等,均以數(shù)據(jù)庫為基礎進行存取,數(shù)據(jù)庫的安全作為軍事物流信息系統(tǒng)安全的三大基石之一,與操作系統(tǒng)安全、通信安全同樣重要。目前我國所使用的操作系統(tǒng)、防火墻硬件以及數(shù)據(jù)庫產(chǎn)品大多依賴國外產(chǎn)品的進口,這些產(chǎn)品是否留有后門,是否安全,難以確定。因此,采取加密技術是我們自主、主動保護信息安全的重要而有效的方法。

      根據(jù)美國國防部頒發(fā)的《可信計算機系統(tǒng)評估標準關于可信數(shù)據(jù)庫系統(tǒng)的解釋》,可將數(shù)據(jù)庫管理系統(tǒng)的安全等級分為4類7個等級,由低到高依次是:D級、C1級、C2級、B1級、B2級、B3級和A1級。D級產(chǎn)品是沒有任何安全保護的產(chǎn)品,只能用于沒有安全威脅的環(huán)境中;C級產(chǎn)品只具有初步安全功能;B級以上的標準被認為是產(chǎn)品真正安全的開始,具有安全保護、結構化保護等功能。由于美國對高安全級別的產(chǎn)品出口有嚴格的限制,出口至我國的數(shù)據(jù)庫產(chǎn)品安全級別只能達到C級。目前我軍大部分軍事物流信息系統(tǒng)中所采用的數(shù)據(jù)庫,都是SQL Server、Oracle等C級的國外產(chǎn)品,有關乎戰(zhàn)斗力的敏感數(shù)據(jù)仍在防范較弱的國外數(shù)據(jù)庫系統(tǒng)中運行,其安全性

      令人堪憂。而要將應用系統(tǒng)遷移至國產(chǎn)數(shù)據(jù)庫還需大量的投入和一定時段。因此,對現(xiàn)行數(shù)據(jù)庫中的涉密信息采取加密措施進行有效保護,是當前軍事物流信息安全的最后一道防線,也是迫在眉睫的事情。

      2 數(shù)據(jù)庫加密技術方法

      數(shù)據(jù)加密技術一般是通過數(shù)學變換的方式加密數(shù)據(jù),使攻擊者無法從密文中讀取重要信息,而密文的接收方能通過密鑰將密文還原成明文,其一般流程如圖1所示。

      圖1 數(shù)據(jù)加密的一般流程

      2.1 數(shù)據(jù)庫加密層次

      數(shù)據(jù)庫加密技術可以在數(shù)據(jù)庫管理系統(tǒng)的內(nèi)核層、外核層以及操作系統(tǒng)層進行。在操作系統(tǒng)層進行數(shù)據(jù)加密就是將存儲于操作系統(tǒng)的關系文件進行整體加密。由于其加密粒度是文件級的,數(shù)據(jù)庫管理系統(tǒng)無法辨認數(shù)據(jù)庫文件中各數(shù)據(jù)之間的關系,對加密關系進行操作時,要先解密文件,降低了系統(tǒng)的工作效率。

      在內(nèi)核層進行加密是指在數(shù)據(jù)存取時對數(shù)據(jù)進行加解密處理,其過程如圖2所示。其優(yōu)點是可以不影響數(shù)據(jù)庫管理系統(tǒng)的正常功能并且支持各種加密粒度,但加密的實行需要數(shù)據(jù)庫管理系統(tǒng)開發(fā)商提供數(shù)據(jù)接口,修改內(nèi)核,實現(xiàn)較為復雜;且加解密運算在服務器端進行,易增加數(shù)據(jù)庫服務器的負載。

      圖2 系統(tǒng)內(nèi)核層加密

      在外層進行加密是在用戶客戶端和數(shù)據(jù)庫管理系統(tǒng)之間增加一個加解密層,在敏感數(shù)據(jù)存入數(shù)據(jù)庫之前進行相應的加密處理,其過程如圖3所示。加解密操作既可以放在服務器上進行也可以放在客戶端進行,對數(shù)據(jù)庫管理系統(tǒng)沒有太多要求。這種加密方式被當前大多數(shù)數(shù)據(jù)庫所采取。

      圖3 外層加密

      2.2 加密算法

      密碼系統(tǒng)的兩個基本要素包括加密算法和密鑰管理,加密算法作為數(shù)據(jù)加密的核心,其規(guī)定了明文、密文之間的轉(zhuǎn)換方法。數(shù)據(jù)加密算法可以按密文發(fā)送方和密文接收方的密鑰是否相同分為兩類:對稱密碼算法和非對稱密碼算法。

      非對稱密碼算法的密鑰可分為加密密鑰和解密密鑰,加密密鑰作為公開密鑰對外公布,解密密鑰作為私有密鑰加以保存。其加解密過程為:擁有私鑰的信息接收方生成一對密鑰,將其中的加密密鑰對外公開;信息發(fā)送方利用公開密鑰對信息進行加密,然后傳送給信息接收方;信息接收方則利用保密的解密密鑰對加密信息進行解密。常用的非對稱密碼算法有RSA算法和MD5算法。

      對稱密碼算法是信息發(fā)送方和接收方共用一個密鑰和一個算法去加解密信息,其中,必須保證密鑰的安全保密。其加解密的速度快、密鑰短、破譯困難、安全有效,是廣泛采用的加密算法。對稱密碼算法可分為流加密和分組加密兩種。本文所采用的AES算法就是取代DES算法的新一代的高級加密算法。

      3 AES加密算法

      DES算法開創(chuàng)了公開密碼的先河,由于其密鑰長度只有56位,人們只用了20年時間就用窮舉法將DES算法的全部密鑰破解。由此,更安全性的算法AES應運而生。AES算法的分組長度為128位,密鑰長度可為128位、192位、256位,對應的循環(huán)輪次為10輪、12輪、14輪。AES算法迄今為止還未被破解過,據(jù)估算,按照摩爾定律依然有效,窮舉法依然為最有效的破解密鑰的方法,128位密鑰的AES算法一直到21世紀70年代左右依然安全。

      AES算法的數(shù)學理論主要是GF(28)域,其以字節(jié)定義,每個字節(jié)是8位二進制的比特數(shù),與GF(28)域中每個元素相對應。

      3.1 加密過程

      AES算法的加密是以狀態(tài)為單位的,狀態(tài)的生成是將明文每128位為一組,共16個字節(jié),按次序生成一個4×4矩陣。AES算法的加密過程由狀態(tài)矩陣開始,共

      十輪加密操作,前九輪的加密各包含四步,分別是:字節(jié)代換、行移位變換、列混合變換和輪密鑰相加變換;第十輪加密只包括三步操作,不包括列混合。

      3.1.1 字節(jié)代換。字節(jié)代換也稱S-盒變換,是一種非線性變換,其變換過程分為兩步。

      其中,La為仿射矩陣,v為16進制數(shù)‘63’。

      在實際的操作過程中,為了簡化操作,本文將字節(jié)代換轉(zhuǎn)化為查表操作,預先構建一個16×16字節(jié)的矩陣,又叫S-盒,其生成過程和以上字節(jié)代換過程相同,具體形式見表1。將狀態(tài)矩陣中,每一字節(jié)的高四位作為x值,低四位作為y值,對應查找S-盒中的元素,完成代換。

      表1 S-盒

      3.1.2 行移位變換。行移位變換是AES算法里的一種基本線性變換,其作用是使密文進行充分的混亂,以提高密文的復雜程度。行移位變換是在字節(jié)變換的基礎上,在所得狀態(tài)矩陣的每一行進行變換,將每一行的字節(jié)進行循環(huán)向左移位。具體為,第一行字節(jié)不變,第二行向左移動一位,第三行移動兩位,第四行移動三位,這樣就將原來每一列的字節(jié)分到了四列上去。具體移位操作如圖4所示。

      圖4 行移位變換示意圖

      3.1.3 列混合變換。列混合變換是對狀態(tài)矩陣進行矩陣乘法變換。狀態(tài)矩陣的一列為四個字節(jié),在GF(28)中,可以用四項多項式表示該字。

      相對應的系數(shù)即為相應的矩陣元素,將每一列所代表的多項式與一個固定的矩陣相乘,并將結果對x4+1取模運算,見下式:

      圖5 列混合變換示意圖

      3.1.4 輪密鑰相加變換。輪密鑰相加變換是將狀態(tài)矩陣與輪密鑰進行加法運算,即異或運算。每一輪的輪密鑰是由初始密鑰經(jīng)過密鑰擴展算法經(jīng)過十輪擴展得到的,且加解密過程使用相同的輪密鑰。輪密鑰有128位,相當于16個字節(jié),與狀態(tài)矩陣相對應。輪密鑰相加過程如圖6所示。

      3.2 解密過程

      AES算法是對稱算法,其加密和解密過程的操作基本相同,解密過程也分為四步:逆向行移位變換、逆向字

      節(jié)代換、輪密鑰相加和逆向列混合變換。由于每一步操作基本相同,在這里就不重新一一贅述,只將加密和解密過程的異同加以總結。

      圖6 輪密鑰相加過程

      首先,加解密過程所使用的輪密鑰都是相同的,只是使用順序是相反的;加解密過程每輪的四步操作是互為逆運算的過程,輪密鑰相加的逆過程就是其本身;加解密過程每輪的操作順序不相同,加密過程的順序為字節(jié)代換、行移位變換、列混合變換和輪密鑰相加變換,而解密過程為逆向行移位變換、逆向字節(jié)代換、輪密鑰相加、逆向列混合變換。加解密操作流程圖如圖7所示。

      圖7 加解密操作流程圖

      3.3 輪密鑰擴展算法

      在加密過程中的輪密鑰相加中提到,每一輪加密都需要一個輪密鑰,這些輪密鑰就是由初始密鑰通過輪密鑰擴展算法得來的。初始密鑰有16個字節(jié),通過擴展算法,輸出176個字節(jié)的一維線性數(shù)組,為每一輪的加密提供16個字節(jié)的輪密鑰。首先,將初始密鑰按照處理初始明文一樣分為四列,分別記為w[0]、w[1]、w[2]、w[3]。在此基礎上,確定以后每一輪的w[i]。

      若i能被4整除,則:

      若i不能被4整除,則:

      其中,T函數(shù)為一個更復雜的變換函數(shù),其包括行移位變換、字節(jié)代換和Rcon運算。行移位和字節(jié)代換與加密過程中的操作一致,而Rcon為一個輪常量,將該輪常量與經(jīng)過行移位和字節(jié)代換的結果進行異或運算。Rcon也是由四個字節(jié)組成,其后三個字節(jié)都為0,形式如下:

      其中Rc[i]每一輪的值(16進制),見表2。

      表2 Rc[i]的值

      4 AES加密算法實例驗證

      基于上述AES算法加解密原理,可以在不同操作環(huán)境下,使用不同編程工具對應用系統(tǒng)中的敏感數(shù)據(jù)進行加解密運算。

      4.1 算法編程

      采用Java工具在my eclipse中實現(xiàn)算法的編程。在Java中的包aessuanfa中創(chuàng)建了四個類,分別為aes1、aes2、aes3和test,其中aes1、aes2、aes3為算法程序,test為測試程序,如圖8所示。

      圖8 算法的類

      其中的加密算法的部分程序如下:

      public void Cipher(byte[]input,byte[]output)

      this.State=new byte[4][Nb];

      for(int i=0;i<(4*Nb);i++)

      this.State[i/Nb][i%Nb]=input[i];

      }//初始化狀態(tài)矩陣

      AddRoundKey(0);//輪密鑰加

      for(int round=1;round<Nr;++round)

      SubBytes();//S盒變換

      ShiftRows();//行移位

      MixColumns();//列混合

      AddRoundKey(round);

      SubBytes();//S盒置換

      ShiftRows();//行移位

      AddRoundKey(Nr);//輪密鑰加

      for(int i=0;i<(4*Nb);i++)

      output[i]=this.State[i/Nb][i%Nb];

      //System.out.println(i%Nb);

      }//輸出密文

      4.2 算法實例

      下面用一個數(shù)據(jù)庫用戶的登錄數(shù)據(jù)驗證上面算法的可行性。設置登錄的明文為“登錄用戶:平津埠車材庫 登錄密碼:tbbgyz”,經(jīng)過AES加密算法運算,對用戶名和登錄密碼加密后得到的密文為“e9bd1aa3b5fc7a10ee4d42ac286e3b9bc408893c935ddbd3 97cc749f9ac5c7c49bf7147f3c5d7610963dfb0baebb108b4b d975b9”;將此密文與儲存于數(shù)據(jù)庫登錄表中的登錄用戶和登錄密碼密文相對比,若一致則登錄成功。

      同時驗證解密算法,將密文數(shù)據(jù)用上面算法解密,得到的結果為“登錄用戶:平津埠車材庫 登錄密碼:tbbgyz”,與原來明文結果一致,證實了算法的有效性,其運行結果如圖9所示。

      圖9 實例運行結果

      5 AES加密算法的應用

      AES算法作為取代DES算法的新一代加密算法,在無線通信加密和數(shù)據(jù)存儲加密方面都有良好的應用前景。目前,在通訊、網(wǎng)絡和芯片等領域,涉及數(shù)據(jù)安全傳輸和安全存取等問題的重大突破,都有AES加密算法的貢獻,在路由器、存儲器、閃存盤等生活數(shù)字產(chǎn)品中也有AES加密算法的身影,而將AES加密算法應用于各種數(shù)據(jù)庫產(chǎn)品也成了各大數(shù)據(jù)庫公司的重要任務。

      ORACLE公司自Oracle8i第一次通過內(nèi)置的工具包允許用戶對數(shù)據(jù)實現(xiàn)字段級加密,其加密包中應用的是DES、3DES算法,而到了Oracle9i就支持使用AES算法的加密,但限于美國對安全產(chǎn)品出口的嚴格管理,其只支持56位長度的密鑰,如今Oracle已經(jīng)可以支持256位密鑰的AES加密。同Oracle一樣的還有SYBASE公司,在其產(chǎn)品Adaptive Server Anywhere 8.0中,引入了數(shù)據(jù)庫加密的功能,其支持數(shù)據(jù)庫級的加密,使用的算法是AES和MDSR,其中,AES算法為默認的加密算法,長度為128位。

      6 結語

      數(shù)據(jù)庫作為信息安全的最后一道防線,對敏感數(shù)據(jù)保護是加強信息系統(tǒng)安全的重要舉措。AES算法的運用是自主保護涉密信息的重要有效的手段。軍事物流數(shù)據(jù)庫因其內(nèi)存數(shù)據(jù)高度涉密,在操作系統(tǒng)和網(wǎng)絡防護可能存在不完備的情況下,急需相應靈活的加密保護措施,而AES算法具備良好的可行性,為下一步軍事物流數(shù)據(jù)庫的加密提供了一個很好的途徑。

      [1]陳越,寇紅召,費曉飛.數(shù)據(jù)庫安全[M].北京:國防科技大學出版社,2011.

      [2]胡志奇.數(shù)據(jù)庫安全與加密技術[J].計算機與現(xiàn)代化,2003,(11):70-74.

      [3]張煥國.演化密碼引論[M].武漢:武漢大學出版社,2010.

      [4]王小偉.AES加密算法的研究與IP核設計實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學,2012.

      [5]苗杰.基于AES算法的數(shù)據(jù)庫二級密鑰系統(tǒng)的設計與實現(xiàn)[D].鎮(zhèn)江:江蘇科技大學,2013.

      [6]董翔英,張大鵬.器材倉庫信息管理加密系統(tǒng)的研究[J].倉儲管理與技術,2008,(3):20-22.

      [7]孫愛娟.基于AES加密算法的改進及其Matlab實現(xiàn)[D].哈爾濱:哈爾濱理工大學,2009.

      [8]谷大武,徐勝波,高級加密標準(AES)算法—Rijindael的設計[M].北京:清華大學出版社,2003.

      Exploration of Military Logistics Database Encryption and AES Algorithm

      Wang Fengzhong1,Lv Yafei2,Zou Raobangyan2
      (1. Department of Military Vehicle, Military Transportation Academy, Tianjin 300161;2. Graduate Student Management Brigade, Military Transportation Academy, Tianjin 300161, China)

      In this paper, in light of the dire situation of database safety of the military logistics information system, we analyzed thedatabase encryption technology and the encryption and decryption processes and the round key generation process of the AES algorithm, usedJava to realize the programming and testing of the algorithm in My Eclipse and at the end, through a numerical example, demonstrated thevalidity of the algorithm.

      military logistics; database safety; AES algorithm; round key

      TP309.7;E234

      A

      1005-152X(2016)09-0164-05

      10.3969/j.issn.1005-152X.2016.09.034

      2016-08-02

      王鳳忠(1969-),男,山東萊陽人,軍事交通學院副教授,主要研究方向:軍事供應鏈、軍用車輛器材管理;呂亞飛(1992-),山東文登人,軍事交通學院在讀碩士研究生,研究方向:器材信息管理。

      猜你喜歡
      加解密加密算法密文
      一種針對格基后量子密碼的能量側(cè)信道分析框架
      一種支持動態(tài)更新的可排名密文搜索方案
      基于模糊數(shù)學的通信網(wǎng)絡密文信息差錯恢復
      PDF中隱私數(shù)據(jù)的保護方法
      軟件導刊(2017年4期)2017-06-20 20:35:24
      電子取證中常見數(shù)據(jù)加解密理論與方法研究
      基于FPGA的LFSR異步加解密系統(tǒng)
      基于小波變換和混沌映射的圖像加密算法
      云存儲中支持詞頻和用戶喜好的密文模糊檢索
      Hill加密算法的改進
      網(wǎng)絡數(shù)據(jù)傳輸?shù)募咏饷芟到y(tǒng)研究
      軟件工程(2014年11期)2014-11-15 20:02:46
      琼海市| 绵竹市| 铁力市| 宜丰县| 富顺县| 泸定县| 门源| 社会| 华阴市| 冀州市| 分宜县| 万州区| 墨竹工卡县| 天峻县| 和政县| 奎屯市| 陇南市| 宜城市| 元谋县| 河东区| 阿拉尔市| 三门峡市| 普安县| 利川市| 珠海市| 亚东县| 米易县| 卢龙县| 丹凤县| 高要市| 连州市| 临澧县| 马尔康县| 泉州市| 忻州市| 班戈县| 青冈县| 壤塘县| 敦化市| 英超| 汤阴县|