分布式與云計算技術探究與安全瓶頸的研究課件_第1頁
分布式與云計算技術探究與安全瓶頸的研究課件_第2頁
分布式與云計算技術探究與安全瓶頸的研究課件_第3頁
分布式與云計算技術探究與安全瓶頸的研究課件_第4頁
分布式與云計算技術探究與安全瓶頸的研究課件_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

分布式與云計算技術探究與安全瓶頸的研究

20140609分布式與云計算技術探究20140609分布式與云計算技術探究(一)RPC概述RPC原理RPC應用分布式與云計算技術探究(一)RPC概述RPC原理RPC應用RPC概述背景問題對策RPC定義優(yōu)勢結構架構演變架構圖分析RPC概述背景問題對策RPC定義優(yōu)勢結構架構演變架構圖分析1.訪問量逐年攀升服務器數(shù)不斷增加2.業(yè)務不斷發(fā)展應用規(guī)模日趨龐大3.對性能可靠性的要求越來越高問題1.訪問量逐年攀升服務器數(shù)不斷增加2.業(yè)務不斷發(fā)展應用規(guī)模日對策拆分對巨型系統(tǒng)進行梳理垂直拆分成多個獨立的Web系統(tǒng)剝離抽取共用的服務提供遠程調(diào)用接口與應用共存集群甄別核心的服務獨立搭建集群提供專門服務均衡減少專業(yè)負載均衡設備使用,應用自行支持分布式RPC基石之一對策拆分對巨型系統(tǒng)進行梳理垂直拆分成多個獨立的Web系統(tǒng)剝離分布式程序設計在單臺機器上構建并測試應用程序,然后將程序劃分為兩個或多個程序片,加入通信協(xié)議以允許每片程序在單獨的計算機上運行。從一個程序片調(diào)用另一個程序片的過程稱為遠程過程調(diào)用,即RPC。RPC是一個Client/Server模型,調(diào)用程序片(本地程序)稱為rpcclient,被調(diào)用程序片(遠程程序)稱為rpcserverRPC(RemoteProcedureCall)——遠程過程調(diào)用協(xié)議,它是一種通過網(wǎng)絡從遠程計算機程序上請求服務,而不需要了解底層網(wǎng)絡技術的協(xié)議。RPC協(xié)議假定某些傳輸協(xié)議的存在,如TCP或UDP,為通信程序之間攜帶信息數(shù)據(jù)。

什么是RPC?分布式程序設計什么是RPC?RPC使用client/server模型。在OSI網(wǎng)絡通信模型中,RPC跨越了傳輸層和應用層。RPC使得開發(fā)包括網(wǎng)絡分布式多程序在內(nèi)的應用程序更加容易。RPC作為普遍的C/S開發(fā)方法,開發(fā)效率高效,可靠高。

RPC的優(yōu)勢RPC使用client/server模型。在OSI網(wǎng)絡通信模分布式服務架構Allinone垂直應用架構流動計算架構單一應用架構

VerticalApplicationDistributedServiceElasticComputing。。。。。applicationservice1~1010~10001000~1000010000+PV(萬)架構演變過程分布式服務架構Allinone垂直應用架構流動計算架構單架構圖前端負載+緩存(lvs+nginx)webwebwebwebweb

serveruseruserproductproductorderorder消息中間件統(tǒng)一配置平臺分布式緩存DAL(分庫分表、讀寫分離)dbdbdbdbdbdbDbcluster

統(tǒng)一監(jiān)控平臺使用RPC通信:同步/異步調(diào)用client負載均衡…….orderwebloginweborderdistributed

