znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
阅读:2357回复:18

大家讨论一下磁盘加密的原理

楼主#
更多 发布于:2008-07-07 10:49
通常大家都知道
如果对一个系统盘进行了加密,需要改写bootloader以支持读取加密的系统文件

具体流程怎样?

大家讨论一下,包括bootloader,磁盘加密驱动(diskperf)之类的细节

回答精彩的有专家分:)
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
root60931
驱动大牛
驱动大牛
  • 注册日期2002-10-25
  • 最后登录2023-10-29
  • 粉丝2
  • 关注0
  • 积分1013分
  • 威望432点
  • 贡献值0点
  • 好评度311点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2008-07-07 12:10
bootloader时可以通过INT13, 然后diskperf。
问题是这样的系统怎样安装?
好好学习,天天向上! root60931@gmail.com
AlexSho
驱动牛犊
驱动牛犊
  • 注册日期2008-01-10
  • 最后登录2017-12-01
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望164点
  • 贡献值0点
  • 好评度45点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2008-07-07 14:10
安装也不复杂,先在windows下安装驱动和MBR/EFI驱动,然后MBR/EFI启动的时候再对系统盘进行加密。
问题是加密的算法和密钥怎么办?必须和TPM芯片结合才有足够的安全性吧。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
地板#
发布于:2008-07-07 16:13
大家接着说

在刚启动阶段,有办法访问文件系统吗?象那个grubu
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
root60931
驱动大牛
驱动大牛
  • 注册日期2002-10-25
  • 最后登录2023-10-29
  • 粉丝2
  • 关注0
  • 积分1013分
  • 威望432点
  • 贡献值0点
  • 好评度311点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2008-07-07 20:33
引用第3楼znsoft于2008-07-07 16:13发表的  :
大家接着说

在刚启动阶段,有办法访问文件系统吗?象那个grubu

如果是全盘加密, 而不是对文件, hook int13 就不用管文件系统了。
好好学习,天天向上! root60931@gmail.com
ufphpczhang
驱动牛犊
驱动牛犊
  • 注册日期2007-04-15
  • 最后登录2014-07-08
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望105点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-07-07 21:23
TureCrypt好象有源码吧
mz_suya
驱动小牛
驱动小牛
  • 注册日期2008-06-13
  • 最后登录2010-08-01
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望648点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分1分
6楼#
发布于:2008-07-08 09:41
全盘加密的话 如果我把你的密钥破坏了你怎么办?
如果实现的话bios是一个很好的落脚点吧
复杂加密后加上最先使用的原始文件再加密一次  在bios引导的时候解秘获得原始启动文件
然后对其他部分进行解秘.
TPM芯片  好象是可信什么的  这个我不知道物理上怎么使用 所以

其实我认为这个就是简单的将你自己的盘管理系统(文件系统的延伸)变换为系统认可的驱动
当然你必须能够不影响系统的启动  所以要做系统启动前 和启动后两个部分

备注:我刚接触驱动不久.如有错误,敬请指正!
hgwolf
驱动中牛
驱动中牛
  • 注册日期2002-05-16
  • 最后登录2011-12-12
  • 粉丝0
  • 关注0
  • 积分1035分
  • 威望520点
  • 贡献值0点
  • 好评度316点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2008-07-10 00:43
Inside NT boot
作者:陆麟
转载请征得作者同意.
1999.9.4
本文参考<<INSIDE WINDOWS NT 2ND EDITION>>和Mark Russinovich的<<Inside boot process>>

         NT的真正接管系统乃是从NT分区的引导扇区被引导开始.引导扇的引导代码是在NT安装时被写入的.当NT被装在FAT分区时,NT SETUP写入的是能识别FAT FS的引导代码,而当NT被装在NTFS分区时,NT SETUP写入的是能识别NTFS的引导代码.所以,引导扇区含有一段相关的文件系统代码.注意!这段代码对文件系统仅能进行读操纵,而不能进行写操作.
         当引导扇区被引导后,他所干的一件事就是查找NTLDR.该文件必须存在于根目录下,否则系统提示:
