KEDI Podium der Wirtschaft, Band 23, ISBN 978-3-930616-73-2

Die zunehmende Vernetzung im privaten und im beruflichen Umfeld, Online-Dienste oder Zugangs¬kontrollen erfordern den Nachweis der Benutzer-Identität. Gegenwärtig ist das Passwort¬verfahren die gängigste Authentifizierungsmethode für diese Dienste. KEDI (Akronym für KEnwort-DIener) bietet einen neuen, universellen Lösungsansatz für das sichere Aufbewahren von Passwörtern. Der KEDI-Prototyp wurde als Praxis-Teil einer Bachelor-Thesis an der FOM Nürnberg entwickelt [1]. Wolfgang Wolf

1. Einleitung
Die Deutschen müssen endlich untreuer werden, das fordert in einer Presseinfo der Bundesverband für Information, Telekommunikation und neue Medien (BITKOM) mit der Überschrift „Deutsche sind ihren Passwörtern zu treu“ [2]. Im Artikel berichtet der Verband über eine aktuelle repräsentative Forsa-Umfrage, nach der 41 Prozent der Bundesbürger aus eigener Initiative niemals ihre Passwörter für die diversen Online-Konten ändern. Dabei empfiehlt der Verband den Tausch der wichtigsten Geheimzahlen und Zugangscodes im Quartalsrhythmus. Viele Unternehmen verwenden ähnliche Vorgaben auch in ihren Passwort-Policies [3].

Der Aufwand, ständig neue Passwörter zu vergeben und sich diese auch noch zu merken, ist nicht gering. Menschen sind einerseits bequem, das Passwort soll schließlich immer verfügbar sein wenn es benötigt wird. Andererseits ist es alles andere als trivial, sich zwanzig und mehr gute Passwörter für unterschiedliche Anwendungen oder Websites zu merken. Will man es richtig machen, so kommt man nicht umhin, die jeweiligen Passwörter in irgendeiner Form zu speichern, sei es konventionell mittels Bleistift und Zettel oder mit Hilfe von Passwortmanagern. Damit wird jedoch die Sicherheit der Passwörter lediglich verlagert. Verfügbarkeit und Sicherheit kann man als umgekehrt proportionale Größen zueinander beschreiben [4].

Als Alternative zur Passwortspeicherung bieten sich Passwort-Formeln an. Der Nutzer merkt sich für alle seine Passwörter eine Formel, mir der er das Passwort erstellt. Dazu zählen Passwortsätze (von jedem Wort eines Satzes wird z. B. der Anfangsbuchstabe oder die Anfangssilbe entnommen), die durch Abwandelungen (Ersetzen von Buchstaben durch Zahlen oder Sonderzeichen) sicher gemacht werden. Ein weiteres Verfahren ersetzt oder ergänzt variable Faktoren, wie z. B. einen Firmennamen oder eine Internetadresse, mit dem festen Schema der eigenen Formel [5].

Der in diesem Aufsatz vorgestellte Passwortmanager vereint die beschriebenen Verfahren und stellt damit ein Hilfsmittel dar, das zur sicheren Erzeugung und Aufbewahrung von Passwörtern dient. Wobei auch hier die Sicherheit als relative Größe zu betrachten ist. Die technische Komponente aus KEDI kann den Benutzer unterstützen, ihm jedoch nicht die eigene Verantwortung abnehmen. Schneier schreibt diesbezüglich: „If you think technology can solve your security problems, then you don’t understand the problems and you don’t under¬stand the technology“ [6].

2. KEDI - Passwortsafe
KEDI ist ein System, dass sich optional aus Hard- und Softwarekomponenten zusammensetzt, und dient der Verwaltung von PINs, Zugangscodes und Kombinationen für Zahlenschlösser oder Passwörter. Hard- und Software ergänzen sich, können aber je nach Einsatzszenario auch vollkommen unabhängig voneinander funktionieren. Der Einsatz der Software erweitert die Möglichkeiten des Passwort-Safes. Das System bietet so einen universellen Lösungsansatz für die sichere Generierung, Aufbewahrung, Verwaltung und Verwendung der Schlüssel.

