SafeNet Sentinel Instruction Manual

1.2.0

ii Sentinel Hardware Keys Developer’s Guide
Copyright © 2007, SafeNet, Inc.
All rights reserved.
All attempts have been made to make the information in this document complete and accurate. SafeNet, Inc. is
not responsible for any direct or indirect damages or loss of business resulting from inaccuracies or omissions.
The specifications contained in this document are subject to change without notice.
SafeNet, Sentinel, Sentinel V-Clock, and the Business Layer APIs are either registered trademarks or trademarks
of SafeNet, Inc. Microsoft, Windows, Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Win-
dows XP, Windows Server 2003, Windows Vista and Internet Explorer are either trademarks or registered trade-
marks of Microsoft Corporation in the United States and other countries. Java is a trademark of Sun
Microsystems, Inc. in the United States and other countries. Linux is a trademark of Linus Torvalds, in the United
States and other countries. Mac and the Mac logo are trademarks of Apple Computer, Inc., registered in the U.S.
and other
countries. All other trademarks are the property of their respective owners.
The Sentinel Keys SDK makes use of certain third-party software. Please refer to Acknowledgments.pdf under
the Manuals directory for details.
CONFIDENTIAL INFORMATION
The Sentinel Keys SDK is designed to protect your software applications from unauthorized use. It is in your best
interest to protect the information herein from access by unauthorized individuals.
Part Number 002266-001, Revision F
Software versions 1.2.0
Revision Action/Change Date
A1.0.0 release for Windows 32-bit platforms November 2005
B1.0.2 release for Linux platforms May 2006
C1.0.2 release for Windows 32-bit and x64 platforms August 2006
D1.0.2 release for Macintosh platforms September 2006
E1.0.3 release for Windows Vista 32-bit and x64 platforms March 2007
F1.2.0 release for Windows 32-bit and x64 platforms December 2007

Sentinel Hardware Keys Developer’s Guide iii
Certifications
European Community Directive Conformance Statement
ISO 9001:2000 Certification
WEEE and RoHS Compliance
Sentinel Hardware Keys are in conformity with the protection requirements of EC
Council Directive 89/336/EEC. Conformity is declared to the following applicable stan-
dards for electro-magnetic compatibility immunity and susceptibility; CISPR22 and
IEC801. This product satisfies the CLASS B limits of EN 55022.
SafeNet Irvine, California, U.S.A and Rotterdam, The Netherlands facilities are
certified to the latest, globally-recognized ISO 9001:2000 standard. The
certificate number is: CERT-02982-2003-AQ-HOU-RAB Rev 3.
Sentinel Hardware Keys are environment-friendly and com-
ply to Waste Electrical and Electronic Equipment (WEEE) and
Restriction of Hazardous Substances (RoHS) standards.
The WEEE symbol indicates that the electronic devices
included with this product package must not be disposed of
with other non-electrical waste. It is the responsibility of
your organization to dispose of your electronic waste by
handing it over to a designated collection point for the recy-
cling of waste electrical and electronic equipment (WEEE).

iv Sentinel Hardware Keys Developer’s Guide
Mac OS X Universal Logo Compliance
USB 2.0 Compliance
WHQL Certification
Ready for Red Hat Linux
The Sentinel Hardware Keys SDK is designed for the Macintosh operating
system (Mac OS X) and runs natively on both PowerPC- and Intel-based
computers from Apple.
Sentinel Hardware Keys comply to the USB 2.0 standards.
The Sentinel System Driver (for Windows) is certi-
fied by Windows Hardware Quality Lab (WHQL) for
Windows 2000, Windows XP (32-bit and x64), Win-
dows Server 2003 (32-bit and x64), and Windows
Vista (32-bit and x64).
The Sentinel Hardware Keys SDK is supported on Red Hat Linux.
This logo is a registered trademark of Red Hat, Inc.

Sentinel Hardware Keys Developer’s Guide v
FCC Compliance
Sentinel Hardware Keys have passed the FCC Self-authorization process of Computers and Computer
Peripherals. FCC Part 15 Class B Specifications.
FCC Notice to Users
This equipment has been tested and found to comply with the limits for a class B digital device, pursuant to part
15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a
residential installation. This equipment generates, uses and can radiate radio frequency energy and if not
installed and used in accordance with the instructions, may cause harmful interference to radio communications.
However, there is no guarantee that interference will not occur in a particular installation. If this equipment
does cause harmful interference to radio or television reception, which can be determined by turning the equip-
ment off and on, the user is encouraged to try to correct the interference by one or more of the following mea-
sures:
■Reorient or relocate the receiving antenna.
■Increase the separation between the equipment and receiver.
■Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.
■Consult the dealer or an experienced radio/TV technician for help.
In order to maintain compliance with FCC regulations, shielded cables must be used with this equipment. Opera-
tion with non-approved equipment or unshielded cables is likely to result in interference to radio and TV
reception. The user is cautioned that changes and modifications made to the equipment without the approval
of manufacturer could void the user's authority to operate this equipment.
FC
C

