HTTP安全技术要点
我们需要的是一种能提供一下功能的HTTP安全技术:
服务器认证(客户端知道它们是与真正的而不是伪造的服务器通话)
客户端认证(服务器知道它们是与真正的而不是伪造的客户端通话)
完整性(客户端和服务器的数据不会被修改)
加密(客户端和服务器的对话是私密的,无需担心被窃听)
其他(效率 普适性 可扩展性 适应性等)
数字加密术语
密码:加密算法。对文本进行编码,使偷窥者无法识别。
密钥:使用密码(算法)时的参数。
使用编码密码e对明文进行编码,使用解码密钥d进行解码。
密文:对明文使用密码和密钥加密的结果。
数字签名:用来验证报文未被伪造或篡改的校验和。
技术角度:对报文摘要使用加密算法和私钥进行编码得到数字签名。同时报文接收端可使用公钥对数字签名解码,将解码结果与收到的报文的摘要比较是否相同。以此验证报文未被篡改。
加密技术: 对称密钥加密技术 公开密钥加密技术 混合加密系统
对称密钥加密技术(e=d)有DES、Triple-DES、RC-2、RC-4。缺点是每两个节点之间都需要一个共享保密密钥。
公开密钥加密技术 没有为没对主机单独使用加密/解密密钥,而是使用了两个非对称密钥:一个用来对主机报文编码(公钥,提供给发送端编码报文),一个用来对主机报文解码(私钥,只有接收主机自己知道,用来解码收到的报文)。RSA算法满足:拥有了公开密钥 一小片拦截的密文 一条报文及与之相关的密文 这些条件,也无法计算出私钥。缺点是 公开加密算法可能会慢。
混合加密系统 混合使用以上两种技术。如在两节点间通过公开密钥加密技术建立安全通信,再用这条安全的通道产生并发送临时的随机的对称密钥,通过更快的对称加密技术对其余数据加密。
数字证书:包含对象的名称(人、服务器、组织等),过期时间,证书发布者,来自证书发布者的数字签名。通常还包括对象的公开密钥,对象和签名算法的描述信息。
对证书报文摘要使用加密算法和私钥编码即得到数字签名。将数字签名和证书一同发送,接收者将收到的数字签名使用解密算法和公钥解码,与收到的报文的摘要比较,以此验证证书的完整性。
参考文献:
[美] David Gourley,[美] Brian Totty,[美] Marjorie Sayer,[美] Sailu Reddy,[美] Anshu Aggarwal.HTTP权威指南〔M〕.陈涓、赵振平译.北京:人民邮电出版社,2012.9
网友评论