Security Technical Overview

Local Navigation

Device transport keys

The device transport key encrypts the message keys that help protect the data sent between a BlackBerry® Enterprise Server and BlackBerry device. The BlackBerry Enterprise Server and BlackBerry device generate the device transport key when a user activates the BlackBerry device.

The BlackBerry Enterprise Server and BlackBerry device do not send the device transport key over the wireless network when they generate the device transport key or when they exchange messages.

The BlackBerry® Enterprise Solution is designed so that only the BlackBerry Enterprise Server and BlackBerry device know the value of the device transport key. The BlackBerry Enterprise Server and BlackBerry device reject a data packet if they do not recognize the format of a data packet or do not recognize the device transport key that protects the data packet.

States for device transport keys

The BlackBerry® Enterprise Solution generates device transport keys on a regular basis so that a potentially malicious user cannot access all data sent between a BlackBerry® Enterprise Server and BlackBerry device if that user compromises a device transport key. As the BlackBerry Enterprise Solution generates device transport keys, the device transport keys change state from pending to current to previous.

State

Description

pending

A pending device transport key is the device transport key that the BlackBerry Enterprise Solution generates to replace the current device transport key. If the user generates the device transport key using the BlackBerry® Desktop Software, the BlackBerry Desktop Software sends the pending device transport key to the device when the user connects the device to the computer.

The messaging environment and BlackBerry Configuration Database store the pending device transport key.

current

A current device transport key is the device transport key that the device currently uses to encrypt and decrypt message keys.

previous

A previous device transport key is the device transport key that the device used before the BlackBerry Enterprise Solution generated the current device transport key.

The device stores previous device transport keys in flash memory for 7 days. The device stores previous device transport keys so that a user can decrypt messages even after the user generates a new device transport key while messages are queued.

The messaging server and BlackBerry Configuration Database store the previous device transport key that the BlackBerry Enterprise Server and device used most recently.

A potentially malicious user cannot use the previous device transport key to learn the currrent device transport key. The BlackBerry Enterprise Server and device discard the key pair after they generate the device transport key. If a potentially malicious user compromises both the static private key and ephemeral private key for a device transport key, other device transport keys that the BlackBerry Enterprise Server and device generate are not compromised.

Back To Top

Where the BlackBerry Enterprise Solution stores device transport keys

The BlackBerry® Enterprise Solution stores current, pending, and previous device transport keys in the BlackBerry Configuration Database, in the messaging environment, and on each BlackBerry device.

A device stores the device transport keys in a key store database in flash memory. The key store database is designed to prevent a potentially malicious user from copying the device transport keys to a computer by trying to back up the device transport keys. A potentially malicious user cannot extract key data from flash memory.

To avoid compromising the device transport keys that are stored in the BlackBerry Configuration Database or in the messaging environment, you must protect the BlackBerry Configuration Database and the storage location of the device transport key in the messaging environment.

Messaging environment

Storage location on the messaging environment

IBM® Lotus® Domino®

BlackBerry profiles database

Microsoft® Exchange

mailbox of the email application on the user’s computer

Novell® GroupWise®

Back To Top

Where the BlackBerry Enterprise Server stores device transport keys in a Microsoft Exchange environment

In a Microsoft® Exchange environment, the BlackBerry® Enterprise Server stores the device transport keys in a hidden folder that is named BlackBerryHandheldInfo. The BlackBerryHandheldInfo folder is located in a root folder of the mailbox for the user account on the Microsoft® Exchange Server. The BlackBerryHandheldInfo folder stores the following data:
  • message of class RIM.BlackBerry.Handheld.Config that contains the user's configuration information, including the device transport key
  • device transport keys in binary form with tags that indicate whether the status of the device transport keys is pending (0x6002 tag), current (0x6003 tag), or previous (0x6004 tag)
Back To Top

Where the BlackBerry Enterprise Server stores device transport keys in an IBM Lotus Domino environment

In an IBM® Lotus® Domino® environment, the BlackBerry® Enterprise Server stores the device transport keys in a Lotus Domino database that is named BlackBerryProfiles.nsf. The BlackBerry profiles database contains configuration information for every user account that exists in the Data directory. The BlackBerry profiles database stores an account record that contains the RIMCurrentEncryptionKeyText field, RIMPendingEncryptionKeyText field, and RIMPreviousEncryptionKeyText field. The fields stores the device transport keys for every user account in a hexadecimal string using alphanumeric characters.

Back To Top

Generating device transport keys

Back To Top

Generating the first device transport key for a device during the activation process

If a user connects a BlackBerry® device to a computer for the first time and activates the device, the BlackBerry® Desktop Software generates the device transport key and sends it to the device and messaging server.

If a user activates the device over the wireless network, the BlackBerry® Enterprise Server and device negotiate to select the strongest algorithm that they both support (either AES or Triple DES) and use that algorithm to generate a device transport key. To generate public keys for key rollover on the device and create a strong, cryptographically protected connection between the BlackBerry Enterprise Server and device, the BlackBerry® Enterprise Solution uses the SPEKE authentication method and the activation password for the device.

