6) 更高的保密要求
从上文的叙述中, 大家应该已经很清楚这几个密码了. 到这里为止, 一般用户的保密要求已经完全可以得到满足了. 因为到目前为止, HUP还没有公开的解密算法, 所以, 从这个意义来说, 只要加了HUP, 那么这个硬盘里面的数据, 除了知道密码的人, 就没有人可以存取了...
但是, 这个世界上的保密和解密, 永远是一对共生的兄弟. 拿我们的例子来说, HUP是保护硬盘数据的最后一道防线, 而且这道防线也很坚固, 没有人可以破. 但是, 为了使用中的方便, 一般用户都习惯于把这个密码设成与POP一样. 这样做有一个好处, 就是开机的时候, 只要输入一次密码就可以了. BIOS自动把这个密码与HUP比较, 如果符合的话, 就直接进入了. 而POP, 已经知道是存放在BIOS管理的RAM中, 它的保密强度与HUP就差得远了. (作者注: 所以, 这个输入一次密码用二次的功能, 虽然方便了用户, 但实际上却降低了系统的安全程度, BIOS厂家应该在下一代的产品, 对这一点进行改进. 至少提供一个选项).
说到这里, 插一句话. 就是关于BIOS密码的破解. 大家一定在网上看到过,有人可以破解一些型号的密码, 不是换芯片, 而是真正的破解. 就是把数据读出来, 然后还原出原来的密码. 具体的过程是, 它提供一个硬件, 你自己操作, 读出一个文件后, 发给那个人. 他算出密码后, 再告诉你. 当然, 这个要收取30$. 我们关心的是破解的过程. 在这个例子里面, 它的那个硬件装置, 是接在那个存放密码的EEPROM上面, 然后, 在BIOS读取密码的过程上, 截获BIOS与EEPROM的通讯过程, 里面就包含了密码的加密形式(密文). 通过一定的算法, 就可以还原出原来的密码了(明文).
把这二件事情结合起来, 我们就看到问题了. HUP与POP一样, 然后POP有可能被还原, 然后, 硬盘的加密就被破坏了. 那么怎么解决这个问题? 怎么保证更高的加密强度?
7) 安全芯片
对于上面提出的问题, 答案就是进一步的硬件加密方法. 其中一个比较常见的也是现在可以见到的一个, 就是IBM的安全芯片(Security chip).
安全芯片是个什么东西? 简单地说, 安全芯片是一个在硬件级别上做了加密处理的密码计算及存储芯片. 这是有二层意思. 第一是密码计算及存储. 没有这个芯片的话, 密码的比较是由主处理器完成的. 在上面的例子里, BIOS从EEPROM中读取密文, 还原后与用户的输入比较来确定用户输入是否正确. 在这个过程中, 不可避免地要通讯的过程. 在这个通讯的过程上, 密文会被暴露. 那么, 安全芯片呢? 安全芯片里面包含了一个专门的处理器(CPU)和存储器(FLASH/EEPROM). 密码存放在里面, 计算与比较等全部在这个芯片里面完成. 整个过程没有对外的通讯(指密文和明文都不会在芯片外面出现). 这样就避免了通讯截获的破解了.
第二层意思是说, 这个芯片在制造过程中, 在硬件级别上已经作了保护, 使得直接从物理上对存储器的读取变成不可能或非常困难. 这个是指打开芯片, 对里面的存储器的物理结构进行直接的读取而言了.
上面提到, 可以对通讯进行截获. 事实上, 即使避免了通讯被截获的过程, 还是可以把EEPROM直接打开, 用电子显微镜对里面的结构进行观察而获取里面的内容的. 安全芯片在这个级别上进行了处理(主要是用金属层覆盖了里面的电路层, 使得观察和溶解都变成困难和不可能).
当然, 无论用什么硬件, 最后总要与软件打交道的. 所以, 安全芯片要配合专门的软件(如IBM提供的专门软件), 才能把这个加密与系统结合起来. 其实, 任何的加密都不是完美的. 只是一个强度问题. 也就是说, 如果一个加密的方法, 没有取巧的方法可以破, 而只能用暴力方法来破解. 那么这个方法是成功的. 而完成暴力算法所需要的时间, 就是这个算法的强度了. 目前的加密算法, 都是利用一些数论中的基本原理来完成的. 按照目前的计算能力, 都需要天文数字的时间才能解开, 那么我们就认为这个算法是安全的. 比如, 有个XD提到的MD5. 下面有人跟贴说他可以解, 我真的是很佩服. 不知道是不真的. 大家也听说了, 前一段时间, DES被破的事情, 但不知道有多少人知道, 这个破解是用了几万台电脑, 花了多少时间得到的一个例子. 所以说, 对于大部分来说, 三重DES算法还是足够安全的.
讲到这里, 又要插一个关于加解密的例子. GSM系统的SIM, 在几年前还被认为是完全不可能破解的. 因为, 在当年, 模拟手机分分钟被(子子)机(有的地方叫"并机"的时候, GSM这个安全性, 是以一种很高的姿态进入市场的. 但是, 没有几年过去, 现在, 复制一个SIM卡, 只是几分钟到一二个小时的事情. 我刚刚前几天就买了一套系统, 也就是一个空白卡和一个读卡器, 共花费199元. 在一个小时的时间时, 就读出了我自己的二张卡, 并且成功地把这二张卡复制到了那个空白的卡里面. 这个时候, 我心里其实是很感慨的. 科技的进步和发展, 很多时候, 超越了我们的想象...所以, 在说到我们的安全芯片时也是一样. 只能说"目前"和"现在", 对于以后的发展, 任何断言都可能变成笑柄.
说回到我们的安全芯片, 这个已经是很安全了. 没有去研究倒底有多安全? 所以, 回到开头的问题. 如果你的电脑有更高的安全要求, 那么用这个安全芯片吧. 这是一般用户, 目前可以得到的最高级别的安全保护了. 所以, 如果你的电脑里面的资料, 具有重要的商业价值或是科研价值等等, 就应该考虑使用这个你付钱买来的功能, 来保护你的重要数据.
8) 安全芯片的使用简介
使用起来, 其实是比较简单的. 先去下载软件, 安装后, 可以提供三个功能. 一是对WINDOWS登录的密码保护. 因为, WINDOWS的登录密码, 一般是放在SAM里面的. 这个已经有人可以破了. 所以这个WINDOWS的登录密码是不安全的. 也就是说, 如果你的系统是由SAM来保密的. 那么, 一旦这块硬盘被别人取得, 首先放在另一台电脑, 找到那个SAM文件, 然后, 机解密那个SAM文件, 就得到里面的用户名和密码. 然后用这块硬盘开机, 就可以登录和随意存取里面的文件了. 那么用了安全芯片以后, 这个密码就被放在了那个安全芯片里面. 开机的时候, 由那个专用软件接管WINDOWS的登录的模块, 你输入的密码, 由安全芯片比较后, 返回给那个软件, 再决定是不是让你登录.
另一件事, 就是LOTUS NOTES的登录密码. 过程是一样的. 由硬件来决定是不是让你登录NOTES. 这里可能有人会问, 为什么只有NOTES? 答案很简单, 因为, 1)没有软件的配合, 只是简单地传递一下信息, 几下就被从RAM中找到密码或绕过了. (很多软件可以从系统显示的****反查到密码就是这个意思了). 2)NOTES是IBM的产品. 这样, 才能在最底层增加对加密硬件的支持, 从而达到更高的保密性.
第三件事, 就是代为保存一些你指定的密码. 这个意思, 就与浏览器的COOKIE很象. 你告诉它, 哪个软件的哪个输入窗口, 要什么密码. 它就在适当的窗口出现的时候, 替你填写适当的密码. 当然这个密码是保存在那个安全芯片里面的.
另外, 提一下, 系统的安全性, 其实也是有一个ISO标准的. 而IBM的这块安全芯片, 是目前唯一通过这个标准的硬件(?).
以上关于安全芯片的说法, 不是什么权威性的. 只是我自己从IBM的网站看的资料, 然后也试了一下, 再加上GOOGLE来的一些资料的结果. 电脑里面的加密和解密, 其实是一个很前沿的领域. 有很多高手在这里做了很多的研究. 我只是从应用的角度, 跟大家讲一点我自己的体会.
从BIOS密码, 讲到IBM的安全芯片, 希望通过此文, 让广大TP用户, 对于这个与我们息息相关的话题有一些了解和认识, 从来更好地用好你手中的ThinkPad |