Very interesting conversation. After reading a bit on StarForce I see it only took one approach at copyright or Intelectual Property (IP) protection. That approach has a very high overhead because they are using a wrapper technology on everything. This causes overhead when programs initially load into memory. If the program cannot fit into the memory space then it must constantly unload, load and decrypt on the fly. This lead to poor performance.
As for "DES" encyrptions, they are weak by todays standards and not even considered by most Security Experts to be an effective encryption. AES/Blowfish is the latest standard and those have a glaring weakness. The algorithms assume there is a "Safe" place to use keys to do encryption/decryption of data. Doing a memory dump of while the decryption takes place...and you have the keys to the kingdom.
Hence, why so many AES protected programs get "hacked."
As for the AACS HD-DVD crack....again, doing an unprotected AES decryption in a hostile environment and poor protection lead to the comprimise of a single public key. This was taken from a specific piece of hardware that did not properly implement AACS on that hardware platform.
Hence the weakness is the encryption/decryption keys (AES) and the vendors that are doing the developing. These are where hackers are making their attacks count. By effectively hiding the keying material, 80% of the hacks would vanish.
Implementation, performance and cost is what is "keeping" companies from implementing fully hardened DRM solutions. A technical, performance and cost analysis is done for a DRM protection scheme, they guess at where the "most likely" attack is going to happen, they then harden only those points. Sooner or later, a hacker finds the soft spot they thought never would be found.
Then they patch that hole, and re-deploy. This is the cycle you see today. You have to weigh risk vs performance vs being first to market. To often, the first to market wins.
A good DRM solution would include:
Data and Code transformations on the programs running transport, encrypt/decrypt and storage procedures. Note: this is a tranformation not an "obfuscation." Obfuscators can be cracked very easily. This would be a true transfromation of the code that can produce multiple variants of the code with control flow flattening.
Secured Encryption Capabilties. Where the actual keys are never revealed in memory. Better yet, transformation is done on the keys and made even more complex by using keying tables.
Secure Loading: Where code can run in the memory space and does is not subject to swapping, secure loading can prevent byte-code insertion attacks.
Anti-Debug: Capabilities to "sense" when a debugger is run and trigger flags in the code when found.
Integrity Verification: On disk encyrpiton of code and dll's that is verified as program segments are loaded into memory.
So you can see why the costs on both performance and $$$ of DRM can be very high.
As for the morality of DRM and its implementation or protecting a companies Intellectual Property, I have no comment. However, I would like the keys to decrypt the flight performance data in my copy of AHII so I can fly my A6M like a jet and put auto tracking rounds in it. Of course I would only do this offline and I never intend to use it online or give the key to anyone else. I promise. Can I have them please? ;-) ( I am only joking of course)
Overall, very interesting thread.
Softail