劉倍雄,曾德生,駱金維
(廣東創(chuàng)新科技職業(yè)學(xué)院,廣東 東莞 523960)
基于對稱可逆加密算法的高校網(wǎng)站集群的設(shè)計與實現(xiàn)
劉倍雄,曾德生,駱金維
(廣東創(chuàng)新科技職業(yè)學(xué)院,廣東 東莞 523960)
隨著互聯(lián)網(wǎng)的跨越式飛速發(fā)展,目前高校網(wǎng)站主要包括門戶網(wǎng)站、各行政管理部門和教學(xué)部門的二級門戶網(wǎng)站、專題網(wǎng)站和應(yīng)用系統(tǒng),大量網(wǎng)站急需一個網(wǎng)站集群系統(tǒng)來統(tǒng)一進(jìn)行管理,實現(xiàn)統(tǒng)一的數(shù)據(jù)共享和維護(hù)。文章提出采用“服務(wù)端+多個客戶端”的設(shè)計模式來管理網(wǎng)站群,并優(yōu)化了通信數(shù)據(jù)的加密和解密過程,提高了數(shù)據(jù)的安全性。
網(wǎng)站集群;LAMP;可逆加密算法;序列化
隨著“互聯(lián)網(wǎng)+”的快速發(fā)展,信息傳播速度越來越快,傳播的信息量也越來越多。網(wǎng)站作為一種互聯(lián)網(wǎng)傳媒的重要信息載體也在不斷地飛速發(fā)展,網(wǎng)站的發(fā)展也從早期的基本信息發(fā)布發(fā)展到Web2.0社交互動時代,而且正在從基于HTML5的下一代Web3.0出發(fā),掀起互聯(lián)網(wǎng)新的發(fā)展浪潮。
伴隨著互聯(lián)網(wǎng)的飛速發(fā)展,高校對信息化建設(shè)也在不斷地提出更高的要求,每個高校都建設(shè)了大量的門戶網(wǎng)站和應(yīng)用網(wǎng)站。目前高校網(wǎng)站主要包括學(xué)校主門戶網(wǎng)站、各行政管理部門和教學(xué)部門建立自己的網(wǎng)站、各類專題網(wǎng)站和應(yīng)用系統(tǒng),這些網(wǎng)站在學(xué)校的招生就業(yè)、對外宣傳、信息發(fā)布、業(yè)務(wù)交流等諸多方面提供了巨大的幫助。但也帶來了許多問題:大量的網(wǎng)站形成了一個個“信息孤島”,各個站點之間都是封閉的,需要個性化的服務(wù)器配置,不同網(wǎng)站的開發(fā)語言及運行平臺不同,每個網(wǎng)站建設(shè)與維護(hù)需要單獨管理,這就需要大量的人力、物力和財力來運行多個獨立網(wǎng)站。
目前的網(wǎng)站內(nèi)容管理系統(tǒng)只能解決單個站點的內(nèi)容管理,而對于數(shù)據(jù)在各網(wǎng)站中的相互調(diào)用和統(tǒng)計顯得力不從心,不得不進(jìn)行著重復(fù)勞動。各部門的系統(tǒng)形成了一個個的信息孤島,各站點之間的信息不能共享。這就迫切需要一個統(tǒng)一的系統(tǒng)來進(jìn)行集中管理,統(tǒng)一解決數(shù)據(jù)共享、網(wǎng)站維護(hù)的問題。
2.1 網(wǎng)站集群
網(wǎng)站集群是指統(tǒng)一部署,統(tǒng)一標(biāo)準(zhǔn),建立在統(tǒng)一技術(shù)構(gòu)架基礎(chǔ)之上,信息可以實現(xiàn)基于特定權(quán)限共享呈送的網(wǎng)站整體。
網(wǎng)站集群系統(tǒng)是一種多網(wǎng)站架構(gòu)模式,支持生成獨立網(wǎng)站、多個網(wǎng)站,完成各個網(wǎng)站橫向一體化和縱向一體化網(wǎng)站群的構(gòu)建,主站、子站、網(wǎng)站間的信息可共享和信息互聯(lián)。
網(wǎng)站集群系統(tǒng)具有統(tǒng)一的數(shù)據(jù)結(jié)構(gòu),主網(wǎng)站與子網(wǎng)站、子網(wǎng)站之間數(shù)據(jù)結(jié)構(gòu)統(tǒng)一,數(shù)據(jù)格式定義的統(tǒng)一,實現(xiàn)所有信息在資源這個層面上的整合;網(wǎng)站集群能將各站點連為一體,支持全部站點的統(tǒng)一管理,將現(xiàn)有的各部門的信息聯(lián)系起來,使得同一組織內(nèi)各個站點之間不再互相孤立,為各個站點提供統(tǒng)一的信息協(xié)同框架。網(wǎng)站集群是實現(xiàn)統(tǒng)一部門、統(tǒng)一權(quán)限、消除“信息黑洞”和“信息孤島”的基礎(chǔ),形成供各部門共享的網(wǎng)站集群的軟、硬件資源。
2.2 LAMP技術(shù)
Linux+Apache+Mysql+PHP,簡稱LAMP,是一組常用來搭建動態(tài)網(wǎng)站或者服務(wù)器的開源軟件,其本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應(yīng)用程序平臺。隨著開源潮流的蓬勃發(fā)展,開放源代碼的LAMP已經(jīng)與J2EE和.Net商業(yè)軟件形成三足鼎立之勢,并且該軟件開發(fā)的項目在軟件方面的投資成本較低,因此受到整個IT界的關(guān)注。從網(wǎng)站的流量上來說,70%以上的訪問流量是LAMP來提供的,LAMP是最強大的網(wǎng)站解決方案。
2.3 PHP序列化與反序列化
當(dāng)兩個進(jìn)程在進(jìn)行遠(yuǎn)程通信時,彼此可以發(fā)送各種類型的數(shù)據(jù)。無論是何種類型的數(shù)據(jù),都會以二進(jìn)制序列的形式在網(wǎng)絡(luò)上傳送。因此發(fā)送方需要把這個對象轉(zhuǎn)換為字節(jié)序列才能在網(wǎng)絡(luò)上傳送,而接收方則需要把字節(jié)序列再恢復(fù)為對象。人們把將對象轉(zhuǎn)換為字節(jié)序列的過程稱為對象的序列化,而把字節(jié)序列恢復(fù)為對象的過程稱為對象的反序列化。
PHP中的序列化和反序列化分別通過函數(shù)serialize()和unserialize()實現(xiàn),典型的序列化對象為數(shù)組。
2.4 對稱可逆加密算法
由開發(fā)的對稱可逆加密算法(Azerbaijan Development Group,AzDG)可知,如提供正確的私有密匙,就可通過加密算法對數(shù)據(jù)進(jìn)行加密和解密。私有密鑰決定了加密算法的強度,因此,通常使用由大小寫字母、數(shù)字和特殊符號進(jìn)行混合組成32位私有密匙,只要能保證私有密匙的保密性,即可確保數(shù)據(jù)通信過程的安全。
3.1 總體設(shè)計
網(wǎng)站集群采用“服務(wù)端+客戶端(分站)”的設(shè)計模式,集群系統(tǒng)服務(wù)端充當(dāng)數(shù)據(jù)“交換機”的功能,各分站客戶端的數(shù)據(jù)直接與集群系統(tǒng)服務(wù)端進(jìn)行接駁和聯(lián)絡(luò),實現(xiàn)集群系統(tǒng)服務(wù)端與各客戶端(分站)的信息共享、交換和推送等。同時,各客戶端(分站)之間不直接進(jìn)行信息交換和共享,充分保障權(quán)限的唯一性和系統(tǒng)的安全性。設(shè)計示意如圖1所示。
圖1 總體設(shè)計示意
3.2 數(shù)據(jù)通信設(shè)計
為了數(shù)據(jù)傳輸?shù)陌踩透咝?,?shù)據(jù)通信過程遵循以下規(guī)則:
(1)每個客戶端只能對應(yīng)一個服務(wù)端,但一個服務(wù)端可以對應(yīng)多個客戶端。由服務(wù)器端提供遠(yuǎn)程調(diào)用服務(wù)給客戶端,客戶端接收調(diào)用結(jié)果,同時,遠(yuǎn)程調(diào)用服務(wù)支持獨立設(shè)計和配置,支持客戶端靈活增加和刪除。
(2)使用由大小寫字母、數(shù)字和特殊符號進(jìn)行混合組成32位私有密匙,密鑰分別存放于服務(wù)端和客戶端中。
(3)服務(wù)端和客戶端使用POST方法傳輸數(shù)據(jù),通信的數(shù)據(jù)采用序列化和加密算法進(jìn)行加密。首先將要傳輸?shù)臄?shù)據(jù)使用序列化算法進(jìn)行序列化,其次再將數(shù)據(jù)用AzDG可逆加密算法進(jìn)行加密。
(4)客戶端從服務(wù)端接收到返回數(shù)據(jù)后,首先使用與服務(wù)端約定的私有密鑰進(jìn)行解密,其次再使用反序列化算法,最終得到原傳輸?shù)臄?shù)據(jù)。
數(shù)據(jù)由服務(wù)端發(fā)送到客戶端流程圖如圖2所示,數(shù)據(jù)由客戶端發(fā)到服務(wù)端的過程與上述過程類似。
圖2 數(shù)據(jù)由服務(wù)端傳向客戶端示意
3.3 對稱可逆加密算法設(shè)計
(1)加密算法。首先使用隨機數(shù)發(fā)生器產(chǎn)生0—32000的數(shù)字,其次,對生成的隨機數(shù)使用MD5加密算法生成32位密碼串。其次,通過對待傳輸?shù)男蛄谢瘮?shù)據(jù)與密碼串進(jìn)行取異或運算,再將運算結(jié)果使用私有密碼進(jìn)行對稱可逆加密算法AzDG加密。最后,對加密的數(shù)據(jù)進(jìn)行base 64_encode數(shù)據(jù)編碼,以便于在網(wǎng)絡(luò)當(dāng)中傳輸。使用隨機數(shù)的MD5參與運算,增加了數(shù)據(jù)被破解的難度,保證數(shù)據(jù)的安全性。算法流程如圖3所示。
(2)解密算法。對接收到的加密數(shù)據(jù),首先使用base64_decode對數(shù)據(jù)進(jìn)行解碼。其次,使用與加密算法約定的私有密鑰,使用對稱可逆算法AzDG解密。最后,對解密出來的數(shù)據(jù)進(jìn)行取異或運算,最終得到原傳輸?shù)男蛄谢瘮?shù)據(jù)。算法流程如圖4所示。
4.1 系統(tǒng)運行環(huán)境
操作系統(tǒng):centos 6.5;軟件環(huán)境:Apache 2.4,Mysql 5.0,PHP 5.3。
4.2 算法仿真
假設(shè)等待傳輸?shù)氖且痪S數(shù)組,內(nèi)容為:a r r a y('uid'=>1,'name'=>'naviget'),分別使用直接使用AzDG算法和使用本文算法進(jìn)行對比,仿真數(shù)據(jù)如圖5所示。
相同的傳輸數(shù)據(jù),在使用不同的隨機數(shù)時,得到的置亂字符串不同,因此,加密后傳輸時的字符串也不同。
4.3 算法分析
由加密算法可知,對傳輸數(shù)據(jù)進(jìn)行序列化處理后,數(shù)據(jù)與隨機字符串進(jìn)行異或運算使數(shù)據(jù)長度增長了一倍。相同的傳輸數(shù)據(jù)進(jìn)行不同的隨機異或置亂,得到不同的數(shù)據(jù)結(jié)果和傳輸數(shù)據(jù),這在一定程度上增加了數(shù)據(jù)被破解的難度,降低了私有密鑰被猜中及使用暴力破解的風(fēng)險。因此,數(shù)據(jù)接收方只有同時獲得私有密鑰及數(shù)據(jù)置亂算法,才能準(zhǔn)確無誤地解密傳輸數(shù)據(jù)。
綜上所述,本文的算法在增強了數(shù)據(jù)通信的安全性,降低了被惡意破解和使用暴力破解的風(fēng)險,新算法使用通信數(shù)據(jù)大小增加一倍,但為了數(shù)據(jù)的安全通信,這種代價通常是值得的。
圖3 待傳輸?shù)男蛄谢瘮?shù)據(jù)加密流程
圖4 數(shù)據(jù)解密流程圖
圖5 數(shù)據(jù)加密與解密過程仿真
[1]陳立,李蘭友. 基于LAMP的高校網(wǎng)站集群建設(shè)與管理研究[J].南京工程學(xué)院學(xué)報(自然科學(xué)版),2011(1):36-40. [2]孫祎. 基于ThinkPHP的網(wǎng)站集群設(shè)計[J].電腦知識與技術(shù),2015(31):73-74.
[3]劉建川,甘泉,張堯. 基于虛擬化的“天地圖·四川”網(wǎng)站集群設(shè)計與實現(xiàn)[J].測繪,2013(5):195-197.
Design and implementation of the university website cluster based on the symmetrical reversible encryption algorithm
Liu Beixiong, Zeng Desheng, Luo Jinwei
(Guangdong Innovative Technical College, Dongguan 523960, China)
With the Leaps and bounds of Internet, at present, the university website mainly includes portals, two level portal of, various administrative departments and teaching department, special website and application system, and a large number of websites need a web cluster system to achieve unified management, unified data sharing and maintenance. This paper adopts the“design multiple mode server + client”to manage the website group, and optimizes the communication data encryption and decryption process, improving the security of the data.
website cluster; LAMP; reversible encryption algorithm; serialization
廣東創(chuàng)新科技職業(yè)學(xué)院2015校級科研項目;項目名稱:高等職業(yè)教育一體化教學(xué)信息資源平臺;項目編號:2015kyxm012。
劉倍雄(1983— ),男,廣東汕頭,碩士,講師,高級工程師,高級項目經(jīng)理;研究方向:網(wǎng)站集群,大數(shù)據(jù)應(yīng)用,通信技術(shù)。