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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 7 – Implementing Secure Licensing<br />

Contents Glossary Index Troubleshooting<br />

SFNTVerify Operation<br />

178 <strong>Sentinel</strong> <strong>Hardware</strong> <strong>Keys</strong> Developer’s <strong>Guide</strong><br />

<br />

You may even sign part of your application data (such as constants) and verify<br />

its integrity before you use it. You can implement a similar signature<br />

verification scheme for your digital content (such as, text files and images)<br />

and store the 42-bit signature as raw data in the <strong>Sentinel</strong> Key memory.<br />

Decentralize Your Security Checks<br />

Decentralizing the security checks throughout the code is a good practice.<br />

This requires each place in the code to be modified in order for the application<br />

to run without the key. Restricting them to a few places can lead to easy<br />

detection and elimination subsequently. Given below are more tips:<br />

Use In-line Functions in Place of a Centralized Function<br />

Creating a single function call that checks the key and then making function<br />

calls throughout the code does not decentralize. Instead, only the<br />

security check function must be modified to operate without the key.<br />

Use Many Different Security Checks<br />

If you use the same security check in many places of the code, then you can<br />

find each check by searching for patterns.<br />

Tip: Place the security checks in hard-to-trace operations. For example, if you<br />

scatter you check throughout a series of database operations, it can be<br />

extremely time consuming to trace the calls.

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

Saved successfully!

Ooh no, something went wrong!