Thread: Protection of intellectual property (Schema & SQL code)

Protection of intellectual property (Schema & SQL code)

From
mlq@hotmail.com (Michael)
Date:
I want to develop an application using a database server. But I am concerned
that installing it at client's sites will mean that I am potentially
exposing my intellectual property to theft. (I'm in Asia where this sort of
thing is rife).

Would it be true to say that for all database servers (Oracle, SQLServer,
PostgreSQL, Interbase etc) it is impossible to absolutely protect the
intellectual property contained in the schema design and sql code ( not to
mention the data itself)?

Is it true that a database backup can always be restored on a different
server and thus the administrator can gain complete access to schema, code
and all data?

If there is a difference in this respect on various server types, is there a
"league table" of which offer the best security?

Can security be enforced in some way by compelling each user (including
administrator) to always have a digital certificate even if using a restored
copy on a different server?

Re: Protection of intellectual property (Schema &

From
Ulrich Wisser
Date:
Hi Michael,

if your concern about theft is really big, you will need
to write a second piece aof software. Translate all column
names in your scheme to col1, col2, .. and tables to tab1, tab2, ..
Of course your SQL need to be adapted. But nobody will
ever be able to make a meaning out of that. So reengineering
will be really tough. But simple copy will still work.

Ulli


Re: Protection of intellectual property (Schema & SQL code)

From
Jason Earl
Date:
mlq@hotmail.com (Michael) writes:

> I want to develop an application using a database server. But I am
> concerned that installing it at client's sites will mean that I am
> potentially exposing my intellectual property to theft. (I'm in Asia
> where this sort of thing is rife).

In other words you want to create a black box.  Information goes in,
but it only comes out if you get paid.  Such a thing is possible, but
only if the customer doesn't get to poke at the box.  If they control
the hardware, then you are sunk.

> Would it be true to say that for all database servers (Oracle,
> SQLServer, PostgreSQL, Interbase etc) it is impossible to absolutely
> protect the intellectual property contained in the schema design and
> sql code ( not to mention the data itself)?

Yes, that's basically how things work.  PostgreSQL, Oracle, SQL
Server, Interbase, and all the rest will happily regurgitate both
"your" schema and your customers data.  Many of them (like PostgreSQL)
will even do it in an easy to edit text format if you ask nicely
enough.

> Is it true that a database backup can always be restored on a
> different server and thus the administrator can gain complete access
> to schema, code and all data?

Yes that is true.  In fact, it is darn handy.  Backups that can't be
installed on a separate machine aren't backups.

> If there is a difference in this respect on various server types, is
> there a "league table" of which offer the best security?

Security usually means keeping crackers out, not systems
administrators.

> Can security be enforced in some way by compelling each user
> (including administrator) to always have a digital certificate even
> if using a restored copy on a different server?

With special hardware and special hardware such a thing *might* be
possible.  For example, the X-Box has been engineered by Microsoft so
that only their software will boot on it.  Chances are good that there
is a loophole or a way to trick the system, however.

Chances are also good that your customers won't be interested in a
system with backups that can't be installed on another machine.  After
all, what happens if the primary machine fails?  They probably also
won't be thrilled by an application that doesn't believe in sharing
data.

Jason

Re: Protection of intellectual property (Schema &

From
Medi Montaseri
Date:
Actually this technique was also used for Java, (as people were going after

the bytecode.) but has been cracked as well.

Given ample time and money, say 100s of programmers in Jail or
for $1 / day, they will figure you out sooner or later.

So perhaps the view should be ... I go so fast that by the time they figure
me
out, I have obsoleted that very technology.

God helps us.... I should've taken econ or something else....

Ulrich Wisser wrote:

> Hi Michael,
>
> if your concern about theft is really big, you will need
> to write a second piece aof software. Translate all column
> names in your scheme to col1, col2, .. and tables to tab1, tab2, ..
> Of course your SQL need to be adapted. But nobody will
> ever be able to make a meaning out of that. So reengineering
> will be really tough. But simple copy will still work.
>
> Ulli
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster

--
-------------------------------------------------------------------------
Medi Montaseri                               medi@CyberShell.com
Unix Distributed Systems Engineer            HTTP://www.CyberShell.com
CyberShell Engineering
-------------------------------------------------------------------------




Re: Protection of intellectual property (Schema & SQL code)

From
wsheldah@lexmark.com
Date:
I may well be wrong, but I don't think anything I proposed would make the
application any harder to use or administer for the original user. The
database would be normal, no reason not to use standard procedures to
backup and restore it. The front-end would be binary, which only means the
customer wouldn't be able to maintain and extend it themselves. That might
not be acceptable just for that reason, but it's a LONG ways from
installing a back door or remote off switch. All it would do is make it
obvious that this was a product of A Better Company through the names
used... which as I said probably wouldn't do all that much to prevent
copying, truth be told. I suppose the copy-protection on the front end
could be problematic, depending on what's used; I don't recommend anything
that would unduly hinder backups and restores either.

OTOH, there's the question of whether you're trying to market the same
product to dozens of companies, or just developing a custom app. for one
customer. If you're developing a custom app., you could just charge for the
time it takes you to develop it, let them share it with their friends, just
make sure the app has contact info so other users can hire you to enhance
or customize it for them. And at this point I'm NOT talking about just
renaming objects, this is instead of the other proposal.

Wes
P.S. I apologize for the top quoting....



Jason Earl <jason.earl@simplot.com>@xanadu.simplot.com> on 02/21/2002
05:30:44 PM

Sent by:  Jason Earl <earlj@xanadu.simplot.com>


To:   wsheldah@lexmark.com
cc:   Jason Earl <jason.earl@simplot.com>, mlq@hotmail.com (Michael),
      pgsql-general@postgresql.org
Subject:  Re: [GENERAL] Protection of intellectual property (Schema & SQL
      code)


wsheldah@lexmark.com writes:

<snip>

> One thing you could do just to "tag" it would be to add a prefix or
> suffix to all the tables. Say you work for "A Better Company, Inc.",
> then you might name all your tables things like abc_customer and
> abc_order, etc. The only thing that would help with is if you find
> someone else running a copy, it may be easier to prove that it's
> your schema. Of course they could change the names, but they would
> run the risk of breaking functionality if they don't do it right,
> plus you can hardcode the names in your front-end application. If
> you can compile the front-end such that you only provide them with a
> binary executable, it will be that much harder to change the
> names. And you may have better luck using other copy-protection
> mechanisms with the front end.

If you are going to get mean.  Why not simply write your application
so that it calls home every once in a while.  It can then check your
database to see if its secret serial number is valid, and if it isn't,
or if there is a duplicate it shuts itself down.

Good luck signing customers up for that sort of a deal.

> I wish you well,

I don't.  I hate applications that won't share data.  I especially
hate applications that require some sort of secret handshake to backup
properly.

As a developer I believe that developers should get paid, but as a
former systems administrator I also believe that applications that
make it hard for an admin to do his or her job are evil.  There has
*got* to be a better way to get your customers to pay you.

Jason




Re: Protection of intellectual property (Schema & SQL

From
tony
Date:
On Fri, 2002-02-22 at 15:49, wsheldah@lexmark.com wrote:

>
> OTOH, there's the question of whether you're trying to market the same
> product to dozens of companies, or just developing a custom app. for one
> customer. If you're developing a custom app., you could just charge for the
> time it takes you to develop it, let them share it with their friends, just
> make sure the app has contact info so other users can hire you to enhance
> or customize it for them. And at this point I'm NOT talking about just
> renaming objects, this is instead of the other proposal.

There is always a clause in my contracts that lets me leave a "made by"
comment in stuff I make even if I sell the IP rights to the client. And
I never write it the same way in each page so that global search/replace
doesn't work...

Having work stolen is great for the ego. Just make sure you get well
paid for it so that it is also great for the bank balance.

If you keep IP rights on functions and stuff and if you stumble upon
them sue!!! Drag the thief in front of a judge.

> P.S. I apologize for the top quoting....

Top quoting is good!

Cheers

Tony Grant

--
RedHat Linux on Sony Vaio C1XD/S
http://www.animaproductions.com/linux2.html
Macromedia UltraDev with PostgreSQL
http://www.animaproductions.com/ultra.html


Re: Protection of intellectual property (Schema & SQL code)

From
Lincoln Yeoh
Date:
At 02:27 AM 2/17/02 -0800, Michael wrote:
>I want to develop an application using a database server. But I am concerned
>that installing it at client's sites will mean that I am potentially
>exposing my intellectual property to theft. (I'm in Asia where this sort of
>thing is rife).

Your software can be copied.

>Can security be enforced in some way by compelling each user (including
>administrator) to always have a digital certificate even if using a restored
>copy on a different server?
>

If people really want to they can disable the checks on your program.

So even if you give each of them an individual cert (signed by your CA) and
make the program check the cert or decrypt itself using the results of
verifying the cert, people can always step through the program retrieve the
decrypted program and remove the checks and voila cracked program. You'd
still likely know whose copy was cracked but you can't stop the copying
unless as part of it's function the program needs to talk to other entities
that require presentation of a _valid_ unrevoked certificate.

---

There's one thing to consider tho, even in Asia people at certain market
ranges are willing to pay just to know that there can be support and
maintenance. At those levels they may not want to pay a lot, but they
aren't going to copy your stuff from someone else for free and try to get
it to run (the few that are are stupid|nuts|nasty and you don't want to
deal with them anyway). That has been my experience so far.

Applications with DB's stuck in them typically belong in these market
ranges (not all tho). In fact you can often pull the per user/seat license
sort of thing without any software controls - the sales people just need to
pay friendly visits to them from time to time to see whether their needs
have changed (easy sale - they are already using more, so obviously they
need+like it :) ).

So if your application falls within this range, then I don't think you need
to worry too much.

But if it's at the consumer end (where support = wall paper music over the
phone, maintenance = user self upgrades to next version ), then oh well
good luck, maybe your app will be on a CD with a dozen other apps for USD3
at some night bazaar sometime ;)...

Regards,
Link.