User's Manual

15
4 SmartKey models
The software protection requirements include both simple programs for low-cost packages and costly sophisticated
programs requiring maximum security and flexibility. There's a cost-effective SmartKey model for every situation.
All models have been implemented to ensure high-to-low compatibility: if a program operates with a SmartKey, it will
surely also operate with a more complex one. For example, a program written for SmartKey FX will operate with all
other SmartKeys.
This chapter provides a detailed description of the characteristics of the SmartKey models, and the selection criteria for
using the one most suited to your needs.
4.1 FX
SmartKey FX is the simplest, low-cost model. It makes use of a protection mechanism based on the assignment of a
unique, personal internal identification code: Identification Code or Id-Code.
Protection is algorithmic (thus without a fixed response) and uses encrypted coding operations, which refer to the
internal code. The Id-Code is used as the main parameter for coding. A set of data is sent and is returned suitably
encrypted in a different way according to the Id-Code.
Dongle presence can thus be verified by comparing the returned data-item with the expected one. If the two data-items
coincide, program execution continues normally, but if they do not, execution can be stopped.
Algorithmic protection based on a unique, personal code (Id-Code)
Algorithmic protection based on a 20 customizable security codes using the AES cryptographic algorithm for
SmartKey USB 3
4.2 PR
SmartKey PR is the model conceived for the most versatile programs where every single package must be personalized,
e.g. in program serialization operations.
In fact, SmartKey PR, in addition to having the same algorithmic protection mechanism as SmartKey KX, can also be
programmed. The dongle contains a 64/128 byte memory register for both reading and writing. This can be accessed
only by sending two access codes entitled Label and Password (each has 16 bytes). The data stored in the dongle are
defined as Secure Data, because only the person who knows the password can read or write them.
The Label and Password codes, with a length of 16 bytes, can be programmed from the software, without the need for
external programming devices. This means that the dongle can be programmed for each different program to be
protected. Stored data can be dynamically varied by the protected program, thus enabling highly sophisticated
applications, such as use of the data themselves as access counters.
SmartKey PR uses a 'double-lock' protection mechanism: security is guaranteed by the unique ID-Code fixed in the
factory, by the password, and by the programmed data known to the software house only.
Algorithmic protection based on a unique, personal code (Id-Code)
Algorithmic protection based on a 20 customizable security codes using the AES cryptographic algorithm for
SmartKey USB 3
Additional 16-byte programmable security codes (Label and Password)
64-byte of internal programmable memory (Secure Data). 128 for SmartKey USB DL (Driver Less)
Optional limitation of the number of executions of the program to be protected.
4.3 EP
SmartKey EP expands the security characteristics of the previous models and is the model suitable for high security
applications, such as control of access to databanks, and confidential programs.
In addition to having the same protection mechanisms of SmartKey PR, SmartKey EP enables detection of attempted
accesses with an incorrect password. A specific internal counter (Fail Counter) reports the number of 'break-in' attempts
to enable the lawful user to take any action - via software - for defending the data or programs.