Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions Einmalpasswort - Wikipedia

Einmalpasswort

aus Wikipedia, der freien Enzyklopädie

Ein Einmalpasswort ist ein Passwort zur Authentifizierung oder auch Autorisierung. Es ist nur für einen einzigen Vorgang gültig und kann kein zweites Mal benutzt werden. Jede Authentifizierung oder Autorisierung erfordert ein neues Einmalpasswort. Es ist sicher gegen passive Angriffe, also Mithören. Auch Replay-Attacken sind somit unmöglich. Gegen das Angriffsszenario Man in the Middle helfen Einmalpassworte nicht. Auch hat es keinen Einfluss auf die Sicherheit einer Verschlüsselungsmethode.

Die Herausforderung beim Einmalpasswort ist, wie beide Seiten wissen, welches Passwort für einen bestimmten Anmeldevorgang gültig ist. Dazu kommen zwei Möglichkeiten in Betracht:

  • Passwortlisten
  • Passwortgeneratoren

Inhaltsverzeichnis

[Bearbeiten] Passwortlisten

Bei diesem System werden vorgefertigte Listen von Passwörtern auf beiden Seiten hinterlegt. Diese Liste wird entweder der Reihe nach abgearbeitet (d. h.: die Einträge sind durchnummeriert) oder einfach ein noch nicht benutzter Wert wahlfrei ausgewählt. Dieser Wert wird als Passwort übermittelt und auf beiden Seiten aus der Liste gestrichen. Die TAN-Listen beim Online-Banking sind ein Beispiel für eine Passwortliste. Ein Unterschied besteht jedoch zwischen den beiden Möglichkeiten. Bei Einmalpasswörter welche hintereinander also sequentiell verwendet werden, gibt es zu jedem Zeitpunkt genau einen gültigen Wert, den ersten noch nicht verwendeten. Bei Einmalpasswörtern welche vom Absender beliebig ausgewählt werden, gibt es zu jedem Zeitpunkt genau so viele gültige Werte, wie es Werte auf der Liste gibt.

Ein Nachteil ist ein möglicher „Verlust“ dieser Liste. Ein Angreifer, dem bei einem Systemeinbruch diese Liste in die Hand fällt, kennt damit alle in Frage kommenden Einmalpasswörter. Ein System, welches die Liste nicht komplett speichern muss, ist demnach diesem Verfahren vorzuziehen.

[Bearbeiten] Passwortgeneratoren

Bei den Generatoren wird durch einen speziellen Algorithmus zu jedem Zeitpunkt jeweils ein aktuelles Passwort generiert. Dabei müssen drei Verfahren unterschieden werden:

  1. Zeitgesteuerte Generatoren
  2. Eventgesteuerte Generatoren
  3. Challenge-Response-gesteuerte Generatoren

Bei allen dreien ist es nicht der Algorithmus selbst der übertragen wird, sondern nur der Beweis, das Ergebnis des Algorithmus. Mit dem richtigen Ergebnis weist der Client nach, dass er über den richtigen Algorithmus und, wenn nötig, die richtige Initialisierung verfügt.

[Bearbeiten] Zeitgesteuert

Obwohl der Server jeweils dieselbe Berechnung wie der Client (der Token) ausführt, akzeptiert und berechnet er im allgemeinen innerhalb eines Toleranzbereichs mehrere Einmalpasswörter, da eventuell im Token die eingebaute Uhr nicht hundertprozentig exakt geht. Dennoch hat jedes Eimalpasswort ein genau definiertes Zeitinvall für seine Gültigkeit welche im Regelfall zwischen 1 bis max. 15 Minuten liegt.

Dazu ein kurzes Beispiel eines Tokens welcher jede Minute sein Einmalpasswort ändert. Das Einmalpasswort ist jedoch nicht nur zum Zeitpunkt t gültig sondern wird serverseitig auch, wegen der Toleranz auch zum Zeitpunkt t-1 Minute und t+1 Minute und damit drei Minuten akzeptiert. Gute Verfahren synchronisieren sich anhand der eingehenden Daten auf den Client. Bei längeren Unterbrechungen zwischen den Anmeldungen kann aber auch dies fehlschlagen.

Bei Verwendung eines einzigen Tokens bei mehreren unabhängigen Stellen würde sich bei einem Ablauschen des Einmalpassworts bei einer Stelle, ein Sicherheitsrisiko für die anderen Stellen innerhalb des Toleranzbereiches eröffnen.

[Bearbeiten] Eventgesteuert

Auch bei dem eventgesteuerten Verfahren führt der Server, wie beim zeitgesteuerten dieselbe Berechnung aus, die auf Client-Seite stattgefunden hat und auch hier berechnet und akzeptiert er in einem Toleranzbereich mehrere Einmalpasswörter, ausgenommen schon verwendete. Der Grund ist, dass der Besitzer gelegentlich ein generiertes Passwort nicht verwenden könnte. Dieses Verfahren ist viel schonender für die Batterien eines entsprechenden Gerätes (Token). Es ist auch möglich es ohne permanente Stromversorgung zu betreiben in dem einfach der letzte verwendete und damit ohnehin entwertete Wert gespeichert wird.

