Document toolboxDocument toolbox

Iframe OIDC

Spørsmål om iframe-støtte er et repeterande spørsmål vi får inn.

https://bidbax.atlassian.net/browse/SUP-17285

Hvorfor det ikke anbefales å bruke iframe-embedded authentication?

BankID vil avvikle støtten for å vise webklienten i en iframe. Dette er i tråd med retningslinjene til andre OpenID Connect-identitetsleverandører som http://idporten.difi.no , auth0.com og accounts.google.com.

Endringen gjøres av følgende grunner:

Gjøre det mulig for sluttbrukere å oppdage phishing-forsøk
Et gjennomgående problem med tidligere bruk av BankID har vært at brukeropplevelsen varierer betydelig fra leverandør til leverandør: Webklientens dimensjoner, grensesnittet for BankID på mobil, fargevalg og mer har variert mye. Som et resultat har BankID-brukere blitt vant til å akseptere en "litt avvikende" brukeropplevelse som helt normal. Med tanke på verdien av en BankID-transaksjon, er dette et betydelig problem, da det gjør brukerne mer mottakelige for phishing-angrep.

Videre gjør embedding av klienten i leverandørens nettside det umulig for brukeren å bekrefte opprinnelsen til BankID-webklienten ved enkelt å kunne sjekke URL-en i nettleseren.

Bruk av omdirigering eller popup forbedrer begge disse aspektene: Brukerne kan enkelt bekrefte opprinnelsen til BankID-webklienten, og være sikre på at legitimasjonen deres oppgis i en ekte klient. Vi tror også at når brukerne blir vant til en enhetlig BankID-opplevelse, vil flere avbryte lavteknologiske phishing-forsøk.

Forebygge XSS-angrep for å stjele økter
OpenID Connect-protokollen håndterer noe autentiseringsinformasjon i frontkanalen (authorization code flow). Denne autorisasjonskoden er sårbar for kapring av økter når klienten vises i en iframe (fordi iframe-URL-en alltid er tilgjengelig fra foreldresiden). Dermed gjør støtte for iframes det mulig for en angriper å enkelt opprette en phishing-side som kaprer økter mot ekte leverandører.

Opprettholde effektiv svindeldeteksjon
Moderne nettlesere blokkerer aktivt tredjepartssporing når tredjepartsinnhold vises i en iframe. Dette reduserer sikkerheten ved innlogging, ettersom nettleseren aktivt begrenser BankID-tilgang til parametere som brukes for å identifisere svindel. Vi forventer at denne innsatsen fra nettleserleverandørene vil fortsette.

Svindeldeteksjon er en kjernekomponent i det som gjør BankID så sikkert som det er, og avvikling av støtte for iframe-embedding er viktig for å opprettholde den høye sikkerheten til BankID.

Tekniske begrensninger i WebAuthn
Med introduksjonen av BankID med biometri har FIDO2 og WebAuthn blitt en del av BankID-plattformen. En nøkkel-egenskap ved disse protokollene er phishing-motstand, og som en konsekvens er bruk i iframes som standard deaktivert.

Hvis du fortsatt ønsker å bruke iframe
Hvis det er helt nødvendig å bruke iframe, bør vi få en liste over domener som kan settes opp i frame-ancestors CSP directive. 

Du kan også undersøke mulighetene rundt display-parametere for bedre integrering i en iframe. Se “display” i tabellen her: Authorize - BankID documentation

Den sikreste, mest brukervennlige, kompatible og foretrukne integrasjonsmetoden vil alltid være redirect, men noen brukersteder velger iframe på grunn av andre prioriteringer. Vi vil ikke hindre dette så lenge det er teknisk mulig, men det vil alltid være mer utfordrende og risikabelt å bruke iframe.

Det er ikke nødvendig å opprette en ny OIDC-klient for bruk av iframe. Vi kan oppdatere eksisterende klienter med en liste over tillatte frame-ancestors.
 iframe-authorize API-et er separat fra OIDC-klienten, så samme frame-ancestors må sendes eller konfigureres begge steder.