Sorry if this is naïve , but the recent data leaks in Australia have me wondering.

Question have been asked of Optus in particular (a local Telco) whether they really should have hung on to identity data such as passport numbers.

I know that not every cyber attack is the same, but when a data leak occurs, is it commonly a single table of data or is it more often the whole database?

I ask this because I would like to know whether there is any benefit in keeping sensitive data in a separate one-to-one table from the main users’ table, or even in several tables?

1 Answer 1


I would say it depends on how the database is leaked:

  • One common way for databases to leak is through backups or dumps that are misplaced or stolen. Then one would expect it to be of the full database, and not just a few tables.

  • Another way is if the attacker simply gets access to a database user account. Here separating data between tables might be relevant, if you can limit what users that have read permissions to the sensitive tables. However, some databases have column level permissions that could be used as well.

  • If the data is leaked through SQL injection, usually it would be any table that the database user of the web application has access to (again, think about what users can read what data). Sometimes SQL injections vulnerabilities can be subject to weird constraints, and then it may be limited to only some tables. However, this is hard to predict.

So what is my advice?

You should create your database based on best practices for good database design and do not make overly complex arrangements in hope it will improve security. However, keeping a separate table with i.e. passport numbers sounds like good database design to me, and could have a security benefit if paired with per table permissions.

It is a good idea to create multiple database users and make sure that each user only can read the information it needs to read. Separate tables is one way to do this.

But the best way to make sure you do not leak data is to not keep it at all. Did Optus really need those passport numbers? No table at all might be better than a separate one...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .