开发TKIP的主要动机是为了升级旧式WEP硬件的安全性。
上一篇文章主要介绍了WPA2-PSK密码体制的密钥生成和交换过程。 本文介绍了TKIP加密协议对数据的加密过程,它是WPA2-PSK密码体制中使用的一种算法。 详细调查算法本身,可能需要密码学的知识,但我们只是简单介绍过程,不会深入调查算法本身。
如上图所示,在使用TKIP加密协议生成加密帧之前,主要分为三个步骤。
生成PTK生成数据加密所需的密钥生成带密钥分发流程校验码的MIC的数据生成PTK的步骤在上一篇文章中有详细介绍,在此不再赘述,需要的内容请参考上一篇文章。
分发密钥过程由上图可以看出,分发密钥分为两个阶段,在此分两个阶段介绍。
在第一阶段,在第一步骤中生成PTK之后,需要以所获取的128bits的临时密钥TK、发送源的MAC和计数器的前32bit作为条目,经由密钥分发程序生成80bits的TTAK。
以第二阶段第一阶段生成的TTAK和计数器的下位18bits作为项目,生成104bits的secrets。 然后,在计数器的后16位中添加dummy byte,构成128位的RC4密钥。 由此可见,TKIP是只是对WEP进行了改进,还是使用RC4密钥进行了加密?
生成带校验码的MIC的数据除了加密外,还需要检查数据是否完整的校验码。 这就是MIC的作用。 TKIP加密协议与WEP的一个不同之处在于,它将Hitachidxz代替CRC开发为新的生成校验码的算法。 要生成MIC,需要将PTK的MIC key、Frame data作为输入项目,经过Hitachidxz算法生成MIC。
最后,在生成密钥、生成具有MIC的帧数据之后,生成通过WEP加密程序加密的帧数据。 这就是TKIP的全部流程。