《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 主機間非安全通信變為安全通信方法的研究
主機間非安全通信變為安全通信方法的研究
2014年微型機與應用第18期
趙必廈
藍盾信息安全技術股份有限公司,廣東 廣州 510000
摘要: 大數據集群的主機之間傳輸數據,由于大數據技術考慮性能比較多,認為主機集群之間是高度可信的,在傳輸數據時,數據很多都是沒有加密的,存在安全問題,這給不懷好意的入侵者提供了切入口。針對這個問題,提出了一種基于代理服務的方法,把主機間非安全通信變為安全通信,實現了安全數據傳輸的目的。首先敘述了代理服務器技術和Thrift服務技術,然后描述了CS架構的一般主機的通信模型和基于代理服務的通信模型,接著歸納了幾類加密算法,之后給出了Solr搜索引擎的應用案例,最后歸納了本方法的特點與應用范圍。
Abstract:
Key words :

  摘  要: 大數據集群的主機之間傳輸數據,由于大數據技術考慮性能比較多,認為主機集群之間是高度可信的,在傳輸數據時,數據很多都是沒有加密的,存在安全問題,這給不懷好意的入侵者提供了切入口。針對這個問題,提出了一種基于代理服務的方法,把主機間安全通信變為安全通信,實現了安全數據傳輸的目的。首先敘述了代理服務器技術和Thrift服務技術,然后描述了CS架構的一般主機的通信模型和基于代理服務的通信模型,接著歸納了幾類加密算法,之后給出了Solr搜索引擎的應用案例,最后歸納了本方法的特點與應用范圍。

  關鍵詞: 代理服務;安全通信;非安全通信;主機間

0 引言

  信息安全越來越被人們所關注和重視,尤其是在云計算、大數據的時代[1]。但是,很多大數據系統及其應用平臺為了性能經常忽略掉部分安全因素,認為集群主機之間是高度可信的,因此,該類系統很多都是開放明文的接口提供給其他系統進行調用,這為不懷好意的入侵者提供了切入點。有沒有一種方法可以有效地避免明文傳輸數據,而又不改變原系統的接口呢?本文介紹了一種基于代理服務的主機之間非安全通信變為安全通信的方法。該方法基于Thrift服務,在客戶端與服務器之間創建一個代理服務層,該層位于服務器節點上面,把服務器端明文傳輸的數據在出本機網卡之前進行了加密,然后發送給客戶端,避免了明文傳輸,提高了系統的安全性,有效防止入侵者非法截取數據。

1 代理服務器

  1.1 代理服務器技術

  代理服務器[2-3]是指源主機不直接訪問目標主機,而是由源主機與代理服務器建立連接,源主機對目標主機的訪問請求都發送到代理服務器,然后由代理服務器直接訪問目標主機并獲取到信息,最后由代理服務器返回信息給源主機。

  代理服務器將源主機與目標主機的通信分為兩段,一段是從源主機到代理服務器,另一段是從代理服務器到目標主機。這樣,代理服務器把源主機對目標主機的訪問置于控制之下,使訪問者無法了解到目標主機的結構和運行情況,提高了安全性。

  代理服務器也有不足,即源主機與目標主機之間通信必須開啟代理服務器主機,同時,代理服務器主機的機器使用性能也會降低,代理服務器成為源主機與目標主機之間的核心服務。

  1.2 Thrift服務技術

  Thrift來源于Facebook,目前是Apache基金會的一個開源項目,它是一個軟件服務框架,用來進行可擴展跨語言服務的開發,結合了功能強大的堆棧和代碼生成引擎,能夠在C++、Java、Python等編程語言間無縫結合,提供高效的服務。

  1.2.1 Thrift服務的創建過程

  Thrift服務創建的過程如下:

  (1)創建Thrift接口文件,即“.thrift”文件;

  (2)產生目標語言的接口文件,例如Java語言;

  (3)編寫服務端代碼;

  (4)編寫客戶端代碼;

  (5)運行服務端應用程序;

  (6)運行客戶端應用程序。

  1.2.2 服務端編碼的基本步驟

  服務端編碼的基本步驟為:首先實現服務處理接口,然后依次創建TProcessor、TServerTransport、TProtocol、TServer對象,最后啟動Server。

  1.2.3 客戶端編碼的基本步驟

  客戶端編碼的基本步驟為:首先創建Transport,接著創建TProtocol,然后基于TTransport和TProtocol創建Client,最后調用Client的相應方法。

  1.2.4 數據傳輸協議

  Thrift提供了以下4種數據傳輸協議:

  (1)TBinaryProtocol:二進制格式的傳輸協議。

  (2)TCompactProtocol:壓縮格式的傳輸協議。

  (3)TJSONProtocol:JSON格式的傳輸協議。

  (4)TSimpleJSONProtocol:JSON只寫的傳輸協議,生成的文件很容易通過腳本語言解析。

