SlideShare una empresa de Scribd logo
1 de 24
Using Bluetooth LE 
(For Good)
Who? 
• Donald Ness 
• Software Developer from 
Boulder, CO 
• Learned Bluetooth building 
wireless controls for robots 
• See Anarchy as a giant 
engineering project 
• IANAC
What is this talk about? 
• What is Bluetooth Low Energy? 
• Why does it matter? 
• How can we use it for good?
What is BLE? 
• New wireless scheme for low power devices 
• small size, small cost 
• same spectrum as WiFi, Bluetooth Classic 
• a.k.a. Bluetooth SMART 
• Subset of Bluetooth 4.0 spec since 2010
BLE vs Bluetooth Classic 
BLE Classic 
security broken key exchange* 
secure pairing protocol 
(ECDH) 
throughput 0.2 Mbit/s 2-3 Mbit/s 
range 10 - 30m 50 - 300m 
power consumption 0.01 to 0.5W 1W 
faster connection 0.1s 5s 
smaller size very small small 
lower cost ~$2 @ 5000 ~$7 @ 5000 
* unless done out-of-band. more on that soon.
Why does it matter? 
It is everywhere!
Why does it matter? 
• Low energy and small size 
➡ Convenient devices that can fit on a keychain 
• Low cost and flexible development 
➡ Good solution for DIY open source hardware
A Safe Haven 
For Private Keys 
Problem: 
• 0-day exploits 
• backdoors in proprietary hardware 
• web wallets require third party trust 
• cold storage wallets are cumbersome 
Hardware wallets are best current solution, but 
• expensive! ~$120 
• don’t work with mobile 
• require USB cables
Technical Overview
Protocol Stack 
GATT/GAP 
ATT 
L2CAP 
Link Layer 
PHY 
• generic attribute/access protocol 
• groups attributes into services 
• attribute protocol 
• bound to L2CAP 
• similar to SDP in BT Classic 
• logical link control and adaptation protocol 
• segments and assembles packets 
• optional QoS via retransmission + CRC 
• 3 advertising channels 
• 37 data channels 
• hop increment + interval negotiated 
• 2.4GHz ISM spectrum 
• GFSK RF modulation
Security 
• 128-bit AES block cipher at link layer. Great! Right…? 
• PROBLEM: in-band key exchange is broken 
• Passive attack can snoop for LTK during pairing. 
• Active attack can force new LTK exchange and then snoop. 
• SOLUTION: use out-of-band key exchange 
• Simple Secure Pairing at application layer 
• Uses ECDH: ~5 sec on 8-bit CPU 
• For more info: http://lacklustre.net/bluetooth/
Device Roles 
• Peripheral as Server 
• ex. a controller for an Aquaponics system 
• It advertises to Centrals 
• Central as Client 
• ex. a Smartphone 
• It connects to Peripherals
Services and Characteristics 
• A Service is a collection of data and functions, or 
characteristics, associated with a peripheral. 
• ex. A service representing aquaponics sensors 
• A Characteristic represents a single aspect of a 
peripheral. It has properties which determine how 
it can be used (i.e. read, write) 
• ex. Temperature, pH level, oxygen level
UUID 
• Services and Characteristics are identified by 
UUIDs 
• 16-bit defined by Bluetooth SIG 
• http://developer.bluetooth.org 
• 128-bit user defined
Advertising 
Central Scan Scan 
Peripheral Adv Adv Adv Adv Adv Adv Adv Adv Adv 
• A peripheral broadcasts advertising packets to tell the world about itself: 
• A name 
• Some primary Service UUIDs 
• Transmit Power 
• Manufacturer Data 
• A central scans for advertising packets to find something to connect to.
Characteristic Properties 
• Read 
• Write 
PDU 
C C C C 
• With Response (guaranteed write) 
• Without Response 
• Notify 
• Subscribe to a value and get events when value changes 
• Limitations 
• 20 byte limit for characteristics 
PDU 
C 
PDU 
C C C
A Note on Beacons 
• Beacons are just specially formatted advertising packets, 
usually emitted at a fast interval (~20ms) 
• It allows proximity-based micro location using RSSI to 
determine distance. 
• iBeacons are Apple’s version: 
UUID (16 bytes) Best Buy 
Major ID (2 bytes) Store 101 
Minor ID (2 bytes) TV Aisle
Example Code
Using Bluetooth LE Peripherals 
Sign Bitcoin Transactions 
• Store a private key (or a password-protected 
private key) safely in the flash memory of a 
microcontroller. 
• Send a transaction input via Bluetooth LE to the 
microcontroller. 
• Hash the input with our private key, and send it 
back to the central to complete the transaction.
Other Uses 
• Signing messages with GPG key 
• Exchanging public keys in person 
• Replacing LED screens with BLE radios for 
hardware projects 
• Drop Safes 
• Many other things…?
Software Stacks 
• Linux — BlueZ 
• Mac & iOS — CoreBluetooth 
• Chrome APIs 
• Node.js — noble/bleno
Hardware 
• Popular Manufacturers 
• Nordic Semiconductor NRF51 
• Packed with a ARM M0-cortex 
• Great development kit 
• Texas Instruments CC2640 
• BlueGiga 
• BlueRadios 
• DIY 
• RedBearLab BLE Mini — $25 
• RFDuino — $25 
• Intel Edison SoC — $50
Firmware 
• micro-ecc 
• https://github.com/kmackay/micro-ecc 
• ECDH and ECDSA for 8-bit, 32-bit, and 64-bit 
processors. 
• nano-ecc 
• https://github.com/iSECPartners/nano-ecc 
• A very small ECC implementation for 8-bit 
microcontrollers
Questions? 
Twitter: @programmarchy

