Het acroniem OTP wordt gebruikt om te verwijzen naar twee verschillende dingen in computerbeveiliging. De oudere betekenis is "One Time Pad", in moderne contexten is het veel waarschijnlijker dat het verwijst naar "One Time Password/Passcode/PIN". Zoals je waarschijnlijk kunt raden aan de hand van het gedeelde gebruik van de term "One Time", zijn er enkele overeenkomsten.
One Time Pad - basis
Een One Time Pad is een versleutelingsmethode. Theoretisch is het volkomen veilig en onmogelijk te kraken. Het wordt echter niet veel gebruikt omdat het een verscheidenheid aan beperkingen en vereisten heeft die de levensvatbaarheid ervan in de praktijk ernstig belemmeren. Het eerste probleem is dat de pad vereist dat de coderingssleutel op de pad echt willekeurig is. Zelfs pseudo-random number generators PRNG's die voor andere cryptografische doeleinden worden gebruikt, zijn niet willekeurig genoeg om veilig te zijn. Elk niveau van voorspelbaarheid in het sleutelmateriaal brengt de premisse van perfecte geheimhouding in gevaar.
Het sleutelgeneratieproces moet volledig veilig zijn. Bovendien moet de manier waarop de One Time Pad wordt gecommuniceerd veilig zijn. Alle partijen moeten dan ook de One Time Pads veilig blijven opbergen. Ook gebruikte eenmalige sleutels moeten op een veilige manier worden afgevoerd. Een One Time Pad biedt geen authenticatiemechanisme. Een aanvaller die de platte tekst en de cijfertekst kent, kan de sleutel herstellen. Die kunnen ze vervolgens gebruiken om een andere cijfertekst te genereren, zolang ze het bericht maar even groot of korter houden. Ten slotte kan het bericht dat wordt gecodeerd slechts zo lang zijn als de vooraf gegenereerde sleutel.
Het gebruik van de term "pad" komt voort uit het feit dat in de meeste gevallen een behoorlijke reeks eenmalige sleutels wordt gedistribueerd. Een handig formaat is dat van een kladblok met op elke pagina een unieke sleutel. Wanneer een bericht versleuteld moet worden, wordt de bovenste pagina gebruikt. de pagina wordt dan meestal verwijderd en vernietigd om te voorkomen dat deze wordt gecompromitteerd of hergebruikt.
One Time Pad – complicaties
In de praktijk maakt het feit dat de One Time Pad veilig moet worden gegenereerd, gecommuniceerd en opgeslagen, zoals elk gedeeld geheim, het erg moeilijk om te gebruiken. Een One Time Pad is bijvoorbeeld slechts zo veilig als de communicatiemethode. Als u vertrouwt op HTTPS om de pad veilig te communiceren, zou een tegenstander met de mogelijkheid om die TLS-codering te breken om de pad te krijgen, geen probleem meer hebben met het decoderen van berichten. Als zodanig biedt een digitaal gecommuniceerd pad geen extra beveiliging. Bij gebruik van een fysieke verzendmethode, d.w.z. een koerier of een dode druppel, is de pad veilig of niet. Dit maakt fysieke pads veel nuttiger dan digitale pads. Bovendien zijn computergebaseerde One Time Pads veel moeilijker veilig te verwijderen en hebben ze te maken met problemen met het bewaren van gegevens.
Als een One Time Pad is gecompromitteerd, kan deze worden gebruikt om eerdere berichten te ontsleutelen. Om dit te voorkomen, wordt meestal een pagina vernietigd, vaak verbrand. Dit voorkomt dat de sleutel opnieuw wordt gebruikt of wordt ontdekt. Ervan uitgaande dat een pad is gecompromitteerd maar de vernietigingspraktijk wordt gevolgd, kunnen eerdere berichten niet worden ontsleuteld. Toekomstige berichten zouden dan echter kunnen worden ontsleuteld.
In de praktijk is moderne cryptografie doorgaans meer dan veilig genoeg. Een voordeel van een One Time Pad is echter dat het met de hand kan worden gebruikt. Moderne cryptografie is zeer complex en heeft een computer nodig om efficiënt te kunnen worden gebruikt. Dit maakt One Time Pads handig in spycraft-omgevingen wanneer berichten moeten worden verzonden zonder internet of computers. Tijdens de koude oorlog gebruikten spionnen vaak One Time Pads die op flash-papier waren gedrukt. Omdat het gemaakt is van nitrocellulose, kan een gebruikte pagina heel snel verbranden zonder rookontwikkeling.
Eenmalig wachtwoord
Een eenmalig wachtwoord is een geheime reeks die kan worden gebruikt voor authenticatie. Het moet echter geheim blijven, in tegenstelling tot een One Time Pad, kan het niet worden gebruikt om iets te versleutelen en heeft het geen specifieke willekeursvereisten. Een veelgebruikte use-case voor eenmalige wachtwoorden is tweefactorauthenticatie. Een tweefactorauthenticatie-app genereert bijvoorbeeld een code voor eenmalig gebruik op basis van de tijd en een geheim om uw identiteit te bevestigen. Het eenmalige wachtwoord hoeft niet eens per se uniek te zijn. Tweefactorcodes zijn vaak zes cijfers. Dit zorgt voor voldoende willekeur om het uiterst onwaarschijnlijk te maken dat een aanvaller op het juiste moment een geldige kan raden.
Sommige bedrijven, zoals banken, kunnen ook vooraf een lijst met wachtwoorden voor eenmalig gebruik genereren en deze naar hun klanten mailen voor gebruik met online bankieren. De eenmalige wachtwoorden kunnen in dit geval niet voor iedereen hetzelfde zijn, maar hoeven niet noodzakelijkerwijs in alle gevallen 100% uniek te zijn.
Eenmalige wachtwoorden kunnen wat onhandig zijn vanuit het perspectief van de gebruikerservaring. De wachtwoorden moeten veilig worden verzonden en opgeslagen, of veilig kunnen worden gegenereerd. Phishing is ook een risico, terwijl eenmalige wachtwoorden een extra kans bieden voor een gebruiker om niet in de phishing te trappen. die er al van overtuigd is om hun gebruikersnaam en wachtwoord te overhandigen, zal doorgaans ook het eenmalige wachtwoord overhandigen.
Conclusie
In computerbeveiliging staat OTP voor One Time Pad of One Time Password. Een One Time Pad is een versleutelingstechniek die perfecte geheimhouding biedt. Het heeft echter een aantal vereisten waardoor het in de praktijk onhandig is om te gebruiken en het is over het algemeen erg lastig om correct op computers te implementeren. One Time Pads kunnen echter met de hand worden gebruikt, waardoor ze handig zijn voor ouderwetse spionage. Eenmalige wachtwoorden zijn geheime strings die kunnen worden gebruikt om u aan te melden. ze kunnen naast of in plaats van een traditioneel wachtwoord werken. Tweefactorauthenticatie is een voorbeeld van een implementatie van eenmalige wachtwoorden.