WTLS是WAP的安全模块,它为WAP应用提供加密、鉴别和数据完整性服务,作为WAP 协议栈的一个层次向上层提供安全传输服务接口。WTLS是以TLS标准为基础发展而来的,并针对无线网络环境中的连接方式、计算能力、带宽限制等特点进行了必要的改造,并具有支持数据报服务、支持优化的分组大小以及握手、动态密钥更新等特点。
WTLS的构造
WTLS工作在无线数据报协议(WDP)层和无线事务协议 (WTP)层之间,它所提供的服务对这两层协议来说是可选的。WTLS模块由以下部分构成:
1.记录协议(Record Protocol)
本协议是一个从相邻层接收原始数据的协议,它仅在连接状态下运行。它将所接收到的数据进行压缩、加/解密、鉴别和数据完整性处理,然后向上层转交或向下层发送。本协议进行的有关处理完全按照在握手协议中通信双方所协商一致的处理流程和算法进行。
2.握手协议(Handshake Protocol)
所有与安全相关的参数都是在握手阶段协商一致的。这些参数包括:协议版本号、使用的加密算法、鉴别的信息和由公开密钥技术生成的密钥素材。握手流程如图1所示。握手阶段从客户方与服务方进行Hello消息应答开始,在两个 Hello消息中,通信双方商定一致的会话方式。当客户方发送Client Hello消息以后,它等待接收Server Hello Done消息。服务方如果需要鉴别,可以发一个代表自己的服务器证书给客户方,也可以要求客户方鉴别自己。Server Key Exchange 用于向客户方提供公开密钥。
当客户方收到Server Hello Done消息后,返回Client Certificate 消息以让服务方鉴别自己;随后,客户方发送一个Client Key Exchange消息,包含由服务方用公开密钥加密过的共享主密钥和其他一些信息,以使双方