Regulation and compliance are two key factors when it comes to deploying any software into a business-oriented environment. Most importantly, the software must be secure to prevent data leakage and to avoid users and their data from being compromised.
The BBM Enterprise SDK uses the same technology as the BBM Enterprise Application, which is in use within regulated industries and government security agencies. It easily utilises either an existing cloud-based storage provider or one that a developer builds on his or her own. This is so that the keys remain in the hands of the clients, and the secure data is indiscernible to everyone else, including BlackBerry.
Firebase is one example of a cloud-based provider that is commonly used. However, there are some instances where the regulated environment cannot support Google Play Services and other related components – such as Firebase storage – which is why BlackBerry provides developers the flexibility to choose an existing system or implement their own. This is why BlackBerry architected the BBM Enterprise SDK the way they did. It enables developers to have choices with identity providers, key management, storage, and social graph, all while remaining both secure and efficient.
The BlackBerry SimpleChat sample was built using Firebase so that the basic needs of identity, public and private key storage, and data storage for contacts could be achieved by a developer in very few steps.
At Tundra Core Studios, we made the most of the flexibility of the BBM Enterprise SDK by integrating our own identity provider, key management system, and storage provider. Let’s get into the specifics of how we integrated Identity Management between our application and the SDK. We use a token-based system which then authenticates the SDK with our application through the use of the ‘AuthToken’ in the SDK, which is tied to a unique identifier specific to the authenticating user.
As for the integration of the user profiles and social graph information, we create endpoints to interact with our API –as we have sub-classed and extended the ‘AppUserSource’. This provides us with a direct connection to store information about a user within the BBM Enterprise SDK and with our API. This can be shared amongst other users where they can then go onto initiate conversations with the different participants.
The key storage management is one of the most important factors to ensure messages can be sent and received within our application. Whilst to some, integrating a key storage management system from scratch would appear as a difficult task, we simply extended our API that was previously used for the user profiles and social graph. We then use this information to implement secure key storage.
This was simple and we only needed to create a few additional endpoints (which interact with our API). The BBM Enterprise SDK already provides callback methods to enable the exchange of the relevant keys, both with its internals and with an external network for information upload.
Plugging into the ‘KeyStorageProvider’ provided us with the exact callbacks we required to communicate with our API, allowing us to upload the cryptographic keys required to secure conversations and user accounts.
The BBM Enterprise SDK is built in a way that allows developers to use any cloud-managed storage provider they like. In our case, we appreciated the flexibility to build and use our own services. Now that we have been able to successfully replace Google Play Services and Firebase, we are looking to extend our API even further to allow information to be shared between our proprietary suite of applications (Secure Chat, Secure Mail and Secure Notes), as well as where contacts can be synced and shared.
Users also now have the ability to share notes directly into Secure Chat and Secure Mail, as we have created the functionality to file share—within Secure Chat—by accessing your corporate network drives.
To learn more about what the BBM Enterprise SDK can do for your business, or to sign up as a developer, please visit the official BBM Enterprise SDK Site. For developer resources or to get started on any of our platforms, you can also visit the BlackBerry Developer Community website.