| 浅析信息传输的安全需求与密码算法(图)(3) | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| http://www.sina.com.cn 2004年09月08日 14:02 计算机与信息技术 | |||||||||
|
文/钱树明 吴灏
现在我们来分析一下上述交付事件及其前后的安全需求,及为了满足这些需求各种密
1) B肯定希望其发送的信息m在网络上传输是保密的,所以将对m进行加密,由于软件比较庞大,而公钥加密算法的速度慢,所以B会选择一个合适的分组加密算法(如IDEA)欲对m进行加密。 2) 但是若是这样,A收到后得到的是乱码,他必须解密才能使用软件,所以B必须在加密软件之前使用密钥交换算法如DH密钥交换算法与A协商出秘密密钥K,B对m进行加密,得到c=IDEA(m,K)作为欲发送的信息。 3) 为了使A能够鉴别出c在收到之前有没有被更改过,B需用预定的散列算法对c进行散列得到摘要信息h,然后用B的私钥dB和预定的数字签名算法(如RSA)对h进行数字签名。得到(c,RSA(h,dB))。 4) B还不想让上述信息为网络上其他人所用,所以B在目录服务器上得到A的公钥eA,对信息(c,RSA(h,dB))用eA加密,得到product=RSA((c,RSA(h,dB)),eA)向A发送。 5) 对于B所发送的信息,只有A拥有解密私钥dA,所以只有A才能进行解密。现在假设A收到的是product′(因为可能出错或被篡改),解密后得到RSA-1(product′,dA)=(c′,RSA′(h,dB))。 6) 现在A用软件将解密后的信息分离,得到c′和RSA′(h,dB),A从目录服务器上得到B的公钥eB,对摘要信息的数字签名进行解密,得到h′′=RSA-1(RSA′(h,dB), eB ) ,对c′进行散列得到h′。若h′=h′′则A根据散列函数的碰撞性能够保证收到的信息未被修改,即product′= product,否则信息已被修改,要求重发。这就是完整性验证。 7) 对B的数字签名信息,只有B的公钥才能进行正确解密,若h′=h′′则可以证实信息确实是B公司而不是其他第三方所发,这是发送者身份鉴别。 8) 由散列函数的碰撞性,h′=h′′则必有c=c′ ,A用协商好的密钥K对c进行解密,得到IDEA-1(c) =m。成功获得其想要的产品并实现保密传输。 9) B的公钥对信息正确解密也反过来证明,信息确实来自B公司,因为B的公钥只能解密B的私钥所签名的信息,而B的私钥只有B公司拥有。所以假设A发现产品中有不利于其公司的内容而B公司不予承认,A公司可以向仲裁机构出示上述收到的信息及验证数字签名的过程来证明信息确实来自B公司。这就是非否认性。 10) 认证中心CA必须为系统中的每一个用户颁发证书标识其身份,证书中同样包含CA的数字签名,当用户访问CA或其他用户时,被访问者为了能够进行访问控制,将使用该数字签名对其进行身份认证。 11) 作为系统的维护者,必须做好防止黑客攻击、防病毒、保护CA的密钥库和证书库的安全等等工作,而这些所使用到的防火墙、防病毒、加密、认证等技术更是各种密码算法的综合运用,这样才能保证系统的正常运行,保证信息系统和信息的可用性和可控性。 结束语 安全是目的,密码算法则是安全的基础和保障。因此从技术的层面来讲,信息安全依赖于各种密码算法正确高效地运用,但从国家安全的高度出发,我们设计使用自己的密码算法、开发自己的安全产品才是当务之急! [上一页]  [1]  [2]  [3] |

















