eap-noob
############
doc
==========================================================
`Nimble out-of-band authentication for EAP (EAP-NOOB) `_
`Secure Bootstrapping for IoT devices `_
`Connecting IoT appliances securely to the cloud(eap-noob) `_
dynamic OOB messages, refresh cycle 3600s。
secret nonce (Noob): first authentication, mutually authentication。
cryptographic fingerprint(Hoob): verify the integrity of the key exchange, detect impersonation and mitm on the in-band channel。
OOB mesage url example (60bytes): server domain name (60 characters base64), PeerId (22 characters base64), secret nonce (Noob) 16-byte, fingerprint (Hoob) 16-byte。
overview
==========================================================
核心场景是: no pre-configured authentication credential 的 iot device 如何 Bootstrapping
oob channel: camera, microphone, display screen, speaker, blinking led light ; 可见比ble ssp 的 numeric comparing 信息量大
oob message 的核心在于,iot device 反向授权 某个server(例如近场phone) 控制自身。
eap protocol
==========================================================
协议交互比较简单,就是通信双方相互交换 public key & nonce 。
- Noob 16 bytes,属于secret nonce,用于计算mac,双向校验ecdhe交互信息的完整性。
- Hoob 16 byte fingerprint, hash值,用于校验exchange内容的完整性,能够覆盖oob channel 的Noob被compromised的场景。
Kz 为 persistent key material,快速重连,校验MACs2
KzPrev 之前的 Kz value,在Kz校验失败时,备选校验MACs2
session key 的派生采用nist的kdf,除了ecdh的z,还加上双方的nonce,以及Noob。
注意reconnect场景下,派生session key的key derivation input参数不同。
data field
==========================================================
server info : type, server name, server url, ssid list
peer info: type , peer name, manufacturer, model, serial number, mac address, ssid, bssid
special-use domain name: eap-noob.arpa
security
==========================================================
authentication principle: Noob & Hoob;Noob可以碰一碰直连。。。
identifying correct endpoint: 设备证明...,避免clone the device identity
trusted path issues and misbinding attack: physical & device certification
peer identifiers and attributes: server assign random peerID
identity protection: privacy, ...
downgrading threat: 支持reconnect的时候协商升级ciphersuite
protected success and failure indications: successful verification with mac;failure are not protected
recovery from loss of last message: Kz ...
eap security claims
----------------------------------------------------
authentication mechanism: ecdhe key exchange with oob authentication (Noob)
protected cryptosuite negotiation
mutual authentication
integrity protection
replay protection
confidentiality : no
key derivation
key strength
dictionary attack protection
fast reconnect
cryptographic binding : not applicable
session independence
fragmentation: no
channel binding