Moin Leute,
im Sommer 2024 muss ich mein Projekt abgeben, ich mach mir bereits jetzt schon Gedanken über mein Abschlussprojekt. Prinzipiell hab ich meinen Ausbilder meinen "eventuellen" Projektantrag für mein Projekt, den ich im Januar - Februar abgeben muss vorgestellt, dieser meinte jedoch, dass das Projekt zu Umfangreich sei.
Deswegen würde ich mir eine zweite Meinung einholen.
Ist-Analyse:
Firma XY verfügt derzeit über keine interne Lösung zur Überprüfung auf Kompromittierung von verwendeten Passwörtern bei der Windows Nutzeranmeldung. Die Kennwortrichtlinie der Firma XY erfordert jedoch eine solche Überprüfung, die bisher nicht durch Microsoft als Bordmittel bereitgestellt wird. Die Verwendung einer Drittanbieterlösung ist aus Sicherheitsgründen nicht erwünscht. Daher soll eine interne Lösung in Form eines Prüf-Tools entwickelt werden, welches die zu prüfenden Passwörter prüfen kann. Hierfür soll eine Datenbank mit kompromittierten Passwörtern, basierend auf MariaDB genutzt werden.
Was soll am Ende erreicht werden?
Das Ziel des Passwort-Tools besteht darin, ein Sicherheitsmaß zu erreichen, indem die Kompromittierung der eingegebenen Passwörter überprüft wird, zusätzlich sollen die eingegebenen Passwörter nach der vom Datenschutzbeauftragten erstellten Passwortrichtlinie erfüllt und überprüft werden. Durch die interne Prüfung wird ein effizienterer Prozess geschaffen, um die Sicherheit der Passwörter zu gewährleisten.
So hab ich es mir vorgestellt:
Also Prinzipiell hat man eine Oberfläche (Anhand Windows Forms o. Ä.), bei welcher man im Menu 4 Seiten hat: 1. Prüfung auf Kompromittierung / Richtlinien, 2. Verhashung von Klarpasswörtern (passwortlisten), 3. Import (Hash-Passwort-Listen o. Ä.) 4. Settings
Die Oberfläche soll kaum Logik besitzen, diese sendet die Abfrage via. API an die DB und gibt die zu erfüllenden Richtlinien bzw. den Status der Kompromittierung zurück, die ganze Logik hängt in der Bibliothek-Schicht im Projekt. Die API ist dann somit universell Anbindbar.
Abfrage: Klarpasswort (Eingabe) -> Passwortrichtlinien werden geprüft -> Passwort wird verhashed -> API gleicht Hash in DB ab -> API gibt resultat zurück.
Prinzipiell meinte mein Ausbilder ich solle den Import, sowie das Verhashen weg lassen und beim Ist-Zustand angeben das die Datenbank bereits vorhanden ist, wobei ich eigentl. mit DB-First arbeite. Die eigentliche Projektarbeit soll nur aus der Logik (DB-Schicht, Verhashung, API, Oberfläche, Prüfklasse) darstellen.
Denkt Ihr das reicht?
Und würde das als Abschlussprojekt funktionieren?
Und ist es schlimm, wenn ich mein eventuellen Projektantrag jetzt hier veröffentlicht habe (könnten draus Schwierigkeiten entstehen, wenn z. B. die IHK-Prüfer das sehen) xD?