2.1 KEDI - Funktionsprinzip
KEDI verwendet für die Passwortverschlüsselung eine polyalphabetische Substi¬tutionschiffre [7], jedoch ist die Dechiffrierung von Master-Passwort zu den verwalteten Passwörtern keine eins zu eins Substitution. Vielmehr bestimmt der Anwender selbst und individuell wie die Ersetzung erfolgen soll. KEDI ist lediglich ein Hilfsmittel, sozusagen ein mobiler Rechenschieber für Passwörter. Master-Passwort und Algorithmus zur Dechiffrierung der Schlüssel bestimmt der Anwender und hält dieses Wissen geheim.

Zum Ersetzen der einzelnen Zeichen wird eine eigene Code-Tabellenzeile für jedes Passwort erzeugt. Die Tabelle, welche aus unterschiedlichen Zufallzeichen besteht, wird während der Träger-Fertigung erzeugt und auf diesen übertragen. Beim Einsatz der Software, kann sich der Anwender weitere Code-Tabellen erzeugen und diese optional an eigene Passwörter anpassen. Die Tabelle wird auf einem Standard-Office-Drucker ausgedruckt.

Die Code-Tabelle muss nicht geheim sein. Selbst wenn der Besitzer des Safes diesen verlieren sollte, entsteht noch kein Schaden, abgesehen vom materiellen Verlust des Trägers. Für die Dechiffrierung des Passwortes benötigt der Anwender zwei geheime Informationen:

  • Ein zentrales Master-Passwort, welches nicht zwingend alle Regeln sicherer Passwörter erfüllen muss. Es braucht keine Mindestlänge um sicher zu sein, ebenso wenig muss es den vollen ASCII-Zeichensatz ausschöpfen. Im Gegenteil, das Funktionsprinzip von KEDI sieht ein Master-Passwort vor, welches nur aus Groß- und Kleinbuchstaben bestehen darf.
  • Eine zentrale Dechiffrier-Regel, zur Anwendung des Master-Passwortes auf die Code-Tabellen.

Aus der Kombination der drei Schlüssel Master-Passwort, Dechiffrier-Regel und Code-Tabelle ergeben sich die finalen Passwörter. Die Code-Tabelle wird per Zufallsgenerator erzeugt. Dieser sorgt dafür, dass sich die fertigen Passwörter aus unterschiedlichen Zeichen, wie Groß- und Kleinbuchstaben sowie Sonderzeichen zusammensetzen. Die Länge der Passwörter ergibt sich aus dem Master-Passwort und der Dechiffrier-Regel.

KEDI-Dechiffrierung

Die Sicherheit des Passwort-Safes hängt von der Kombination von Master-Passwort und Dechiffrier-Regel ab. Ein einfaches Master-Passwort erfordert eine komplexe Dechiffrier-Regel, eine einfache Dechiffrier-Regel ein gutes (langes) Passwort. Bei der Wahl von Master-Passwort und Dechiffrier-Regel sollte darauf geachtet werden, dass ausreichend lange und sichere finale Passwörter entstehen.

KEDI verwaltet für jedes Passwort eine eigene Code-Tabelle. Diese besteht aus zwei konstanten Referenz-Buchstabenzeilen und der vom KEDI-Zufallsgenerator erzeugten Zufallszeile. Unter Verwendung der Software kann der Benutzer optional einzelne Zeichen in der Zufallszeile ersetzen. Damit ist es möglich, auch bereits vorhandene und nicht änderbare Passwörter oder PINs zu verwalten.

Folgende Abbildung zeigt ein Beispiel einer Code-Tabelle:

Code-Tabelle für ein KEDI-Passwort

