Click here to Skip to main content
15,885,366 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I'm working on a C# desktop wpf application that will be handling a constant stream of incoming data (values and current status online or offline) from various sources( computers or tablets) and needs to be viewed in real time from the application.

I need the data to be secure between the application access the data and the database,
the data on the database needs to be encrypted and be able to access the database on the go.

After some research I've found that Transport Layer Security (TLS) is the best way to secure data transmission between the application and the database.As for database Encrypting the data in the database is one of the best options and the best encryption algorithm is AES 256 Bit.

so my questions are these

1)which database type is the best to use in this situation?
2)How do I go about setting it up in real time?
3)how can I secure the connection between application and database using TLS?
and finally

4)how do i encrypt the data in the database as AES 256 Bit?
Posted
Comments
Nathan Minier 6-Jan-16 9:44am    
Most of the databases that you're looking for with this functionality built-in will be pay-to-play, enterprise solutions. SQL Server does all of that standard, and MongoDB Enterprise can be configured for it as well.

An alternative is to perform encryption in the application and only store encrypted results. This will add a little overhead and remove some functionality (LIKE or other comparators will not work on the database level, but can on the application level), but has the benefit of being usable with any database.

Implementation will be entirely contingent on the method and product that you intend to use.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900