TerraSwarm TerraSwarm A Toolkit for Construction of Authorization - - PowerPoint PPT Presentation

terraswarm terraswarm
SMART_READER_LITE
LIVE PREVIEW

TerraSwarm TerraSwarm A Toolkit for Construction of Authorization - - PowerPoint PPT Presentation

TerraSwarm TerraSwarm A Toolkit for Construction of Authorization Service Infrastructure for the Internet of Things (IoT) Hokeun Kim 1 , Eunsuk Kang 1 , Edward A. Lee 1 , David Broman 2 1 University of California, Berkeley 2 KTH Royal Institute


slide-1
SLIDE 1

TerraSwarm TerraSwarm

Sponsored by the TerraSwarm Research Center, one of six centers administered by the STARnet phase of the Focus Center Research Program (FCRP) a Semiconductor Research Corporation program sponsored by MARCO and DARPA.

A Toolkit for Construction of Authorization Service Infrastructure for the Internet of Things (IoT)

Hokeun Kim1, Eunsuk Kang1, Edward A. Lee1, David Broman2

IoTDI 2017, Pittsburgh, PA April 19, 2017

1University of California, Berkeley 2KTH Royal Institute of Technology

slide-2
SLIDE 2

Overview – IoT & Authorization

TerraSwarm Research Center

2

Private data Control

  • Internet of Things
  • Authorization (access control)

– Critical for computer security

Benefits, but also challenges

  • Existing security solutions?

– May work well for some parts of the IoT, but not for the entire IoT!

  • Proposed approach – SST

– SST: Secure Swarm Toolkit – An open-source toolkit for building authorization infrastructure for the IoT – To address IoT security challenges

slide-3
SLIDE 3

Motivation

  • Challenges in IoT security[1]

TerraSwarm Research Center

3

[1] Singh et al., 2016. "Twenty Security Considerations for Cloud-Supported Internet of Things"

Heterogeneity

  • Security requirements & resource availability
  • Connectivity (wired connections vs. mobile devices)
  • System management
slide-4
SLIDE 4

