neeyuese 发表于 2012-5-30 09:44

浴室谈SSD系列十二:针对”AES-256门“浅谈磁盘加密技术

这几天因SandForce 主控不支援AES-256加密,Intel 将回收Intel SSD 520的事闹得沸沸扬扬,这里就抽点时间写一下我的看法。



先来解释下磁盘加密,磁盘加密是一种把信息数据通过特殊的密匙和算法转化成无法识别的乱码技术,用来防止未授权的用户对硬盘数据进行操作。磁盘加密技术使用软件或者硬件对整个硬盘或者硬盘分区上每个bit的数据进行加密。理论上说通过full disk encryption全盘加密技术的软件可以对全盘进行加密,甚至可以通过特别的软件对引导系统所需要的启动分区进行加密,但它并不能加密MBR(主引导记录master boot record)。因此从严格意义上说,并不算“全盘加密”,然后随着硬件层面的加密系统出现,使得整个硬盘包括MBR的加密成为可能。

硬盘加密和文件系统层加密

硬盘加密并不是那些类似替换文件或者加密文件夹的操作,它加密的其实是硬盘本身,其实硬盘加密主要是用来辅助文件系统层加密。由于文件系统层加密一般不针对“元文件”metadata进行加密,而这些元文件表示的是文件夹结构,文件名或者改动时间或者文件尺寸,那么就有泄露数据信息的可能。

当前磁盘加密实施手段

当前主要的磁盘加密实施手段主要分3类,软件加密,基于硬件的存储设备加密或者通过存储设备外的硬件加密(主板上的加密芯片,总线卡甚至CPU之类的硬件)。一般来说基于硬件的全盘加密也叫“自我加密”,这个加密操作对硬盘性能是无损的,加密所用的密匙是驻留在存储设备芯片上的。而软件加密则是需要消耗CPU处理和牺牲硬盘传输性能的(对数据用特定算法进行加密需要消耗大量资源),另外加密所用的密匙是存放在存储介质内的,类似用户名/密码,一串key之类。

基于硬件加密(自我加密)的优点和缺点:

优势? 1.基于硬件加密的笔记本关机后,即使硬盘被取出放在别的机器里也是无法看到数据的,因为硬盘本身已经被自加密了,包括文件,系统,启动区,引导信息,当然如果原来加密的主板损坏,基本数据也就没救了。 2.对这类硬盘来说,只需要通过重新生成一串加密密匙(比如进行次Secure Erase操作就会重新生成新密匙),即可重新投入新的使用环境而不需要担心旧数据被恢复,因为密匙替换后,原本的数据也就都不可能找回来了。 3.加密操作对用户来说是透明的,用户不需要干预其中,并且性能无损。劣势? 1.在非关机状态或者休眠状态下没有安全性可言,举个例子,一块放着支持”自我加密“技术硬盘的笔记本,如果在开机的时候被强行盗走了,那么不需要输入任何密码即看到全部数据。

软件加密的优势和劣势:

优势? 1.自由度高,用户可以选择性的加密部分区域,当然这个也可能是安全隐患,有时候忘记了加密某个区域,例如temp文件夹。 2.低成本,不需要重新部署硬件环境。劣势? 1.消耗CPU和存储设备性能。 2.不管用何种方式,只要有希望从存储介质内得到密匙,就可以轻易解密。 3.引导信息和元数据无法加密。 4.加密前需要推倒重来,也就是说重做系统和软件部署。5.基于软件的加密通常加密设备上的每个逻辑块地址(LBA),即使这些LBA上没有真正的数据,这等于减少了很多SSD可以利用的OP空间,也增加了写放大和降低磨损平衡的效率,可想而知这个对SSD的性能打击有多大。

说了那么多,AES-256到底是什么? Advanced Encryption Standard,是AES的全名,由美国联邦政府采用的一种区块加密标准演算法,该演算法经过分析与验证之后,广为全世界所使用。简单的理解就是,那个是加密的演算法,而AES-256比AES-128强度更高,更难破解。

那么这次LSI SandForce的"AES-256门"是哪里出了问题?如何才能够支持AES-256?很明显这次谈到的AES-256问题是指的LSI SandForce SSD主控的基于硬件的加密所使用的加密强度没达标,只能达到AES-128,达不到宣传的AES-256。由于Intel也说了是基于硬件的问题,所以除非重新改造内部电路逻辑,再次流片,更新步进外,光靠更新Firmware是无法支持的。

和广告上写的那些支持FDE技术的机械硬盘不同(有完全独立开来的FDE加密/解密芯片),当前主流的SSD大多都是从主控硬件上支持的FDE。大部分的机械盘或者支持FDE技术的SSD在BIOS里设置ATA密码,则密码是记录在硬盘存储介质上的,用户独立开来的FDE加密/解密芯片的FDE机械盘,密码则会记录在外部独立的FDE芯片上,由于密匙本身并非放在存储介质上,因此破解难度更大。基本上99%的用户平日都不加密,比如我自己家里的电脑,不但没有设置BIOS密码,HDD密码,也没有WINDOWS登陆密码,更别提用加密软件的习惯了,最多压缩包上加个密码。大多数的用户甚至不知道如何激活完整的加密保护。 (其实就是在主板BIOS里开启ATA User密码,当然不是所有主板都支持,特别是新的EFI的主板可能已经取消这类设置,笔记本电脑大多都支持。当设置后BIOS会给你的硬盘/SSD发送特别的ATA Secure 指令,前提是要你的硬盘支持这些指令并激活FDE功能。)实话说我现在能用到AES的地方只有无线网络的密码部分。

附:
1.自我加密,此功能会使用主控内部或者外部的加密算法模块来对在主机和存储介质上进出的数据进行AES-128/AES-256(加密算法和强度)的加解密。
2.另外还有一个TCG的Opal行业标准,目前支持的厂商并不多,LSI SandForce 2系列是支持的,支持TCG的的话通过主机给硬盘发密码,这个密码会跟硬盘里面的母密匙加密,然后再生成子密匙,利用子密匙加密数据。
3.对SSD进行Secure Erase操作时候全盘瞬间擦除颗粒数据外会重新生成一个新密匙。
4.如果不使用主板BIOS或者第三方加密软件对硬盘发送ATA Secure命令(设置user或者master password),则硬盘密匙为出厂密匙。

ggxuelei 发表于 2012-6-16 17:21

orz也宣布如有不满可以退货了,因为最初技术标准上承诺了这功能,而现在承认达不到了。有不爽orz的不妨以此为由看orz给不给退哈哈
当然你要用的没问题,aes256其实我们基本也用不到,没必要纠结

dvcam 发表于 2012-6-16 18:30

有几个疑问
1. SF2主控的AES加密功能,如果打开,SSD就变成FDE全盘加密的盘,是么?

2. SF2主控的AES加密功能打开与否,是在量产时就决定了,还是用户可设置的?

3. 既然SF2主控的AES加密是硬件的,那就应该不会对性能有影响。按厂家的思路,在不影响性能的情况下,多一个功能,就多个卖点。但这个问题暴露前,好像也很少看到厂家以此AES加密为宣传卖点,不知是什么原因?

neeyuese 发表于 2012-6-16 18:49

1.可以这么说,但是和真正的外置硬件FDE盘还是有点区别。
2.出厂只是默认的加密密匙,需要用户在BIOS里设定。
3.SF2是第一个支持AES-256的主控(按照当初的宣传来说),这个特性是硬件的,并不会影响性能。对加密特性做卖点的厂商原本就不对,因为大多数的消费者没这个需求,例如Intel 320其实也只支持AES-128。

luckissy 发表于 2012-6-16 20:42

{:1_454:}退货的损失是sandforce买单吗?我的山寨ssd看来没戏了

673 发表于 2012-6-17 11:34

那么微软的 bitlocker 和bitlocker to go 是属于哪类加密方式?

neeyuese 发表于 2012-6-17 13:15

bitlocker是軟件加密,不能加密引導區的,所以windows7才分出個100MB隱藏分區。

bmbc123 发表于 2012-6-17 18:20

neeyuese 发表于 2012-6-16 18:49 static/image/common/back.gif
1.可以这么说,但是和真正的外置硬件FDE盘还是有点区别。
2.出厂只是默认的加密密匙,需要用户在BIOS里设定 ...