Bei einer Verwendung eines einzigen Tokens bei mehreren unabhängigen Stellen, müssen alle Stellen zeitnah über jede Verwendung bei irgendeinem Event informiert werden.

[Bearbeiten] Challenge-Response-gesteuert

Synchronisationsprobleme gibt es im Falle eines Challenge-Response-Verfahrens nicht. Bei diesem Verfahren gibt der Server eine Aufgabe (Challenge) vor, die der Client beantworten muss (Response). Der Client erhält also einen Wert des Servers als Eingabe und berechnet darauf basierend ein Einmalpasswort.

Der Vorteil dieses Verfahrens ist, dass die Challenge völlig unabhängig gestellt werden kann. Gibt es auf der Server-Seite keinen Algorithmus der sich vorausberechnen lässt, dann gibt auf der Client- bzw. Hacker-Seite keine Möglichkeit eine Response im Voraus zu berechnen. Damit ist auch die Verwendung eines einzigen Algorithmus bei mehreren unabhängigen Stellen möglich, die Sicherheit wird dadurch nicht reduziert. Es gibt Lösungen welche mit einem Gerät (Token) die Response berechnen. In diesem Fall kann auch die unten beschriebene Technik zur Anwendung kommen, mit dem Initialwert als Challenge.

[Bearbeiten] Verwendete Technik in den meisten Generatoren

Typische Beispiele sind für die am häufigsten verwendeten Verfahren sind einerseits die sogenannten Token von z. B. RSA Security, Vasco, Kobil und anderen Herstellern, andererseits etwa Implementierungen des Einmalpassworts nach Lamport (auch als Lamport Hash bezeichnet), dessen Algorithmus im wesentlichen auf dem wiederholten Anwenden einer Hashfunktion beruht.

Voraussetzung für das One-Time-Password-Verfahren ist, dass beide Beteiligte (Client und Server) ein gemeinsames, geheimes Passwort ggPW kennen. Aus diesem wird nun eine Reihe von One-Time-Passwords (OTP) erzeugt.

[Bearbeiten] Initialisierung

Konfiguriert wird das Verfahren, in dem der Server und der Client mit dem gleich Wert einer Zufallszahl rA initialisiert werden. Dieser berechnet über diesen sogenannte Seed (Saat) konkateniert mit seinem gemeinen Passwort einen Hash-Werte S = H(rA,ggPW) mittels einer kryptographischen Hash-Funktion H.

[Bearbeiten] Berechnung der One-Time-Passwords

Nun wird eine Reihe von One-Time-Passwords generiert, indem auf S mehrfach iterativ die Hash-Funktion angewandt wird: Das erste OTP entsteht, indem die Hash-Funktion N-mal angewandt wird: PWN = HN(S). Das nächste, indem die Hash-Funktion N − 1-mal angewandt wird. Ein möglicher Mithörer kann aus dem verschickten Passwort nicht das Nächste berechnen, da er dazu die Hash-Funktion invertieren muss um von PWN auf PWN + 1 zu kommen. Dies ist jedoch unmöglich.

[Bearbeiten] Verifizierung des OTP beim Server

Der Client schickt nun sein OTP an den Server, der es verifiziert, indem er initial die gleiche Operation durchführt, wie der Client (da auch er das gemeinsame, geheime Passwort ggPW kennt). Im Folgenden speichert der Server das jeweils letzte von dem Client erhaltene OTP PWN. Indem er auf das neu-erhaltene OTP PWN + 1 einmal die Hash-Funktion anwendet und das Ergebnis mit dem letzten OTP PWN vergleicht, kann er das Passwort verifizieren. Es wird nun das gespeicherte OTP PWN mit dem neuen OTP PWN + 1 überschrieben.

[Bearbeiten] Reinitialisierung

Da bei jeder Authentifizierung ein neues OTP geschickt wird, und der Zähler N irgendwann Null erreicht, muss das OTP-System reinitialisiert werden. Dazu kann der Client z. B. selbständig einen neuen Seed rA und ein neues N wählen und dem Server mitteilen. Auch kann über eine sichere Leitung ein neues gemeinsames, geheimes Passwort ggPW ausgemacht werden. Bei vielen heute verwendeten Token ist jedoch eine Kommunikation über den Wert selbst hinaus nicht vorgesehen.

[Bearbeiten] Sicherheit

Da kryptographische Hash-Funktionen nicht invertierbar sind, kann das geheime Passwort nicht in Erfahrung gebracht werden. Auch ist das System gegen Replay-Attacken geschützt, da jedes Mal ein neues Passwort übertragen wird. Authentifiziert wird nur der Client beim Server. Der Server authentifiziert sich hingegen nicht beim Client. Somit kann ein Angreifer einen eigenen Server im Netzwerk installieren und dem Client vorgaukeln, dass dieser Server der Authentifizierungs-Server ist.

[Bearbeiten] Weblinks

  • RFC 2289 - A One-Time Password System (englisch)
Andere Sprachen
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu