Dreamsmith wrote:
TCPA, just like all forms of copy protection, throws up barriers that hinder casual users and line the pockets of their developers who sell it to gullible people looking to protect their IP, while doing nothing at all to prevent actual pirates or crackers from waltzing past the security measures and doing as they please.
In the case of unlimited time, everything's possible. There's no protection you cannot crack given enough time.
For most forms however, there are easier ways. The protection scheme needs a "bypass" so the casual user spends microseconds, when giving a very simple short answer to a question (common question is, what is your password). The shorter the answer the shorter the "crackers" crack on the access.
The password-section on behalf of the user should be so complex that attempting all possible values, coming to the users answer, is longer than bruteforcing the access using a binary key. The user gives a key, with N bits of entropy. This can be expanded to T bits, with only N bits of entropy, or shrunk to C bits, with only C bits of entropy left. In short, the weakest link defines how hard it is.
The input has to be correct up to the lowest bit count of the entropy, because when shrunk more than one password creates the same bit sequence. One out of 2^bitcount is correct.
Calculating this value should be so hard that it's cheaper to use a different access route (or not to do it). For a criminal it means that using any possible way of cracking it should be much more expensive & complex than putting a gun to your head and demanding your password (including what will probably happen afterward). For corporations, it should be so computationally expensive that it's not worth trying to do it, IE, the power costs or time costs, or any other cost combined, exceeds the amount of profit they make.
For your own computer, the weakest link is always the part people exploit. If you seal up your OS completely, they rip out the harddisk and view it in some other OS. If you seal up the computer and make it dualbootable with DOS, they'll abuse the BIOS functions for access. Any way will do, the weakest part is the point
Back to the topic of computer security, if you want to completely secure the computer, make the end route hard. This is software, it's possible. Use a 4096-bit symmetric encryption on each sector, store the key in a different sector secured with a 4096 bit hash, and protect those hashes using your password (which needs at least 4096 bits of entropy, for the system to work). This comes down to a 1.3K password. Use a smartcard if you can't remember it
Then, your system is protected. Protect the access to the bootup code, that is, prevent BIOS access. Prevent access to the BIOS jumper, IE by removing it altogether, shorting the pins, something like that. Prevent removal of the battery. Prevent access to removal of the harddisk, that is, seal up your box really tight. Now, the barrier to access is physical (you need to get to the HD, and use it in a different computer) and logical (you need a compatible 4096 bit key for access). Without those two, there's no way they can get access.
PS: this assumes there are no backroads. You must keep using the 4096 bit key for all access, if even just for XOR. You must make all data look like random, never distribute a plain copy of the key, never put blank info on the disk, if possible, prevent any logic whatsoever. The attacker may not get any plain text, for a possible break on your key system.
And protect all source code, without algorithm it's even harder.
Conclusion: just make it hard. Not many people want what you have, and if they do, a gun to your head will make you give access to them.