SlideShare a Scribd company logo
1 of 47
Download to read offline
An Introduction to Bluetooth Mesh
Martin Woolley, Bluetooth SIG @bluetooth_mdw
Amsterdam | April 2-3, 2019
point-to-point 1:1
BR/EDR
broadcast 1:m
Low Energy (LE)
many to many m:m
Mesh
Bluetooth now comes in three delicious flavours
relationship between Bluetooth technologies
Bluetooth BR/EDR
Bluetooth mesh networking
Bluetooth Low EnergyRADIO
NETWORKING
Bluetooth Mesh
Networks
multi-hop, multi-path, multicast
Bluetooth Mesh
Node Network Roles
relay nodes
R
RR
R = Relay function on
Relays retransmit messages so that they
can travel further, in a number of “hops”
Some nodes can act as “relays” however
Messages get sent to other nodes that are
in direct radio range of the publishing node
friend nodes and low power nodes
Low Power Node
(sensor)
Friend
Low power nodes (LPNs) are highly power
constrained
To avoid the need to operate at a high(er)
duty cycle to receive messages from the
mesh, an LPN works with a Friend
Friend nodes store messages addressed to
LPNs they are friends with and forward
them when the LPN occasionally polls
friend nodes and low power nodes
Low Power Node
(sensor)
Friend
To: Sensor
“set temperature thresholds”
Low power nodes (LPNs) are highly power
constrained
To avoid the need to operate at a high(er)
duty cycle to receive messages from the
mesh, an LPN works with a Friend
Friend nodes store messages addressed to
LPNs they are friends with and forward
them when the LPN occasionally polls
friend nodes and low power nodes
STORED
MESSAGE(S)
Low Power Node
(sensor)
Friend
To: Sensor
“set temperature thresholds”
Low power nodes (LPNs) are highly power
constrained
To avoid the need to operate at a high(er)
duty cycle to receive messages from the
mesh, an LPN works with a Friend
Friend nodes store messages addressed to
LPNs they are friends with and forward
them when the LPN occasionally polls
friend nodes and low power nodes
STORED
MESSAGE(S)
“do you have any
messages for me?”
Low Power Node
(sensor)
Friend
To: Sensor
“set temperature thresholds”
Low power nodes (LPNs) are highly power
constrained
To avoid the need to operate at a high(er)
duty cycle to receive messages from the
mesh, an LPN works with a Friend
Friend nodes store messages addressed to
LPNs they are friends with and forward
them when the LPN occasionally polls
friend nodes and low power nodes
STORED
MESSAGE(S)
“do you have any
messages for me?”
Low Power Node
(sensor)
Friend
To: Sensor
“set temperature thresholds”
To: Sensor
“set temperature thresholds”
Low power nodes (LPNs) are highly power
constrained
To avoid the need to operate at a high(er)
duty cycle to receive messages from the
mesh, an LPN works with a Friend
Friend nodes store messages addressed to
LPNs they are friends with and forward
them when the LPN occasionally polls
proxy nodes
P
Bluetooth low energy devices like
smartphones can communicate with a mesh
network via a proxy node
LE GATT
MESH
proxy nodes
Proxy
Bluetooth low energy devices like
smartphones can communicate with a mesh
network via a proxy node
mesh monitoring and control applications
LE GAP and GATT
MESH
Bluetooth Mesh
Communication and
Interaction
messages and state
State: OnOff = Off
State: OnOff = Off State: OnOff = Off
nodes communicate with each other by
sending messages
access messages operate on state values
SET - change of state
GET - retrieve state value
STATUS - notify current state
ACK vs UNACK
nodes have state values which reflect
their condition (e.g. ON or OFF)
messages and state
State: OnOff = Off
State: OnOff = Off State: OnOff = OffState: OnOff = On
State: OnOff = On
State: OnOff = On
nodes communicate with each other by
sending messages
access messages operate on state values
SET - change of state
GET - retrieve state value
STATUS - notify current state
ACK vs UNACK
nodes have state values which reflect
their condition (e.g. ON or OFF)
the publish/subscribe communication model
Kitchen Dining Room Hallway Bedroom Garden
Subscribe
Publish
Bluetooth Mesh
Node Composition
node composition
a node consists of an arrangement of
elements
models
states
each element has its own address
NODE
ELEMENT ELEMENT
MODEL
STATE
STATE
STATE
MODEL
STATE
MODEL
STATE
STATE
MODEL
STATE
note: a model is sometimes owned by multiple elements
models
ServerGeneric OnOff
Server
Generic OnOff
Client
define node functionality
define states, messages, state transitions
and behaviors
client, server and control types
generics such as onoff client and server
lighting, sensors, scenes & time
node composition
single node
3 elements
multiple models and states
0x0100 0x0101 0x0102
node
elements
models
states
generic onoff server
light lightness server
light lightness actual
light lightness last
light lightness range
generic onoff
Bluetooth Mesh
Security
devices and network membership
only members of the same network can
talk to each other
Bluetooth mesh networks are secure
a security process called provisioning
makes a device a member of a network
devices and network membership
Provisioner: converting
a device to a node
Device is now a
node on the network
only members of the same network can
talk to each other
Bluetooth mesh networks are secure
a security process called provisioning
makes a device a member of a network
Bluetooth mesh: Security
• Mandatory, cannot be reduced
• Encryption and authentication
• Separate security for network and each application
• Area isolation
• Message obfuscation
• Protection from replay and trashcan attacks
• Secure device provisioning
network key (netkey)
origin: provisioning
use: derivation of other keys
encryption key
origin: derived from netkey
using the k2 function
use: secures data
at the network
layer
privacy key
origin: derived from
netkey
using the k2 function
use: obfuscation
of network header
information
ref: mesh profile 1.0 section 2.3.9.1
application key
(appkey)
origin: created by
the config. client
and provided to nodes
after provisioning
use: secures
application data
at the upper transport
layer
Bound to one or more
models.
device key (devkey)
origin: established
during provisioning
use: secures communication
between the config. client
and individual node
appkey is bound to a netkey
devkey is bound to all
netkeys known to a node
Bluetooth mesh
Anatomy of a smart lighting system
Switch Models Light Models Sensor Models
Switch Models Light Models Sensor Models
Generic On/Off Server
Switch Models Light Models Sensor Models
Generic On/Off Client Generic On/Off Server
Switch Models Light Models Sensor Models
Light Lightness Server
Light HSL Server
Generic On/Off Client Generic On/Off Server
Switch Models Light Models Sensor Models
Light Lightness Server
Light HSL Server
Generic On/Off Client Generic On/Off Server
Light LC Server
Sensor Server
Switch Models Light Models Sensor Models
Light Lightness Server
Light HSL Server
Generic On/Off Client Generic On/Off Server
Light LC Server
Sensor Server
State Binding
Bluetooth mesh
Scalability
scalability
max 32,767 nodes per network
The fastest low power radio
small, highly optimised packets
hundreds of multicast messages per
second
multicast: 1 message can control many devices
point to point range hundreds of metres
scalability and the fundamentals of RF
radio is a shared medium
collisions are what limits scalability
scalability and the fundamentals of RF
an anonymous technology
(not Bluetooth)
e.g. 250 kb/s
scalability and the fundamentals of RF
Bluetooth mesh
using Bluetooth Low Energy
1000 kb/s
less air time per packet
so more capacity for work
scalability and the fundamentals of RF
Bluetooth mesh
much smaller packets
less airtime
fewer collisions
more “work”
29 octets payload
scalability and the fundamentals of RF
Bluetooth mesh
using Bluetooth Low Energy
3 x radio channels
3 x more capacity
used for enhanced reliability
Bluetooth Mesh
Demonstration
Bluetooth Mesh
What next?
Bluetooth SIG Resources - Reading Material
Bluetooth SIG Resources - hands-on education
Bluetooth Mesh Developer Study
Guide
Mesh Proxy Kit
Unthinkably ConnectedUnthinkably Connected
3 April 2019 40/ Bluetooth SIG Proprietary
Twitter: @bluetooth_mdw
questions?
kevin.ke@oneplus.net.

