999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Web信息管理系統(tǒng)數(shù)據(jù)庫加密技術(shù)研究

2010-06-05 10:47:34劉漢燁
電子設(shè)計工程 2010年9期
關(guān)鍵詞:數(shù)據(jù)庫用戶信息

劉漢燁

(榆林學(xué)院 信息工程學(xué)院,陜西 榆林 719000)

隨著計算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展和Internet技術(shù)的普及,Web系統(tǒng)結(jié)構(gòu)得到廣泛應(yīng)用,特別是在一些企業(yè)信息管理與政府政務(wù)管理中,已成為主要的管理方式。Web系統(tǒng)數(shù)據(jù)存放在后臺數(shù)據(jù)庫中,其中部分信息數(shù)據(jù)是絕對機(jī)密的,它關(guān)系到了企業(yè)的發(fā)展與存亡,一旦這些機(jī)密數(shù)據(jù)被竊取或惡意篡改,這勢必將給企業(yè)帶來巨大的經(jīng)濟(jì)損失。而給Web系統(tǒng)數(shù)據(jù)庫加密是保護(hù)系統(tǒng)關(guān)鍵數(shù)據(jù)的有效手段之一。

1 相關(guān)概念

1.1 口令加鹽技術(shù)

在系統(tǒng)登錄時,口令密鑰作為用戶登錄時的主要信息存放,其安全性直接關(guān)系到了整個系統(tǒng)的安全性,對于口令的加密,是極為重要的。而傳統(tǒng)的Hash函數(shù)加密法很容易遭受字典式攻擊,對于一般性的字典式攻擊方式,最常用的解決方式是對于原始數(shù)據(jù)進(jìn)行加鹽處理。所謂“加鹽技術(shù)”[1]是指在計算消息摘要時,加上一些字符,可以是固定的,也可以是隨機(jī)的,然后帶入公式,計算摘要,并保存起來。

1.2 中間件技術(shù)

中間件[2](middleware)是一種獨立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源,管理網(wǎng)絡(luò)通信。中間件處于操作系統(tǒng)軟件與用戶的應(yīng)用軟件的中間。它在操作系統(tǒng)、網(wǎng)絡(luò)和數(shù)據(jù)庫之上,應(yīng)用軟件的下層,可為處于自己上層的應(yīng)用軟件提供運(yùn)行與開發(fā)的環(huán)境,幫助用戶靈活、高效地開發(fā)和集成復(fù)雜的應(yīng)用軟件。

1.3 jCryption加密插件工作原理

jCryption是一個開源的jQuery加密插件。其工作原理是首先jCryption將表單數(shù)據(jù)序列化,并將表單數(shù)據(jù)轉(zhuǎn)化為16進(jìn)制值。當(dāng)服務(wù)器端生成密鑰對后,jCryption的加密腳本接收密鑰對,并使用公鑰將生成的16進(jìn)制表單數(shù)據(jù)加密并發(fā)送至服務(wù)器端,服務(wù)器端收到后將其解密。

2 加密系統(tǒng)的結(jié)構(gòu)

2.1 加密系統(tǒng)的結(jié)構(gòu)

原有的Web信息管理系統(tǒng)中,瀏覽器與Web服務(wù)器之間及Web服務(wù)器與數(shù)據(jù)庫之間沒有專門的體系和機(jī)制保證系統(tǒng)安全。該加密模型將加密系統(tǒng)放在中間層,通過加/減密模塊和安全認(rèn)證模塊來保障數(shù)據(jù)庫系統(tǒng)的安全[3-4],如圖1所示。

圖1 加密系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure diagram of encryption system

Web瀏覽器向Web服務(wù)器發(fā)送請求,Web服務(wù)器將請求的數(shù)據(jù)發(fā)送至加密中間件進(jìn)行處理。 如果數(shù)據(jù)需要加密存儲時,加密中間件將數(shù)據(jù)加密并存放在數(shù)據(jù)庫。如用戶需要訪問加密后的數(shù)據(jù)時,加密中間件將數(shù)據(jù)解密,并將解密后的數(shù)據(jù)發(fā)送給Web服務(wù)器。

