Post on 06-Jan-2017
INTERNET OF THINGSBuilding beacons: the next big “thing “
Ravikiran
November 28, 2015Bangalore, India
AGENDA
Introduction
Industry Forecast
Architecture
Enabling Technologies
Security considerations
Applications
Challenges and issues
Future of IoT
INTRODUCTION
Internet of everything
Connected devices
Artificial Intelligence
Minimal human interventions
Combination of multiple technologies: Sensors, M2M.
INTERNET OF THINGS
IOT INDUSTRY FORECAST
IOT ARCHITECTURE
ENABLING TECHNOLOGIES
BLUETOOTH LOW ENERGY
Operates in 2.4GHz-2.48GHz ISM band
1Mbps over the air data exchange speed (theoretical) 7.5ms – 4 S connection interval
Max 6 packets per connection interval
Max packet size 20 Bytes (increased to 256 in 4.2)
133 * 7.5 = 1000ms
Max bytes per sec = 133 conn. intervals*6 packets*20 bytes = 15960Bps = 125Kbps
Range up to 100meter – 2m-5m optimal
Bluetooth 4.0+ to support LE mode
Bluetooth smart and smart ready support (dual mode)
Low power consumption
Fast connection time
BT/LE ARCHITECTURE
BLE FOR IOT
Why BLE is popular in IoT world?
Why it consumes lesser power than classic BT?
BLE PERIPHERAL AND CENTRAL
ADVERTISEMENT
ADVERTISING PACKETS
SCAN & SCAN RESPONSE
PAIRING, CHANNEL ENCRYPTION AND LINK KEYS
AES-128 with encryption engine
Identity Resolving Key: for privacy
Signing Resolving Key: authentication without encryption
LTK: used for encryption
Paring encrypts the link using a temporary key
Temporary key is derived key: pass key, nfc pair, public key
CONNECTION ESTABLISHMENT
Central initiates/terminates connection
Connection is nothing but periodic exchange of data at regular intervals
Data exchange can be bidirectional, when connected
FHSS – Frequency Hopping Spread Spectrum
Channel = (current_channel+hop) mod 37
Hop value will be communicated on successful connection.
GFSK: Gaussian Frequency Shift Keying used to encode bit stream over the air.
Link layer manages the preamble, access address, CRC, encryption, data whitening,
PROFILES VS PROTOCOLS
Protocols:
Protocol is the set of rules followed by different layers
Protocol defines packets format, muxing, encoding and decoding
Protocols are the building blocks to assure device conformant to bluetooth.org standard
Profile:
Profiles defines the basic modes of operation to be supported by all devices conformant to bluetooth.org standard
These are the set of rules, which essentially define how to use protocols
GENERIC PROFILES
GAP:
Defines usage model for low level radio
Define roles & procedure to broadcast, discover, establish connection and manage security etc.
Top most control layer
GATT:
Entry point for the application to interact with protocol layer
Enables discover, read, write and push data.
Use case specific (GATT based):
HRP, HID,
PXP, FindMe
Vendor specific:
Apple ibeacon
SERVICES AND CHARACTERISTICS
SERVICES AND CHARACTERISTICS (CONTD…)
Services:
Break data into small logical entities
Collection of characteristic entities
16-bit/128 UUID
Characteristics:
Smallest data units of a service
This is a encapsulated single data point
Entities where actual exchange of data happens
16-bit/128 UUID
UNIVERSAL UNIQUE IDENTIFIER:
16-bit UUID are generally assigned by the bluetooth.org
128-bit UUID are custom ID’s.
Service UUID
Characteristics UUID
BLE FOR IOT RECAP
Why BLE is popular in IoT world?
Why it consumes lesser power than classic BT?
THREATS
MITM: Man In The Middle attack
Passive Eavesdropping
Identity tracking
SECURITY CONSIDERATIONS
Encryption
Signed data
Privacy feature
Directed advertisement
Private address
Resolvable –private address
Non resolvable private address
Random address
BEACONS FOR BETTER USER EXPERIENCE
Proximity based applications
Retail
Store notification
System security
Passenger navigation in airports
Smart cities
Medical devices
Smart home
CHALLENGES
Power optimization
User experience
Initial setup time
Security threats
FUTURE OF IOT
Smart cars
Smart Couches
Smart consumer goods
Technology that could influence politics
Potential opportunities and global trends
Imagination is the limit
FAQ:
Is BLE PHY layer is full duplex?
No !
What is the difference between GAT/GAP/ATT?
ATT defines the fundamental storage unit for data in BLE.
GATT defines server and client models
GAP provides device information and service listing. Enables device features like discovery, scan, advertisement etc.
What is the server client vs. master slave?
Link layer defines - master/slave
GATT defines - server/client
GAP defines - Central/Pheripheral
What is the MTU size limits?
MAX=512, MIN=23
Can slave and Master transmit on same channel?
Yes ! On every connection it does so.
???
REFERENCES
https://developer.bluetooth.org
http://www.bluetooth.com/
https://www.bluetooth.org/en-us
APPENDIX
NFC (NEAR FIELD COMMUNICATION)
NFC (CONTD…)
Works on the basis of electro magnetic radio fields
13.54MHz operating band – same as RFID
Active and Passive modes of operation
No requirement for an additional battery (passive mode)
Short range technology – 10cm
Highly secure compare to any other competing technologies - (rfid/ble)
Smart card protocol support (contact less smart cards)