Chapter Four -- Rockey4ND Basic Concept


This chapter covers the basic concepts of the Rockey4ND software protection system. All Rockey4ND users should read this chapter carefully to familiarize themselves with Rockey4ND.

1.Passwords

When developers purchase Rockey4ND they will get 4 16-bit passwords. The first two are Basic passwords (first grade passwords); the last two are Advanced passwords (second grade passwords). The 4 passwords for the demo dongles in the SDK are: P1: C44C, P2: C8F8, P3: 0799, P4: C43B. The passwords are “burned” into the hardware so that neither the user nor the manufacturer may change them. The developers must input the 4 passwords correctly to have full access to the dongles. The developer should set the Advanced password to zero in the application program that is delivered to the end user – you should never reveal the Advanced passwords to the end user in any form. The Basic passwords allow the end users to access all necessary Rockey4ND functions. We will discuss when one should input the Basic passwords, and when both Basic and Advanced passwords are required in the following chapters.

2.Customer Code

The Customer Code is five to seven characters in length and corresponds to a unique customer password set. You may use the Customer Code for reordering Rockey4ND to be sure that all of the units in your inventory are consistent.

3.Hardware ID

FEITIAN will burn a globally unique Hardware Identification (HID) number into each Rockey4ND dongle. The HID cannot be changed. You may use the HID to positively identify an individual Rockey4ND.

The HID is readable with the Basic passwords. It is impossible to write HID even if you have the advanced passwords.

4.User Data Zone

The User Data Zone (UDZ) is a memory space that the developer can use to store data needed by the software protection system. Users can read from and write to this space at any time. The total UDZ is 1000 bytes.

The UDZ is divided into 2 parts.

The low part (0-499 bytes): Users with any level of passwords have full permission (read/write). The high part (500-999 bytes): Users with basic passwords (password 1and password 2) can only read the UDZ. Users with advanced password (password 3 and password 4) have full permission (read/write).

5.Module Zone

The Module Zone was designed for multi-module encryption. It may be used to store module specific data for Envelope encryption and/or API calls.

A Rockey4ND module is a 16-bit protected memory space. There are 64 “modules” in each Rockey4ND dongle, so as many as 64 application modules may be protected with a single Rockey4ND dongle. The developer may write data into the Rockey4ND modules and then use that data, along with Rockey4ND functions, to create powerful and flexible software protection systems. If the content of the module is not “0” you can use the module; if it is “0” you cannot use the module. You may determine if a module is useable by analyzing the attributes of the module. The exact content can only be determined algorithmically.

Rockey4ND modules cannot be read and it can only be written with Advanced passwords.

6.Module Attributes

There are two attributes associated with each Rockey4ND module: “Zero Value” attribute and “Decrement” attribute. A 16-bit protected memory space stores an attribute of the module. The value stored in the “Zero Value” attribute indicates if the value in the associated module is “0” or not “0”. “1” indicates not “0” and that the module is usable; “0” indicates “0” and that the module is not usable. The “Decrement” attribute indicates if the value stored in the associated module can be decreased. “1” indicates it can be decreased. “0” indicates it cannot be decreased.

The “Zero Value” attribute can be read with the Basic passwords and cannot be written with Advanced passwords.

The “Decrement” attribute can be read with the Basic passwords and can be written with the Advanced passwords.

7.User Algorithm Zone

The User Algorithm Zone (UAZ) is a user-defined area for instruction storage. The number of instructions that may be stored in the UAZ varies according to the Rockey4ND model. Rockey4ND supports a maximum of 128 instructions. (Please refer to Chapter 7 Writing Hardware Algorithm.)

The User Algorithm Zone (UAZ) cannot be read and may only be written with Advanced passwords.

8.User ID

The User ID is a 32-bit memory allocation that may be used to store an application serial number or other identification information.

It may be read with the Basic passwords and written with the Advanced passwords.

9.Random Number

Rockey4ND can generate a true random number from its hardware. The random number can be used to prevent tracing or used in hardware algorithms.

10.Seed and Return Values

Rockey4ND contains a proprietary algorithm that will generate four 16-bit return values from input of a 32-bit seed code and the Basic/Advanced passwords. ROCKEY dongles with the same passwords should return the same values if the seed codes are the same. The return values will be different for Rockey4ND dongles with different Basic/Advanced passwords.

 


Copyright (C) 2007-2009 Feitian Technologies Co.,Ltd. All rights reserved.
Last Updated: Agu 5, 2009