2.2 加密算法的選取

加密系統(tǒng)選取加密算法的原則[5]主要有兩點。一是加密的安全性,二是加密速度。基于這兩點考慮,本系統(tǒng)使用AES算法加密數(shù)據(jù),使用RSA算法加密密鑰。

2.3 加密粒度的選擇

加密粒度[6]是指數(shù)據(jù)庫加密的最小單位。按照數(shù)據(jù)庫的結(jié)構(gòu)層次,對數(shù)據(jù)庫信息可分為數(shù)據(jù)文件(表)、記錄、字段(屬性列)和數(shù)據(jù)項,對數(shù)據(jù)庫信息的加密分別以文件、記錄、字段和數(shù)據(jù)項作為加密基本單位。基于表的加密即將數(shù)據(jù)庫文件作為整體,用加密算法對整個數(shù)據(jù)庫文件加密保證信息的真實性和完整性。但其加密方式過于粗糙,影響數(shù)據(jù)庫執(zhí)行的效率。基于記錄的加密是最常用的數(shù)據(jù)庫信息加密手段,其基本思路是,在各自密鑰的作用下,將數(shù)據(jù)庫的每一個記錄加密成密文并存放于數(shù)據(jù)庫文件中。基于記錄的數(shù)據(jù)庫加密的缺點是,在解密一個記錄的數(shù)據(jù)時,無法實現(xiàn)對該記錄中需要的字段進(jìn)行單獨解密。基于字段(屬性)的數(shù)據(jù)庫加密,就是針對于所加密對象中的某個字段進(jìn)行加密。本方案,由于Web信息管理系統(tǒng)中并不是所有字段都需要加密,所以采用基于字段級密度加密。

3 加密系統(tǒng)的實現(xiàn)

3.1 用戶登錄驗證模塊加密方案

用戶登錄模塊主要是對系統(tǒng)中所登錄的用戶進(jìn)行合法性驗證。用戶登錄驗證頁面是用戶進(jìn)入系統(tǒng)的第一道防線,保證用戶安全登錄系統(tǒng)是整個加密系統(tǒng)中重要模塊之一。用戶登錄模塊使用了口令加鹽技術(shù)。已加鹽的口令摘要以MD5方式加密保存在數(shù)據(jù)庫中。用戶登錄時,系統(tǒng)根據(jù)用戶的用戶名取得口令摘要,并根據(jù)口令摘要分離得到鹽值。系統(tǒng)根據(jù)輸入的口令和鹽值計算出口令摘要,然后與存放在數(shù)據(jù)庫中的摘要比對,如果比對一致則登錄成功,否則失敗。

3.2 信息管理系統(tǒng)表單加密方案設(shè)計

Web信息管理系統(tǒng)中,必然涉及到大量表單。使用HTML協(xié)議一般是不加密的,所有數(shù)據(jù)都是以明文的方式傳輸,因此表單數(shù)據(jù)加密就很重要。傳統(tǒng)的表單數(shù)據(jù)加密方法為SSL加密,但這種方法需要在Web服務(wù)器端進(jìn)行相關(guān)設(shè)置,操作麻煩。該系統(tǒng)采用開源jQuery插件jCryption加密form表單。

調(diào)用jCryption的格式非常簡單,假如表單id為a,那么使用 jCryption 加密表單的格式為:$("#a").jCryption();

3.3 加/解密引擎的設(shè)計與實現(xiàn)

加/解密引擎是整個數(shù)據(jù)庫系統(tǒng)中最重要的模塊,主要負(fù)責(zé)后臺數(shù)據(jù)庫的加密、解密。加/解密引擎主要由初始化模塊、加/解密模塊、語法分析模塊及數(shù)據(jù)庫連接模塊組成。

1)初始化模塊 初始化模塊是加密系統(tǒng)啟動時首先調(diào)用的模塊,主要負(fù)責(zé)加密系統(tǒng)的初始化。

