Sancus: A Low-Cost Security Architecture for Distributed IoT - - PowerPoint PPT Presentation

sancus a low cost security architecture for distributed
SMART_READER_LITE
LIVE PREVIEW

Sancus: A Low-Cost Security Architecture for Distributed IoT - - PowerPoint PPT Presentation

Sancus: A Low-Cost Security Architecture for Distributed IoT Applications on a Shared Infrastructure Job Noorman Public PhD Defence 19 Apr 2017 Safety considerations when lodging in a hotel Untrusted guests Locked room Unknown personnel


slide-1
SLIDE 1

Sancus: A Low-Cost Security Architecture for Distributed IoT Applications on a Shared Infrastructure

Job Noorman

Public PhD Defence

19 Apr 2017

slide-2
SLIDE 2

Safety considerations when lodging in a hotel

Untrusted guests

Locked room

Unknown personnel

Just trust them

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 1 / 33

slide-3
SLIDE 3

A hotel as an analogy for computing devices

Untrusted guests

Locked room

Unknown personnel

Just trust them

Other applications

Virtual memory, virtual machines,. . .

Operating system

Just trust it

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 1 / 33

slide-4
SLIDE 4

A hotel as an analogy for computing devices

Untrusted guests

Locked room

Unknown personnel

Just trust them

Hostile environment

Guarded transportation

Other applications

Virtual memory, virtual machines,. . .

Operating system

Just trust it

Untrusted network

Cryptography

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 1 / 33

slide-5
SLIDE 5

A hotel nobody would want to go, a good analogy for embedded devices

Untrusted guests

Locked room

Unknown personnel

Just trust them

Hostile environment

Guarded transportation

No rooms/walls

Don’t go there

Other applications

Virtual memory, virtual machines,. . .

Operating system

Just trust it

Untrusted network

Cryptography

No software isolation

Well, just go there anyway. . .

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 1 / 33

slide-6
SLIDE 6

Lack of isolation problematic for third-party extensibility

Private hotel

No other guests

Monolithic application

Single, fixed binary

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 2 / 33

slide-7
SLIDE 7

Lack of isolation problematic for third-party extensibility

Private hotel

No other guests

Trusted guests

Bouncer at the entrance

Monolithic application

Single, fixed binary

First-party extensibility

Authenticated binaries

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 2 / 33

slide-8
SLIDE 8

Lack of isolation problematic for third-party extensibility

Private hotel

No other guests

Trusted guests

Bouncer at the entrance

Untrusted guests

Rooms for security

Monolithic application

Single, fixed binary

First-party extensibility

Authenticated binaries

Third-party extensibility

Memory isolation for security

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 2 / 33

slide-9
SLIDE 9

Although very relevant, low-end devices lack effective security features

More threats on embedded devices

Due to network connectivity and third-party extensibility

No effective solutions exist

It’s “a mess” (Viega and Thompson)

Researchers are exploring this area

E.g., SMART (El Defrawy et al.)

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 3 / 33

slide-10
SLIDE 10

Goal: create a trustworthy hotel for secure lodging

Isolation of guests

Private rooms for the guests

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 4 / 33

slide-11
SLIDE 11

Goal: create a trustworthy hotel for secure lodging

Isolation of guests

Private rooms for the guests

Attestation of well-being

Proof unharmed arrival

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 4 / 33

slide-12
SLIDE 12

Goal: create a trustworthy hotel for secure lodging

Isolation of guests

Private rooms for the guests

Attestation of well-being

Proof unharmed arrival

Secure communication

Call home/with other guests

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 4 / 33

slide-13
SLIDE 13

Goal: create a trustworthy hotel for secure lodging

Isolation of guests

Private rooms for the guests

Attestation of well-being

Proof unharmed arrival

Secure communication

Call home/with other guests

Zero-people Trusted Lodging Base

Less people to trust, less can go wrong

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 4 / 33

slide-14
SLIDE 14

Goal: design and implement a low-cost, extensible security architecture

Isolation of software modules

Memory isolation for data and code

Attestation of a module’s state

Proof integrity and isolation

Secure communication

Both locally and remotely

Zero-software Trusted Computing Base

Counteracting attackers with full control over infrastructural software

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 5 / 33

slide-15
SLIDE 15

Extended goals

Confidentiality of communication and code

Authenticity often not enough

Guarantees for distributed applications

On an infrastructure shared with the attacker

Securing unaltered legacy code

When changing code is impossible/too expensive

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 6 / 33

slide-16
SLIDE 16

Target: a generic system model

Infrastructure provider

IP owns and administers nodes Ni

Software providers

SPj wants to use the infrastructure

