AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte PassList Generator

PassList Generator

Ein Thema von AlexII · begonnen am 11. Feb 2014 · letzter Beitrag vom 25. Mär 2014
Antwort Antwort
Seite 2 von 8     12 34     Letzte » 
AlexII
Registriert seit: 28. Apr 2008
Hallo,

ich habe aus Spaß einen kleinen Passwort Generator programmiert. Werde mich freuen wenn ihn jemand testen würde.

Danke für Euer Feedback.

Jeder der mit machen möchte, bitte schön.


11.02.2014 Version 0.1
- Veröffentlicht

12.02.2014 Version 0.2
- Benutzerfreundlichkeit etwas verbessert

17.02.2014 Version 0.3
- Einstellungen werden autom. in eine .xml-Datei gespeichert
- "Generieren"-Button wird Zufällig x-Mal im Hintergrund betätigt
- das Passwort wird am Ende nach Zufall gemischt
- die ausgewählten Anforderungen an das Passwort werden immer erfüllt (vorher waren sie optional, obwohl ausgewählt)
- Bug aus der Antwort #61 beseitigt

18.02.2014 Version 0.4
- Name geändert
- Quellcode etwas optimiert
- im Google Code gehostet -> https://code.google.com/p/passlist-generator/

24.03.2014 Version 0.5
- Generieren mehrerer Passwörter möglich
- Liste der Passwörter druckbar
- Exportieren der Liste in Aussicht

25.03.2014 Version 0.6
- Exportieren der Passwortliste
- kleine Korrekturen am Code
Miniaturansicht angehängter Grafiken
screenshot.png   screenshotliste.png  
Angehängte Dateien
Dateityp: 7z PassListGenerator.7z (668,0 KB, 41x aufgerufen)
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!

Geändert von AlexII (25. Mär 2014 um 10:56 Uhr)
 
Benutzerbild von Neutral General
Neutral General

 
Delphi 10.2 Tokyo Professional
 
#11
  Alt 11. Feb 2014, 13:36
Zumindest der Thread Ersteller (ggf. noch einige andere hier) haben eine falsche Vorstellung.
Wie schon gesagt wurde. Du generierst ein Passwort. Wenn du nur Zahlen einstellst und 3 Ziffern und
daraus kommt dann "123" dann ist das Passwort wahrscheinlich ziemlich schlecht. Allerdings ist das Passwort "123" genauso schlecht wenn ich es mir selbst ausdenke.

Das Passwort

"§=$DShf242JKL§"

ist nicht ganz so einfach zu knacken weil es recht lang ist und viele verschiedene Zeichen beinhaltet und nur "Zeichensalat" ist und keinem (deutschen) Wort entspricht.
Aber dieses Passwort ist ganz egal ob es von deinem Programm oder von mir ausgedacht wurde so sicher wie es eben ist.

Der Algorithmus der hinter diesem Programm steht ist vom Prinzip her mega einfach.
Was nicht einfach ist, ist vorherzusagen welches Passwort er als nächstes ausspucken wird - aber das ist im Falle deines Programms auch sch... egal.

Edit: Ich habe EINES der generierten Passwörter für meinen Was-auch-immer-Account benutzt. Wenn Person X den Algorithmus deines Programms nun rausgefunden hat - Wen interessierts?: Dadurch weiß Person X noch lange nicht welches Passwort ich gewählt habe.
Michael

