SlideShare a Scribd company logo
1 of 19
Download to read offline
Secure96
Joakim Bech
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Agenda
● Mezzanine board with security ICs, why?
● ATSHA204A
● ATECC508A
● TPM - Infineon SLB 9670
● What is next?
ENGINEERS AND DEVICES
WORKING TOGETHER
Mezzanine board with security ICs, why?
● SFO16 keynote demo
○ Used IoT devices with different crypto capabilities
○ Main concern: how to store keys in a secure manner
● Found out about
○ Atmel CryptoAuthentication™ AT88CK590 Demo-evaluation Kit
○ ATECC508A (asymmetric) got my attention, but later on also ATSHA204A
○ Turnkey (?) solution for secure boot MCU’s?
● Common ground
○ While working with Zephyr for example, it would be nice to have common ground regardless
what MCU you are using while fleshing out initial APIs etc
● Maker community
ENGINEERS AND DEVICES
WORKING TOGETHER
Secure96 - Top
FTDI TPM EEPROMATSHA204A ATECC508A
ENGINEERS AND DEVICES
WORKING TOGETHER
Secure96 - Bottom
- 40-pin (2x20) connector
- Compatible with 96Boards
ENGINEERS AND DEVICES
WORKING TOGETHER
Similar hardware
● Atmel CryptoAuthentication™ AT88CK590 Demo-evaluation Kit
● CryptoShield by Josh Datko
○ No longer for sale
○ Nice software called “Hashlet”
[ Image courtesy of Microchip at http://www.atmel.com/tools/AT88CK590.aspx ]
[ Image courtesy of SparkFun at
https://www.sparkfun.com/products/retired/13183 ]
ENGINEERS AND DEVICES
WORKING TOGETHER
ATSHA204A
● Symmetric authentication (but still capable of deriving diversified keys)
● I/O: I2
C / SWI
● Commands like:
○ CheckMac, DeriveKey, GenDig, HMAC, SHA, Nonce, MAC, Random, Read, Write etc ...
● Not just plain crypto commands
○ HMAC, SHA-256 digest over the data + some other device data (serial number, OTP etc)
● Random Number Generator
● Guaranteed Unique 72-bit Serial Number
● Been on the market for quite some time (launched 2011)
● http://www.microchip.com/wwwproducts/en/ATSHA204A
ENGINEERS AND DEVICES
WORKING TOGETHER
ATSHA204A - Zones - Configuration
● 88 bytes
● Array with information
such as
○ Serial number
○ I2C address
○ Various modes
○ Slot configuration
○ Lock configuration etc
● Read and Write commands
ENGINEERS AND DEVICES
WORKING TOGETHER
ATSHA204A - Zones - Data
● 512 bytes - split into 16 general purpose registers (slots)
● One slot = 32 bytes
● There can be different restrictions on each slot (slot configuration)
● Typically used to store
○ Keys
○ Model number
○ Calibration data etc
ENGINEERS AND DEVICES
WORKING TOGETHER
ATSHA204A - Zones - OTP
● 64 bytes
● Two modes (three)
○ Read-only
■ Impossible to do any further updates.
○ Consumption
■ 0xFF default state, bits can only be changed to zero (after locking config).
ENGINEERS AND DEVICES
WORKING TOGETHER
Personalize the device
1. Configure and lock the configuration data
○ Lots of options here. When just playing with the device, the default configuration is probably a
pretty good start
2. Program the slots
3. Lock the data and OTP
ENGINEERS AND DEVICES
WORKING TOGETHER
Personalize - Write Config bits
ENGINEERS AND DEVICES
WORKING TOGETHER
Use cases
● Accessory authentication
○ Mobile device wants to authenticate a (genuine) battery
○ Consumables, ink cartridges etc
○ Technical support
● Secure boot
● Data integrity verification
● Session key exchange
Yes, I know it smells DRM ...
Data integrity verification example [Image courtesy of Atmel: Atmel-8794-CryptoAuth-ATSHA204-Product-Uses-Application-Note.pdf]
ENGINEERS AND DEVICES
WORKING TOGETHER
I2
C bus and still secure?
● How do I protect the bus between the crypto device and microprocessor?
○ Atmel’s answer (from the FAQ):
■ “Perform an authentication on the result of crypto calculation (CheckMAC command)”
■ “It involves using the second key that is both stored in the
CryptoAuthetication device and compiled into the code.
After the successful completion of the “CheckMAC” operation,
the second secret is copied into the TempKey register.
Then the MCU sends over a unique number (for example,
time of day), which is then combined with that second secret
using SHA and returned to the MCU.”
■ “The software on the MCU does the same combination using
the compiled secret to see if it agrees with the result from
the authentication device.”
○ The “compiled into the code” part sounds scary and feels like
it defeats the purpose of the device, but what if you have that
part in a TrustZone protected environment for example?
ENGINEERS AND DEVICES
WORKING TOGETHER
Software for ATSHA204
● Secure96→ https://github.com/jbech-linaro/secure96
○ In the future this should be moved to a “Linaro” page.
○ Still very much Work In Progress, but basic communication, read, write, getting config data,
generate random numbers, nonce, HMAC etc has been implemented.
○ Personalization “works”, but still a bit crude.
○ Works with any I2
C enabled device, but currently configured so it works with DragonBoard 410c
by default.
● Hashlet → https://github.com/cryptotronix/hashlet
○ Has been around for a while, seems pretty mature
○ GPLv3
● CryptoAuthLib → http://www.atmel.com/tools/CryptoAuthLib.aspx
○ Atmel’s own reference implementation
ENGINEERS
AND DEVICES
WORKING
TOGETHER
ATECC508A
● Shares lots of functionality with ATSHA204A
● Major difference is that it is working with asymmetric key
pairs instead of symmetric key pairs
● Supports ECDH and ECDSA
● Requires NDA (why?) to get the datasheet / TRM!
○ The CryptoAuthLib supports this IC, so you can study the code
without the reference manual, but ….
● No work done so far, but in the end this is the device that
we would like to use
● http://www.microchip.com/wwwproducts/en/ATECC508A
ENGINEERS
AND DEVICES
WORKING
TOGETHER
TPM - Infineon SLB 9670
● I/O: SPI
● Compliant to TCG TPM 1.2 and 2.0
● Have not done any work with this device more than sanity
test it using the
○ Intel TSS TPM2.0 resource manager
https://github.com/01org/TPM2.0-TSS.git
○ And the tpm2.0 tools
https://github.com/01org/tpm2.0-tools.git
● For more details see the official page for the IC
ENGINEERS
AND DEVICES
WORKING
TOGETHER
What is next?
● No real roadmap for now, but … some ideas
○ Finalize the ATSHA204A implementation
○ Create a library for the ATSHA204A implementation
○ Offline implementation to mimic device behavior (in a Trusted
Application in a TEE)
○ Use IC(s) for secure boot on a 96Boards IoT device
○ Get the specification and implement support for ATECC508A
○ TPM chip
■ Try it out using IMA in Linux
■ Use it to store SSH credentials
Thank You
#SFO17
SFO17 keynotes and videos on: connect.linaro.org
For further information: www.linaro.org

More Related Content

More from Linaro

Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaLinaro
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraLinaro
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaLinaro
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018Linaro
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Linaro
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineLinaro
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteLinaro
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopLinaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineLinaro
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allLinaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorLinaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMULinaro
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MLinaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootLinaro
 
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...Linaro
 

More from Linaro (20)

Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
 

Recently uploaded

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 

Recently uploaded (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 

Secure96 - SFO17-111

  • 2. ENGINEERS AND DEVICES WORKING TOGETHER Agenda ● Mezzanine board with security ICs, why? ● ATSHA204A ● ATECC508A ● TPM - Infineon SLB 9670 ● What is next?
  • 3. ENGINEERS AND DEVICES WORKING TOGETHER Mezzanine board with security ICs, why? ● SFO16 keynote demo ○ Used IoT devices with different crypto capabilities ○ Main concern: how to store keys in a secure manner ● Found out about ○ Atmel CryptoAuthentication™ AT88CK590 Demo-evaluation Kit ○ ATECC508A (asymmetric) got my attention, but later on also ATSHA204A ○ Turnkey (?) solution for secure boot MCU’s? ● Common ground ○ While working with Zephyr for example, it would be nice to have common ground regardless what MCU you are using while fleshing out initial APIs etc ● Maker community
  • 4. ENGINEERS AND DEVICES WORKING TOGETHER Secure96 - Top FTDI TPM EEPROMATSHA204A ATECC508A
  • 5. ENGINEERS AND DEVICES WORKING TOGETHER Secure96 - Bottom - 40-pin (2x20) connector - Compatible with 96Boards
  • 6. ENGINEERS AND DEVICES WORKING TOGETHER Similar hardware ● Atmel CryptoAuthentication™ AT88CK590 Demo-evaluation Kit ● CryptoShield by Josh Datko ○ No longer for sale ○ Nice software called “Hashlet” [ Image courtesy of Microchip at http://www.atmel.com/tools/AT88CK590.aspx ] [ Image courtesy of SparkFun at https://www.sparkfun.com/products/retired/13183 ]
  • 7. ENGINEERS AND DEVICES WORKING TOGETHER ATSHA204A ● Symmetric authentication (but still capable of deriving diversified keys) ● I/O: I2 C / SWI ● Commands like: ○ CheckMac, DeriveKey, GenDig, HMAC, SHA, Nonce, MAC, Random, Read, Write etc ... ● Not just plain crypto commands ○ HMAC, SHA-256 digest over the data + some other device data (serial number, OTP etc) ● Random Number Generator ● Guaranteed Unique 72-bit Serial Number ● Been on the market for quite some time (launched 2011) ● http://www.microchip.com/wwwproducts/en/ATSHA204A
  • 8. ENGINEERS AND DEVICES WORKING TOGETHER ATSHA204A - Zones - Configuration ● 88 bytes ● Array with information such as ○ Serial number ○ I2C address ○ Various modes ○ Slot configuration ○ Lock configuration etc ● Read and Write commands
  • 9. ENGINEERS AND DEVICES WORKING TOGETHER ATSHA204A - Zones - Data ● 512 bytes - split into 16 general purpose registers (slots) ● One slot = 32 bytes ● There can be different restrictions on each slot (slot configuration) ● Typically used to store ○ Keys ○ Model number ○ Calibration data etc
  • 10. ENGINEERS AND DEVICES WORKING TOGETHER ATSHA204A - Zones - OTP ● 64 bytes ● Two modes (three) ○ Read-only ■ Impossible to do any further updates. ○ Consumption ■ 0xFF default state, bits can only be changed to zero (after locking config).
  • 11. ENGINEERS AND DEVICES WORKING TOGETHER Personalize the device 1. Configure and lock the configuration data ○ Lots of options here. When just playing with the device, the default configuration is probably a pretty good start 2. Program the slots 3. Lock the data and OTP
  • 12. ENGINEERS AND DEVICES WORKING TOGETHER Personalize - Write Config bits
  • 13. ENGINEERS AND DEVICES WORKING TOGETHER Use cases ● Accessory authentication ○ Mobile device wants to authenticate a (genuine) battery ○ Consumables, ink cartridges etc ○ Technical support ● Secure boot ● Data integrity verification ● Session key exchange Yes, I know it smells DRM ... Data integrity verification example [Image courtesy of Atmel: Atmel-8794-CryptoAuth-ATSHA204-Product-Uses-Application-Note.pdf]
  • 14. ENGINEERS AND DEVICES WORKING TOGETHER I2 C bus and still secure? ● How do I protect the bus between the crypto device and microprocessor? ○ Atmel’s answer (from the FAQ): ■ “Perform an authentication on the result of crypto calculation (CheckMAC command)” ■ “It involves using the second key that is both stored in the CryptoAuthetication device and compiled into the code. After the successful completion of the “CheckMAC” operation, the second secret is copied into the TempKey register. Then the MCU sends over a unique number (for example, time of day), which is then combined with that second secret using SHA and returned to the MCU.” ■ “The software on the MCU does the same combination using the compiled secret to see if it agrees with the result from the authentication device.” ○ The “compiled into the code” part sounds scary and feels like it defeats the purpose of the device, but what if you have that part in a TrustZone protected environment for example?
  • 15. ENGINEERS AND DEVICES WORKING TOGETHER Software for ATSHA204 ● Secure96→ https://github.com/jbech-linaro/secure96 ○ In the future this should be moved to a “Linaro” page. ○ Still very much Work In Progress, but basic communication, read, write, getting config data, generate random numbers, nonce, HMAC etc has been implemented. ○ Personalization “works”, but still a bit crude. ○ Works with any I2 C enabled device, but currently configured so it works with DragonBoard 410c by default. ● Hashlet → https://github.com/cryptotronix/hashlet ○ Has been around for a while, seems pretty mature ○ GPLv3 ● CryptoAuthLib → http://www.atmel.com/tools/CryptoAuthLib.aspx ○ Atmel’s own reference implementation
  • 16. ENGINEERS AND DEVICES WORKING TOGETHER ATECC508A ● Shares lots of functionality with ATSHA204A ● Major difference is that it is working with asymmetric key pairs instead of symmetric key pairs ● Supports ECDH and ECDSA ● Requires NDA (why?) to get the datasheet / TRM! ○ The CryptoAuthLib supports this IC, so you can study the code without the reference manual, but …. ● No work done so far, but in the end this is the device that we would like to use ● http://www.microchip.com/wwwproducts/en/ATECC508A
  • 17. ENGINEERS AND DEVICES WORKING TOGETHER TPM - Infineon SLB 9670 ● I/O: SPI ● Compliant to TCG TPM 1.2 and 2.0 ● Have not done any work with this device more than sanity test it using the ○ Intel TSS TPM2.0 resource manager https://github.com/01org/TPM2.0-TSS.git ○ And the tpm2.0 tools https://github.com/01org/tpm2.0-tools.git ● For more details see the official page for the IC
  • 18. ENGINEERS AND DEVICES WORKING TOGETHER What is next? ● No real roadmap for now, but … some ideas ○ Finalize the ATSHA204A implementation ○ Create a library for the ATSHA204A implementation ○ Offline implementation to mimic device behavior (in a Trusted Application in a TEE) ○ Use IC(s) for secure boot on a 96Boards IoT device ○ Get the specification and implement support for ATECC508A ○ TPM chip ■ Try it out using IMA in Linux ■ Use it to store SSH credentials
  • 19. Thank You #SFO17 SFO17 keynotes and videos on: connect.linaro.org For further information: www.linaro.org