Más contenido relacionado

La actualidad más candente

Bluetooth technology by polite group
Bluetooth technology by polite groupBluetooth technology by polite group
Bluetooth technology by polite grouppolitegcuf
 
Interfacing BLE with android based device
Interfacing BLE with android based device  Interfacing BLE with android based device
Interfacing BLE with android based device IEI GSC
 
The Bluetooth technology
The Bluetooth technologyThe Bluetooth technology
The Bluetooth technologySaQi95
 
Bluetooth Low Energy Packet Format
Bluetooth Low Energy Packet FormatBluetooth Low Energy Packet Format
Bluetooth Low Energy Packet Formatwinfred lu
 
Bluetooth protocol stack
Bluetooth protocol stackBluetooth protocol stack
Bluetooth protocol stackstuimrozsm
 
Introduction to Bluetooth Low Energy
Introduction to Bluetooth Low EnergyIntroduction to Bluetooth Low Energy
Introduction to Bluetooth Low EnergyNEEVEE Technologies
 
Martin Woolley - An introduction to Bluetooth mesh - Codemotion Amsterdam 2019
Martin Woolley - An introduction to Bluetooth mesh - Codemotion Amsterdam 2019Martin Woolley - An introduction to Bluetooth mesh - Codemotion Amsterdam 2019
Martin Woolley - An introduction to Bluetooth mesh - Codemotion Amsterdam 2019Codemotion
 
Wi fi 6 (802.11ax) presentation
Wi fi 6 (802.11ax) presentationWi fi 6 (802.11ax) presentation
Wi fi 6 (802.11ax) presentationBryan Slayman
 
The mac layer
The mac layerThe mac layer
The mac layeraazamk
 
Ip addressing subnetting workbook
Ip addressing subnetting workbookIp addressing subnetting workbook
Ip addressing subnetting workbookVijay Shukla
 
An Introduction to BLUETOOTH TECHNOLOGY
An Introduction to BLUETOOTH TECHNOLOGYAn Introduction to BLUETOOTH TECHNOLOGY
An Introduction to BLUETOOTH TECHNOLOGYVikas Jagtap
 

La actualidad más candente (20)

Bluetooth technology by polite group
Bluetooth technology by polite groupBluetooth technology by polite group
Bluetooth technology by polite group
 
Interfacing BLE with android based device
Interfacing BLE with android based device  Interfacing BLE with android based device
Interfacing BLE with android based device
 
The Bluetooth technology
The Bluetooth technologyThe Bluetooth technology
The Bluetooth technology
 
Bluetooth Low Energy Packet Format
Bluetooth Low Energy Packet FormatBluetooth Low Energy Packet Format
Bluetooth Low Energy Packet Format
 
Bluetooth protocol stack
Bluetooth protocol stackBluetooth protocol stack
Bluetooth protocol stack
 
Introduction to Bluetooth Low Energy
Introduction to Bluetooth Low EnergyIntroduction to Bluetooth Low Energy
Introduction to Bluetooth Low Energy
 
