zoukankan      html  css  js  c++  java
  • 用最佳方法来管理加密密钥(转)

    “传输中的数据”密钥管理系统在加密数据“休息”的时候不起作用有两个原因。 第一个原因是传输中的数据加密没有密钥存储的概念。一旦你从一个密钥转移到另一个密钥,旧的密钥就不再需要了。然而,在加密存储的数据时,密钥是正常变化的。旧的密钥必须要保留,否则使“传输中的数据”密钥管理系统在加密数据“休息”的时候不起作用有两个原因。 

    第一个原因是传输中的数据加密没有密钥存储的概念。一旦你从一个密钥转移到另一个密钥,旧的密钥就不再需要了。然而,在加密存储的数据时,密钥是正常变化的。旧的密钥必须要保留,否则使用旧的密钥加密的数据就无法读了。第二个原因是如果这个密钥丢失就无法重新建立连接。如果由于损坏或者丢失密钥造成一个虚拟专用网中断,你要做的事情就是重新建立这个连接。然而,如果你丢失了或者损坏了你用来存储一段数据的密钥,那么,那个数据就永远丢失了。这就是好的密钥管理系统必须要跟踪在什么地方使用了什么密钥以及必须要保证没有任何人访问过这些密钥的原因。 

    目前用来存储加密数据的密钥系统主要有两种类型:单密钥和多密钥系统。单密钥系统使用某种类型的密钥加密数据,简单地拥有这个密钥对于解密数据就全够用了。如果一个黑客获得了那个密钥,他或者她就能够阅读你的加密的数据。这是所有密钥系统中最简单的。 

    因此,与单密钥系统有关的第一件事情就是创建一个密钥记录,记录系统中使用的密钥以及什么时候使用了这些密钥。这个记录包括当前的密钥和以前创建的目前仍在用来存储数据的磁带的密钥。如果发现一个密钥存在被攻破的可能性,你要立即改变这个密钥并且在密钥记录中登记。 

    你对单密钥系统做的第二件事情是在存储密钥记录的周围放上你自己的流程。你要尽一切努力保证没有一个单个的人能够访问这个密钥记录。例如,存储密钥记录与你的磁带分开,保证至少必须有两个人在另一个记录中登录才能访问这个密钥记录。 

    多密钥系统是完全不同的。这些系统使用一套密钥加密数据,使用另一套密钥对管理员进行身份识别。管理员从来不会真正看到用来加密数据的密钥。他们只能看到他们的用户名和密钥。即使一个管理员能够偷走用来存储加密密钥的数据库,他或者她也不能用这些偷来的密钥阅读你的备份磁带,除非他或者她拥有授权使用这些密钥的系统。授权系统使用这些密钥的方式每个厂商都不一样。但是,一种方法是使用一种密钥法定人数的概念。这就是要授权一个新的系统,必须要多个人输入用户名和密钥,有时候还需要插入一个物理的密钥卡。完成这个工作之后,这个加密密钥就可以在那个系统上使用了。这种做法可以防止一个恶意的员工窃取你的磁带和加密密钥并且利用这些数据。

  • 相关阅读:
    (原创,呕心历血之作,强烈推荐)新旧库数据字典比较脚本
    MS SQL Server2k字符串分拆与合并处理代码
    20061021个人日志(关于在VS2005环境下无法从源视图切换到设计视图的解决方案)
    我设计的花销流水帐的数据库结构 荣
    Oracle中创建表,创建序列,创建自增字段,添加注释, 添加记录,添加触发器,提交 荣
    用例与用例描述 荣
    计算经纬度距离 荣
    我的第一个C++程序 荣
    以较少代码实现DataGrid的排序,翻页,删除等功能(续) 荣
    我的BREW代码 荣
  • 原文地址:https://www.cnblogs.com/royi123/p/5282347.html
Copyright © 2011-2022 走看看