Kryptologie Material Steganographie Monoalphabetisch Polyalphabetisch One-Time-Pad Kerckhoffs-Prinzip Public-Key RSA Feistel-Chiffren IDEA AES Langzahlarithmetik Gpg4win GnuPG Keysigning-Party Einweg-Funktion Schlüsseltausch Hash digitale Signatur Authentifizierung Zertifikate Chipkarten
Pfad: Startseite / Fächer / Informatik / Kryptologie / Authentifizierung
Autor: mk
25.09.2010 12:55
1274
Authentifizierung

Auszug aus dem wikipedia-Artikel zu Authentifizierung

Die Authentisierung (Nachweisen der eigenen Identität) kann ein Subjekt auf drei verschiedenen Wegen erreichen:
    * Nachweis der Kenntnis einer Information (Das Subjekt weiß etwas); Beispiel: Passwort.
    * Benutzung eines Besitzes (Das Subjekt hat etwas); Beispiel: Schlüssel.
    * Anwesenheit des Subjektes selbst (Das Subjekt ist etwas); Beispiel: biometrisches Merkmal.

Challenge-Response-Authentifizierung

Parole Emil

Viele Authentifizierungsverfahren sind vom Typ Challenge-Response.

apop-Authentifizierung

Bei der Authentifizierung über einen unsicheren Kanal, wie z.B. bei der Anmeldung bei einem pop3-Server, bietet das apop-Protokoll eine erhöhte Sicherheit. Zur Beurteilung der Sicherheit könnte man sich überlegen, wie die Chancen auf einen brute-force-Angriff auf das Passwort stehen und wie der Server das Passwort speichern muss.

apop1

Nachvollzug der Authentifizierung auf der Python-Shell

>>> timestamp='<f2kh6s.2tk.1@FQDN-not-set.ha8530acb.invalid>'
>>> passwort='frikadelle'
>>> s = timestamp+passwort
>>> s
'<f2kh6s.2tk.1@FQDN-not-set.ha8530acb.invalid>frikadelle'
>>> import hashlib
>>> h = hashlib.md5(bytes(s,'ASCII'))
>>> h.hexdigest()
'ed6159e9e91a48f57ed60fdfc652234a'
>>> 

Delphi-Projekt

In einem kleinen Delphi-Projekt soll die apop-Authentifizierung nachvollzogen werden. Dazu ist es nötig, einen MD5-Hash zu benutzen. Hier ist die Unit md5.pas von Dimka Maslov eine nützliche Hilfe. In RFC 1460 zum pop3-Protokoll steht:

The "digest" parameter itself is a 16-octet value which is sent in hexadecimal format,
using lower-case ASCII characters.

Gut, beachten wir es. Zum Testen den passenden TimeStamp mit copy&paste einfügen.

Quelltextauszug:

procedure TForm1.bAPOPClick(Sender: TObject);
var
  username,
  passwort,
  timestamp,
  s1,s2,s3 : string;
  digest   : TMD5Digest;
  i        : integer;
begin
  username := eBenutzername.Text;
  passwort := ePasswort.Text;
  timestamp := eTimeStamp.Text;

  s1 := timestamp+passwort;
  digest := MD5String(s1);
  s2 := LowerCase(MD5DigestToStr(digest));
  s3 := 'apop '+username+' '+s2+#13#10;

  mSenden.Text := s3;
end;

MailClient1_exe.zip, mailclient1.zip

Zero-Knowledge-Authentifizierung

Wo ist Walter?

Links