En säkerhetsfråga är en fråga som används för att verifiera en persons identitet på ett lösenordsskyddat nätverk eller en webbplats. Användare väljer vanligtvis en av ett antal biografiska frågor att svara på när de skapar onlinekonton. Sedan, om en användare glömmer lösenordet, kommer han eller hon att uppmanas att svara på denna säkerhetsfråga. Om frågan besvaras korrekt kommer systemet att skicka information om hur man återställer lösenordet. Säkerhetsfrågor kan också användas som en sekundär form av identitetsverifiering efter att lösenordet har skrivits in, till exempel om användaren loggar in från en okänd plats.
Säkerhetsfrågor har vunnit popularitet sedan början av 2000-talet som ett resultat av vad som ibland kallas ”lösenordskaos”. Någon som använder Internet för arbete, skola, bank, personlig kommunikation, etc., kan ha dussintals olika användarnamn och lösenord som han eller hon lätt kan blanda ihop. Innan säkerhetsfrågorna kommer kan användaren behöva ringa kundtjänst för att få lösenordet manuellt återställt. Webbplatser som låter användare återställa sina lösenord med hjälp av en säkerhetsfråga sparar pengar för företag och tid för användarna.
Även om säkerhetsfrågor är ett bekvämt sätt att återställa ett lösenord, anses de i allmänhet vara mycket mindre säkra än själva lösenordet. En vanlig säkerhetsfråga är till exempel ”Vad är din mammas flicknamn?” Den här informationen, även om den kanske inte är allmänt känd, kan ofta hittas via lite internetsökning, vilket äventyrar användarens konto. Annan information som ibland används i säkerhetsfrågor kan inkludera namnen på husdjur, favoritsemesterplatser eller skolinformation, varav mycket rutinmässigt publiceras på sociala nätverkssajter.
På grund av dessa säkerhetsrisker måste både användare och nätverksutvecklare vara försiktiga med de säkerhetsfrågor de väljer samt hur de svarar på dem. En bra säkerhetsfråga bör ha många möjliga svar som en hackare sannolikt inte skulle kunna gissa. Användare bör vara försiktiga med att inte lägga upp information relaterad till säkerhetsfrågan någonstans på Internet.
Utvecklare bör också formulera frågor på ett sådant sätt att det bara finns ett möjligt sätt att skriva svaret. Till exempel kan svaret på frågan ”Vilket är din mammas födelsedatum?” kan skrivas ”1 juli 1948”, ”1 juli 1948”, ”7-1-1948” eller på ett antal andra sätt. En användare som glömt sitt lösenord kommer sannolikt inte ihåg på vilket sätt han eller hon skrev svaret, vilket gör att detta är en dåligt skriven säkerhetsfråga. En bättre fråga skulle vara, ”Vilken månad och år är din mammas födelse (t.ex. juli 1948)?”