Workshop: Security Token

Der Open Source Arbeitskreis (OSAK) der Fachschaft FSMPI, veranstaltet nun zum zweiten Mal eine Crypto Party auf der sich Interessierte über Verschlüsselung und verwandte Themen informieren können.

Ich möchte hier die Gelegenheit nutzen um etwas Werbung für diese Veranstaltung zu machen. Genaue Infos findet Ihr unten im Flyer.

Dieses Mal wird es auch einen kleinen Workshop von mir geben:

Hardware Crypto Tokens

„I know none of my passwords“

Ich werde in ca. 20 Min eine kurze Übersicht über Security Tokens wie bspw. den Yubikey oder die OpenPGP Smartcard geben. Dabei wird der Fokus auf verschiedenen Anwendungsszenarien wie bspw. One-Time-Passwords, Logins, E-Mail Verschlüsselung usw liegen.

Update: Hier sind die Vortragsfolien und das Handout:

Präsentation (pdf)
Handout (pdf)

cryptoparty-ss2015

Thesis

Seit fast zwei Monaten schreibe ich jetzt am Lehrstuhl für Betriebssysteme meine Bachelorarbeit:

Eine generische Speicherverwaltung mit Hilfe von Seitentabellen für ein
minimalistisches Betriebssystem

oder auf Englisch

A generic memory management with paging for a minimalistic operating
system

Huh?! Was ist das? Was machst du da?“ Da dies häufig die erste Reaktion von Freunden und Familie ist, möchte ich versuchen das Thema meiner Arbeit hier kurz und verständlich vorzustellen. Wer Interesse an einem tieferem Verständnis und technischen Details hat, lade ich gerne zu meinem Abschlussvortrag Ende Mai ein. Zu dem „Was machst du da?“ kann ich schon einmal sagen, dass ich viel am Programmieren bin und dabei unheimlich viel praktische Erfahrung sammele. Und es nen riesen Spaß macht 😀

Meine Arbeit dreht sich also um Betriebssysteme. Die Aufgabe von Betriebssystemen ist es verfügbare Ressourcen zu verwalten und diese mit einer einheitlichen Schnittstelle dem Nutzer zu Verfügung zu stellen. In meinem Fall arbeite ich an der Verwaltung des Arbeitsspeichers.
Arbeitsspeicher (engl. RAM für Random Access Memory) findet man in Handys, TVs, MP3 Playern, Laptops und vor allem in Server und Hochleistungsrechnern. Es ist einer recht schneller dafür auch leicht flüchtiger Speicher, den man gut mit dem menschlichen Kurzeitgedächtnis vergleichen kann. „Random Access“ steht für einen wahlfreien Zugriff, also dass man alle Informtionen ohne vorheriges „Spulen“ oder „Nadel umsetzen“ abfragen kann – um mal in nostalgischen Analogien zu sprechen.

quote-Bill-Gates-640k-ought-to-be-enough-for-anybody-89027

Dieses Zitat, das gerne dem Microsoft Gründer Bill Gates zugeschrieben wird, dürfte vielleicht einigen von euch bekannt sein. Waren im Jahr 1981 noch 640 KB das Maß der Dinge haben heutige Server 64 GB und mehr. Dies entspricht verblüffend genau einer Verdopplung der Kapazität alle zwei Jahre wie es Gordon Moore bereits schon 1965 postuliert hat.

Aber nun mal wieder zurück zu meiner Arbeit: diese rasante Entwicklung der Speicherkapazität hat Betriebssysteme vor einigen Jahre vor wesentliche Probleme gestellt.
Stellen wir uns vor – ähnlich wie die Größe des Speichers, hätte sich die Anzahl der Autohalter in Deutschland entwickelt. Den Zulassungsstellen wären recht schnell die Nummernschilder ausgegangen, da es einfach nicht genügend unterschiedliche Kombinationen von Landkreis und Buchstaben/Zahlen gäbe. Und wer möchte schon das gleiche Nummernschild wie sein Nachbar haben. Jedes Auto muss also eindeutig identifizierbar und jeder Speicherplatz eindeutig adressierbar sein. Mit zunehmender Anzahl an Autohaltern, bzw. der Speicherkapazität, steigt daher auch Komplexität der Verwaltung.

In meinem Beispiel könnte man dieses Problem beispielsweise durch einen zusätzlichen Buchstaben für das Bundesland auf jedem Nummernschild lösen. Man denke an die Einführung der EU-Kennzeichen.
Und damit bin ich auch schon beim Ziel meiner Arbeit: Ich möchte dieses Verwaltungsproblem für beliebe große Speicherkapazitäten und beliebig viele Verwaltungsinstanzen lösen ohne die Kompexität dadurch zu steigern.

Puh, das soll erst einmal reichen. Ende Mai werde ich diese, meine erste wissenschaftliche, Arbeit abschließen. So lange behalte ich meine Lösung noch für mich :p

Mikrocontroller AG

Vor drei Jahren war ich selber Teilnehmer der AG und habe diese dann für die vergangenen zwei Jahre mit Hilfe zweier weiterer Kommilitonen, Markus Hamm und Mats Markus, geleitet.

Als Abschluss meiner dortigen Arbeit schreibe ich nun meinen Bericht und möchte diesen hier kurz zusammenfassen. Den kompletten Tutoriumsbericht könnt ihr euch hier herunterladen.

Auch vergangene Beiträge in meinem Blog beziehen sich auf meine Arbeit in der AG:

Allgemeines

