无论你在哪个领域工作,你肯定听到过不止一个“数据”如何改变世界面貌的故事。数据,是21世纪的黄金。为了使数据能够更快的传输,网卡的带宽从10Mbps一路发展到了100Gbps甚至更高。为了使数据更快的读写,介质与接口也一直在进步。介质的发展从软盘,光盘,到机械硬盘,NAND甚至3D Xpoint,;接口从USB到SATA, SAS, NVMe 。数据传输越来越快,但是只是快就够了吗?当然不是,数据安全同样不容忽视。按照正常的认知,对于安全的投入,势必会造成性能的降低和资源的损耗。但是,今天为大家介绍的NVMe Opal解决方案在几乎保持NVMe速度的同时,带来了数据加密机制。本篇文章将从以下几个方面为大家介绍:
1. 什么是Opal
2. SPDK与Opal的集成
- a.Opal library
- b.Opal vbdev
3. Opal vbdev VS. Crypto vbdev
一. 什么是Opal
Opal是一系列的自加密盘 (SED, Self-Encrypting Drives) 的技术规范标准,由TCG这个联盟提出。TCG是一个由很多大公司组成的产业联盟, 主要是为可信计算制定一些标准。在可信计算领域具有非常高的权威性。自加密盘主要指的是这个盘本身具有全盘自动加密的功能。自加密盘上有专门负责加解密的硬件,所有数据在写到盘上的时候,会被自动加密,在读的时候会由盘自动去解密。所有这些加解密都依赖于盘上的硬件去完成。
接下来,我们看两个非常重要的概念,DEK和AK。这是在Opal中会用到的两个密钥。
(1)DEK,Data Encryption Key
DEK是负责加密盘上的数据的密钥,是由盘上的硬件随机生成的一个密码。这个密码始终是存在的,对上层完全透明,永远不会离开磁盘,永远不会被外部拿到。所有的数据加解密都是依赖这个密码。它在盘上只以加密了的形式保存。因此通过改变DEK,可以非常容易的去做全盘的安全擦除。
(2)AK,Authentication Key
AK是由用户提供的,作为验证盘本身所属性的一个密码。可以用来对盘加锁或者解锁。这个密码本身的作用就是用来对DEK进行解密。AK会在盘上以哈希值的形式保存。默认不配置Opal的情况下,Opal用缺省的密码对DEK进行加密。对用户完全透明。
正是这两个密钥,共同提供了两步验证的机制,带来了Opal的安全性和易用性。
那么为什么鼓励大家去使用Opal呢?
(1)它是基于硬件的加密,专用