RSA Authentifizierung
-
Hey,
ich weiß noch nicht genau, ob ich hier richtig bin, aber vll kann mir jemande helfen.
Also ich scheitere gerade an einer RSA Authentifizierung.
Es geht um die Authentifizierung an einem Steuergeraet,
hierzu wurde die UserID 0x36323164 ans steurgeraet gesendet.DIe Zufallszahl 7B 82 B4 70 12 70 0E 2B kam zurueck.
Zur Authentifizierung wurde dann "00 00 00 10 33 25 E5 80 D5 31 55 42 21 D8 68 71 18 BB 96 7C 62 21 62 2F FB F4 F6 51 FF E0 A3 A5 87 84 9A 1E A7 55 28 77 96 2C 18" hingeschickt.
Das hier muesste der Private Schluessel sein (gut moeglich, dass vorne noch daten dranhaengen, die nicht zum schluessel gehoeren) AB0048963799059dab0dc955c43e741dd5815a7b96f25fb79c5735875f25c013764b02e8f99e3bf4acfd4b1813c86aa3ead80bef9cbc5f6f8e5b5a8cb4b4c097d0b2322f33339b4794938ecaad31caedac73d876de2e911bbfbab356ee500b29c135c2b01eb1cbd67927faaede3d854458974ddcbf6bd8b7b7a245a9af115f60e9e1a8a52657b760f58f45
Ich bekomme es einfach nicht hin die Schritte dazwischen nachzuvollziehen, dass ich eine passende Antwort zu einer anderen Zufallszahl schicken kann.
Das sollte aber doch mit all den bekannten Daten nicht so schwer sein - odr?
Ich hoffe hier kann mir jemande helfen!Gruß
-
Also, mir sagt das jetzt in der Form überhaupt nichts. Da musst schon in die Spezifikation von dem Gerät schauen.
-
Hey,
aber warum? Ich dachte es handelt sich hier um eine "ganz einfache" RSA Authentifizierung? Zufallszahl, Privaterschluessel und entschluesselte Zufallszahl ist bekannt, dachte daraus ließe sich relativ einfach rekonstruieren, was dazwischen ablaeuft?
Oder sehe ich das falsch?!
-
Es gibt unendlich viele Möglichkeiten, sowas zu implementieren...
-
„ganz einfach“ ist RSA auch nur auf dem Papier. Vernünftige Protokolle verbinden die RSA-Grundidee mit einem sicheren „Padding Scheme“. Eine sichere Implementierung ist auch nicht trivial. Am besten verwendest Du da soweit möglich vorgefertigte Bibliotheken.
Es klingt nach einem Challenge-Response-Protokoll. Du musst dadurch beweisen, dass Du im Besitz des privaten Schlüssels bist. Mit dem privaten Schlüssel „signierst“ Du die Challange, so dass das Gerät die „Signatur“ dann überprüfen kann.
-
d.h. ich habe quasi keine Chance nachzuvollziehen wie die Software aus der Zufallszahl die richtige Antwort macht? nichtmal wnen ich alle 3 Dinge (Zufallszahl, Antwort und privater Schlüssel) kenne?!
-
Du kannst doch mit der Zufallszahl und dem private key (oder was auch immer) machen was du willst. Du könntest die Zufallszahl als Seed nehmen und dann einen MD5 Hash machen. Oder einen SHA1 Hash. Oder du könntest die Zufallszahl mal 2 nehmen. Woher willst du das wissen? Wie gesagt, es gibt unendlich viele Möglichkeiten. Du könnest natürlich versuchen, ein Schema zu erkennen, aber ich finde das zu aufwändig und wenig erfolgversprechend, es sei denn das ist ein einfaches Schema und du bist ein Profi auf dem Gebiet.
-
Ich würde wenigstens versuchen, die Zufallszahl mit dem geheimen Exponenten im
entsprechenden Restklassenring zu potenzieren, mir die resultierende Zahl als
Byte-Salat ausgeben lassen und mit dem vergleichen, was eigentlich rauskommen
soll. Wie allerdings die RSA-Zahlen n und e bzw d in den Buchstabensalaten
kodiert ist, weiß ich nicht. Das kann eine Standardkodierung nach PKCS sein oder
eine eigene Frickellösung. Hast Du denn keine Doku von dem Protokoll?