Estratto del documento

Indice

1 Security Standards 7

1.1 Introduzione generale alle specifiche di sicurezza . . . . . . . . . . . . . . 7

1.1.1 Il ruolo delle specifiche di sicurezza . . . . . . . . . . . . . . . . . . . . . . 7

1.1.2 Specifiche low-level e standard high-level . . . . . . . . . . . . . . . . . . . 7

1.1.3 Approccio pratico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2 SHE ed EVITA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2.1 Evoluzione delle specifiche SHE ed EVITA . . . . . . . . . . . . . . . . . 8

1.2.2 SHE ed EVITA nei prodotti commerciali . . . . . . . . . . . . . . . . . . 9

1.2.3 Protocolli di comunicazione sicura . . . . . . . . . . . . . . . . . . . . . . 9

1.2.4 Complessità, sistemi legacy e rollback attack . . . . . . . . . . . . . . . . 9

1.3 Secure Hardware Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3.1 Definizione di SHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3.2 Obiettivi principali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3.3 Architettura di SHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3.4 Vista logica SHE-compliant in AUTOSAR . . . . . . . . . . . . . . . . . . 11

1.3.5 Prestazioni crittografiche . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.3.6 Memorie in SHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.3.7 Politica delle chiavi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.4 EVITA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4.1 Obiettivo di EVITA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4.2 EVITA Light, Medium e Full . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.5 Trusted Platform Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.5.1 Definizione di TPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.5.2 TPM 1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.5.3 TPM 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.5.4 Esempio TPM 2.0 ST33GTPMAI2C . . . . . . . . . . . . . . . . . . . . . 15

1.5.5 Metodi di identificazione e autenticazione TPM . . . . . . . . . . . . . . . 15

1.6 UN R155 e ISO/SAE 21434 . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.6.1 Cybersecurity automotive secure by design . . . . . . . . . . . . . . . . . 16

1.6.2 Cyber Security Management System . . . . . . . . . . . . . . . . . . . . . 16

1.6.3 Rapporto con ISO/SAE 21434 . . . . . . . . . . . . . . . . . . . . . . . . 17

1.6.4 Limiti di UN R155 e ISO/SAE 21434 . . . . . . . . . . . . . . . . . . . . 17

1.7 NIS2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.7.1 Obiettivo generale della NIS2 . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.7.2 Settori coinvolti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.7.3 Misure richieste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.7.4 Incident reporting e scadenze . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.8 IEC 62443 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.8.1 Struttura generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1 2

1.8.2 Maturity Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.8.3 Security Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.8.4 Autenticazione nei Security Levels . . . . . . . . . . . . . . . . . . . . . . 20

1.8.5 Ruoli industriali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.9 Cybersecurity nel processo di sviluppo hardware e software . . . . . . . 21

1.9.1 Analisi del rischio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.9.2 Specifiche cybersecurity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1.9.3 Supply chain e contraffazione . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.10 Cybersecurity nel processo di testing . . . . . . . . . . . . . . . . . . . . . 22

1.10.1 Test e validazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.10.2 Secure coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.11 Documentazione cybersecurity . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.11.1 Documenti fondamentali . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.12 Certificazione cybersecurity . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.12.1 Common Criteria ed EAL . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.12.2 Certificazione IEC 62443 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.13 Requisiti cybersecurity nel ciclo di vita . . . . . . . . . . . . . . . . . . . . 24

1.13.1 Secure design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

1.13.2 Secure implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

1.13.3 Secure verification and validation . . . . . . . . . . . . . . . . . . . . . . . 24

1.13.4 Management of secure issues . . . . . . . . . . . . . . . . . . . . . . . . . 24

1.13.5 Security update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

1.14 Foundational Requirements IEC 62443 . . . . . . . . . . . . . . . . . . . . 25

1.14.1 FR1: Identification and Authentication Control . . . . . . . . . . . . . . . 25

1.14.2 FR2: Use Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.14.3 FR3: System Integrity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.14.4 FR4: Data Confidentiality . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.14.5 FR5: Restricted Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.14.6 FR6: Timely Response to Events . . . . . . . . . . . . . . . . . . . . . . . 26

1.14.7 FR7: Resource Availability . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1.15 Impatto della cybersecurity sull’organizzazione . . . . . . . . . . . . . . . 26

1.15.1 Vulnerability management e threat intelligence . . . . . . . . . . . . . . . 26

1.15.2 Preparazione, rilevamento, risposta e post-incident management . . . . . 26

1.15.3 Costi, soluzioni e rischio residuo . . . . . . . . . . . . . . . . . . . . . . . 27

2 Nozioni fondamentali di crittografia 27

2.1 Significato generale della crittografia . . . . . . . . . . . . . . . . . . . . . 27

