PDF 941kB - Hochschule Ulm
PDF 941kB - Hochschule Ulm
PDF 941kB - Hochschule Ulm
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Aufbau eines sicheren Kanals über NFC<br />
6.3.2 Schlüsselaustausch über ECDH<br />
Nachdem die App erfolgreich ihren Public Key an den Reader übertragen konnte, sind<br />
der Reader und die App in der Lage einen sicheren Kanal aufzubauen. Die Kommunikation<br />
beginnt damit, dass der Reader zunächst eine NDEF message mit einer URI<br />
an die App überträgt. Der Inhalt der URI enthält NfcApp:HelloFromReader. Das URI-<br />
Schema NfcApp: wird von der App beim Smartphone Betriebssystem registriert. Nachdem<br />
das Smartphone Betriebssystem die URI vom Reader erhält, wird je nach verwendetem<br />
Smartphone Betriebssystem der Anwender gefragt, ob er die mit dem URI-Schema<br />
verknüpfte App öffnen möchte. Dabei können mehrere Apps das gleiche URI-Schema registrieren,<br />
wie in Kapitel 5.1 gezeigt wurde. Nachdem die App geöffnet wird, überprüft<br />
die App die erhaltenen Parameter des empfangenen URI-Schemas. Als Antwort auf das<br />
HelloFromReader übertragt die App ihr Teilgeheimnis. Im nächsten Schritt generiert<br />
der Reader sein Teilgeheimnis und überträgt dieses. Üblicherweise müssen sich beide<br />
Kommunikationspartner auf gemeinsame Konfigurationsparameter einigen, wie es oben<br />
beschrieben wurde. Hier entfällt dies jedoch, da auf Codeebene beide Anwendungen die<br />
gleichen Elliptic Curves Domain Parameters verwenden und diese dadurch nicht mehr<br />
ausgetauscht werden müssen. Die App empfängt das Teilgeheimnis vom Reader und<br />
speichert dieses ab. Als nächstes erzeugt die App eine digitale Signatur von ihrem Teilgeheimnis<br />
und überträgt dieses verschlüsselt mit dem Public Key des Readers, an den<br />
Reader. Der Reader empfängt die digitale Signatur von der App und entschlüsselt die<br />
digitale Signatur mit seinem Private Key, um den Hashwert zu erhalten. Als nächstes<br />
erzeugt der Reader einen Hash von dem zuvor empfangenen Teilgeheimnis von der App<br />
und vergleicht beide Hashwerte. Sind beide Hashwerte identisch, setzt der Reader die<br />
Kommunikation fort und erzeugt eine digitale Signatur von seinem Teilgeheimnis, welches<br />
der Reader an die App weiter sendet. Die App empfängt die digitale Signatur vom<br />
Reader und überprüft diese auf Validität. Dadurch, dass in Kapitel 6.3.1 der Public Key<br />
der App an den Reader übertragen wurde und der Public Key vom Reader in der App<br />
hardgecodet ist, kann sowohl der Reader als auch die App an dieser Stelle die jeweilige<br />
digitale Signatur überprüfen. Stellt sich heraus, dass beide digitale Signaturen valide<br />
sind, sind beide in der Lage aus dem erhaltenen Teilgeheimnis, den geheimen Schlüssel<br />
zu erzeugen. Anschließend setzten der Reader und die App die Peer-To-Peer Kommunikation<br />
mit einem symmetrischen Verschlüsselungsverfahren, wie z.B. AES, beliebig fort.<br />
Das Kommunikationsprotokolls wird in Abbildung 23 zusammengefasst.<br />
44