Software modules

SMj,k is deployed by SPj on Ni

N1 N2 IP SP1 SP2

. . .

SM1,1 SM2,1

· · ·

SM2,2 SMj,k

· · ·

. . .

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 7 / 33

slide-17
SLIDE 17

Example node configuration

Node SMS SM1 SMn S SP1 SPn IP

. . . . . .

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 8 / 33

slide-18
SLIDE 18

Preview

1

Module isolation

2

Key management

3

Remote attestation and secure communication

4

Secure linking

5

Results

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 9 / 33

slide-19
SLIDE 19

Overview

1

Module isolation Hotel analogy Module layout Access rights enforcement

2

Key management

3

Remote attestation and secure communication

4

Secure linking

5

Results

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 10 / 33

slide-20
SLIDE 20

Safe lodging for guests by building rooms

Walls to keep other guests and personnel out

Safeguard possessions, prevent attacks

Door with lock to allow controlled access

We want room service, right?

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 11 / 33

slide-21
SLIDE 21

Modules are bipartite with a text section and a private data section

Immutable text section

Containing code and constants

Private data section

Containing secret runtime data

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 12 / 33

slide-22
SLIDE 22

Node with one software module loaded

Unprotected Entry point Code & constants Unprotected SM1 text section Protected data SM1 protected data section Unprotected Memory KN,SP,SM1 Next ID Caller ID KN SM1 metadata Layout Keys Protected storage area Node

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 13 / 33

slide-23
SLIDE 23

Node with one software module loaded

Text and data sections Unprotected Entry point Code & constants Unprotected SM1 text section Protected data SM1 protected data section Unprotected Memory KN,SP,SM1 Next ID Caller ID KN SM1 metadata Layout Keys Protected storage area Node

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 13 / 33

slide-24
SLIDE 24

Node with one software module loaded

Module layout Unprotected Entry point Code & constants Unprotected SM1 text section Protected data SM1 protected data section Unprotected Memory KN,SP,SM1 Next ID Caller ID KN SM1 metadata Layout Keys Protected storage area Node

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 13 / 33

slide-25
SLIDE 25

Node with one software module loaded

Module identity Unprotected Entry point Code & constants Unprotected SM1 text section Protected data SM1 protected data section Unprotected Memory KN,SP,SM1 Next ID Caller ID KN SM1 metadata Layout Keys Protected storage area Node

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 13 / 33

slide-26
SLIDE 26

Node with one software module loaded

Module entry point Unprotected Entry point Code & constants Unprotected SM1 text section Protected data SM1 protected data section Unprotected Memory KN,SP,SM1 Next ID Caller ID KN SM1 metadata Layout Keys Protected storage area Node

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 13 / 33

slide-27
SLIDE 27

Node with one software module loaded

Module keys Unprotected Entry point Code & constants Unprotected SM1 text section Protected data SM1 protected data section Unprotected Memory KN,SP,SM1 Next ID Caller ID KN SM1 metadata Layout Keys Protected storage area Node

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 13 / 33

slide-28
SLIDE 28

Node with one software module loaded

ID registers Unprotected Entry point Code & constants Unprotected SM1 text section Protected data SM1 protected data section Unprotected Memory KN,SP,SM1 Next ID Caller ID KN SM1 metadata Layout Keys Protected storage area Node

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 13 / 33

slide-29
SLIDE 29

Modules are isolated using program-counter based memory access control

Variable access rights

Depending on the current program counter

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 14 / 33

slide-30
SLIDE 30

Modules are isolated using program-counter based memory access control

Variable access rights

Depending on the current program counter

From/to Text Data Unprotected Text Other

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 14 / 33

slide-31
SLIDE 31

Modules are isolated using program-counter based memory access control

Variable access rights

Depending on the current program counter

From/to Text Data Unprotected Text Other

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 14 / 33

slide-32
SLIDE 32

Modules are isolated using program-counter based memory access control

Variable access rights

Depending on the current program counter

From/to Text Data Unprotected Text Other

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 14 / 33

slide-33
SLIDE 33

Modules are isolated using program-counter based memory access control

Variable access rights

Depending on the current program counter

Isolation of data

Only accessible from text section

From/to Text Data Unprotected Text rw- Other

  • Job Noorman (Public PhD Defence)

Sancus 19 Apr 2017 14 / 33

slide-34
SLIDE 34

Modules are isolated using program-counter based memory access control

Variable access rights

Depending on the current program counter

Isolation of data

Only accessible from text section

Protection against code misuse (e.g., ROP)

From/to Text Data Unprotected Text r-x rw- Other

  • Job Noorman (Public PhD Defence)