Ausgehend von einer einfachen Dechiffrier-Regel, die besagt, dass jeder Buchstabe aus dem Master-Passwort entsprechend der Referenzzeilen mit einem Buchstaben aus der Zufallszeile ersetzt wird, ergibt sich für das Master-Passwort KEDISafe das Passwort ox{&pcQE.

Code-Tabelle für das Passwort KEDISafe

KEDI erlaubt es, dass die Dechiffrierregel individuell festgelegt werden kann. Beispiel: Ersetze für jeden Buchstaben aus dem Master-Passwort KeDi die benachbarten Zeichen aus der Zufallszeile. Das dechiffrierte Passwort lautet in diesem Fall V5Q>#xGp und setzt sich wie folgt zusammen: K→V5 e→Q> D→#x i→Gp.

Die ersten beiden Buchstaben in der Zufallszeile sind Teil der Kennung und dienen zur Identifikation der Zeile. Diese Buchstaben können zusätzlich in das Master-Passwort eingebaut werden, um so die Sicherheit zu erhöhen. Wenn an das Master-Passwort KeDi die Ersetzungen der beiden Buchstaben FO aus der Kennung angehängt werden, ergibt sich daraus das Passwort V5Q>#xGpxbiN.

Die KEDI Dechiffrierregeln sind im formalen Aufbau und damit in der Komplexität nicht eingeschränkt. Der Anwender kann Elemente einbauen, die in mathematischen Gleichungen gar nicht ausgedrückt werden können, von Menschen aber leicht zu merken und anzuwenden sind. Beispiel: Füge in das dechiffrierte Passwort die ersten beiden Konsonanten der Zufalls¬zeile zwischen Master- und Kennungs-Teil ein. Das Passwort wird zu: V5{9#xvVgxxbiN. Der Phantasie des Anwenders sind keine Grenzen gesetzt.

2.2 KEDI - Hardware
Mit Hardware bezeichnet man allgemein die maschinentechnische Ausrüstung eines Computersystems. Da denkt der Leser sofort an Elektronik. Dass muss aber nicht sein, zumindest nicht bei KEDI, dessen Funktionsprinzip ohne Elektronik auskommt.

KEDI besteht aus zwei konzentrischen Zylindern. Auf dem äußeren Zylinder sind die Referenz-Zeilen aufgedruckt, der innere Zylinder dient als Träger für die Zufallszeilen der unterschiedlichen Passwörter. Durch das Drehen der Zylinder erscheint jeweils eine andere Zufallszeile zwischen den Referenzzeilen. Je nach Träger können so acht bis zehn Code-Tabellen in einem Träger verwaltet werden.

KEDI-Funktionszeichnung

Als Träger für KEDI kommen Schreibutensilien, Laser-Pointer, Präsenter usw. in Frage. Für die Erstellung der Prototypen wurden handelsübliche Kugelschreiber umgebaut.

KEDI-Kugelschreiber

Eine optionale Erweiterung von KEDI sieht vor, dass mit dem Ein-Aus-Schalten eines Kugelschreibers der innere Zylinder mit den Code-Zeilen zusammen mit der Schreibmiene um das Schaltungs-Delta von 4.0 mm verschoben wird (s. Abbildung 4). Dadurch stehen unter den Referenzbuchstaben neue Code-Buchstaben. Die Kapazität von KEDI verdoppelt sich damit. Die Schaltung kann alternativ auch als zusätzlicher Parameter in die Dechiffrier-Regel eingehen.

Eine vollständige Integration von KEDI in die Authentifizierungs-Mechanismen eines Dienstes, ermöglicht weitere Anwendungsszenarien wie zum Beispiel die Verwendung von Einmalkennwörtern. Zur Authentifizierung können sie nur einmal benutzt werden, danach sind sie ungültig. Dechiffrierregel und Code-Tabelle müssen beim Authentifizierungs-Dienst bekannt sein. Dessen Login-Prozedur erzeugt für jede Anmeldung ein anderes Master-Passwort. Der Anwender verwendet dieses Master-Passwort zusammen mit seiner individuellen Dechiffrier-Regel und seiner Code-Tabelle, um das Einmalkennwort zu entschlüsseln.

2.3 KEDI Software
Die KEDI Software ist optional in der Anwendung, kann aber den Einsatz des Systems erweitern. Im Rahmen der unter [1] genannten Bachelor Thesis wurde auch ein Software-Prototyp erstellt. Das Windows®-Programm bietet dem Anwender folgende Funktionen:

  • Speichern der Code-Tabellen. Sollte der Anwender die Hardware verlieren, so ist es jederzeit möglich die Codetabellen auszudrucken und damit einen neuen KEDI zu bestücken.
  • Nutzung der gespeicherten Kennwörter am PC. Für Anmeldungen am heimischen PC kann die KEDI-Software wie ein normales Kennwortverwaltungsprogramm genutzt werden.
  • Erzeugung neuer Code-Tabellen.
  • Individuelle Kennungen für die Zufallszeilen.
  • Ändern vorhandener Code-Tabellen, um so fest vorgegebene PINS oder Zahlenkombinationen in die KEDI-Verwaltung zu integrieren.

Ein Aspekt der Software soll hier noch genauer beleuchtet werden, nämlich die Erzeugung der Code-Tabellen. Diese Funktion wird sowohl in der KEDI-Software verwendet, als auch im Fertigungsprozess von KEDI.

Die Funktion zur Erzeugung der Code-Tabellen basiert auf einem Zufallsgenerator. Da Software-Implementierungen deterministisch arbeiten, spricht man hier von Pseudo-Zufallsgeneratoren (PRNG), die keine echten Zufallszahlen liefern können [8]. Das spielt jedoch für die KEDI-Zufallszeilen keine große Rolle. Das Funktionsprinzip von KEDI erwartet lediglich eine gute Streuung der Zufallszeichen.

Der folgende VBA-Quell-Code zeigt eine Prozedur, die eine KEDI-Zufallszeile erzeugt und zurückliefert:

Public Function RandomSet() As String
Const STUPPERCASE = "ABCDEFGHJKLMNPQRSTUVWXYZ"
Const STLOWERCASE = "abcdefghijkmnopqrstuvwxyz"
Const STNUMBERS = "1234567890"
Const STSPECCHARS = "!$%&/()=?[]{}\*+<>#@"
Dim sRndSource As String
Dim sRndSet As String * 26
Dim i As Integer, j As Integer
  Randomize
  For i = 1 To 26
    If Len(sRndSource) < 1 Then
      sRndSource = STUPPERCASE & STLOWERCASE & _
                   STNUMBERS & STSPECCHARS
    End If
    j = Int((Len(sRndSource) * Rnd)+1)
    Mid$(sRndSet, i, 1) = Mid$(sRndSource, j, 1)
    sRndSource = Left$(sRndSource, j-1) & Mid$(sRndSource, j+1)
  Next i
  RandomSet = sRndSet
End Function
Programmablauf

VBA, also Visual Basic for Applications, ist eine weit verbreitete Skriptsprache, welche vor allem den Microsoft-Office-Programmen verfügbar ist, aber auch in vielen weiteren Programmen eingesetzt wird. Damit kann die vorgestellte Prozedur RandomSet in der KEDI-Fertigung eingesetzt werden. Der End-Anwender kann damit selber Code-Tabellen erzeugen und ausdrucken.

Die Streuung der Zufallszeichen in den Codetabellen wurde experimentell untersucht. Nach Blumberg et al. [9] sollen im Experiment alle Einflüsse außer der zu untersuchenden Messgröße eliminiert werden. Wenn ein ceteris-paribus-Verhältnis besteht, kann die Messung der Endsituation (Posttest) die „Wirkung auf den Stimulus“ zeigen, also hier die Streuung der Zeichen erkennen lassen.

Für den Test dient eine simple Prozedur (siehe Quell-Code 2), in der mittels RandomSet-Funktion 1.000 Zufallszeilen erzeugt werden. Diese werden zur Auswertung in einen String konkateniert. Danach wir gezählt, wie oft jedes Zeichen darin enthalten war.

Private Function StreuTest() As String
Dim i As Long, chars(1 To 127) As Long
Dim keys As String, res As String
Dim keyChars() As Byte
    For i = 1 To 1000
        keys = keys & RandomSet
    Next i
    keyChars = StrConv(keys, vbFromUnicode)
    For i = 0 To UBound(keyChars)
        chars(keyChars(i)) = chars(keyChars(i)) + 1
    Next i
    For i = 1 To 127
        If chars(i) > 0 Then
            res = res & Chr(i) & vbTab & chars(i) & vbLf
        End If
    Next i
    StreuTest = res
End Function

Die Auswertung erfolgte in einem Excel®-Arbeitsblatt, in dem die Ergebnisse graphisch in Form eines Diagramms dargestellt wurden (siehe Abbildung 6).

Da die Anzahl der verfügbaren Zeichen (78 Großbuchstaben, Kleinbuchstaben, Zahlen, Sonderzeichen, auf die Zeichen I, O und l wurde verzichtet, um Verwechslungen mit den Zahlen 0 und 1 auszuschließen) größer als die Anzahl der Zeichen (26) in einer Zufallszeile ist, kann nicht jedes Zeichen in jeder Zufallszeile vorkommen. Bei einem echten Zufall sollte jedes Zeichen 26 / 78 = 0,333 mal vorkommen. Bei n = 1.000 Versuchsreihen sind das also durchschnittlich 333 Vorkommen je Zeichen. Wiederholte Versuche zeigen eine durchschnittliche absolute Abweichung von ca. 11 (oder relativ 3,3%) Vorkommen.

3. Fazit
Gängige Passwortmanager speichern Passwörter in verschlüsselten Datenstrukturen, bei deren Entschlüsselung ausschließlich deterministische Computer-Algorithmen verwendet werden. Die Sicherheit ist abhängig vom Algorithmus und von der Leistung der Angreifer-Hardware. KEDI verwendet einen neuen Ansatz, um einen universellen Schlüssel für die Verwaltung von Passwörtern anzubieten. Die Sicherheit resultiert hier aus einem Medienbruch, der an der Schnittstelle Mensch-Kennwortspeicher stattfindet. Das Besondere an KEDI ist, dass das System im Einsatz vollkommen ohne Elektronik auskommt und damit auch Schreibutensilien als Passwort-Safe verwenden kann. Weil diese zusätzlich auch Werbe¬botschaften transportieren können, bieten sich zusätzliche Möglichkeiten im Bereich Marketing und Werbung. Alternativ kann der Passwortmanager auch als hochwertiges Accessoire positioniert werden.

6 Literatur

  • [1] Wolf, Wolfgang (2011): Passwort(un)sicherheit in Theorie und Praxis. Bachelor-Thesis in Wirtschafts¬informatik, FOM Nürnberg.
  • [2] BITKOM: Deutsche sind ihren Passwörtern zu treu. Pressemitteilung vom 28.06.2010. Berlin. URL: http://www.bitkom.org/files/documents/bitkom-presseinfo_aendern_von_ passwoertern_28_06_2010.pdf
  • [3] Fox, Dirk; Schäfer, Frank (2009): Passwörter - fünf Mythen und fünf Versäumnisse. In: DuD - Datenschutz und Datensicherheit, H. 7, S. 425–429.
  • [4] Landesbeauftragte5 für den Datenschutz Baden-Württemberg (2010): Umgang mit Passwörtern. URL: http://www.baden-wuerttemberg.datenschutz.de/service/ lfd-merkblaetter/passwort.htm Zugriff am 03.10.2011.
  • [5] Kretschmann, Sven (2011): Datenschutz am PC und im Web: Überwachung erkennen und abwehren, Kindle Edition, Books on Demand.
  • [6] Schneier, Bruce (2004): Secrets and lies. Digital security in a networked world. Paperback ed. Indianapolis, Ind.: Wiley (Schneier's cryptography classics library, / Bruce Schneier…).
  • [7] Bauer, Friedrich L. (2000): Entzifferte Geheimnisse: Methoden und Maximen der Kryptologie, Berlin, Heidelberg: Springer-Verlag.
  • [8] Pomberger, Gustav; Dobler, Heinz (2008): Algorithmen und Datenstrukturen, München, Pearson Education Deutschland GmbH.
  • [9] Blumberg, Boris; Cooper, Donald R.; Schindler, Pamela S. (2008): Business research methods. 2. European ed. London: McGraw-Hill Education.

Seitenanfang

©2012 WW-Anwendungsentwicklung