Here are the answers to the most Frequently Asked Questions about FTsafe. Use the links on the right side of this page to jump to the area that seems most likely to answer your question. If you don't find the answer there, try using your browser's "find text" facility (usually Ctrl-F) to search for key words about your question.
If nothing on this page answers your question, you can submit a Support Email Form by clicking the link on the right side of this page. Please fill out the form as completely as possible. The more information we have about the problem, the faster we can solve it. We will respond as quickly as possible, usually within one business day.
General Questions About FTsafe
The FTsafe SDK includes a CD-ROM containing the FTsafe System, a QuickStart Guide and two FTsafe Rockey4ND protection devices.
The FTsafe System is a collection of programs, documents and files that allow you to test and evaluate the Rockey4ND Driverless USB protection device. This software supports Windows, Mac and Linux systems.
The QuickStart Guide is a handy reference card that provides the information you need to get going quickly without digging into the Developer's Guide.
The FTsafe Rockey4ND protection device is a state-of-the-art USB Key ("dongle") that does not require ANY Device Drivers to be loaded before it is plugged into a Windows computer. This protection device can be used with Windows, Mac and Linux systems.
Back to the FAQ IndexThe FTsafe Customer Code is a string of up to 6 alphanumeric characters that is unique for each Rockey4ND Customer.
A unique Customer Code is assigned to each Customer the first time they purchase Rockey4ND dongles. Each Customer Code is associated with it's own set of unique Passwords.
The assigned Customer Code and associated Passwords are printed on a "Password Postcard" and put in a sealed envelope which is sent with the first order of dongles. This postcard is only shipped with the first order, so it should be kept in a safe and secure location.
Your Rockey4ND Passwords should always be kept SECRET. They are used to access your Rockey4ND devices and ensure that others can not read, edit or modify the contents of your devices.
As a security measure, the Customer Code must be specified when re-ordering. Az-Tech will verify that this is the correct code and then use it to program your Rockey4NDs with the same secret Passwords as the previous orders.
Back to the FAQ IndexIf you cannot specify your unique Customer Code when re-ordering, or need to know your Rockey4ND Passwords, you must first provide proof of a previous order.
Once this requirement is satisfied, we can provide another "Password Postcard" with your next order of Rockey4NDs. The postcard shows your Customer Code and secret Passwords. The order must be shipped to the same address as the previous order.
Back to the FAQ IndexNo.
Az-Tech assigns different Customer Codes to each Customer and each Customer Code is associated with it's own set of unique Passwords.
Customer Codes are never "recycled" after a Customer stops buying dongles.
Back to the FAQ IndexQuestions About FTsafe Compatibility
DOS programs and 64-bit Windows programs can not be encrypted.
The Envelope Encryption System program only supports 32-bit Windows executable files, such as .dll, .exe and .arx.
The process usually takes only a few seconds and does not require access to the program's Source Code.
Back to the FAQ IndexAccording to our tests, the performance difference between the simplest algorithm and the most complex was within a dozen milliseconds.
If you use Envelope Encryption, the maximum number of times to check for your Rockey4ND is one time per second. If you check this often (or less), there should be no noticeable difference in performance.
If you use the API for custom security checks, limiting the frequency of your checks to no more than one per second should result in no noticeable difference in performance.
Back to the FAQ IndexFor all 32-bit and 64-bit Editions of Windows 7:
Questions About the Security of FTsafe
The Rockey4ND uses four individual 16-bit passwords to authorize two levels of security access to the device. These passwords are binary numbers and not alphanumeric characters, so there are 65,536 possible values for each password.
The two Basic passwords are required to authorize read-only access to the dongle. Read and Write access is authorized only when your program supplies both sets of Basic and Advanced passwords.
The two Advanced passwords are only meant to be used by the Developer during the production process. They should not appear in the software that is sent to the Customer. This offers strong protection because even if your software is reverse-engineered and the Basic passwords are determined, the pirate still doesn't have Write access to your dongles.
As a further security measure, if the incorrect values for the Advanced passwords have been used four consecutive times, the Rockey4ND will lock for up for two seconds. No operation can be accepted during this "locked" period. This feature protects you from pirates who attempt to crack your dongles using programmatic "brute force" methods.
Back to the FAQ IndexThe Rockey4ND uses four individual 16-bit passwords to authorize two levels of security access to the device. To "crack" the device, a pirate would have to determine all four passwords to have full access to the device.
Since the passwords are binary numbers and not alphanumeric characters, a "dictionary" attack cannot be used.
Using a programmatic "brute-force" attack:
So, "brute-force" could take over 69 years (1.36 + 68) to crack all four passwords on the Rockey4ND. Realistically, the time will be much shorter since it's likely that the pirate will stumble upon the correct values before guessing every possible password combination. Assuming the passwords are distributed fairly evenly throughout their possible range, there's only a 14 percent chance that the passwords could be cracked in less than 10 years.
There are other attack methods used to crack a dongle, but they are more complex and require a much more skillful pirate. A discussion of these methods is outside the scope of this FAQ entry.
Back to the FAQ IndexSince it's impractical to attack the Rockey4ND passwords with a "dictionary" or "brute-force" attack, a very skillful pirate will probably attempt the more complex "man-in-the-middle" attack.
This type of sophisticated attack takes a lot of time and skill.
First, a special "monitor" program is used to record all communication between the dongle on the USB port and the Device Driver on the computer. Then, an "emulation" program will attempt to replicate all the responses to the Device Driver so the dongle is no longer needed.
The Rockey4ND has a built-in countermeasure for this type of attack. All low-level communication between the dongle and Device Driver is encoded. If you use the Envelope Encryption, all communication between the application and Device Driver is also encoded. There is also "random noise" introduced to the communications protocol so that any information recorded by the "monitor" program will be invalid from session to session.
If you are using the API for custom security checks, you may implement your own additional countermeasures to enhance this protection. The judicious use of "Seed Code" protection methods will make any such attack even more difficult to implement successfully. For more information about how to do this, please refer to the chapter on "Rockey4ND Hardware Algorithms" in the Developer's Guide.
Back to the FAQ IndexIt is quite easy to prevent this.
When your program starts, generate a random number, store it in a Static variable and then write it to a specific address in the Rockey4ND's User Data Zone (UDZ). You can even use the "RY_RANDOM" API function to generate the number.
Throughout your program's operation, you can check this address in the UDZ of the Rockey4ND to ensure that the random number is the same.
If another computer is also running your program during this period, and using the same Rockey4ND, a different random number will have been written to the UDZ.
Back to the FAQ IndexQuestions About Installing FTsafe or Your Programs
The text of this FAQ entry is Under Construction.
Check back soon...
Back to the FAQ IndexThe text of this FAQ entry is Under Construction.
Check back soon...
Back to the FAQ IndexQuestions About the FTsafe System Programs
You can always upgrade (for free) by downloading the latest version of the FTsafe software and installing it over the old version. There's no need to uninstall the old version first.
The latest version of the FTsafe software is available on the Downloads page.
Back to the FAQ IndexQuestions About FTsafe Hardware
Rockey4NDs work fine with USB 1.1 and 2.0 Hubs.
However, USB Hubs have become a commodity item and not all are built to quality standards. On rare occasions the Rockey4ND may not be detected through the Hub due to inadequate output voltage or bad connections.
To determine if the problem is with the USB Hub, check the Rockey4ND in a USB port that does not use a Hub.
If the Hub is the problem, sometimes just plugging the Rockey4ND into a different port on the Hub is enough to solve the problem.
Our experience is that most problems with USB 2.0 Hubs are related to inadequate power supplied from the computer port. This problem can almost always be eliminated by connecting an AC Power Adapter directly to the Hub.
Back to the FAQ IndexIt depends on how often you update the memory in the device. Each bit of the memory in the Rockey4ND can be re-written at least 100,000 times. However, Rockey4NDs employ "Wear Leveling" which distributes the re-written bits to the "least worn" areas of the memory. Wear Leveling dramatically extends the life of the Rockey4ND and also makes it substantially more reliable throughout its lifetime.
Obviously, Rockey4NDs can handle a lot of updates, but not an unlimited amount. These examples will show how to predict the lifetime of your Rockey4NDs:
If you build a Rockey4ND without an Execution limit, and never update the user memory, then your application should expect to be able to read the data from the Rockey4ND for at least 10 years.
If you build a Rockey4ND with an Execution limit
and/or update the user memory using an
API
call, the device's memory will usually be updated
each time you verify it's presence.
So in this example, the lifetime of the Rockey4ND really depends
on how often your protected program performs a protection
check.
Wear Leveling can multiply the write-cycle endurance of a
Rockey4ND by up to 64 times, but for this example, let's use a
"worst case" scenario of only 2 times.
So, if your program checks for the Key 100 times per day,
seven days a week, then your Rockey4ND should last
at least 5.4 years (100,000 updates times 2 for wear
leveling divided by 100 updates per day divided by 365 days
per year).
If your program checks the Key 100 times per day, but only
five days a week, then your Rockey4ND should last
at least 7.6 years (100,000 updates times 2 for wear
leveling divided by 100 updates per day divided by 260 days
per year).
Questions About FTsafe Error Messages
Under Windows, the Rockey4ND doesn't require the installation of any Device Drivers before it's plugged in, so this is an unusual problem. However, there are a few things that can cause this to happen in any operating system.
Please check the following:
This is usually caused by interference or a bad connection. Try unplugging the device and then plugging it in again.
Back to the FAQ IndexIf restarting the computer doesn't fix the problem, then your Rockey4ND may be defective. If possible, you should try to confirm this by testing it on another computer.
If you're using the Envelope Encryption and restarting the computer fixes the problem, it indicates that there's something unstable in the Windows system. It may be a virus or it may just be a shortage of resources. If possible, you should try to confirm this by testing it on another computer.
If restarting the computer fixes the problems AND you are using the API for custom security checks, then the problem is probably that your program is not setting a value for the "p3" and "p4" parameters when performing the "RY_FIND", "RY_NEXT" and "RY_OPEN" functions. If this is the case, then the functions will eventually return the Error for "ERR_OPEN_OVERFLOW" (Too many open dongles).
This is easily fixed by changing the Source Code so that it sets "p3" and "p4" to "0" before calling these functions.
Back to the FAQ IndexThe text of this FAQ entry is Under Construction.
If you are getting this Error, submit an Email Form to Product Support.
Back to the FAQ IndexThe text of this FAQ entry is Under Construction.
If you are getting this Error, submit an Email Form to Product Support.
Back to the FAQ Index