Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#7

Re: Tool für USB-Sticks

  Alt 12. Sep 2003, 16:16
Zitat:
Man könnte ja zusätzlich noch die Seriennummer des Sticks verwenden. So muß sich der Angreifer nicht nur die Pin ermitteln, sondern neben der Passwortdatei auch noch über die Sernr des USB-Sticks verfügen.
Könnte man machen bringt aber nicht viel mehr. Ein Angreifer wird die Software analysieren und ermittelt das die Seriennummer eine Rolle spielt. Also benutzt er diese. Man muß an die Sache immer so rangehen also ob man die Sourcen jedem verfügbar macht. D.h. die komplette Funktionsweise der Software ist jedem bekannt. Aufbauend auf diesem Gedanken ist ein sicheres Verfahren ein Verfahren das auch dann noch sicher ist wenn man es kennt. Somit bleibt in deinem Falle nur eines übrig. Das Safe-Passwort ist allenig ausschlaggebend für die Sicherheit. Im Falle des USB-Sticks kommt hinzu das man diesen immer bewacht und niemals aus der Hand gibt, ein enormer Vorteil. Ein Angreifer müsste also z.b. das PC System infizieren um unbemerkt die Daten vom Stick zu kopieren. Es ist also nun deine Aufgabe die Software so zu konstruieren das man
1.) nicht unbemerkt Daten vom Stick kopieren kann
2.) das bei der Passworteingabe diese nicht gescannt werden kann
3.) das das benutzte Passwort von guter Qualität ist

Für Punkt 2. und 3. findest du hier im Forum sogar Threads mit Sourcen.
Punkt 1. ist schon schwieriger. Hilfreich wäre es wenn der Stick einen geschützten Speicherbereich hätte der PIN geschützt ist. Deine Anwendung kennt diesen PIN der durch das Safe-Passwort verschlüsselt wurde. In diesem geschützten Speicher wären dann zusätzliche Daten die als Safe-Passwort dienen könnten. D.h. der Anwender installiert deine Software. Diese übernimmt den PIN für den geschützten Speicher und verschlüsselt diese mit dem Anwenderkey. Im geschützten Speicher liegen Zufallsdaten die als Ergänzung zum Safe-Key dienen um die einzelnen Passwörter zu verschlüsseln. Da der Zugriff auf den geschützten Speicher nur über die korrekte PIN möglich ist, und nur deine Anwendung diese kennt, kann man nun sicherheitsrelevante Daten vor dem Kopieren schützen.

Allerdings, ich weis nicht ob es solche Sticks gibt.

Alles andere wären knackbare Pinuts und erhöhen nicht die Sicherheit.
Für all dieses benötigt man keine PublicKey Verfahren. Die Anwendung von PK's ermöglicht drei Dinge mehr
1.) verteilte Schlüssel-Gültigkeiten. D.h. im Safe gespeicherte Schlüssel könnten zB. nur auf ausgewählten PC's entschlüsselbar sein.
2.) shared Schlüssel, d.h. ein Schlüssel muß von einer Benutzergruppe aktiviert werden. Man nennt dies secret Sharing und es beudeutet das z.B. 3 von 5 Personen ihren Key eingeben müssen um an das Geheminis zu kommen.
3.) Das Erzeugen und Schützen eines Keys im Safe geht ohne Passwortabfrage.


Es gibt drei wesentliche Algorithmen die für dich von Nutzen sind
1.) Hashfunktionen, wie von BungeeBug schon angesprochen, zB. SHA1
2.) sym. Verschlüsselungen wie AES Rijndael, Blowfish oder IDEA
3.) Pseudo-Zufalls-Generatoren, wie YARROW von Bruce Schneier. Bei diesen geht es nicht darum das sie zufällig sind, das ist nicht entscheidend. Viel wichtiger ist es das sie nicht reproduzierbaren Output erzeugen. Dazu nutzt man die Mausbwegungen oder Tastenanschläge eines Menschen aus. Ein Mensch erzeugt keinen zufälligen Input, er erzeugt einen Input der genauso individuell wie der Mensch selber ist. Deshalb ist ein solcher Input als Input für eine Hashfunktion ideal als "Zufalls"-Generator geeignet. YARROW macht genau dies.

Die Hashfunktion, Zufallsgeneratoren und Verschlüsselungen kannts'e zB. in meinem "Delphi Encryption Compendium" bei Torry, VCLComponents, Delphi Super Page oder JEDI als Freeware mit Sourcen downloaden.

Gruß Hagen
  Mit Zitat antworten Zitat