请详细解释以下名词：
传输层安全协议
user
传输层安全协议（SecureSocketsLayer，缩写作SSL）是一种安全协议，目的是为互联网通信，提供安全及数据完整性保障。当服务器和客户机进行通信，TLS确保没有第三方能窃听或盗取信息。TLS是SSL的后续协议。#### TLSP的构成

TLSP由2层构成：TLS记录协议和TLS握手协议。TLS记录协议使用机密方法，如数据加密标准(DES)，来保证连接安全。TLS记录协议也可以不使用加密技术。TLS握手协议使服务器和客户机在数据交换之前进行相互鉴定，并协商加密算法和密钥。
TLS协议是基于Netscape的SSL3．0协议的；但是，TLS和SSL不能同时使用。TLS协议包含一个允许TLS实现退到SSL3．0的机制。最新的浏览器版本都支持TLS。1996年颁布的TLSWorkingGroup继续在TLS协议及相关应用中使用。#### TLSP的保护方式

TLSP有两种办法向通信协议提供保护。第一个办法是给用TLS加密的通信分配一个新端口(比如端口80和443)。第二个办法是对通信协议进行升级，在里面加上TLS协议的功能。#### TLSP与SSL的区别

(1)版本号不同。

虽然TLS的记录格式与SSL的记录格式相同，且头中各域的含义也相同，但其版本值不同。TLS版本中，主版本号为3，从版本号为1。

(2)消息认证码不同。

TLS和SSL的MAC模式有两点不同：算法不同及MAC计算范围不同。TLS使用由RFC2104定义的HMAC算法，且TLS中MAC的计算不仅包含了SSL中MAC计算的各个域，还增加了一个体现协议版本号的域TLSCompressed。

(3)伪随机函数不同。

TLS使用称为PRF的伪随机函数将密码扩展成生成密钥的数据分组，其目的是使用相对较小的共享密码值，生成较长的数据分组，以防止对Hash函数和MAC的攻击。同时为了保证PRF的足够安全，PRF同时使用了MD5和SHA一1两种Hash函数。

(4)报警消息不同。

TLS支持除无证书外的SSL定义的所有报警消息，并且还定义了许多附加的消息，主要有如下消息。

解密失败消息(decryption_failed)：使用不正确的方法解密密文，或长度不是分组长度的整数倍，或填充值不正确。

记录溢出消息(record_overflow)：接收的TLS记录中的载荷长度超过214+2048字节，或密文解密后长度超过214+1024。

未知的认证中心消息(unkown_ca)：接收到正确的证书链或部分链，但由于证书不能定位或不能与可信任的认证中心匹配而不接收证书。

拒绝访问消息(access_denied)：接收到合法证书，但发送者拒绝进行协商访问。

解码出错消息(decode_error)：由于域超出了指定范围或消息长度不正确使得消息不被解码。

输出限制消息(export_restricition)：密钥长度的输出限制无法达成一致。

协议版本消息(protocol_version)：客户端试图协商的协议版本可以识别但不被支持。

安全不足消息(insufficient_security)：服务器需要的安全级别客户端无法支持时协商失败的返回值，以代替握手失败。

中间出错消息(internal_error)：与对方或协议正确性无关的中间环节出错，使得无法继续操作。

解密出错消息(decrypt_error)：握手密码访问失败，包括无法验证签名、解密密钥交换或校验完成的消息。

用户取消消息(user_canceled)：握手由于某些与协议错误的无关原因而被取消。

不再重新协商消息(no_renegotiation)：由客户端响应Hello请求或服务器在初始握手后响应客户端的Hello。通常应答消息都会导致重新协商，但该报警消息表明发送者不能重新协商。

(5)密码组不同。

TLS和SSL提供的密码组有一些小的差别。其中，对于密钥交换算法，TLS支持除Fortezza外的所有SSL定义的密钥交换算法；对于对称加密算法，TLS包括除Fortezza外的所有SSL定义的对称加密算法。

(6)客户端证书类型不同。

TLS定义的证书类型中不包括在SSL中定义的rsa_ephemeral_dh、dss_ephem_eral_dh及fortezza_kea证书类型，且TLS不包含Fortezza模式，仅使用rsa_sign和dss_sign类型对Diffie_Hellman参数加密。

(7)证书验证及完成消息不同。

TLS证书验证消息(certificate{verify)中，MD5和SHA-1的Hash值只根据握手消息计算，而SSL中Hash值的计算还包含主密钥和填充值。与SSL中的完成消息(Finished)相比，TLS中的完成消息基于共享主密钥、先前的握手消息以及标识服务器或客户端标签的Hash数据。

(8)密码计算方法不同。

TLS中次密钥的计算方法与SSL中的相同，但TLS主密钥是次密钥和两个随机Hello值的Hash值，其计算方法与SSL中的不同。

(9)填充值不同。

SSL在加密前，采用填充域使得用户数据为加密所需分组长度的最小整数倍。而在TLS中，填充域长度不超过255个字节，使用户数据为加密所需分组长度的任意整数倍。其可变的填充值可以防止基于交换消息长度分析的攻击。
assistant