【正文】
選擇一個作為私有密鑰的隨機數(shù)XA(XAq),并計算公開密鑰YA=a^XA mod q。一個非交互的帶關(guān)鍵詞檢索的公鑰加密體制包含如下四個概率多項式時間算法:(l)初始化: 輸入安全參數(shù)k,輸出密鑰對(私鑰以及公鑰)??傮w上,是使用了兩個階為素數(shù)p的群,以及一個在這兩個群上的雙線性對,該雙線性對滿足以下屬性:(1) 可計算性:給定g,,有一個多項式時間算法能夠計算;(2) 雙線性:對于任何整數(shù),有(3) 非退化性:如果g為的生成元,則為的生成元: BONEH等人基于以上的雙線性對性質(zhì)構(gòu)造了如下帶關(guān)鍵詞檢索的公鑰加密方案,同時使用兩個哈希函數(shù)和,方案由如下四個算法構(gòu)成:(1)初始化:輸入安全參數(shù)p決定群,的大小,算法隨機選擇一個整數(shù),以及群G,的一個生成元g。can initialize from sample from sample pairing parameters bundled with PBC in the param subdirectoryPbc_param_t: used to generate pairing parameters (2)函數(shù):Void element_init_G1(element_t e,pairing_t pairing)Void element_init_G2(element_t e,pairing_t pairing) 第三章 數(shù)據(jù)安全存儲系統(tǒng)設(shè)計隨著計算機網(wǎng)絡(luò)技術(shù)、信息技術(shù)飛速發(fā)展,諸如電子商務(wù)等數(shù)字化產(chǎn)業(yè)正在世界范圍內(nèi)迅速崛起。:研發(fā)過程中,盡量考慮各種可能出現(xiàn)的意外情況,保證系統(tǒng)能穩(wěn)定運行,并建立健全的數(shù)據(jù)恢復(fù)機制,避免給用戶帶來不必要的損失。該系統(tǒng)是將數(shù)據(jù)以密文的形式存入硬盤,所以數(shù)據(jù)存儲系統(tǒng)需要保證以明文形式輸入的數(shù)據(jù)可以輸送至加密系統(tǒng)。關(guān)鍵詞在提取完成后也會被輸入加密系統(tǒng)。在用戶模塊中包含公鑰加密算法E,偽隨機序列生成器G,加密關(guān)鍵詞所需的帶密鑰的和秘密參數(shù)UN的安全哈希函數(shù)H,帶密鑰c的偽隨機函數(shù)。數(shù)據(jù)加密系統(tǒng)以及陷門生成系統(tǒng)(1)數(shù)據(jù)加密系統(tǒng):對即將存儲的數(shù)據(jù)進行加密,采用公鑰加密的方式進行加密,以確保其安全強度(2)關(guān)鍵詞加密系統(tǒng):用于對傳來的關(guān)鍵詞w進行加密,并將密文與(1)中系統(tǒng)加密形成的密文共同傳輸給存儲模塊(3)陷門生成系統(tǒng):在數(shù)據(jù)檢索時用于生成陷門,并實現(xiàn)和存儲模塊的連接,以便數(shù)據(jù)的檢索存儲模塊:主要用來實現(xiàn)對用戶模塊傳來的密文的存儲功能以及在數(shù)據(jù)檢測時對關(guān)鍵詞檢測并選擇消息的功能(1) 關(guān)鍵詞檢索系統(tǒng):其中含有關(guān)鍵詞檢索函數(shù)test,對于傳遞來的陷門函數(shù),進行關(guān)鍵詞檢索(2) 密文存儲:對于傳遞來的密文,存儲模塊將會將他寫入到硬盤里 第四章 數(shù)據(jù)安全存儲系統(tǒng)設(shè)計 系統(tǒng)初始化(1) 雙線性對結(jié)構(gòu)體 typedef struct sysparam{ pairing_t pairing。(3) 私鑰結(jié)構(gòu)體 typedef struct privatekey{ element_t alpha。(5) 陷門結(jié)構(gòu)體 typedef struct Trapdoor{ element_t t。 int rv。 if (!fp) printf(error opening %s, )。 rv = pairing_init_set_buf(pairing, PairingInitString,strlen(PairingInitString))。 } return 0。 element_init_Zr(skalpha, parampairing)。 return 0。 //指定密鑰的長度,初始化密鑰對生成器 KeyPair kp = ()。 BigInteger n = ()。 output[0]=()。 output[4]=()。 String content1 = ()。 ()。 element_init_Zr(r, parampairing)。 element_from_hash(tmp1,keyword,keywordLen)。 return 0。 byte[] ptext = (UTF8)。 } catch (UnsupportedEncodingException ex) { (()).log(, null, ex)。 for(int a=0。 PEKSSystem peksSys = new PEKSSystem()。 try { content_result = (keyWord_cipher)。(1) 當(dāng)用戶輸入關(guān)鍵詞keyword結(jié)束后,系統(tǒng)會將keyword發(fā)送給PEKS系統(tǒng),調(diào)用其中的陷門函數(shù),生成加密后的關(guān)鍵詞密文,具體實現(xiàn)代碼如下,其中sk為私鑰,keyword為關(guān)鍵詞,keywordLen為關(guān)鍵詞長度int trapdoor(sysparams *param, privatekey *sk, unsigned char *keyword, int keywordLen, Trapdoor *tw) { element_t tmp。 element_pow_zn(twt, tmp, skalpha)。 element_pairing(tmp, cipherc1, twt)。 BigInteger d=new BigInteger(dStr)。//解密明文 byte[] mt=()。 } return ()。該系統(tǒng)可在不用對數(shù)據(jù)解密的情況下對數(shù)據(jù)進行關(guān)鍵詞查找,保證了效率的同時也保證了其安全性和穩(wěn)定性。但與此同時,本系統(tǒng)中還有很多缺陷,比如在密文存入硬盤的過程只是簡單的調(diào)用了IO文件的輸入輸出,沒有在存儲進硬盤這一模塊下工夫,我今后的工作中一定會多多研究這一方面。首先誠摯的感謝我的論文指導(dǎo)老師胡程瑜老師。感謝所有的任課老師,是你們讓我能夠靜靜地坐下來,在知識的海洋里吸取更多的營養(yǎng),從而能夠為自己進一步地加油充電。 [Managementof Computing and Information Systems]: Security andProtection—Unauthorized accessGeneral TermsDesign, Experimentation, SecurityKeywordsLogic Flaw,Web Application Security, Extended Finite StateMachine, SQL Signature, InvariantPermission to make digital or hard copies of all or part of this work forpersonal or classroom use is granted without fee provided that copies arenot made or distributed for profit or mercial advantage and that copiesbear this notice and the full citation on the first page. To copy otherwise, torepublish, to post on servers or to redistribute to lists, requires prior specificpermission and/or a fee.CODASPY’12, February 7–9, 2012, San Antonio, Texas, USA.Copyright 2012 ACM 9781450310918/12/02 ...$.Databasebacked web applications have bee a prevalent venue for disseminating information and services. An enormous amount of information is made accessible on Internet through web applications, which interact with the backend database on behalf of users. While providing great convenience to users, those web applications also attract a large number of security exploits. According to a recent survey [29], the attacks that successfully disclose or tamper sensitiveinformation by promising vulnerable web applications account for more than 30% of all the cyber attacks. For instance, on June 2010, it was reported that a vulnerability of ATamp。由于本理論水平比較有限,論文中的有些觀點以及對企業(yè)示例的歸納和闡述難免有疏漏和不足的地方,歡迎老師和專家們指正。還有教過我的所有老師們,你們嚴謹細致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;他們循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪??偠灾?,信息安全的形式日益嚴峻,信息安全形式的多樣性必然會導(dǎo)致破解信息安全的方法日漸增多,時代在改變,技術(shù)也在發(fā)展,我希望能在今后的工作中習(xí)得更加先進的信息安全技術(shù),獲得更加先進的信息安全理念新技術(shù)、新理念融合進系統(tǒng),使系統(tǒng)功能得到不斷完善,使之在信息系統(tǒng)安全中發(fā)揮更大作用。在數(shù)據(jù)加密的過程中 ,使用RSA和DES等加密技術(shù),在很大程度上對數(shù)據(jù)安全進行了加強,保證了數(shù)據(jù)加密強度的同時也增加了數(shù)據(jù)安全存儲的效率。本文設(shè)計和實現(xiàn)了數(shù)據(jù)安全存儲系統(tǒng),使用密碼技術(shù)和手段對信息系統(tǒng)內(nèi)部的數(shù)據(jù)進行透明加密保護,成功達到了信息系統(tǒng)等級保護中有關(guān)數(shù)據(jù)安全保護的基本要求和目標(biāo)。i。 BigInteger c=new BigInteger(miwen)。 else return 1。}(2) 在PEKS系統(tǒng)中生成陷門函數(shù)后,系統(tǒng)會將陷門函數(shù)生成的加密后的關(guān)鍵詞密文發(fā)送至存儲系統(tǒng)中的關(guān)鍵詞檢索算法中,當(dāng)該算法返回TRUE時,即找到該數(shù)據(jù),具體的實現(xiàn)代碼如下,其中tw為陷門函數(shù)中生成的加密后的關(guān)鍵詞密文,cipher為存儲在系統(tǒng)中的密文int test(sysparams *param, Trapdoor *tw, PEKSCipher *cipher) { element_t tmp。 element_from_hash(tmp,keyword,keywordLen)。 } (content_result)。 SaveImpl si = new SaveImpl()。a++){ (chardata[a])。 }(3) PEKS系統(tǒng)在加密完數(shù)據(jù)和關(guān)鍵詞后會將兩個密文一起發(fā)送給存儲模塊進行存儲,存儲模塊調(diào)用IO輸出流,將密文寫入文件中實現(xiàn)存儲,具體代碼實現(xiàn)如下FileOutputStream fos = new FileOutputStream(current)。 BigInteger c = (e, n)。 try { BigInteger e = new BigInteger(eStr)。 element_pow_zn(tmp2, pkh, r)。 element_pow_zn(cipherc1, pkg, r)。 element_init_G1(cipherc1,parampairing)。 String cipher = (keyword1, content1)。 } return output。 output[2]=()。 BigInteger p = ()。 RSAPrivateCrtKey prk = (RSAPrivateCrtKey)()。 //用來存儲密鑰的e n d p q try { KeyPairGenerator kpg = (RSA)。 element_random(skalpha)。其中調(diào)用了PCB庫中的函數(shù),代碼實現(xiàn)如下int keygen(sysparams *param, pubkey *pk, privatekey *sk) { element_init_G1(pkg, parampairing)。 } rv = pairing_is_symmetric(pairing)。 if (!count) printf(input error)。 FILE *fp = stdin。 PEKS系統(tǒng)初始化(1) 首先調(diào)用PCB庫中的函數(shù),形成雙線性初始化函數(shù),其中pbc_pairing_in