Hi,
We are developing a relatively simple application with BLE, basically a key and lock. Lock being the central, key being the peripheral. The lock is likely to be stuffed away somewhere and won't be physically accessible for serviceability.
The idea is to use a basic authentication method using the internal AES engine to verify the authenticity of the key. To keep things simple the thought is to use a pre-made cryptogram stored on the key, signed by a certifying authority. This is sent to the lock and upon validation the lock will open.
The question I have is how secure is BLE to prevent replay attacks or man in the middle? This on the basis of a secret passkey for initial pairing, and possibly a long-term key for quick (and possibly more secure) connection when in-field. Note that the initial bonding and long term key establishing may happen in an insecure environment.
I have a strong background in cryptography but bluetooth (and BLE) is new to me. So I'm trying to get up to speed on security on BLE. Ideally I'd like to leverage as much from the BLE stack.
Cheers
Johan.