serverLogicserverLayerBaseserverLayer架構圖前端負載+緩存(lvs+nginx)webwebwebRPC原理原理操作流程參數(shù)傳遞RPC原理原理操作流程參數(shù)傳遞RPC的基本思想:允許程序調(diào)用位于其他機器上的進程(代碼遷移)客戶存根(clientstub):服務器過程的代理服務器存根(serverstub):客戶過程的代理RPC原理RPC的基本思想:允許程序調(diào)用位于其他機器上的進程(代碼遷移1.客戶端進程正常調(diào)用客戶存根2.客戶存根將參數(shù)生成消息,并調(diào)用本地操作系統(tǒng),接著掛起3.本地操作系統(tǒng)將消息發(fā)送給服務器4.服務器(處于接收狀態(tài))的操作系統(tǒng)將收到的消息傳給服務器存根5.服務器存根將參數(shù)提取出來,并調(diào)用服務器上的進程6.服務器執(zhí)行完操作,將結果返還給服務器存根7.服務器存根將結果打包成消息,并調(diào)用服務器操作系統(tǒng)8.服務器操作系統(tǒng)將消息發(fā)給客戶端9.客戶端操作系統(tǒng)將消息傳給客戶端存根10.客戶存根將結果去除返還給客戶進程RPC的基本操作流程1.客戶端進程正常調(diào)用客戶存根RPC的基本操作流程RPC的基本操作流程RPC的基本操作流程不同的機器數(shù)據(jù)編碼格式不一樣,參數(shù)解碼出錯指針和引用的傳遞解決方法:約定雙方遵守的協(xié)議,消息結構,數(shù)據(jù)結構的表示存根中加入接口進行轉化用復制——還原調(diào)用代替引用調(diào)用參數(shù)傳遞的問題不同的機器數(shù)據(jù)編碼格式不一樣,參數(shù)解碼出錯參數(shù)傳遞的問題RPC應用在網(wǎng)絡中的應用在嵌入式系統(tǒng)中的應用

在三層分布系統(tǒng)中的應用RPC應用在網(wǎng)絡中的應用在嵌入式系統(tǒng)中的應用 在三層分布系統(tǒng)為何需要RPC?現(xiàn)今企業(yè)大多數(shù)的信息系統(tǒng)解決方案是在局域網(wǎng)上實現(xiàn)的,而且主要是面向部門級應用的。

一方面,企業(yè)內(nèi)部各組織機構開發(fā)的各種單項應用以及多途徑引入的應用軟件,造成普遍存在的異構信息孤島問題,使得數(shù)據(jù)難以共享、集成。另一方面,隨著Internet/Intranet技術的飛速發(fā)展,企業(yè)對數(shù)據(jù)共享和深層次的應用的要求(例如基于數(shù)據(jù)倉庫的OLAP和數(shù)據(jù)采掘等決策支持應用)越來越迫切。不但需要集成分布在網(wǎng)絡中多個數(shù)據(jù)庫服務器上的數(shù)據(jù),而且需要訪問分布在網(wǎng)絡上的電子郵件、HTML文檔、電子表格以及其它非數(shù)據(jù)庫數(shù)據(jù)源。要集成的不但包括本企業(yè)局域網(wǎng)上的數(shù)據(jù),而且包括處于Internet環(huán)境下企業(yè)外部的相關數(shù)據(jù)。RPC在網(wǎng)絡中的應用為何需要RPC?RPC在網(wǎng)絡中的應用

在這種情況下,要求建立一個分布、異構的計算環(huán)境,在此環(huán)境下實現(xiàn)系統(tǒng)的互操作。要解決分布、異構的數(shù)據(jù)訪問和互操作問題,一種有效的手段是利用RPC。使用RPC使軟件開發(fā)人員能夠透明的調(diào)用網(wǎng)絡另一端機器提供的服務而不用管對方機器的體系結構。RPC的原理是將一個服務的請求和執(zhí)行在客戶和服務器之間進行分布??蛻粼谡埱笠粋€服務之前,要知道服務的接口名和調(diào)用參數(shù),然后它通過網(wǎng)絡向服務器發(fā)出RPC請求。服務器收到請求后,調(diào)用本地的服務實現(xiàn)之,然后將結果傳回客戶。RPC在網(wǎng)絡中的應用RPC在網(wǎng)絡中的應用

2000年5月W3C提出的SOAP技術是一種新的對象遠程過程調(diào)用(ORPC)技術,有助于實現(xiàn)大量異構程序和平臺之間的互操作性,實現(xiàn)異構數(shù)據(jù)源數(shù)據(jù)的訪問和集成,從而使存在的應用能夠被廣泛的用戶所訪問。SOAP是把成熟的基于HTTP的WEB技術與XML的靈活性和可擴展性組合在一起。它在一定范圍內(nèi)能夠克服已存在技術(如CORBA和DCOM)的一些缺陷,提供一種新的進行異構數(shù)據(jù)集成的手段。RPC在網(wǎng)絡中的應用RPC在網(wǎng)絡中的應用什么是SOAP?

SOAP即簡單對象訪問協(xié)議,是一種輕量的、簡單的、基于XML的協(xié)議,它被設計成在WEB上交換結構化的和固化的信息。

作為WebService三要素:SOAP、WSDL、UDDI之一,SOAP用來傳遞信息的格式,WSDL用來描述如何訪問具體的接口,UDDI用來管理、分發(fā)、查詢WebService。SOAP可以和現(xiàn)存的許多因特網(wǎng)協(xié)議和格式結合使用,包括超文本傳輸協(xié)議(HTTP),簡單郵件傳輸協(xié)議(SMTP),多用途網(wǎng)際郵件擴充協(xié)議(MIME)。RPC在網(wǎng)絡中的應用什么是SOAP?RPC在網(wǎng)絡中的應用SOAP中的RPC

SOAP最常用的應用是作為一個RPC協(xié)議。SOAP采用的是將已有的XML技術和HTTP技術結合起來,用XML作為其編碼模式,用HTTP作為其RPC的傳輸協(xié)議。在一個SOAP環(huán)境,WEB服務器就是SOAP的ORB(對象請求代理),而后臺服務器可以是基于任何已有的RPC技術的服務提供者,當然也可以是WEB服務器。SOAPRPC工作方式的全過程:

首先從客戶端開始,客戶發(fā)出遠程過程調(diào)用請求,這常表現(xiàn)為點擊瀏覽器頁面上的某個鏈接,當用戶點擊后,SOAPRequest就由客戶端發(fā)出。這個SOAPRequest按照SOAP協(xié)議的要求,以XML的格式封裝在一個HTTPPost請求中,并加上相關的請求頭信息向服務器發(fā)送。RPC在網(wǎng)絡中的應用SOAP中的RPCRPC在網(wǎng)絡中的應用

然后服務器收到HTTPPost請求,由于是作為HTTP請求傳輸?shù)?,服務器查看HTTP請求(這里實際上是SOAP請求)的是哪個服務器上的哪個服務,處理該請求的服務器將請求中以XML形式攜帶的數(shù)據(jù)傳遞給該請求中要求調(diào)用的應用程序。在處理了請求之后,HTTP服務器發(fā)回一個HTTP響應到客戶端。響應包括用一個狀態(tài)代碼來表示請求的結果。響應也可以包含任意的體信息,比如調(diào)用的返回值。RPC在網(wǎng)絡中的應用然后服務器收到HTTPPost請求,由于是作舉一個SOAP請求的實例:在這里,除去SOAP元素,實際要發(fā)出的遠程調(diào)用方法名是getReverse,而調(diào)用參數(shù)是Hello,World。這個SOAP請求的目的就是:調(diào)用getReverse,取得輸入?yún)?shù)的逆序。RPC在網(wǎng)絡中的應用舉一個SOAP請求的實例:在這里,除去SOAP元素,實際要用SOAP進行RPC的好處:SOAP調(diào)用的數(shù)據(jù)和方法名傳輸是基于XML的。利用XML在信息交換上的強大能力,可使數(shù)據(jù)和數(shù)據(jù)的表現(xiàn)形式分離,從而實現(xiàn)分布的應用程序之間的透明信息交換而不需關心信息的具體編碼格式。

