7
7
Chapter 7
Software Lock
“Software Lock” is an innovative technology developed by the Moxa engineering team. It can be
adopted by a system integrator or developer to protect his applications from being copied. An
application is compiled into a binary format bound to the embedded computer and the operating
system (OS) that the application runs on. As long as one obtains it from the computer, he/she can
install it into the same hardware and the same operating system. The add-on value created by the
developer is thus lost.
Moxa’s engineerings used data encryption to develop this protection mechanism for your
applications. The binary file associated with each of your applications needs to undergo an
additional encryption process after you have developed it. The process requires you to install an
encryption key in the target computer.
1.
Choose an encryption key (e.g.,”ABigKey”) and install it in the target computer by a pre-
utility program, ‘setkey’.
#setkey ABigKey
Note: set an empty string to clear the encryption key in the target computer by:
#setkey ““
2.
Develop and compile your program in the development PC.
3.
In the development PC, run the utility program ‘binencryptor’ to encrypt your program with
an encryption key.
#binencryptor yourProgram ABigKey
4.
Upload the encrypted program file to the target computerby FTP or NFS and test the program.
The encryption key is a computer-wise key. That is to say, a computer has only one key installed.
Running the program ‘setkey’ multiple times overrides the existing key.
To prove the effectiveness of this software protection mechanism, prepare a target computer that
has not been installed an encryption key or install a key different from that used to encrypt your
program. In any case, the encrypted program fails immediately.
This mechanism also allows the computer with an encryption key to bypass programs that are not
encrypted. Therefore, in the development phase, you can develop your programs and test them in
the target computer cleanly.