• 
    

    
    

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

      ?

      解析數(shù)據(jù)加密解密原理和方法分析

      2017-10-23 07:45林秀麗
      無線互聯(lián)科技 2017年19期
      關鍵詞:解密加密數(shù)據(jù)庫

      林秀麗

      摘 要:應用數(shù)據(jù)庫的領域越來越廣泛,數(shù)據(jù)的保密機制不可忽視,數(shù)據(jù)要安全就必須采取相關措施,通常數(shù)據(jù)加密是數(shù)據(jù)安全的最后一道關卡。文章主要從教學的角度闡述數(shù)據(jù)加密原理、數(shù)據(jù)加密解密方法,避免數(shù)據(jù)被泄露、被修改。

      關鍵詞:數(shù)據(jù)庫;加密;解密

      數(shù)據(jù)的安全措施在現(xiàn)實應用中有很多,如:隔離數(shù)據(jù)庫、角色授權(quán)、審核、密碼等,本文講解SQL Server應用中的數(shù)據(jù)加密[1]。

      1 數(shù)據(jù)加密原理

      數(shù)據(jù)加密是保護數(shù)據(jù)的一種有效機制。目的是將明文即原始數(shù)據(jù)轉(zhuǎn)變成不可直接讀的密文。原理是:明文同密鑰的值捆綁一起經(jīng)過數(shù)學公式處理完成其數(shù)據(jù)加密,變成密文不可讀。接收方若要想讀取數(shù)據(jù),必須用正確的解密密鑰和反向的數(shù)學過程完成解密。

      加密密鑰的長短決定了加、解密運算的復雜性,同時也影響計算機處理時間的長短,以及存儲空間與成本。

      最主要的加密類型有兩種:(1)對稱加密。特點是使用相同的密鑰進行文件加密和解密,即對稱密碼編碼技術。加解密過程,通信雙方都用同一密鑰即公共密鑰加解密,如:甲、乙通信,甲將自己明文信息用公鑰加密成密文,乙收到密文后用公鑰解密成明文。常用的加密算法有RC2,3DES,IDEA,AES。密鑰短,破譯難,使用起來便捷。(2)非對稱加密。特點是加解密雙方各自有一個密鑰對,分別稱為私鑰和公鑰。加解密過程,如甲、乙通信,甲將自己的私鑰保密公鑰告訴乙,乙也同樣保密自己的私鑰公鑰告訴甲,甲向乙發(fā)送信息時用乙的公鑰加密,乙收到密文后用自己的私鑰解密變成明文。乙向甲發(fā)送信息采用相同的方法加解密數(shù)據(jù)。常用的加密算法有RSA和DSA。非對稱加密同對稱加密相比,算法強度要復雜得多,因加密與解密密鑰不同,一致認為非對稱加密比對稱加密更安全,但加密速度要慢很多。所以對大量數(shù)據(jù)進行加、解密時一般使用對稱加密。

      SQL Server支持3種類型加密,且已內(nèi)置。對稱加密、非對稱加密以及另一種形式的非對稱加密證書加密。

      SQL Server的加密結(jié)構(gòu)是分層進行的,自上而下分別為:WINDOWS級別和SQL Server級別使用服務主密鑰對下級的數(shù)據(jù)庫進行加密;數(shù)據(jù)庫級別使用數(shù)據(jù)庫主密鑰對數(shù)據(jù)進行加密。進行加密時,都是上級層使用對稱密鑰(見圖1)、非對稱密鑰(見圖2)、證書的組合對下級層加密[2]。

      圖2 非對稱加密

      2 數(shù)據(jù)加解密方法

      數(shù)據(jù)庫的實際應用中常有一些敏感數(shù)據(jù),必須要將其加密,避免泄露,如:銀行卡卡號、用戶的各種密碼、職工的工資甚至一些機密文件等。保存加密后的數(shù)據(jù),即使被盜了數(shù)據(jù),對方也無法查看敏感數(shù)據(jù),因沒有解密的密鑰[3-4]。

      以下通過一個案例講述數(shù)據(jù)加、解密。本案例的數(shù)據(jù)庫為測試數(shù)據(jù)庫SALES,其中EMPLOYEE職工表中有職工的工資WAGES要保密,通過對稱加密算法對WAGES列數(shù)據(jù)進行加密,步驟如下。

      2.1 服務主密鑰

      服務主密鑰是第一次用它來加密其他密鑰時自動生成,此密鑰是加密保護本地計算機密鑰而被使用的。主服務密鑰的打開權(quán)限只有創(chuàng)建它的操作系統(tǒng)賬戶或有權(quán)限訪問服務賬戶的用戶才可以。

      2.2 數(shù)據(jù)庫主密鑰的創(chuàng)建

      數(shù)據(jù)庫主密鑰用于數(shù)據(jù)庫級別加密。此密鑰不能自動生成,由管理員創(chuàng)建,且主密鑰對每個數(shù)據(jù)庫只建一次。代碼如下:

      use SALES

      go

      create master key

      ENCRYPTION BY PASSWORD=' enter @your@ secret @code.';

      2.3 證書APCERT的創(chuàng)建

      證書的頒發(fā)和簽名由證書機構(gòu)CA完成。證書是驗證身份的一種方式,常含有以下信息:證書序列號,是唯一的;證書主題,即標識符信息;證書有效期;證書發(fā)行者簽名等。

      USE SALES ;

      go

      CREATE CERTIFICATE APCRT

      WITH SUBJECT = 'ENTER APCRT PASSWORD!',

      EXPIRY_DATE = '2015/1/3';

      go

      2.4 對稱密鑰PKEY的創(chuàng)建

      對稱密鑰是用來加密保密數(shù)據(jù)。使用才創(chuàng)建的證書APCERT,AES 256加密算法對此密鑰進行加密。

      use SALES

      go

      create symmetric key PKEY

      with algorithm=aes_256

      encryption by certificate APCRT;

      2.5 打開對稱密鑰

      只有對稱密鑰打開才能綁定到會話進行數(shù)據(jù)加、解密。

      use SALES

      go

      open symmetric key PKEY

      decryption by certificate APCRT

      2.6 加密成密文

      用于數(shù)據(jù)加密的函數(shù)ENCRYPTBYKEY(),用于數(shù)據(jù)解密的函數(shù)DECRYPTBYKEY()。兩函數(shù)使用的都是對稱密鑰。

      —用加密的函數(shù)ENCRYPTBYKEY()加密成密文

      use SALES

      go

      create table employee

      (Employee_ID char(4)NOT NULL primary key,

      password varbinary(500) not null)

      go

      select * from employeeendprint

      go

      insert into employee values ('E1',ENCRYPTBYKEY(KEY_GUID ('PKEY'),'p@ssword1'))

      insert into employee values ('E2',ENCRYPTBYKEY(KEY_GUID ('PKEY'),'pp'))

      insert into employee values ('E3',ENCRYPTBYKEY(KEY_GUID ('PKEY'),'aaa'))

      go

      select * from employee

      go

      —用解密的函數(shù)DECRYPTBYKEY()解密出明文

      SELECT Employee_ID ,password from employee

      select Employee_ID ,CONVERT (varchar(50),decryptbykey(password)) from employee

      go

      2.7 關閉對稱密鑰

      注意:加密的函數(shù)ENCRYPTBYKEY()同解密的函數(shù)DECRYPTBYKEY()只有在密鑰打開的情況下才有效。

      CLOSE SYMMETRIC KEY PKEY;

      GO

      3 結(jié)語

      網(wǎng)絡技術、數(shù)據(jù)庫技術都在不斷發(fā)展,數(shù)據(jù)庫安全是一個永久性問題,入侵技術不斷提高,數(shù)據(jù)庫安全技術的提升勢在必行。針對數(shù)據(jù)庫安全技術的新問題、新情況,加強研究數(shù)據(jù)庫安全必須首先從一線的課堂教學深入加強,在思想上對安全技術重視起來,讓安全技術穩(wěn)步發(fā)展。

      [參考文獻]

      [1]王永樂,徐書欣.SQL Server2008數(shù)據(jù)庫管理及應用[M].北京:清華大學出版社,2011.

      [2]李愛武.SQL Server2008數(shù)據(jù)庫技術內(nèi)幕[M].北京:中國鐵道出版社,2012.

      [3]俞榕剛.SQL Server 2012實施與管理實戰(zhàn)指南[M].北京:電子工業(yè)出版社,2013.

      [4]徐慧.數(shù)據(jù)庫技術與應用[M].北京:北京理工大學出版社,2010.endprint

      猜你喜歡
      解密加密數(shù)據(jù)庫
      炫詞解密
      解密“一包三改”
      炫詞解密
      一種基于熵的混沌加密小波變換水印算法
      認證加密的研究進展
      基于ECC加密的電子商務系統(tǒng)
      解密“大調(diào)解”
      基于格的公鑰加密與證書基加密
      红河县| 诏安县| 万载县| 沭阳县| 小金县| 慈利县| 崇仁县| 望都县| 卓资县| 墨脱县| 鹰潭市| 太保市| 郸城县| 读书| 青州市| 米脂县| 铜陵市| 康马县| 土默特左旗| 奎屯市| 新安县| 叶城县| 阿鲁科尔沁旗| 江永县| 兴海县| 巴林左旗| 嘉黎县| 多伦县| 汉阴县| 灵寿县| 牡丹江市| 怀远县| 昌乐县| 屯门区| 灵石县| 彰武县| 锡林郭勒盟| 策勒县| 永胜县| 鄯善县| 湘乡市|