AMBA 2.0 REPORT
AMBA 2.0 REPORTAMBA 2.0 REPORT
AMBA 2.0 REPORT
 
Martin Woolley - An introduction to Bluetooth mesh - Codemotion Amsterdam 2019
Martin Woolley - An introduction to Bluetooth mesh - Codemotion Amsterdam 2019Martin Woolley - An introduction to Bluetooth mesh - Codemotion Amsterdam 2019
Martin Woolley - An introduction to Bluetooth mesh - Codemotion Amsterdam 2019
 
LPWAN for IoT
LPWAN for IoTLPWAN for IoT
LPWAN for IoT
 
AXI Protocol.pptx
AXI Protocol.pptxAXI Protocol.pptx
AXI Protocol.pptx
 
IEEE 802.11ax
IEEE 802.11axIEEE 802.11ax
IEEE 802.11ax
 
axi protocol
axi protocolaxi protocol
axi protocol
 
Lan & vlan
Lan & vlanLan & vlan
Lan & vlan
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Wi fi 6 (802.11ax) presentation
Wi fi 6 (802.11ax) presentationWi fi 6 (802.11ax) presentation
Wi fi 6 (802.11ax) presentation
 
The mac layer
The mac layerThe mac layer
The mac layer
 
Vlan
VlanVlan
Vlan
 
Ip addressing subnetting workbook
Ip addressing subnetting workbookIp addressing subnetting workbook
Ip addressing subnetting workbook
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
An Introduction to BLUETOOTH TECHNOLOGY
An Introduction to BLUETOOTH TECHNOLOGYAn Introduction to BLUETOOTH TECHNOLOGY
An Introduction to BLUETOOTH TECHNOLOGY
 

Destacado

Introduction to Bluetooth Low Energy
Introduction to Bluetooth Low EnergyIntroduction to Bluetooth Low Energy
Introduction to Bluetooth Low Energyyeokm1
 
Bluetooth low energy(ble) wireless technology
Bluetooth low energy(ble) wireless technologyBluetooth low energy(ble) wireless technology
Bluetooth low energy(ble) wireless technologyLin Steven
 
Bluetooth Smart (Low Energy) for Android
Bluetooth Smart (Low Energy) for AndroidBluetooth Smart (Low Energy) for Android
Bluetooth Smart (Low Energy) for AndroidLocalz
 
Bluetooth Reinvented. Smart connectivity in consumer devices: Bluetooth Low ...
Bluetooth Reinvented.  Smart connectivity in consumer devices: Bluetooth Low ...Bluetooth Reinvented.  Smart connectivity in consumer devices: Bluetooth Low ...
Bluetooth Reinvented. Smart connectivity in consumer devices: Bluetooth Low ...CSR
 
Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)
Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)
Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)barcelonaio
 
E band s -55 smart bluetooth bracelet in stock 6 colors
E band s -55 smart bluetooth bracelet in stock 6 colorsE band s -55 smart bluetooth bracelet in stock 6 colors
E band s -55 smart bluetooth bracelet in stock 6 colorsPaul Kopel
 
Getting physical with web bluetooth in the browser
Getting physical with web bluetooth in the browserGetting physical with web bluetooth in the browser
Getting physical with web bluetooth in the browserDan Jenkins
 
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDKHow to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDKNaoto MATSUMOTO
 
neoFlash Introduction
neoFlash IntroductionneoFlash Introduction
neoFlash IntroductionYong Hee Nam
 
IMS INFORMATICS S.A. - Company Profile
IMS INFORMATICS S.A. - Company ProfileIMS INFORMATICS S.A. - Company Profile
IMS INFORMATICS S.A. - Company ProfileIMS INFORMATICS S.A.
 
Visualisation HR Metrics/analytics
Visualisation HR Metrics/analyticsVisualisation HR Metrics/analytics
Visualisation HR Metrics/analyticsDr .E. J. Sarma
 
What is Bluetooth Smart? - Technical Version
What is Bluetooth Smart? - Technical VersionWhat is Bluetooth Smart? - Technical Version
What is Bluetooth Smart? - Technical VersionVeacon
 
Advantages and limitations of PhoneGap for sensor processing
Advantages and limitations of PhoneGap for sensor processingAdvantages and limitations of PhoneGap for sensor processing
Advantages and limitations of PhoneGap for sensor processingGabor Paller
 
Bluetooth LE controller
Bluetooth LE controllerBluetooth LE controller
Bluetooth LE controllerKyong Lok Yoon
 
