Bill,
Sorry, I am with you on the Security v. access. I was having brain spasms this morning.
While there are SOP in place for security(via login, roles, view, etc), this requirement is resulting from 2 guys on a golf course stating I want secure data and Yes. I will ensure your data is secure. I know Ill encrypt your data. After this sweeping statement, they go drink and then someone has to figure it out.
This is were things get sticky (and vague). Apparently, the client wants all things to be protected from everyone. For example, there are the obvious columns (client info, bank accounts, PO numbers, transaction amounts etc) but this client wants every single order and the contents of that order(items, addresses, dates, times, quantities, etc) to be protected. Apparently, the standard use of logins, roles, and views is NOT enough. They dont want anyone to be able to see anything. While this shouldnt happen based on roles, views, and other measures, this guy wants the data encrypted. As a result, I must now potentially protect all columns in all tables (i.e. Sales, Orders, PreOrders, etc). I am trying to stop this but some people are just silly.
I have warned them about the strain that they will put on resources but they dont seem to care. Honestly, I dont know who is worse. The guy asking the request or the sales guy saying yes but thats my problem. Anyhow, I am still working the lets just go through the database and each of the tables and encrypt specific columns. In my head, I just see them tagging every column for encryption or a very large number of columns. Therefore, I was wondering. Is there a point at which one just does the whole database?
This would be for sanity as well as maintenance.
While this is not the actual case, I want to try to make an analogy and I think this will work. Think of an advertising company that has Coke and Pepsi as clients. While standard access restrictions are in place (certain IPs for firewall, secure logins, roles, view, other in-house methods, and etc), the Pepsi guys wants to ensure that none of the Coke users can see ANY of his data. Well they cant but he is paranoid and wants the data encrypted. I guess to be fair. The guys at Coke do have access and could hire a hackers etc etc
knel
Main Topics
Browse All Topics





by: grant300Posted on 2008-02-29 at 08:37:39ID: 21014863
I think you might be confusing a couple of issues. Security is about access control: who can see what rows and columns. Encryption is about obscuring the data so that when security fails or someone goes around the back door (say with a hex editor against the shared memory segment, partition, or file) the content is not compromised.
I presume you have specific security requirements and can/are addressing those with traditional access control (logins, roles, grant/revoke, views, etc.) You can take that a step further and setup auditing so you can keep track of who was doing what on the database. It might not prevent a breakin but it leaves a trail pointing to the culprit.
The truth is that column based encryption is the norm because there are usually only a few fields in any database that are truly sensitive; credit card number, SS#, salary, account balance, etc. The question I have to ask is, what is your purpose for wanting to essentially encrypt the entire database? Encrypting all of the data also imposes a huge overhead on I/O, and area that is already a bottleneck on most systems.
If you are trying to protect all of the data from back door attack, your first line of defense is O/S and SAN security. It is not as bad with Fibre Channel disk arrays but the dirty little secret about iSCSI is that, unless you take extraordinary network security steps, all the data going back and forth to disk is accessible to anyone with a copy of WireShark.
If the real problem is securing the data from Sys Admins and other privileged users, things are tougher because your database server will have to live outside the normal sphere of influence of IT and the system management staff. That is often a tough organizational sell.
There is also an emerging hardware encryption market in the form of disk drives with controllers that do encryption on the fly. Not sure how that works in practice but I am assuming it requires i/o drivers equipped to supply the key to the drive.
Hope this helps a little.
Bill