论文部分内容阅读
摘要:设计通过分析TKIP加密协议中算法漏洞,采用密码字典来破解无线网。设计批量生成字母、数字、字符等密码文本文件编成密码字典完成对数据报文的破解。设计是在Microsoft Visual Studio 2013的开发环境下,使用C#语言完成软件代码的编写、设计密码生成器、生成破解过程中所需的密码文件。经过测试,可完成对加密报文的解密工作,大大提高无线数据报文破解的成功率。
关键词:TKIP;密码字典;C#
中图分类号:TP309-7 文献标识码:A 文章编号:1009-3044(2018)16-0083-03
Design and Implementation of Message Decryption Software Based on TKIP Protocol
YANG Li-xia, ZHANG Ying-hao
(Zhengzhou Normal University,School of Information Science and Technology)
Abstract:Design using the password dictionary to crack the wireless network, by analyzing the algorithm loopholes in the TKIP encryption protocol.Design the password dictionarycreated by generating alphabetic text files, such as letters, numbers,characters and so on to complete the cracking of data packets. The design is completed by using C# language to write software code, designingpassword generator, and generating password files needed in the process of crackingin the development environment of Microsoft Visual Studio 2013.After testing, we can finish the decryption of encrypted message, and greatly improve the success rate of wireless data packet cracking.
Key words:TKIP;Password dictionary;C#
IEEE 802.11i是基于IEEE802.11協议标准的一个子集,数据加密定义了TKIP的加密保护。IEEE 802.11x协议标准是作用于物理接口,基于C/S模式下的访问控制和认证的协议,它对于不属于无线网的用户进行了隔离,使非法用户无法连入无线网中。在用户认证时,802.11x协议标准只允许包含有EAPOL标签的数据包进行传输,在获得认证成功后,用户和服务器才能正常通信。
WPA保护模式在数据传输加密上使用了临时密钥完整性协议,用来提升数据加密的安全性。它是依托WEP的加密过程和改进的RC4算法组成,解决了WEP保护模式下的安全问题。对于WPA保护模式摒弃了WEP保护下所使用的CRC校验码,使用了更加安全的信息完整性认证码MIC,提高了WPA保护模式的安全性。WPA保护模式增加了两种身份验证的功能,突破了WEP保护模式下无认证的模式。它的保护模式有两个版本,一个用于企业级,一个用于家庭级。WPA保护模式两个版本分别是(如公式1所示):
[WPA=802.11x EAP TKIP MIC]
[WPA=Pre-shared Key TKIP MIC ] (1)
在数据加密方面,因为两种加密方式最大的区别是加入了服务器认证,采用WPA-PSK加密方式的安全性低于WPA企业级的加密方式的安全性。
1基于TKIP报文的加密过程
TKIP(Temporal Key Integrity Protocol)临时密钥完整性协议,作用是给接收数据进行完整性确认和使发送的数据变得模糊、无法识别的一套安全服务。TKIP在加密过程中主要由:包序列计数器、MIC校验、加密混合函数三个模块组成[4]。在协议进行数据传输时,由主密钥计算产生MIC密钥,通过MIC校验得到MIC值,把MIC和MSDU进行串接得到数据包。对于过大的数据包,需要分块传输。通过IV生成器生成的IV,和数据包进行串接,添加MAC头。把添加MAC头的数据和加密密钥进行混合运算,后对混合运算的数据包进行加密,生成MPDU,完成加密过程[5]。MSDU(MAC Service Data Unit)即MAC服务数据单元。MPDU(MAC Protocol Data Unit)即MAC协议数据单元。MSDU是存在于Ethernet报文的数据包,MPDU则是通过802.11封装过的数据帧。
MIC(Message Integrity Code)信息完整性校验代码,作用是给分块报文进行完整性校验。MIC校验要求是接入端和终端都要进行计算得到MIC值,两端不同的MIC值通过比较,一致说明数据是安全的未被更改,不一致说明数据已经被修改,直接丢弃。使用MIC比较之后,可以防止篡改攻击,如图1所示。
2 基于TKIP加密的报文破解分析
在WPA保护下的TKIP的加密过程是依据MIC模块、密钥模块、RC4算法模块来完成的[10]。对于TKIP保护的加密过程可以知道其解密报文的过程。第一阶段在进行数据包解密时,去掉MIC头,进行TSC窗口校验,如果校验不过,解密终止,数据包丢弃。通过校验后,才能继续解密。第二阶段在密钥混合时,需要密钥混合后才能继续解密,同时还要检查ICV,如果未通过检查,解密失败。通过检查后,解密完成。第三阶段完成数据报文的重组,重组后再进性MIC校验,将校验的值进行比较是否相等。若相等则去掉MIC头,得到未加密的报文。在TSC窗口校验时,它的作用是用来记录MPDU的传递顺序,如图2所示。 3密码字典软件的架构设计
3.1 密码字典设计原理
在WPA保护下的TKIP加密过程中,使用核心算法RC4算法进行加密解密时,通过加密算法得到实际密钥,然后用异或运算完成解密[6]。在使用未加密的报文Y1和Y2,加密过程中使用相同的密钥K经过异或运算得到C1和C2密文,公式2如下,其中OR定义为异或运算符,如公式2所示:
[C1 OR C2=Y1 OR K OR Y2 OR K=Y1 OR Y2] (2)
因此,只要能够得到Y1的内容,在通过某些手段获取到C1和C2,那么破解Y2就是轻而易举的事。对于破解无线网的攻击者来说,只要可以捕获到四次握手的加密报文,就相当于获取到了加密过的数据C1和C2。在这个基础上,通过建立字典文件,使用暴力破解方式进行破解报文,得到预共享密钥[7]。
3.2密码字典功能结构
传统的密码字典文件,是一种以.txt后缀的文本文件。它通常经过用户手动添加字符或者字符串,用户手动添加的字符串一般都是截取日历中的每一天,或者选取以一个字符为首位,这个过程是比较繁琐的[8]。设计通过对长、字母和字符类型考虑,可以不限任意长度、任意字符的同时,对密码进行批量生成,与手动添加方式相结合。
软件功能主要由四部分组成,如图3所示:
字符控制范围:根据现有的密码组成,密码的组合类型分为:字母大小写、阿拉伯数字、特殊字符,三种密码字符随机组合。在保证固定的字符串不变的情况下,可以手动添加特殊字符,提升了密码的灵活性。通过手动选取以上的数据类型,组合后的密码可以批量生成.txt后缀文件。字符输入长度:传统的密码长度,分为固定位数和范围位数。固定长度的设计,是针对固定的密码进行破解,在实际情况下很少有固定长度。随机长度的设计,是针对多变的密码进行破解,通过确定一个范围从而完成密码的生成。字符长度功能在设计时,可以通过调整固定和随机长度来实现,固定长度默认为5,随机字符长度定义在5-50之间。在实际情况中,密码都是在6位以上至15位之间,在攻击实验中不明确密码范围的可选取随机长度,通过随机来生成不同长度的密码文件。
4 密码字典的功能实现
4.1 密码字典生成
在密码字典生成过程中,通过用户输入数据,选择到不同的多选框。定义字的符类型,将类型的值采用条件语句进行筛选完成值传递。选取一个设定的密码长度选项,通过调用类库的枚举类型,随机选取其中某个类型,完成密码的生成并输出[9]。对于选取的字符类型进行随机选出的过程,如图4所示:
5 解密字典测试
5.1 解密测试
测试环境是使用设备名称Redmi Note2无线接入端,SSID为Redmi Note2,WPA-PSK加密方式。设备名称联想笔记本B51、LK-110 USB无线网卡,应用的软件环境为乌班图Linux系统,使用开源软件Aircrack-ng套件。
在Aircrack-ng环境中,将USB网卡端口调整至监听模式,使用套件中的抓包工具Airodump-ng监听无线网。通过监听的无线列表找到需要破解的BSSID,单独监听。监听到该BSSID的终端用户,通过注入“deauth”攻击让该BSSID的终端用户强制下线,使其重新连接到BSSID中,得到加密的数据报文,如图6所示。
将生成的字典文件152115151040.txt,對已经获取到的数据包进行破解,最后获取到该BSSID的密码,如图7所示。
5.2实验结果分析
WPA-PSK采用的是静态的共享密钥作为主要的认证方式,数据加密方面没有使用TKIP数据加密[11]。虽然改进后的密钥长度增加了,但是核心算法依旧是RC4算法,RC4算法的不安全性增加了被破解的几率。通过对802.11标准下的无线加密方式的研究,使用WPA加密方式比WEP加密方式的安全性有所提升,WPA2的加密方式也是对WPA加密算法的改进。目前常用的加密手段还是以WPA2的加密方式。
设计在使用aircrack-ng破解握手包时,捕获到包含密文的数据包,对加密算法漏洞的分析,是设计密码生成器的核心思想。通过密码生成器生成大量随机密码的文件中,提升了字典破解法的成功率。
参考文献:
[1] Joshua Wright.黑客大曝光:无线网络安全[M]. 李瑞民,译.北京:机械工业出版社
[2] 张磊. 无线局域网WPA加密安全性研究[D].昆明: 云南大学, 2012.
[3] 庄绪强. WLAN攻击技术研究[D]. 西安: 西安电子科技大学, 2011.
[4] 房沛荣, 唐刚, 程晓妮. WPA/WPA2协议安全性分析[J]. 软件学报, 2014, 35(8):42-45.
[5] 宋宇波, 胡爱群, 蔡天佑. 无线局域网TKIP协议的安全分析[J]. 应用科学学报, 2005, 23(1):67-70.
[6] 蔡传安. RC4加密算法及其安全性研究[J]. 中国水运月刊, 2012, 12(8):33-35.
[7] 耿嘉, 曹秀英. 无线局域网中基于RC4的加密算法的分析与改进[J]. 通信技术, 2002(9):95-97.
[8] 黄华钦, 陈剑波. 无线局域网WEP与WPA加密协议工作机理及安全漏洞的分析研究[J].广西物理, 2006(4):23-26.
[9] 刘建. 基于专用字典的密码破解方法研究与应用[D]. 哈尔滨: 哈尔滨工业大学, 2015.
[10] 王春晓. 无线局域网中WPA及预防字典攻击技术的研究与改进[D]. 哈尔滨: 哈尔滨理工大学, 2010.
[11] 司纪锋. 无线局域网安全分析与检测系统的研究和实现[D]. 曲阜: 曲阜师范大学, 2006.
关键词:TKIP;密码字典;C#
中图分类号:TP309-7 文献标识码:A 文章编号:1009-3044(2018)16-0083-03
Design and Implementation of Message Decryption Software Based on TKIP Protocol
YANG Li-xia, ZHANG Ying-hao
(Zhengzhou Normal University,School of Information Science and Technology)
Abstract:Design using the password dictionary to crack the wireless network, by analyzing the algorithm loopholes in the TKIP encryption protocol.Design the password dictionarycreated by generating alphabetic text files, such as letters, numbers,characters and so on to complete the cracking of data packets. The design is completed by using C# language to write software code, designingpassword generator, and generating password files needed in the process of crackingin the development environment of Microsoft Visual Studio 2013.After testing, we can finish the decryption of encrypted message, and greatly improve the success rate of wireless data packet cracking.
Key words:TKIP;Password dictionary;C#
IEEE 802.11i是基于IEEE802.11協议标准的一个子集,数据加密定义了TKIP的加密保护。IEEE 802.11x协议标准是作用于物理接口,基于C/S模式下的访问控制和认证的协议,它对于不属于无线网的用户进行了隔离,使非法用户无法连入无线网中。在用户认证时,802.11x协议标准只允许包含有EAPOL标签的数据包进行传输,在获得认证成功后,用户和服务器才能正常通信。
WPA保护模式在数据传输加密上使用了临时密钥完整性协议,用来提升数据加密的安全性。它是依托WEP的加密过程和改进的RC4算法组成,解决了WEP保护模式下的安全问题。对于WPA保护模式摒弃了WEP保护下所使用的CRC校验码,使用了更加安全的信息完整性认证码MIC,提高了WPA保护模式的安全性。WPA保护模式增加了两种身份验证的功能,突破了WEP保护模式下无认证的模式。它的保护模式有两个版本,一个用于企业级,一个用于家庭级。WPA保护模式两个版本分别是(如公式1所示):
[WPA=802.11x EAP TKIP MIC]
[WPA=Pre-shared Key TKIP MIC ] (1)
在数据加密方面,因为两种加密方式最大的区别是加入了服务器认证,采用WPA-PSK加密方式的安全性低于WPA企业级的加密方式的安全性。
1基于TKIP报文的加密过程
TKIP(Temporal Key Integrity Protocol)临时密钥完整性协议,作用是给接收数据进行完整性确认和使发送的数据变得模糊、无法识别的一套安全服务。TKIP在加密过程中主要由:包序列计数器、MIC校验、加密混合函数三个模块组成[4]。在协议进行数据传输时,由主密钥计算产生MIC密钥,通过MIC校验得到MIC值,把MIC和MSDU进行串接得到数据包。对于过大的数据包,需要分块传输。通过IV生成器生成的IV,和数据包进行串接,添加MAC头。把添加MAC头的数据和加密密钥进行混合运算,后对混合运算的数据包进行加密,生成MPDU,完成加密过程[5]。MSDU(MAC Service Data Unit)即MAC服务数据单元。MPDU(MAC Protocol Data Unit)即MAC协议数据单元。MSDU是存在于Ethernet报文的数据包,MPDU则是通过802.11封装过的数据帧。
MIC(Message Integrity Code)信息完整性校验代码,作用是给分块报文进行完整性校验。MIC校验要求是接入端和终端都要进行计算得到MIC值,两端不同的MIC值通过比较,一致说明数据是安全的未被更改,不一致说明数据已经被修改,直接丢弃。使用MIC比较之后,可以防止篡改攻击,如图1所示。
2 基于TKIP加密的报文破解分析
在WPA保护下的TKIP的加密过程是依据MIC模块、密钥模块、RC4算法模块来完成的[10]。对于TKIP保护的加密过程可以知道其解密报文的过程。第一阶段在进行数据包解密时,去掉MIC头,进行TSC窗口校验,如果校验不过,解密终止,数据包丢弃。通过校验后,才能继续解密。第二阶段在密钥混合时,需要密钥混合后才能继续解密,同时还要检查ICV,如果未通过检查,解密失败。通过检查后,解密完成。第三阶段完成数据报文的重组,重组后再进性MIC校验,将校验的值进行比较是否相等。若相等则去掉MIC头,得到未加密的报文。在TSC窗口校验时,它的作用是用来记录MPDU的传递顺序,如图2所示。 3密码字典软件的架构设计
3.1 密码字典设计原理
在WPA保护下的TKIP加密过程中,使用核心算法RC4算法进行加密解密时,通过加密算法得到实际密钥,然后用异或运算完成解密[6]。在使用未加密的报文Y1和Y2,加密过程中使用相同的密钥K经过异或运算得到C1和C2密文,公式2如下,其中OR定义为异或运算符,如公式2所示:
[C1 OR C2=Y1 OR K OR Y2 OR K=Y1 OR Y2] (2)
因此,只要能够得到Y1的内容,在通过某些手段获取到C1和C2,那么破解Y2就是轻而易举的事。对于破解无线网的攻击者来说,只要可以捕获到四次握手的加密报文,就相当于获取到了加密过的数据C1和C2。在这个基础上,通过建立字典文件,使用暴力破解方式进行破解报文,得到预共享密钥[7]。
3.2密码字典功能结构
传统的密码字典文件,是一种以.txt后缀的文本文件。它通常经过用户手动添加字符或者字符串,用户手动添加的字符串一般都是截取日历中的每一天,或者选取以一个字符为首位,这个过程是比较繁琐的[8]。设计通过对长、字母和字符类型考虑,可以不限任意长度、任意字符的同时,对密码进行批量生成,与手动添加方式相结合。
软件功能主要由四部分组成,如图3所示:
字符控制范围:根据现有的密码组成,密码的组合类型分为:字母大小写、阿拉伯数字、特殊字符,三种密码字符随机组合。在保证固定的字符串不变的情况下,可以手动添加特殊字符,提升了密码的灵活性。通过手动选取以上的数据类型,组合后的密码可以批量生成.txt后缀文件。字符输入长度:传统的密码长度,分为固定位数和范围位数。固定长度的设计,是针对固定的密码进行破解,在实际情况下很少有固定长度。随机长度的设计,是针对多变的密码进行破解,通过确定一个范围从而完成密码的生成。字符长度功能在设计时,可以通过调整固定和随机长度来实现,固定长度默认为5,随机字符长度定义在5-50之间。在实际情况中,密码都是在6位以上至15位之间,在攻击实验中不明确密码范围的可选取随机长度,通过随机来生成不同长度的密码文件。
4 密码字典的功能实现
4.1 密码字典生成
在密码字典生成过程中,通过用户输入数据,选择到不同的多选框。定义字的符类型,将类型的值采用条件语句进行筛选完成值传递。选取一个设定的密码长度选项,通过调用类库的枚举类型,随机选取其中某个类型,完成密码的生成并输出[9]。对于选取的字符类型进行随机选出的过程,如图4所示:
5 解密字典测试
5.1 解密测试
测试环境是使用设备名称Redmi Note2无线接入端,SSID为Redmi Note2,WPA-PSK加密方式。设备名称联想笔记本B51、LK-110 USB无线网卡,应用的软件环境为乌班图Linux系统,使用开源软件Aircrack-ng套件。
在Aircrack-ng环境中,将USB网卡端口调整至监听模式,使用套件中的抓包工具Airodump-ng监听无线网。通过监听的无线列表找到需要破解的BSSID,单独监听。监听到该BSSID的终端用户,通过注入“deauth”攻击让该BSSID的终端用户强制下线,使其重新连接到BSSID中,得到加密的数据报文,如图6所示。
将生成的字典文件152115151040.txt,對已经获取到的数据包进行破解,最后获取到该BSSID的密码,如图7所示。
5.2实验结果分析
WPA-PSK采用的是静态的共享密钥作为主要的认证方式,数据加密方面没有使用TKIP数据加密[11]。虽然改进后的密钥长度增加了,但是核心算法依旧是RC4算法,RC4算法的不安全性增加了被破解的几率。通过对802.11标准下的无线加密方式的研究,使用WPA加密方式比WEP加密方式的安全性有所提升,WPA2的加密方式也是对WPA加密算法的改进。目前常用的加密手段还是以WPA2的加密方式。
设计在使用aircrack-ng破解握手包时,捕获到包含密文的数据包,对加密算法漏洞的分析,是设计密码生成器的核心思想。通过密码生成器生成大量随机密码的文件中,提升了字典破解法的成功率。
参考文献:
[1] Joshua Wright.黑客大曝光:无线网络安全[M]. 李瑞民,译.北京:机械工业出版社
[2] 张磊. 无线局域网WPA加密安全性研究[D].昆明: 云南大学, 2012.
[3] 庄绪强. WLAN攻击技术研究[D]. 西安: 西安电子科技大学, 2011.
[4] 房沛荣, 唐刚, 程晓妮. WPA/WPA2协议安全性分析[J]. 软件学报, 2014, 35(8):42-45.
[5] 宋宇波, 胡爱群, 蔡天佑. 无线局域网TKIP协议的安全分析[J]. 应用科学学报, 2005, 23(1):67-70.
[6] 蔡传安. RC4加密算法及其安全性研究[J]. 中国水运月刊, 2012, 12(8):33-35.
[7] 耿嘉, 曹秀英. 无线局域网中基于RC4的加密算法的分析与改进[J]. 通信技术, 2002(9):95-97.
[8] 黄华钦, 陈剑波. 无线局域网WEP与WPA加密协议工作机理及安全漏洞的分析研究[J].广西物理, 2006(4):23-26.
[9] 刘建. 基于专用字典的密码破解方法研究与应用[D]. 哈尔滨: 哈尔滨工业大学, 2015.
[10] 王春晓. 无线局域网中WPA及预防字典攻击技术的研究与改进[D]. 哈尔滨: 哈尔滨理工大学, 2010.
[11] 司纪锋. 无线局域网安全分析与检测系统的研究和实现[D]. 曲阜: 曲阜师范大学, 2006.