The Internet of Things: BLE / Beacons / iBeacons
The Internet of Things: BLE / Beacons / iBeaconsThe Internet of Things: BLE / Beacons / iBeacons
The Internet of Things: BLE / Beacons / iBeaconsVectorform
 
R0boCamp2016 Віктор Кремінь: Системи на кристалі Cypress PSoC для вбудованих ...
R0boCamp2016 Віктор Кремінь: Системи на кристалі Cypress PSoC для вбудованих ...R0boCamp2016 Віктор Кремінь: Системи на кристалі Cypress PSoC для вбудованих ...
R0boCamp2016 Віктор Кремінь: Системи на кристалі Cypress PSoC для вбудованих ...Lviv Startup Club
 
CE Pro's Ultimate CEDIA 2016 Preview with Julie Jacobson
CE Pro's Ultimate CEDIA 2016 Preview with Julie JacobsonCE Pro's Ultimate CEDIA 2016 Preview with Julie Jacobson
CE Pro's Ultimate CEDIA 2016 Preview with Julie JacobsonJulie Jacobson
 
Intro to iBeacon and Bluetooth Low Energy
Intro to iBeacon and Bluetooth Low EnergyIntro to iBeacon and Bluetooth Low Energy
Intro to iBeacon and Bluetooth Low EnergyKurt McIntire
 

Destacado (20)

Introduction to Bluetooth Low Energy
Introduction to Bluetooth Low EnergyIntroduction to Bluetooth Low Energy
Introduction to Bluetooth Low Energy
 
Bluetooth low energy(ble) wireless technology
Bluetooth low energy(ble) wireless technologyBluetooth low energy(ble) wireless technology
Bluetooth low energy(ble) wireless technology
 
Bluetooth Smart (Low Energy) for Android
Bluetooth Smart (Low Energy) for AndroidBluetooth Smart (Low Energy) for Android
Bluetooth Smart (Low Energy) for Android
 
Bluetooth Reinvented. Smart connectivity in consumer devices: Bluetooth Low ...
Bluetooth Reinvented.  Smart connectivity in consumer devices: Bluetooth Low ...Bluetooth Reinvented.  Smart connectivity in consumer devices: Bluetooth Low ...
Bluetooth Reinvented. Smart connectivity in consumer devices: Bluetooth Low ...
 
Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)
Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)
Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)
 
YAMAHA YVC-1000
YAMAHA YVC-1000YAMAHA YVC-1000
YAMAHA YVC-1000
 
E band s -55 smart bluetooth bracelet in stock 6 colors
E band s -55 smart bluetooth bracelet in stock 6 colorsE band s -55 smart bluetooth bracelet in stock 6 colors
E band s -55 smart bluetooth bracelet in stock 6 colors
 
Getting physical with web bluetooth in the browser
Getting physical with web bluetooth in the browserGetting physical with web bluetooth in the browser
Getting physical with web bluetooth in the browser
 
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDKHow to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
How to Install nRF51 IPv6 over Bluetooth using MDK-ARM+IoT SDK
 
neoFlash Introduction
neoFlash IntroductionneoFlash Introduction
neoFlash Introduction
 
Smart Org Chart
Smart Org ChartSmart Org Chart
Smart Org Chart
 
IMS INFORMATICS S.A. - Company Profile
IMS INFORMATICS S.A. - Company ProfileIMS INFORMATICS S.A. - Company Profile
IMS INFORMATICS S.A. - Company Profile
 
Visualisation HR Metrics/analytics
Visualisation HR Metrics/analyticsVisualisation HR Metrics/analytics
Visualisation HR Metrics/analytics
 
What is Bluetooth Smart? - Technical Version
What is Bluetooth Smart? - Technical VersionWhat is Bluetooth Smart? - Technical Version
What is Bluetooth Smart? - Technical Version
 
Advantages and limitations of PhoneGap for sensor processing
Advantages and limitations of PhoneGap for sensor processingAdvantages and limitations of PhoneGap for sensor processing
Advantages and limitations of PhoneGap for sensor processing
 
Bluetooth LE controller
Bluetooth LE controllerBluetooth LE controller
Bluetooth LE controller
 
The Internet of Things: BLE / Beacons / iBeacons
The Internet of Things: BLE / Beacons / iBeaconsThe Internet of Things: BLE / Beacons / iBeacons
The Internet of Things: BLE / Beacons / iBeacons
 
