Dela via


WPA3-SAE autentisering

WPA3-SAE, även kallat WPA3-Personal, stöds i Windows med WDI version 1.1.8 och senare. Rama in innehållsgenerering och parsning för SAE-autentisering (säker autentisering av lika med) görs i Windows, men operativsystemet kräver drivrutinsstöd för att skicka och ta emot WPA3-SAE autentiseringsramar.

WPA3-SAE funktioner

Miniportdrivrutiner anger SAE-stöd genom att göra följande:

  1. Ställ in SAE-stödd kapacitet.
    Drivrutinen anger funktionen SAEAuthenticationSupported i WDI_TLV_INTERFACE_ATTRIBUTES under anropet till OID_WDI_GET_ADAPTER_CAPABILITIES.
  2. Ange MFP-funktion.
    Drivrutinen anger funktionen MFPCapable i WDI_TLV_STATION_ATTRIBUTES under anropet till OID_WDI_GET_ADAPTER_CAPABILITIES.
  3. Lägg till metoden WDI_AUTH_ALGO_WPA3_SAE auth.
    Drivrutinen inkluderar WDI_AUTH_ALGO_WPA3_SAE i listan över autentiserings- och chifferkombinationer som returneras i anropet till OID_WDI_GET_ADAPTER_CAPABILITIES. Detta bör läggas till i följande avsnitt:

WPA3-SAE autentiseringsflöde

Initiering av anslutning

SAE-anslutningar initieras med OID_WDI_TASK_CONNECT eller OID_WDI_TASK_ROAM. WDI specificerar WDI_AUTH_ALGO_WPA3_SAE som autentiseringsmetod när drivrutinen måste utföra SAE-autentisering. Om WDI tillhandahåller PMKID i BSS-listan i aktiviteten Anslut/roaming hoppar drivrutinen över SAE-autentisering och utför öppen autentisering i stället, följt av en begäran om återassociering med PMKID.

Autentiseringsflöde

WPA3-SAE autentiseringsflöde.

Inledande begäran om SAE-parametrar

Drivrutinen väljer först en BSS att ansluta till eller roama till, och om WDI inte angav PMKID för den BSS, begär drivrutinen commit-parametrar från WDI med NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED. I den här inledande indikationen anger föraren indikeringstypen till WDI_SAE_INDICATION_TYPE_COMMIT_REQUEST_PARAMS_NEEDED. Som svar skickar WDI OID_WDI_SET_SAE_AUTH_PARAMS till drivrutinen med något av följande alternativ.

  • Skicka incheckningsbegäran (WDI_SAE_REQUEST_TYPE_COMMIT_REQUEST)
  • Sae-autentisering misslyckades (WDI_SAE_REQUEST_TYPE_FAILURE)

Vid mottagandet av ett kommittensvar

När drivrutinen tar emot ett Commit-svar skickar den NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED med typen inställd på WDI_SAE_INDICATION_TYPE_COMMIT_RESPONSE. Som svar skickar WDI OID_WDI_SET_SAE_AUTH_PARAMS med någon av följande begäranden:

  • Skicka commit-förfrågan (WDI_SAE_REQUEST_TYPE_COMMIT_REQUEST)
  • Skicka begäran om bekräftelse (WDI_SAE_REQUEST_TYPE_CONFIRM_REQUEST)
  • Sae-autentisering misslyckades (WDI_SAE_REQUEST_TYPE_FAILURE)

När du får ett bekräftande svar

När man tar emot ett bekräftelsesvar skickar drivrutinen NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED med typen inställd på WDI_SAE_INDICATION_TYPE_CONFIRM_RESPONSE. WDI skickar sedan OID_WDI_SET_SAE_AUTH_PARAMS med SAE-statusfältet inställt på lyckat eller misslyckat. Om SAE-autentisering misslyckas i drivrutinen på grund av tidsgränser eller andra orsaker skickar drivrutinen en NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED-indikation med typen se till WDI_SAE_INDICATION_TYPE_ERROR och felorsaken som anges i WDI_TLV_SAE_STATUS.

Tidsgränser och återsändningar

Dessa hanteras av drivrutinen.

WPA3-SAE-förening

Enheten ansluter till ett SAE-nätverk med något av följande alternativ.

Återanslutning efter SAE-utbyte

Detta är normalt det första associationsförsöket till ett SAE-nätverk. Drivrutinen anger SAE AKM i RSN IE i ramen Association Request.

(Re)Association med PMKID

Om WDI angav en PMKID för BSS-inmatningen i anslutning/roam-aktiviteten gör drivrutinen följande:

  1. Föraren utför en Öppen autentisering följt av att inkludera PMKID i (Re)associationsbegäran.
  2. Om enheten inte får något svar från AP inom en kort tid, eller om AP:n returnerar ett associationsfel i svaret, hoppar drivrutinen över SE-autentiseringen med den här AP:n och flyttar antingen till en annan AP eller återgår till att utföra fullständig SAE-autentisering med den här AP:n.

SAE-anslutningen slutförs när SAE-autentiseringen/associationen är klar. Precis som tidigare skickar drivrutinen följande indikationer när anslutnings- eller roamingaktiviteten avslutas:

Felhantering

Skicka om ramen för SAE-commitbegäran

Om drivrutinen behöver skicka om en Commit-ram på grund av en tidsgräns kan den antingen skicka om de ursprungliga skalär-/elementvärdena som tillhandahölls av WDI eller begära en ny uppsättning skalär-/elementvärden från WDI med en NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED indikation.

Skicka om svarsramen för SAE Confirm

Om drivrutinen behöver skicka en bekräftad bildruta igen på grund av en tidsgräns bör den begära en ny uppsättning SendConfirm- och Bekräfta värden från WDI med en NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED-indikation och ange typen till WDI_SAE_INDICATION_TYPE_CONFIRM_REQUEST_RESEND_REQUEST.