More Related Content

What's hot

Bluetooth smart technology(description about all versions)
Bluetooth smart technology(description about all versions)Bluetooth smart technology(description about all versions)
Bluetooth smart technology(description about all versions)lurdhu agnes
 
“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...
“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...
“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...EIT Digital Alumni
 
Border Gateway Protocol (BGP)
Border Gateway Protocol (BGP)Border Gateway Protocol (BGP)
Border Gateway Protocol (BGP)Nutan Singh
 
Osi Layer model provided by TopTechy.com
Osi Layer model provided by TopTechy.comOsi Layer model provided by TopTechy.com
Osi Layer model provided by TopTechy.comVicky Kamboj
 
Bluetooth based smart sensor devices 2
Bluetooth based smart sensor devices 2Bluetooth based smart sensor devices 2
Bluetooth based smart sensor devices 2Vijay Kribpz
 
Protocols and the TCP/IP Protocol Suite
Protocols and the TCP/IP Protocol SuiteProtocols and the TCP/IP Protocol Suite
Protocols and the TCP/IP Protocol SuiteAtharaw Deshmukh
 
Bluetooth Presentation
Bluetooth PresentationBluetooth Presentation
Bluetooth Presentationguest664c3f
 
Network servers
Network serversNetwork servers
Network serversOnline
 
