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…