enabling firmware updates over lpwan - tech symposia 2017 taiwan

45
Enabling firmware updates over LPWAN Jan Jongboom | Developer Evangelist | Arm Tech Symposia 2017

Upload: jan-jongboom

Post on 28-Jan-2018

573 views

Category:

Internet


2 download

TRANSCRIPT

Page 1: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

EnablingfirmwareupdatesoverLPWAN

JanJongboom|DeveloperEvangelist|Arm

TechSymposia2017

Page 2: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited2

Page 3: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited3

Wait,what...LPWAN?Po

wer

con

sum

ptio

n /

Band

wid

th

Range

IoTsweetspot

Page 4: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited4

Picktwo

High bandwidth Low power

Long range

Page 5: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited5

Manychoices...

10yearsbatterylife,10kmrange

Page 6: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited

LPWANPhysicscrash-course©2017ArmLimited

Page 7: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited7

Highlinkbudget

TX

P (dBm)

RX

DerivedfromworkbyThomasTelkamp

TXPow

er

Conn

ectorloss

Antenn

again

Conn

ectorloss

Antenn

again

RXPow

er

Pathlossandfading

14

0

-100

Receiversensitivity

Page 8: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited7

Highlinkbudget

RX

DerivedfromworkbyThomasTelkamp

TXPow

er

Conn

ectorloss

Antenn

again

Conn

ectorloss

Antenn

again

RXPow

er

Pathlossandfading

Receiversensitivity-137dBm

14dBm151dB

mlinkbud

get

Page 9: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited8

Linkbudget

Wi-Fi

Unlicensed LPWAN

Licensed LPWAN

TXPower RXSensitivity Linkbudget

20.5 dBm -75 dBm 95.5dBm

14 dBm -137 dBm 151dBm

23 dBm -129 dBm 152dBm

Page 10: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited9

Theoreticalmaximuminfreespace

2.4GHz,with95.5dBmlinkbudget:550meters

915MHz,with151dBmlinkbudget:850,000meters

Page 11: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited10

Page 12: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited11

Unfortunately...wedon'tliveinfreespace

Attenuation Reflection and diffraction Fresnel zone

Page 13: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited

BasedonTokyo-modelforcalculatingrealisticpathloss

Picture by Moyan Brenn: https://commons.wikimedia.org/wiki/File:Tokyo_(16043023330).jpg©2017ArmLimited

Hatamodel

Large city (250 bps)

Large city (1,760 bps)

Suburb (250 bps)

TXheight RXheight Range

0.1 m 40 m 4km

0.1 m 40 m 2.5km

0.1 m 40 m 9km

Suburb (250 bps) 1 m 100 m 13km

Page 14: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited©2017ArmLimited https://www.flickr.com/photos/aaronjacobs/64368770

Aggressivesleeping

Page 15: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited14

Transmitaslittleaspossible

Nogatewaypinning

Nokeep-alive

NB-IoT:200mW

Sigfox:25mW

https://www.flickr.com/photos/pheezy/5875298232

Page 16: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited15

ListenaslittleaspossibleRXconsumption:9mA

500mAh/9mA/24h=2.31days

2.31days!==10years

Page 17: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited16

Relayingdatabacktodevice

TX RX TX RX TX RX

LoRaWAN Class A, LTE-M Power Save Mode, Sigfox

RX TXRX

LoRaWAN Class B, LTE-M EdRX

RX RX

Page 18: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited17

Tinypackets

NoIProutinginpackets

Securityinmessage,notintransportlayer

NoTLShandshakes(6messages,6.5Kdata)

Small13-14byteheader

Everybytecounts!

Page 19: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited18

IoTdeploymentstarget10yearslifetimeBut 10 years is a really long time!

Page 20: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited19 ©2017ArmLimited

Page 21: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited©2017ArmLimited

Howto

Page 22: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited21

Naiveapproach

TX RX TX RX TX RX

Firmwarefragment

Veryinefficient!

Device 1

TX RX TX RX TX RX

Device 2

Page 23: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited22

Betterapproach

RX

Manyfirmwarefragments

Device 1

Device 2

RX

Device N

RX

Page 24: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited23

But...howdowedothis?

1. Instructdevicestouseanewsetofkeys(sameforeveryone).

2. Instructdevicestowakeupatthesametime.

3. Gatewaycantransmittoalldeviceswithonemessage.

