Welcome to the Drive World with ESC 2019 Presentation Store. Here you can view and download conference presentations before, during, and after the event. If you’re looking for a presentation from a specific session that you’re unable to find here, note that it’s likely because the presenter has not provided permission for external use or has not yet shared their presentation with us. Please check back after the event for a more complete catalogue of available presentations.
Understanding Secure Connectivity
Nick Lethaby (IoT Ecosystem Manager, Texas Instruments)
Location: Room 209
Date: Tuesday, August 27
Time: 9:00am - 1:00pm
Track: Tutorials & Hands-on Demos, ESC - IoT & Connected Devices
Vault Recording: TBD
Network connectivity is being added to many embedded systems products. It is important that these products include adequate protection against attacks. However, many embedded systems developers have limited or no experience with implementing appropriate security measures. This workshop is intended to give embedded developers an understanding of why security is needed, what it is, and walkthrough use cases such as establishing secure connections or performing secure remote updates that are common to many embedded applications. Although the primary focus of this session will be on communications security, the introductory sections will overview other security threats, as well as briefly discussing appropriate technologies for countering them. This workshop assumes attendees will have no or a minimal understanding of network security.
The workshop will consist of three hours of slides followed by 1.5 hours of labs. The labs will require access to a Wi-Fi network with reasonable performance. The labs will be based on the Texas Instruments SimpleLink CC3220 Wi-Fi MCU connecting to an IoT service such as AWS IoT.
The detailed workshop agenda is as follows.
Security threats overview
This section will address:
- What is an attacker trying to achieve? There are various motivations for security attacks: an attacker may break into a network to steal high value information (e.g. personal bank account details, company financial forecasts, product blueprints, credit card numbers, video streams), to steal SW IP to clone a device, to insert malware to control a device for a bot attack, to run ransomware to extort money, or to conduct electronic warfare.
- A summary of the different methods and techniques used by hackers including remote and local (e.g. BLE or ZigBee) network threats, such as packet sniffing, MITM and replay attacks, and testing for and then exploiting known vulnerabilities. The summary will also cover physical attacks such as accessing off-chip memories, JTAG/debug ports, and more advanced techniques such as using stack/heap overflows and voltage manipulations, to create undetermined states.
- Two or three examples of specific hacks, including what they were trying to achieve and how they were done.
Note: There will be no effort to explain in detail how these attacks work as this would be a multi-day workshop in itself. The goal is simply to make attendees aware of the different attack vectors so they then understand the need for certain security features
Core security concepts and enablers
We will explain some core security concepts such as Confidentiality, Authenticity, Integrity, and Non-repudiation, with a focus on the first three. We will then discuss core security enablers, which entail foundational security, runtime security, SW IP protection and physical security measures. We will clarify that this security workshop focusses on foundational security as applied to network connectivity (TLS) and FW/SW updates (secure OTA). We will conclude this section with a short discussion of Security features in MCUs (including firmware like secure boot) that indicates the purpose and value of such features. Topics will include cryptographic accelerators (generically rather than accelerators for specific ciphers), tamper protection, and secure execution environments.
Fundamentals of Security
In this section, we will discuss enabling security for network communications at the system-level (e.g. no crypto theory): symmetric encryption, secure hashing, and asymmetric encryption. This discussion will also include the principal use of the various methods (e.g. bulk encryption, key exchange, authentication, integrity checking) and which ciphers are associated with each method.
Introduction to certificates and why they are needed
We will discuss digital certificates including why they are needed and how they are used. This section will illustrate what a certificate is and the different use cases, such as TLS certificates and code signing certificates, the various methods to validate certificates ( such as certificate catalogs and specific protocols such as OCSP), and various approaches to embedding the certificate on to an IoT device (via a CSR, during manufacture). This section will also discuss Public Key infrastructure to the extent necessary to understand how certificates work.
Illustrations of cryptography in common usage scenarios
We will perform walkthroughs of common security operations to demonstrate how the aforementioned security fundamentals and certificates are used in practice. A TLS walkthrough will go through the initial steps of how a TLS connection is set up and show how asymmetric encryption, certificates, and symmetric encryption are used. An OCSP/certificate validation walkthrough will show how a certificate is validated as genuine (including an example that includes a certificate chain with root CA and intermediate CAs) and the different protocols that can be used to make validation more efficient. An OTA update walkthrough will show the process for a secure OTA update with an emphasis on image signing and authentication and the role of code signing certificates.
Illustrate establishing TLS connectivity with an IoT service and performing a secure OTA update from that IoT service or a separate HTTPS server. The lab will use the cloud-based dev.ti.com IDE and the CC3220 WiFi-enabled MCU.