Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3)...

66
nRF Mesh App. Haven’t installed it yet? Please scan… Check your readiness for this session: iOS Android

Transcript of Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3)...

Page 1: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

• nRF Mesh App. Haven’t installed it yet? Please scan…

Check your readiness for this session:

iOS Android

Page 2: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Kai Ren, Senior Developer Relations Manager, Bluetooth SIG

Bluetooth Mesh

Provisioning and Interoperability

微信

Page 3: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower
Page 4: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

LightingLighting

Lighting

Page 5: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

LightingLighting

Lighting

Air

Conditioner

Page 6: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

LightingLighting

Lighting

Air

ConditionerStation

Occupancy

Page 7: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

LightingLighting

Lighting

Air

ConditionerStation

Occupancy

Sensor

Page 8: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

LightingLighting

Lighting

Air

ConditionerStation

Occupancy

Curtain

Sensor

Page 9: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

LightingLighting

Lighting

Air

ConditionerStation

Occupancy

Lock &

Access

Curtain

Sensor

Page 10: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Build a

Ceiling Light with

Bluetooth mesh

Page 11: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower
Page 12: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Provisioner

Page 13: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Provisioner

Provisioning

Page 14: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Provisioner

Provisioning

Page 15: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Provisioner

Provisioning Configuration

Page 16: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Provisioner

Provisioning Configuration

Page 17: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Provisioning

Page 18: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Mesh system architecture

provisioning

Page 19: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Mesh system architecture

provisioning

Page 20: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Beaconing

❑ Let Provisioner know:

“I’m here, a new device nearby”.

❑ Provisioner can receive the

beacon and show it on the UI.

❑ User has the right to select.

Beaconing

Page 21: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Invitation

Beaconing

New device to report its provisioning

capabilities including:

❑ the number of elements.

❑ security algorithms supported.

❑ the availability of its public key

using OOB.

❑ OOB output action and size.

❑ OOB input action and size.

Invitation

Page 22: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Public Key

Beaconing

❑ Provisioner selects a suitable

provisioning method and inform New

device.

❑ Exchange public keys with each other.

❑ ECDHSecret = P-256(private key, peer

public key)

Invitation

Exchange public

keys

Page 23: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Authentication

Beaconing

❑ Out-of-band, OOB communication is

involved for secure device

communication.

❑ Random number generated locally;

❑ Confirmation value is calculated by local

random number, ECDHSecret, OOB

information, etc..

❑ Exchange confirmation with each other

❑ Verify whether any MITM (Man-in-The-

Middle) attack;

Invitation

Exchange public

keys

Authentication

Page 24: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Distribution

Beaconing

"Provisioning Data” includes:

❑ NetKey,

❑ Key index,

❑ Flags,

❑ IV Index,

❑ Unicast address of primary element

address,

“Provisioning Data” is encrypted and

distributed from Provisioner to Node.

Invitation

Exchange public

keys

Authentication

Distribution of

provisioning data

Page 25: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Distribution

Beaconing

"Provisioning Data” includes:

❑ NetKey,

❑ Key index,

❑ Flags,

❑ IV Index,

❑ Unicast address of primary element

address,

“Provisioning Data” is encrypted and

distributed from Provisioner to Node.

Invitation

Exchange public

keys

Authentication

Distribution of

provisioning data

Section

5.4.2

https://bit.ly/2NO1V8C

Page 26: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

AppKeyDevKeyNetKey

❑ NetKey is a “seed”

for different keys:

❑Maintain a NetKey

List;

❑ Up to 4096 keys in

the list;

❑ Support key

refresh;

Keys

Page 27: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

AppKeyNetKey DevKey

❑ NetKey is a “seed”

for different keys:

❑Maintain a NetKey

List;

❑ Up 4096 keys in the

list;

❑ Support key

refresh;

Keys

❑Generate by “agreement”;

❑A pair-wise key;

❑Provisioner has all

DevKey for each node;

❑Be used to

encrypt/decrypt

foundation models

messages;

Page 28: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Interoperability

Page 29: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Provisioner

Provisioning Configuration

Page 30: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Provisioner

Provisioning Configuration

Page 31: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Composition Data

Page 32: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

element

MCU

Page 33: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

element

Element

AddressA A A

MCU

Page 34: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

element

Element

AddressA A A

MCU MCU

Page 35: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

element

A B CElement

AddressA A A

MCU MCU

Element

Address

Page 36: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Primary

Element

Secondary

element

Secondary

element

Primary

Element

Secondary

element

Primary

Element

Secondary

element

Secondary

element

Secondary

element

Provisioner

Unicast Address

Page 37: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Primary

Element

Secondary

element

Secondary

element

Primary

Element

Secondary

element

Primary

Element

Secondary

element

Secondary

element

Secondary

element

0x0100

Provisioner

Unicast Address

Page 38: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Primary

Element

Secondary

element

Secondary

element

Primary

Element

Secondary

element

Primary

Element

Secondary

element

Secondary

element

Secondary

element

0x0100

Provisioner

Unicast Address

0x0101

0x0102

Page 39: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Primary

Element

Secondary

element

Secondary

element

Primary

Element

Secondary

element

Primary

Element

Secondary

element

Secondary

element

Secondary

element

0x0100

Provisioner

Unicast Address

0x0101

0x0102

0x0103

Page 40: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Primary

Element

Secondary

element

Secondary

element

Primary

Element

Secondary

element

Primary

Element

Secondary

element

Secondary

element

Secondary

element

0x0100

Provisioner

Unicast Address

0x0101

0x0102

0x0103

0x0104

0x0105

0x0106

Page 41: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Primary

Element

Secondary

element

Secondary

element

Primary

Element

Secondary

element

Primary

Element

Secondary

element

Secondary

element

Secondary

element

0x0100

Provisioner

Unicast Address

0x0101

0x0102

0x0103

0x0104

0x0105

0x0106

0x0107

Page 42: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Primary

Element

Secondary

element

Secondary

element

Primary

Element

Secondary

element

Primary

Element

Secondary

element

Secondary

element

Secondary

element

0x0100

Provisioner

Unicast Address

0x0101

0x0102

0x0103

0x0104

0x0105

0x0106

0x0107

0x0108

Page 43: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

switch

light

switch

light

Primary ElementConfiguration Server Model

Health Server Model

Vendor Model …

element/model

Primary element

Configuration Server Model

Generic OnOff Server Model

Primary Element

Health Server Model

Generic OnOff Server Model

Vendor Model …

Secondary Element

Health Server Model

Generic OnOff Server Model

Vendor Model …

Secondary Element

Configuration Server Model

Health Server Model

Generic OnOff Server Model

Primary Element

Health Server Model

Generic OnOff Client Model

Vendor Model …

Secondary Element

Health Server Model

Generic OnOff Client Model

Vendor Model …

Secondary Element

A A A A B C

Generic OnOff Server Model

Configuration Server Model

Health Server Model

Vendor Model …

Generic OnOff Client Model

Health Server Model

Page 44: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

NetKey DevKey AppKey

❑ NetKey is a “seed”

for different keys:

❑Maintain a NetKey

List;

❑ Up to 4096 keys in

the list;

❑ Support key

refresh;

Keys

❑Generate by “agreement”;

❑A pair-wise key;

❑Provisioner has all

DevKey for each node;

❑Be used to

encrypt/decrypt

foundation models

messages;

❑AppKey is added by

Provisioner;

❑Node maintains an

AppKey list;

❑Up to 4096 keys in the

list;

❑AppKey need to bind

with model at certain

element;

Page 45: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Application Key

4526 May 2019 Bluetooth SIG proprietary

Index AppKey

0x00 KEY0

0x01 KEY1

0x02 KEY2

0x03 KEY3

...

...

n KEYn

Node

Configuration Server Model

Generic OnOff Server Model

Vendor Model …

Primary Element

Sensor Server Model

Light CTL Server Model

Vendor Model …

Secondary Element

Generic Level Server Model

Generic Battery Server Model

Light HSL Server Model

Light Lightness Server Model

AppKey List

AppKey & Model binding

Configuration Server Model

Page 46: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Application Key

4626 May 2019 Bluetooth SIG proprietary

Index AppKey

0x00 KEY0

0x01 KEY1

0x02 KEY2

0x03 KEY3

...

...

n KEYn

Node

Configuration Server Model

Generic OnOff Server Model

Vendor Model …

Primary Element

Sensor Server Model

Light CTL Server Model

Vendor Model …

Secondary Element

Generic Level Server Model

Generic Battery Server Model

Light HSL Server Model

Light Lightness Server Model

AppKey List

AppKey & Model binding

Configuration Server Model

Vendor Model …

Generic Level Server Model

