Implementierung von Authentifizierungsmechanismen zur Sicherung drahtloser Datenübertragung /
Design eines kompakten Platinenlayouts zur Realisierung einer Haussteuerung
Ziel dieses Projekts ist es, die Sicherheit der drahtlosen Kommunikation einer Haussteuerung für Aktoren und Sensoren zu erhöhen.
Die konkrete Beispiels-Kommunikation dieser Haussteuerung basiert auf folgenden Systemkomponenten:
- Master mit u.a.:
- ARM9 Mikrocontroller
- Touchscreen - Benutzeroberfläche
- RFM12 Chip für die Drahtloskommunikation
- Slave 1 mit u.a.:
- ATMega 128 Mikrocontroller
- RFM12 Chip für die Drahtloskommunikation
- Slave 2 mit u.a.:
- ATMega 128 Mikrocontroller
- RFM12 Chip für die Drahtloskommunikation
Um der Kernaufgabe dieses Projekt gerecht zu werden, sind u.a. folgende Punkte abzuarbeiten:
- Realisierung eines User-Logins
- Eingabe und Sicherheitsüberprüfung eines gemeinsamen Passwortes
- Implementierung einer Challenge-Response Authentifizierung mit Hilfe des HMAC Authentifizierungscodes und dem SHA-256 Algorithmus
- Verbesserung und Erweiterung der Touchscreen - Benutzeroberfläche
Weiterhin ist für die Zukunft ein neues, kompakteres Platinenlayout zur Integration wichtiger Baugruppen in das Design der Basisstation unverzichtbar.
Der gesamte Quellcode ist innerhalb des Projektzeitraums von Februar 2012 bis Mai 2012 in der Programmiersprache C geschrieben worden. Das verbesserte Platinenlayout wurde mit der Software EAGLE der Firma CadSoft erstellt. Die komplette Projektdokumentation lässt sich hier nachlesen.
Für nachfolgende Projekte könnten die folgenden Informationen / Verbesserungsvorschläge hilfreich sein.
- Der Authentifizierungscode sollte nach erfolgreicher Sicherheitsüberprüfung in einen OTP Speicher verlegt werden, damit dieser nach einem Reset nicht noch einmal eingegeben und überprüft werden muss.
- Wenn die Sicherheit der drahtlosen Datenübertragung noch einmal erheblich erhöht werden soll, ist das Thema Verschlüsselung unumgänglich. Hierfür, und für weiter (Komfort-) Anpassungen müssten allerdings beide ATMega 128 durch Microcontroller mit mehr Programmspeicher ersetzt werden. Dieser ist bei dem Funkmodul zu ~ 99% ausgelastet. Hierdurch entsteht allerdings weiterhin die Notwendigkeit eines neuen Platinenlayouts und einer starken Überarbeitung des Programmcodes.