13.01.2015 Aufrufe

Abschlussbericht

Abschlussbericht

Abschlussbericht

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Abschlussbericht</strong><br />

Trusted Sensor Node<br />

RESETN<br />

CLK<br />

CE<br />

OEN<br />

WE<br />

A [15 ... 0]<br />

d_in[31 ... 0]<br />

d_out[31 ... 0]<br />

ist ein low-aktiver Eingang. Es setzt das Modul zurück, in dem es die<br />

Register mit dem Startwert „0“ belegt. Die State-Machine geht in den<br />

Startzustand.<br />

ist der Eingang für das externe Taktsignal.<br />

ist ein low-aktiver Eingang. Er selektiert und aktiviert die Komponente.<br />

ist ein low-aktiver Eingang. Er wird während eines Lesezyklus auf aktiv<br />

gesetzt.<br />

ist der low-aktive Eingang, der einen Schreibzugriff signalisiert.<br />

ist der Adressbus. Dieser Eingang beinhaltet die Adressen der verschiedenen<br />

Register.<br />

ist ein 32 Bit Dateneingang. Er enthält die Daten, die in die adressierten<br />

Register geschrieben werden sollen.<br />

ist ein Datenausgang, der die Daten beinhaltet, die aus den Registern<br />

gelesen werden.<br />

Tabelle 2.1: Signale eines Memory-Like Interface<br />

// AES base address<br />

#define AESBASE 0x20200000 //memory mapped IO<br />

//Write key<br />

writeReg(0x2b7e1516, AESBASE + KEYBASE + 0);<br />

writeReg(0x28aed2a6, AESBASE + KEYBASE + 1);<br />

writeReg(0xabf71588, AESBASE + KEYBASE + 2);<br />

writeReg(0x09cf4f3c, AESBASE + KEYBASE + 3);<br />

writeReg(0x3243f6a8, AESBASE + DATABASE + ENCRYPTION + 0);<br />

writeReg(0x885a308d, AESBASE + DATABASE + ENCRYPTION + 0);<br />

writeReg(0x313198a2, AESBASE + DATABASE + ENCRYPTION + 0);<br />

writeReg(0xe0370734, AESBASE + DATABASE + ENCRYPTION + 0);<br />

//Wait 77 Clock cycles or for interrupt<br />

//READ_OUT<br />

Listing 2.1: Beispielcode zum Ansprechen des AES am Memory-Controller<br />

2.13 AES<br />

In symmetrischen Verschlüsselungsverfahren wird sowohl zur Verschlüsselung als auch<br />

zur Entschlüsselung der gleiche geheime Schlüssel benutzt. Ist einem Dritten dieser Schlüssel<br />

bekannt, so kann dieser den Kommunikationsprozess abhören und selbst verschlüsselte<br />

Datenpakete in Umlauf bringen. Ein bekanntes Beispiel für symmetrische Verschlüsselungsverfahren<br />

ist der DES-Algorithmus. Dieser wurde 2001 durch den AES abgelöst.<br />

Am häufigsten wird derzeit die 128-Bit-Version im Electronic Code Book (ECB)-Modus genutzt.<br />

Der ECB-Modus ist nicht rückgekoppelt, d.h. es wird jeder Datenblock unabhängig<br />

von anderen verarbeitet. So ist ein wahlfreier Zugriff auf verschlüsselte Blöcke möglich.<br />

Nachteilig ist, dass so gleiche Eingangsdaten zu gleichen Ausgangsdaten führen. Es gibt<br />

Anwendungsfälle, in denen der ECB-Modus nicht vermieden werden kann. Gehen z.B. in<br />

einem rückgekoppelten Modus wie Cipher Block Chaining (CBC) Datenpakete verloren, so<br />

22

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!