目录 |
密钥是加密运算和解密运算的关键,也是密码系统的关键。根据近代密码体制的观点,密码系统的安全取决于密钥的安全,而不是密钥算法或保密装置本身的安全。密码体制可以公开,密码设备可以丢失,同一型号的加密设备可以继续使用,但若密钥一旦丢失或出错,就会使非法用户窃取信息,将密钥泄露给他人意味着加密文档还不如使用明文,因此密钥管理在计算机的安全保密系统的设计中极为重要。
密钥管理是指综合了密钥的产生、分配、存储、组织、使用、销毁等一系列技术问题的管理,同时又包含了行政管理和人员素质问题的管理。
密钥管理的根本意图在于提高系统的安全保密程度。一个良好的密钥管理系统,尤其是密钥的生成与分配,应当尽量减少人的直接干预,做到:
1、密钥难以被非法窃取。
2、在一定条件下,即使被窃取了也无用。
3、密钥分配和更换的过程对用户来说是透明的,用户不一定亲自掌握密钥。
密钥保护技术涉及密钥的传送、注入、存储、使用、更换、销毁等多个方面,以下简要介绍在密钥管理中密钥保护的几个基本问题:
1、密钥的注入。加密设备里的最高层密钥(主密钥或一级密钥)通常都需要以人工的方式装入。把密钥装入到加密设备里去经常采用的方式有:键盘输入、软盘输入、专用的密钥注入设备(即密钥枪)输入。密钥除了正在进行加密操作的情况,其他情况应当一律以加密保护的形式存放。密钥的注入过程应有一个封闭的工作环境,所有接近密钥注人工作的人员应当是绝对安全的,不存在可被窃听装置接收的电磁或其他辐射。
采用密钥枪或密钥软盘应与键盘输入的口令相结合,只有在输入了合法的加密操作口令后才能激活密钥枪或软盘里的密钥信息,所以应当建立一定的接口规约。在密钥注入过程完成后,不允许存在任何可能导出密钥的残留信息,比如应将内存中使用过的存储区清零。当使用密钥注入设备用于远距离传递密钥时,注入设备本身应设计成像加密设备那样的封闭式的物理、逻辑单元。在可能的条件下,重要的密钥可采取由多人、多批次分开完成注入,这种方式的代价较高,但提供了多密钥的加密环境。密钥注入的内容应不能被显示出来。为了掌握密钥注入的过程,所有的密钥应按照编号进行管理,而这些编号是公开的,可显示的。
2、密钥的存储。在密钥注入以后,所有存储在加密设备里的密钥平时都应以加密的形式存放,而对这些密钥解密的操作口令应该由密码操作人员掌握。这样即使装有密钥的加密设备被破译者拿到,也可以保证密钥系统的安全。
加密设备应有一定的物理保护措施。一部分最重要的密钥信息应采用掉电保护措施,使得在任何情况下只要一拆开加密设备,这部分密钥就会自动丢失。如果采用软件加密的形式,应有一定的软件保护措施。重要的加密设备应有紧急情况下清除密钥的设计。在可能的情况下,应有对加密设备进行非法使用的审计的设计,把非法口令输入等事件的产生时间等记录下来。高级的专用加密装置应做到:无论通过直观的、电子的或其他方法(X射线、电子显微镜)都不可能从密码设备中读出信息。对当前使用的密钥应有密钥的合法性验证措施,以防止密钥被篡改。
3、密钥的有效期。密钥不能无限期地使用,密钥的使用时间越长,它泄露的机会就越大。而且一旦泄露,损失就越大。不同的密钥应有不同的有效期,基于连接的系统如电话,就是把通话时间作为密钥有效期,当再次通话时就启动新的密钥。密钥加密密钥无需频繁更换,因为他们只是偶尔进行密钥交换。而用来加密保存数据文件的加密密钥不能经常地交换,因为文件可以加密贮藏在磁盘上数月或数年。公开密钥应用中私人密钥的有效期是根据应用的不同而变化的,用于数字签名和身份识别的私人密钥必须持续数年甚至终身,用于抛掷硬币协议的私人密钥在协议完成之后就应立即销毁。
4、密钥的更换。一旦密钥有效期到,必须清除原密钥存储区,或者用随机产生的噪声进行重写。但为了保证加密设备能连续工作,也可以设计成新密钥生效后,旧密码还继续保持一段时间,以防止在更换密钥期间出现不能解密的死报。
在密钥更换过程中不应产生设备服务的中断。密钥更换可以采用批密钥的方式,即一次性注人多个密钥,在更换密钥时可按照一个密钥生效,另一个密钥废除的形式进行。替代的次序可采用密钥的序号。如果批密钥的生效与废除是顺序的话,那么序数低于正在使用的密钥的所有密钥都已过期,相应的存储区应清零。当为了跳过一个密钥而使用强制的密钥更换时,由于被跳过的密钥不再使用,也应执行清零。
5、密钥的销毁。在密钥定期更换之后,旧密钥就必须被销毁。旧密钥是有价值的,即使不再被使用,有了它们,攻击者也能读到由它加密的一些旧消息。要安全地销毁存储在磁盘上的密钥,应多次对磁盘存储的实际位置进行写覆盖或将磁盘切碎,并应写下一个特殊的删除程序让它察看所有磁盘,寻找在未用存储区上的密钥副本,并将它们删除。