2.2 Comunicazione tra Alice, Bob e adversary . . . . . . . . . . . . . . . . . . 28

2.3 Servizi di sicurezza della crittografia . . . . . . . . . . . . . . . . . . . . . . 28

3 Crittografia simmetrica 28

3.1 Principio della symmetric key encryption . . . . . . . . . . . . . . . . . . 28

3

3.2 Problema dello scambio della chiave . . . . . . . . . . . . . . . . . . . . . . 29

3.3 Key Distribution Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Advanced Encryption Standard 29

4.1 Introduzione generale ad AES . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.2 Struttura dello State AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.3 Parametri AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.4 Caricamento del blocco nello State . . . . . . . . . . . . . . . . . . . . . . . 31

5 Struttura interna dell’algoritmo AES 31

5.1 Cifratura AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.2 Decifratura AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6 SubBytes 31

6.1 Funzione della trasformazione SubBytes . . . . . . . . . . . . . . . . . . . 32

6.2 Costruzione e uso della S-box . . . . . . . . . . . . . . . . . . . . . . . . . . 32

7 ShiftRows 33

7.1 Funzione della trasformazione ShiftRows . . . . . . . . . . . . . . . . . . . 33

8 MixColumns 34

8.1 Funzione della trasformazione MixColumns . . . . . . . . . . . . . . . . . 34

9 Trasformazioni inverse 34

9.1 InvSubBytes, InvShiftRows e InvMixColumns . . . . . . . . . . . . . . . 35

10 AddRoundKey 36

10.1 Ruolo dello XOR con la chiave . . . . . . . . . . . . . . . . . . . . . . . . . 36

11 AES Key Schedule 36

11.1 Necessità dell’espansione della chiave . . . . . . . . . . . . . . . . . . . . . 36

11.2 Struttura del Key Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

11.3 Key Expansion per AES-128 e AES-256 . . . . . . . . . . . . . . . . . . . 37

11.4 Inversione del Key Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

12 Modalità operative dei cifrari a blocchi 38

12.1 Perché servono le modalità operative . . . . . . . . . . . . . . . . . . . . . 38

13 ECB Mode 38

13.1 Funzionamento di ECB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

14 CBC Mode 39

14.1 Funzionamento di CBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

15 CFB Mode 39

4

15.1 Funzionamento di CFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

16 OFB Mode 40

16.1 Funzionamento di OFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

17 CTR Mode 40

17.1 Funzionamento di CTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

18 CMAC 41

18.1 Funzione generale di CMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

19 CCM Mode 42

19.1 Funzione generale di CCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

19.2 Formattazione e cifratura CCM . . . . . . . . . . . . . . . . . . . . . . . . . 42

19.3 Decifratura e verifica CCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

20 GCM Mode 43

20.1 Funzione generale di GCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

20.2 Cifratura e validazione GCM . . . . . . . . . . . . . . . . . . . . . . . . . . 44

21 XTS Mode 44

21.1 Funzione generale di XTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

21.2 Cifratura e decifratura XTS . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

22 The Crypto-Tile 45

22.1 Introduzione al Crypto-Tile . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

22.2 AES Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

22.2.1 Ruolo dell’AES Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

22.2.2 Modalità operative AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

22.3 Architettura CRFlex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

22.3.1 Idea generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

22.3.2 Datapath di cifratura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

22.3.3 Datapath di decifratura . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

22.4 Funzionamento delle principali modalità AES . . . . . . . . . . . . . . . 51

22.4.1 ECB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

22.4.2 CBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

22.4.3 OFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

22.4.4 CFB e CTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

22.5 Microarchitettura CRFlex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

22.5.1 Componenti principali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

22.5.2 Data input gate logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

22.5.3 IV input gate logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

22.5.4 Feedback path logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5

22.5.5 Output XOR disable logic . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

22.5.6 Data input or IV forward logic . . . . . . . . . . . . . . . . . . . . . . . . 55

22.6 Modulo AES interno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

22.6.1 Struttura generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

22.6.2 Architettura interna del datapath AES . . . . . . . . . . . . . . . . . . . . 56

22.6.3 Gestione della cifratura . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

22.6.4 Gestione della decifratura . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

22.7 Controllo e segnali operativi . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

22.7.1 Segnali principali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

22.7.2 Ruolo della FSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

22.8 Considerazioni architetturali . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

22.8.1 Flessibilità hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

22.8.2 Efficienza e prestazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

22.8.3 Sicurezza funzionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

23 FSMs and Management 59

23.1 Introduzione alle FSM nella Crypto-Tile . . . . . . . . . . . . . . . . . . . 59

23.2 Architettura generale della Crypto-Tile . . . . . . . . . . . . . . . . . . . . 60