2)加/解密模塊 加/解密模塊主要負(fù)責(zé)數(shù)據(jù)庫數(shù)據(jù)的加/解密處理。加密模塊的實現(xiàn)原理是加密模塊根據(jù)提供的SQL命令語法分析樹搜索加密字典,加密字典將所加密數(shù)據(jù)的密鑰信息返回,然后加密模塊將密鑰信息傳給密鑰管理模塊取得密鑰,從而加密模塊根據(jù)密鑰對相關(guān)信息進(jìn)行加密。解密模塊的實現(xiàn)原理是解密模塊根據(jù)需要解密的信息從密鑰管理模塊中取得密鑰,然后根據(jù)密鑰對信息解密。

3)語法分析模塊 語法分析模塊的主要功能是將SQL命令進(jìn)行語義分析,生成二叉樹形式。

4)數(shù)據(jù)庫連接模塊 該模塊負(fù)責(zé)加密引擎與數(shù)據(jù)庫的連接工作。

加/解密引擎的實現(xiàn)原理[7]是:首先對應(yīng)用程序所傳入的SQL語句進(jìn)行語法分析,并通過分析解析出來SQL命令所要操作的表、相應(yīng)的列以及對應(yīng)的數(shù)據(jù)信息,然后再利用加密字典管理程序?qū)用茏值溥M(jìn)行查詢,得出相應(yīng)表的加密信息。如果該SQL命令中沒有加密信息,直接對數(shù)據(jù)庫進(jìn)行操作;如果SQL命令中含有加密信息,需要從密鑰生成與管理模塊中取得密鑰,通過加密引擎中的加密處理模塊對數(shù)據(jù)信息進(jìn)行加密,再在語法分析模塊的作用下,生成相對應(yīng)的密文SQL命令,最后,將密文SQL命令傳入數(shù)據(jù)庫連接模塊,執(zhí)行數(shù)據(jù)庫操作。其實現(xiàn)步驟如下:

1)對SQL命令進(jìn)行語法分析,如果語法正確,轉(zhuǎn)到步驟2),進(jìn)行步驟2)處理;如果語法不正確,清除SQL命令緩沖區(qū),返回錯誤,打印日志。

2)判斷是否為數(shù)據(jù)庫加/解密引擎的內(nèi)部控制命令?如果是,處理內(nèi)部控制命令,然后轉(zhuǎn)到步驟7);如果不是,則轉(zhuǎn)到步驟 3)。

3)檢查加/解密引擎是否處于關(guān)閉狀態(tài)?如果是,則通知數(shù)據(jù)庫連接模塊,并等待;否則轉(zhuǎn)到步驟4)。

4)連接密鑰生成與管理模塊,解析需要加/解密的字段,然后轉(zhuǎn)入步驟5)。

5)SQL命令是否需要加密處理?如果是,則將SQL命令進(jìn)行加密變換,替換原SQL命令,然后轉(zhuǎn)入步驟6);否則直接轉(zhuǎn)入步驟6)。

6)將SQL命令轉(zhuǎn)送數(shù)據(jù)庫服務(wù)器處理。

7)SQL命令執(zhí)行完畢,清除SQL命令緩沖區(qū)。

3.4 密鑰生成與管理模塊

密鑰生成與管理模塊[4-8]在加密系統(tǒng)中所起的作用非常重要,由于不同的人存取不同的文件或同一文件的不同部分,因此加密產(chǎn)生的密鑰有可能很大,密鑰間關(guān)系復(fù)雜,這樣就給密鑰管理帶來很大困難。基于Web信息管理的結(jié)構(gòu),在密鑰管理中,本系統(tǒng)采用多級密鑰管理方案。對某一數(shù)據(jù)進(jìn)行加密后,系統(tǒng)會自動產(chǎn)生一個數(shù)據(jù)密鑰,該字段用此密鑰加密后以密文形式存放在數(shù)據(jù)庫里。另外,為了保證非法用戶竊取加密字段進(jìn)行解密,根據(jù)多級加密的思想,再產(chǎn)生一個用戶密鑰對數(shù)據(jù)密鑰進(jìn)行加密,以此增強(qiáng)數(shù)據(jù)密鑰的安全性。如果Web數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)安全級別比較高的話,可以將用戶密鑰保存在其他媒介中。

