Skip to content

About SBLEC

Stephan Schultz edited this page Aug 16, 2019 · 4 revisions

The demo app uses the Secure Bluetooth Low Energy Communication library for Android projects. It can be used to exchange data between different Bluetooth enabled devices without requiring a connection.

Demo

Header Image

Problems SBLEC Solves

You generally have two options to exchange data between devices using Bluetooth:

GATT Services

You can provide a GATT server and let clients connect to it. While this approach doesn't require pairing (like you'd pair your Bluetooth headphones), it still requires a connection. This connection is a limiting factor, because Bluetooth chips only support 4 to 7 connections simultaneously.

Drawback: You can only communicate with up to 7 devices at once.

Advertising Frames

You can also use BLE Advertising Frames. This is what Bluetooth beacons are doing all the time, or GATT servers to notify nearby devices about their existence. Sending advertising frames is basically broadcasting, thus not connection based. However, the maximum payload size is very small. The advertising data may not exceed 31 bytes (as per Bluetooth Core Specification Version 4 Part A 1.4), out of which some bytes are required for mandatory flags.

Drawback: You can only transfer very small payloads.


In addition to these specific drawbacks, both approaches are also quite unreliable and not secure.

How SBLEC Works

SBLEC is based on BLE Advertising Frames. It introduces a custom protocol that uses packetization to split up payload data into multiple frames. On top of that, SBLEC secures communication using Elliptic-curve cryptography. For details please refer to the crypto concept.

Clone this wiki locally