24
Security IN the Internet of Things Victor Ake [email protected] CTO Office/Co-Founder

Iota sec2

Embed Size (px)

DESCRIPTION

Security in the Internet Of Things (IoT) What are the considerations when implementing a secure IoT platform. When designing a secure IoT, Identity and Access Management should be part of the design.

Citation preview

Page 1: Iota sec2

Security IN the Internet of Things

Victor Ake [email protected]

CTO Office/Co-Founder

Page 2: Iota sec2

2

About me !  26 years experience in the IT Industry.

!  As a System Engineer, Networking, Security, Identity Relationship Management. Ericsson, IBM, 3Com, Sun Microsystems, ForgeRock

!  Co-Founder of FORGEROCK

!  CTO Office

http://www.forgerock.com

Page 3: Iota sec2

3

World Wide Web

Mobile Internet

Internet of things Image Source: Kelsey Austin. https://www.flickr.com/photos/kelseyrage/15362515989

Page 4: Iota sec2

4

Despite the wave Information is the common key deliverable

Telemetry (Health, Rockets, Energy, Aviation, etc)

Device Identification Sensed Information

Metered information

Forget the HONEY!

Source: Meadows R (2012) Understanding the Flight of the Bumblebee. PLoS Biol 10(9)

Page 5: Iota sec2

5

Increasing Amount OF

Security, Privacy & Safety

Concerns

Page 6: Iota sec2

6

Top barriers to iot and m2m adoption

Source: Infonetics, January 2014.

Page 7: Iota sec2

7

Data in Transit

Data

Access

ACCESS

Access

Data

Security and privacy Things MOBILE/

gateway CLOUD ENterprise

Data

ACCESS

Data

Page 8: Iota sec2

8

Security vs Comfort / RISK vs REWARD

Low friction human interaction Unique device identification Device Authenticity

Nature of the data

challenges

Device-user association

Image Source: Sharkawi Che Din. https://www.flickr.com/photos/sharkawi3d/15374262331/

Page 9: Iota sec2

9

More challenges

Limited encryption capabilities Limited resources (RAM/ROM)

Firmware must be upgraded from time to time Limited clock synchronization

Image Soruce: Massimo Piccoli. https://www.flickr.com/photos/massimo_piccoli/12680390774/

Page 10: Iota sec2

10

IoT security design rules "  Build Security in, it can not be added later

"  Keep security mechanisms simple

"  Use existing standards

"  Obscurity does not provide security

Image source: http://cdn.blickers.com/wp-content/uploads/2013/12/Leonardo-da-vinci2.jpg

Page 11: Iota sec2

11

IoT security design rules "  Encrypt sensitive data at rest and in transit

"  Use well-studied cryptographic building blocks

"  Identity and Access Management must be part of the design

"  Develop a realistic threat model

Image source: http://cdn.blickers.com/wp-content/uploads/2013/12/Leonardo-da-vinci2.jpg

Page 12: Iota sec2

12

Common Security Issues

Page 13: Iota sec2

13

secure Web, Mobile and Cloud Interface "  Do not allow default credentials "  Assume device accessed Internally and Externally "  Credentials should not be stored in plain text nor

travel in unencrypted channels "  Protect against account enumeration & implement

account lockout "  Protect against XSS, CSRF, SQLi "  Implement an IAM/IRM system

Page 14: Iota sec2

14

Implement an IAM/IRM System Identity creation, Authentication & Authorization

Page 15: Iota sec2

15

I’m an Authentic device I’m unique (D) Verify authenticity

and registers device Register me

IDM System

PKI (SE)

Provisioning Device Identity

Page 16: Iota sec2

16

Register me

I own device D

I allow device D to send data on my behalf to service S1 for 1 day

Verify identity of user, Register user, Authenticate user Proof possession of Device Create Relationship User-device

Generates OAuth2 Token Provision Refresh and Access Token to device

Authenticate

Store R & A Tokens

AM System

PKI (SE)

Register user, AuthN, claim ownership

Page 17: Iota sec2

17

Send Data (OAuth2 Token) Verify Device, OAuth2 Access Token validity and Scope (authorization)

Refresh Token

Associate data to Alice

Negotiate new Access token

…. Token expired

New Access Token Store A.Token

PKI (SE)

AM System

Device send data on behalf of user

Page 18: Iota sec2

18

Authenticate

Revoke token

I want to Share my data with My Insurance Company

…. Lost my device

AM with UMA System

HTTP, MQTT, SASL

PKI (SE)

User shares data, revokes tokens

Page 19: Iota sec2

19

Network Services

"  Ensure only necessary ports are open

"  Ensure services are not vulnerable to buffer overflow and fuzzing attacks

"  Ensure services are not vulnerable to DoS attacks

Page 20: Iota sec2

20

Transport encryption

"  Ensure data and credentials are encrypted while in transit

"  Use secure encrypted channels

"  Use good key lengths and good algorithms (Elliptic Curve provides efficient encrypting)

"  Protect against replay attacks

Page 21: Iota sec2

21

Privacy as part of the design

"  Collect only the minimum necessary data for the functionality of the device

"  Ensure any sensitive data collected is properly protected with encryption

"  Ensure the device properly protects personal data

Photo Source: Brian M (OCDBri): https://www.flickr.com/photos/ocdbri/14438661513

Page 22: Iota sec2

22

Software/Firmware "  Ensure your firmware does not contain hardcoded

credentials or sensitive data

"  Use a secure channel to transmit the firmware during upgrades

"  Ensure the update is signed and verified before allowing the update

"  Do not send the public key with the firmware, use a hash

"  Ensure your SVN/GIT repositories do not contain the private keys

Page 23: Iota sec2

23

Physical Security

"  Ensure physical access to your device is controlled

"  Accessible USB or SD ports can be a weakness

"  Can it be easily disassembled to access the internal storage (RAM/ROM)

"  If local data is sensitive, consider encrypting the data

Image Source: http://conflictresearchgroupintl.com/wp-content/uploads/2014/03/How-to-Look-Like-a-Bouncer1.jpg

Page 24: Iota sec2

24

Thank You!

Security in the Internet of Things

FORGEROCK.COM | LEGAL INFORMATION

Victor Ake [email protected]

CTO Office