百度云对象存储为何采用独立密钥?

来源:西安凡高网络(www.fgkj.cc) 2017-11-28

     百度云提供的服务端加密技术实现了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的新增数据都会自动执行加密,进一步提高了易用性。
 
     随着云计算技术的广泛应用以及对数据安全的重视,百度云持续在云存储方面实现突破,目前已在国内外游戏、安防、电商、金融等行业有大量成功案例应用,未来也会在技术和产品方面不断探索,为企业带来更多价值。
相关文章:

经典客户案例展示

•网站建设知识

•凡高观点

•常见问题