CCNA PPT
CCNA PPTCCNA PPT
CCNA PPTAIRTEL
 
CCNA Introducing Networks
CCNA Introducing NetworksCCNA Introducing Networks
CCNA Introducing NetworksDsunte Wilson
 
wireless sensor networks & application :forest fire detection
 wireless sensor networks  & application :forest fire detection wireless sensor networks  & application :forest fire detection
wireless sensor networks & application :forest fire detectionMueenudheen Shafaquath V P
 

What's hot (20)

Bluetooth smart technology(description about all versions)
Bluetooth smart technology(description about all versions)Bluetooth smart technology(description about all versions)
Bluetooth smart technology(description about all versions)
 
“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...
“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...
“Thread - A New Wireless Networking Protocol for Internet of Things” - Ankith...
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Border Gateway Protocol (BGP)
Border Gateway Protocol (BGP)Border Gateway Protocol (BGP)
Border Gateway Protocol (BGP)
 
Ieee 802.11 wireless lan
Ieee 802.11 wireless lanIeee 802.11 wireless lan
Ieee 802.11 wireless lan
 
Osi Layer model provided by TopTechy.com
Osi Layer model provided by TopTechy.comOsi Layer model provided by TopTechy.com
Osi Layer model provided by TopTechy.com
 
Bluetooth based smart sensor devices 2
Bluetooth based smart sensor devices 2Bluetooth based smart sensor devices 2
Bluetooth based smart sensor devices 2
 
Protocols and the TCP/IP Protocol Suite
Protocols and the TCP/IP Protocol SuiteProtocols and the TCP/IP Protocol Suite
Protocols and the TCP/IP Protocol Suite
 
Bluetooth technology
Bluetooth technologyBluetooth technology
Bluetooth technology
 
Bluetooth Presentation
Bluetooth PresentationBluetooth Presentation
Bluetooth Presentation
 
Network servers
Network serversNetwork servers
Network servers
 
CCNA PPT
CCNA PPTCCNA PPT
CCNA PPT
 
CCNA Introducing Networks
CCNA Introducing NetworksCCNA Introducing Networks
CCNA Introducing Networks
 
Wlan wireless network
Wlan wireless networkWlan wireless network
Wlan wireless network
 
wireless sensor networks & application :forest fire detection
 wireless sensor networks  & application :forest fire detection wireless sensor networks  & application :forest fire detection
wireless sensor networks & application :forest fire detection
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Wifi ppt
Wifi pptWifi ppt
Wifi ppt
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Bluetooth
BluetoothBluetooth
Bluetooth
 

Similar to An Introduction to Bluetooth Mesh Networking

Module 2_part 2.pptx
Module 2_part 2.pptxModule 2_part 2.pptx
Module 2_part 2.pptxNIKHILAS12
 
Computer Networks
Computer NetworksComputer Networks
Computer NetworksKarthik Ak
 
Basic networking in power point by suprabha
Basic networking in power point by suprabhaBasic networking in power point by suprabha
Basic networking in power point by suprabhaSuprabha Sahoo
 
Rajesh basics of networking and routing
Rajesh basics of networking and routingRajesh basics of networking and routing
Rajesh basics of networking and routingr123027
 