密鑰及密鑰相關(guān)配置信息都以表的形式存放在數(shù)據(jù)庫里,各表描述如下:1)表login_user用于登錄用戶信息。字段有用戶id和用戶名。2)表encrypt_table用于存儲加密表的信息。存儲信息由加密表id,用戶id表所有者,表數(shù)據(jù)庫名等信息。3)表encrypt_field保存被加密表所設(shè)計的字段。存儲的字段有字段名、字段數(shù)據(jù)類型及數(shù)據(jù)長度等。4)表iKeys用于存放密鑰實體。存儲的字段有密鑰id,密文等。5)table_field用于表示表、列對應(yīng)關(guān)系表。存儲字段有加密表id、用戶id、加密列id及密鑰創(chuàng)建時間等。各數(shù)據(jù)表關(guān)系圖見圖2。

圖2 數(shù)據(jù)表關(guān)系圖Fig.2 Relationship diagram of data tables

4 加密方案的應(yīng)用案例

某學(xué)院工資查詢系統(tǒng)是其校內(nèi)項目。該系統(tǒng)數(shù)據(jù)庫主要有2個表,分別是工資表及職工信息表。儲存有姓名、工資卡號、基本工資等信息。職工信息表主要存放的是職工的基本信息。在這兩個表里面,工資表里面的字段如姓名、工資卡號、工資等信息是屬于敏感信息,需要加密中間件加密。而職工的一些信息像出生年月、職稱等屬于普通信息,不需要加密中間件加密。敏感信息經(jīng)加密中間件加密后,只有工資卡擁有者才能瀏覽工資信息。即使數(shù)據(jù)庫管理員也不能瀏覽其他人的工資信息,這樣就保證了校內(nèi)工資信息的安全。系統(tǒng)登錄模塊使用了口令加鹽技術(shù)。普通表單像如教師基本信息更新表單使用了jQuery插件jCryption進(jìn)行加密。

5 結(jié) 論

本文針對Web信息系統(tǒng)結(jié)構(gòu)的安全需求,提出了一個數(shù)據(jù)庫加密模型。該加密結(jié)構(gòu)已在某學(xué)院校內(nèi)項目“工資查詢系統(tǒng)”中應(yīng)用,取得了預(yù)期的效果,使用jCryption完成表單信息傳輸加密。但本系統(tǒng)還有許多不足,比如系統(tǒng)里所密鑰過多,定會影響Web信息系統(tǒng)的查詢效率;使用jCryption完成表單信息傳輸加密不能有效防止MITM攻擊。這些問題都需要在以后的研究中加以解決。

[1]李勻.網(wǎng)絡(luò)滲透測試-保護(hù)網(wǎng)絡(luò)安全的技術(shù)、工具和過程[M].北京:電子工業(yè)出版社,2007.

[2]張云勇,張智江,劉錦德,等.中間件技術(shù)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2004.

[3]張杰,徐元熙.基于B/S結(jié)構(gòu)的數(shù)據(jù)庫加密設(shè)計[J].微計算機(jī)信息,2008,24(11-3):185-187.ZHANG Jie,XU Yuan-xi.The design of database encryption system based on B/S architecture[J].Microcomputer Information,2008,24(11-3):185-187.

[4]安然,陳馳,徐震.數(shù)據(jù)庫加密中間件的設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2009,30(14):3261-3264.AN Ran,CHEN Chi,XU Zhen.Design and implementation of database encryption middleware[J].Computer Engineering and Design ,2009,30(14):3261-3264.

[5]趙卓,劉博,厲京運(yùn).基于DBMS外層的數(shù)據(jù)庫加密系統(tǒng)研究與設(shè)計[J].計算機(jī)工程與設(shè)計,2008,29(12):3030-3033.ZHAO Zhuo,LIU Bo,Li Jing-yun.Research and design of database encryption system based on external DBMS[J].Computer Engineering and Design,2008,29(12):3030-3033.