R0boCamp2016 Віктор Кремінь: Системи на кристалі Cypress PSoC для вбудованих ...
R0boCamp2016 Віктор Кремінь: Системи на кристалі Cypress PSoC для вбудованих ...R0boCamp2016 Віктор Кремінь: Системи на кристалі Cypress PSoC для вбудованих ...
R0boCamp2016 Віктор Кремінь: Системи на кристалі Cypress PSoC для вбудованих ...
 
CE Pro's Ultimate CEDIA 2016 Preview with Julie Jacobson
CE Pro's Ultimate CEDIA 2016 Preview with Julie JacobsonCE Pro's Ultimate CEDIA 2016 Preview with Julie Jacobson
CE Pro's Ultimate CEDIA 2016 Preview with Julie Jacobson
 
Intro to iBeacon and Bluetooth Low Energy
Intro to iBeacon and Bluetooth Low EnergyIntro to iBeacon and Bluetooth Low Energy
Intro to iBeacon and Bluetooth Low Energy
 

Similar a BLE Talk

Bluetooth technology introduction and ecosystem
Bluetooth technology introduction and ecosystem Bluetooth technology introduction and ecosystem
Bluetooth technology introduction and ecosystem NiclasGranqvist
 
Single chip computer for iot application
Single chip computer for iot application Single chip computer for iot application
Single chip computer for iot application iotleague
 
Track 2 session 3 - st dev con 2016 - simplifying cloud connectivity
Track 2   session 3 - st dev con 2016 - simplifying cloud connectivityTrack 2   session 3 - st dev con 2016 - simplifying cloud connectivity
Track 2 session 3 - st dev con 2016 - simplifying cloud connectivityST_World
 
HOME AUTOMATION USING INTERNET OF THINGS.pptx
HOME AUTOMATION USING INTERNET OF THINGS.pptxHOME AUTOMATION USING INTERNET OF THINGS.pptx
HOME AUTOMATION USING INTERNET OF THINGS.pptxKhanArshidIqbal
 
GDG Meetup Jakarta - Low Power IoT
GDG Meetup Jakarta - Low Power IoTGDG Meetup Jakarta - Low Power IoT
GDG Meetup Jakarta - Low Power IoTAlwin Arrasyid
 
zigbee technology
zigbee technology zigbee technology
zigbee technology N.CH Karthik
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshopNitesh Malviya
 
LPWAN Cost Webinar
LPWAN Cost WebinarLPWAN Cost Webinar
LPWAN Cost WebinarBrian Ray
 
Nodemcu and IOT.pptx
Nodemcu and IOT.pptxNodemcu and IOT.pptx
Nodemcu and IOT.pptxDixonSunny2
 
NXP FRDM-K64F Platform with ARM mbed Demo - Edinburgh 2016 Workshop
NXP FRDM-K64F Platform with ARM mbed Demo - Edinburgh 2016 WorkshopNXP FRDM-K64F Platform with ARM mbed Demo - Edinburgh 2016 Workshop
NXP FRDM-K64F Platform with ARM mbed Demo - Edinburgh 2016 WorkshopOpen Mobile Alliance
 
Presentation_BTBox_2012
Presentation_BTBox_2012Presentation_BTBox_2012
Presentation_BTBox_2012valdo3333
 
Track 3 session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iot
Track 3   session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iotTrack 3   session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iot
Track 3 session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iotST_World
 
6-IoT protocol.pptx
6-IoT protocol.pptx6-IoT protocol.pptx
6-IoT protocol.pptxPratik Gohel
 
ch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingssuser06ea42
 
TM4C-IoT-Gateway-with-Security-Protection_0.pdf
TM4C-IoT-Gateway-with-Security-Protection_0.pdfTM4C-IoT-Gateway-with-Security-Protection_0.pdf
TM4C-IoT-Gateway-with-Security-Protection_0.pdfssuser8b324e
 
Taking the BeagleBone Cookbook recipes beyond BeagleBone Black
Taking the BeagleBone Cookbook recipes beyond BeagleBone BlackTaking the BeagleBone Cookbook recipes beyond BeagleBone Black
Taking the BeagleBone Cookbook recipes beyond BeagleBone BlackDrew Fustini
 
book-ch04-5(BLE).ppt
book-ch04-5(BLE).pptbook-ch04-5(BLE).ppt
book-ch04-5(BLE).pptmanu60563
 

