Comments (1)
Hi, I really think you're being overly paranoid here. Bluetooth LE is used by billions of devices, and I think there would be a bigger uproar if there were realistically exploitable issues if it was set up properly.
The PIN is 6 digits, and enabling it also forces the need for encryption on the data channel to the Bangle. I really think the encryption used which has been tested on all those billions of devices is superior to what we might be able to come up with - but everything is open so if you really want to implement something on top, you're more than welcome to.
Connecting and pairing takes maybe 2 seconds at least, so for someone to brute-force all 1 million pairing keys would take them a month, 24 hours a day, within range of your disconnected Bangle.
If you wished, you could come up with an app which cycled the pairing key automatically every day too.
Implement a killswitch that would disable Bluetooth when it is not needed.
- There's an option in settings that allows you to turn Bluetooth off
- There's also setting
Programmable:No
which removes the REPL from bluetooth and restricts access to just the JSON that can be passed from Gadgetbridge, which would seriously limit any possible damage.
So honestly, it seems like there are more security options than you thought, and I don't think there's much extra I can really add for the Bangle here. If you want to add extra features on top yourself, you're welcome to though.
from espruino.
Related Issues (20)
- Bangle.js1 - "< Back" duplicates HOT 2
- console.log may be causing a very small memory leak HOT 4
- .join`` doesn't work HOT 3
- JIT: Creating objects which reference a parameter value does not work
- Graphics.wrapString cuts up images in strings HOT 1
- Build LINUX board on Mac Os X Intel HOT 5
- Storage.writeJSON and Storage.readJSON are incompatible when numeric keys are present HOT 3
- Global error capture HOT 6
- wifi.stopAP() does not work, AP is still up.... HOT 3
- Wifi.connect(ssid, options, callback) does not handle callback HOT 2
- Multiple uploads of code with wifi command can cause " New interpreter error" HOT 1
- Debugger feature: add backtrace command HOT 2
- E.getPowerUsage to estimate power consumption HOT 2
- BLE/NRF and esp32_gatts_func.c HOT 1
- Promise handling rewrite break BLE device use HOT 3
- ESP32_IDF4 (ESP32C3) support HOT 4
- Any plans to switch to python3? HOT 6
- `Object.defineProperty(<function>, ...)` HOT 1
- `Object.clone()` returning function HOT 2
- Using different pins for neopixel on ESP32 does not work correct HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from espruino.