6
6
Chapter 6
Software Lock
“Software Lock” is an innovative technology developed by Moxa’s engineers. It can be adopted by
a system integrator or developer to protect applications from being copied. An applicaion 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 on
the same hardware and the same operating system. The add-on value created by the developer is
thus lost.
Moxa’s “Software Lock” function uses data encryption. The binary file associated with each
application needs to undergo an additional encryption process after it has been developed. The
process requires that you install an encryption key on 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 on the development PC.
3.
Run the utility program ‘binencryptor’ on the development PC to encrypt your program with
an encryption key.
#binencryptor yourProgram ABigKey
4.
Upload the encrypted program file to the target computer by FTP or NFS and test the program.
The encryption key is a computer-wise key. A computer has only one key installed. Running the
program ‘setkey’ multiple times causes the key to be overwritten.
To prove the effectiveness of this software protection mechanism, prepare a target computer that
has not been installed with an encryption key, or install a key that is different from that used to
encrypt your program. In either case, the encrypted program fails immediately.
This mechanism also allows computers that have 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.