Page 47: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Application Key

4726 May 2019 Bluetooth SIG proprietary

Index AppKey

0x00 KEY0

0x01 KEY1

0x02 KEY2

0x03 KEY3

...

...

n KEYn

Node

Configuration Server Model

Generic OnOff Server Model

Vendor Model …

Primary Element

Sensor Server Model

Light CTL Server Model

Vendor Model …

Secondary Element

Generic Level Server Model

Generic Battery Server Model

Light HSL Server Model

Light Lightness Server Model

AppKey List

AppKey & Model binding

Configuration Server Model

Vendor Model …

Generic Level Server Model

Generic OnOff Server Model

Sensor Server Model

Generic Battery Server Model

Page 48: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Application Key

4826 May 2019 Bluetooth SIG proprietary

Index AppKey

0x00 KEY0

0x01 KEY1

0x02 KEY2

0x03 KEY3

...

...

n KEYn

Node

Configuration Server Model

Generic OnOff Server Model

Vendor Model …

Primary Element

Sensor Server Model

Light CTL Server Model

Vendor Model …

Secondary Element

Generic Level Server Model

Generic Battery Server Model

Light HSL Server Model

Light Lightness Server Model

AppKey List

AppKey & Model binding

Configuration Server Model

Vendor Model …

Generic Level Server Model

Generic OnOff Server Model

Sensor Server Model

Generic Battery Server Model

Light CTL Server Model

Vendor Model …

Light HSL Server Model

Page 49: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Application Key

4926 May 2019 Bluetooth SIG proprietary

Index AppKey

0x00 KEY0

0x01 KEY1

0x02 KEY2

0x03 KEY3

...

...

n KEYn

Node

Configuration Server Model

Generic OnOff Server Model

Vendor Model …

Primary Element

Sensor Server Model

Light CTL Server Model

Vendor Model …

Secondary Element

Generic Level Server Model

Generic Battery Server Model

Light HSL Server Model

Light Lightness Server Model

AppKey List

AppKey & Model binding

Configuration Server Model

Vendor Model …

Generic Level Server Model

Generic OnOff Server Model

Sensor Server Model

Generic Battery Server Model

Light CTL Server Model

Vendor Model …

Light HSL Server Model

Light Lightness Server Model

Page 50: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Preamble

(4)

Access

Address

(4)

Header

(2)

PDU

AdvA

(6)

CRC

(3)

AD DataAD Len

(1)

AD Type

(1)

Adv PDU

Unsegmented access message

AD Structure

Page 51: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Preamble

(4)

Access

Address

(4)

IVI & NID

(1)

NetMIC

4/8

Header

(2)

PDU

AdvA

(6)

TransportPDUNetwork PDU CTL & TTL

(1)

SEQ

(3)

SRC

(2)

CRC

(3)

DST

(2)

AD DataAD Len

(1)

AD Type

(1)

Adv PDU

Unsegmented access message

AD Structure

Page 52: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Preamble

(4)

Access

Address

(4)

IVI & NID

(1)

NetMIC

4/8

Header

(2)

PDU

AdvA

(6)

TransportPDUNetwork PDU CTL & TTL

(1)

SEQ

(3)

SRC

(2)

CRC

(3)

AKY &

AID

(1)

Upper Transport

Access PDULower Transport

PDU

DST

(2)

AD DataAD Len

(1)

AD Type

(1)

Adv PDU

Unsegmented access message

AD Structure

Page 53: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Preamble

(4)

Access

Address

(4)

IVI & NID

(1)

NetMIC

4/8

Header

(2)

PDU

AdvA

(6)

TransportPDUNetwork PDU CTL & TTL

(1)

SEQ

(3)

SRC

(2)

CRC

(3)

AKY &

AID

(1)

Upper Transport

Access PDULower Transport

PDU

DST

(2)

AD DataAD Len

(1)

AD Type

(1)

Adv PDU

Unsegmented access message

Encrypted payload

(n)

Trans

MIC

(4/8)

Upper Transport

PDU

AD Structure

Page 54: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Preamble

(4)

Access

Address

(4)

IVI & NID

(1)

NetMIC

4/8

Header

(2)

PDU

AdvA

(6)

TransportPDUNetwork PDU CTL & TTL

(1)

SEQ

(3)

SRC

(2)

CRC

(3)

AKY &

AID

(1)

op

code

parameter

(n)

Upper Transport

