客户端 SSL/TLS 处理的性能与安全分析
1. 引言
随着手机、个人数字助理(PDA)等移动或嵌入式设备接入互联网的增多,对手模型需要考虑对通信端点本身的攻击。攻击者可通过分析设备泄露的侧信道信息(如功耗或电磁辐射)来获取加密通信的密钥。因此,安全网络不仅需要复杂的协议,还需要安全地实现这些协议和相关的加密算法,特别是加密算法要抵御所有已知的侧信道攻击。
安全套接层(SSL)协议及其后继者传输层安全(TLS)协议是在不安全的开放网络(如互联网)上进行安全通信的事实标准。它们结合使用公钥和私钥加密技术,保证双方(通常是客户端和服务器)之间数据传输的机密性、完整性和真实性。SSL 协议由两层组成,包含多个子协议,其中下层的 SSL 记录协议规定了客户端和服务器之间数据传输的格式,包括加密和完整性检查;它封装了多个高层协议,其中之一是 SSL 握手协议,其主要任务是协商一组加密算法、对服务器(可选地对客户端)进行身份验证,并通过非对称(即公钥)技术建立预主密钥。客户端和服务器都从预主密钥派生主密钥,记录协议使用主密钥生成用于对称加密和消息认证的共享密钥。
2. 握手协议的高效安全实现
SSL/TLS 协议具有“算法无关性”,支持同一加密操作使用不同算法,允许通信双方进行选择。在握手阶段开始时,客户端和服务器协商一个密码套件,它是一组明确定义的用于身份验证、密钥协商、对称加密和完整性检查的算法。SSL 和 TLS 都指定使用 RSA 或 DSA 进行身份验证,使用 RSA 或 Diffie - Hellman 进行密钥建立。2006 年,TLS 协议修订为支持椭圆曲线密码学(ECC),此后,在握手阶段可以协商使用 ECDH 进行密钥交换和 ECDSA 进行身份验证的密码套
超级会员免费看
订阅专栏 解锁全文

5566

被折叠的 条评论
为什么被折叠?



