Projekt Idee: Blockchain-basierter Login-Service ohne Passwörter

  • Hallo zusammen,

    ich möchte euch eine Projekt idee vorstellen, an der ich in letzter Zeit gearbeitet habe. Es handelt sich um einen Secure Login, ein Authentifizierungssystem, das Blockchain-Technologie nutzt, um sichere Logins zu ermöglichen – und das ohne klassische Passwörter.

    Grundidee ist es, eine sichere und gleichzeitig datenschutzfreundliche Alternative zu bestehenden Login-Verfahren zu bieten. Statt Benutzernamen und Passwörter zu speichern, basiert die Authentifizierung auf einem Blockchain-Eintrag, der einen Hash der E-Mail-Adresse des Nutzers enthält.

    Wichtig: Es werden keine persönlichen Daten wie die eigentliche E-Mail-Adresse oder Passwörter in der Blockchain gespeichert. Nur ein verschlüsselter Hash, der durch ein persönliches Zertifikat (eine Art privater Schlüssel) entschlüsselt werden kann.

    So funktioniert es:

    • Der Nutzer gibt seine E-Mail-Adresse ein und erhält einen Verifizierungslink.
    • Nach der Bestätigung des Links wird ein Block in der Blockchain erstellt, der den Hash der E-Mail sowie ein Zeitstempel-Feld enthält.
    • Gleichzeitig wird ein persönliches Zertifikat generiert, das der Nutzer herunterladen kann. Dieses Zertifikat enthält den Schlüssel, der für spätere Logins benötigt wird.
    • Beim Login entschlüsselt der Nutzer mit seinem Zertifikat den Blockchain-Eintrag und weist so seine Identität nach.

    Wichtige Eigenschaften:

    • Kein Speichern von Passwörtern: Nutzer müssen keine Passwörter erstellen oder merken.
    • Dezentral und manipulationssicher: Die Blockchain macht den Prozess transparent und resistent gegen Manipulationen.
    • Privatsphäre: Da nur der Hash der E-Mail gespeichert wird, bleiben persönliche Daten geschützt.
    • Flexibilität bei Zertifikaten: Geht ein Zertifikat verloren, kann ein neuer Block für dieselbe E-Mail-Adresse erstellt werden, da der Hash immer identisch bleibt.

    Aktuell befindet sich das ganze noch in der frühen Alpha-Phase. Nutzer können Blöcke erstellen und mit ihren Zertifikaten arbeiten, um die Grundfunktionen zu testen. Da die Sicherheit des Systems oberste Priorität hat, empfehle ich aktuell die Nutzung von Wegwerf-E-Mail-Adressen, da der Dienst noch nicht für produktive Umgebungen bereit ist.

    Da das ganze noch so früh in der Alpha Phase ist und ich nicht sicher bin ob dieses Konzept überhaupt funktioniert, würde ich gerne hier meine idee preisgeben und eure Meinungen dazu hören, eventuell auch die ein oder anderen finden die mit an dem projekt arbeiten möchten.

    Testen kann man das ganze hier: https://sml.smartli.me/und auf meinem kleinen social network habe ich dafür eine Login Funktion erstellt vibx.social/index.php und hier gibt es gute wegwerf mails https://muellmail.com/

    Ich finde die Idee hat potential wenn sie gut umgesetzt wird.

    Viele Grüße
    Andy

  • Persönlich halte ich nichts davon, da Blockchain als Technologie viel zu viel Overhead erzeugt und man sollte auch den Stromverbrauch der Technologie bedenken.

    Da sehe ich Passkeys als bessere Alternative.

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • Du hast zwei Optionen:

    1. Du kannst die Blockchain selbst herunterladen und die Verifizierung eigenständig durchführen.
    2. Alternativ kannst du eine API-Authentifizierungs-URL aufrufen (wie es auf Vibx zu sehen ist) und erhältst bei erfolgreicher Zertifizierung den Datenblock als Hash.

    Edit: Versuch es einfach mit einer Wegwerfmail. Dann siehst du es.

    Syntafin Aber eine Blockchain ist wesentlich sicherer, da du die Blöcke ja nicht mehr bearbeiten kannst ohne das er ungültig wird.

    Ziel von dem ganzen ist es, nicht mehr die mail zu nutzen, sondern einen hash davon. Ich denke viele Leute schrecken davon ab ihre mail irgendwo einzugeben da sie bedenken haben das damit irgendwelche Schandtaten getrieben werden.

  • Klingt ziemlich interessant!

    Zugegebenermaßen kenne ich mich mit Blockchain nicht so gut aus, aber das sind trotzdem für jeden Login einzelne Authentifierungsschlüssel die generiert werden oder?

    Sprich ich kann mich dann nicht mit meinem Zertifikat von Instagram hier im Forum anmelden. Es verhält sich trotzdem wie ein Passwort pro Projekt, also ist nicht die E-Mail Adresse der Key zum Zertifikat?

    Will es nur verstehen^^

  • Du könntest dich mit einem Schlüssel anmelden, solange dieser gültig ist. Offensichtlich auf den Plattformen die den Login damit anbieten. Solltest ich das Projekt weiter verfolgen (abhängig vom Interesse), könnten diese Schlüssel entweder als obsolet markiert werden oder der Datenblock könnte Informationen enthalten, die angeben, wie viele Tage, Stunden oder Minuten der Schlüssel noch gültig ist. Wenn diese Zeit abgelaufen ist, wird der Schlüssel ungültig und ein neuer muss erstellt werden.

  • Aber eine Blockchain ist wesentlich sicherer, da du die Blöcke ja nicht mehr bearbeiten kannst ohne das er ungültig wird.

    Ziel von dem ganzen ist es, nicht mehr die mail zu nutzen, sondern einen hash davon. Ich denke viele Leute schrecken davon ab ihre mail irgendwo einzugeben da sie bedenken haben das damit irgendwelche Schandtaten getrieben werden.

    Den Mehrwert an Sicherheit sehe ich nicht, liegt aber vielleicht daran das ich weiß wie man sie aushebelt...

    Für Otto-Normal mag es sicher zu sein, aber den Overhead sieht wohl niemand dabei.

    Und Blockchain heißt nicht gleich Datenschutz freundlich, denn mit Hash werten kann man jetzt schon arbeiten, gerade wenn man sich mal anschaut wie Passkeys arbeiten, kann man darauf verzichten eine Email überhaupt zu haben.

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • Den Mehrwert an Sicherheit sehe ich nicht, liegt aber vielleicht daran das ich weiß wie man sie aushebelt...

    Für Otto-Normal mag es sicher zu sein, aber den Overhead sieht wohl niemand dabei.

    Und Blockchain heißt nicht gleich Datenschutz freundlich, denn mit Hash werten kann man jetzt schon arbeiten, gerade wenn man sich mal anschaut wie Passkeys arbeiten, kann man darauf verzichten eine Email überhaupt zu haben.

    Naja der hash steht ja nicht im klartext im daten block, da dieser datenblock mit AES 256 verschlüßelt ist und für jeden block der erstellt wird, wird als passwort aus 64 chars erstellt. Im Screenshot siehst du wie lange ein Brute Force für dieses PW dauern würde.


  • Kenne die Blockchain jetzt nicht im Detail, aber mir ist noch nicht ganz klar, was der entscheidende Sicherheitsfaktor ist?

    Wird im Account dann der Hash gespeichert der auf der Blockchain steht oder wie verhindert man, dass jemand ein neuen Eintrag auf der Blockchain erzeugt mit meiner E-Mail Addresse und sich dann in den Account einloggt?
    Die Mail-Addresse kann ja im Zweifel jemanden bekannt sein. Heutzutage haben viele Password Manager bereits PassKey Support und Apple hat das auch bei sich in iOS und Co. integriert wenn man keinen eigenen Passwort Manager hat.

    Ansonsten wenn ich es wirklich sicher und Passwort-less haben will kann ich auch einfach mir einen YubiKey kaufen und per WebAuthn den Zugriff einrichten, wobei PassKeys ja bereits Password-less arbeiten.
    Ansonsten interessanter Gedanke.

    Musician, Programmer, Linux Geek and what not. more...

  • Es geht zunächst nicht um das Passwort, sondern darum, dass deine E-Mail-Adresse nicht im Klartext in der Datenbank der Website gespeichert wird. Der Betreiber der Website muss stattdessen den Hash deiner E-Mail-Adresse verwenden, um dich zu verifizieren.

    Der Vorteil dieses Ansatzes ist, dass niemand die E-Mail-Adresse in ihrer vollständigen Form verwenden kann. Selbst im Falle eines Datenlecks ist die tatsächliche E-Mail-Adresse nicht gefährdet, da nur der Hash in der Datenbank gespeichert wird. So bleibt deine E-Mail-Adresse geschützt und der Betreiber kann sicherstellen, dass keine persönlichen Daten im Falle eines Lecks in falsche Hände geraten.

  • Du erstellst ein neues Zertifikat. Der Hash von etwas ist immer das selbe. Das ändert sich ja nicht.

    Ja und genau darauf will ich ja hinaus. Ich erstelle ein neues Zertifikat als Angreifer, habe also nun ein Zertifikat welches "meine" E-Mail bestaetigt wenn ich mich auf Seite XY einlogge.
    Weil das Passwort der Zertifikats-Datei vergebe ich ja bei der Erstellung ist aber fuer den Hash irrelevant oder uebersehe ich hier etwas?

    Musician, Programmer, Linux Geek and what not. more...

  • Okay und wie stellt man sicher, dass wenn ich die Zertifikats-Datei verliere

    Ich frage mich bei dem Ansatz vor allem wie sichergestellt wird das das sogenannte Zertifikat nicht kopiert wird, ähnlich der Vorgehensweise wie man NFTs ja kopieren kann und entwertet.

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • Verstehe. Dann muss der Nutzer sicherstellen, dass sein E-Mail Konto ausreichend geschuetzt ist under der Mail-Server des Auth Servers ebenfalls korrekt aufgesetzt und gesichert ist.
    Die Antwort auf Syntafin's Frage ist: Passwort-Datei (also Keystore) mit einem ausreichend sicheren Passwort (min 32 characters) sichern und somit kann selbst bei einem abgreifen der Datei kein direkter Login erfolgen.

    Musician, Programmer, Linux Geek and what not. more...

  • Die frage der Sicherheit ist ja genau das warum ich diese Diskussion starte. An sich ist es schon sehr sicher, solange niemand an das Zertifikat kommt. Man könnte das ganze wie bereits erwähnt nur eine gewisse anzahl von minuten / stunden / tagen gültig machen und dannach verliert es seine gültigkeit.

  • Als angreifer musst du die mail ja bestätigen, was du nicht kannst ohne zugriff auf den mail account zu

    Halt stop!!!! Du denkst ernsthaft Email sei eine sichere Methode?

    Also kann ein jeder mit deinem System den Account eines anderen verwenden, wenn er die verwendete E-Mail-Adresse kennt.... Gut zu wissen!

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!