CN116458173A - 应用于WiFi的安全认证的方法和装置 - Google Patents

应用于WiFi的安全认证的方法和装置 Download PDF

Info

Publication number
CN116458173A
CN116458173A CN202080107043.3A CN202080107043A CN116458173A CN 116458173 A CN116458173 A CN 116458173A CN 202080107043 A CN202080107043 A CN 202080107043A CN 116458173 A CN116458173 A CN 116458173A
Authority
CN
China
Prior art keywords
password
mst
hash
request
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080107043.3A
Other languages
English (en)
Inventor
刘凯
顾燕杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN116458173A publication Critical patent/CN116458173A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0433Key management protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供一种应用于WiFi的安全认证的方法和装置,能够有助于避免多设备共享口令,并实现第一设备对第二设备的管理。在该方法中,接入点AP接收自第一设备输入的第一口令,第一口令为出厂预置的口令;在第一口令通过AP验证的情况下,AP获取AP与第一设备之间共享的第二口令,并根据第二口令,与第一设备进行4路握手。其中,第二口令为第一设备与AP之间的共享密钥。然后,AP可以接收来自第一设备的第一请求,并响应该第一请求向第一设备发送第三口令,第一请求用于请求第二设备接入AP,第三口令为第二设备与AP之间的共享密钥。

Description

应用于WiFi的安全认证的方法和装置 技术领域
本申请涉及通信领域,并且更具体的,涉及一种应用于无线保真(wireless fidelity,WiFi)的安全认证的方法和装置。
背景技术
WiFi是创建于IEEE 802.11标准的无线局域网技术,广泛使用于家庭、公共场合(比如商场、公司内部等)场景。安全协议是WiFi的基础,控制谁可以使用网络。具体的,WiFi安全协议使得请求者(supplicant)和接入点(access point,AP)相互认证,并生成会话密钥(sessionkey)和群播密钥(group transient key,GTK),其中会话密钥可以用于保护后续supplicant和AP之间的单播通信,群播密钥用于保护AP的广播通信。
在WiFi安全协议中,supplicant和AP双方共享口令(pw)。supplicant和AP双方可以基于各自的pw推导出配对主密钥(pairwise master key,PMK),进而supplicant和AP双方可以根据PMK进行身份认证和计算配对临时密钥(pairwise transient key,PTK),并且AP可以将群播密钥传递给supplicant。其中,PTK中包括临时密钥TK,即会话密钥。
目前,在WiFi安全协议中,所有的用户设备共享口令,即所有的用户设备使用同一个口令接入AP。这样,一个用户设备的口令泄露将导致所用用户设备的口令泄露,从而增加口令泄露的风险。
发明内容
本申请提供一种应用于WiFi的安全认证的方法和装置,能够实现第一设备与AP共享第二口令,第二设备与AP共享第三口令,有助于避免多设备共享口令,从而降低口令泄露的风险,另外通过第一设备获取第二设备与AP共享的第三口令,从而本申请能够实现第一设备对第二设备接入AP进行管理。
第一方面,提供了一种应用于WiFi的安全认证的方法,该方法可以应用于接入点AP,例如由AP,或可配置于AP的部件(例如芯片或者电路等)执行。
在该方法中,接入点AP接收自第一设备输入的第一口令,所述第一口令为出厂预置的口令。在所述第一口令通过所述AP验证的情况下,AP获取所述AP与所述第一设备之间共享的第二口令,并根据所述第二口令,与所述第一设备进行4路握手。其中,所述第二口令为所述第一设备与所述AP之间的共享密钥。
然后,AP可以接收来自所述第一设备的第一请求,该第一请求用于请求第二设备接入所述AP,AP响应该第一请求,向第一设备发送第三口令,第三口令为所述第二设备与所述AP之间的共享密钥。
因此,本申请实施例在第一设备输入的出厂预置的第一口令通过AP验证的情况下,AP和第一设备可以基于AP与第一设备之间共享的第二口令执行安全认证协议。进一步 地,第一设备可以向AP请求将第二设备接入AP,AP响应该请求向第一设备发送AP与第二设备共享的第三口令。因此,本申请实施例一方面能够实现第一设备与AP共享第二口令,第二设备与AP共第三口令,有助于避免多设备共享口令,从而降低口令泄露的风险,另一方面通过第一设备获取第二设备与AP共享的第三口令,从而本申请能够实现第一设备对第二设备接入AP进行管理。
作为示例,由于第一设备向AP发送的第一口令通过了验证,因此第一设备可以作为主设备来管理其他设备(例如第二设备,可以称为普通设备),例如授权普通设备连接到AP的网络,或取消普通设备接入AP的网络等,不作限定。
在一些实施例中,AP还可以保存第一设备的标识和上述第二口令。其中,第一设备的标识与该第二口令具有对应关系。这样,能够实现将第二口令与第一设备的标识进行绑定,从而能够有助于增强AP侧抗彩虹表攻击的能力。
作为一种可能的实现方式,AP可以要求第一设备生成上述第二口令。示例性的,AP在第一口令ω通过验证时,可以向第一设备发送指示消息,用于指示第一设备生成该第二口令。第一设备在接收到该指示消息之后,可以生成该第二口令。然后,第一设备可以向AP发送该第二口令。这样,能够实现第一设备和AP均获取该第二口令。
作为另一种可能的实现方式,AP可以生成上述第二口令,并将该第二口令传送给第一设备。示例性的,AP在第一口令ω通过验证时,可以为该第一设备生成第二口令,并将该第二口令发送给第一设备。这样,能够实现第一设备和AP均获取该第二口令。
结合第一方面,在第一方面的某些实现方式中,根据所述第二口令,与所述第一设备进行4路握手,具体可以通过以下方式实现:
根据所述第二口令,基于双基密码指数密钥交换(twin base password encrypted key exchange,TBPEKE)协议,与所述第一设备协商第一配对主密钥PMK1,然后根据所述第一PMK1,与所述第一设备进行4路握手。
因此,本申请实施例中,通过执行TBPEKE流程能够生成高熵值的PMK,从而本申请实施例能够有助于提供AP与第一设备进行安全认证时的抗离线字典攻击能力。并且由于TBPEKE能够很容易地实现防侧信道攻击,因此本申请实施例通过执行TBPEKE来生成PMK,能够提高AP和第一设备在WiFi的安全认证过程中的防侧信道攻击的能力。
在另一些实施例中,AP还可以根据第二口令,基于同时证等(simultaneous authentication of equals,SAE)协议,与第一设备协商第一PMK1,然后根据所述第一PMK1,与所述第一设备进行4路握手,本申请对此不作限定。
结合第一方面,在第一方面的某些实现方式中,所述根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述第一设备协商第一配对主密钥PMK1之前,还可以根据所述第二口令,确定所述第一设备对应的第一哈希到曲线函数g mst,所述第一哈希到曲线函数g mst用于通过点乘运算将所述第二口令转化为椭圆曲线上的点。然后,保存所述第一设备的标识和所述第一哈希到曲线函数g mst,其中,所述第一设备的标识与所述第一哈希到曲线函数g mst具有对应关系。
作为示例,所述第一设备的标识和所述第一哈希到曲线函数g mst,可以保存在AP侧的账号文件(可表示为DEV-ACCT)中,例如在DEV-ACCT添加一项{id mst,g mst},即DEV-ACCT=DEV-ACCTv{id mst,g mst}。这里,{id mst,g mst}可以为AP为第一设备建立的账号。
因此,本申请实施例中,AP可以进一步根据第二口令pw mst计算hashtocurve函数g mst,并保存该第一设备的标识id mst和hashtocurve函数g mst,以便于后续第一设备和AP可以通过该hashtocurve函数g mst进行安全认证。
结合第一方面,在第一方面的某些实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id mst表示所述第一设备的标识,pw mst表示所述第二口令。
这里,hashtocurve函数g mst是根据第一设备的标识id mst和第二口令pw mst获取的,这样能够将hashtocurve函数g mst与第一设备的标识id mst绑定,从而可以增强AP侧抗彩虹表攻击的能力。
结合第一方面,在第一方面的某些实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n mst为随机数,pw mst表示所述第二口令。
也就是说,在本申请实施例中,可以用随机数n mst来代替第一设备的标识id mst来计算g mst。这样能够增强AP侧抗彩虹表攻击的能力。
在该实现方式中,AP还可以生成上述随机数n mst,可以在DEV-ACCT中添加{id mst,n mst,g mst},即DEV-ACCT=DEV-ACCTv{id mst,n mst,g mst},本申请对此不作限定。并且,AP可以将该随机数n mst发送给第一设备。
结合第一方面,在第一方面的某些实现方式中,在所述获取所述AP与所述第一设备之间共享的第二口令之后,还可以确定所述第一口令无效。
这样,当其他设备向AP发送该第一口令ω时,该第一口令ω将不会通过验证,因此AP再不会将其他设备确定为主设备,这样在系统中只可以存在有限个主设备,例如一个,或者两个,从而能够有助于提高系统的安全性。
结合第一方面,在第一方面的某些实现方式中,AP还可以删除所述第一设备的标识和所述第二口令,并激活所述第一口令。
其中,通过删除第一设备的标识和第二口令,能够实现撤销第一设备为主设备。并且,通过激活第一口令,使得当后续有其他设备向AP发送该第一口令时,该第一口令将会通过验证,此时AP还可以将其他设备确定为主设备,实现对主设备的更换。
作为示例,可以通过重置AP的系统,来实现对第一设备的标识和第二口令的删除,以及对第一口令的激活,本申请对此不作限定。
在一些实施例中,当AP保存第一设备的标识和第一哈希到曲线函数g mst时,可以删除该第一设备的标识以及第一哈希到曲线函数g mst,并且激活第一口令,实现撤销第一设备为主设备,以及AP可以将其他设备确定为主设备,实现对主设备的更换。
在一些实施例中,AP还可以保存第二设备的标识和上述第三口令。其中,第二设备的标识与该第三口令具有对应关系。这样,能够实现将第三口令与第二设备的标识进行绑定,从而能够有助于增强AP侧抗彩虹表攻击的能力。
结合第一方面,在第一方面的某些实现方式中,所述第一请求中包括所述第二设备的标识。
在一些实施例中,当第一请求中没有第二设备的标识时,AP可以生成该第二设备的 标识,本申请对此不作限定。
结合第一方面,在第一方面的某些实现方式中,AP还可以根据所述第三口令,与所述第二设备进行4路握手,从而实现第二设备与AP进行安全认证。
结合第一方面,在第一方面的某些实现方式中,所述根据所述第三口令,与所述第二设备进行4路握手,具体可以通过以下方式实现:
根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述第二设备协商第二配对主密钥PMK2;然后根据所述第二PMK2,与所述第一设备进行4路握手。
因此,本申请实施例中,通过执行TBPEKE流程能够生成高熵值的PMK,从而本申请实施例能够有助于提供AP与第二设备进行安全认证时的抗离线字典攻击能力。并且由于TBPEKE能够很容易地实现防侧信道攻击,因此本申请实施例通过执行TBPEKE来生成PMK,能够提高AP和第二设备在WiFi的安全认证过程中的防侧信道攻击的能力。
在另一些实施例中,AP还可以根据第二口令,基于SAE协议,与第一设备协商第二PMK2,然后AP根据所述第二PMK2,与所述第一设备进行4路握手,本申请对此不作限定。
结合第一方面,在第一方面的某些实现方式中,所述根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述第二设备协商第二配对主密钥PMK2之前,还可以根据所述第三口令,确定所述第二设备对应的第二哈希到曲线函数g T,所述第二哈希到曲线函数g T用于通过点乘运算将所述第三口令转化为椭圆曲线上的点;保存所述第二设备的标识和所述第二哈希到曲线函数g T,其中,所述第二设备的标识与所述第二哈希到曲线函数g T具有对应关系。
因此,本申请实施例在设备授权协议流程中,AP可以进一步根据第三口令pw T计算hashtocurve函数g T,并保存该第二设备的标识id T和hashtocurve函数g T,以便于后续第二设备和AP可以通过该hashtocurve函数g T进行安全认证。
作为示例,所述第二设备的标识和所述第二哈希到曲线函数g T,可以保存在AP侧的账号文件(可表示为DEV-ACCT)中,例如在DEV-ACCT添加一项{id T,g T},即DEV-ACCT=DEV-ACCTv{id T,g T}。这里,{id T,g T}可以为AP为第二设备建立的账号。
结合第一方面,在第一方面的某些实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id T表示所述第二设备的标识,pw T表示所述第三口令。
这里,hashtocurve函数g T是根据第二设备的标识id T和第三口令pw T获取的,这样能够将hashtocurve函数g T与第二设备的标识id T绑定,从而可以增强AP端抗彩虹表攻击的能力。
结合第一方面,在第一方面的某些实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n T为随机数,pw T表示所述第三口令。
也就是说,在本申请实施例中,可以用随机数n T来代替第二设备的标识id T来计算g T。这样能够增强AP侧抗彩虹表攻击的能力。
在该实现方式中,AP还可以生成上述随机数n T,可以在DEV-ACCT中添加{id T,n T, g T},即DEV-ACCT=DEV-ACCTv{id T,n T,g T},本申请对此不作限定。并且,AP可以将该随机数n T发送给第一设备,再由第一设备将随机数n T与id T发送给第二设备。示例性的,AP可以将n T以及g T一起发送给第一设备,再由第一设备将n T与id T以及g T一起发送给第二设备。
结合第一方面,在第一方面的某些实现方式中,所述第二设备的标识为所述第二设备的MAC地址,其中,所述第一请求的数据帧中包括所述第二设备的MAC地址。
在另一些实施例中,第二设备的标识还可以为第二设备的用户名。作为示例,第二设备可以自己生成第二设备的标识,或者由第一设备生成第二设备的标识,或者可以由AP生成第二设备的标识,本申请对此不作限定。
结合第一方面,在第一方面的某些实现方式中,所述第一设备的标识为所述第一设备的MAC地址。
其中,所述方法还包括接收来自所述第一设备的所述第一设备的MAC地址。
在另一些实施例中,第一设备的标识还可以为第一设备的用户名。作为示例,第一设备可以自己生成第一设备的标识,或者由AP生成第一设备的标识,本申请对此不作限定。
第二方面,提供了一种用于无线保真WiFi的安全认证的方法,该方法可以应用于第一设备,例如由第一设备,或可配置于第一设备的部件(例如芯片或者电路等)执行。
在该方法中,第一设备向接入点AP发送第一口令,所述第一口令为出厂预置的口令;然后,在所述第一口令通过所述AP验证的请求下,第一设备获取所述AP与所述第一设备之间共享的第二口令,并根据所述第二口令,与所述AP进行4路握手。其中。所述第二口令为所述第一设备与所述AP之间的共享密钥。
然后,第一设备可以接收来自第二设备的第二请求,并根据所述第二请求,向所述AP发送第一请求,其中,所述第二请求用于请求允许所述第二设备接入所述AP,所述第一请求用于请求所述第二设备接入所述AP。之后,第一设备可以接收来自所述AP的第三口令,并向所述第二设备发送所述第三口令,所述第三口令为所述第二设备与所述AP之间的共享密钥。
结合第二方面,在第二方面的某些实现方式中,所述根据所述第二口令,与所述AP进行4路握手,可以通过以下方式实现:
根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第一配对主密钥PMK1;根据所述第一PMK1,与所述AP进行4路握手。
结合第二方面,在第二方面的某些实现方式中,所述根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第一配对主密钥PMK1之前,还可以根据所述第二口令,确定所述第一设备对应的第一哈希到曲线函数g mst,所述第一哈希到曲线函数g mst用于通过点乘运算将所述第二口令转化为椭圆曲线上的点。
结合第二方面,在第二方面的某些实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id mst表示所述第一设备的标识,pw mst表示所述第二口令。
结合第二方面,在第二方面的某些实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h() 为安全杂凑函数,n mst为随机数,pw mst表示所述第二口令。
结合第二方面,在第二方面的某些实现方式中,所述第一请求中包括所述第二设备的标识,所述第二请求中包括所述第二设备的标识。
结合第二方面,在第二方面的某些实现方式中,所述第二设备的标识为所述第二设备的MAC地址。
第三方面,提供了一种用于无线保真WiFi的安全认证的方法,该方法可以应用于第二设备,例如由第二设备,或可配置于第二设备的部件(例如芯片或者电路等)执行。
在该方法中,第二设备向第一设备发送第二请求,所述第二请求用于请求允许所述第二设备接入所述AP。然后,第二设备从所述第一设备接收第三口令,其中,所述第三口令为所述AP生成的所述第二设备与所述AP之间的共享密钥。
结合第三方面,在第三方面的某些实现方式中,第二设备可以根据所述第三口令,与所述AP进行4路握手,从而实现第二设备与AP进行安全认证。
结合第三方面,在第三方面的某些实现方式中,所述根据所述第三口令,与所述AP进行4路握手,具体可以通过以下方式实现:
根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第二配对主密钥PMK2;根据所述第二PMK2,与所述AP进行4路握手。
结合第三方面,在第三方面的某些实现方式中,所述根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第二配对主密钥PMK2之前,还可以根据所述第三口令,确定所述第二设备对应的第二哈希到曲线函数g T,所述第二哈希到曲线函数g T用于通过点乘运算将所述第三口令转化为椭圆曲线上的点。
结合第三方面,在第三方面的某些实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id T表示所述第一设备的标识,pw T表示所述第三口令。
结合第三方面,在第三方面的某些实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n T为随机数,pw T表示所述第三口令。
结合第三方面,在第三方面的某些实现方式中,所述第二请求中包括所述第二设备的标识。
结合第三方面,在第三方面的某些实现方式中,所述第二设备的标识为所述第二设备的MAC地址。
第四方面,提供了一种用于无线保真WiFi的安全认证的装置,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体的,该装置包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元或模块。例如,该装置包括处理单元和收发单元。
所述收发单元用于接收自第一设备输入的第一口令,所述第一口令为出厂预置的口令。
所述处理单元用于在所述第一口令通过所述AP验证的情况下,获取所述AP与所述第一设备之间共享的第二口令,所述第二口令为所述第一设备与所述AP之间的共享密钥。
所述处理单元还用于根据所述第二口令,与所述第一设备进行4路握手。
所述收发单元还用于接收来自所述第一设备的第一请求,所述第一请求用于请求第二设备接入所述AP。
所述处理单元还用于响应所述第一请求,控制收发单元向所述第一设备发送第三口令,所述第三口令为所述第二设备与所述AP之间的共享密钥。
结合第四方面,在第四方面的某些实现方式中,所述处理单元具体用于:
根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述第一设备协商第一配对主密钥PMK1,以及根据所述第一PMK1,与所述第一设备进行4路握手。
结合第四方面,在第四方面的某些实现方式中,所述处理单元还用于:
根据所述第二口令,确定所述第一设备对应的第一哈希到曲线函数g mst,所述第一哈希到曲线函数g mst用于通过点乘运算将所述第二口令转化为椭圆曲线上的点;以及保存所述第一设备的标识和所述第一哈希到曲线函数g mst,其中,所述第一设备的标识与所述第一哈希到曲线函数g mst具有对应关系。
结合第四方面,在第四方面的某些实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id mst表示所述第一设备的标识,pw mst表示所述第二口令。
结合第四方面,在第四方面的某些实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n mst为随机数,pw mst表示所述第二口令。
结合第四方面,在第四方面的某些实现方式中,所述处理单元还用于确定所述第一口令无效。
结合第四方面,在第四方面的某些实现方式中,处理单元还用于删除所述第一设备的标识和所述第二口令,以及激活所述第一口令。
结合第四方面,在第四方面的某些实现方式中,处理单元还用于根据所述第三口令,与所述第二设备进行4路握手。
结合第四方面,在第四方面的某些实现方式中,所述处理单元具体用于:
根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述第二设备协商第二配对主密钥PMK2,以及根据所述第二PMK2,与所述第一设备进行4路握手。
结合第四方面,在第四方面的某些实现方式中,所述处理单元还用于根据所述第三口令,确定所述第二设备对应的第二哈希到曲线函数g T,所述第二哈希到曲线函数g T用于通过点乘运算将所述第三口令转化为椭圆曲线上的点,以及保存所述第二设备的标识和所述第二哈希到曲线函数g T,其中,所述第二设备的标识与所述第二哈希到曲线函数g T具有对应关系。
结合第四方面,在第四方面的某些实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id T表示所述第二设备的标识,pw T表示所述第三口令。
结合第四方面,在第四方面的某些实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n T为随机数,pw T表示所述第三口令。
结合第四方面,在第四方面的某些实现方式中,所述第一请求中包括所述第二设备的标识。
结合第四方面,在第四方面的某些实现方式中,所述第二设备的标识为所述第二设备的MAC地址。
第五方面,提供了一种用于无线保真WiFi的安全认证的装置,用于执行上述第二方面或第二方面的任意可能的实现方式中的方法。具体的,该装置包括用于执行上述第二方面或第二方面的任意可能的实现方式中的方法的单元或模块。例如,该装置包括处理单元和收发单元。
所述收发单元用于向接入点AP发送第一口令,所述第一口令为出厂预置的口令。
所述处理单元用于在所述第一口令通过所述AP验证的请求下,获取所述AP与所述第一设备之间共享的第二口令,所述第二口令为所述第一设备与所述AP之间的共享密钥。
所述处理单元还用于根据所述第二口令,与所述AP进行4路握手。
所述收发单元还用于接收来自第二设备的第二请求,所述第二请求用于请求允许所述第二设备接入所述AP。
所述处理单元还用于响应所述第二请求,控制所述收发单元向所述AP发送第一请求,所述第一请求用于请求所述第二设备接入所述AP。
所述收发单元还用于接收来自所述AP的第三口令,所述第三口令为所述第二设备与所述AP之间的共享密钥。
所述收发单元还用于向所述第二设备发送所述第三口令。
结合第五方面,在第五方面的某些实现方式中,所述处理单元具体用于:
根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第一配对主密钥PMK1;以及所述第一设备根据所述第一PMK1,与所述AP进行4路握手。
结合第五方面,在第五方面的某些实现方式中,所述处理单元还用于根据所述第二口令,确定所述第一设备对应的第一哈希到曲线函数g mst,所述第一哈希到曲线函数g mst用于通过点乘运算将所述第二口令转化为椭圆曲线上的点。
结合第五方面,在第五方面的某些实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id mst表示所述第一设备的标识,pw mst表示所述第二口令。
结合第五方面,在第五方面的某些实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n mst为随机数,pw mst表示所述第二口令。
结合第五方面,在第五方面的某些实现方式中,所述第一请求中包括所述第二设备的标识,所述第二请求中包括所述第二设备的标识。
结合第五方面,在第五方面的某些实现方式中,所述第二设备的标识为所述第二设备的MAC地址。
第六方面,提供了一种用于无线保真WiFi的安全认证的装置,用于执行上述第三方 面或第三方面的任意可能的实现方式中的方法。具体的,该装置包括用于执行上述第三方面或第三方面的任意可能的实现方式中的方法的单元或模块。例如,该装置包括处理单元和收发单元。
所述收发单元用于向第一设备发送第二请求,所述第二请求用于请求允许所述第二设备接入所述AP。
所述收发单元还用于从所述第一设备接收第三口令,所述第三口令为所述AP生成的所述第二设备与所述AP之间的共享密钥。
结合第六方面,在第六方面的某些实现方式中,处理单元还用于根据所述第三口令,与所述AP进行4路握手。
结合第六方面,在第六方面的某些实现方式中,所述处理单元具体用于根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第二配对主密钥PMK2,以及根据所述第二PMK2,与所述AP进行4路握手。
结合第六方面,在第六方面的某些实现方式中,所述处理单元还用于根据所述第三口令,确定所述第二设备对应的第二哈希到曲线函数g T,所述第二哈希到曲线函数g T用于通过点乘运算将所述第三口令转化为椭圆曲线上的点。
结合第六方面,在第六方面的某些实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id T表示所述第一设备的标识,pw T表示所述第三口令。
结合第六方面,在第六方面的某些实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n T为随机数,pw T表示所述第三口令。
结合第六方面,在第六方面的某些实现方式中,所述第二请求中包括所述第二设备的标识。
结合第六方面,在第六方面的某些实现方式中,所述第二设备的标识为所述第二设备的MAC地址。
第七方面,提供了一种用于无线保真WiFi的安全认证的装置,包括:处理器和收发器,所述处理器耦合于所述收发器。可选的,还可以包括存储器。其中,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,该执行使得该处理器执行上述第一方面或第一方面的任意可能的实现方式中的方法。
所述收发器用于接收自第一设备输入的第一口令,所述第一口令为出厂预置的口令。
所述处理器用于在所述第一口令通过所述AP验证的情况下,获取所述AP与所述第一设备之间共享的第二口令,所述第二口令为所述第一设备与所述AP之间的共享密钥。
所述处理器还用于根据所述第二口令,与所述第一设备进行4路握手。
所述收发器还用于接收来自所述第一设备的第一请求,所述第一请求用于请求第二设备接入所述AP。
所述处理器还用于响应所述第一请求,控制所述收发器向所述第一设备发送第三口令,所述第三口令为所述第二设备与所述AP之间的共享密钥。
结合第七方面,在第七方面的某些实现方式中,所述处理器具体用于:
根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述第一设备协商第一配对主密钥PMK1;以及根据所述第一PMK1,与所述第一设备进行4路握手。
结合第七方面,在第七方面的某些实现方式中,所述处理器还用于:
根据所述第二口令,确定所述第一设备对应的第一哈希到曲线函数g mst,所述第一哈希到曲线函数g mst用于通过点乘运算将所述第二口令转化为椭圆曲线上的点,以及保存所述第一设备的标识和所述第一哈希到曲线函数g mst,其中,所述第一设备的标识与所述第一哈希到曲线函数g mst具有对应关系。
结合第七方面,在第七方面的某些实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id mst表示所述第一设备的标识,pw mst表示所述第二口令。
结合第七方面,在第七方面的某些实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n mst为随机数,pw mst表示所述第二口令。
结合第七方面,在第七方面的某些实现方式中,所述处理器还用于确定所述第一口令无效。
结合第七方面,在第七方面的某些实现方式中,还所述处理器还用于删除所述第一设备的标识和所述第二口令,并激活所述第一口令。
结合第七方面,在第七方面的某些实现方式中,所述处理器还用于根据所述第三口令,与所述第二设备进行4路握手。
结合第七方面,在第七方面的某些实现方式中,所述处理器具体用于根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述第二设备协商第二配对主密钥PMK2,然后根据所述第二PMK2,与所述第一设备进行4路握手。
结合第七方面,在第七方面的某些实现方式中,所述处理器还用于根据所述第三口令,确定所述第二设备对应的第二哈希到曲线函数g T,所述第二哈希到曲线函数g T用于通过点乘运算将所述第三口令转化为椭圆曲线上的点,以及保存所述第二设备的标识和所述第二哈希到曲线函数g T,其中,所述第二设备的标识与所述第二哈希到曲线函数g T具有对应关系。
结合第七方面,在第七方面的某些实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id T表示所述第二设备的标识,pw T表示所述第三口令。
结合第七方面,在第七方面的某些实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n T为随机数,pw T表示所述第三口令。
结合第七方面,在第七方面的某些实现方式中,所述第一请求中包括所述第二设备的标识。
结合第七方面,在第七方面的某些实现方式中,所述第二设备的标识为所述第二设备 的MAC地址。
第八方面,提供了一种用于无线保真WiFi的安全认证的装置,包括:处理器和收发器,所述处理器耦合于所述收发器。可选的,还可以包括存储器。其中,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,该执行使得该处理器执行上述第二方面或第二方面的任意可能的实现方式中的方法。
所述收发器用于向接入点AP发送第一口令,所述第一口令为出厂预置的口令。
所述处理器用于在所述第一口令通过所述AP验证的请求下,获取所述AP与所述第一设备之间共享的第二口令,所述第二口令为所述第一设备与所述AP之间的共享密钥。
所述处理器用于根据所述第二口令,与所述AP进行4路握手。
所述收发器用于接收来自第二设备的第二请求,所述第二请求用于请求允许所述第二设备接入所述AP。
所述收发器用于响应所述第二请求,向所述AP发送第一请求,所述第一请求用于请求所述第二设备接入所述AP。
所述收发器用于接收来自所述AP的第三口令,所述第三口令为所述第二设备与所述AP之间的共享密钥。
所述收发器用于向所述第二设备发送所述第三口令。
结合第八方面,在第八方面的某些实现方式中,所述处理器具体用于根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第一配对主密钥PMK1;以及根据所述第一PMK1,与所述AP进行4路握手。
结合第八方面,在第八方面的某些实现方式中,所述处理器还用于根据所述第二口令,确定所述第一设备对应的第一哈希到曲线函数g mst,所述第一哈希到曲线函数g mst用于通过点乘运算将所述第二口令转化为椭圆曲线上的点。
结合第八方面,在第八方面的某些实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id mst表示所述第一设备的标识,pw mst表示所述第二口令。
结合第八方面,在第八方面的某些实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n mst为随机数,pw mst表示所述第二口令。
结合第八方面,在第八方面的某些实现方式中,所述第一请求中包括所述第二设备的标识,所述第二请求中包括所述第二设备的标识。
结合第八方面,在第八方面的某些实现方式中,所述第二设备的标识为所述第二设备的MAC地址。
第九方面,提供了一种用于无线保真WiFi的安全认证的装置,包括:处理器和收发器,所述处理器耦合于所述收发器。可选的,还可以包括存储器。其中,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,该执行使得该处理器执行上述第三方面或第三方面的任意可能的实现方式中的方法。
所述收发器用于向第一设备发送第二请求,所述第二请求用于请求允许所述第二设备接入所述AP。
所述收发器还用于从所述第一设备接收第三口令,所述第三口令为所述AP生成的所述第二设备与所述AP之间的共享密钥。
结合第九方面,在第九方面的某些实现方式中,所述处理器用于根据所述第三口令,与所述AP进行4路握手。
结合第九方面,在第九方面的某些实现方式中,所述处理器具体用于根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第二配对主密钥PMK2,然后根据所述第二PMK2,与所述AP进行4路握手。
结合第九方面,在第九方面的某些实现方式中,所述处理器还用于根据所述第三口令,确定所述第二设备对应的第二哈希到曲线函数g T,所述第二哈希到曲线函数g T用于通过点乘运算将所述第三口令转化为椭圆曲线上的点。
结合第九方面,在第九方面的某些实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id T表示所述第一设备的标识,pw T表示所述第三口令。
结合第九方面,在第九方面的某些实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n T为随机数,pw T表示所述第三口令。
结合第九方面,在第九方面的某些实现方式中,所述第二请求中包括所述第二设备的标识。
结合第九方面,在第九方面的某些实现方式中,所述第二设备的标识为所述第二设备的MAC地址。
第十方面,提供了一种芯片,包括处理器和通信接口,所述处理器用于从所述通信接口调用并运行指令,当所述处理器执行所述指令时,实现上述第一方面至第三方面中任一方面或任一方面的任意可能的实现方式中的方法。
可选地,该通信芯片还可以包括存储器,该存储器中存储有指令,处理器用于执行存储器中存储的指令或源于其他的指令。当该指令被执行时,处理器用于实现上述第一方面至第三方面中任一方面或任一方面的任意可能的实现方式中的方法。
第十一方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面至第三方面中任一方面或任一方面的任意可能的实现方式中的方法的指令。
第十二方面,本申请实施例还提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行第一方面至第三方面中任一方面或任一方面的任意可能的实现方式中的方法。
第十三方面,提供了一种通信系统,该通信系统包括具有实现上述第一方面的各方法及各种可能设计的功能的装置,上述具有实现上述第二方面的各方法及各种可能设计的功能的装置,以及上述具有实现上述第二方面的各方法及各种可能设计的功能的装置。
应理解,本申请的第二至第十三方面及对应的实现方式所取得的有益效果参见本申请的第一方面及对应的实现方式所取得的有益效果,不再赘述。
附图说明
图1是一种基于WiFi的安全认证的方法的示意性流程图;
图2是一种基于WPA3的安全认证的方法的示意性流程图;
图3是应用本申请实施例的应用场景的一个示意图;
图4是本申请实施例提供的一种应用于WiFi的安全认证的方法的示意性流程图;
图5是TBPEKE的流程的一个示例;
图6是本申请实施例提供的主设备确定协议对应的流程的一个具体示例;
图7是本申请实施例提供的设备认证协议对应的流程的一个具体示例;
图8是本申请实施例提供的设备授权协议对应的流程的一个具体示例;
图9是本申请实施例提供的设备认证协议对应的流程的另一个具体示例;
图10是本申请实施例提供的设备认证协议对应的流程的另一个具体示例;
图11为本申请实施例提供的应用于WiFi的安全认证的装置的示意图。
具体实施方式
首先,介绍本申请实施例涉及的相关术语。
暴力破解(即离线字典攻击):对口令的离线字典指的是因为口令的长度较短,取值空间较小,因此攻击者可以重复猜测所有可能的口令,并通过与劫取的通信信息做对比,以确定正确的口令。
彩虹表攻击(rainbow table attack):在使用口令进行认证的系统里,服务器通常不直接保管每个用户的口令,而是保管每个用户口令的杂凑函数值。目的是防止攻击者攻破服务器后可以直接获得所有用户的口令。彩虹表攻击指攻击者可以事先制作一张表(彩虹表),存有所有可能的口令及其对应的杂凑函数值;当攻击者攻破服务器后,可以通过对比彩虹表内杂凑函数值和服务器保管的杂凑函数值而确定用户的口令。
下面将结合附图,对本申请中的技术方案进行描述。
图1示出了一种基于WiFi的安全认证的方法100的示意性流程图。在图1中,WiFi安全协议可以为第二代WiFi保护访问(WiFiprotected access 2,WPA2)版本,或WPA2之前的版本,例如有线等效保密(wired equivalent privacy,WEP)、第二代WEP(WEP2)、WPA等,不作限定。
图1中所示的流程也可以称为安全协议流程。如图1所示,方法100由请求设备(也可以替换为请求者,supplicant)和AP执行。其中,AP可以基于WiFi协议提供网络,请求设备即请求使用AP提供的网络的终端设备。AP和请求设备双方共享口令pw。参见图1,方法100可以包括步骤101至109。其中,步骤104至109可以称为4路握手过程(4wayhandshake)。
101,请求设备和AP关联。这里,请求设备和AP通过关联(association)可以欲商定使用的安全套件。示例性的,安全套件可以指示请求设备与AP之间使用的相关的加密算法,以及其他相关参数。
102,请求设备生成PMK。示例性的,请求设备可以基于请求设备和AP双方共享的pw推导出PMK。可选的,请求设备还可以基于请求设备和AP双方的媒体访问控制(media access control,MAC)地址得到PMK,本申请对此不作限定。
103,AP生成PMK。示例性的,AP可以基于请求设备和AP双方共享的pw推导出 PMK。可选的,AP还可以基于请求设备和AP双方的MAC地址得到PMK,本申请对此不作限定。
在一些实施例中,在请求设备生成的PMK和AP生成的PMK相同时,AP和第一设备可以基于PMK,进行4路握手。
104,AP向请求设备发送Msg1(r,anonce)。对应的,请求设备接收该Msg1(r,anonce)。这里,Msg1表示消息1(message1),anonce表示AP的一次性随机数,r表示计数器的计数。
105,请求设备派生(derive)PTK。
示例性的,请求设备可以选择一次性随机数(表示为snonce),并根据PMK、anonce、snonce生成PTK。可选的,请求设备还可以根据PMK、anonce、snonce,以及请求设备和AP双方的MAC地址,生成PTK,本申请对此不作限定。
示例性的,PTK包括三部分,分别为密钥确认密钥(key confirmation key,KCK)、密钥加密密钥(key encryption key,KEK)和临时密钥(transient key,TK)。其中,KCK用于在4路握手过程中保护消息的私密性,KEK用于在4路握手过程中保护消息的完整性,TK为真正的会话密钥,用于保护后续请求设备和AP之间的通信。
106,请求设备向AP发送Msg2({r,snonce} KCK)。对应的,AP接收该Msg2({r,snonce} KCK)。这里,Msg2表示消息2(message 2),其中,该Msg2采用KCK来保护消息的完整性。
107,AP derivePTK。
示例性的,AP可以根据PMK、anonce、snonce生成PTK。可选的,AP还可以根据PMK、anonce、snonce,以及请求设备和AP双方的MAC地址,生成PTK,本申请对此不作限定。
在一些实施例中,请求设备生成的PTK与AP生成的PTK相同。在请求设备生成的PTK与AP生成的PTK相同时,执行以下的流程。
108,AP向请求设备发送Msg3({r+1,anonce,{GTK} KEK} KCK)。对应的,AP接收该Msg3({r+1,anonce,{GTK} KEK} KCK)。这里,Msg3表示消息3(message 3),GTK为群播密钥。其中,该Msg3采用KEK保护GTK的私密性,采用KCK来保护Msg3整条消息的完整性。
109,请求设备向AP发送Msg4({r+1} KCK)。对应的,AP接收该Msg4({r+1} KCK)。这里,Msg4表示消息4(message 4)。其中,该Msg4采用KCK来保护消息的完整性。
具体的,该步骤101至108可以参见现有技术中的描述,不再赘述。
由上述描述可知,AP和请求设备双方通过4路握手过程,能够进行身份认证,并生成会话密钥和群播密钥,以保护后续请求设备和AP之间的单播通信,以及AP的广播通信。
在上述方法100中,PMK是由口令pw(或以及双方的MAC地址)计算得到的,而口令pw的一个显著特点是其长度较小,即具有较低的熵值。因此,如果攻击者截取到了生成密钥的过程中的4路握手的消息,那么攻击者就可能通过暴力破解的方式得到口令,从而威胁网络安全。
为了解决WPA2以及以前的WiFi安全协议版本中的攻击者可能对口令pw进行暴力破解的隐患,WPA3版本在传统的安全协议流程(例如association和4路握手流程)之前, 执行SAE流程来生成高熵值的PMK,从而有利于避免口令的暴力破解。其中,SAE为一种基于口令的密码认证和密钥交换(password authenticated key exchange,PAKE)协议。
图2示出了一种基于WPA3的安全认证的方法200的示意性流程图。方法200可以包括请求设备和AP双方生成PMK、关联以及4路握手过程。与方法100不同的是,在图2中通过执行SAE流程来生成高熵值的PMK(即步骤210),其中,SAE实现于椭圆曲线上。作为示例,在图2中以Alice(例如为一个客户端)和Bob(例如为一个AP)双方执行SAE流程为例描述。如图2所示,步骤210包括步骤211至220。
211,Alice选取(pick)随机数(random)r A和m A,计算s A=(r A+m A)modq,E A=-m A·P。
212,Bob选取(pick)随机数(random)r B和m B,计算s B=(r B+m B)modq,E B=-m B·P。
其中,P是相应椭圆曲线上的一个点,可以由口令pw,以及supplicant和AP的MAC地址推衍生成P。这里,由口令pw生成P的计算过程可以称为哈希到曲线(hash-to-curve)函数。
213,Alice向Bob验证提交(auth-commit)(s A,E A)。
214,Bob向Alice验证提交(auth-commit)(s B,E B)。
215,Alice校验(verify)s B和E B,计算K=r A(s B·P+E B),κ=hash(K),tr=(s A,E A,s B,E B),c A=HMAC(κ,tr)。其中,κ=hash(K)可以作为PMK。
216,Bob校验(verify)s A和E A,计算K=r B(s A·P+E A),κ=hash(K),tr=(s B,E B,s A,E A),c B=HMAC(κ,tr)。其中,κ=hash(K)可以作为PMK。
217,Alice向Bob验证提交c A
218,Bob向Alice验证提交c B
219,Alice校验c B
220,Bob校验c A
当步骤219和220中c B和c A都通过校验后,Alice和Bob双方可以采用各自计算的κ值作为PMK。
因此,通过在传统的安全协议流程(例如association和4路握手流程)之前,执行SAE流程来生成高熵值的PMK,能够有助于减小甚至避免令被暴力破解的可能。
但是,在当前的WiFi安全协议中,所有的请求设备共享口令,即所有的请求设备使用同一个口令接入AP(即连接到AP提供的网络)。这样,一个请求设备口令的泄露将导致所有请求设备的口令泄露。
有鉴于此,本申请实施例提供了一种通信方案,其中当多个请求设备连接AP提供的网络时,不同的请求设备使用不同的口令与AP进行安全认证,即一设备一口令。这样,某个请求设备的口令泄露不会影响到其他设备的口令。
图3示出了本申请实施例的系统的一个示意图。如图3所示,多个请求设备(例如请求设备1、请求设备2和请求设备3)可以安全连接到AP,并通过AP使用WiFi网络资源。其中,每个请求设备与AP执行安全协议,进行相互认证并协商保护二者之间通信信道的密钥。这里,在与AP执行安全协议时,不同的请求设备使用不同的口令与AP执行安全协议。其中,每个请求设备在使用各自的口令与AP执行安全协议之前,需要与AP建立该请求设备与AP共享的口令。
应理解,图3示出了应用于本申请实施例的系统的一个示例,但本申请并不限于此。例如,还可以是一个、两个、四个或者更多的请求设备与AP连接,这些都在本申请实施 例的保护范围之内。
下面将结合附图详细说明本申请提供的应用于WiFi的安全认证的方法和装置。
本申请的技术方案可以应用于无线通信系统中,例如,图3中所示的通信系统。处于无线通信系统中的装置之间可具有无线通信连接关系。该装置中的一个装置例如可以为AP,或者配置于该AP中的芯片,另一个装置例如可以为第一设备,或者配置于第一设备中的芯片,另一个装置例如可以为第二设备,或者配置于第二设备中的芯片。本申请实施例对此不做限定。
以下,将以AP、第一设备和第二设备的通信过程为例详细说明本申请实施例。可以理解,配置于AP的芯片、配置于第一设备的芯片以及配置于第二设备的芯片均可以基于相同的方法进行通信。本申请对此不做限定。
图4示出了本申请实施例提供的应用于WiFi的安全认证的方法400的示意性流程图。如图4所示,方法400包括步骤401至步骤409。
示例性的,方法400所采用的WiFi安全协议可以包括三个协议,分别为主设备确定协议、设备授权协议和设备认证协议。其中,步骤401至步骤403可以对应主设备确定协议,也就是说,通过步骤401至步骤403,可以确定将第一设备确定为主设备。步骤404可以对应设备认证协议,也就是说,通过步骤404,第一设备可以与AP进行安全认证。步骤405至408可以对应于设备授权协议,即通过步骤405至408,第二设备可以通过第一设备建立与AP共享的口令。步骤409可以对应设备认证协议,也就是说,通过步骤409,第二设备可以与AP进行安全认证。
下面,将详细描述步骤401至409。
401,第一设备向AP发送第一口令ω,该第一口令ω为出厂预置的口令。
作为示例,第一口令ω可以为AP在出厂时安全保存的出厂口令ω。该口令ω可以随AP一起传送给拥有该AP的主人,例如口令ω可以写入秘密信封,或者可以置于AP附带的QR(quickresponse)码中,或通过短信发送给主人等,本申请对此不作限定。主人在获取该口令ω之后,可以将该口令ω输入第一设备,使得第一设备获取该口令ω。之后,第一设备可以向AP发送该第一口令ω。
对应的,AP接收该第一口令ω。AP接收到该第一口令ω之后,可以对该第一口令ω进行验证(check)。当该第一口令ω通过验证时,AP可以设置第一设备为主设备(即主请求设备,mastersupplicant)。
需要说明的是,在本申请实施例中,AP需要对请求设备(或用户设备)进行区分,例如将请求设备(或用户设备)分主设备和普通设备,其中,主设备可以用于管理普通设备。示例性的,主设备可以负责授权,即主设备可以对普通设备授权,使得普通设备可以获取与AP共享的口令。
示例性的,主设备例如可以默认为第一个成功连接AP的设备。例如,当一个家庭买到新的AP,并且第一次启动使用AP时,第一个连接AP的设备即为主设备。
在一些可选的实施例中,第一设备还可以向AP发送第一设备的标识(可以记为id mst)。对应的,AP接收该第一设备的标识id mst。其中,第一设备的标识id mst即该第一设备唯一的身份标识,可以用于唯一地标识该第一设备。
作为一种可能的实现方式,第一设备可以生成第一设备的标识id mst,并将其标识id mst携带于上述包含第一口令ω的数据帧中发送给AP。作为示例,第一设备的标识id mst例如 可以为第一设备的用户名。
作为另一种可能的实现方式,第一设备的标识可以为第一设备的MAC地址。这种情况下,在步骤401中,第一设备向AP发送的包含第一口令ω的数据帧中可以包括该第一设备的MAC地址。或者,第一设备可以单独地向AP发送其的MAC地址,本申请对此不作限定。
402,第一设备获取AP与第一设备之间共享的第二口令pw mst。其中,第二口令pw mst为第一设备与AP之间的共享密钥。
403,AP获取AP与第一设备之间共享的第二口令pw mst。其中,该第二口令pw mst为第一设备与所述AP之间的共享密钥。
作为一种可能的实现方式,AP可以要求第一设备生成上述第二口令pw mst。示例性的,AP在第一口令ω通过验证时,可以向第一设备发送指示消息,用于指示第一设备生成该第二口令pw mst。第一设备在接收到该指示消息之后,可以生成该第二口令pw mst。然后,第一设备可以向AP发送该第二口令pw mst。这样,能够实现第一设备和AP均获取该第二口令pw mst
作为另一种可能的实现方式,AP可以生成上述第二口令pw mst,并将该第二口令pw mst传送给第一设备。示例性的,AP在第一口令ω通过验证时,可以为该第一设备生成第二口令pw mst,并将该第二口令pw mst发送给第一设备。这样,能够实现第一设备和AP均获取该第二口令。
在一些可选的实施例中,AP可以保存该第一设备的标识(可以记为id mst)与第二口令pw mst,其中第一设备的标识id mst与该第二口令pw mst具有对应关系。因此,本申请实施例通过设置第一设备的标识id mst与该第二口令pw mst具有对应关系,能够实现将第二口令pw mst与第一设备的标识进行绑定,从而能够有助于增强AP侧抗彩虹表攻击的能力。
另外,当后续接收到第一设备的连接请求时,可以获取第二口令pw mst,并根据第二口令pw mst与第一设备执行设备认证协议。
作为一种可能的实现方式,AP可以生成该第一设备的标识id mst。可选的,AP还可以将生成的该第一设备的标识id mst发送给第一设备。
作为另一种可能的实现方式,AP可以从第一设备接收该第一设备的标识id mst。具体的,可以参见步骤401中的相关描述,不再赘述。
因此,本申请实施例中,由于第一设备向AP发送的第一口令通过了验证,因此第一设备可以作为主设备来管理其他设备(例如可以称为普通设备),例如授权普通设备连接到AP的网络,或取消普通设备接入AP的网络等。
在一些可选的实施例中,AP还可以确定第一口令ω无效。例如,当第一口令ω通过验证,并且AP设置第一设备为主设备时,AP可以确定第一口令ω无效。在AP确定第一口令ω无效之后,当其他设备向AP发送该第一口令ω时,该第一口令ω将不会通过验证,因此AP再不会将其他设备确定为主设备,这样在系统中只可以存在有限个主设备,例如一个,或者两个,从而能够有助于提高系统的安全性。
在一些可选的实施例中,AP还可以删除保存的第一设备的标识id mst和与该第一设备的标识id mst对应的第二口令pw mst,从而实现撤销第一设备为主设备。此时,AP还可以激活上述第一口令ω。作为示例,可以通过重置AP的系统,来实现对第一设备的标识id mst和第二口令pw mst的删除,以及对第一口令ω的激活,本申请对此不作限定。
在激活第一口令ω之后,当后续有其他设备向AP发送该第一口令ω时,该第一口令ω将会通过验证,此时AP还可以将其他设备确定为主设备,实现对主设备的更换。
404,第一设备与AP进行4路握手。
作为示例,第一设备与AP可以根据第二口令pw mst,获取PMK,并执行4路握手协议进行安全认证,并生成会话密钥和群播密钥,以保护后续请求设备和AP之间的单播通信,以及AP的广播通信。之后,第一设备可以安全连接AP,即与AP建立安全的通信信道。这里,第一设备与AP进行4路握手可以参见图1中的描述,不再赘述。
当第一设备通过设备认证协议安全连接AP之后,第一设备可以对普通设备授权,使得普通设备可以获取与AP共享的口令。具体的,第一设备、第二设备和AP可以执行以下步骤405至408,即设备授权协议,使得第二设备可以通过第一设备建立与AP共享的口令。
405,第二设备向第一设备发送请求#1。对应的,第一设备接收该请求#1。
这里,第二设备可以作为普通设备,向第一设备发送请求#1,该请求#1用于请求(第一设备)允许所述第二设备接入所述AP。也就是说,通过步骤405,第二设备可以向第一设备请求授权。在一些实施例中,请求#1也可以称为授权请求,本申请对此不作限定。
在一些可选的实施例中,第二设备还可以向第一设备发送第二设备的标识(可以记为id T)。其中,第二设备的标识id T即该第二设备唯一的身份标识,可以用于唯一地标识该第二设备。
作为一种可能的实现方式,第二设备可以生成第二设备的标识(可以记为id T),并将其标识id T携带于上述请求#1中发送给第一设备。作为示例,id T例如可以为第二设备的用户名。
作为另一种可能的实现方式,第二设备的标识id T可以为第二设备的MAC地址。这种情况下,在步骤405中,第二设备向第一设备发送的上述请求#1的数据帧中可以包括该第二设备的MAC地址。或者,第二设备可以单独地向第一设备发送其的MAC地址,本申请对此不作限定。
406,第一设备向AP发送请求#2,该请求#2用于请求第二设备接入所述AP。对应的,AP接收该请求#2。在一些实施例中,请求#2也可以称为授权请求,本申请对此不作限定。
示例性的,第一设备可以在接收到来自第二设备的请求#1之后,确定授权第二设备连接到AP时,向AP发送上述请求#2。
在另一些可选的实施例中,当第一设备确定不对第二设备授权,即不允许第二设备连接到AP时,可以不向AP发送用于请求第二设备接入AP的请求。
在一些可选的实施例中,第一设备在确定授权第二设备连接到AP时,还可以确定授权策略(authorizationpolicy)。作为示例,授权策略可以指示AP与第二设备之间共享的口令的有效期,或AP与第二设备之间共享的口令是否绑定第二设备的MAC地址等,本申请对此不作限定。此时,请求#2中可以包含该授权策略。
在一些可选的实施例中,请求#2中还可以包括第二设备的标识id T。这里,第二设备的标识id T可以为第二设备的用户名,或第二设备的MAC地址,不作限定。
可选的,当上述请求#2中的第二设备的id T不是第二设备的MAC地址时,请求#2中还可以进一步包括第二设备的MAC地址。
示例性的,第一设备可以生成第二设备的标识id T,或者第一设备从上述步骤405中 的请求#1中获取该第二设备的标识id T,本申请对此不作限定。
407,AP向第一设备发送第三口令,第三口令为第二设备与AP之间的共享密钥。对应的,第一设备接收该第三口令。
示例性的,AP在接收到请求#2后,可以生成第二设备的第三口令(可以记为pw T),并将第三口令pw T发送给第一设备。
在一些可选的实施例中,当请求#2中包括授权策略时,AP可以根据该授权策略,生成该第三口令pw T,例如可以设置第三口令pw T的有效期,或第三口令pw T是否绑定第二设备的MAC地址等,不作限定。
在一些可选的实施例中,AP可以保存该第二设备的标识(可以记为id T)与第三口令pw T,其中第二设备的标识id T与该第三口令pw T具有对应关系。因此,本申请实施例通过设置第二设备的标识id T与该第三口令pw T具有对应关系,能够实现将第三口令pw T与第二设备的标识进行绑定,从而能够有助于增强AP端抗彩虹表攻击的能力。
另外,当后续接收到第二设备的连接请求时,可以获取第三口令pw T,并根据第三口令pw T与第二设备进行安全认证。
作为一种可能的实现方式,AP可以生成该第二设备的标识id T。可选的,AP还可以将生成的该第一设备的标识id T发送给第一设备。作为示例,AP可以向第一设备传送(id T,pw T)。
作为另一种可能的实现方式,AP可以从第一设备接收该第二设备的标识id T。具体的,可以参见步骤406中的相关描述,不再赘述。
408,第一设备向第二设备发送第三口令。对应的,第二设备接收该第三口令。
在一些可选的实施例中,当AP生成了第二设备的标识,并向第一设备传送(id T,pw T)时,第一设备可以将(id T,pw T)传送给第二设备。
在一些可选的实施例中,当第一设备生成了第二设备的标识id T,并从AP接收到第三口令pw T时,可以向第一设备传送(id T,pw T),本申请对此不作限定。
因此,本申请实施例中,第一设备可以向AP请求将第二设备连接到AP,以及接收并向第二设备发送AP生成的AP与第二设备共享的第三口令,从而实现通过第一设备对第二设备授权,使得第二设备可以获取与AP共享的第三口令。因此,本申请实施例通过设备授权协议,一方面能够实现普通设备与AP共享该普通设备对应的口令,有助于避免多设备共享口令,另一方面能够有助于实现主设备对普通设备的管理。
可选的,409,第二设备与AP进行4路握手。
作为示例,第二设备与AP可以根据第三口令pw T,获取PMK,并执行4路握手协议进行安全认证和计算PTK,并生成会话密钥和群播密钥,以保护后续请求设备和AP之间的单播通信,以及AP的广播通信。之后,第二设备可以安全连接AP,即与AP建立安全的通信信道。这里,第二设备与AP进行4路握手可以参见图1中的描述,不再赘述。
因此,本申请实施例在第一设备输入的出厂预置的第一口令通过AP验证的情况下,AP和第一设备可以基于AP与第一设备之间共享的第二口令执行安全认证协议。进一步地,第一设备可以向AP请求将第二设备接入AP,AP响应该请求向第一设备发送AP与第二设备共享的第三口令,从而使得第二设备可以通过第一设备获取第二设备与AP共享的第三口令。因此,本申请实施例一方面能够实现第一设备与AP共享第二口令,第二设备与AP共第三口令,有助于避免多设备共享口令,从而降低口令泄露的风险,另一方面 第二设备可以通过第一设备获取第二设备与AP共享的第三口令,从而本申请能够实现第一设备对第二设备接入AP进行管理。
在一些实施例中,在上述请求设备(例如第一设备或第二设备)与AP进行安全认证的过程中,AP还可以根据口令(例如第二口令或第三口令),基于同时证等(simultaneous authentication of equals,SAE)协议,与请求设备协商PMK,本申请对此不作限定。当采用上述SAE流程时,虽然可以有助于减小甚至避免口令被暴力破解的可能,但是攻击者可能会对AP或请求设备实施侧信道攻击,此时攻击者仍然可能会获取请求设备与AP之间共享的口令,造成口令泄露。
在另一些实施例中,在上述请求设备(例如第一设备或第二设备)与AP进行安全认证的过程中,AP还可以根据所述口令(例如第二口令或第三口令),基于双基密码指数密钥交换(twin base password encrypted key exchange,TBPEKE)协议,与所述请求设备协商配对主密钥PMK,然后根据所述PMK,与所述请求设备进行4路握手。
因此,本申请实施例中,通过执行TBPEKE流程能够生成高熵值的PMK,从而本申请实施例能够有助于提供AP与第一设备进行安全认证时的抗离线字典攻击能力。并且由于TBPEKE能够很容易地实现防侧信道攻击,因此本申请实施例通过执行TBPEKE来生成PMK,能够提高AP和请求设备在WiFi的安全认证过程中的防侧信道攻击的能力。
TBPEKE也是一种PAKE协议。图5示出了TBPEKE的流程的一个示例。如图5所示,TBPEKE中通信双方A和B的公共参数包括:阶数为素数p的循环群G(Gofprimeorderp),群中两个独立的随机生成元U和V(表示为U, ),以及输出{0,1} l的哈希函数H(ahashfunctiononto{0,1} l,表示为H:{0,1}*→{0,1} l)。其中,H:{0,1}*→{0,1}为安全杂凑函数,比如可以为SHA256。
在TBPEKE中,A和B共享口令pw。A可以基于公共参数和口令pw,计算:
g←U·V pwX←g x
然后,A向B发送A||X。
B也可以基于公共参数和口令pw,计算:
g←U·V pwY←g y
然后,B向A发送Y。
A在接收到Y之后,可以计算:Z←Y x
B在接收到A||X之后,可以计算:Z←X y
然后,A和B分别可以根据A、B、g、X、Y、Z计算密钥sk。示例性的,sk可以根据如下公式进行计算:
sk←H(A||B||g||X||Y||Z)。
需要说明的是,当G表示一个椭圆曲线群时,那么g=U·V pw可以看做是将口令pw转化为椭圆曲线上的一个点的hashtocurve函数。在该hashtocurve函数中,对于pw而言涉及点乘运算。其中,点乘运算能够有效地实现抗侧信道攻击。因此,在本申请实施例中,使用TBPEKE能够有助于避免遭致侧信道攻击。
在一些实施例中,在进行设备认证的过程中,可以根据需要对上述图5中所示的TBPEKE流程进行一些修改。例如,当B作为AP的一个示例时,B可以保管g=U·V pw,而不是pw。又例如,还可以对g=U·V pw进行一些变形。这些都在本申请实施例的保护范 围之内。
下面,结合图6至图10,描述本申请提供的几个具体的实施例。在图6至图10的实施例中,采用TBPEKE来生成PMK。
图6示出了主设备确定协议对应的流程的一个具体示例。如图6所示,主设备确定协议可以由第一设备和AP执行,可以包括步骤601至607。
应理解,图6示出了示出了主设备确定协议的流程的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图6中的各个操作的变形。此外,图6中的各个步骤可以按照与图6中呈现的不同的顺序来执行,并且有可能并非要执行图6中的全部操作。
601,第一设备向AP发送第一口令ω和第一设备的标识id mst。对应的,AP接收该第一口令ω和第一设备的标识id mst
具体的,第一口令ω和第一设备的标识id mst可以参见图4中的描述,这里不再赘述。
在一些可选的实施例中,在步骤601中,第一设备可以不向AP发送第一设备的标识id mst,本申请对此不作限定。
602,AP验证(check)ω。
示例性的,当ω通过验证时,AP可以将第一设备确定为主设备。此时,可以执行以下步骤603至607。具体的,主设备可以参见图4中的描述,这里不再赘述。
在一些实施例中,当ω没有通过验证时,AP不会将第一设备确定为主设备。那么可以结束流程。
603,第一设备获取第二口令pw mst(getpw mst)。
604,AP获取第二口令pw mst(getpw mst)。
具体的,第二口令pw mst,以及第一设备或AP如何获取第二口令pw mst可以参见图4中的描述,这里不再赘述。
在一些实施例中,第一设备和AP在分别获取第二口令pw mst之后,AP可以保存第一设备的标识id mst和该第二口令pw mst,并且第一设备和AP可以基于第一设备的标识id mst和该第二口令pw mst,基于SAE协议,进行设备认证。具体的,可以参见图4中的描述,不再赘述。
在另一些实施例中,第一设备和AP可以根据第二口令pw mst,基于TBPEKE协议,协商配对主密钥PMK,然后根据所述该PMK,与所述第一设备进行4路握手,以执行安全协议。此时,AP还可以执行以下步骤605和606。
可选的,605,计算
其中,U和V为从阶数为素数p的循环群G中获取两个独立的随机生成元,可以作为系统参数保存在AP端,h()为安全杂凑函数,g mst为第一设备的hashtocurve函数,可以称为第一哈希到曲线(hashtocurve)函数g mst,用于通过点乘运算将口令pw mst转化为椭圆曲线上的点。g mst可以在后续第一设备与AP进行身份认证时,生成相关参数,具体可以参见下文中的描述。
这里,hashtocurve函数g mst是根据第一设备的标识id mst和第二口令pw mst获取的,这样能够将hashtocurve函数g mst与第一设备的标识id mst绑定,从而可以增强AP侧抗彩虹表攻击的能力。
可选的,606,DEV-ACCT=DEV-ACCTv{id mst,g mst}。
其中,DEV-ACCT表示AP侧保存的账号文件,其中可以包括一个或多个账号的标识以及每个账号对应的hashtocurve函数。在步骤606中,AP可以将第一设备的标识id mst,以及计算获得的hashtocurve函数g mst保存在账号文件DEV-ACCT中,即可以在DEV-ACCT添加一项{id mst,g mst},即DEV-ACCT=DEV-ACCTv{id mst,g mst}。也就是说,{id mst,g mst}可以为AP为第一设备建立的账号。
需要说明的是,这里以将第一设备的标识id mst和对应的hashtocurve函数g mst保存在账号文件DEV-ACCT中为例进行说明,但是本申请实施例并不限于此。例如,保存第一设备的标识id mst和对应的hashtocurve函数g mst的账号文件可以具有其他名称,或者还可以保存在其他文件中等,不作限定。
607,使ω无效(deactivateω)。
具体的,步骤607可以参见图4中的描述,这里不再赘述。
在一些实施例中,AP还可以更换主设备。例如,AP可以删除保存的第一设备的标识id mst和与该第一设备的标识id mst对应的哈希到曲线函数g mst,从而实现撤销第一设备为主设备。此时,AP还可以激活上述第一口令ω。作为示例,可以通过重置AP的系统,来实现对第一设备的标识id mst和哈希到曲线函数g mst的删除,以及对第一口令ω的激活,本申请对此不作限定。
在激活第一口令ω之后,当其他设备向AP发送该第一口令ω时,该第一口令ω将会通过验证,此时AP还可以将其他设备确定为主设备,实现对主设备的更换。
因此,本申请实施例在确定主设备协议流程中,AP可以进一步根据第二口令pw mst计算hashtocurve函数g mst,并保存该第一设备的标识id mst和hashtocurve函数g mst,以便于后续第一设备和AP可以通过该hashtocurve函数g mst进行安全认证。
在另一些实施例中,可替换的,步骤605可以为:生成一个随机数(generatearandomnumber)n mst,计算 相应的,步骤606可以替换为:DEV-ACCT=DEV-ACCTv{id mst,n mst,g mst}。并且,AP可以将该随机数n mst发送给第一设备。
也就是说,在本申请实施例中,可以用随机数n mst来代替第一设备的标识id mst来计算g mst。这样,能够增强AP侧抗彩虹表攻击的能力。
图7示出了设备认证协议对应的流程的一个具体示例。其中,第一设备可以与AP进行安全认证,例如根据hashtocurve函数g mst,获取PMK,并执行4路握手协议进行安全认证。示例性的,该设备认证协议流程可以在图6所示的主设备确定协议流程之后执行,即AP确定第一设备为主设备之后,第一设备可以根据获取的第二口令,与AP进行安全认证。另外,图7中所示的设备认证协议可以为图4中步骤404的一个具体示例,本申请对此不作限定。
作为示例,在主设备确认协议之后,第一设备可以保管第二口令pw mst,AP端保管第一设备的标识id mst和hashtocurve函数g mst,即保管{id mst,g mst},其中 本申请对此不作限定。
在另一些实施例中,当AP侧计算 时,AP端保管第一设备的标识id mst、随机数n mst和hashtocurve函数g mst,即保管{id mst,n mst,g mst},本申请对此不作限定。
应理解,图7示出了示出了设备认证协议的流程的步骤或操作,但这些步骤或操作仅 是示例,本申请实施例还可以执行其他操作或者图7中的各个操作的变形。此外,图7中的各个步骤可以按照与图7中呈现的不同的顺序来执行,并且有可能并非要执行图7中的全部操作。
如图7所示,该设备认证过程可以包括步骤701至707。
701,第一设备选择 确定
作为示例,第一设备选择随机数 确定 具体的,U和V为从阶数为素数p的循环群G中获取两个独立的随机生成元,可以作为系统参数保存在第一设备侧,第一设备可以根据系统参数U和V,以及口令pw mst,确定hashtocurve函数 然后,第一设备可以选择随机数 并根据hashtocurve函数g mst和该随机数x,确定第一参数
需要说明的是,在步骤701中,第一设备侧确定的g mst与AP侧保管的g mst是相同的,例如可以通过在第一设备和AP中分别预置代码实现,本申请对此不作限定。
702,第一设备向AP发送X和id mst。对应的,AP接收X和id mst
示例性的,第一设备可以向AP发送连接请求,其中包括上述参数X和第一设备的标识id mst,本申请对此不作限定。
703,AP选择随机数
这里,当AP端可以保管 而不是口令pw mst,此时AP端可以在接收到参数X和id mst之后,选择随机数y,并根据预先存储的hashtocurve函数 和随机数y,确定第二参数
因此,本申请实施例通过AP端直接保管 而不是口令pw mst,能够避免AP在认证设备时实时计算g mst,从而能够减小AP端的计算量,进而有助于减少或避免遭致拒绝服务(denialofservice,DoS)攻击。
在另一些实施例中,AP端可以保管第二设备的标识id mst和该第二口令pw mst,此时当AP端接收到参数X和id mst之后,AP可以根据保存的系统参数U和V,以及口令pw mst,确定hashtocurve函数 并进一步选取随机数y,根据Y=g y,来确定第二参数Y,本申请对此不作限定。
704,AP向第一设备发送Y。对应的,第一设备接收Y。
705,第一设备计算Z=Y x,PMK=KDF(Z,id mst||id AP||X||Y)。
706,AP计算Z=X y,PMK=KDF(Z,id mst||id AP||X||Y)。
示例性的,第一设备和AP可以分别根据上述参数X、参数Y、第一设备的标识id mst和AP的标识id AP,确定配对主密钥PMK。
作为示例,第一设备和AP双方可以分别计算Z值,并根据PMK=KDF(Z,id mst||id AP||X||Y)来确定PMK。对于第一设备而言,Z=Y x,对于AP而言,Z=X y。其中,id AP表示AP的标识,作为示例,AP的标识可以为AP的MAC地址。KDF()为标准的密钥推演函数。
在一些可选的实施例中,在步骤705,即第一设备确定PMK之前,AP可以发送广播消息,该广播消息中包括AP的MAC地址。相应的,请求设备可以接收广播消息,并通过该广播消息,获取AP的MAC地址。作为示例,该广播消息可以为信标(beacons)帧,该信标帧可以在步骤701之前发送,本申请对此不作限定。
707,第一设备和AP进行关联和4路握手。
这里,通过关联和4路握手过程,AP和第一设备双方可以相互身份认证和计算PTK。 当第一设备通过设备认证协议之后,第一设备可以连接到AP并建立安全的通信信道。
因此,本申请实施例中,第一设备可以根据hashtocurve函数g mst,确定参数X,并向AP发送该参数X和第一设备的标识id mst,AP可以向第一设备发送参数Y,其中,参数Y也是根据hashtocurve函数g mst确定的,进而第一设备和AP均可以根据该参数X、参数Y、第一设备的标识id mst和AP的标识id AP,来确定PMK。
在本申请实施例中,AP和第一设备之间传输的第一参数X和第二参数Y是基于hashtocurve函数g和随机数生成的,并不涉及口令的计算,从而攻击者很难知道口令,进而能够提高AP和第一设备在WiFi的安全认证过程中的防侧信道攻击的能力,有助于AP和第一设备在安全认证时避免遭致侧信道攻击。
而在现有技术中,当在WPA3协议中采用SAE流程计算PMK时,需要利用共享口令进行计算,这样,通过信道测试,结合暴力破解等手段,攻击者可以获取口令,从而导致口令泄露。
在另一些实施例中,可替换的,当AP侧保管 时,步骤701可以为第一设备确定 步骤703可替换为 本申请对此不作限定。另外,在步骤701之前,第一设备可以接收来自AP的随机数n mst。这样,能够增强AP侧抗彩虹表攻击的能力。
图8示出了设备授权协议对应的流程的一个具体示例。其中,第一设备可以对第二设备授权,使得第二设备可以获取与AP共享的第三口令。该设备授权协议流程可以在主设备通过设备认证协议,例如在图7所示的设备认证协议流程之后执行。作为示例,在主设备确认协议之后,AP端可以保管第一设备的标识id mst和hashtocurve函数g mst,即保管{id mst,g mst},本申请对此不作限定。
在另一些实施例中,当AP侧计算 时,AP端保管第一设备的标识id mst、随机数n mst和hashtocurve函数g mst,即保管{id mst,n mst,g mst},本申请对此不作限定。
应理解,图8示出了示出了设备授权协议的流程的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图8中的各个操作的变形。此外,图8中的各个步骤可以按照与图8中呈现的不同的顺序来执行,并且有可能并非要执行图8中的全部操作。
如图8所示,该设备认证过程可以包括步骤801至808。
801,第一设备与AP进行设备认证。
示例性的,步骤801可以参见图7中的描述,这里不再赘述。
802,第二设备向第一设备发送请求#1,该请求#1用于请求(第一设备)允许所述第二设备接入所述AP。对应的,第一设备接收该请求#1。
示例性的,步骤802可以参见图4中步骤405中的描述,这里不再赘述。
803,第一设备向AP发送请求#2。该请求#2用于请求第二设备接入所述AP。可选的,请求#2中可以包括授权策略P,第二设备的标识id T
示例性的,步骤803可以参见图4中步骤406中的描述,这里不再赘述。
804,AP生成{id T,pw T}。
示例性的,AP生成第二设备的第三口令pw T。AP根据第二设备的标识id T和第三口口令pw T,生成{id T,pw T}。示例性的,AP可以从请求#2中获取第二设备的标识id T。在 另一些实施例中,当请求#2中不包括第二设备的标识id T时,AP可以生成第三设备的标识id T,本申请对此不作限定。具体的,可以参见图4中步骤407中的描述,不再赘述。
可选的,当请求#2中包括授权策略P时,AP可以根据该授权策略P,生成第三口令。示例性的,可以参见图4中步骤407中的描述,不再赘述。
805,AP向第一设备发送{id T,pw T}。对应的,第一设备接收{id T,pw T}。
806,第一设备向第二设备发送{id T,pw T}。对应的,第二设备接收{id T,pw T}。
在一些实施例中,第二设备和AP在分别获取第三口令{id T,pw T}之后,AP可以保存{id T,pw T},并且第二设备和AP可以基于第二设备的标识id T和该第二口令pw T,进行设备认证。具体的,可以参见图4中的描述,不再赘述。
在另一些实施例中,当第二设备和AP在生成PMK时采用的hashtocurve函数可以通过点乘运算将口令pw转化为椭圆曲线上的点时,例如可以采用TBPEKE来生成PMK,AP还可以执行以下步骤807和808。
可选的,807,AP计算
其中,U和V为从阶数为素数p的循环群G中获取上述两个独立的随机生成元,可以作为系统参数保存在AP侧,h()为安全杂凑函数,g T为第二设备的hashtocurve函数,可以称为第二哈希到曲线(hashtocurve)函数g T,用于通过点乘运算将口令pw T转化为椭圆曲线上的点。g T可以在后续第二设备与AP进行身份认证时,生成相关参数,具体可以参见下文中的描述。
这里,hashtocurve函数g T是根据第二设备的标识id T和第三口令pw T获取的,这样能够将hashtocurve函数g T与第二设备的标识id T绑定,从而可以增强AP端抗彩虹表攻击的能力。
可选的,808,DEV-ACCT=DEV-ACCTv{id mst,g mst,P}。
其中,DEV-ACCT可以参见图6中的描述,不再赘述。在步骤608中,AP可以将第二设备的标识id T,以及计算获得的hashtocurve函数g T保存在账号文件DEV-ACCT中。例如,可以在DEV-ACCT添加一项{id T,g T,P},即DEV-ACCT=DEV-ACCTv{id T,g T,P}。也就是说,{id T,g T,P}可以为AP为第二设备建立的账号。
在另一些实施例中,当请求#2中不包含授权策P时,可以在DEV-ACCT添加项{id T,g T,P},即DEV-ACCT=DEV-ACCTv{id T,g T,P},作为AP为第二设备建立的账号,本申请对此不作限定。
需要说明的是,这里以将第二设备的标识id T和对应的hashtocurve函数g T保存在账号文件DEV-ACCT中为例进行说明,但是本申请实施例并不限于此。例如,保存第二设备的标识id T和对应的hashtocurve函数g T的账号文件可以具有其他名称,或者还可以保存在其他文件中等。
因此,本申请实施例在设备授权协议流程中,AP可以进一步根据第三口令pw T计算hashtocurve函数g T,并保存该第二设备的标识id T和hashtocurve函数g T,以便于后续第二设备和AP可以通过该hashtocurve函数g T进行安全认证。
在一些实施例中,可替换的,步骤804可以为:AP生成{id T,pw T,n T}。相应的,步骤805和806中,传送的为{id T,pw T,n T}。进而,在步骤807中,AP计算 相应的,步骤808可以替换为:DEV-ACCT=DEV-ACCTv{id T,n T,g T,P},或,DEV-ACCT=DEV-ACCTv{id T,n T,g T}。并且,AP可以将该随机数n T发送给第一设备, 再由第一设备将随机数n T与id T发送给第二设备。示例性的,AP可以将n T以及g T一起发送给第一设备,再由第一设备将n T与id T以及g T一起发送给第二设备。
也就是说,在本申请实施例中,可以用随机数n T来代替第二设备的标识id T来计算g T,这样能够增强AP侧抗彩虹表攻击的能力。
图9示出了设备认证协议对应的流程的另一个具体示例。其中,第二设备可以与AP进行设备认证,例如根据hashtocurve函数g T,获取PMK,并执行4路握手协议进行安全认证。示例性的,该设备认证协议流程可以在图8所示的设备授权协议流程之后执行,即在第一设备对第二设备授权,使得第二设备获取与AP共享的第三口令之后,第二设备可以根据获取的第三口令,与AP进行安全认证。另外,图9中所示的设备认证协议可以为图4中步骤409的一个具体示例,本申请对此不作限定。
作为示例,在设备授权协议之后,第二设备可以保管第三口令pw T,AP端保管第二设备的标识id T和hashtocurve函数g T,即保管{id T,g T},本申请对此不作限定。
在另一些实施例中,当AP侧计算 时,AP端保管第二设备的标识id T、随机数n T和hashtocurve函数g T,即保管{id T,n T,g T},本申请对此不作限定。
应理解,图9示出了示出了设备认证协议的流程的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图9中的各个操作的变形。此外,图9中的各个步骤可以按照与图9中呈现的不同的顺序来执行,并且有可能并非要执行图9中的全部操作。
如图9所示,该设备认证过程可以包括步骤901至907。
901,第二设备选择 确定
示例性的,第二设备选择 确定 的过程,与第一设备选择 确定 的过程相似,可以参考图7中步骤701的描述,可能需要做一些简单的适配,这里不再赘述。
902,第二设备向AP发送X和id T。对应的,AP接收X和id T
示例性的,第二设备可以向AP发送连接请求,其中包括上述参数X和第二设备的标识id T,本申请对此不作限定。
903,AP选择随机数
示例性的,AP选择 确定 的过程,与AP选择 确定 的过程相似,可以参考图7中步骤703的描述,可能需要做一些简单的适配,这里不再赘述。
904,AP向第二设备发送Y。对应的,第二设备接收Y。
905,第二设备计算Z=Y x,PMK=KDF(Z,id T||id AP||X||Y)。
906,AP计算Z=X y,PMK=KDF(Z,id T||id AP||X||Y)。
示例性的,第二设备计算Z,以及PMK=KDF(Z,id T||id AP||X||Y)的过程,与第一设备计算Z,以及PMK=KDF(Z,id mst||id AP||X||Y)的过程相似,AP计算Z,以及PMK=KDF(Z,id T||id AP||X||Y)的过程,与AP计算Z,以及PMK=KDF(Z,id mst||id AP||X||Y)的过程相似,可以参考图图7中步骤705和706的描述,可能需要做一些简单的适配,这里不再赘述。
907,第二设备和AP进行关联和4路握手。
这里,通过关联和4路握手过程,AP和第二设备双方可以相互身份认证和计算PTK。当第二设备通过设备认证协议之后,第二设备可以连接到AP并建立安全的通信信道。
因此,本申请实施例中,第二设备可以根据hashtocurve函数g T,确定参数X,并向AP发送该参数X和第二设备的标识id T,AP可以向第二设备发送参数Y,其中,参数Y也是根据hashtocurve函数g T确定的,进而第二设备和AP均可以根据该参数X、参数Y、第二设备的标识id T和AP的标识id AP,来确定PMK。
在本申请实施例中,AP和第二设备之间传输的第一参数X和第二参数Y是基于hashtocurve函数g T和随机数生成的,并不涉及口令的计算,从而攻击者很难知道口令,进而能够提高AP和第二设备在WiFi的安全认证过程中的防侧信道攻击的能力,有助于AP和第二设备在安全认证时避免遭致侧信道攻击。
而在现有技术中,当在WPA3协议中采用SAE流程计算PMK时,需要利用共享口令进行计算,这样,通过信道测试,结合暴力破解等手段,攻击者可以获取口令,从而导致口令泄露。
在另一些实施例中,可替换的,当AP侧保管 时,步骤901可以为第一设备确定 步骤903可替换为 本申请对此不作限定。另外,在步骤901之前,第二设备可以获取来自AP发送的随机数n T。这样,能够增强AP侧抗彩虹表攻击的能力。
在设备身份认证协议中,在请求设备(例如第一设备或第二设备)在与AP根据口令pw(例如第一设备对应的第二口令pw mst,或第二设备对应的第三口令pw T),生成PMK的过程中,AP侧容易遭致DoS攻击。为了减少或避免DoS攻击,本申请实施例可以采用以下方案中的至少一种:
方案一:AP可以向请求设备发送抗DoS的凭证token,并对请求设备再次发送的token进行验证,只有在token验证通过时,AP才会进一步处理该请求设备的连接请求。
方案二:AP可以维护一个在连设备(deviceinprocessing,DEVinPROC)的列表,当请求设备不在该在连设备的列表中时,AP才会进一步处理该请求设备的连接请求。
下面,结合图10中的设备认证协议流程,对上述两种方案进行详细描述。
图10示出了设备认证协议对应的流程的另一个具体示例。示例性的,AP侧可以采用上述方案一和方案二来减少或避免DoS攻击。其中,请求设备可以为上文中的第一设备或第二设备,本申请对此不作限定。请求设备和AP双方共享口令pw(例如pw mst,或pw T),并且AP端可以保管{id dev,g dev},其中id dev表示请求设备的标识, 并额外设置密钥k。其中n dev表示随机数。示例性的,请求设备为第一设备时,id dev可以为id mst,n dev可以为n mst,g dev可以为g mst,请求设备为第二设备时,id dev可以为id T,n dev可以为n T,g dev可以为g T
需要说明的是,图10中以 为例进行描述,当 时,设备认证协议对应的流程可以参考图10中的描述,不再赘述。
应理解,图10示出了示出了设备认证协议的流程的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图10中的各个操作的变形。此外,图10中的各个步骤可以按照与图10中呈现的不同的顺序来执行,并且有可能并非要执行图10中的全部操作。
如图10所示,该设备认证过程可以包括步骤1001至1014。
可选的,本申请实施例中,可以设置是否启用(enable)反DoS(anti-DoS)机制。作为示例,可以预先设置标签(label),当启用反DoS机制,可以将标签值设为1,反之 可以将标签至设为0。当启用反DoS机制时,可以验证请求设备发送的token,本申请对此不作限定。
1001,AP广播信标帧。其中,该信标帧中可以包括AP的标识(可表示为id AP),例如可以为AP的MAC地址(可表示为MAC AP)。可选的,信标帧中还可以包括RSNEwithsupp.ciphers(robust security network element with supported cipers),以通知ciphers的能力等,本申请对此不作限定。
相应的,请求设备可以接收到该信标帧,并确定需要连接该AP提供的WiFi网络。
1002,请求设备选择密码(selectcipher),选择随机数 确定
示例性的,请求设备选择匹配的ciphers,即选择自己支持的密码套件,以获取到上述g,或用于获取g的相关参数(例如上述U,V)。
这里,AP广播RSNEwithsupp.ciphers,以及请求设备选择匹配的ciphers即可以为AP与请求设备进行关联商定欲使用的安全套件的一个示例。作为示例,请求设备选择了密码套件之后,g,或U,V可以作为系统参数保存在第一设备侧。
示例性的,请求设备随机数 确定 可以参见上文中图7中的701,或图9中的步骤901中的描述,这里不再赘述。
1003,请求设备向AP发送X和id dev。对应的,AP接收X和id dev
作为示例,请求设备可以向AP发送连接请求,其中包括X和id dev,本申请对此不作限定。
1004,AP检查MAC dev□DEVinPROC?计算token=h(k,MAC dev)。
具体的,AP在MAC dev□DEVinPROC时,计算token=h(k,MAC dev),在MAC dev∈DEVinPROC时,不计算token=h(k,MAC dev)。
作为示例,AP端维护的在连设备的列表(可以表示为DEVinPROC)中可以包括至少一个连接该AP提供的网络的请求设备(即在连设备)的MAC地址。当请求设备的MAC地址不在DEVinPROC中(即MAC dev□DEVinPROC)时,AP会进一步处理该请求设备的连接请求,即根据该请求设备的MAC地址和AP端保管的密钥,为该请求设备计算token=h(k,MAC dev)。而当请求设备的MAC地址在DEVinPROC中,即(MAC dev∈DEVinPROC)时,表示该请求设备已经能够连接到该AP提供的网络了,那么可以推测该请求设备使用了虚假的MAC地址对AP进行恶意攻击,该请求设备可能为攻击者。此时,因此AP可以不对该请求设备的连接请求进行处理,即不会为该请求设备计算token,以减少或避免AP遭致DoS攻击。
1005,AP向请求设备发送token。即,AP在生成绑定于上述id dev地址的token之后,向请求设备返回该token。对应的,请求设备接收该token。
1006,请求设备向AP发送token、X和id dev
作为示例,请求设备再次向AP提交连接请求以及token。示例性的,token可以携带在该连接请求中,本申请对此不作限定。例如,token也可以与连接请求一起封装在一条消息中发送给AP。
对应的,AP接收token、X和id dev
1007,AP检查id dev□DEVinPROC?检查token?=h(k,MAC dev)。即,AP检查在步骤1006中接收的id dev是否在DEVinPROC列表中,以及检查token是否等于其在步骤1004中计算的token。
作为示例,AP可以在id dev不在DEVinPROC列表中,即id dev□DEVinPROC之后,进一步检查token是否等于其在步骤1004中计算的token。
当id dev□DEVinPROC,且token=h(k,id dev),即该请求设备不是在连设备,且AP在步骤1006中接收的token等于其在步骤1004中计算的token时,AP可以进一步处理该请求设备的连接请求。
当id dev□DEVinPROC,且token≠h(k,id dev),即该请求设备不是在连设备,但AP在步骤1006中接收的token不等于其在步骤1004中计算的token时,AP可以不对该请求设备的连接请求进行处理。
因此,本申请实施例中,AP可以根据请求设备的标识id dev和AP端保存的密钥k,生成绑定于该请求设备的标识的抗DoS的token,并向请求设备返回该token,请求设备需再次向AP发送其标识id dev和token,使得AP能够对其标识id dev和对应的token进行验证,并且只在该token通过验证时才对该请求设备的连接请求进行处理,从而能够有助于避免AP对所有的连接请求都进行处理,进而有助于减少或避免AP遭致DoS攻击。
当id dev∈DEVinPROC时,AP可以不对token进行验证,即可不对该请求设备的连接请求进行处理。
1008,DEVinPROC=DEVinPROCv{id dev}。
具体而言,DEVinPROC=DEVinPROCv{id dev}表示可以在现有的DEVinPROC列表中增加上述请求设备的标识id dev,实现对DEVinPROC的更新。这样,当后续再接收到该包含该id dev的连接请求时,由于该id dev已经包含在DEVinPROC中,AP可以不对该连接请求进行处理,从而有助于减少或避免AP遭致DoS攻击。
1009,选择随机数
1010,AP向请求设备发送Y。
1011,请求设备计算Z=Y x,PMK=KDF(Z,id dev||id AP||X||Y)。
1012,AP计算Z=X y,PMK=KDF(Z,id dev||id AP||X||Y)。
1013,请求设备和AP进行关联和4路握手。
具体的,步骤1009至1013可以参考图7中步骤703至707的描述,或参考图9中步骤903至907中的描述,这里不再赘述。
1014,如果失败,则DEVinPROC=DEVinPROC-{id dev}。
具体而言,如果请求设备与AP之间进行身份认证或生成密钥失败,即此时该请求设备并不是该AP的在连设备,那么可以在当前的DEVinPROC列表中删除该请求设备的标识。这样,后续该请求设备仍然可以向AP发送连接请求,并且由于该请求设备的标识没有在DEVinPROC中,因此AP可以对该请求设备的连接请求进行相应的处理。
因此,本申请实施例中,通过AP在确定请求设备的MAC地址不在其DEVinPROC的列表中时,才会进一步处理该请求设备的连接请求,能够有助于避免AP对所有的连接请求都进行处理,有助于减小AP端的计算量,进而有助于减少或避免AP遭致DoS攻击。
可以理解的是,本申请上述各个实施例中,由AP实现的方法也可以由可用于AP的部件(例如芯片或者电路)实现,由第一设备实现的方法也可以由可用于第一设备的部件(例如芯片或者电路)实现,由第二设备实现的方法也可以由可用于第二设备的部件(例如芯片或者电路)实现。
根据前述方法,图11为本申请实施例提供的应用于WiFi的安全认证的装置1100的 示意图。
一些实施例中,该装置1100可以为AP,也可以为芯片或电路,比如可设置于AP的芯片或电路。一些实施例中,该装置1100可以为第一设备,也可以为芯片或电路,比如可设置于第一设备的芯片或电路。一些实施例中,该装置1100可以为第二设备,也可以为芯片或电路,比如可设置于第二设备的芯片或电路。
该装置1100可以包括处理单元1110(即,处理器的一例)和收发单元1130。
可选的,收发单元1130可以通过收发器或者收发器相关电路或者接口电路实现。
可选的,该装置还可以包括存储单元1120。一种可能的方式中,该存储单元1120用于存储指令。可选的,该存储单元也可以用于存储数据或者信息。存储单元1120可以通过存储器实现。
一种可能的设计中,该处理单元1110可以用于执行该存储单元1120存储的指令,以使装置1100实现如上述方法中AP执行的步骤。
进一步的,该处理单元1110、存储单元1120、收发单元1130可以通过内部连接通路互相通信,传递控制和/或数据信号。例如,该存储单元1120用于存储计算机程序,该处理单元1110可以用于从该存储单元1120中调用并运行该计算计程序,以控制收发单元1130接收信号和/或发送信号,完成上述方法中AP的步骤。
示例性的,当处理器单元1110为处理器,收发单元1130为收发器时,该处理器可以耦合至收发器,例如向收发器发送指令,以指示(或控制)收发单元接收信号和/或发送信号,完成上述方法中AP的步骤。
一种可能的设计中,该处理单元1110可以用于执行该存储单元1120存储的指令,以使装置1100实现如上述方法中第一设备执行的步骤。
进一步的,该处理单元1110、存储单元1120、收发单元1130可以通过内部连接通路互相通信,传递控制和/或数据信号。例如,该存储单元1120用于存储计算机程序,该处理单元1110可以用于从该存储单元1120中调用并运行该计算计程序,以控制收发单元1130接收信号和/或发送信号,完成上述方法中第一设备的步骤。
示例性的,当处理器单元1110为处理器,收发单元1130为收发器时,该处理器可以耦合至收发器,例如向收发器发送指令,以指示(或控制)收发单元接收信号和/或发送信号,完成上述方法中第一设备的步骤。
一种可能的设计中,该处理单元1110可以用于执行该存储单元1120存储的指令,以使装置1100实现如上述方法中第二设备执行的步骤。
进一步的,该处理单元1110、存储单元1120、收发单元1130可以通过内部连接通路互相通信,传递控制和/或数据信号。例如,该存储单元1120用于存储计算机程序,该处理单元1110可以用于从该存储单元1120中调用并运行该计算计程序,以控制收发单元1130接收信号和/或发送信号,完成上述方法中第二设备的步骤。
示例性的,当处理器单元1110为处理器,收发单元1130为收发器时,该处理器可以耦合至收发器,例如向收发器发送指令,以指示(或控制)收发单元接收信号和/或发送信号,完成上述方法中第二设备的步骤。
存储单元1120可以集成在处理单元1110中,也可以与处理单元1110分开设置。
可选地,若该装置1100为通信设备,该收发单元1130可以包括接收器和发送器。其中,接收器和发送器可以为相同或者不同的物理实体。为相同的物理实体时,可以统称为 收发器。
可选地,若该装置1100为芯片或电路,该收发单元1130可以包括输入接口和输出接口。
作为一种实现方式,收发单元1130的功能可以考虑通过收发电路或者收发的专用芯片实现。处理单元1110可以考虑通过专用处理芯片、处理电路、处理单元或者通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的通信设备(例如,AP,或第一设备,或第二设备)。即将实现处理单元1110、收发单元1130功能的程序代码存储在存储单元1120中,通用处理单元通过执行存储单元1120中的代码来实现处理单元1110、收发单元1130的功能。
在一些实施方式中,当装置1100是AP或设置于AP中的芯片或电路时,
收发单元1130用于接收自第一设备输入的第一口令,所述第一口令为出厂预置的口令。
处理单元1110用于在所述第一口令通过所述AP验证的情况下,获取所述AP与所述第一设备之间共享的第二口令,所述第二口令为所述第一设备与所述AP之间的共享密钥。
处理单元1110还用于根据所述第二口令,与所述第一设备进行4路握手。示例性的,处理单元1110可以通过收发单元1130与第一设备进行4路握手。
收发单元1130还用于接收来自所述第一设备的第一请求,所述第一请求用于请求第二设备接入所述AP。
处理单元1110还用于响应所述第一请求,控制收发单元1130向所述第一设备发送第三口令,所述第三口令为所述第二设备与所述AP之间的共享密钥。
在一些可能的实现方式中,处理单元1110具体用于根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述第一设备协商第一配对主密钥PMK1,以及根据所述第一PMK1,与所述第一设备进行4路握手。
在一些可能的实现方式中,处理单元1110还用于根据所述第二口令,确定所述第一设备对应的第一哈希到曲线函数g mst,所述第一哈希到曲线函数g mst用于通过点乘运算将所述第二口令转化为椭圆曲线上的点;以及保存所述第一设备的标识和所述第一哈希到曲线函数g mst,其中,所述第一设备的标识与所述第一哈希到曲线函数g mst具有对应关系。
在一些可能的实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id mst表示所述第一设备的标识,pw mst表示所述第二口令。
在一些可能的实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n mst为随机数,pw mst表示所述第二口令。
在一些可能的实现方式中,处理单元1110还用于确定所述第一口令无效。
在一些可能的实现方式中,处理单元1110还用于删除所述第一设备的标识和所述第二口令,以及激活所述第一口令。
在一些可能的实现方式中,处理单元1110还用于根据所述第三口令,与所述第二设 备进行4路握手。示例性的,处理单元1110可以通过收发单元1130与第二设备进行4路握手。
在一些可能的实现方式中,处理单元1110具体用于根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述第二设备协商第二配对主密钥PMK2,以及根据所述第二PMK2,与所述第一设备进行4路握手。
在一些可能的实现方式中,处理单元1110还用于根据所述第三口令,确定所述第二设备对应的第二哈希到曲线函数g T,所述第二哈希到曲线函数g T用于通过点乘运算将所述第三口令转化为椭圆曲线上的点,以及保存所述第二设备的标识和所述第二哈希到曲线函数g T,其中,所述第二设备的标识与所述第二哈希到曲线函数g T具有对应关系。
在一些可能的实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id T表示所述第二设备的标识,pw T表示所述第三口令。
在一些可能的实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n T为随机数,pw T表示所述第三口令。
在一些可能的实现方式中,所述第一请求中包括所述第二设备的标识。
在一些可能的实现方式中,所述第二设备的标识为所述第二设备的MAC地址。
在一些实施方式中,当装置1100是第一设备或设置于第一设备中的芯片或电路时,
收发单元1130用于向接入点AP发送第一口令,所述第一口令为出厂预置的口令。
处理单元1110用于在所述第一口令通过所述AP验证的请求下,获取所述AP与所述第一设备之间共享的第二口令,所述第二口令为所述第一设备与所述AP之间的共享密钥。
处理单元1110还用于根据所述第二口令,与所述AP进行4路握手。示例性的,处理单元1110可以通过收发单元1130与AP进行4路握手。
收发单元1130还用于接收来自第二设备的第二请求,所述第二请求用于请求允许所述第二设备接入所述AP。
处理单元1110还用于响应所述第二请求,控制所述收发单元向所述AP发送第一请求,所述第一请求用于请求所述第二设备接入所述AP。
收发单元1130还用于接收来自所述AP的第三口令,所述第三口令为所述第二设备与所述AP之间的共享密钥。
收发单元1130还用于向所述第二设备发送所述第三口令。
在一些可能的实现方式中,处理单元1110具体用于根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第一配对主密钥PMK1;以及所述第一设备根据所述第一PMK1,与所述AP进行4路握手。
在一些可能的实现方式中,处理单元1110还用于根据所述第二口令,确定所述第一设备对应的第一哈希到曲线函数g mst,所述第一哈希到曲线函数g mst用于通过点乘运算将所述第二口令转化为椭圆曲线上的点。
在一些可能的实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id mst表示所述第一设备的标识,pw mst表示所述第二口令。
在一些可能的实现方式中,所述第一哈希到曲线函数g mst表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n mst为随机数,pw mst表示所述第二口令。
在一些可能的实现方式中,所述第一请求中包括所述第二设备的标识,所述第二请求中包括所述第二设备的标识。
在一些可能的实现方式中,所述第二设备的标识为所述第二设备的MAC地址。
在一些实施方式中,当装置1100是第二设备或设置于第二设备中的芯片或电路时,
收发单元1130用于向第一设备发送第二请求,所述第二请求用于请求允许所述第二设备接入所述AP。
收发单元1130还用于从所述第一设备接收第三口令,所述第三口令为所述AP生成的所述第二设备与所述AP之间的共享密钥。
在一些可能的实现方式中,处理单元1110还用于根据所述第三口令,与所述AP进行4路握手。示例性的,处理单元1110可以通过收发单元1130与AP进行4路握手。
在一些可能的实现方式中,处理单元1110具体用于根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第二配对主密钥PMK2,以及根据所述第二PMK2,与所述AP进行4路握手。
在一些可能的实现方式中,处理单元1110还用于根据所述第三口令,确定所述第二设备对应的第二哈希到曲线函数g T,所述第二哈希到曲线函数g T用于通过点乘运算将所述第三口令转化为椭圆曲线上的点。
在一些可能的实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id T表示所述第一设备的标识,pw T表示所述第三口令。
在一些可能的实现方式中,所述第二哈希到曲线函数g T表示为:
其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n T为随机数,pw T表示所述第三口令。
在一些可能的实现方式中,所述第二请求中包括所述第二设备的标识。
在一些可能的实现方式中,所述第二设备的标识为所述第二设备的MAC地址。
上述实施例中的各个单元也可以称为模块或者电路或者部件。
其中,以上列举的装置1100中各模块或单元的功能和动作仅为示例性说明。当该装置1100配置在或本身即为AP时,装置1100中各模块或单元可以用于执行上述方法实施例中AP所执行的各动作或处理过程。当该装置1100配置在或本身即为第一设备时,装置1100中各模块或单元可以用于执行上述方法实施例中第一设备所执行的各动作或处理过程。当该装置1100配置在或本身即为第二设备时,装置1100中各模块或单元可以用于执行上述方法实施例中第二设备所执行的各动作或处理过程。
该装置1100所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明 及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
根据本申请实施例提供的方法,本申请实施例还提供一种通信系统,其包括前述的AP和第一设备和第二设备。
应理解,本申请实施例中,处理器可以为中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述任一实施例中的AP执行的步骤,或者第一设备执行的步骤,或者第二设备执行的步骤。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品被计算机执行时实现上述任一实施例中的AP执行的步骤,或者第一设备执行的步骤,或者第二设备执行的步骤。
本申请实施例还提供了一种系统芯片,该系统芯片包括:通信单元和处理单元。该处理单元,例如可以是处理器。该通信单元例如可以是输入/输出接口、管脚或电路等。该 处理单元可执行计算机指令,以使该通信装置内的芯片执行上述本申请实施例提供的AP执行的步骤,或者第一设备执行的步骤,或者第二设备执行的步骤。
可选地,该计算机指令被存储在存储单元中。
另外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmable read-only memory,EPROM)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
需要说明的是,在本申请提供的各个实施例中,各个步骤之间没有时间限制关系,并且各个步骤可以作为一个方案,也可以和其他一个或多个步骤组合构成一个方案,本申请对此不作限定。
本申请中的各个实施例可以独立的使用,也可以进行联合的使用,例如各不同实施例中的任何一个或多个步骤可以进行组合,单独构成实施例,这里不做限定。
应理解,在上文示出的实施例中,第一、第二仅为便于区分不同的对象,而不应对本申请构成任何限定。
还应理解,在本申请的实施例中,上述过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
还应理解,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“至少一个”是指一个或一个以上;“A和B中的至少一个”,类似于“A和/或B”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和B中的至少一个,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (61)

  1. 一种应用于无线保真WiFi的安全认证的方法,其特征在于,所述方法包括:
    接入点AP接收自第一设备输入的第一口令,所述第一口令为出厂预置的口令;
    在所述第一口令通过所述AP验证的情况下,所述AP获取所述AP与所述第一设备之间共享的第二口令,所述第二口令为所述第一设备与所述AP之间的共享密钥;
    所述AP根据所述第二口令,与所述第一设备进行4路握手;
    所述AP接收来自所述第一设备的第一请求,所述第一请求用于请求第二设备接入所述AP;
    所述AP响应所述第一请求,向所述第一设备发送第三口令,所述第三口令为所述第二设备与所述AP之间的共享密钥。
  2. 根据权利要求1所述的方法,其特征在于,所述AP根据所述第二口令,与所述第一设备进行4路握手,包括:
    所述AP根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述第一设备协商第一配对主密钥PMK1;
    所述AP根据所述第一PMK1,与所述第一设备进行4路握手。
  3. 根据权利要求2所述的方法,其特征在于,所述AP根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述第一设备协商第一配对主密钥PMK1之前,还包括:
    所述AP根据所述第二口令,确定所述第一设备对应的第一哈希到曲线函数g mst,所述第一哈希到曲线函数g mst用于通过点乘运算将所述第二口令转化为椭圆曲线上的点;
    所述AP保存所述第一设备的标识和所述第一哈希到曲线函数g mst,其中,所述第一设备的标识与所述第一哈希到曲线函数g mst具有对应关系。
  4. 根据权利要求3所述的方法,其特征在于,所述第一哈希到曲线函数g mst表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id mst表示所述第一设备的标识,pw mst表示所述第二口令。
  5. 根据权利要求3所述的方法,其特征在于,所述第一哈希到曲线函数g mst表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n mst为随机数,pw mst表示所述第二口令。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述AP获取所述AP与所述第一设备之间共享的第二口令之后,还包括:
    所述AP确定所述第一口令无效。
  7. 根据权利要求6所述的方法,其特征在于,还包括:
    所述AP删除所述第一设备的标识和所述第二口令;
    所述AP激活所述第一口令。
  8. 根据权利要求1-7任一项所述的方法,其特征在于,还包括:
    所述AP根据所述第三口令,与所述第二设备进行4路握手。
  9. 根据权利要求8所述的方法,其特征在于,所述AP根据所述第三口令,与所述第二设备进行4路握手,包括:
    所述AP根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述第二设备协商第二配对主密钥PMK2;
    所述AP根据所述第二PMK2,与所述第一设备进行4路握手。
  10. 根据权利要求9所述的方法,其特征在于,所述AP根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述第二设备协商第二配对主密钥PMK2之前,还包括:
    所述AP根据所述第三口令,确定所述第二设备对应的第二哈希到曲线函数g T,所述第二哈希到曲线函数g T用于通过点乘运算将所述第三口令转化为椭圆曲线上的点;
    所述AP保存所述第二设备的标识和所述第二哈希到曲线函数g T,其中,所述第二设备的标识与所述第二哈希到曲线函数g T具有对应关系。
  11. 根据权利要求10所述的方法,其特征在于,所述第二哈希到曲线函数g T表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id T表示所述第二设备的标识,pw T表示所述第三口令。
  12. 根据权利要求10所述的方法,其特征在于,所述第二哈希到曲线函数g T表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n T为随机数,pw T表示所述第三口令。
  13. 根据权利要求1-12任一项所述的方法,其特征在于,所述第一请求中包括所述第二设备的标识。
  14. 根据权利要求13所述的方法,其特征在于,所述第二设备的标识为所述第二设备的MAC地址。
  15. 一种应用于无线保真WiFi的安全认证的方法,其特征在于,所述方法包括:
    第一设备向接入点AP发送第一口令,所述第一口令为出厂预置的口令;
    在所述第一口令通过所述AP验证的请求下,所述第一设备获取所述AP与所述第一设备之间共享的第二口令,所述第二口令为所述第一设备与所述AP之间的共享密钥;
    所述第一设备根据所述第二口令,与所述AP进行4路握手;
    所述第一设备接收来自第二设备的第二请求,所述第二请求用于请求允许所述第二设备接入所述AP;
    所述第一设备响应所述第二请求,向所述AP发送第一请求,所述第一请求用于请求所述第二设备接入所述AP;
    所述第一设备接收来自所述AP的第三口令,所述第三口令为所述第二设备与所述AP之间的共享密钥;
    所述第一设备向所述第二设备发送所述第三口令。
  16. 根据权利要求15所述的方法,其特征在于,所述第一设备根据所述第二口令,与所述AP进行4路握手,包括:
    所述第一设备根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第一配对主密钥PMK1;
    所述第一设备根据所述第一PMK1,与所述AP进行4路握手。
  17. 根据权利要求16所述的方法,其特征在于,所述第一设备根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第一配对主密钥PMK1之前,还包括:
    所述第一设备根据所述第二口令,确定所述第一设备对应的第一哈希到曲线函数g mst,所述第一哈希到曲线函数g mst用于通过点乘运算将所述第二口令转化为椭圆曲线上的点。
  18. 根据权利要求17所述的方法,其特征在于,所述第一哈希到曲线函数g mst表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id mst表示所述第一设备的标识,pw mst表示所述第二口令。
  19. 根据权利要求17所述的方法,其特征在于,所述第一哈希到曲线函数g mst表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n mst为随机数,pw mst表示所述第二口令。
  20. 根据权利要求15-19所述的方法,其特征在于,所述第一请求中包括所述第二设备的标识,所述第二请求中包括所述第二设备的标识。
  21. 根据权利要求20所述的方法,其特征在于,所述第二设备的标识为所述第二设备的MAC地址。
  22. 一种应用于无线保真WiFi的安全认证的方法,其特征在于,所述方法包括:
    第二设备向第一设备发送第二请求,所述第二请求用于请求允许所述第二设备接入所述AP;
    所述第二设备从所述第一设备接收第三口令,所述第三口令为所述AP生成的所述第二设备与所述AP之间的共享密钥。
  23. 根据权利要求22所述的方法,其特征在于,还包括:
    所述第二设备根据所述第三口令,与所述AP进行4路握手。
  24. 根据权利要求23所述的方法,其特征在于,所述第二设备根据所述第三口令,与所述AP进行4路握手,包括:
    所述第二设备根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第二配对主密钥PMK2;
    所述第二设备根据所述第二PMK2,与所述AP进行4路握手。
  25. 根据权利要求24所述的方法,其特征在于,所述第二设备根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第二配对主密钥PMK2之前,还包括:
    所述第二设备根据所述第三口令,确定所述第二设备对应的第二哈希到曲线函数g T,所述第二哈希到曲线函数g T用于通过点乘运算将所述第三口令转化为椭圆曲线上的点。
  26. 根据权利要求25所述的方法,其特征在于,所述第二哈希到曲线函数g T表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h() 为安全杂凑函数,id T表示所述第一设备的标识,pw T表示所述第三口令。
  27. 根据权利要求25所述的方法,其特征在于,所述第二哈希到曲线函数g T表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n T为随机数,pw T表示所述第三口令。
  28. 根据权利要求22-27所述的方法,其特征在于,所述第二请求中包括所述第二设备的标识。
  29. 根据权利要求28所述的方法,其特征在于,所述第二设备的标识为所述第二设备的MAC地址。
  30. 一种应用于无线保真WiFi的安全认证的装置,其特征在于,包括:处理器和收发器,所述处理器耦合于所述收发器,
    所述收发器用于接收自第一设备输入的第一口令,所述第一口令为出厂预置的口令;
    所述处理器用于在所述第一口令通过所述AP验证的情况下,获取所述AP与所述第一设备之间共享的第二口令,所述第二口令为所述第一设备与所述AP之间的共享密钥;
    所述处理器还用于根据所述第二口令,与所述第一设备进行4路握手;
    所述收发器还用于接收来自所述第一设备的第一请求,所述第一请求用于请求第二设备接入所述AP;
    所述处理器还用于响应所述第一请求,控制所述收发器向所述第一设备发送第三口令,所述第三口令为所述第二设备与所述AP之间的共享密钥。
  31. 根据权利要求30所述的装置,其特征在于,所述处理器具体用于:
    根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述第一设备协商第一配对主密钥PMK1;
    根据所述第一PMK1,与所述第一设备进行4路握手。
  32. 根据权利要求31所述的装置,其特征在于,所述处理器还用于:
    根据所述第二口令,确定所述第一设备对应的第一哈希到曲线函数g mst,所述第一哈希到曲线函数g mst用于通过点乘运算将所述第二口令转化为椭圆曲线上的点;
    保存所述第一设备的标识和所述第一哈希到曲线函数g mst,其中,所述第一设备的标识与所述第一哈希到曲线函数g mst具有对应关系。
  33. 根据权利要求32所述的装置,其特征在于,所述第一哈希到曲线函数g mst表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id mst表示所述第一设备的标识,pw mst表示所述第二口令。
  34. 根据权利要求32所述的装置,其特征在于,所述第一哈希到曲线函数g mst表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n mst为随机数,pw mst表示所述第二口令。
  35. 根据权利要求30-34任一项所述的装置,其特征在于,所述处理器还用于确定所述第一口令无效。
  36. 根据权利要求35所述的装置,其特征在于,还所述处理器还用于:
    删除所述第一设备的标识和所述第二口令;
    激活所述第一口令。
  37. 根据权利要求30-36任一项所述的装置,其特征在于,所述处理器还用于根据所述第三口令,与所述第二设备进行4路握手。
  38. 根据权利要求37所述的装置,其特征在于,所述处理器具体用于:
    根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述第二设备协商第二配对主密钥PMK2;
    根据所述第二PMK2,与所述第一设备进行4路握手。
  39. 根据权利要求38所述的装置,其特征在于,所述处理器还用于:
    根据所述第三口令,确定所述第二设备对应的第二哈希到曲线函数g T,所述第二哈希到曲线函数g T用于通过点乘运算将所述第三口令转化为椭圆曲线上的点;
    保存所述第二设备的标识和所述第二哈希到曲线函数g T,其中,所述第二设备的标识与所述第二哈希到曲线函数g T具有对应关系。
  40. 根据权利要求39所述的装置,其特征在于,所述第二哈希到曲线函数g T表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id T表示所述第二设备的标识,pw T表示所述第三口令。
  41. 根据权利要求39所述的装置,其特征在于,所述第二哈希到曲线函数g T表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n T为随机数,pw T表示所述第三口令。
  42. 根据权利要求30-41任一项所述的装置,其特征在于,所述第一请求中包括所述第二设备的标识。
  43. 根据权利要求42所述的装置,其特征在于,所述第二设备的标识为所述第二设备的MAC地址。
  44. 一种应用于无线保真WiFi的安全认证的装置,其特征在于,包括:处理器和收发器,所述处理器耦合于所述收发器,
    所述收发器用于向接入点AP发送第一口令,所述第一口令为出厂预置的口令;
    所述处理器用于在所述第一口令通过所述AP验证的请求下,获取所述AP与所述第一设备之间共享的第二口令,所述第二口令为所述第一设备与所述AP之间的共享密钥;
    所述处理器用于根据所述第二口令,与所述AP进行4路握手;
    所述收发器用于接收来自第二设备的第二请求,所述第二请求用于请求允许所述第二设备接入所述AP;
    所述收发器用于响应所述第二请求,向所述AP发送第一请求,所述第一请求用于请求所述第二设备接入所述AP;
    所述收发器用于接收来自所述AP的第三口令,所述第三口令为所述第二设备与所述AP之间的共享密钥;
    所述收发器用于向所述第二设备发送所述第三口令。
  45. 根据权利要求44所述的装置,其特征在于,所述处理器具体用于:
    根据所述第二口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第一配对主密钥PMK1;
    根据所述第一PMK1,与所述AP进行4路握手。
  46. 根据权利要求45所述的装置,其特征在于,所述处理器还用于:
    根据所述第二口令,确定所述第一设备对应的第一哈希到曲线函数g mst,所述第一哈希到曲线函数g mst用于通过点乘运算将所述第二口令转化为椭圆曲线上的点。
  47. 根据权利要求46所述的装置,其特征在于,所述第一哈希到曲线函数g mst表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id mst表示所述第一设备的标识,pw mst表示所述第二口令。
  48. 根据权利要求46所述的装置,其特征在于,所述第一哈希到曲线函数g mst表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n mst为随机数,pw mst表示所述第二口令。
  49. 根据权利要求44-48所述的装置,其特征在于,所述第一请求中包括所述第二设备的标识,所述第二请求中包括所述第二设备的标识。
  50. 根据权利要求49所述的方法,其特征在于,所述第二设备的标识为所述第二设备的MAC地址。
  51. 一种应用于无线保真WiFi的安全认证的装置,其特征在于,包括:处理器和收发器,所述处理器耦合于所述收发器,
    所述收发器用于向第一设备发送第二请求,所述第二请求用于请求允许所述第二设备接入所述AP;
    所述收发器还用于从所述第一设备接收第三口令,所述第三口令为所述AP生成的所述第二设备与所述AP之间的共享密钥。
  52. 根据权利要求51所述的装置,其特征在于,所述处理器用于:
    根据所述第三口令,与所述AP进行4路握手。
  53. 根据权利要求52所述的装置,其特征在于,所述处理器具体用于:
    根据所述第三口令,基于双基密码指数密钥交换TBPEKE协议,与所述AP协商第二配对主密钥PMK2;
    根据所述第二PMK2,与所述AP进行4路握手。
  54. 根据权利要求53所述的装置,其特征在于,所述处理器还用于:
    根据所述第三口令,确定所述第二设备对应的第二哈希到曲线函数g T,所述第二哈希到曲线函数g T用于通过点乘运算将所述第三口令转化为椭圆曲线上的点。
  55. 根据权利要求54所述的装置,其特征在于,所述第二哈希到曲线函数g T表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,id T表示所述第一设备的标识,pw T表示所述第三口令。
  56. 根据权利要求54所述的方法,其特征在于,所述第二哈希到曲线函数g T表示为:
    其中,U、V分别为从阶数为素数p的循环群G中获取的两个独立的随机生成元,h()为安全杂凑函数,n T为随机数,pw T表示所述第三口令。
  57. 根据权利要求51-56所述的装置,其特征在于,所述第二请求中包括所述第二设备的标识。
  58. 根据权利要求57所述的装置,其特征在于,所述第二设备的标识为所述第二设备的MAC地址。
  59. 一种应用于无线保真WiFi的安全认证的装置,其特征在于,包括:
    用于执行权利要求1-14任一项所述的方法的单元;或者
    用于执行权利要求15-21任一项所述的方法的单元;或者
    用于执行权利要求22-29任一项所述的方法的单元。
  60. 一种通信芯片,其特征在于,所述芯片包括:
    处理器和通信接口,所述处理器用于从所述通信接口调用并运行指令,当所述处理器执行所述指令时,实现如权利要求1-14中任一项所述的方法;或者
    实现如权利要求15-21任一项所述的方法;或者
    实现如权利要求22-29任一项所述的方法。
  61. 一种通信系统,其特征在于,包括:
    如权利要求30-43任一项所述的装置,如权利要求44-50任一项所述的装置,以及如权利要求51-58任一项所述的装置。