问下,那thinkpad的加密芯片支持给镁光m4加密吗

neeyuese 发表于 2012-6-17 19:00

TP的加密芯片很容易和SSD内部的加密冲突,老固件的Intel和SandForce都碰到过问题,当然理论上来说是支持的。

jianghanpeng 发表于 2012-6-18 00:40

ggxuelei 发表于 2012-6-16 17:21 static/image/common/back.gif
orz也宣布如有不满可以退货了,因为最初技术标准上承诺了这功能,而现在承认达不到了。有不爽orz的不妨以此 ...

什么时候说的啊?真的的话我就退了

ggxuelei 发表于 2012-6-18 08:02

jianghanpeng 发表于 2012-6-18 00:40 static/image/common/back.gif
什么时候说的啊?真的的话我就退了

本站已经有人发过链接的:http://bbs.pceva.com.cn/forum.php?mod=viewthread&tid=48425

sscroft 发表于 2012-6-18 21:26

neeyuese 发表于 2012-6-17 13:15 static/image/common/back.gif
bitlocker是軟件加密,不能加密引導區的,所以windows7才分出個100MB隱藏分區。

说起来米国不是说不让AES-256这种睾端科技出口嘛,那为啥windows的bitlocker可以选aes-256

neeyuese 发表于 2012-6-18 21:38

sscroft 发表于 2012-6-18 23:26 static/image/common/back.gif
说起来米国不是说不让AES-256这种睾端科技出口嘛,那为啥windows的bitlocker可以选aes-256 ...

这你也信?你的路由器里的AES-256又如何解释呢?{:6_247:}

haierccc 发表于 2012-6-18 22:39

我查了一下,说是美国政府不让AES-256出口,所以SF-2281才有意屏蔽掉256位加密。
我的理解是不是这样:在BIOS里设置密钥,每次开机需要键入此密钥。关机状态拔硬盘接入其它机器时,此硬盘无法使用,除非键入相同密钥,是这样么?

neeyuese 发表于 2012-6-19 07:10

我记得BIOS密码只对SATA 0上的硬盘有效,如果开了AHCI或者RAID可能就没效果了。

dvcam 发表于 2012-6-19 12:15

如果硬盘设定了ATA 密码,没有输入正确密码的话,是无法访问硬盘数据的,MHDD扫描全盘红X。
这个是ATA协议决定的,与主板BIOS,SATA0,AHCI,RAID等等都没关系的。

neeyuese 发表于 2012-6-19 12:41

dvcam 发表于 2012-6-19 14:15 static/image/common/back.gif
如果硬盘设定了ATA 密码,没有输入正确密码的话,是无法访问硬盘数据的,MHDD扫描全盘红X。
这个是ATA协议 ...

问题是要给硬盘设定ATA密码,则需要通过你说的这些没关系的东西或者第三方软件,其实也是通过ATA Secure指令给硬盘加密的。

aican 发表于 2012-6-19 20:29

这些东西,主要是对数据敏感的地方用的,一般确实普通人不会接触到,也不用这样强度的加密。
尤其像前面说的,如果主板坏了,数据也就没了的情况,普通人肯定无法忍受。
厂家现在那些宣传,尤其已加密做卖点的,也就够一小部分有对加密有要求的人使用。而真正对加密有需求的,如果不是很懂,确实很容易被这些厂家忽悠。

哎,现在的厂家、商家、用户,都太喜欢忽悠了。

xmiangui 发表于 2012-6-19 20:30

aican 发表于 2012-6-19 20:29 static/image/common/back.gif
这些东西,主要是对数据敏感的地方用的,一般确实普通人不会接触到,也不用这样强度的加密。
尤其像前面说 ...

我觉得真需要加密的地方,肯定会去买解决方案而不是产品。虽然解决方案里忽悠钱的地方更多,但至少基本需求还是有保证的,不见得有这种低级错误。产品级的AES加密也就给有兴趣的人玩玩。

luke550 发表于 2012-6-19 21:22

看了头晕
页: [1] 2 3
查看完整版本: 浴室谈SSD系列十二:针对”AES-256门“浅谈磁盘加密技术