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






