For more information about the SPEKE authentication method, visit http://standards.ieee.org/ to read Password-Based Public Key Cryptography (P1363.2).

Back To Top
Security characteristics for generating the first device transport key

Characteristics

Description

authentication and integrity

The wireless activation process verifies that only a user with the correct activation password can activate a BlackBerry® device that you associate with a BlackBerry® Enterprise Server.

prevention of offline dictionary attacks

The wireless activation process is designed so that a potentially malicious user cannot determine a user's password by viewing the protocol packets that the BlackBerry Enterprise Server and device send between each other.

prevention of online dictionary attacks

The wireless activation process is designed so that the BlackBerry Enterprise Server prevents a potentially malicious user from activating a device if that user types an incorrect activation password more than five times.

long-term public keys exchanged

The wireless activation process verifies that the BlackBerry Enterprise Server and device can exchange the device transport key in a manner that is designed to be highly secure when they generate a new device transport key.

Back To Top

Generating subsequent device transport keys for a device

By default, the BlackBerry® Enterprise Server and BlackBerry device generate subsequent device transport keys every 30 days. If a pending device transport key exists and a user connects a device to a computer, the current device transport key on the device becomes the previous device transport key and the pending device transport key becomes the current device transport key. If no pending device transport key exists, you, the user, or the BlackBerry® Desktop Software can generate a device transport key.

The BlackBerry Enterprise Server and device generate the device transport key using existing long-term public keys and the ECMQV key exchange algorithm to negotiate a device transport key. This method is designed so that a potentially malicious user is unable to calculate the device transport key. The BlackBerry Enterprise Server and device discard the key pair after they generate the device transport key.

For more information about the ECMQV key exchange algorithm, see NIST: Special Publication 800-56: Recommendation on Key Establishment schemes, Draft 2.0 and the Guide to Elliptic Curve Cryptography.

Back To Top
Security characteristics for generating subsequent device transport keys

Characteristics

Description

authentication

Authentication means that only a BlackBerry® device that a user authenticates with or a BlackBerry® Enterprise Server can generate subsequent device transport keys. Authentication is designed so that a potentially malicious user cannot use another device to impersonate an activated device and generate a device transport key.

password independent

Password independent means that the user does not require an activation password and you do not have to perform any actions when you or a user generates a subsequent device transport key.

flexible initiation

Flexible initiation means that you or a user can generate a subsequent device transport key at any time.

PFS

PFS means that subsequent device transport keys are independent of previous device transport keys. A device transport key does not help the potentially malicious user decrypt data that another device transport key protects.

Back To Top

Generating a device transport key manually

To generate a device transport key on an activated BlackBerry® device, a user can click Regenerate Encryption Key, in the device options, in the security options. The device sends the request to generate a device transport key to the BlackBerry® Enterprise Server over the wireless network.

A user can also generate a device transport key using the BlackBerry® Desktop Manager. By default, the BlackBerry Enterprise Server sends a request to the BlackBerry Desktop Manager every 30 days to prompt the user to generate a new device transport key on the device, even if the user chooses to generate the device transport key manually using the BlackBerry Desktop Manager.

You can use the BlackBerry Administration Service to start the process to generate a new device transport key.

Back To Top

Process flow: Generating a device transport key using BlackBerry Desktop Software version 4.0 or later

In BlackBerry® Desktop Software version 4.0 or later, the process to generate a device transport key uses the current time and cursor movements as the seeds to generate random data.

To generate the device transport key, the BlackBerry Desktop Software performs the following actions:

  1. prompts the user to move the cursor
  2. uses the srand function of the C programming language to examine the lowest 12 bits of the x and y co-ordinates of the new cursor location

    If the bits are different from the previous sample, the BlackBerry Desktop Software stores the bits, which generates 3 bytes of randomness. If the bits are the same as the bits in the previous sample, the BlackBerry Desktop Software does not store any bits.

  3. uses the srand function to examine the next bits, after the srand function waited for a random interval between 50 milliseconds and 150 milliseconds

    The srand function continues to wait for random intervals and examine bits until the BlackBerry Desktop Software stores 384 bytes of randomness.

  4. retrieves 384 bytes of randomness from the Microsoft® Cryptographic API, for a total of 768 bytes
  5. hashes the 384 bytes of randomness from the cursor co-ordinates and the 384 bytes of randomness from the Microsoft Cryptographic API with SHA-512 to produce 512 bits of data
  6. frees the computer memory that is associated with the unused bits
  7. generates the device transport key using the first 256 bits of data if the BlackBerry Desktop Software supports AES encryption, or the first 128 bits of data if the BlackBerry Desktop Software supports Triple DES encryption
  8. deletes any bits of data that it does not use to generate the device transport key
Back To Top
Next topic: Message keys

Was this information helpful? Send us your comments.