Similar a BLE Talk (20)

Bluetooth technology introduction and ecosystem
Bluetooth technology introduction and ecosystem Bluetooth technology introduction and ecosystem
Bluetooth technology introduction and ecosystem
 
Single chip computer for iot application
Single chip computer for iot application Single chip computer for iot application
Single chip computer for iot application
 
Track 2 session 3 - st dev con 2016 - simplifying cloud connectivity
Track 2   session 3 - st dev con 2016 - simplifying cloud connectivityTrack 2   session 3 - st dev con 2016 - simplifying cloud connectivity
Track 2 session 3 - st dev con 2016 - simplifying cloud connectivity
 
HOME AUTOMATION USING INTERNET OF THINGS.pptx
HOME AUTOMATION USING INTERNET OF THINGS.pptxHOME AUTOMATION USING INTERNET OF THINGS.pptx
HOME AUTOMATION USING INTERNET OF THINGS.pptx
 
GDG Meetup Jakarta - Low Power IoT
GDG Meetup Jakarta - Low Power IoTGDG Meetup Jakarta - Low Power IoT
GDG Meetup Jakarta - Low Power IoT
 
IoT Control Units and Communication Models
IoT Control Units and Communication ModelsIoT Control Units and Communication Models
IoT Control Units and Communication Models
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
zigbee technology
zigbee technology zigbee technology
zigbee technology
 
Wireless personal area networks(PAN)
Wireless personal area networks(PAN)Wireless personal area networks(PAN)
Wireless personal area networks(PAN)
 
Null mumbai-iot-workshop
Null mumbai-iot-workshopNull mumbai-iot-workshop
Null mumbai-iot-workshop
 
LPWAN Cost Webinar
LPWAN Cost WebinarLPWAN Cost Webinar
LPWAN Cost Webinar
 
Nodemcu and IOT.pptx
Nodemcu and IOT.pptxNodemcu and IOT.pptx
Nodemcu and IOT.pptx
 
NXP FRDM-K64F Platform with ARM mbed Demo - Edinburgh 2016 Workshop
NXP FRDM-K64F Platform with ARM mbed Demo - Edinburgh 2016 WorkshopNXP FRDM-K64F Platform with ARM mbed Demo - Edinburgh 2016 Workshop
NXP FRDM-K64F Platform with ARM mbed Demo - Edinburgh 2016 Workshop
 
Presentation_BTBox_2012
Presentation_BTBox_2012Presentation_BTBox_2012
Presentation_BTBox_2012
 
Track 3 session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iot
Track 3   session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iotTrack 3   session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iot
Track 3 session 6 - st dev con 2016 - qualcomm - wi-fi connectivity for iot
 
6-IoT protocol.pptx
6-IoT protocol.pptx6-IoT protocol.pptx
6-IoT protocol.pptx
 
ch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computing
 
TM4C-IoT-Gateway-with-Security-Protection_0.pdf
TM4C-IoT-Gateway-with-Security-Protection_0.pdfTM4C-IoT-Gateway-with-Security-Protection_0.pdf
TM4C-IoT-Gateway-with-Security-Protection_0.pdf
 
Taking the BeagleBone Cookbook recipes beyond BeagleBone Black
Taking the BeagleBone Cookbook recipes beyond BeagleBone BlackTaking the BeagleBone Cookbook recipes beyond BeagleBone Black
Taking the BeagleBone Cookbook recipes beyond BeagleBone Black
 
book-ch04-5(BLE).ppt
book-ch04-5(BLE).pptbook-ch04-5(BLE).ppt
book-ch04-5(BLE).ppt
 

Último

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

