How to obfuscate SQL Server database structure thereupon the business logic? RRS feed

  • Question

  • I'm designing a shrink wrapped application and I need to "hide" somehow the database structure (SQL server database) from the eyes of the competitors that may attempt casual reverse engineering.

    Most of the application uniqueness and business logic can be understood just by looking at the db structure.

    So what I want to do is to obfuscate the fields and table names in order to make their names meaningless at first sight.
    Eg, instead of CustomerID to have CXIYZ and instead of Invoices to have PPLQW for example. Or something like that.

    (Of course, using advanced hackind and debugging techniques, one could still trace API calls, COM calls, etc and figure out what goes where in the end, but I just want to discourage the casual hacker to get the business logic too easily.)

    Does anybody know if a product or component to do something like that exists ? Any other ideas on how to achieve this ?
    • Edited by Yasser Zamani Sunday, October 18, 2009 7:05 PM adding a word in title
    Sunday, October 18, 2009 7:02 PM

All replies

  • Have you read this blog http://tgrignon.wordpress.com/2007/10/16/data-obfuscation-through-random-string-replacement-in-sql-server/ ? Is this similar to what you expect ?
    Thanks, Leks
    Sunday, October 18, 2009 7:28 PM
  • Thanks Leks.
    But i want to obfuscate database structure not it's data.
    I want to obfuscate table names, fields names, etc.
    something like dotfuscator but over database not .NET assembly.
    Yasser Zamani
    Monday, October 19, 2009 5:33 AM
  • HI Yasser,

    I am not sure of such tools , but someone else in this forum can help you !

    Thanks, Leks
    Monday, October 19, 2009 5:36 AM
  • Take a look at http://discuss.joelonsoftware.com/default.asp?design.4.82558.24.  It does not sound like there are options for this.  Seems like there would have been a product created for this by now.  Perhpas it's not really worth the effort.  If I had to do it, I would script out everything and create a script to replace the table and column names everywhere.  The idea of using just varying numbers of spaces for table and column names might work.  Yuck. 
    Tuesday, October 20, 2009 8:03 PM
  • Thanks Randy.

    But i want a tool that obfuscate sql server database and related .NET application together without corrupt it.
    For .NET application we have Dotfuscator in Visual Studio's Tools menu but for both we dont have any tool.

    Best Regards, Yasser Zamani
    Wednesday, October 21, 2009 2:43 PM
  • R-Tag were offering product like this. www.r-tag.com
    Friday, April 29, 2011 7:44 PM