SOAP協(xié)議是基于文本的協(xié)議,因此它是完全與平臺無關的協(xié)議,能夠接受文本信息的一切系統(tǒng)都可以發(fā)出和接收SOAP消息,而且Server在接受了消息以后,可以任意選擇使用本地的可執(zhí)行程序,或是COM組件,或是一段腳本等等來處理SOAP消息。RPC在網(wǎng)絡中的應用用SOAP進行RPC的好處:RPC在網(wǎng)絡中的應用SOAP用HTTP作為RPC協(xié)議,它簡單、配置廣泛,且對防火墻比其它協(xié)議更容易發(fā)揮作用。像IIS和Apache這樣的Web服務器就可對RPC進行處理。而且在客戶和服務器被防火墻或代理服務器分隔的情況下,使用HTTP協(xié)議進行RPC比使用DCOM或CORBA這類協(xié)議容易,這是因為現(xiàn)有的Internet連接技術對遵循HTTP協(xié)議的信息有很好的處理技術。RPC在網(wǎng)絡中的應用SOAP用HTTP作為RPC協(xié)議,它簡單、配置廣泛,且對防火RPC應用在嵌入式系統(tǒng)在嵌入式環(huán)境下,節(jié)點間的通信往往是通過顯式地發(fā)送和接收消息進行的,網(wǎng)絡的開發(fā)者需要了解網(wǎng)絡接口及使用方式,通信過程對開發(fā)者來說不是透明的。這樣做的優(yōu)點是:通信效率高,可以針對發(fā)送的數(shù)據(jù)類型和語義進行優(yōu)化,資源占用少,響應速度快。但是它的缺點也很明顯,增加了開發(fā)的復雜性。為了提高節(jié)點間通信層次,隱藏通信細節(jié),提高開發(fā)效率,提出了將RPC應用于嵌入式環(huán)境下。RPC應用在嵌入式系統(tǒng)在嵌入式環(huán)境下,節(jié)點間的通信往往是通RPC應用在嵌入式系統(tǒng)例:在采用ARM7(PhilipsLPC2210)為處理器,μC/OS-II為底層操作系統(tǒng),以太網(wǎng)和TCP/IP協(xié)議棧為網(wǎng)絡環(huán)境。由于在嵌入式環(huán)境下,節(jié)點間通信的數(shù)據(jù)量比較小,對實時性有一定的要求,因此設計中是以低延時作為主要目標。RPC應用在嵌入式系統(tǒng)例:在采用ARM7(PhilipsRPC應用在嵌入式系統(tǒng)在ARM平臺上用C語言描述的RPC請求報頭和服務器存根注冊列表:RPC應用在嵌入式系統(tǒng)在ARM平臺上用C語言描述的RPCRPC應用在嵌入式系統(tǒng)從測試結果可以看出,RPC相關操作對調(diào)用時間的影響極低,基本實現(xiàn)了低延時的設計目標。RPC應用在嵌入式系統(tǒng)從測試結果可以看出,RPC相關操作RPC在三層分布系統(tǒng)中的應用越來越多的數(shù)據(jù)庫應用系統(tǒng)使用三層分布架構,即在原有的客戶機/服務器體系結構之間加人了一層或多層應用服務程序這種程序稱為應用服務器。RPC在三層分布系統(tǒng)中的應用越來越多的數(shù)據(jù)庫應用系統(tǒng)使用三層RPC在三層分布系統(tǒng)中的應用該系統(tǒng)在技術上主要采用RPC來實現(xiàn)客戶端與服務器的通信,而在服務器與數(shù)據(jù)庫之間則采用OCI(OracleCallInterface)接口來實現(xiàn)通信。終端通過RPC客戶端(Stub)調(diào)用應用服務器提供的遠程過程終端只需將調(diào)用接口所需要的參數(shù)傳遞給應用服務器,而程序的運行實際上是在應用服務器上完成的。服務器處理傳來的信息,通過OCI接口訪問Oracle服務器,將從終端傳來的數(shù)據(jù)傳輸給Oracle數(shù)據(jù)庫,對數(shù)據(jù)庫中的表進行查詢、插、刪、改等操作。主要應用:處理居民身份證信息,高考成績等數(shù)據(jù)量較大的系統(tǒng)。RPC在三層分布系統(tǒng)中的應用該系統(tǒng)在技術上主要采用RPC來實仿真:一個處理成績的RPC應用程序基于VC++6.0創(chuàng)建一個簡單的客戶機——服務器的分布式應用程序,實現(xiàn)客戶應用程序在一個遠程過程調(diào)用中,可以添加或查看存于服務器的學生成績。仿真:一個處理成績的RPC應用程序基于VC++6.0創(chuàng)建一個仿真:一個處理成績的RPC應用程序服務器端的開發(fā)流程score.idlMIDL

Compilerscore.hscore_s.cServerStubscores.cscorep.cCCompilerLinkerImportLibraryscore.exescore.acf仿真:一個處理成績的RPC應用程序服務器端的開發(fā)流程scor仿真:一個處理成績的RPC應用程序客戶端的開發(fā)流程score.idlscore.hscore_c.cClientStubscorec.cCCompilerLinkerImportLibraryMIDLCompilerscore.acfscorec.exe仿真:一個處理成績的RPC應用程序客戶端的開發(fā)流程score仿真:一個處理成績的RPC應用程序score.idl中接口的定義屬性配置文件score.acf仿真:一個處理成績的RPC應用程序score.idl中接口的仿真:一個處理成績的RPC應用程序添加新成員成績函數(shù)add_member()

和查詢成績函數(shù)check_score()仿真:一個處理成績的RPC應用程序添加新成員成績函數(shù)add_仿真:一個處理成績的RPC應用程序運行結果:將附件中的兩個可執(zhí)行文件拷到某一目錄下,打開兩個命令行窗口,一個模擬表示服務器端,另一個模擬表示客戶端。1.運行服務器端仿真:一個處理成績的RPC應用程序運行結果:將附件中的兩個可仿真:一個處理成績的RPC應用程序2.運行客戶端仿真:一個處理成績的RPC應用程序2.運行客戶端仿真:一個處理成績的RPC應用程序3.運行客戶端后服務器變?yōu)椋悍抡妫阂粋€處理成績的RPC應用程序3.運行客戶端后服務器變?yōu)楦鶕?jù)云安全聯(lián)盟(CSA)的調(diào)查,大部分的受訪者會存在對自己在云端的敏感數(shù)據(jù)可能會被破壞或者竊取的擔心,因而并沒有把敏感數(shù)據(jù)存儲在云中。安全性是現(xiàn)階段云計算的研究熱點。如何在保證數(shù)據(jù)安全的情況下,對數(shù)據(jù)進行處理呢?一種可能的解決方法就是將加密域信號處理與云計算結合起來在Craig

