Forum: Mikrocontroller und Digitale Elektronik SSP Smiley® Secure Protocol


von Manfred B. (fredl0511)


Lesenswert?

Hallo Forumgemeinde,

ich möchte gerne ein Interface für einen Hopper (Münzausgabegerät) 
programmieren welcher mittels SSP Protokoll mit der Host Maschine 
kommuniziert.

Meine Frage: Hat jedmand schon mal so ein SSP Protokoll ausprogrammiert?

Die Daten sollen auch noch mit einem 64Bit (teilweise auch 
128Bit)Schlüssel chiffriert werden(AES). Der Schlüsselaustauch soll dann 
mittels Diffie-Hellman Prinzip ausgetauscht werden.

Daten zum SSP Protokoll:http://www.vending-systems.com.ua/doc/ssp.pdf 
und des Hoppers: 
http://www.automated-transactions.de/documents/ga401.pdf

Check die Schlüsselgenerier bzw. Austauschprozedur nicht ganz.

Bin für jede Hilfe dankbar.

lg Manfred

von Hans H. (hanshein)


Lesenswert?

Ein DH generiert ein shared secret, wobei eine MITM Attacke
moeglich ist. Normalerweise (wie bei SSL, ssh) wird
eine Authentisierung vorgenommen (z.B. RSA) um eine MITM
auszuschliessen, oft zweiseitig (Client Zertifikate bei SSL,
Public Key Auth bei ssh client).

Ich habe mir die Referenzen nicht im Detail angesehen, aber
nach dem ersten Durchskimmen habe ich keine Authentisierung
gefunden, will heissen (sofern die Authentiserung fehlt):
komplett unsicher, da koennte man auch Klartext uebertragen!

Der DH ist uebrigens mit 10.Klasse Mathematik zu verstehen,
sofern man akzeptiert, dass man (mittels dem primen Generator g)
in einem Restklassenkoerper arbeitet und das "(mod g)"
beim Lesen/Verstehen einfach weglaesst.

Einfach die Exponentialgesetze mal nachsehen und dann den DH ;-)

Viele Gruesse,
Hans

von Manfred (Gast)


Lesenswert?

hallo hans,

ob das ganze jetzt 99.99%ig sicher ist, ist mir eigentlich jetzt egal, 
wie gesagt, das ganze ist ja schon erfunden worden.

Hilfreich wäre irgendein Code Schnipsel, hoff doch noch, dass wer mal 
was mit dem SSP zu tun gehabt hat und ein wenig "ausplaudert"...

Gruß Manfred

von M.B. (Gast)


Lesenswert?

Hallo Manfred,

bist du schon einen schritt weitergekommen?

von Manfred B. (fredl0511)


Lesenswert?

Hallo,

leider nicht sehr weit. Ich hatte einen Smart Hopper als Leihgerät bei 
mir, musste diesen aber wieder retour schicken. Ich hab gerade noch die 
AES Kodierung zusammenstricken können. Es handelt sich dabei um das eSSP 
Protokoll also 128 Bit AES + Diffie Hellman Schlüsselaustausch. AES wie 
gesat ok, da gibs was fast vorgekautes im netz, Diffie Hellman konnte 
ich nicht mehr machen, die 128 Bit Primzahlgenerieren (zufallszahl) hab 
ich noch nicht ganz durchblickt und obs mit nem 8-Bit µC überhaupt in 
annehmbarer Zeit funzt....

Wie weit bist du???

Gruß, manfred

von M.Gast (Gast)


Lesenswert?

Ich fange gerade quasi erst an, habe mir heute mal das ssp durchgelesen, 
bilde mir ein den deffie hellmann verstanden zu haben, zumndest die 
vorgehensweise.
Aber wie ich primzahlen erzeugen kann, habe ich bis jetzt noch nicht 
herausgefunden

von M.Gast (Gast)


Lesenswert?

Ach noch was,

schau dir mal die xmegas von atmel an, die haben die aes schon an board! 
da brauchst du nur schlüssel und daten reinschreiben sowie die 
encryption oder decryption richtung und das ergebnis kannst du auslesen!

von Manfred B. (fredl0511)


Lesenswert?

Hi,

Die Atmegas mit AES Chiffriereinheit kenne ich, wollte aber nicht wieder 
ein neues "Protoboard" basteln deswegen wollte ich mein ATMEGA2560 Board 
verwenden. Die AES Geschichte habe ich von: 
http://www.literatecode.com/2007/11/11/aes256/comment-page-1/#respond

Wennst die Geschichte mit dem Diffie-Hellman durch hast, wäre ich dir 
dankbar wenn du wieder kurz nen Statusreport lieferst, möchte das (e)SSP 
Protokoll bei Gelegenheit doch irgendwann mal wieder in Angriff nehmen.

Viel Glück und gutes Gelingen!

Manfred

von M.Gast (Gast)


Lesenswert?


von Manfred B. (fredl0511)


Angehängte Dateien:

Lesenswert?

Morgen,

nen diffie hellman code schnipsel habe ich bereits, konnte es aber 
leider nicht mehr erfolgreich austesten. Den Code hab ich irgendwo im 
Netz gefunden, vl. eh hier im forum, k.a. muss halt vl. noch ein wenig 
angepasst werden. der Code verwendet glaub ich eine vordefinierte 1536 
Bit Primzahl laut irgendeiner Spezifikation oder so..

Vielleicht hilfts dir ja. Auf welchen µC programmierst du die Software 
eigentlich und welche Peripherie willst du ansprechen?

Wennst eine erfolgreiche Kommunikation mit der Peripherie geglückt ist, 
gib mir unbedingt bescheid, dann werd ich mir das leihgerät nochmals 
holen und genauer unter die lupe nehmen.

Gruß, Manfred

von M.Gast (Gast)


Lesenswert?

Hallo Manfred,

Bis jetzt haben ich nur eine Anfrage bekommen und es ist nicht sicher ob 
ich das machen muss / werde. Ich habe mich nur im Vorfeld mal 
informiert, um schneller reagieren zu können.

Falls es kommt, möchte ich gerne den Xmega256A3 benutzen und mit dem 
SMART Hopper und SMART Payout kommunizieren.

Und dann bekomme ich hoffentlich zeitnah auch die Peripherie zur Seite 
gestellt.

Melde mich dann wieder...

von David (Gast)


Lesenswert?

Hallo,

liest hier noch jemand mit? Ich benötige für ein Kassensystem Geräte zur 
Münz- und Scheinannahme bzw. -ausgabe und finde die SMART-Geräte 
(Hopper, Payout) sehr interessant. Ist hier schon jemand mit der 
Ansteuerung weitergekommen? Ich habe einige Erfahrung mit 
AVR-Controllern, auch ATXmega-Controllern, daher könnte ich deren 
AES-Einheit ganz gut einsetzen, denke ich. Ich wäre jedenfalls an einem 
Erfahrungsaustausch interessiert.

Grüße

David

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.