《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于AES與RSA的BLE門禁管理系統(tǒng)的數(shù)據(jù)加密
基于AES與RSA的BLE門禁管理系統(tǒng)的數(shù)據(jù)加密
2017年微型機與應(yīng)用第2期
余成波,錢澤文,閆亞恒
重慶理工大學(xué) 遠程測試與控制技術(shù)研究所,重慶 400054
摘要: 針對AES密鑰管理中存在的安全性不高和RSA不適合大數(shù)據(jù)量加/解密的缺陷,為保障用戶的敏感信息以及BLE門禁設(shè)備的重要數(shù)據(jù),本文提出了采用AES與RSA混合的加密體制。利用AES算法來加/解密敏感數(shù)據(jù),RSA算法來加/解密AES算法的密鑰。然后,采用DBMS外層加密方式和字段級的加密粒度,在BLE門禁管理系統(tǒng)中實現(xiàn)對“敏感數(shù)據(jù)”的加/解密處理,以及混合加密體制下密鑰的管理,保證了數(shù)據(jù)的安全性與可靠性。
關(guān)鍵詞: AES RSA BLE 混合加密
Abstract:
Key words :

  余成波,錢澤文,閆亞恒

  (重慶理工大學(xué) 遠程測試與控制技術(shù)研究所,重慶 400054)

       摘要:針對AES密鑰管理中存在的安全性不高和RSA不適合大數(shù)據(jù)量加/解密的缺陷,為保障用戶的敏感信息以及BLE門禁設(shè)備的重要數(shù)據(jù),本文提出了采用AES與RSA混合的加密體制。利用AES算法來加/解密敏感數(shù)據(jù),RSA算法來加/解密AES算法的密鑰。然后,采用DBMS外層加密方式和字段級的加密粒度,在BLE門禁管理系統(tǒng)中實現(xiàn)對“敏感數(shù)據(jù)”的加/解密處理,以及混合加密體制下密鑰的管理,保證了數(shù)據(jù)的安全性與可靠性。

  關(guān)鍵詞:AES;RSA;BLE;混合加密;加密粒度

  中圖分類號:TP391.1文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.02.006

  引用格式:余成波,錢澤文,閆亞恒.基于AES與RSA的BLE門禁管理系統(tǒng)的數(shù)據(jù)加密[J].微型機與應(yīng)用,2017,36(2):17-19.

  在信息技術(shù)和計算機技術(shù)快速發(fā)展的今天,尤其“互聯(lián)網(wǎng)+”和“智慧城市”概念的提出,信息化程度在各行各業(yè)都得到了顯著的提高,隨之而來的便是數(shù)據(jù)安全問題,數(shù)據(jù)泄露不但影響人們的生活質(zhì)量,有時候往往伴隨著巨大的經(jīng)濟損失。數(shù)據(jù)庫加密技術(shù)是解決這一問題的重要方法之一,它是密碼學(xué)與數(shù)據(jù)庫技術(shù)結(jié)合的產(chǎn)物。

  根據(jù)加密算法與解密算法所使用的密鑰是否相同,數(shù)據(jù)加密技術(shù)可分為兩大類,一是對稱加密技術(shù),例如DES算法和AES算法等,其中DES算法由于自身密鑰長度較短,其安全性已經(jīng)得不到保證,在國內(nèi)外的應(yīng)用上已經(jīng)被AES所取代,AES運算速度快、算法簡單可靠,但密鑰管理上安全性不高,為了進一步增強它的安全性,國內(nèi)外很多學(xué)者對其進行了更深入的研究與優(yōu)化,比如對密鑰擴展算法的改進[1],對S盒構(gòu)造方法進行優(yōu)化[2]以及提出適合硬件實現(xiàn)的一種可重構(gòu)的設(shè)計方式等[3]。二是非對稱加密技術(shù),例如RSA算法和ECC算法等,ECC算法也叫橢圓加密算法,處理速度快,占用空間小,但實現(xiàn)起來比較困難。RSA算法安全性高,易于理解,但不適合大數(shù)據(jù)量的加/解密,為了提高運算效率,有人提出了融入中國剩余定理的RSA算法[4]。對稱加密算法加/解密使用的是同一密鑰,加/解密速度快。非對稱加密算法加密和解密使用不同的密鑰,一個是公鑰,用來加密數(shù)據(jù),另一個是私鑰,用來解密數(shù)據(jù)[5]。

  本文采用對稱加密算法與非對稱加密算法相結(jié)合的方法,首先用AES算法來加密數(shù)據(jù)庫中的敏感數(shù)據(jù),然后用RSA算法來加密AES算法的密鑰,加密粒度是數(shù)據(jù)庫加密的最小單位,本文選擇的是字段級。最后,在BLE(Bluetooth Low Energy)門禁管理系統(tǒng)中實現(xiàn)了數(shù)據(jù)庫中數(shù)據(jù)的加/解密,保證了用戶數(shù)據(jù)與設(shè)備數(shù)據(jù)的安全性。

1AES加密算法

  高級加密標準AES,也叫做Rijndael加密法,是目前最常用的對稱加密算法,它以替換DES和3DES的身份出現(xiàn)。AES是一種帶有可變塊長和可變密鑰長度的迭代分組加密方法[6],最基本的運算單位是字節(jié),即一個8 bit串,其數(shù)據(jù)塊(明文)的分組長度被指定為128 bit,密鑰長度為128 bit、192 bit或256 bit,相應(yīng)的迭代輪數(shù)分別為10、12和14。

  在AES算法中,128 bit的明文數(shù)據(jù)可以劃分為16 B,所以可以依據(jù)順序?qū)⑵渥止?jié)依次復(fù)制到一個4×4的矩陣中,四個字節(jié)一組,這個矩陣叫做狀態(tài)矩陣,AES算法的一系列變換都是在這個狀態(tài)矩陣(state)上進行的[7]。同樣,密鑰也可以用字節(jié)的矩陣形式來表示,矩陣的行數(shù)定為4,不同的密鑰長度對應(yīng)的列數(shù)分別為4、6和8[8]。具體如表1所示。

005.jpg

  AES算法每一輪的迭代結(jié)構(gòu)都一樣,每一輪都使用了4個變換:字節(jié)替代變換、行移位變換、列混合變換和輪密鑰加變換。

  (1)字節(jié)替代變換(S盒變換)

  字節(jié)替代變換是AES算法中唯一的非線性變換,即用S盒對狀態(tài)矩陣中的每一個字節(jié)進行相應(yīng)的替換。S盒是一個替換表,一個16×16的矩陣,替換時,分別取狀態(tài)矩陣中字節(jié)的高4位和低4位作為行值和列值,在S盒中找到對應(yīng)的字節(jié)進行替換,相當(dāng)于一個查表的過稱[9]。S盒的構(gòu)造是AES算法是否安全的關(guān)鍵,S盒由有限域GF(28)上的元素乘法取逆(模多項式為m(x)=x8+x4+x3+x+1)然后做GF(2)上的仿射變換兩步組成。仿射變換遵循如下運算規(guī)則:

  _)VTV9HN[%6[RK$6Z(5)~XW.png

  其中x0,x1,…,x7是有限域GF(28)上的元素乘法取逆的結(jié)果,對其做仿射變換,則y0,y1,…,y7為變換后的結(jié)果。

  (2)行移位變換

  行移位是對S盒替換后的狀態(tài)矩陣的進一步操作,對每一行進行循環(huán)左移,其中第一行保持不變,第二行循環(huán)左移1個字節(jié),第三行循環(huán)左移2個字節(jié),第四行循環(huán)左移3個字節(jié)[10],如圖1所示。

002.jpg

  (3)列混合變換

  將行移位后的狀態(tài)矩陣的每一列看做是有限域GF(28)上的一個4維向量,然后將其與一個固定的多項式a(x)進行模多項式m(x)=x4+1的乘法運算。在AES算法中,a(x)={03}x3+{01}x2+{01}x+{02},這個多項式與x4+1互質(zhì),具有可逆性[9]。

  (4)輪密鑰加變換

  輪密鑰加變換就是將狀態(tài)矩陣與子密鑰矩陣的對應(yīng)字節(jié)進行異或操作。其中,每一輪的子密鑰都由初始密鑰通過固定變換得到。

  AES算法流程如圖2所示。

003.jpg

2RSA加密算法

  RSA是非對稱加密算法,也是目前應(yīng)用最廣泛的公鑰密碼體制。RSA算法基于一個數(shù)論中的事實——分解大整數(shù)的困難性:計算兩個大素數(shù)的乘積很容易,但要對其進行分解卻很困難[11]。RSA算法密鑰長度可變,目前使用的密鑰長度一般不小于1 024 bit,加密時先將明文進行分組,每個分組的數(shù)據(jù)長度不允許超出密鑰長度[12]。密鑰長度與安全性成正比關(guān)系,密鑰越長則安全性越高,相應(yīng)地,密鑰越長則其加密與解密效率就越低,處理速度越慢[13]。所以,RSA不適合大數(shù)據(jù)量的加/解密。

  RSA算法描述如下:

  (1)密鑰生成

  ①選取兩個保密的大素數(shù)p和q。

 ?、谟嬎鉵=pq,φ(n)=(p-1)(q-1),其中φ(n)是n的歐拉函數(shù)值。

  ③隨機選一個整數(shù)e,1<e<φ(n),滿足(e,φ(n))=1,即e與φ(n)互質(zhì)。

  ④計算e的乘法逆元d,滿足ed≡1modφ(n)。

 ?、莨€為(e,n),私鑰為(d,n)。

  (2)加密

  c=memodn,其中m是待加密明文,c是明文。

  (3)解密

  m=cdmodn,將密文轉(zhuǎn)換為明文。

  由解密可以看出,RSA算法依賴于私鑰(d,n),只有將n正確分解,得出p和q,才能得出d,從而破解RSA算法。

3混合加密體制

  AES算法以及RSA算法在數(shù)據(jù)加/解密上都有各自的特點,AES是目前最常用的一種對稱加密算法,其密鑰長度最長只有256 bit,相較于RSA算法更短,所以有很強大的數(shù)據(jù)處理能力,加/解密效率高[14]。但AES數(shù)據(jù)加密和解密使用的是同一密鑰,所以密鑰管理的安全性要求較高。RSA算法加密和解密使用不同的密鑰,密鑰長度相較于AES算法提高很多,所以加/解密效率不高,不適合大數(shù)量的操作。但RSA算法的密鑰管理很方便。針對這兩種算法各自的特點,本文采取AES與RSA相結(jié)合的混合加密體制。AES用來加/解密BLE門禁管理系統(tǒng)中敏感字段的數(shù)據(jù),而RSA用來保護AES的密鑰。具體結(jié)構(gòu)如圖3所示。

  

004.jpg

  (1)混合加密體制的數(shù)據(jù)加密

 ?、偈褂妹荑€為K的AES加密算法,假設(shè)其為E1,那么明文(data)經(jīng)加密后為E1(data,k),即密文數(shù)據(jù)。

 ?、诩僭O(shè)RSA算法為E2,使用RSA算法的公鑰PK對密鑰K進行加密,則加密后的K為E2(K,PK)。

  (2)混合加密體制的數(shù)據(jù)解密

 ?、倮肦SA算法的私鑰SK對E2(K,PK)進行解密,得到AES算法的密鑰K。

 ?、谟妹荑€K進行數(shù)據(jù)解密,從而得到數(shù)據(jù)的明文(data)形式。

4混合加密體制在BLE門禁管理系統(tǒng)中的實現(xiàn)

  BLE門禁管理系統(tǒng)是主要針對BLE設(shè)備及用戶的一個管理軟件。該管理軟件主要由管理員信息管理模塊、設(shè)備信息管理模塊、用戶信息管理模塊以及加密系統(tǒng)管理模塊四部分組成。加密系統(tǒng)管理模塊主要負責(zé)AES與RSA密鑰的產(chǎn)生與更新,是完成數(shù)據(jù)加/解密的核心。

  本文在BLE門禁管理系統(tǒng)中采用AES與RSA混合加密體制完成了對數(shù)據(jù)庫中管理用戶信息的用戶信息表的加密,加密的字段是用戶的家庭住址。

  當(dāng)管理員沒有對用戶信息表的更改權(quán)限時,得到的是數(shù)據(jù)庫中被加密字段的密文形式。

  當(dāng)管理員對表有更改權(quán)限時,得到的則是家庭住址字段解密后的明文信息。

5結(jié)論

  本文分別介紹了AES與RSA算法,在進行分析之后,充分利用兩種算法的優(yōu)點,提出采用AES與RSA混合加密體制,完成了混合加密體制在BLE門禁管理系統(tǒng)中的應(yīng)用與實現(xiàn),解決了混合加密體制中密鑰管理的問題,最終保證了后臺數(shù)據(jù)庫中敏感數(shù)據(jù)的安全。不僅如此,隨著互聯(lián)網(wǎng)的普及以及信息化程度的提高,本文所做的工作也為數(shù)據(jù)加密技術(shù)將來在其他領(lǐng)域的應(yīng)用(比如“智能家居”領(lǐng)域)提供了一些新的思路。

參考文獻

  [1] 胡亮,袁巍,于孟濤,等.單向性策略與AES密鑰生成算法的改進[J]. 吉林大學(xué)學(xué)報(工學(xué)版),2009,39(1):137-142.

 ?。?] 王興剛.基于RSA和AES混合算法的加密芯片設(shè)計[D].濟南:濟南大學(xué),2011.

  [3] RACHH R R, MOHN P V A, ANAMI B S.Efficient implementations forbi AES encryption and decryption[J].Circuits Systems and Signal Processing,2012,31(5):1765-1785.

 ?。?] 費曉飛,胡捍.CRTRSA算法安全性分析[J].微計算機信息,2009,25(3):5455,38.

  [5] 許春香,李發(fā)根,汪小芬,等.現(xiàn)代密碼學(xué)(第二版)[M].北京:清華大學(xué)出版社,2015.

  [6] 鄭東,李祥學(xué),黃征,等.密碼學(xué)——密碼算法與協(xié)議(第二版)[M].北京:電子工業(yè)出版社,2014.

 ?。?] 羅光明.基于AES和RSA的網(wǎng)絡(luò)數(shù)據(jù)加密方案[J].現(xiàn)代電子技術(shù),2015,38(9):87-89,95.

  [8] 王先培,張愛菊,熊平,等.新一代數(shù)據(jù)加密標準——AES[J].計算機工程,2003,29(3):69-70,186.

  [9] MURPHY S, ROBSHAW M.New observations on Rijndael[J].Journal of Software,2013,7(13):100-105.

 ?。?0] 劉自偉,羅燕琪,段琦.加密算法與密鑰生成技術(shù)在數(shù)據(jù)庫加密中的應(yīng)用[J].計算機時代,2007(6):1-3.

  [11] 劉陽.數(shù)據(jù)庫加密技術(shù)的分析[J].硅谷,2011(22):26-27.

 ?。?2] 王建.數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)[D].濟南:山東大學(xué),2014.

 ?。?3] 王哲慧.數(shù)據(jù)庫加密算法及其密鑰技術(shù)研究[D].長春:長春理工大學(xué),2011.

  [14] 左曉靜,王榮.一種基于數(shù)據(jù)敏感度的混合型數(shù)據(jù)庫加密策略[J].河南科學(xué),2015,33(4):574-577.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。