vi Sentinel Hardware Keys Developer’s Guide

Sentinel Hardware Keys Developer’s Guide vii
Table Of Contents
Table Of Contents ........................................................................... vii
Preface ............................................................................................ xiii
Where to Find Information?........................................................................................xiii
Conventions Used in This Guide..................................................................................xiv
Technical Support ........................................................................................................ xv
SafeNet Sales Offices...................................................................................................xvii
Export Considerations ............................................................................................... xviii
We Welcome Your Comments .................................................................................. xviii
Part 1: Sentinel Key Basics.................................... 1
Chapter 1 – Introduction .................................................................. 3
Software Piracy Hurts Your Business.............................................................................3
Sentinel Keys Protect Against Software Piracy..............................................................4
License Models to Increase Your Revenue .....................................................................6
Sentinel Keys Offer Sophisticated Protection..................................................................7
Frequently Asked Questions.........................................................................................14
Chapter 2 – Sentinel Keys SDK Components ................................ 17
Overview ......................................................................................................................17
Sentinel System Driver .................................................................................................19
Sentinel Keys Toolkit....................................................................................................21
Command-Line Shell Utility .........................................................................................24

Contents
viii Sentinel Hardware Keys Developer’s Guide
Key Programming APIs............................................................................................... 24
Developer Key.............................................................................................................. 25
Compiler Interfaces ..................................................................................................... 27
License Manager (Stand-alone)................................................................................... 28
Distributor Key ............................................................................................................ 29
Sentinel Keys ............................................................................................................... 29
Sentinel Keys Server.................................................................................................... 33
Sentinel Keys License Monitor..................................................................................... 35
Sentinel Protection Installer........................................................................................ 37
Configuration Files ...................................................................................................... 38
Remote Update Options............................................................................................... 38
Frequently Asked Questions........................................................................................ 38
Chapter 3 – Planning Application Protection and
Licensing Strategy......................................................................... 41
About Features, Templates, and Groups ..................................................................... 41
Planning Application Protection and Licensing Strategy ........................................... 50
Frequently Asked Questions........................................................................................ 58
Part 2: Designing and
Implementing Protection ................................. 63
Chapter 4 – Protecting Applications Using Shell .......................... 65
Add Shell Feature Dialog Box...................................................................................... 66
Adding Files................................................................................................................. 66
Providing Licensing Settings ....................................................................................... 67
Providing Networking Settings ................................................................................... 69
Providing Security Settings ......................................................................................... 71
Customizing Error Messages........................................................................................ 73
Customizing Shell Error Message Title ........................................................................ 73
Changing File Encryption Settings .............................................................................. 74
Applying Shell Protection............................................................................................ 76
Shell Protection Using the Command-Line Utility....................................................... 78
What’s Next? ............................................................................................................... 81

Contents
Sentinel Hardware Keys Developer’s Guide ix
Frequently Asked Questions.........................................................................................83
Chapter 5 – Protecting Applications Using API............................. 91
Steps to Protect Applications Using API.......................................................................91
Adding API Features ....................................................................................................95
What’s Next? ............................................................................................................. 114
Frequently Asked Questions...................................................................................... 116
Chapter 6 – Secure Remote Updates............................................ 119
Secure Remote Update .............................................................................................. 119
Secure Remote Feature/License Update .................................................................... 120
Secure Remote New License Addition....................................................................... 127
Remote Update Codes................................................................................................ 131
Remote Update Methods............................................................................................ 132
About Remote Update Actions.................................................................................. 136
Generating Update Codes .......................................................................................... 140
Frequently Asked Questions...................................................................................... 142
Chapter 7 – Implementing Secure Licensing............................... 145
Vulnerability Assessment - Basic Types of Attacks ................................................... 146
Tips and Tricks .......................................................................................................... 149
Frequently Asked Questions...................................................................................... 159
Part 3: Grouping Licenses and
Programming Hardware Keys ......................... 161
Chapter 8 – License Grouping ...................................................... 163
Why Create Groups?.................................................................................................. 163
Creating New Groups ................................................................................................ 165
Loading Groups ......................................................................................................... 166
Duplicating Groups ................................................................................................... 166
Removing Groups...................................................................................................... 167
Sending Group Files to Distributors........................................................................... 167

