Simplexion15122.jpg

Embedded World 2019

Simplexion A71CH Demo-Board

Schön, dass du den Weg hierher gefunden hast! Du hältst vermutlich ein kleines Stück Hardware in der Hand und fragst dich, was es damit auf sich hat.

Dürfen wir uns vorstellen – Simplexion.

Was haben erfolgreiche IoT-Projekte mit großen Filmen oder erfolgreichen Songs gemeinsam? Dahinter steckt meistens ein erfahrener Producer. Weil es immer die braucht, die Fäden zusammenhalten und das richtige Team zusammenbringen, um gemeinsam erfolgreich zu sein. Als erfahrenes Experten-Kollektiv sind wir die Kraft im Hintergrund von IoT-Projekten über alle Phasen der Produktentwicklung. Wir unterstützen unsere Kunden, im täglichen Projekt-Pragmatismus die richtigen Entscheidungen zu treffen.

Ein kleiner Chip – ein großer Unterschied.

Ob im Bereich Home-Automation, Smart-Cities oder Industrie 4.0 – im Internet der Dinge (IoT) spielt das Thema Security eine zentrale Rolle. Wenn wir uns auf die Daten verlassen wollen, die von dezentralen IoT-Geräten in die Cloud gesendet werden, müssen wir die Authentizität dieser Daten sicherstellen.

Als Partner von NXP möchten wir das Secure Element A71CH vorstellen, welches dieses Problem auf Siliziumebene löst. Der Chip kann als Vertrauensanker (Root of Trust) eingesetzt werden und bietet verschiedene Sicherheitsfunktionen, wie z.B. gesicherte Schlüsselspeicher, Schlüsselerzeugung und Ableitung zum Schutz privater Informationen sowie zur gegenseitigen Authentifizierung.

Developer? Time to get started.

Der A71CH kann auf verschiedenen Host-Plattformen und Host-Betriebssystemen verwendet werden. So kann auch unser Demo-Board über I2C an verschiedene Host-Systeme angebunden werden. Eine bevorzugte Plattform sind die Bedieneinheiten von Garz und Fricke, die auf Prozessoren von NXP aufbauen und mit verschiedenen Displays und Touchscreens ausgerüstet werden können. Für diese haben wir den Anschluss eines A71CH integriert. Als Testplattform für den A71CH kann auch ein Raspberry Pi verwendet werden. Unsere Demo dafür zeigt die grundsätzliche Funktionsweise des A71CH.

Simplexion15104.jpg

A71CH on Raspberry Pi

How to get started

Our tiny A71CH demo board fits directly on the GPIO header of the Raspberry Pi (see the pinout table below). After you’ve compiled our demo code, you can test several functions of the chip, like generating and storing keys pairs on the chip, injecting OpenSSL-generated key pairs, saving data in the general purpose storage area, and more.

Pinout

A71CH BoardRaspberry Pi
1VCC (3.3V)1VCC (3.3V)
2SDA3SDA (GPIO8)
3SCL5SCL (GPIO9)
4NC7-
5GND9GND

Simplexion A71CH Demo-Board Pinout

Prerequisites

  1. Download “A71CH Host Software Package (Bash Installer for e.g. Linux or Cygwin)” from NXP Website: https://www.nxp.com/webapp/Download?colCode=A71CH-HOST-LINUX
  2. Execute “A71CH-HOST-LINUX.sh” This will create a new directory “axHostSw” in the current directory that contains A71CH libraries / source code.
  3. Download and execute the patch file: https://www.simplexion.de/s/a71ch_raspi.diff

Dependencies

  • OpenSSL 1.0 (openssl + libssl + libssl-dev) On a Raspberry Pi 3, with Raspbian Stretch installed, it is required to downgrade OpenSSL and LibSSL. This is generally a bad idea, but for the purpose of this demo we will just look the other way. Just don't use it for anything in the real world (TM).

Downgrading OpenSSL

  • cat /etc/apt/sources.list | sed 's/stretch/jessie/g' > /etc/apt/sources.list.d/jessie.list
  • apt-get update && apt-get install openssl/jessie libssl-dev/jessie

Building and Installing

  • cd linux/
  • ./buildA71CH.sh all
  • cp libe2\* /usr/lib/
  • cp A71CH/lib/\* /usr/lib/

Testing

  • cd linux/
  • ./A71CH_i2c_rsp *or* ./A71CHlight_i2c_rsp (the former takes quite a while to finish)

OpenSSL Testing

  • cd hostLib/embSeEngine/a71chDemo/scripts/
  • cp ../../info/opensslA71CH_i2c.cnf /etc/ssl/
  • ./a71chPrepareEcc.sh
  • echo "Hello World" > test.txt
  • ./a71chRandDemo.sh test.txt

Links

Happy hacking!

Need help? Feel free to contact us!