2009-04-24 4 views
1

Im Moment baue ich eine persönliche Seite/Blog und habe es so, wie ich will, außer ich bin in zwei Gedanken darüber, wie man Beiträge hinzufügen kann.Site Admin ohne Benutzername und Passwort

Es ist nur ich, die Beiträge hinzufügen wird und mir ein Benutzer/Name Passwort zum Einloggen scheint eher passé;).

Ich bin auf der Suche um Alternativen um und Experiment zu spielen und eine Idee, die ich habe, ist dies:

generieren einen asymmetrischen Schlüssel, halte ich persönlich die privaten und die Seite hat den öffentlichen Schlüssel. Wenn ich versuche, einen Beitrag hinzuzufügen oder einen Inhalt zu ändern, generiert die Website eine zufällige Zeichenfolge, verschlüsseln Sie sie mit dem öffentlichen Schlüssel und zeigen Sie sie an. Ich entschlüssele dies mit einer kleinen App, die ich zusammen peitschen könnte, und gebe die unverschlüsselte Zeichenfolge zurück an die Site, wodurch die Änderung fortgesetzt werden kann.

Ich frage mich nur über irgendwelche Vorbehalte, auf die ich achten sollte, oder wenn jemand denkt, dass das eine schlechte Idee ist, vielleicht eine Alternative, die ich versuchen könnte?

Antwort

7

Warum haben Sie nicht nur einen Benutzernamen und ein Passwort und lassen Sie Ihren Webbrowser sich die Anmeldung merken oder senden Sie ein Authentifizierungs-Cookie zurück, das nicht abläuft. Verwenden Sie ein selbstsigniertes SSL-Zertifikat, um den Kommunikationskanal zu sichern. Wenn Sie einen öffentlichen/privaten Schlüssel crypto verwenden möchten, richten Sie einfach einen SSH-Tunnel ein und posten Sie ihn von localhost auf Ihrem Server. Vertrauen Sie mir, es ist besser, bekannte gute Krypto/Sicherheit wieder zu verwenden, als zu versuchen, Ihre eigenen zu rollen.

+1

Definitiv die vernünftigste Antwort .... aber am wenigsten Spaß;) – TWith2Sugars

1

Ich denke, der asymmetrische Schlüssel ist eine elegante Lösung - aber ein Benutzername/Passwort wird mit ziemlicher Sicherheit einfacher zu implementieren sein.

Wenn Sie Ihre eigene Website erstellen, dann tun Sie es nur für Tritte (sonst würden Sie WordPress, Drupal, Django usw. verwenden), also warum nicht die Dinge anders machen?

Sie könnten feststellen, dass Ihre KeyMat-App umständlich sein kann, wenn Sie bloggen möchten, aber ohne die Mittel, sich zu identifizieren.

Aber, das sagte, @Kurt hat die richtige Idee für Crypto - DIY wird mit ziemlicher Sicherheit schlimmer sein als etwas, das bereits erprobt ist.

0

Eine der weisesten Aussagen, die ich je über Sicherheit gehört habe, war "versuche nicht, es neu zu erfinden".

Online-Sicherheit hat so viele Iterationen durchlaufen, dass es sehr wahrscheinlich ist, dass jede gute Idee, die Sie sich vorstellen, einen Fehler aufweist, der zuvor gefunden, berücksichtigt und behoben wurde.

Wenn Sie "lockere" Sicherheit wünschen, sichern Sie Ihre Site mit einem Benutzernamen und einem Passwort. Wenn Sie "starke" Sicherheit wünschen, stecken Sie ein SSL-Zertifikat darüber. Wenn Sie "Bank" -Sicherheit möchten, fügen Sie Anti-Tastenanschlag-Sicherheit hinzu.

3

Warum nicht einen Schritt weiter gehen und die verschlüsselte Zeichenfolge in die URL eingeben?

Zum Beispiel das aktuelle Datum und die Uhrzeit in eine Zeichenfolge umwandeln - z. 0904240905 - Verschlüsseln Sie es mit Ihrem privaten Schlüssel und fügen Sie dieses einer URL hinzu, z. http://yoursite.com/admin/dksjfh4d392s wobei dksjfh4d392s die verschlüsselte Zeichenfolge ist. Ihre Site verfügt dann über ein Servlet, das die verschlüsselte Zeichenfolge aus der URL extrahiert, sicherstellt, dass es zu einem späteren Zeitpunkt entschlüsselt und Ihnen dann einen Sitzungscookie gibt, während Sie Admin-Aufgaben ausführen können.

+0

+1 gute Idee, außer Sie müssen eine App oder etwas erstellen, um die URL auf dem lokalen Rechner zu generieren. –

0

SSL-Client-Zertifikate tun dies trotzdem. Warum nicht einfach eines davon benutzen?Der Hauptgrund, warum mehr Leute keine SSL-Client-Zertifikate verwenden, ist, dass sie ein administrativer Albtraum sind - Sie müssen die Endbenutzer dazu bringen, Schlüssel zu erstellen, dann ihre Zertifikate zu signieren und dann sicherzustellen, dass die Endbenutzer sie nicht benutzen. Sie verlieren ihre Schlüssel (wenn sie ihren Laptop verlieren, upgraden auf ein neues Betriebssystem usw.), was sie normalerweise tun, also müssen Sie YET MORE-Zertifikate signieren, wenn die Endbenutzer ihre privaten Schlüssel verlieren.

Verwandte Themen