MySQL Assignment Question

LAB Work

1. Choose your favorite SQL Server e.g. MySQL Enterprise (trial download should be possible) or MS SQL Server Express

  • Generate a simple and large database (e.g. by using benchmarking tools)
  • Try column level encryption and see how data looks like after encryption (Create a table with an encrypted column, issue an insert statement, then issue a select statement)
  • Try to insert encrypted values to the table
  • See the added the rows/columns (select * …)
  • What are the possible encryption algorithms supported in your selected DBMS?
  • Try to compare full database encryption to column-level encryption in terms of performance, e.g. run simple select statements on the large database you generated…

Questions to think about:

  • What are the vulnerabilities (attack vectors) you could have with this approach?
  • Can you get the plain text from encrypted data in a way?
  • What difference do you see between one algorithm (e.g. AES) and another algorithm of your choice?

2. CryptDB

Download and Install CryptDB:

  • Works on Ubuntu 12.04, 13.04

git clone -b public git://g.csail.mit.edu/cryptdb Follow the instructions for setup (may take some time) Tasks

  • Try to execute the queries in file “demoqueries”
  • Try to find/run a query that is not supported (try to see UNIMPLEMENTED EXCEPTION or others…)

Questions to think about:

  • Would you use this in a production environment?
  • What are the concerns you would have if you do so?

3. Compare the performance of CryptDB with your selected DBM (MSSQL or MySQL) for a certain DB

  • Think of a scenario where you have multiple queries to the DBMS
  • Select queries: try to see how CryptDB and your DBMS performs compared to each other
  • By using benchmarking tool of your choice try to compare the performance of various queries on bulk data…