Sancus 19 Apr 2017 14 / 33

slide-35
SLIDE 35

Node with one software module loaded

Module entry point Unprotected Entry point Code & constants Unprotected SM1 text section Protected data SM1 protected data section Unprotected Memory KN,SP,SM1 Next ID Caller ID KN SM1 metadata Layout Keys Protected storage area Node

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 14 / 33

slide-36
SLIDE 36

Modules are isolated using program-counter based memory access control

Variable access rights

Depending on the current program counter

Isolation of data

Only accessible from text section

Protection against code misuse (e.g., ROP)

Enter module through single entry point

From/to Text Data Unprotected Entry r-x rw- Text r-x rw- Other

  • Job Noorman (Public PhD Defence)

Sancus 19 Apr 2017 14 / 33

slide-37
SLIDE 37

Modules are isolated using program-counter based memory access control

Variable access rights

Depending on the current program counter

Isolation of data

Only accessible from text section

Protection against code misuse (e.g., ROP)

Enter module through single entry point

From/to Entry Text Data Unprotected Entry r-x r-x rw- Text r-x r-x rw- Other

  • -x
  • Job Noorman (Public PhD Defence)

Sancus 19 Apr 2017 14 / 33

slide-38
SLIDE 38

Modules are isolated using program-counter based memory access control

Variable access rights

Depending on the current program counter

Isolation of data

Only accessible from text section

Protection against code misuse (e.g., ROP)

Enter module through single entry point

From/to Entry Text Data Unprotected Entry r-x r-x rw- rwx Text r-x r-x rw- rwx Other

  • -x
  • rwx

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 14 / 33

slide-39
SLIDE 39

Isolation can be enabled/disabled using new instructions

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 15 / 33

slide-40
SLIDE 40

Node with one software module loaded

Module layout Unprotected Entry point Code & constants Unprotected SM1 text section Protected data SM1 protected data section Unprotected Memory KN,SP,SM1 Next ID Caller ID KN SM1 metadata Layout Keys Protected storage area Node

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 15 / 33

slide-41
SLIDE 41

Isolation can be enabled/disabled using new instructions

protect layout, SP

Enables isolation at layout

unprotect

Disables isolation of current SM

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 15 / 33

slide-42
SLIDE 42

Overview

1

Module isolation

2

Key management

3

Remote attestation and secure communication

4

Secure linking

5

Results

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 16 / 33

slide-43
SLIDE 43

Providing a flexible, inexpensive way for secure communication

Establish a shared secret

Between SP and its module SM

Use symmetric crypto

Public-key is too expensive for low-cost nodes

Ability to deploy modules without IP intervening

After initial registration, that is

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 17 / 33

slide-44
SLIDE 44

Key derivation scheme allowing both Sancus and SP’s to get the same key

IP N1 N2 SP1 SP2 SM1 SM2 SM3 SP3 N3 Infrastructure provider is trusted party

Able to derive all keys

Every node N stores a key KN

Generated at random

Derived key based on SP ID

KSP = kdf(KN, SP)

Derived key based on SM identity

KSM = kdf(KSP, SM)

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 18 / 33

slide-45
SLIDE 45

Key derivation scheme allowing both Sancus and SP’s to get the same key

IP N1 N2 SP1 SP2 SM1 SM2 SM3 SP3 N3 Infrastructure provider is trusted party

Able to derive all keys

Every node N stores a key KN

Generated at random

Derived key based on SP ID

KSP = kdf(KN, SP)

Derived key based on SM identity

KSM = kdf(KSP, SM)

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 18 / 33

slide-46
SLIDE 46

Key derivation scheme allowing both Sancus and SP’s to get the same key

IP N1 N2 SP1 SP2 SM1 SM2 SM3 SP3 N3 Infrastructure provider is trusted party

Able to derive all keys

Every node N stores a key KN

Generated at random

Derived key based on SP ID

KSP = kdf(KN, SP)

Derived key based on SM identity

KSM = kdf(KSP, SM)

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 18 / 33

slide-47
SLIDE 47

Key derivation scheme allowing both Sancus and SP’s to get the same key

IP N1 N2 SP1 SP2 SM1 SM2 SM3 SP3 N3 Infrastructure provider is trusted party

Able to derive all keys

Every node N stores a key KN

Generated at random

Derived key based on SP ID

KSP = kdf(KN, SP)

Derived key based on SM identity

KSM = kdf(KSP, SM)

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 18 / 33

slide-48
SLIDE 48

Node with one software module loaded

