02.04.2013 Views

Sentinel Hardware Keys Developer's Guide - Customer Connection ...

Sentinel Hardware Keys Developer's Guide - Customer Connection ...

Sentinel Hardware Keys Developer's Guide - Customer Connection ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Tips and Tricks<br />

Contents Glossary Index Troubleshooting<br />

by your program, the update will suddenly require this work to be repeated.<br />

If you have used the tips discussed above, it will likely be time consuming so<br />

the illegitimate user is stuck using outdated software.<br />

Specify Cheat Counter Value<br />

You can specify a cheat counter value only for non-RTC <strong>Sentinel</strong> <strong>Keys</strong>.<br />

The cheat counter value is global to the <strong>Sentinel</strong> Key. It applies to all the features<br />

having lease attribute enabled. You can specify a the cheat counter<br />

value right before programming hardware keys in the License Manager<br />

screen.<br />

If desired, you can use the Secure Update process to increment the cheat<br />

counter in the field.<br />

Note: You should call the SFNTQueryFeature function in your application code to<br />

detect time tampering. In addition, the SFNTEncrypt, SFNTDecrypt, SFNT-<br />

Sign, and SFNTGetDeviceInfo functions also check for system time tampering.<br />

Use AES Algorithm to Encrypt Data<br />

You can use the AES algorithm present in the <strong>Sentinel</strong> Key for encrypting<br />

16-byte data blocks. AES has withstood intense scrutiny from the cryptography<br />

experts and is adopted by National Institute of Standards and<br />

Technology (NIST) as US FIPS PUB 197 in November 2001 (after a 5-year<br />

standardization process). It is trusted by many organizations and has a<br />

proven track record.<br />

It provides an impenetrable security check because the AES algorithm and<br />

the 128-bit randomly generated secret key it uses are embedded in the <strong>Sentinel</strong><br />

Key—not accessible to any debugging or memory dumping program.<br />

You need to:<br />

Call the SFNTEncrypt API function to send the plain data and have it<br />

encrypted.<br />

<strong>Sentinel</strong> <strong>Hardware</strong> <strong>Keys</strong> Developer’s <strong>Guide</strong> 175

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!