2 通信模型

  2.1 CS架構的主機的通信模型

  CS架構的主機之間的通信模型如圖1所示。

002.jpg

  主機之間的邏輯處理流程如下:

  (1)源主機啟動客戶端,向目標主機的服務端發送請求;

  (2)目標主機的服務端接收到請求,處理后,返回信息給源主機的客戶端;

  (3)流程結束。

  由于請求、返回的過程需要網絡傳輸數據,因此存在數據被截獲的風險。而且,如果數據未經過加密,則存在信息被泄密的安全隱患。

  2.2 CS架構的基于代理服務的通信模型

  CS架構的基于代理服務的主機之間的通信模型如圖2所示。

003.jpg

  主機之間的邏輯處理流程如下:

  (1)源主機啟動客戶端,向目標主機的代理服務端發送加密請求;

  (2)目標主機的代理服務端接收到請求,解密后轉發請求給本機的服務端;

  (3)目標主機的服務端接收到請求,處理后返回信息給本機的代理服務端;

  (4)目標主機的代理服務端接收到本機的服務端返回的信息,加密后返回信息給源主機的客戶端;

  (5)流程結束。

  代理服務端一般應該實現服務端提供的所有接口,這樣,客戶端只需要在傳輸時進行加密與改變通信端口,接收返回信息后進行解密即可,客戶端內部已經實現的業務邏輯無需重新修改,減少了研發時間與成本。

3 加密算法

  加密是安全通信的基礎,加密算法主要分為密鑰算法、單向散列算法和其他數據算法[4-5]。

  3.1 密鑰算法

  密鑰算法用來對敏感數據、摘要、簽名等信息進行加密,常用的密鑰算法如表1所示。

001.jpg

  3.2 單向散列算法

  單向散列算法一般用于產生消息摘要、密鑰加密等,常見的單向散列算法如表2所示。

005.jpg

  3.3 其他數據算法

  其他數據算法包括一些常用編碼算法、明文轉換算法等,例如Base64、Quoted Printable、EBCDIC等。

  3.4 本文使用的加密算法及其處理過程

  本文使用的加密算法主要綜合AES算法和Base64算法。加密的過程是先使用AES算法加密,然后使用Base64算法加密后進行傳輸;解密的過程是先使用Base64算法解密,然后使用AES算法解密,獲得明文。

4 應用案例

  4.1 搜索引擎技術

  搜索引擎[6-7]是指“根據一定的策略、運用特定的計算機程序從互聯網上搜集信息,在對信息進行組織和處理后,為用戶提供檢索服務,將用戶檢索相關的信息展示給用戶的系統”。搜索引擎包括全文索引、目錄索引、元搜索引擎、垂直搜索引擎等,具代表性的企業主要有百度、谷歌等。

  開源的搜索引擎主要以Lucene和Sphinx為首。其中,Lucene是Apache軟件基金會旗下一個開放源代碼的全文檢索引擎工具包,在它基礎之上還有一些開源的或者商用的搜索引擎,例如Constellio、SearchBlox、Solr、ElasticSearch等。基于Lunece的搜索引擎都提供了完整的查詢、索引、部分文本分析等功能,有些功能更加強大、擴展性更好。其中,開源中國社區OSChina是Lucene的用戶之一。Sphinx是一個基于SQL的全文檢索引擎,可以結合MySQL、PostgreSQL進行全文搜索,提供比數據庫本身更專業的搜索功能。

  4.2 搜索引擎代理的安全隱患

  搜索引擎技術有一個共同點:基于CS架構,需要搭建起搜索引擎服務器,然后由應用程序調用搜索引擎服務器的接口,實現搜索的目的。

  由于搜索引擎的傳輸過程基本是明文傳輸的,因此,有可能會被嗅探器等抓包軟件捕獲到明文,非法獲取到私隱數據,存在數據滲漏的危險。

  4.3 本方法應用于搜索引擎

  本方法應用于Solr搜索引擎[8]節點上面,使用Thrift服務作為代理服務,其通信模式如圖3所示。