Osi model with neworking overview
Osi model with neworking overviewOsi model with neworking overview
Osi model with neworking overviewSripati Mahapatra
 
Osimodelwithneworkingoverview 150618094119-lva1-app6892
Osimodelwithneworkingoverview 150618094119-lva1-app6892Osimodelwithneworkingoverview 150618094119-lva1-app6892
Osimodelwithneworkingoverview 150618094119-lva1-app6892Aswini Badatya
 
Osimodelwithneworkingoverview 150618094119-lva1-app6892
Osimodelwithneworkingoverview 150618094119-lva1-app6892Osimodelwithneworkingoverview 150618094119-lva1-app6892
Osimodelwithneworkingoverview 150618094119-lva1-app6892Saumendra Pradhan
 
R K 2 Bluetooth Technologies
R K 2  Bluetooth  TechnologiesR K 2  Bluetooth  Technologies
R K 2 Bluetooth TechnologiesSaurav Kumar
 
lecture note 2023 up10 stud2.ppt for ans
lecture note 2023 up10 stud2.ppt for anslecture note 2023 up10 stud2.ppt for ans
lecture note 2023 up10 stud2.ppt for anspeterhaile1
 
Introduction to Computer Networks
 Introduction to Computer Networks Introduction to Computer Networks
Introduction to Computer NetworksGhaffar Khan
 
Bluetooth Based Smart Sensor Network By SAIKIRAN PANJALA
Bluetooth Based Smart Sensor Network By SAIKIRAN PANJALABluetooth Based Smart Sensor Network By SAIKIRAN PANJALA
Bluetooth Based Smart Sensor Network By SAIKIRAN PANJALASaikiran Panjala
 
802.11 wireless lan
802.11 wireless lan802.11 wireless lan
802.11 wireless lanMohd Arif
 
Comm. & net. concepts
Comm. & net. conceptsComm. & net. concepts
Comm. & net. conceptsAshwin Kumar
 
Class note.2.....nazmun nahar 1834902176
Class note.2.....nazmun nahar 1834902176Class note.2.....nazmun nahar 1834902176
Class note.2.....nazmun nahar 1834902176Nazmun Nahar
 

Similar to An Introduction to Bluetooth Mesh Networking (20)

Module 2_part 2.pptx
Module 2_part 2.pptxModule 2_part 2.pptx
Module 2_part 2.pptx
 
Computer network introduction
Computer network introductionComputer network introduction
Computer network introduction
 
Computer Networks
Computer NetworksComputer Networks
Computer Networks
 
wireless sensor network
wireless sensor networkwireless sensor network
wireless sensor network
 
Basic networking in power point by suprabha
Basic networking in power point by suprabhaBasic networking in power point by suprabha
Basic networking in power point by suprabha
 
Rajesh basics of networking and routing
Rajesh basics of networking and routingRajesh basics of networking and routing
Rajesh basics of networking and routing
 
Osi model with neworking overview
Osi model with neworking overviewOsi model with neworking overview
Osi model with neworking overview
 
Osimodelwithneworkingoverview 150618094119-lva1-app6892
Osimodelwithneworkingoverview 150618094119-lva1-app6892Osimodelwithneworkingoverview 150618094119-lva1-app6892
Osimodelwithneworkingoverview 150618094119-lva1-app6892
 
Osimodelwithneworkingoverview 150618094119-lva1-app6892
Osimodelwithneworkingoverview 150618094119-lva1-app6892Osimodelwithneworkingoverview 150618094119-lva1-app6892
Osimodelwithneworkingoverview 150618094119-lva1-app6892
 
R K 2 Bluetooth Technologies
R K 2  Bluetooth  TechnologiesR K 2  Bluetooth  Technologies
R K 2 Bluetooth Technologies
 
lecture note 2023 up10 stud2.ppt for ans
lecture note 2023 up10 stud2.ppt for anslecture note 2023 up10 stud2.ppt for ans
lecture note 2023 up10 stud2.ppt for ans
 
Introduction to Computer Networks
 Introduction to Computer Networks Introduction to Computer Networks
Introduction to Computer Networks
 
Networking devices
Networking devicesNetworking devices
Networking devices
 
