linux/net/bluetooth
Marcel Holtmann 8c1b235594 Bluetooth: Add enhanced security model for Simple Pairing
The current security model is based around the flags AUTH, ENCRYPT and
SECURE. Starting with support for the Bluetooth 2.1 specification this is
no longer sufficient. The different security levels are now defined as
SDP, LOW, MEDIUM and SECURE.

Previously it was possible to set each security independently, but this
actually doesn't make a lot of sense. For Bluetooth the encryption depends
on a previous successful authentication. Also you can only update your
existing link key if you successfully created at least one before. And of
course the update of link keys without having proper encryption in place
is a security issue.

The new security levels from the Bluetooth 2.1 specification are now
used internally. All old settings are mapped to the new values and this
way it ensures that old applications still work. The only limitation
is that it is no longer possible to set authentication without also
enabling encryption. No application should have done this anyway since
this is actually a security issue. Without encryption the integrity of
the authentication can't be guaranteed.

As default for a new L2CAP or RFCOMM connection, the LOW security level
is used. The only exception here are the service discovery sessions on
PSM 1 where SDP level is used. To have similar security strength as with
a Bluetooth 2.0 and before combination key, the MEDIUM level should be
used. This is according to the Bluetooth specification. The MEDIUM level
will not require any kind of man-in-the-middle (MITM) protection. Only
the HIGH security level will require this.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2009-02-27 06:14:25 +01:00
..
bnep bluetooth: driver API update 2009-01-07 17:23:17 -08:00
cmtp Bluetooth: Enable per-module dynamic debug messages 2008-11-30 12:17:28 +01:00
hidp Bluetooth: Enable per-module dynamic debug messages 2008-11-30 12:17:28 +01:00
rfcomm Bluetooth: Add enhanced security model for Simple Pairing 2009-02-27 06:14:25 +01:00
af_bluetooth.c Bluetooth: Add global deferred socket parameter 2009-02-27 06:14:23 +01:00
hci_conn.c Bluetooth: Add enhanced security model for Simple Pairing 2009-02-27 06:14:25 +01:00
hci_core.c Bluetooth: Enable per-module dynamic debug messages 2008-11-30 12:17:28 +01:00
hci_event.c Bluetooth: Add enhanced security model for Simple Pairing 2009-02-27 06:14:25 +01:00
hci_sock.c Bluetooth: Enable per-module dynamic debug messages 2008-11-30 12:17:28 +01:00
hci_sysfs.c Bluetooth: Fix format arguments warning 2008-11-30 12:17:29 +01:00
Kconfig [S390] Kconfig: unwanted menus for s390. 2007-05-10 15:46:07 +02:00
l2cap.c Bluetooth: Add enhanced security model for Simple Pairing 2009-02-27 06:14:25 +01:00
lib.c [NET] BLUETOOTH: Fix whitespace errors. 2007-02-10 23:19:20 -08:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sco.c Bluetooth: Add enhanced security model for Simple Pairing 2009-02-27 06:14:25 +01:00