【摘要】SSL作為一種在客戶端和服務(wù)器之間建立的安全通道協(xié)議,其涵蓋了對設(shè)備狀態(tài)的查詢及配置等方面的安全保護。OpenSSL則是為網(wǎng)絡(luò)通信提供數(shù)據(jù)完整性的安全協(xié)議,本文在了解SSL安全協(xié)議的基礎(chǔ)前提上,結(jié)合云計算研究的基礎(chǔ)上,設(shè)計出一種基于Open SSL的云信息系統(tǒng),其可有效解決傳輸速度、加密強度、硬件依賴等問題。
【關(guān)鍵詞】SSL;OpenSSL;云計算;安全
OpenSSL一直為應(yīng)用程序提供信息安全的保障,但由于硬件設(shè)備的不及時更新、用戶數(shù)量增多等問題的存在,使得運算速度不斷降低,近幾年云計算的發(fā)展,恰恰可以解決這些問題。在網(wǎng)絡(luò)通信過程中的OpenSSL云,可充分利用現(xiàn)有硬件的計算資源及服務(wù)器,均衡分配各自的OpenSSL的計算任務(wù),它將實現(xiàn)提高資源利用率、降低服務(wù)器投入成本,達到節(jié)約能源并提高工作效率的目的。
1.Open SSL與云計算
1.1 OpenSSL
Open SSL自身包含大量開源安全工具庫,且功能豐富,其主要提供以下功能:SSL安全協(xié)議的實現(xiàn);大數(shù)運算;軟算法;ASN.1編解碼庫;非對稱密鑰生成;數(shù)字證書編解碼;證書請求編解碼;CRL編解碼;數(shù)字證書驗證;OCSP議;PKCS#12個人數(shù)字證書格式實現(xiàn)以及PKCS#7標(biāo)準(zhǔn)實現(xiàn)等。
1.2 云計算
云計算是將龐大的計算處理程序在可信網(wǎng)絡(luò)信息平臺中進行處理,將其拆分眾多單一的小程序,再由系統(tǒng)自動分配到每個計算機,經(jīng)過一系列的任務(wù)調(diào)度,計算完成后返回計算結(jié)果。云計算屬于分布式計算技術(shù)中比較常用的技術(shù),通過云計算機技術(shù),系統(tǒng)管理員可用極短的時間來處理成千上萬的信息,是真正意義上的高性能高效率信息系統(tǒng)。
2.基于OpenSSL云信息系統(tǒng)的總體設(shè)計
2.1 系統(tǒng)總體結(jié)構(gòu)圖設(shè)計
我們將OpenSSL云的4個子系統(tǒng)全部部署在可信網(wǎng)絡(luò)中的計算機中,便可充分利用硬件資源,當(dāng)業(yè)務(wù)量較小時,我們可以及時減少計算機部署。OpenSSL進行證書的簽發(fā)和驗證時,最能體現(xiàn)的就是CA證書服務(wù)器的任務(wù)請求,其可部署任務(wù)調(diào)度子系統(tǒng),也可部署資源收集子系統(tǒng)及云服務(wù)子系統(tǒng),總之要根據(jù)任務(wù)量來進行合理分配。在服務(wù)器需要使用OpenSSL云計算時,也可部署云服務(wù)系統(tǒng),其具體部署方式如圖1所示。
2.2 云服務(wù)子系統(tǒng)運行流程設(shè)計
服務(wù)系統(tǒng)有一條獨立線程,其在云服務(wù)中的作用是定期從任務(wù)調(diào)度子系統(tǒng)中采集任務(wù)調(diào)度機制表;當(dāng)處理來自O(shè)penSSL調(diào)用接口的命令時,負(fù)責(zé)接收及處理線程數(shù)量的工作線程池默認(rèn)設(shè)置5,在服務(wù)請求較多時也能滿足響應(yīng)。如果服務(wù)請求數(shù)超過5,則可根據(jù)實際情況增加線程數(shù)量。
為了可以同時為多個應(yīng)用系統(tǒng)提供服務(wù),進程通訊采用內(nèi)存共享的方式,因此我們需要在云服務(wù)系統(tǒng)中建立多個共享內(nèi)存與應(yīng)用系統(tǒng)進行通信,工作線程序池中的線程數(shù)量必須與云服務(wù)中的內(nèi)存數(shù)量相等,每個線程匹配一個工作內(nèi)存。
在為應(yīng)用系統(tǒng)提供OpenSSL調(diào)用接口時,可從已知共享內(nèi)存列表中,訪問并查找可使用的共享內(nèi)存,再利用找到的共享內(nèi)存向云服務(wù)發(fā)送OpenSSL運算請求。在請求發(fā)出后,循環(huán)等待執(zhí)行結(jié)果,直到執(zhí)行結(jié)果寫入云服務(wù)共享內(nèi)存中。整個處理過程可以采用如圖2所示的通信圖來表示。
在整個云計算系統(tǒng)中,存在兩條不間斷的通訊數(shù)據(jù)流:一條是是資源收集子系統(tǒng)發(fā)送當(dāng)前資源占用數(shù)據(jù)流;另一條是應(yīng)用系統(tǒng)通過云服務(wù)子系統(tǒng)發(fā)出的計算請求處理數(shù)據(jù)流。各個子系統(tǒng)根據(jù)自己的職責(zé),完成各個請求的數(shù)據(jù)處理。
3.云服務(wù)信息系統(tǒng)的實現(xiàn)
在云服務(wù)系統(tǒng)實現(xiàn)過程中,不僅要考慮到管理員的訪問權(quán)限,還需確定客戶端的身份認(rèn)證,經(jīng)由服務(wù)器驗證,在通過驗證后,才可許可登錄,并根據(jù)系統(tǒng)提示配置防火墻,當(dāng)云服務(wù)發(fā)送OpenSSL 運算請求后,云服務(wù)信息系統(tǒng)開始執(zhí)行命令,執(zhí)行步驟如下:
(1)云服務(wù)子系統(tǒng)接收應(yīng)用系統(tǒng)的OpenSSL運算請求后,立即向任務(wù)調(diào)度子系統(tǒng)發(fā)出任務(wù)安排請求。由任務(wù)調(diào)度子系迅速安排調(diào)度任務(wù),即向任務(wù)執(zhí)行子系統(tǒng)發(fā)出通知。
(2)任務(wù)調(diào)度子系統(tǒng)將任務(wù)安排再返回云服務(wù)子系統(tǒng)。由云服務(wù)子系統(tǒng)根據(jù)任務(wù)安排,向任務(wù)執(zhí)行子系統(tǒng)直接發(fā)送任務(wù)執(zhí)行請求。
(3)任務(wù)執(zhí)行子系統(tǒng)核對任務(wù)執(zhí)行請求是否與任務(wù)安排匹配,再確定是否執(zhí)行。
(4)云服務(wù)子系統(tǒng)接收任務(wù)執(zhí)行子系統(tǒng)的執(zhí)行結(jié)果,將應(yīng)用系統(tǒng)的OpenSSL運算結(jié)果
返回給云應(yīng)用系統(tǒng)。
當(dāng)以上命令全部執(zhí)行完畢,則整個系統(tǒng)的數(shù)據(jù)傳輸則成功,在數(shù)據(jù)傳輸命令完成后,客戶端會發(fā)送指令以告知服務(wù)器已關(guān)閉,服務(wù)器接收指令,整個云信息系統(tǒng)連接過程完畢。
4.小結(jié)
本文在云計算的研究基礎(chǔ)上,將Open SSL云化,設(shè)計出基于Open SSL的云信息系統(tǒng),并對系統(tǒng)的實現(xiàn)流程進行描述,實驗證明,此舉大大降低了應(yīng)用程序?qū)τ布囊蕾囆?,符合設(shè)計初衷。
參考文獻
[1]張云勇,陳清金,潘松柏,etc.云計算安全關(guān)鍵技術(shù)分析[J].電信科學(xué),2010,9.
[2]過敏意.綠色計算-內(nèi)涵及趨勢[J].計算機工程,2010.
[3]VOUKMA.Cloundcomputing:issues,research and implementations[J].Journal ofComputing and Information Technology,2008,42(4):235-246.
[4](美)James Rum baugh, Ivar Jacobson, Grady Booch.UML 參考手(第二版)[M].(UML China).北京:機械工業(yè)出版社,2005:2.
[5]郭志學(xué).易學(xué)設(shè)計模式[M].北京:人民郵電出版社, 2009:7.