& relevant papers > Writing reverse engineering tools see QBDI on Github > Used to work as a security consultant in Paris software, cryptography, hardware security audits & certifications Who Am I?
> Breaking has a short term impact, building has a long term impact > During my first internship I was told I should stop breaking stuff … and try building secure things instead Breaking vs Building
lacks time > makes security mistakes > Ideally, security team: > proposes security specifications to development team > audits resulting implementations Security in a Big Company
> Integrated inside security department => better communication with other security teams > Design and develop security features => relieve development team workload Security Development Team
please read the Letter Sealing white paper available online > Server and network only see devices public key Letter Sealing Principle > Message is end-to-end encrypted with a shared secret key only known by the devices
No platform specific backup mechanism > Need to resist the Insider Threat Model > Need to work in case of broken or lost devices => No interactive out-of-band communication (WiFi, Bluetooth, NFC, …) A Hard Problem…
Defense in depth > Insider threat model > Anybody inside the communication channel > An attacker compromising LINE infrastructure > A malicious LINE employee > A state actor compromising BGP, DNS, Certificate PKI, … The Enemy Within
the private key, completely compromising the letter sealing - The security level is equivalent to no encryption +No interaction required by the user The Best UX…
Key Public Key Encrypted Messages Encrypted Messages But the Worst UX Private Key Private Key E D 3rktsW54u0EmtRoa76uC7F68hcqJ8lz3 Securely Generated Password
offline brute-force > Users are bad at choosing and remembering complex (high entropy) passwords > Simple (low entropy) passwords are easy to enumerate 6 digits PIN code => 1 000 000 possibilities 25 most common passwords cover 10% of passwords in usage¹ Danger of Low Entropy ¹ https://time.com/4639791/worst-passwords-2016/
padlock Everyday Low Entropy Secrets Hardware makes every try slow ARM TrustZone / Apple Secure Enclave enforces maximum attempts and timeout Secure Element enforces maximum attempts
side channels, fault injection, … > Separate management Signed updates, separate management key, memory erased on reset … > Isolated from the main system => Smaller attack surface to audit and secure Secure Hardware Advantages
the motherboard > Hardware Security Module (HSM) > Dedicated hardware connected via Ethernet or PCI-E > Trusted Execution Environment (TEE) > CPU software isolation: Intel SGX, AMD PSP, ARM TrustZone Server Side Technologies
failed attempt > a timeout after too many failed attempt > The HSM private key is securely stored An insider cannot extract it or clone it > External encryption has the highest entropy possible An insider cannot brute-force it HSM Double Encryption Properties
signing private key > Code signing private key can either be: > Physically destroyed through a verifiable process (e.g. key ceremony) > Sharded across several employees to delegate trust > The HSM private key can be bound to the code signing public key Resetting the code signing key invalids the private key Security Model