DPP: Mandate mutual auth with NFC negotiated connection handover
Mark own bootstrap information as having been used in NFC negotiated connection handover and do not accept non-mutual authentication when processing Authentication Response from the peer when such bootstrapping information is used. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
parent
4b9a1ba0ad
commit
512b6c02e0
3 changed files with 12 additions and 0 deletions
|
@ -3952,6 +3952,14 @@ dpp_auth_resp_rx(struct dpp_authentication *auth, const u8 *hdr,
|
|||
dpp_auth_fail(auth,
|
||||
"Missing Initiator Bootstrapping Key Hash attribute");
|
||||
return NULL;
|
||||
} else if (auth->own_bi &&
|
||||
auth->own_bi->type == DPP_BOOTSTRAP_NFC_URI &&
|
||||
auth->own_bi->nfc_negotiated) {
|
||||
/* NFC negotiated connection handover bootstrapping mandates
|
||||
* use of mutual authentication */
|
||||
dpp_auth_fail(auth,
|
||||
"Missing Initiator Bootstrapping Key Hash attribute");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
auth->peer_version = 1; /* default to the first version */
|
||||
|
|
|
@ -138,6 +138,8 @@ struct dpp_bootstrap_info {
|
|||
const struct dpp_curve_params *curve;
|
||||
unsigned int pkex_t; /* number of failures before dpp_pkex
|
||||
* instantiation */
|
||||
int nfc_negotiated; /* whether this has been used in NFC negotiated
|
||||
* connection handover */
|
||||
char *configurator_params;
|
||||
};
|
||||
|
||||
|
|
|
@ -118,6 +118,7 @@ int wpas_dpp_nfc_handover_req(struct wpa_supplicant *wpa_s, const char *cmd)
|
|||
own_bi = dpp_bootstrap_get_id(wpa_s->dpp, atoi(pos));
|
||||
if (!own_bi)
|
||||
return -1;
|
||||
own_bi->nfc_negotiated = 1;
|
||||
|
||||
pos = os_strstr(cmd, " uri=");
|
||||
if (!pos)
|
||||
|
@ -149,6 +150,7 @@ int wpas_dpp_nfc_handover_sel(struct wpa_supplicant *wpa_s, const char *cmd)
|
|||
own_bi = dpp_bootstrap_get_id(wpa_s->dpp, atoi(pos));
|
||||
if (!own_bi)
|
||||
return -1;
|
||||
own_bi->nfc_negotiated = 1;
|
||||
|
||||
pos = os_strstr(cmd, " uri=");
|
||||
if (!pos)
|
||||
|
|
Loading…
Reference in a new issue