PCEVA,PC绝对领域,探寻真正的电脑知识

标题: 浴室谈SSD系列十二:针对”AES-256门“浅谈磁盘加密技术 [打印本页]

作者: neeyuese    时间: 2012-5-30 09:44
标题: 浴室谈SSD系列十二:针对”AES-256门“浅谈磁盘加密技术
这几天因SandForce 主控不支援AES-256加密,Intel 将回收Intel SSD 520的事闹得沸沸扬扬,这里就抽点时间写一下我的看法。

[attach]117971[/attach]

先来解释下磁盘加密,磁盘加密是一种把信息数据通过特殊的密匙和算法转化成无法识别的乱码技术,用来防止未授权的用户对硬盘数据进行操作。磁盘加密技术使用软件或者硬件对整个硬盘或者硬盘分区上每个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
退货的损失是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
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
orz也宣布如有不满可以退货了,因为最初技术标准上承诺了这功能,而现在承认达不到了。有不爽orz的不妨以此 ...

什么时候说的啊?真的的话我就退了
作者: ggxuelei    时间: 2012-6-18 08:02
jianghanpeng 发表于 2012-6-18 00:40
什么时候说的啊?真的的话我就退了

本站已经有人发过链接的:http://bbs.pceva.com.cn/forum.php?mod=viewthread&tid=48425
作者: sscroft    时间: 2012-6-18 21:26
neeyuese 发表于 2012-6-17 13:15
bitlocker是軟件加密,不能加密引導區的,所以windows7才分出個100MB隱藏分區。

说起来米国不是说不让AES-256这种睾端科技出口嘛,那为啥windows的bitlocker可以选aes-256
作者: neeyuese    时间: 2012-6-18 21:38
sscroft 发表于 2012-6-18 23:26
说起来米国不是说不让AES-256这种睾端科技出口嘛,那为啥windows的bitlocker可以选aes-256 ...

这你也信?你的路由器里的AES-256又如何解释呢?
作者: 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
如果硬盘设定了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
这些东西,主要是对数据敏感的地方用的,一般确实普通人不会接触到,也不用这样强度的加密。
尤其像前面说 ...


我觉得真需要加密的地方,肯定会去买解决方案而不是产品。虽然解决方案里忽悠钱的地方更多,但至少基本需求还是有保证的,不见得有这种低级错误。产品级的AES加密也就给有兴趣的人玩玩。
作者: luke550    时间: 2012-6-19 21:22
看了头晕
作者: dvcam    时间: 2012-6-19 22:10
neeyuese 发表于 2012-6-19 12:41
问题是要给硬盘设定ATA密码,则需要通过你说的这些没关系的东西或者第三方软件,其实也是通过ATA Secure ...

那倒也是,AHCI或RAID下的确很难设置ATA密码。硬盘设好了密码再拿到AHCI下,直接访问不了。。。 性能和安全性有时候是比较难兼得
作者: kennie    时间: 2012-6-20 20:24
ggxuelei 发表于 2012-6-16 17:21
orz也宣布如有不满可以退货了,因为最初技术标准上承诺了这功能,而现在承认达不到了。有不爽orz的不妨以此 ...

adata的好像还没有表示的.....................?????
作者: kennie    时间: 2012-6-20 20:28
neeyuese 发表于 2012-6-16 18:49
1.可以这么说,但是和真正的外置硬件FDE盘还是有点区别。
2.出厂只是默认的加密密匙,需要用户在BIOS里设定 ...

那好奇的問....如打開aes,是在安作业系統前在bios打開.还是可以安好作业系統後才在bios打開呢????謝謝
作者: 甜甜的蛋汁    时间: 2012-6-20 23:32
把520 发给Intel的路过 今天刚刚把转账资料发给Intel  对方说退美元。。蛋疼的汇率
作者: neeyuese    时间: 2012-6-21 07:13
kennie 发表于 2012-6-20 22:28
那好奇的問....如打開aes,是在安作业系統前在bios打開.还是可以安好作业系統後才在bios打開呢????謝謝 ...

随时都可以打开,不影响你的文件。
作者: kennie    时间: 2012-6-21 10:20
neeyuese 发表于 2012-6-21 07:13
随时都可以打开,不影响你的文件。

雖然我没有必要用aes,但真的好奇問.....我的是thinkpad的t420筆記本,如要開啟它,在bios內的選項是那一个呢??????(是hddpassword么?)浴大清楚什設置嗎?謝謝喔.......多口說句.adata真的还没有表示aes 256的處理方法.....
作者: neeyuese    时间: 2012-6-21 10:23
其实不是很建议你开启这个功能,据我所知和很多SSD会有兼容问题,也就是锁住后解锁很麻烦甚至无法解锁,如果你设置密码,你要千万记住“不要忘记你的密码”。
作者: nokia5510    时间: 2012-6-21 11:19
我也是只有无线网络设置了加密