004.jpg

  主機之間的業務處理流程如下:

  (1)源主機的Thrift客戶端使用AES算法加密,然后使用Base64算法加密進行傳輸;

  (2)代理服務器的Thrift服務端接收到客戶端的請求,使用Base64算法解密,再使用AES算法解密,得到客戶端真正的請求;

  (3)代理服務器把客戶端的請求發送給本機的Solr服務器進程,Solr服務器進程處理請求后返回結果給代理服務器;

  (4)代理服務器把Solr服務器進程的返回結果使用AES算法加密后再使用Base64加密進行傳輸;

  (5)源主機的Thrift客戶端接收到服務器端的結果,使用Base64算法解密后,再使用AES算法解密,獲得明文的結果,轉發給應用前端進行展示。

  由于Thrift服務接口在本機就把Solr服務接口的查詢內容查詢出來了,因此不影響查詢性能。在傳輸的過程中,Thrift客戶端與Thrift服務端的傳輸是加密的,從而保證了數據傳輸的安全。

5 本方法的特點與應用范圍

  本方法具有如下特點:

  (1)可以有效防止信息被非法竊取。主機之間傳輸已經加密,可以有效防止信息被非法竊取。不管之前主機之間是否加密,通過在原來的客戶端與服務端之間加一層代理服務端,可以有效地對主機之間相互通信的信息進行加密。

  (2)不需要改變服務器端原有的協議即可實現加密的功能。不改變目標主機原來服務的協議,只需要在目標主機上部署并啟動代理進程,在代理進程中開放與原來服務一樣的接口,最后對客戶端做很少的改動即可實現加密的功能。

  (3)適用于“之前沒有加密,但是現在需要加密”的各種系統之間的集成,提高系統的安全性。

6 結論

  本文針對主機間明文傳輸數據,提出了一種基于代理服務的把明文傳輸的數據先進行加密然后傳輸的方法,保證了數據傳輸的安全。將本方法應用于Solr搜索引擎節點,在保證不影響查詢效率的同時,保證了傳輸安全性。本方法可以廣泛應用于“之前沒有加密,但是現在需要加密”的各種系統之間的集成,提高系統的安全性。在下一步的研究中,可以考慮改進代理服務層的加密算法,使得數據傳輸更高效。

  參考文獻

  [1] 王倩,朱宏峰,劉天華.大數據安全的現狀與發展[J].計算機與網絡,2013(16):66-69.

  [2] 吳益清,謝培泰.代理服務器的原理與實現[J].信息工程大學學報,2000(4):40-43.

  [3] 周偉.高性能HTTP代理服務器關鍵技術研究與實現[D].哈爾濱:哈爾濱工程大學,2012.

  [4] 陳健.幾種常用數據加密算法的比較[J].福建商業高等專科學校學報,2003(5):45-47.

  [5] 廉士國,孫金生,王執銓.幾種典型視頻加密算法的性能評價[J].中國圖象圖形學報(A輯),2004,9(4):483-490.

  [6] 張興華.搜索引擎技術及研究[J].現代情報,2004(4):142-145.

  [7] 黃知義,周寧.幾類搜索引擎的原理剖析、比較研究及發展趨勢探討[J].圖書館學研究,2005(3):61-64,67.

  [8] 張新生.基于solr的分布式搜索引擎研究[D].武漢:華中科技大學,2012.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久久4k岛国高清一区二区 | 欧美午夜在线观看理论片 | 国产精品精品国产一区二区 | wwwwww黄| 五月天婷婷精品免费视频 | 天天爽天天操 | 久色视频网| 一级做a爰久久毛片武则天 一级做a免费视频 | 日韩aa| 人人澡人人插 | 国产黄在线观看 | 99久久99| 丝袜啪 | 欧美成人性色xxxx视频 | 最近免费字幕中文大全视频 | 亚洲成人中文 | 91精品在线观看视频 | 视频一区日韩 | 麻豆69堂免费视频 | 男女很黄很色床视频网站免 | 日本九色| 亚洲激情视频网站 | 亚洲福利视频网站 | 国产精品成人久久久久 | 欧美日韩 国产区 在线观看 | 欧美丝袜制服 | 国产一卡2卡3卡四卡网站 | 三级黄网站 | 制服丝袜 自拍偷拍 | 欧美激情视频免费 | 北条麻妃国产九九九精品视频 | 成人免费一级毛片在线播放视频 | 欧美一区综合 | 久草久草久草久草 | 九九国产精品视频 | 亚洲欧美日韩天堂在线观看 | 九九国产视频 | 精品欧美一区二区精品久久 | 日本三级带日本三级带黄国产 | 波多野衣结在线精品二区 | 波多野结衣精品一区二区三区 |