Veranstaltung/LabAccess: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
Keine Bearbeitungszusammenfassung
Zeile 19: Zeile 19:
==Der Token-Holder (Chipkarte)==
==Der Token-Holder (Chipkarte)==
Eine Speicherchipkarte mit I²C-Bus dient als Speicherort für ein oder mehrere der im nachfolgenden beschriebenen Datenobjekte, welche jeweils die für die Autorisierung an einer SU notwendigen Daten enthalten.
Eine Speicherchipkarte mit I²C-Bus dient als Speicherort für ein oder mehrere der im nachfolgenden beschriebenen Datenobjekte, welche jeweils die für die Autorisierung an einer SU notwendigen Daten enthalten.
 
Damit ist es möglich mit einer einzelnen Karte verschiedenen Objekte zu steuern, die an verschiedenen SUs hängen.


{| {{Prettytable}}
{| {{Prettytable}}
Zeile 27: Zeile 27:
|ASN.1 Header || Headerinformationen nach ASN.1 zur Bildung logischer Datenobjekte || ? || <struct>
|ASN.1 Header || Headerinformationen nach ASN.1 zur Bildung logischer Datenobjekte || ? || <struct>
|-
|-
|Version ID || gibt den Versionsstand der nachfolgenden LabAccess-Struktur an || 8 Bit (?) || <struct>
|Version ID || gibt den Versionsstand der nachfolgenden LabAccess-Struktur an || min. 8 Bit = 1 Byte (?) || <struct>
|-
|-
|Entity ID || Spezifiziert das Zugangssystem zu welchem dieses Datensatz gehört || 16 Bit ||  
|Entity ID || Spezifiziert das Zugangssystem zu welchem dieses Datensatz gehört || 16 Bit = 2 Byte ||  
|-
|-
|User ID || User ID für die Entity || 16 Bit ||  
|User ID || User ID für die Entity || 16 Bit = 2 Byte ||  
|-
|-
|Token || das Einwegtoken || 256 Bit || <sec>
|Token || das Einwegtoken || 256 Bit = 32 Byte || <sec>
|-
|-
|Flags || diverse Flags || ? ||
|Flags || diverse Flags || ? ||
Zeile 41: Zeile 41:
|Stop-Date || Datum, bis wann der Zugang gültig ist || ? ||  
|Stop-Date || Datum, bis wann der Zugang gültig ist || ? ||  
|-
|-
|PIN-HMAC || Ein HMAC, mit dem sich die PIN validieren lässt || 256 Bit || <sec>
|PIN-HMAC || Ein HMAC, mit dem sich die PIN validieren lässt || 256 Bit = 32 Byte || <sec>
|-
|-
|HMAC || HMAC über die vorrangegangenen Daten ab einschl. ASN.1 Header, zum Schutz gegen Manipulation || 256 Bit || <sec>
|HMAC || HMAC über die vorrangegangenen Daten ab einschl. ASN.1 Header, zum Schutz gegen Manipulation || 256 Bit = 32 Byte || <sec>
|}
|}



Version vom 30. Juni 2006, 17:54 Uhr

!!! Achtung, diese Seite ist unfertig !!!

Abstract

Diese Seite beschreibt den Aufbau, die Verfahren und den Stand der Implementierung des zukünftigen Labor-Zugangssystems.

Vorstellung des "Stands der Dinge"

$Text zum Vortrag

Was es bis jetzt gibt

  • die Protokolle sind nahezu fertig (allerdings noch nicht geschrieben oder implementiert)
  • die Datenstrukturen sind fast fertig designed
  • die kryptographischen Primitiven sind bereits implementiert, nur der PRNG muss nochmal kurz überarbeitet werden, und der XTEA geht noch ein wenig kleiner.

Der grundlegende Aufbau

Das System besteht im wesentlichen aus zwei Komponenten, dem Token-Holder und der Main-Unit, welche sich wiederum aus Terminal und Main-Unit zusammensetzt. Der Token-Holder wird nach derzeitigen Planungen als I²C-Speichechipkarte im ID-00 Format realisiert. Stark vereinfacht arbeite das System mit Einweg-Tokens, wobei eine berechtigte Karte ein Einweg-Token enthält, welches von der Main-Unit ausgelesen und überprüft wird. Handelt es sich um ein gültiges Token, so generiert die Main-Unit ein neues Einweg-Token und legt dieses auf der Karte ab.