Module identity Unprotected Entry point Code & constants Unprotected SM1 text section Protected data SM1 protected data section Unprotected Memory KN,SP,SM1 Next ID Caller ID KN SM1 metadata Layout Keys Protected storage area Node

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 18 / 33

slide-49
SLIDE 49

Node with one software module loaded

Module keys Unprotected Entry point Code & constants Unprotected SM1 text section Protected data SM1 protected data section Unprotected Memory KN,SP,SM1 Next ID Caller ID KN SM1 metadata Layout Keys Protected storage area Node

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 18 / 33

slide-50
SLIDE 50

Isolation can be enabled/disabled using new instructions

protect layout, SP

Enables isolation at layout and calculates KN,SP,SM

unprotect

Disables isolation of current SM

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 18 / 33

slide-51
SLIDE 51

Overview

1

Module isolation

2

Key management

3

Remote attestation and secure communication Hotel analogy Key idea Secure communication Remote attestation

4

Secure linking

5

Results

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 19 / 33

slide-52
SLIDE 52

Verify safety of guests and communicate with them

Verify guest has safely arrived in room

A lot can go wrong in our hostile setting

Secure communication between guests and their home

With mutual authentication

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 20 / 33

slide-53
SLIDE 53

Ability to use KN,SP,SM proves the integrity and isolation of SM deployed by SP on N

Only N and SP can calculate KN,SP,SM

N knows KN and SP knows KSP

KN,SP,SM is calculated after enabling isolation

No isolation, no key; no integrity, wrong key

Only SM on N is allowed to use KN,SP,SM

Enforced through special instructions

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 21 / 33

slide-54
SLIDE 54

Secure communication is provided by authenticated encryption using the module key

N SP SM

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 22 / 33

slide-55
SLIDE 55

Secure communication is provided by authenticated encryption using the module key

N SP SM aead(KN,SP,SM, No, I)

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 22 / 33

slide-56
SLIDE 56

Secure communication is provided by authenticated encryption using the module key

N SP SM aead(KN,SP,SM, No, I) Calculate O

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 22 / 33

slide-57
SLIDE 57

Secure communication is provided by authenticated encryption using the module key

N SP SM aead(KN,SP,SM, No, I) Calculate O aead(KN,SP,SM, No, O) AEAD is done using the encrypt/decrypt instructions

Using the key of the calling SM

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 22 / 33

slide-58
SLIDE 58

Secure communication is provided by authenticated encryption using the module key

N SP SM aead(KN,SP,SM, No, I) Calculate O aead(KN,SP,SM, No, O) AEAD is done using the encrypt/decrypt instructions

Using the key of the calling SM

This scheme provides trust in the confidentiality, integrity and authenticity of messages

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 22 / 33

slide-59
SLIDE 59

Remote attestation is provided through secure communication

N SP SM aead(KN,SP,SM, No, I) Calculate O aead(KN,SP,SM, No, O) Attest integrity, isolation and liveliness

Of SM by SP

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 23 / 33

slide-60
SLIDE 60

Ability to use KN,SP,SM proves the integrity and isolation of SM deployed by SP on N

Only N and SP can calculate KN,SP,SM

N knows KN and SP knows KSP

KN,SP,SM is calculated after enabling isolation

No isolation, no key; no integrity, wrong key

Only SM on N is allowed to use KN,SP,SM

Enforced through special instructions

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 23 / 33

slide-61
SLIDE 61

Ability to use KN,SP,SM proves the integrity and isolation of SM deployed by SP on N

Only N and SP can calculate KN,SP,SM

N knows KN and SP knows KSP

KN,SP,SM is calculated after enabling isolation

No isolation, no key; no integrity, wrong key

Only SM on N is allowed to use KN,SP,SM

Enforced through special instructions

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 23 / 33

slide-62
SLIDE 62

Remote attestation is provided through secure communication

N SP SM aead(KN,SP,SM, No, I) Calculate O aead(KN,SP,SM, No, O) Attest integrity, isolation and liveliness

Of SM by SP

Integrity and isolation attested by AEAD, liveliness by nonce

Thus included in secure communication

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 23 / 33

slide-63
SLIDE 63

Remote attestation is provided through secure communication

N SP SM

✭✭✭✭✭✭✭✭✭✭ ✭ ❤❤❤❤❤❤❤❤❤❤ ❤

aead(KN,SP,SM, No, I) No

✭✭✭✭✭ ✭ ❤❤❤❤❤ ❤

Calculate O aead(KN,SP,SM, No,

O) Attest integrity, isolation and liveliness

Of SM by SP

Integrity and isolation attested by AEAD, liveliness by nonce

Thus included in secure communication

⇒ remote attestation ⊂ secure communication

