Einzelnen Beitrag anzeigen

Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#11

Re: Authentifizierung im TCP/IP Netzwerk

  Alt 14. Aug 2009, 22:47
Hey Valle

Sorry, ich glaub, ich hab dich n bischen unterschätzt. Wenn du schon ein solches Protokoll schreibst,
hätte ich eigentlich wissen können, dass du schon mal mit ssh/scp gearbeitet hast.

Ich habe einen Vorschlag für ein Verfahren, das ich mal DoppelHashingVerifizierung nenne.


Client und Server teilen sich als Geheimniss eine Zahl (64bit int) (symmetrisches Verfahren), der Client hat eine ID.


Wenn der Client einen Befehl absetzen will geht er folgendermaßen vor: Sei P die Nachricht, die er senden will:
Hash(P)=H_1
Hash(H_1+Geheimniss)=H_2 // wobei das Plus nicht unbedingt als Addition gelesen werden sollte!

Client: "P H_1 H_2"

Der Server berechnet beide HashWerte und verifiziert den Befehl. Jetzt fängt jemand das Packet ab und will seinen eigenen Befehl schicken.

Er verändert P. Deswegen muss er auch H_1 verändern, da Hash(P)==H_1 vom Server kontrolliert wird.
Damit müsste er auch H_2 verändern, was er aber nicht kann, da er das Geheimniss nicht kennt.

Mit einem Hash würde es wahrscheinlich auch gehen, wäre aber nicht so einfach. Irgendwie müsstest du das Geheimniss in den Befehl einknoten, was dann der Server wieder rückgängig machen müsste, mit dem Doppelhash geht das eigentlich recht elegant.

Ich weiss nicht genau, ob das ganze wirklich sicher ist, aber vielleicht dient es als Ansatz.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat