Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique...

50
Lilian Bossuet Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean Monnet, Saint-Etienne, France 25 janvier 2018 Saint-Malo, France

Transcript of Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique...

Page 1: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Lilian BossuetLaboratoire Hubert Curien, CNRS UMR 5516

Université Jean Monnet, Saint-Etienne, France

25 janvier 2018Saint-Malo, France

Page 2: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

De multiples attaques sur les systèmes embarqués connectés

FETCH 2018 225 janvier 2018 - L. Bossuet

Page 3: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe
Page 4: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Une TEE est un microkernel pour la sécurité Utilise des ressources matérielles dédiées

FETCH 2018 425 janvier 2018 - L. Bossuet

Page 5: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Element sécurisé externe

Processeur

SOC

Composants de la TEE

ROM RAM

Périphériques internes

Périphériques d’E/S

(TPM, carte à puce, crypto-processeur)

Processeur

SOC

ROM RAM

Périphériques internes

Périphériques d’E/S

Element sécurisé interne

Processeur

SOC

ROM RAM

Périphériques internes

Périphériques d’E/S

Périphériques externes

Mémoire externe

Périphériques externes

Mémoire externe

Périphériques externes

Mémoire externe

a) architecture de TEE basée sur un élément sécurisé externe

b) architecture de TEE basée sur un élément sécurisé interne

c) architecture de TEE basée sur un SoC avec technologie de sécurité d’exécusion du type

ARM TrustZone

FETCH 2018 525 janvier 2018 - L. Bossuet

Page 6: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

6

Exemple du Freescale i.MX6

FETCH 201825 janvier 2018 - L. Bossuet

Page 7: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

7

TrustZone Central Security Unit (CSU) – TZ Address Space Controller (TZASPC), TZ Watchdog

FETCH 201825 janvier 2018 - L. Bossuet

Page 8: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

8

Cryptographic Acceleration and Assurance Module (CAAM) Secure Non-Volatile Storage (SNVS) System JTAG Controller with secure debug On-chip One-time Programmable (OCOTP) A On-chip boot ROM

FETCH 201825 janvier 2018 - L. Bossuet

Page 9: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe
Page 10: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Analyse du rayonnement EM du chiffreur AES masqué Cartographies EM avec trois ensemble de données

Objectif : localisation géographique et temporelle du CAAM dans le SoC

10FETCH 201825 janvier 2018 - L. Bossuet

Set 1HW(clé) : 0 HW(message) : 0 HW(chiffré) : 65

128 0 64

Set 2HW(message) : 0 HW(chiffré) : 65 HW(clé) : 0

128 68 0

Set 3HW(chiffré) : 0 HW(clé) : 0 HW(message) : 65

128 128 65

Page 11: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

11FETCH 201825 janvier 2018 - L. Bossuet

Page 12: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

12FETCH 201825 janvier 2018 - L. Bossuet

clé message chiffré AES

Page 13: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

FETCH 2018 1325 janvier 2018 - L. Bossuet

Injection d’impulsions EM pendant le chiffrement pendant transfert de

données

Page 14: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe des possibilités d’attaques en fautes. Pas de protection particulière si l’on exécute un algorithme

cryptographique dans le processeur généraliste même dans le monde sécurisé…

Publication F. Majéric, E. Bourbabo, L. Bossuet. Electromagnetic security for

SoC. In Proceedings of the 23rd IEEE International Conference on Electronics Circuits and Systems, ICECS 2016, Monte Carlo, Monaco, December 2016.

FETCH 2018 1425 janvier 2018 - L. Bossuet

Page 15: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe
Page 16: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

FETCH 201825 janvier 2018 - L. Bossuet 16

Ext. FLASHROM

Bootloader 1 (BL1)Public Key 1

Bootloader 2 (BL2)

Linux Kernel

Vola

tile

mem

ory

Page 17: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

ROM

Bootloader 1 (BL1)

Public Key 1

Public Key 2

Ext. FLASH

Vola

tile

mem

ory

Bootloader 2 (BL2)

Linux Kernel

LDR Rd,[Rn]STR Rd,[Rk]

Page 18: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

ROM

Bootloader 1 (BL1)

Public Key 1

Public Key 2

Ext. FLASH

Vola

tile

mem

ory

SignatureBootloader 2 (BL2)

Linux Kernel

Page 19: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

ROM

Bootloader 1 (BL1)

Public Key 1

Public Key 2

Ext. FLASH

Vola

tile

mem

ory

Signature

Bootloader 2 (BL2) Public Key 3

Linux Kernel

LDR Rd,[Rn]STR Rd,[Rk]

Page 20: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

ROM

Bootloader 1 (BL1)

Public Key 1

Public Key 2

Ext. FLASH

Vola

tile

mem

ory

Signature

Bootloader 2 (BL2) Public Key 3

Signature Linux Kernel

Page 21: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

ROM

Bootloader 1 (BL1)

Public Key 1

Public Key 2

Ext. FLASH

Vola

tile

mem

ory

Signature

Bootloader 2 (BL2) Public Key 3

Signature Linux Kernel

Page 22: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

ROM

Bootloader 1 (BL1)

Bootloader 2 (BL2)

Linux Kernel

Public Key 1

Public Key 2

Public Key 3

Public Key 4Signature

Ext. FLASH

Signature

Signature

Vola

tile

mem

ory

Page 23: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Ext. FLASHROM

Bootloader 1 (BL1)Public Key 1

Bootloader 2 (BL2)

Linux Kernel

Vola

tile

mem

ory

Page 24: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Ext. FLASHROM Public Key 1

Bootloader 2 (BL2)

Linux Kernel

Vola

tile

mem

ory

Page 25: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

ROM Public Key 1Ext. FLASH

Vola

tile

mem

ory

Bootloader 2 (BL2)

Linux Kernel

Malicious code

Pointer to @ of malicious code

Pointer to @ of malicious code

……

LDR Rd,[Rn]STR Rd,[Rk]

Page 26: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

ROM Public Key 1Ext. FLASH

Vola

tile

mem

ory

Bootloader 2 (BL2)

Linux Kernel

Malicious code

Pointer to @ of malicious code

Pointer to @ of malicious code

……

Run the codeLDR PC,[Rn]

Page 27: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Comment est-ce possible ? LDR processing instruction LDR{<cond>} Rd, [Rn {,#+/-12_bit_offset }]

LDR R13, [R0] ([R0]point to the address of the malicious code)

27

cond 01 I P U 0 W 1 Rn Rd 12_bit_offset

31 28 27 26 25 24 23 22 21 20 19 16 15 12 11 0

1110 01 0 1 1 0 0 1 0000 1101 000000000000

31 28 27 26 25 24 23 22 21 20 19 16 15 12 11 0

FETCH 201825 janvier 2018 - L. Bossuet

Page 28: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Comment est-ce possible ? LDR processing instruction LDR{<cond>} Rd, [Rn {,#+/-12_bit_offset }]

LDR PC , [R0] ([R0]point to the address of the malicious code)

28

cond 01 I P U 0 W 1 Rn Rd 12_bit_offset

31 28 27 26 25 24 23 22 21 20 19 16 15 12 11 0

1110 01 0 1 1 0 0 1 0000 1111 000000000000

31 28 27 26 25 24 23 22 21 20 19 16 15 12 11 0

FETCH 201825 janvier 2018 - L. Bossuet

Page 29: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

29FETCH 201825 janvier 2018 - L. Bossuet

N. Timmers, A. Spruyt and M. Witteman,ControllingPC on ARM using fault injection, in Workshop on FaultDiagnosis and Tolerance in Cryptography, (FDTC2016), Santa Barbara, CA, US, August 16, 2016.

Page 30: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Injection durant l’exécution de LDR Rd, [R0] Vérfier si LDR Rd, [R0] => LDR PC, [R0]

30FETCH 201825 janvier 2018 - L. Bossuet

Page 31: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

FETCH 2018 3125 janvier 2018 - L. Bossuet

Rd changed into PC: Rd Rd occurrenceR12 8

R11 6

R10 3

R9 2

R8 2

R7 5

R6 1

R5 0

R4 0

R3 4

R2 1

R1 1

Page 32: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

La sécurité de la séquence de chargement du boot est assurée par un protocole cryptographique

Faille de sécurité matérielle due à une trop faible distance de Hamming entre les registres généraux et registres spéciaux du processeur

FETCH 2018 3225 janvier 2018 - L. Bossuet

Page 33: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe
Page 34: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

INTEL SoC FPGA ARM Dual Core Cortex-A9 ALTERA Cyclone V FPGA

Projet FUI TEEVA – Réunion de démarrage 3429 janvier 2016 - L. Bossuet

Xilinx Zynq ARM Dual Core Cortex-A9 Xilinx Artix-7 FPGA

Page 35: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

35FETCH 201825 janvier 2018 - L. Bossuet

Page 36: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Extension de la TrustZone d’un cœur ARM vers le FPGA

36FETCH 201825 janvier 2018 - L. Bossuet

Page 37: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

En mode non securisé (REE)

Projet FUI TEEVA – Réunion de démarrage 3713 janvier 2016 - L. Bossuet

Page 38: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

En mode securisé (TEE)

38FETCH 201825 janvier 2018 - L. Bossuet

Page 39: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Architecture du système développé (Xilinx Vivado)

39FETCH 201825 janvier 2018 - L. Bossuet

Page 40: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe
Page 41: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Corruption d’AWPROT et ARPROT

41FETCH 201825 janvier 2018 - L. Bossuet

Page 42: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Corruption du signal d’erreur

Projet FUI TEEVA – Réunion de démarrage 4213 janvier 2016 - L. Bossuet

Page 43: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Cheval de Troie matériel

43FETCH 201825 janvier 2018 - L. Bossuet

Page 44: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Mémorisation de l’ID de l’IP sécurisé

44FETCH 201825 janvier 2018 - L. Bossuet

Page 45: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Récupération d’ID

45FETCH 201825 janvier 2018 - L. Bossuet

Page 46: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

46FETCH 201825 janvier 2018 - L. Bossuet

Page 47: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe
Page 48: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Preuve de concept de plusieurs attaques possiblesciblant l’extension de la TrsutZone dans un SoCcomplexe hétérogène (FPGA + ARM) Publication : El Mehdi Benhani, Cédric Marchand, Alain Aubert, Lilian Bossuet.

On the Security Evaluation of the ARM TrustZone Extension in aHeterogeneous SoC. IEEE SOCC, Munich, September 2017

En cours Mise en évidence de fuites d’informations sur canaux internes

48FETCH 201825 janvier 2018 - L. Bossuet

Page 49: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

49

“Ce projet est financé dans le cadre du 20ème appel à projets de R&D du Fonds Unique Interministériel (FUI)”

FETCH 201825 janvier 2018 - L. Bossuet

Page 50: Laboratoire Hubert Curien, CNRS UMR 5516 Université Jean ... · L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe

Lilian BossuetLaboratoire Hubert Curien, CNRS UMR 5516

Université Jean Monnet, Saint-Etienne, France

25 janvier 2018Saint-Malo, France