back

Open Source is Insufficient to Solve Trust Problems in Hardware

How Betrusted Aims to Close the Hardware TOCTOU Gap

If you suspend your transcription on amara.org, please add a timestamp below to indicate how far you progressed! This will help others to resume your work!

Please do not press “publish” on amara.org to save your progress, use “save draft” instead. Only press “publish” when you're done with quality control.

Video duration
01:00:45
Language
English
Abstract
While open source is necessary for trustable hardware, it is far from sufficient. This is because “hashing” hardware – verifying its construction down to the transistor level – is typically a destructive process, so trust in hardware is a massive time-of-check/time-of-use (TOCTOU) problem. This talk helps us understand the nature of the TOCTOU problem by providing a brief overview of the supply chain security problem and various classes of hardware implants. We then shift gears to talk about ways to potentially close the TOCTOU gap, concluding with a curated set of verifiable components that we are sharing as an open source mobile communications platform – a kind of combination hardware and software distribution – that we hope can be useful for developing and deploying all manner of open platforms that require a higher level of trust and security.

The inconvenient truth is that open source hardware is precisely as trustworthy as closed source hardware. The availability of design source only enables us to agree that the designer’s intent can be trusted and is likely correct, but there is no essential link between the hardware design source and the piece of hardware on your desk. Thus while open source is necessary for trustable hardware, it is far from sufficient. This is quite opposite from the case of open source software thanks to projects like Reproducible Builds, where binaries can be loaded in-memory and cryptographically verified and independently reproduced to ensure a match to the complete and corresponding source of a particular build prior to execution, thus establishing a robust link between the executable and the source.

Unfortunately, “hashing” hardware – verifying its construction down to the transistor level – is typically a destructive process, so trust in hardware is a massive time-of-check/time-of-use (TOCTOU) problem. Even if you thoroughly inspect the design source, the factory could modify the design. Even if you audit the factory, the courier delivering the hardware to your desk could insert an implant. Even if you carried the hardware from the factory to your desk, an “evil maid” could modify your machine. This creates an existential crisis for trust – how can we know our secrets are safe if the very hardware we use to compute them could be readily tainted?

This talk addresses the elephant in the room by helping us understand the nature of the TOCTOU problem by providing a brief overview of the supply chain security problem and various classes of hardware implants. We then shift gears to talk about ways to potentially close the TOCTOU gap. When thinking about hardening a system against supply chain attacks, every component – from the CPU to the keyboard to the LCD – must be considered in order to defend against implanted screen grabbers and key loggers. At every level, a trade-off exists between complexity and the feasibility of non-destructive end-user verification with minimal tooling: a system simple enough to be readily verified will not have the equivalent compute power or features of a smartphone.

However, we believe that a verifiable system should have adequate performance for a select range of tasks that include text chats, cryptocurrency wallets, and voice calls. Certain high-risk individuals such as politicians, journalists, executives, whistleblowers, and activists may be willing to use a device that forgoes bells and whistles in exchange for privacy and security. With this in mind, the <https://betrusted.io>Betrusted</a> project brings together a curated set of verifiable components as an open source mobile communications platform - a combination open source hardware and software distribution. We are sharing Betrusted with the community in the hopes that others may adopt it as a reference design for developing and deploying all manner of open platforms that require a higher level of trust and security.

Talk ID
10690
Event:
36c3
Day
1
Room
Clarke
Start
11:30 a.m.
Duration
01:00:00
Track
Hardware & Making
Type of
lecture
Speaker
bunnie
Sean "xobs" Cross
Tom Marble
Talk Slug & media link
36c3-10690-open_source_is_insufficient_to_solve_trust_problems_in_hardware

Talk & Speaker speed statistics

Very rough underestimation:
207.0 wpm
1109.3 spm
While speaker(s) speak(s):
211.6 wpm
1134.9 spm
211.6 wpm
1134.9 spm
100.0% Checking done100.0%
0.0% Syncing done0.0%
0.0% Transcribing done0.0%
0.0% Nothing done yet0.0%
  

Work on this video on Amara!

Talk & Speaker speed statistics with word clouds

Whole talk:
207.0 wpm
1109.3 spm
sortchiphardwarebitaheadinsidethingsthingfpgaopenhardproblemsourcepointpeoplechecksilicontrusttalkverificationtimestreambuildkeysdaychipsbasicallyeasyverifygoodimplantbunniedeviceramuserx-raysoftwarelevelplacequestionprocesstopkeyexamplecalledideatermsrombigdesign
While speakers speak:
211.6 wpm
1134.9 spm
sortchiphardwarebitaheadinsidethingsopenthingsourceproblempointhardpeoplefpgasiliconchecktrustkeysverificationdaybuildtimebasicallyeasychipsverifygoodtalkx-rayleveldevicestreamramuserkeycalledsoftwaretopimplantdesignkeyboardchainturnschangeplacetermsstuffbigtrustable
bunnie:
211.6 wpm
1134.9 spm
sortchiphardwarebitaheadinsidethingsopenthingsourceproblempointhardpeoplefpgasiliconchecktrustkeysverificationdaybuildtimebasicallyeasychipsverifygoodtalkx-rayleveldevicestreamramuserkeycalledsoftwaretopimplantdesignkeyboardchainturnschangeplacetermsstuffbigtrustable