phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?2=2Dway=2DVerschl=FCsselung=3F?=

[php] =?iso-8859-1?Q?2=2Dway=2DVerschl=FCsselung=3F?=

Kristian =?iso-8859-1?Q?K=F6hntopp?= kk_(at)_netuse.de
Tue, 05 Oct 1999 16:26:54 +0200


Michael Renner wrote:
> > $passwd = decrypt("hkvjhbewbhewbhbhewv", "decode_passwort");
> > # echo $passwd -> "geheim_aber_klartext"
> > $link = mysql_connect("host", "user", $passwd);
> >
> > In meinen Augen ist das nicht richtig ein Gewinn.
> Nun ja, was schlägst Du vor? Jeder im Haus kann sich hier
> einloggen. Die Datei ist lesbar für renner.nobody (und root natürlich).
> Aus Datenschutzgründen (die DB enthält viele personenbezogene
> Daten) soll das alles sicher gemacht werden. Ein 'verschleiertes' Passwort
> stellt zumindest eine Hürde dar.

Je nach verlangter Schutzstufe:

- Anwendung auf dediziertem Rechner laufen lassen.

oder

- Anwendung unter dedizierter UID mit CGI PHP laufen lassen,
  Rechte passend setzen.


Außerdem:

Anwendungen mit personenbezogenen Daten sollten ab einer bestimmten
Schutzstufe auch nur mit verschlüsselten Netzwerkverbindungen
arbeiten -> SSL Server einsetzen.

Anwendungen mit personenbezogenen Daten sollten ab einer bestimmten
Schutzstufe auf dedizierten Maschinen ablaufen; ggf. ist zu prüfen,
inwieweit die Systemverwaltung unberechtigt in die Daten Einsicht
nehmen kann -> Sondervergatterung, besonderer Admin mit besonderer
Schutzstufe/Ausbildung.


Was Du da oben verlangst ist eigentlich: "Ich habe eine verteilte 
Anwendung (Datenbankserver, Clientprogramme), deren Komponenten
sich gegeneinander authentisieren sollen. D.h. meine Datenbank
soll nur mit dem Originalclient reden und der Client soll nur mit
der Originaldatenbank reden." Letztendlich willst Du ja auch verhindern,
daß sich jemand den Client kopiert, modifiziert (etwa: Daten werden
angeziegt und zusätzlich weggemailt) und dann mit dem modifizierten
Client arbeitet. In einer feindlichen Umgebung (Angreifer hat auf
demselben Rechner wie ich einen Account und kann meine Dateien
lesen) kann das ein beliebig hartes Problem werden.

Entweder der Client und der Server können sich ein Geheimnis teilen
(geheimes Paßwort, daß nur die beiden kennen) - dann brauchst Du das
Paßwort nicht zu verschlüsseln. Oder die beiden können kein Geheimnis
teilen, weil jeder die Dateien kopieren kann. Dann muß der Server aber auch
mit Connects von gefakten Clients rechnen und es muß ein Mechanismus vorhanden
sein, um die Integrität des Clients zu überprüfen und zwar einer, der ohne
Geheimnis im Client auskommt (das könnte man sich ja kopieren). Das ist
sehr schwer, letztendlich müßte man das Client dann im Anwender speichern
(Kennworteingabe manuell).

Kristian

-- 
Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH
Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00
Using PHP3? See our web development library at
http://phplib.netuse.de/ (We have moved! Update your bookmarks!)


php::bar PHP Wiki   -   Listenarchive