BOOT:Couldn't find NTLDR.或A kernel file is missing from the disk.NT就死翘翘了.当加载NTLDR的时候系统仍然是处于实模式下.所以,NTLDR的第一件大事就是将CPU从实模式转换到保护模式下.当NTLDR将所有的1M以下的内存页描述符创建好后,NTLDR再开启页映射功能,现在NT可以访问4G内存了.然后,NTLDR通过内建的文件系统代码来查找根目录下的BOOT.INI.(NTLDR含有FAT和NTFS2种文件系统的只读代码)根据BOOT.INI的内容提示用户可选的操作系统.当用户在缺省的时间内没有选择.NTLDR就引导缺省的操作系统.如果用户选择DOS,那么NTLDR就将根目录下的BOOTSECT.DOS装入内存,(BOOTSECT.DOS是DOS引导扇的COPY件.)然后执行一次热启动.如果此时C:是NTFS,DOS就不会被启动出来.否则,DOS就被引导出来了.
        啊哈,然后NTLDR就加载NTDECT.COM.这个程序将显示NTDETECT V4.0 .....这个NTDECT.COM调用的乃是INTxx来执行一大堆的BIOS系统调用.用来进行系统配置的检测.所有检测到的东西将被存到系统注册表的HKLM\HARDWARE\DESCRIPTION项下.
         然后,执行再次恢复到NTLDR.屏幕显示OSLOADER V4.0 ....接下来被加载的2个文件组成了WINDOWS NT的核心.那就是:HAL.DLL,NTOSKRNL.EXE.这2个文件在装载时将被检测PE校验和,如果有问题或找不到.NT又要死翘翘了.有一点要说明.单处理器和多处理器的NTOSKRNL.EXE是不同的.支持多处理器的NTOSKRNL.EXE在安装盘里的文件名称是NTKRNLMP.EXE.但是一旦被COPY到NT的系统目录里,名字就变成了NTOSKRNL.EXE.因为NTLDR只加载NTOSKRNL.EXE.加载完这2个文件后,NTLDR再加载所有引导必须的驱动程序,然后加载HKEY_LOCAL_MACHINE\SYSTEM\Services里的值SERVICE_BOOT_START的DRIVER.(此时不初始化.)(我也不知道SERVICE_BOOT_START的DRIVER怎么写,因为一般的KMD如果用SERVICE_BOOT_START值启动就会失败.)然后NTLDR就会锁定NTOSKRNL.EXE的main()函数,然后将控制转移给NTOSKRNL.EXE.
BTW:NTOSKRNL.EXE的main()函数是
int main()
{ // Fire up NT!
  //
  KiSystemStartup();
  return 0;
}
.....
牛犊小牛中牛大牛老牛,天那,我什么时候能变成牛顿啊
hgwolf
驱动中牛
驱动中牛
  • 注册日期2002-05-16
  • 最后登录2011-12-12
  • 粉丝0
  • 关注0
  • 积分1035分
  • 威望520点
  • 贡献值0点
  • 好评度316点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2008-07-10 00:55
推荐思路:mbr->ntldr->low filter FS driver/mini port Driver( 安装xp时,那个F6的硬件驱动)

没测试过,BSOD无数次,能否成功,不能赖我啊 :>

系统引导部分源代码,nt4/w2k代码中有.
还有一个软件产品里有此处理,是否与楼主需求一致,呵呵,没细看。
vista也有此功能,不行就逆吧
牛犊小牛中牛大牛老牛,天那,我什么时候能变成牛顿啊
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
9楼#
发布于:2008-07-10 08:57
TureCrypt可以参考,不过我认为随着新系统及64BIT的流行,启动部分将会越来越复杂,搞这个可能会比较困难.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
dreamsity
驱动小牛
驱动小牛
  • 注册日期2006-09-01
  • 最后登录2013-07-04
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望821点
  • 贡献值1点
  • 好评度68点
  • 原创分1分
  • 专家分0分
10楼#
发布于:2008-07-14 18:06
有开源的工程的。
全盘加密,只是系统盘。
可以直接学习的。
一切都是时间问题!
dreamsity
驱动小牛
驱动小牛
  • 注册日期2006-09-01
  • 最后登录2013-07-04
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望821点
  • 贡献值1点
  • 好评度68点
  • 原创分1分
  • 专家分0分