Gentry的博士論文中,他虛構了這么一個場景,可以生動地說明這一方法。這個場景描述的是一個叫Alice的珠寶店主如何設計一個系統(tǒng)來保證自己的珠寶店珠寶的安全性。分布式與云計算安全瓶頸探究(二)根據(jù)云安全聯(lián)盟(CSA)的調(diào)查,大部分的受訪者會存在對自己在手套箱這里我們將云計算與加密域信號處理結合起來的技術稱為安全云計算。手套箱這里我們將云計算與加密域信號處理結合起來的技術稱為安全在一個共有、不可信任的云環(huán)境中,不僅僅用戶對云設備提供商以及應用提供商是否會非法收集隱私信息持懷疑態(tài)度,應用提供商也對云設備提供商是否會非法盜用存儲在云設備上的應用信息存在擔憂。這個時候安全云計算的實現(xiàn)意義重大。安全云計算在一個共有、不可信任的云環(huán)境中,不僅僅用戶對云設備提供商以及MRAC(Model-referenceadaptivecontrol)濾波器是信號處理中的一個重要模塊,而自適應濾波器在非平穩(wěn)的環(huán)境中是高效的。為了調(diào)節(jié)濾波器參數(shù)到最佳狀態(tài),各個用戶需要把自己的濾波器組的輸入以及收集到的信息發(fā)送給云端的自適應控制器,從而實現(xiàn)參數(shù)的調(diào)整。在這個情景中,如果輸入信息以及濾波器所收集到的信息包含了隱私敏感信息的話,即便在傳輸存儲過程中使用了安全保護技術,最終為了實現(xiàn)參數(shù)調(diào)節(jié),信號不得不在云端解密以便自適應控制器進行處理,這就存在了隱私泄露的風險。下面幾種場景更可以體現(xiàn)云計算中的安全隱私問題:MRAC(Model-referenceadaptiveE-HealthE-Health是一個典型的涉及到了隱私敏感信息的場景。E-Health,為保健機構提供了極大的便利,特別是在保健機構不具備存儲大量數(shù)據(jù)以及進行大規(guī)模數(shù)據(jù)分析處理能力的情況下。在這種情況下,保健機構將病患信息存儲到云端的服務器,由云端服務器進行處理。同時,這個有利于收集更多保健機構的病患信息,構建一個較為全面豐富的數(shù)據(jù)庫,一些實驗室、分析中心可以通過請求訪問服務器的數(shù)據(jù),對數(shù)據(jù)進行分析處理,有利于研究工作的開展。但如果云不是保健機構的私有云的話,就會存在病患信息是否會被非法竊取非法利用等問題。E-HealthE-Health是一個典型的涉及到了隱私敏感Biometricverification生物認證也是一個需要考慮安全隱私問題的場景。生物信息包括了人臉、指紋、聲音等個人隱私信息,它們是在生物認證中,對人物進行區(qū)分的重要憑證。在一個生物認證系統(tǒng)中,一些生物信息存儲在云端的數(shù)據(jù)庫中,通過在云端進行匹配,以確認用戶是否能夠通過系統(tǒng)認證。外源生物認證,即數(shù)據(jù)庫及認證模塊在云端,有著多種好處,例如節(jié)約存儲處理成本等。但是,當云是一個共有不可信任的云的時候,我們就要考慮上傳到云端的個人生物信息,以及存儲在云端的數(shù)據(jù)庫的安全問題。一個最好的場景就是,我們上傳的個人信息是加密的,云端的數(shù)據(jù)庫也是加密的,但是我們同時還能夠對其進行匹配操作。Biometricverification生物認證也是一個一種可能的安全云計算框架在最上層,是個人用戶以及在云端的加密數(shù)據(jù)庫、安全的應用系統(tǒng)。中間層,是用戶信息的加密模塊,以及云端的數(shù)據(jù)庫加密存儲模塊,基于加密域信號處理的安全處理器,最底層是云設備。一種可能的安全云計算框架在最上層,是個人用戶以及在云端的加密

Paillier加密系統(tǒng)

Paillier加密系統(tǒng)一般來說,將加密域信號處理與云計算結合起來,實現(xiàn)安全云計算,還需要解決一下幾個問題:一是如何在處理器實現(xiàn)加密處理的問題,即將明文域的信號處理算法,在密文域實現(xiàn);二是解決密文信號的膨脹問題,即如何盡可能的在不影響安全性的情況下,減少密文膨脹,減少存儲信息所需要的空間;三是加密域信號處理的效率問題。一般來說,將加密域信號處理與云計算結合起來,實現(xiàn)安全云計算,(1)在用戶端對原始圖像進行加密,然后傳輸?shù)皆贫恕#?)云端的處理器對加密的圖像進行小波變換,將處理結果返回用戶端。(3)用戶端對處理結果解密,以驗證安全小波變換是否正確。例子:在云端實現(xiàn)安全小波變換(1)在用戶端對原始圖像進行加密,然后傳輸?shù)皆贫?。例子:在?/p>

加密域小波變換的實現(xiàn)

加密域小波變換的實現(xiàn)public

