Authentifizierung der User auf bplaced seite

Moin,
möchte gerne so etwas wie ein Arbeitszeitberechner mit PHP und SQL machen, wo der User seine Zeiten eingibt und das Programm das einträgt und dann Ist/Soll usw. anzeigt.

Das ganze soll natürlich passwortgeschütz sein.

Das birgt aber folgendes Problem:
Wenn mir jemand (s)ein Passwort anvertraut, möchte ich das so sicher wie möglich vor Crackern schützen.

Mein Kumpel hat “rsa auth. Asymmetrische Verschlüsselung durch Javascript auf Browser Seite” empfohlen.

Was meint ihr? Gibt es bessere? Wenn nein, kennt wer ne möglichst einfache Implementierung?

PS:
Sollte man eigentlich vorsichtshalber auch die eMail Adresse schützen?
(Mail Versand wird die nächste Baustelle XD)

Hallo,

Erste Frage: Hast du bereits irgendetwas, wie wordpress oder so installiert?
Zweite Frage: Hast du schon mal was mit php i.V. mit mysql gemacht?
Dritte Frage: Wenn ja: Gebe ich dir zwei Wörter zum googlen: php + salt oder das habe ich hier schon im Forum beschrieben: Mein Beitrag.
Viertens ein Tipp: Pass auf, wie du php verwendest, denn z.b. wird 123 == “123irgendwas” zu true ausgewertet; damit kann es passieren, dass dein Hash erraten wird, wenn der Angreifer eine Zahl eingibt; du solltest demnach zwei Strings, “123” != “123irgendwas” vergleichen.

Email-Adresse verschlüsseln halte ich für unnötig, denn es gibt sogar Leute, die keine Müll-Email für Facebook verwenden und dann noch ihre Freunde mit dem Freundschaftsfinder einladen.

Wenn du ziemlich sicher gehen willst, stell dir einen Server hin, generier dir ein eigenes Zertifikat und versende deinen öffentlichen Schlüssel per Post, damit der Nutzer manuell abgleichen kann (und dafür ist der Chrome zu doof). Kleiner Scherz am Rande.

Ich freue mich heute auf die 30C3.

@Moderator: Bitte in das php-Forum verschieben. Danke

Die Passwörter würde ich so speichern: ash_hmac(‘sha512’, §pw, $salt);

Die Frage ist für mich eine andere.

Wie schließe ich eine Man in the middle attacke aus?

Und da hat mein Kumpel rsa auth. Asymmetrische Verschlüsselung durch Javascript auf Browser Seite empfohlen.
Wollte einfach fragen ob jemand ne einfache möglichkeit kennt das zu realisieren.
(Vorgefertigtes Script usw.)

Da keiner antwortet…
Vorneweg: Ich bin wahrlich kein! Sicherheitsexperte.

Wie willst du “Man in the middle” unterbinden? Postiert sich der Angreifer strategisch “günstig” (z.B. wichtige Knotenpunkte), hat er theoretisch die Möglichkeit.

Ja, es gibt die Möglichkeit, nämlich https, aber wie wir wissen, ist es für gewisse Einrichtungen auch dann möglich; nämlich z.B. einfach Leute von Zertifizierungsdiensten bestechen :wink: und auch andere Dinge sind natürlich auch möglich.

Ich habe nach deinem “rsa javascript” im Internet gesucht, aber ich verstehe nicht, wie das funktionieren soll? Vielleicht kann mir das irgendjmd erklären? Denn mir ist nur https und, wie es funktioniert, bekannt (naja SSH, etc kenne ich auch, aber da muss man ja den Schlüssel des Partners kennen) und da passiert ja die Autentifizierung und Verschlüsselung auf der Transportschicht; also naja, es gibt darin nocheinmal nochmal ein par Mal die 7 Schichten, denn irgendwie müssen vorher die Schlüssel bzw. der verschlüsselter Text geprüft werden (siehe Flussdiagramm), womit dann die SSL-Verbindung dann aufgebaut wird.

Naja, es setzt auf asyncrone Verschlüsselung.

=>
Mit einem öffentlichen Schlüssel vom anderen kann ich verschlüsseln aber nicht entschlüsseln.
entschlüsseln kann nur der Besitzer selber mit seinem privaten Schlüssel.

Mit seinem privaten Schlüssel kann er auch signieren um zu sagen, das kommt definitiv von mir (was mit dem öffentlichen Schlüssel kontrolliert werden kann)

Wenn man das beidseitig einrichtet sollte das schon ne ganz gute Geschichte sein :wink:

Ich glaube ich lass das erstmal…

ich weiß, wie es funktioniert…
ich meinte in Verbindung mit Javascript, denn Javascript ist nicht Teil des Schichtenmodells, sondern lediglich ein Inhalt / Text der Anwendungsschicht. Deshalb habe ich keine Ahnung wie das mit Javascript funktieren soll. Mir geht das nicht in den Kopf

Ich denke dafür ist schon ein Browser Addon nötig. Ich bezweifle das JavaScript alleine die Rechte hat auf private Schlüssel aus GnuPG/PGP etc. zuzugreifen.

Kann man nicht einen neuen Schlüssel generieren, muss ja nicht unbedingt der Schlüssel des Users sein (Meine User kennen sowas sowieso nicht^^)

Hmm, kann es sein das ash_hmac('sha512', §pw, $salt); bei bplaced nicht geht?

Da ich nicht weiß, ob admins hier mitlesen, mach ich mal vorsichtshalber nen Support-Ticket auf.

€dit:
ok, mein Fehler
hash_hmac XD

Vielleicht ist openpgp.js ja etwas das du nutzen kannst:
openpgpjs.org/

Die haben da ein kleines Beispiel, welches eine Nachricht verschlüsselt.
openpgpjs.org/openpgpjs/resources/example.html

Die Anwendung scheint ziemlich simpel zu sein:
openpgpjs.org/openpgpjs/resources/example.js