CN202080107043.3A 2020-11-26 2020-11-26 应用于WiFi的安全认证的方法和装置 Pending CN116458173A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/131855 WO2022109941A1 (zh) 2020-11-26 2020-11-26 应用于WiFi的安全认证的方法和装置

Publications (1)

Publication Number Publication Date
CN116458173A true CN116458173A (zh) 2023-07-18

Family

ID=81755109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080107043.3A Pending CN116458173A (zh) 2020-11-26 2020-11-26 应用于WiFi的安全认证的方法和装置

Country Status (4)

Country Link
US (1) US20230300615A1 (zh)
EP (1) EP4236379A4 (zh)
CN (1) CN116458173A (zh)
WO (1) WO2022109941A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8955054B2 (en) * 2010-01-06 2015-02-10 Qualcomm Incorporated Method and apparatus for providing simultaneous support for multiple master keys at an access point in a wireless communication system
US8837741B2 (en) * 2011-09-12 2014-09-16 Qualcomm Incorporated Systems and methods for encoding exchanges with a set of shared ephemeral key data
CN103763697B (zh) * 2013-10-29 2018-01-16 上海斐讯数据通信技术有限公司 一种无线接入点多密钥支持系统及方法
CN105898743B (zh) * 2015-06-17 2019-07-02 法法汽车(中国)有限公司 一种网络连接方法、装置及系统
CN107241679B (zh) * 2016-03-29 2022-01-04 阿里巴巴集团控股有限公司 一种连接建立方法、信息发送方法、消息发送方法及装置
CN110087240B (zh) * 2019-03-28 2020-09-11 中国科学院计算技术研究所 基于wpa2-psk模式的无线网络安全数据传输方法及系统

