Amazon S3加密概述:如何確保Amazon云數(shù)據(jù)安全性
隨著越來越多的企業(yè)使用公共云和混合云部署,同時越來越多的敏感數(shù)據(jù)被存儲在云服務(wù)廠商(CSP)的環(huán)境中,因此企業(yè)也在不斷地積極尋求更好的方法來保護他們在云中的信息。當然,企業(yè)所采用的最普遍的控制措施之一就是他們已經(jīng)習慣于使用的方法:加密。
在云中對數(shù)據(jù)進行加密意味著數(shù)據(jù)擁有兩種狀態(tài):傳輸狀態(tài)和存儲狀態(tài)。
Amazon公司的簡單存儲服務(wù)(S3)是目前***的云存儲服務(wù)之一,它能夠整合Amazon公司其他的云功能和產(chǎn)品。它還提供了多種加密功能,企業(yè)用戶可以使用這個功能用于保護存儲在S3環(huán)境中的敏感數(shù)據(jù)。
本文介紹了S3中所提供的加密類型,以及使用這些功能的相關(guān)方法。此外,我們將把Amazon S3所提供加密方法與其他云廠商的同類產(chǎn)品進行比較,并總結(jié)出幾條在S3或其他云存儲環(huán)境中使用加密技術(shù)的要點。
Amazon S3加密概述:如何確保Amazon云數(shù)據(jù)安全性
Amazon S3加密簡析
在云中對數(shù)據(jù)進行加密意味著數(shù)據(jù)擁有兩種狀態(tài):傳輸狀態(tài)和存儲狀態(tài)。首先,為了在Amazon環(huán)境中對用于發(fā)送和接收的數(shù)據(jù)進行加密,S3允許用戶通過HTTPS協(xié)議進行連接。這是云廠商們所提供的一個相當標準的選項,所有的云廠商都需要支持基于SSL加密技術(shù)的連接以便于保護在傳輸過程中的敏感數(shù)據(jù)。
保護存儲狀態(tài)的數(shù)據(jù)則是另一個問題了;很少有公共云廠商會提供加密功能的支持。Amazon公司實際上向S3用戶提供了兩種加密方法以保護存儲狀態(tài)的數(shù)據(jù)。其中較簡單的一個方法是服務(wù)器端加密(SSE),該方法允許Amazon在它的基礎(chǔ)設(shè)施中管理加密密鑰。SSE所采用的高級加密標準(AES)使用了256位的密鑰,這被認為是一個安全的密鑰長度。Amazon會使用一個唯一的密鑰對每個S3對象進行加密,然后使用一個主密鑰來對這個唯一的密鑰進行加密,而這個主密鑰是定期更換的(通常至少為每月一次)。
針對一個特定S3對象建立SSE是可選的,它也可在單個對象水平輕松建立。有一個“一刀切“的政策要求所有發(fā)送至S3的數(shù)據(jù)都必須進行加密處理。具體示例如下:
{ "Version":"2013-05-17", "Id":"PutObjPolicy", "Statement":[{ "Sid":"DenyUnEncryptedObjectUploads", "Effect":"Deny", "Principal":{ "AWS":"*" }, "Action":"s3:PutObject", "Resource":"arn:aws:s3:::SensitiveBucket/*", "Condition":{ "StringNotEquals":{ "s3:x-amz-server-side-encryption":"AES256" } } } ] } |
為了成功地把任何數(shù)據(jù)發(fā)送至這個S3中,要求必須包括有“x-amz-server-side-encryption”這樣的文件頭信息。可通過Amazon公司基于REST的API以及使用Amazon的軟件開發(fā)包(SDK)(其中也包括了可實現(xiàn)相同功能的API)完成開發(fā)工作。客戶也可通過標準Amazon網(wǎng)絡(luò)服務(wù)管理控制臺委托實現(xiàn)SSE功能。在2013年五月,Amaozn宣布該公司的Elastic MapReduce大數(shù)據(jù)分析服務(wù)正式使用了S3 SSE。
在S3中對存儲狀態(tài)數(shù)據(jù)進行加密的第二個選擇是用戶使用Amazon公司提供的客戶端加密工具來創(chuàng)建和管理他們自己的密鑰。采用這種方法意味著在把數(shù)據(jù)發(fā)送至S3之前就已經(jīng)完成了數(shù)據(jù)加密工作。客戶端加密可使用Amazon公司的Java SDK進行部署,尤其是S3加密客戶端,它使用了一個被稱為“信封加密”的方法。客戶端創(chuàng)建一個一次性使用的對稱加密密鑰來對數(shù)據(jù)進行加密;然后使用用戶自己的密鑰來對這個密鑰進行加密。然后這個被加密的“信封密鑰”與加密數(shù)據(jù)被一起上傳至S3,其中密鑰作為元數(shù)據(jù)也被存儲在S3中。
云廠商加密的比較
我們已經(jīng)詳細介紹了Amazon S3中所提供的加密功能,但是這些加密功能與其他云存儲廠商所提供的加密功能相比,孰優(yōu)孰劣呢?很多云存儲廠商都堅持遵循了相同的加密標準,但其中大部分都沒有達到Amazon S3加密那種程度的靈活性。例如,Rackspace在它的云備份產(chǎn)品中提供了服務(wù)器端256位的加密功能,而Dropbox和SpiderOak也都提供了256位的AES加密功能。SpiderOak則稍有不同,它總是使用客戶端加密方法(也被稱為零知識的安全性)而不是更為傳統(tǒng)的服務(wù)器端加密方法。
其他大部分的主要云廠商們(其中包括了Verizon Terremark和Savvis)也向他們的云存儲客戶們提供了數(shù)據(jù)加密功能。Terremark為備份和冗余業(yè)務(wù)提供了自動加密功能,為托管平臺與數(shù)據(jù)提供了多種托管和協(xié)管加密功能,在其CloudSwitch混合云中提供了客戶自我管理的加密產(chǎn)品。Savvis在它的云存儲加密功能中使用了SafeNet,向客戶公開了密鑰管理和API集成。
對于比較不同云廠商加密功能的企業(yè)來說,這里有幾點需要考慮:
確定所有的云加密選項都盡可能支持基于標準的加密方法和***的密鑰長度/強度(AES-256是行業(yè)標準)。
確定廠商是否提供了訪問加密功能的API,因為這可能是軟件即服務(wù)(SaaS)和平臺即服務(wù)(PaaS)環(huán)境和應(yīng)用程序集成的關(guān)鍵要求。
確實廠商是否同時支持服務(wù)器端和客戶端的密鑰管理。雖然在客戶端加密方法中密鑰管理的責任在客戶自己的手中,但是它更適合大部分具備安全意識的企業(yè)。如果廠商只支持服務(wù)器端的加密方法,那么就必須考慮應(yīng)如何管理和保護內(nèi)部密鑰。
了解其他可能可用的加密選項,例如Amazon公司于近期推出的CloudHSM服務(wù),該服務(wù)使用了一個基于硬件的加密密鑰存儲設(shè)備。在某些應(yīng)用中,這被證明是更好的選擇。
當談及保護云中數(shù)據(jù)時,加密功能理所當然地被視為最重要的安全控制措施之一。雖然S3提供了多種加密功能選項,而更多的云存儲廠商也在跟風,但是我敢斷言這不會持續(xù)很長時間。
作者簡介:
Dave Shackleford是IANS公司的高級研發(fā)副總裁和CTO,SANS分析師、講師和課程設(shè)計師。他已為數(shù)百個安全、遵守法規(guī)以及網(wǎng)絡(luò)架構(gòu)與工程領(lǐng)域的企業(yè)提供過咨詢服務(wù)。 他是VMware vExpert, 在設(shè)計和配置安全虛擬化基礎(chǔ)設(shè)施方面擁有豐富經(jīng)驗。Dave之前是Configuresoft公司的CSO、互聯(lián)網(wǎng)安全中心的CTO、并曾出任多家財富500強公司的安全架構(gòu)師、分析師和經(jīng)理。Dave是Sybex一書的作者,虛擬化安全:保護虛擬環(huán)境,Dave最近為SANS研究所合作設(shè)計了***個虛擬化安全課程。目前,Dave在SANS技術(shù)研究院擔任董事一職,并協(xié)助領(lǐng)導云安全聯(lián)盟的亞特蘭大分部。