Geändert von Neutral General (11. Feb 2014 um 13:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

 
Delphi 7 Personal
 
#12
  Alt 11. Feb 2014, 13:48
Edit: Ich habe EINES der generierten Passwörter für meinen Was-auch-immer-Account benutzt. Wenn Person X den Algorithmus deines Programms nun rausgefunden hat - Wen interessierts?: Dadurch weiß Person X noch lange nicht welches Passwort ich gewählt habe.
Das nicht, aber je nachdem wie das Programm funktioniert, ist die Anzahl der unterschiedlichen Passwörter begrenzt, und da liegt der Hase im Pfeffer.
Du hast wesentlich mehr Phantasie als so ein Programm, da ist die Anzahl der möglichen unterschiedlichen Passwörter , vor allem über einen längeren Zeitraum, wesentlich größer.

Gruß
K-H
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

 
Delphi 10.2 Tokyo Professional
 
#13
  Alt 11. Feb 2014, 13:59
Das Programm kann (und wird) wenn es richtig programmiert ist jeden möglichen String generieren können der die eingestellten Bedingungen erfüllt. Von daher hat das Programm in dem Sinne um einiges mehr "Fantasie" als jeder Mensch.

Und selbst wenn das nicht so wäre ist das auch egal. Ich stelle Parameter ein, ich drücke 5x auf generieren und nehme für meinen DelphiPraxis Account das generierte Passwort.

Ich gebe dir den Code des Programms. Wie willst du jetzt herausfinden welches Passwort ich habe? Gar nicht....
Michael
  Mit Zitat antworten Zitat
Perlsau
 
#14
  Alt 11. Feb 2014, 14:02
Ich komme nicht ganz hinterher. Es geht, ohne das Wort "Passwörter" zu benutzen nur darum, ob jemand den Algorithmus, mit welchem die Zeichenketten erzeugt werden, erraten/rekonstruieren kann, oder?
Das auch... das war doch mit der Enigma-Maschine genau so, soweit ich mich erinnern kann. Sobald der Algorithmus geknackt war, war der Krieg verloren*. Man konnte ab da den ganzen Verkehr entschlüsseln. So auch bei mir, sobald der PassGenerator geknackt ist, sind alle Datein die mit dessen Passwörter verschlüsselt sind - futsch bzw. geknackt. Also wie gesagt ich bin kein Crypto-experte und habe das Tool aus Spaß geschrieben, aber so verstehe ich das.
Du erzeugst Passwörter via Zufallsgenerator (Random). Die Resultate eines sog. Zufallsgenerators sind aber stets nachvollziehbar, vielleicht nicht für dich oder mich, aber für Spezialisten, die die erzeugten Muster analysieren können. Um die Erzeugung von Passwörtern via Random zu umgehen, könnte man z.B. willkürliche Mausbewegungen des Benutzers dazu heranziehen.

Schau dir doch diesen Thread im Delphi-Treff mal an, dort war ich, als ich mich mit Passwortgenerierung zu befassen begann, im Grunde genau so begriffstutzig wie du jetzt
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

 
Delphi 10.2 Tokyo Professional
 
#15
  Alt 11. Feb 2014, 14:08
Ich komme nicht ganz hinterher. Es geht, ohne das Wort "Passwörter" zu benutzen nur darum, ob jemand den Algorithmus, mit welchem die Zeichenketten erzeugt werden, erraten/rekonstruieren kann, oder?
Das auch... das war doch mit der Enigma-Maschine genau so, soweit ich mich erinnern kann. Sobald der Algorithmus geknackt war, war der Krieg verloren*. Man konnte ab da den ganzen Verkehr entschlüsseln. So auch bei mir, sobald der PassGenerator geknackt ist, sind alle Datein die mit dessen Passwörter verschlüsselt sind - futsch bzw. geknackt. Also wie gesagt ich bin kein Crypto-experte und habe das Tool aus Spaß geschrieben, aber so verstehe ich das.
Du erzeugst Passwörter via Zufallsgenerator (Random). Die Resultate eines sog. Zufallsgenerators sind aber stets nachvollziehbar, vielleicht nicht für dich oder mich, aber für Spezialisten, die die erzeugten Muster analysieren können. Um die Erzeugung von Passwörtern via Random zu umgehen, könnte man z.B. willkürliche Mausbewegungen des Benutzers dazu heranziehen.

Schau dir doch diesen Thread im Delphi-Treff mal an, dort war ich, als ich mich mit Passwortgenerierung zu befassen begann, im Grunde genau so begriffstutzig wie du jetzt
Der Angreifer müsste folgendes wissen:
1. Welche Parameter habe ich eingestellt
2. Wie oft habe ich auf "Generieren" geklickt
3. Was war mein Seed
4. Er müsste wissen dass ich mein Passwort mit diesem Programm erzeugt habe

glaube kaum dass das alles (so einfach) herauszufinden ist. Und wenn ja dann ist ein Bruteforce Angriff im Durchschnitt wahrscheinlich einfacher als an all diese Infos zu kommen.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins
 
#16
  Alt 11. Feb 2014, 14:11
Das Programm kann (und wird) wenn es richtig programmiert ist jeden möglichen String generieren können der die eingestellten Bedingungen erfüllt.
Stimmt, aber genau daran gibt es berechtigte Zweifel. Und wie das mit den Zweifeln so ist, sind diese Berechtigt bis der Quellcode offen liegt
Ich verweise hier mal auf die EE: http://www.entwickler-ecke.de/viewto...=634538#634538

Zitat:
Und selbst wenn das nicht so wäre ist das auch egal. Ich stelle Parameter ein, ich drücke 5x auf generieren und nehme für meinen DelphiPraxis Account das generierte Passwort.
Ich gebe dir den Code des Programms. Wie willst du jetzt herausfinden welches Passwort ich habe? Gar nicht....
Nur damit noch nicht. Falls ich aber an die DP Datenbank komme, könnte ich einen Hash und den Generierungszeitpunkt herausfinden. Bei einem schlechten PRNG (wie dem integrierten Random) schränkt das die Anzahl der möglichen Passwörter enorm ein. Anschaulich gesprochen muss ich von deinem 10-20stelligen Passwort nur 6 Zeichen Brute-Forcen. Die anderen 4-14 Zeichen ergeben sich dann aus den Vorherigen.

Der Aufwand für ein 20-stelliges Passwort ist also nicht mehr 62^20 sondern nur 62^6 * 15. (Bei alphanumerischen Passwörtern. Ich muss 6 Zeichen cracken und kann dann die Passwörter mit 6-20 Zeichen schnell checken)
  Mit Zitat antworten Zitat
Perlsau
 
#17
  Alt 11. Feb 2014, 14:15
Der Angreifer müsste folgendes wissen:
1. Welche Parameter habe ich eingestellt
2. Wie oft habe ich auf "Generieren" geklickt
3. Was war mein Seed
4. Er müsste wissen dass ich mein Passwort mit diesem Programm erzeugt habe

glaube kaum dass das alles (so einfach) herauszufinden ist. Und wenn ja dann ist ein Bruteforce Angriff im Durchschnitt wahrscheinlich einfacher als an all diese Infos zu kommen.
Darum geht's ja auch gar nicht. Der TE fragte danach, ob sein Passwortgenerator sichere Passwörter erzeuge. Für unsereins sind die meisten Passwörter nicht zu knacken, da fehlt uns das kryptographische Wissen und Können. Einem Kryptographie-Experten ist es jedoch möglich, die Muster von Random-Generatoren zu erkennen und auf diese Weise Brut-Force-Angriffe zu minimieren. Im Übrigen stellen die rund 4 Milliarden Seeds, die möglich sind, für Groß- und Schnellrechner nicht wirklich ein Problem dar.

Fazit: Für unsereins, die wir keine Kryptographie-Experten sind, ist so gut wie jedes Passwort unknackbar.
  Mit Zitat antworten Zitat
AlexII

 
FreePascal / Lazarus
 
#18
  Alt 11. Feb 2014, 14:18
Darum geht's ja auch gar nicht. Der TE fragte danach, ob sein Passwortgenerator sichere Passwörter erzeuge. Für unsereins sind die meisten Passwörter nicht zu knacken, da fehlt uns das kryptographische Wissen und Können. Einem Kryptographie-Experten ist es jedoch möglich, die Muster von Random-Generatoren zu erkennen und auf diese Weise Brut-Force-Angriffe zu minimieren. Im Übrigen stellen die rund 4 Milliarden Seeds, die möglich sind, für Groß- und Schnellrechner nicht wirklich ein Problem dar.

Fazit: Für unsereins, die wir keine Kryptographie-Experten sind, ist so gut wie jedes Passwort unknackbar.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

 
Delphi 10.2 Tokyo Professional
 
#19
  Alt 11. Feb 2014, 14:21
Darum geht's ja auch gar nicht. Der TE fragte danach, ob sein Passwortgenerator sichere Passwörter erzeuge.
Ja aber ich finde die Frage schon fehl am Platz^^ Da das Programm wie gesagt quasi jeden möglichen String erzeugen kann sind natürlich automatisch auch sehr komplexe und lange Passwörter möglich bzw. darin enthalten. Das Programm kann extrem schwache und extrem starke Passwörter generieren. Aber das liegt einfach nur daran wie der Benutzer es bedient und nicht wie es programmiert ist.

@jfheins:
Welcher Generierungszeitpunkt steht denn in der DP Datenbank? Doch nicht der Zeitpunkt an dem ich mein Passwort mit dem Programm des TEs generiert habe. Man kann maximal den Generierungszeitpunkt des Hashs herausfinden.

Klar wenn man den Generierungszeitpunkt auf die ms genau kennt und dazu alle von mir im Programm eingestellten Randbedingungen dann hat man es zumindest um einiges leichter das PW zu knacken. Aber an diese Infos dran zu kommen ist quasi unmöglich falls man nicht eh schon einen Trojaner vom Angreifer auf dem PC hat. Oder seh ich das falsch?
Michael
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins
 
#20
  Alt 11. Feb 2014, 14:38
Es reicht eine Sekundengenaue Angabe. Ich gehe dann einfach davon aus, dass du das Passwort wohl maximal 1h vorher generiert hast. Typischerweise vergeht bei mir keine Minute zwischen Generierung und Festlegung.

Du kannst es auch so sehen: Du hinterlegst ein Passwort mit einer gewissen Menge an Entropie. Einmal hast du ein 12-stelliges Passwort mit 71 bits Entropie (echter Zufall) und einmal mit 26bit. Warum solltest du das schlechtere nehmen und es dem Angreifer potenziell einfacher machen als du müsstest?

"Ich wähle ein schlechtes Passwort, weil es für mich genauso schwer zu knacken ist wie ein gutes" ist auf dem Niveau von "Für meine 102-jährige Großmutter reicht eine Zimmertür als Haustür vollkommen aus, weil sie beide nicht eintreten kann."

In der Kryptographie geht man grundsätzlich davon aus, dass der Angreifer fast alle Informationen hat. In deinem Fall also auch alles was du in #15 aufgezählt hast. Helfen dem Angreifer diese Informationen nicht weiter, ist es ein gutes Verfahren. Helfen Sie ihm, ist es ein schlechtes Verfahren. Sie es so: Einmal musst du das Passwort geheim halten. Das andere mal auch noch den Entstehungszeitpunkt usw.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf