SLIDE 1 Resource discovery, Object Security and
Christian Ams¨ uss <chrysn@fsfe.org> 2018-09-13
SLIDE 2
CoAP
Constrained RESTful environments
SLIDE 3 RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange AREF GND RESET 3V3 L TX RX USB EXT PWR SEL PWR ICSP TX RX 3 1 2 1 1 1 1 9 8 DIGITAL 7 6 5 4 3 2 1 0 1 5V Gnd POWER www.adruino.cc ANALOG IN Vin 1 2 3 4 5
SLIDE 4 CoAP DTLS UDP TCP TLS WS IPv6 / v4 6lo wired cell 802.15.4 BLE LoRa NFC WiFi OSCORE SenML CBOR Links 2014 2018 IETF WG
CoRE- Conf interfaces discovery PubSub LWM2M custom apps Resource Directory
IPv6
custom apps
CoAP CBOR Links IPv6 / v4 6lo wired WiFi
SLIDE 5 CoAP DTLS UDP TCP TLS WS IPv6 / v4 6lo wired cell 802.15.4 BLE LoRa NFC WiFi OSCORE SenML CBOR Links 2014 2018 IETF WG
CoRE- Conf interfaces discovery PubSub LWM2M custom apps Resource Directory
IPv6
SLIDE 6 RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange AREF GND RESET 3V3 L TX RX USB EXT PWR SEL PWR ICSP TX RX 3 1 2 1 1 1 1 9 8 DIGITAL 7 6 5 4 3 2 1 0 1 5V Gnd POWER www.adruino.cc ANALOG IN Vin 1 2 3 4 5
SLIDE 7
CoRE Resource Directory
SLIDE 8 RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange AREF GND RESET 3V3 L TX RX USB EXT PWR SEL PWR ICSP TX RX 3 1 2 1 1 1 1 9 8 DIGITAL 7 6 5 4 3 2 1 0 1 5V Gnd POWER www.adruino.cc ANALOG IN Vin 1 2 3 4 5
SLIDE 9
Regular resource discovery
GET coap : / / [ fd02 : : fd ] / . well −known/ core ? r t=temperature Response : 2.05 Content from [2001: db8 : f0 : : 1 ] Payload : </temp>; r t=temperature ; ct=0
SLIDE 10
Registration at Resource Directory
POST coap : / / [ 2 0 0 1 : db8 : f01 : : f f ]/ rd ?ep=node42&l t =300 from [2001: db8 : f0 : : 1 ] Payload : </temp>; r t=temperature ; ct=0 Response : 2.04 Changed
SLIDE 11
Discovery via Resource Directory
GET coap : / / [ 2 0 0 1 : db8 : f01 : : f f ]/ rd−lookup / r e s ? r t=temperature Response : 2.05 Content Payload : <coap : / / [ 2 0 0 1 : db8 : f0 : : 1 ] / temp>; r t=temperature ; ct =0; anchor=”coap : / / [ 2 0 0 1 : db8 : f0 : : 1 ] ”
SLIDE 12 RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange AREF GND RESET 3V3 L TX RX USB EXT PWR SEL PWR ICSP TX RX 3 1 2 1 1 1 1 9 8 DIGITAL 7 6 5 4 3 2 1 0 1 5V Gnd POWER www.adruino.cc ANALOG IN Vin 1 2 3 4 5
SLIDE 13
OSCORE
Object Security for CoRE
SLIDE 14 RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange RST RST 3V3 AREF A0 A1 A2 A3 A4 A5 SCK MOSI MISO DIO1 1 GND ANT DIO2 DIO3 2 3 5 6 9 10 11 12 13 5V EN BAT LongRange AREF GND RESET 3V3 L TX RX USB EXT PWR SEL PWR ICSP TX RX 3 1 2 1 1 1 1 9 8 DIGITAL 7 6 5 4 3 2 1 0 1 5V Gnd POWER www.adruino.cc ANALOG IN Vin 1 2 3 4 5
SLIDE 15
OSCORE request protection
GET coap :// node42 . example . com/ ambient / Token : ”0123” Observe : yes POST coap :// node42 . example . com/ Token : ”0123” Observe : yes Object−S e c u r i t y : key ID , nonce Encrypted payload : GET / ambient / the AEAD tag
SLIDE 16
OSCORE response protection
2.05 Content Token : ”0123” Observation update : 15 Payload : a i r i s s t i l l hot but not as dry any more 2.04 Changed Token : ”0123” Observation update : 15 Object−S e c u r i t y : empty Encrypted payload : 2.05 Content , Payload : a i r i s s t i l l hot but not as dry any more AEAD tag
SLIDE 17 CoAP DTLS UDP TCP TLS WS IPv6 / v4 6lo wired cell 802.15.4 BLE LoRa NFC WiFi OSCORE SenML CBOR Links 2014 2018 IETF WG
CoRE- Conf interfaces discovery PubSub LWM2M custom apps Resource Directory
IPv6
SLIDE 18
Recap
◮ Resource Directory: discovery where multicast won’t do ◮ OSCORE: compact end to end protected exchanges across proxies ◮ SenML, Links-CBOR: compact versatile media types ◮ CoREConf, PubSub, CoRE interfaces: application building blocks
SLIDE 19
Thanks for having me here Slides and more links on http://christian.amsuess.com/presentations/2018/summit-coap/