分类: 嵌入式
2011-10-14 00:13:36
关于成对密钥与组密钥的结构
1.成对密钥
PMK 是基本元素
然后通过 supplicant MAC(SA), supplicant nouces(SN),authenticator MAC(AA),authenticator nouces(AN)
进行扩展获得PTK (Pairwise Transient Key) 成对传输密码
公式如下:
PTK=SHA1_PRF(PMK,Len(PMK),"Pairwise key expansion",MIN(AA,SA)||MAX(AA,SA)||MIN(AN,SN)||MAX(AN,SN))
公式参考了:
http://blog.csdn.net/gueter/article/details/4812822
PTK 有两种格式,TKIP,和CCMP,
其中TKIP是动态WEP所用RC4+Michael完整性校验的组成
CCMP是全新的组密码AES方式
PTK的生成元素中的PMK获得
1. WPA-PSK
PMK=PSK= pdkdf2_SHA1(passphrase,SSID,SSID lenth,4096)
其中passphrase,SSID ,是身份验证前authenticator,和supplicant
都应该知道的
2. 802.1X+EAP中
PMK =L(MSK, 0, 256)
MSK 需要通过802.1X交换获得
其中EAP-Request/Method 中Method 表示EAP认证的方式,如下:
4 - MD5 Challenge EAP 中类似CHAP的认证方式
6 - GTC 原本打算与RSA SecurID之类的token card 一起使用
13 - EAP-TLS 以数字证书相互认证
21 - TTLS 隧道式TLS;以TLS加密保护较弱的身份验证方式
25 - PEAP 防护型EAP;以TLS加密保护较弱的EAP验证方式
18 - EAP-SIM SIM卡方式进行身份验证
29 - MS-CHAP-V2
Method 之后如果认证成功,authenticator会发出EAP-Success表示授权使用连接端口
再接下来AP就可以立即使用EAPOL-Key消息将MSK发给supplicant,以后就和WPA-PSK
一样用MSK最终导出PTK(MSK,PMK就是PTK的密钥生成密钥)
其中EAPOL(EAP over lan)的帧格式如下
-------------------------------------------------------------------------------
| 802.11 header | SNAP header | Ethernet Type (88-8E) | Version |Packet Type |
-------------------------------------------------------------------------------
EAPOL 是EAP 的扩展,除了P156相关EAP信息,EAPOL还加入了一些额外的消息
让EAP 能够适用于基于连接端口的LAN环境
EAPOL 消息的类型:
EAP-Packet 包含了1个经过封装的 EAP帧
EAPOL-Start 申请者可以主动送出EAPOL-Start帧,不必等候来自认证者的质询
信息,认证者会送出1个 EAP-Request/Identity帧作为响应
EAPOL-Logoff 当某个系统不再需要使用网络时,便可以发出1个EAPOL-Logoff帧
让连接端口回到未授权状态
EAPOL-Key EAPOL 可以用来交换加密密钥信息 (0000 0011)
EAPOL-Encap-sulated-ASF-Alert