AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Library: Internet / LAN / ASP.NET Delphi Secure Remote Password Protocol
Thema durchsuchen
Ansicht
Themen-Optionen

Secure Remote Password Protocol

Ein Thema von negaH · begonnen am 5. Okt 2005
Antwort Antwort
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#1

Secure Remote Password Protocol

  Alt 5. Okt 2005, 01:35
Hi Leute,

Anbei eine DLL mit der das Secure Remote Password Protocol, kurz SRP, durchgeführt werden kann.
Dabei geht es darum das sich registrierte Clients bei einem Server einloggen können, dort sicher authentifiziert werden und anschließend mit dem Server ein gemeinsammes geheimes Passwort austauschen. Mit diesem Passwort werden dann alle nachfolgenden Datenübertragungen verschlüsselt.

Die DLL "SRPx.dll" enthält nun eine Schnittstelle basierend auf Interfaces und kann auch in anderen Programmiersprachen, die COM Datentypen unterstützen, benutzt werden.

Implementiert wurde mein Counter-SRP. Dies ist eine Weiterentwicklung vom originalem SRP-6 wie man es im Internet findet. Es gibt einige relevante Unterschiede zum SRP-6a:

- sicherer
- Client kann live sein Password ändern ohne Neuregistration wie beim SRP-6a
- der Passwordverifier und Salt ändern sich bei jedem Login, statt wie beim SRP-6a einmal fixiert und starr
- durch einen Counter kann der Client überprüfen ob eine gegebenfalls erfolgreiche Brute Force Attacke stattgefunden hat

Als Beispiel zu Benutzung der DLL habe ich zwei Projekte beigepackt. Beide basieren auf den INDY TCP/IP Komponenten und demonstrieren jeweils einen Server und einen Clienten. Ihr müsst also sicherstellen das eure Firewall nicht blockt.

Die ZIP muß mit relativen Ordnern entpackt werden. Danach startet ihr Server.exe und Client.exe. Zuerstmal müsst ihr beim Server einen Benutzer registrieren. Dazu klickt ihr auf den "Register Client" Button, gebt in der InputBox() den Namen ein. Ihr seht dann im Edit daneben einen Registrations-Code bzw. das erste zu benutzende Password. Wie ihr diesen Registrationsvorgang in eurem eigenen Projekt automatisiert könnt ihr nochmal genauer erfragen.

Nun wechselt ihr zur Client.exe, gebt dort den gleichen Namen ein und im ersten Password Feld kopiert ihr einfach per Einfügen den Registrations-Code. Im zweiten Password Edit müsst ihr nun das neue Password definieren, also euer in Zukunft gültiges. Dann einfach Login Button drücken und in beiden Passwordedits das neue Password eingeben.
Das Prinzip sollte klar geworden sein. Das neue Passwort wird durch einen erfolgreichen Login immer autom. zum aktuellen Passwort.

Ihr könnt nun die Sourcen erweitern um noch mehr Daten verschlüsselt zu übertragen. Oder ihr konnt eure eigene ISRPDatabase Klasse coden um die User Datensätze auf dem Server zb. in einer SQL Datenbank zu speichern.

Die DLL basiert auf meinem neuesten Delphi Encryption Compendium.

Gruß Hagen
Angehängte Dateien
Dateityp: zip srp_903.zip (630,6 KB, 269x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz