磁盘加密的底层原理?

2019-10-17 12:05:45 +08:00
 lander
最近因为公司项目需求在测试 McAfee 的硬件加密软件,类似 BitLocker。
目前有如下几个问题:
1,磁盘是如何被加密的?
2,加密算法在其中充当什么角色?

搜索了一些资料,我的理解是这样的:
>> 安装磁盘加密会修改主引导记录 MBR,先引导至磁盘加密软件自己的登录界面( PBFS ),用户输入自己设置的密钥通过验证之后才能正常引导至 Windows 启动界面。
>> 会将磁盘里的所有扇区进行加密
>> 加密完成后,实际读写数据是透明的

不过感觉还是一知半解,欢迎补充!!


提前谢过!!
3660 次点击
所在节点    问与答
10 条回复
jimmy2010
2019-10-17 12:17:36 +08:00
终极原理:打乱数据 bit 存放顺序,这个顺序只有你知道
Laforet
2019-10-17 12:39:35 +08:00
加密算法这个一两句话说不清,建议找一些密码学原理的资料学习。

透明全盘加密的实现原理是用一个特殊的存储驱动拦截系统的文件读写请求,返回解密后的数据。密钥只存在于内存里,断电后消失。
oreoiot
2019-10-17 12:42:13 +08:00
@Laforet #2 那这样把片子拆出来换到其他读写模块,或者直接 flash 改个读写驱动,就可以读出未加密的 bit 位?
Laforet
2019-10-17 12:43:34 +08:00
@oreoiot

写到盘上的数据已经是加密后的,如果你知道算法和密钥的话当然可以在另外一台设备上读出来。
lander
2019-10-17 13:02:05 +08:00
@jimmy2010,是不是这样理解的:
磁盘加密软件设置密钥初始化后,磁盘上已有的数据在文件系统层次上就被打乱了;而开机弹出的磁盘加密软件的认证界面类似非对称加密里的私钥,通过验证后就可以透明的访问和处理文件了。
Laforet
2019-10-17 13:13:23 +08:00
@lander 一般的磁盘加密方案是用助记词(一般人所谓的密码)做种子,KDF 生成对称加密用的密钥。非对称加密性能太低,不合适。
lander
2019-10-17 13:43:54 +08:00
@Laforet thanks!
ysc3839
2019-10-17 14:40:18 +08:00
可以看看开源的 VeraCrypt 是怎么实现的。
ungrown
2019-10-17 16:05:32 +08:00
我寻思这些东西在维基百科和大厂文档上不都写得清清楚楚明明白白的嘛
lander
2019-10-17 16:55:09 +08:00
感谢楼上的提醒,之前也看过维基百科上的资料的,不过看得不仔细,今天又深入查了下似乎是找到了一篇不错的科普文章:
https://web.archive.org/web/20150917051251/http://www.markus-gattol.name/ws/dm-crypt_luks.html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/610225

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX