作者:家宇珮禎忠全 | 来源:互联网 | 2023-05-18 00:50
本文主要介绍关于安全,前端,java的知识点,对无线通信安全作业4和4g通信网络安全防护有兴趣的朋友可以看下由【Champhoenix】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的网络安全相关
本文主要介绍关于安全,前端,java的知识点,对无线通信安全作业4和4g通信网络安全防护有兴趣的朋友可以看下由【Champhoenix】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的网络安全相关技术问题。
4g通信网络安全防护
1.请分析WEP协议中IV的作用和由于IV引发的安全缺陷。
首先我们来看WEP协议中IV的作用。
WEP基于RC4算法,而RC4算法作为流密码加密算法,用RC4加密的数据丢失会导致加解密失步从而导致后面的数据丢失,WEP需要在每帧重新初始化密钥流,所以引入初始向量IⅣ。WEP使用IV和密钥级联作为种子产生密钥流通过IV的变化产生Per-Package密钥。为了接收方同步产生密钥流,IV必须以明文形式传送。
密钥和初始化向量一起生成PRNG的种子,PRNG输出一个密钥序列,之后作用于明文状态的MPDU,生成密文,和IV组合作为WEP的帧传输。值得一提的是,IV是作为帧体的前四个字节明文发送的。
同时,IV也造成了很大的安全缺陷:
1.弱密钥问题
RC4算法的密钥空间存在大量的弱密钥,在使用这些密钥作为种子时,RC4输出的伪随机序列存在一定的规律,即种子的前面几位很大程度上决定了输出的伪随机序列前面一部分比特位。WEP只是简单的级联IV和密钥形成种子,可是它暴露了Per-Package密钥的前3个字节。而帧头为802.2的头信息,所以可以确定密钥是否为弱密钥,收集足够多的弱密钥即可恢复密码。正常上使用过程中只需要11s的时间。
2.静态共享密钥和IV空间问题
因为IEEE 802.11中没有密钥管理的办法,使用静态共享密钥。这里对于IV的使用没有任何的规定,各个节点之间的IV可能发生冲突;比较繁忙的网络中,因为IV的空间为2的24次方,不长时间内会发生重复。这种情况下,容易发生相同IV攻击和IV重放攻击,对WEP安全造成威胁。相同IV攻击是指通过窃听捕获需要的密文,如果知道其中一个明文,可以立即知道另一个明文。重放攻击是指,通过Internet向工作站发送给定明文,监听密文并组合窃听和篡改数据攻击,周而复始得到IV对应的密钥流。
2.请描述EAP-TLS过程(需要查资料)。
申请者首先通过客户端软件向认证方发送一个EAPoL-Start报文,开始802.1x接入的开始。认证方向申请者发送EAP-Request/Identity请求帧,要求提供身份标识。申请者接收到认证方的请求后,向其发送EAP-Response/Identity响应帧,提供身份标识。认证方将EAP-Response/Identity响应帧封装成RADIUS Access-Request帧发给认证服务器。认证服务器通过用户身份标识检索认证数据库,获知采用TLS认证机制。通过向申请者发送封装EAP-Request/EAP-TLS/TLS-Start的Access-Challenge消息,启动TLS认证过程,等待进行TLS认证。认证方向申请者发送EAP-Request/EAP-TLS/TLS-Start。申请者收到EAP-Request/EAP-TLS/TLS-Start消息后,通过认证方发送EAP-Response/EAP-TLS/Client-Hello消息给服务器。这个消息里面包含了自己可实现的算法列表、Client Random Value和其它一些需要的信息。认证方将EAP-Response/EAP-TLS/Client-Hello响应帧封装成RADIUS Access-Request帧发给认证服务器。认证服务器接收到EAP-Response/EAP-TLS/Client-Hello后,确定TLS认证已建立,并通过封装包含多个TLS记录的EAP-Response/EAP-TLS消息的Access-Challenge消息经过认证方发送给申请者。TLS记录中包含认证服务器的数字证书Server-Certificate、申请者数字证书请求Client Certificate-Request、Sever-Hello和Server Key-Exchange消息用于用交换密钥过程。Server Hello,确定了这次通信所需要的算法和Server Random Value。认证方向申请者发送EAP-Request/EAP-TLS/Sever-Hello,Server-Certificate,Server Key-Exchange,Client Certificate-Request。申请者校验服务器的数字证书Server-Certificate,如果合法,向认证服务器发送Client-Cert、Client Key-Exchange、Change Cipher-spec和Finished消息。Client-Cert为申请者的数字证书、Client Key-Exchange为使用认证服务器的公钥加密的定长随机串,也叫Pre Master Secert, Change Cipher-spec为申请者能够支持的加密类型。认证方将EAP-Response/EAP-TLS/Client-Cert,Client Key-Exchange,Change Cipher-spec,Finished响应帧封装成RADIUS Access-Request帧发给认证服务器。认证服务器校验申请者的证书Client-Certificate,如果合法,然后回复申请者以Change Cipher-spec和Finished消息,Change Cipher-spec包含了认证服务器指定使用的加密类型。认证方向申请者发送EAP-Request/EAP-TLS/Change Cipher-spec,Finished。申请者受到Finished消息后,给服务器一个响应EAP-Response/EAP-TLS/TLS-ACK,Finished。认证方将EAP-Response/EAP-TLS/TLS-ACK,Finished响应帧封装成RADIUS Access-Request帧发给认证服务器。RADlUS服务器和Client都推导出主密钥MK(Master Key)。认证服务器收到TLS-ACK包后,发送Access-Accept给AP发送,其中包括主密钥MK并指示成功的认证。认证方向申请者发送EAP-Success。此时完成EAP-TLS认证流程。
3.请比较CCMP和WRAP协议。
1.两者密码工作模式不同
802.11中配合AES使用的加密模式CCM和OCB,并在这两种模式的基础上构造了CCMP和WRAP密码协议。CCMP 机制基于AES(AdvancedEncryptionStandard)加密算法和CCM(Counter-Mode/CBC-MAC)认证方式,使得WLAN安全程度大大提高,是实现RSN的强制性要求。由于AES对硬件要求比较高,CCMP无法通过在现有设备的基础上升级实现。WRAP机制则是基于AES加密算法和OCB(OffsetCodebook) 。WRAP是基于128位的AES在OCB(offset CodeBook)模式下使用,OCB模式通过使用同一个密钥对数据的一次处理,同时提供了加密和数据完整性检测。
2.PDU结构差异
WRAP PDU结构
CCMP PDU结构
CCMP-128扩展了原始的MPDU 16个字节,8个是CCMP头,另外8个是MIC。CCMP头由PN,ExtIV以及Key ID组成。
3.加密过程差异
CCMP
CCMP加密流程可以描述如下:
a. PN递增
b. 根据MPDU的MAC header构造AAD。
c. 构造Nonce。由PN,A2以及priority构造。A2是MPDU Address 2。
d. PN和key id放入CCMP header
e. TK,AAD,nonce,MPDU做CCM算法,得到加密的data和MIC。
f. MAC header,CCMP header以及加密的data、MIC组装得到CCMP MPDU。
WRAP
a. 构造OCB模式Nonce,同时Replay Counter增加 2来防止在同一密钥下的Nonce重用,b. 从AP到STA 的包使用奇Replay Counter,STA到AP则使用偶 Replay Counter
b. 使用AES密钥和Nonce,进行OCB模式加密数据, 将OCB模式的MIC截为64位
c. 把Replay Counter插入头部和它的加密数据之间
4.解密过程差异
CCMP
(1)加密后的MPDU被分解成构造AAD(additional authentication data)和Nonce值;
(2)AAD由加密的MPDU中的MPDU Header形成;
(3)Nonce值由MPDU Header中的地址2(A2)、扩展CCMPHeader中的PN值、Priority值(保留值为0)生成;
(4)MIC被抽取出用来做CCM完整性检查;
(5)使用临时密钥(TK)、AAD、Nonce、MIC以及MPDU密文数据基于CCM算法恢复MPDU的原文,同时对AAD和恢复出的MPDU原文做完整性检查;
(6)连接接收到的MPDU Header以及恢复出的MPDU数据原文形成完整的MPDU;
(7)整个解密过程通过效验MPDU中的PN值是否比在维持会话过程中的Replay Counter值大而达到阻止重传的MPDU
WRAP
(1)根据发送、接收的MAC地址和Key ID选择Key。
(2)数据长度至少为15字节,包括3字节的LLC头和12字节的AES头。否则,丢弃该数据单元。
(3)计算该数据单元加密的总块数。
(4)从接收包中提取Replay Counter,判断序号是否是重复的,如果是则丢弃。
(5)构造Nonce,用AES密钥OCB模式解密数据单元,然后OCB-tag校验正确得到明文,否则包被篡改,丢弃。
本文《无线通信安全作业4》版权归Champhoenix所有,引用无线通信安全作业4需遵循CC 4.0 BY-SA版权协议。