Cancel
Showing results for 
Search instead for 
Did you mean: 

How can LMS Amesim encryption mechanism help to protect Intellectual Property?

Siemens Enthusiast Siemens Enthusiast
Siemens Enthusiast

 

How can LMS Amesim encryption mechanism help to protect Intellectual Property?

When you send your models to third-party users, it is sometimes necessary to hide the contents of a component or supercomponent for Intellectual Property (IP) protection purposes. LMS Amesim provides an encryption mechanism to protect the source files and the information exposed on the graphical user interface. In this case, the encrypted objects are supplied to a third-party user as a black-box. This means that it is possible for the third party to use them within an LMS Amesim model and to access a restricted set of variables and parameters, but not be able to see the contents, while only authorized parties can access the content using a predefined password.Figure 1: LMS Amesim encryption mechanismFigure 1: LMS Amesim encryption mechanism

This mechanism works for both submodels and supercomponents. If there are data files used in these submodels or supercomponents, the data files can be embedded into the encrypted submodels or supercomponent which is a direct approach as no extra data file is needed for model transformation. The data files can be also linked to the encrypted objects which means that end-user can change the data file without recompile the supercomponent, however the data files have to be sent as well. This method provides more flexibility to users, at the time the data file can also be encrypted to be well protected.

 

This article will give a step by step walkthrough on how to encrypt a supercomponent, a submodel and a data file inside encrypted object.

 

Encrypted supercomponent

Here we will show an example of an encrypted supercomponent with encrypted data file.

Step 1: Save the supercomponent to a user library with user accessible parameter/variable exposed.Figure 2: Expose parameters and variablesFigure 2: Expose parameters and variables

 
Figure 3: Save the supercomponent to a user libraryFigure 3: Save the supercomponent to a user library

Step 2: Open the library supercomponent, save it by ticking Encrypt the supercomponent.Figure 4: Encrypt the library supercomponentFigure 4: Encrypt the library supercomponent

 

After this step you will find that the supercomponent cannot be opened locally, however you can have access to the exposed parameters. Users can only open the library version supercomponent with the password for further editing and maintenance.Figure 5: The user cannot open a local supercomponentFigure 5: The user cannot open a local supercomponent

 Figure 6: User can access the exposed parameters and variablesFigure 6: User can access the exposed parameters and variables

 Figure 7: User can only access library supercomponent with a passwordFigure 7: User can only access library supercomponent with a password

Moreover, all related graphical user interface information is encrypted as well. E.g. discontinuity printout and update assistant. Here you can find out that the components inside the encrypted supercomponent are displayed with the supercomponents’ name instead of the specific submodels’ name.Figure 8: Run details info protected for encrypted supercomponentFigure 8: Run details info protected for encrypted supercomponent

The reason behind is that the source files which are describing the supercomponent are encoded with the encryption mechanism.Figure 9: encrypted fileFigure 9: encrypted fileProject data file

As is shown above, a supercomponent can be encrypted to protect the knowledge inside it from a third party user. This is also true for the data stored in tables which are used together with supercomponents.

There are two ways to handle data tables inside an encrypted supercomponent:

  • Embed the tables inside the code of the supercomponent. The table is no longer visible, and does not need to be sent to the third party user. For this case, user only should not expose the data file name, no more extra process is needed.
  • The table remains as a separate file, and must be sent to the third party user at the same time as the supercomponent. For this case, there are only two extra steps added if the user would like to protect the data file.

Both methods correspond to slightly different user needs. Embedding tables is a one shot process, and forces the use of unique data by the supercomponent. Keeping encrypted tables as separate files offers the flexibility to use several tables in the same supercomponent as changing data in the table does not require for the supercomponent to be recompiled.

Here, we will show two extra steps to add an encrypted table linking to the supercomponent.   

 

Step 1: Encrypt the table with table editorFigure 10: Encrypting the table with table editorFigure 10: Encrypting the table with table editor Figure 11: Encrypted tableFigure 11: Encrypted table

 

Step 2: Enter list of keys

When saving the supercomponent, click on the table key list button of the dialog asking for supercomponent password. Then enter the passwords that should be used to decode the tables during the simulation run. Several keys can be entered to be able to read several encrypted tablesFigure 12: Enter list of keysFigure 12: Enter list of keysProtect submodels

In order to protect submodels, users can use LMS Amecustom to set the password. The encryption mechanism and data file protection processes are the same with encrypted supercomponents.Figure 13: Encrypt submodel with LMS AmecustomFigure 13: Encrypt submodel with LMS Amecustom

To summarize, LMS Amesim provides a robust mechanism for sharing encrypted supercomponents, submodels and associated tabulated data for safer exchanges. It enables users to work collaboratively with their industrial partners, associates and colleagues, all the while protecting their sensitive intellectual property from being accessed by unwanted third parties.

Contributors