Trust Platform Design Suite

This page provides a brief overview of the Trust Platform Design Suite for CryptoAuthentication along with installation and use.

The Trust Platform Design Suite is a combination of unique secure flows that enables you to easily prototype various security use cases. It's built around the ATECC608A CryptoAuthentication device sub-families: Trust&GO, TrustFLEX, and TrustCUSTOM, and an optimized secure provisioning flow.

To learn more, visit Microchip's web page Trust Platform for the CryptoAuthentication™ Family.

Trust Platform Design Suite Overview

The Trust Platform Design Suite consists of a hardware prototyping kit, provisioning tools, example use case C-based projects, and a secret exchange package generator.

  • The CryptoAuth Trust Platform hardware prototyping kit comes pre-programmed with firmware that allows the provisioning of the ATECC608 device.
  • The software tools are Python-based computer programs allowing you to provision the ATECC608A device (on the CryptoAuth Trust Platform) for your specific use case. It includes:
    • Anaconda Python distribution
    • Jupyter Notebook
  • The example security C-based projects allow you to use the provisioned ATECC608A devices in a working application.
  • The secret exchange package generator enables Microchip to provision your ATECC608A devices for production.

Trust Platform Design Suite Software Installation

The Trust Platform Design Suite requires one of the following operating systems:

  • Microsoft Windows® 10 64-bit
  • macOS® Mojave 10.14.6 or newer


It also requires one of the following Integrated Development Environments (for the C-based projects):

  • MPLAB® X IDE v5.25 and XC32 C compiler v2.30 or later
  • Atmel Studio 7 v7.0.2389 and Atmel Software Framework (ASF) v3.47.0


Choose your operating system from the tabs below:

1

Install the Trust Platform Design Suite

Google Chrome is the preferred web browser. The installer provides a simple solution that installs all the requirements to run the Trust Platform Design Suite.

  • Download the installer.
  • Run the Trust Platform executable file.
  • Review and accept the end-user license agreement terms.
  • Install for "Just Me" (not all users).
  • You may need to change the install location folder. Verify the destination folder is:
    • C:\Users\<user_name>\Trust_Platform
  • Leave the checkboxes unchecked.

You must use the C:\Users\<user_name>\Trust_Platform folder for the following shortcuts to be added to your Windows Start menu.

2

Update and Install Trust Platform Design Suite Packages

The current Trust Platform Design Suite installation package may include some out-of-date packages and some packages need to be installed.

a

To ensure you have all the latest packages, perform the following:

  • Open an Anaconda command prompt from the Windows Start menu.
open_command_prompt.png
  • Execute the following command to compare your existing packages with the lastest in the GitHub repository. If updates are found, type "y" and enter:

conda update -c microchip trustplatform-designsuite

command_prompt.png

b

After checking for updates, use pip to install any Python packages that need installing.

  • In the same Anaconda command prompt, type the following:

pip install -r trust_platform\DesignTools\assets\requirements.txt

Please be patient as this process could take five to ten minutes based on the network speed.

3

Open the Interactive Trust Platform Design Suite Guide

  • Select the Windows Start icon.
  • Select Start Here (trust_platform) in the recently added group.
    • If you don't see it, type "Start Here" in the search bar.
start_here.png

4

Open Jupyter Notebook

  • Select the Windows Start icon.
  • Select Notebook (trust_platform) in the recently added group.
    • If you don't see it, type "Notebook" in the search bar.
start_jupyter.png

Getting Started with Jupyter Notebook:

Jupyter Notebook is an application packaged along with other packages in the Anaconda Distribution. Jupyter Notebook is an open-source web application that allows you to create documents that contain code and narrative text that can be executed in place. It provides Graphical User Interface (GUI) elements, the ability to add images, and gives the interactive look that is absent in normal code files.

The cells of the Jupyter Notebook can be used to write code or text using markdown. The code cells contain executable code and the text cells contain the explanation of the code's functionality.

Jupyter Notebook Folder Structure:

The Jupyter Notebook emulates the folder structure of the host computer.

If you are using macOS, Jupyter Notebook will default to your HOME directory. You will need to navigate to trust_platform/DesignTools to reach the folder structure shown below.

trust_platform5.png

assets folder:

  • CryptoAuth Trust Platform board factory reset project.

Docs folder:

  • TrustFLEX data sheets.
  • CryptoAuth Trust Platform board users guide.
  • Detailed TrustFLEX use-case guides.

TrustFLEX folder:

  • Jupyter notebooks and c-based projects for TrustFLEX.

TrustnGO folder:

  • Jupyter notebooks and c-based projects for TrustnGO.

start_here.html file:

  • Local webpage filled with lots of useful Trust Platform info including:
    • Trust Platform family selection guide.
    • Step-by-step use-case guide for application developers.
      • Use-case transaction diagrams including Application Programming Interfaces (APIs) with links to their implementation in example code.
      • Secure element provisioning description.
      • Secure element slot configuration and descriptions.

Start Here HTML Page:

  • On Windows, in the Start Menu, type "Start Here". It will open a Google Chrome page as shown below.
  • On macOS, navigate to $HOME/trust_platform/DesignTools and open Start_Here.html with either Google Chrome or Apple Safari web browsers.
trust_platform6.png
  • This collection of pages will walk you through three steps:
    1. Selection of the right trust platform device for your use case.
    2. Prototype the use case.
    3. Set up custom secure provisioning for TrustFLEX or TrustCUSTOM. Trust&GO devices are pre-provisioned and do not require this step.
© 2020 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.