Contents
x Sentinel Hardware Keys Developer’s Guide
Viewing Group Layouts............................................................................................. 168
Modifying Default Feature Instances......................................................................... 169
Creating New Feature Instances ............................................................................... 169
Add Templates to Groups .......................................................................................... 170
Remove Templates From Groups .............................................................................. 170
Export-File Manager.................................................................................................. 171
Locking/Unlocking Groups ....................................................................................... 172
Frequently Asked Questions...................................................................................... 173
Chapter 9 – Programming Sentinel Hardware Keys................... 179
Programming Sentinel Keys using Sentinel Keys Toolkit ......................................... 179
Programming Sentinel Keys using the Key Programming APIs............................... 184
Frequently Asked Questions...................................................................................... 188
Part 4: Distributing Protected Applications .... 195
Chapter 10 – Redistributables for Customers and Distributors 197
Checklist for Customers And Distributors ................................................................. 197
Deploying Sentinel System Driver ............................................................................. 199
Deploying Sentinel Keys Server................................................................................. 201
Deploying (Client) Configuration File........................................................................ 201
Deploying Secure Update Utility................................................................................ 202
Deploying Secure Update Wizard (Windows Only)................................................... 204
Deploying Sentinel Data Protection Driver (Windows Only) .................................... 209
Deploying Stand-alone License Manager.................................................................. 211
Deploying System Administrator’s Help.................................................................... 213
Frequently Asked Questions...................................................................................... 214
Appendix A – Troubleshooting .................................................... 219
Problems and Solutions............................................................................................. 219

Contents
Sentinel Hardware Keys Developer’s Guide xi
Appendix B – Glossary .................................................................. 235
A................................................................................................................................ 235
B ................................................................................................................................ 236
C ................................................................................................................................ 237
D ................................................................................................................................ 238
E................................................................................................................................. 239
F................................................................................................................................. 241
G ................................................................................................................................ 242
H................................................................................................................................ 243
K ................................................................................................................................ 244
L................................................................................................................................. 244
M ............................................................................................................................... 246
N................................................................................................................................ 246
P ................................................................................................................................ 246
Q ................................................................................................................................ 247
R ................................................................................................................................ 247
S................................................................................................................................. 248
U ................................................................................................................................ 252
W............................................................................................................................... 253
Appendix C – Sentinel Keys Hardware Specifications ............... 255
Appendix D – Migration from SuperPro and UltraPro ............... 257
Stage 1 - Distribute Sentinel Dual Hardware Keys .................................................... 257
Stage 2 - Design New Protection Strategy................................................................. 259
Index .............................................................................................. 261

Contents
xii Sentinel Hardware Keys Developer’s Guide

Sentinel Hardware Keys Developer’s Guide xiii
Preface
Thank you for choosing Sentinel Hardware Keys—the state-of-the-art USB
tokens with advanced cryptographic capabilities. Using Sentinel Keys, you
can:
■Protect your intellectual property from piracy.
■Implement different license models for different customers.
■Secure your product revenue.
Where to Find Information?
The Sentinel Keys SDK documentation is for the following users:
You Could Be a... Recommended
References
Manager or New User
You want to understand the product
installation, features and benefits
❑Release notes
❑Part I of this guide
Application Programmer
You want to plan, design, and implement the
application protection.
❑Sentinel Keys Toolkit Help
❑Part I and Part II of this
guide
❑Business Layer API Help
Sentinel Key Programmer
You want to program Sentinel Keys for your
customers.
❑Sentinel Keys Toolkit Help
❑Part III of this guide

Conventions Used in This Guide
xiv Sentinel Hardware Keys Developer’s Guide
Conventions Used in This Guide
Please note the following conventions used in this guide:
Builder
You want to prepare the protected application
for release, including deploying the
redistributables.
❑Part IV of the guide
❑Sentinel Protection
Installer Help (for
Windows only)
Sales Distributors
You want to program Sentinel Keys for your
customers.
❑Help included with the
License Manager applica-
tion
Customers and Helpdesk
For users who want to learn how to use the
hardware key and the redistributables, like the
Sentinel System Driver, Sentinel Keys Server,
configuration file.
❑System Administrator’s
Help
❑FAQs included in the Sen-
tinel Keys Toolkit Help
You Could Be a... Recommended
References
Convention Meaning
Courier Denotes syntax, prompts and code examples. Bold Courier
type represents characters that you type; for example:
logon.
Bold Lettering Words in boldface type represent keystrokes, menu items,
window names or fields.
Italic Lettering Words in italic type represent file names and directory
names; it is also used for emphasis.
Denotes a warning. This icon flags any potential pitfalls
that we think that you may need to be careful of.
<OS drive> The root drive on your system where your operating
system is installed.

