azure-sql-databasealways-encrypted

Always, but Always, Encrypted Azure SQL Database, how to achieve


Is there a way to have an always encrypted database?

I mean no system admin, no one to be able to read the data. Once encrypted the data to stay encrypted forever. This is a database for an application with many customers (authentication done via email/password).

Could this be achieved with a PIN that the customer has to enter besides their credentials? The data is encrypted with the PIN and that's it, only if they enter the PIN will customers be able to see their data un-encrypted.

If they lose the PIN that's it, the data is un-recoverable.


Solution

  • The closest thing you can have is Row-level encryption but it can be used in these use cases:

    But this will not solve your problem because you should create a user per customer while the application will have always its own user.

    The most secure thing that SQL Server can provide you is Always Encrypted : in this case the system admin will have no access to the data. But don't expect to have a different PIN per user.

    Over all what you are looking for is called Homomorphic encryption where data never get decrypted. But I don't understand why you are trying to do so.

    For instance, what is the problem that you are trying to solve here?

    Because: