BLE Security EECS 582 -- Spring 2015.

Slides:



Advertisements
Similar presentations
Keiji Maekawa Graduate School of Informatics, Kyoto University Yasuo Okabe Academic Center for Computing and Media Studies, Kyoto University.
Advertisements

Internet Protocol Security (IP Sec)
Secure Mobile IP Communication
Secure Socket Layer.
1 Digital Signatures & Authentication Protocols. 2 Digital Signatures have looked at message authentication –but does not address issues of lack of trust.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
IPsec: IKE, Internet Key Exchange IPsec does not use Public Key Infrastructure and exchanging keys before an IPsec connection is established is a problem.
“Security Weakness in Bluetooth” M.Jakobsson, S.Wetzel LNCS 2020, 2001 The introduction of new technology and functionality can provides its users with.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
1 Section 10.9 Internet Security Association and Key Management Protocol ISAKMP.
1 Security Protocols in the Internet Source: Chapter 31 Data Communications & Networking Forouzan Third Edition.
Rushing Attacks and Defense in Wireless Ad Hoc Network Routing Protocols ► Acts as denial of service by disrupting the flow of data between a source and.
IPSEC : KEY MANAGEMENT PRESENTATION BY: SNEHA A MITTAL(121427)
3.2 Software Fundamentals. A protocol is a formal description of digital message formats and the rules for exchanging those messages in or between computing.
Wireless Security: The need for WPA and i By Abuzar Amini CS 265 Section 1.
IPSec and TLS Lesson Introduction ●IPSec and the Internet key exchange protocol ●Transport layer security protocol.
SEAD: Secure Efficient Distance Vector Routing for Mobile Wireless Ad Hoc Network Raymond Chang March 30, 2005 EECS 600 Advanced Network Research, Spring.
Unit III Bandwidth Utilization: Multiplexing and Spectrum Spreading In practical life the bandwidth available of links is limited. The proper utilization.
Firewalls A brief introduction to firewalls. What does a Firewall do? Firewalls are essential tools in managing and controlling network traffic Firewalls.
Wireless Network Security CSIS 5857: Encoding and Encryption.
RIP Routing Protocol. 2 Routing Recall: There are two parts to routing IP packets: 1. How to pass a packet from an input interface to the output interface.
1 Authenticated Key Exchange Rocky K. C. Chang 20 March 2007.
IPSec is a suite of protocols defined by the Internet Engineering Task Force (IETF) to provide security services at the network layer. standard protocol.
Bluetooth Low Energy Security Manager CSOS 홍성화. content Security Manager Introduction Security Properties Cryptographic Functions Security Manager Protocol.
SECURITY. Security Threats, Policies, and Mechanisms There are four types of security threats to consider 1. Interception 2 Interruption 3. Modification.
Comparison of Network Attacks COSC 356 Kyler Rhoades.
Understand Wireless Security LESSON Security Fundamentals.
Tutorial on Bluetooth Low Energy(BLE)
Bluetooth 4.0: Low Energy.
The Secure Sockets Layer (SSL) Protocol
IPSec Detailed Description and VPN
Chapter 5 Network Security Protocols in Practice Part I
UNIT 7- IP Security 1.IP SEC 2.IP Security Architecture
IPSecurity.
Web Applications Security Cryptography 1
PPP Protocol.
Introduction Wireless devices offering IP connectivity
Instructor Materials Chapter 6 Building a Home Network
Encryption and Integrity
Encryption and Network Security
Bluetooth Low Energy Overview.
Chapter 18 IP Security  IP Security (IPSec)
IT443 – Network Security Administration Instructor: Bo Sheng
Secure Sockets Layer (SSL)
Channel Control Interim substates for adding new slaves
CMSC 414 Computer and Network Security Lecture 15
PROGRESS 서재희.
IOT SECURITY CARE FOR SOME.
Authentication Protocols
ADDRESSING Before you can send a message, you must know the destination address. It is extremely important to understand that each computer has several.
CSE 4905 Network Security Overview
Originally by Yu Yang and Lilly Wang Modified by T. A. Yang
CSE 4095 Transport Layer Security TLS, Part II
Dynamic Routing Protocols part2
“I don’t have to be careful, I’ve got a gun.”
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Virtual Private Networks (VPNs)
BLUETOOTH Personal Area Networking [ PAN ] over Bluetooth
The Secure Sockets Layer (SSL) Protocol
doc.: IEEE /454r0 Bob Beach Symbol Technologies
Virtual Private Networks (VPNs)
Security of Wireless Sensor Networks
Ch 17 - Binding Protocol Addresses
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Secure Diffie-Hellman Algorithm
NFD Tunnel Authentication
Security in Wide Area Networks
Lecture 36.
Lecture 36.
Presentation transcript:

BLE Security EECS 582 -- Spring 2015

Overview BLE Refresher Attacks Improvements Authentication Privacy Discussion

BLE: Quick/Simplified Refresh Application Layer GATT ATT L2CAP Link Layer Physical Layer

Link Layer State Machine

Link Layer Connections - Steps Initiate Connection Exchange keys <- Attack! Authenticate Send encrypted messages

