Higher
Layer_Key
Est
User
Interaction
(PIN)
Pre-Config
Pkey
Init Key
“Kinit”
Old Link
Key
Link Key
Authentication
Process
Overlay
Key
Encryption
Key
Constraint
Key
Payload
Key “KP”
Encryption
Process
Shared Secret b/w
2x comm devices
Kinit = E22(Pkey, IN_RAND, LPKey)
Short-lived key, used for pairing
Shared secret,
used after pairing
Kovl = E22(K, RAND3, 16)
Conveying the master key to each
of the slave via Broadcast data
Derived from Link key as:
Kc=E3(K,EN_RAND,COF)
Used for encryption in USA
Impose restrictions on the export of encryption mech
Conversion of 128 bits Kc into a Kc’ (length < 128 bits)
E22 E21
AC0
E0
E3
Summary of Algorithms
• E1, E3, E21, E22 use SAFER+ (Block Cipher)
• E0 is based on Stream Cipher
• 128 bits block cipher
• Key is directly input to E0 to generate a
stream for Encryption
Actual key used to Encrypt/ Decrypt B.T packets
Kp=E0(KC’, CK_VAL, BD_ADDR, EN_RAND)
BLUETOOTH - KEY HIERARCHY
OR
.
.
.
.
g1
L & g2
L

Bluetooth - Key risk-based approach Heirarchy.pptx

  • 1.
    Higher Layer_Key Est User Interaction (PIN) Pre-Config Pkey Init Key “Kinit” Old Link Key LinkKey Authentication Process Overlay Key Encryption Key Constraint Key Payload Key “KP” Encryption Process Shared Secret b/w 2x comm devices Kinit = E22(Pkey, IN_RAND, LPKey) Short-lived key, used for pairing Shared secret, used after pairing Kovl = E22(K, RAND3, 16) Conveying the master key to each of the slave via Broadcast data Derived from Link key as: Kc=E3(K,EN_RAND,COF) Used for encryption in USA Impose restrictions on the export of encryption mech Conversion of 128 bits Kc into a Kc’ (length < 128 bits) E22 E21 AC0 E0 E3 Summary of Algorithms • E1, E3, E21, E22 use SAFER+ (Block Cipher) • E0 is based on Stream Cipher • 128 bits block cipher • Key is directly input to E0 to generate a stream for Encryption Actual key used to Encrypt/ Decrypt B.T packets Kp=E0(KC’, CK_VAL, BD_ADDR, EN_RAND) BLUETOOTH - KEY HIERARCHY OR . . . . g1 L & g2 L