https:// - wie macht man eine sichere Website?

Selbst schreiben rentiert sich nicht. Inzwischen gibt es für fast alles irgendwelche Funktionen und Klassen. Such z.B. mal bei phpclasses.org. Da könntest du fündig werden und auch Google wird bestimmt was finden.
Ansonsten scheinst du da irgendwas zu verwechseln. Javascript läuft i.d.R. nur auf dem Client Rechner, während PHP ausschließlich auf dem Server läuft. Ohne PHP kannst du dabei gar nichts anfangen, denn wie willst du sonst die DB ansprechen?
 
2. Du brauchst, wie schon erwähnt, ein Zertifikat. Dieses Zertifikat kannst du
- selbst erstellen (Zertifikat-Anfrage => Certificate Request = CR) und anschließend
- selbst unterschreiben => dann kommt bei Verbindungsanfrage eine Warnung, dass das Zertifikat von keiner vertrauenswürden Stelle unterschrieben wurde, [...]
Allerdings ist zu bedenken dass jeder ein selbst "unterschriebenes" Zertifikat erstellen kann.
Dem Anwender ist es nicht möglich die Echtheit eines solchen Zertifikats zu prüfen.
Da es sich bei der Schweigepflicht zweifellos um ein sensibles Thema handelt, könnte ich mir vorstellen dass ein Richter ggf. grobe Fahrlässigkeit bei der verwendung eines selbst unterschriebenen Zertifikats vorwerfen wird.
Ich kenne mich mit dem Steuerrecht zwar nicht aus, aber evtl. kann der Arzt die Kosten für das Zertifikat ja auch als Betriebskosten von den Steuern absetzen.
Ein Steuerberater sollte dazu kompetente Auskunft geben können.
 
Beim Java Script habt ihr mich falsch verstanden. Ich wollte die Daten mit PHP aus der Datenbank auslesen (verschlüsselt) und sie erst im Browser des Benutzers entschlüsseln. Aber wahrscheinlich ist das keine gute Idee.

Wenn ich denn jetzt eine sichere Verbindung habe (HTTPS), dann ist die Datenübertragung abhörsicher? Also nur der Endnutzer kann die Daten sehen, sowie alle, die ein Passwort entweder zur Datenbank (der Arzt, der Hoster und ich) oder zum Benutzerbereich des Programmes (Arzt, Patient) haben.
Wäre es dennoch sinnvoll, die Daten in der Datenbank zu verschlüsseln UND eine gesicherte Datenübertragung zu haben?
 
Eine gesicherte DatenÜBERTRAGUNG ist, wie der Name schon sagt, nur für die ÜBERTRAGUNG zuständig. Ansonsten könnte jeder, der Zugriff auf die Datenbank hat, also Systemfuzzies beim Provider, böse Jungs (Hacker) usw., die Daten auslesen******

Du läßt ja auch nicht den Safe offen, nur weil die Haustür abgeschlossen ist.
 
Beim Java Script habt ihr mich falsch verstanden. Ich wollte die Daten mit PHP aus der Datenbank auslesen (verschlüsselt) und sie erst im Browser des Benutzers entschlüsseln. Aber wahrscheinlich ist das keine gute Idee.

Definitiv nein, das ist keine gute :-)

Wenn ich denn jetzt eine sichere Verbindung habe (HTTPS), dann ist die Datenübertragung abhörsicher? Also nur der Endnutzer kann die Daten sehen, sowie alle, die ein Passwort entweder zur Datenbank (der Arzt, der Hoster und ich) oder zum Benutzerbereich des Programmes (Arzt, Patient) haben.

Ich sag mal ja, aber das hängt natürlich davon ab, wie groß die Bittiefe des Schlüssels ist. RSA256 ist IMHO geknackt. Er sollte mindestens 1024 besser 2048 Bit sein. Je geringer die Bittiefe, um so höher die Wahrscheinlichkeit, das jemand den Datenstrom mitlesen kann. Aber lass dich jetzt nicht verwirren, RSA ist sehr sicher :-) - zu mindest so lange, bis einer eine geniale Idee zur Primzahl-Faktorisierung hat. Falls dich das näher interessiert: ISBN10 3423330716.

Wäre es dennoch sinnvoll, die Daten in der Datenbank zu verschlüsseln UND eine gesicherte Datenübertragung zu haben?

Ja in deinem speziellen Falle UND ja. Wenn du noch einen Schritt weiter gehen willst, kannst du auch das Logging abschalten, damit die Patienten selbst auch anonym bleiben.
 
Wäre es dennoch sinnvoll, die Daten in der Datenbank zu verschlüsseln UND eine gesicherte Datenübertragung zu haben?
Ich will es mal so sagen: solange Du keine gesicherte Verbindung nutzt, kannst Du Dir genausogut jegliche weitere Sicherheitsmassnahme ersparen.
Oder um es mal mit Sprints Worten zu formulieren: wenn Du HTTPS nicht nutzt, hast Du zwar die Haustür verschlossen, aber irgendein Dummbatz hat den Notausgang offen stehen gelassen. ;)
Schliesslich gehe ich davon aus dass der Arzt bzw. der Patient sich zur Einsicht der Daten bzw. zum anlegen der Daten vorher identifizieren muss.
Z.B. in dem ein Benutzername und Passwort eingegeben werden müssen (Login).
Ohne HTTPS werden Benutzername und Passwort unverschlüsselt übertragen und können "abgehört" werden.
Was dann geschehen kann, brauche ich wohl nicht weiter zu erwähnen?! ;)

Grundsätzlich gilt: zuviel Sicherheit gibt es nicht, nur zu wenig.

[edit]
Was das Logging betrifft, meint Saftmeister sicherlich die Loggingfunktion die per default jeder Webserver durchführt.
Zur Scheigepflicht eines Arztes gehört es auch keine Auskunft darüber zu geben wer bei ihm in Behandlung ist.
Die IP ist zwar nicht zwangsweise einer bestimmten Person zuzuordnen, jedoch zumindest dem jeweiligen Anschlussinhaber..... und darüber könnte u.U. eine bestimmte Person ermittelt werden.
Aus Datenschutz- und Schweigepflichtrechtlicher Sicht könnte es also möglicherweise ein Problem sein die Zugriffe vom Server mitloggen zu lassen.
Aber..... im Zweifel muss auch nachgewiesen werden können wer sich mit welchem Benutzernamen, welchem Passwort, an welchem Datum, zu welcher Uhrzeit und natürlich mit welcher IP eingelogt hat.
Daher würde ich mir eine eigene Loggingfunktion erstellen, welche (nur für den Arzt einsehbar) in der Datenbank gespeichert wird.
Diese Loggingfunktion würde ich sogar soweit ausdehnen, dass auch fehlgeschlagene Loginversuche festgehalten werden (schliesslich könnten sich dahinter ja auch böse Absichten verbergen ;)).
[/edit]
 
Zuletzt bearbeitet:
Okay, vielen Dank für die vielen Antworten!

Ich werde mir eine solche Zertifizierung/Lizenz besorgen und den Datenbankinhalt verschlüsseln.
 
Zurück