PassKey - Portable Password Generator

    • Beta
    • Closed Source

    Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von Linkai.

      PassKey - Portable Password Generator

      WICHTIG: HIER NOCH EINMAL DAS PROGRAMM IST EINE BETA, DER DERZEITIGE STAND IST BEI VERLUST DES STICKS UNSICHER!!

      Hey leute,
      ich hab mir mal zur Übung etwas überlegt. Ja es ist wieder ein Passwort Generator ich weiß.
      Aber die Idee dazu bekam ich durch pasGen (Ebenfalls hier im Showroom -> Kleinigkeiten).
      Ich wollte eine Portable Version eines Programms, mit dem ich Passwörter nicht nur generieren sondern auch relativ sicher Speichern kann.
      Selbst wenn mir mein USB-Stick mal abhanden kommt, kann ich mir relativ sicher sein, dass das so schnell nicht entschlüsselt wird.



      Name:
      Das Programm heißt PassKey (Sehr einfallsreich xD ich überlege mir noch einen neuen Namen dafür)

      Beschreibung:
      Mit dem Tool, ist es möglich sichere Passwörter zu generieren. Eine Anzeige mit direkter Aktualisierung zeigt den "Sicherheitslevel" des Passworts.
      Berücksichtigt werden dabei folgende Punkte:
      1. Kleine Buchstaben
      2. Große Buchstaben
      3. Zahlen
      4. Sonderzeichen
      5. Eine Mindestlänge von 8 Zeichen
      Je mehr Punkte erfüllt werden, umso höher Steigt der Sicherheitsgrad des Passwords. Nur bei 5 / 5 Punkten, wird das Passwort als wirklich sicher eingestuft.
      Mit Hilfe von meiner SeToNet-Lib, welche ich nach Fertigstellung ebenfalls in den Showroom uploade, werden die Passwörter hybrid verschlüsselt in einer Passwort-Datei abgelegt.
      Dabei wird für jedes Passwort ein neues Schlüsselpaar generiert.

      Was noch auf meiner Todo-Liste steht:
      Spoiler anzeigen
      • Mini-Version für das Traymenü
      • Einstellungsmöglichkeiten
      • Sprache muss weiter übersetzt werden
      • Neue Icons
      • Neuer Name
      • Neues Logo
      • Zugang zu den Passwortfiles mit einem zusätzlichen Passwort absichern.
      • Ladefunktion für verschiedene Passfiles einrichten
      Community bitten und Bugs:

      MircoTuor schrieb:

      - Wenn ich kein Passwort generiere und "eine leere" TextBox [Hinzufüge] und abbrechen drücke, dann kommt es trotzdem in die Liste.





      Screenshot(s):
      Im Anhang

      Verwendete Programmiersprache(n) und IDE(s):
      VB .Net 4.0
      VB 2010 Express

      Systemanforderungen:
      .Net Framework 4.0

      Systemveränderungen:
      Keine!

      Download(s):
      Im Anhang

      Lizenz/Weitergabe:
      Das Programm ist Freeware. Es darf auf anderen Seiten zum Download angeboten werden mit Credits - 'ProgrammName' - by Linkai-Development linkai-development.de


      Virustotal.com: virustotal.com/de/file/db5fd9a…6076/analysis/1446033597/

      Bilder
      • list.PNG

        18,42 kB, 796×407, 307 mal angesehen
      • Mainform.PNG

        27,19 kB, 793×412, 292 mal angesehen
      • ownpw.PNG

        1,86 kB, 473×45, 275 mal angesehen
      • ownpw2.PNG

        16,84 kB, 733×350, 267 mal angesehen
      • ownpw3.PNG

        8,57 kB, 461×169, 344 mal angesehen
      Dateien
      Viele Frauen kamen, viele sind gegangen, eine ist geblieben 12.5.12 <3 ich liebe dich Schatz :love: :love:

      Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „Linkai“ ()

      Hey,

      haste ganz schick gemacht. Zur Sicherheit kann ich leider nichts sagen denn da kenn ich mich überhaupt nicht aus aber 2 Dinge von meiner Seite:
      • Bitte kein Denglisch ;) also entweder überall Deutsch oder überall Englisch (siehe Bild ownpw2.png)
      • Das mit dem Include ist irgendwie nich so schön, wie wärs wenn du einfach gleich den Hintergrund des Labels grün färbst beim klick?
      Wer fragt, ist ein Narr für eine Minute. Wer nicht fragt, ist ein Narr sein Leben lang.
      Danke für die Kritik,
      Bitte kein Denglisch also entweder überall Deutsch oder überall Englisch (siehe Bild ownpw2.png)

      Oben in meiner Todo-Liste steht, dass das Programm noch weiter übersetzt wird. Zu den Strings für Message- und Inputboxen bin ich leider noch nicht gekommen. Grundgerüsst ist in Englisch, Deutsche übersetzung noch nicht komplett.

      Das mit dem Include ist irgendwie nich so schön, wie wärs wenn du einfach gleich den Hintergrund des Labels grün färbst beim klick?

      Ja ich hatte lange überlegt, und GUI-Technisch wird aufjedenfall nochmal alles überarbeitet. Ich notiere mir das mal und beim Update wird das Include geändert :).


      Ich überlege auch nUpdate mit einzubinden in der nächsten Version, um automatisiertes updaten zu ermöglichen, ohne dass man die Zip immer neu runterladen muss.

      Weitere Kritik wünsche ich mir natürlich (begründete).
      Viele Frauen kamen, viele sind gegangen, eine ist geblieben 12.5.12 <3 ich liebe dich Schatz :love: :love:
      Hey, hab mir dein Programm mal angesehen

      - Wenn ich kein Passwort generiere und "eine leere" TextBox [Hinzufüge] und abbrechen drücke, dann kommt es trotzdem in die Liste.
      - Wenn ich ein Passwort lösche (rechtsklick - Delete) wird es nicht definitiv gelöscht. Wenn ich in die Registerkarte Generieren anwähle, dann wieder in die Liste wechsle ist es wieder da. Du must noch irgendwie eine DB Speicherung durchführen.
      - Designtechnisch finde ich es nicht so schön wenn die Registerkarten auf der Seite sind.... (ist meine Meinung ;) )
      - Der Titel des Programms... änder doch da die Schrift.
      - Vielleicht würde ich noch ein Infofeld einbauen mit (c) etc.
      - Bei deiner Beschreibung .....sollten alle Optionen aktiviert sein. Mit einer Mindestlänge von ..... (das Mit wäre gross.... doch überdenke doch den Satz nochmals.)
      - Mache doch die Form etwas grösser, denn wenn man 10 Passwörter generiert ist es nervig wegen 3 Stk. noch scrolen muss

      Also das sind mal ein paar Inputs von meiner Seite aus :)
      Aber sieht ordentlich aus.
      Gruss Mirco
      Auch dir danke für die Kritik @MircoTuor

      Ich arbeite die Punkte mal nach und nach ab:

      1. Den Fehler konnte ich reproduzieren. Wird beim Update gefixxt.
      2. Das Programm speichert alle Passwörter intern in einer Liste. Nach dem Druck auf Delete, wird das Passwort aus der Liste und aus der View entfernt. Beim Schließen des Programms, findet ein "Rewrite" statt. Danach ist das Passwort auch aus der Datei entfernt. Dies habe ich mit absicht gemacht, da ich plane dass das Passwort, solange das Programm noch läuft, gegebenfalls wieder hergestellt werden kann.

      Den Fehler konnte ich bei mir aber nicht reproduzieren.
      3-Ende :

      Linkai schrieb:

      Ja ich hatte lange überlegt, und GUI-Technisch wird aufjedenfall nochmal alles überarbeitet. Ich notiere mir das mal und beim Update wird das Include geändert :).


      Zu den Texten: Die werden ebenfalls noch einmal überarbeitet. Ich bin mit den Übersetzungen noch nicht durch.

      Weitere Kritik-Punkte und Verbesserungsvorschläge nehme ich gerne entgegen
      Viele Frauen kamen, viele sind gegangen, eine ist geblieben 12.5.12 <3 ich liebe dich Schatz :love: :love:

      MircoTuor schrieb:

      @Linkai

      wolltest du das denn in englisch machen? oder von wo kommt das D/E?


      Das Programm orientiert sich an der UI-Culture wenn du also dein Windows auf Englisch umstellst, wird es Englisch.
      Ich werde diesbezüglich allerdings wie oben bereits erwähnt noch eine Einstellungsform bauen, in der man unter anderem die Sprache umstellen kann.

      Linkai schrieb:

      • Einstellungsmöglichkeiten
      • Sprache muss weiter übersetzt werden




      Viele Frauen kamen, viele sind gegangen, eine ist geblieben 12.5.12 <3 ich liebe dich Schatz :love: :love:

      Linkai schrieb:

      Das Programm orientiert sich an der UI-Culture wenn du also dein Windows auf Englisch umstellst, wird es Englisch.
      Ich werde diesbezüglich allerdings wie oben bereits erwähnt noch eine Einstellungsform bauen, in der man unter anderem die Sprache umstellen kann.


      ok das finde ich eine gute Lösung.

      Ich bin gespannt!
      Gruss Mirco
      Hallo @Linkai,

      ich hab mir das Programm auch mal angeschaut. Sieht ganz OK aus (wobei mir mein eigenes natürlich optisch besser gefällt :) )
      was ich nicht verstehe ist, wie das sicher sein soll??
      Also, ich entpacke das Zip auf einen Stick... stecke den Stick in meinen Rechner, erstelle ein paar Passwörter und schließe das Programm, dann gehe ich an einen anderen Rechner und sehe dort die Passwörter auch in Klarschrift, also heisst doch, jeder, der den Stick in die Finger bekommt, kennt meine Passwörter?
      Oder verstehe ich das nur wieder falsch?
      Ich arbeite für pasGen ja auch gerade an einer portablen Version, mein Problem dabei ist halt, das die Verschlüsselung ja mit Salt und Passwort generiert wird, also WO lege ich den Salt und das Passwort ab?? ich habe mehrere Varianten versucht (my.settings, my.ressources, xml, Textdatei) aber irgendwie finde ich keine Methode, die mir die Sicherheit bietet, das nicht jemand über ilSpy den Code anschaut und das Passwort samt Salt zurück erkennen kann.
      In meiner jetzigen pasGen Version wird der Salt und das Passwort durch Benutzer und Computer Informationen generiert, bedeutet, das ich zwingend diese Infos erstmal wissen müsste um auf das PW und den Salt zu kommen, die dann obendrein noch gehasht sind. Ebenso wird das Dataset durch einen ZipStream geschickt, der das ganze für den "normalen" User fast unlesbar macht und selbst wenn, dann stehen die Passörter verschlüsselt in der XML.
      Also irgendwie komm ich nicht ganz mit, wo nun die Sicherheit ist...

      EDIT: hab den Stick grad mal an einen völlig anderen Rechner gehängt, mit völlig anderem Benutzer und siehe da, dort sehe ich die Passwörter in der Liste, so wie sie erstellt wurden...also in Klarschrift quasi innerhalb des Programms
      "Hier könnte Ihre Werbung stehen..."

      MichaHo schrieb:

      EDIT: hab den Stick grad mal an einen völlig anderen Rechner gehängt, mit völlig anderem Benutzer und siehe da, dort sehe ich die Passwörter in der Liste, so wie sie erstellt wurden...also in Klarschrift quasi innerhalb des Programms


      Ich arbeite zur zeit noch an der Schlüssel Geschichte. Derzeit, logisch, werden die Passwörter direkt beim Start entschlüsselt und im Klartext in die Liste geschrieben. Um dies zu verändern, überlege ich mir grad eine Mischung aus RSA-Lizenzcode, Hash Signierung und Passwort via Benutzereingabe. Das Update wird mit den Neuerungen bezüglich GUI und Sicherheit kommen.

      WICHTIG: HIER NOCH EINMAL DAS PROGRAMM IST EINE BETA, DER DERZEITIGE STAND IST BEI VERLUST DES STICKS UNSICHER!!
      Der aktuelle Stand verhindert dass die Passwörter aus der Datei ausgelesen werden können ( ohne das Programm, mit gehts zurzeit ohne Probleme ).
      Viele Frauen kamen, viele sind gegangen, eine ist geblieben 12.5.12 <3 ich liebe dich Schatz :love: :love:
      @Linkai Ok, dann hab ich es mal wieder falsch verstanden :)
      die Möglichkeit ein "Masterpassword" abzufragen hab ich auch schon in Betracht gezogen, aber auch DAS muss ja irgendwo gespeichert werden... ich dreh mich immer im Kreis, weil ich nicht weis, wo ich die Passwörter, die ich zum VER und ENTschlüsseln brauche ablegen soll, damit es wirklich portabel ist...
      Die PasswordDatei verschlüsselt auf dem Stick abzulegen wäre ja nicht das Problem, aber wie verschlüssel ich, ohne dafür ein Passwort vorzuhalten??? welches ich ja dann irgendwo speichern muss...
      "Hier könnte Ihre Werbung stehen..."
      @MircoTuor soweit ganz gut... das Programm ist ja eigentlich komplett fertig, sofern man es auf seinem lokalen Rechner laufen lassen will. Habe jetzt noch zusätzlich das XML File unleserlich für den "normalen" User gemacht.
      Ich plage mich gerade mit den obigen Fragen rum um pasGen auch portabel anzubieten...
      "Hier könnte Ihre Werbung stehen..."

      MichaHo schrieb:

      die Möglichkeit ein "Masterpassword" abzufragen hab ich auch schon in Betracht gezogen, aber auch DAS muss ja irgendwo gespeichert werden.

      Eigentlich nicht. Du kannst es zwar machen (als Hash) aber du kannst doch einfach trotzdem versuchen zu entschlüsseln. Wenn ne Exception geworfen wird oder wenn nichts vernünftiges rauskommt dann kannst du davon ausgehen, dass das Passwort falsch war.
      KaskadekingDE on GitHub :)
      Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

      Who cares? ¯\_(ツ)_/¯
      Du musst dir eine Methode überlegen, auf die so schnell keiner kommt.
      Eine Methode wo du ein Masterschlüssel hast mehr oder minder, mit dem du an den hash des Eingabepassworts kommst.
      Wenn du das nun eingibst, kannst du damit dann die Keys entschlüsseln, welche die pws entschlüsseln ;)

      der passwort key kann inmitten einer bestehenden datei liegen. Kreativ werden :D
      Viele Frauen kamen, viele sind gegangen, eine ist geblieben 12.5.12 <3 ich liebe dich Schatz :love: :love:
      Versteh ich nicht.... das Masterpassword ist für das Entschlüsseln der PasswortDatei, richtig? wie soll ich es denn abfragen ob es richtig ist, wenn ich es nirgendwo speichere zum vergleichen...
      Ich steh aufm Schlauch :)

      EDIT:@'Linkai'... aso ähnlich hatte ich es. habe ein MD5 geshashtes passwort in my.resources gespeichert und beim Start dort ausgelesen... gekennzeichnet war es als VersionsNummer...
      aber ist das sicher? denn über IlSpy kann ich den Wert ja auslesen und sehe auch die Methode... gut, die könnte ich noch umbenennen in "PulloverStricken" oder so, aber der echte HackerProfi kommt doch mit Soicherheit dahinter oder nicht?
      Hatte auch schon überlegt bei jedem Start ein Random Passwort zu generieren, aber dann könnte ich ja meine vorher erstellten Kennwörter nicht mehr entschlüsseln....
      "Hier könnte Ihre Werbung stehen..."
      @MichaHo

      Da gibt es verschiede Methoden. Meine lieblings methode ist, es nicht gegen zu prüfen.
      Das Programm öffnet sich einfach und die Kennwörter werden mit dem Falschen schlüssel "entschlüsselt" es steht also nur mist drin.
      There is no CLOUD - just other people's computers

      Q: Why do JAVA developers wear glasses?
      A: Because they can't C#

      Daily prayer:
      "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
      Ahhhhh.... ich glaub so langsam steig ich dahinter.... wobei ich dann den User beim ersten Start ein Passwort vergeben lassen müsste, oder?

      EDIT: @Schamash hättest Du da ein ganz simples Beispiel? Will keinen fertigen Code zum abkopieren, nur ein Beispiel wie es gedacht ist
      "Hier könnte Ihre Werbung stehen..."
      Also wie ich es zurzeit gelöst habe:
      eine Datei: AES verschlüsselte kennwortdaten
      2. Datei: RSA verschlüsselte AES - Schlüsselpaare.
      Privatekey im Programmcode einkompiliert.

      Ich werde nun mit hilfe von Hashes (nicht das passwort sondern hashes der strings (wenn sie unverschlüsselt sind))
      mit speichern lassen.
      Wenn ich nun also Ein passwort zum verschlüsseln eingebe, werden die hashes der Strings errechnet und mit dem angehängten vergleicht. stimmt das überein gehts weiter, wenn nicht wird die eigentliche Passwortfile nicht angeführt ;)
      Viele Frauen kamen, viele sind gegangen, eine ist geblieben 12.5.12 <3 ich liebe dich Schatz :love: :love:
      Es wäre doch sicherer wenn:

      Erster Start Masterpasswort wird angefragt.
      User gibt als Masterpasswort bsp: Hallo987654321 an.
      Alle Passwörter werden mithilfe des Masterpasswortes als Schlüssel verschlüsselt und verschlüsselt gespeichert(Datei, Datenbank etc)
      Als Hinweis für den Legalen realen Benutzer könnte man außerdem bsp: 123456789 mit dem Masterpasswort verschlüsseln und auch speichern.
      Gibt der Benutzer nun bei erneuten Programmstart sein Masterpasswort ein, wird das Masterpasswort als entschlüsselungs Key benutzt und alle Passwörter werden entschlüsselt.
      Gibt der Benutzer ein falsches Masterpasswort ein, werden die Passwörter falsch entschlüsselt.
      Und als hinweiß fragt man im Programmcode ab ob das vorher verschlüsselte 123456789 nun entschlüsselt auch 123456789 ist. Wenn nicht -> Falsches Masterpasswort.

      So hättet ihr keine Schlüsselpaare oder Masterpasswörter irgendwo rumliegen.

      mfg Mika