"Protecting Content" feature request

Post your feature requests here. Note that we cannot promise that any of these posts will be commented on or that requested features will be implemented.
User avatar
Rob Ainscough
Moderator
Posts: 2245
Joined: Sat Jan 05, 2013 6:46 pm
Location: Oregon USA

"Protecting Content" feature request

Postby Rob Ainscough » Wed Aug 07, 2019 9:23 pm

There are various methods currently being used in an attempt for content providers to protect their content from illegal duplication and/or theft ... these methods are cumbersome, sometimes ineffective, sometimes intrusive, and increase development costs and waste development time that could be put to better use such as providing more content at lower prices to end users.

I'd like to request a content protection process that is more sophisticated and built into the core that involves encrypting all content BGLs, FX, DDS, and all the various assets that make up add-on content. I don't want to go into too many details but it needs to be a process that requires internet connection and does NOT house any seeding information on a client's local PC in order to be able to decrypt content.

It should require content providers/developers to obtain a CA EV code signing certifications (EV have a 2-4 week vetting process) and encryption happens at the point of distribution. This ensures that files are encrypted uniquely on a per user, per product basis using PC finger print along with other seeds as needed (to be specified) so as to be rendered useless if copied to another PC or distributed illegally. CA code signing EV's do cost a little more $600/yr or so but they guaranteed developer/company background checks which are much more involved than just company address verification.

The number of files to be encrypted can be designated by the developer with a flag ... to address any performance issues around decryption a developer could elect to apply to only a few key files (enough to render the product useless).

Since the decryption keys come from server side and are required in order to decrypt the encrypted deployed files any attempt at circumvention would not allow the decryption to happen and hence render them useless.

It also ensures transparent implementation minimizing end user impact (login being the only requirement which the user can elect to be "automatic" once the purchase/account is established so it's only a one time process for a user). So future purchases are seamless with no user interaction required.

This can of course be optional and specific to each developer and/or content provider since it's happening at point of distribution ... for those that want to distribute freeware and/or not interested in copy protection. It's not a required process but an option developers can subscribe to if desired.

Cheers, Rob.
Rob Ainscough
Prepar3D Forum Global Moderator

User avatar
Simbol
Posts: 349
Joined: Thu Sep 07, 2017 10:24 pm
Location: UK
Contact:

Re: "Protecting Content" feature request

Postby Simbol » Wed Aug 07, 2019 9:42 pm

+1,

I raised this question before in terms the protection of effects as these are delivered in plain text.

The amount of effort to protect our content is becoming so cumbersome that it is increasing developing time by a considerable amount of time, and it is very arguable if such techniques / tricks would be really effective against latest piracy techniques and instead our efforts can become counterproductive towards the product usage, user experience, ability to provide support and many others variables.

Cyber crime is getting worse and it is not a problem that is going to go away any soon, hopefully we could design together better defenses which would help everybody to keep all intellectual property safe.

Kind Regards,
Raul
Image
CEO Flight Sim Technologies Ltd
Oficial Website: https://www.FSReborn.com

jabloomf1230
Posts: 235
Joined: Thu Nov 01, 2012 7:40 pm

Re: "Protecting Content" feature request

Postby jabloomf1230 » Thu Aug 08, 2019 11:32 pm

Hey Rob, you can protect your content by doing the same thing that FSDT does with GSX2. They use COUATL (a Python interpreter) to encrypt and decrypt their MDL files. This adds considerably to the overall simulation overhead and I doubt that many other developers would do this. A similar process is used by SODE, but most SODE developers have opted to not use the encryption approach as again, it does impact performance.

All that said, it would not surprise me to see MS implement such protections for its upcoming flight sim.

User avatar
Simbol
Posts: 349
Joined: Thu Sep 07, 2017 10:24 pm
Location: UK
Contact:

Re: "Protecting Content" feature request

Postby Simbol » Thu Aug 15, 2019 2:40 pm

Hey Rob, you can protect your content by doing the same thing that FSDT does with GSX2. They use COUATL (a Python interpreter) to encrypt and decrypt their MDL files. This adds considerably to the overall simulation overhead and I doubt that many other developers would do this. A similar process is used by SODE, but most SODE developers have opted to not use the encryption approach as again, it does impact performance.

All that said, it would not surprise me to see MS implement such protections for its upcoming flight sim.

Unfortunately this approach does not help with .BGL files, so you cannot protect any scenery with this technique.

It doesn't work either for textures, effects, simobject.cfg files, etc. in hence why FSDT .cfg files and textures are widely exposed inside your P3D ecosystem, have a look and you will see.

R.
Image
CEO Flight Sim Technologies Ltd
Oficial Website: https://www.FSReborn.com

User avatar
Rob Ainscough
Moderator
Posts: 2245
Joined: Sat Jan 05, 2013 6:46 pm
Location: Oregon USA

Re: "Protecting Content" feature request

Postby Rob Ainscough » Fri Aug 16, 2019 3:46 am

Yeah, unfortunately that only works with MDL, there is a lot of other content that needs to be protected. Theft problem appears to be more prolific than ever before after I ran a quick search and found a bottomless pit of websites ... easy to shutdown the US sites, but not so easy to shutdown sites outside the US.

If the encryption happens at the time of deployment then it would render copying of files to another computer useless. No key is stored on the local machine. The code that actually makes the product work is not housed locally, it's a web service and it's not just a matter of preventing the web service call with an EXE hack ... the servicing code required is delivered by the web service. So hacking the EXE to remove the web service connection or check is pointless. Anyway, not going to get into too many details for obvious reasons but so far TLS 1.3 has not been compromised and those typically attempting to compromise TLS are usually at the government sponsored level and aren't looking for flight simulator add-ons :)

Developers can then decide on the number of deployments per licensed user with the usual process of formal requests to reset after X number of installs for those users that experience hardware issues or forget to deactivate the license. It certainly can be man transparent to honest users and that's the objective ... but it would be great if LM or MS housed the web service(s) the core that requires them.

Cheers, Rob.
Rob Ainscough
Prepar3D Forum Global Moderator


Return to “Prepar3D Feature Requests”

Who is online

Users browsing this forum: No registered users and 4 guests