作者: sfcxb    时间: 2012-6-21 14:58
貌似我的HP笔记本也有硬盘分区加密,不知道你哪一种呢?密钥是存在软盘上的
作者: kennie    时间: 2012-6-21 21:03
甜甜的蛋汁 发表于 2012-6-20 23:32
把520 发给Intel的路过 今天刚刚把转账资料发给Intel  对方说退美元。。蛋疼的汇率 ...

adata 的用家眼紅的說
作者: kennie    时间: 2012-6-21 21:05
neeyuese 发表于 2012-6-21 10:23
其实不是很建议你开启这个功能,据我所知和很多SSD会有兼容问题,也就是锁住后解锁很麻烦甚至无法解锁,如 ...

實話實說,我只是一般的家用,没必要折騰這些.....只是探討和好奇罷了....................不是fbi的說
作者: kennie    时间: 2012-6-21 21:08
sfcxb 发表于 2012-6-21 14:58
貌似我的HP笔记本也有硬盘分区加密,不知道你哪一种呢?密钥是存在软盘上的 ...

只是好奇現在很多人談論的aes加密.....我的thinkpad也有加密的,但好像不像aes的原理,有点好奇吧.
作者: dvcam    时间: 2012-6-22 09:48
kennie 发表于 2012-6-20 20:28
那好奇的問....如打開aes,是在安作业系統前在bios打開.还是可以安好作业系統後才在bios打開呢????謝謝 ...

对于机械FDE盘,BIOS里不论设不设硬盘密码,都会启用AES对写入磁盘的数据加密。
如果BIOS没有设硬盘密码,断电状态时,AES key是通过硬盘出厂密码(默认密码)加密后,保存在硬盘电路板上。
如果BIOS设置了硬盘密码,则使用用户密码加密保存AES key,总之断电时AES key不会以明文保存的。通电后,如果没有正确的用户密码,则得不到正确的AES key。

AES key本身,则是用来加密/解密盘上数据的,正常使用时,一般不会轻易改变。如果AES key被重新设置了,则相当于硬盘数据全部清空。

简单说,FDE盘的加密就是这样:
用户密码(如果不设置就是硬盘出厂默认密码)--> 硬盘通电时解密AES key密文 --> AES key 明文 --->(解密/加密)--> 盘上读/写的数据

SF主控的AES加密,就不清楚了。不知道默认是否开启AES加密。
按道理,如果在没有开启AES加密的状态,打开AES加密,硬盘数据就会全丢,反之也是。所以AES加密的开关,应该不会让用户随便改,应该是出厂就设定好了是否开启AES加密。
作者: kennie    时间: 2012-6-22 15:40
dvcam 发表于 2012-6-22 09:48
对于机械FDE盘,BIOS里不论设不设硬盘密码,都会启用AES对写入磁盘的数据加密。
如果BIOS没有设硬盘密码 ...

