Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8009[/thread]

Sichere Client-Server Verbindungen: mittels IO::Socket::INET



<< >> 10 Einträge, 1 Seite
bloonix
 2006-05-23 11:32
#66416 #66416
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Hallo Leute,

ich bastel gerade an einer Client-Server Verbindung mittels
IO::Socket::INET. Nun habe ich zwei Prozesse, die sich auch
wunderbar miteinander unterhalten können, mein einziges
Problem ist die Sicherheit der Verbindung. Es sollen nur ganz
bestimmte Clients berechtigt sein, einen Request an den
Server zu senden. Es ist sozusagen eine Peer2Peer Verbindung.
Ich habe eine Konfigurationsdatei in der steht, welcher Client
berechtigt ist, eine Anfrage zu senden und mit "peerhost()"
führe ich meine Prüfung durch, aber das ist mir noch zu wenig.

Ich habe mir gedacht, dass zu jeder Anfrage an den Server
ein sehr langer Key zur Authentifizierung mitgesendet wird,
aber jeder, der diese Verbindung abhört, wird den Key heraus
bekommen können.

Ein Request schaut zum Beispiel so aus:

authentification_key;my_request_1;my_request_2;my_request_3

Dieser Request wird von mir geparst und in seine Bestandteile
gesplittet, wenn peerhost() oder der Key falsch ist, wird ein
__ACCESS_DENIED__ zurückgesendet.

Ist das sicher genug? Könnte ich das noch sicherer gestalten?

Und wenn der Client einen Auth.-Key zum Server sendet, dann
müsste der Server doch auch den Auth.-Key mit seiner
Antwort senden, damit sich niemand dazwischen schummelt...
sehe ich das richtig?

Viele Grüße,
opi\n\n

<!--EDIT|opi|1148369770-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
esskar
 2006-05-23 13:42
#66417 #66417
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
benutz CPAN:IO::Socket::SSL
dann kannst jedem client ein zertifikat geben und der server macht dann client authentifizierung über diese zertifikate.
bloonix
 2006-05-23 15:43
#66418 #66418
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
@esskar, mit anderen Worten müsste ich mich dann nur noch
um die Client-Adresse kümmern, ob sie Requests starten darf?
Oder ist das Zertifikat dann an den Client gebunden und ich
muss überhaupt nichts mehr machen?

Ich werde mir das Modul mal näher anschauen. Danke.
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
GwenDragon
 2006-05-23 15:46
#66419 #66419
User since
2005-01-17
14554 Artikel
Admin1
[Homepage]
user image
Clientzertifikat ist an Client gebunden. Jeder Client der das Zertifikat besitzt, darf dann per SSL connecten.
Er authentifiziert sich ja dadurch.
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

bloonix
 2006-05-25 22:37
#66420 #66420
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
ich suche nun schon seit stunden nach einer guten technischen ssl
dokumentation, die ziemlich genau beschreibt, wie der austausch von
public keys über zertifikate funktioniert. desweiteren das verschlüsselung-
verfahren, private key, public key... in allen doku's, die ich bisher gelesen
habe, werden all diese schlagwörter nur oberflächlich angeschnitten, was
mir absolut zu wenig ist! desweiteren habe ich bisher nur etwas über
zertifikate über einen ca in erfahrung bringen können, aber nichts bzgl.
client- und serverzertifikate, wie sie mit IO::Socket::SSL ausgetauscht
werden.

ich begrüße alle links mit detailierter technischer beschreibung.\n\n

<!--EDIT|opi|1148582501-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Thorium
 2006-05-25 23:06
#66421 #66421
User since
2003-08-04
232 Artikel
BenutzerIn
[Homepage] [default_avatar]
Die Zertifikate werden nicht über die Applikation verteilt sondern schon vorher - sonnst wäre das ganze Prozedere ja Sinnlos.
Die Zertifikate dienen dazu den Client zu identifizieren - welcher Sinn hätte solch ein Zertifikat, wenn der Server es sowieso jedem Client schickt?
Die Zertifikate musst du vor dem Connect über einen Sicheren Weg zum Client bringen - am besten physisch auf einem Datenträger. Jegliche elektronische Variante über das Internet könnte die Sicherheit kompromitieren. Verschlüsselte E-Mails sind erlaubt solange sie z.B. mit GPG verschlüsselt und entschlüsselt werden.
Per|li|nist der; -en, -en <zu ↑...ist>: a) Anhänger, Vertreter der radikalen Perlinisten die Perl als die einzig wahre Sprache ansehen; b) Mitglied einer perlinistischen Community.
bloonix
 2006-05-25 23:21
#66422 #66422
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
@Thorium, du hast meinen Thread nicht verstanden :)
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Dubu
 2006-05-26 01:49
#66423 #66423
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Wikipedia:Transport_Layer_Security

Wenn der Artikel alleine nicht reicht - da sind noch genügend Links drin, bis hin zu den entsprechenden RFCs.
bloonix
 2006-05-26 03:34
#66424 #66424
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=Dubu,25.05.2006, 23:49]Wikipedia:Transport_Layer_Security

Wenn der Artikel alleine nicht reicht - da sind noch genügend Links drin, bis hin zu den entsprechenden RFCs.[/quote]
jo, den artikel hatte ich schon gelesen, allerdings habe ich die weblinks
übersehen... da habe ich was zu beißen... danke :)
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
esskar
 2006-05-28 04:56
#66425 #66425
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
klappt das jetzt?
<< >> 10 Einträge, 1 Seite



View all threads created 2006-05-23 11:32.