Das Institut für Mensch-Maschine-Interaktion (MMI) der RWTH bietet für Studenten des zweiten Semesters eine freiwillige AG zum Einstieg in die Mikrocontroller Programmierung an. Diese verknüpft theoretische Grundlagen der Vorlesung „Grundgebiete der Informatik 2“ von Prof. Roßmann mit praktischen Beispielen und Aufgaben aus dem Bereich der Mikrocontroller. Es handelt sich um eine freiwillige Veranstaltung, die für die Teilnehmer nicht als Studienleistung anerkannt werden kann. Wie auch in der Vorlesung werden die ATmega Mikrocontroller der Firma Atmel verwendet.

Platine

Komplett2Um die in der AG vermittelte Theorie auch praktisch anwenden zu können, erhalten alle Teilnehmer einen Bausatz. Dieser besteht aus einer speziell für die AG entwickelten Platine inklusive der dafür benötigten Bauelemente.

Unsere erste Aufgabe war das Überarbeiten, dieser Platine. Sie besteht aus sieben Modulen die zusammen auf einer Platine untergebracht sind: Hauptboard, Programmer, Matrixtastatur, zwei Spielwiesen sowie einem LC-Display.
Um die Kosten der Platine zu senken verkleinerten wir sie auf das Format einer Euro-Platine und entfernten ein paar Bauteile.

Skript

Mittlerweile betreue ich die AG in der 3. Generation. In den Jahren zuvor enstanden einige kleine Skripte, Primer und Hilfsblätter. Um diese Flut an Informationen etwas zu bündeln haben wir sie in einem Skript zusammen gefasst, das nun ca. 140 Seiten umfasst. Es behandelt alle in der AG vorstellten Themen und geht noch auf weitere Details in Hardware und Software ein. Zudem beschreibt es auch alle Module der Platine mit Anschlussbelegungen, Schaltplänen usw.

Erweiterungen

Neben dem Hauptboard, das alle Teilnehmer zu Beginn der AG erhalten, haben wir kleine Erweiterungsplatinen entworfen. Diese sind mit den Erweiterungsports des Hauptboards kompatibel und können zur Motoransteuerung, Ethernet- oder Funkkommunikation genutzt werden.

Ethernet BoardEthernet Addon

Das Ethernet-Addon ist aus der Arbeit zweier ehemaliger Teilnehmer entstanden. Neben einem Protoypen entwickelten sie einen leichtgewichtigen und flexiblen TCP/IP Stack, der auf dem ATmega16 des Hauptboards lauffähig ist. In Verbindung mit dem ethersex Betriebsystem können hier schnell eigene Internet Gadgets realisiert werden.

Funk Board

nrf24l01Das Funkboard war ursprünglich zur drahtlosen Kommunikation in einem Roboterschwarm gedacht. Mit dem Ziel möglichst simpel und günstig zu sein, ist unsere Wahl auf den NRF24L01+ Tranceiver von Nordic Semiconductors gefallen. Mit einem Preis von unter 1 € ist er preislich nicht zu schlagen.

Fazit

Einen schöneren HiWi-Job hätte ich mir nicht vorstellen können 🙂 Wir hatten viele Freiheiten, konnten uns unsere Arbeitszeit und -ort größtenteils selbst wählen und an eigenen interessanten Projekten arbeiten. Die Arbeit in der Lehre, also direkt mit seinen Kommilitonen, hat mir viel Spaß gemacht.
Trotzdem freue ich mich jetzt auch mal etwas in die Forschung schnuppern zu können: seit November ’13 arbeite ich am Lehrstuhl für Betriebssysteme an meiner Bachelorarbeit. Aber dazu gibts bestimmt auch nochmal einen kleinen Beitrag 🙂

Wer immer noch nicht genug hat, darf auch gerne meinen kompletten Tutoriumsbericht lesen. (Vielleicht orientieren sich ja auch meine Nachfolger daran :D)

Gallerie

Mikrocontroller & Elektronik CheatSheet

danielWie war nochmal die Pinbelegung des Festspannungsreglers?
Wie stark darf ich die Pins des Mikrocontrollers belasten?
Wie viel Volt fallen an dieser LED ab?

Häufig sind es diese kleine Fragen, die gerade Anfänger den Einstieg in die Welt Elektronik oder Mikrocontroller erschwert.

Um diesen etwas zu erleichtern und auch den erfahrenen Bastlern einen Spickzettel zur Verfügung zu stellen, habe ich folgendes CheatSheet zusammengestellt:

Download: Mikrocontroller CheatSheet

Anmerkungen, Hinweise zu Fehlern oder Ergänzungen nehme ich gerne auf. Bitte kontaktiert mich dazu einfach per Mail oder

Zusammenfassung GGI3

Auch im 3. Semester hatten wir wieder eine Grundlagenvorlesung Informatik. Im Vergleich zu letztem Jahr, war diese leider weniger interessant:

  • balancierte Bäume
  • konvexe Opmierungsprobleme
  • Multi-Prozessorsysteme
  • OSI-Layer.. etc ^^

Glücklicherweise handelt es sich um eine Kofferklausur. D.h man darf außer elektronischen Geräten so ziemlich alles mit in die Prüfung nehmen 😉

Aber lasst euch nicht davon täuschen: einfacher wirds dadurch leider nicht. Die Klausur war so überladen, dass man zum Nachlesen im Skript praktisch gar keine Zeit hatte.

Da war es ganz praktisch ein Inhaltsverzeichnis des Skriptes und eine knackige Zusammenfassung dabei zu haben. Diese möchte ich hier mit euch teilen: