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

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

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

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

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

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

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

  • 相关阅读:
    mysql 异常处理实例
    Fix java version mismatch in windows---stackoverflow
    Building Tomcat7 source step by step---官方文档
    三个大数据处理框架:Storm,Spark和Samza 介绍比较
    Apache Samza流处理框架介绍——kafka+LevelDB的Key/Value数据库来存储历史消息+?
    mongodb停止遇到shutdownServer failed: unauthorized: this command must run from localhost when running db without auth解决方法
    mongodb集群——配置服务器放分片meta信息,说明meta里包含了哪些数据信息
    MongoDB 3.0 WiredTiger Compression and Performance
    mongodb 压缩——3.0+支持zlib和snappy
    wukong搜索引擎源码解读
  • 原文地址:https://www.cnblogs.com/royi123/p/5282347.html
Copyright © 2011-2022 走看看