So can be achieved more easily

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 23 / 33

slide-64
SLIDE 64

Overview

1

Module isolation

2

Key management

3

Remote attestation and secure communication

4

Secure linking Hotel analogy Goals Verifying modules Optimizing multiple calls

5

Results

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 24 / 33

slide-65
SLIDE 65

Let guests safely interact with each other

Safely go to other rooms

To talk with other guests

Know who is in the room/at the door

Do not get in a room with untrusted guests

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 25 / 33

slide-66
SLIDE 66

Enabling efficient and secure local inter-module function calls

Verify the SM that is to be called

Is it the correct, isolated SM?

Inherently different from secure communication

May belong to different SPs; no shared secret

We can rely on protected local state

Gives rise to interesting optimizations

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 26 / 33

slide-67
SLIDE 67

Modules are verified by calculating a cryptographic hash over their identity

Module A wants to call module B

A is deployed with a hash of B’s identity

In its text section or, using secure communication, in its data section

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 27 / 33

slide-68
SLIDE 68

Modules are verified by calculating a cryptographic hash over their identity

Module A wants to call module B

A is deployed with a hash of B’s identity

In its text section or, using secure communication, in its data section

A calculates the hash of B’s actual identity

If they match B can safely be called

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 27 / 33

slide-69
SLIDE 69

Modules are verified by calculating a cryptographic hash over their identity

Module A wants to call module B

A is deployed with a hash of B’s identity

In its text section or, using secure communication, in its data section

A calculates the hash of B’s actual identity

If they match B can safely be called

Done through new instruction: attest

Need to be ensured of B’s isolation

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 27 / 33

slide-70
SLIDE 70

The expensive hash calculation is needed only once

We only need to know if the same module is still there

After initial verification, that is

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 28 / 33

slide-71
SLIDE 71

The expensive hash calculation is needed only once

We only need to know if the same module is still there

After initial verification, that is

Sancus assigns unique IDs to modules

Never reused within a boot-cycle

attest returns the ID of the verified module

Can be stored in the protected section

Later calls can use a new instruction: get-id

Check if the same module is still loaded

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 28 / 33

slide-72
SLIDE 72

Node with one software module loaded

ID used for next loaded module Unprotected Entry point Code & constants Unprotected SM1 text section Protected data SM1 protected data section Unprotected Memory KN,SP,SM1 Next ID Caller ID KN SM1 metadata Layout Keys Protected storage area Node

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 29 / 33

slide-73
SLIDE 73

Node with one software module loaded

ID of the previously executing module Unprotected Entry point Code & constants Unprotected SM1 text section Protected data SM1 protected data section Unprotected Memory KN,SP,SM1 Next ID Caller ID KN SM1 metadata Layout Keys Protected storage area Node

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 29 / 33

slide-74
SLIDE 74

Overview

1

Module isolation

2

Key management

3

Remote attestation and secure communication

4

Secure linking

5

Results Hardware implementation Module compilation

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 30 / 33

slide-75
SLIDE 75

Complete implementation of Sancus based on the MSP430 architecture

Based on the openMSP430 project

Very mature open-source MSP430 implementation

Built on existing cryptographic primitives:

◮ AEAD/KDF: SpongeWrap (Bertoni et al.) ◮ Sponge/hash: spongent (Bogdanov et al.)

Usable in RTL simulator and FPGA

For easy testability of Sancus

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 31 / 33

slide-76
SLIDE 76

Automatically handling the intricacies

  • f compiling Sancus modules

Placing the runtime stack in the protected section

Prevent access by untrusted code

Clearing registers on module exit

Prevent data leakage

Supporting more than one entry point

Dispatching through a single entry point

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 32 / 33

slide-77
SLIDE 77

Automatically handling the intricacies

  • f compiling Sancus modules

#include <sancus/sm_support.h> #define ID foo int SM_DATA(ID) protected_data; void SM_FUNC(ID) internal_function() {/*...*/} void SM_ENTRY(ID) entry_point() {/*...*/}

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 32 / 33

slide-78
SLIDE 78

Review

1

Module isolation Isolation using program-counter based access control

2

Key management Hierarchical scheme with keys based on module’s identity

3

Remote attestation and secure communication Attestation based on the ability to use a key

4

Secure linking Module verification based on a hash of its identity

5

Results Simulator, FPGA, and automatic compilation

Job Noorman (Public PhD Defence) Sancus 19 Apr 2017 33 / 33

slide-79
SLIDE 79

Sancus: A Low-Cost Security Architecture for Distributed IoT Applications on a Shared Infrastructure

Job Noorman

Public PhD Defence

19 Apr 2017