23.3 Struttura interna dei crypto-processors . . . . . . . . . . . . . . . . . . . . 60

24 Stati della FSM 61

24.1 Available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

24.2 Configured . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

24.3 Ready . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

24.4 Running . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

24.5 Ended . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

24.6 Cancelled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

24.7 Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

25 Global Configuration Module 63

25.1 Funzione generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

25.2 Registri globali e controllo centralizzato . . . . . . . . . . . . . . . . . . . 63

25.3 Meccanismi di sicurezza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

26 Clock Manager Unit 64

26.1 Architettura del clock manager . . . . . . . . . . . . . . . . . . . . . . . . . 64

26.2 Clock divider e clock gating . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

26.3 Clock randomizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

27 Risultati di implementazione 65

27.1 Implementazione FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

27.2 Implementazione standard-cell . . . . . . . . . . . . . . . . . . . . . . . . . 65

6

28 AES Engine Results 66

28.1 Ruolo dell’AES engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

28.2 Prestazioni e throughput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

7

1 Security Standards

1.1 Introduzione generale alle specifiche di sicurezza

1.1.1 Il ruolo delle specifiche di sicurezza

Le specifiche di sicurezza servono a definire come progettare, realizzare, verificare e mante-

nere sistemi hardware e software capaci di resistere ad attacchi informatici, errori accidentali,

manipolazioni e usi non autorizzati. In ambito embedded, automotive e industriale, la cyberse-

curity non può essere considerata come un’aggiunta finale al prodotto, ma deve essere integrata

fin dall’inizio nel processo di progettazione.

Un sistema sicuro deve proteggere informazioni, dispositivi, comunicazioni, software, firmware,

chiavi crittografiche e processi operativi. Per farlo servono sia soluzioni tecniche di basso livello,

come moduli hardware sicuri, algoritmi crittografici e memorie protette, sia procedure di alto

livello, come gestione del rischio, risposta agli incidenti, supply chain security e aggiornamenti

sicuri.

1.1.2 Specifiche low-level e standard high-level

Specifiche low-level Le specifiche low-level si concentrano sugli aspetti tecnici interni dei

componenti hardware e software. Sono utilizzate soprattutto dai produttori di circuiti integrati,

microcontrollori, moduli di sicurezza e dispositivi embedded.

Esempi importanti sono:

• SHE, cioè Secure Hardware Extension;

• EVITA, cioè E-safety Vehicle Intrusion Protected Applications;

• TPM, cioè Trusted Platform Module.

Queste specifiche definiscono elementi come gestione delle chiavi, accelerazione crittografica,

secure boot, protezione della memoria, generazione di numeri casuali, autenticazione e funzioni

di cifratura. Il loro limite è che spesso non coprono in modo completo gli aspetti di sistema, di

processo e di organizzazione.

Direttive e standard high-level Le direttive e gli standard high-level si occupano invece

di aspetti più ampi: gestione del rischio, obblighi organizzativi, procedure di sicurezza, supply

chain, incident handling, governance e conformità normativa.

Esempi rilevanti sono: 8

• NIS2;

• UN R155 e UN R156;

• IEC 62443;

• ISO/SAE 21434.

Questi standard sono fondamentali per definire una strategia di cybersecurity a livello di sistema

e organizzazione, ma spesso non indicano nel dettaglio quali soluzioni hardware o software

implementare.

1.1.3 Approccio pratico

Un approccio efficace consiste nel combinare i due livelli. Le direttive high-level permettono di

definire procedure di sviluppo sicuro, responsabilità, gestione del rischio e aspetti organizzativi;

le specifiche low-level permettono invece di realizzare concretamente le funzioni di protezione

all’interno dei dispositivi.

La progettazione secure by design nasce proprio da questa integrazione: da un lato si seguono

standard organizzativi e di processo, dall’altro si sfruttano funzionalità già presenti nei dispositivi

COTS, cioè Commercial Off The Shelf, come HSM, TPM, librerie crittografiche pubbliche e

moduli hardware integrati.

1.2 SHE ed EVITA

1.2.1 Evoluzione delle specifiche SHE ed EVITA

SHE rappresenta una delle prime specifiche pensate per introdurre funzionalità hardware di

sicurezza nei microcontrollori automotive. L’idea principale è creare un sottosistema configura-

bile capace di proteggere le chiavi crittografiche e svolgere operazioni di sicurezza senza esporre

direttamente i segreti al software.

EVITA estende questo concetto introducendo un sottosistema programmabile più flessibile e

D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher ingchiaretta98 di informazioni apprese con la frequenza delle lezioni di Hardware and embedded security e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pisa o del prof Niccolini Federico.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community