11楼#
发布于:2008-07-14 18:08
有开源的工程的。
全盘加密,支持系统盘加密,有OS引导部分的代码的。
最新的TrueCrypt
可以直接学习的。
一切都是时间问题!
liangjinq
驱动牛犊
驱动牛犊
  • 注册日期2003-08-19
  • 最后登录2013-06-23
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望137点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2008-09-26 16:48
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2008-09-27 12:52
TrueCrypt ? 开源还是牛啊,有机会也看看
提问归提问,还是只能靠自己
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
14楼#
发布于:2008-10-01 09:07
引用第12楼liangjinq于2008-09-26 16:48发表的  :
动态加解密技术综述:
http://netsecurity.51cto.com/art/200809/90687.htm




说实话,亿赛通的产品从技术角度来看,是市面上最差的.
那个文件 驱动( hook api/ssdt )驱动, n年没改,跟静加密基本上一样,不行的话,你自己回去看代码或站上的分析.
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
tk9188
驱动牛犊
驱动牛犊
  • 注册日期2006-04-16
  • 最后登录2008-11-23
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望7点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2008-10-03 09:07
There're already such commercial software ready, refer to the following:

 - PointSec
 - SecureDoc
 - SafeGuard Easy
 - etc.
liangjinq
驱动牛犊
驱动牛犊
  • 注册日期2003-08-19
  • 最后登录2013-06-23
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望137点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2008-10-11 03:08
引用第14楼znsoft于2008-10-01 09:07发表的  :




说实话,亿赛通的产品从技术角度来看,是市面上最差的.
.......



你先看明白再说,把访问控制的驱动【驱动的名称已经写的很明白,FileCon.sys,不就是FileControl吗?】
当作动态加解密的驱动,楼主的程序分析能力也太弱了。
liangjinq
驱动牛犊
驱动牛犊
  • 注册日期2003-08-19
  • 最后登录2013-06-23
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望137点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2008-10-11 03:11
硬盘加密在带来安全的同时也会带来数据损坏丢失的隐患,因此,选择这类产品一定要能保证在加密密钥存在的情况下,其它各种软损坏情况【除硬件损坏外】,如系统无法启动等,均应有相应的解决方案,否则这类产品就是装在计算机上的一个不定时炸弹。

亿赛通的硬盘加密系统DiskSec在这方面做的比较有特色,其主要特点是带有两个急救系统,一个内嵌的急救系统,用于解决出现的各种意外情况,万一内嵌的急救系统也损坏了,还有光盘急救系统可以挽救硬盘上的数据,只要用户加密密钥没有忘记,一切全在掌控之中。
同时,Disksec采用用户输入的密钥作为加密密钥,避免了很多用户由于忘记备份密钥而无法解密数据的尴尬(用过EFS加密的很多人估计有此体会,重新安装系统后无法解密以前加密的数据)。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
18楼#
发布于:2008-10-11 11:37
引用第16楼liangjinq于2008-10-11 03:08发表的  :



你先看明白再说,把访问控制的驱动【驱动的名称已经写的很明白,FileCon.sys,不就是FileControl吗?】
当作动态加解密的驱动,楼主的程序分析能力也太弱了。



自己回家看代码吧,看一下亿赛通怎么实现的好了。
反正近,有空过来pk,走路过来也就5分钟。(如果你在亿赛通全职而不是在清华呆着只兼职的话,如果兼职,我建议你不要再说啥了,否则亿的老板会认为你在骗钱.hehe)


欢迎技术探讨。磁盘加密,亿xx的磁盘加密没用过,不敢枉言,但是文件加密产品那是切身使用过的。水准什么程度,自己可以参照技术发展水平评价。不再作这些评论了,没有啥意义。评论多了,用户还以为真牛x了。

文件控制,你自己也说了,加密主要的功能不就是控制吗?真正的加密过程只是一个运算,你是清华的,应该比我更明白。

如果只谈加密,n年前就有了,手工的。现在的加密产品要体现在一个动态和透明上,这就是控制功能了,文件加密产品的核心功能就是实现这个。

不过可惜,亿xx 的也无法实现内核加密,只在内核控制文件.有啥危险,大家一看就明白了. 都是专家,就不要说那些外行话。

你写的驱动,你应该非常明白它的作用了。你在亿也算是水平最高的了。
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
游客

返回顶部