Also, das SRP ein schlechtes Protokoll sein soll davon höre ich zum ersten mal. Es wird eher so sein das Kerberos ein so veraltetes Protokoll ist das sich moderne Algortihmen nicht integrieren lassen. Wenn du dir ein fundiertes Urteil bilden möchtest dann schau in den Newsgroups bei news.scicrypt rein.
Ich kenne mich ein bischen mit Kryptographie aus und kann dir folgendes versichern:
1.) SRP ist ein sehr modernes und sehr sicheres Protokoll. In fact ist es die beste Lösung für ein Passwort basiertes Authentiifkations- und Schlüsselaustauschprotokoll. Besser als jede Lösung wie zb. SSL,
SSH oder so. Allerdings muß man immer sehr differenzieren und die verknüpften Zielsetzungen für ein Protokoll betrachten. Soll heisen das je nach Aufgabenstellung SRP zb. nicht mit SSL vergleichbar ist.
2.) egal welche Lösung du benutzt, schlußendlich wirst du immer ein Passwort auf Clientseite benutzen müssen. Es sei denn du benutzt eine Hardwarebasierte Authentifikation, zb. SmartCards (hat jeder Client ein SmartCard Reader und möchtest du dir den enormen Streß im Support antuen mit dem beschie..enen Microsoft SmartCard
API ??), oder zb. RSA-Cryptotoken-ID (vertraust du einem nicht veröffentlichtem und prohibitärem Algorithmus dessen Sicherheit nicht verifizierbar ist??).
3.) baust du auf APIs wie MS CryptoAPI so wirst du noch viel weniger Einblicke in die reale Implementierung bekommen. DU musst also noch viel mehr darauf vertrauen das alles sicher ist und du kannst es eben nicht selber verifizieren, du hast ja die Sourcen nicht. Im Falle meiner SRP Implementation kannst du
a.) die Sourcen von mir einsehen
b.) das SRP Verfahren als Algorithmus im WEB nachschauen, es ist alles vollkommen veröffentlicht
c.) auf den einschlägig als fachfundiert bekannten Seiten wie scicrypt Analysen vom SRP von Experten nachlesen
d.) bei bekannten secret Startwerten jeden Berechnungsschritt meiner SRP Implemenation selber in einer eigenen Implementierung nachberechnen und somit reproduzieren und ergo als sicher verifizieren. Das wirst du mit SmartCards, RSA TokenIDs niemals können denn diese sind einbruchsichere Hardware und du musst immer dem Hersteller trauen. Nur nebenbei bemerkt, wenn du mein DECMath samt Beispielen downlodest dann wirst du dort ein Beispeiel eines "forged RSA" finden. Dieses demonstriert einen absolut korrekten und äußerlich sicheren RSA Algorithmus, der aber denoch auf Grund seiner Schlüsselerzeugung durch den "Wissenden" sofort geknackt werden kann. D.h. derjenige der die Schlüsselerzeugung programmiert hat kann von jedem RSA Schlüssel (nur dem öffentlichen Teil wohl bemerkt) sofort diesen Schlüssel knacken, obwohl diese Schlüssel ansonsten identisch sicher zu normalem RSA sind !! Das bedeutet, kennst du die RSA Implementierung die im MS CryptoAPI real benutzt wurde NICHT als Source so kannst du deren RSA garnicht mehr vertrauen. Denn ich habe bewiesen das es Möglichkeiten für die RSA Implementierung gibt die einen verdeckten Kanal einrichten und so deren erzeugte RSA Schlüssel sofort brechen kann. Das es sowas gibt, geben muß, ist ein offenes Geheimnis.
Nun der Geck
was grlaubst du worauf die meisten Digitalen Signaturen/Authentifizierungen, wie zb. SSL/
SSH bauen ? auf RSA !
SPR arbeitet nicht mit dem Faktorizationsproblem wie RSA, sondern auf dem Problem der Logarithmen und deren Inversionen. SRP arbeitet also mit einem abgewandelten Diffie Hellman Verfahren. Es gibt sogar SRP Varianten die in Elliptischen Kurven arbeiten, was ich für noch besser halte. Bisher habe ich aber meine Elliptische Kurven Version vom SRP noch nicht fertig bekommen
Gruß hagen