以SSL协议为基础,发展出了传输层安全(TLS)协议。1991年1月,IETF基于SSL协议发布了TLS1.0版,有时也称为SSL3.1。2006年,TLS1.0再次修改,加入了对ECC等新算法的支持。
TLS协议的主要目标为对2个通信主体给出保密、可靠的通道,是在Internet基础上的一种保障秘密性与身份认证的安全协议。TLS协议建立在传输控制层(TCP)的上面,给应用层给出安全服务。TLS协议支持自定义加密算法、密钥协商、服务器认证、客户端认证等安全功能。在TLS的连接建立之后,应用层通信信息将被TLS自动加密。TLS协议给应用层协议提供了一个与TCP类似的接口,对应用层程序开发者它是全部透明的。应用程序开发者可以利用TLS连接代替传统的TCP连接。
TLS能为应用层数据提供以下三个安全属性:
(1)保密性。应用层数据被TLS重新分组、压缩,并使用对称加密算法实施加密。
(2)完整性。应用层数据采用消息验证码(MAC)来确保信息的完整性。
(3)数据来源的可靠性。TLS采用X.590证书与数字签名技术来认证通信双方的身份,保障了数据来源的可靠性。
TLS协议在通信握手阶段实施身份认证,同时协商出一个用来在后续通信加密的会话密钥。TLS支持使用多种密码方法组合的密码套件。在基于ECC的TLS协议中,一般使用ECDH_ECDSA密码套件,使用ECDH密钥协商算法产生一个临时公钥,使用ECDSA算法对其进行签名。