Der Token-Holder (Chipkarte)

Eine Speicherchipkarte mit I²C-Bus dient als Speicherort für ein oder mehrere der im nachfolgenden beschriebenen Datenobjekte, welche jeweils die für die Autorisierung an einer SU notwendigen Daten enthalten. Damit ist es möglich mit einer einzelnen Karte verschiedenen Objekte zu steuern, die an verschiedenen SUs hängen.

UserEntity structure
Name Beschreibung Größe des Datenobjektes Labels
ASN.1 Header Headerinformationen nach ASN.1 zur Bildung logischer Datenobjekte ? <struct>
Version ID gibt den Versionsstand der nachfolgenden LabAccess-Struktur an min. 8 Bit = 1 Byte (?) <struct>
Entity ID Spezifiziert das Zugangssystem zu welchem dieses Datensatz gehört 16 Bit = 2 Byte
User ID User ID für die Entity 16 Bit = 2 Byte
Token das Einwegtoken 256 Bit = 32 Byte <sec>
Flags diverse Flags ?
Start-Date Datum, ab wann der Zugang gültig ist ?
Stop-Date Datum, bis wann der Zugang gültig ist ?
PIN-HMAC Ein HMAC, mit dem sich die PIN validieren lässt 256 Bit = 32 Byte <sec>
HMAC HMAC über die vorrangegangenen Daten ab einschl. ASN.1 Header, zum Schutz gegen Manipulation 256 Bit = 32 Byte <sec>

Die Security-Unit (SU)

Die Security-Unit ist das Herz des Zugangssystems. Diese Einheit führt die eigenliche Autorisierung und die damit verbundenen Überprüfungen durch.

Nach derzeitiger Planung setzt sich die SU aus folgenden Hardwarekomponenten zusammen:

  • Microcontroller (ATmega32)
  • I²C EEPROMS für die User-Database
  • I²C Thermosensor (zur Zufallsgewinnung und überwachung der Betriebstemperatur)
  • Realtime-Clock (mögl. I²C Anbindung)
  • Diodenschaltung zur Nutzung physikalischen Zufalls
  • Serielle Schnittstelle zur Kommunikation mit Terminal
  • von Aussen zugänglich Taster für gewisse Steuerfunktionen
  • evtl. Display zur Statusanzeige

Das Terminal

Kommunikation zwischen Terminal und SU (foogleport)

kryptographisch Funktionen

Als kryptographische Funktionen kommen zum Einsatz:

  • Hashfunktion: Als sichere Hashfuinktion dient SHA-256 gemäß FIPS 180-2.
  • HMAC: Es wird HMAC-SHA256 gemäß RFC 2104 verwendet.
  • PRNG: Der PRNG ist eine "Eigenkonstruktion" und benutzt ganz viel SHA-256. Sollte auf jeden Fall nochmal genau betrachtet werden.
  • Symmetrische Verschlüsselung: Zur symmetrischen Verschlüsselung wird XTEA eingesetzt. Er findet in mindestens zwei Modi Verwendung (CBC und der andere steht noch nicht fest).

Die Initialisierung

Managment

Das System wird lokal verwaltet, d.h. die administration der Accounts (erzeugen, sperren, ...) findet am Gerät selbst statt.

Mögliche Angriffe

FAQ

  • Q:Warum keine intelligente Karte mit cooler Krypto drauf?

A:Weil die 'n Haufen Geld kosten (etwa Faktor 20), und komplizierter in der Ansteuerung sind (wobei sich das durchaus machen ließe).

  • Q:Dann können die Karten aber doch einfach kopiert werden?

A:Ja, es ist durchaus möglich, von einer Karte 100 Kopien zu erstellen, und mit jeder von denen kann man dann in's Labor. Doch wenn man mit einer sich am Gerät angemeldet hat, werden alle anderen ungültig.