BLE Talk

  • 1. Using Bluetooth LE (For Good)
  • 2. Who? • Donald Ness • Software Developer from Boulder, CO • Learned Bluetooth building wireless controls for robots • See Anarchy as a giant engineering project • IANAC
  • 3. What is this talk about? • What is Bluetooth Low Energy? • Why does it matter? • How can we use it for good?
  • 4. What is BLE? • New wireless scheme for low power devices • small size, small cost • same spectrum as WiFi, Bluetooth Classic • a.k.a. Bluetooth SMART • Subset of Bluetooth 4.0 spec since 2010
  • 5. BLE vs Bluetooth Classic BLE Classic security broken key exchange* secure pairing protocol (ECDH) throughput 0.2 Mbit/s 2-3 Mbit/s range 10 - 30m 50 - 300m power consumption 0.01 to 0.5W 1W faster connection 0.1s 5s smaller size very small small lower cost ~$2 @ 5000 ~$7 @ 5000 * unless done out-of-band. more on that soon.
  • 6. Why does it matter? It is everywhere!
  • 7. Why does it matter? • Low energy and small size ➡ Convenient devices that can fit on a keychain • Low cost and flexible development ➡ Good solution for DIY open source hardware
  • 8. A Safe Haven For Private Keys Problem: • 0-day exploits • backdoors in proprietary hardware • web wallets require third party trust • cold storage wallets are cumbersome Hardware wallets are best current solution, but • expensive! ~$120 • don’t work with mobile • require USB cables
  • 10. Protocol Stack GATT/GAP ATT L2CAP Link Layer PHY • generic attribute/access protocol • groups attributes into services • attribute protocol • bound to L2CAP • similar to SDP in BT Classic • logical link control and adaptation protocol • segments and assembles packets • optional QoS via retransmission + CRC • 3 advertising channels • 37 data channels • hop increment + interval negotiated • 2.4GHz ISM spectrum • GFSK RF modulation
  • 11. Security • 128-bit AES block cipher at link layer. Great! Right…? • PROBLEM: in-band key exchange is broken • Passive attack can snoop for LTK during pairing. • Active attack can force new LTK exchange and then snoop. • SOLUTION: use out-of-band key exchange • Simple Secure Pairing at application layer • Uses ECDH: ~5 sec on 8-bit CPU • For more info: http://lacklustre.net/bluetooth/
  • 12. Device Roles • Peripheral as Server • ex. a controller for an Aquaponics system • It advertises to Centrals • Central as Client • ex. a Smartphone • It connects to Peripherals
  • 13. Services and Characteristics • A Service is a collection of data and functions, or characteristics, associated with a peripheral. • ex. A service representing aquaponics sensors • A Characteristic represents a single aspect of a peripheral. It has properties which determine how it can be used (i.e. read, write) • ex. Temperature, pH level, oxygen level
  • 14. UUID • Services and Characteristics are identified by UUIDs • 16-bit defined by Bluetooth SIG • http://developer.bluetooth.org • 128-bit user defined
  • 15. Advertising Central Scan Scan Peripheral Adv Adv Adv Adv Adv Adv Adv Adv Adv • A peripheral broadcasts advertising packets to tell the world about itself: • A name • Some primary Service UUIDs • Transmit Power • Manufacturer Data • A central scans for advertising packets to find something to connect to.
  • 16. Characteristic Properties • Read • Write PDU C C C C • With Response (guaranteed write) • Without Response • Notify • Subscribe to a value and get events when value changes • Limitations • 20 byte limit for characteristics PDU C PDU C C C
  • 17. A Note on Beacons • Beacons are just specially formatted advertising packets, usually emitted at a fast interval (~20ms) • It allows proximity-based micro location using RSSI to determine distance. • iBeacons are Apple’s version: UUID (16 bytes) Best Buy Major ID (2 bytes) Store 101 Minor ID (2 bytes) TV Aisle
  • 19. Using Bluetooth LE Peripherals Sign Bitcoin Transactions • Store a private key (or a password-protected private key) safely in the flash memory of a microcontroller. • Send a transaction input via Bluetooth LE to the microcontroller. • Hash the input with our private key, and send it back to the central to complete the transaction.
  • 20. Other Uses • Signing messages with GPG key • Exchanging public keys in person • Replacing LED screens with BLE radios for hardware projects • Drop Safes • Many other things…?
  • 21. Software Stacks • Linux — BlueZ • Mac & iOS — CoreBluetooth • Chrome APIs • Node.js — noble/bleno
  • 22. Hardware • Popular Manufacturers • Nordic Semiconductor NRF51 • Packed with a ARM M0-cortex • Great development kit • Texas Instruments CC2640 • BlueGiga • BlueRadios • DIY • RedBearLab BLE Mini — $25 • RFDuino — $25 • Intel Edison SoC — $50
  • 23. Firmware • micro-ecc • https://github.com/kmackay/micro-ecc • ECDH and ECDSA for 8-bit, 32-bit, and 64-bit processors. • nano-ecc • https://github.com/iSECPartners/nano-ecc • A very small ECC implementation for 8-bit microcontrollers