voidKeyGeneration(intbitLengthVal,intcertainty{bitLength=bitLengthVal;p=newBigInteger(bitLength/2,certainty,newRandom());q=newBigInteger(bitLength/2,certainty,newRandom());n=p.multiply(q);nsquare=n.multiply(n);g=newBigInteger("2");lambda=p.subtract(BigInteger.ONE).multiply(q.subtract(BigInteger.ONE)).divide(p.subtract(BigInteger.ONE).gcd(q.subtract(BigInteger.ONE)));if(g.modPow(lambda,nsquare).subtract(BigInteger.ONE).divide(n).gcd(n).intValue()!=1){System.out.println("gisnotgood.Choosegagain.");System.exit(1);}publicBigIntegerEncryption(BigIntegerm,BigIntegerr){return

g.modPow(m,nsquare).multiply(r.modPow(n,nsquare)).mod(nsquare);}部分仿真代碼publicvoidKeyGeneration(int原始圖像(512*512)加密圖像密鑰為:136885362644277503231058952395551513602852196774739656109152670696765453473224272998235015232702213435088277471847691640701219367658719926736420886692870035330693118717734047272156921739989428186564389754358384180624956991850290911894629608462769365964057653987399413788947361463008612851003327748772472276343

遠大于1024bits實驗結果原始圖像(512*512)加密圖像密鑰為:實驗結果云端分解圖像解密圖像直接分解圖像云端分解圖像解密圖像直接分解圖像除了上述介紹的部分同態(tài)加密,還有如Gentry提出的全同態(tài)加密系統(tǒng),在全同態(tài)中,任意次加法與乘法都是可以實現(xiàn)的,相當于電路中的與門和或門都是可以實現(xiàn)的,這樣我們就可以利用其設計出實現(xiàn)多種算法的應用系統(tǒng)。但是由于全同態(tài)的基本思想是在密文中實現(xiàn)解密算法,以實現(xiàn)減少多次運算后誤差膨脹帶來的錯誤,其安全性以及實現(xiàn)效率都還有待提升??偠灾?,安全云計算有著其廣闊的研究前景。為了人們能夠更加信賴云計算,破除安全瓶頸,安全云計算研究的意義重大。將加密域信號處理與云計算結合起來,是一個行之有效的方法,但距離其加入實用,還有很長的一條道路要走??偨Y除了上述介紹的部分同態(tài)加密,還有如Gentry提出的全同態(tài)加謝謝大家謝謝大家分布式與云計算技術探究與安全瓶頸的研究

20140609分布式與云計算技術探究20140609分布式與云計算技術探究(一)RPC概述RPC原理RPC應用分布式與云計算技術探究(一)RPC概述RPC原理RPC應用RPC概述背景問題對策RPC定義優(yōu)勢結構架構演變架構圖分析RPC概述背景問題對策RPC定義優(yōu)勢結構架構演變架構圖分析1.訪問量逐年攀升服務器數(shù)不斷增加2.業(yè)務不斷發(fā)展應用規(guī)模日趨龐大3.對性能可靠性的要求越來越高問題1.訪問量逐年攀升服務器數(shù)不斷增加2.業(yè)務不斷發(fā)展應用規(guī)模日對策拆分對巨型系統(tǒng)進行梳理垂直拆分成多個獨立的Web系統(tǒng)剝離抽取共用的服務提供遠程調(diào)用接口與應用共存集群甄別核心的服務獨立搭建集群提供專門服務均衡減少專業(yè)負載均衡設備使用,應用自行支持分布式RPC基石之一對策拆分對巨型系統(tǒng)進行梳理垂直拆分成多個獨立的Web系統(tǒng)剝離分布式程序設計在單臺機器上構建并測試應用程序,然后將程序劃分為兩個或多個程序片,加入通信協(xié)議以允許每片程序在單獨的計算機上運行。從一個程序片調(diào)用另一個程序片的過程稱為遠程過程調(diào)用,即RPC。RPC是一個Client/Server模型,調(diào)用程序片(本地程序)稱為rpcclient,被調(diào)用程序片(遠程程序)稱為rpcserverRPC(RemoteProcedureCall)——遠程過程調(diào)用協(xié)議,它是一種通過網(wǎng)絡從遠程計算機程序上請求服務,而不需要了解底層網(wǎng)絡技術的協(xié)議。RPC協(xié)議假定某些傳輸協(xié)議的存在,如TCP或UDP,為通信程序之間攜帶信息數(shù)據(jù)。

什么是RPC?分布式程序設計什么是RPC?RPC使用client/server模型。在OSI網(wǎng)絡通信模型中,RPC跨越了傳輸層和應用層。RPC使得開發(fā)包括網(wǎng)絡分布式多程序在內(nèi)的應用程序更加容易。RPC作為普遍的C/S開發(fā)方法,開發(fā)效率高效,可靠高。

RPC的優(yōu)勢RPC使用client/server模型。在OSI網(wǎng)絡通信模分布式服務架構Allinone垂直應用架構流動計算架構單一應用架構

VerticalApplicationDistributedServiceElasticComputing。。。。。applicationservice1~1010~10001000~1000010000+PV(萬)架構演變過程分布式服務架構Allinone垂直應用架構流動計算架構單架構圖前端負載+緩存(lvs+nginx)webwebwebwebweb

serveruseruserproductproductorderorder消息中間件統(tǒng)一配置平臺分布式緩存DAL(分庫分表、讀寫分離)dbdbdbdbdbdbDbcluster

統(tǒng)一監(jiān)控平臺使用RPC通信:同步/異步調(diào)用client負載均衡…….orderwebloginweborderdistributed

serverLogicserverLayerBaseserverLayer架構圖前端負載+緩存(lvs+nginx)webwebwebRPC原理原理操作流程參數(shù)傳遞RPC原理原理操作流程參數(shù)傳遞RPC的基本思想:允許程序調(diào)用位于其他機器上的進程(代碼遷移)客戶存根(clientstub):服務器過程的代理服務器存根(serverstub):客戶過程的代理RPC原理RPC的基本思想:允許程序調(diào)用位于其他機器上的進程(代碼遷移1.客戶端進程正常調(diào)用客戶存根2.客戶存根將參數(shù)生成消息,并調(diào)用本地操作系統(tǒng),接著掛起3.本地操作系統(tǒng)將消息發(fā)送給服務器4.服務器(處于接收狀態(tài))的操作系統(tǒng)將收到的消息傳給服務器存根5.服務器存根將參數(shù)提取出來,并調(diào)用服務器上的進程6.服務器執(zhí)行完操作,將結果返還給服務器存根7.服務器存根將結果打包成消息,并調(diào)用服務器操作系統(tǒng)8.服務器操作系統(tǒng)將消息發(fā)給客戶端9.客戶端操作系統(tǒng)將消息傳給客戶端存根10.客戶存根將結果去除返還給客戶進程RPC的基本操作流程1.客戶端進程正常調(diào)用客戶存根RPC的基本操作流程RPC的基本操作流程RPC的基本操作流程不同的機器數(shù)據(jù)編碼格式不一樣,參數(shù)解碼出錯指針和引用的傳遞解決方法:約定雙方遵守的協(xié)議,消息結構,數(shù)據(jù)結構的表示存根中加入接口進行轉化用復制——還原調(diào)用代替引用調(diào)用參數(shù)傳遞的問題不同的機器數(shù)據(jù)編碼格式不一樣,參數(shù)解碼出錯參數(shù)傳遞的問題RPC應用在網(wǎng)絡中的應用在嵌入式系統(tǒng)中的應用

在三層分布系統(tǒng)中的應用RPC應用在網(wǎng)絡中的應用在嵌入式系統(tǒng)中的應用 在三層分布系統(tǒng)為何需要RPC?現(xiàn)今企業(yè)大多數(shù)的信息系統(tǒng)解決方案是在局域網(wǎng)上實現(xiàn)的,而且主要是面向部門級應用的。

一方面,企業(yè)內(nèi)部各組織機構開發(fā)的各種單項應用以及多途徑引入的應用軟件,造成普遍存在的異構信息孤島問題,使得數(shù)據(jù)難以共享、集成。另一方面,隨著Internet/Intranet技術的飛速發(fā)展,企業(yè)對數(shù)據(jù)共享和深層次的應用的要求(例如基于數(shù)據(jù)倉庫的OLAP和數(shù)據(jù)采掘等決策支持應用)越來越迫切。不但需要集成分布在網(wǎng)絡中多個數(shù)據(jù)庫服務器上的數(shù)據(jù),而且需要訪問分布在網(wǎng)絡上的電子郵件、HTML文檔、電子表格以及其它非數(shù)據(jù)庫數(shù)據(jù)源。要集成的不但包括本企業(yè)局域網(wǎng)上的數(shù)據(jù),而且包括處于Internet環(huán)境下企業(yè)外部的相關數(shù)據(jù)。RPC在網(wǎng)絡中的應用為何需要RPC?RPC在網(wǎng)絡中的應用

在這種情況下,要求建立一個分布、異構的計算環(huán)境,在此環(huán)境下實現(xiàn)系統(tǒng)的互操作。要解決分布、異構的數(shù)據(jù)訪問和互操作問題,一種有效的手段是利用RPC。使用RPC使軟件開發(fā)人員能夠透明的調(diào)用網(wǎng)絡另一端機器提供的服務而不用管對方機器的體系結構。RPC的原理是將一個服務的請求和執(zhí)行在客戶和服務器之間進行分布??蛻粼谡埱笠粋€服務之前,要知道服務的接口名和調(diào)用參數(shù),然后它通過網(wǎng)絡向服務器發(fā)出RPC請求。服務器收到請求后,調(diào)用本地的服務實現(xiàn)之,然后將結果傳回客戶。RPC在網(wǎng)絡中的應用RPC在網(wǎng)絡中的應用

2000年5月W3C提出的SOAP技術是一種新的對象遠程過程調(diào)用(ORPC)技術,有助于實現(xiàn)大量異構程序和平臺之間的互操作性,實現(xiàn)異構數(shù)據(jù)源數(shù)據(jù)的訪問和集成,從而使存在的應用能夠被廣泛的用戶所訪問。SOAP是把成熟的基于HTTP的WEB技術與XML的靈活性和可擴展性組合在一起。它在一定范圍內(nèi)能夠克服已存在技術(如CORBA和DCOM)的一些缺陷,提供一種新的進行異構數(shù)據(jù)集成的手段。RPC在網(wǎng)絡中的應用RPC在網(wǎng)絡中的應用什么是SOAP?

SOAP即簡單對象訪問協(xié)議,是一種輕量的、簡單的、基于XML的協(xié)議,它被設計成在WEB上交換結構化的和固化的信息。

作為WebService三要素:SOAP、WSDL、UDDI之一,SOAP用來傳遞信息的格式,WSDL用來描述如何訪問具體的接口,UDDI用來管理、分發(fā)、查詢WebService。SOAP可以和現(xiàn)存的許多因特網(wǎng)協(xié)議和格式結合使用,包括超文本傳輸協(xié)議(HTTP),簡單郵件傳輸協(xié)議(SMTP),多用途網(wǎng)際郵件擴充協(xié)議(MIME)。RPC在網(wǎng)絡中的應用什么是SOAP?RPC在網(wǎng)絡中的應用SOAP中的RPC

SOAP最常用的應用是作為一個RPC協(xié)議。SOAP采用的是將已有的XML技術和HTTP技術結合起來,用XML作為其編碼模式,用HTTP作為其RPC的傳輸協(xié)議。在一個SOAP環(huán)境,WEB服務器就是SOAP的ORB(對象請求代理),而后臺服務器可以是基于任何已有的RPC技術的服務提供者,當然也可以是WEB服務器。SOAPRPC工作方式的全過程:

首先從客戶端開始,客戶發(fā)出遠程過程調(diào)用請求,這常表現(xiàn)為點擊瀏覽器頁面上的某個鏈接,當用戶點擊后,SOAPRequest就由客戶端發(fā)出。這個SOAPRequest按照SOAP協(xié)議的要求,以XML的格式封裝在一個HTTPPost請求中,并加上相關的請求頭信息向服務器發(fā)送。RPC在網(wǎng)絡中的應用SOAP中的RPCRPC在網(wǎng)絡中的應用

然后服務器收到HTTPPost請求,由于是作為HTTP請求傳輸?shù)?,服務器查看HTTP請求(這里實際上是SOAP請求)的是哪個服務器上的哪個服務,處理該請求的服務器將請求中以XML形式攜帶的數(shù)據(jù)傳遞給該請求中要求調(diào)用的應用程序。在處理了請求之后,HTTP服務器發(fā)回一個HTTP響應到客戶端。響應包括用一個狀態(tài)代碼來表示請求的結果。響應也可以包含任意的體信息,比如調(diào)用的返回值。RPC在網(wǎng)絡中的應用然后服務器收到HTTPPost請求,由于是作舉一個SOAP請求的實例:在這里,除去SOAP元素,實際要發(fā)出的遠程調(diào)用方法名是getReverse,而調(diào)用參數(shù)是Hello,World。這個SOAP請求的目的就是:調(diào)用getReverse,取得輸入?yún)?shù)的逆序。RPC在網(wǎng)絡中的應用舉一個SOAP請求的實例:在這里,除去SOAP元素,實際要用SOAP進行RPC的好處:SOAP調(diào)用的數(shù)據(jù)和方法名傳輸是基于XML的。利用XML在信息交換上的強大能力,可使數(shù)據(jù)和數(shù)據(jù)的表現(xiàn)形式分離,從而實現(xiàn)分布的應用程序之間的透明信息交換而不需關心信息的具體編碼格式。

SOAP協(xié)議是基于文本的協(xié)議,因此它是完全與平臺無關的協(xié)議,能夠接受文本信息的一切系統(tǒng)都可以發(fā)出和接收SOAP消息,而且Server在接受了消息以后,可以任意選擇使用本地的可執(zhí)行程序,或是COM組件,或是一段腳本等等來處理SOAP消息。RPC在網(wǎng)絡中的應用用SOAP進行RPC的好處:RPC在網(wǎng)絡中的應用SOAP用HTTP作為RPC協(xié)議,它簡單、配置廣泛,且對防火墻比其它協(xié)議更容易發(fā)揮作用。像IIS和Apache這樣的Web服務器就可對RPC進行處理。而且在客戶和服務器被防火墻或代理服務器分隔的情況下,使用HTTP協(xié)議進行RPC比使用DCOM或CORBA這類協(xié)議容易,這是因為現(xiàn)有的Internet連接技術對遵循HTTP協(xié)議的信息有很好的處理技術。RPC在網(wǎng)絡中的應用SOAP用HTTP作為RPC協(xié)議,它簡單、配置廣泛,且對防火RPC應用在嵌入式系統(tǒng)在嵌入式環(huán)境下,節(jié)點間的通信往往是通過顯式地發(fā)送和接收消息進行的,網(wǎng)絡的開發(fā)者需要了解網(wǎng)絡接口及使用方式,通信過程對開發(fā)者來說不是透明的。這樣做的優(yōu)點是:通信效率高,可以針對發(fā)送的數(shù)據(jù)類型和語義進行優(yōu)化,資源占用少,響應速度快。但是它的缺點也很明顯,增加了開發(fā)的復雜性。為了提高節(jié)點間通信層次,隱藏通信細節(jié),提高開發(fā)效率,提出了將RPC應用于嵌入式環(huán)境下。RPC應用在嵌入式系統(tǒng)在嵌入式環(huán)境下,節(jié)點間的通信往往是通RPC應用在嵌入式系統(tǒng)例:在采用ARM7(PhilipsLPC2210)為處理器,μC/OS-II為底層操作系統(tǒng),以太網(wǎng)和TCP/IP協(xié)議棧為網(wǎng)絡環(huán)境。由于在嵌入式環(huán)境下,節(jié)點間通信的數(shù)據(jù)量比較小,對實時性有一定的要求,因此設計中是以低延時作為主要目標。RPC應用在嵌入式系統(tǒng)例:在采用ARM7(PhilipsRPC應用在嵌入式系統(tǒng)在ARM平臺上用C語言描述的RPC請求報頭和服務器存根注冊列表:RPC應用在嵌入式系統(tǒng)在ARM平臺上用C語言描述的RPCRPC應用在嵌入式系統(tǒng)從測試結果可以看出,RPC相關操作對調(diào)用時間的影響極低,基本實現(xiàn)了低延時的設計目標。RPC應用在嵌入式系統(tǒng)從測試結果可以看出,RPC相關操作RPC在三層分布系統(tǒng)中的應用越來越多的數(shù)據(jù)庫應用系統(tǒng)使用三層分布架構,即在原有的客戶機/服務器體系結構之間加人了一層或多層應用服務程序這種程序稱為應用服務器。RPC在三層分布系統(tǒng)中的應用越來越多的數(shù)據(jù)庫應用系統(tǒng)使用三層RPC在三層分布系統(tǒng)中的應用該系統(tǒng)在技術上主要采用RPC來實現(xiàn)客戶端與服務器的通信,而在服務器與數(shù)據(jù)庫之間則采用OCI(OracleCallInterface)接口來實現(xiàn)通信。終端通過RPC客戶端(Stub)調(diào)用應用服務器提供的遠程過程終端只需將調(diào)用接口所需要的參數(shù)傳遞給應用服務器,而程序的運行實際上是在應用服務器上完成的。服務器處理傳來的信息,通過OCI接口訪問Oracle服務器,將從終端傳來的數(shù)據(jù)傳輸給Oracle數(shù)據(jù)庫,對數(shù)據(jù)庫中的表進行查詢、插、刪、改等操作。主要應用:處理居民身份證信息,高考成績等數(shù)據(jù)量較大的系統(tǒng)。RPC在三層分布系統(tǒng)中的應用該系統(tǒng)在技術上主要采用RPC來實仿真:一個處理成績的RPC應用程序基于VC++6.0創(chuàng)建一個簡單的客戶機——服務器的分布式應用程序,實現(xiàn)客戶應用程序在一個遠程過程調(diào)用中,可以添加或查看存于服務器的學生成績。仿真:一個處理成績的RPC應用程序基于VC++6.0創(chuàng)建一個仿真:一個處理成績的RPC應用程序服務器端的開發(fā)流程score.idlMIDL

Compilerscore.hscore_s.cServerStubscores.cscorep.cCCompilerLinkerImportLibraryscore.exescore.acf仿真:一個處理成績的RPC應用程序服務器端的開發(fā)流程scor仿真:一個處理成績的RPC應用程序客戶端的開發(fā)流程score.idlscore.hscore_c.cClientStubscorec.cCCompilerLinkerImportLibraryMIDLCompilerscore.acfscorec.exe仿真:一個處理成績的RPC應用程序客戶端的開發(fā)流程score仿真:一個處理成績的RPC應用程序score.idl中接口的定義屬性配置文件score.acf仿真:一個處理成績的RPC應用程序score.idl中接口的仿真:一個處理成績的RPC應用程序添加新成員成績函數(shù)add_member()

和查詢成績函數(shù)check_score()仿真:一個處理成績的RPC應用程序添加新成員成績函數(shù)add_仿真:一個處理成績的RPC應用程序運行結果:將附件中的兩個可執(zhí)行文件拷到某一目錄下,打開兩個命令行窗口,一個模擬表示服務器端,另一個模擬表示客戶端。1.運行服務器端仿真:一個處理成績的RPC應用程序運行結果:將附件中的兩個可仿真:一個處理成績的RPC應用程序2.運行客戶端仿真:一個處理成績的RPC應用程序2.運行客戶端仿真:一個處理成績的RPC應用程序3.運行客戶端后服務器變?yōu)椋悍抡妫阂粋€處理成績的RPC應用程序3.運行客戶端后服務器變?yōu)楦鶕?jù)云安全聯(lián)盟(CSA)的調(diào)查,大部分的受訪者會存在對自己在云端的敏感數(shù)據(jù)可能會被破壞或者竊取的擔心,因而并沒有把敏感數(shù)據(jù)存儲在云中。安全性是現(xiàn)階段云計算的研究熱點。如何在保證數(shù)據(jù)安全的情況下,對數(shù)據(jù)進行處理呢?一種可能的解決方法就是將加密域信號處理與云計算結合起來在Craig