Technical Support
Sentinel Hardware Keys Developer’s Guide xv
Technical Support
If you have questions, need additional assistance, or encounter a problem,
please contact Technical Support using the information given below:
<installdir> The path where the software, in context, is installed.
For example, the default <installdir> for Sentinel Keys SDK
is as follows:
❑On Windows 32-bit: <OS Drive>:\Program Files\SafeNet
Sentinel\Sentinel Keys\<version>
❑On Windows x64: <OS Drive>:\Program
Files(x86)\SafeNet Sentinel\Sentinel Keys\<version>
❑On Linux: /opt/safenet_sentinel/sentinel_keys/
<version>
❑On Macintosh: /Applications/safenet_sentinel/
sentinel_keys/<version>
<Personal folder> The default path for the Personal folder on Windows
2000/XP (32-bit and x64)/Server 2003 (32-bit and x64)
systems is: <OS Drive>:\Documents and Settings\user
name.
The default path for the Personal folder on Windows Vista
(32-bit and x64) systems is: <OS Drive>:\Users\user name.
<Home Directory> Refers to the default user's directory on Linux and
Macintosh.
Convention Meaning
Technical Support Contact Information
Customer Connection Center (C3)
http://c3.safenet-inc.com
Online support system to get quick answers for your queries. It also provides you
direct access to SafeNet knowledge base.
Sentinel Integration Center (C3)
http://www.safenet-inc.com/support/ic/iclogin.asp
Provides the information you need to successfully integrate Sentinel products
with your solutions.

Technical Support
xvi Sentinel Hardware Keys Developer’s Guide
Americas
Internet http://www.safenet-inc.com/support/index.asp
E-mail [email protected]
United States
Telephone (800) 545-6608, (410) 931-7520
Europe
E-mail [email protected]
France
Telephone 0825 341000
Germany
Telephone 01803 7246269
United Kingdom
Telephone +44 (0) 1276 608000, +1 410 931-7520 (Intl)
Pacific Rim
E-mail [email protected]
Australia and New Zealand
Telephone +1 410 931-7520 (Intl)
China
Telephone (86) 10 8851 9191
India
Telephone +1 410 931-7520 (Intl)
Taiwan and Southeast Asia
Telephone (886) 2 27353736, +1 410 931-7520 (Intl)
Technical Support Contact Information (Continued)

SafeNet Sales Offices
Sentinel Hardware Keys Developer’s Guide xvii
SafeNet Sales Offices
For more information about SafeNet products and offerings, contact the
sales offices located in the following countries:
Tip: Please visit http://www.safenet-inc.com/support/index.asp for the most up-
to-date information about Sentinel Keys, downloads, FAQs, and technical
notes.
Australia
+61 3 9882 8322
Brazil
+55 11 6121 6455
China
+86 10 88519191
Finland
+358 20 500 7800
France
+33 1 41 43 29 00
Germany
+49 1803 7246269
Hong Kong
+852 3157 7111
India
+91-11-32980377 / 30980641
Japan (Tokyo)
+ 81 45 6405733
Korea
+82 31 705 8212
Mexico
+52 55 5575 1441
Netherlands
+31 73 658 1900
Singapore
+65 6297 6196
Taiwan
886-2-27353736
UK (Camberley)
+44 0 1276 608000
U.S. (Massachusetts)
+1 978.539.4800
U.S. (New Jersey)
+1 201.333.3400
U.S. (Virginia)
+1 703.279.4500
U.S. (Irvine, California)
+1 949.450.7300
U.S. (San Jose, California)
+ (408) 452 7651
U.S. (Torrance, California)
+1 310.533.8100

We Welcome Your Comments
xviii Sentinel Hardware Keys Developer’s Guide
Export Considerations
We offer products that are based on encryption technology. The Bureau of
Industry and Security (BIS) in the U.S. Department of Commerce adminis-
ters the export controls on our commercial encryption products.
Rules governing exports of encryption can be found in the Export Adminis-
tration Regulations (EAR), 15 CFR Parts 730-774, which implements the
Export Administration Act (“EAA” 50 U.S.C. App. 2401 et seq.).
An Important Note
BIS requires that each entity exporting products be familiar with and com-
ply with their obligations described in the Export Administration
Regulations. Please note that the regulations are subject to change. We rec-
ommend that you obtain your own legal advice when attempting to export
any product that uses encryption. In addition, some countries may restrict
certain levels of encryption imported into their country. We recommend
consulting legal counsel in the appropriate country or the applicable gov-
ernmental agencies in the particular country.
We Welcome Your Comments
To help us improve future versions of the documentation, we want to know
about any corrections, clarifications or further information you would find
useful. When you contact us, please include the following information:
■The title and version of the guide you are referring to.
■The version of the software you are using.
■Your name, company name, job title, phone number, and e-mail
address.

Part 1
Sentinel Key Basics
❑Software piracy problem and its solution
❑Sentinel Keys SDK components
❑Planning application protection and licensing
strategy

Table of contents