百度云提供的服務端加密技術實現了Object獨立、多層密鑰體系,且保證數據與密鑰管理分離,為云端數據提供了更安全可靠的保障。
一般來說,為了能讓用戶更加放心地使用云存儲服務,云計算廠商提出的將數據加密后存儲落盤的策略,成為了一個合理并被廣泛使用的方案。
加密可以簡單分類為客戶端加密和服務端加密,傳統的客戶端加密方式需要用戶在客戶端執行加密操作并管理加密所需的密鑰,這整個加密操作過程需要耗費用戶寶貴的計算資源。并且,加密密鑰的存儲對存儲系統的安全性和可靠性都有較高的要求。想管理好這些密鑰,無疑會增加用戶業務邏輯的復雜性。
基于以上背景,BOS(百度對象存儲服務)團隊經過長期的調研和研究,開發實現了安全、易用的服務端加密技術,為每個Object建立獨立密鑰,設置多層密鑰體系,采用數據加密與密鑰加密隔離的安全機制,充分保障云上數據的安全性。
同時,百度云的加密操作在服務端進行,對用戶開放透明,并且托管全部密鑰,無需用戶管理大量密鑰,降低用戶業務邏輯的復雜性。
以下是具體的技術分析。
三個技術機制確保數據安全
特有的Object獨立密鑰
BOS服務端加密使用對稱加密算法AES256加密數據,對稱加密算法使用同樣的密鑰加密和解密數據。為了提高數據安全性,我們對每個Object使用不同的密鑰加解密,獨立的密鑰可以極大地提高用戶數據的安全性,舉例說明,我們可以把每個Object文件看成一個箱子,文件的內容就是箱子里的物品,為了防止箱子里的物品被盜,我們可以對箱子上鎖,類似執行加密操作,用鑰匙開鎖相當于對文件進行解密操作。多個Object文件使用相同的密鑰相當于多個箱子的鎖可以被同樣的鑰匙打開,而每個Object有獨立的密鑰相當于每個鑰匙只能打開一個箱子的鎖。同理,每個Object獨立密鑰的機制具有更高的安全性。
高安全級別的多層密鑰體系
在BOS服務端加密機制中,密鑰是執行加解密的關鍵,因此密鑰的安全性也是整個加密過程中的重要因素。為了保障密鑰的安全性,百度云開發了專門用于管理密鑰的服務,即KMS(Key Manager Service),KMS使用了多層密鑰的加密機制,每個Object的密鑰data key都由一個master key加密后,以密文的形式存儲,而master key 又由root master key加密后也以密文的形式存儲,root master key使用硬件加密機器加密。從data key,master key,到root master key形成一個多層的加密體系,且都已密文的形式存儲物理介質上,充分保障了密鑰的安全性。
數據與密鑰隔離,杜絕安全隱患
數據密文安全性和密鑰的安全性共同決定了數據的安全性。為了進一步提高數據的安全性,我們將數據的加密和密鑰的加密分別放到兩個不同的系統去完成,數據的加密由BOS來完成,而密鑰的加密由KMS來完成。由于KMS和BOS是兩套獨立的系統,且使用不同的認證和鑒權方式,這種數據和密鑰的隔離機制又可以進一步提高數據的安全性。
已經應用在BOS服務中
BOS服務端加密技術已經應用到了BOS服務中,按需保障每一份上傳百度云的數據的安全。可以說,被百度云服務端加密過的數據,沒有人能夠在不執行正常解密操作下拿到數據。
與此同時,我們還設計了簡單易用的接口,最大程度方便用戶使用服務端加密功能。服務端加密對用戶來說是透明的,分配密鑰、數據加密、密鑰加密等操作都是在BOS服務端進行處理,用戶只需在API中指定加密的header即可,使用非常便捷。除了API,服務端加密還支持控制臺,sdk等操作方式。
為進一步方便用戶使用該功能,我們還在百度云前端管理控制臺實現了Bucket加密開關功能,即當用戶打開此開關后,該Bucket的新增數據都會自動執行加密,進一步提高了易用性。
隨著云計算技術的廣泛應用以及對數據安全的重視,百度云持續在云存儲方面實現突破,目前已在國內外游戲、安防、電商、金融等行業有大量成功案例應用,未來也會在技術和產品方面不斷探索,為企業帶來更多價值。
上一篇
備案過程中如何填寫網站名稱下一篇
陜西如何申請電信業務經營許可證