Tripcode

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 17. September 2015 um 16:59 Uhr durch Invisigoth67 (Diskussion | Beiträge) (→‎Einleitung: typo). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen
Ein Beitrag in einem schwedischen Imageboard mit einem zum Benutzernamen (dunkelblau) identischen Trip Key und dem resultierenden Tripcode (rot)

Tripcodes (jap. トリップ, Torippu) ist eine Authentifizierungsmethode, die keine Registrierung benötigt. Zumeist werden sie in Internetforen im 2channel-Stil oder in Imageboards im Futaba-Channel-Stil verwendet.

Ein Tripcode wird vom Server aus einem Passwort (Trip Key) mittels einer kryptologischen Hash-Funktion erzeugt. Das Passwort wird für gewöhnlich zusammen mit dem Benutzernamen in ein gemeinsames Eingabefeld eingetragen. Aus einer Eingabe im üblichen 2channel-Format username#tripcode erscheint dann im Beitrag username!3GqYIJ3Obs. Das # dient als Trennzeichen zwischen Benutzername und Passwort und ! zwischen Benutzername und Tripcode. In einigen Boards wird statt letzterem ein dargestellt. Um eine Fälschung zu erschweren werden Benutzername und Tripcode häufig unterschiedlich formatiert dargestellt, z. B. der Benutzername in Fettdruck und der Tripcode nicht.

Personen, die in einem Board lesen, können die Beiträge, die von demselben Benutzer stammen, durch Vergleichen der Tripcodes erkennen. Da es unwahrscheinlich ist, dass zwei Personen mit demselben Benutzernamen dasselbe Passwort benutzen, können sie anhand der Tripcodes auseinandergehalten werden.

Ein Vorteil von Tripcodes ist, dass weder die Benutzernamen noch die Passwörter in irgendeiner Art auf dem Server gespeichert werden müssen. Da die meisten Boards denselben Tripcode-Algorithmus verwenden, können Benutzer sich auch über Websites hinweg authentifizieren.

Beispielimplementierung

Der Code zur Erzeugung von Tripcodes im klassischen 2channel-Stil in Perl unter Verwendung von DES als Hashalgorithmus – der Schlüssel wird vom Klartext abgeleitet – ist folgender:

$salt = substr($tripkey.'H.', 1, 2);        # tripkey ist Shift-JIS kodiert
$salt =~ s/[^\.-z]/\./go;                   # ersetze alle Zeichen kleiner als "." und größer als "z" durch "."
$salt =~ tr/:;<=>?@[\\]^_`/A-Ga-f/;         # ersetze alle Zeichen aus ":;<=>?@[\]^_`" durch ihr Äquivalent aus "ABCDEFGabcdef"
$trip = crypt($tripkey, $salt);             # Unix-crypt(3)-Funktion
$trip = substr($trip, -10);                 # entferne Salt am Anfang
print '◆'.$trip;

Secure Tripcodes

Tripcodes sind keine sehr sichere Authentifizierungsmethode, da der Schlüsselraum bei Tripcodes im 2channel-Stil auf grund der Verwendung von DES nur 254 Bits groß ist. Somit können relativ schnell Preimage-Angriffe z. B. durch Rainbow Tables gefahren werden, um einen Trip Key zu finden, der einen bestimmten, gewünschten Tripcode erzeugt. Daher verwenden einige Imageboards Secure Tripcodes (sichere Tripcodes) gemeinsam mit den normalen Tripcodes. Secure Tripcodes sind Salted Hashs, die einen zweiten Trip Key als Eingabe verlangen – häufig in der Form username#tripcode#securetripcode – und einen auf dem Server gespeicherten Salt (Zufallswert) verwenden. Da dieser Salt geheim und eindeutig für jede Website ist, werden genannte Angriffe erschwert.

Ein Nachteil von Secure Tripcodes ist, dass sie Board-spezisch sind. Sofern zwei Boards nicht denselben Salt, Tripcode-Algorithmus und Darstellung verwenden, kann eine Person nicht nachweisen, dass sie auf zwei unterschiedlichen Boards dieselbe Person ist. Da die meisten Benutzer davon ausgehen, dass sich nur wenige die Mühe machen, Tripcodes von anderen herauszufinden, ziehen sie die herkömmlichen Tripcodes vor.