Gentry的博士論文中,他虛構了這么一個場景,可以生動地說明這一方法。這個場景描述的是一個叫Alice的珠寶店主如何設計一個系統(tǒng)來保證自己的珠寶店珠寶的安全性。分布式與云計算安全瓶頸探究(二)根據(jù)云安全聯(lián)盟(CSA)的調(diào)查,大部分的受訪者會存在對自己在手套箱這里我們將云計算與加密域信號處理結合起來的技術稱為安全云計算。手套箱這里我們將云計算與加密域信號處理結合起來的技術稱為安全在一個共有、不可信任的云環(huán)境中,不僅僅用戶對云設備提供商以及應用提供商是否會非法收集隱私信息持懷疑態(tài)度,應用提供商也對云設備提供商是否會非法盜用存儲在云設備上的應用信息存在擔憂。這個時候安全云計算的實現(xiàn)意義重大。安全云計算在一個共有、不可信任的云環(huán)境中,不僅僅用戶對云設備提供商以及MRAC(Model-referenceadaptivecontrol)濾波器是信號處理中的一個重要模塊,而自適應濾波器在非平穩(wěn)的環(huán)境中是高效的。為了調(diào)節(jié)濾波器參數(shù)到最佳狀態(tài),各個用戶需要把自己的濾波器組的輸入以及收集到的信息發(fā)送給云端的自適應控制器,從而實現(xiàn)參數(shù)的調(diào)整。在這個情景中,如果輸入信息以及濾波器所收集到的信息包含了隱私敏感信息的話,即便在傳輸存儲過程中使用了安全保護技術,最終為了實現(xiàn)參數(shù)調(diào)節(jié),信號不得不在云端解密以便自適應控制器進行處理,這就存在了隱私泄露的風險。下面幾種場景更可以體現(xiàn)云計算中的安全隱私問題:MRAC(Model-referenceadaptiveE-HealthE-Health是一個典型的涉及到了隱私敏感信息的場景。E-Health,為保健機構提供了極大的便利,特別是在保健機構不具備存儲大量數(shù)據(jù)以及進行大規(guī)模數(shù)據(jù)分析處理能力的情況下。在這種情況下,保健機構將病患信息存儲到云端的服務器,由云端服務器進行處理。同時,這個有利于收集更多保健機構的病患信息,構建一個較為全面豐富的數(shù)據(jù)庫,一些實驗室、分析中心可以通過請求訪問服務器的數(shù)據(jù),對數(shù)據(jù)進行分析處理,有利于研究工作的開展。但如果云不是保健機構的私有云的話,就會存在病患信息是否會被非法竊取非法利用等問題。E-HealthE-Health是一個典型的涉及到了隱私敏感Biometricverification生物認證也是一個需要考慮安全隱私問題的場景。生物信息包括了人臉、指紋、聲音等個人隱私信息,它們是在生物認證中,對人物進行區(qū)分的重要憑證。在一個生物認證系統(tǒng)中,一些生物信息存儲在云端的數(shù)據(jù)庫中,通過在云端進行匹配,以確認用戶是否能夠通過系統(tǒng)認證。外源生物認證,即數(shù)據(jù)庫及認證模塊在云端,有著多種好處,例如節(jié)約存儲處理成本等。但是,當云是一個共有不可信任的云的時候,我們就要考慮上傳到云端的個人生物信息,以及存儲在云端的數(shù)據(jù)庫的安全問題。一個最好的場景就是,我們上傳的個人信息是加密的,云端的數(shù)據(jù)庫也是加密的,但是我們同時還能夠對其進行匹配操作。Biometricverification生物認證也是一個一種可能的安全云計算框架在最上層,是個人用戶以及在云端的加密數(shù)據(jù)庫、安全的應用系統(tǒng)。中間層,是用戶信息的加密模塊,以及云端

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論