具体实施方式
参阅图1,为本发明密钥交换方法一实施环境图。在本实施方式中,无线通信系统包括第一接入点10、第二接入点20、第一移动站11及第二移动站21。第一移动站11与第二移动站21可为任一接入无线局域网的设备,例如:移动电话、携带式电脑、个人数字助理(Personal Digital Assistant,PDA)等。第一移动站11与第一接入点10进行无线通信。第二移动站21与第二接入点20进行无线通信。
在本实施方式中,第一接入点10传送请求密钥交换(Request-key-change)帧至第二接入点20以请求交换密钥,第二接入点20传送同意密钥交换(Agree-key-change)帧至第一接入点10以同意交换密钥。第一接入点10产生新密钥,并根据新密钥与第二接入点20的公钥传送新密钥发送(New-key-send)帧至第二接入点20以传递新密钥。第二接入点20根据第二接入点20的私钥解读新密钥发送帧而获取新密钥,并传送新密钥收到(New-key-received)帧至第一接入点10以告知新密钥已收到。此后,第一接入点10与第二接入点20可通过新密钥进行数据传输。从而,第一接入点10与第二接入点20自动且安全的建立WDS连线。
故,第一移动站11与第二移动站21也可通过第一接入点10与第二接入点20进行无线通信,从而扩展了无线网络的覆盖范围,即无线网络的覆盖范围从第一接入点10或第二接入点20的覆盖范围扩展至第一接入点10与第二接入点20的覆盖范围。
参阅图2,为本发明无需通过接入点的密钥交换方法另一实施环境图。在本实施方式中,无线通信系统包括第三移动站30及第四移动站40。第三移动站30传送请求密钥交换帧至第四移动站40以请求交换密钥,第四移动站40传送同意密钥交换帧至第三移动站30以同意交换密钥。第三移动站30产生新密钥,并根据新密钥与第四移动站40的公钥传送新密钥发送帧至第四移动站40以传递新密钥。第四移动站40根据第四移动站40的私钥解读新密钥发送帧而获取新密钥,并传送新密钥收到帧至第三移动站30以告知新密钥已收到。此后,第三移动站30与第四移动站40可通过新密钥进行数据传输。从而,第三移动站30与第四移动站40自动且安全的建立点对点连线。
故,第三移动站30与第四移动站40无需通过接入点相互连接,而直接进行资源共享。
参阅图3,为本发明实施方式中管理帧1000的示意图。在本实施方式中,管理帧1000为信标帧(Beacon Frame),其包括媒体存取控制(Media Access Control,MAC)表头(Header)1100、帧主体(Frame Body)1200及帧检查序列(Frame Check Sequence,FCS)1300。MAC表头1100与电气电子工程师学会(Institute of Electrical and ElectronicsEngineers,IEEE)802.11协议规定的信标帧的MAC表头的设定一致。帧主体1200包括多个信息元(Information Element,IE)1210。每一个信息元1210包括识别码(ElementIdentifier,Element ID)1211、长度(Length)1212及内容(Challenge Text)1213。在本实施方式中,当一个信息元1210的内容1213被设定为图4中的信息元内容2000,则携带此信息元1210的管理帧1000可成为请求密钥交换帧、同意密钥交换帧或新密钥收到帧。当一个信息元1210的内容1213被设定为图5中的信息元内容3000,则携带此信息元1210的管理帧1000可成为新密钥发送帧。信息元内容2000与信息元内容3000将在下文详述之。
参阅图4,为本发明实施方式中信息元内容2000的示意图。在本实施方式中,信息元内容2000包括信标类型(Beacon Type)2100、确认结果(Acknowledge Result)2200、数字签名长度(Digital Signature Length)2300及数字签名(Digital Signature)2400。
在其它实施方式中,信息元内容2000也可根据不同的需求而划分成不同的字段。
信标类型2100用于指明携带此信息元内容2000的管理帧1000的类型。在本实施方式中,当信标类型2100被设定为1,则表明对应的管理帧1000为请求密钥交换帧。当信标类型2100被设定为2,则表明对应的管理帧1000为同意密钥交换帧。当信标类型2100被设定为4,则表明对应的管理帧1000为新密钥收到帧。
在其它实施方式中,信标类型2100的设定值与管理帧1000的对应关系也可根据不同的需求而变化。
确认结果2200用于表明接受或拒绝。在本实施方式中,当确认结果2200被设定为0,则表明接受;当确认结果2200被设定为1,则表明拒绝。在本实施例中,当管理帧1000为请求密钥交换帧,即信标类型2100被设定为1时,确认结果2200无意义,可以不必设定。当管理帧1000为同意密钥交换帧,即信标类型2100被设定为2时,确认结果2200可被设定为0或1,分别表明接受密钥交换或拒绝密钥交换的请求。当管理帧1000为新密钥收到帧,即信标类型2100被设定为4时,确认结果2200仅被设定为0,表明新密钥已经收到。
数字签名长度2300用于指明数字签名2400的长度。
数字签名2400是基于传送端的私钥被加密的数字签名。在本实施方式中,传送端指传送携带信息元内容2000的管理帧1000的装置,接收端是指接收携带信息元内容2000的管理帧1000的装置。当接收端接收管理帧1000后,可通过传送端的公钥对数字签名2400进行检查,从而确保传送端与接收端之间的通信安全。
参阅图5,为本发明实施方式中信息元内容3000的示意图。在本实施方式中,信息元内容3000包括信标类型3100、密钥长度(Key Length)3200、安全类型(Security Type)3300、加密密钥(Encrypted Key)3400、数字签名长度3500及数字签名3600。
在其它实施方式中,信息元内容3000也可根据不同的需求而划分为不同的字段。
信标类型3100用于指明携带此信息元内容3000的管理帧1000的类型。在本实施方式中,信标类型3100被设定为3,表明对应的管理帧1000为新密钥发送帧。
密钥长度3200用于指明安全类型3300与加密密钥3400的长度。
安全类型3300用于指明信息元内容3000所载的新密钥的类型。在本实施方式中,当安全类型3300被设定为0,则表明所载的新密钥为有线等效加密(Wired Equivalent Privacy,WEP)密钥;当安全类型3300被设定为1,则表明所载的新密钥为WiFi保护访问预共享密钥(Wi-Fi Protected Access Pre-shared Key,WPA-PSK);当安全类型3300被设定为2,则表明所载的新密钥为WiFi保护访问2预共享密钥(Wi-Fi Protected Version 2 AccessPre-shared Key,WPA2-PSK)。
加密密钥3400用于指明基于接收端的公钥被加密的新密钥。在本实施方式中,接收端是指接收携带信息元内容3000的管理帧1000的装置,传送端指传送携带信息元内容300的管理帧1000的装置。传送端通过接收端的公钥对新密钥进行加密,接收端可利用接收端的私钥对新密钥进行解密而获取新密钥,从而传送端安全的将新密钥传送至接收端。
数字签名长度3500用于指明数字签名3600的长度。
数字签名3600是基于传送端的私钥被加密的数字签名。在本实施方式中,传送端指传送携带信息元内容3000的管理帧1000的装置,接收端是指接收携带信息元内容3000的管理帧1000的装置。当接收端接收管理帧1000后,可通过传送端的公钥对数字签名3600进行检查,从而确保传送端与接收端之间的通信安全。
参阅图6,为本发明一实施方式中,第一无线装置100与第二无线装置200的模块图。在本实施方式中,第一无线装置100与第二无线装置200可分别为图1中的第一接入点10与第二接入点20,也可分别为图2中的第三移动站30与第四移动站40。
第一无线装置100包括设定模块110、密钥交换模块120及交换判断模块130。第二无线装置200包括设定模块210、密钥交换模块220及交换判断模块230。其中,密钥交换模块120(220)进一步包括密钥请求模块121(221)、密钥产生模块122(222)及密钥传递模块123(223)。
在其它实施方式中,第一无线装置100也可直接包括设定模块110、密钥请求模块121、密钥产生模块122、密钥传递模块123及交换判断模块130。相应地,第二无线装置200也可直接包括设定模块210、密钥请求模块221、密钥产生模块222、密钥传递模块223及交换判断模块230。
第一无线装置100的设定模块110用于设定第二无线装置200的凭证文件。第二无线装置200的设定模块210用于设定第一无线装置100的凭证文件。在本实施方式中,第二无线装置200的凭证文件包括第二无线装置200的公钥,第一无线装置100的凭证文件包括第一无线装置100的公钥。
第一无线装置100的设定模块110还用于设定第二无线装置200的MAC地址。第二无线装置200的设定模块210还用于设定第一无线装置100的MAC地址。
在本实施方式中,当第一无线装置100与第二无线装置200建立WDS连线时,第一无线装置100的设定模块110需要设定第二无线装置200的MAC地址,第二无线装置200的设定模块210也需要设定第一无线装置100的MAC地址。
在另一实施方式中,当第一无线装置100与第二无线装置200建立点对点连线时,第一无线装置100的设定模块110不需要设定第二无线装置200的MAC地址,第二无线装置200的设定模块210也不需要设定第一无线装置100的MAC地址。
第一无线装置100的密钥交换模块120用于与第二无线装置200进行密钥交换。第二无线装置200的密钥交换模块220用于与第一无线装置100进行密钥交换。
在本实施方式中,第一无线装置100主动向第二无线装置200请求密钥交换。密钥请求模块121用于通过传送请求密钥交换帧以请求密钥交换。密钥请求模块221用于通过传送同意密钥交换帧以同意密钥交换。
具体而言,密钥请求模块121根据第一无线装置100的私钥传送请求密钥交换帧至第二无线装置200。请求密钥交换帧为携带信息元内容2000的管理帧1000。在本实施例中,如图4所示,信息元内容2000的信标类型2100被设定为1,表明请求密钥交换帧的类型,数字签名长度2300是数位签名2400的长度,数字签名2400是基于第一无线装置100的私钥加密的数字签名。
密钥请求模块221接收请求密钥交换帧,并根据第一无线装置100的公钥检查请求密钥交换帧。在本实施方式中,密钥请求模块221根据第一无线装置100的公钥检查请求密钥交换帧的数字签名2400。
然后,密钥请求模块221根据第二无线装置200的私钥传送同意密钥交换帧至第一无线装置100。同意密钥帧为携带信息元内容2000的管理帧1000。在本实施例中,如图4所示,信息元内容2000的信标类型2100被设定为2,表明同意密钥交换帧的类型,确认结果2200被设定为0,表明接受交换密钥的请求,数字签名长度2300是数位签名2400的长度,数字签名2400是基于第二无线装置200的私钥被加密的数字签名。
密钥请求模块121接收同意密钥交换帧,并根据第二无线装置200的公钥检查同意密钥交换帧。在本实施方式中,密钥请求模块121根据第二无线装置200的公钥检查同意密钥交换帧的数字签名2400。
在其它实施方式中,当第二无线装置200主动向第一无线装置100请求密钥交换时,密钥请求模块121与密钥请求模块221的功能也可调换。
在本实施方式中,密钥产生模块122用于当请求密钥交换成功时产生新密钥。在本实施方式中,新密钥为WEP密钥,第一无线装置100根据IEEE 802.11协议产生WEP密钥。
在其它实施方式中,新密钥也可为WPA-PSK或WPA2-PSK密钥,第一无线装置100也可根据IEEE 802.11i协议产生WPA-PSK或WPA2-PSK密钥。
密钥传递模块123用于根据第二无线装置200的公钥加密新密钥,并通过传送新密钥发送帧以传递被加密的新密钥。密钥传递模块223用于通过传送新密钥收到帧以告知新密钥已收到。
具体而言,密钥传递模块123根据新密钥、第二无线装置200的公钥及第一无线装置100的私钥传送新密钥发送帧。新密钥发送帧为携带信息元内容3000的管理帧1000。在本实施例中,如图5所示,信标类型3100设定为3,表明新密钥发送帧的类型,密钥长度3200是安全类型3300与加密密钥3400的长度,安全类型3300被设定为1,表明新密钥的类型为WEP密钥,加密密钥3400是基于第二无线装置200的公钥加密的新密钥。数字签名长度3500是数位签名3600的长度,数字签名3600是基于第一无线装置100的私钥被加密的数字签名。
密钥传递模块223接收新密钥发送帧,并根据第一无线装置100的公钥及第二无线装置200的私钥解读新密钥发送帧而获取新密钥。在本实施例中,密钥传递模块223先根据第一无线装置100的公钥检查新密钥发送帧的数字签名3600,再根据第二无线装置200的私钥解密被加密的新密钥,从而获取新密钥。
然后,密钥传递模块223根据第二无线装置200的私钥传送新密钥收到帧。新密钥收到帧为携带信息元内容2000的管理帧1000。在本实施例中,如图4所示,信标类型2100被设定为4,表明新密钥收到帧的类型,确认结果2200被设定为0,表明新密钥已收到,数字签名长度2300是数位签名2400的长度,数字签名2400是基于第二无线装置200的私钥被加密的数字签名。
密钥传递模块123接收新密钥收到帧,并根据第二无线装置200的公钥检查新密钥收到帧。在本实施方式中,密钥传递模块123根据第二无线装置200的公钥检查数字签名2400。
在其它实施方式中,新密钥也可由第二无线装置200的密钥产生模块222产生,密钥传递模块123与密钥传递模块223的功能也可调换。
此后,第一无线装置100与第二无线装置200可通过新密钥进行数据传输。第一无线装置100或第二无线装置200还判断通信是否中断。在本实施方式中,通信中断可为数据传输完毕或网络连接断开。
如果通信未中断,则第一无线装置100或第二无线装置200还判断是否需要交换密钥。
交换判断模块130与230皆用于判断是否需要交换密钥。在本实施方式中,交换判断模块130与230可同时判断,也可其中之一者判断是否需要交换密钥。由于交换判断模块130与230的功能相同,为了描述简洁,下文仅描述交换判断模块130的功能。
在本实施方式中,交换判断模块130根据预定的交换频率来判断需要交换密钥。举例而言,当用户预设的交换频率为每5分钟1次,则每经过5分钟交换判断模块124就判断需要交换密钥,5分钟未到则判断不需要交换密钥。
在其它实施方式中,交换判断模块124也可根据用户的指令来判断需要交换密钥。例如,当用户发现出现安全隐患时通过按钮或其它方式给出交换指令,交换判断模块124接收交换指令后判断需要交换密钥。
如果需要交换密钥,则第一无线装置100继续传送请求密钥交换帧至第二无线装置200。
如果不需要交换密钥,则第一无线装置100与第二无线装置200继续进行数据传输,直到通信中断。
参阅图7,为本发明密钥交换方法一实施方式的流程图。
在步骤S700,第一无线装置100传送请求密钥交换帧至第二无线装置200以请求交换密钥。
在步骤S702,第二无线装置200传送同意密钥交换帧至第一无线装置100以同意交换密钥。
在步骤S704,第一无线装置100产生新密钥。
在步骤S706,第一无线装置100根据新密钥及第二无线装置200的公钥传送新密钥发送帧至第二无线装置200以传递新密钥。
在步骤S708,第二无线装置200根据第二无线装置200的私钥解读新密钥发送帧而获取新密钥。
在步骤S710,第二无线装置200传送新密钥收到帧至第一无线装置100以告知新密钥已收到。
在步骤S712,第一无线装置100与第二无线装置200通过新密钥进行数据传输。
在步骤S714,第一无线装置100判断通信是否中断。
在其它实施方式中,也可由第二无线装置200判断通信是否中断。
如果通信未中断,则在步骤S716,第一无线装置100判断是否需要交换密钥。
若不需要交换密钥,则回到步骤S712,第一无线装置100与第二无线装置200继续进行数据传输。
若需要交换密钥,则第一无线装置100继续传送请求密钥交换帧至第二无线装置200。
参阅图8,为图7中密钥交换方法的具体流程图。
在步骤S800,第一无线装置100与第二无线装置200分别设定对方的MAC地址。在本实施方式中,第一无线装置100与第二无线装置200建立WDS连线,故需要分别设定对方的MAC地址。
在其它实施方式中,第一无线装置100与第二无线装置200也可建立点对点连线,则不需要设定对方的MAC地址。
在步骤S802,第一无线装置100与第二无线装置200分别设定对方的凭证文件。在本实施方式中,第二无线装置200的凭证文件包括第二无线装置200的公钥,第一无线装置100的凭证文件包括第一无线装置100的公钥。
在步骤S804,与图7的步骤S700相同,具体而言,第一无线装置100根据第一无线装置的私钥传送请求密钥交换帧。在本实施方式中,请求密钥交换帧为携带信息元内容2000的管理帧1000。在本实施例中,如图4所示,信标类型2100被设定为1,数字签名长度2300是数位签名2400的长度,数字签名2400是基于第一无线装置100的私钥加密的数字签名。
在步骤S806,第二无线装置200接收请求密钥交换帧,并根据第一无线装置100的公钥检查请求密钥交换帧。在本实施方式中,第二无线装置200根据第一无线装置100的公钥检查请求密钥交换帧的数字签名2400。
在步骤S808,与图7的步骤S702相同,具体而言,第二无线装置200根据第二无线装置200的私钥传送同意密钥交换帧。在本实施方式中,同意密钥交换帧为携带信息元内容2000的管理帧1000。在本实施例中,如图4所示,信标类型2100被设定为2,确认结果2200被设定为0,数字签名长度2300是数位签名2400的长度,数字签名2400是基于第二无线装置200的私钥被加密的数字签名。
在步骤S810,第一无线装置100接收同意密钥交换帧,并根据第二无线装置200的公钥检查同意密钥交换帧。在本实施方式中,第一无线装置100根据第二无线装置200的公钥检查同意密钥交换帧的数字签名2400。
参阅图9,为图8中节点A之后的流程图。
在步骤S900,与图7的步骤S704相同,第一无线装置100产生新密钥。在本实施方式中,新密钥为WEP密钥,第一无线装置100根据IEEE 802.11协议产生WEP密钥。
在其它实施方式中,新密钥也可为WPA-PSK或WPA2-PSK,第一无线装置100也可根据IEEE802.11i协议产生WPA-PSK或WPA2-PSK。
在步骤S902,与图7的步骤S706相同,具体而言,第一无线装置100根据新密钥、第二无线装置200的公钥及第一无线装置100的私钥传送新密钥发送帧。在本实施方式中,新密钥发送帧为携带信息元内容3000的管理帧1000。在本实施例中,如图5所示,信标类型2100被设定为3,密钥长度3200是安全类型3300与加密密钥3400的长度,安全类型3300被设定为0,加密密钥3400是基于第二无线装置200的公钥被加密的新密钥。数字签名长度3500是数位签名3600的长度,数字签名3600是基于第一无线装置100的私钥被加密的数字签名。
在步骤S904,与图7的步骤S708相同,具体而言,第二无线装置200接收新密钥发送帧,并根据第一无线装置100的公钥及第二无线装置200的私钥解读新密钥发送帧而获取新密钥。
在步骤S906,与图7的步骤S710相同,具体而言,第二无线装置200根据第二无线装置200的私钥传送新密钥收到帧。在本实施方式中,新密钥收到帧为携带信息元内容2000的管理帧1000。在本实施例中,如图4所示,信标类型2100被设定为4,确认结果2200被设定为0,数字签名长度2300是数位签名2400的长度,数字签名2400是基于第二无线装置200的私钥被加密的数字签名。
在步骤S908,第一无线装置100接收新密钥收到帧,并根据第二无线装置200的公钥检查新密钥收到帧。在本实施方式中,第一无线装置100根据第二无线装置200的公钥检查数字签名2400。
在步骤S910,与图7的步骤S712相同,第一无线装置100与第二无线装置200通过新密钥进行数据传输。
在步骤S912,与图7的步骤S714相同,第一无线装置100判断通信是否中断。
在其它实施方式中,也可由第二无线装置200判断通信是否中断。
如果通信未中断,则在步骤S914,与图7的步骤S716相同,第一无线装置100判断是否需要交换密钥。在本实施方式中,第一无线装置100根据一定的交换频率来判断需要交换密钥。举例而言,当交换频率为每5分钟1次,则每经过5分钟交换判断模块124就判断需要交换密钥,5分钟未到则判断不需要交换密钥。
在其它实施方式中,交换判断模块124也可根据用户的指令来判断需要交换密钥。
如果需要交换密钥,则回到图8中的步骤S804,第一无线装置100继续传送一请求密钥交换帧至第二无线装置200。
如果不需要交换密钥,则回到步骤S910,第一无线装置100与第二无线装置200继续进行数据传输,直到通信中断。
在本发明实施方式中,第一无线装置100与第二无线装置200通过四次握手(4-wayHandshake)的流程来交换密钥,四次握手的流程包括通过收发请求密钥交换帧、同意密钥交换帧、新密钥发送帧及新密钥收到帧来交换密钥。且,新密钥通过公钥私钥方式来交换,即第一无线装置100根据第二无线装置200的公钥对新密钥进行加密,第二无线装置200根据第二无线装置200的私钥对被加密的新密钥进行解密。故,第一无线装置100与第二无线装置200自动且安全的交换密钥,进而建立较安全的连线。
另,第一无线装置100与第二无线装置200之间传送的请求密钥交换帧、同意密钥交换帧、新密钥发送帧及新密钥收到帧都被增加数字签名,从而保证整个网络建立流程的安全可靠。
此外,第一无线装置100与第二无线装置200按照一定的交换频率交换密钥,进一步提高了第一无线装置100与第二无线装置200之间通信的安全性。