謝謝你的耐心回答,上了宝貴一課........但还有一点不明白....即是說(現在的硬盤在没有設硬盤密碼时,拿下硬盤,掛到別的机上,其內容是否可見?).......(2)如巳安好系統,有資料情況下,設置硬盤密碼,,,其內容是否清空?謝謝
作者: dvcam    时间: 2012-6-22 16:08
kennie 发表于 2012-6-22 15:40
謝謝你的耐心回答,上了宝貴一課........但还有一点不明白....即是說(現在的硬盤在没有設硬盤密碼时,拿下 ...

1.可见
2.不会清空
作者: kennie    时间: 2012-6-22 18:41
dvcam 发表于 2012-6-22 16:08
1.可见
2.不会清空

最後一問,是否現在在bios設置硬盤密碼,再拿下來到別的机子上...硬盤的內容,是否不再可見呢????必定有密匙才可見內容.即便在別的電腦上?謝謝
作者: dvcam    时间: 2012-6-22 19:15
本帖最后由 dvcam 于 2012-6-22 19:19 编辑
kennie 发表于 2012-6-22 18:41
最後一問,是否現在在bios設置硬盤密碼,再拿下來到別的机子上...硬盤的內容,是否不再可見呢????必定有密匙 ...


看BIOS设置的是不是ATA密码了。你在第一台电脑的BIOS设定了密码的硬盘,拿到第二台电脑上,如果第二台电脑BIOS支持ATA密码,则会提示输入密码,如果不支持ATA密码(不提示输入密码),则只能看见硬盘型号,无法访问数据,就好像硬盘坏了。如果这种情况,就说明第一台BIOS设置的是硬盘ATA密码

对于FDE的盘,如果设定了ATA密码,则必须要密码才能访问数据(非FDE的机械盘可通过换硬盘主板等方法破解密码,不讨论)


作者: kennie    时间: 2012-6-22 20:29
dvcam 发表于 2012-6-22 19:15
看BIOS设置的是不是ATA密码了。你在第一台电脑的BIOS设定了密码的硬盘,拿到第二台电脑上,如果第二台电 ...

好多謝你的回答.學習了...謝謝
作者: 太虚公    时间: 2012-6-24 22:46
回到加密这个问题上    按照浴室姐姐的意思  或者说按照我理解的浴室姐姐的意思    这个其实只是对硬盘访问接口进行了加密    而不是对数据本身加密?   否则怎么会开机状态下盗取磁盘后就赤裸了呢?
作者: neeyuese    时间: 2012-6-25 14:34
其实数据本身也加密了,不过由于开机状态盗取的时候内部其实已经是解密状态,所以。。。
作者: wjayw520    时间: 2012-7-13 17:05
浴大,WIN7下的BitLocker是属于软加密吗?我觉得强度还是很高的
作者: code_abc    时间: 2012-10-2 21:28
dvcam 发表于 2012-6-22 09:48
对于机械FDE盘,BIOS里不论设不设硬盘密码,都会启用AES对写入磁盘的数据加密。
如果BIOS没有设硬盘密码 ...

另一个好奇问题,这个AES密钥是出厂的时候就定好的呢,还是开启的时候随机选的?貌似BIOS中设置的密码只是加密密钥,而不是生成密钥。
作者: li2921578    时间: 2012-10-17 16:25
忘记硬盘 的密码了
怎么重置密码啊
现在全盘低格都不行
又没有保修
作者: ssua    时间: 2012-10-17 16:48
一般AES是十几级循环加密,比如128是11级。对于非高速的引用,可以完全时分服用这些级的电路。面积不大。但速度要求提高以后,面积增长得非常快。
比如要饱和PCIEx8 的总线,那么AES128 会占用到接近15%-25%的总面积。非常可观,所以高性能的主控如果要加AES256,价格应该会大幅上涨。
作者: ssua    时间: 2012-10-17 16:50
code_abc 发表于 2012-10-2 21:28
另一个好奇问题,这个AES密钥是出厂的时候就定好的呢,还是开启的时候随机选的?貌似BIOS中设置的密码只 ...

一般烧在板子上的不可读的存储单元里,比如xilinx的efuse之类
作者: achomonkey    时间: 2012-10-18 19:15
各位大侠,请问现在市面上有哪些支持FDE的硬盘~?
作者: neeyuese    时间: 2012-10-18 19:21
achomonkey 发表于 2012-10-18 21:15
各位大侠,请问现在市面上有哪些支持FDE的硬盘~?

希捷有FDE的硬盘,SSD的话三星和美光都有。
作者: achomonkey    时间: 2012-10-19 09:15
谢谢浴大啊,INTEL 520 120G有没啊?
作者: neeyuese    时间: 2012-10-19 10:21
achomonkey 发表于 2012-10-19 11:15
谢谢浴大啊,INTEL 520 120G有没啊?

FDE的产品是定制的,消费级市场买不到,520这种消费级的当然没有。
作者: manson.d    时间: 2012-11-16 09:21
intel 520 aes算法位数的问题究竟是怎么样被测试出来的?比如说给你一个盘,你能通过你能想到的测试方法,将里面用的是多少位的AES加密测试出来么?
桌面系统是否可以有办法将密钥读取出来备份,并且可以在整个data path进行AES加密?
作者: john01179    时间: 2013-1-5 16:37
没下文了??戴尔有支持FDE的笔记本型号??
作者: wswywpsya    时间: 2014-8-20 16:53
你好,请教一个问题,一块三星pm800固态硬盘被加密了,是在bios硬件自检时(黑底白字)提示输入硬盘密码的,应该算是ata加密吧(猜测的,不是很懂),想问问能不能通过刷固件的方法去掉这个密码?已经找到工具和固件。谢谢了
作者: neeyuese    时间: 2014-8-20 17:04
进工厂模式量产可以,刷固件的话应该会直接报错。
作者: wswywpsya    时间: 2014-8-21 15:41
neeyuese 发表于 2014-8-20 17:04
进工厂模式量产可以,刷固件的话应该会直接报错。

这样是不是就必须有开卡软件了?

作者: neeyuese    时间: 2014-8-21 15:46
wswywpsya 发表于 2014-8-21 17:41
这样是不是就必须有开卡软件了?

是的。

作者: yj1214    时间: 2017-7-20 14:24
ATA命令加密,这回事也可以防止别人COPY 数据。这个验证真不好验证,




欢迎光临 PCEVA,PC绝对领域,探寻真正的电脑知识 (https://bbs.pceva.com.cn/) Powered by Discuz! X3.2