]> git.baikalelectronics.ru Git - kernel.git/commit
[Bluetooth] Reject L2CAP connections on an insecure ACL link
authorMarcel Holtmann <marcel@holtmann.org>
Tue, 9 Sep 2008 05:19:20 +0000 (07:19 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 9 Sep 2008 05:19:20 +0000 (07:19 +0200)
commit63495c645e13ff39f40b61520a899cc1e1207749
tree7ba44be60b7bf9c4e7bee459735ebabdc85eb8fd
parent2203d6d890421e03c90cd4a7969f2490aff4f9c8
[Bluetooth] Reject L2CAP connections on an insecure ACL link

The Security Mode 4 of the Bluetooth 2.1 specification has strict
authentication and encryption requirements. It is the initiators job
to create a secure ACL link. However in case of malicious devices, the
acceptor has to make sure that the ACL is encrypted before allowing
any kind of L2CAP connection. The only exception here is the PSM 1 for
the service discovery protocol, because that is allowed to run on an
insecure ACL link.

Previously it was enough to reject a L2CAP connection during the
connection setup phase, but with Bluetooth 2.1 it is forbidden to
do any L2CAP protocol exchange on an insecure link (except SDP).

The new hci_conn_check_link_mode() function can be used to check the
integrity of an ACL link. This functions also takes care of the cases
where Security Mode 4 is disabled or one of the devices is based on
an older specification.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
include/net/bluetooth/hci_core.h
net/bluetooth/af_bluetooth.c
net/bluetooth/hci_conn.c
net/bluetooth/l2cap.c