Also Published As

Publication number Publication date
EP4236379A4 (en) 2023-12-27
EP4236379A1 (en) 2023-08-30
WO2022109941A1 (zh) 2022-06-02
US20230300615A1 (en) 2023-09-21

Similar Documents

Publication Publication Date Title
EP3761588B1 (en) Data access rights control method and device
US11765172B2 (en) Network system for secure communication
US10218501B2 (en) Method, device, and system for establishing secure connection
JP6121512B2 (ja) 暗号鍵の生成
KR102134302B1 (ko) 무선 네트워크 접속 방법 및 장치, 및 저장 매체
US10959092B2 (en) Method and system for pairing wireless mobile device with IoT device
JP6896940B2 (ja) 第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法
EP2879421B1 (en) Terminal identity verification and service authentication method, system, and terminal
WO2007041325A1 (en) Method for secure device discovery and introduction
WO2014180296A1 (zh) 一种设备之间建立连接的方法、配置设备和无线设备
KR20150092719A (ko) 증명서 생성 디바이스 및 방법
WO2022100356A1 (zh) 身份认证系统、方法、装置、设备及计算机可读存储介质
WO2018202109A1 (zh) 一种证书请求消息发送方法、接收方法和装置
US20230308875A1 (en) Wi-fi security authentication method and communication apparatus
WO2023083170A1 (zh) 密钥生成方法、装置、终端设备及服务器
US11240661B2 (en) Secure simultaneous authentication of equals anti-clogging mechanism
KR101172876B1 (ko) 사용자 단말기와 서버 간의 상호 인증 방법 및 시스템
WO2016112860A1 (zh) 无线设备的通讯方法、无线设备和服务器
WO2022109941A1 (zh) 应用于WiFi的安全认证的方法和装置
WO2022109940A1 (zh) 应用于WiFi的安全认证的方法和装置
WO2022135404A1 (zh) 身份鉴别方法、装置、存储介质、程序、及程序产品
JP2024507751A (ja) 通信のためのセキュリティ・レベルを提供するための方法及びデバイス
WO2023011702A1 (en) Establishment of forward secrecy during digest authentication

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination