Method for scrambling/descrambling meshes?

ACSoft

AMSO Founder
Addon Developer
Beta Tester
Joined
Mar 30, 2008
Messages
178
Reaction score
2
Points
18
Just as a clarifikation, since my statement was quoted incompletely and out of context

Yes, Tschachim. But I do it not with malicious or dishonest intentions. It was exactly the contrary that I had in mind.

Now if you wan't all the context, here we go:

-----------------------------------------
Quote from: slaintemaith on June 21, 2007, 10:08:07 AM
(Although I wonder if you can stea---err...ask for AMSO's 3D models... Hrm...)
-----------------------------------------

And your exact answer was:

-----------------------------------------
I did that already (asking, not stealing, of course), but no answer from Alain yet. We'll see, there are various possibilities how to support the AMSO meshes, perhaps we'll end up with that you need to install AMSO and can configure the use of the AMSO meshes in the config options on the Orbiter's Extras tab (like hi res/low res currently).
-----------------------------------------


For me, the context is absolutely crystal clear. You were considering to use AMSO meshes outside our will, thinking that the stratagem to use them from an AMSO installation, without to include the meshes into your own package, couldn't be considered as Copyrights violation.

So, in this context, it was better to prevent rather than to have to cure eventually later on, even if I am still persuaded that you would probably never have done this.

Personnaly, I was never angry against you for this. I took it more like an indirect compliment to our work !!!

ACS
 

Xantcha

Addon Developer
Addon Developer
Joined
Mar 26, 2008
Messages
203
Reaction score
0
Points
0
Oh so thats's the motivation. Then I can't blame a man if he had a bad expirience. If it makes Luis feel safe then it's OK. I still think encrypting meshes is both inefficient and pointless, but.. having a good artist in community is a lot more important than having a good rationale for encrypted meshes that are copyrighted anyway :^)))))

In that aspect MSFS and Orbiter are like megapolis and small village - in Orbiter you can safely leave your doors unlocked and open without your house being robbed. Not so in MSFS. Being small community have some advantages ;).


So need in protection of ones own contribution to sim could be a sign of growth :^)
Then I might just consider that AMSO had come from orbiter's future where it is large, popular and copyright protection is an actual topic $)
 

Tschachim

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 7, 2008
Messages
300
Reaction score
0
Points
16
Location
nassp.sf.net
Website
nassp.sf.net
For me, the context is absolutely crystal clear. You were considering to use AMSO meshes outside our will, thinking that the stratagem to use them from an AMSO installation, without to include the meshes into your own package, couldn't be considered as Copyrights violation.

So, in this context, it was better to prevent rather than to have to cure eventually later on, even if I am still persuaded that you would probably never have done this.

Well, I was assuming that slaintemaith wasn't really serious, so I was mainly joking, but it looks like it was a rather bad one. This is why I wanted to clarify that and you're right, I'd never done that. :)

Cheers
Tschachim
 

ACSoft

AMSO Founder
Addon Developer
Beta Tester
Joined
Mar 30, 2008
Messages
178
Reaction score
2
Points
18
Oh so thats's the motivation. Then I can't blame a man if he had a bad expirience. If it makes Luis feel safe then it's OK. I still think encrypting meshes is both inefficient and pointless, but.. having a good artist in community is a lot more important than having a good rationale for encrypted meshes that are copyrighted anyway :^)))))

In that aspect MSFS and Orbiter are like megapolis and small village - in Orbiter you can safely leave your doors unlocked and open without your house being robbed. Not so in MSFS. Being small community have some advantages ;).


So need in protection of ones own contribution to sim could be a sign of growth :^)
Then I might just consider that AMSO had come from orbiter's future where it is large, popular and copyright protection is an actual topic $)

I don't think at all that encrypting meshes is both inefficient and pointless.

I guess that you probably lock the door of your house or your car ? But you know that it won't stop a determined thief and you make it nevertheless.

ACS
 

ACSoft

AMSO Founder
Addon Developer
Beta Tester
Joined
Mar 30, 2008
Messages
178
Reaction score
2
Points
18
That's all good Alan, we understand your reasons and are very grateful for your excellent work. What's getting all of us worked up is the encryption method! How are you doing it! But I understand if you don't want to make it public...

Let's go back to the main subject of this thread.

The method used in AMSO is the following:

Original mesh files (.MSH) datas is encrypted with the help of an external tool I have developped. You will undersand that I will not say more details about the way this encryption is made.

Then, you have to pre-load the mesh by using oapiLoadMeshGlobal() function and to use oapiMeshGroupCount() and oapiMeshGroup() functions to reverse the encryption of the decoded binary version of the mesh.

ACS
 

Chode

Addon Developer
Addon Developer
Beta Tester
Joined
Mar 21, 2008
Messages
107
Reaction score
1
Points
0
ACS, thanks for answering the original question.

Regards
 

Xantcha

Addon Developer
Addon Developer
Joined
Mar 26, 2008
Messages
203
Reaction score
0
Points
0
Well, "opportunity makes thief" ;) So may be there's some reason to implement insecure protection means.

Speaking of technical aspects - there is plenty of available encrypting algorithms so encrypting mesh data is somewhat straightforward. What is more interesting is protecting it from within the orbiter.

There is one secure way to protect meshes when they are represented in orbiter. Simply disallow use of "uncertified" modules or vessels. Add-on could go with it's own orbiter installation and make checksum/hash checks on startup to verify that this configuration is not modified. But this will be acceptable only for "standalone" addons (like AMSO for example).

Another way is decrypting mesh in prestep and encrypting in poststep. But this will require that decrypting is last processed module and encrypting is first. Is it possible to implement in orbiter?

And of course there is the whole encryption-supporting-visualizer thing ;)
 

ACSoft

AMSO Founder
Addon Developer
Beta Tester
Joined
Mar 30, 2008
Messages
178
Reaction score
2
Points
18
Well, "opportunity makes thief" ;) So may be there's some reason to implement insecure protection means.

Speaking of technical aspects - there is plenty of available encrypting algorithms so encrypting mesh data is somewhat straightforward. What is more interesting is protecting it from within the orbiter.

There is one secure way to protect meshes when they are represented in orbiter. Simply disallow use of "uncertified" modules or vessels. Add-on could go with it's own orbiter installation and make checksum/hash checks on startup to verify that this configuration is not modified. But this will be acceptable only for "standalone" addons (like AMSO for example).

Another way is decrypting mesh in prestep and encrypting in poststep. But this will require that decrypting is last processed module and encrypting is first. Is it possible to implement in orbiter?

And of course there is the whole encryption-supporting-visualizer thing ;)

By definition ANY protections are insecure. Look what happened with BlueRay. The methods you describe here would maybe just make the thief work a bit more difficult, not speaking that the dynamic encryption you propose would be probably a real frame rate killer.

You should also have in mind that, when I designed this protection scheme (more than one year ago), I didn't took in account the evolution of Orbiter to a separate graphic engine in open source, which, speaking of protections of any kind is a real killer step.

Nevertheless, a certain level of protection will always remain better than no protection at all. Like you said: "opportunity makes thief" and like I said: "to prevent is better than to cure".

ACS
 

Xantcha

Addon Developer
Addon Developer
Joined
Mar 26, 2008
Messages
203
Reaction score
0
Points
0
I don't think that visualisation project is a threat for mesh protection. In fact it can be used to protect them. It's as simple as making special 3d engine for orbiter :))) If graphic engine will support encrypted meshes, then orbiter will know nothing about them.

Of course renderer will have full access to mesh data. This means that secure visualizer had to be made by trusted neutral party or by addon-developer himself. :)

Sure creating visualiser just for that... is crazy. But no more crazy then developing visualiser just for cracking someones mesh :^)
 

ACSoft

AMSO Founder
Addon Developer
Beta Tester
Joined
Mar 30, 2008
Messages
178
Reaction score
2
Points
18
I don't think that visualisation project is a threat for mesh protection. In fact it can be used to protect them. It's as simple as making special 3d engine for orbiter :))) If graphic engine will support encrypted meshes, then orbiter will know nothing about them.

Of course renderer will have full access to mesh data. This means that secure visualizer had to be made by trusted neutral party or by addon-developer himself. :)

Sure creating visualiser just for that... is crazy. But no more crazy then developing visualiser just for cracking someones mesh :^)

Of course, in this way, graphic engine would allow to increase protection. But this would break the open source rules.

ACS
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,636
Reaction score
2,353
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
I think such encryptions are only useful for closed-source software. For open-source software, which also aims at allowing people to use the materials as long as the license is kept, such a encryption would make reusing harder. Which in term means, that feedback of improvements is nearly impossible.

But I would really like to have a Orbiter virtual file system, which puts all game data and modules of an add-on into an compressed and optionally encrypted archive. This would make it simpler to keep add-on conflicts limited.
 

cjp

Addon Developer
Addon Developer
Donator
Joined
Feb 7, 2008
Messages
856
Reaction score
0
Points
0
Location
West coast of Eurasia
In this kind of applications, perfect encryption is always impossible. The data (meshes, in this case) always needs to be decrypted somewhere, and if a hacker can get behind that point, the decrypted data can be stolen.

Even in the best case, when decryption takes place in a visualisation engine in the next Orbiter version, someone could create a Direct3D or OpenGL wrapper driver, and make a log file of all driver calls. When playing back these calls, the point where the mesh data is transmitted to the video card can be found.

Theoretically, you could make something like a vertex shading program that runs on the video card to decrypt your mesh there. But even this could be decrypted using a virtual machine emulating the video card.


Yes, you can make it very difficult, but no, you can't make it impossible. I guess you can make effective protection in an economical sense, if you manage to make it more difficult to steal your data than it is to re-make it from scratch.

Anyway, there still is legal protection from copyright law, so you don't necessarily need technlological protection.
 

BigDAS

New member
Joined
Apr 12, 2008
Messages
15
Reaction score
1
Points
0
This statement in the previous message on [blank] before the one referenced certainly does not sound like a "misunderstanding":

"(Although I wonder if you can stea---err...ask for AMSO's 3D models...Hrm...)"

As Alain said, some of the meshes that he used in AMSO he bought himself, and are not his to distribute. I also understand Luis's concern about people pirating his work, so the protection is a good idea because they remain under Alain and Luis's control.
 
Top