Motivation (cont'd)

TerraSwarm Research Center

4

  • Challenges in IoT security[1]

[1] Singh et al., 2016. "Twenty Security Considerations for Cloud-Supported Internet of Things"

Operation in an open (or hostile) Environment

  • Physical access & wireless access to IoT devices
  • Higher risk of being compromised
  • Must be able to revoke access of compromised IoT devices
slide-5
SLIDE 5

Motivation (cont'd)

TerraSwarm Research Center

5

  • Challenges in IoT security[1]

[1] Singh et al., 2016. "Twenty Security Considerations for Cloud-Supported Internet of Things" Sources: "Ericsson Mobility Report", June 2016 / "Cisco Global Cloud Index: Forecast and Methodology,2015–2020", Published in 2016

Scalability

  • 28 billion connected devices in 2021
  • 15.3 ZB data traffic in 2020

– 1 ZB (Zetta byte) = 109 TB (Terra bytes)

slide-6
SLIDE 6

Background: Authorization & IoT

  • Authorization

– Access control

  • "Can I enter the EECS building?"

– Allowing/denying access to resources – Revoking access (e.g., lost ID card)

TerraSwarm Research Center

6

  • Authentication

– Identifying someone/something

  • "Member of EECS?"

– Essential for authorization

slide-7
SLIDE 7

Background (cont'd)

  • Many IoT platforms use TLS (or DTLS[2]) for

authentication/authorization

– E.g., Amazon AWS IoT, OpenIoT[3], OSCAR[4], etc.

TerraSwarm Research Center

7

  • TLS (Transport Layer Security, also called SSL/TLS)

– Underlying security protocol for HTTPS – Widely used, very successful for web

[1] Variant of TLS over UDP, 2012 "Datagram Transport Layer Security Version 1.2. RFC 6347" [2] John Soldatos et al., 2015. "OpenIoT: Open Source Internet-of-Things in the Cloud" [3] Vucinic et al., 2015. "OSCAR: Object security architecture for the Internet of Things"

slide-8
SLIDE 8

Background (cont'd)

TerraSwarm Research Center

8

[1] Mutton, "Certificate revocation: Why browsers remain affected by Heartbleed", Netcraft, April, 2014 [2] Duncan, "How certificate revocation (doesn’t) work in practice", Netcraft, May, 2013

  • Challenges with using TLS for the entire IoT

– Energy overhead of public-key crypto & certificates – Scalability (managing certificates for ~28 billion devices) – Revocation of certificates can be problematic[1,2] – Limited support for one-to-many communication

  • TLS based on a

digital certificate

Encrypted Secure channel Certificate issued by CA

Browser Web Server Certificate Authority (CA)

Certificate Public-key cryptography

slide-9
SLIDE 9

Background (cont'd)

TerraSwarm Research Center

9

– Kerberos [1]

  • Advantages for access revocation
  • Requires stable connection
  • Centralized architecture

– Security solutions for "Things"

  • E.g., WSN, MANET or swarm devices
  • Assume homogeneous environments
  • Not designed for Internet scale[2]

[1] C. Neuman et al., 2005. "The Kerberos Network Authentication Service (V5)". RFC 4120 [2] Alcaraz et al., 2010. "Wireless sensor networks and the internet of things: Do we need a complete integration?"

  • Challenges with applying other security solutions

Kerberos Authentication Server Service Server Client

*Ticket: temporary token for accessing service

* *

Source: http://www.yuden.co.jp/ut/solutions/wsn/

slide-10
SLIDE 10

Proposed Approach

  • SST – Secure Swarm Toolkit

TerraSwarm Research Center

10

– An open-source toolkit for authentication/authorization

  • f the IoT (available on https://github.com/iotauth)
slide-11
SLIDE 11

Proposed Approach (Cont'd)

  • Specific goals of SST

TerraSwarm Research Center

11

Heterogeneity Open Environment (Access Revocation) Scalability Integration of existing security solutions (not inventing new

  • nes)

Locally centralized and globally distributed architecture Ease of deployment by local domain experts at a large scale

slide-12
SLIDE 12

SST’s Design and Implementation

  • Auth[1]

– Locally centralized, globally distributed authentication/authorization entity (software) – Java program to be deployed on edge devices[2] (e.g., Intel IoT gateways)

TerraSwarm Research Center

12

[1] A prototype of Auth has been proposed in Kim et al., 2016. "A Secure Network Architecture for the Internet

  • f Things Based on Local Authorization

Entities" [2] Lopez et al., 2015. "Edge-centric Computing: Vision and Challenges”

Auth Auth Auth Auth Auth Auth Electric Vehicle Smart Home Auth Auth Auth Auth Medical Center Smart Power Grid Auth

Internet

Conference Room Factory Personal Area Network

slide-13
SLIDE 13

Design and Implementation (cont'd)

  • Secure communication accessors

TerraSwarm Research Center

13

– Software building blocks for securely accessing Auth and the IoT services – Encapsulate crypto keys & operations – Help IoT developers who are not security experts – For more information, see https://accessors.org – We're still at a starting point and working on more accessors!

IoT Application (Actor-oriented Program Model)

Secure Comm Accessor

IoT Service Auth Crypto Key Encrypt & authenticate Decrypt & verify Message Message Generate Message Process Message Message

– Currently available accessors (in JavaScript)

slide-14
SLIDE 14

Design and Implementation (cont'd)

TerraSwarm Research Center

14

Client SecureCommClient Access Response From Service Request To Send Process Client Message Respond To Client SecureCommServer IoT Service Auth Session Key

I want to use IoT Service!

Encrypted with Distribution Key between Auth and Client

  • Example: How SST (Auth and accessors) works
slide-15
SLIDE 15

Design and Implementation (cont'd)

TerraSwarm Research Center

15

Client SecureCommClient Access Response From Service Request To Send Process Client Message Respond To Client SecureCommServer IoT Service Auth Initiate challenge-response Challenge-response[1] to check whether IoT Server has the same Session Key

[1] Similar to TLS PSK extension by Eronen and Tschofenig.

  • 2005. Pre-Shared Key Ciphersuites for TLS. RFC 4279.
  • Example: How SST (Auth and accessors) works
slide-16
SLIDE 16

Design and Implementation (cont'd)

TerraSwarm Research Center

16

Client SecureCommClient Access Response From Service Request To Send Process Client Message Respond To Client SecureCommServer IoT Service Auth Initiate challenge-response Session Key Encrypted with Distribution Key between Auth and IoT Server

  • Example: How SST (Auth and accessors) works

OK, Client can access this IoT Service.

slide-17
SLIDE 17

Design and Implementation (cont'd)

TerraSwarm Research Center

17

Client SecureCommClient Access Response From Service Request To Send Process Client Message Respond To Client SecureCommServer IoT Service Auth Initiate challenge-response Finish challenge-response Protected communication channel using session key and standard cryptography[2]

  • Example: How SST (Auth and accessors) works

Secure communication

[2] Followed TLS 1.2’s standard, including sequence number, encrypt-then-MAC

slide-18
SLIDE 18

Updated using public key Permanent No direct key distribution Ephemeral Diffie-Hellman Encryption Authentication only Strong & short Lightweight & long

Distribution key Crypto strength & key lifetimes Session key usage Number of session key sharers Cached session keys Underlying protocol

TCP UDP One Two (server-client) More than two (broadcasting) Unlimited Unlimited Multiple D-3 D-1 D-2 P-1 P-2 C-1 C-2 C-3 K-1 K-2 K-3 O-1 O-2 O-3 S-1 S-2 S-3

SST for Heterogeneity

  • SST’s configuration alternatives

TerraSwarm Research Center

18 Heterogeneity Open Env. Scalability

More security guarantees Less energy

  • verhead

Effect of knobs will be shown through experiments!

slide-19
SLIDE 19

SST for Open Environment

TerraSwarm Research Center

19

– SST's design to timely revoke keys (session & distribution keys)

  • Must always be authorized by Auth
  • Revocation takes effect immediately
  • Limiting damage from compromised entities

Heterogeneity Open Env. Scalability

– Even when Client with a valid session key is compromised, Auth can prevent its access to IoT Server!

Client SecureCommClient Access Received Message Message To Send Auth Session Key Process Received Message Respond To Client SecureCommServer IoT Service Initiate challenge-response Client

slide-20
SLIDE 20

SST for Scalability

  • Shared key support for one-to-many communication

(for data scalability)

TerraSwarm Research Center

20

SecurePublisher Auth Message To Publish Access Published Message SecureSubscriber Sender Receiver1 Access Published Message SecureSubscriber Receiver2 Access Published Message SecureSubscriber ReceiverN

Heterogeneity Open Env. Scalability

slide-21
SLIDE 21

SST for Scalability

  • Shared key support for one-to-many communication

(for data scalability)

TerraSwarm Research Center

21

SecurePublisher Auth Message To Publish Access Published Message SecureSubscriber Sender Receiver1 Access Published Message SecureSubscriber Receiver2 Access Published Message SecureSubscriber ReceiverN

Heterogeneity Open Env. Scalability

slide-22
SLIDE 22

SST for Scalability

  • Shared key support for one-to-many communication

(for data scalability)

TerraSwarm Research Center

22

SecurePublisher Message To Publish Access Published Message SecureSubscriber Sender Receiver1 Access Published Message SecureSubscriber Receiver2 Access Published Message SecureSubscriber ReceiverN Message Broker Message Message Message Message Through MQTT (publish-subscribe protocol)

Heterogeneity Open Env. Scalability

Auth

slide-23
SLIDE 23

SST for Scalability

  • Shared key support for one-to-many communication

(for data scalability)

TerraSwarm Research Center

23

SecurePublisher Auth Message To Publish Access Published Message SecureSubscriber Sender Receiver1 Access Published Message SecureSubscriber Receiver2 Access Published Message SecureSubscriber ReceiverN UDP broadcast over a local network Message

Heterogeneity Open Env. Scalability

Object (data) security (e.g., for information-centric networks)

slide-24
SLIDE 24

SST for Scalability (cont'd)

  • Globally distributed Auths (to scale with # IoT devices)

– Trust relationships without a centralized authority

TerraSwarm Research Center

24

Auth Auth Client IoT Service

Heterogeneity Open Env. Scalability

Auth Auth Auth Auth Auth Auth Auth Auth Auth Trust relationship between Auths

Secure communication

slide-25
SLIDE 25

Evaluation: Security Analysis

TerraSwarm Research Center

25

Desired Security Properties

  • Confidentiality (of data)
  • Message authenticity
  • Data integrity

Threat Model

  • Network attackers
  • Eavesdrop or inject packets
  • Compromised IoT Entities
  • Try to break security of others
  • No compromised Auths

Formal Security Model of SST[1]

  • Modeled in Alloy[2] (Model checking tool & language)
  • Includes models for Auths, entities and communication messages

Result: Formally proven to satisfy the security properties!

[1] https://github.com/iotauth/security_analysis [2] http://alloy.mit.edu/alloy/

slide-26
SLIDE 26

Evaluation: Scalability Analysis

  • Auth’s authorization tasks include

– Communication with IoT entities and Auths – Cryptographic operations – Accessing Auth’s database (keys, access policy, etc.)

TerraSwarm Research Center

26

Access activity per entity ↑

Auth Auth Auth Auth Auth Auth Auth Auth Auth Auth Auth Auth

Number of IoT entities ↑ Authorization workload ↑

  • Scalability analysis result:

– Each Auth’s workload is a linear function of “number of entities per Auth”, not “total number of entities in the system”, assuming access activity per entity is fixed – In theory, we can always scale with increasing entities by adding Auths accordingly

slide-27
SLIDE 27

Experiments & Results

  • Effect of various configuration alternatives

– Estimated energy consumption for setting up secure connections between IoT clients & IoT servers

  • Logged crypto operations and captured packets
  • Used energy numbers from UAB[1] and SICS[2]

TerraSwarm Research Center

27

[1] UAB (Universitat Autònoma de Barcelona), Rifà-Pous and Herrera-Joancomartí. 2011 [2] SICS (Swedish Institute of Computer Science), Feeney and Nilsson. 2001

Client IoT Server Client Client Client Client Energy overhead?

slide-28
SLIDE 28

495 417 312 259 227 225 120 67 35 985 642 424 327 259 451 232 135 67 1967 1093 650 461 324 901 458 270 133 200 400 600 800 1000 1200 1400 1600 1800 2000 1 ∞ 1 ∞ 1 ∞ 1 ∞ 1 ∞ 1 ∞ 1 ∞ 1 ∞ 1 ∞ 1 ∞ 1 ∞ 1 ∞ TCP UDP TCP UDP TCP UDP TCP UDP TCP UDP TCP UDP Updated Permanent Updated Permanent Updated Permanent TLS SST TLS SST TLS SST 16 Clients 32 Clients 64 Clients Energy (mJ) Public-key crypto

  • Sym. crypto & MAC

Network comm. Number of allowed cached session keys Underlying Protocol Distribution key management Number of clients

Updated using public key Permanent No direct key distribution Strong & short Lightweight & long

Distribution key Crypto strength & key lifetimes Cached session keys Underlying protocol

TCP UDP One Unlimited Multiple D-3 D-1 D-2 P-1 P-2 C-1 C-2 C-3 K-1 K-2 K-3

Experiments & Results (cont'd)

TerraSwarm Research Center

28

  • More results in our paper!

(for IoT clients)

Estimated energy for an IoT server connected by 16, 32, and 64 clients

More security guarantees Less energy

  • verhead

Tradeoffs for heterogeneity!

Note: TLS was used as a reference and we do not claim that SST is better than TLS 3 2 1 1 2 3

slide-29
SLIDE 29

Experiments & Results (cont'd)

  • A sender and multiple receivers

with different settings

TerraSwarm Research Center

29

(1) Connections with SSL/TLS (2) Shared Key + secure connections by SST (3) Shared key + MQTT message broker

Sender Receiver Receiver Receiver SSL/TLS Sender Receiver Receiver Receiver UDP broadcast Receiver Receiver Receiver Broker Sender TCP TCP Sender Receiver Receiver Receiver SST secure connection

(4) Shared key + UDP broadcast

: Shared session key distributed by Auth

Number of session key sharers

Two (server-client) More than two (broadcasting) Unlimited O-1 O-2 O-3 S

slide-30
SLIDE 30

54.0 48.6 3.4 3.0 108.1 96.9 3.4 3.0 216.2 193.5 3.4 3.0 50 100 150 200 250 TLS ISC MB UB TLS ISC MB UB TLS ISC MB UB 16 Receivers 32 Receivers 64 Receivers Energy (mJ)

  • Sym. crypto & MAC

Network comm.

  • Net. Setting

# receivers

Experiments & Results (cont'd)

TerraSwarm Research Center

30 Estimated energy for a sender to send a 1KB-message to receivers

TLS: (1) SSL/TLS ISC: (2) Individual SST Connections + shared key MB: (3) MQTT Message broker UB: (4) UDP broadcast

Tradeoff example

A sensor node (500mAh/1.5V battery) sending 1KB per minute to 64 receivers Expected battery life <10 days with ISC (secure connections by SST) 625 days with UB (UDP broadcast)

Image: DevDuino Sensor Node V1.3

  • More results in our paper!

(for sender initialization)

slide-31
SLIDE 31

Conclusions

  • Benefits of SST: Secure Swarm Toolkit

– Authorization for a wide range of IoT from sensor nodes to safety-critical systems – Enable Internet-scale deployment with increasing connected devices and traffic – Help deployment of IoT security solutions by system designers with moderate knowledge in security – Possible integration with other IoT-related efforts (e.g., securing CoAP[1])

TerraSwarm Research Center

31

[1] Shelby et al., 2014. "The Constrained Application Protocol (CoAP)". RFC 6347

slide-32
SLIDE 32

Conclusions (cont'd)

  • Future work

– Mitigation against availability attacks (e.g., Denial-

  • f-Service attacks)

– Detection of malicious behavior of compromised IoT entities or Auth – Further studies on usability of SST – Efficient initial setup of SST (e.g., registering IoT devices with Auth)

  • For further information

– https://github.com/iotauth

TerraSwarm Research Center

32