Crypto Services – Database Encryption
During the recent Facebook scandal, the unfolding of certain events had people questioning how easy it is to share the private data of users out of context. Facebook was embroiled in a congressional hearing where it had to answer on allegations of, inter alia, the leaking of 87-million users’ data to the political firm Cambridge Analytica. What is even more astonishing is that assurance was provided on how the service will be enhanced with even more security on the public-facing side of the application. However, something critical that congress - and seemingly everybody else - missed is that the data was probably leaked from the back-end, and not through the public-facing side. Let’s explain.
Any data in large volumes must be stored somewhere - typically a database of some sort - which gives it structure. This structure helps the application to recall the data (your walls with anything ever “written” on it) in exactly the same format it was originally posted. The first flaw is that your database administrators have access to the data through the database application they administer. Looking at the amount of records leaked, it is clear that all the data was leaked in bulk. These records were not accessed one by one and details recorded 87-million times over. In fact, the data was obtained from an area where it all already resided, such as the database, and therefore copied and communicated. Regardless of the security measures applied on the front-end, the back-end will remain vulnerable.
Secondly, the application, regardless of what application it is, was written (coded) by someone. As the developer, you would require access to the back-end of the application to tweak it, make coding changes or simply add a feature to enhance the application. These developers and administrators each have their own account that would give them “super user” access to do so, and much more, over the entire area in the application and databases. In the past it has been found that some of these super users would have accounts configured with no access control measures in place to verify who they are, simply because the uptime of the solution is much more important than taking the extra five minutes to log in. This creates a security risk. These administrators and developers therefore have unhindered access to personal data, which leaves your personal data vulnerable to theft and abuse.
One way to address such vulnerabilities is to apply encryption to the database where the information is stored. If applied correctly, encryption will ensure that the data remains protected, even if copied to another location. Database encryption ensures that the database administrator does not have access to the data, nor can the application be manipulated to obtain data. Data that is masked allows the developers to work with data, but without actually compromising the data. Encryption that is applied correctly will ensure that personal data remains protected.