Security Technical Overview

Local Navigation

Content protection keys

When you or a user turns on content protection for a BlackBerry® device, the BlackBerry device generates a content protection key. The content protection key is designed to encrypt user data on the BlackBerry device when it is locked.

When the BlackBerry device is locked, an encryption process begins. The BlackBerry device frees the memory that it associates with the content protection key and ECC private key that it stores in RAM. The BlackBerry device then uses the ECC public key to encrypt new data that it receives.

When a user unlocks a BlackBerry device, the BlackBerry device decrypts the content protection key and ECC private key in flash memory. When the user wants to view data, the BlackBerry device uses the content protection key or ECC private key to decrypt the data before the BlackBerry device displays it. An unlocked BlackBerry device uses the content protection key to encrypt new data that the user types or adds to the BlackBerry device, or that the BlackBerry device receives.

Process flow: Turning on content protection using a BlackBerry Enterprise Server

You can turn on content protection using a BlackBerry® Enterprise Server when you configure the Content Protection Strength IT policy rule.

  1. The BlackBerry Enterprise Server performs the following actions:
    1. selects b randomly
    2. calculates B = bP
    3. stores b in the BlackBerry Configuration Database
    4. sends B in the IT policy to the BlackBerry device
  2. The device performs the following actions:
    1. verifies that B is a valid public key
    2. selects d randomly
    3. calculates D = dP
    4. stores D in flash memory
    5. calculates K = dB
    6. uses K to encrypt the current device password
    7. uses the encrypted device password to encrypt the content protection key
    8. permanently deletes d and K

When the device permanently deletes d, the device is designed so that a potentially malicious user cannot use the data that remains on the device to recover K. Only the BlackBerry Enterprise Server knows b and can recalculate K = dB = dbP = bD if the BlackBerry Enterprise Server is provided with D. The BlackBerry Enterprise Solution uses K when it resets the device password when content protection is turned on.

Back To Top

Process flow: Generating a content protection key on a device

When you or a BlackBerry® device user turns on content protection on the BlackBerry device for the first time, the device performs the following actions:
  1. Uses a DRBG function to generate a content protection key (if the device is not operating in FIPS mode, the device uses a DSA PRNG function)
  2. Generates an ECC key pair with a bit length that you or the user determines
  3. Prompts the user to type the device password
  4. Derives an ephemeral 256-bit AES encryption key from the device password, using PKCS #5
  5. Uses the ephemeral key to encrypt the content protection key and ECC private key
  6. Stores the encrypted content protection key, encrypted ECC private key, and ECC public key in flash memory

The content protection key is a semi-permanent 256-bit AES encryption key. If the user changes the device password, the device uses the new password to derive a new ephemeral key. The device uses the new ephemeral key to re-encrypt the versions of the content protection key and ECC private key that are in flash memory.

For more information about the DRBG function, see NIST Special Publication 800-90. For more information about the DSA PRNG function, see Federal Information Processing Standard - FIPS PUB 186-2. For more information about PKCS #5, visit www.rsa.com to see PKCS #5: Password-Based Cryptography Standard.

Back To Top

Process flow: Deriving an ephemeral key that protects a content protection key and ECC private key

A BlackBerry® device uses an ephemeral key to encrypt a content protection key and ECC private key. The BlackBerry device derives the ephemeral key, which is an AES-256 encryption key, from the BlackBerry device password using PKCS #5.

To derive an ephemeral key, the BlackBerry device performs the following actions:
  1. selects a 64-bit salt (which is random data that the BlackBerry device mixes with the BlackBerry device password)

    The salt prevents two identical passwords from turning into the same key.

  2. concatenates the salt, password, and salt again into a byte array (for example, Salt|Password|Salt)
  3. hashes the byte array with SHA-256
  4. stores the resulting hash in a byte array that is called a key
    (key) =
    SHA256(Salt|Password|Salt)
    
  5. hashes the key 18 more times and stores the result in the key each time
    For example, for i=0 to 18, the BlackBerry device performs the following actions:
    (key) = SHA256(key)
     i++
     done
    

The final hash creates the ephemeral key.

For more information, visit www.rsa.com to see PKCS #5: Password-Based Cryptography Standard.

Back To Top

Was this information helpful? Send us your comments.