OobAuthentication

sealed interface OobAuthentication

Out-of-Band authentication methods for BLE Mesh provisioning.

OOB authentication provides MITM protection during provisioning:

  • None: No OOB (AuthValue = 0x0000...). Development only.

  • StaticOob: Pre-shared 16-byte key. Moderate security.

  • OutputOob: Device outputs a number, user enters on provisioner.

  • InputOob: Provisioner displays number, user enters on device.

Inheritors

Types

Link copied to clipboard
data class InputOob(val action: InputOobAction, val size: Int, val value: Int) : OobAuthentication

Provisioner outputs a value, user enters it on the device.

Link copied to clipboard
data object None : OobAuthentication

No OOB authentication. AuthValue is all zeros. Vulnerable to MITM.

Link copied to clipboard
data class OutputOob(val action: OutputOobAction, val size: Int, val value: Int) : OobAuthentication

Device outputs a value, user enters it on the provisioner.

Link copied to clipboard
data class StaticOob(val key: ByteArray) : OobAuthentication

Static 16-byte OOB key pre-shared between provisioner and device.