[6]吳春明,鄭志強(qiáng).基于Web數(shù)據(jù)庫加密研究[J].西南農(nóng)業(yè)大學(xué)學(xué)報,2004,26(2):220-222.WU Chun-ming,ZHENG Zhi-qiang.Study on encryption of web-based database[J].Journal of Southwest Agricultural U-niversity,2004,26(2):220-222.

[7]吳興惠,張廣路.基于Web數(shù)據(jù)庫加密系統(tǒng)的研究[J].海南師范大學(xué)學(xué)報,2009,22(3):263-266.WU Xing-hui,ZHANG Guang-lu.Research on database encryption system based on Web[J].Journal of Hainan Normal University,2009,22(3):263-266.

[8]徐江峰,馬瑤.一種基于動態(tài)密鑰的數(shù)據(jù)庫加密方案[J].微計算機(jī)信息,2009,25(12-3):27-29.XU Jiang-feng,MA Yao.A scheme of database encryption based on dynamical secret[J].Mirocomputer Informetion,2009,25(12-3):27-29.

猜你喜歡
數(shù)據(jù)庫用戶信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
如何獲取一億海外用戶
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 成人精品亚洲| 最新痴汉在线无码AV| 五月天天天色| 天堂亚洲网| 亚洲国产成人精品青青草原| 亚洲第一黄色网址| 欧美国产在线看| 精品视频一区二区三区在线播| 国产xx在线观看| 亚洲成AV人手机在线观看网站| 啪啪免费视频一区二区| 日韩小视频在线观看| 久久国产V一级毛多内射| 中文无码精品A∨在线观看不卡| 亚洲中文字幕23页在线| 久久91精品牛牛| 亚洲成A人V欧美综合天堂| 99精品高清在线播放| 无码精品国产dvd在线观看9久| 色哟哟国产精品一区二区| 国产成人久久综合777777麻豆| 亚洲人网站| 久久精品这里只有国产中文精品| 国产门事件在线| 国产成人你懂的在线观看| 亚洲成a人片7777| 国产美女免费| 伊人精品视频免费在线| 国产不卡国语在线| 第一区免费在线观看| 亚洲无码四虎黄色网站| 久久窝窝国产精品午夜看片| 日韩精品高清自在线| 日韩av高清无码一区二区三区| 亚洲第一成网站| 日韩少妇激情一区二区| 日本高清免费不卡视频| 午夜福利无码一区二区| 国产欧美高清| 久久久久国产精品熟女影院| 欧美国产视频| 亚洲自偷自拍另类小说| 香蕉视频在线观看www| 欧美日韩北条麻妃一区二区| 午夜免费小视频| 欧美激情第一欧美在线| 中文字幕欧美日韩| 91免费国产高清观看| 亚洲大学生视频在线播放| 成人免费网站久久久| 午夜精品影院| 91麻豆精品国产高清在线| 国产精品区视频中文字幕| 免费看黄片一区二区三区| 激情無極限的亚洲一区免费| 无码精品国产dvd在线观看9久| 久久久久青草大香线综合精品| 午夜精品久久久久久久无码软件| 无码日韩视频| 国产人成在线视频| 无码人中文字幕| 在线免费看片a| 亚洲国产精品不卡在线| 一个色综合久久| 午夜精品福利影院| 91免费片| 久久国产精品77777| 亚洲色偷偷偷鲁综合| 亚洲不卡av中文在线| 色呦呦手机在线精品| 国产午夜人做人免费视频中文 | 国产成人亚洲欧美激情| 天天躁夜夜躁狠狠躁图片| 色天堂无毒不卡| 91精品啪在线观看国产| 精品无码日韩国产不卡av| 亚洲一道AV无码午夜福利| 在线精品视频成人网| 欧美精品1区2区| 爆乳熟妇一区二区三区| 亚洲色精品国产一区二区三区| 免费无码AV片在线观看国产|