Opening a direct connection between a device and a BlackBerry Router
A BlackBerry® device can use the BlackBerry Router protocol to bypass the SRP-authenticated connection to the BlackBerry® Infrastructure and open a direct connection to a BlackBerry Router. The device can open a direct connection to the BlackBerry Router if a BlackBerry device user connects the device to a computer that hosts the BlackBerry® Device Manager. A device can also open a direct connection to the BlackBerry Router over an enterprise Wi-Fi® network using port 4101. A direct connection between the BlackBerry Router and device is referred to as least-cost routing because it eliminates the cost of using the BlackBerry Infrastructure.
Before the BlackBerry® Enterprise Server and device can send any data to each other, the device must authenticate with the BlackBerry Enterprise Server by verifying the device transport key. The device opens an authenticated connection to the BlackBerry Router after the device authenticates with the BlackBerry Enterprise Server. The BlackBerry Router does not know the value of the device transport key that the BlackBerry Enterprise Server and device share.
If the device connects to the BlackBerry Router over the enterprise Wi-Fi network, after the BlackBerry Router opens an authenticated connection, the BlackBerry Router communicates with the device over the enterprise Wi-Fi network using port 4101. If you do not configure the BlackBerry Router to connect only to a Wi-Fi network, the BlackBerry Router verifies that the PIN belongs to a device that is registered with the BlackBerry Infrastructure.
If you want the BlackBerry Router and device to use the BlackBerry Router protocol, you can consider installing the BlackBerry Router on a computer that is separate from the computer that hosts the BlackBerry Enterprise Server to prevent a potentially malicious attacker from having direct access to the computer that hosts the BlackBerry Enterprise Server. If the BlackBerry Router is placed in the DMZ, you must open port 4101 on the internal-facing firewall to permit communication between the BlackBerry Device Manager and BlackBerry Router.
Process flow: Authenticating a BlackBerry device with the BlackBerry Enterprise Server using the BlackBerry Router protocol
- A user connects a BlackBerry® device to a computer that hosts the BlackBerry® Device Manager or connects a BlackBerry device to an enterprise Wi-Fi® network.
- The BlackBerry® Enterprise Server and BlackBerry device use the BlackBerry Router
protocol to verify that the BlackBerry device knows the device transport key.
The BlackBerry Router protocol uses two runs of the elliptic curve version of the Schnorr identification scheme to provide mutual authentication between the BlackBerry Enterprise Server and BlackBerry device.
- The BlackBerry Router opens an authenticated connection.
Closing a direct connection between a BlackBerry device and BlackBerry Router
If a user disconnects a BlackBerry® device from a computer that hosts the BlackBerry® Device Manager, closes the BlackBerry Device Manager, or disconnects the BlackBerry device from an enterprise Wi-Fi® network, the BlackBerry device restores the connection to the BlackBerry® Infrastructure over the wireless network automatically. The BlackBerry® Enterprise Server and BlackBerry Router use the BlackBerry Router protocol to close the authenticated connection to the BlackBerry device. The BlackBerry Router protocol is designed to permit only an authenticated party to close the connection. The BlackBerry Router uses a single execution of the Schnorr identification scheme to authenticate the close command that the BlackBerry Enterprise Server sends to the BlackBerry Router.
Impersonation attacks that the BlackBerry Router protocol is designed to prevent
The BlackBerry® Router protocol is designed to prevent a potentially malicious user from impersonating a BlackBerry device or a BlackBerry® Enterprise Server.
To impersonate the BlackBerry device, the potentially malicious user sends messages to the BlackBerry Enterprise Server so that the BlackBerry Enterprise Server believes it is communicating with the BlackBerry device. To impersonate the BlackBerry Enterprise Server, the potentially malicious user sends messages to the BlackBerry device so that the BlackBerry device believes it is communicating with the BlackBerry Enterprise Server.
To perform either of these impersonation attacks, the potentially malicious user must send the device transport key value (also known as s) to the BlackBerry Enterprise Server or BlackBerry device, which requires the potentially malicious user to solve the discrete log problem to determine s or the hash of s.
How the BlackBerry Router protocol uses the Schnorr identification scheme to open an authenticated connection
The implementation of the Schnorr identification scheme in the BlackBerry® Router protocol uses a group of large prime order, which is the additive group of elliptic curve points for a prime p.
- use the NIST recommended 521-bit elliptic curve group
- verify that the points supplied by the parties involved in the communication are members of the elliptic curve group
- verify that RD does not equal RB , to prevent the recovery of h by a potentially malicious user
- verify that e does not equal 0, to prevent the recovery of h by a potentially malicious user
- verify that R does not equal the point at infinity, to verify that R is a valid public key
- verify that R does not equal the point at infinity, to verify that R is a valid public key
- reset any corrupted data that it finds to a random value so that the BlackBerry Router protocol can proceed past the point that it detects corrupted data
Because the BlackBerry Router protocol can proceed past the point that it detects corrupted data, the BlackBerry Router protocol is unsuccessful at completion only. This measure is designed to prevent various timing attacks.
Process flow: Using the BlackBerry Router protocol to close an authenticated connection
- The BlackBerry® Enterprise Server performs the following actions:
- The BlackBerry Router
performs the following
actions:
- verifies that the value RC is random when the value RC approaches the point at infinity
- verifies that the value RC is random when the value RC = RB , or RC = RD
- selects a random value eC , where 1 < ec < p - 1
- calculates another eC value if eC = eD , or ec = eB
- sends the value eC to the BlackBerry Enterprise Server
- The BlackBerry Enterprise Server performs the following actions:
- The BlackBerry Router
performs one of the
following actions:
- The BlackBerry Router closes the authenticated connection to the BlackBerry device on behalf of the BlackBerry Enterprise Server if the BlackBerry Router accepts yC.
- The
BlackBerry Router
does not close the authenticated
connection to the BlackBerry device if the BlackBerry Router
calculates the following:
yCP + eCRC ≠ yDP + eDRD
Process flow: Using the BlackBerry Router protocol to open an authenticated connection
- The BlackBerry® device and BlackBerry® Enterprise Server hash the current device transport key using SHA-512.
- The BlackBerry device performs the following actions:
- The BlackBerry Router performs the following actions:
- The BlackBerry Enterprise Server performs the following actions:
- The BlackBerry Router performs the following actions:
- The BlackBerry device performs the following actions:
- The BlackBerry Router performs the following actions:
- The BlackBerry Enterprise Server performs the following actions:
- One of the following actions occurs:
- The BlackBerry Enterprise Server and BlackBerry device open an authenticated connection to each other if the BlackBerry device accepts yB.
- The BlackBerry
device does not accept the connection request, and the BlackBerry Enterprise Server
and BlackBerry device do not open an
authenticated connection to each other,
if the BlackBerry
device calculates the following:
yBP + eBRB ≠ hP
- The BlackBerry Router
does not accept the connection request if the BlackBerry Router
calculates the following:
yBP + eBRB ≠ yDP + eDRD
- The BlackBerry Enterprise Server
does not accept the connection request if the BlackBerry Enterprise Server
calculates the following:
yDP + eDRD ≠ hP
- The BlackBerry Router stores RD , RB , yDP + eDRD , eD , and eB if the BlackBerry device accepts yB .
- The BlackBerry Enterprise Server stores RD , RB , eD , eB , and h.
- The BlackBerry Router overwrites yB and yD in memory with zeroes.
- The BlackBerry Enterprise Server overwrites yB , yD , and rB in memory with zeroes.
- The BlackBerry device overwrites yB , yD , and rD in memory with zeroes.
Cryptosystem parameters that the BlackBerry Router protocol uses
The BlackBerry® Router, BlackBerry® Enterprise Server, and BlackBerry device are designed to share the following cryptosystem parameters when they use the BlackBerry Router protocol.