Nonce
Eine Nonce (englisch) bezeichnet ein vorläufiges Wort, eine Buchstaben- oder Zahlenfolge, die kurzfristig mit der Absicht gewählt wurden, bald durch etwas Besseres ersetzt zu werden.
Ursprung
Das englische Wort „nonce“ geht auf die mittelalterliche Wendung „for the nonce“ = „für dies eine Mal, einstweilen“ (durch Neusegmentierung im Mittelenglischen aus „for þan anes“ hervorgegangen[1]) zurück, also eine vorläufige Aussage oder Regelung, die bald zu ändern sei. Die Verwendung wandelte sich im Druckwesen zu „nonce word“ = „vorläufiges Wort, Platzhalter“.[2] In der Linguistik bezeichnet man mit „nonce word“ (deutsch „Gelegenheitsbildung“) das spontan erfundene Wort zur (gegebenenfalls vorläufigen) Bezeichnung einer Sache, für die es bislang noch keine angemessene Bezeichnung gab.[3]
Verwendung in der Kryptographie
In der Kryptographie wurde die Bezeichnung Nonce (Abkürzung für: „used only once“[4] oder „number used once“[5]) aufgegriffen, um eine Zahlen- oder Buchstabenkombination zu bezeichnen, die nur ein einziges Mal in dem jeweiligen Kontext verwendet wird. In vielen Protokollen ist die Sicherheit des Verfahrens gefährdet, sollte eine Nonce zweimal verwendet werden. Ähnlich wie die Verwendung von schwachen Zufallszahlen lässt sich dieser Fehler nur schwer entdecken, da die Protokolle von außen betrachtet meist immer noch funktionieren, aber leicht angreifbar werden. Typische Möglichkeiten, eine Nonce zu erzeugen, sind die Verwendung von (kryptografisch sicheren) Zufallswerten, die ausreichend groß sind, so dass die Wahrscheinlichkeit einer doppelten Benutzung vernachlässigbar ist (siehe Geburtstagsparadoxon), oder die Verwendung eines Zählers. Nonces werden beispielsweise benutzt, um Replay-Angriffe zu verhindern.
Nonce werden beispielsweise in SSL/TLS benutzt.
Fußnoten
- Douglas Harper: nonce. In: Online Etymology Dictionary. Abgerufen am 2. Juni 2013.
- Quark wurde ursprünglich als nonce word gewählt für eine „noch zu benennende Teilchenklasse“, verbreitete sich dann aber in dieser Form
- dict.cc
- Roger M. Needham, Michael D. Schroeder: Using encryption for authentication in large networks of computers. In: ACM (Hrsg.): Communications of the ACM. Band 21, Nr. 12, Dezember 1978, ISSN 0001-0782, S. 993–999, doi:10.1145/359657.359659.
- Ross Anderson: Security Engineering. A Guide to Building Dependable Distributed Systems. Wiley, 2001, ISBN 0-471-38922-6, S. 15 (cam.ac.uk).