Bluetooth Based Smart Sensor Network By SAIKIRAN PANJALA
Bluetooth Based Smart Sensor Network By SAIKIRAN PANJALABluetooth Based Smart Sensor Network By SAIKIRAN PANJALA
Bluetooth Based Smart Sensor Network By SAIKIRAN PANJALA
 
Wlan
WlanWlan
Wlan
 
802.11 wireless lan
802.11 wireless lan802.11 wireless lan
802.11 wireless lan
 
1st Talk
1st Talk1st Talk
1st Talk
 
Rj wlan
Rj wlanRj wlan
Rj wlan
 
Comm. & net. concepts
Comm. & net. conceptsComm. & net. concepts
Comm. & net. concepts
 
Class note.2.....nazmun nahar 1834902176
Class note.2.....nazmun nahar 1834902176Class note.2.....nazmun nahar 1834902176
Class note.2.....nazmun nahar 1834902176
 

More from Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

More from Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Recently uploaded

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

An Introduction to Bluetooth Mesh Networking

  • 1. An Introduction to Bluetooth Mesh Martin Woolley, Bluetooth SIG @bluetooth_mdw Amsterdam | April 2-3, 2019
  • 2. point-to-point 1:1 BR/EDR broadcast 1:m Low Energy (LE) many to many m:m Mesh Bluetooth now comes in three delicious flavours
  • 3. relationship between Bluetooth technologies Bluetooth BR/EDR Bluetooth mesh networking Bluetooth Low EnergyRADIO NETWORKING
  • 7. relay nodes R RR R = Relay function on Relays retransmit messages so that they can travel further, in a number of “hops” Some nodes can act as “relays” however Messages get sent to other nodes that are in direct radio range of the publishing node
  • 8. friend nodes and low power nodes Low Power Node (sensor) Friend Low power nodes (LPNs) are highly power constrained To avoid the need to operate at a high(er) duty cycle to receive messages from the mesh, an LPN works with a Friend Friend nodes store messages addressed to LPNs they are friends with and forward them when the LPN occasionally polls
  • 9. friend nodes and low power nodes Low Power Node (sensor) Friend To: Sensor “set temperature thresholds” Low power nodes (LPNs) are highly power constrained To avoid the need to operate at a high(er) duty cycle to receive messages from the mesh, an LPN works with a Friend Friend nodes store messages addressed to LPNs they are friends with and forward them when the LPN occasionally polls
  • 10. friend nodes and low power nodes STORED MESSAGE(S) Low Power Node (sensor) Friend To: Sensor “set temperature thresholds” Low power nodes (LPNs) are highly power constrained To avoid the need to operate at a high(er) duty cycle to receive messages from the mesh, an LPN works with a Friend Friend nodes store messages addressed to LPNs they are friends with and forward them when the LPN occasionally polls
  • 11. friend nodes and low power nodes STORED MESSAGE(S) “do you have any messages for me?” Low Power Node (sensor) Friend To: Sensor “set temperature thresholds” Low power nodes (LPNs) are highly power constrained To avoid the need to operate at a high(er) duty cycle to receive messages from the mesh, an LPN works with a Friend Friend nodes store messages addressed to LPNs they are friends with and forward them when the LPN occasionally polls
  • 12. friend nodes and low power nodes STORED MESSAGE(S) “do you have any messages for me?” Low Power Node (sensor) Friend To: Sensor “set temperature thresholds” To: Sensor “set temperature thresholds” Low power nodes (LPNs) are highly power constrained To avoid the need to operate at a high(er) duty cycle to receive messages from the mesh, an LPN works with a Friend Friend nodes store messages addressed to LPNs they are friends with and forward them when the LPN occasionally polls
  • 13. proxy nodes P Bluetooth low energy devices like smartphones can communicate with a mesh network via a proxy node LE GATT MESH
  • 14. proxy nodes Proxy Bluetooth low energy devices like smartphones can communicate with a mesh network via a proxy node mesh monitoring and control applications LE GAP and GATT MESH
  • 16. messages and state State: OnOff = Off State: OnOff = Off State: OnOff = Off nodes communicate with each other by sending messages access messages operate on state values SET - change of state GET - retrieve state value STATUS - notify current state ACK vs UNACK nodes have state values which reflect their condition (e.g. ON or OFF)
  • 17. messages and state State: OnOff = Off State: OnOff = Off State: OnOff = OffState: OnOff = On State: OnOff = On State: OnOff = On nodes communicate with each other by sending messages access messages operate on state values SET - change of state GET - retrieve state value STATUS - notify current state ACK vs UNACK nodes have state values which reflect their condition (e.g. ON or OFF)
  • 18. the publish/subscribe communication model Kitchen Dining Room Hallway Bedroom Garden Subscribe Publish
  • 20. node composition a node consists of an arrangement of elements models states each element has its own address NODE ELEMENT ELEMENT MODEL STATE STATE STATE MODEL STATE MODEL STATE STATE MODEL STATE note: a model is sometimes owned by multiple elements
  • 21. models ServerGeneric OnOff Server Generic OnOff Client define node functionality define states, messages, state transitions and behaviors client, server and control types generics such as onoff client and server lighting, sensors, scenes & time
  • 22. node composition single node 3 elements multiple models and states 0x0100 0x0101 0x0102 node elements models states generic onoff server light lightness server light lightness actual light lightness last light lightness range generic onoff
  • 24. devices and network membership only members of the same network can talk to each other Bluetooth mesh networks are secure a security process called provisioning makes a device a member of a network
  • 25. devices and network membership Provisioner: converting a device to a node Device is now a node on the network only members of the same network can talk to each other Bluetooth mesh networks are secure a security process called provisioning makes a device a member of a network
  • 26. Bluetooth mesh: Security • Mandatory, cannot be reduced • Encryption and authentication • Separate security for network and each application • Area isolation • Message obfuscation • Protection from replay and trashcan attacks • Secure device provisioning
  • 27. network key (netkey) origin: provisioning use: derivation of other keys encryption key origin: derived from netkey using the k2 function use: secures data at the network layer privacy key origin: derived from netkey using the k2 function use: obfuscation of network header information ref: mesh profile 1.0 section 2.3.9.1 application key (appkey) origin: created by the config. client and provided to nodes after provisioning use: secures application data at the upper transport layer Bound to one or more models. device key (devkey) origin: established during provisioning use: secures communication between the config. client and individual node appkey is bound to a netkey devkey is bound to all netkeys known to a node
  • 28. Bluetooth mesh Anatomy of a smart lighting system
  • 29.
  • 30. Switch Models Light Models Sensor Models
  • 31. Switch Models Light Models Sensor Models Generic On/Off Server
  • 32. Switch Models Light Models Sensor Models Generic On/Off Client Generic On/Off Server
  • 33. Switch Models Light Models Sensor Models Light Lightness Server Light HSL Server Generic On/Off Client Generic On/Off Server
  • 34. Switch Models Light Models Sensor Models Light Lightness Server Light HSL Server Generic On/Off Client Generic On/Off Server Light LC Server Sensor Server
  • 35. Switch Models Light Models Sensor Models Light Lightness Server Light HSL Server Generic On/Off Client Generic On/Off Server Light LC Server Sensor Server State Binding
  • 37. scalability max 32,767 nodes per network The fastest low power radio small, highly optimised packets hundreds of multicast messages per second multicast: 1 message can control many devices point to point range hundreds of metres
  • 38. scalability and the fundamentals of RF radio is a shared medium collisions are what limits scalability
  • 39. scalability and the fundamentals of RF an anonymous technology (not Bluetooth) e.g. 250 kb/s
  • 40. scalability and the fundamentals of RF Bluetooth mesh using Bluetooth Low Energy 1000 kb/s less air time per packet so more capacity for work
  • 41. scalability and the fundamentals of RF Bluetooth mesh much smaller packets less airtime fewer collisions more “work” 29 octets payload
  • 42. scalability and the fundamentals of RF Bluetooth mesh using Bluetooth Low Energy 3 x radio channels 3 x more capacity used for enhanced reliability
  • 45. Bluetooth SIG Resources - Reading Material
  • 46. Bluetooth SIG Resources - hands-on education Bluetooth Mesh Developer Study Guide Mesh Proxy Kit
  • 47. Unthinkably ConnectedUnthinkably Connected 3 April 2019 40/ Bluetooth SIG Proprietary Twitter: @bluetooth_mdw questions? kevin.ke@oneplus.net.