cryptographic
protocols
for security and privacy on the internet of things
mrinal wadhwa
Slide 2
Slide 2 text
No content
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
Implicit trust in network boundaries
Lack of mutual authentication
Lack of end-to-end data integrity and confidentiality
Poor management of keys and credentials
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
Implicit trust in network boundaries
Lack of mutual authentication
Lack of end-to-end data integrity and confidentiality
Poor management of keys and credentials
Slide 7
Slide 7 text
end-to-end
secure channels
Slide 8
Slide 8 text
Heart Rate
Monitor
Heart Rate
Application
Slide 9
Slide 9 text
Heart Rate
Monitor
Heart Rate
Application
Slide 10
Slide 10 text
Heart Rate
Monitor
Heart Rate
Service
Heart Rate
Application
The phone may not be online all the time so the service also caches this data to deliver it later …
Heart Rate
Monitor
Heart Rate
Service
80 bpm
Heart Rate
Application
Slide 14
Slide 14 text
Initiator Responder
Shared Secret Shared Secret
M1
M2
M3
The shared secret is then used as a key in Symmetric Key
Cryptography to maintain con
fi
dentiality and integrity of application
data.
Application Data - Authenticated Encryption
The entities involved use Public Key Cryptography to authenticate
each other and agree on a shared secret.
Authenticated Key Exchange
D
Secure Channel
Slide 15
Slide 15 text
Coming back to our heart rate solution, for secure communication …
Heart Rate
Monitor
Heart Rate
Service
Heart Rate
Application
Slide 16
Slide 16 text
Heart Rate
Monitor
Heart Rate
Service
Secure Channel
We setup a secure channel between the monitor and the service.
Heart Rate
Application
Slide 17
Slide 17 text
Heart Rate
Monitor
Heart Rate
Service
Secure Channel Secure Channel
And another secure channel between the phone and the service.
Heart Rate
Application
Slide 18
Slide 18 text
Heart Rate
Monitor
Heart Rate
Service
Transport Layer Security Transport Layer Security
Since these devices have direct access to the internet, with TLS …
Heart Rate
Application
Slide 19
Slide 19 text
Heart Rate
Monitor
Heart Rate
Service
80 bpm
Transport Layer Security Transport Layer Security
Heart Rate
Application
Slide 20
Slide 20 text
Heart Rate
Monitor
Heart Rate
Service
80 bpm
0x217c5111…
Transport Layer Security Transport Layer Security
Heart Rate
Application
Slide 21
Slide 21 text
Heart Rate
Monitor
Heart Rate
Service
80 bpm
0x217c5111…
80 bpm
Transport Layer Security Transport Layer Security
Heart Rate
Application
Slide 22
Slide 22 text
Heart Rate
Monitor
Heart Rate
Service
80 bpm
0x217c5111…
80 bpm
0x8621f842…
Transport Layer Security Transport Layer Security
Heart Rate
Application
Slide 23
Slide 23 text
Heart Rate
Monitor
Heart Rate
Service
80 bpm
0x217c5111…
80 bpm
0x8621f842…
80 bpm
This type of setup is industry best practice.
Transport Layer Security Transport Layer Security
Heart Rate
Application
Slide 24
Slide 24 text
Heart Rate
Monitor
Heart Rate
Service
80 bpm
0x217c5111…
80 bpm
0x8621f842…
80 bpm
But even when we manage to setup the channels correctly the data is still exposed to the service.
The service doesn’t need to know the contents of the message to route and cache messages (its primary job).
Transport Layer Security Transport Layer Security
Heart Rate
Application
Slide 25
Slide 25 text
Least
Privilege.
Principle of
Every program and every privileged user of the system should operate using
the least amount of privilege necessary to complete the job.”
— Jerome Saltzer, Communications of the ACM, 1974
Route/Cache sensor data, alerts and videos.
Camera Door Bell Camera Door Bell
Application
Camera Door Bell
Service
Slide 32
Slide 32 text
Route Sensor Alerts
Fire Alarm
Application
Fire Alarm
Service
Fire Alarm
Slide 33
Slide 33 text
Gateway
Flood Warning Sensor
Multiple transport protocols in the path of one message.
TCP TCP
Flood Monitoring System
Sensors Vendor’s Service
LPWAN
Slide 34
Slide 34 text
Gateway
Flood Warning Sensor
Flood Monitoring System
Sensors Vendor’s Service
Various protocols have various different secure channel designs.
TLS TLS
LPWAN
Slide 35
Slide 35 text
Gateway
Flood Warning Sensor
A secure channel that is decoupled from the transport layer connections.
The gateway and sensor vendor shouldn’t be exposed to application data.
Flood Monitoring System
Sensors Vendor’s Service
Slide 36
Slide 36 text
D D D … Devices …
… Gateways …
Lighting HVAC
Water
Monitoring
Elevators
Access
Control
Fire Safety Waste Parking
… Vendor IoT Backends …
System Integrator 1
Building Management System
… SI IoT Backends … System Integrator 2
G G
D D D D D D D D D D D D D D D D D D D D D
G G G G G G G G G G G G G G
Complexity & attack surfaces grow to be unmanageable. Proprietary data is leaked. Security becomes untenable.
Slide 37
Slide 37 text
D D D … Devices …
… Gateways …
Lighting HVAC
Water
Monitoring
Elevators
Access
Slide 38
Slide 38 text
end-to-end
secure channels
Slide 39
Slide 39 text
Implicit trust in network boundaries
Lack of mutual authentication
Lack of end-to-end data integrity and confidentiality
Poor management of keys and credentials