Bluetooth: Enforce key size of 16 bytes on FIPS level
authorArchie Pusaka <apusaka@chromium.org>
Wed, 11 Nov 2020 06:32:20 +0000 (14:32 +0800)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 11 Nov 2020 09:52:01 +0000 (10:52 +0100)
commit288c06973daae4637f25a0d1bdaf65fdbf8455f9
treebd464be8c34d9bf5561bb7b639e21c922282ad85
parent0d484db60fc0c5f8848939a61004c6fa01fad61a
Bluetooth: Enforce key size of 16 bytes on FIPS level

According to the spec Ver 5.2, Vol 3, Part C, Sec 5.2.2.8:
Device in security mode 4 level 4 shall enforce:
128-bit equivalent strength for link and encryption keys required
using FIPS approved algorithms (E0 not allowed, SAFER+ not allowed,
and P-192 not allowed; encryption key not shortened)

This patch rejects connection with key size below 16 for FIPS
level services.

Signed-off-by: Archie Pusaka <apusaka@chromium.org>
Reviewed-by: Alain Michaud <alainm@chromium.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/l2cap_core.c