首页 理论教育 协议交互过程详解

协议交互过程详解

时间:2023-06-30 理论教育 版权反馈
【摘要】:当WTLS客户端和服务器建立连接后,双方就协议版本达成一致,选择加密算法,互相鉴权,并且使用公共密钥加密技术产生双方共享的密码。握手协议交互过程传输的是明文,通过其中的消息字段可以识别交互的内容,判断加密算法和各种参数。WTLS握手协议的交互过程如下。图3-14中,Hello交互过程协商协议版本、密钥交互组件、密码组件、压缩方法、密钥更新和序列号模式。

协议交互过程详解

1.安全会话建立流程(服务原语表示)

安全会话建立流程就要使用的协议选项达成一致,客户端或服务器端都可以根据需要中断这一协商过程(例如,如果对等端提供的参数本端不能接收)。协商的内容包括安全参数(如加密算法、密匙长度)、密匙交换及授权方式。WTLS安全会话(完全握手)建立流程如图3-13所示。

图3-13 WTLS安全会话(完全握手)建立流程

2.握手协议协商内容

握手消息负责安全会话的协商,协商内容如下。

Session Identifier:服务器选择的随机字节序列,用于识别激活或者重起的安全会话。

Protocol Version:WTLS协议版本号

Peer Certificate:对等实体确认。

Compression Method:加密前采用的压缩数据算法。

Cipher Spec:定义批量数据加密算法(例如不加密、RC5、EDS等)和MAC算法(例如SHA-1),也用于定义加密属性(例如mac-size等)。

Master Secret:客户端与服务器共享的20字节私有数据。

Sequence Number Mode:安全连接中采用的序列编号方法。

Key Refresh:定义以多快频率执行连接状态值(密钥、MAC私有数据以及IV)的计算。(www.xing528.com)

Is Resumable:标志位,指示安全会话是否可以用来初始化新的安全连接。

3.完整的握手协议交互流程

安全对话的加密参数由WTLS握手协议产生。当WTLS客户端和服务器建立连接后,双方就协议版本达成一致,选择加密算法,互相鉴权,并且使用公共密钥加密技术产生双方共享的密码。握手协议交互过程传输的是明文,通过其中的消息字段可以识别交互的内容,判断加密算法和各种参数。

WTLS握手协议的交互过程如下。

①交换问候信息(Hello)并协商采用的算法,同时交换随机数

②交换加密参数供客户端和服务器使用,协商预主密钥。

③交换鉴权证书和加密信息,供客户端和服务器互相鉴权使用。

④由预主密钥生成主密钥,交换随机数。

⑤向记录层提供安全参数。

⑥允许客户端和服务器检查对方是否以相同的加密参数进行计算,以及确认握手时没有受到攻击者的干扰。

图3-14中,Hello交互过程协商协议版本、密钥交互组件、密码组件、压缩方法、密钥更新和序列号模式。问候信息发送后,客户端如果要对服务器进行鉴权,服务器就会发送鉴权证书,而且在需要时还发送服务器密钥交换信息(例如,服务器没有鉴权证书或其鉴权证书仅用来签名)。如果所选择的密钥交互组件合适,服务器可以要求客户端发送鉴权证书(或从其他鉴权分发设备获得鉴权证书),然后服务器发送服务端问候结束信息(hello done),表示握手过程中的问候信息阶段已经结束(以前的握手信息与低层信息相结合),并开始等待客户端响应。如果服务器端发送了鉴权请求信息,客户端则必须发送相应的鉴权证书信息。此时,如果客户端鉴权证书没有包含足够的密钥交换信息或证书根本没被发送,就必须发送客户端密钥交换信息,内容根据客户端和服务器问候时所选择的公共密钥加密算法而定。如果采用有签名能力的鉴权证书对客户端进行鉴权(如RSA),则发送一个数字签名鉴权校验信息用于校验。这时客户端发送一个改变密码规范信息,并将待处理的密码规范(CipherSpec)信息改变为新密码规范信息。客户端随即按新算法、密钥和密码发送结束信息,并将密码规范标志位置1。服务器接收到改变密码规范信息后,也将待处理的密码规范信息改为新密码规范信息,并相应地按新密码规范发送已结束信息。此时,握手过程结束,客户端和服务器可以开始交换应用层数据信息。

图3-14 完整的握手协议交互流程

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