摘要:分析了目前常用的在線(xiàn)實(shí)現(xiàn)方法。根據(jù)實(shí)際應(yīng)用,結(jié)合各種方法之優(yōu)缺點(diǎn),提出依靠MATLAB系統(tǒng)通過(guò)秘密同態(tài)和安全套接層來(lái)保證科學(xué)計(jì)算中數(shù)據(jù)的安全性。提出基于數(shù)據(jù)庫(kù)的在線(xiàn)改進(jìn)計(jì)算模型,首次嘗試借助秘密同態(tài)來(lái)實(shí)現(xiàn)安全算術(shù)運(yùn)算,并通過(guò)實(shí)驗(yàn)進(jìn)行分析。其結(jié)論比較符合實(shí)際,對(duì)如何提高在線(xiàn)安全計(jì)算提供了一個(gè)可參考的方法。
關(guān)鍵詞:科學(xué)計(jì)算; 秘密同態(tài); 安全系統(tǒng); 安全套接層
中圖分類(lèi)號(hào):TP311文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2007)12-0189-02
如何提高在線(xiàn)計(jì)算的安全性是科學(xué)計(jì)算中非常重要的問(wèn)題。通過(guò)網(wǎng)絡(luò)來(lái)進(jìn)行科學(xué)計(jì)算,已逐漸成為用戶(hù)解決技術(shù)難題的一種有效方法。借助在線(xiàn)WWW技術(shù),普通用戶(hù)只需使用Web瀏覽器發(fā)送處理請(qǐng)求,由服務(wù)端的計(jì)算系統(tǒng)處理數(shù)據(jù),并將計(jì)算結(jié)果以網(wǎng)頁(yè)的形式傳給用戶(hù),從而擴(kuò)展了計(jì)算系統(tǒng)的使用范圍,使普通用戶(hù)也可間接地利用計(jì)算系統(tǒng)的強(qiáng)大功能完成相應(yīng)的任務(wù)。同時(shí),基于科學(xué)計(jì)算數(shù)據(jù)的保密性,為保證傳輸過(guò)程不被第三方獲取,采用SSL技術(shù)保證數(shù)據(jù)的WWW傳輸安全性。客戶(hù)端科學(xué)計(jì)算的數(shù)據(jù)可能希望不被服務(wù)端知道。SSL技術(shù)只能保證傳輸過(guò)程的安全性。為實(shí)現(xiàn)服務(wù)端的安全,筆者提出了秘密同態(tài)技術(shù)[1]實(shí)現(xiàn)服務(wù)端的安全性,對(duì)同態(tài)的問(wèn)題進(jìn)行了一些算術(shù)上的研究和相關(guān)證明。同時(shí)用該思想開(kāi)發(fā)出一個(gè)基于MATLAB計(jì)算系統(tǒng)的簡(jiǎn)單完整的實(shí)驗(yàn)平臺(tái),用實(shí)例驗(yàn)證了其有效性。
1在線(xiàn)實(shí)現(xiàn)方法及分析
在線(xiàn)實(shí)現(xiàn)Web技術(shù)是指服務(wù)端根據(jù)客戶(hù)端的請(qǐng)求自動(dòng)生成新的相應(yīng)頁(yè)面。相應(yīng)頁(yè)面在服務(wù)端完成后,傳至客戶(hù)端。數(shù)據(jù)的處理在服務(wù)端執(zhí)行。主要?jiǎng)討B(tài)WWW技術(shù)分為:
a)PHP(hypertext preprocessor,超文本預(yù)處理器)技術(shù),其語(yǔ)法借鑒了C、Java、Perl等語(yǔ)言,但只需要很少的編程知識(shí)就能使用PHP建立一個(gè)真正交互的Web站點(diǎn)。它與HTML語(yǔ)言具有非常好的兼容性,使用者可以直接在腳本代碼中加入HTML標(biāo)簽,或者在HTML標(biāo)簽中加入腳本代碼,從而更好地實(shí)現(xiàn)頁(yè)面控制。PHP提供了標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)接口,數(shù)據(jù)庫(kù)連接方便、兼容性強(qiáng)、擴(kuò)展性強(qiáng),可以進(jìn)行面向?qū)ο缶幊獭?/p>
b)ASP(active server pages)技術(shù),是微軟開(kāi)發(fā)的一種類(lèi)似HTML(超文本標(biāo)記語(yǔ)言)、Script(腳本)與CGI(公用網(wǎng)關(guān)接口)的結(jié)合體。它沒(méi)有提供自己專(zhuān)門(mén)的編程語(yǔ)言,而是允許用戶(hù)使用許多已有的腳本語(yǔ)言編寫(xiě)ASP的應(yīng)用程序。ASP的程序編制比HTML更方便且更有靈活性。它在Web服務(wù)器端運(yùn)行,運(yùn)行后再將運(yùn)行結(jié)果以HTML格式傳送至客戶(hù)端的瀏覽器。因此ASP與一般的腳本語(yǔ)言相比要安全得多。ASP的最大好處是可以包含HTML標(biāo)簽,也可以直接存取數(shù)據(jù)庫(kù)及使用無(wú)限擴(kuò)充的ActiveX控件,在程序編制上要比HTML方便且更富有靈活性。通過(guò)使用ASP的組件和對(duì)象技術(shù),用戶(hù)可以直接使用ActiveX控件,調(diào)用對(duì)象方法和屬性,以簡(jiǎn)單的方式實(shí)現(xiàn)強(qiáng)大的交互功能。但ASP技術(shù)并非完美無(wú)缺。由于它基本上是局限于微軟的操作系統(tǒng)平臺(tái)之上,主要工作環(huán)境是微軟的IIS應(yīng)用程序結(jié)構(gòu);又因ActiveX對(duì)象具有平臺(tái)特性,ASP技術(shù)不能很容易地實(shí)現(xiàn)在跨平臺(tái)Web服務(wù)器上工作。
c)JSP(Java server pages)技術(shù),是基于Java servlet以及整個(gè)Java體系的Web開(kāi)發(fā)技術(shù)。JSP和ASP在技術(shù)方面有許多相似之處,不過(guò)兩者來(lái)源于不同的技術(shù)規(guī)范組織,以至于ASP一般只應(yīng)用于Windows NT/2000平臺(tái),而JSP則可以在85%以上的服務(wù)器上運(yùn)行;而且基于JSP技術(shù)的應(yīng)用程序比基于ASP的應(yīng)用程序易于維護(hù)和管理。
d)CGI(common gateway interface,公用網(wǎng)關(guān)接口)技術(shù),規(guī)定了Web服務(wù)器調(diào)用其他可執(zhí)行程序(CGI程序)的接口協(xié)議標(biāo)準(zhǔn)。它不是一種語(yǔ)言,只是一個(gè)規(guī)范。Web服務(wù)器通過(guò)調(diào)用CGI程序?qū)崿F(xiàn)與Web瀏覽器的交互,即CGI程序接收Web瀏覽器發(fā)送給Web服務(wù)器的信息并進(jìn)行處理,將響應(yīng)結(jié)果再回送給Web服務(wù)器及Web瀏覽器。CGI程序一般完成Web網(wǎng)頁(yè)中表單(form)數(shù)據(jù)的處理、數(shù)據(jù)庫(kù)查詢(xún),以及實(shí)現(xiàn)與傳統(tǒng)應(yīng)用系統(tǒng)的集成等工作。CGI程序可以用任何程序設(shè)計(jì)語(yǔ)言編寫(xiě),如Shell腳本語(yǔ)言、Perl、Fortran、Pascal、C語(yǔ)言等。但是用C語(yǔ)言編寫(xiě)的CGI程序具有執(zhí)行速度快、安全性高(因?yàn)镃語(yǔ)言程序是編譯執(zhí)行且不可被修改)等特點(diǎn)。
2秘密同態(tài)技術(shù)
秘密同態(tài)(Rivest提出的)是直接允許對(duì)密文操作的數(shù)學(xué)變換,它實(shí)現(xiàn)在保密狀態(tài)下完成相關(guān)操作,并保證了數(shù)據(jù)的正確性。
3改進(jìn)的計(jì)算模型
3.1基于數(shù)據(jù)庫(kù)的改進(jìn)
MATLAB計(jì)算系統(tǒng)與數(shù)據(jù)庫(kù)的連接使用JDBC/ODBC Bridge。對(duì)數(shù)據(jù)庫(kù)的操作,一般先獲得數(shù)據(jù)庫(kù)的句柄,然后用MATLAB函數(shù)進(jìn)行操作。改進(jìn)的MATLAB-Web系統(tǒng)框架結(jié)構(gòu)如圖2所示。
3.2基于傳輸安全SSL協(xié)議的改進(jìn)
SSL協(xié)議是Web瀏覽器與Web服務(wù)器安全交換信息的協(xié)議。
它提供兩個(gè)基本安全服務(wù):鑒別和保密。
SSL可看成TCP/IP協(xié)議中的另一層,如圖3所示,可實(shí)現(xiàn)瀏覽器和服務(wù)器的安全WWW傳輸。其基本過(guò)程如下:a)應(yīng)用層的Web原始數(shù)據(jù)在瀏覽器端通過(guò)SSL層進(jìn)行加密;b)加密的Web數(shù)據(jù)通過(guò)不安全信道傳到服務(wù)器端;c)服務(wù)器端通過(guò)SSL層解密,將原始數(shù)據(jù)交給應(yīng)用層Web。
本文對(duì)這個(gè)過(guò)程作一個(gè)簡(jiǎn)要分析:
a)由于Web數(shù)據(jù)在傳輸之前作了加密處理,中間截取者將無(wú)法獲得原始數(shù)據(jù),他只能得到被加密的密文。同時(shí)為保證加密的數(shù)據(jù)能傳到服務(wù)端,網(wǎng)絡(luò)層(包括)以下不能被加密,以便能進(jìn)行正確的尋址;否則被加密的數(shù)據(jù)將無(wú)法到達(dá)服務(wù)端(除非對(duì)網(wǎng)絡(luò)協(xié)議作整體修整,這是不現(xiàn)實(shí)的)。
b)筆者發(fā)現(xiàn)加密的數(shù)據(jù)在服務(wù)端被解密,即服務(wù)端能看到原始數(shù)據(jù),這可能是一個(gè)缺陷。因?yàn)樵谟行┣闆r下(如商業(yè)機(jī)密),客戶(hù)端只想服務(wù)端處理數(shù)據(jù),而不希望其看到內(nèi)容,以防止數(shù)據(jù)泄露。但盡管這樣,相對(duì)Web的明文總要安全一些。
3.3基于服務(wù)端安全的秘密同態(tài)改進(jìn)
由于SSL技術(shù)只能保證傳輸過(guò)程的安全性,為實(shí)現(xiàn)服務(wù)端的安全(如商業(yè)機(jī)密,客戶(hù)端只想服務(wù)端處理數(shù)據(jù),而不希望其看到內(nèi)容),筆者提出秘密同態(tài)技術(shù)實(shí)現(xiàn)服務(wù)端的安全性。安全科學(xué)計(jì)算系統(tǒng)模型(SSCS)如圖4所示。
4評(píng)價(jià)結(jié)果
在測(cè)試同態(tài)安全時(shí),本文根據(jù)用戶(hù)的需求及科學(xué)計(jì)算的特點(diǎn),選擇算術(shù)運(yùn)算進(jìn)行實(shí)驗(yàn)。筆者對(duì)本文提出的改進(jìn)算法進(jìn)行了仿真實(shí)驗(yàn)。其中各參數(shù)取值為a0=2,b0=1,e=13,p=998 273,q=8 377。結(jié)果如表1、2所示。
數(shù)據(jù)處理不必經(jīng)過(guò)加/脫密過(guò)程,大大提高了效率。
5結(jié)束語(yǔ)
安全科學(xué)計(jì)算將越來(lái)越發(fā)揮它的重大作用,將具有工程計(jì)算、數(shù)據(jù)分析和計(jì)算機(jī)仿真強(qiáng)大功能的MATLAB用于在線(xiàn)WWW計(jì)算,將具有重要的實(shí)際意義。同時(shí)筆者實(shí)現(xiàn)的數(shù)據(jù)庫(kù)操作將為進(jìn)一步處理大量數(shù)據(jù)提供了基礎(chǔ)。由于科學(xué)計(jì)算通常涉及比較敏感的數(shù)據(jù),筆者借助SSL技術(shù)和秘密同態(tài)技術(shù)分別實(shí)現(xiàn)了傳輸安全性和服務(wù)安全性。由于秘密同態(tài)技術(shù)目前還不成熟,且一般只能進(jìn)行算術(shù)運(yùn)算,下一步筆者將考慮秘密同態(tài)的邏輯運(yùn)算問(wèn)題,以增強(qiáng)該研究課題的安全使用問(wèn)題。
參考文獻(xiàn):
[1]DOMINGO-FERRER J. A new privacy homomorphism and applications[J]. Information Processing Letters, 1996,60(5):277-282.
[2]RIVEST R L, ADLEMAN L, DETROUZOS M L. On data banks and privacy homomorphism[C]//Proc of Foundations of Secure Computation. New York: Academic Press, 1978:169-179.
[3]唐春霞,吳曉蓓,徐志良.基于MATLAB的Web應(yīng)用[J].控制工程,2005,12(2): 159-161.
[4]王宏. MATLAB的Web應(yīng)用和開(kāi)發(fā)[J].計(jì)算機(jī)應(yīng)用,2001,21(3): 89-91.
[5]向廣利,陳莘萌,馬捷.實(shí)數(shù)范圍上的同態(tài)加密機(jī)制[J].計(jì)算機(jī)工程與應(yīng)用, 2005,41(20):12-14.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文”