Access PDULower Transport

PDU

Access

message

DST

(2)

AD DataAD Len

(1)

AD Type

(1)

Adv PDU

Unsegmented access message

Encrypted payload

(n)

Trans

MIC

(4/8)

Upper Transport

PDU

AD Structure

Opcode and parameter defined in

Mesh Model Specification 1.0

Page 55: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Preamble

(4)

Access

Address

(4)

IVI & NID

(1)

NetMIC

4/8

Header

(2)

PDU

AdvA

(6)

TransportPDUNetwork PDU CTL & TTL

(1)

SEQ

(3)

SRC

(2)

CRC

(3)

AKY &

AID

(1)

op

code

parameter

(n)

Upper Transport

Access PDULower Transport

PDU

Access

message

DST

(2)

AD DataAD Len

(1)

AD Type

(1)

Adv PDU

Unsegmented access message

Encrypted payload

(n)

Trans

MIC

(4/8)

Upper Transport

PDU

AD Structure

Opcode and parameter defined in

Mesh Model Specification 1.0

PrivacyKey

obfuscated

Page 56: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Preamble

(4)

Access

Address

(4)

IVI & NID

(1)

NetMIC

4/8

Header

(2)

PDU

AdvA

(6)

TransportPDUNetwork PDU CTL & TTL

(1)

SEQ

(3)

SRC

(2)

CRC

(3)

AKY &

AID

(1)

op

code

parameter

(n)

Upper Transport

Access PDULower Transport

PDU

Access

message

DST

(2)

AD DataAD Len

(1)

AD Type

(1)

Adv PDU

Unsegmented access message

Encrypted payload

(n)

Trans

MIC

(4/8)

Upper Transport

PDU

AD Structure

Opcode and parameter defined in

Mesh Model Specification 1.0

PrivacyKey

obfuscated

EncryptionKey

encrypted

Page 57: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Preamble

(4)

Access

Address

(4)

IVI & NID

(1)

NetMIC

4/8

Header

(2)

PDU

AdvA

(6)

TransportPDUNetwork PDU CTL & TTL

(1)

SEQ

(3)

SRC

(2)

CRC

(3)

AKY &

AID

(1)

op

code

parameter

(n)

Upper Transport

Access PDULower Transport

PDU

Access

message

DST

(2)

AD DataAD Len

(1)

AD Type

(1)

Adv PDU

Unsegmented access message

Encrypted payload

(n)

Trans

MIC

(4/8)

Upper Transport

PDU

AD Structure

Opcode and parameter defined in

Mesh Model Specification 1.0

PrivacyKey

obfuscated

EncryptionKey

encrypted

AppKey/DevKey

encrypted

Page 58: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Publish/Subscribe

Bedroom Living Room Dining Room Garage

Subscribe

Publish

Page 59: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Hands-on

Page 60: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

• Open the bag, take micro:bit board out;

• Connect board to your computer by micro USB cable, a new volume naming

“MICROBIT” appears;

• Take USB Disk out and connect to computer;

• Copy BluetoothMeshFW.hex* and paste it into “MICROBIT” volume;

• Source code is available here;

* Provisioning and model configuration will be erased after a reset;

Hands-on

6126 May 2019 Bluetooth SIG proprietary

Page 61: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Demo

Page 62: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Interoperability Demo

Provisioner Kit Stack

Apple Watch 3 Nordic

nRF52840 Dev Kit, PCA10056

Zephyr

v1.14.0

iPhone 8 Silicon Labs

EFR32 Blue Gecko Bluetooth Starter Kit

Bluetooth mesh

v1.2.0

Cypress

CYW920719Q40EVB-01

WICED 6.20

Pixel 2 STMicroelectronics

STEVAL-IDB008V2

BlueNRG-Mesh

V1.06.00

Micro:bit Education Foundation

micro:bit board

Zephyr

v1.14.0

Blog: A Developer’s Guide for Proving Bluetooth Mesh Interoperability

Page 63: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Now available at

https://bit.ly/2MMgoFN

Page 64: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Now available at

https://bit.ly/2JFFDaN

Page 65: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

Now available at

https://bit.ly/2K5UeM7

Page 66: Bluetooth mesh provisioning and interoperability · Network PDU CTL & TTL TransportPDU (1) SEQ (3) SRC (2) CRC (3) AKY & AID (1) op code parameter (n) Upper Transport Access PDU Lower

谢谢Thank you!