BLE CONNECT_REQ Packet The AA field shall contain the Link Layer connection’s Access Address determined by the Link Layer following the rules specified in Section 2.1.2. The CRCInit field shall contain the initialization value for the CRC calculation for the Link Layer connection, as defined in Section 3.1.1. It shall be a ran- dom value, generated by the Link Layer. The WinSize field shall be set to indicate the transmitWindowSize value, as defined in Section 4.5.3 in the following manner: transmitWindowSize = Win- Size * 1.25 ms. The WinOffset field shall be set to indicate the transmitWindowOffset value, as defined in Section 4.5.3 in the following manner: transmitWindowOffset = WinOffset * 1.25 ms. The Interval field shall be set to indicate the connInterval as defined in Sec- tion 4.5.1 in the following manner: connInterval = Interval * 1.25 ms. The Latency field shall be set to indicate the connSlaveLatency value, as defined in Section 4.5.1 in the following manner: connSlaveLatency = Latency. The Timeout field shall be set to indicate the connSupervisionTimeout value, as defined in Section 4.5.2, in the following manner: connSupervisionTime- out = Timeout * 10 ms. The ChM field shall contain the channel map indicating Used and Unused data channels. Every channel is represented with a bit positioned as per the data channel index as defined in Section 1.4.1 . The LSB represents data channel index 0 and the bit in position 36 represents data channel index 36. A bit value of ‘0’ indicates that the channel is Unused . A bit value of ‘1’ indi- cates that the channel is Used . The bits in positions 37, 38 and 39 are Reserved for Future Use . Note: When mapping from RF Channels to data channel index, care should be taken to remember that there is a gap where the second advertising channel is placed. The Hop field shall be set to indicate the hopIncrement used in the data channel selection algorithm as defined in Section 4.5.8.2. It shall have a ran- dom value in the range of 5 to 16. The SCA field shall be set to indicate the masterSCA used to determine the worst case Master’s sleep clock accuracy as defined in Section 4.2.2. The value of the SCA field shall be set as defined in Table 2.2 .

Initiating a BLE Connection Peripheral advertises Initiator starts connection hopInterval hopIncrement accessAddress crcInit Initiator and peripheral move to next channel

Sniffing an on going connection Eliminate false positives (how do you know what is a packet) Look for 16-bit header for empty packet, take prior 32-bits as AA crcInit can be reversed, by running the packet through the LFSR in reverse (magic, magic, math, math...) Access Address is set in each packet. Wait on a channel and observe subsequent packets, record time between Wait for a packet on two separate data channels

Encryption - BLE 4.0 & 4.1 Custom key exchange Select TK (128 bit AES key) Use TK to agree upon LTK What’s TK? Just WorksTM: key == 0 6-digit passkey: key in 0-999,999 Out of Band: You’re on your own.

BLE 4.2 - Secure Simple Pairing Elliptic Curve Diffie Hellman 96 bits of entropy with P-192 or 128 bits with P-256 Protects against passive eavesdropping Does not protect against MITM Association models (anti-MITM) Numeric comparison Out of Band Passkey Secure Connections Only Mode PHASE 1: PUBLIC KEY EXCHANGE Initially, each device generates its own Elliptic Curve Diffie-Hellman (ECDH) public-private key pair (step 1). This key pair needs to be generated only once per device and may be computed in advance of pairing. A device may, at any time, choose to discard its public-private key pair and generate a new one, although there is not a requirement to do so. Authentication Stage 1 has three different protocols: Numeric Comparison, Out-of-Band, and Passkey Entry. Note that there is not a separate protocol for the Just Works association model. This association model shares the Numeric Comparison protocol. PHASE 3: AUTHENTICATION STAGE 2 The second stage of authentication then confirms that both devices have successfully completed the exchange. This stage is identical in all three protocols. Each device computes a new confirmation value that includes the previously exchanged values and the newly derived shared key (step 9). The initiating device then transmits its confirmation value which is checked by the responding device (step 10). If this check fails, it indicates that the initiating device has not confirmed the pairing, and the protocol must be aborted. The responding device then transmits its confirmation value which is checked by the initiating device (step 11). A failure indicates that the responding device has not confirmed the pairing and the protocol should abort. PHASE 4: LINK KEY CALCULATION Once both sides have confirmed the pairing, a link key is computed from the derived shared key and the publicly exchanged data (step 12). The nonces ensure the freshness of the key even if long-term ECDH values are used by both sides. This link key is used to maintain the pairing. PHASE 5: LMP AUTHENTICATION AND ENCRYPTION The final phase in Simple Pairing consists of authentication and generation of the encryption key. This is the same as the final steps in legacy pairing.

Link Layer Encryption TCP/IP No encryption No authentication Relies on application layer Vulnerable to passive listener BLE Node-to-node encryption Impractical authentication (for many IoT) Simply Secure is safe from passive listener

Could I be tracked? Device Address Randomization Access Address generated by identity key (IRK) IRK exchanged during bonding Do people use it? “We do not currently employ Bluetooth Smart in this capability.” “...we do not use randomize device address.” “As far as we are aware, our two products that use BLE do not utilize this feature.”

Summary Proven link-layer encryption scheme node to node (in 4.2) No protection against MITM without traditional I/O Option for randomizing device address

Wishlist Better way to do authentication Many IoT class devices don’t have classical I/O How to I control what devices are connected to my gateway? How can I control what gateways I connect to? Multihop communication Do I trust the nodes in between the gateway and destination? What happens if one of my devices is compromised? Do I trust my gateway?

References https://lacklustre.net/bluetooth/Ryan_Bluetooth_Low_Energy_USENIX_WOOT.pdf https://eprint.iacr.org/2013/309.pdf https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=286439

What does IoT need? Confidentiality I don’t want people monitoring my habits at home ...but people can already see if my lights are on… Communication between nodes should be kept secret Authentication We want to know what nodes are on our network and that they’re legit. Preventing pivots If a node is compromised, it should be hard for that node to pop other devices. Do I want people to know what devices I have in my house? Prevent neighbors from turning off lights General framework that different classes of devices can “inherit” from: medical IoT can specify something that fitness IoT needn’t have. Goal is to brainstorm what security properties IoT actually needs so that we can have a discussion about whether BLE is appropriate or not.