公司将在年后开发一款网络版的软件工程,其中将用到加密和解密技术,有三个关于密匙问题正在寻找解决方案。
一、网络版软件将用到非对称加密技术,如果将客户端的密匙保存在用户的计算机上,而假设用户的计算机密匙被黑客窃取,并经过一段时间密匙被攻破,请问这样是否会影响整个软件工程的的加密算法?
二、如果将所有客户的密匙保存到数据库中,解密时将从数据库中导出密匙这样是否安全?如果不安全,密匙应保存到哪里?
三、有专家说编写加密技术,应在写完工程寻找密码专家对代码进行审核,请问到哪里找?还有这样做是否会泄露公司的重要技术?

解决方案 »

  1.   

    密钥加密后存放到数据库里是个较好的方法。密钥在网络中的传送采用对称加密和动态密钥的方式。交换秘钥采用非对称加密加身份认证(数字签名)的方式;另外需要在网络中加一个CA服务器,用于身份认证。
      

  2.   

    加入CA服务器这样会加大硬件费用的开支,有无其它方法,也能验证的?比如散列加签名?