RSA中國大會鄭緯民:云存儲安全
【51CTO.com 綜合報道】2010年10月21日,RSA2010大會在北京召開,期間分為了多個分會場進行了不同主題的精彩演講。51CTO作為特邀媒體,對大會進行了相關報道。更多內容請參閱RSA 2010信息安全國際論壇專題報道。大會中,各個領域的專家都來進行了安全方面的演講和溝通。下面就是清華大學計算機教授鄭緯民先生帶來的精彩演講,主題是《云存儲安全》。
鄭緯民:大家下午好!很高興來參加這個會。實際上這是安全的會議,我不是做安全的,怎么來講安全問題?最近一段時間我在做系統,比如我們最近在做云計算、云存儲,發現安全問題非常重要,因此我們就來做做安全。
作為一個數據中心,安全的數據中心一些關鍵技術研究。從不懂安全的人的角度來講怎么做安全的問題。我大概講五件事情:需求與狀態;問題;關鍵技術,我們做系統的人來說,數據中心安全的問題,包括權限的管理,訪問控制,分布式文件系統;我們做的工作情況。困難和究竟我們想得到什么。
背景
鄭緯民:海量數據爆炸性成長,數據非常多,多得不成樣子,都是TB形式增加,全球10倍增加,中國30倍增加,反正數據很多。海量數據都是異構的,有不同種種類,結構分布是復雜的。來訪問數據的人很多,全球訪問。數據成為很關鍵的資源,現在數據很值錢,因此怎么保護它,怎么讓它可靠,安全問題、可靠問題、保護問題,這些問題都提出來了。現在數據中心時代已經到來了,特別是最近一年,我這一年多時間,關于云計算、物聯網在我們國內提起的次數最多,實際上我體會的云計算就是要建一個計算中心,物聯網最后把數據也放在數據中心。因此不管物聯網也好,云計算也好,都要建一個數據中心,這兩個是一碼事。數據中心要建好了以后,安全性就凸顯出來了。因此我們說的數據中心是安全的數據中心。
研究背景
鄭緯民:云計算,大家說的很多,有它很好的一面,也有炒作的一面。云計算有可能成為未來的一種計算模式。數據中心是物聯網的一個基礎設施。
什么叫云計算?云計算可能有100多種定義,各種各樣的人定義是不一樣的。那么,我理解的云計算是指你不要買計算機了,不要買存儲器了,不要買軟件了。有一個單位要買,他買了計算機、買了存儲器、買了軟件,一般的人,一般的單位就不要買了,你提一個請求給數據中心,就把這個事情辦成了,然后把結果給你,你付一筆錢。這就是云計算。因此我們說云計算這件事情需要一個數據中心,數據中心越來越大,因為都不賣機器了,北京市就幾個數據中心,數據也很大,所以這個問題很重要。
數據中心對我們中國人來說也是非常重要的。一般的單位、一般的人,不買機器了,不買存儲器了,有一個數據中心是大家共享的。還有一個特點,就是跨國的,數據中心不一定在北京,有可能在紐約,在美國,也有可能在法國。因為數據中心可以跨國的,所以安全特別重要。現在我們做關于數據中心安全的問題,有幾個比較重要的國外企業本事比較大,比如EMS、谷歌、微軟等等,都是做安全中心比較好的。
我們國家對金融業也好,能源也好,工業、農業、科學、健康等等方面需要開發自己的安全的數據中心。如果把數據放在紐約,把數據放在倫敦,總覺得心里不太安全,要自己做一個安全的數據中心,怎么做?我列了幾個國外的情況。
2008年,歐盟花了170億歐元來做項目,2009年,美國NFS和一些公司用10億美元做云計算平臺。2009年美國政府開始做云計算項目。美國圣地亞哥大學做異步數據存儲,有很多研究。我感覺沒有一個專門的研究題目重點放在安全方面的。我們中國自然科學基金做了一些大規模網絡存儲管理、網格和數據網格,新的存儲媒體等等。科技組織的863項目,也是做大規模存儲。973項目,做基礎研究。
其中,清華大學,我所在這個所做了清華大學云存儲。所有公司方面也有,IBM在無錫做了一個云中心。總的說來,專門做安全方面的數據中心少一點。
清華大學做了存儲云,這個云實際上也是一個數據中心。這個數據中心分三個框。
1.中間,是個人用戶,這朵云對外面來說是個人用戶,現在有1.6萬個個人用戶在我們這兒注冊,我就給他2個G空間,是我這朵云的用戶我就給你2個G空間,一共有1.6萬人。
2.左邊,集團用戶,比如我們清華大學教務處,一注冊以后,就給他400G或者300G的空間教務處里面有十來個老師,這些老師共享這400G的空間,里面所有的文件是共享的。我們現在集團用戶有200、300個,有1.6萬個個人用戶。
3.右邊,公共用戶,不用注冊就可以,里面放著40T講課錄像帶,高等數學、計算機原理等課的錄像帶都放在里面。
我們現在有100T的存儲器,這些存儲器就給我們清華大學1.6萬個個人用戶放東西,還給幾百個集團客戶放東西,我們還有很大比例放公共用的上課錄像和軟件。這朵云就是我們清華大學老師跟學生注冊就能用,不是注冊用戶也可以看錄像帶方面的內容。
我們這朵云的個人界面,跟原來計算機的界面基本差不多。計算機的界面打開以后有C、D、E盤,現在又增加一個盤,叫做個人空間,這個個人空間實際上給你4個G空間,來E、C、D、E盤就在你個人筆記本上,現在這4個G空間在數據中心里,實際上這個盤在云上,這4個G空間可以放你的PPT,可以放你的Word,也可以放你的照片,什么東西都可以放,只要有什么地方能上網,就能找到它,因此我在學校里一直說,我們1.6萬人,每個人都給他2個G的空間,其實我今天來報告的時候,我的PPT不應該拿來,但前提是這個計算機能上網,我一上網就上到我的云里,我的云里有我的PPT,就拿來了。我現在到美國去也好,到上海去也好,取出一個報告,不要拿U盤,也不要拿計算機,只要有上網的地方,上這個云,上我的空間,里面有4個G的PPT,我提來用就行。現在只要能上網,這朵云里找到我想要用的PPT。實際上云存儲對于公司來說也很好,因為計算機做成沒有U盤的接口,拷貝都拷貝不走。#p#
結構
鄭緯民:假如,我有100T容量的硬盤,放在三個位置,有的在我們清華大學東主樓,有的在清華大學非主樓。現在100T,因為這個東西不要太可靠的硬盤,20T容量的硬盤加上一臺計算機,5萬人民幣就可以買來了,你一打電話,中關村馬上給你送來。我們差不多幾個月就改一改,不行,再打一個電話,就變成140T,前提是一定要做到可擴展,很容易把它加上去。
你聽我說了以后,你就能感覺得到清華大學的一朵云,這朵云專門是硬盤的云,可以放數據,也可以拿數據走。那么問題在哪?問題就是安全性。
現在1.6萬用戶,我們做過調查,往里面放的數據重要不重要?實際上大多數人放的數據不重要。為什么不重要?他害怕,怕兩件事情。我們做系統的人來說,什么是安全:
1、數據別丟了。
2、放的數據不能讓別人看,不能拿走也不能看。
如果做到這兩件事情,我們從做系統角度來說,我覺得就是安全的。
第一件事情,我們有辦法,我們做系統的人最會解決第一件事,就是數據別丟了,我們做得到,做起來不麻煩。給你2個G、4個G空間,我放5張照片存在里面,同時旁邊兩個硬盤里面有復制,就是不能存一份,多存兩份,總不會都一塊丟了吧,這概率就低了。實在不行,我在天津還做一個異地備份,北京丟了,天津還有。因此我們做系統的人很會這一套辦法。
第二件事情,怎么別讓人家看了,別讓人家拿走了,這件事情我們原來不會,因此我覺得有關的工作,數據中心安全上面有五件事情:
1、訪問控制。
2、數據加密以后裝進去,或者傳輸的時候加密。
3、存儲系統本身的安全。剛才復旦大學陳海波教授提到,我們有EMC,復旦大學、華東科技大學、清華大學,四家單位一塊做道里系統,道里系統實際上就是保證不讓系統程序員看。
4、可靠性。我們做一個分布式文件系統,比如GFS、容災,清華大學也做了一個數據容災,中科院計算所也做容災,這些事情大家都得做。
最開始的出發點是這樣的,存儲的硬盤跟所有的數據是分開的,其中的問題出在這里:你的數據放在數據中心,這5張照片所有權是你的,這個數據中心的硬盤是某一個單位老板的,因此這個照片跟存儲的硬盤所有者是分開的。外國人也這樣,都喜歡這個東西放在我邊上的硬盤里,安全一點,放到數據中心里,感覺很麻煩。因此怎么樣讓客戶相信數據中心給他數據存儲、管理是安全的。
清華大學已經做了一個云存儲,我們大學1.6萬人左右,現在在很多地方都有存儲公司,我覺得基本上沒有人放東西。如果安全問題不解決,誰去放,不要錢的可以去放,放的都是沒有太多用處的。要錢了,沒用途也不放了。如果不安全,不要錢更不放。因此我們怎么做?
1、對管理來說,就是要做好用戶的認證跟用戶的授權、訪問控制。
2、可管理、可控制。訪問數據的時候,整個操作過程都被記下來,有案可查。對用戶來說,有隱私保護,不能讓別人看到,包括系統管理員。可靠性,不要丟掉,這是很重要的事情。
訪問控制,我們跟別人不一樣,基于交換機來做。過去更多的人是你進來了,在計算機上做訪問控制,我們在交換機上做。這就是一個防盜門。另外一個叫做路徑控制,假如說防盜門對他來說是可以進來的,允許他進來。因為數據中心很大,進來的時候,讓他進到合適的地方去。比如數據中心里有1000個機器,他進來的時候要訪問我的讀寫,他只是第一個硬盤的讀寫,他進來的時候只有第一個硬盤讓他進去,其他硬盤都不讓他進去。因此給它指定了一條路,雖然他有訪問權利,但是只能走這一條路。這是權限管理方面的事。
可管可控,我們把所有訪問操作跟數據都記下來,有案可查,一出問題可以查到它。
隱私保護,我們跟EMC、復旦大學、華中科技大學、清華大學一塊做道里,做一個數據進程的保護,就是副本管理。繼我們分布式文件系統做了一個副本管理。你怕丟了,做兩三個拷貝就不會丟了。
清華大學的數據中心安全方面究竟怎么做的?下面是數據中心,上面是交換機。上面叫分布式文件系統,分布式文件系統大概有四大部門組成,最上面左邊叫Clients,不是客戶用的,我們分布式文件系統里的Clients。Supervisors,專門做管理和監控。最底下的是數據服務器。這里要注意,一個文件來了,分成一塊一塊的,分好以后不是連續放在一起,放在不同硬盤里。一個文件分成好幾塊,放在不同硬盤里,因此這里也有安全的問題,人家把你這幾塊偷走了,但是需要湊在一塊才行。
這個原數據管理器,一個文件分很多塊,都放在這里。因此這三個東西比較重要,這三個東西一定要保護好。這個文件一共分成五塊,第一塊放在哪個硬盤,第二塊放在哪個硬盤,都在這里記著,如果把這個東西偷走就麻煩了,因此要把這三個東西保護起來。
第一件事情,做的是Clients Door,就是防盜門,進到數據中心之前,先由它來把關,否則不讓你進去。
第二件事情,即使你能進來,我要給你指定一條道,只許你走這兒,數據走這兒,不許讓他進這兒,給它指定,它在哪,只能訪問這個東西。
第三件事情,這三個地方不能重要,我們要做進程控制。這里面的數據是打碎的,碎了以后,偷走了要拼在一塊也不容易拼。
內存、CPU,CPU要訪問內存,訪問當中有可能數據被人家拿走,管理員可以看了。這些數據要保護,別讓人家看,每次這個數據跟內存打交道的時候,機器加密。加密以后,管機器的人就看不了了。 I/O MMU進來也是,這個數據進來,我要保護,不讓管理員看的就加密。比如一個應用程序要寫進去,進到道里以后,原來這個數據進來是明文數據,就是看得見的數據。進入道里以后,把它加密,加密以后,把它寫到硬盤里去。讀的情況,從硬盤讀出來以后,道里要把它檢驗,再給他,是這樣一個過程。原來的數據往內存寫,輸出的時候沒有保護,管系統的人和能看能控制的,現在我們做虛擬機,現在裝的Linux變成虛擬機的應用軟件,我做了一個加密以后誰都看不了了。加了這個東西以后,究竟有沒有開銷。我們做一個實驗,700M大小的文件,寫進去以后,如果沒有道里,不需要保護的話,大概計算機用的是3.56%,每秒11M,不如果加了加密傳輸這個動作以后,大概15.39%,因為這個傳輸沒有開銷,再加上道里大概是19.15%,因此道里的開銷是4%點多,不是非常大。這是服務器端。客戶端也一樣,100kb大小的文件,它的開銷大概也是增加4%。我覺得這件事情還可以接受。我們還沒有做太多的優化,我們優化做得好一點的話,還能把它做好。
訪問控制方面我們做了一個防盜門,它走專用通道,你去三樓只能進三樓。數據保護,做一件事情不讓別人看,管機器的人都看不了。我們做分布式文件系統,放在不同的地方,文件打碎以后,偷走了,要加在一塊也很難。我剛才說的事情基本都做了,道里是我們幾家一起做的,已經用在清華大學云存儲系統上。
做這件事情很困難,很麻煩。數據管理,怎么專門走一條道,數據進程保護等等都很難。做完道里以后,我們試了一下,我們有一個實驗課,有這個辦法把數據保護起來了,機器管理人也看不了,我們給學生布置一個作業,想辦法看到,誰看到分數就高,到現在為止還沒有人能看,因此還是有效果的。
我從這幾個角度說說云計算需要數據中心,數據中心一定是安全的,否則數據中心放在那是沒有人用的。我從系統角度來看,數據中心要做這些事情,否則數據中心做不好。道里這個思想還用在我們另外一個智能手機項目,手機訪問互聯網非常重要,現在手機用戶很多,手機有三個問題:
1、很容易丟,丟了以后,地址薄沒有了,原來的短信也沒有了,這是很麻煩的事情。
2、費電。
3、網絡有時候斷斷續續。
因此我們在手機上想了一個辦法,另外做了一個數據中心,不但手機有了,還有數據中心,數據中心里有存儲器,把你的短信,把你的地址薄放在那邊,你手機丟了沒事兒,再買一個手機,數據中心地址薄一下就傳過來了,我們也做好了。春節的時候,我的學生做好了給我看,我覺得很好。從今天開始你們都用這個手機,但是他們不愿意,說我女朋友給我的短信,管機器的人看得見,于是我們就把道里用起來,讓管理人員也看不了。
鄭緯民:其實我這次演講主要就講了兩個問題:
1、數據中心非常重要,肯定是一個方向。
2、數據中心安全沒做好,數據中心相當于白做。從我們做系統的角度來說,第一要安全,不要丟;第二不要讓別人看。 #p#
提問環節
提問:麻煩您把道里系統再給我們詳細展開講一下。
鄭緯民:我們原來說這個機器的系統管理員有特權,可以看任何東西,現在我們裝操作系統之前先裝一個虛擬機的操作系統,這樣一來,原來的windows成為我們虛擬機操作系統的應用軟件。原來你要裝windows操作系統,管機器的人就能看所有在他控制下的東西。現在裝一個虛擬機的操作系統,這個系統裝完了以后,直接把windows裝進去,windows就變成這個虛擬機的操作系統的用戶層,管windows操作系統的,因此用戶層就看不了了。
提問:現在我的理解這個數據放在存儲器里是明文的存儲,剛才您說在加密的時候,從CPU到內存的時候,是通過加密,這個加密的密鑰是誰的密鑰?是服務器的密鑰還是用戶的密鑰?
鄭緯民:往數據中心放的數據,根據你的要求,可以加密,也可以不加密。如果這個東西本來就是公開的,就不要加密,如果這個東西你要保護,道里把你數據做了一個加密東西,它可以控制這個事情。
EMC中國實驗室首席科學家毛文波:有密鑰管理的策略,可以是用戶的,也可以是系統的,如果您需要保護的話,有兩種情況,用戶之間可以。SSL,可以想到是客戶端到服務端已經保護了,而這個時候保護一直保護到內存的區域,而不是保護到端,因為每一個用戶都有一個ID,實際上是一個硬件在北橋上面做一個控制,使得任何一個I/O都可以得到隔離,如果I/O得到隔離以后hypervisor能夠認的出來,就可以讓你的密鑰管理直接管理到內存,這個時候就可以想象這是用戶密鑰管理的策略。
反過來也會看到道里本身還有需要保護的方案,就是系統保護。比如系統崩潰了,有一個cheatpiont,也就是系統為了系統重啟,把這個狀態也要保護系統,這個保護應該是系統的密鑰的管理策略,或者如果你需要安全,它就會用很好的方法給你保護,關鍵是內存的隔離加上I/O的隔離,I/O隔離用到VTD, I/O MMU的方法。
鄭緯民:我們現在買的CPU,都有一個VTD,硬件做好了,有了這個東西,我們上面做一個虛擬機的操作系統,然后就可以做這件事。現在VTD,一般CPU都有了,我們也做了一個CR系統也可以用到,我們可以做進一步優化。這個路是通的,大家一塊努力來做這件事情。
提問:如果用到智能手機里,智能手機硬件平臺也得支持?
鄭緯民:就是我把智能手機地址薄放在數據中心,數據中心里的地址薄和短信別讓人家看了,道里也可以用在這個地方。
提問:我來自中國人民大學,想問兩個問題,第一個問題是您的系統跟谷歌里面有一個GFS,你的系統跟谷歌推出來的GFS都是數據級服務,因為提供的是存儲。想問一下谷歌系統跟GFS有什么區別,因為我看結構很像。
鄭緯民:我們做了一個分布式文件系統,谷歌的GFS是一個分布式文件系統,hadoop也是一個分布式文件系統,我們參考了它,因為GFS拿不到,是谷歌自己的東西,我們可以拿hadoop文件系統,我覺得里面錯誤挺多,因此我們做了一個分布式系統,思想跟hadoop是類似的。
提問:因為道里系統可以加密,像跳水隊老師的視頻傳到云里面,這種視頻就不需要加密,因為保密級別比較低,你們系統實現的時候,有沒有根據用戶需求設定保密、機密、絕密,來選擇為他加密還是不加密,因為這樣效率很高,如果所有人都加密的話,效率就很低。
鄭緯民:對,我們現在是分開的,你可以不加密,也可以不走道里,也可以走道里,是分開的。這個東西如果別人看沒什么關系就不用走這條路。
提問:你們DFS系統收費嗎?
鄭緯民:現在1.6萬個用戶都是清華大學的老師和學生,你是別的學校的,一般我們不給訪問,我們很愿意給中國人民大學裝一套。云存儲這件事情我比較傾向于一個單位用比較好,現在有100T的存儲器,有1.6萬用戶在用,在內部用很好。兩個原因:1、內部網速度比較快。用戶打開了以后,看到C盤、D盤,還看到云狀的一個盤,你把數據拿來拿去,感覺很好。如果我們這個系統,全國人民都能放,我們有教育科研網、電信網,之間又不是太流暢,速度就比較慢,感覺不太好,就是公共上網絡速度有點問題。2、網上可以放數據,把你的東西放上去、拿下來,如果是一個單位的話,我們比較容易控制。比如我上課,上完課以后,我把我的錄像帶放進去,有計算機系專門有一個人負責把計算機系的課放在里面,物理課由物理課老師放。如果公共的話,你的也放,我的也放,亂七八糟的都放進去,會出問題,因此比較麻煩。比如人民大學做這樣一個東西,人民大學里面所有的老師都可以用,我覺得性能也好。比如某一個研究所做一個東西,也挺好。某一個單位,有100T,每個人給他10G、20G的容量,挺好。公共云不好用。
提問:我是世紀互聯的,我有兩個問題:1、云存儲是不是開源的還是商業化的。2、您提到虛擬機操作系統,是不是服務器所有的硬件信息輸出的時候,牽涉到您的虛擬機操作系統,然后傳遞到他上面的其他系統,如果虛擬機操作系統崩潰了,是不是其他系統就無法使用?
鄭緯民:先回答你第一個問題,我們云存儲有沒有商業化。我們學校里的老師不會做生意。我可以跟你們公司合作,你買一臺機器,把這個軟件掛在里面,把硬件軟件一塊賣,就能賺錢。
第二個問題就是問題。原來裝的windows崩潰了,也是要崩潰的。現在裝的虛擬機比較輕量,不太容易壞。
提問:現在有沒有這種可能,還是這個思路,我的硬件信息傳遞給您講的虛擬機操作系統的同時,還可以傳給windows或者Linux,是一個串的概念,不是并的概念。
鄭緯民:一串的話,管機器的人就可以看了。現在裝一個虛擬機,把真正的操作系統windows作為這個機器的應用軟件,他就看不了了。
提問:我想問一個問題,你們道里系統和政府的合規性怎么結合?特別是現在政府安全部門對數據有一些安全要求,你們保護起來以后,他們這塊怎么做?他們能不能看到?
毛文波:實際上這是一個密鑰管理問題,密鑰管理是一個策略,剛才有位同學提到加密以后會不會造成談不了話,這是策略問題。過去為了本身數據恢復需求,如果密鑰掉了、系統崩潰怎么辦,這些都有。這些問題都比系統崩潰還要簡單,這些都是策略問題。鄭老師講的都是原理問題,有了原理以后,上面做一些密鑰策略的管理很容易。方法無外乎是一個I/O的隔離,一些處理。
鄭緯民:我們道里合法不合法,能不能做,因為安全問題要政府批準。但是我覺得這里如果密碼算法是國家密碼委員會批準的算法,我覺得就沒有不合法的問題。
【編輯推薦】