Problem:lowQoSanduni-directional

Page 25: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited24

Settingupthedevice

DeviceAddress:0xCF32AB09MulticastKey:9310E28FA291...

Page 26: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited25

Settingupthedevice

Packetsize:204bytesPacketcount:491Padding:16bytes

Page 27: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited26

Startingmulticastsession

Frequency:924.525MHzDatarate:220bytes/sec

Timetostart:812secafterULevent13

ULCounter|RTC----------------15|78114|70413|62312|491...

Page 28: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited27

DealingwithlowQoS

CRChashoffirmware(sentwithdevice'sowncredentials)

OK!

Page 29: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited28

DealingwithlowQoS

CRChashoffirmware(sentwithdevice'sowncredentials)

OK!

Forwarderrorcorrection

http://www.inference.phy.cam.ac.uk/mackay/gallager/papers/ldpc.pdf

Page 30: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited29

Speed

220bytespersecondinrealworldscenario(2.5KMrangeincities)

180KBFirmwaresize,30KBwithDeltaupdates

Transmissioncosts3m30s@15mAcurrent

https://www.reddit.com/r/Eyebleach/comments/68r4rt/tortoise_taxi/

Page 31: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited©2017ArmLimited

SecurityPicturebyYuriSamoilovhttps://www.flickr.com/photos/yusamoilov/13334048894

Page 32: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited31

Linklayersecurityisnotenough

Firmware manifest Containsfirmwarehash

ContainsmanufactureranddeviceclassID

Signedwithprivatekey

Page 33: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited32

Separatetrustedandnon-trustedcode

(Notyetimplemented)

Page 34: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited33

Bootloadersupport

NewinMbedOS5.5

Bootloaderverifiesintegrity,preferablyinnon-writableflash

Tamper-proofsecureelementtoprotectkeys

https://os.mbed.com/blog/entry/firmware-updates-mbed-5-flashiap/

Page 35: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited©2017ArmLimited

Caveatshttp://www.totalprosports.com/wp-content/uploads/2013/04/first-pitch-fail-baseball-fail-gifs.gif

Page 36: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited©2017ArmLimited

Networkcongestion

Sendingalotofdatahasnegativeeffectonnetwork

Higherdatarateisbetter

RXsensitivityisuselesswhensomeonescreamsnexttoyou

Spreadspectrumhelpsagainstnarrowbandinterference

Page 37: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited36

SpectrumregulationsinEU

Unlicenseddoesnotmeanunregulated

1%dutycyclein868MHzband,exceptat869.525MHz

Downside:it'stheRX2channel

Round-robinbetweengateways

Driveovertositeanddeploytemporarygateway

Page 38: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited37

USisbothbetterandworse

Better

Worse

Nodutycycle

Widerchannels(500KHzvs.125KHz)

Faster

400ms.dwelltime

915MHzbandisusedforalotofotherstuff,lowerQoS

Page 39: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited

Currentstate

Page 40: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited39

Referenceimplementation

Multi-TechxDot(Cortex-M3,32KRAM)

LoRaWAN1.02

mbedOS5.5

NetworkserverbyTheThingsNetwork

Page 41: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited40

Client+bootloader

Opensource

Apache2.0

AvailableonGitHub

Verylittlesecurity!

SecurebootloaderandcryptographicallysecureupdateserviceavailableaslicensableIPfromArm.

Page 42: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited©2017ArmLimited

Reference implementation:

https://github.com/ArmMbed/fota-lora-radio

Demo:http://bit.ly/lora-update-demo

Page 43: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited

Recap

1. LPWANsareawesome!

2. Securefirmwareupdatesarenecessity

3. FirmwareupdatesoverLPWANdeemedimpossible...Buttheyarenot!

Page 44: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

ThankYou!Danke!Merci!

!�����!Gracias!Kiitos!감사합니다धन्यवाद

©2017ArmLimited

http://bit.ly/[email protected]

Page 45: Enabling firmware updates over LPWAN - Tech Symposia 2017 Taiwan

©2017ArmLimited

TheArmtrademarksfeaturedinthispresentationareregisteredtrademarksortrademarksofArmLimited(oritssubsidiaries)intheUSand/orelsewhere.Allrightsreserved.Allothermarksfeaturedmaybetrademarksoftheirrespectiveowners.www.arm.com/company/policies/trademarks