Über HASP HL

Transcription

Über HASP HL
COPYRIGHTS AND TRADEMARKS
The HASP®HL system and its documentation are copyrighted (C) 1985 to present by
Aladdin Knowledge Systems Ltd. All rights reserved.
HASP and Hardlock are registered trademarks of Aladdin Knowledge Systems Ltd.
HASP®HL Basic, HASP®HL Pro, HASP®HL Max, HASP®HL Time and HASP®HL
Net are trademarks of Aladdin Knowledge Systems Ltd.
All other trademarks, brands, and product names used in this guide are trademarks of
their respective owners.
i
ALADDIN KNOWLEDGE SYSTEMS LTD.
DEVELOPER'S LICENSE AGREEMENT
IMPORTANT INFORMATION - PLEASE READ THIS AGREEMENT
CAREFULLY BEFORE OPENING THE PACKAGE AND/OR USING THE
CONTENTS THEREOF AND/OR BEFORE DOWNLOADING OR INSTALLING
THE SOFTWARE PROGRAM. ALL ORDERS FOR AND USE OF THE HASP
AND/OR HASP HL FAMILY PRODUCTS (including without limitation, the Kit,
®
®
libraries, utilities, diskettes, CD ROM, HASP and/or HASP HL keys, the software
component of Aladdin's HASP and/or HASP HL and the HASP HL Protection and
Licensing Guide) (hereinafter “Product”) SUPPLIED BY ALADDIN KNOWLEDGE
SYSTEMS LTD. (or any of its affiliates - either of them referred to as “ALADDIN”)
ARE AND SHALL BE, SUBJECT TO THE TERMS AND CONDITIONS SET
FORTH IN THIS AGREEMENT.
BY OPENING THE PACKAGE CONTAINING THE PRODUCTS AND/OR BY
DOWNLOADING THE SOFTWARE (as defined hereunder) AND/OR BY
INSTALLING THE SOFTWARE ON YOUR COMPUTER AND/OR BY USING
THE PRODUCT, YOU ARE ACCEPTING THIS AGREEMENT AND AGREEING
TO BE BOUND BY ITS TERMS AND CONDITIONS.
IF YOU DO NOT AGREE TO THIS AGREEMENT OR ARE NOT WILLING TO BE BOUND BY IT, DO NOT OPEN THE PACKAGE AND/OR
DOWNLOAD AND/OR INSTALL THE SOFTWARE AND PROMPTLY (at
least within 7 days from the date you received this package) RETURN THE
PRODUCTS TO ALADDIN, ERASE THE SOFTWARE, AND ANY PART
THEREOF, FROM YOUR COMPUTER AND DO NOT USE IT IN ANY
MANNER WHATSOEVER. UPON RETURNING THE PRODUCT WITH A
COPY OF THE SALES RECIEPT TO ALADDIN YOU WILL RECEIVE A
REFUND.
ii
1 Title & Ownership
THIS IS A LICENSE AGREEMENT AND NOT AN AGREEMENT FOR SALE. The
software component of the Product, including any revisions, corrections,
modifications, enhancements, derivative works, updates and/or upgrades thereto,
(hereinafter in whole or any part thereof defined as: “Software”), and the related
documentation, ARE NOT FOR SALE and are and shall remain in Aladdin's sole
property. All intellectual property rights (including, without limitation, copyrights,
trade secrets, trademarks, etc.) evidenced by or embodied in and/or attached/
connected/related to the Product, (including, without limitation, the Software code and
the work product performed in accordance with Section 2 hereunder) are and shall be
owned solely by Aladdin. This Agreement does not convey to you an interest in or to
the Software but only a limited right of use revocable in accordance with the terms of
this Agreement. Nothing in this Agreement constitutes a waiver of Aladdin's
intellectual property rights under any law.
2 License
Subject to payment of applicable license fees, Aladdin hereby grants to you, and you
accept, a personal, nonexclusive and fully revocable limited license to use the
Software, in executable form only, as described in the Software accompanying user
documentation and only according to the terms of this Agreement: (i) you may install
the Software and use it on computers located in your place of business, as described in
Aladdin's related documentation; (ii) you may merge and link the Software into your
computer programs for the sole purpose described in the HASP HL Protection and
Licensing Guide; however, any portion of the Software merged into another computer
program shall be deemed as derivative work and will continue to be subject to the
terms of this Agreement; and (iii) you are permitted to make a reasonable number of
copies - but not more than three (3) - of the Software solely for development in
accordance with the HASP HL Protection and Licensing Guide and backup purposes.
The Software shall not be used for any other purposes.
iii
3 Sub-licensing
After merging the Software in your computer program(s) according to section 2 above,
you may sub-license, pursuant to the terms of this Agreement, the merged Software
and resell the hardware components of the Product which you purchased from Aladdin,
to distributors and/or users. Preceding such a sale and sub-licensing, you shall
incorporate by reference in your contracts with such distributors and/or users, and
otherwise provide for all distributors and/or users to be bound by, the warranties,
disclaimers, and license terms specified by Aladdin in this Agreement.
4 Prohibited Users
Except as specifically permitted in Sections 1,2 and 3 above, you agree not to (i) use,
modify, merge or sub-license the Software or any other of Aladdin's products except as
expressly authorized in this Agreement and in the HASP HL Protection and Licensing
Guide; and (ii) sell, license (or sub-license), lease, assign, transfer, pledge, or share
your rights under this License with/to anyone else; and (iii) modify, disassemble,
decompile, reverse engineer, revise or enhance the Software or attempt to discover the
Software's source code; and (iv) place the Software onto a server so that it is accessible
via a public network; and (v) use any back-up or archival copies of the Software (or
allow someone else to use such copies) for any purpose other than to replace an
original copy if it is destroyed or becomes defective. If you are a member of the
European Union, this Agreement does not affect your rights under any legislation
implementing the EC Council Directive on the Legal Protection of Computer
Programs. If you seek any information within the meaning of that Directive you should
initially approach Aladdin.
5 Limited Warranty
Aladdin warrants, for your benefit alone, that (i) the Software, when and as delivered
to you, and for a period of three (3) months after the date of delivery to you, will
perform in substantial compliance with the HASP HL Protection and Licensing Guide,
provided that it is used on the computer hardware and with the operating system for
which it was designed; and (ii) that the HASP(r) key and the HASP(r) HL key for a
period of twelve (12) months after the date of delivery to you, will be substantially free
from significant defects in materials and workmanship.
iv
6 Warranty Disclaimer
ALADDIN DOES NOT WARRANT THAT ANY OF ITS PRODUCT(S) WILL
MEET YOUR REQUIRMENTS OR THAT ITS OPERATION WILL BE
UNINTERRUPTED OR ERROR-FREE. TO THE EXTENT ALLOWED BY LAW,
ALADDIN EXPRESSLY DISCLAIMS ALL EXPRESS WARRANTIES NOT
STATED HERE AND ALL IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE. NO ALADDIN'S DEALER,
DISTRIBUTOR, RESELLER, AGENT OR EMPLOYEE IS AUTHORIZED TO
MAKE ANY MODIFICATIONS, EXTENSIONS, OR ADDITIONS TO THIS
WARRANTY. If any modifications are made to the Software or to any other part of the
Product by you during the warranty period; if the media and the Product is subjected to
accident, abuse, or improper use; or if you violate any of the terms of this Agreement,
then the warranty in Section 5 above, shall immediately be terminated. The warranty
shall not apply if the Software is used on or in conjunction with hardware or program
other than the unmodified version of hardware and program with which the Software
was designed to be used as described in the HASP HL Protection and Licensing Guide.
7 Limitation of Remedies
In the event of a breach of the warranty set forth above, Aladdin's sole obligation shall
be, at Aladdin's sole discretion: (i) to replace or repair the Product, or component
thereof, that does not meet the foregoing limited warranty, free of charge; (ii) to refund
the price paid by you for the Product, or component thereof. Any replacement or
repaired component will be warranted for the remainder of the original warranty period
or 30 days, whichever is longer. Warranty claims must be made in writing during the
warranty period and within seven (7) days of the observation of the defect
accompanied by evidence satisfactory to Aladdin. All Products should be returned to
the distributor from which they were purchased (if not purchased directly from
Aladdin) and shall be shipped by the returning party with freight and insurance paid.
The Product or component thereof must be returned with a copy of your receipt.
v
8 Exclusion Of Consequential Damages
The parties acknowledge, that the Product is inherently complex and may not be
completely free of errors. ALADDIN SHALL NOT BE LIABLE (WHETHER
UNDER CONTRACT, TORT (INCLUDING NEGLIGENCE) OR OTHERWISE) TO
YOU, OR ANY THIRD PARTY (INCLUDING, WITHOUT LIMITATION, YOUR
DISTRIBUTORS AND USERS OF YOUR SOFTWARE PROGRAM) FOR ANY
LOSS OR DAMAGE (INCLUDING INDIRECT, SPECIAL OR CONSEQUENTIAL
DAMAGES), INCLUDING, WITHOUT LIMITATION, ANY LOSS OR DAMAGE
TO BUSINESS EARNINGS, LOST PROFITS OR GOODWILL AND LOST OR
DAMAGED DATA OR DOCUMENTATION, SUFFERED BY ANY PERSON,
ARISING FROM AND/OR RELATED WITH AND/OR CONNECTED TO ANY
USE OF THE SOFTWARE AND/OR ANY COMPONENT OF THE PRODUCT,
EVEN IF ALADDIN IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
9 Limitation Of Liability
IN NO EVENT SHALL ALADDIN'S TOTAL MONETARY OBLIGATION AND
LIABILITY, UNDER ANY CLAIM FOR ANY CAUSES OF ACTION PURSUANT
TO THIS AGREEMENT, EXCEED THE PAYMENTS MADE BY YOU TO
ALADDIN FOR THE PRODUCT/S THAT GAVE RISE TO THE ACTION OR
CLAIM, AND IF NO SUCH PRODUCT/S ARE SO APPLICABLE THEN
ALADDIN'S LIABILITY SHALL NOT EXCEED THE AMOUNT OF FEES PAID
BY YOU TO ALADDIN HEREUNDER DURING THE TWELVE (12) MONTHS
PRECEDING THE EVENT.
10 No Other Warranties
Except as specifically provided herein, Aladdin makes no warranty or representation,
either express or implied, with respect to its products as described in the preamble of
this agreement, including its quality, performance, merchantability or fitness for a
particular purpose.
vi
11 Termination
Your failure to comply with the terms of this Agreement shall terminate your license
and this Agreement. Upon termination of this Agreement by Aladdin: (i) the license
granted to you in this Agreement shall expire and you, upon termination, shall
discontinue all further use (including without limitation sub-licensing) of the Software
and other licensed Product(s); and (ii) you shall promptly return to Aladdin all tangible
property representing Aladdin's intellectual property rights and all copies thereof and/
or shall erase/delete any such information held by it in electronic form. Sections 1, 4,
6, 7, 8, 9, 10, 11 and 12 shall survive any termination of this Agreement.
12 Governing Law & Jurisdiction
This Agreement shall be construed and governed in accordance with the laws of Israel
(except for conflict of law provisions) and only the competent courts of Tel-Aviv,
Israel shall have jurisdiction in any conflict or dispute arising out of this Agreement.
The application of the United Nations Convention of Contracts for the International
Sale of Goods is expressly excluded. The failure of either party to enforce any rights
granted hereunder or to take action against the other party in the event of any breach
hereunder shall not be deemed a waiver by that party as to subsequent enforcement of
rights or subsequent actions in the event of future breaches.
13 Third Party Software
If the Product contains any software provided by third parties, such third party's
software is provided “As Is” without any warranty of any kind and shall be subject to
any and all limitations and conditions required by such third parties.
14 Miscellaneous
This Agreement represents the complete agreement concerning the license hereunder
and the subject matter hereof and may be amended only by a written agreement
executed by both parties. If any provision of this Agreement is held to be
unenforceable, such provision shall be reformed only to the extent necessary to make it
enforceable.
I HAVE READ AND UNDERSTOOD THIS AGREEMENT AND AGREE
TO BE BOUND BY ALL OF THE TERMS.
vii
Certifications
CE Compliance
The HASP product line complies with the CE EMC Directive and
related standards*. HASP products are marked with the CE logo and
a HASP CE conformity card is included in every shipment or upon
demand.
*EMC directive 89/336/EEC and related standards EN 55022, EN
50082-1.
FCC Compliance
FCC authorities have determined that HASP is not a Class B Computing Device
Peripheral and therefore does not require FCC regulation.
UL Certification
The HASP product line successfully completed UL 94 Tests for Flammability of
Plastic Materials for Parts in Devices and Appliances. HASP products comply with UL
1950 Safety of Information Technology Equipment regulations.
ISO 9001:2000 Certification
The HASP product line is designed and manufactured by
Aladdin Knowledge Systems, Inc., an ISO 9001:2000
certified company. Aladdin's quality assurance system is
approved by the International Organization for
Standardization (ISO), ensuring that Aladdin products and
customer service standards consistently meet specifications in
order to provide outstanding customer satisfaction.
viii
Certificate of Compliance
Upon request, Aladdin Knowledge Systems, Inc. will supply a Certificate of
Compliance to any software developer who wishes to demonstrate that the HASP
product line conforms to the specifications stated. Software developers can distribute
this certificate to the end user along with their programs.
ix
x
Inhalt
Tabellenverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xvii
Über dieses Handbuch . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Teil I: HASP HL Orientierung
1. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
Vorteile des HASP HL Systems . . . . . . . . . . . . . . . . . . . . . 2
Hohe Flexibilität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Automatische Lizenzierung. . . . . . . . . . . . . . . . . . . . . . . . . 5
Nutzen für Ihre Kunden. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Weltweiter Service und Support . . . . . . . . . . . . . . . . . . . . . 6
HASP HL Schutzkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
HASP HL Modelle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
HASP HL Developer Kit (DK) . . . . . . . . . . . . . . . . . . . . . . . 9
HASP HL Starter Kit (SK) . . . . . . . . . . . . . . . . . . . . . . . . . 10
2. Schlüsselkonzepte in HASP HL . . . . . . . . . . . . . . .11
Ihre eindeutigen HASP HL Codes und Keys . . . . . . . . . .
Protect Once-Deliver Many™ . . . . . . . . . . . . . . . . . . . . . .
Wie funktioniert der Schutz mit HASP HL?. . . . . . . . . . . .
HASP HL Schutzmethoden . . . . . . . . . . . . . . . . . . . . . . .
HASP HL Lizenzierung . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lizenzierungsoptionen . . . . . . . . . . . . . . . . . . . . . . . . . . .
HASP HL-Arbeitsablauf . . . . . . . . . . . . . . . . . . . . . . . . . .
HASP HL Softwareschutz- und Lizenzierungshandbuch
11
15
16
20
22
22
24
xi
Inhalt
3. HASP HL installieren . . . . . . . . . . . . . . . . . . . . . . . .29
Verfügbare HASP HL Software . . . . . . . . . . . . . . . . . . . . .29
HASP HL Softwareschutz – eine kurze Tour . . . . . . . . . . .32
HASP HL unter Windows installieren. . . . . . . . . . . . . . . . .37
Installationsstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
HASP HL Device Driver installieren . . . . . . . . . . . . . . . . . .39
HASP HL unter Mac installieren . . . . . . . . . . . . . . . . . . . .42
HASP HL unter Linux installieren. . . . . . . . . . . . . . . . . . . .46
Vendor Codes extrahieren . . . . . . . . . . . . . . . . . . . . . . . . .50
Teil II: HASP HL Schutz
4. Software schützen . . . . . . . . . . . . . . . . . . . . . . . . . .51
HASP HL Schutz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
HASP HL Schutzmethoden . . . . . . . . . . . . . . . . . . . . . . . .53
AES-Verschlüsselung . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
HASP HL Speicher ausnutzen. . . . . . . . . . . . . . . . . . . . . .56
Antidebugging- und Reverse-Engineering-Maßnahmen . .57
5. Schutz mit der HASP HL API . . . . . . . . . . . . . . . . .61
Universelle API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62
Voraussetzungen für die API-Verwendung . . . . . . . . . . . .63
HASP HL API kennenlernen . . . . . . . . . . . . . . . . . . . . . . .65
HASP HL ToolBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
API-Beispielprogramme . . . . . . . . . . . . . . . . . . . . . . . . . . .67
HASP HL API implementieren . . . . . . . . . . . . . . . . . . . . . .68
HASP HL API-Login-Funktion . . . . . . . . . . . . . . . . . . . . . .71
Verfügbare HASP HL API-Funktionalität . . . . . . . . . . . . . .75
6. Schutz mit HASP HL Envelope . . . . . . . . . . . . . . .79
Voraussetzungen für die Verwendung von HASP HL
Envelope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
HASP HL Envelope verwenden . . . . . . . . . . . . . . . . . . . . .81
Grundlegende Vorgehensweise beim Schützen . . . . . . . .82
HASP HL Envelope über die Kommandozeile verwenden 83
HASP HL Envelope-Schutzparameter . . . . . . . . . . . . . . . .85
HASP HL Envelope für Mac-Anwendungen . . . . . . . . . . .89
Datendateien verschlüsseln. . . . . . . . . . . . . . . . . . . . . . . .91
xii
Aladdin Knowledge Systems Ltd © 2004.
Inhalt
7. Schutzstrategien . . . . . . . . . . . . . . . . . . . . . . . . . . .95
HASP HL Schutz – empfohlene Vorgehensweise . . . . . . 96
HASP HL API-Schutz optimieren . . . . . . . . . . . . . . . . . . . 98
Themen des Softwareschutzes . . . . . . . . . . . . . . . . . . . . 98
Optimale HASP HL API-Implementierung . . . . . . . . . . . . 99
Intelligenter Umgang mit dem Code und die HASP HL API
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
HASP HL Envelope – empfohlene Verwendung . . . . . . 108
Teil III: HASP HL Lizenzierung
8. Überblick über die Lizenzierung mit HASP HL . .111
Schlüsselkonzepte der Lizenzierung mit HASP HL . . . .
Verfügbare HASP HL Lizenzierungs-Technologie . . . . .
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lizenzierung mit HASP HL planen . . . . . . . . . . . . . . . . .
Lizenzierungs-Features . . . . . . . . . . . . . . . . . . . . . . . . .
HASP HL Lizenzierung im Einsatz . . . . . . . . . . . . . . . . .
112
115
115
116
116
119
121
9. Lizenzierung mit der HASP HL Factory . . . . . . . .123
Voraussetzungen für die HASP HL Factory . . . . . . . . . .
Datenstrukturen in der HASP HL Factory. . . . . . . . . . . .
Batches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pakete. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufträge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HASP HL Factory-Aufträge erstellen . . . . . . . . . . . . . . .
Aufträge ausführen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufträge über das Remote Update System ausführen . .
Inhalt von HASP HL Keys anzeigen . . . . . . . . . . . . . . . .
Zeit aus HASP HL Keys auslesen . . . . . . . . . . . . . . . . .
124
126
126
127
129
132
133
138
139
140
142
10. Remote Update System . . . . . . . . . . . . . . . . . . . .143
Konzept. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Komponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arbeitsablauf mit dem Remote Update System . . . . . . .
Dienstprogramm HASP HL RUS . . . . . . . . . . . . . . . . . .
Verwenden des HASP HL RUS . . . . . . . . . . . . . . . . . . .
V2C-Output anpassen . . . . . . . . . . . . . . . . . . . . . . . . . .
HASP HL Softwareschutz- und Lizenzierungshandbuch
143
144
147
148
149
151
xiii
Inhalt
Teil IV: Vertrieb von HASP HL
11. HASP HL mit Ihrer Software ausliefern . . . . . . . .153
HASP HL Software für Endanwender . . . . . . . . . . . . . . .153
HASP HL Driver für Windows bereitstellen . . . . . . . . . . .155
Windows-Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156
Aladdin DiagnostiX verwenden . . . . . . . . . . . . . . . . . . . .157
Merge-Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
Installations-API für HASP HL Driver . . . . . . . . . . . . . . . .161
haspdinst.exe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
HASPUserSetup.exe . . . . . . . . . . . . . . . . . . . . . . . . . . . .163
HASP HL Daemons für Mac bereitstellen . . . . . . . . . . . .164
HASP HL Daemons für Linux bereitstellen . . . . . . . . . . .169
12. HASP License Manager . . . . . . . . . . . . . . . . . . . .171
Überblick über den HASP License Manager . . . . . . . . . .171
HASP License Manager für Windows . . . . . . . . . . . . . . .172
HASP License Manager unter Windows installieren . . . .173
HASP License Manager für Mac . . . . . . . . . . . . . . . . . . .178
HASP License Manager für Linux . . . . . . . . . . . . . . . . . .181
HASP License Manager anpassen . . . . . . . . . . . . . . . . .183
HASP License Manager konfigurieren . . . . . . . . . . . . . .184
HASP HL Net-Clients konfigurieren . . . . . . . . . . . . . . . . .192
Schlüsselwörter festlegen . . . . . . . . . . . . . . . . . . . . . . . .194
HASP HL Net-Umgebung anpassen . . . . . . . . . . . . . . . .199
Timeout-Wert anpassen. . . . . . . . . . . . . . . . . . . . . . . . . .202
13. Aladdin Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . .203
Einstellungen für Aladdin Monitor . . . . . . . . . . . . . . . . . .204
HASP License Manager überwachen . . . . . . . . . . . . . . .205
HASP HL Keys überprüfen . . . . . . . . . . . . . . . . . . . . . . .207
HASP License Manager-Dienst . . . . . . . . . . . . . . . . . . . .209
14. HASP HL Keys überprüfen . . . . . . . . . . . . . . . . . .211
Funktionalität von Aladdin DiagnostiX . . . . . . . . . . . . . . .212
HASP HL Keys überprüfen . . . . . . . . . . . . . . . . . . . . . . .214
Berichte über HASP HL Keys erstellen . . . . . . . . . . . . . .217
Mit externen Berichtswerkzeugen verbinden . . . . . . . . . .219
HASP HL Driver aktualisieren . . . . . . . . . . . . . . . . . . . . .220
Aladdin DiagnostiX Memory Beamer . . . . . . . . . . . . . . . .221
xiv
Aladdin Knowledge Systems Ltd © 2004.
Inhalt
Anhang A: Problemlösung . . . . . . . . . . . . . . . . . . . .225
Anhang B: HASP HL Glossar . . . . . . . . . . . . . . . . .231
Anhang C: HASP HL API-Referenz. . . . . . . . . . . . . .241
Anhang D: Technische Spezifikationen der HASP HL
Hardware . . . . . . . . . . . . . . . . . . . . . . .277
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279
HASP HL Softwareschutz- und Lizenzierungshandbuch
xv
Inhalt
xvi
Aladdin Knowledge Systems Ltd © 2004.
Tabellenverzeichnis
HASP HL Modelle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Beispiel für eine Featureliste . . . . . . . . . . . . . . . . . . . . . . 24
Beispiel für eine Paketliste . . . . . . . . . . . . . . . . . . . . . . . . 26
Haspdinst-Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Kommandozeilen-Parameter für aksusbd (Mac) . . . . . . . 45
Kommandozeilen-Schalter für aksusbd (Linux) . . . . . . . . 49
HASP HL Envelope versus HASP HL API . . . . . . . . . . . . 59
Kommandozeilen-Parameter in HASP HL Envelope . . . . 84
Einstellungen für die HASP HL EnvelopeKonfigurationsdatei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Liste der dfcrypt.exe-Befehlsoptionen . . . . . . . . . . . . . . . 93
Lizenzierungsfähigkeiten der HASP HL Hardware . . . . . 115
Beispiel für eine Featureliste . . . . . . . . . . . . . . . . . . . . . 118
Beispielpakete und ihr Inhalt. . . . . . . . . . . . . . . . . . . . . . 119
Verfügbare Programm-Nummern für HASP HL Modelle 128
Quelldateien für die Installation des Mac OSX Daemons. . .
167
Schalter für den HASP License Manager . . . . . . . . . . . . 183
Suchreihenfolge für nhsrv.ini . . . . . . . . . . . . . . . . . . . . . 184
Boolsche Werte für die HASP HL LM nhsrv.ini. . . . . . . . 186
Suchreihenfolge der Konfigurationsdatei nethasp.ini . . . 193
HASP License Manager Informationen . . . . . . . . . . . . . 206
Informationen zum HASP-Key . . . . . . . . . . . . . . . . . . . . 206
HASP HL Informationen . . . . . . . . . . . . . . . . . . . . . . . . . 208
Programmtabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Logintabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Aladdin DiagnostiX: Das Feld Erfolgte Zugriffe . . . . . . . 215
Liste der HASP HL API-Funktionen . . . . . . . . . . . . . . . . 242
Technische Spezifikationen der HASP HL Hardware. . . 277
Technische Spezifikationen der HASP HL Modelle . . . . 278
HASP HL Softwareschutz- und Lizenzierungshandbuch
xvii
xviii
Aladdin Knowledge Systems Ltd © 2004.
Über dieses Handbuch
Das HASP HL Softwareschutz- und Lizenzierungshandbuch hilft
Softwareherstellern, ihre Software mit dem HASP HL System
zu schützen und zu lizenzieren. Das Handbuch bietet Ihnen
Hintergrundinformationen und Details, wie Sie das HASP HL
System am besten für Ihre Schutz- und Lizenzierungsanforderungen einsetzen.
Das Handbuch besteht aus vier Teilen:
Teil I – HASP HL Orientierung – stellt das HASP HL System
mit seinen grundlegenden Schutz- und Lizenzierungskonzepten
vor und führt Sie durch die Installation des Systems. Diesen Teil
sollten Sie lesen, nachdem Sie Ihr HASP HL Developer oder
Starter Kit geöffnet haben.
Teil II – HASP HL Schutz – enthält einen Überblick und eine
detaillierte Einführung zu den HASP HL Schutzmethoden. Der
Abschnitt enthält Strategien, um den Schutz Ihrer Software mit
der HASP HL Software zu maximieren. Er richtet sich an
Software-Entwickler, die eine der HASP HL Schutzmethoden
zum Schützen von Software verwenden möchten.
Teil III – HASP HL Lizenzierung – beschreibt detailliert, wie
Sie die HASP HL Software effektiv nutzen, um Ihre geschützte
Software zu lizenzieren. Dieser Abschnitt ist besonders für
Produktmanager und Entscheider wichtig. Er ist auch für all
diejenigen relevant, die an der Produktion beteiligt sind. Wenn
HASP HL Softwareschutz- und Lizenzierungshandbuch
xix
Sie Ihre Software lizenzieren möchten, empfehlen wir dringend,
diesen Abschnitt zu lesen, um zu verstehen, wie Sie HASP HL
am besten einsetzen können, um Ihren Lizenzierungsanforderungen gerecht zu werden.
Teil IV – Vertrieb von HASP HL – beschreibt die HASP HL
Software, die Sie an Ihre Endanwender ausliefern müssen, um
eine optimale Leistung Ihrer geschützten Software zusammen
mit dem HASP HL Hardware-Key zu garantieren. Dieser Teil
beschreibt auch die verschiedenen Möglichkeiten, die
verfügbaren HASP HL Software-Komponenten zu liefern.
In diesem Handbuch werden wichtige Kommentare, Vorschläge,
Hinweise und Warnungen als spezielle, gerahmte Einschübe mit
den folgenden Symbolen angezeigt:
Symbol
Bedeutung
Hinweis oder Warnung
Wichtiger Kommentar oder Tipp
Nützliche Idee oder Vorschlag, um
die Verwendung oder Leistung des
HASP HL Systems zu verbessern
Ein umfassendes Glossar bietet Ihnen genaue Erklärungen der
HASP HL Begriffe. Das Glossar finden Sie auf Seite 231.
Dieses Handbuch enthält auch Informationen zu technischen
Daten, die HASP HL API-Referenz und einen Leitfaden zur
Problemlösung.
xx
Aladdin Knowledge Systems Ltd © 2004.
Kapitel 1
Einleitung
Dieses Kapitel behandelt folgende Themen:
• Einführung in das HASP HL Schutz- und
Lizenzierungssystem, seine Features und seine Vorteile
• Einführung in die HASP HL Hardware und Software
• Beschreibung der Inhalte der HASP HL Developer und
Starter Kits
Über HASP HL
HASP HL ist ein hardwarebasiertes Schutz- und Lizenzierungssystem, das einfach zu verwenden und sehr verlässlich ist.
HASP HL verhindert die unberechtigte Verwendung von
Software, schützt das Software-Urheberrecht und das geistige
Eigentum und bietet vielfältige Lizenzierungsmodelle. Das
System bietet Ihnen – dem Software-Hersteller – die Möglichkeit, die Verwendung Ihrer Software vollständig zu
kontrollieren und unterstützt Sie bei innovativen Vertriebsmodellen. So erhöht es die Gewinne aus Ihrer Software.
HASP HL Softwareschutz- und Lizenzierungshandbuch
1
Einleitung
Beim Einsatz einer mit HASP HL geschützten Anwendung,
fragt die Anwendung den an den Rechner angeschlossenen
HASP HL zur Laufzeit ab. Wenn die vom HASP HL zurückgegebene Antwort korrekt und die im HASP HL gespeicherte
Lizenz gültig ist, wird die Anwendung ausgeführt. Wenn die
Antwort falsch ist, kann die Anwendung nicht geladen werden,
schaltet auf eine Demoversion um oder stellt dem Benutzer
bestimmte Features nicht zur Verfügung.
Obwohl Schutz und Lizenzierung mit HASP HL einfach zu
implementieren sind, bietet das System ein extrem hohes
Sicherheitsniveau. Sobald Ihre Anwendung geschützt ist, kann
sie nur gestartet werden, wenn der ursprünglich mit Ihrer
Software gelieferte HASP HL Key an den Rechner
angeschlossen ist.
Vorteile des HASP HL Systems
Hohe Flexibilität
Das HASP HL System bietet die umfassendste Auswahl an
Produkten, Lösungen und Features in der Sparte Softwareschutz, einschließlich speicher-, netzwerk- und zeitbasierten
Lösungen für mehrere Hardware-Plattformen.
Das Lizenzmanagement mit HASP HL wird unabhängig von der
Schutzimplementierung gehandhabt. HASP HL bietet
Werkzeuge, mit denen Sie die Lizenzbedingungen Ihrer
geschützten Anwendungen definieren und ändern können.
Höchster Bedienungskomfort
Mit HASP HL Envelope können Sie Ihre Software unter
Verwendung einer anwendungsfreundlichen grafischen
Benutzeroberfläche schnell und einfach mit dem HASP HL
Schutz versehen.
2
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
Einleitung
Ein kurzer Lernprozess und eine Standard-Programmierschnittstelle für alle Produkte (Application Programming
Interface – API) garantieren eine einfache und schnelle
Verbindung der HASP HL Software mit der Anwendung. Mit
der HASP HL ToolBox lässt sich die HASP HL API interaktiv
verwenden und erlernen. Die API ist unabhängig vom HASP
HL Modell oder der Plattform, auf der die geschützte
Anwendung läuft. Dadurch wird der Schutzprozess erheblich
vereinfacht.
Unterstützung einer großen Auswahl an
Programmierumgebungen
Das HASP HL System bietet Schnittstellen und Beispielprogramme für zahlreiche Compiler und Programmiersprachen.
Das ermöglicht eine schnelle und einfache Implementierung von
HASP HL.
Unterstützung einer großen Auswahl an
Betriebssystemen
Unterstützte Betriebssysteme sind: Windows 98 SE/ME/2000/
XP/Server 2003, Mac OS X und Linux.
Plattformübergreifende Lösung
HASP HL bietet eine plattformunabhängige Lösung. Mit einem
HASP HL Key können Windows-, Mac- und LinuxAnwendungen geschützt werden. Das spart Ihnen Zeit und
Kosten beim Integrieren des Schutzes sowohl in der
Entwicklung als auch in der Versandlogistik.
HASP HL Softwareschutz- und Lizenzierungshandbuch
3
Einleitung
Sicherheit auf dem neuesten Stand der Technik
AES-basierte Kodierungsmöglichkeiten in der
Hardware
Der Algorithmus Advanced Encryption Standard (AES) ist die
Grundlage für die Verschlüsselung und Entschlüsselung mit
HASP HL. Die in der HASP HL Hardware enthaltenen
Möglichkeiten zur Datenverschlüsselung und -entschlüsselung
erlauben eine enge Integration der Hardware in die geschützte
Software. Durch intelligente Funktionen im Key selbst können
wichtige Funktionen der geschützten Software von der
Anwesenheit des richtigen Key abhängig gemacht werden.
Wenn ein öffentlich bekannter Algorithmus wie AES zur
Datenverschlüsselung verwendet wird, wird das Geheimnis im
Schlüssel und nicht im Algorithmus gespeichert. Außerdem
stellt unsere Hardware sicher, dass dieser geheime 128-bitSchlüssel den HASP HL Key nie verlässt. Jedem HASP HL
Kunden wird mindestens ein eindeutiger Schlüssel zugewiesen.
Hochentwickelte Schutzalgorithmen und
Antidebugging-Technologie
HASP HL Software nutzt modernste Schutzalgorithmen für den
Code sowie die fortgeschrittenste Antidebugging-Technologie
in dieser Branche. Spezielle in die HASP HL Software
implementierte Anti-Hacking-Features erzeugen praktisch
unüberwindbare Hindernisse für mögliche Angreifer.
Verschlüsselte Kommunikation
Um die Sicherheit zu erhöhen, wird die gesamte
Kommunikation zwischen der Anwendung und dem HASP HL
nach dem Zufallsprinzip verschlüsselt. Dieses Feature
verhindert die Emulation des HASP HL Hardware-Key.
4
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
Einleitung
Automatische Lizenzierung
Mit HASP HL können Sie mehrere Lizenzierungsmodelle
definieren und implementieren. Mit einem einzigen Werkzeug –
HASP HL Factory – können Sie Lizenzen für HASP HL Keys
definieren und sie anschließend in die Keys schreiben. Sie
müssen Ihre Lizenzbedingungen nicht im Quellcode Ihrer
Anwendung einbinden.
Ohne Entwicklereingriff prüft das HASP HL System
automatisch, welche Module für einen Einsatz lizenziert sind,
für wie lange, wie oft, wie viele Benutzer usw.
Nutzen für Ihre Kunden
Der HASP HL Schutz nützt sowohl Ihnen als auch Ihren
Kunden. Im Folgenden finden Sie die Vorteile, die Ihre Kunden
vom Softwareschutz haben.
Kostengünstige Software
Da der Schutz mit HASP HL Ihren Umsatz und Gewinn erhöht,
können Sie größere finanzielle Ressourcen für die laufende
Entwicklung und den Support Ihres Produktes einplanen. Ihr
zahlender Kunde wiederum kommt in den Genuss höher
entwickelter Produkte, schnellerer Produktentwicklung und
qualitativ hochwertigeren technischen Supports.
Lizenzvertrag schützen
Softwareschutz sorgt dafür, dass Ihre Software-Lizenzverträge
eingehalten werden. HASP HL ist das am wenigsten
unangenehme und das unauffälligste Mittel, die Einhaltung des
Lizenzvertrags zu gewährleisten. Es stellt sicher, dass Kunden
nicht ihre eigenen Angestellten kontrollieren müssen oder
unwissentlich den Lizenzvertrag verletzen.
Investitionen der legitimen Benutzer schützen
HASP HL schützt die legitimen Benutzer vor unehrlichen
Benutzern, die Ihre Software verwenden, ohne sie zu bezahlen,
und die Ihre wertvollen Supportressourcen in Anspruch nehmen.
HASP HL Softwareschutz- und Lizenzierungshandbuch
5
Einleitung
Weltweiter Service und Support
Mehrere Produktionsstätten
Produktionsstätten auf vier Kontinenten gewährleisten eine
schnelle und pünktliche Lieferung mit Ausweichmöglichkeit für
den Bedarfsfall.
Service und Support vor Ort in über 40 Ländern
Mit neun internationalen Niederlassungen und über 40 lokalen
Distributoren erhalten Sie Support für HASP HL wann und wo
Sie ihn brauchen.
Aladdin Consulting
Für ausführlichere Beratung und Schulung zu HASP HL
Implementierungsthemen wenden Sie sich an unser Team von
internationalen Beratern. Diese können Ihnen maßgeschneiderte
Schulungen zu folgenden Themen anbieten:
• Integration von HASP HL in Ihr Produkt
• Analyse der besten Schutzstrategie für Ihre Anwendungen
• Unterstützung bei der Implementierung Ihrer Schutz- und
Lizenzierungsmodelle.
6
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
Einleitung
HASP HL Schutzkeys
HASP HL Keys sind für den Anschluss an USB-Schnittstellen
verfügbar. Es gibt verschiedene Modelle, die in Tabelle 1.1
aufgeführt sind.
Tabelle 1.1 HASP HL Modelle
Speichergröße
Anzahl der
Lizenzen
HASP HL Basic
keine
1
Verschlüsselung/
Entschlüsselung
HASP HL Pro
112 Bytes
16
Verschlüsselung/
Entschlüsselung HASP HL
ID
HASP HL Max
4 KB
112
Verschlüsselung/
Entschlüsselung HASP HL
ID
HASP HL Time
4 KB
112*
Verschlüsselung/
Entschlüsselung HASP HL
ID
Echtzeituhr
HASP HL Net 10
4 KB
112
Verschlüsselung/
Entschlüsselung
HASP HL ID
Netzwerkzugriff
HASP HL Modell
HASP HL Softwareschutz- und Lizenzierungshandbuch
Highlights
7
Einleitung
Speichergröße
Anzahl der
Lizenzen
HASP HL Net 50
4 KB
112
Verschlüsselung/
Entschlüsselung
HASP HL ID
Netzwerkzugriff
HASP HL Net 250+
4 KB
112
Verschlüsselung/
Entschlüsselung
HASP HL ID
Netzwerkzugriff
HASP HL Modell
Highlights
*davon 8 mit Ablaufdatum
Alle HASP HL Keys sind plattformübergreifende USB-Keys,
die für den Schutz von Anwendungen für Windows-, Mac- und
Linuxplattformen verwendet werden können.
HASP HL Modelle
HASP HL Basic – Niedrige Kosten, hohe Sicherheit
HASP HL Basic ist die kostengünstigste Softwareschutzlösung,
die wir anbieten. Dieses Hardwaremodell verwendet die
modernsten im HASP HL System enthaltenen Techniken und
stellt damit eine extrem sichere und dennoch preiswerte Lösung
für Ihre Schutzbedürfnisse dar.
HASP HL Pro und HASP HL Max – die vielseitigsten
und sichersten erhältlichen Softwareschutz-Keys
Diese zwei Modelle kombinieren den ohnehin hohen Grad an
verschlüsselungsbasierter Sicherheit mit der Flexibilität von bis
zu 4KB gesichertem Schreib-/Lesespeicher und einer
eindeutigen ID-Nummer für jeden Key. Mit HASP HL Pro und
HASP HL Max können Sie flexible Vertriebs- und
Marketingmodelle, z. B. Abonnement, Demo, Try-before-youbuy und Vermietung implementieren. Zusätzlich können Sie
diese mit RUS (Remote Update System) im Feld modifizieren.
8
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
Einleitung
HASP HL Time – Softwareschutz mit Echtzeituhr
HASP HL Time enthält eine interne Echtzeituhr, die die exakte
Zeit (Stunden, Minuten und Sekunden) und das Datum (Tag,
Monat, Jahr) anzeigt. Dieser Key ist speziell entwickelt, um
Softwaremiete oder -leasing zu ermöglichen. So können Sie
Ihren Kunden regelmäßig die Verwendung der Software und die
Pflege berechnen. HASP HL Time enthält 4KB geschützten
Schreib-/Lesespeicher und eine eindeutige ID-Nummer. HASP
HL Time unterstützt bis zu 112 Lizenzen – davon 8 mit
Ablaufdatum.
HASP HL Net – Lizenzen in einem Netzwerk anbieten
Dies ist die beste Softwareschutz-Lösung für verschiedene
Netzwerkumgebungen. Ein einziger, an eine beliebige
Netzwerkstation angeschlossener HASP HL Net schützt Ihre
Anwendung und kontrolliert die Anzahl der Stationen, die die
Anwendung gleichzeitig verwenden. HASP HL Net hat eine
eindeutige ID, 4KB Speicher und kann bis zu 112 Lizenzen
speichern.
Es gibt folgende drei Arten von HASP HL Net:
• HASP HL Net 10 – Unterstützung von bis zu 10
simultanen Benutzern
• HASP HL Net 50 – Unterstützung von bis zu 50
simultanen Benutzern
• HASP HL Net 250+ – Unterstützung von mindestens 250
simultanen Benutzern.
HASP HL Developer Kit (DK)
Das HASP HL Developer Kit enthält Software und Hardware,
mit denen Sie Schutz und Lizenzierung von HASP HL testen
können.
Software
Die HASP HL Software befindet sich auf einer CD-ROM.
HASP HL Softwareschutz- und Lizenzierungshandbuch
9
Einleitung
Hardware
Das HASP HL Developer Kit enthält entsprechend Ihrer
Bestellung die gewünschten DEMO-Hardware-Keys.
Der DEMO-Key sollte nur für Testzwecke
verwendet werden. Wenn Sie HASP HL bestellen,
wird Ihnen ein eigener Vendor Code zugewiesen.
HASP HL Starter Kit (SK)
Das HASP HL Starter Kit ist dem HASP HL Developer Kit
ähnlich. Sie unterscheiden sich hauptsächlich durch die Art der
enthaltenen HASP HL Hardware. Diese Hardware ist einzig für
Ihr Unternehmen bestimmt und kann nur in Verbindung mit
Ihrem Vendor Code verwendet werden. Dieser Code befindet
sich im Master HASP HL, der auch Teil des Kits ist.
Die HASP HL Keys, die im HASP HL Starter Kit bereitgestellt
werden, können zum Schützen und Lizenzieren von Software
verwendet und an Ihre Kunden ausgeliefert werden. Schützen
Sie die Software und bestellen Sie dann einfach die Anzahl an
Keys, die Sie benötigen.
10
Aladdin Knowledge Systems Ltd © 2004.
Kapitel 2
Schlüsselkonzepte in HASP HL
Dieses Kapitel stellt die Schlüsselkonzepte des HASP HL
Systems vor. Es behandelt folgende Themen:
• Ihre eindeutigen HASP HL Codes und Keys
• Was macht das HASP HL System einzigartig?
• Wie funktioniert das HASP HL System?
• HASP HL Schutz und Lizenzierung
• Beispiel für einen HASP HL Arbeitsablauf
Um sicherzustellen, dass Sie das HASP HL System effektiv
nutzen, empfehlen wir, dass Sie sich mit den Konzepten und
Begriffen in diesem Kapitel vertraut machen.
Ihre eindeutigen HASP HL Codes und Keys
Die HASP HL Keys, die Sie bei Aladdin bestellen, enthalten
eindeutige Informationen speziell für Ihr Unternehmen. Diese
Informationen werden vom HASP HL System verwendet, um
mit Ihren Keys zu kommunizieren, und um Ihre Keys von denen
anderer Software-Hersteller zu unterscheiden.
Die herstellerspezifischen Keys und Codes, die Sie von Aladdin
bekommen, sind auf der nächsten Seite aufgeführt.
HASP HL Softwareschutz- und Lizenzierungshandbuch
11
Schlüsselkonzepte in HASP HL
• HASP HL Demo: Ein voll funktionsfähiger HASP HL
Key, der in HASP HL Developer Kits ausgeliefert wird. Er
wird nur für Testzwecke verwendet. Allen HASP HL DemoKeys ist der DEMOMA Batch Code zugewiesen. In allen
HASP HL Werkzeugen sind der DEMOMA Vendor Code
und andere Identifizierungskennzeichen integriert. Wenn Sie
das HASP HL System mit einem HASP HL Demo-Key
testen, brauchen Sie keinen Master HASP HL Key.
LIEFERN SIE KEINE MIT EINEM HASP HL DEMOKEY GESCHÜTZTE SOFTWARE AUS!
• Master HASP HL: Ein besonderer HASP HL Key, der die
eindeutigen Codes und Identifizierungskennzeichen enthält,
die Ihnen von Aladdin zugewiesen wurden und die im HASP
HL System verwendet werden. Dieser Key muss in Ihrem
Besitz bleiben. Sie müssen die Vendor Code-Daten
extrahieren, die von den Vendor Center-Werkzeugen für den
Schutz und die Lizenzierung von Software verwendet
werden.
• Batch Code: Fünf bis acht Zeichen, die Ihren eindeutigen
Vendor Code darstellen. Er ist auf das Etikett jedes HASP
HL Keys und auf den Master HASP HL gedruckt, der mit
Ihrem Batch von Keys verbunden ist. Geben Sie immer Ihren
Batch Code an, wenn Sie weitere HASP HL Keys bei
Aladdin bestellen. Wenn Sie einen neuen Batch Code bei
Aladdin bestellen, erhalten Sie auch einen entsprechenden
Master HASP HL.
• Vendor Code: Ein von Aladdin zugewiesener eindeutiger
Code, der aus dem Master HASP HL extrahiert wird. Der
Code enthält Informationen, die die HASP HL Software für
die Kommunikation mit Ihren HASP HL Keys benötigt. Sie
können Ihren Vendor Code mit den Vendor CenterWerkzeugen aus dem Master Key extrahieren.
Die oben beschriebenen Keys werden üblicherweise als Teil der
HASP HL Developer oder Starter Kits geliefert. Weitere
Informationen erhalten Sie im Kapitel "HASP HL Developer
Kit (DK)" (Seite 9).
12
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
Schlüsselkonzepte in HASP HL
Abbildung 2.1 illustriert den Zusammenhang zwischen den
Master HASP HL Keys und dem HASP HL System.
Abbildung 2.1 Master HASP HLs und Keys der SoftwareHersteller A und B
Wenn Sie zum ersten Mal HASP HL Keys bestellen, wird Ihnen
ein eindeutiger Vendor Code zugewiesen, der im Master HASP
HL verschlüsselt ist. In Abbildung 2.1 wird Software-Hersteller
A das Batch "ABCDE" zugewiesen. Er erhält auch einen Master
HASP HL mit diesem Batch Code. Alle an diesen SoftwareHersteller gelieferten HASP HL Keys enthalten diesen Code.
Software-Hersteller B wird ein anderer Batch Code zugewiesen,
"FGHIJ". So werden alle für diesen Software-Hersteller
vorgesehenen HASP HL Keys gekennzeichnet. Ihre erste
Bestellung von HASP HL Keys liefert Aladdin immer mit
einem entsprechenden Master HASP HL aus.
Wie wird der Vendor Code aus dem Master HASP HL
extrahiert? In Abbildung 2.2 wird der Software-Hersteller A
zugewiesene Vendor Code 1 aus dem Master HASP HL Key des
Batch Code "ABCDE" extrahiert. Software-Hersteller A kann
jedes der Vendor Center-Werkzeuge verwenden, um den Vendor
Code zu extrahieren. Das HASP HL System verwendet den
Vendor Code 1, um auf alle HASP HL Keys des Batch Code
HASP HL Softwareschutz- und Lizenzierungshandbuch
13
Schlüsselkonzepte in HASP HL
"ABCDE" zuzugreifen. Der Software-Hersteller B zugewiesene
Vendor Code 2 wird dagegen aus dem Master HASP HL Key
des Batch Code "FGHIJ" extrahiert. Das HASP HL System
verwendet den Vendor Code 2, um auf alle HASP HL Keys des
Batch Code "FGHIJ" zuzugreifen.
Abbildung 2.2 Vendor Codes für Software-Hersteller A und B
extrahieren
14
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
Schlüsselkonzepte in HASP HL
Was macht das HASP HL System
einzigartig?
Protect Once-Deliver Many™
Dieses Konzept liegt dem HASP HL Schutz- und Lizenzierungssystem zugrunde. Bei diesem Konzept sind der
Schutzprozess Ihrer Software und die Definition der Vertriebsund Lizenzierungsmodelle vollkommen getrennt.
Schutz
Schutz ist der Prozess, in dem die Anwendung gesichert wird
und von Ihrem Entwicklungsteam definierte Sicherungsstrategien eingebaut werden. Dieser Prozess wird mit HASP HL
nur einmalig durchgeführt. Ihr Entwicklungsteam muss sich
nicht mit wirtschaftlichen Aspekten wie Vertriebsmodellen und
Lizenzfragen für geschützte Anwendungen befassen. Eine
grafische Illustration erhalten Sie in Schritt eins in der
Abbildung 2.3 (Seite 28).
Lizenzierung
Die Definition von Vertriebsmodellen und Lizenzbedingungen
ist ein fortlaufender Prozess, der Entscheidungen zu
Verkaufsprozess, Lizenzierung und Vertrieb der Software
beinhaltet. Dieser Prozess wird von Produktmanagern oder
Vertriebs- und Marketingmanagern durchgeführt und beeinflusst
den Schutzprozess der Software nicht. Mit HASP HL sind
Produktmanager vollkommen unabhängig von Ihrem
Entwicklungsteam. Wenn ein neues Lizenzmodell benötigt wird,
können sie es definieren und implementieren, ohne Ihr
Entwicklungsteam einzubeziehen.
HASP HL Softwareschutz- und Lizenzierungshandbuch
15
Schlüsselkonzepte in HASP HL
Die Trennung von Schutz und Lizenzierung spiegelt sich im
HASP HL System wider, das unterschiedliche Programme für
die Durchführung dieser beiden Prozesse bietet. Entwickler
müssen die Anwendung nur einmalig schützen und können
Lizenzierungsfragen vernachlässigen. Sie geben an, ob die
automatische Lizenzierung des HASP HL Systems verwendet
werden soll, aber implementieren sie nicht selbst – das macht
das HASP HL System automatisch. Der Schutzprozess verläuft
wesentlich schneller, intuitiver und konzentrierter.
Produktmanager sind nicht von ihrem ProduktEntwicklungsteam abhängig, wenn sie ein neues
Vertriebsmodell einführen. Sie verwenden einfach die speziell
entwickelten HASP HL Werkzeuge, mit denen sie definieren
können, wie die Anwendung lizenziert wird. Sie definieren
Lizenzvorlagen und erzeugen direkt Lizenzen und LizenzUpdates, die mit dem Remote Update System ausgeführt
werden. Das gibt ihnen mehr Flexibilität und Freiheit bei der
Definition neuer Vertriebsmodelle und bietet ihnen die
Möglichkeit, viel schneller auf neue Anforderungen zu
reagieren.
Eine grafische Illustration der Trennung von Schutz und
Lizenzierung im HASP HL System erhalten Sie in
Abbildung 2.3 (Seite 28).
Wie funktioniert der Schutz mit HASP HL?
Mit HASP HL Hardware verbundene Anwendungen
Die Grundlage des HASP HL Systems ist die starke Verbindung
zwischen der geschützten Anwendung und dem dazugehörigen
HASP HL Key.
Der Schutz basiert darauf, den Zugriff auf die geschützte
Anwendung von der Anwesenheit des richtigen HASP HL
abhängig zu machen.
16
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
Schlüsselkonzepte in HASP HL
Aus Laufzeitsicht stellt der HASP HL Schutz einen einfachen
Prozess dar:
a. Die geschützte Anwendung fragt den an den Rechner
angeschlossenen HASP HL ab.
b. Wenn die vom HASP HL zurückgegebene Antwort
korrekt ist, wird die Anwendung ausgeführt.
c. Wenn die Antwort falsch ist, kann die Anwendung nicht
geladen werden, schaltet auf eine Demoversion um oder
schränkt bestimmte Features ein.
HASP HL Key identifizieren
HASP HL Keys enthalten spezifische Informationen für Ihr
Unternehmen. So wird die Einzigartigkeit der Keys, die Sie mit
Ihrer geschützten Software ausliefern, sichergestellt.
Die Anwesenheit des entsprechenden HASP HL kann mit einer
der folgenden Methoden geprüft werden:
• Verwendung der Verschlüsselung über die Hardware
• Prüfung der keyspezifischen ID
• Verwendung der Speicherfunktion des Key
Verschlüsselung verwenden
Wenn Sie den HASP HL Schutz implementieren, prüfen Sie die
Anwesenheit des benötigten Key. Das HASP HL System führt
diese Prüfungen durch Verschlüsselung und Entschlüsselung
von Daten mit der AES-basierten Verschlüsselung im HASP HL
durch.
Eine gewisse Planung ist notwendig, um die Anwesenheit des
HASP HL mit Funktionen für die Ver- und Entschlüsselung von
Daten zu verifizieren. Sie müssen die Daten im Voraus
verschlüsseln. Diese Daten werden zur Laufzeit zum
Entschlüsseln an den Key gesendet.
HASP HL Softwareschutz- und Lizenzierungshandbuch
17
Schlüsselkonzepte in HASP HL
Die entschlüsselten Daten können mit Hilfe der Daten in Ihrer
geschützten Anwendung verifiziert werden. Weitere
Informationen erhalten Sie im Kapitel "Daten mit dem HASP
HL Key verschlüsseln/entschlüsseln" (Seite 100). Nachdem die
Daten entschlüsselt wurden, werden sie von der geschützen
Anwendung verwendet. Die verschlüsselten Daten sind eine
Funktion der mit dem Vendor Code an den HASP HL
gesendeten Daten. Es führt also zu unterschiedlichen
Ergebnissen, dieselbe Zeichenfolge mit zwei verschiedenen
Codes zu verschlüsseln.
Um Daten zu verschlüsseln, verwenden Sie entweder die HASP
HL ToolBox oder die HASP HL API. Weitere Informationen
erhalten Sie im Kapitel "HASP HL ToolBox" (Seite 66) oder
"HASP HL API implementieren" (Seite 68).
HASP HL Speicheroptionen verwenden
Alle HASP HL Keys außer HASP HL Basic enthalten einen
internen Schreib-/Lesespeicher. Sie können den HASP HL
Speicher für Folgendes verwenden:
• Kontrolle des Zugriffs auf unterschiedliche Softwaremodule
oder unterschiedliche Softwarepakete
• Zuweisung eines eindeutigen Codes für jeden
Softwarebenutzer
• Verwendung des Speichers, um Lizenzen aus Ihren eigenen
Lizenzierungsmodellen abzulegen
• Speichern von Passwörtern, Programmcode,
Programmvariablen und beliebiger anderer Daten
Weitere Informationen über den mit verschiedenen HASP HL
Modellen verfügbaren Schreib-/Lesespeicher erhalten Sie in
Tabelle 1.1 (Seite 7).
Sie können den Speicher eines Key mit einem der Werkzeuge
HASP HL ToolBox oder HASP HL Factory bearbeiten. Weitere
Informationen erhalten Sie in den Online-Hilfen beider
Werkzeuge.
18
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
Schlüsselkonzepte in HASP HL
HASP ID-Nummer prüfen
Jeder HASP HL Key hat eine eindeutige HASP ID-Nummer.
Eine geschützte Anwendung kann diese ID-Nummer prüfen und
verifizieren.
Mit den HASP ID-Nummern können Sie die Benutzer Ihrer
Anwendung unterscheiden. Sie können die HASP ID-Nummer
in Ihrer Anwendung prüfen und entscheiden, wie auf die Anoder Abwesenheit eines bestimmten HASP HL reagiert werden
soll.
Alle Keys außer HASP HL Basic haben eine IDNummer.
HASP HL Softwareschutz- und Lizenzierungshandbuch
19
Schlüsselkonzepte in HASP HL
HASP HL Schutzmethoden
HASP HL bietet zwei unterschiedliche Schutzmethoden:
• HASP HL Envelope
• HASP HL Programmierschnittstelle (API)
HASP HL Envelope
Am einfachsten und schnellsten können Sie eine Anwendung
mit HASP HL Envelope schützen. HASP HL Envelope bietet
sehr effektiven und leistungsfähigen Schutz. HASP HL
Envelope umgibt ausführbare Dateien und DLLs mit einem
Schutzschild. HASP HL Envelope verschlüsselt Ihre Datei und
fügt HASP HL Aufrufe und zusätzliche Antidebugging-Features
ein. Nachdem Sie Ihre Anwendung mit HASP HL Envelope
geschützt haben, läuft sie nur noch mit dem richtigen HASP HL.
Da HASP HL Envelope keinen Zugriff auf den Quellcode der
Anwendung erfordert, ist es eine schnelle und einfache
Schutzmethode. Gleichzeitig bietet es ein sehr hohes
Schutzniveau und macht das Debuggen oder Deassemblieren
Ihrer geschützten Software praktisch unmöglich.
Weitere Informationen über die Verwendung von HASP HL
Envelope erhalten Sie im Kapitel
"Schutz mit HASP HL Envelope" (Seite 79).
HASP HL Programmierschnittstelle (API)
Wenn Sie im Besitz des Quellcodes der zu schützenden
Anwendung sind, können Sie den HASP HL über die HASP HL
API in Ihre Anwendung einbinden.
20
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
Schlüsselkonzepte in HASP HL
Verwenden Sie die API, um Aufrufe des HASP HL an
unterschiedlichen Stellen in Ihrer Anwendung einzufügen. Mit
der API können Sie die Anwesenheit des HASP HL Key prüfen,
wann Sie wollen. Dabei können Sie auch entscheiden, wie
reagiert werden soll, wenn der richtige HASP HL nicht
angeschlossen ist. Zusätzlich können Sie in einem HASP HL
Speicherkey nach sensiblen Daten suchen, die Sie in seinem
Speicher abgelegt haben.
Welche Methode Sie verwenden sollten
Sie können entweder HASP HL Envelope oder die API
verwenden, oder beide Schutzmethoden kombinieren.
Verwenden Sie HASP HL Envelope, wenn Sie einen schnellen
und einfachen Schutz möchten oder keinen Zugriff auf den
Quellcode haben.
Verwenden Sie die API, wenn Sie Zugriff auf den Quellcode
haben und Ihren Schutz anpassen möchten, indem Sie festlegen,
wie und wann die geschützte Anwendung Aufrufe an den HASP
HL sendet.
Sowohl HASP HL Envelope als auch die API sind sehr
leistungsfähige Schutzmethoden. Ein hohes Sicherheitsniveau
ist bereits gewährleistet, wenn Sie Ihre Anwendung mit nur
einer Schutzmethode schützen. Wir empfehlen Ihnen jedoch,
wenn möglich, sowohl Envelope- als auch API-Schutz zu
implementieren. Jede Methode hat ihre eigenen Features und
ergänzt und erweitert die andere. Weitere Informationen
erhalten Sie im Kapitel "HASP HL Schutz – empfohlene
Vorgehensweise" (Seite 96).
HASP HL Softwareschutz- und Lizenzierungshandbuch
21
Schlüsselkonzepte in HASP HL
HASP HL Lizenzierung
Wie oben in diesem Kapitel erwähnt, sind Lizenzierung und
Schutz im HASP HL System unabhängige Prozesse. Sie können
mehrere Features oder Anwendungen mit einem einzigen HASP
HL lizenzieren. Einen Überblick über die verfügbaren
Lizenzierungsoptionen der verschiedenen HASP HL Modelle
erhalten Sie in Tabelle 1.1 (Seite 7).
Lizenzierungsoptionen
So können Sie mit HASP HL die Nutzung Ihrer geschützten
Software beschränken:
a. die Anzahl der Aktivierungen für ein bestimmtes Feature
oder eine ganze Anwendung festlegen. Das ist besonders
nützlich, wenn Sie Demoversionen Ihrer Software liefern.
b. ein Ablaufdatum für ein bestimmtes Feature oder eine
ganze Anwendung festlegen. Dieses Feature ist bei
Leasing oder Vermietung Ihrer Software besonders
nützlich.
c. die Anzahl der Stationen festlegen, die das Programm in
einem Netzwerk simultan verwenden können. Das ist
besonders nützlich für große, unternehmensweite
Versionen Ihrer Software.
Wie funktioniert die Lizenzierung mit HASP HL?
Eine HASP HL-geschützte Anwendung führt mehrere
Prüfungen durch.
a. Die geschützte Anwendung stellt zuerst fest, ob der
richtige HASP HL an den Rechner angeschlossen ist oder
nicht.
b. Wenn der richtige HASP HL angeschlossen ist, wird
geprüft, ob für die Anwendung oder das Feature eine
Berechtigung vorhanden ist. Diese Berechtigung basiert
auf den Lizenzbedingungen für das Feature oder die
Anwendung.
22
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
Schlüsselkonzepte in HASP HL
Wenn für die Anwendung eine Berechtigung vorhanden ist,
werden je nach schützendem HASP HL Modell unterschiedliche
Prüfungen durchgeführt.
• Mit HASP HL Max und HASP HL Pro wird geprüft, ob
die Anzahl der zugelassenen Aktivierungen nicht
überschritten wurde. Mit jeder Aktivierung der
Anwendung wird die Anzahl der zugelassenen
Aktivierungen um eins heruntergezählt. Wenn die
Anwendung startet und die Anzahl der zugelassenen
Aktivierungen 0 ist, wird die Anwendung abgebrochen
und eine entsprechende Fehlermeldung angezeigt.
• Mit HASP HL Time wird das im Speicher des Key
abgelegte Ablaufdatum geprüft und mit der Echtzeituhr
des HASP HL Time verglichen. Wenn das Ablaufdatum
überschritten ist, wird das Feature oder die Anwendung
mit einer Fehlermeldung abgebrochen.
• Wenn Sie HASP HL Net verwenden, greift die geschützte
Anwendung auf den Speicher des Key zu, um die Anzahl
der für die simultane Verwendung der Anwendung
zugelassenen Stationen zu prüfen. Weitere Informationen
erhalten Sie im Kapitel "HASP License Manager"
(Seite 171).
Remote Update System
Mit der HASP HL Factory werden Lizenzen in HASP HL Keys
geschrieben. Mit dem einzigartigen Remote Update System des
HASP HL Systems können Sie jedoch auch Dateien zum
Aktualisieren der Lizenzen für Ihre Endanwender erzeugen,
ohne dass diese Ihre Keys aus der Hand geben müssen. Alle
HASP HL Keys außer HASP HL Basic können remote
aktualisiert werden. HASP HL Basic hat keine
Lizenzierungsfeatures.
Mit dem Remote Update System können Sie auch
Informationen über den aktuellen Lizenzstatus der eingesetzten
HASP HL Keys erhalten. Weitere Informationen erhalten Sie im
Kapitel "Remote Update System" (Seite 143).
HASP HL Softwareschutz- und Lizenzierungshandbuch
23
Schlüsselkonzepte in HASP HL
HASP HL-Arbeitsablauf
Dieser Abschnitt zeigt ein Beispiel für das Arbeiten mit der
Protect Once – Deliver Many-Methode, um die Arbeitsweise
des HASP HL Systems zu verdeutlichen.
Ein Software-Hersteller möchte seine textverarbeitende
Anwendung schützen. Nach Diskussionen in den mit
vertrieblichen Aspekten befassten Abteilungen wird festgelegt,
dass drei verschiedene Features lizenziert werden sollten:
• DRUCKEN
• SPEICHERN
• IMPORTIEREN
Das HASP HL System bietet verschiedene Werkzeuge für den
Vertrieb, die Entwicklung und die Produktion beim SoftwareHersteller. Die Werkzeuge unterstützen die verschiedenen
Abteilungen bei folgendem Prozess:
1. Nachdem die mit vertrieblichen Aspekten befassten Abteilungen entschieden haben, welche Anwendungskomponenten lizenziert werden sollen, wird jeder lizenzierten
Komponente eine Feature ID zugewiesen. Es wird eine Liste
von Features erstellt (siehe unten) und der SoftwareEntwicklungsabteilung übergeben.
Tabelle 2.1 Beispiel für eine Featureliste
Feature
24
Feature ID
DRUCKEN
34
SPEICHERN
4
IMPORTIEREN
48
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
Schlüsselkonzepte in HASP HL
2. Auf Grundlage der vom Produktmanagement vorgelegten
Featureliste implementiert der Entwickler den Schutz. Der
Entwickler kennt nur die Feature IDs und muss sich nicht um
Vertriebs- oder Lizenzierungsthemen kümmern. Der
Entwickler muss sich auch nicht darum kümmern, welcher
Typ bzw. welches Modell von HASP HL Key mit welcher
Anwendung ausgeliefert werden soll.
Der Entwickler setzt z. B. die HASP HL API ein, um eine
automatische Lizenzierung für die Feature ID-Nummer 34 zu
implementieren. Für den Entwickler spielt es keine Rolle, ob
den Softwarebenutzern das Drucken-Feature entsprechend
der Anzahl der Aufrufe berechnet wird, ob es durch ein
Ablaufdatum begrenzt ist, oder ob es auf eine bestimmte
Anzahl gleichzeitiger Benutzer in einer Netzwerkumgebung
begrenzt ist. Diese Themen werden von den mit
vertrieblichen Aspekten befassten Abteilungen bestimmt und
sind in diesem Stadium der Schutzimplementierung nicht
relevant. Der Entwickler implementiert einfach den Schutz
und verwendet Feature IDs als Teil der Schutzparameter.
3. Die mit vertrieblichen Aspekten befassten Abteilungen legen
Vertriebspakete und Lizenzbedingungen fest. Ein Paket
enthält ein oder mehrere Features sowie die
Lizenzbedingungen für jedes der Features. Tabelle 2.2 führt
für den in diesem Abschnitt beschriebenen Arbeitsablauf
Beispielpakete, in den Paketen enthaltene Features und ihre
speziellen Lizenzbedingungen auf.
HASP HL Softwareschutz- und Lizenzierungshandbuch
25
Schlüsselkonzepte in HASP HL
Tabelle 2.2 Beispiel für eine Paketliste
verwendetes
HASP HL
Modell
Paketname
enthaltene
Features
Lizenzbedingungen
DEMO
DRUCKEN
30 Tage für jedes
Feature
HASP HL Time
unbegrenzt
HASP HL Pro
unbegrenzt
HASP HL Pro
auf 25 simultane
Benutzer
begrenzt
HASP HL Net
SPEICHERN
IMPORTIEREN
Standard
DRUCKEN
SPEICHERN
Enterprise
DRUCKEN
SPEICHERN
IMPORTIEREN
Professional
DRUCKEN
SPEICHERN
IMPORTIEREN
4. Der Vetrieb bekommt grünes Licht für den Verkauf des
Produkts und die Auftragsannahme. Die Auftragsannahme
bzw. die Produktionsabteilung erhält Bestellungen für
bestimmte Pakete. Mit einem Mausklick wählt der
Auftragsbearbeiter das richtige Paket aus und schließt den
gewünschten HASP HL an, der entsprechend programmiert
wird.
26
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
Schlüsselkonzepte in HASP HL
5. Später kann der Kunde Updates bestellen. Diese Updates
können bestehende Lizenzen erweitern und die Verwendung
zusätzlicher Module lizenzieren. Die Auftragsannahme oder
die Produktionsabteilung erhält vom Kunden Informationen
über das benötigte Update und wählt durch einen einfachen
Prozess das richtige Paket. Dieses Paket wird in UpdateDaten umgewandelt, die an den Kunden geschickt werden.
HASP HL unterstützt auch Kunden, die nicht das in diesem Abschnitt
dargestellte Vorgehen für die Lizenzierung verwenden möchten. In diesem
Fall können die Entwickler einfach den Schutz implementieren. Dabei
greifen die geschützten Anwendungen auf ein vom System bereitgestelltes
"Default Feature" zu. Wenn der benötigte HASP HL Key angeschlossen
ist, ist das Default Feature immer verfügbar.
HASP HL Softwareschutz- und Lizenzierungshandbuch
27
Schlüsselkonzepte in HASP HL
Abbildung 2.3 Beispiel eines Arbeitsablaufs mit der Protect OnceDeliver Many-Methode
28
Aladdin Knowledge Systems Ltd © 2004.
Kapitel 3
HASP HL installieren
Dieses Kapitel unterstützt Sie bei den ersten Schritten mit dem
HASP HL System. Es behandelt folgende Themen:
• einen kurzen Überblick über verfügbare HASP HL Software
• eine kurze Tour – HASP HL Softwareschutz
• die Installation von HASP HL auf Ihrem System
• die Installation der HASP HL Device Driver
• das Einführen von Master HASP HL Keys in Ihr System
Verfügbare HASP HL Software
Verwenden Sie die HASP HL Installations-CD, um Folgendes
auf Ihrem System zu installieren:
• Treiber und Daemons für die Kommunikation mit HASP
HL Keys
• die Programmsuite Vendor Center für das Schützen und
Lizenzieren Ihrer Software
• Die HASP HL API und ihre Libraries werden für die
Integration von Schutzmechanismen in Ihre Software
verwendet. Es werden Beispiele für verschiedene
Programmiersprachen bereitgestellt.
• HASP License Manager für die Kommunikation
zwischen der geschützten Anwendung und HASP HL
Net-Keys
HASP HL Softwareschutz- und Lizenzierungshandbuch
29
HASP HL installieren
• Aladdin Monitor für die Verfolgung der Verwendung von
geschützten Anwendungen in einer Netzwerkumgebung
• Aladdin DiagnostiX und Aladdin DiagnostiX Memory
Beamer für die Lösung von Problemen mit eingesetzten
Keys
HASP HL Driver
Wenn die geschützte Software beim Kunden eingesetzt wird,
dienen die HASP HL Device Driver als Verbindung zwischen
dem HASP HL und der geschützten Anwendung. Endanwender
müssen die passenden Device Driver installiert haben, um die
geschützte Anwendung zu verwenden.
HASP HL Device Driver können auf folgenden Betriebssystemen verwendet werden: Windows 98SE/ME/2000/XP/
Server 2003, Mac und Linux.
Sie können die HASP HL Driver-Installation auch in die
Installation Ihrer geschützten Anwendung integrieren. Auf
Windows XP und Windows Server 2003 sind die HASP HL
Driver über Windows Updates verfügbar.
Vendor Center
Das Vendor Center enthält die folgenden Programme:
• HASP HL Envelope schützt Ihre ausführbaren
Softwaredateien mit einem Schutzschild.
• HASP HL Factory wird verwendet, um Lizenzen für Ihre
geschützte Anwendung zu definieren und zu produzieren
und den Speicher in HASP HL Keys zu initialisieren.
• HASP HL ToolBox wird verwendet, um die HASP HL
API zu erlernen und Code zu erzeugen, den Sie in den
Quellcode Ihrer Anwendung einfügen können.
30
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
HASP HL installieren
HASP HL API
Mit der Programmierschnittstelle HASP HL API können Sie
Ihre Anwendung schützen, indem Sie über den Quellcode Ihrer
Anwendung verteilt Aufrufe des HASP HL Key einfügen.
Das Root-Verzeichnis auf der HASP HL Installations-CD ist
nach Betriebssystemen aufgeteilt. Jeder Systemordner enthält
ein Beispielverzeichnis (Sample). Das Verzeichnis Sample
enthält Beispiele für verschiedene Compiler und
Programmiersprachen. Jedes Beispiel enthält:
• Libraries, die mit Ihrer Anwendung verbunden werden
müssen
• eine Beispielanwendung, die die Verwendung der API
demonstriert
HASP License Manager/Aladdin Monitor
Verwenden Sie diese beiden Dienstprogramme, wenn die
geschützte Anwendung mit einem HASP HL Net verbunden ist,
der in einer Netzwerkumgebung eingesetzt wird.
Dienstprogramme für Endanwender
Zu der Endanwender-Software gehören Aladdin DiagnostiX und
der Aladdin DiagnostiX Memory Beamer. Weitere Informationen erhalten Sie im Kapitel "HASP HL Keys überprüfen"
(Seite 211).
HASP HL Softwareschutz- und Lizenzierungshandbuch
31
HASP HL installieren
HASP HL Softwareschutz – eine kurze Tour
Der folgende Abschnitt ist eine kurze Tour durch die für den
Schutz einer Anwendung mit HASP HL notwendigen Schritte.
Wie Sie sehen werden, kann Ihre Software innerhalb von
Minuten geschützt werden. Um die Tour zu starten, benötigen
Sie Folgendes:
• Ihre HASP HL Installations-CD
• den HASP HL Demo-Key aus dem Developer Kit, das Sie
von Aladdin erhalten haben
1. HASP HL Software installieren
Legen Sie die HASP HL Installations-CD ein und folgen Sie
den Anweisungen auf dem Bildschirm, bis Sie die Information
angezeigt bekommen, dass die Installation erfolgreich war.
2. Hardware anschließen
Schließen Sie den HASP HL Demo-Key an die USBSchnittstelle Ihres Rechners an. Dieser Key sollte nur für
Testzwecke verwendet werden.
3. Vendor Center starten
Wählen Sie folgenden Pfad aus dem Windows-Startmenü:
Programme/HASP HL/Vendor Center
Das in Abbildung 3.1 dargestellte Vendor Center-Fenster wird
angezeigt.
32
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
HASP HL installieren
Abbildung 3.1 HASP HL Vendor Center
4. HASP HL Envelope auswählen
Abbildung 3.2 wird angezeigt. HASP HL Envelope ist ein
Werkzeug, das für den schnellen automatischen Schutz
verwendet wird.
HASP HL Softwareschutz- und Lizenzierungshandbuch
33
HASP HL installieren
Abbildung 3.2 HASP HL Envelope Fenster
5. Quelldateien für den Schutz auswählen
a. Klicken Sie auf das Symbol Programme im HASP HL
Envelope-Projektbereich.
b. Wählen Sie eine ausführbare Datei, die mit HASP HL
geschützt werden soll. Ziehen Sie die Datei einfach in den
oben dargestellten Programme-Bereich.
Oder
Sie können
im Programme-Bereich von
HASP HL Envelope klicken.
Der Dialog Anwendungen hinzufügen wird angezeigt,
siehe Abbildung 3.3. Verwenden Sie den Dialog, um zu
der Datei zu navigieren, die Sie schützen möchten.
34
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
HASP HL installieren
Abbildung 3.3 Dialog Anwendungen hinzufügen
Wählen Sie die zu schützende Datei und klicken Sie Öffnen.
Der Dialog wird geschlossen. Das gewählte Programm wird
im Programme-Bereich aufgeführt.
c. Um die Datei zu schützten, klicken Sie Alle schützen im
Programme-Bereich.
Es wird eine Statuszeile angezeigt:
Wenn der Schutz für die Datei abgeschlossen ist, wird
folgende Nachricht angezeigt:
HASP HL Softwareschutz- und Lizenzierungshandbuch
35
HASP HL installieren
Herzlichen Glückwunsch!!! Sie haben das Programm mit
HASP HL Technologie geschützt. Klicken Sie OK, um
die Nachricht zu schließen.
7. Ihre geschützte Zieldatei testen
a. Schließen Sie den HASP HL Demo an Ihren Rechner an
und starten Sie die Anwendung.
b. Schließen Sie die geschützte Anwendung.
c. Entfernen Sie den HASP HL Demo.
Öffnen Sie nochmals die geschützte Anwendung. Folgende
Fehlermeldung wird angezeigt:
Die geschützte Anwendung läuft nicht, wenn der benötigte
HASP HL Key nicht angeschlossen ist!
36
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
HASP HL installieren
HASP HL unter Windows installieren
Der erste Schritt beim Einrichten Ihres HASP HL Systems
besteht aus der Installation der benötigten Software. Dieser
Abschnitt erklärt, wie die HASP HL Software unter dem
Windows-Betriebssystem installiert wird. Die HASP HL
Entwicklungsumgebung und die Werkzeuge des Vendor Center
können auf Windows 2000 und allen neueren WindowsPlattformen installiert werden.
HASP HL Software installieren
Legen Sie die HASP HL Installations-CD in Ihr CD-ROMLaufwerk ein. Der HASP HL Installationsassistent wird
automatisch gestartet und zeigt das in Abbildung 3.4
dargestellte Begrüßungsfenster an
Abbildung 3.4 HASP HL Installationsassistent
HASP HL Softwareschutz- und Lizenzierungshandbuch
37
HASP HL installieren
Folgen Sie den Anweisungen auf dem Bildschirm, um den
Inhalt der CD zu installieren.
Falls die Installation aus irgendeinem Grund nicht
automatisch startet, starten Sie setup.exe aus dem
Verzeichnis für Windows auf der CD.
Installationsstruktur
Eine typische Installation unter Windows enthält folgende
Verzeichnisse im HASP HL Verzeichnis:
• API – enthält die API-Libraries
• Drivers – enthält die HASP HL Device Driver. Weitere
Einzelheiten erhalten Sie im nächsten Abschnitt.
• Samples – enthält Beispielanwendungen für verschiedene
Programmiersprachen und -schnittstellen.
• Vendor Tools – enthält die Werkzeugsuite Vendor Center
und Aladdin Monitor.
• Docs – enthält eine Onlineversion dieses Handbuchs
sowie zusätzliche Dokumentation zur Verwendung des
HASP HL Systems.
• Redistribute – enthält die Software, die beim
Endanwender vor Ort eingesetzt wird. Weitere
Informationen erhalten Sie im Kapitel "HASP HL
Software für Endanwender" (Seite 153).
Die oben beschriebene Installationsstruktur zeigt
die Installation der HASP HL Installations-CD im
Verzeichnis Windows/Installed.
38
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
HASP HL installieren
HASP HL Device Driver installieren
Die HASP HL Device Driver werden automatisch installiert,
wenn Sie die im vorangehenden Abschnitt beschriebene HASP
HL Software-Installation verwenden.
Sie können die HASP HL Device Driver auch separat
installieren, indem Sie haspdinst.exe oder HASPUserSetup.exe
verwenden. Diese Anwendungen finden Sie im Verzeichnis
Drivers auf Ihrer HASP HL Installations-CD.
Die Dienstprogramme haspdinst.exe und HASPUserSetup.exe
erkennen das verwendete Betriebssystem und installieren die
richtigen Treiberdateien am entsprechenden Speicherort.
Um die HASP Device Driver unter Windows 2000/
XP/Server 2003 zu installieren, benötigen Sie
Administratorrechte.
Die HASP HL Driver werden dynamisch geladen, sobald der
HASP HL angeschlossen ist.
Anwendung HASPUserSetup.exe
Dabei handelt es sich um ein Installationsprogramm mit
grafischer Benutzeroberfläche, um die HASP HL Driver separat
auf Windows 98/ME/2000/XP/Server 2003 Systemen zu
installieren. Die Datei befindet sich in folgendem Verzeichnis
auf der HASP HL Installations-CD.
Windows/Installed/Drivers
Um die Anwendung zu starten, klicken Sie HASPUserSetup.exe
und folgen Sie den Anweisungen auf dem Bildschirm.
Dienstprogramm haspdinst.exe
Das Dienstprogramm haspdinst.exe ist ein KommandozeilenProgramm, das die HASP HL Device Driver auf Windows
98SE/ME/2000/XP/Server 2003 Systemen installiert.
HASP HL Softwareschutz- und Lizenzierungshandbuch
39
HASP HL installieren
So installieren Sie die HASP HL Device Driver:
Geben Sie haspdinst -i in die Kommandozeile ein.
Eine Nachricht informiert Sie darüber, dass die HASP HL
Device Driver erfolgreich installiert wurden.
So entfernen Sie die HASP HL Device Driver:
Geben Sie haspdinst -r in die Kommandozeile ein.
Eine Nachricht informiert Sie darüber, dass die HASP HL
Device Driver erfolgreich entfernt wurden.
So aktualisieren Sie die HASP HL Device Driver:
Installieren Sie entsprechend der oben beschriebenen
Installationsvorgehensweise neuere HASP HL Device Driver.
Das Dienstprogramm haspdinst.exe führt die Aktualisierung
automatisch durch.
Andere Befehle des Dienstprogramms Haspdinst
Tabelle 3.1 listet andere Befehle auf, die mit dem
Dienstprogramm haspdinst.exe ausgeführt werden können.
40
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
HASP HL installieren
Tabelle 3.1 Haspdinst-Befehle
Befehl
Beschreibung
-info
Zeigt den Installations-Status an.
-h und -?
Zeigt eine Liste der verfügbaren Befehle an.
-kp
Ermöglicht dem Installationsprogramm, alle
Prozesse zu stoppen, die auf die Treiber
zugreifen.
-cm
Stellt das Installationsprogramm so ein, dass
nur wichtige Nachrichten angezeigt werden
(z. B. Anweisungen zum rebooten).
-fr
Stellt das Installationsprogramm so ein, dass
die Treiber entfernt werden.
-nomsg
Stellt das Programm so ein, dass keine
Nachrichten angezeigt werden.
HASP HL Softwareschutz- und Lizenzierungshandbuch
41
HASP HL installieren
HASP HL unter Mac installieren
Die HASP HL Software für Mac-Plattformen ist im MacOSVerzeichnis auf der HASP HL Installations-CD enthalten. Das
Verzeichnis enthält die folgenden Unterverzeichnisse:
• API – enthält Header-Dateien und Libraries für verschiedene
Programmiersprachen.
• Docs – enthält elektronische Versionen der HASP HL
Dokumentation.
• Redistribute – enthält HASP HL Software, die Sie mit Ihrer
geschützten Software und Ihren HASP HL Keys ausliefern
können.
Dieses Verzeichnis enthält auch die Dateien, die Sie
für die Installation des HASP HL Daemon
benötigen.
• Samples – enthält für verschiedene Programmiersprachen
Beispielanwendungen, um die HASP HL API zu
implementieren.
• VendorTools – enthält eine Kommandozeilen-Version von
HASP HL Envelope. Weitere Informationen über die
Verwendung dieser Anwendung erhalten Sie im Kapitel
"HASP HL Envelope für Mac-Anwendungen" (Seite 89).
Der Inhalt dieser Verzeichnisse wird nicht automatisch auf
Ihrem Rechner installiert. Kopieren Sie bitte die benötigte
Software von der HASP HL Installations-CD.
HASP HL Daemon installieren
Damit Ihr System die HASP HL Hardware erkennen und mit ihr
kommunizieren kann, müssen Sie aksusbd installieren – den
HASP HL Daemon.
42
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
HASP HL installieren
Daemon installieren
1. Mounten Sie das Installations-Image HASP Installation.dmg,
das sich in folgendem Verzeichnis befindet:
MacOS/Redistribute/Runtime/dmg
Es wird ein Volume mit vier Dateien gemountet.
2. Öffnen Sie die Datei AKSUSB Install.pkg.
Der in Abbildung 3.5 gezeigte integrierte
Installationsassistent führt Sie durch den Installationsprozess.
Abbildung 3.5 HASP HL Startfenster für Mac-Installation
.
Für die obige Installation muss das BDS-Subsystem
auf Ihrem Rechner installiert sein. Wenn es nicht
installiert ist, sollten Sie die in Schritt 1
beschriebene Datei AKSUSB Install_forced.pkg
verwenden. Das macht einen Neustart notwendig,
sobald die Installation abgeschlossen ist.
HASP HL Softwareschutz- und Lizenzierungshandbuch
43
HASP HL installieren
Installations-Checkliste
Folgendes sollte auf Ihrem Rechner installiert sein, bevor Sie
versuchen, den Daemon zu verwenden:
a. Der Daemon sollte sich in folgendem Verzeichnis
befinden:
/usr/libexec/
b. Die zwei Startup-Dateien, die dafür sorgen, dass der
Daemon nach einem Neustart aktiviert wird, sollten sich
in folgendem Verzeichnis befinden:
/System/Libraries/StartupItems/
Aladdin/
Wenn alle Dateien korrekt installiert sind, sollte die
LED an Ihrer HASP HL Hardware leuchten.
Optionen für aksusbd
Allgemeine Änderungen
Sie können das Verhalten des Daemon mit den in Tabelle 3.2
aufgelisteten Kommandozeilen-Schaltern ändern.
Vorgehen bei der Änderung
So ändern Sie das Verhalten des Daemon vorübergehend:
1. Öffnen Sie den Activity Monitor, der sich im Verzeichnis
/Applications/Utilities/ befindet.
2. Wählen Sie den Prozess aksusbd aus der Liste All
Processes.
3. Beenden Sie den Prozess – Um diesen Befehl auszuführen,
benötigen Sie Admin-Rechte.
4. Öffnen Sie ein Shell-Fenster und starten Sie den Daemon mit
den geänderten Optionen.
44
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
HASP HL installieren
Um sicherzustellen, dass Ihre geänderten Einstellungen nach
dem Neustart angewendet werden, sollten Sie Ihre Änderungen
dem Aladdin Shell-Script hinzufügen, das sich in folgendem
Verzeichnis befindet:
/System/Libraries/StartupItems/Aladdin/
Tabelle 3.2 Kommandozeilen-Parameter für aksusbd (Mac)
Schalter
Bedeutung
-v
Versionsnummer dezimal ausgeben, Format
xx.xx.
-l <Wert>
Wählen Sie den Typ der Diagnosemeldungen.
Mögliche Werte sind:
0 – nur Fehler
1 – normal (Standardeinstellung)
2 – ausführlich
3 – sehr ausführlich
Die Nachrichten werden in syslog mit der
Priorität kern.info (und kern.debug)
protokolliert. In /etc/syslog.conf sehen Sie, wo
die Nachrichten gespeichert werden. Die Datei
befindet sich üblicherweise in folgendem
Verzeichnis:
/var/log/messages.
-u <umask>
Legt die Zugriffsrechte für die spezielle
Socket-Datei fest. Standard ist 666 (Zugriff für
alle Benutzer).
-d
Stellt zwischen dem Zeitpunkt des
Anschließens und dem Zugriff auf den HASP
HL eine Zeitverzögerung in Millisekunden
ein. Der Standardwert ist 250.
-h
Zeigt die Hilfe für die KommandozeilenAnwendung an.
HASP HL Softwareschutz- und Lizenzierungshandbuch
45
HASP HL installieren
HASP HL unter Linux installieren
Die HASP HL Software für Linux enthält Folgendes:
• einen HASP HL Daemon
• HASP HL Demoanwendung und den Quellcode
• HASP HL Libraries
Sie finden die Linux-Software im Linux-Verzeichnis auf der
HASP HL Installations-CD.
Am einfachsten ist HASP HL für Linux mit den RPM-Paketen
zu installieren, die Sie auf der HASP HL Installations-CD
finden. Neueste HASP HL Software-Updates für verschiedene
Linux-Distributionen erhalten Sie unter folgender Adresse:
http://www.hasp.com/downloads.
Genauere Informationen über die einzelnen Komponenten
erhalten Sie in den readme.txt-Dateien im Linux-Verzeichnis.
HASP HL Daemon installieren
Um auf den HASP HL Key zuzugreifen, muss der aksusbdDaemon geladen sein.
Alle in diesem Abschnitt beschriebenen Aktionen
sollten als Root ausgeführt werden.
46
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
HASP HL installieren
aksusbd mit RPM-Paketen installieren
RPM-Pakete gibt es für verschiedene Distributionen von SuSE
und Red Hat. Diese Pakete ermöglichen einen schnellen und
automatisierten Installationsprozess.
So installieren Sie den HASP HL Daemon über RPM-Pakete:
1. Wählen Sie das benötigte Paket aus dem Linux-Verzeichnis.
2. Geben Sie den Installationsbefehl in folgendem Format ein:
rpm -i [Paketname]
Für eine vollständige Auflistung aller für die RPMPakete verfügbaren Befehle, verwenden Sie
folgenden Befehl:
man rpm
Aladdin Daemon (aksusbd) installieren
Zugriff auf USB-Keys ermöglichen
Um Zugriff auf USB-Keys zu ermöglichen, muss usbdevfs auf /
proc/bus/usb gemountet sein. Bei neueren Versionen wird es
automatisch gemountet (z. B. SuSE 8.0).
Um usbdevfs manuell zu mounten, verwenden Sie folgenden
Befehl:
mount -t usbdevfs none /proc/bus/usb
Daemon laden
Laden Sie den Daemon, indem Sie ihn mit dem folgenden
Befehl starten:
<Pfad>/aksusbd
Der Daemon dupliziert sich und läuft als Prozess im
Hintergrund.
HASP HL Softwareschutz- und Lizenzierungshandbuch
47
HASP HL installieren
Im System-Protokoll wird eine Statusmeldung erzeugt, die Sie
darüber informiert, ob die Installation erfolgreich war oder
nicht. Die Meldung informiert über die Daemon-Version und die
Version der für den USB verwendeten HASP HL API.
Wenn /proc/bus/usb nicht gemountet wird, wenn Sie aksusbd
starten, kann nicht auf USB-Keys zugegriffen werden.
Es wird empfohlen, den Daemon beim Systemstart über ein
Skript zu starten. Das Skript sollte sich in einem der folgenden
Verzeichnisse befinden:
/etc/rc.d/init.d oder /etc/init.d
48
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Orientierung
HASP HL installieren
Optionen für aksusbd
Tabelle 3.3 Kommandozeilen-Schalter für aksusbd (Linux)
Schalter
Bedeutung
-v
Versionsnummer dezimal ausgeben, Format
xx.xx.
-l <Wert>
Wählen Sie den Typ der Diagnosemeldungen.
Mögliche Werte sind:
0 – nur Fehler
1 – normal (Standardeinstellung)
2 – ausführlich
3 – sehr ausführlich
Die Nachrichten werden in syslog mit der
Priorität kern.info (und kern.debug)
protokolliert. In /etc/syslog.conf sehen Sie, wo
die Nachrichten gespeichert werden. Die Datei
befindet sich üblicherweise in folgendem
Verzeichnis:
/var/log/messages.
-u <umask>
Legt die Zugriffsrechte für die spezielle
Socket-Datei fest. Standard ist 666 (Zugriff für
alle Benutzer).
-d
Stellt zwischen dem Zeitpunkt des
Anschließens und dem Zugriff auf den HASP
HL eine Zeitverzögerung in Millisekunden
ein. Der Standardwert ist 250.
-h
Zeigt die Hilfe für die KommandozeilenAnwendung an.
HASP HL Softwareschutz- und Lizenzierungshandbuch
49
HASP HL installieren
Vendor Codes extrahieren
Sobald Sie HASP HL Keys bei Aladdin bestellen, wird Ihnen
ein eindeutiger Batch Code zugewiesen. Ihre HASP HL Keys
werden zusammen mit einem Master HASP HL geliefert. Einen
Überblick über den Zusammenhang zwischen dem Batch und
Ihren Keys erhalten Sie im Kapitel "Ihre eindeutigen HASP HL
Codes und Keys" (Seite 11).
Der Master HASP HL, den Sie erhalten haben, enthält Ihren
eindeutigen Vendor Code und andere wichtige Informationen,
die Sie benötigen, um mit dem HASP HL System Software zu
schützen und zu lizenzieren.
So extrahieren Sie die benötigten Informationen aus dem Master
HASP HL Key:
1. Verbinden Sie den Master HASP HL mit Ihrem Rechner.
2. Starten Sie eines der Werkzeuge des Vendor Center (HASP
HL Envelope, HASP HL Factory oder HASP HL
ToolBox).
3. Das Werkzeug erkennt den neuen Master HASP HL.
Sie können einen Zugriffscode für den Master
HASP HL festlegen. Um einen Code festzulegen,
klicken Sie Ändern. Geben Sie im angezeigten
Fenster einen Code ein. Wenn Sie die HASP HL
Factory zum Lizenzieren Ihrer geschützten
Software verwenden, müssen Sie diesen Code
angeben. Klicken Sie OK zum Beenden.
4. Wählen Sie einen Dateinamen, unter dem Sie die Vendor
Code-Informationen speichern möchten. Es wird dringend
empfohlen, alle Vendor Codes in folgendem Verzeichnis zu
speichern:
Program Files/Aladdin/HASP HL/Vendorcodes/
Die Werkzeuge des Vendor Center durchsuchen
standardmäßig dieses Verzeichnis.
50
Aladdin Knowledge Systems Ltd © 2004.
Kapitel 4
Software schützen
Dieses Kapitel gibt einen Überblick über den Schutz mit HASP
HL. Es behandelt folgende Themen:
• eine Zusammenfassung der Funktionsweise des HASP
HL Schutzes
• die grundlegenden Aspekte des HASP HL Schutzes
• eine Einführung in die HASP HL Schutzmethoden
Die folgenden Kapitel behandeln ausführlich die
unterschiedlichen HASP HL Schutzmethoden und wie der
Softwareschutz maximiert werden kann, wenn Sie das HASP
HL System verwenden.
"Schutz mit der HASP HL API" (Seite 61) beschreibt
ausführlich die HASP HL API-Methode.
"Schutz mit HASP HL Envelope" (Seite 79) bietet eine
detaillierte Beschreibung von HASP HL Envelope.
Im Kapitel "Schutzstrategien" (Seite 95) finden Sie Tipps und
Strategien, um den Softwareschutz durch das HASP HL System
zu maximieren.
HASP HL Softwareschutz- und Lizenzierungshandbuch
51
Software schützen
HASP HL Schutz
HASP HL ist eine innovative und hochentwickelte hardwarebasierte Lösung zum Schutz von Software gegen illegale oder
unberechtigte Verwendung. Das System verhindert den illegalen
Zugriff oder die illegale Ausführung von geschützten
Programmen.
Ein mit HASP HL geschütztes Programm benötigt bei der
Ausführung Zugriff auf einen bestimmten HASP HL. Das
geschützte Programm fragt beim Key bestimmte Informationen
ab. Wenn der HASP HL nicht angeschlossen ist oder die
rückgemeldeten Informationen fehlerverdächtig sind, wird das
Programm entweder nicht geladen oder funktioniert nicht mehr.
Nachdem Sie sich für eine HASP HL Schutzmethode
entschieden haben, ist die Implementierung einfach.
Unabhängig von der gewählten Schutzstrategie funktionieren
geschützte Programme nur richtig, wenn sie die in einem
bestimmten HASP HL gespeicherten Informationen erreichen
können.
Elemente des HASP HL Schutzes
Das HASP HL Schutzsystem basiert auf Folgendem:
• Identifizierung des richtigen HASP HL
• Schutz von Programmen und Datendateien
• Verwendung der AES-Verschlüsselung
• geheime Schutzparameter
• Antidebugging und Reverse-Engineering
• Verwendung des HASP HL Speichers
52
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Software schützen
HASP HL Key identifizieren
Der HASP HL, oder genauer gesagt die im Key enthaltene
Information, ist die Hardwarekomponente des HASP HL
Schutzsystems.
Unabhängig von der angewendeten Schutzmethode
funktionieren geschützte Programme nur, wenn sie auf die in
einem bestimmten Key enthaltenen Informationen zugreifen
können. Ein HASP HL mit seiner 'Information' kann nicht
nachgebildet werden, um die Verbindung zwischen dem
Hardwaregerät und dem geschützten Programm zu replizieren.
Der Hauptfaktor für die Steuerung des HASP HL Schutzes ist,
ob ein geschütztes Programm zur Laufzeit die in einem
bestimmten Key enthaltene Information identifizieren und
Zugriff darauf erhalten kann. Dieser Faktor ist eindeutig und
klar: Der Key ist entweder verfügbar oder nicht!
HASP HL Schutzmethoden
HASP HL bietet zwei wichtige Schutzmethoden:
• HASP HL API
• HASP HL Envelope
Wenn Sie Programme mit einer dieser Methoden schützen,
bilden Sie vor allem eine inhärente Verbindung zwischen dem
geschützten Programm und einem bestimmten HASP HL.
HASP HL Softwareschutz- und Lizenzierungshandbuch
53
Software schützen
Was kann geschützt werden?
Das HASP HL System bietet eine große Auswahl bei der
Entscheidung, was Sie schützen möchten. Sie können den
Schutz direkt auf Folgendes anwenden:
• kompilierte ausführbare Dateien oder DLLs
• bestimmte Features oder ganze Programme – das HASP
HL System schützt alle Level von Software. HASP HL
Schutz kann auf dem Funktionslevel eingesetzt werden
oder in einem ganzen Programm.
• sensible Daten und geistiges Eigentum
Alle oben genannte Teile sind gegen Versuche des ReverseEngeneering geschützt.
Die im HASP HL System verfügbaren Optionen der
Schutzparameter werden in den nächsten zwei Kapiteln
detailliert beschrieben.
AES-Verschlüsselung
Das geschützte Programm ist von der 'Information' eines
bestimmten HASP HL abhängig, um zu funktionieren.
Zusätzlich zu der Kontrolle des Key können Daten verschlüsselt
und entschlüsselt werden, indem die im HASP HL verfügbaren
Informationen verwendet werden.
AES-Verschlüsselung und -Entschlüsselung
Die Verschlüsselung in der HASP HL Hardware basiert auf dem
AES-Algorithmus. Die HASP HL Verschlüsselung verwendet
einen Satz von vertraulichen 128-Bit-Schlüsseln, die im HASP
HL verborgen bleiben.
54
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Software schützen
Ihre Schutzstrategien sollten immer komplexer sein, als nur die
Anwesenheit des notwendigen HASP HL zu bestätigen. Auch
die Verifizierung des notwendigen HASP HL durch
Datenverschlüsselung und -entschlüsselung erfordert ein
gewisses Maß an Planung. Zunächst müssen verschlüsselte
Daten verfügbar sein. Diese Daten müssen dann an den Key
gesendet werden, wo sie entschlüsselt werden.
Wenn die Daten korrekt sind, gilt der HASP HL als 'anwesend'.
Dieser Schutz wird in Abbildung 4.1 grafisch illustriert. Weitere
Informationen erhalten Sie im Kapitel "VerschlüsselungsFunktionen" (Seite 76).
Abbildung 4.1 Daten verschlüsseln/entschlüsseln
HASP HL Softwareschutz- und Lizenzierungshandbuch
55
Software schützen
Geheime Schutzparameter
Der Kern des Softwareschutzes ist Geheimhaltung. Ohne
geheime Elemente ist jedes Software-Sicherheitssystem relativ
ungeschützt.
Vendor Code
Jeder HASP HL Kunde hat einen eindeutigen Vendor Code.
Dieser Code muss geheim gehalten werden.
Der Vendor Code bildet einen wesentlichen Teil der
Schutzparameter, die die inhärente Verbindung zwischen den
geschützten Programmen und dem HASP HL Key bilden.
Dennoch ist der Vendor Code nur Teil der Verbindung und nicht
die gesamte Verbindung. Der Code allein reicht nicht, um die
Software illegal zu benutzen. Er bietet der geschützten Software
lediglich Zugang zum Key und seinen Ressourcen.
Alle HASP HL Schutzwerkzeuge erfordern den Vendor Code.
Weitere Informationen darüber, wie Sie auf den Code zugreifen,
erhalten Sie in Kapitel "Vendor Codes extrahieren" (Seite 50).
HASP HL Speicher ausnutzen
Die meisten HASP HL Modelle verfügen über Speicherchips.
HASP HL Speicher kann als Teil der Schutzmaßnahmen für die
Software verwendet werden (Lesen und Schreiben). Im HASP
HL Speicher können vertrauliche Daten, beispielsweise Teile
des Programmcodes, Kundennamen oder beliebige andere
Daten abgelegt werden.
Verwenden Sie die in der HASP HL ToolBox enthaltenen
Speichereditoren, um Daten aus dem HASP HL Speicher zu
lesen oder in ihn zu schreiben. Weitere Informationen erhalten
Sie im Kapitel "Speicher-Funktionen" (Seite 76).
56
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Software schützen
Antidebugging- und Reverse-Engineering-Maßnahmen
Das HASP HL System schützt geistiges Eigentum und bietet
Mittel für Antidebugging und die Bekämpfung von ReverseEngineering. Diese Maßnahmen versuchen in der Regel, die
Schutzstrategie der geschützten Software aufzulösen, indem sie
die kompilierte Anwendung zu ihrem Quellcode
zurückverfolgen. HASP HL Envelope setzt
Notfallmechanismen ein, um solche Angriffe abzuwehren und
Hacker davon abzuhalten, in der geschützten Software
verwendete Algorithmen aufzudecken.
Schutzmethode wählen
Wie im Abschnitt "HASP HL Schutzmethoden" (Seite 53)
erwähnt, bietet HASP HL zwei Software-Schutzmethoden: die
HASP HL API und HASP HL Envelope. Beide Methoden
erzeugen eine inhärente Verbindung zwischen der geschützten
Software und den in einem bestimmten HASP HL enthaltenen
Informationen.
Wenn Sie eine Schutzmethode wählen, sollten Sie Folgendes
bedenken:
• Was soll HASP HL schützen?
• Wie sollen die HASP HL Schutzparameter angewendet
werden?
• Zeitfaktoren – wird eine automatisierte schnelle Lösung
benötigt?
• Ist Flexibilität beim Implementieren der Schutzstrategie
wichtig?
HASP HL Softwareschutz- und Lizenzierungshandbuch
57
Software schützen
Was soll geschützt werden?
Beim Schützen von Software mit HASP HL gibt es
verschiedene Möglichkeiten, den Schutz zu übertragen. Die
HASP HL API wird verwendet, um die Software zu schützen,
bevor sie kompiliert wird. Der Schutz kann auch nach dem
Kompilieren der Software angewendet werden, indem Sie
HASP HL Envelope verwenden. Sie können wählen, ob Sie den
Schutz auf ein ganzes Programm, ein Unterprogramm oder auf
ein Feature anwenden möchten.
Schutz anwenden
Wenn Sie die HASP HL API verwenden, wird der Schutz
sorgfältig durchdacht auf Quellcode-Level integriert. Sie
entscheiden, wo im Quellcode Aufrufe der HASP HL API
platziert werden. HASP HL Envelope bietet eine
automatisiertere Möglichkeit, Software zu schützen. Sie
definieren Einstellungen für Schutzparameter, die auf geschützte
Programme angewendet werden.
Ist Kontrolle über die Schutzstrategie wichtig?
Wenn Sie mit der HASP HL API schützen, haben Sie den
ganzen Schutzprozess unter Kontrolle. Sie bestimmen, wann das
geschützte Programm den HASP HL Key abfragt und wie es in
unterschiedlichen Situationen reagieren soll. Mit HASP HL
Envelope, wenn das kompilierte Programm mit einem
Schutzschild umgeben wird, ist der Schutz stärker
zufallsgesteuert. Wenn HASP HL Envelope zwei Mal
verwendet wird, um dasselbe Programm zu schützen, werden
zwei unterschiedliche Zieldateien mit unterschiedlichen
Schutzmodulen und Schutzschilden erstellt.
HASP HL API- versus HASP HL Envelope-Implementierung
Je nach Ihren spezifischen Bedürfnissen können Sie sich für
eine oder beide Schutzmethoden entscheiden. Verwenden Sie
Tabelle 4.1, um zu entscheiden, welche Methode Ihren
besonderen Anforderungen am Besten entspricht.
58
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Software schützen
Tabelle 4.1 HASP HL Envelope versus HASP HL API
HASP HL Envelope
• Automatischer
Schutzprozess. Sie
definieren spezielle
Schutzparameter für Ihre
Programme.
• Schneller und einfacher
Schutzprozess, der Ihre
Software abschirmt.
• Kein Quellcode nötig.
• Antidebugging- und
Reverse-EngineeringMaßnahmen verfügbar.
HASP HL API
• Manuelle
Implementierung von
Aufrufen der HASP HL
API.
• Kontrollierter und
bewusster Prozess, der
höchste Sicherheit
garantiert. Die Stärke des
Schutzes ist proportional
dazu, wie viel der
Funktionalität der API
bei der Implementierung
eingesetzt wird.
• Quellcode muss
verfügbar sein.
• Größte Flexibilität.
HASP HL Softwareschutz- und Lizenzierungshandbuch
59
Software schützen
60
Aladdin Knowledge Systems Ltd © 2004.
Kapitel 5
Schutz mit der HASP HL API
Dieses Kapitel beschreibt die HASP HL API-Schutzmethode.
Es behandelt folgende Themen:
• Überblick über die HASP HL API
• Voraussetzungen für den Gebrauch der API
• die API verwenden lernen
• die API implementieren
• verfügbare API-Funktionalitäten
Übersicht
Die HASP HL Programmierschnittstelle (API) ist eine stabile
Methode für den Softwareschutz. Seine Stärke hängt ganz davon
ab, wie Sie ihn implementieren. Um den von der HASP HL API
angebotenen Schutz ganz auszunutzen, sollten Sie versuchen,
die Komplexität und Differenziertheit Ihrer Implementierung zu
maximieren.
Die HASP HL API-Referenz (Seite 241) beschreibt die
Funktionen, die die HASP HL API bilden. Genaue
Informationen über bestimmte API-Funktionen erhalten Sie im
Anhang.
HASP HL Softwareschutz- und Lizenzierungshandbuch
61
Schutz mit der HASP HL API
Um Ihre Software über die HASP HL API zu schützen, fügen
Sie Aufrufe eines HASP HL überall im Quellcode Ihrer
Anwendung ein. Sie können die Anwesenheit des HASP HL
jederzeit zur Laufzeit prüfen und Antworten auf diese Abfragen
bestimmen. Wenn der Key nicht gefunden wird, könnten Sie die
geschützte Anwendung unterbrechen oder beenden.
Über die HASP HL API können Sie auch den Speicher eines
HASP HL Key auf bestimmte Daten prüfen oder bestimmte
Daten verschlüsseln oder entschlüsseln.
Der Umfang der Verwendung der von der HASP HL API
gebotenen Funktionalität bestimmt den Gesamtlevel des
Softwareschutzes. Deshalb ist es unerlässlich, dass Sie mit der
allgemeinen Funktionalität der API vertraut sind, bevor Sie
Anwendungen schützen.
Um ein schnelles Lernen zu erleichtern, sollten Sie bestimmte
API-Funktionen testen und sich mit ihnen vertraut machen,
indem Sie das Werkzeug HASP HL ToolBox verwenden.
Überprüfen Sie auch die Sample-Verzeichnisse für die HASP
HL API auf Ihren spezifischen Compiler. Jede HASP HL
Schnittstelle beinhaltet eine Beispielanwendung, die den APIGebrauch demonstriert, sowie eine bestimmte Header-Datei.
Die Beispielanwendungen befinden sich im Verzeichnis Sample
in den Windows-, Mac OSX- und Linux-Verzeichnissen auf der
HASP HL Installations-CD.
Universelle API
Es lohnt sich, einen Aspekt der HASP HL API hervorzuheben:
Die HASP HL API ist eine universelle API, die mit allen HASP
HL Modellen zusammenarbeitet und auf allen großen
Plattformen einsetzbar ist.
Unabhängig davon, welches HASP HL Modell Sie verwenden,
zeigt sich diese Tatsache bei der API-Implementierung und verwendung. Es gibt bestimmte API-Funktionen, die nur für
bestimmte HASP HL Modelle relevant sind. Die
Implementierung des Schutzes ist jedoch unabhängig vom Typ
der Keys, die mit Ihrer geschützten Anwendung verbunden sind.
62
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit der HASP HL API
Die Verwendung der API ist unabhängig vom Typ des
Zugriffsmodus, über den nach einem bestimmten HASP HL
gesucht wird. Es werden dieselben API-Funktionen verwendet,
um Programme auf Netzwerk-Keys oder auf lokal verbundene
Keys zugreifen zu lassen.
Die HASP HL API-Implementierung ist nicht
abhängig vom HASP HL Modell oder der Plattform,
auf der die geschützte Anwendung eingesetzt wird.
Die HASP HL API ist auch im Hinblick auf die
Laufzeitumgebung, in der die geschützten Anwendungen
eingesetzt werden, universell. HASP HL ist ein
plattformübergreifendes System, das Windows-, Mac- und
Linux-Betriebssysteme unterstützt.
Voraussetzungen für die API-Verwendung
Bevor Sie die HASP HL API verwenden können, müssen Sie
den HASP HL Device Driver oder Daemon installieren.
Informationen darüber, wie Sie die notwendigen Treiber oder
Daemons installieren, erhalten Sie im Kapitel HASP HL
Software installieren (Seite 37).
Plattformvoraussetzungen
Die HASP HL API ist für folgende Betriebssysteme bestimmt:
• Windows 98SE und neuere Windows-Plattformen
• Mac OSX
• Linux
HASP HL Softwareschutz- und Lizenzierungshandbuch
63
Schutz mit der HASP HL API
Vendor Code
Der Vendor Code muss vorliegen, um auf den HASP HL Key
und seine Ressourcen wie den Speicher zuzugreifen. Vendor
Codes sind in der Regel im Verzeichnis Vendorcodes
gespeichert. Bei allen Windows-Installationen befindet sich
dieses Verzeichnis unter folgendem Pfad:
Program Files/Aladdin/HASP HL/Vendorcodes
HASP HL Kunden erhalten zunächst HASP HL Demo-Keys,
die mit dem Vendor Code DEMOMA funktionieren. Dieser
Vendor Code kann verwendet werden, um Schutz mit der HASP
HL API einzubinden.
Liefern Sie keine mit HASP HL Demo geschützte
Software aus. Dieser Key ist nur für Testzwecke
vorgesehen.
Sobald Sie mit einem Master HASP HL Key beliefert wurden,
sollten Sie den eindeutigen Vendor Code extrahieren, der Ihnen
zugewiesen wurde.
Wenn Sie Ihren Master HASP HL Key bereits eingeführt haben,
während Sie eins der Vendor Center-Werkzeuge verwendet
haben, überspringen Sie den nächsten Abschnitt.
Vendor Code aus dem Master HASP HL extrahieren
So gehen Sie vor, um alle Vendor Code-Informationen, die Sie
benötigen, aus dem Master HASP HL zu extrahieren:
1. Verbinden Sie den Master HASP HL mit Ihrem Rechner.
2. Starten Sie eines der Werkzeuge des Vendor Center (HASP
HL Envelope, HASP HL Factory oder HASP HL
ToolBox).
64
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit der HASP HL API
3. Der Wizard erkennt alle neuen Master HASP HLs und listet
sie auf.
Sie können einen Zugriffscode für den Master
HASP HL festlegen. So legen Sie einen Code fest:
a. Klicken Sie Ändern.
b. Geben Sie im angezeigten Fenster einen Code
ein. Wenn Sie die HASP HL Factory zum
Lizenzieren Ihrer geschützten Software
verwenden, müssen Sie diesen Code angeben.
c. Klicken Sie OK zum Beenden.
4. Geben Sie einen Dateinamen ein, unter dem Sie die Vendor
Code-Informationen speichern möchten. Es wird empfohlen,
alle Vendor Codes im /Vendorcodes-Verzeichnis zu
speichern. Bei allen Windows-Installationen befindet sich
dieses Verzeichnis unter folgendem Pfad:
Program Files/Aladdin/HASP HL/Vendorcodes
Die Vendor Center-Werkzeuge durchsuchen standardmäßig
dieses Verzeichnis.
HASP HL API kennenlernen
Es gibt zwei Arten zu lernen, wie die HASP HL API
funktioniert und welche Möglichkeiten sie umfasst.
• HASP HL ToolBox ist ein Werkzeug mit grafischer
Benutzeroberfläche. Es ist Teil der Programmsuite Vendor
Center.
• API-Beispielprogramme – um an einem Beispiel zu
sehen, wie die HASP HL API implementiert wird, wählen
Sie das Beispielverzeichnis für Ihren Compiler.
HASP HL Softwareschutz- und Lizenzierungshandbuch
65
Schutz mit der HASP HL API
HASP HL ToolBox
Um die Anwendung HASP HL ToolBox zu verwenden,
benötigen Sie einen HASP HL und einen gültigen Vendor Code
für den Zugriff auf den Key. Das Programm wird aus der
Werkzeugsuite Vendor Center gestartet. Genaue Informationen
über die Verwendung der HASP HL ToolBox erhalten Sie im
Online-Hilfesystem des Programms.
Zugriff auf die API
HASP HL ToolBox ist eine interaktive Schnittstelle zur HASP
HL API. Sie führen Aufrufe an die API durch, die dann an den
angeschlossenen HASP HL weitergegeben werden.
Auf die HASP HL API bezogene Funktionalitäten
HASP HL ToolBox ist eine Anleitung für die HASP HL API
und bietet Folgendes:
• HASP HL ToolBox zeigt den Quellcode an, der für jeden
Funktionsaufruf erzeugt wurde. Dieser erzeugte
Quellcode kann kopiert und in den Quellcode Ihrer
Anwendung eingefügt werden.
• Testen der manuellen Implementierung der HASP HL
API. Jede in der HASP HL ToolBox enthaltene Funktion
der HASP HL API wird in einem separaten Fenster
angezeigt. Um einen Funktionsaufruf auszuführen,
müssen Sie genaue Informationen zur gewählten Funktion
angeben.
• Speicherpuffer können auf die AESVerschlüsselungsroutine übertragen werden, die sich im
HASP HL Key befindet. Das Programm kann auch
verwendet werden, um Datenpuffer zu entschlüsseln.
• Die HASP HL ToolBox-Einstellungen bieten mehrere
Programmiersprachen-Schnittstellen für die HASP HL
API.
66
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit der HASP HL API
API-Beispielprogramme
Es stehen Beispielprogramme zur Verfügung, die die
Implementierung des HASP HL API-Schutzes in Ihren
Quellcode demonstrieren. Die Beispielprogramme zeigen
einfache Beispiele für die Verwendung der API-Funktionen.
Ihre HASP HL Installation enthält Verzeichnisse für
verschiedene Schnittstellen und Compiler. Jedes Verzeichnis
enthält die erforderlichen API-Libraries, eine Header-Datei und
die Beispielanwendung. Der HASP HL Demo-Key –
gekennzeichnet als DEMOMA – muss an Ihren Computer
angeschlossen sein, wenn Sie die Beispielanwendungen
verwenden.
Auf der Aladdin Website und auf der HASP HL
Installations-CD erfahren Sie, für welche
Programmiersprachen Beispiele verfügbar sind.
HASP HL Softwareschutz- und Lizenzierungshandbuch
67
Schutz mit der HASP HL API
HASP HL API implementieren
Ihren Bedarf planen
Bevor Sie die HASP HL API implementieren, sind einige
Vorüberlegungen notwendig.
a. Was möchten Sie schützen? Das mag offensichtlich
scheinen, ist jedoch ausschlaggebend für die Platzierung
der Aufrufe an den HASP HL. Üblicherweise möchten
Sie die Anwesenheit des HASP HL Key beim Start
verifizieren. Sie können jedoch auch bestimmte Aspekte
der Software für den Schutz festlegen und Ihre HASP HL
API-Aufrufe entsprechend einbinden.
Für den Featureschutz wird der Feature IDParameter verwendet. Sie müssen entscheiden,
welche Programm-Nummer dem für den Schutz
vorgesehenen Feature zugewiesen werden soll. Für
weitere Informationen siehe "hasp_login()"
(Seite 264).
b. Sind verschlüsselte Daten in meinem Schutzplan
enthalten? Wenn Sie zur Laufzeit verschlüsselte Daten
verwenden möchten, können Sie die Daten mit der HASP
HL ToolBox verschlüsseln. Wenn die Daten verschlüsselt
sind, fügen Sie sie bei der Implementierung der HASP HL
API ein. Diese Daten werden zur Laufzeit vom HASP HL
entschlüsselt.
c. Werden Daten im HASP HL-Speicher abgelegt? Wenn die
Software mit einem HASP HL Key mit Speicherfunktion
geschützt wird, können sensible Daten auf dem Key
gespeichert werden. Die HASP HL API ermöglicht den
Lese- und Schreibzugriff auf den Speicher. Verwenden
Sie die HASP HL ToolBox, um Datenpuffer in den HASP
HL Speicher zu schreiben
68
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit der HASP HL API
HASP HL API-Implementierungsschritte
Nachdem Sie die im vorangehenden Abschnitt dargestellten
vorbereitenden Tätigkeiten ausgeführt haben, können Sie Ihre
Anwendung mit der HASP HL API schützen. Abbildung 5.1
zeigt die wichtigsten Schritte bei der Implementierung der
HASP HL API.
Abbildung 5.1 Schritte der HASP HL API-Implementierung
HASP HL Softwareschutz- und Lizenzierungshandbuch
69
Schutz mit der HASP HL API
So implementieren Sie die HASP HL API:
1. Sehen Sie sich den Code der Beispielanwendung für Ihre
Entwicklungsumgebung an.
2. Fügen Sie in den Quellcode Ihrer Anwendung einen LoginAufruf an den HASP HL Key ein.
Ein erfolgreicher Login öffnet eine Login-Session. Die
Login-Session hat ihr eigenes eindeutiges HandleIdentifizierungskennzeichen.
Das Session-Identifizierungskennzeichen wird
automatisch generiert und bezieht sich auf eine
einzige Login-Session! Weitere Einzelheiten finden
Sie im Kapitel hasp_login() (Seite 264).
3. Sobald eine Login-Session geöffnet wurde, können Sie
andere HASP HL API-Funktionen verwenden, um mit dem
Key zu kommunizieren. Beispielsweise können Sie die
decrypt-Funktion verwenden, um wichtige von Ihrer
Anwendung verwendete Daten zu entschlüsseln. Sie können
auch Daten auslesen, die im HASP HL Speicher abgelegt
sind, oder Zeitstempel setzen usw.
4. Verwenden Sie den in Schritt 3 erzeugten Output, um
mögliche falsche Zuordnungen zu prüfen, und geben Sie die
entsprechende Nachricht an den Benutzer aus.
5. Wiederholen Sie die Schritte 2-4 für den gesamten Code.
6. Kompilieren Sie den Quellcode.
Sobald Sie den Quellcode kompiliert haben,
verwenden Sie HASP HL Envelope, um der
ausführbaren Datei eine zusätzliche Schutzschicht
hinzuzufügen. Das verhindert auch ReverseEngineering des geschützten Codes.
70
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit der HASP HL API
HASP HL API-Login-Funktion
Die Login-Funktion ist der Zugang zur HASP HL APIImplementierung. Um nach einem HASP HL zu suchen und mit
ihm zu kommunizieren, muss eine Login-Session erfolgreich
aufgebaut sein. Abbildung 5.2 zeigt den Ablauf der LoginFunktion im Zusammenhang mit der Implementierung der
HASP HL API. Um in einen HASP HL einzuloggen, benötigen
Sie eine Feature-ID und einen gültigen Vendor Code.
Erst nachdem der Login erfolgreich ausgeführt wurde, können
andere Funktionen für die Kommunikation mit dem Key
verwendet werden. Wenn der HASP HL nicht erkannt wird oder
nicht an den Rechner angeschlossen ist, wird eine
Fehlermeldung angezeigt. Auch wenn der angegebene Vendor
Code für den angeschlossenen HASP HL ungültig ist, wird eine
Fehlermeldung angezeigt.
Abbildung 5.2 HASP HL Zusammenfassung des Login-Ablaufs
HASP HL Softwareschutz- und Lizenzierungshandbuch
71
Schutz mit der HASP HL API
Loginoptionen
Wie jeder andere Aspekt der HASP HL API-Implementierung,
sind die Login-Aufrufe nicht abhängig von den verwendeten
Plattformen oder von bestimmten HASP HL Modellen. Wenn
Sie Login-Aufrufe ausführen, müssen Sie jedoch festlegen, wo
Sie sich einloggen möchten. Beim Einloggen müssen Sie
angeben:
• ob Sie in ein Default- oder ein bestimmtes Feature
einloggen
• wie nach dem HASP HL Key gesucht werden soll
• wie der Loginzähler eingesetzt werden soll
• ob die Verbindung mit dem HASP HL über einen
Terminalserver ermöglicht oder verhindert werden soll
Feature IDs angeben
Sie können sich entweder in ein bestimmtes oder das im HASP
HL Key gespeicherte Default-Feature einloggen. Dem DefaultFeature ist die Programm-Nummer 0 zugeordnet.
Die Feature ID ist das entsprechende 'Programm-NummerFeature' , das in einem HASP HL Key enthalten ist.
Spezifischen Features wird eine Programm-Nummer
zugewiesen, wohingegen das Default Feature immer verfügbar
ist, solange der notwendige HASP HL Key angeschlossen ist.
Die Spezifizierung einer Programm-Nummer ist besonders
wichtig für das Lizenzieren geschützter Software. Weitere
Einzelheiten finden Sie im Kapitel hasp_login() (Seite 264).
Beim Login in ein lizenziertes Feature prüft die geschützte
Anwendung nicht nur die Anwesenheit des HASP HL, sondern
auch die im Key enthaltenen Lizenzbedingungen. Wenn die
Lizenz gültig ist, wird das Feature freigegeben. Weitere
Informationen erhalten Sie im Kapitel "Features
Identifizierungskennzeichen zuweisen" (Seite 128).
Es gibt weitere Aspekte des Login, die kontrolliert werden
können, wenn Sie die HASP HL API implementieren.
72
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit der HASP HL API
Suchoptionen
Die Standard-Sucheinstellung ermöglicht der geschützten
Anwendung, sowohl auf dem lokalen Rechner als auch im
Netzwerk nach dem benötigten HASP HL zu suchen. Sie
können jedoch die HASP HL Suchoptionen auf Folgendes
beschränken:
• Nur den lokalen PC nach einem angeschlossenen HASP HL
durchsuchen. Um diese Einschränkung einzustellen, fügen
Sie
HASP HL_PROGNUM_OPT_NO_REMOTE
zur Loginangabe hinzu.
• Nur das Netzwerk nach einem angeschlossenen HASP HL
durchsuchen. Um diese Einschränkung einzustellen, fügen
Sie
HASP HL_PROGNUM_OPT_NO_LOCAL
zur Loginangabe hinzu.
Loginzähler
Wenn auf eine HASP HL Lizenz in einem HASP HL Net-Key
zugegriffen wird, wird die Lizenzverwendung pro Arbeitsplatz
bestimmt. Sie können diese Bedingung jedoch aufheben und
stattdessen die Lizenzverwendung pro Prozess zählen lassen.
Dabei wird der Lizenzzähler pro Prozess heruntergezählt. Um
diese Einschränkung einzustellen, fügen Sie
HASP_HL_PROGNUM_OPT_NO_PROCESS
zur Loginangabe hinzu.
Terminalserver-Erkennung
Standardmäßig ist im HASP HL System vorgesehen, die
Verwendung von Anwendungen auf einem Netzwerk-TerminalServer zu erkennen und zu verhindern. Um die Terminal-ServerErkennung aufzuheben, fügen Sie
HASP_HL_PROGNUM_OPT_TS
zu den Loginangaben hinzu.
HASP HL Softwareschutz- und Lizenzierungshandbuch
73
Schutz mit der HASP HL API
Zugriff auf HASP3/HASP4-Keys aktivieren
Standardmäßig ermöglicht das HASP HL System keinen Zugriff
auf frühere Versionen von Aladdin HASP-Keys. Um diese
Einschränkung zu übergehen und den Zugriff auf HASP3 und
HASP4-Keys zu ermöglichen, fügen Sie
HASP_HL_PROGNUM_OPT_CLASSIC
zu den Loginangaben hinzu.
Wenn Sie sich in einen HASP HL Key eingeloggt und eine
Session geöffnet haben, gibt es eine große Auswahl an anderen
HASP HL API-Funktionen, die Sie verwenden können, um eine
zuverlässige Schutzstrategie aufzubauen. Der nächste Abschnitt
behandelt diese Optionen.
Jede HASP HL Login-Session muss mit einem
entsprechenden Logout-Aufruf beendet werden.
AES-basierte Verschlüsselungs- und
Entschlüsselungs-Funktionalität ist nicht verfügbar,
wenn Sie keine HASP HL Keys verwenden.
74
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit der HASP HL API
Verfügbare HASP HL API-Funktionalität
Der Umfang des Schutzes, den die HASP HL API bietet, hängt
davon ab, wie sie implementiert wurde. In den Code eingefügte
Aufrufe des HASP HL kontrollieren letztendlich zur Laufzeit
den Zugriff auf die Anwendung.
Dieser Abschnitt behandelt die HASP HL API-Optionen, die
verfügbar sind, sobald eine erfolgreiche Login-Session
aufgebaut wurde. Detaillierte Informationen darüber, wie Sie
Ihre HASP HL API-Implementierung optimieren, erhalten Sie
unter "Optimale HASP HL API-Implementierung" (Seite 99).
Für die Veranschaulichung der Funktionsweise der HASP HL
API sollten Sie die HASP HL ToolBox verwenden. Alle unten
aufgeführten Funktionen werden in der "HASP HL APIReferenz" (Seite 241) genau beschrieben.
Funktionsgruppen
Die verfügbaren HASP HL API-Funktionen können
entsprechend den gemeinsamen Funktionalitäten in fünf
Gruppen aufgeteilt werden.
• Session-Funktionen
• Speicher-Funktionen
• Verschlüsselungs-Funktionen
• Zeit-Funktionen
• Verwaltungs-Funktionen
Session-Funktionen
Für die Implementierung der meisten HASP HL APIFunktionen müssen Sie einen erfolgreichen Login-Aufruf auf
eine Lizenz ausführen, die sich in einem bestimmten HASP HL
Key befindet. Die verfügbaren Optionen sind in
"Loginoptionen" (Seite 72) beschrieben. Jeder Login-Aufruf
muss mit einem entsprechenden Logout-Aufruf verbunden sein,
um die Login-Session zu beenden.
HASP HL Softwareschutz- und Lizenzierungshandbuch
75
Schutz mit der HASP HL API
Zwischen dem Einloggen und dem Ausloggen können andere
Aufrufe eines bestimmten HASP HL Key als Teil einer LoginSession ausgeführt werden.
Speicher-Funktionen
Die HASP HL API kann verwendet werden um:
• im HASP HL Speicher abgelegte Datenpuffer zu lesen
• Datenpuffer in den HASP HL Speicher zu schreiben
Die Bytegröße der Datenpuffer ist durch den im entsprechenden
HASP HL Modell verfügbaren Speicher beschränkt.
Informationen über die Speicherkapazitäten bestimmter HASP
HL Modelle finden Sie in Tabelle D.2 "Technische
Spezifikationen der HASP HL Modelle" auf Seite 278.
Sie können im HASP HL Speicher Informationen
ablegen, die später zur Verifizierung und
Identifizierung des Endanwenders verwendet
werden können.
Verwenden Sie den Speicher, um Daten abzulegen, die zur
Laufzeit von der Anwendung verwendet werden. Zugriff auf
diese sensiblen Daten bildet einen wesentlichen Teil Ihrer
Schutzstrategie.
Verschlüsselungs-Funktionen
Sobald Sie sich erfolgreich in einen HASP HL eingeloggt
haben, können Sie einen Datenpuffer mit der AES-basierten
Verschlüsselungsroutine im Key verschlüsseln oder
entschlüsseln. Die Verschlüsselung verwendet symmetrische
Verschlüsselung. Deshalb wird derselbe Schlüssel später
verwendet, um den Datenpuffer zu entschlüsseln.
76
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit der HASP HL API
Zeit-Funktionen
Wenn Sie einen HASP HL Time Key verwenden, kann die
HASP HL API für den Zugriff auf die Echtzeituhr im Key
verwendet werden. Mit dieser Funktionalität können Sie:
• Zeit einstellen
• Zeit auslesen
In der HASP HL API gibt es auch zwei
Umwandlungsfunktionen für Datum und Zeit.
Verwaltungs-Funktionen
Die HASP HL API beinhaltet Funktionen, mit denen Sie
Informationen über die aktuelle Login-Session, den Status eines
verwendeten Key und ein Lizenz-Update abrufen können.
Updates
Sie können die HASP HL API verwenden, um über einen
bestimmten Funktionsaufruf Updates zu erzeugen. Anders als
die anderen HASP HL API-Funktionen benötigt diese UpdateFunktion keine Login-Session. Weitere Informationen erhalten
Sie im Kapitel "hasp_update()" (Seite 270). Diese Funktion ist
die wichtigste Vermittlungsfunktion des Remote Update
System.
HASP ID
Sie können die Seriennummer des HASP HL Key – die HASP
ID – festlegen und damit Aktionen wie Updates oder Datenabruf
auf bestimmte HASP HLs beschränken.
HASP HL Softwareschutz- und Lizenzierungshandbuch
77
Schutz mit der HASP HL API
78
Aladdin Knowledge Systems Ltd © 2004.
Kapitel 6
Schutz mit HASP HL Envelope
Dieses Kapitel beschreibt den Softwareschutz mit HASP HL
Envelope. Es behandelt folgende Themen:
• Voraussetzungen für die Verwendung von HASP HL
Envelope
• HASP HL Envelope verwenden
• HASP HL Envelope-Schutzfeatures
• Umgang mit Datendateien für HASP HL Envelope
Funktionalität
HASP HL Envelope ist ein Werkzeug, das Ihre Anwendungen
mit einem sicheren Schutzschild umgibt. Das Programm bietet
hochentwickelte Schutz-Features, um die Gesamtsicherheit
Ihrer Software zu erhöhen.
Das Werkzeug HASP HL Envelope schützt ausführbare Dateien
und DLLs. HASP HL Envelope-Schutz kann ReverseEngineering entgegenwirken und bietet andere AntidebuggingMaßnahmen.
Sie stellen durch die Verwendung von HASP HL Envelope zum
Schützen Ihrer Software eine Verbindung zwischen der
geschützten Software und dem HASP HL her. Diese Verbindung
wird unterbrochen, wenn die geschützte Software nicht auf den
benötigten Key zugreifen kann. In diesem Fall wird das
Programm gestoppt, bis der HASP HL angeschlossen wird.
HASP HL Softwareschutz- und Lizenzierungshandbuch
79
Schutz mit HASP HL Envelope
Die Implementierung des Schutzes mit HASP HL Envelope ist
der schnellste Weg, Ihre Software zu schützen, ohne dass Sie
Zugriff auf den Quellcode Ihrer Software benötigen. HASP HL
Envelope wird über eine grafische Benutzeroberfläche bedient.
Über die grafische Benutzeroberfläche von HASP HL Envelope
können Sie folgende Aktionen ausführen:
• Anwendungen schützen
• Schutzparameter definieren
• festlegen, welcher Vendor Code die Anwesenheit eines
bestimmten HASP HL Key bestätigt
• Laufzeitnachrichten anpassen, die Endanwendern
angezeigt werden, die die geschützten Programme
verwenden.
HASP HL Envelope verbindet nicht nur geschützte Programme
mit einem bestimmten HASP HL, sondern umgibt die
Anwendung auch mit zahlreichen Schutzschichten, die
zufallsgesteuert zusammengesetzt werden.
Geschützte Anwendungen mit HASP HL Envelope
zufallsgesteuert mit Multi-Layer zu umgeben sorgt
dafür, dass die implementierten Schutzstrategien für
jede geschützte Anwendung anders sind.
80
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit HASP HL Envelope
Voraussetzungen für die Verwendung von
HASP HL Envelope
Um HASP HL Envelope zu verwenden, benötigen Sie die unten
aufgelistete Software.
Software-Voraussetzungen
Alle im Folgenden aufgeführten Komponenten müssen auf
Ihrem System installiert sein:
• HASP HL Driver oder Daemons
• HASP HL Software, einschließlich der HASP HL
Vendor-Werkzeuge
• ein gültiger im Verzeichnis Vendorcodes gespeicherter
Vendor Code. Weitere Informationen erhalten Sie im
Kapitel "Vendor Code aus dem Master HASP HL
extrahieren" (Seite 64).
• dfcrypt.exe, wenn Sie planen Datendateien zu
verschlüsseln.
• ein beliebiges der folgenden Windows-Betriebssysteme:
Windows 2000/XP oder neuere Windows-Plattformen.
• die ausführbare Datei, die Sie schützen möchten.
HASP HL Envelope verwenden
Verwenden Sie den folgenden Navigationspfad, um die
Werkzeugsuite Vendor Center zu öffnen:
Start/Programme/HASP HL/Vendor Center.
Wenn das Vendor Center aktiviert ist, öffnen Sie HASP HL
Envelope.
HASP HL Softwareschutz- und Lizenzierungshandbuch
81
Schutz mit HASP HL Envelope
Grundlegende Vorgehensweise beim Schützen
Die folgende Vorgehensweise beschreibt, wie Sie Anwendungen
mit HASP HL Envelope schützen. Detailliertere Informationen
über bestimmte Verwendungen finden Sie in der Online-Hilfe zu
HASP HL Envelope.
1. Öffnen Sie HASP HL Envelope aus der Werkzeugsuite
Vendor Center.
2. Legen Sie fest, welche Anwendungen geschützt werden
sollen.
3. Definieren Sie Schutzparameter für die geschützten
Anwendungen.
4. Schützen Sie die Anwendungen.
5. Liefern Sie die geschützte Software zusammen mit Ihren
verschlüsselten HASP HL Keys aus.
HASP HL Envelope hat keinen Einfluss auf die
geschützten Dateien. Sie sollten jedoch ein
separates Verzeichnis für die geschützte
Anwendung bestimmen, um zwischen Quell- und
Zieldateien unterscheiden zu können.
Zum Schutz mit HASP HL Envelope gehört die von der HASP
HL Envelope-Engine gesteuerte Anwendung von
Schutzparametern. Diese Schutzparameter werden auf eine
ungeschützte Quelle übertragen.
HASP HL Envelope hat keinen Einfluss auf die Funktionsweise
der geschützten Anwendung. Die einzige Änderung ist die
Abhängigkeit des Benutzerzugriffs von der Anwesenheit des
richtigen HASP HL. Wenn der Key angeschlossen ist, läuft die
geschützte Datei.
82
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit HASP HL Envelope
Die Logik des HASP HL Envelope-Schutzes wird in
Abbildung 6.1 grafisch dargestellt:
Abbildung 6.1 HASP HL Envelope -Verfahren
HASP HL Envelope über die Kommandozeile verwenden
HASP HL Envelope kann über die Kommandozeile gestartet
werden. Das ist für automatisierte Prozesse relevant, die keine
grafische Benutzeroberfläche benötigen. Um die
Kommandozeilen-Version des Programms zu öffnen, klicken
Sie envelope.com. Diese Datei befindet sich in folgendem
Verzeichnis:
Program Files/Aladdin/HASP HL/Vendortools/
Vendorcenter
Die Kommandozeilen-Version von HASP HL
Envelope wird vor allem für automatisierte
Prozesse verwendet. Legen Sie mit envelope.exe
Schutzprojekte an und speichern Sie sie zusammen
mit den Konfigurationsdateien, bevor Sie das
Kommandozeilen-Programm starten.
HASP HL Softwareschutz- und Lizenzierungshandbuch
83
Schutz mit HASP HL Envelope
Kommandozeilen-Version starten
Geben Sie in der Kommandozeile ENVELOPE ein. Das System
sucht und startet die Anwendung envelope.com.
Kommandozeilen-Optionen
Die folgenden Parameter sind für die Verwendung in der
Kommandozeilen-Version von HASP HL Envelope verfügbar:
Tabelle 6.1 Kommandozeilen-Parameter in HASP HL Envelope
Befehl
84
Beschreibung
-h/--help
Zeigt die Liste der KommandozeilenParameter. Nachdem die Hilfe
angezeigt wurde, müssen Sie die
Eingabetaste drücken, um zu der
Kommandozeilen-Konsole
zurückzukehren.
-p/ --protect
<Konfiguration>
Das Kommandozeilen-Programm
verwendet die angegebene
Konfigurationsdatei als Vorgabe für
die Umhüllung der Anwendung.
Konfigurationsdateien enthalten
Definitionen von Schutzparametern.
Wenn Sie eine Konfigurationsdatei
verwenden, kann nur eine einzelne
Datei geschützt werden.
-p /--protect
<Projekt>
Das Kommandozeilen-Programm
verwendet das festgelegte Projekt als
Vorgabe für die Umhüllung der
Anwendung – alle Dateien im Projekt
werden geschützt.
<Projekt>
Die Kommandozeilen-Version startet
die GUI-Version mit dem
angegebenen Projekt als aktuellem
Projekt.
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit HASP HL Envelope
HASP HL Envelope-Schutzparameter
Dieser Abschnitt gibt einen allgemeinen Überblick über die
verfügbaren Schutzeinstellungen.
HASP HL Envelope ist eine automatische Methode für die
Anwendung von HASP HL Schutz auf Ihre Software. Sie
können jedoch eine Reihe von Schutzparametern für die
geschützte Anwendung definieren und abstimmen. Die
Einstellungen sind in zwei Kategorien aufgeteilt: Obligatorische
Einstellungen und voreingestellte Einstellungen, die
Eigenschaften oder Verhalten der geschützten Datei
beeinflussen.
Obligatorische Parameter
Folgende Informationen müssen vorliegen, um Software mit
HASP HL Envelope zu schützen:
• Speicherort der Quelldatei – Um eine Anwendung zu
schützen, muss ihr Speicherort angegeben werden.
• Vendor Code – Sie müssen einen gültigen Vendor Code
bereitstellen, um auf den angeschlossenen HASP HL
zuzugreifen. Beim ersten Programmstart von HASP HL
Envelope ist der Standard-Vendor-Code als DEMOMA
eingestellt.
Diese Informationen reichen für den Schutz einer Anwendung
aus. Alle anderen Schutzparameter verwenden Standardwerte
und werden unten beschrieben.
Optionale und voreingestellte Parameter
Die optionalen Parameter werden in HASP HL Envelope in drei
getrennten Eingabefenstern angezeigt. Jede Einstellung zeigt
einen Standardwert an, der geändert werden kann. Diese
Einstellungen betreffen die Eigenschaften und das Verhalten
geschützter Anwendungen. Alle Einstellungen werden in der
Online-Hilfe zu HASP HL Envelope genauer beschrieben.
HASP HL Softwareschutz- und Lizenzierungshandbuch
85
Schutz mit HASP HL Envelope
HASP HL suchen
Mit HASP HL Envelope können Sie festlegen, wie die
geschützte Anwendung nach dem benötigten HASP HL sucht.
Die folgenden Optionen stehen Ihnen zur Verfügung:
• Lokal und im Netzwerk – Die geschützte Anwendung
sucht zuerst auf dem lokalen PC und dann im Netzwerk
nach dem benötigten Key (Standardeinstellung).
• Lokal – Die geschützte Anwendung sucht nur auf dem
lokalen Rechner nach dem benötigten Key.
• Netzwerk – Die geschützte Anwendung sucht nur im
Netzwerk nach dem benötigten Key.
Verhalten des geschützten Programms
Mit HASP HL Envelope können Sie folgende weitere
Eigenschaften der geschützten Anwendung definieren:
• Wie oft Zufallsabfragen an den HASP HL gesendet
werden. Diese Abfragen beinhalten zufällige
Verschlüsselungs- und Entschlüsselungsprozeduren.
• Zeitintervall, um die Anwesenheit des benötigten Key zu
prüfen.
• Unterstützung für Programme, die Overlays zur
ordnungsgemäßen Ausführung benötigen, ermöglichen
und verhindern.
• Für Lizenzierungsmodelle, die simultane Verwendung
beinhalten, können Sie mit HASP HL Envelope
entscheiden, ob die Aktivierung pro Prozess oder pro
Station gezählt werden soll. Weitere Informationen
erhalten Sie im Kapitel "HASP License Manager"
(Seite 171).
• Wie lange die geschützte Anwendung darauf warten
sollte, dass die HASP HL Device Driver geladen werden.
86
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit HASP HL Envelope
Schutzeigenschaften
Sie können spezielle Sicherheitseigenschaften für die geschützte
Anwendung einstellen. HASP HL Envelope enthält Parameter
für:
• die Erkennung von Debugging-Maßnahmen sowohl auf
System- als auch auf Benutzerebene. Sie können
Maßnahmen aktivieren, die vom HASP HL System
eingesetzt werden sollen, um potenzielle Angriffe
abzublocken, die die Schutzstrategie untergraben wollen.
• das Festlegen der Anzahl der schützenden
Modulschichten, die die geschützte Anwendung
umgeben. Mögliche Werte sind 1 bis 50. Die
Standardeinstellung ist 12.
Die Erhöhung der Anzahl von Schutzschichten
erhöht die Startzeit der geschützten Anwendung
und vergrößert die entsprechende Datei. Es gibt
einen Zusammenhang zwischen Schutzlevel, Größe
der geschützten Datei und Startgeschwindigkeit.
Ein höherer Schutzlevel führt zu einem
langsameren Start und vergrößert die geschützte
Anwendung.
• Sie können die Häufigkeit der Zugriffe des HASP HL
Key für die Verschlüsselung festlegen. Die Einstellung
steuert die Kompaktheit der HASP HL Aufrufe durch die
geschützte Anwendung.
Es gibt einen Schutzlevel-Schieber, um die Häufigkeit
des HASP HL Key-Zugriffs für das Verschlüsseln
festzulegen.
Abbildung 6.2 Schutzlevel-Schieber
HASP HL Softwareschutz- und Lizenzierungshandbuch
87
Schutz mit HASP HL Envelope
Umgang mit Datendateien
Ihre geschützte Software benötigt unter Umständen zur Laufzeit
Zugriff auf Datendateien. Mit HASP HL Envelope können Sie
den Zugriff der geschützten Software auf Datendateien
überwachen. HASP HL Envelope bietet folgende
Kontrollmechanismen:
• Datenfilter – Sie können festlegen, auf welche Dateitypen
die geschützte Software zur Laufzeit zugreifen kann. Sie
können auch festlegen, welche Dateien ausgeschlossen
werden sollen.
• Datenschlüssel – acht druckbare Zeichen, aus denen ein
Schlüssel gebildet wird, um Datendateien zu
verschlüsseln und zu entschlüsseln.
Verwenden Sie denselben Schlüssel, wenn mehrere
Anwendungen auf denselben Satz von Dokumenten
zugreifen.
HASP HL Envelope fügt die Datenfilter und die Informationen
des Schlüssels als Teil der angewendeten Schutzstrategie zur
geschützten Anwendung hinzu. Die Verschlüsselung von
Datendateien wird von der Kommandozeilen-Anwendung
dfcrypt.exe durchgeführt. Weitere Informationen erhalten Sie im
Kapitel "Datendateien verschlüsseln" (Seite 91).
Benutzer-Support zur Laufzeit
Sie können die Laufzeitnachrichten für die Endanwender der
mit HASP HL Envelope geschützten Anwendungen anpassen.
HASP HL Envelope enthält einen Satz von Nachrichtencodes.
Jeder Code ist mit einer entsprechenden Nachricht verknüpft,
die zur Laufzeit der geschützten Anwendung angezeigt wird.
Die angezeigten Nachrichten können angepasst werden.
88
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit HASP HL Envelope
Zusätzlich können Sie ein bestimmtes Nachrichtenfenster für
Endanwender anzeigen, die eine geschützte Anwendung starten.
Die Nachricht erklärt, dass es wegen der notwendigen
Entschlüsselung von Daten zu Verzögerungen kommen kann.
HASP HL Envelope für Mac-Anwendungen
HASP HL Envelope-Schutz kann für Mac-Anwendungen
implementiert werden. HASP HL Envelope für Mac ist ein OS
X Terminal-Dienstprogramm, mit dem Sie Mach-OAnwendungen schützen können.
Mac-Anwendungen schützen
Sie schützen Mac-Anwendungen, indem Sie:
a. Schutzparameter in einer Konfigurationsdatei definieren
und speichern
b. eine Kopie des Datei-Bundle, das die ausführbare MachO-Datei enthält, erstellen
c. während der Schutz-Session auf die Konfigurationsdatei
zugreifen
Die HASP HL Envelope-Konfigurationsparameter sind in
Envelope Configuration Settings.pdf genau beschrieben. Sie
finden die Datei im Doc-Verzeichnis der HASP HL
Installations-CD.
Wenn die Schutzparameter in der Konfigurationsdatei definiert
und gespeichert sind, aktivieren Sie Envelope folgendermaßen:
hasphlmacho_darwin -c configuration.cfg
HASP HL Softwareschutz- und Lizenzierungshandbuch
89
Schutz mit HASP HL Envelope
Einstellungen für die Konfigurationsdatei ändern
Einige in der Konfigurationsdatei definierte Einstellungen
können mit den optionalen Parametern, die in Tabelle 6.2
aufgeführt sind, überschrieben werden.
Tabelle 6.2 Einstellungen für die HASP HL EnvelopeKonfigurationsdatei
Einstellung
90
Beschreibung
-c <Konfig Dateiname>
Obligatorische Einstellung:
Name der Konfigurationsdatei.
-i <Quelldatei-Name>
Optionale Einstellung:
ausführbare Mach-OQuelldatei, die im DateiBundle der Anwendung
enthalten ist.
-o <Zieldatei-Name>
Optionale Einstellung:
ausführbare Mach-O-Zieldatei,
die im Datei-Bundle der
Anwendung enthalten ist.
-v <Vendor Code
Dateiname>
Optionale Einstellung: Vendor
Code, der von der geschützten
Datei verwendet wird, um auf
den benötigten HASP HL Key
zuzugreifen.
-m <NachrichtenDateiname>
Optionale Einstellung: Datei,
die die Definitionen für
Nachrichten enthält, die den
Endanwendern zur Laufzeit
angezeigt werden.
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit HASP HL Envelope
Datendateien verschlüsseln
Wie in "Umgang mit Datendateien" (Seite 88) erwähnt, können
mit HASP HL Envelope geschützte Anwendungen auf
verschlüsselte Datendateien zugreifen, die durch Datenfilter und
die Verwendung eines bestimmten Schlüssels definiert wurden.
HASP HL Envelope verschlüsselt keine Datendateien.
Die Kommandozeilen-Anwendung dfcrypt.exe wird verwendet,
um Datendateien zu verschlüsseln. Dfcrypt erzeugt
Datendateien, die von mit HASP HL Envelope geschützten
ausführbaren Dateien verarbeitet werden können.
Abbildung 6.3 Datendatei-Verarbeitung mit dfcrypt.exe
dfcrypt.exe verwenden
Dieses Werkzeug kann nur als Kommandozeilen-Anwendung
verwendet werden. Es benötigt zur Ausführung einen
bestimmten Satz von Input-Parametern. Sobald diese Parameter
auf einen bestimmten Satz von Datendateien angewendet
wurden, kann mit HASP HL Envelope auf die verschlüsselten
Dateien zugegriffen werden. Abbildung 6.3 (Seite 91) zeigt die
HASP HL Softwareschutz- und Lizenzierungshandbuch
91
Schutz mit HASP HL Envelope
Arbeitsabläufe für den Umgang mit Datendateien über
dfcrypt.exe. Wenn die Datendateien verschlüsselt sind, können
mit HASP HL Envelope geschützte Anwendungen diese
Dateien entschlüsseln und auf sie zugreifen. Das ist nur
möglich, wenn Sie den Schlüssel beim Schützen in HASP HL
Envelope definieren.
Verwendungsanweisungen für dfcrypt.exe
Um dfcrypt zu verwenden, müssen Sie Folgendes festlegen:
• eine Befehlsoption
• eine Liste von Quelldateien und -verzeichnissen
• einen Zielort für die verschlüsselten Zieldateien
Wenn Sie mehrere Quelldateien oder ein Quellverzeichnis
festlegen, muss der festgelegte Zielort ein bestehendes
Verzeichnis sein.
Folgendes Format muss für die Eingabe von Parametern
verwendet werden:
dfcrypt <Option> source destination
Zum Beispiel:
dfcrypt -c:demoma.hvc -k:4873Asdb data.txt
data_crypt.txt
92
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutz mit HASP HL Envelope
Verfügbare dfcrypt.exe-Befehle
Tabelle 6.3 unten listet die verfügbaren dfcrypt-Befehle auf. Ein
Sternchen kennzeichnet obligatorische Befehle.
Tabelle 6.3 Liste der dfcrypt.exe-Befehlsoptionen
Befehl
Aktion
-e, --encrypt
Verschlüsselt Daten, standardmäßig
verfügbar.
-d, --decrypt
Entschlüsselt Daten.
-c, -vcf:<Datei>
Legt eine HASP HL Vendor Code-Datei
fest.*
-k, -key:<Key>
Legt den Schlüssel fest, mit dem
Datendateien verschlüsselt werden. Sollte
8 druckbare Zeichen enthalten.*
-o, --overwrite
Überschreibt Zieldateien.
-r, --recursive
Ermöglicht rekursive Verarbeitung von
Unterverzeichnissen.
-h, --help
Zeigt ein Hilfefenster mit dfcrypt-Befehlen
an.
-q, --quiet
Unterdrückt Output durch Ausschluss von
Copyright-Informationen und
Fortschrittsanzeige. Nur Fehlermeldungen
werden angezeigt. Das ist besonders
nützlich für die Integration in Makefiles.
HASP HL Softwareschutz- und Lizenzierungshandbuch
93
Schutz mit HASP HL Envelope
94
Aladdin Knowledge Systems Ltd © 2004.
Kapitel 7
Schutzstrategien
Dieses Kapitel zeigt Strategien für die Maximierung des HASP
HL-Schutzes. Es behandelt folgende Themen:
• empfohlene Vorgehensweise für den umfassenden Schutz
mit HASP HL
• Optimierung des HASP HL API-Schutzes
• Abwehr von Angriffen durch optimale SoftwareSchutztechniken
• Tipps zur Maximierung der Sicherheit Ihrer geschützten
Anwendung
Das HASP HL System bietet die besten heute auf dem Markt
erhältlichen Hardware- und Software-Schutzwerkzeuge. Es liegt
jedoch an Ihnen, Nutzen aus den vom HASP HL Schutz
gebotenen Vorteilen zu ziehen. Der Umfang des Schutzes hängt
davon ab, wie Sie die für Ihre Anforderungen am besten
geeignete Schutzstrategie implementieren.
Um mit HASP HL höchsten Schutz zu erreichen,
sollten Sie sowohl die Envelope- als auch die APISchutzmethode verwenden.
HASP HL Softwareschutz- und Lizenzierungshandbuch
95
Schutzstrategien
Wenn Sie spezielle Unterstützung beim Stärken der Sicherheit
und des Schutzes Ihrer Software wünschen, können wir einen
persönlichen Support-Service durch unser Team von AladdinBeratern anbieten. Sie können Hilfe zu einer großen Auswahl an
Themen bieten, einschließlich Schutzstrategien und
Implementierungstechniken.
Für weitere Informationen über die von Aladdin angebotenen
Beratungsdienste wenden Sie sich bitte an Ihre örtliche AladdinNiederlassung.
HASP HL Schutz – empfohlene
Vorgehensweise
Die zwei Methoden, HASP HL Schutz zu implementieren,
wurden bereits in früheren Kapiteln eingeführt und behandelt.
Jede Schutzmethode hat Ihre eigenen Vorzüge, und
verschiedene Benutzer haben verschiedene Bedürfnisse.
Um zu entscheiden, was die beste Schutzmethode für Sie ist,
bedenken Sie nochmals die verschiedenen Gesichtspunkte im
Abschnitt "HASP HL API- versus HASP HL EnvelopeImplementierung" (Seite 58).
Für die Implementierung des Softwareschutzes sollten Sie
folgende Richtlinien beachten:
a. Verwenden Sie sowohl HASP HL Envelope als auch die
HASP HL API, um Ihre Software zu schützen.
b. Verlassen Sie sich nicht auf eine einfache immer gleiche
Schutzstrategie.
96
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutzstrategien
Beide HASP HL Methoden verwenden
Die beste Möglichkeit, den Schutz zu maximieren, ist die
Verwendung von HASP HL Envelope und HASP HL API für
den Schutz Ihrer Software. Verwenden Sie die HASP HL API,
um Aufrufe des HASP HL Key zu implementieren. Schützen
Sie die ausführbare Datei nach dem Kompilieren des Codes mit
HASP HL Envelope.
Sobald Ihr Quellcode kompiliert ist, umgeben Sie
Ihre ausführbaren Dateien oder DLLs mit HASP
HL Envelope.
Die folgenden Abschnitte behandeln die Optimierung der
einzelnen Schutzmethoden. Bedenken Sie jedoch, dass die
Verwendung der einen Schutzmethode die Verwendung der
anderen nicht ausschließt. Das gilt besonders für Benutzer der
HASP HL API. Es dauert weniger als fünf Minuten, HASP HL
Envelope-Schutz auf Ihre kompilierten ausführbaren Dateien
anzuwenden!
Ihre Strategie ändern
Um einen hohen Level des Softwareschutzes zu erreichen,
sollten Sie Ihre Schutzstrategien oft ändern. Variieren Sie Ihre
Methoden, indem Sie unterschiedliche Schutzmaßnahmen für
jede Version Ihrer Anwendung implementieren. Aktualisieren
Sie Ihre Schutzwerkzeuge regelmäßig.
Aladdin setzt sich dafür ein, die beste auf dem Markt verfügbare
Schutztechnologie zu liefern und entwickelt seine Produktlinie
kontinuierlich weiter. Schauen Sie regelmäßig auf der Aladdin
Website nach Informationen über neue Features im HASP HL
Schutzsystem.
In der Werkzeugsuite Vendor Center gibt es einen Link auf die
Aladdin-Site. Verwenden Sie den Link im Dienstprogramm
Vendor Center, um die neuesten Software-Updates zu erhalten.
HASP HL Softwareschutz- und Lizenzierungshandbuch
97
Schutzstrategien
Informieren Sie sich bei Ihrer HASP HL Niederlassung über
neueste Entwicklungen der HASP HL Software. Bleiben Sie mit
Aladdin immer auf dem neuesten Stand und seien Sie immer
denen einen Schritt voraus, die versuchen Ihre Software
anzugreifen.
HASP HL API-Schutz optimieren
Dieser Abschnitt beschreibt, mit welchen Fragestellungen des
Softwareschutzes Sie sich beschäftigen sollten und bietet
Schutztipps und -strategien. Weil die HASP HL Hardware
praktisch nicht zu entschlüsseln oder zu kopieren ist,
konzentrieren sich Angriffe wahrscheinlich auf die Software.
Angreifer versuchen den Schutzcode zurückzuverfolgen und die
Schutzmaßnahmen auszuschalten
Themen des Softwareschutzes
Die meisten Softwarehersteller beschäftigen sich mit zwei
gängigen Methoden bei Angriffen auf geschützte
Anwendungen:
• Simulation der Aufrufe der Schutzeinrichtung
• Simulation der vom Hersteller des Schutzgeräts verwendeten
Software
Um Aufrufe der Schutzroutine zu simulieren, muss ein illegaler
Benutzer die geschützte ausführbare Datei so ändern, dass sie
keine Anfragen an den Key schickt, die Rückgaben des Key
nicht verifiziert oder sich nicht entsprechend der im Code
festgelegten Ergebnisse verhält. Diese Art des Angriffs wird
verwendet, wenn angenommen wird, dass der Schutz schlecht
implementiert wurde.
98
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutzstrategien
Um die Software des Keyherstellers zu simulieren, würde ein
Angreifer üblicherweise die Aufrufe manipulieren, die für die
Kommunikation mit dem Hardware-Key verwendet werden.
Das stellt sicher, dass Aufrufe des HASP HL die 'richtigen'
Rückgaben erzeugen, auch wenn der benötigte Key nicht
angeschlossen ist.
Es ist wichtig zu beachten, dass diese beiden Methoden
anwendungsspezifisch sind und so nicht für andere geschützte
Anwendung verwendet werden können.
Um maximale Sicherheit zu erreichen, empfehlen
wir, Ihre Anwendungen besser mit HASP HL
Objekten als mit DLLs zu verbinden. Das erhöht
den Schutz, weil die Objekte als integrierter Teil der
ausführbaren Zieldatei kompiliert werden, was es
schwieriger macht, sie zu verfälschen.
Optimale HASP HL API-Implementierung
Dieser Abschnitt bietet Tipps und Tricks, wie Sie die im
vorangehenden Abschnitt beschriebenen Angriffe bekämpfen.
Verwenden Sie so viele der Tipps wie möglich, um den
Schutzlevel für Ihre Software zu maximieren.
Bedenken Sie beim Implementieren des Schutzes mögliche
Auswirkungen auf berechtigte Endanwender der Anwendung.
Beispielsweise könnte ein berechtigter Benutzer vergessen, den
Key an den Rechner anzuschließen. Ihre Schutzstrategie sollte
das berücksichtigen. Grundsätzlich sollten geschickte
Schutzstrategien Angriffe auf Ihre Software, nicht unschuldige
Benutzer bekämpfen.
HASP HL Softwareschutz- und Lizenzierungshandbuch
99
Schutzstrategien
Die folgenden Tipps zeigen die optimale Verwendung der
HASP HL API:
• Mehrfache Aufrufe des HASP HL Key.
• Verwendung der Informationen des Key, um Daten zu
verschlüsseln und zu entschlüsseln.
• Implementierung der HASP HL API-Aufrufe auf eine
anspruchsvolle Art.
• Verwendung des HASP HL Speichers.
Viele HASP HL API-Aufrufe verwenden
Viele Aufrufe des HASP HL Key einzufügen, erschöpft
diejenigen, die versuchen, Ihre geschützte Software anzugreifen.
Eine komplizierte Implementierung der HASP HL API, mit
mehreren Aufrufen des HASP HL Key, erhöht die
Schwierigkeit, Ihre Schutzstrategie zurückzuverfolgen und
anzugreifen.
Je mehr Aufrufe und Rückgabecodes vom HASP HL System
geprüft werden, desto schwieriger ist es, alle zurückzuverfolgen
und zu entfernen. Die Aufrufe sollten auch von so vielen
unterschiedlichen Stellen wie möglich innerhalb Ihres Codes
ausgeführt werden.
Daten mit dem HASP HL Key verschlüsseln/entschlüsseln
Verwenden Sie nicht nur eine große Anzahl von HASP HL APIAufrufen in Ihrem Code, sondern erhöhen Sie auch die
Komplexität der Aufrufe. Ein Login-Aufruf auf einen HASP
HL, der nur die Anwesenheit des Key überprüft, ist eine der
einfacheren Schutzmöglichkeiten. Verwenden Sie die
Fähigkeiten des Key, Daten so zu verarbeiten, dass
unberechtigte Angriffe auf Ihre Sofware verhindert werden.
Daten mit der AES-basierten Verschlüsselung von HASP HL zu
verschlüsseln, erhöht die Softwaresicherheit beträchtlich. Wenn
Sie von Ihrer Anwendung verwendete Daten verschlüsseln,
hängt der Entschlüsselungsprozess von der Anwesenheit und
den Informationen des HASP HL ab.
100
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutzstrategien
Wenn Sie eine HASP HL API-Maßnahme implementieren, in
der Daten durch einen bestimmten Key entschlüsselt werden,
kann die Verbindung zwischen der geschützten Anwendung und
dem HASP HL nicht leicht entfernt werden. Nicht nur die
Anwendung muss geknackt werden, auch die Daten müssen
entschlüsselt werden.
Die Verschlüsselungs- und Entschlüsselungsprozesse
werden im HASP HL durchgeführt. Darauf hat kein
Debugging-Werkzeug Zugriff.
Es ist nicht notwendig, alle von der geschützten Anwendung
verwendete Datendateien zu verschlüsseln; stattdessen sollten
Sie sich auf Schlüsseldaten wie Datei-Header, wichtige
Konstanten in Berechnungen oder bestimmte Felder in einer
Datenbank konzentrieren. Sie sollten erwägen, Daten zu
verschlüsseln, die die Hauptfunktionen der Anwendung
betreffen.
Verschlüsselungsprozess
Der grundlegende Verschlüsselungsprozess für einfache Sätze
von Daten ist im Folgenden kurz dargestellt. Diese
grundlegenden Abläufe können verändert werden, damit sie auf
Ihre spezifischen Anforderungen passen.
1. Schließen Sie Ihren HASP HL an Ihren Rechner an.
Stellen Sie sicher, dass Sie den richtigen Vendor
Code für die Kommunikation mit dem HASP HL
haben!
2. Verschlüsseln Sie die Daten.
Verwenden Sie die HASP HL ToolBox, um Ihre Daten zu
verschlüsseln. Weitere Informationen erhalten Sie in der
Online-Hilfe der HASP HL ToolBox.
HASP HL Softwareschutz- und Lizenzierungshandbuch
101
Schutzstrategien
3. Fügen Sie den erzeugten Code in den Quellcode Ihrer
Anwendung ein.
Ersetzen Sie die ursprünglichen Klartextdaten im Quellcode
Ihrer Anwendung mit der Include-Datei oder den
verschlüsselten Daten.
Sie können die Daten jetzt während der Laufzeit in Ihrer
Anwendung entschlüsseln.
4. Verwenden Sie die HASP HL decrypt-Funktion, um die
verschlüsselten Daten mit dem angeschlossenen HASP HL
zu entschlüsseln. Weitere Informationen erhalten Sie im
Kapitel "hasp_decrypt()" (Seite 246).
Sie können jetzt Befehle auf diese Daten anwenden. Denken
Sie daran, den Benutzern Fehlermeldungen anzuzeigen,
wenn der notwendige HASP HL nicht da ist.
“HASP HL nicht gefunden" und ähnliche
Zeichenketten sollten nicht verschlüsselt werden.
Diese Zeichenketten werden angezeigt, wenn der
HASP HL nicht angeschlossen ist; ihre
ordnungsgemäße Entschlüsselung sollte nicht von
einer Rückmeldung des HASP HL Key abhängen.
Sich wiederholende Modelle vermeiden
Wenn Sie die HASP HL API-Aufrufe im gesamten Code auf
dieselbe Art implementieren, ist es einfacher die Schutzstrategie
zu verfolgen und zu verstehen. Wenn ein illegaler Benutzer
weiß, wonach er suchen muss, ist der Schutz in Gefahr.
102
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutzstrategien
Verwenden Sie die gesamte Auswahl an Funktionalitäten, die
die HASP HL API bietet, aber vermeiden Sie sich
wiederholende Schritte.
Sobald Ihr Quellcode kompiliert ist, ist das Schützen
Ihrer ausführbaren Dateien oder DLLs mit HASP
HL Envelope die beste Art, Zufälligkeit in eine
Schutzstrategie einzubeziehen. Dadurch werden für
jede ausführbare Datei unterschiedliche
Schutzmaßnahmen implementiert.
HASP HL Verifizierung aufteilen
Die Verifizierung des HASP HL umfasst einen dreistufigen
Prozess:
a. Es werden ein gültiger Vendor Code und andere
Parametern verwendet, um einen Login-Aufruf auf eine
Lizenz in einem bestimmten HASP HL Key auszuführen.
b. Die Rückgabewerte werden evaluiert.
c. Entsprechend der Rückgabewerte wird eine Antwort
ausgelöst.
Sie sollten den oben genannten Prozess nicht sequenziell
kodieren, sondern ihn besser innerhalb Ihres Codes aufteilen.
Getrennte Schritte sind viel schwerer zurückzuverfolgen als
sequenzielle Schritte. Zusätzlich sollte die ausgelöste Reaktion
auf einen fehlenden HASP HL Key verzögert werden, um den
Benutzer zu überraschen.
Beispielsweise können Sie den HASP HL abfragen, wenn der
Benutzer auf einen bestimmten Menüeintrag klickt. Lassen Sie
den Benutzer arbeiten, obwohl der Key nicht angeschlossen ist.
Geben Sie die Nachricht, dass der benötigte Key nicht gefunden
wurde, erst aus, nachdem ein ganz anderer Arbeitsschritt
ausgeführt wurde. So kann der Benutzer die Verbindung
zwischen einer bestimmten Funktion und der Abfrage des
HASP HL nicht ohne weiteres herstellen.
HASP HL Softwareschutz- und Lizenzierungshandbuch
103
Schutzstrategien
HASP HL mit Speicher verwenden
Wenn Sie einen HASP HL mit Speicher verwenden, erhöhen Sie
den Umfang der von der HASP HL API angebotenen
Schutzmöglichkeiten beträchtlich. Sie können Daten und Werte
speichern, die für die korrekte Ausführung Ihrer Software
unerlässlich sind.
Sie sollten die Speicherfunktionen der HASP HL API
verwenden, damit Ihr Programm im HASP HL Speicher
abgelegte Daten lesen kann, ohne die Gültigkeit des Key zu
überprüfen. Nur die 'richtigen' Werte ermöglichen die
ordnungsgemäße Ausführung der geschützten Programme. Es
ist schwer sich vorzustellen, dass jemand den benötigten Wert
für das Funktionieren der Programme richtig errät.
Sie können den Speicher in einem HASP HL verwenden, um zu
verhindern, dass ein einzelner Key verwendet wird, um Ihre
Software auf mehreren Terminals zu laden. Verwenden Sie die
HASP HL API, um sowohl im Speicher als auch im RAM des
HASP HL einen Wert zu erzeugen und zu speichern, wenn die
geschützte Software startet. Vergleichen und verifizieren Sie
regelmäßig, dass die beiden Werte gleich sind.
Intelligenter Umgang mit dem Code und die HASP HL API
Dieser Abschnitt zeigt Tipps für den besten Umgang mit
Softwarecode bei der Implementierung der HASP HL API. Es
handelt sich um allgemeine Tipps, und sie beziehen sich auf
Situationen, die alle potenziellen HASP HL Benutzer angehen.
Die enthaltenen Tipps sind:
• API-Aufrufe als "Ablenkungsmanöver"
• Prüfsummen-Code
• Verwendung von im HASP HL gespeicherte Daten
104
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutzstrategien
Störgeräusche durch ablenkende API-Aufrufe erzeugen
Lenken Sie die Aufmerksamkeit aller potenziellen Angreifer ab,
indem Sie Daten verschlüsseln, die keinen Einfluss auf die
geschützte Anwendung haben. Diese API-Aufrufe verursachen
Ablenkungen und stellen für alle, die Ihre Schutzstrategie
zurückverfolgen und angreifen wollen, zusätzliche Hindernisse
dar.
Sie können Störgeräusche mit Hilfe von ZufallsNummerngeneratoren, Zeitwerten, Zwischenergebnissen von
Berechnungen und anderen Mechanismen erzeugen.
Selbstverständlich sollten diese Abfragen des HASP HL zu
keinen bedeutsamen Ergebnissen und Aktionen führen.
Prüfsummen-Code
Wenn Sie eine Prüfsumme verwenden, können Sie feststellen,
ob die geschützte Anwendung verfälscht wurde.
So verwenden Sie eine einfache Prüfsumme:
1. Berechnen Sie die Prüfsumme.
2. Vergleichen Sie sie mit dem korrekten Wert. Trennen Sie auf
jeden Fall die Schritte wie in "HASP HL Verifizierung
aufteilen" auf Seite 103 beschrieben.
3. Setzen Sie die Ausführung der Anwendung fort, wenn die
beiden Werte übereinstimmen, ansonsten geben Sie eine
Fehlermeldung aus.
Leider ist diese Technik anfällig für einige Angriffe.
• Der Code kann gepatcht und die Überprüfung umgangen
werden.
• Es ist möglich, die Prüfsumme zu zwingen, den korrekten
Wert zurückzugeben.
HASP HL Softwareschutz- und Lizenzierungshandbuch
105
Schutzstrategien
Gegen diese Art von Angriff können Sie sich schützen, indem
Sie einfache modulare Additionen vermeiden oder eine XOROperation ausführen. Verwenden Sie CRC (cyclic redundancy
check) oder einen anderen Algorithmus, der die Bytereihenfolge
berücksichtigt.
Eine andere Technik ist, das Ergebnis der Prüfsumme nicht mit
einem vorher berechneten Wert zu vergleichen. Verwenden Sie
stattdessen das Prüfsummen-Ergebnis, um eine Aktion
auszuführen, die zu einem Fehler führt, wenn der falsche Wert
berechnet wurde.
Speichern Sie beispielsweise das Ergebnis als Variable und
verwenden Sie diese Variable später als Schlüssel, um einen
bestimmten Code oder bestimmte Daten zu entschlüsseln.
Dieser Ansatz hat den Vorteil der verzögerten Reaktion.
Außerdem ist die erwartete Prüfsumme nicht explizit in der
Anwendung gespeichert.
Als Antwort auf einen fehlenden Key die Funktionalität ändern
Es gibt eine Reihe möglicher Reaktionen, die beim Fehlen des
benötigten HASP HL in der Anwendung ausgelöst werden
können. Die typische Antwort ist, eine "HASP HL nicht
gefunden"-Nachricht einzufügen. Das zeigt jedoch, dass der
HASP HL abgefragt wurde.
Sie sollten erwägen, als Reaktion auf einen fehlenden Key den
natürlichen Lauf des Programms zu stören. Unberechtigte
Benutzer könnten denken, dass die Störung durch einen Fehler
im geschützten Programm verursacht wird. Sie sollten nicht
bemerken, dass der HASP HL abgefragt wurde, und dass das
Problem die bewusste Reaktion auf den fehlenden HASP HL ist.
Weisen Sie die Anwendung beispielsweise an, nicht mehr auf
Benutzereingaben zu reagieren (die geschützte Anwendung
reagiert z. B. nicht auf Mausklicks), wenn der richtige HASP
HL nicht angeschlossen ist, und nur dann wieder die normale
Arbeitsweise aufzunehmen, wenn der Key wieder
angeschlossen wird. Nur das Funktionieren der geschützten
Anwendung ist betroffen. Andere Programme sollten weiter
funktionieren.
106
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutzstrategien
Wenn Sie den Code wie beschrieben ändern, denken Sie an
berechtigte Benutzer, die versehentlich vergessen haben, den
HASP HL anzuschließen.
Im HASP HL Speicher abgelegte Daten verwenden
Wenn Sie im HASP HL Speicher abgelegte Daten verwenden,
prüfen Sie üblicherweise, ob der Wert gültig ist, bevor Sie
fortfahren. Der Verifikationsprozess zwingt Sie jedoch, den
tatsächlichen Wert, der überprüft wird, in Ihre Anwendung
einzufügen. Der Wert ist dann anfällig für potenzielle Angriffe.
Verifizieren Sie den Wert der Daten nicht direkt. Stattdessen
sollten Sie Folgendes tun:
1. Lesen Sie die im HASP HL Speicher abgelegten Daten aus.
2. Überprüfen Sie die Prüfsumme der Daten, indem Sie die in
"Prüfsummen-Code" auf Seite 105 beschriebenen Richtlinien
verwenden.
3. Verifizieren Sie die Prüfsumme.
Diese Vorgehensweise ermöglicht Ihnen, auf im HASP HL
Speicher abgelegte Daten zuzugreifen, ohne dass Sie seine
Gültigkeit explizit prüfen müssen. Wenn der benötigte HASP
HL angeschlossen ist, sollte der Prüfsummen-Wert gültig sein.
Sonst muss der Wert ungültig sein und führt zu einem Fehler.
HASP HL Softwareschutz- und Lizenzierungshandbuch
107
Schutzstrategien
HASP HL Envelope – empfohlene
Verwendung
Dieser Abschnitt enthält Tipps für die beste Verwendung von
HASP HL Envelope. Obwohl das Werkzeug eine große
Auswahl variabler Schutzparameter bietet, ist die
Schutzimplementierung selbst einfach.
Wenn Sie eine Reihe von ausführbaren Dateien schützen,
implementiert HASP HL Envelope mit seiner Multi-LayerUmhüllungs-Technologie für jede ausführbare Datei eine andere
Schutzstrategie. Die Variation der Schutzstrategien macht es viel
schwieriger, eine Anwendung zu verstehen und zu knacken.
HASP HL Envelope Schutzabwägungen
Wenn Sie HASP HL Envelope verwenden, müssen Sie zwischen
dem Grad des Schutzes und Folgendem abwägen:
• Größe der geschützten Anwendungen
• notwendige Startzeit der geschützten Anwendungen
Wenn der Grad des Schutzes hoch gesetzt wird, vergrößert sich
die Datei und die geschützte Anwendung braucht länger zum
Starten.
Wenn Dateigröße oder Startzeit der geschützten Anwendung
nicht relevant sind, können entsprechend die höchsten
Schutzlevels in HASP HL Envelope gesetzt werden.
Die Standardeinstellungen in HASP HL Envelope bieten einen
optimalen Ausgleich zwischen Sicherheit und Erwägungen
hinsichtlich der Benutzerfreundlichkeit der geschützten
Anwendung. HASP HL Envelope fügt der Anwendung einen
effektiven Schutzschild hinzu und optimiert Dateigröße und
Startzeit der geschützten Anwendung.
108
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Schutz
Schutzstrategien
Hintergrundabfragen ermöglichen
Stellen Sie sicher, dass Sie die Einstellungen für die
Hintergrundabfragen aktivieren. Wenn ein Benutzer den HASP
HL entfernt, um die geschützte Software auf einem anderen
Terminal zu laden, weist die geschützte Software den Benutzer
an, den Key wieder anzuschließen; ansonsten funktioniert die
Software nicht mehr. Weitere Informationen erhalten Sie im
Kapitel "Schutzeigenschaften" (Seite 87) oder in der OnlineHilfe zu HASP HL Envelope.
HASP HL Software aktualisieren
Sie sollten die HASP HL Schutzsoftware regelmäßig
aktualisieren. Updates werden auf der Aladdin UnternehmensWebsite veröffentlicht.
Sie können für den Zugriff auf die Aladdin-Website den Link in
der Vendor Center-Suite verwenden, um die neuesten Versionen
der HASP HL Software herunterzuladen.
Aladdin Knowledge Systems tut alles, um seine SoftwareSchutztechnologie zu pflegen und sicherzustellen, dass sie
immer auf dem neuesten Stand ist. HASP HL Software-Updates
werden regelmäßig herausgegeben, um neue Themen des
Softwareschutzes zu berücksichtigen.
Um Ihr System ausreichend zu schützen, sollten Sie immer die
aktuellste Technologie verwenden.
HASP HL Softwareschutz- und Lizenzierungshandbuch
109
Schutzstrategien
110
Aladdin Knowledge Systems Ltd © 2004.
Kapitel 8
Überblick über die
Lizenzierung mit HASP HL
Dieses Kapitel bietet einen Überblick und eine Einführung in
das Lizenzieren mit HASP HL. Es behandelt folgende Themen:
• Schlüsselkonzepte der Lizenzierung mit HASP HL
• verfügbare HASP HL Hardware und Software für die
Lizenzierung
• Planung Ihrer HASP HL Lizenzierungsmodelle
• Arbeiten mit HASP HL Lizenzierung
Die folgenden zwei Kapitel behandeln detailliert die für die
HASP HL Lizenzierung verwendete Software.
Informationen über die HASP HL Factory finden Sie im Kapitel
"Lizenzierung mit der HASP HL Factory" (Seite 123).
Informationen über das Remote Update System finden Sie im
Kapitel "Remote Update System" (Seite 143).
HASP HL Softwareschutz- und Lizenzierungshandbuch
111
Überblick über die Lizenzierung mit HASP HL
Schlüsselkonzepte der Lizenzierung mit
HASP HL
Das Verstehen der grundlegenden Lizenzierungskonzepte des
HASP HL Systems erleichtert Ihnen die Verwendung des
Systems für Ihre Lizenzierungsanforderungen. Wenn Sie die
Konzepte verstanden haben, können Sie einschätzen und planen,
wie Sie das HASP HL System am besten für Ihre speziellen
Lizenzierungsbedürfnisse verwenden.
Folgende Konzepte werden in diesem Abschnitt behandelt:
• Protect Once-Deliver Many™
• Feature
• Lizenz
• Update
• Gleichzeitiger Zugriff
Protect Once-Deliver Many™
Dieses Konzept wurde im Kapitel über die HASP HL Konzepte
eingeführt – siehe "Protect Once-Deliver Many™" (Seite 15).
Für die Lizenzierung sind folgende Punkte wichtig und werden
deshalb hier wiederholt:
a. Im HASP HL System werden Lizenzierung und Schutz
als zwei unterschiedliche und getrennte Prozesse
behandelt. Sie schützen Ihre Software, indem Sie eine
oder beide der HASP HL Schutzmethoden verwenden:
• HASP HL API, siehe "Schutz mit der HASP HL API"
(Seite 61).
112
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Lizenzierung
Überblick über die Lizenzierung mit HASP HL
• HASP HL Envelope, siehe "Schutz mit HASP HL
Envelope" (Seite 79).
Für die HASP HL Lizenzierung spielt es keine
Rolle, wie Sie den Schutz auf Ihre Software
angewendet haben.
b. Lizenzierung ist ein fortlaufender Prozess, der auch
fortgeführt wird, nachdem das Programm geschützt
wurde. Während der Schutz nur mit Sicherheitsthemen zu
tun hat und einmal implementiert wird, ermöglicht das
HASP HL System einen sich mit der Zeit entwickelnden
und sich ändernden Lizenzierungsprozess. Deshalb
brauchen Sie Ihre Software nicht noch einmal zu schützen
und wertvolle Entwicklungs- und Testressourcen zu
verwenden, wenn Sie ein Lizenzierungsmodell einführen
oder ändern. Das System bietet Ihnen die erforderlichen
Werkzeuge, um Lizenzen für Ihre geschützte Software zu
ändern und zu aktualisieren.
Features
Im HASP HL System kann ein Feature eine ganze Anwendung,
eine ausführbare Datei oder eine spezielle Funktion wie
"Drucken", "Speichern" oder "Zeichnen" sein. Features sind die
Teile Ihrer Software, die Sie in Hinsicht auf Benutzerzugriff und
Vertrieb unabhängig voneinander kontrollieren möchten.
Lizenzen
Eine Lizenz besteht aus der Verknüpfung eines Features mit
spezifischen Lizenzbedingungen und kann innerhalb einer mit
HASP HL geschützten Anwendung abgefragt werden. Lizenzen
werden mit der HASP HL Software erstellt und in einem HASP
HL Key gespeichert.
HASP HL Softwareschutz- und Lizenzierungshandbuch
113
Überblick über die Lizenzierung mit HASP HL
Updates
Updates sind Änderungen der in einem HASP HL Key
gespeicherten Lizenzen. Updates können bestehende
Lizenzierungsinformationen überschreiben oder ergänzen. Mit
HASP HL brauchen Sie Ihre eingesetzten Keys nicht
zurückzufordern, um Lizenzen zu aktualisieren, Sie können die
Updates remote durchführen.
Gleichzeitiger Zugriff
Gleichzeitiger Zugriff ist ein spezieller Lizenzierungsbegriff,
der Lizenzen in einem Netzwerk betrifft. Gleichzeitiger Zugriff
bezieht sich auf den gleichzeitigen Zugriff und die gleichzeitige
Verwendung lizenzierter Features. Er wird über ein spezielles
HASP HL Dienstprogramm kontrolliert – den HASP License
Manager, der bei Ihrem Kunden vor Ort eingesetzt wird.
Weitere Informationen erhalten Sie im Kapitel "HASP License
Manager" (Seite 171).
114
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Lizenzierung
Überblick über die Lizenzierung mit HASP HL
Verfügbare HASP HL LizenzierungsTechnologie
Dieser Abschnitt gibt einen Überblick über die gesamte im
HASP HL System verfügbare Software und Hardware für die
Lizenzierung Ihrer geschützten Software.
Hardware
Tabelle 8.1 führt die verfügbaren HASP HL Modelle auf, die
zum Lizenzieren verwendet werden können, sowie die mit
jedem Modell einsetzbaren Lizenzbedingungen auf.
Tabelle 8.1 Lizenzierungsfähigkeiten der HASP HL Hardware
HardwareModell
Max.
Lizenzen
Highlights
HASP HL Pro
16
Aktivierungen
Speicher
HASP HL Max
112
Aktivierungen
Speicher
HASP HL Time
112
Aktivierungen
Speicher
Echtzeituhr
HASP HL Net
112
Aktivierungen
Speicher
Netzwerkumgebung
HASP HL Softwareschutz- und Lizenzierungshandbuch
115
Überblick über die Lizenzierung mit HASP HL
Software
Das HASP HL System bietet Ihnen Software auf dem neuesten
Stand, mit der Sie Lizenzen für Ihre geschützten Anwendungen
erstellen und verwalten können. Folgende Software wird für die
Lizenzierung verwendet:
• HASP HL Factory – ist Teil der Programmsuite Vendor
Center. Verwenden Sie dieses Werkzeug, um Lizenzen für
Ihre geschützte Software zu definieren und in Keys zu
schreiben. Weitere Informationen erhalten Sie im Kapitel
"Lizenzierung mit der HASP HL Factory" (Seite 123).
• HASP HL RUS – Dieses Dienstprogramm wird beim
Endanwender eingesetzt und zum Aktualisieren von HASP
HL Lizenzen verwendet. Weitere Informationen erhalten Sie
im Kapitel "Remote Update System" (Seite 143).
• HASP License Manager (LM) – wird nur in Verbindung
mit HASP HL Net-Keys verwendet. Diese Anwendung wird
an Endanwender ausgeliefert. Weitere Informationen
erhalten Sie im Kapitel "HASP License Manager bedienen"
(Seite 175).
Lizenzierung mit HASP HL planen
Damit Sie den größtmöglichen Nutzen von den
Lizenzierungsmöglichkeiten mit HASP HL haben, sollten Sie
vorher eine genaue Planung durchführen.
Mit HASP HL Factory können Sie Lizenzierungselemente
definieren, die Sie für die Einrichtung Ihrer
Lizenzierungsmodelle verwenden können. Folgende Fragen
sollten Sie bedenken:
1. Welche Features innerhalb der geschützten Software sollen
lizenziert werden?
2. Wie sollen diese Features lizenziert werden?
3. Wie können diese Features am besten kombiniert werden, um
Vertriebs- oder Geschäftsmodelle zu unterstützen?
116
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Lizenzierung
Überblick über die Lizenzierung mit HASP HL
Features aus der Software herleiten
Im ersten Schritt bei der Evaluation und Planung Ihrer
Lizenzierungsanforderungen sollten Sie die funktionalen
Komponenten Ihrer Software verstehen. Die meisten
Programme können in mehrere funktionale Komponenten
aufgeschlüsselt werden.
Die Aufteilung Ihrer Programme in Features ist ein wesentlicher
Teil der Vorbereitung eines Lizenzierungsmodells. Wir
empfehlen Ihnen, eine Liste der Features zusammenzustellen,
die Sie anschließend lizenzieren möchten.
Ein fiktives Unternehmen, das Designsoftware für die
Bauindustrie anbietet, legt zum Beispiel drei bestimmte Features
fest, die es lizenzieren möchte:
• Berichte drucken – BERICHT DRUCKEN
• Projekte speichern – SPEICHERN
• Projektberichte generieren – BERICHTGENERATOR
Den Features BERICHT DRUCKEN, SPEICHERN und
BERICHTGENERATOR kann, wie in Tabelle 8.2 gezeigt,
jeweils eine bestimmte Nummer zugewiesen werden.
HASP HL Softwareschutz- und Lizenzierungshandbuch
117
Überblick über die Lizenzierung mit HASP HL
Tabelle 8.2 Beispiel für eine Featureliste
Featureliste
zugewiesene
Nummer
Feature
BERICHT DRUCKEN
34
SPEICHERN
4
BERICHTGENERATOR
48
Verwenden Sie HASP HL Factory, um die Liste einzuarbeiten.
Weitere Informationen erhalten Sie im Kapitel "Features
Identifizierungskennzeichen zuweisen" (Seite 128).
Features zu "Paketen" kombinieren
Sobald Sie Features für die Lizenzierung identifiziert haben,
können Sie Pakete erstellen, die im Wesentlichen
Kombinationen dieser Features sind.
Mit HASP HL Factory können Sie Pakete mit den Features
erstellen, die Sie in Ihrem System definiert haben. Weitere
Informationen erhalten Sie im Kapitel "Pakete" (Seite 129).
Sie könnten zum Beispiel ein "Test"-Paket erstellen, das für
Kunden bestimmt ist, die Ihre Software testen. In diesem Fall
würden Sie nur eine minimale Kombination von Features
einbeziehen. Sie könnten auch ein "Enterprise"-Paket
definieren, das alle Features enthält und sich an große
Firmenkunden wendet. Dazwischen richtet sich ein "Single
User"-Paket an kleine Kunden. Dieses Paket bietet mehr
Funktionen als die im Test-Paket verfügbaren, aber weniger als
die im Enterprise-Paket angebotenen.
In HASP HL Factory definieren Sie Pakete, aber es ist Ihnen
überlassen, zu entscheiden, welche Art von Paketen Sie erstellen
möchten und was sie enthalten sollen.
118
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Lizenzierung
Überblick über die Lizenzierung mit HASP HL
Tabelle 8.3 Beispielpakete und ihr Inhalt
Feature
Test
Single User
Enterprise
BERICHT
DRUCKEN
Enthalten
Bedingungen: 5
Aktivierungen pro
Lizenz
Enthalten
Bedingungen: 500
Aktivierungen pro
Lizenz (Test)
Enthalten
Bedingungen:
unbegrenzte
Verwendung
SPEICHERN
Enthalten
Bedingungen: 5
Aktivierungen pro
Lizenz
Enthalten
Bedingungen:
unbegrenzte
Verwendung
Enthalten
Bedingungen:
unbegrenzte
Verwendung
BERICHTGENERATOR
nicht enthalten
Enthalten
Bedingungen: vom
Ablaufdatum
abhängig
Enthalten
Bedingungen: bis
zu 250 simultane
Stationen
Tabelle 8.3 fasst die drei Paketoptionen für das BeispielSoftwareunternehmen zusammen. Das Feature
BERICHTGENERATOR ist im Test-Paket nicht verfügbar. Die
Pakete "Single User" und "Enterprise" enthalten dieselben
Features, haben aber unterschiedliche Lizenzbedingungen für
jedes lizenzierte Feature.
Lizenzierungs-Features
Mit HASP HL können Sie Features mit LizenzierungsFormularen kontrollieren. Diese Formulare definieren
bestimmte Bedingungen, die die Verwendung der betreffenden
Features unabhängig voneinander kontrollieren. Sie können die
Featureverwendung durch eine Lizenz kontrollieren, indem Sie:
• einen Startzähler für ein Feature einstellen
• ein Ablaufdatum für ein Feature einstellen
• die simultane Verwendung eines Features kontrollieren
HASP HL Softwareschutz- und Lizenzierungshandbuch
119
Überblick über die Lizenzierung mit HASP HL
Die HASP HL Factory bietet für jeden Typ von Featurekontrolle
ein eigenes Lizenzformular.
In dem in Tabelle 8.3 gezeigten Beispiel hat das fiktive
Softwareunternehmen festgelegt, wie es Bedingungen für die
Verwendung der in mehreren Paketen enthaltenen Features
definieren möchte. Obwohl die Pakete Single User und
Enterprise dieselben Features enthalten, unterliegt die
Featureverwendung anderen Bedingungen.
Das Unternehmen müsste HASP HL Net mit seinem EnterprisePaket ausliefern, um die simultane Verwendung des
BERICHTGENERATOR-Features zu kontrollieren, während
mit dem Singel User-Paket HASP HL Time ausgeliefert würde,
weil nur dieses HASP HL Modell eine Echtzeituhr enthält, um
das Ablaufdatum zu überwachen.
Die Wahl der mit Ihrer geschützten Software ausgelieferten
HASP HL Modelle sollte reflektieren, wie Sie die Verwendung
oder den Zugriff auf ein lizenziertes Feature kontrollieren
möchten.
120
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Lizenzierung
Überblick über die Lizenzierung mit HASP HL
HASP HL Lizenzierung im Einsatz
Dieser Abschnitt bietet einen Überblick, wie die HASP HL
Lizenzierungswerkzeuge verwendet werden, um
Lizenzierungsmodelle zu implementieren und anzuwenden.
Phase 1. Verwenden Sie HASP HL Factory, um
Elemente zu definieren.
Nachdem Sie Ihre Lizenzierungsmodelle geplant haben,
verwenden Sie die HASP HL Factory, um Ihre Features,
Lizenzbedingungen und Pakete zu definieren. Das Werkzeug
hilft Ihnen auch bei der Entscheidung, welches der in
Tabelle 8.1 (Seite 115) aufgelisteten HASP HL Modelle am
besten für Ihre Lizenzierungsmodelle geeignet ist.
Wenn Sie in der HASP HL Factory Features definiert
haben, exportieren Sie die Liste der Features und
geben Sie sie Ihren Software-Entwicklern. Bei der
Implementierung der festgelegten
Identifizierungskennzeichen für jedes Feature dient
diese Liste als Grundlage. Weitere Informationen
über die Schutzseite der FeatureIdentifizierungskennzeichen erhalten Sie im Kapitel
"HASP HL API-Login-Funktion" (Seite 71).
Phase 2. Verwenden Sie die HASP HL Factory, um
Aufträge zu erstellen.
Verwenden Sie die in Phase 1 definierten
Lizenzierungselemente, um Aufträge für Ihre Kunden zu
erstellen. Aufträge in der HASP HL Factory schreiben
Lizenzbedingungen in einen HASP HL Key. Weitere
Informationen erhalten Sie im Kapitel "Auftrag erstellen"
(Seite 134).
HASP HL Softwareschutz- und Lizenzierungshandbuch
121
Überblick über die Lizenzierung mit HASP HL
Phase 3. Verwenden Sie die HASP HL Factory, um
Aufträge auszuführen.
Die Lizenzierungsdaten des Auftrags werden im Key
gespeichert. Weitere Einzelheiten finden Sie im Kapitel
"Aufträge ausführen" (Seite 138).
Phase 4. Liefern Sie Software und Keys aus.
Liefern Sie die Keys, die die Lizenzen enthalten, zusammen mit
Ihrer geschützten Software an Ihre Kunden aus. Stellen Sie
sicher, dass Sie Ihren Kunden die benötigten Treiber zur
Verfügung stellen, damit die HASP HL Keys auf ihren
Systemen laufen. Weitere Informationen erhalten Sie im Kapitel
"HASP HL Driver und Daemons bereitstellen" (Seite 155). An
Kunden, denen Sie HASP HL Net-Keys geliefert haben, sollten
Sie auch den HASP License Manager liefern. Weitere
Einzelheiten finden Sie im Kapitel "HASP License Manager"
(Seite 171).
Phase 5. Aktualisieren Sie die beim Kunden
eingesetzten Lizenzen.
Mit HASP HL können Sie Lizenzen aktualisieren, die vor Ort
bei Ihrem Kunden eingesetzt werden. Weitere Einzelheiten
finden Sie im Kapitel "Remote Update System" (Seite 143).
Verwenden Sie das Dienstprogramm HASP HL RUS, um
Informationen über eingesetzte HASP HL Keys zu erhalten und
Updates zu liefern. Die Updates werden mit der HASP HL
Factory erstellt. Weitere Informationen erhalten Sie im Kapitel
"Aufträge über das Remote Update System ausführen"
(Seite 139).
122
Aladdin Knowledge Systems Ltd © 2004.
Kapitel 9
Lizenzierung mit der HASP HL
Factory
Dieses Kapitel beschreibt, wie Sie mit der HASP HL Factory
Ihre Lizenzierungsmodelle erstellen, verwalten und umsetzen.
Es behandelt folgende Themen:
• Voraussetzungen für die Verwendung der HASP HL
Factory
• Datenstrukturen in der HASP HL Factory
• HASP HL Factory-Aufträge erstellen
• HASP HL Factory-Aufträge ausführen
Einleitung
Die HASP HL Factory ist eines der drei Programme der
Programmsuite Vendor Center. Hauptsächlich soll Ihnen das
Programm ermöglichen, Lizenzierungsdaten zu definieren und
zu erstellen, die im HASP HL Key gespeichert werden. Die
HASP HL Factory dient ferner dazu, Daten direkt in den
Speicher des HASP HL Key zu schreiben oder eine UpdateDatei zu erstellen, die remote in einen bereits eingesetzten Key
geschrieben wird.
HASP HL Softwareschutz- und Lizenzierungshandbuch
123
Lizenzierung mit der HASP HL Factory
Im Gegensatz zu HASP HL Werkzeugen, die Ihre Software
direkt schützen (siehe "Schutz mit HASP HL Envelope"
(Seite 79) oder "Schutz mit der HASP HL API" (Seite 61)),
kommuniziert die HASP HL Factory nicht mit Ihrer Software
und benötigt auch keines Ihrer Software-Elemente.
Die HASP HL Factory wird als Lizenzierungswerkzeug
verwendet, mit dem Sie Lizenzierungselemente für Ihre
geschützten Anwendungen definieren und Lizenzen in die
HASP HL Keys schreiben. Die HASP HL Factory dient ferner
dazu, bestimmte Daten in den Speicher eines HASP HL Key zu
schreiben.
Mit der HASP HL Factory können Sie die in HASP HL Keys
gespeicherten Lizenzen entweder direkt anzeigen, sofern der
Key zur Verfügung steht und an Ihren Rechner angeschlossen
ist, oder remote über das Remote Update System einsehen.
Ihre Version der HASP HL Factory enthält ein Beispiel
(Sample), das die Datenstrukturen für die verschiedenen
Lizenzierungselemente veranschaulicht. Außerdem bietet die
HASP HL Factory eine Online-Hilfe.
Voraussetzungen für die HASP HL Factory
Für die erfolgreiche Verwendung der HASP HL Factory müssen
auf drei Ebenen bestimmte Voraussetzungen erfüllt sein:
• Software
• Hardware
• Planung der Lizenzierungsmodelle
Software-Voraussetzungen
Auf Ihrem System müssen folgende Elemente installiert sein:
• HASP HL Driver oder Daemons
• HASP HL Software einschließlich der Programmsuite
Vendor Center
124
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Lizenzierung
Lizenzierung mit der HASP HL Factory
• Ein gültiger, im Verzeichnis Vendorcodes gespeicherter
Vendor Code. Weitere Informationen erhalten Sie im
Kapitel "Vendor Code aus dem Master HASP HL
extrahieren" (Seite 64). Wenn Sie den HASP HL DemoKey verwenden, der im HASP HL Developer Kit
enthalten ist, steht auch immer der DEMOMA Vendor
Code zur Verfügung.
• Ein beliebiges der folgenden Windows-Betriebssysteme:
Windows 2000/XP oder neuere Windows-Plattformen.
Hardware-Voraussetzungen
Wenn Sie mit der HASP HL Factory Aufträge ausführen
möchten, benötigen Sie Folgendes:
• Einen Master HASP HL mit einem speziellen Batch
Code. Neue Master HASP HL Keys können Sie über die
HASP HL Factory einführen.
Wenn Sie die HASP HL Factory testen, können
Sie das mitgelieferte Beispiel (Sample) zum
Ausführen von Aufträgen verwenden. Das
Beispiel ist ein integriertes Batch-Programm, das
keinen Master HASP HL benötigt.
• Einen HASP HL, in dem Sie den Auftrag speichern.
Dieser Key muss Ihren speziellen
Lizenzierungsanforderungen entsprechen. Weitere
Informationen zu den Lizenzierungsfunktionen der
einzelnen HASP HL Modelle finden Sie im Kapitel
"Lizenzierungsfähigkeiten der HASP HL Hardware"
(Seite 115).
HASP HL Softwareschutz- und Lizenzierungshandbuch
125
Lizenzierung mit der HASP HL Factory
Planungsvoraussetzungen
Wie im vorhergehenden Kapitel bereits erwähnt, sollten Sie vor
dem Einsatz der HASP HL Factory Ihre
Lizenzierungsanforderungen abschätzen und planen. Weitere
Informationen erhalten Sie im Kapitel "Lizenzierung mit HASP
HL planen" (Seite 116).
Nachdem Sie Ihre Lizenzierungsanforderungen festgelegt
haben, sollten Sie sich anhand des mitgelieferten Beispiels mit
den Datenstrukturen der HASP HL Factory vertraut machen.
Datenstrukturen in der HASP HL Factory
Folgende Elemente stellen die grundlegenden Datenstrukturen
dar, die in der HASP HL Factory verwendet werden:
• Batches
• Features
• Pakete
• Aufträge
Batches
Wenn Sie HASP HL Keys bestellen, wird Ihrem Unternehmen
ein Batch zugewiesen. Dieses zugewiesene Batch wird für die
Abwicklung von Aufträgen Ihres Unternehmens verwendet.
Sämtliche für ein Batch produzierte Keys werden mit einem
bestimmten und einzigartigen Code versehen. Daher zeigen
Keys, die zu einem bestimmten Batch gehören, ein einzigartiges
Verhalten bei der Ver- und Entschlüsselung.
126
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Lizenzierung
Lizenzierung mit der HASP HL Factory
Batches werden in der HASP HL Factory zum Definieren von
Features und Paketen sowie zum Ausführen von Aufträgen
verwendet. In der Regel ist ein einzelnes Batch ausreichend, um
alle Ihre Produkte zu lizenzieren. In der HASP HL Factory wird
jedoch ein neues Batch hinzugefügt, wenn ein Master HASP HL
mit neuen Batch-Daten im System eingeführt wird. Diese Daten
umfassen folgende Elemente:
• einen Batch Code – Ein fünf bis acht Zeichen
umfassender eindeutiger Code, der jedem HASP HL
Kunden zugewiesen wird und der speziell für die
Bestellung von Keys verwendet wird. Der Code ist auf
das HASP HL Etikett jedes Keys aufgedruckt.
• einen Vendor Code – Dieser eindeutige Code wird vom
HASP HL System für den Schutz von Software und die
Erstellung von Lizenzen benötigt. Weitere Informationen
erhalten Sie im Kapitel "Vendor Codes extrahieren"
(Seite 50).
Master HASP HL Keys mit neuen Batch-Daten werden beim
Starten der HASP HL Factory erkannt. Wenn Sie dieses
Programm verwenden, können Sie das System jederzeit
auffordern, einen neuen Master HASP HL aufzunehmen,
nachdem Sie den Key mit den neuen Batch-Daten
angeschlossen haben.
Sobald ein Batch in die HASP HL Factory aufgenommen ist,
können Sie die Features und Pakete definieren, die zu diesem
Batch gehören.
Features
Features gehören wie Pakete zu den Lizenzierungselementen,
die die Lizenzierung geschützter Anwendungen erleichtern. Mit
der HASP HL Factory können Sie die Verwendung der in Ihrer
Software enthaltenen Features definieren und kontrollieren.
Features werden als Teil der einzelnen Batches in der HASP HL
Factory angezeigt.
HASP HL Softwareschutz- und Lizenzierungshandbuch
127
Lizenzierung mit der HASP HL Factory
Features Identifizierungskennzeichen zuweisen
Um ein Feature in der HASP HL Factory zu definieren, muss
diesem im Wesentlichen ein eindeutiges numerisches
Identifizierungskennzeichen und ein Name zugewiesen werden.
Wenn das Feature im System gespeichert ist, wird es mittels des
zugewiesenen Namens und der zugewiesenen Nummer im
System verwaltet. Die HASP HL Factory stellt sicher, dass
dasselbe Identifizierungskennzeichen nur einem Feature
zugewiesen wird. In der Regel bleibt die zugewiesene Nummer
während des gesamten Produktlebenszyklus unverändert.
Verfügbare Identifizierungskennzeichen
Nachfolgende Tabelle 9.1 zeigt die verfügbaren ProgrammNummernbereiche für die einzelnen HASP HL Modelle. Null ist
für das Default Feature reserviert. Dabei handelt es sich um ein
transparentes Feature, das immer zur Verfügung steht, wenn der
erforderliche HASP HL Key angeschlossen ist. Das Default
Feature muss nicht mit der HASP HL Factory konfiguriert
werden und übernimmt die Einstellungen vom angeschlossenen
HASP HL Key.
Tabelle 9.1 Verfügbare Programm-Nummern für HASP HL
Modelle
HASP HL
Modell
ProgrammNummern
HASP HL Basic
n/a
HASP HL Pro
1 bis 16
HASP HL Max
1 bis 112
HASP HL Net
1 bis 112
HASP HL Time
1 bis 112
Sobald Sie Features in der HASP HL Factory eingeführt haben,
können Sie mit diesen Features Pakete oder Aufträge erstellen.
128
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Lizenzierung
Lizenzierung mit der HASP HL Factory
Pakete
Ein Paket ist eine Kombination folgender Elemente:
• Features
• Lizenzbedingungen der verwendeten Features
• Daten, die in den Speicher eines HASP HL Key geschrieben
werden.
Um die Lizenzierung geschützter Anwendungen zu
vereinfachen, werden in der HASP HL Factory Pakete definiert.
Pakete werden als Teile der einzelnen Batches in der HASP HL
Factory angezeigt.
Pakete erstellen
Um in der HASP HL Factory ein Paket zu erstellen, müssen Sie
zunächst einen Paketnamen zuweisen. Anschließend können Sie
mit einem der folgenden Schritte fortfahren:
• Ein definiertes Feature in das Paket aufnehmen. Dadurch
wird das Feature Teil der Paketeigenschaften.
• Input definieren, der in den Speicher eines HASP HL Key
geschrieben werden soll. Dadurch werden die
Speichereingaben Teil der Paketeigenschaften.
Pakete sind gültig, wenn sie über mindestens eine der oben
beschriebenen Eigenschaften verfügen.
Lizenzbedingungen für Features
Wenn Sie einem Paket ein Feature hinzufügen, müssen Sie
Lizenzbedingungen für das Feature definieren. Ihre
Lizenzierungspläne (siehe "Lizenzierung mit HASP HL planen"
auf Seite 116) bestimmen die Wahl der Lizenzbedingungen.
HASP HL Softwareschutz- und Lizenzierungshandbuch
129
Lizenzierung mit der HASP HL Factory
Lizenzformen
Lizenzbedingungen werden in der HASP HL Factory über
Lizenzformen definiert. Die HASP HL Factory bietet drei
HASP HL-Lizenzformen:
• Counter – zum Steuern der Anzahl möglicher Aktivierungen
eines Features.
• Timer – zum Steuern des Ablaufdatums eines Features.
• Net – zum Kontrollieren der simultanen Verwendung eines
Features.
Unabhängig von der gewählten Lizenzform gibt es drei
Möglichkeiten, die eigentlichen Lizenzbedingungen zu
definieren:
• Wählen Sie Setzen, wenn die definierten
Lizenzbedingungen alle im HASP HL Key vorhandenen
Lizenzierungsinformationen überschreiben sollen. In der
Regel verwenden Sie die Option Setzen für Pakete, in
denen die Lizenzbedingungen einen festen Wert enthalten
sollen.
• Wählen Sie Addieren, wenn die definierten
Lizenzbedingungen vorhandene
Lizenzierungsinformationen im HASP HL Key ergänzen
sollen. In der Regel verwenden Sie die Option Addieren
für Pakete, bei denen Sie die Lizenzbedingungen
hinzufügen möchten, ohne die Daten im Key zu
überschreiben.
130
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Lizenzierung
Lizenzierung mit der HASP HL Factory
• Verwenden Sie Entfernen, um eine bestimmte
Lizenzbedingung für ein Feature in einem HASP HL Key
außer Kraft zu setzen. In der Regel verwenden Sie die
Option Entfernen, um ein bestimmtes lizenziertes
Feature zu deaktivieren.
Im HASP HL Lizenzierungssystem wird eine
Dauerlizenz vergeben, indem Counter auf einen
unbegrenzten Wert gesetzt wird.
Speichereingabe für Pakete
Mit dem Memory Content Editor der HASP HL Factory legen
Sie die Daten fest, die in den Speicher eines HASP HL Key
geschrieben werden sollen. Diese Daten können als Teil eines
Pakets definiert werden. Der Input für den Speicher kann für
eine bestimmte Position bestimmt sein, d. h. Sie können
verschiedene Input-Blöcke in verschiedene Speicherbereiche
schreiben. Der HASP HL Speicher kann so mehrfachen Input
für verschiedene Pakete aufnehmen.
Sie können Daten in Binärform oder im ASCII-Format
eingeben. Bei der Dateneingabe für den Speicher haben Sie
folgende Möglichkeiten:
• Zuweisung eines eindeutigen Codes für jeden
Softwarebenutzer
• Speichern von Passwörtern, Programmcode,
Programmvariablen und beliebiger anderer Daten
Mithilfe mehrerer Pakete können Sie eine
Kombination aus Speicherblöcken im Speicher
eines eingesetzten HASP HL Key erstellen.
HASP HL Softwareschutz- und Lizenzierungshandbuch
131
Lizenzierung mit der HASP HL Factory
Aufträge
Ein Auftrag sind Lizenzierungsdaten, die in einen HASP HL
Key geschrieben werden. Die Lizenzierungsdaten umfassen
Definitionen zur Art der Kontrolle der geschützten Features und
legen fest, wie Änderungen am Speicherinhalt eines Key
vorgenommen werden.
Wenn ein Auftrag zum ersten Mal in einen Key geschrieben
wird, wird der Key initialisiert, und das im Auftrag angegebene
Lizenzierungsmodell wird aktiviert.
In der HASP HL Factory gibt es drei Arten von Aufträgen:
• Aufträge, die in einen beliebigen HASP HL geschrieben
werden, der Ihren Lizenzierungsanforderungen entspricht.
Diese Aufträge werden in 'leere Lizenzcontainer' in die
HASP HL Keys geschrieben. In diesem Fall gehen sämtliche
in den Keys bereits vorhandenen Daten verloren.
• Aufträge, die Updates für bestimmte HASP HL Keys
enthalten. Wenn die Keys vor Ort zur Verfügung stehen,
können Sie die Updates direkt mit der HASP HL Factory in
die Keys schreiben, um die in den Keys vorhandenen Daten
zu ändern.
• Aufträge, die Updates für bestimmte HASP HL Keys
enthalten, die derzeit im Einsatz sind und nicht vor Ort zur
Verfügung stehen. Diese Aufträge werden mit dem Remote
Update System ausgeführt.
Mit der HASP HL Factory können Sie mehrere
Aufträge ausführen. Wählen Sie einfach alle
bestehenden Aufträge aus, die Sie ausführen
möchten.
Die HASP HL Factory zeigt alle Aufträge an, deren Ausführung
noch ansteht. So lassen sich Auftragsverarbeitung und
Auftragserstellung besser trennen.
132
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Lizenzierung
Lizenzierung mit der HASP HL Factory
Nach der Ausführung werden Aufträge in der internen
Datenbank der HASP HL Factory erfasst und nicht mehr
angezeigt.
HASP HL Factory-Aufträge erstellen
Voraussetzungen
Um einen Auftrag zu erstellen, benötigen Sie Folgendes:
• Master HASP HL. Zum Testen der Erstellung und
Ausführung von Aufträgen steht Ihnen ein Beispiel (Sample)
in der HASP HL Factory zur Verfügung.
• Ihren eigenen, in der HASP HL Factory definierten BatchEintrag. Zu Testzwecken können Sie das mitgelieferte
Beispiel verwenden.
• einen HASP HL, in den Sie den Auftrag schreiben.
• optional: In der HASP HL Factory definierte Features und
Pakete.
Um die Erstellung von Aufträgen in der HASP
HL Factory zu vereinfachen, sollten Sie vorher
alle Lizenzierungselemente (Pakete und
Features) definieren.
HASP HL Softwareschutz- und Lizenzierungshandbuch
133
Lizenzierung mit der HASP HL Factory
Phasen
Die Auftragsabwicklung in der HASP HL Factory umfasst zwei
Phasen:
1. Auftrag erstellen.
2. Auftrag ausführen.
Diese zwei Phasen vereinfachen die
Arbeitsteilung zwischen der
Auftragsverarbeitung und Auftragserstellung.
Auftrag erstellen
Um Aufträge in der HASP HL Factory zu erstellen, müssen Sie
für Ihre Aufträge die folgenden Eigenschaften definieren:
Batch
Dies ist der Name des Batches, für das Sie den Auftrag erstellen.
Sämtliche Pakete und Features, die für dieses Batch definiert
sind, können für den Auftrag verwendet werden. Weitere
Informationen erhalten Sie im Kapitel "Batches" (Seite 126).
Name
Ein Identifizierungskennzeichen zur Kennzeichnung des
Auftrags. In der Regel wird hier der Name des
Auftragsempfängers verwendet.
Wenn Keys mit Lizenzierungsdaten an einen
Rechner angeschlossen werden, auf dem die
HASP HL Factory läuft, werden diese vom
System erkannt und ihre Namen werden
angezeigt.
134
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Lizenzierung
Lizenzierung mit der HASP HL Factory
Anmerkung
Dies ist eine optionale Eigenschaft, die eine Beschreibung des
Auftrags enthält.
Auftragsarten
Sie können mit der HASP HL Factory drei Arten von Aufträgen
erstellen:
a. Allgemeine Aufträge. Diese Aufträge enthalten die
ursprünglichen Lizenzen, die in einem Key gespeichert
werden, bevor er mit der geschützten Software an Kunden
geliefert wird. Diese Art des Auftrags initialisiert die
Lizenzierung und den Speicher des HASP HL Key.
b. Updates für angeschlossene Keys. Sobald ein Key
initialisiert ist, können sein Speicherinhalt und die
Lizenzen geändert werden, sofern er an einen Rechner
angeschlossen ist, auf dem die HASP HL Factory läuft.
Sie können die aktuell auf einem Key vorhandenen
Lizenzen ergänzen, zurücksetzen oder löschen. Weitere
Informationen erhalten Sie im Kapitel "Aufträge in einen
angeschlossenen HASP HL Key schreiben" (Seite 138).
c. Updates, die in einen HASP HLKey geschrieben werden,
der beim Kunden im Einsatz ist. In diesem Fall erstellt die
HASP HL Factory das Lizenzupdate und der
Endanwender muss die neuen Daten in den Key
schreiben. Weitere Informationen erhalten Sie im Kapitel
"Update ausführen" (Seite 150).
Features hinzufügen
Sie können Aufträgen nur Features hinzufügen, wenn letztere
bereits in der HASP HL Factory definiert sind.
Je nach Ihren Lizenzierungsplänen müssen Sie beim
Hinzufügen eines Features zu einem Auftrag
Lizenzbedingungen für das Feature definieren. Weitere
Informationen erhalten Sie im Kapitel "Lizenzierung mit HASP
HL planen" (Seite 116).
HASP HL Softwareschutz- und Lizenzierungshandbuch
135
Lizenzierung mit der HASP HL Factory
Lizenzformen
Lizenzbedingungen werden in der HASP HL Factory über
Lizenzformen definiert. Die HASP HL Factory bietet drei
Lizenzformen:
• Counter – zum Steuern der Anzahl möglicher Aktivierungen
eines Features.
• Timer – zum Steuern des Ablaufdatums eines Features.
• Net – zum Kontrollieren der simultanen Verwendung eines
Features.
Unabhängig von der gewählten Lizenzform gibt es drei
Möglichkeiten, die eigentlichen Lizenzbedingungen zu
definieren:
• Wählen Sie Setzen, wenn die definierten
Lizenzbedingungen alle im
HASP HL Key vorhandenen Lizenzierungsinformationen
überschreiben sollen. In der Regel verwenden Sie die
Option Setzen für Aufträge, in denen die
Lizenzbedingungen einen festen Wert enthalten sollen.
• Wählen Sie Addieren, wenn die definierten
Lizenzbedingungen im HASP HL Key vorhandene
Lizenzierungsinformationen ergänzen sollen. In der Regel
verwenden Sie die Option Addieren für Pakete, bei denen
Sie die Lizenzbedingungen hinzufügen möchten, ohne die
Daten im Key zu überschreiben.
• Verwenden Sie Entfernen, um eine bestimmte
Lizenzbedingung für ein Feature in einem HASP HL Key
außer Kraft zu setzen. In der Regel verwenden Sie die
Option Entfernen, um ein bestimmtes lizenziertes
Feature zu deaktivieren.
136
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Lizenzierung
Lizenzierung mit der HASP HL Factory
Paket hinzufügen
Sie können nur Pakete hinzufügen, die in der HASP HL Factory
für das Batch definiert sind, unter dem Sie den Auftrag erstellen.
Sobald das Paket in den Auftrag aufgenommen wurde, werden
sämtliche Paketinhalte, einschließlich Features,
Lizenzbedingungen und Input für den HASP HL Speicher, Teil
des Auftrags. Sie können sämtliche Daten bearbeiten, die in den
Auftrag aufgenommen wurden.
Speicher-Input für den Auftrag
Mit dem Memory Content Editor der HASP HL Factory legen
Sie die Daten fest, die in den Speicher eines HASP HL
geschrieben werden sollen. Diese Daten können als Teil eines
Auftrags definiert werden. Sie können Daten in Binärform oder
im ASCII-Format eingeben. Bei der Dateneingabe für den
Speicher haben Sie folgende Möglichkeiten:
• Zuweisung eines eindeutigen Codes für jeden
Softwarebenutzer
• Speichern von Passwörtern, Programmcode,
Programmvariablen und beliebiger anderer Daten
Der Memory Content Editor zeigt normalerweise
den gesamten Inhalt des HASP HL Speichers an.
Dies ist bei Paketen nicht der Fall. In diesem Fall
zeigt der Editor nur den Teilbereich des Speichers
an, der geändert wird, wenn die Paketdefinition
in einen Key geschrieben wird.
HASP HL Softwareschutz- und Lizenzierungshandbuch
137
Lizenzierung mit der HASP HL Factory
Aufträge ausführen
Sie haben drei Möglichkeiten, Ihre Aufträge mit der HASP HL
Factory auszuführen:
• Sie können einen Auftrag ausführen, der den HASP HL Key
initialisiert. Das ist in der Regel bei einem Key der Fall, der
noch nicht bei einem Endanwender eingesetzt wurde. Diese
Art Auftrag ist kein Update für eine vorhandene Lizenz.
• Sie können einen Auftrag direkt in einen HASP HL Key
schreiben, wenn dieser vor Ort zur Verfügung steht und an
den Rechner angeschlossen ist, auf dem die HASP HL
Factory läuft. Ein solcher Auftrag stellt ein Update für eine
vorhandene Lizenz dar.
• Sie können auch ein Update erstellen, das beim Kunden mit
dem Dienstprogramm HASP HL RUS in den Key
geschrieben wird. Ein solcher Auftrag stellt ein Update für
eine vorhandene Lizenz dar.
Aufträge in einen angeschlossenen HASP HL Key
schreiben
Sobald Ihr Auftrag erstellt ist, kann er in einen angeschlossenen
HASP HL Key geschrieben werden. Nach der Ausführung
können Sie einen Auftrag nicht mehr ändern. Aufträge werden
nach der Ausführung in der internen Datenbank der HASP HL
Factory erfasst und nicht mehr angezeigt.
Stellen Sie sicher, dass der Key, in den Sie den Auftrag
schreiben, Ihren Lizenzierungsanforderungen entspricht. Wenn
Ihr Auftrag beispielsweise ein Feature enthält, für das ein
Ablaufdatum festgelegt wurde, muss der Auftrag in einen HASP
HL Time geschrieben werden.
138
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Lizenzierung
Lizenzierung mit der HASP HL Factory
Arbeitsablauf
Sobald ein Auftrag erstellt ist, kann er ausgeführt werden. Dazu
benötigen Sie Folgendes:
• einen Master HASP HL für das Batch, für das der Auftrag
erstellt wurde.
• einen HASP HL – dieser Key speichert den Auftrag.
So führen Sie einen Auftrag aus:
1. Schließen Sie den Master HASP HL für das Batch an, für das
der Auftrag erstellt wurde.
2. Schließen Sie den HASP HL an, in den der Auftrag
geschrieben wird.
Um einen Auftrag auszuführen, der ein Update
für einen bestimmten Key enthält, müssen Sie
genau diesen Key anschließen. Um einen Auftrag
in einen 'beliebigen' Key zu schreiben, können
Sie jeden beliebigen HASP HL anschließen,
solange das Modell den
Lizenzierungsanforderungen des Auftrags
entspricht.
3. Wählen Sie die Aufträge, die Sie ausführen möchten, aus der
Liste, die in der HASP HL Factory angezeigt wird.
4. Führen Sie die Aufträge aus.
Aufträge über das Remote Update System ausführen
Wenn Sie ein Update für eine Lizenz in einen Key schreiben
möchten, der beim Kunden im Einsatz ist, erstellen Sie mit der
HASP HL Factory die Update-Daten für die Lizenz. In der
HASP HL Factory können Sie die Daten für das Update in zwei
Formaten erstellen, die das Remote Update System verarbeiten
kann:
HASP HL Softwareschutz- und Lizenzierungshandbuch
139
Lizenzierung mit der HASP HL Factory
• Als ausführbare Datei, die hasprus.exe enthält. Ihre
Kunden müssen in diesem Fall lediglich die Datei
ausführen.
• Als V2C-Datei. Weitere Informationen zu diesem Format
erhalten Sie im Kapitel "Dienstprogramm HASP HL
RUS" (Seite 148).
Weitere Informationen dazu, wie das HASP HL System remote
Updates handhabt, finden Sie im Kapitel "Remote Update
System" (Seite 143).
Inhalt von HASP HL Keys anzeigen
Mit der HASP HL Factory können Sie den Status eines HASP
HL Key anzeigen, nachdem ein Auftrag in den Key geschrieben
wurde. Der Key muss angeschlossen sein, um die Features und
den Speicherinhalt anzuzeigen.
So zeigen Sie den Inhalt eines HASP HL Key an:
1. Schließen Sie den Key an, dessen Inhalt Sie auslesen
möchten.
2. Wählen Sie HASP HL auslesen aus dem Menü Werkzeuge.
3. Das Fenster Keyeigenschaften enthält folgende
Informationen:
• Batch — Das Identifizierungskennzeichen für das Batch,
mit dem die Lizenzdaten im Key erstellt wurden.
• Name — Der Name des neuesten Auftrags, der in den
Key geschrieben wurde.
• HASP ID — Die eindeutige Seriennummer des Key.
• Hardware – Das HASP HL Modell.
• Features – Klicken Sie auf das Register Features, um die
Liste der beinhalteten Features anzuzeigen.
• Speicher – Klicken Sie auf das Register Speicher, um den
Speicherinhalt des Key anzuzeigen.
140
Aladdin Knowledge Systems Ltd © 2004.
HASP HL Lizenzierung
Lizenzierung mit der HASP HL Factory
Sie können den Inhalt eines beim Kunden eingesetzten Key
auch über eine C2V-Datei auslesen, die Informationen über den
Lizenzstatus eines HASP HL enthält. Weitere Informationen
erhalten Sie im Kapitel "Verwenden des HASP HL RUS"
(Seite 149).
Update für einen bestimmten Key erstellen
Mit der HASP HL Factory können Sie Updates erstellen und
direkt in einen angeschlossenen HASP HL Key schreiben.
1. Zeigen Sie die Key-Eigenschaften an.
2. Klicken Sie auf Update erzeugen.
Mit der Erstellung eines Updates erstellen Sie im Wesentlichen
einen neuen Auftrag für einen bestimmten Key. Der Auftrag lädt
automatisch den gesamten aktuellen Inhalt des Key. Sie können
wählen, ob Sie die vorhandenen Daten im Key ändern oder neue
Daten hinzufügen möchten.
Wenn Sie eines der Features des Key aus der
Liste entfernen, ist dieses vom Update nicht
betroffen. Sämtliche im Fenster Auftrag
bearbeiten angezeigten Features überschreiben
im Key vorhandene Features, wenn der Auftrag
bzw. das Update ausgeführt wird. Um die Lizenz
für ein Feature zu löschen, müssen Sie die Option
Entfernen für die entsprechende Lizenzform
verwenden.
Sobald der Auftrag erstellt und bereit ist, können Sie ihn
mithilfe der HASP HL Factory direkt in den Key schreiben. Sie
können auch eine V2C-Datei generieren, die die aktualisierten
Lizenzinformationen enthält und an Ihre Endanwender geliefert
wird.
HASP HL Softwareschutz- und Lizenzierungshandbuch
141
Lizenzierung mit der HASP HL Factory
Zeit aus HASP HL Keys auslesen
Bevor Sie HASP HL Keys mit Lizenzierungsdaten an Ihre
Kunden ausliefern, können Sie in der HASP HL Factory die
Echtzeituhr (RTC) in HASP HL Time-Keys anzeigen und
einstellen. Weitere Informationen erhalten Sie in der OnlineHilfe der HASP HL Factory.
Die Echtzeituhr ist auf UTC voreingestellt.
142
Aladdin Knowledge Systems Ltd © 2004.
Kapitel 10
Remote Update System
Dieses Kapitel beschreibt das HASP HL Remote Update System
(RUS). Es behandelt folgende Themen:
• Komponenten von HASP HL RUS
• Funktionsweise von HASP HL RUS
• Verwendung des Dienstprogramms hasprus.exe
• Konfiguration des V2C-Output
Konzept
HASP HL RUS ist ein hochentwickelter Mechanismus, mit dem
eingesetzte HASP HL Keys sicher remote aktualisiert werden
können. Mit diesem Mechanismus können Sie die Lizenz und
den Speicher eines HASP HL, der im Besitz Ihres Kunden ist,
aktualisieren. Mit dem System können Sie die folgenden HASP
HL Modelle aktualisieren: HASP HL Pro, HASP HL Max,
HASP HL Net und HASP HL Time.
HASP HL Softwareschutz- und Lizenzierungshandbuch
143
Remote Update System
HASP HL RUS ist eine einfache und sichere Art, Ihre Lizenzen
remote zu verwalten, nachdem Sie Ihre geschützte Software mit
den HASP HL Keys ausgeliefert haben. Sie brauchen nur die
Lizenz zu aktualisieren und Update-Dateien an Ihren Kunden zu
liefern, zum Beispiel per E-mail. Mit HASP HL RUS können
Sie auch Informationen über den aktuellen Stand von Lizenzen
bei Ihrem Kunden vor Ort bekommen. Das System bietet sogar
einen sicheren Mechanismus, um die Lizenzfunktionalität bei
Ihrem Kunden vor Ort zu reduzieren.
Als Teil des grundlegenden Konzepts des HASP HL Systems
ermöglicht das Remote Update System fortlaufendes
Lizenzieren auch lange nachdem der Schutz implementiert
wurde. Weitere Informationen erhalten Sie im Kapitel "Protect
Once-Deliver Many™" (Seite 15).
Wenn Sie HASP HL RUS verwenden, brauchen Sie Keys nicht
von Ihrem Kunden zurückzufordern, wenn Sie die Bedingungen
eines lizenzierten Features ändern möchten.
Komponenten
HASP HL RUS ist aus folgenden Komponenten
zusammengesetzt:
• HASP HL Factory – mit diesem Vendor-Werkzeug werden
die Updates erstellt, die an Endanwender geliefert werden.
Es wird auch zum Lesen der von den Endanwendern
gesendeten Dateien mit dem aktuellen Lizenzierungsstatus
der Keys in ihrem Besitz verwendet. Update-Informationen
werden bequem mit demselben Werkzeug erstellt, das für die
ursprüngliche Erstellung der Lizenzierungsinformationen
verwendet wurde. Updates werden in HASP HL Factory als
ein besonderer Auftragstyp behandelt. Weitere
Informationen über die Erstellung von Aufträgen erhalten
Sie im Kapitel "HASP HL Factory-Aufträge erstellen"
(Seite 133).
144
© 1995-2004 Aladdin Knowledge Systems, Inc.
HASP HL Lizenzierung
Remote Update System
• HASP HL RUS – ist der Name des AktualisierungsDienstprogramms, das an die Endanwender ausgeliefert
wird. Das Dienstprogramm hasprus.exe wird für das
Sammeln von Informationen über den Lizenzierungsstatus
der beim Endanwender eingesetzten Keys verwendet. Es
wird auch verwendet, um Lizenzen zu aktualisieren. Dieses
Dienstprogramm wird von der HASP HL Factory erzeugt
und kann dort angepasst werden.
• C2V-Dateien – Customer-to-Vendor-Dateien enthalten
Lizenzierungsdaten, die Ihnen von Ihren Kunden geschickt
werden. Diese Dateien haben die Erweiterung .c2v und
enthalten Lizenzierungsinformationen der beim Kunden
eingesetzten Keys. Um eine C2V-Datei zu erstellen, müssen
Ihre Kunden eine Schaltfläche in hasprus.exe klicken und die
Informationen speichern. Wenn Sie eine C2V-Datei erhalten,
können Sie ihren Inhalt mit der HASP HL Factory
importieren. Außer den Lizenzierungsinformationen enthält
die C2V-Datei ein Image der Inhalte des eingesetzten HASP
HL Speichers.
• V2C-Dateien – Vendor-to-Customer-Dateien sind die
tatsächlichen Lizenzupdates für eingesetzte HASP HLs. Sie
erstellen diese Dateien mit der HASP HL Factory. Mit der
HASP HL Factory können Sie wählen, ob Sie die V2C-Datei
als selbstausführende Dateien versenden oder als Dateien mit
der Erweiterung .v2c, die Ihre Kunden mit dem
Dienstprogramm HASP HL RUS anwenden. Außer
Lizenzinformationen können Sie Daten hinzufügen, die in
den Speicher eines eingesetzten HASP HL geschrieben
werden.
Das Verhältnis zwischen den verschiedenen Komponenten, die
das HASP HL RUS System bilden, ist in Abbildung 10.1
zusammengefasst.
HASP HL Softwareschutz- und Lizenzierungshandbuch
145
Remote Update System
Abbildung 10.1 HASP HL RUS-Komponenten
146
© 1995-2004 Aladdin Knowledge Systems, Inc.
HASP HL Lizenzierung
Remote Update System
Arbeitsablauf mit dem Remote Update System
Die im vorangegangenen Abschnitt beschriebenen Werkzeuge
und Dienstprogramme unterstützen einen sicheren und
einfachen Arbeitsablauf. Abbildung 10.2 zeigt ein Beispiel für
einen Arbeitsablauf.
Ein Kunde möchte ein lizenziertes Feature aktualisieren und
nimmt Kontakt mit dem Software-Hersteller auf. Bevor ein
Update erstellt werden kann, benötigt der Software-Hersteller
die C2V-Datei für den eingesetzten Key. Diese Datei enthält
sowohl den aktuellen Status der Lizenz beim Kunden vor Ort,
als auch den Inhalt des Speichers des HASP HL.
Abbildung 10.2 Beispiel eines HASP HL RUS-Arbeitsablaufs
HASP HL Softwareschutz- und Lizenzierungshandbuch
147
Remote Update System
Die gesammelten Daten ermöglichen dem Software-Hersteller,
ein auf die Bedürfnisse des Kunden abgestimmtes Update zu
erstellen. Zu keinem Zeitpunkt in diesem Prozess ist es
notwendig, die Sicherheit oder den Schutz auf
Endanwenderseite neu zu konfigurieren. Der SoftwareHersteller erstellt ein Update (V2C-Datei oder ausführbare
Datei), das an den Kunden geliefert wird. Der Endanwender
führt das Update aus.
Dienstprogramm HASP HL RUS
Das Dienstprogramm HASP HL RUS ist die HASP HL
Software, die auf Endanwenderseite für Folgendes verwendet
wird:
• das Sammeln der aktuellen Lizenzdaten (einschließlich des
Speicherinhalts) in den beim Kunden eingesetzten Keys
• das Ausführen von Updates, die dem Kunden vom SoftwareHersteller geschickt wurden
Verwenden Sie das Werkzeug HASP HL Factory, um das
Dienstprogramm für Ihre Kunden zu erstellen und anzupassen.
Sie können eine Kopie des Dienstprogramms mit der weiteren
an Ihre Endanwender ausgelieferten HASP HL Software
zusammenführen. Weitere Informationen darüber, wie und
welche HASP HL Software an Endanwender geliefert wird,
erhalten Sie im Kapitel "HASP HL mit Ihrer Software
ausliefern" (Seite 153).
Sie können HASP HL RUS auch getrennt ausliefern, nachdem
Sie ein Update für ein lizenziertes Feature in Ihrer geschützten
Software erstellt haben. Das Werkzeug HASP HL Factory hat
eine Option, die V2C-Datei in eine ausführbare Datei zu
integrieren. Detaillierte Informationen zu den unterschiedlichen
Konfigurationsmöglichkeiten für die Erstellung des HASP HL
RUS-Dienstprogramms mit HASP HL Factory erhalten Sie in
der Online-Hilfe zu HASP HL Factory.
148
© 1995-2004 Aladdin Knowledge Systems, Inc.
HASP HL Lizenzierung
Remote Update System
Das Dienstprogramm HASP HL RUS hat eine grafische
Benutzeroberfläche (GUI), die zwei Register enthält.
• Sammle Key Status Informationen – Dieses Register wird
zum Sammeln von Informationen über den aktuellen Status
der Lizenzen im HASP HL Key verwendet. Der Benutzer
muss einen Namen und einen Speicherort für die generierte
C2V-Datei angeben.
• Lizenz-Update anwenden – Dieses Register wird zum
Schreiben der V2C-Datei und zum Aktualisieren der
Lizenzen im HASP HL verwendet.
Wenn Sie V2C-Informationen mit der HASP HL Factory
generieren, können Sie den Output so anpassen, dass er beide
oder nur eins der oben beschriebenen Register enthält.
Verwenden des HASP HL RUS
Das Dienstprogramm HASP HL RUS wurde mit
Rücksichnahme auf Ihren Kunden entwickelt. Es ist ein
überschaubarer und einfacher Prozess, die Sammlung der
Lizenzdaten oder die Lizenz-Updatefunktionen zu
implementieren.
HASP HL-Lizenzdaten sammeln
Sie müssen HASP HL RUS mit der HASP HL Factory
anpassen, um alle für das Suchen und Aufspüren Ihres
eingesetzten HASP HL notwendigen Informationen einzufügen.
Um Informationen über den aktuellen Lizenzstatus in einem
HASP HL Key zu sammeln, folgen Sie dem unten
beschriebenen Ablauf.
1. Starten Sie hasprus.exe.
2. Wählen Sie das Register Sammle Key Status
Informationen.
HASP HL Softwareschutz- und Lizenzierungshandbuch
149
Remote Update System
3. Klicken Sie
. Das in
Abbildung 10.3 (Seite 150) dargestellte Fenster Speichere
Key Status unter wird angezeigt.
Abbildung 10.3 Fenster Speichere Key Status unter
4. Navigieren Sie zu dem Verzeichnis, in dem Sie die C2VDatei speichern möchten. Geben Sie einen Dateinamen ein
und klicken Sie Speichern.
5. Sie haben eine C2V-Datei für den HASP HL Key erstellt.
Die Datei kann jetzt zum Ausführen verschickt werden, und
für ein Update verwendet werden.
Update ausführen
Um die in einem HASP HL Key gespeicherten Lizenzen zu
aktualisieren, folgen Sie dem auf der nächsten Seite
beschriebenen Ablauf.
150
© 1995-2004 Aladdin Knowledge Systems, Inc.
HASP HL Lizenzierung
Remote Update System
1. Öffnen Sie hasprus.exe oder klicken Sie die V2C-Datei, die
die Update-Daten enthält.
Wenn Sie das Update als ausführbare Datei erhalten
haben, klicken Sie auf die Datei. HASP HL RUS
wird automatisch gestartet.
2. Wählen Sie das Register Lizenz-Update anwenden. Wenn
das Update in einer ausführbaren Datei ist, wird
möglicherweise nur dieses Register angezeigt.
3. Wenn das Feld Update-Datei leer ist, navigieren Sie zu dem
Verzeichnis, in dem sich die Update-Datei (V2C-Datei)
befindet.
4. Klicken Sie
, um die neuen Lizenzdaten auf
den eingesetzten HASP HL Key anzuwenden.
V2C-Output anpassen
Wenn Sie die HASP HL Factory verwenden, um eine UpdateDatei zu erstellen, die auf Anwenderseite weiterverarbeitet wird,
können Sie den V2C-Output anpassen.
Im Werkzeug HASP HL Factory wird ein HTML-Editor zur
Verfügung gestellt, um Anleitungen oder Nachrichten für Ihre
Endbenutzer aufzuzeichnen. Sie können diese Funktion
verwenden, um die Quelle und den Inhalt des Updates zu
beschreiben.
HASP HL Softwareschutz- und Lizenzierungshandbuch
151
Remote Update System
Sie können Folgendes mit der HASP HL Factory anpassen:
• Eine V2C-Datei – diese Datei wird von den Endbenutzern
mit HASP HL RUS hochgeladen, das Sie ihnen zur
Verfügung gestellt haben.
Wir empfehlen, dass Sie Ihre geschützte Software
zusammen mit einer angepassten Version von HASP
HL RUS ausliefern. Letzteres sollte mit der .v2cErweiterung gekennzeichnet sein.
• Eine ausführbare Datei – diese Datei ist ein Update, das mit
einem HASP HL RUS-Dienstprogramm verknüpft ist.
Endanwender müssen die ausführbare Datei öffnen und den
Anweisungen auf dem Bildschirm folgen.
Weitere Informationen über das Anpassen von V2C-Output
erhalten Sie in der Online-Hilfe zur HASP HL Factory.
152
© 1995-2004 Aladdin Knowledge Systems, Inc.
Kapitel 11
HASP HL mit Ihrer Software
ausliefern
Dieses Kapitel stellt die Möglichkeiten vor, Endanwendern
erforderliche Software zur Verfügung zu stellen. Es behandelt
folgende Themen:
• Welche HASP HL Softwarekomponenten an die
Endanwender geliefert werden müssen.
• Optionen für die Bereitstellung der HASP HL Driver für
Windows-Plattformen.
• Optionen und Möglichkeiten für die Bereitstellung des
HASP HL Daemons für Mac- und Linux-Plattformen.
HASP HL Software für Endanwender
Jede HASP HL Installation erfordert Software, die Sie Ihren
Endanwendern zur Verfügung stellen müssen. Diese Software
muss beim Kunden installiert werden, damit Ihre geschützten
und lizenzierten Programme richtig funktionieren.
HASP HL Softwareschutz- und Lizenzierungshandbuch
153
HASP HL mit Ihrer Software ausliefern
Es ist jedoch nicht erforderlich, die gesamte in diesem Kapitel
beschriebene Software zur Verfügung zu stellen.
Die HASP HL Driver und Daemons sind die
wichtigsten Komponenten, die der Endanwender
benötigt.
Für den Schutz erforderliche Software
Die wichtigsten Softwarekomponenten, die bei Ihren Kunden
installiert werden müssen, sind die HASP HL Driver und
Daemons. Diese Komponenten sind erforderlich, damit die
HASP HL Keys auf den Systemen der Kunden erkannt werden
und mit der geschützten Anwendung kommunizieren können.
Weitere Informationen erhalten Sie im Kapitel "HASP HL
Driver und Daemons bereitstellen" (Seite 155).
Software für die Netzwerkumgebung
Wenn Sie HASP HL Net-Keys an Ihre Endanwender liefern,
sind auch folgende Anwendungen erforderlich:
• HASP License Manager – zur Kontrolle der Nutzung
Ihrer geschützten und lizenzierten Software innerhalb
eines Netzwerks. Weitere Informationen erhalten Sie im
Kapitel "HASP License Manager" (Seite 171).
• Aladdin Monitor – zur Verwendung mit dem HASP
License Manager und den HASP HL Net-Keys. Weitere
Informationen erhalten Sie im Kapitel "Aladdin Monitor"
(Seite 203).
Software zur Problemlösung
Sie sollten in Betracht ziehen, allen Endanwendern das
Diagnose-Werkzeug Aladdin DiagnostiX zur Verfügung zu
stellen. Dieses Dienstprogramm sammelt Informationen zum
eingesetzten HASP HL Key und zur Umgebung, in der er
eingesetzt wird. Weitere Informationen erhalten Sie im Kapitel
"HASP HL Keys überprüfen" (Seite 211).
154
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP HL mit Ihrer Software ausliefern
Software zur Lizenzaktualisierung
Das Dienstprogramm HASP HL RUS ist erforderlich, wenn
Lizenzen in eingesetzten HASP HL Keys remote aktualisiert
werden sollen. Informationen zu diesem Dienstprogramm
finden Sie im Kapitel "Remote Update System" (Seite 143).
HASP HL Driver und Daemons bereitstellen
Die Treiber oder Daemons für die HASP HL Keys, die sich im
Besitz Ihrer Kunden befinden, müssen auf deren Systemen
installiert sein. Ohne die erforderlichen Treiber oder Daemons
können die geschützten Programme nicht ausgeführt werden, da
sie nicht mit dem HASP HL kommunizieren können.
In den folgenden Abschnitten werden die verschiedenen
Möglichkeiten beschrieben, wie Sie Ihren Endanwendern HASP
HL Driver und Daemons zur Verfügung stellen können.
HASP HL Driver für Windows bereitstellen
Nachfolgend finden Sie die verschiedenen Möglichkeiten,
HASP HL Device Driver bereitzustellen:
• Herunterladen der HASP HL Driver mit Windows-Update
oder Aladdin DiagnostiX. Für beides ist ein
Internetanschluss erforderlich.
• Integration der Installation des HASP HL Driver in das
Installationsprogramm für Ihre Anwendung. Dazu stehen
Ihnen zwei Möglichkeiten zur Verfügung:
• Merge-Module
• Installations-API für HASP HL Driver
• Lieferung eines der folgenden Installationsprogramme für
HASP HL Device Driver an die Endanwender:
• HASPUserSetup.exe – ein Installationsprogramm mit
grafischer Benutzeroberfläche
• haspdinst.exe – ein Kommandozeilen-Programm
HASP HL Softwareschutz- und Lizenzierungshandbuch
155
HASP HL mit Ihrer Software ausliefern
Windows-Update
Wenn die Endanwender die geschützte Software unter Windows
XP oder Windows 2003 verwenden und sie Zugang zum
Internet haben, brauchen sie die HASP HL Keys lediglich an
ihre Rechner anzuschließen. Sämtliche HASP HL Driver sind
von Microsoft zertifiziert und werden daher automatisch von der
Microsoft-Update-Site heruntergeladen.
Wenn Ihre Endanwender einen HASP HL Key anschließen,
geschieht Folgendes:
1. Das System zeigt an, dass neue Hardware gefunden wurde.
2. Die Treiber für den HASP HL Key werden automatisch
installiert.
3. Wenn die LED auf dem HASP HL Key leuchtet, ist der
Installationsvorgang abgeschlossen.
Ferner können Sie im Geräte-Manager, der in allen WindowsVersionen enthalten ist, prüfen, ob die erforderlichen Treiber
installiert wurden. Die Aladdin-Gerätetreiber für die einzelnen
angeschlossenen HASP HL Keys sollten unter dem Punkt USBController aufgeführt sein.
156
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP HL mit Ihrer Software ausliefern
Abbildung 11.1 Geräte-Manager mit Aladdin-Gerätetreibern
Aladdin DiagnostiX verwenden
Sobald die geschützte Software und die HASP HL Keys beim
Endanwender installiert sind, kann er in Aladdin DiagnostiX die
Funktion Treiber-aktualisieren verwenden. Dazu benötigen die
Endanwender einen Internetanschluss. Ferner muss
askdiag32.exe auf den Rechnern installiert sein, auf denen die
geschützten Anwendungen ausgeführt werden. Weitere
Informationen erhalten Sie im Kapitel "HASP HL Driver
aktualisieren" (Seite 220).
Im Gegensatz zu der oben beschriebenen Option mit
Windows-Update, die nur für Microsoft XP oder
2003 anwendbar ist, kann Aladdin DiagnostiX auch
für ältere Plattformen verwendet werden.
HASP HL Softwareschutz- und Lizenzierungshandbuch
157
HASP HL mit Ihrer Software ausliefern
Merge-Module
Sie können die HASP HL Merge-Module verwenden, um die
Installation der HASP HL Driver in Ihre MSI-Installation zu
integrieren. Merge-Module liefern gemeinsame Komponenten
des Windows Installer® sowie Installationslogik für eine
Anwendung. Gemeinsamer Code, gemeinsame Dateien,
Ressourcen, Registry-Einträge und Installationslogik sind in
einer einzigen Datei enthalten. Die HASP HL DriverInstallation steht in Form des Merge-Moduls haspds.msm zur
Verfügung.
Das Merge-Modul haspds.msm kann nicht als
unabhängige Anwendung ausgeführt werden.
Das Merge-Modul haspds.msm befindet sich in folgendem
Verzeichnis auf der HASP HL Installations-CD:
Windows/Installed/API/DriverInstall/MSI
Ein Beispielmodul finden Sie in folgendem Verzeichnis:
Windows/Installed/Samples/DriverInstall/MSI
158
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP HL mit Ihrer Software ausliefern
Konzept
Das in Ihr MSI-Installationsprogramm eingebundene MergeModul haspds.msm kopiert die Datei haspds_windows.dll in das
Win32-Systemverzeichnis auf dem PC des Endanwenders. Die
Datei hasp_ds_windows.dll wird vom MSI-Modul zum
Installieren oder Deinstallieren der HASP HL Driver
aufgerufen.
Die Verwendung der Merge-Module für die HASP
HL Installation in einem vereinheitlichten MSIInstallationsprogramm hat folgende Vorteile:
1. Die Endanwender erhalten nur eine Datei mit
Ihrer Anwendung, welche auch die HASP HL
Installation beinhaltet.
2. Durch die erneute Ausführung des MSIInstallationsprogramms lässt sich die Installation
reparieren.
HASP HL Softwareschutz- und Lizenzierungshandbuch
159
HASP HL mit Ihrer Software ausliefern
Checkliste für die Implementierung
Bevor Sie die Merge-Module für HASP HL in Ihr
Installationsprogramm aufnehmen, prüfen Sie bitte folgende
Checkliste:
• Die Endanwender benötigen Administratorrechte um die
Treiber erfolgreich zu installieren. Stellen Sie sicher, dass
dies in Ihren Installationsroutinen berücksichtigt wird.
• Die Merge-Module für HASP HL benötigen den Windows
Installer ab Version 2.0.
Verwenden Sie keine älteren Versionen des
Microsoft Installer!
• Bei der Treiberinstallation dürfen keine offenen Prozesse im
Hintergrund laufen, die HASP HL Driver benötigen.
• Eine Demonstration der Merge-Module für HASP HL finden
Sie im Beispiel haspds.msm für den Microsoft Installer
(MSI).
Implementierung
Die Implementierung der Merge-Module für HASP HL ist
denkbar einfach. Sie brauchen lediglich die *.msm-Datei mit der
Treiberinstallation in das MSI-konforme Installer-Setup
aufzunehmen. Sobald Sie Ihr MSI-Installationsprogramm
erstellt haben, enthält die geschützte Datei automatisch das
Merge-Modul für die HASP HL Installation.
Bevor Sie das Merge-Modul implementieren, sollten Sie die
Implementierungsliste prüfen.
160
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP HL mit Ihrer Software ausliefern
Beispiel für ein Merge-Modul
Die HASP-Software beinhaltet ein
Beispielinstallationsprogramm mit dem Merge-Modul für
HASP HL, das Sie sich ansehen sollten, bevor Sie das MergeModul haspds.msm in Ihr eigenes Installationsprogramm
aufnehmen.
Das Beispielprogramm ist ein vollständiges MSIInstallationsprogramm, das das Merge-Modul für die HASP HL
Driver-Installation sowie die erforderlichen Shared Libraries für
die Installation der HASP HL Driver enthält.
Das Beispielprogramm führt folgende Schritte aus:
• Es prüft, ob der Benutzer über die erforderlichen
Administratorrechte für die Installation der HASP HL Driver
verfügt.
• Es stoppt einen laufenden HASP License Manager, bevor der
Treiber installiert wird, und startet den Dienst nach der
Installation neu. Weitere Informationen über den HASP
License Manager erhalten Sie im Kapitel "HASP License
Manager starten und beenden" (Seite 175).
• Es installiert oder deinstalliert die HASP HL Driver.
Installations-API für HASP HL Driver
Mit der Installations-API für HASP HL Driver integrieren Sie
den Installationsprozess in Ihre eigene Setup-Anwendung.
Weitere Einzelheiten hierzu finden Sie in einer separaten
Hilfedatei in folgendem Verzeichnis:
Program Files/Aladdin/HASP HL/Drivers/
Ein Beispiel für die Installations-API für den HASP HL Driver
finden Sie auf der HASP HL Installations-CD in folgendem
Verzeichnis:
Windows/Installed/Samples/DriverInstall/C/
HASP HL Softwareschutz- und Lizenzierungshandbuch
161
HASP HL mit Ihrer Software ausliefern
Machen Sie sich anhand des obigen Beispielprogramms und der
Hilfedateien zum Device Driver mit der Verwendung der
Installations-API für HASP HL Driver vertraut.
haspdinst.exe
Das Dienstprogramm haspdinst.exe ist ein KommandozeilenProgramm, das die HASP HL Device Driver auf Windows 98/
ME/2000/XP/Server 2003 Systemen installiert. Diese
Standalone-Anwendung können Sie Ihren Endanwendern
separat zur Verfügung stellen. Eine Kopie von haspdinst.exe
befindet sich in folgendem Verzeichnis auf der HASP HL
Installations-CD:
Windows/Installed/Redistribute/Drivers/
Sie sollten diese Methode nur benutzen, wenn Sie
sicher sind, dass Ihre Endanwender mit einem
Kommandozeilen-Programm umgehen können und
möchten.
So installieren Sie die HASP HL Device Driver:
Geben Sie haspdinst -i in die Kommandozeile ein.
Weitere Informationen erhalten Sie im Kapitel
"Dienstprogramm haspdinst.exe" (Seite 39).
Um sicherzustellen, dass die erforderlichen Treiber installiert
wurden, prüfen Sie die Einträge für die HASP HL Device
Driver im Windows-Geräte-Manager. Dieser ist in allen
Windows-Versionen enthalten. Die Gerätetreiber sollten unter
dem Punkt USB-Controller aufgeführt sein, siehe
Abbildung 11.1.
162
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP HL mit Ihrer Software ausliefern
HASPUserSetup.exe
Eine Kopie des Programms HASPUserSetup.exe befindet sich in
folgendem Verzeichnis Ihrer HASP HL Installations-CD:
Windows/Installed/Redistribute/Drivers
Es ist ein benutzerfreundliches Programm zum Installieren der
HASP HL Driver auf Systemen mit Windows 98SE/ME/2000/
XP/Server 2003. Es bietet einen intuitiven Assistenten mit einer
grafischen Benutzeroberfläche. Senden Sie diese Datei an die
Endanwender. Nach dem Start der Datei erscheint das
Begrüßungsfenster (siehe Abbildung 11.2). Die Endanwender
müssen den Anweisungen auf dem Bildschirm folgen, bis die
Treiberinstallation abgeschlossen ist.
Abbildung 11.2 Begrüßungsfenster des Programms
HASPUserSetup.exe
HASP HL Softwareschutz- und Lizenzierungshandbuch
163
HASP HL mit Ihrer Software ausliefern
Um sicherzustellen, dass die erforderlichen Treiber installiert
wurden, prüfen Sie die Gerätetreibereinträge für HASP HL im
Windows-Geräte-Manager. Dieser ist in allen WindowsVersionen enthalten. Die Gerätetreiber sollten unter dem Punkt
USB-Controller aufgeführt sein.
HASP HL Daemons für Mac bereitstellen
Benutzern, die geschützte und lizenzierte Anwendungen auf
Mac-Plattformen (OS X) verwenden, sollten Sie den HASP HL
Daemon aksusbd zur Verfügung stellen. Ohne den Daemon
erkennt das Anwendersystem den angeschlossenen HASP HL
Key nicht, und die geschützten Anwendungen können ohne Key
nicht ausgeführt werden.
Sämtliche HASP HL Software für Mac, die an die Benutzer
weitergegeben werden kann, befindet sich im Ordner MacOS/
Redistribute auf Ihrer HASP HL Installations-CD. HASP HL
Software-Updates für Mac sind außerdem unter folgender WebAdresse erhältlich:
http://www.hasp.com/downloads
Optionen für die Bereitstellung des Mac-Daemon
Die für die Bereitstellung des Daemon notwendige Software
finden Sie in folgendem Verzeichnis auf der HASP HL
Installations-CD:
MacOS/Installed/Redistribute/Runtime/
Dieser Abschnitt beschreibt eine Reihe von Optionen für die
Weitergabe des Mac-Daemon an Ihre Kunden. Jede Methode hat
ihre Vorteile. Die verschiedenen Optionen werden in nach
Präferenz absteigender Reihenfolge beschrieben.
164
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP HL mit Ihrer Software ausliefern
Installations-Image
Im Unterverzeichnis dmg auf der HASP HL Installations-CD ist
ein Installations-Image (HASP Installation.dmg) enthalten. Das
Image kann nicht angepasst werden, hat jedoch den Vorteil, dass
es komprimiert ist und in einem Format vorliegt, das leicht
herunterzuladen ist. Ein weiterer Vorteil liegt darin, dass die
Benutzereinstellungen korrekt definiert sind.
Stellen Sie Ihren Endanwendern die Datei HASP
Installation.dmg auf Ihrer FTP-Site zum
Herunterladen zur Verfügung.
Anweisungen zum Installieren des Daemons mithilfe der Datei
HASP Installation.dmg finden Sie im Kapitel "Daemon
installieren" (Seite 43).
Installationspaket
Im Unterverzeichnis pkg auf der HASP HL Installations-CD ist
ein Installationspaket für den HASP HL Daemon (AKSUSB
Install.pkg.sit) enthalten.
1. Kopieren Sie den Inhalt des Unterverzeichnisses pkg auf Ihr
lokales Laufwerk.
2. Entkomprimieren Sie die Datei
AKSUSB Install.pkg.sit mit dem Dienstprogramm Stuffit
Expander.
3. Führen Sie die Datei AKSUSB Install.pkg aus.
Daraufhin wird Fenster in Abbildung 11.3 angezeigt.
Befolgen Sie die Anweisungen auf dem Bildschirm.
HASP HL Softwareschutz- und Lizenzierungshandbuch
165
HASP HL mit Ihrer Software ausliefern
Abbildung 11.3 Setup des HASP HL Daemon
Das Installationspaket kann auch in ein beliebiges, mehrere
Pakete umfassendes Installationsprogramm integriert werden.
Weitere Informationen finden Sie in der zugehörigen AppleEntwicklerdokumentation unter:
http://developer.apple.com
Weitere Informationen zur Verwendung der Routinen finden Sie
in der readme.txt-Datei im Unterverzeichnis pkg.
Quellen für Installationspakete
Die Quelldateien für die Erstellung der im Abschnitt
"Installationspaket" (Seite 165) beschriebenen Installation des
HASP HL Daemons sind im Unterverzeichnis pkg-source
enthalten. Tabelle 11.1 führt den Inhalt des Verzeichnisses auf.
166
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP HL mit Ihrer Software ausliefern
Tabelle 11.1 Quelldateien für die Installation des Mac OSX
Daemons
Datei
Beschreibung
aksusbd_install.pmsp
Projektdatei für das Installationsprogramm für den
Daemon. Wird bei der Erstellung von Paketen vom
Dienstprogramm PackageMaker verwendet.
dinst_Contents.sit
Eine komprimierte Datei, die den Daemon aksusbd
sowie sämtliche Startparameter enthält. Der Inhalt
dieser Datei kann vor der Lieferung den
Kundenanforderungen entsprechend konfiguriert
werden.
dinst_Resources.sit
Eine komprimierte Datei, die das Background-Image
für das Installationsprogramm sowie die Shell-Skripte
enthält, die die Prozesse vor und nach der Installation
steuern. Der Inhalt dieser Datei kann vor der
Lieferung den Kundenanforderungen entsprechend
konfiguriert werden.
aksusbd_forceinstall.pmsp
Projektdatei für eine erzwungene Installation, bei der
sämtliche Daten des HASP HL Daemons
überschrieben werden.
dinstforce_Resources.sit
Eine komprimierte Datei für eine erzwungene
Installation, bei der sämtliche Daten des HASP HL
Daemons überschrieben werden. Diese Datei enthält
keine Shell-Skripte zur Steuerung der Prozesse vor
und nach der Installation.
Um die Quelldateien für den Daemon in Ihr Installationsprogramm aufzunehmen, gehen Sie folgendermaßen vor:
1. Kopieren Sie den Inhalt des Unterverzeichnisses pkg-sources
auf Ihr lokales Laufwerk.
2. Entkomprimieren Sie sämtliche komprimierten Dateien, die
in der Tabelle 11.1 aufgeführt sind, mit dem Dienstprogramm
Stuffit Expander.
HASP HL Softwareschutz- und Lizenzierungshandbuch
167
HASP HL mit Ihrer Software ausliefern
3. Integrieren Sie diese Dateien in Ihr Installationsprogramm.
Weitere Informationen finden Sie in der zugehörigen AppleEntwicklerdokumentation unter:
http://developer.apple.com
Weitere Informationen zu den Installationsquellen finden Sie in
der readme.txt-Datei im Unterverzeichnis pkg-sources.
Die erforderlichen komprimierten Dateien können in ein
Installationsprogramm für Ihre geschützte Anwendung integriert
werden. Der Endanwender installiert die Daemons automatisch
zusammen mit Ihrer geschützten und lizenzierten Software. Sie
haben die Möglichkeit, das Fenster in
Abbildung 11.3 (Seite 166) anzuzeigen, wenn der Endanwender
Ihr Installationsprogramm ausführt.
Alle aksusbd-Dateien werden beim Kunden
automatisch im Root-Verzeichnis gespeichert.
Wenn Sie das nicht möchten, sollten Sie die
Installationspaket-Option verwenden.
Installationsroutinen
Installationsroutinen sind im Unterverzeichnis script auf der
HASP HL Installations-CD enthalten. Kopieren Sie diese
Skripte und schicken Sie sie an die Endanwender, die den
Daemon mithilfe dieser Skripte über eine Kommando-Shell
installieren können. Die Routinen können nicht konfiguriert
werden.
Sie sollten diese Methode nur verwenden, wenn Sie
sicher sind, dass die Endanwender mit der
Verwendung einer Kommando-Shell vertraut sind.
Weitere Informationen zur Verwendung der Routinen finden Sie
in der readme.txt-Datei im Unterverzeichnis script.
168
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP HL mit Ihrer Software ausliefern
HASP HL Daemons für Linux bereitstellen
Benutzern, die geschützte und lizenzierte Anwendungen auf
Linux-Plattformen verwenden, sollten Sie den HASP HL
Daemon aksusbd zur Verfügung stellen. Ohne den Daemon
erkennt das Anwendersystem den angeschlossenen HASP HL
Key nicht, und die geschützten Anwendungen können ohne Key
nicht ausgeführt werden.
Sämtliche HASP HL Software, die an die Benutzer
weitergegeben werden kann, befindet sich in folgendem
Verzeichnis auf Ihrer HASP HL Installations-CD:
Linux/Installed/Redistribute
HASP HL Software-Updates für verschiedene Linux-Versionen
sind außerdem unter folgender Web-Adresse erhältlich:
http://www.hasp.com/downloads
Verfügbare Formate für die Bereitstellung des HASP HL Daemons
Das Verzeichnis Linux/Redistribute enthält den HASP HL
Daemon in den folgenden Formaten:
• als RPM-Paket für Red Hat- und SuSE-Plattformen
• als ausführbare Datei mit Installationsroutine
HASP HL Softwareschutz- und Lizenzierungshandbuch
169
HASP HL mit Ihrer Software ausliefern
HASP HL Daemon in das Installationsprogramm für Ihre Anwendung
integrieren
Sie können den HASP HL Daemon in das
Installationsprogramm für Ihre Software integrieren.
Stellen Sie sicher, dass Ihr Installationsprogramm folgende
Schritte ausführt:
1. Die erforderlichen RPM-Pakete für HASP HL oder die
ausführbaren Installationsdateien werden in ein temporäres
Verzeichnis kopiert.
2. Die erforderliche Installationsroutine oder das erforderliche
Kommando werden ausgeführt.
Ausführlichere Informationen zum Installieren des HASP HL
Daemons erhalten Sie im Kapitel "HASP HL unter Linux
installieren" (Seite 46).
170
Aladdin Knowledge Systems Ltd © 2004.
Kapitel 12
HASP License Manager
Dieses Kapitel beschreibt den HASP License Manager. Es
behandelt folgende Themen:
• HASP License Manager für Windows/Mac/Linux
• Konfiguration des HASP License Manager
• Konfiguration von mit HASP HL Net geschützten
Anwendungen
• Einrichtung der HASP HL Net-Umgebung
Überblick über den HASP License Manager
Der HASP License Manager enthält eine Logintabelle, die alle
geschützten Anwendungen auflistet, die sich in einen
angeschlossenen HASP HL Net eingeloggt haben. Die Tabelle
zeigt jede Anwendung mit der Station, die die Anwendung
gestartet hat. Eine Anwendung und ihre Station werden in der
Logintabelle aufgelistet, bis die Anwendung aus dem HASP HL
Net ausgeloggt wird.
HASP HL Softwareschutz- und Lizenzierungshandbuch
171
HASP License Manager
Der HASP License Manager kontrolliert über die Logintabelle
die gleichzeitige Verwendung einer geschützten Anwendung in
einer Netzwerkumgebung. Das stellt sicher, dass die Anzahl der
Stationen, die auf das geschützte Feature oder die geschützte
Anwendung zugreifen, die vom Software-Hersteller lizenzierte
und in der Lizenz festgelegte maximale Anzahl nicht
überschreitet. Per Voreinstellung kann die Logintabelle bis zu
250 Anwendungen verfolgen.
HASP License Manager für Windows
Der HASP License Manager für Windows ist verfügbar als:
• Anwendung für Windows 98SE/ME/NT/2000/XP/Server
2003
• Service für Windows 2000/XP/Server 2003
Der HASP License Manager für Windows kann über die
Protokolle TCP/IP und IPX kommunizieren. Die Protokolle
können über die grafische Benutzeroberfläche des HASP
License Manager oder die Einstellungen in der
Konfigurationsdatei nhsrv.ini geladen und entladen werden.
Das NetBIOS-Protokoll steht nur für mit dem HASP4
System geschützte Anwendungen zur Verfügung.
172
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
HASP License Manager für Windows ausliefern
Wenn Sie Ihre Software so geschützt haben, dass sie mit HASP
HL Net-Keys funktioniert, sollten Sie den HASP License
Manager an Ihre Endanwender ausliefern. Es wird empfohlen,
auch den Aladdin Monitor auszuliefern. Weitere Informationen
erhalten Sie im Kapitel "Aladdin Monitor" (Seite 203).
Es gibt zwei Möglichkeiten, den HASP License Manager
auszuliefern.
• Sie können die Installationsdatei lmsetup.exe einzeln an Ihre
Kunden liefern. Im nächsten Abschnitt erhalten Sie genaue
Installationsanweisungen. Die Datei befindet sich auf Ihrer
HASP HL Installations-CD in folgendem Verzeichnis:
Windows/Installed/Redistribute/LM/
• Sie können die Installations-API für den HASP License
Manager verwenden, um den HASP License Manager-Dienst
dem Installationsprogramm Ihrer Anwendung hinzuzufügen.
Diese spezifische API ist in der HASP License ManagerHilfe separat dokumentiert.
HASP License Manager unter Windows installieren
Beide Typen des HASP License Manager können mit der
Installationsdatei lmsetup.exe installiert werden.
Installieren Sie den HASP License Manager auf der Station, an
die der HASP HL Net-Key angeschlossen ist.
Die Installation kann mit folgenden Methoden individuell
angepasst werden:
• Verwenden Sie die Konfigurationsdatei nhsrvw32.ini, siehe
"HASP License Manager konfigurieren" (Seite 184).
• Verwenden Sie die Installations-API für den HASP License
Manager (nur für den Win32-Dienst), siehe "Einstellungen
für das IPX-Protokoll (nur für den Win32-Dienst)"
(Seite 189).
HASP HL Softwareschutz- und Lizenzierungshandbuch
173
HASP License Manager
Auf einer Windows 98SE/ME-Station
Die HASP License Manager-Datei für Windows ist nhsrv.ini.
Verwenden Sie die Installtionsdatei lmsetup.exe, um den
License Manager zu installieren.
1. Installieren Sie den HASP HL Device Driver und schließen
Sie den HASP HL Net-Key an eine Station an.
2. Installieren Sie den HASP License Manager, indem Sie von
der HASP HL CD lmsetup.exe starten und den Anweisungen
des Installationsassistenten folgen.
Auf einer Windows 2000/XP/2003-Station
Der HASP License Manager für Windows 2000/XP/2003 ist
nhsrvice.exe. Installieren Sie ihn mit der Installationsdatei
lmsetup.exe.
1. Installieren Sie den HASP HL Device Driver und schließen
Sie den HASP HL Net-Key an eine Station an.
2. Installieren Sie den HASP License Manager, indem Sie von
der HASP HL Installations-CD lmsetup.exe starten und den
Anweisungen des Installationsassistenten folgen. Wählen Sie
als Installationstyp Service.
Sie können die Installation des HASP License
Manager-Dienstes auch in Ihre Anwendung
integrieren, indem Sie Beispiele der InstallationsAPI für den HASP License Manager verwenden, die
Sie in folgendem Verzeichnis finden:
Windows/Installed/Samples/LM Install.
174
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
HASP License Manager starten und beenden
HASP License Manager-Anwendung
Um den HASP License Manager zu starten, wählen Sie die
Anwendung aus dem Start-Menü oder dem Windows Explorer.
Der HASP License Manager ist immer aktiv, wenn ein Protokoll
geladen ist und ein HASP HL Net angeschlossen ist.
Um die Anwendung zu beenden, wählen Sie aus dem
Hauptmenü Exit.
HASP License Manager-Dienst
Um den HASP License Manager-Dienst zu starten und zu
beenden, verwenden Sie die Dienste-Verwaltung in der
Systemsteuerung unter Windows.
Sie können auch den Aladdin Monitor zum Starten und Beenden
des HASP License Manager-Dienstes verwenden.
HASP License Manager bedienen
Sie können den HASP License Manager über die grafische
Benutzeroberfläche bedienen.
Um das Hauptfenster der grafischen Benutzeroberfläche zu
öffnen, doppelklicken Sie das Symbol der Anwendung im
Systemordner.
Abbildung 12.1 HASP License Manager GUI
HASP HL Softwareschutz- und Lizenzierungshandbuch
175
HASP License Manager
Das Hauptfenster des HASP License Manager zeigt folgende
Informationen an:
• Versionsnummer des HASP License Manager
• Status jeden Protokolls (loaded, unloaded oder failed to
load) sowie Datum und Uhrzeit der letzten Statusänderung
• Status des HASP License Manager (active oder not active)
Sie können das Hauptfenster des HASP License Manager
schließen, indem Sie die entsprechende Schaltfläche in der
rechten Ecke des Fensters klicken. Der HASP License Manager
läuft weiter und das Symbol bleibt im Systemordner.
Um das Programm zu beenden, wählen Sie Exit aus dem
Hauptmenü.
Diese Option steht nicht zur Verfügung, wenn der
HASP License Manager als Windows NT-Dienst
installiert ist.
Protokolle laden
Um ein Protokoll zu aktivieren, wählen Sie es aus dem Menü
Load. Sie können nur Protokolle aktivieren, die bereits auf dem
Rechner installiert sind.
Protokolle deaktivieren
Um ein Protokoll zu deaktivieren, wählen Sie es aus dem Menü
Remove.
Aktivitätenprotokoll anzeigen
Um ein Protokoll der Aktivitäten des HASP License Manager
anzuzeigen, wählen Sie aus dem Hauptmenü die Option
Activity Log. Das Fenster Activity Log wird geöffnet.
Um das Protokoll für ein bestimmtes Protokoll anzuzeigen,
wählen Sie das gewünschte Protokoll aus der Auswahlliste.
176
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
Mehrere Netzwerk-Adapter
Der HASP License Manager verbindet sich mit dem StandardWindows-Netzwerkadapter, der üblicherweise der erste
verfügbare Netzwerkadapter ist.
Damit der HASP License Manager auf einem Multi-HomeSystem Anfragen über andere Netzwerk-Adapter bearbeiten
kann, muss IP Forwarding in der Windows
Netzwerkkonfiguration aktiviert sein.
Wenn Sie den HASP License Manager auf
Windows-Betriebssystemen verwenden, beachten
Sie bitte, dass der Standard-Netzwerkadapter von
einer Windows-Version zur anderen variieren kann.
HASP HL Softwareschutz- und Lizenzierungshandbuch
177
HASP License Manager
HASP License Manager für Mac
Der HASP License Manager für Mac ist für Mac OS X
verfügbar. Er kann über die TCP/IP-Protokolle kommunizieren.
Der HASP License Manager für Mac besteht aus einem Daemon
und einer grafischen Benutzeroberfläche. Der HASP License
Manager für Mac kann über die Benutzeroberfläche bedient
werden. Sie können den Daemon auch über die Kommandozeile
bedienen.
HASP License Manager für Mac ausliefern
Folgendes Verzeichnis auf der HASP HL Installations-CD
enthält die Software, die Sie für die Bereitstellung des HASP
License Manager für Ihre Endanwender benötigen:
MacOS/Installed/Redistribute/LM/
Es gibt vier Methoden, den HASP License Manager
auszuliefern:
• ein Installations-Image, das von Ihrem Endanwender leicht
von Ihrer FTP-Site heruntergeladen werden kann
• ein Installationspaket, das als Teil einer Multi-PaketInstallation eingefügt werden kann
• Quelldateien, die in eine Einzel-Paket-Installation integriert
werden können
• Skripte, die mit der Anleitung für die Installation des
Daemons über eine Kommando-Shell an Endanwender
gesendet werden.
Alle vier Methoden sind in Unterverzeichnissen des oben
genannten Verzeichnisses enthalten. Jedes Verzeichnis enthält
eine readme.txt-Datei, die ausführliche Informationen über
Verwendung und Installation enthält.
178
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
HASP License Manager starten und beenden
Um den HASP License Manager zu starten, starten Sie die
Anwendung aus dem Anwendungsmenü und starten Sie den
Daemon, indem Sie im Programmfenster Start Daemon
wählen. Alternativ können Sie den Daemon mit dem
Installationsskript starten.
Um den HASP License Manager beim Systemstart
automatisch zu starten, aktivieren Sie die Option
Activate in system startup.
HASP License Manager bedienen
Sie können den HASP License Manager über die grafische
Benutzeroberfläche bedienen. Alternativ können Sie ihn über
die Kommandozeile bedienen, siehe "Schalter für den HASP
License Manager" (Seite 183).
Der HASP License Manager für Mac zeigt folgende
Informationen an:
• Server-Name und IP-Adresse des Servers
• verfügbare Schalter
• ob der Daemon beim Systemstart gestartet wird
• den Status des Daemons
Sie können
• Schalter festlegen (nur wenn der Daemon nicht läuft).
• den Daemon starten und anhalten.
• den Daemon beim Systemstart aktivieren.
HASP HL Softwareschutz- und Lizenzierungshandbuch
179
HASP License Manager
Servernamen festlegen
Sie können dem HASP License Manager bis zu sechs Namen
zuordnen.
So ordnen Sie einen Servernamen zu:
1. Stoppen Sie den Daemon, wenn er schon gestartet wurde.
2. Aktivieren Sie die Option SRVNAMES.
3. Geben Sie bis zu sechs Namen ein – trennen Sie die Namen
mit Strichpunkten, Doppelpunkten oder Leerzeichen.
Die Namen werden zugeordnet, sobald der Daemon gestartet
wurde.
Verwenden Sie keine Nicht-ASCII-Zeichen in
Servernamen, da diese von den verschiedenen
Systemen unterschiedlich kodiert werden. Bei
Servernamen wird nicht zwischen Groß- und
Kleinschreibung unterschieden. Sie können
Servernamen keinem laufenden Daemon zuordnen.
Konfigurationsdatei angeben
Sie können den HASP License Manager für Mac über eine
Konfigurationsdatei konfigurieren. Um Namen und Pfad der
Konfigurationsdatei festzulegen, aktivieren Sie die Option
CFGFILE und geben Sie den Namen und den Pfad ein.
Informationen über die Konfigurationsdatei erhalten Sie unter
"HASP License Manager konfigurieren" (Seite 184).
Daemon starten und anhalten
Um den Daemon zu starten und anzuhalten, verwenden Sie die
Schaltflächen im Programmfenster.
Daemon automatisch starten
Der Daemon kann beim Systemstart automatisch gestartet
werden. Aktivieren Sie dazu die Option Activate in system
startup.
180
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
HASP License Manager für Linux
Der HASP License Manager (LM) für Linux ist für alle LinuxDistributionen verfügbar. RPM-Pakete sind jedoch nur für die
folgenden Linux-Distributionen verfügbar:
• Red Hat 8 und Red Hat 9
• SuSE 8.x und SuSE 9.x
Der HASP HL LM für Linux besteht aus einem Daemon.
Der HASP License Manager für Linux war vor dem
Druck dieses Handbuchs nicht verfügbar. Weitere
Informationen, z. B. über Releasedaten erfragen Sie
bitte bei Ihrer HASP Niederlassung vor Ort.
HASP License Manager für Linux ausliefern
Folgendes Verzeichnis auf der HASP HL Installations-CD
enthält die Software, die Sie für die Bereitstellung des HASP
License Manager für Ihre Endanwender benötigen:
Linux/Installed/Redistribute/LM/
Es gibt zwei Methoden, den LM auszuliefern:
• RPM-Pakete. Der nächste Abschnitt enthält
Installationsanweisungen.
• Skripte, die mit der Anleitung für die Installation des
Daemons über eine Kommando-Shell an Endanwender
gesendet werden.
Die beiden Optionen sind in Unterverzeichnissen des oben
genannten Verzeichnisses enthalten. Jedes Verzeichnis enthält
eine readme.txt-Datei, die ausführliche Informationen über die
Verwendung enthält.
HASP HL Softwareschutz- und Lizenzierungshandbuch
181
HASP License Manager
HASP License Manager installieren
Sie können den HASP HL LM für Linux mit den RPM-Paketen
für die oben genannten Distributionen automatisch installieren.
HASP HL LM auf SuSE 8.x oder 9.x installieren
Verwenden Sie das folgende SuSE RPM-Paket:
• rpm -i HASP HLlm-suse-8.30-1.i386.rpm
HASP HL LM auf RedHat 8 oder 9 installieren
Verwenden Sie das folgende Red Hat RPM-Paket:
• rpm -i HASP HLlm-redhat-8.30-1.i386.rpm
HASP HL LM auf anderen Linux-Distributionen
installieren
Sie müssen den HASP License Manager manuell installieren:
1. Entpacken Sie das Archiv mit:
tar-xzf [path/]linuxlm_8_30.tar.gz
Das Verzeichnis ‘linux-HASP HLlm_8_30' wird angelegt.
2. Wechseln Sie zu diesem Verzeichnis und führen Sie als Root
folgenden Befehl aus:
./dinst
Dieser Befehl installiert den HASP License Manager und
konfiguriert das System so, dass es den Daemon beim
Systemstart automatisch startet.
HASP License Manager starten und beenden
Wenn der HASP License Manager richtig installiert ist, sollte er
beim Neustart des Systems automatisch gestartet werden.
Um den HASP License Manager zu beenden, müssen Sie den
Daemon deinstallieren. Geben Sie z. B. Folgendes ein, um den
HASP License Manager für RedHat 7.3 , zu deinstallieren:
rpm -e HASP HLlm-redhat
182
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
HASP License Manager anpassen
Wenn Sie den HASP License Manager installieren und
verwenden, möchten Sie ihn vielleicht an eine bestimmte
Netzwerkumgebung anpassen. Sie können eine der folgenden
Methoden verwenden:
• Verwenden Sie den HASP License Manager mit Schaltern.
• Verwenden Sie die Konfigurationsdatei nhsrv.ini.
• Verwenden Sie die Installations-API für den HASP License
Manager (nur für den Win32-Dienst).
Schalter für den HASP License Manager
Der HASP License Manager kann über verschiedene Schalter
gestartet werden. Diese Befehle teilen dem HASP HL System
mit, welche Protokolle es verwenden soll und wie die HASP HL
Net-Clients bedient werden sollen.
Linux
Windows
Mac
Tabelle 12.1 Schalter für den HASP License Manager
-c
Gibt das Verzeichnis für die Konfigurationsdatei
für den HASP License Manager an.
yes
no
yes
-help
Zeigt eine Liste der verfügbaren Schalter an.
yes
no
yes
Schalter
Erklärung
HASP HL Softwareschutz- und Lizenzierungshandbuch
183
HASP License Manager
HASP License Manager konfigurieren
Um den HASP License Manager zu konfigurieren, verwenden
Sie die Konfigurationsdatei nhsrv.ini. Ein konfigurierbares
Beispiel von nhsrv.ini ist im Verzeichnis Redistribute Ihrer
HASP HL Installation enthalten.
Suchreihenfolge
Die Datei nhsrv.ini kann sich im gleichen Verzeichnis wie die
Programmdatei des HASP License Manager befinden oder in
einem anderen Verzeichnis, das von der in Tabelle 12.2
aufgeführten Suchreichenfolge für nhsrv.ini erfasst wird.
Tabelle 12.2 Suchreihenfolge für nhsrv.ini
Betriebssystem
Windows 98SE/ME
184
Suchreihenfolge
Verzeichnis der Programmdatei
aktuelles Verzeichnis
Windows-Systemverzeichnis
Windows-Verzeichnis
Pfad
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
Betriebssystem
Suchreihenfolge
Windows 2000/XP/
Server 2003
Verzeichnis der Programmdatei,
aktuelles Verzeichnis,
Windows 32-bit SystemVerzeichnis,
Windows 16-bit SystemVerzeichnis,
Windowsverzeichnis,
Pfad
Linux
Um eine Konfigurationsdatei zu
verwenden, müssen Sie den
Namen und den Pfad der
Konfigurationsdatei über den
Schalter -c definieren.
Mac
Um eine Konfigurationsdatei zu
verwenden, müssen Sie den
Namen und den Pfad der
Konfigurationsdatei über den
Schalter -c definieren.
Servereinstellungen
Serverparameter werden in der Datei nhsrv.ini und nicht in der
Kommandozeile definiert. So ist die Parameterspezifikation für
den License Manager-Dienst einfacher. Die Konfiguration wird
vereinfacht und in einer einzigen Datei zusammengefasst.
Auf Win32-Plattformen sollte sich die Datei nhsrv.ini in
demselben Verzeichnis befinden, aus dem die Programmdatei
aufgerufen wird. Auf Linux- und Mac-Plattformen gibt es
keinen Standard-Speicherort für die Datei; Sie müssen festlegen,
welche Konfigurationsdatei verwendet werden soll. Zum
Beispiel:
./HASP HLlm -c /etc/nhsrv.ini
HASP HL Softwareschutz- und Lizenzierungshandbuch
185
HASP License Manager
nhsrv.ini Einstellungen
Boolesche Schalter können folgende Werte annehmen:
Tabelle 12.3 Boolsche Werte für die HASP HL LM nhsrv.ini
1
yes
true
enabled
0
no
false
disabled
Allgemeine LM-Einstellungen
Sie können die Einstellungen für den HASP License Manager
durch seine Konfigurationsdatei nhsrv.ini genau abstimmen. Die
Konfigurationsdatei des HASP License Manager enthält den
Abschnitt [NHS_SERVER], der für globale Einstellungen des
LM verwendet wird. Die folgende Liste enthält Schlüsselwörter
des Abschnitts [NHS_SERVER]:
Schlüsselwort
NHS_USERLIST
Beschreibung
Maximale Anzahl simultaner Logins in den LM. Die maximale
Anzahl beträgt 65520.
Standard
250
Beispiel
NHS_USERLIST=1000
186
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
Schlüsselwort
NHS_SERVERNAMES
Beschreibung
Servername, der dem Namen entsprechen muss, den ein Client
anfragt. Maximal 6 Namen. Maximal 7 Zeichen pro Name.
Mehrere Namen werden durch Kommas getrennt.
Standard
keine
Beispiel
NHS_SERVERNAMES= cad, 3242e3
Schlüsselwort
NHS_HIGHPRIORITY
Beschreibung
Der LM läuft mit hoher Priorität. Als Standard läuft der LM mit
normaler Priorität. Der Schalter gilt nur für Win32. Wenn dieser
Schalter aktiviert ist, prüfen Sie, wie davon die Performance
anderer Services (Fileserver, Webserver usw.) beeinflusst wird,
die auf demselben Rechner laufen.
Standard
no – läuft mit normaler Priorität
Beispiel
NHS_HIGHPRIORITY= no
Einstellungen für das IP-Protokoll
Sie können die Einstellungen für den HASP License Manager
über die Konfigurationsdatei nhsrv.ini genau abstimmen. Diese
Datei enthält den Abschnitt [NHS_IP], der für Einstellungen für
das IP-Protokoll verwendet wird. Die folgende Liste enthält
Schlüsselwörter des Abschnitts [NHS_IP]:
Schlüsselwort
NHS_USE_UDP
Beschreibung
Mögliche Einstellungen: enabled oder disabled.
Standard
enabled
Beispiel
NHS_USE_UDP=enabled
HASP HL Softwareschutz- und Lizenzierungshandbuch
187
HASP License Manager
Schlüsselwort
NHS_USE_TCP
Beschreibung
Mögliche Einstellungen: enabled oder disabled.
Standard
enabled
Beispiel
NHS_USE_TCP=enabled
Schlüsselwort
NHS_IP_PORTNUM
Beschreibung
IP Port-Nummer. Dieser Schalter gilt nur für Win32. PortNummer 475 ist die exklusiv für den Aladdin LM eingetragene
IANA-Nummer.
Standard
475
Beispiel
NHS_IP_PORTNUM=475
Clients müssen denselben Port verwenden!
Schlüsselwort
NHS_IP_LIMIT
Beschreibung
Legt die Stationen fest, die Zugriff auf den aktuell aktivierten
HASP HL LM haben. Das letzte Byte kann ein Bereich sein.
Mehrere Einträge sollten durch Kommas getrennt werden. Die
Liste kann auf mehrere Zeilen verteilt sein. Folgende ByteKombinationen mit Platzhalter (Sternchen) sind möglich: 4., 4.,
3. oder 4., 3., 2. Es kann eine zusätzliche Bitmask als Anzahl der
einzelnen Bits festgelegt werden (z. B. 10.0.0.0/8).
Standard
keine
Beispiel
NHS_IP_LIMIT = 10.242.18-99,10.1.1.9/16,
10.25.0.0/24,192.0.0*,194.0*,*,11.*,*,
*10.24.7.8-12/30,10.24.2.17
188
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
Einstellungen für das IPX-Protokoll (nur für den
Win32-Dienst)
Sie können die Einstellungen für den HASP License Manager
über die Konfigurationsdatei nhsrv.ini genau abstimmen. Diese
Datei enthält den Abschnitt [NHS_IPX], der für Einstellungen
für das IPX-Protokoll verwendet wird. Die folgende Liste
enthält Schlüsselwörter des Abschnitts [NHS_IPX]:
Schlüsselwort
NHS_USE_IPX
Beschreibung
Mögliche Einstellungen: enabled oder disabled.
Standard
enabled
Beispiel
NHS_USE_IPX= yes
Schlüsselwort
NHS_ADDRPATH
Beschreibung
Pfad zur Datei HASP HLaddr.dat. Die IPX-Adresse des
aktuellen LM wird in die Datei HASP HLaddr.dat im
angegebenen Verzeichnis geschrieben. Clients können diese
Datei in der Datei netHASP.ini angeben.
Standard
aktuelles Verzeichnis
Beispiel
NHS_ADDRPATH=c:\temp
Schlüsselwort
NHS_APPENDADDR
Beschreibung
Fügt Adressdaten zu haspaddr.dat hinzu. Wenn eingeschaltet,
wird die Adresse des aktuellen LM in eine bestehende HASP
HLaddr.dat eingefügt. Das ist besonders nützlich, wenn es
mehrere HASP License Manager gibt. Alle LMs können vom
Client gesucht werden. Der LM sucht nicht nach Dubletten,
wenn er eine Adresse hinzufügt.
Standard
ersetzen
Beispiel
NHS_APPENDADDR=no
HASP HL Softwareschutz- und Lizenzierungshandbuch
189
HASP License Manager
Schlüsselwort
NHS_USESAP
Beschreibung
Mögliche Einstellungen: enabled oder disabled. So kann sich
der HASP HL LM selbst durch das Service Advertising Protocol
(SAP) am Netzwerk anmelden. Mit SAP können Clients den
LM für unterschiedliche Subnets finden. IPX ist normalerweise
so konfiguriert, dass es ein virtuelles Subnet auf Win 2000/XP/
Server 2003-Rechnern startet, so dass SAP unerlässlich ist,
damit die Clients den LM finden.
Standard
enabled
Beispiel
NHS_USESAP=enabled
Schlüsselwort
NHS_IPX_SOCKETNUM
Beschreibung
Die IPX Socket-Nummer. Alle Clients müssen dieselbe
Standard-Socket-Nummer verwenden. Die Nummer sollte nicht
geändert werden. Hinweis: Clients müssen denselben Port
verwenden!
Standard
0x7483
Beispiel
NHS_IPX_SOCKETNUM= 0x7483
Einstellungen für das NetBIOS-Protokoll
Sie können die Einstellungen für den HASP License Manager
über die Konfigurationsdatei nhsrv.ini genau abstimmen. Diese
Datei enthält den Abschnitt [NHS_NETBIOS], der für
Einstellungen für das NetBIOS-Protokoll verwendet wird. Die
folgende Liste enthält Schlüsselwörter des Abschnitts
[NHS_NETBIOS]:
190
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
Schlüsselwort
NHS_USE_NETBIOS
Beschreibung
Mögliche Einstellungen: enabled oder disabled Wenn Sie sicher
sind, dass Sie NetBIOS nicht für die Kommunikation mit dem
LM benötigen, deaktivieren Sie den Schalter, um Netzwerk- und
Speicherressourcen zu sparen.
Standard
enabled
Beispiel
NHS_USE_NETBIOS=enabled
Schlüsselwort
NHS_NBNAME
Beschreibung
Verwenden Sie den Schalter, um den Namen zu ändern.
Hinweis: Clients müssen denselben Namen verwenden. Dieser
Name darf im Namensraum Ihres NetBIOS noch nicht
verwendet werden. Namen müssen sich an die NetBIOSNamenskonventionen halten.
Verwenden Sie den Schalter nur, wenn Sie sicher
sind, dass Sie einen neuen NetBIOS-Namen
festlegen müssen.
Standard
enabled
Beispiel
NHS_NBNAME=MyNBName
Schlüsselwort
NHS_USE_LUNA_NUMS
Beschreibung
Nur enthalten, um mit älteren Versionen kompatibel zu sein.
Standard
alle (automatisch)
Beispiel
NHS_USE_LUNA_NUMS=3,0,7,2
HASP HL Softwareschutz- und Lizenzierungshandbuch
191
HASP License Manager
HASP HL Net-Clients konfigurieren
Dieser Abschnitt beschreibt, wie eine für HASP HL Net
geschützte Anwendung – der HASP HL Net-Client – über eine
Konfigurationsdatei konfiguriert werden kann.
Wenn der Client die entsprechende Konfigurationsdatei findet,
liest er die in der Datei enthaltenen Informationen und
verwendet sie. Wenn nicht, werden voreingestellte Werte
verwendet.
In der Konfigurationsdatei für den HASP HL Net-Client können
Sie genau abstimmen, wie der Client nach dem HASP License
Manager sucht.
Der voreingestellte Dateiname der Konfigurationsdatei für
HASP HL Net ist nethasp.ini. Eine Kopie von nethasp.ini
befindet sich in demselben Verzeichnis wie der HASP License
Manager. Wenn Sie den Namen der Konfigurationsdatei ändern,
müssen Sie den neuen Namen implementieren, wenn Sie die
Anwendung mit HASP HL Envelope oder der HASP HL API
schützen.
Suchreihenfolge für Konfigurationsdatei
Die Suchreihenfolge für die Datei ist vom Betriebssystem und
von der Art der Anwendung abhängig.
Die geschützte Anwendung sucht nach dem ersten Login nach
der Konfigurationsdatei. Weitere Informationen erhalten Sie im
Kapitel "HASP HL API-Login-Funktion" (Seite 71). Die
Anwendung sucht in folgender Reihenfolge:
192
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
Tabelle 12.4 Suchreihenfolge der Konfigurationsdatei nethasp.ini
Betriebssystem
Suchreihenfolge
Win32
Verzeichnis der Programmdatei →
aktuelles Verzeichnis →
Windows-Systemverzeichnis →
Windows-Verzeichnis →
Pfad
Mac OS X
(Carbon)
aktuelles Verzeichnis
Mac OS X
aktuelles Verzeichnis →
Verzeichnis des aktuellen Anwenders
→ /etc-Verzeichnis
Unter Mac OS X wird die nethasp.ini ohne
führenden Punkt gesucht. Wenn Sie unter Mac OS
X ein System verwenden, bei dem die Groß-/
Kleinschreibung relevant ist, stellen Sie sicher, dass
der Dateiname nethasp.ini in Kleinbuchstaben
geschrieben ist.
Abschnitte in der Konfigurationsdatei
Die Konfigurationsdatei für den HASP HL Net-Client besteht
aus drei optionalen Abschnitten:
• [NH_COMMON] für allgemeine Einstellungen
• [NH_IPX] für das Protokoll IPX
• [NH_TCPIP] für das Protokoll TCP/IP
Der Abschnitt [NH_COMMON] enthält allgemeine Einstellungen
für alle Abschnitte der Konfigurationsdatei. Die anderen zwei
Abschnitte enthalten genaue Einstellungen für ein bestimmtes
Protokoll.
HASP HL Softwareschutz- und Lizenzierungshandbuch
193
HASP License Manager
Schlüsselwörter festlegen
In jedem Abschnitt können Sie entweder allgemeine oder
abschnittsspezifische Schlüsselwörter festlegen. Wenn Sie ein
allgemeines Schlüsselwort in einem der drei ProtokollAbschnitte setzen, wird damit die im Abschnitt
[NH_COMMON] gesetzte Einstellung für dieses Protokoll
außer Kraft gesetzt.
Verwenden Sie die abschnittsspezifischen Schlüsselwörter, um
die Einstellungen für ein bestimmtes Protokoll anzupassen.
Die mit der API oder Envelope festgelegten Einstellungen
setzen die Einstellungen in der Konfigurationsdatei außer Kraft.
Jede Zeile der Konfigurationsdatei, die Sie mit Ihrer HASP HL
Software bekommen, beginnt mit einem Strichpunkt (;).
Entfernen Sie den Strichpunkt, wenn Sie die Zeile verwenden
möchten. Wenn Sie Kommentare hinzufügen möchten, stellen
Sie diesen einen Strichpunkt voran.
Bei Namen der HASP HL NetKonfigurationsdateien und ihren Schlüsselwörtern
wird nicht zwischen Groß- und Kleinschreibung
unterschieden (außer bei Dateinamen unter Mac OS
X, wenn ein System verwendet wird, bei dem die
Groß-/Kleinschreibung relevant ist).
Die folgenden Abschnitte beschreiben jeden Abschnitt in der
Konfigurationsdatei für den HASP HL Net-Client. Für jedes
Schlüsselwort werden die möglichen Werte und eine kurze
Beschreibung aufgeführt. Wo Standardwerte eingesetzt werden
können, werden sie angegeben.
194
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
[NH_COMMON]
Abschnittsspezifisch für [NH_COMMON]
Schlüsselwort
nh_ipx
Beschreibung
Ermöglicht die Verwendung des IPX-Protokolls.
Mögliche Werte
enabled, disabled
Schlüsselwort
nh_tcpip
Beschreibung
Ermöglicht die Verwendung des TCP/IP-Protokolls.
Mögliche Werte
enabled, disabled
Allgemeine Schlüsselwörter für [NH_COMMON]
Schlüsselwort
nh_session
Beschreibung
Maximale Zeitspanne festlegen, in der die geschützte
Anwendung versucht, mit dem HASP License Manager zu
kommunizieren.
Mögliche Werte
numerische Werte
Standard
2 Sekunden
Schlüsselwort
nh_send_rcv
Beschreibung
Maximale Zeitspanne festlegen, in der der HASP License
Manager ein Paket sendet oder empfängt.
Mögliche Werte
numerische Werte
Standard
1 Sekunde
HASP HL Softwareschutz- und Lizenzierungshandbuch
195
HASP License Manager
[NH_IPX]
Abschnittsspezifische Schlüsselwörter für [NH_IPX]
Schlüsselwort
nh_use_bindery
Beschreibung
Zusammenarbeit des IPX-Protokolls mit Novells BINDERY.
Mögliche Werte
enabled, disabled
Standard
disabled
Schlüsselwort
nh_use_broadcast
Beschreibung
Verwendung des IPX-Broadcast-Mechanismus ermöglichen.
Mögliche Werte
enabled, disabled
Standard
enabled
Schlüsselwort
nh_bc_socket_num
Beschreibung
Socket-Nummer für den Broadcast-Mechanismus verwenden.
Die Nummer muss hexadezimal angegeben werden.
Mögliche Werte
hexadezimale Werte
Standard
7483H
Schlüsselwort
nh_use_int
Beschreibung
2F_NEW bedeutet, dass das IPX-Protokoll nur Interrupt 2Fh
verwendet. 7F_OLD bedeutet, dass das IPX-Protokoll nur
Interrupt 7Ah verwendet.
Mögliche Werte
2F_NEW, 7F_OLD
Standard
2F_NEW
196
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
Schlüsselwort
nh_server_name
Beschreibung
Unter einem festgelegten Namen mit dem HASP License
Manager kommunizieren.
Mögliche Werte
<Name1>, <Name2>,...
Schlüsselwort
nh_search_method
Beschreibung
Festlegen, ob die geschützte Anwendung mit dem HASP
License Manager in einem lokalen Netzwerk kommuniziert oder
mit einem beliebigen HASP License Manager im Internet.
Mögliche Werte
localnet, internet
Standard
internet
Schlüsselwort
nh_datfile_path
Beschreibung
Speicherort der HASP License Manager-Adressdatei festlegen.
Allgemeine Schlüsselwörter für [NH_IPX]
Schlüsselwort
nh_session
Beschreibung
Maximale Zeitspanne festlegen, in der die geschützte
Anwendung versucht, mit dem HASP License Manager zu
kommunizieren.
Mögliche Werte
numerische Werte
Standard
2 Sekunden
Schlüsselwort
nh_send_rcv
Beschreibung
Maximale Zeitspanne festlegen, in der der HASP License
Manager ein Paket sendet oder empfängt.
Mögliche Werte
numerische Werte
Standard
1 Sekunde
HASP HL Softwareschutz- und Lizenzierungshandbuch
197
HASP License Manager
[NH_TCPIP]
Abschnittsspezifische Schlüsselwörter für
[NH_TCPIP]
Schlüsselwort
nh_server_addr
Beschreibung
IP-Adressen für alle suchbaren HASP License Manager
festlegen. Unbegrenzte Anzahl von Adressen und mehrfache
Zeilen sind möglich.
Mögliche Werte
<Adresse1>, <Adresse2>
Beispiele
IP-Adresse: 192.114.176.65
Lokaler Host-Name: ftp.aladdin.com
Schlüsselwort
nh_server_name
Beschreibung
Unter einem festgelegten Namen mit dem HASP License
Manager kommunizieren. Jeder Name kann bis zu 7 Zeichen
enthalten, und Sie können bis zu 6 Namen festlegen.
Mögliche Werte
<Name1>, <Name2>
Schlüsselwort
nh_use_broadcast
Beschreibung
Die Verwendung des UDP-Broadcast-Mechanismus
ermöglichen.
Mögliche Werte
enabled, disabled
Standard
enabled
198
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
Allgemeine Schlüsselwörter für [NH_TCPIP]
Schlüsselwort
nh_session
Beschreibung
Maximale Zeitspanne festlegen, in der die geschützte
Anwendung versucht, mit dem HASP License Manager zu
kommunizieren.
Mögliche Werte
numerische Werte
Standard
2 Sekunden
Schlüsselwort
nh_send_rcv
Beschreibung
Maximale Zeitspanne festlegen, in der der HASP License
Manager ein Paket sendet oder empfängt.
Mögliche Werte
numerische Werte
Standard
1 Sekunde
HASP HL Net-Umgebung anpassen
Dieser Abschnitt beschreibt zusätzliche Einstellungen des
HASP License Manager und Keywords für nethasp.ini, um den
Einsatz eines HASP HL Net in einer bestimmten
Netzwerkumgebung anzupassen.
Bereich von Stationen unter IPX definieren
Mit IPX können Sie Stationen innerhalb eines anderen
Segments den Zugang zum HASP License Manager
ermöglichen.
So ermöglichen Sie den Zugang von einem anderen
Segment aus:
1. Laden Sie den HASP License Manager mit dem Schalter ipxnosap.
HASP HL Softwareschutz- und Lizenzierungshandbuch
199
HASP License Manager
Das stellt sicher, dass die Adresse des HASP License Manager
nicht über den SAP-Mechanismus bekannt gegeben wird,
sondern über die HASP HL Net-Adressdatei newhaddr.dat.
2. Bearbeiten Sie die Datei nethasp.ini wie folgt:
• Setzen Sie im Abschnitt [NH_COMMON] das
Schlüsselwort NH_IPX = Enabled
• Setzen Sie im Abschnitt [NH_IPX] das Schlüsselwort
NH_USE_BROADCAST = Disabled
• Setzen Sie im Abschnitt [NH_IPX] das Schlüsselwort
NH_USE_BROADCAST = Disabled
Diese Einstellungen führen dazu, dass die geschützte
Anwendung auf Stationen innerhalb des angegebenen Bereichs
nach der Adressdatei des HASP License Manager sucht und sie
ausliest.
3. Kopieren Sie die geschützte Anwendung und die Datei
nethasp.ini in das gleiche Verzeichnis.
Bereich von Stationen unter TCP/IP definieren
Unter TCP/IP kann der Bereich von Stationen durch zwei
verschiedene Methoden festgelegt werden. Sie können entweder
festlegen, welchen Bereich der HASP License Manager bedient
oder den Bereich von Stationen, innerhalb dessen nach einem
bestimmten HASP License Manager gesucht wird.
Bereich mit nhsrv.ini definieren
Die HASP License Manager für Windows, Win32 und Mac
können eine nhsrv.ini-Konfigurationsdatei lesen. Sie können in
dieser Datei festlegen, welche Stationen der HASP License
Manager unter TCP/IP bedient.
So legen Sie den Bereich der Stationen fest:
Bearbeiten Sie die Datei nhsrv.ini wie folgt:
• Setzen Sie im Abschnitt [NHS_SERVER] das Schlüsselwort
NHS_IP_LIMIT = <ipaddr> [,<ipaddr....]
200
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP License Manager
Beispielformate für <ipaddr>
Wenn Sie den Bereich von Stationen mit der Datei nhsrv.ini
festlegen, können Sie folgende Formate verwenden:
• 10.1.2.3
Der HASP License Manager bedient nur die Station mit der
angegebenen IP-Adresse.
• 10.1.2.*
Der HASP License Manager bedient nur Stationen, die der
angegebenen Adressmaske entsprechen., z. B. 10.1.2.0 bis
10.1.2.255.
• 10.1.*.*
Der HASP License Manager bedient nur Stationen, die der
angegebenen Adressmaske entsprechen., z. B. 10.1.0.0 bis
10.1.255.255.
Stationszugriff auf den HASP HL Net in einem TCP/IPbasierten Netzwerk begrenzen:
1. Bearbeiten Sie nhsrv.ini und legen Sie den Bereich von
Stationen fest.
2. Kopieren Sie nhsrv.ini in ein Verzeichnis, auf das der HASP
License Manager zugreifen kann.
Bereich über nethasp.ini definieren
Sie können die Konfigurationsdatei für den HASP HL Net so
bearbeiten, dass der HASP License Manager (entsprechend der
Adresse) einen bestimmten Bereich von Stationen durchsucht.
Einen Bereich von Stationen festlegen
1. Bearbeiten Sie die Datei nethasp.ini: Setzen Sie im Abschnitt
[NH_TCPIP] NH_SERVER_ADDRESS= <Adresse
des HASP License Manager>.
2. Kopieren Sie die Datei nethasp.ini in ein Verzeichnis, auf das
nur der gewünschte Bereich von Stationen Zugriff hat.
HASP HL Softwareschutz- und Lizenzierungshandbuch
201
HASP License Manager
Timeout-Wert anpassen
Der HASP License Manager kann immer nur eine Anfrage
bearbeiten. Der Timeout-Wert legt fest, wie lange eine
geschützte Anwendung versucht, auf den HASP License
Manager zuzugreifen, bevor sie den Versuch abbricht.
In den meisten Netzwerken reichen die voreingestellten
Timeout-Werte. Sie brauchen den Timeout-Wert also nur zu
ändern, wenn der HASP HL Net an eine langsame oder
vielbenutzte Station angeschlossen ist.
Timeout-Wert festlegen
Setzen Sie im entsprechenden Abschnitt der nethasp.ini
Folgendes:
NH_SESSION = <m>
NH_SEND_RCV = <n>
wobei m und n die Werte in Sekunden sind. Der voreingestellte
Wert ist für m 2 Sekunden und für n 1 Sekunde.
Anzahl geschützter Anwendungen, die bedient werden,
festlegen
Mit dem HASP License Manager können Sie die
Standardanzahl bedienter Stationen ändern. Per Voreinstellung
kann der HASP License Manager maximal 250 (Win32, Mac
und Linux) Stationen bedienen.
Der HASP License Manager allokiert Speicher für die maximale
Anzahl von geschützten Anwendungen. Wenn nötig, können Sie
Speicherplatz sparen, indem Sie diesen Wert ändern.
Voreingestellte Speicherplatz-Allokierung ändern
Laden Sie den HASP License Manager mit folgendem Schalter:
nhsrvw32 -userlist = n
wobei n die Anzahl der Stationen ist, die bedient werden.
Der Schalter -userlist ist nur für Win32 verfügbar.
202
Aladdin Knowledge Systems Ltd © 2004.
Kapitel 13
Aladdin Monitor
Dieses Dokument beschreibt das Dienstprogramm Aladdin
Monitor. Es behandelt folgende Themen:
• Aladdin Monitor installieren
• Einstellungen für das Dienstprogramm Aladdin Monitor
• HASP License Manager überwachen
• Überprüfung des HASP HL Net-Keys
Mit Aladdin Monitor können Sie die HASP License ManagerAnwendungen und die HASP HL Net-Keys zentral verwalten.
Aladdin Monitor ist für die folgenden Systeme erhältlich:
Windows 98SE/ME/NT/2000/XP/Server 2003. Er
kommuniziert über die Protokolle TCP/IP und IPX.
Liefern Sie Aladdin Monitor zusammen mit Folgendem an Ihre
Kunden:
• geschützte Software
• HASP HL Net-Keys
• HASP License Manager
Aladdin Monitor wird mit einer Online-Hilfe ausgeliefert.
HASP HL Softwareschutz- und Lizenzierungshandbuch
203
Aladdin Monitor
Sie können das Verhalten von Aladdin Monitor über
die Konfigurationsdatei für den HASP HL NetClient ändern (nethasp.ini). Weitere Einzelheiten
finden Sie im Kapitel "HASP HL Net-Clients
konfigurieren" (Seite 192).
Das Dienstprogramm bietet folgende Funktionalitäten:
• Eigenschaften des HASP License Manager überprüfen
• HASP HL Net-Keys überprüfen
• HASP License Manager als Dienst starten und anhalten
Aladdin Monitor installieren
Aladdin Monitor kann auf einer beliebigen Station im Netzwerk
installiert werden. Es ist nicht nötig, den HASP License
Manager auf der gleichen Station zu installieren.
Um Aladdin Monitor zu installieren, verwenden Sie das
Installationsprogramm aksmon32.exe. Befolgen Sie nach dem
Start die Anweisungen auf dem Bildschirm.
Einstellungen für Aladdin Monitor
Sie können folgende Aladdin Monitor-Einstellungen Ihren
Wünschen anpassen:
• die Sprache – Englisch oder Deutsch
• die Aktualisierungshäufigkeit für den Dialog (Voreinstellung
ist alle 2 Sekunden)
• die Häufigkeit der Netzwerkabfrage (Voreinstellung ist alle 3
Minuten)
• Sie können festlegen, ob Aladdin Monitor im HASP-Modus,
im Hardlock-Modus oder beiden laufen soll.
• Sie können festlegen, ob Sie die Konfigurationsdatei
nethasp.ini verwenden möchten oder nicht.
204
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
Aladdin Monitor
Wählen Sie aus dem Menü Datei die Option Einstellungen, um
Änderungen an den Einstellungen durchzuführen. Sie werden
erst nach einem erneuten Programmstart aktiv.
HASP License Manager überwachen
Klicken Sie im linken Bereich des Fensters unter Aladdin
Netzwerk den HASP License Manager, für den Sie die LoginInformationen überprüfen möchten.
Falls keine Einträge von HASP License Managern
angezeigt werden, doppelklicken Sie zunächst das
Verzeichnis HASP License Manager oder
aktualisieren Sie die Ansicht mit Daten
aktualisieren.
Die HASP License Manager-Informationen werden im rechten
Bereich des Fensters angezeigt.
HASP License Manager, die nur NetBIOS
verwenden, werden nicht von Aladdin Monitor
erkannt.
Zum gewählten HASP License Manager werden folgende
Informationen angezeigt:
• allgemeine Informationen zum gewählten
HASP License Manager (Tabelle 13.1)
• Informationen zu den verwalteten HASP HL Net-Keys
(Tabelle 13.2)
HASP HL Softwareschutz- und Lizenzierungshandbuch
205
Aladdin Monitor
Tabelle 13.1 HASP License Manager Informationen
Feld
Erklärung
Name
Name des Rechners, auf dem der HASP
License Manager läuft
Version
Version des HASP License Manager
IP
IP-Adresse des Rechners
IPX
IPX-Adresse des Rechners
LM-Typ
Plattform, für die der HASP License Manager
konfiguriert ist
TCP/IP, IPX
aktuell verwendetes Protokoll
Tabelle 13.2 Informationen zum HASP-Key
Feld
206
Erklärung
HASP #
ID des HASP Netzwerk-Key
Key-Typ
Typ des HASP-Key: HASP und älter, HASP4
oder HASP HL
Key-Modell
maximal mögliche Anzahl von Lizenzen
Aktuelle
Stationen
aktuell angemeldete Stationen
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
Aladdin Monitor
HASP HL Keys überprüfen
Wählen Sie den HASP HL Key, der unter dem HASP License
Manager-Verzeichnis unter Aladdin Netzwerk im linken
Bereich des Fensters angezeigt wird. Der HASP HL Key kann
nur überprüft werden, wenn eine Anmeldung durchgeführt
wurde.
Falls der Key nicht angezeigt wird, doppelklicken
Sie den HASP License Manager, der den Key
bereitstellt, oder aktualisieren Sie die Ansicht mit
Daten aktualisieren.
Die HASP HL-Informationen werden im rechten Bereich des
Fensters angezeigt.
Zum gewählten HASP HL Key werden folgende Informationen
angezeigt:
• allgemeine Informationen zum HASP HL Key (Tabelle 13.3)
• ein Überblick über die Programme (Tabelle 13.4)
• eine Übersicht über Anmeldungen für die einzelnen
Programme (Tabelle 13.5)
HASP HL Softwareschutz- und Lizenzierungshandbuch
207
Aladdin Monitor
Tabelle 13.3 HASP HL Informationen
Feld
Erklärung
HASP #
laufende Nummer des HASP Key
Key-Typ
Typ des HASP-Key: HASP HL, HASP
oder HASP4
Tabelle 13.4 Programmtabelle
Feld
Erklärung
Programm-Nr.
Nummer des geschützten Programms
Aktuelle
Stationen
aktuell angemeldete Stationen
Max. Station
maximal mögliche Anzahl von Stationen
Aktivierungen
maximal mögliche Anzahl von
Aktivierungen des Programms
Tabelle 13.5 Logintabelle
Feld
208
Erklärung
No.
laufende Nummer des Login
Login-ID
Adresse, unter der die Station angemeldet
ist
Host Name
Name des Rechners, an den der Key
angeschlossen ist
Protokoll
verwendetes Protokoll
Timeout
Zeit, die ohne Aktivität vergehen muss,
bis der Login-Eintrag gelöscht wird (in
Sekunden).
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
Aladdin Monitor
HASP License Manager-Dienst
Der HASP License Manager-Dienst ermöglicht Ihnen die
Verwaltung von HASP HL Net-Keys an einer NTArbeitsstation.
Mit Aladdin Monitor können Sie den HASP License Manager
als Dienst auf dem lokalen Rechner starten und anhalten.
Dienst starten
Wählen Sie aus dem Menü HASP LM-Dienst oder dem Menü
Dienste/HASP die Option HASP LM-Dienst starten.
Alternativ können Sie das Ampel-Symbol verwenden. Der
Dienst wird gestartet und kann nun lokal angeschlossene HASP
HL Net-Keys im Netzwerk zur Verfügung stellen.
Alternativ können Sie den Dienst über das Kontextmenü starten.
Klicken Sie dazu mit der rechten Maustaste auf das Verzeichnis
HASP License Manager und wählen Sie HASP LM-Dienst
starten
Dienst anhalten
Wählen Sie aus dem Menü HASP LM-Dienst oder dem Menü
Dienste/HASP die Option HASP LM-Dienst anhalten.
Alternativ können Sie das Ampel-Symbol verwenden.
Der Dienst wird angehalten. Danach wird die Ansicht
aktualisiert. Das kann etwas Zeit in Anspruch nehmen, da das
ganze Netzwerk durchsucht wird.
Alternativ können Sie den Dienst über das Kontextmenü
anhalten. Klicken Sie dazu mit der rechten Maustaste auf das
Verzeichnis HASP License Manager und wählen Sie
HASP LM-Dienst anhalten.
HASP HL Softwareschutz- und Lizenzierungshandbuch
209
Aladdin Monitor
210
Aladdin Knowledge Systems Ltd © 2004.
Kapitel 14
HASP HL Keys überprüfen
Dieses Kapitel beschreibt, wie Aladdin DiagnostiX und Aladdin
DiagnostiX Memory Beamer zum Sammeln von Informationen
über eingesetzte HASP HL Keys verwendet werden. Es
behandelt folgende Themen:
• Aladdin DiagnostiX an Ihre Kunden liefern
• HASP HL Keys überprüfen
• Berichte über eingesetzte HASP HL Keys erstellen
• Aladdin DiagnostiX mit externen Berichtswerkzeugen
verbinden
• Aladdin DiagnostiX Memory Beamer verwenden
Das Dienstprogramm Aladdin DiagnostiX sammelt
Informationen über eingesetzte HASP HL Keys und die
Systeme, auf denen sie laufen. Dieser Feedback-Mechanismus
hilft, Kunden, die Probleme mit geschützten Anwendungen
haben, Lösungen bereitzustellen.
HASP HL Softwareschutz- und Lizenzierungshandbuch
211
HASP HL Keys überprüfen
Funktionalität von Aladdin DiagnostiX
Ihre Kunden können das Dienstprogramm Aladdin DiagnostiX
für Folgendes verwenden:
• nach einem HASP HL Key suchen
• eine Bericht-Datei erzeugen, die Daten zu Aladdin-Keys und
andere relevante Systeminformationen enthält
• falls notwendig, einen aktualisierten HASP HL Driver
herunterladen
Aladdin DiagnostiX ist für die folgenden Systeme erhältlich:
Windows 98SE/ME und Windows NT/2000/XP/Server 2003.
Wenn Ihre Kunden das Dienstprogramm Aladdin DiagnostiX
verwenden, weisen Sie sie an, das Werkzeug HASP HL-Key
suchen zu wählen, um nach einem HASP HL Key zu suchen.
Zusätzlich zu HASP HL Daten können Ihre Kunden Aladdin
DiagnostiX verwenden, um Berichte mit zentralen
Informationen über ihre Systeme zu erzeugen. Diese Berichte
werden zur weiteren Analyse an den technischen Support
geliefert.
Das Dienstprogramm durchsucht Ihr System beim Start mit dem
Diagnosewerkzeug System-Information. Die Ergebnisse
werden als Teil des Fensters System-Information im
Arbeitsbereich angezeigt.
212
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP HL Keys überprüfen
Aladdin DiagnostiX ausliefern
Sie sollten Aladdin DiagnostiX an Ihre Kunden ausliefern. Die
Installation von Aladdin DiagnostiX beim Kunden vor Ort ist
ein einfacher Prozess. Ihre Kunden klicken einfach auf
aksdiag32.exe und folgen den Anweisungen auf dem
Bildschirm.
Eine Kopie von aksdiag32.exe befindet sich im Verzeichnis
Redistribute Ihrer HASP HL Installation und auf der HASP HL
Installations-CD. Liefern Sie diese Datei per E-mail oder
brennen Sie sie auf CD und schicken Sie sie an Ihre Kunden.
Um auf die Keys zuzugreifen und mit ihnen zu
kommunizieren, werden die HASP HL Vendor
Codes benötigt. Um die Vertraulichkeit zu wahren,
empfehlen wir, Ihren Kunden eine angepasste DLL
mit den Vendor Code-Daten in gesicherter Form zu
schicken. Wie Sie eine angepasste DLL erstellen,
erfahren Sie unter "Angepasste DLLs an Ihre
Kunden schicken" (Seite 221).
HASP HL Softwareschutz- und Lizenzierungshandbuch
213
HASP HL Keys überprüfen
HASP HL Keys überprüfen
Das Dienstprogramm Aladdin DiagnostiX enthält das Werkzeug
HASP HL-Key suchen, mit dem Sie eingesetzte HASP HL
Keys suchen und Informationen über sie abrufen können.
HASP HL Key suchen
Um einen HASP HL Key zu suchen, wählen Sie das Symbol
HASP HL im Bereich Diagnose-Werkzeuge. Das Fenster
HASP HL-Key suchen wird im Arbeitsbereich angezeigt.
So suchen Sie einen HASP HL Key
So gehen Sie vor, um nach einem HASP HL Key zu suchen:
1. Wählen Sie eine Suchoption aus dem Fenster HASP HLKey suchen. Die Standardeinstellung ist Lokal und
Netzwerk.
2. Legen Sie den Vendor Code für den HASP HL Key fest.
3. Legen Sie die Programm-Nummer fest. Wir empfehlen,
Default (0) zu wählen, da dieses Feature immer verfügbar ist,
wenn der HASP HL Key angeschlossen ist.
4. Wenn Sie den Speicherinhalt des HASP HL Key auslesen
und speichern möchten, markieren Sie Update-Daten beim
Zugriff speichern
5. Klicken Sie Key suchen.
6. Einzelheiten über den Zugriff auf den Key werden in Aladdin
DiagnostiX im Feld Erfolgte Zugriffe angezeigt.
214
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP HL Keys überprüfen
Feld Erfolgte Zugriffe
Das Feld Erfolgte Zugriffe zeigt alle Versuche, auf HASP HL
Keys zuzugreifen, und stellt sie in einer Tabelle dar. Die
Informationen über den Keyzugriff werden der Reihe nach
angezeigt, der letzte Zugriff zuerst. Tabelle 14.1 gibt genaue
Informationen über das Feld Erfolgte Zugriffe.
Tabelle 14.1 Aladdin DiagnostiX: Das Feld Erfolgte Zugriffe
Spalte
Zugriffsart
Wert
Beschreibung
Lokal
Der Key wurde an einer lokalen
Schnittstelle gefunden.
Netzwerk
Der Key wurde an einer
Netzwerk-Schnittstelle
gefunden.
Prog.Nr.
Programm-Nummer für den Login in einen
HASP HL Key.
Port/IP
Zeigt die Nummer der Schnittstelle an, an
die der HASP HL Key angeschlossen ist.
Wenn der HASP HL gefunden wurde und
über eine Netzwerk-Schnittstelle mit dem
HASP License Manager eingeloggt wurde,
wird die IP-Adresse angezeigt. Wenn nicht
auf den HASP HL Key zugegriffen werden
konnte, wird (n/a) angezeigt.
Key-Typ
Typ des erkannten HASP HL Key.
HASP ID
ID-Nummer des erkannten Key.
Zusätzl.
Informationen
Zusätzliche Informationen über die oben
angezeigte Fehlernummer.
HASP HL Softwareschutz- und Lizenzierungshandbuch
215
HASP HL Keys überprüfen
HASP HL nethasp.ini-Dateien konfigurieren
Mit Aladdin DiagnostiX können Ihre Kunden schnell HASP HL
nethasp.ini-Dateien erstellen und konfigurieren, sodass die
Kommunikation zwischen ihren geschützten Anwendungen und
den HASP HL Net-Keys beschleunigt wird.
So öffnen Sie das nethasp.ini-Konfigurationsfenster:
1. Doppelklicken Sie das Symbol HASP im Bereich DiagnoseWerkzeuge.
Unter dem HASP-Symbol wird das HASP nethasp.iniSymbol angezeigt.
2. Klicken Sie auf das HASP nethasp.ini-Symbol.
Das Fenster nethasp.ini-Konfiguration wird im
Arbeitsbereich angezeigt.
Ihre Kunden haben drei Möglichkeiten, eine nethasp.ini-Datei
zu erstellen:
• Eine automatisch erzeugte Datei verwenden. Die Datei
wird basierend auf beim Start gesammelten Informationen
erzeugt. Die in der Datei enthaltenen Informationen werden
dann für den Zugriff auf Server verwendet. Das erste
geeignete Protokoll in folgender Reihenfolge wird
verwendet: IP und dann IPX. Es werden nur beim Start
gefundene IP-Servernamen verwendet.
• Eine Standard-Datei verwenden. Bei dieser Option können
Ihre Kunden Folgendes festlegen, um es der .ini-Datei
hinzuzufügen:
• IP
• IPX
Bei dieser Option werden keine vordefinierten Einstellungen für
Servernamen in die Standard-.ini-Datei eingefügt.
• Eine benutzerdefinierte Datei verwenden. Mit Aladdin
DiagnostiX können Ihre Kunden bestimmte lokale und
Server-Protokolle festlegen.
216
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP HL Keys überprüfen
nethasp.ini-Dateien konfigurieren
Gehen Sie folgendermaßen vor, um eine .ini-Datei mit Aladdin
DiagnostiX zu konfigurieren:
1. Wählen Sie eine der drei zur Verfügung stehenden Methoden,
um die Datei zu erzeugen. Wenn Sie die Option der
automatisch erzeugten Datei wählen, überspringen Sie die
Schritte 2-3 und fahren Sie mit Schritt 4 fort.
2. Wenn Sie die Option Standard in Schritt 1 gewählt haben,
prüfen Sie eins oder alle der verfügbaren Protokolle. Fahren
Sie mit Schritt 4 fort.
3. Wenn Sie in Schritt 1 die Option der benutzerdefinierten
Datei gewählt haben, verwenden Sie die Felder, um IP- und
IPX-Server zu definieren. Sie können manuell die
Kommandozeilen-Parameter verwenden oder auf die
entsprechende Suchen-Schaltfläche klicken, um aus einer
Liste verfügbarer Optionen zu wählen.
4. Geben Sie im Feld Verzeichnis wählen den Namen des
Zielverzeichnisses für die .ini-Datei ein. Sie können auch die
Suchen-Schaltfläche verwenden, um zum gewünschten
Verzeichnis zu navigieren.
5. Klicken Sie Erzeugen.
Berichte über HASP HL Keys erstellen
Ihre Kunden können mit Aladdin DiagnostiX Berichte mit
folgenden Informationen erstellen:
• HASP HL Keys
• System-Informationen
• von externen Berichtswerkzeugen zusammengefasste
Informationen
• aus HASP HL Keys ausgelesene Speicher
HASP HL Softwareschutz- und Lizenzierungshandbuch
217
HASP HL Keys überprüfen
Wenn Ihre Kunden ein Problem mit ihrem HASP HL Key haben
oder Schwierigkeiten beim Zugriff auf die geschützte
Anwendung haben, können sie die Berichte an Sie oder an den
Aladdin-Support vor Ort schicken.
Einstellungen für die Berichterstellung
Inhalt und Format der von Aladdin DiagnostiX erzeugten
Berichte werden im Fenster für die Aladdin DiagnostiXEinstellungen definiert. Verwenden Sie das Register Bericht
erstellen, um Ihre Einstellungen zu definieren.
Die Einstellungen, die im Register Bericht erstellen angezeigt
werden, beinhalten Folgendes:
Format: Bietet drei Formatmöglichkeiten – XML, HTML und
Text.
Wenn Sie die Optionen HTML oder Text wählen,
wird zusätzlich eine XML-Datei erstellt, die den
ausgelesenen Speicher jedes erkannten Key enthält.
Das Berichtfeature von Aladdin DiagnostiX erzeugt
möglicherweise mehrere Dateien. Um die erzeugten Dateien zu
komprimieren, markieren Sie Erzeugte Dateien
komprimieren.
Um in die erzeugten Berichte Informationen über Win16- und
DOS-Subsysteme einzubeziehen, markieren Sie das
Auswahlfeld Win16/DOS-Information erstellen. Aladdin
DiagnostiX erstellt für jedes Subsystem zwei separate
Berichtdateien.
218
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP HL Keys überprüfen
So erstellen Sie einen Bericht:
1. Prüfen Sie die im vorangehenden Abschnitt dargestellten
Einstellungen.
2. Verwenden Sie eine der folgenden Methoden, um einen
Bericht zu erstellen:
• Klicken Sie auf das Symbol Bericht erstellen.
• Wählen Sie aus dem Menü Bearbeiten die Option
Bericht erstellen.
• [Strg] + R
• Klicken Sie im Fenster System Information auf die
Schaltfläche Bericht erstellen.
Es wird ein Nachrichtenfenster mit Informationen über Inhalt
und Speicherort der Berichtdatei angezeigt.
Mit externen Berichtswerkzeugen verbinden
Mit Aladdin DiagnostiX können Sie Einstellungen für zwei
verschiedene externe Berichtswerkzeuge wie msinfo32
definieren. Die von diesen externen Werkzeugen erstellten
Berichte können komprimiert und in einer einzigen Datei
gespeichert werden. Gehen Sie folgendermaßen vor, um
Aladdin DiagnostiX mit externen Berichtswerkzeugen zu
verbinden:
1. Öffnen Sie im Dialog für die Aladdin DiagnostiXEinstellungen das Register Externe Bericht-Werkzeuge.
2. Markieren Sie das Ankreuzfeld Externes Werkzeug 1.
Die Felder Ausführen und Ergebnisdatei sollten aktiviert
sein.
HASP HL Softwareschutz- und Lizenzierungshandbuch
219
HASP HL Keys überprüfen
3. Legen Sie im Feld Ausführen entweder den
Kommandozeilen-Pfad zum entsprechenden
Berichtswerkzeug fest, oder navigieren Sie über die
Schaltfläche zum entsprechenden Werkzeug. Fügen Sie
zusätzliche Kommandozeilen-Parameter hinzu, um das
Werkzeug im 'stillen Modus' auszuführen und legen Sie die
Aladdin DiagnostiX Ergebnisdatei fest.
4. Verwenden Sie das Feld Ergebnisdatei, um den Namen der
vom externen Werkzeug erstellten Datei festzulegen. Geben
Sie den Pfad zum Zielverzeichnis an oder suchen Sie nach
der Datei.
5. Um Einstellungen für ein zweites externes Berichtswerkzeug
zu definieren, markieren Sie das Ankreuzfeld Externes
Werkzeug 2 und wiederholen Sie die Schritte 2-4.
Sie haben die Möglichkeit ein Zeitlimit für das Erstellen
eines Berichts durch das externe Berichtswerkzeug
festzulegen. Markieren Sie das entsprechende Auswahlfeld
und geben Sie ein Zeitlimit an. Wenn das Berichtswerkzeug
seinen Bericht nicht innerhalb des angegebenen Zeitrahmens
erstellt, wird es beendet.
6. Klicken Sie Übernehmen, um den Vorgang abzuschließen.
HASP HL Driver aktualisieren
Mit Aladdin DiagnostiX können Ihre Kunden Treiber für lokal
installierte Keys aktualisieren. Diese aktualisierten Treiber sind
auf der Aladdin FTP-Site verfügbar.
So aktualisieren Sie die Treiber:
a. Klicken Sie die Schaltfläche Treiber aktualisieren im
Fenster System Information.
b. Folgen Sie den Anweisungen auf dem Bildschirm, um die
neuen Treiber herunterzuladen und zu installieren.
Ihre aktualisierten Treiber werden sofort im Fenster
System Information angezeigt.
220
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP HL Keys überprüfen
Aladdin DiagnostiX Memory Beamer
Der Aladdin DiagnostiX Memory Beamer ist ein VendorDienstprogramm, das als Kanal für die Übermittlung gesicherter
Daten zwischen Software-Herstellern und ihren Kunden dient.
In Verbindung mit dem Programm Aladdin DiagnostiX können
Sie den Aladdin DiagnostiX Memory Beamer für Folgendes
verwenden:
• angepasste DLLs an Ihre Kunden schicken
• auf vom Dienstprogramm Aladdin DiagnostiX erstellte
Berichte zugreifen
• die Update-Informationen lesen, die den Speicherinhalt des
eingesetzten HASP HL Key enthalten. Sie können die
Informationen als C2V-Datei speichern, um sie mit der
HASP HL Factory weiterzuverarbeiten.
Aladdin Diagnostix Memory Beamer ist
ausschließlich für Software-Hersteller und nicht für
Endanwender bestimmt.
Angepasste DLLs an Ihre Kunden schicken
Verwenden Sie den Beamer, um die Vendor Codes für
eingesetzte Keys in angepasste DLL-Dateien zu integrieren. Die
Dateien können später an Ihre Kunden geliefert werden. Wenn
diese angepassten DLLs auf dem System Ihres Kunden
verfügbar sind, bieten sie ein zusätzliches Mittel, um über das
Dienstprogramm Aladdin DiagnostiX auf einen HASP HL Key
zuzugreifen.
HASP HL Softwareschutz- und Lizenzierungshandbuch
221
HASP HL Keys überprüfen
So erstellen Sie eine DLL:
1. Geben Sie den Pfad ein oder suchen Sie die Vendor CodeDatei.
2. Klicken Sie Inject.
Ein Nachrichtenfenster bestätigt, dass der Code in die DLL
eingefügt wurde.
In Ihrem aktuellen Verzeichnis sollte eine DLL-Datei als
custom.dll angezeigt werden – benennen Sie diese Datei
nicht um!
3. Senden Sie diese DLL-Datei an Ihren Kunden. Geben Sie
ihm die Anweisung, sie in demselben Verzeichnis wie das
Dienstprogramm Aladdin DiagnostiX zu speichern.
Alternativ kann Ihr Kunde die DLL in dem Verzeichnis
speichern, das das Aladdin DiagnostiX
Installationsprogramm enthält – das Installationsprogramm
kopiert die DLL automatisch in das Installationsverzeichnis.
222
Aladdin Knowledge Systems Ltd © 2004.
Vertrieb von HASP HL
HASP HL Keys überprüfen
Berichtdateien lesen
Mit dem Beamer können Sie schnell auf vom Dienstprogramm
Aladdin DiagnostiX erstellte Berichte zugreifen und sie
durchsehen. Der Beamer zeigt die folgenden Informationen an,
die auf von Ihren Kunden gesendeten Berichtdateien basieren:
• Typ des HASP HL Key
• Zugriff – wie auf den Key zugegriffen wurde
Berichtdatei lesen
1. Geben Sie den Pfad ein oder suchen Sie die Berichtdatei.
Klicken Sie Open.
2. Wenn die Berichtdatei wichtige HASP HL Einträge enthält,
sollten die Felder Key Type und Access Einträge enthalten.
Wenn Sie eine bestimmte Berichtdatei überspringen
und zur nächsten Datei weitergehen möchten,
klicken Sie auf Skip.
3. Wenn die Berichtdatei den Speicherinhalt eines eingesetzten
HASP HL Key enthält, können Sie die Informationen als
C2V-Datei speichern, um sie mit HASP HL Factory
weiterzuverarbeiten. Geben Sie einen Dateinamen für die
Datei an oder verwenden Sie die Suchen-Schaltfläche, um an
den gewünschten Ort zu navigieren. Der Standard-Dateiname
ist [haspid].c2v – haspid ist dabei die Seriennummer des
eingesetzten HASP HL Key.
HASP HL Softwareschutz- und Lizenzierungshandbuch
223
HASP HL Keys überprüfen
224
Aladdin Knowledge Systems Ltd © 2004.
Anhang A
Problemlösung
Der erste Teil dieses Anhangs führt eine Checkliste auf, die
Ihnen bei der Lösung der häufigsten Probleme hilft, die bei der
Verwendung von HASP HL auftreten können. Der zweite Teil
führt besondere Probleme auf, die bei Ihnen oder Ihren Kunden
auftreten können, sowie die entsprechenden Lösungen.
Die HASP HL Produktlinie entspricht den höchsten Standards
der Qualitätssicherung. Trotzdem können, wie bei allen
Peripheriegeräten für Rechner, bei bestimmten
Rechnerkonfigurationen wegen einer fehlerhaften Ausrüstung
oder mangelhafter Installation Störungen der Funktionsfähigkeit
auftreten. In solchen Situationen kann Ihnen dieser Anhang
helfen.
Zusätzlich zu den Informationen in diesem Anhang haben
Kunden unter folgender Adresse Zugriff auf die Aladdin
Knowledge Base:
http://www.hasp.com/kb2
Die Knowledge Base enthält eine umfassende Aufzählung von
Lösungen zu allgemeinen und besonderen Problemen. Stellen
Sie zur Vermeidung von Schwierigkeiten sicher, dass Sie die
aktuellen Versionen der HASP HL Software verwenden.
Wenden Sie sich wegen neuester Updates an Ihre HASP HL
Vertretung vor Ort oder sehen Sie auf der internationalen
Download-Seite von Aladdin nach:
http://www.hasp.com/download
HASP HL Softwareschutz- und Lizenzierungshandbuch
225
Problemlösung
Wenn die Probleme weiter bestehen, prüfen Sie, ob die HASP
HL Beispielprogramme und Aladdin DiagnostiX
ordnungsgemäß funktionieren, und schicken Sie die Ergebnisse
an Ihre HASP HL Vertretung vor Ort.
Checkliste
Wenn ein Kunde ein Problem meldet, gehen Sie nach folgender
Liste vor:
• Notieren Sie wenn möglich die zurückgegebenen
Fehlercodes oder Fehlermeldungen. Weitere Informationen
erhalten Sie im Kapitel "API Status Codes" (Seite 274).
• Ist der HASP HL richtig an die USB-Schnittstelle
angeschlossen?
• Gibt es am Rechner oder im System Ihres Kunden technische
Probleme wie Gerätemanager-Kollisionen, System-Events,
Bootlog-Fehler usw.?
• Kann Aladdin DiagnostiX auf den HASP HL zugreifen?
Versuchen Sie, einen Diagnosebericht zu erstellen. Weitere
Informationen erhalten Sie im Kapitel "Berichte über HASP
HL Keys erstellen" (Seite 217).
• Tritt das Problem auf, wenn die geschützte Anwendung auf
einem anderen Rechner gleicher Bauart läuft?
226
Aladdin Knowledge Systems Ltd © 2004.
Anhang A
Problemlösung
Probleme und Lösungen
Problem
HASP HL Driver werden nicht installiert.
Lösung
Sind ältere HASP Device Driver auf dem Rechner installiert?
Sie sollten die älteren Treiber mit dem entsprechenden
Installationsprogramm für die ältere Treiberversion
deinstallieren. Einzelheiten erhalten Sie in der HASP DriverDokumentation. Wenn die älteren Treiber entfernt sind,
installieren Sie die HASP HL Driver. Weitere Informationen
erhalten Sie im Kapitel "HASP HL Device Driver installieren"
(Seite 39).
Problem
Sie versuchen, die HASP HL Device Driver unter Windows
2000/XP/2003 mit haspdinst.exe zu installieren, bekommen
jedoch eine Fehlermeldung.
Lösung
Sehen Sie in den Installationsanweisungen zu haspdinst.exe
nach. Siehe "Dienstprogramm haspdinst.exe" (Seite 39). Sie
können auch versuchen, die Treiber mit HASPUserSetup.exe
zu installieren, siehe "Anwendung HASPUserSetup.exe"
(Seite 39).
HASP HL Softwareschutz- und Lizenzierungshandbuch
227
Problemlösung
Problem
Die geschützte Anwendung kann den HASP HL Key nicht
finden.
Lösung
Leuchtet die HASP HL LED? Wenn nicht, liegt das
möglicherweise an einem der folgenden Gründe:
1. Der Key ist nicht richtig an die USB-Schnittstelle
angeschlossen. Entfernen Sie ihn und schließen Sie ihn
nach ein paar Sekunden wieder an. Wenn die LED leuchtet,
sollte die Anwendung jetzt auf den Key zugreifen können.
2. Die erforderlichen Gerätetreiber sind nicht installiert. Wenn
Sie den HASP HL auf einer Windows-Plattform einsetzen,
prüfen Sie, ob es im Gerätemanager einen Eintrag für den
Key gibt. Wenn es keinen Eintrag gibt, müssen Sie die
Treiber mit einer der in "HASP HL Device Driver
installieren" (Seite 39) beschriebenen Methoden
installieren.
3. Prüfen Sie, ob die USB-Schnittstelle ordnungsgemäß
funktioniert. Entfernen Sie alle anderen USB-Geräte von
den entsprechenden Schnittstellen. Schließen Sie den Key
an eine andere USB-Schnittstelle an. Versuchen Sie, ein
anderes USB-Gerät an der Schnittstelle zu verwenden, an
der der Key nicht erreichbar war.
Problem
Ihre Anwendung braucht sehr lange, um einen HASP HL Net
in einem großen TCP/IP-Netzwerk zu finden.
Lösung
Wir empfehlen, den Suchmechanismus anzupassen.
Verwenden Sie die HASP HL Net-Konfigurationsdatei, um die
UDP- oder TCP-Methode zu definieren und die IP-Adresse des
HASP License Manager festzulegen. Dadurch sucht der HASP
HL Net-Client den HASP License Manager mit der
angegebenen IP-Adresse, was wesentlich schneller ist. Weitere
Informationen erhalten Sie im Kapitel "HASP HL Net-Clients
konfigurieren" (Seite 192).
228
Aladdin Knowledge Systems Ltd © 2004.
Anhang A
Problemlösung
Problem
Sie erhalten eine Fehlermeldung, dass das Netzwerk überlastet
ist, wenn HASP HL Net mit dem HASP License Manager
kommuniziert.
Lösung
Erhöhen Sie die Zeitspanne, in der der HASP HL Net-Client
auf die Antwort wartet, indem Sie den Timeout-Wert für HASP
HL Net erhöhen. Weitere Informationen erhalten Sie im Kapitel
"HASP HL Net-Clients konfigurieren" (Seite 192).
Problem
Sie erhalten eine Fehlermeldung, dass der HASP License
Manager nicht gefunden wurde.
Lösung
Sie erhalten diesen Fehler unter TCPIP/IPX möglicherweise,
wenn Sie die Broadcast-Suchmethode verwenden.
Verlängern Sie den Timeout-Wert in der Datei nethasp.ini auf
acht Sekunden. Weitere Informationen erhalten Sie im Kapitel
"HASP HL Net-Umgebung anpassen" (Seite 199). Wenn die
Fehlermeldung wieder angezeigt wird, könnte dies an einem
der folgenden Gründe liegen:
a. Ein HASP License Manager wurde nicht geladen.
b. Wenn das TCP/IP-Protokoll verwendet wird, ist der
HASP License Manager in einem anderen Subnetzwerk.
c. Wenn das IPX-Protokoll verwendet wird, wird SAP nicht
unterstützt.
d. Wenn Sie wiederholt die Fehlermeldung erhalten,
verwenden Sie einen anderen Suchmechanismus.
HASP HL Softwareschutz- und Lizenzierungshandbuch
229
Problemlösung
230
Aladdin Knowledge Systems Ltd © 2004.
Anhang B
HASP HL Glossar
Ablaufdatum
Das Datum, nach dem eine geschützte
Anwendung nicht mehr läuft.
Abwärtskompatibilität
Die Möglichkeit, Daten oder Kommandos aus
mit HASP4 geschützten Anwendungen zu
verwenden. HASP HL Abwärtskompatibilität
umfasst die Möglichkeit, Daten zu lesen und zu
schreiben, Echtzeituhren einzustellen und
sonstige 'ältere' Befehle auszuführen.
AES
Der Algorithmus Advanced Encryption
Standard (AES) ist die Grundlage für die
Verschlüsselung und Entschlüsselung in HASP
HL.
Aladdin DiagnostiX
Ein Werkzeug, mit dem alle Daten im System
eines Endanwenders geprüft werden können, die
zu HASP HL gehören. Dies sind wertvolle
Informationen für den technischen Support.
Antidebugging
Maßnahmen, die vom HASP HL System
ergriffen werden, um potenzielle Angriffe auf
das Schutzsystem abzuwehren.
API-Aufrufe
Ein Protokoll, in dem alle Aufrufe der HASP
HL API aufgezeichnet werden, die mithilfe der
HASP HL ToolBox ausgeführt werden.
HASP HL Softwareschutz- und Lizenzierungshandbuch
231
HASP HL Glossar
API-Beispielprogramme
Beispielanwendungen für die Verwendung der
HASP HL API. Diese dienen als Lernwerkzeug
für die Implementierung der HASP HL API.
Batch
Batches werden zum Definieren von Features
und Paketen sowie zum Ausführen von
Aufträgen verwendet. In der Regel ist ein
einzelnes Batch ausreichend, um alle Ihre
Produkte zu lizenzieren. Keys, die zu einem
bestimmten Batch gehören, zeigen ein
einzigartiges Verhalten bei der Ver- und
Entschlüsselung.
Batch Code
Ein 5-8 Zeichen umfassender eindeutiger Code,
der einem Software-Hersteller (Vendor)
zugewiesen und auf das HASP HL Etikett
aufgedruckt wird. Er wird für die Bestellung von
HASP HL Keys verwendet.
Broadcast
Eine Kommunikationsmethode, mit der
Meldungen auf jeden Rechner innerhalb eines
Netzwerks gesendet werden.
Broadcast-Suchmethode
Die Methode, mit der der HASP HL Client den
HASP License Manager sucht.
C2V-Datei
Customer-to-Vendor-Datei. Datei, die vom
Kunden an den Software-Hersteller gesendet
wird und Daten enthält, die über den Status eines
eingesetzten HASP HL Key Aufschluss geben.
Daemon
Ein Prozess, der auf Mac- und LinuxPlattformen im Hintergrund läuft.
Typischerweise führen Daemon-Prozesse
administrative Aufgaben für das Betriebssystem
aus.
Dateifilter
Definiert die Dateien, die von der 'laufenden'
Datenverschlüsselung erfasst werden.
232
Aladdin Knowledge Systems Ltd © 2004.
Anhang B
HASP HL Glossar
Default Feature
Ein Feature, das im HASP HL Key immer zur
Verfügung steht. Dieses Feature muss nicht
konfiguriert werden, sein
Lizenzierungsverhalten richtet sich nach dem
verwendeten HASP HL Modell.
Demo Vendor Code
Siehe DEMOMA.
DEMOMA
Ein Batch Code, der zum Testen eines
beliebigen HASP HL Programms verwendet
werden kann. Der entsprechende Vendor Code
befindet sich im Verzeichnis Vendorcodes Ihrer
HASP HL Installation.
Echtzeituhr (RTC)
Uhr im HASP HL Time-Key.
Entschlüsselung
Vorgang des Dekodierens von Daten, die in
einem geheimen Format verschlüsselt sind.
Envelope
Siehe HASP HL Envelope.
Envelope-Vorlage
Die Envelope-Vorlage enthält
Standardeinstellungen für den Schutz sowie
andere projektbezogene Daten.
Feature
Eine wesentliche Funktionalität einer SoftwareAnwendung, die separat mit einer Lizenz
geschützt werden kann. Ein Feature kann eine
ganze Anwendung, eine ausführbare Datei oder
eine spezielle Funktion wie Drucken, Speichern
oder Zeichnen sein.
Feature ID
Ein eindeutiges Identifizierungskennzeichen für
ein mit HASP HL geschütztes Feature. Die
Feature ID wird mit der HASP HL Factory
zugewiesen.
Feature-Update
Siehe Update.
HASP HL Softwareschutz- und Lizenzierungshandbuch
233
HASP HL Glossar
Funktionalität
Die Aktionen, die eine Anwendung ausführen
kann. Diese werden von Produktmanagern
herangezogen, um Produkt-Features zu
definieren.
Handle
Ein eindeutiges Identifizierungskennzeichen für
den Zugriff auf den Kontext einer HASP HL
Session.
HASP
Software-Schutz- und -Lizenzierungssystem.
HASP HL
Hardware für den Kopierschutz und das
Lizenzierungssystem HASP HL.
HASP HL API
Eine Schnittstelle, mit der Sie Aufrufe des
HASP HL Key in Ihre Anwendung einfügen
können.
HASP HL Basic
Ein HASP HL Standard-Key, der zum Schutz
von Software verwendet wird. Er verfügt nicht
über einen Speicher und sollte daher nicht zur
Lizenzierung verwendet werden.
HASP HL Demo
Ein Beispiel-Key zum Testen der HASP HL
Schutz- und Lizenzierungssoftware.
HASP HL Developer Kit
Ein Paket mit der Software und der
Dokumentation für das HASP HL System.
HASP HL Device Driver
Eine Systemkomponente (Gerätetreiber), die die
Kommunikation zwischen der geschützten
Anwendung und dem HASP HL Key
ermöglicht.
HASP HL Envelope
Ein Werkzeug, das Ihre Anwendung mit einem
Schutzschild umgibt und sicherstellt, dass die
geschützte Anwendung nur ausgeführt werden
kann, wenn der erforderliche HASP HL Key an
den Computer angeschlossen ist.
234
Aladdin Knowledge Systems Ltd © 2004.
Anhang B
HASP HL Glossar
HASP HL Factory
Ein Tool, mit dem Lizenzierungselemente für
HASP HL Keys definiert und Lizenzen erstellt
werden und mit dem der Speicher des Key
initialisiert wird.
HASP HL Max
Ein HASP HL Key mit 4 KB Speicher, der bis
zu 112 Lizenzen speichern kann.
HASP HL Net
Ein HASP HL Key mit 4 KB Speicher, der bis
zu 112 Lizenzen speichern kann.
HASP HL Pro
Ein HASP HL Key mit 112 Byte Speicher, der
bis zu 16 Lizenzen speichern kann.
HASP HL RUS
Ein Programm für Endanwender, mit dem HASP
HL Lizenzen remote aktualisiert werden können
oder Speicherinhalte eines Key remote geändert
werden können. Siehe C2V-Datei und V2CDatei.
HASP HL Time
Ein HASP HL Key mit 4 KB Speicher und einer
Echtzeituhr. Dieser Key kann bis zu 8 Lizenzen
mit Ablaufdatum und 104 Lizenzen mit
Startzähler und zeitlich unbegrenzter Nutzung
speichern.
HASP HL ToolBox
Ein HASP HL Programm, das Anwender mit der
HASP HL API und der Generierung von
Quellcode vertraut macht.
HASP ID-Nummer
Eindeutige Seriennummer für einen HASP HL
Key.
HASP License Manager
Fungiert als Server und überwacht die simultane
Verwendung gemäß der Lizenzen, die in HASP
HL Net-Keys gespeichert sind.
Hintergrundabfragen
Abfragen nach dem Zufallsprinzip, die von den
geschützten Anwendungen auf den
erforderlichen HASP HL Key ausgeführt
werden.
HASP HL Softwareschutz- und Lizenzierungshandbuch
235
HASP HL Glossar
Key
Siehe HASP HL.
Knacken
Das vorsätzliche Verletzen eines Schutzsystems.
Konfigurationsdatei
Eine Datei mit Konfigurationsdaten für ein
bestimmtes Programm. Wird das Programm
ausgeführt, fragt es die Konfigurationsdatei auf
die gesetzten Parameter ab.
Leerlaufzeit
Der Zeitraum, nach dem ein Arbeitsplatz in
Bezug auf den Zugriff auf einen HASP HL NetKey als inaktiv betrachtet wird.
License Manager
Siehe HASP License Manager.
Lizenz
Eine digitale Genehmigung, die in einem HASP
HL Key gespeichert ist. Sie beschreibt die
Zugriffsrechte, die für ein Feature vergeben
werden können.
Login
Der Aufbau einer Session mit HASP HL.
Master HASP HL
Ein besonderer HASP HL Key, der die
eindeutigen Codes und
Identifizierungskennzeichen enthält, die Ihnen
von Aladdin zugewiesen wurden und die im
HASP HL System verwendet werden.
Paket
Eine Gruppe von Features, die bestimmten
Lizenzbedingungen unterliegen und von Logik
im HASP HL Speicher gesteuert werden. Pakete
werden in der HASP HL Factory definiert.
Plattformübergreifend
Gibt an, dass eine Funktionalität unter mehreren
Betriebssystemen zur Verfügung steht.
Programm-Nummer
Ein eindeutiges Identifizierungskennzeichen für
ein Feature im HASP HL System.
Remote Update System
Ein Programm für sichere Updates, die remote
in die HASP HL Keys geschrieben werden, die
beim Kunden im Einsatz sind.
236
Aladdin Knowledge Systems Ltd © 2004.
Anhang B
HASP HL Glossar
Reverse-Engineering
Software-Angriffe, die versuchen, die
Algorithmen und die Ausführungsabfolge der
Zielanwendung zu entschlüsseln, indem sie die
kompilierte geschützte Anwendung zu ihrem
Quellcode zurückverfolgen. HASP HL setzt
Notfallmechanismen ein, um solche Angriffe
abzuwehren und Angreifer davon abzuhalten, in
der geschützten Software verwendete
Algorithmen aufzudecken.
Schlüssel
Der Schlüssel, der für die Verschlüsselung einer
Datendatei für HASP HL Envelope verwendet
wird.
Schutzlevel
Steuert die Kompaktheit der HASP HL Aufrufe
im HASP HL Envelope-Schutz.
Simultan
Wird im Zusammenhang mit HASP HL Keys
oder Lizenzen verwendet und bezieht sich auf
deren gleichzeitige Nutzung.
Startzähler
Lizenzierungselement, das festlegt, wie oft ein
Feature gestartet werden kann, das mit HASP
HL lizenziert ist.
Status Code
Fehler- oder Statusmeldung, die vom HASP HL
System ausgegeben wird.
Update
Datei mit neueren Informationen, die in einen
HASP HL Key geschrieben werden, der bereits
Lizenzierungsdaten enthält.
USB
(Universal Serial Bus) Ein Anschlusstyp, an den
der HASP HL Key bei Desktop- oder LaptopComputern angesteckt werden kann.
USB-Schnittstelle
Schnittstelle, an die der HASP HL Key
angeschlossen wird.
HASP HL Softwareschutz- und Lizenzierungshandbuch
237
HASP HL Glossar
UTC
Koordinierte Weltzeit – (UTC) – die in der
ganzen Welt gebräuchliche Standardzeit. Sie
wird durch den Gebrauch der 24-Stunden-Uhr
und des Gregorianischen Kalenders
ausgedrückt.
V2C-Datei
Eine Datei, die vom Software-Hersteller an den
Endanwender geschickt wird. Diese Datei
enthält Daten zum Aktualisieren der Lizenz auf
einem im Einsatz befindlichen HASP HL.
Vendor
(Software-Hersteller) Ein Unternehmen, das
Software vertreibt, in die es intellektuelle und
finanzielle Ressourcen investiert hat, und das
seine Investition vor unberechtigter und illegaler
Nutzung schützen möchte.
Vendor Code
Dieser Code enthält ein eindeutiges
Identifizierungskennzeichen für den SoftwareHersteller und alle Informationen, die das HASP
HL System benötigt, um den Key des SoftwareHerstellers zu finden und mit ihm zu
kommunizieren. Der Vendor Code wird den
Software-Herstellern über den Master HASP HL
zur Verfügung gestellt.
Vendor Private Key
Ein 1536-Bit-Schlüssel, der im Master HASP
HL Key gespeichert ist und für die digitale
Signatur von Lizenzerweiterungen oder
Speicher-Updates per RUS verwendet wird, die
an Endanwender geschickt werden.
Vendor Public Key
Ein 1536-Bit-Schlüssel zur Authentifizierung
der Lizenz- oder Speicher-Updates, die an
Endanwender geschickt werden.
238
Aladdin Knowledge Systems Ltd © 2004.
Anhang B
HASP HL Glossar
Verschlüsselung
Die Umwandlung von Daten in einen geheimen
Code. Die Verschlüsselung ist der effektivste
Weg, Daten zu schützen. Um eine verschlüsselte
Datei zu lesen, benötigen Sie die richtige
Verschlüsselungs-Engine, die die Datei
entschlüsseln kann.
Verschlüsselungs-Engine
Die Verschlüsselungs-Engine im HASP HL Key.
Diese basiert auf dem AES-Algorithmus.
HASP HL Softwareschutz- und Lizenzierungshandbuch
239
HASP HL Glossar
240
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
Dieser Anhang ist in drei Teile gegliedert:
• Übersicht über die Funktionen, die die HASP HL API
bilden.
• Strukturdeklarationen und detaillierte Informationen über
einzelne HASP HL API-Funktionen.
• Zusammenfassung und Beschreibungen aller verfügbarer
API-Rückgabecodes.
HASP HL ToolBox
Um die Funktionalität jedes API-Aufrufs richtig zu verstehen,
verwenden Sie die HASP HL ToolBox. Mit diesem Werkzeug
können Sie Funktionsaufrufe und ihre benötigten Parameter
testen und Rückgabewerte ablesen. HASP HL ToolBox ist ein
Teil der Programmsuite Vendor Center.
API-Beispielprogramme
Jede HASP HL-Installation enthält API-Beispielprogramme für
verschiedene Programmiersprachen. Verwenden Sie diese
Beispielprogramme, um den HASP HL-Schutz in Ihren eigenen
Code zu integrieren.
Jedes Beispielverzeichnis enthält eine HASP HL Header-Datei.
Verwenden Sie bitte die Aladdin Website und die HASP HL
Installations-CD für Informationen über verfügbare
Beispielprogramme zu bestimmten Programmiersprachen.
HASP HL Softwareschutz- und Lizenzierungshandbuch
241
HASP HL API-Referenz
API-Funktionsübersicht
In Tabelle C.1 sind die verfügbaren HASP HL API-Funktionen
aufgeführt:
Tabelle C.1 Liste der HASP HL API-Funktionen
Funktion
kurze Beschreibung
hasp_datetime_to_hasptime()
Wandelt einen Datum-/Uhrzeit-Wert um.
hasp_decrypt()
Entschlüsselt einen Puffer, der mit AES verschlüsselt
wurde.
hasp_encrypt()
Verschlüsselt einen Puffer mit dem AESVerschlüsselungsalgorithmus.
hasp_free()
Setzt allokierte Speicherressourcen frei.
hasp_get_rtc()
Liest die aktuelle Zeit eines HASP HL Time-Key aus.
hasp_get_sessioninfo()
Ermittelt Informationen über den Session-Kontext.
hasp_get_size()
Ermittelt die Größe des Speichers eines HASP HLKey in Bytes.
hasp_hasptime_to_datetime()
Wandelt einen Zeit-Wert um.
hasp_legacy_decrypt()
Entschlüsselt einen Puffer mit HASP4abwärtskompatibler Verschlüsselung.
hasp_legacy_encrypt()
Verschlüsselt einen Puffer mit HASP4abwärtskompatibler Verschlüsselung.
hasp_legacy_set_idletime()
Setzt die Leerlaufzeit des HASP HL License Manager
(LM).
hasp_legacy_set_rtc()
Abwärtskompatible Funktion, die die Zeit in einem
HASP4 Time-Key einstellt.
242
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
hasp_login()
Führt einen Login aus und erzeugt einen SessionKontext.
hasp_logout()
Beendet einen Session-Kontext.
hasp_read()
Liest den Speicher eines HASP HL Key aus.
hasp_update()
Schreibt ein Update für eine HASP HL Lizenz.
hasp_write()
Schreibt in den Speicher eines HASP HL Key.
HASP HL API-Übersicht
Die HASP HL API-Funktionen in dieser Referenz sind
alphabetisch geordnet und beziehen sich auf die CProgrammierschnittstelle. Die Informationen über jede Funktion
enthalten Folgendes:
• Name: Funktionsname, wie er in der Schnittstelle für die
Sprache C lautet.
• Beschreibung: Kurze Beschreibung des Hauptzwecks der
Funktion.
• Syntax: Tatsächliche Funktionsdeklaration in der
Programmiersprache C.
• Parameter: Parameter für die Funktion.
• Rückgabewerte: Alle möglichen Rückgabewerte, die mit
der Ausführung der Funktion verbunden sind.
• Verwendungshinweise: Ausführlichere Informationen über
die Verwendung der Funktion.
HASP HL Softwareschutz- und Lizenzierungshandbuch
243
HASP HL API-Referenz
hasp_datetime_to_hasptime()
Beschreibung
Wandelt einen Datum-/Uhrzeit-Wert in HASP-Zeit um – Zahl
der vergangenen Sekunden seit dem 01.01.1970
Syntax
hasp_status_t HASP_CALLCONV hasp_datetime_to_hasptime(
unsigned int
unsigned int
unsigned int
unsigned int
unsigned int
unsigned int
hasp_time_t *
)
day,
month,
year,
hour,
minute,
second,
time
Parameter
day
Eingabe des Wertes für Tag (Wertebereich 1-31)
month
Eingabe des Wertes für Monat (Wertebereich 1-12)
year
Eingabe des Wertes für Jahr (Wertebereich 1970+)
hour
Eingabe des Wertes für Stunde (Wertebereich 0-23)
minute
Eingabe des Wertes für Minute (Wertebereich 0-59)
second
Eingabe des Wertes für Sekunde (Wertebereich 0-59)
time
Pointer, um den Zeitwert einzustellen
Rückgabewerte
HASP_STATUS_OK
Die Anfrage wurde erfolgreich abgeschlossen.
HASP_INV_TIME
Zeit außerhalb des unterstützten Wertebereichs
244
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
Verwendungshinweise
Der umgewandelte Wert ist die Zahl der vergangenen Sekunden
seit dem 01.01.1970. Diese Umwandlungsfunktion wird im
Zusammenhang mit den API-Funktionen verwendet, die die
Werte für die Echtzeituhr (RTC) eines HASP HL Key einstellen
oder abrufen.
Siehe auch
hasp_hasptime_to_datetime()
hasp_get_rtc()
hasp_legacy_set_rtc()
HASP HL Softwareschutz- und Lizenzierungshandbuch
245
HASP HL API-Referenz
hasp_decrypt()
Beschreibung
Entschlüsselt Daten, die mit AES verschlüsselt wurden.
Syntax
hasp_status_t HASP_CALLCONV hasp_decrypt(
hasp_handle_t handle,
void * buffer,
hasp_size_t length
)
Parameter
handle
Handle für die Session
buffer
Pointer auf den zu entschlüsselnden Puffer
length
Größe des zu entschlüsselnden Puffers (in Bytes). Es werden mindestens
6 Byte benötigt.
Rückgabewerte
HASP_STATUS_OK
Die Anfrage wurde erfolgreich
abgeschlossen.
HASP_INV_HND
Ungültiges Input-Handle.
HASP_NOT_IMPL
Funktionalität des Featuretyps ist
unbekannt.
HASP_TOO_SHORT
Entschlüsselungsdaten sind zu kurz.
HASP_ENC_NOT_SUPP
Hardware unterstützt den
Entschlüsselungstyp nicht.
HASP_CONTAINER_NOT_FOUND
Der Featurecontainer ist nicht mehr
verfügbar.
246
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
Verwendungshinweise
Die Funktion macht den Arbeitsschritt der hasp_encrypt()Funktion, die auf einen Datenpuffer angewendet wurde,
rückgängig, und versetzt den Datenpuffer in den Zustand vor
der Verschlüsselung. Wenn die Entschlüsselung fehlschlägt,
werden die für die Entschlüsselung vorgesehenen Daten nicht
beeinflusst.
Siehe auch
hasp_encrypt()
HASP HL Softwareschutz- und Lizenzierungshandbuch
247
HASP HL API-Referenz
hasp_encrypt()
Beschreibung
Verschlüsselt Daten mit dem AESVerschlüsselungsalgorithmus.
Syntax
hasp_status_t HASP_CALLCONV hasp_encrypt(
hasp_handle_t handle,
void * buffer,
hasp_size_t length
)
Parameter
handle
Handle für die Session
buffer
Pointer auf den zu verschlüsselnden Puffer
length
Größe des zu verschlüsselnden Puffers (in Bytes). Es werden mindestens
16 Byte benötigt.
Rückgabewerte
HASP_STATUS_OK
Die Anfrage wurde erfolgreich
abgeschlossen.
HASP_INV_HND
Ungültiges Input-Handle.
HASP_NOT_IMPL
Funktionalität des Featuretyps ist
unbekannt.
HASP_TOO_SHORT
Verschlüsselungsdaten sind zu kurz.
HASP_ENC_NOT_SUPP
Hardware unterstützt den
Verschlüsselungstyp nicht.
HASP_CONTAINER_NOT_FOUND
Der Featurecontainer ist nicht mehr
verfügbar.
248
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
Verwendungshinweise
Verschlüsselt Daten mit der Verschlüsselungsroutine des HASP
HL Key. Das angegebene Session-Handle bestimmt, welcher
HASP HL Key die Verschlüsselung des Datenpuffers ausführt.
Der Schlüssel bleibt im HASP HL. Wenn die Entschlüsselung
fehlschlägt, werden die für die Entschlüsselung vorgesehenen
Daten nicht beeinflusst. Um den Datenpuffer zu entschlüsseln,
verwenden Sie die Funktion hasp_decrypt.
Siehe auch
hasp_decrypt()
HASP HL Softwareschutz- und Lizenzierungshandbuch
249
HASP HL API-Referenz
hasp_free()
Beschreibung
Setzt Speicherressourcen frei, die von anderen API-Funktionen
verwendet werden.
Syntax
void HASP_CALLCONV hasp_free(char *
info)
Parameter
info
Pointer auf die freizugebenden Speicherressourcen
Verwendungshinweise
Muss verwendet werden, wenn Sie Speicherressourcen
freisetzen möchten, die allokiert sind, um abgefragte Daten von
API-Anfragen über die Funktionen hasp_get_sessioninfo() und
hasp_update() bereitzuhalten. Die Funktion hat keine
Rückgabewerte.
Siehe auch
hasp_get_sessioninfo()
hasp_update()
250
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
hasp_get_rtc()
Beschreibung
Liest die aktuelle Zeit aus einem HASP HL Time Key aus.
Syntax
hasp_status_t HASP_CALLCONV hasp_get_rtc(
hasp_handle_t
hasp_time_t *
)
handle,
time
Parameter
handle
Handle für die Session
time
Pointer auf die aktuelle Zeit
Rückgabewerte
HASP_STATUS_OK
Die Anfrage wurde erfolgreich
abgeschlossen.
HASP_INV_HND
Ungültiges Input-Handle.
HASP_NOT_IMPL
Funktionalität des Featuretyps ist
unbekannt.
HASP_CONTAINER_NOT_FOUND
Der Featurecontainer ist nicht mehr
verfügbar.
HASP_NO_BATTERY_POWER
Die Batterie der Echtzeituhr ist leer.
HASP_NO_TIME
Echtzeituhr ist nicht verfügbar.
HASP HL Softwareschutz- und Lizenzierungshandbuch
251
HASP HL API-Referenz
Verwendungshinweise
Der Zweck der Funktion ist nicht mit Lizenzierung verbunden;
sie wird hauptsächlich verwendet, um verlässliche Zeitstempel
zu bekommen, die unabhängig von der Systemuhr sind. Die
Zeitwerte werden als Zahl der vergangenen Sekunden seit dem
01.01.1970, 0:00 Uhr UTC zurückgegeben. Verwenden Sie die
Funktion hasp_hasptime_to_datetime(), um die Rückgabe in
einen Datums- und Zeitwert umzuwandeln.
Siehe auch
hasp_datetime_to_hasptime()
hasp_hasptime_to_datetime()
252
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
hasp_get_sessioninfo()
Beschreibung
Ermittelt Informationen über den Session-Kontext.
Syntax
hasp_status_t HASP_CALLCONV hasp_get_sessioninfo(
hasp_handle_t handle,
char * format,
char ** info
)
Parameter
handle
Handle für die Session
format
XML-Definition für den Strukturtyp der Ausgabedaten.
Es gibt drei Optionen:
1. HASP_KEYINFO – Format, um Informationen über den HASP HL
Key abzufragen.
2. HASP_SESSIONINFO – Format, um Informationen über die Session
abzufragen.
3. HASP_UPDATEINFO – Format, um Informationen über ein
Lizenzupdate zu bekommen, das üblicherweise in einer C2V-Datei
enthalten ist – enthält Informationen über Updatezähler, Lizenzen und
Speicherinhalte, die gegenwärtig in einem eingesetzten HASP HL Key
verfügbar sind.
info
Pointer auf die Informationen, die als XML-Text abgerufen werden
Rückgabewerte
HASP_STATUS_OK
Die Anfrage wurde erfolgreich abgeschlossen.
HASP_INV_HND
Ungültiges Input-Handle.
HASP_INV_FORMAT
Unbekanntes Format.
HASP_INSUF_MEM
Speicherplatz reicht nicht aus.
HASP HL Softwareschutz- und Lizenzierungshandbuch
253
HASP HL API-Referenz
Verwendungshinweise
Die abgefragten Session-Informationen beziehen sich auf:
• einen eingesetzten HASP HL-Key
• die aktuelle oder eine bestimmte Login-Session
• ein Lizenzupdate
Diese Funktion allokiert Speicher für die Informationen, die sie
abfragt. Um allokierte Speicherressourcen freizugeben,
verwenden Sie die Funktion hasp_free.
Siehe auch
254
hasp_free()
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
hasp_get_size()
Beschreibung
Ermittelt die Größe eines Speichers eines HASP HL Key in
Bytes.
Syntax
hasp_status_t HASP_CALLCONV hasp_get_size(
hasp_handle_t
hasp_fileid_t
hasp_size_t *
)
handle,
fileid,
size
Parameter
handle
Handle für die Session
fileid
ID für die Datei, die abgefragt wird.
size
Pointer auf die resultierende Dateigröße
Rückgabewerte
HASP_STATUS_OK
Die Anfrage wurde erfolgreich
abgeschlossen.
HASP_INV_HND
Ungültiges Input-Handle.
HASP_INV_FILEID
Unbekannte File ID.
HASP_CONTAINER_NOT_FOUND
Der Featurecontainer ist nicht mehr
verfügbar.
Verwendungshinweise
Diese Funktion wird verwendet, um die Dateigröße des HASP
HL-Speichers zu bestimmen. Die Dateigröße ermöglicht Ihnen,
den größtmöglichen Byte-Size-Offset zu bestimmen. Diese
Informationen sind nützlich beim Lesen oder Schreiben des
Speichers eines Key. Das erste Byte in einer Datei hat den Index
0.
Siehe auch
hasp_read()
hasp_write()
HASP HL Softwareschutz- und Lizenzierungshandbuch
255
HASP HL API-Referenz
hasp_hasptime_to_datetime()
Beschreibung
Wandelt einen Zeitwert (vergangene Sekunden seit dem
01.01.1970) in Datum und Uhrzeit um.
Syntax
hasp_status_t HASP_CALLCONV hasp_hasptime_to_datetime(
hasp_time_t
unsigned int
unsigned int
unsigned int
unsigned int
unsigned int
unsigned int
)
time,
* day,
* month,
* year,
* hour,
* minute,
* second
Parameter
time
Pointer, um den Zeitwert einzustellen
day
Pointer für den Tagwert
month
Pointer für den Monatswert
year
Pointer für den Jahreswert
hour
Pointer für den Stundenwert
minute
Pointer für den Minutenwert
second
Pointer für den Sekundenwert
Rückgabewerte
HASP_STATUS_OK
Die Anfrage wurde erfolgreich abgeschlossen.
HASP_INV_TIME
Zeit außerhalb des unterstützten Bereichs
256
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
Verwendungshinweise
Alle Zeitwerte basieren auf der koordinierten Weltzeit (UTC).
Die umgewandelten Datums- und Uhrzeitwerte spiegeln die
Zahl der vergangenen Sekunden seit dem 01.01.1970 wider.
Diese Umwandlungsfunktion wird im Zusammenhang mit APIFunktionen verwendet, die die Werte für die Echtzeituhr (RTC)
eines HASP HL Time Keys einstellen oder abrufen.
Siehe auch
hasp_datetime_to_hasptime()
HASP HL Softwareschutz- und Lizenzierungshandbuch
257
HASP HL API-Referenz
hasp_legacy_decrypt()
Beschreibung
Entschlüsselt einen Puffer mit HASP4-abwärtskompatibler
Verschlüsselung.
Syntax
hasp_status_t HASP_CALLCONV hasp_legacy_decrypt(
hasp_handle_t handle,
void * buffer,
hasp_size_t length )
)
Parameter
handle
Handle für die Session
buffer
Pointer auf den zu entschlüsselnden Puffer
length
Größe des zu entschlüsselnden Puffers (in Bytes). Es werden mindestens
8 Byte benötigt.
Rückgabewerte
HASP_STATUS_OK
Die Anfrage wurde erfolgreich
abgeschlossen.
HASP_INV_HND
Ungültiges Input-Handle.
HASP_TOO_SHORT
Entschlüsselungsdaten sind zu kurz.
HASP_ENC_NOT_SUPP
Hardware unterstützt den
Verschlüsselungstyp nicht.
HASP_CONTAINER_NOT_FOUND
Der Featurecontainer ist nicht mehr
verfügbar.
258
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
Verwendungshinweise
Das Ausführen dieser Funktion hängt von dem Handle ab, das
während des hasp_login()-Aufrufs erzeugt wurde. Die Feature
ID muss als ein 'Programm-Nummer-Feature'-Typ
deklariert worden sein. Wenn die Entschlüsselung nicht
erfolgreich ist, bleiben die Daten, auf die der Puffer verweist,
undefiniert.
Siehe auch
hasp_legacy_encrypt()
HASP HL Softwareschutz- und Lizenzierungshandbuch
259
HASP HL API-Referenz
hasp_legacy_encrypt()
Beschreibung
Verschlüsselt einen Puffer mit HASP4-abwärtskompatibler
Verschlüsselung.
Syntax
hasp_status_t HASP_CALLCONV hasp_legacy_encrypt(
hasp_handle_t handle,
void * buffer,
hasp_size_t length
)
Parameter
handle
Handle für die Session
buffer
Pointer auf den zu verschlüsselnden Puffer
length
Größe des zu entschlüsselnden Puffers (in Byte). Es werden mindestens 8
Byte benötigt.
Rückgabewerte
HASP_STATUS_OK
Die Anfrage wurde erfolgreich
abgeschlossen.
HASP_INV_HND
Ungültiges Input-Handle.
HASP_TOO_SHORT
Verschlüsselungsdaten sind zu kurz.
HASP_ENC_NOT_SUPP
Hardware unterstützt den
Verschlüsselungstyp nicht.
HASP_CONTAINER_NOT_FOUND
Der Featurecontainer ist nicht mehr
verfügbar.
260
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
Verwendungshinweise
Das Ausführen dieser Funktion hängt von dem Handle ab, das
während des hasp_login()-Aufrufs erzeugt wurde. Die Feature
ID muss als ein 'Programm-Nummer-Feature'-Typ
deklariert worden sein. Wenn die Verschlüsselung nicht
erfolgreich ist, bleiben die Daten, auf die der Puffer verweist,
undefiniert.
Siehe auch
hasp_legacy_decrypt()
HASP HL Softwareschutz- und Lizenzierungshandbuch
261
HASP HL API-Referenz
hasp_legacy_set_idletime()
Beschreibung
Setzt die Leerlaufzeit des HASP License Manager (LM).
Syntax
hasp_status_t HASP_CALLCONV
hasp_legacy_set_idletime(
hasp_handle_t handle,
hasp_u16_t idle_time
)
Parameter
handle
Handle für die Session
idle_time
Wert der Leerlaufzeit in Minuten
Rückgabewerte
HASP_STATUS_OK
Die Anfrage wurde erfolgreich
abgeschlossen.
HASP_INV_HND
Ungültiges Input-Handle.
HASP_REQ_NOT_SUPP
Versuch, die Leerlaufzeit für einen lokalen
Key einzustellen.
HASP_CONTAINER_NOT_FOUND
Der Featurecontainer ist nicht mehr
verfügbar.
Verwendungshinweise
Das Ausführen dieser Funktion hängt von dem Handle ab, das
während des hasp_login()-Aufrufs erzeugt wurde. Die Feature
ID muss als ein 'Programm-Nummer-Feature'-Typ
deklariert worden sein. Verwenden Sie diese Funktion nur, wenn
Sie auf einen HASP HL Key über das Netzwerk zugreifen.
Siehe auch
hasp_login()
262
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
hasp_legacy_set_rtc()
Beschreibung
Abwärtskompatible Funktion, die die Echtzeituhr in einem
HASP4 Time-Key einstellt.
Syntax
hasp_status_t HASP_CALLCONV hasp_legacy_set_rtc(
hasp_handle_t handle,
hasp_time_t new_time)
)
Parameter
handle
Handle für die Session
new time
Zeitwert, um die Echtzeituhr einzustellen
Rückgabewerte
HASP_STATUS_OK
Die Anfrage wurde erfolgreich
abgeschlossen.
HASP_INV_HND
Ungültiges Input-Handle.
HASP_CONTAINER_NOT_FOUND
Der Featurecontainer ist nicht mehr
verfügbar.
HASP_NO_TIME
Echtzeituhr nicht verfügbar oder Zugriff
auf den Key erfolgt über das Netzwerk
Verwendungshinweise
Das Ausführen dieser Funktion hängt von dem Handle ab, das
während des hasp_login()-Aufrufs erzeugt wurde. Die Feature
ID muss als ein 'Programm-Nummer-Feature'-Typ
deklariert worden sein. Verwenden Sie die angegebenen
Programmfunktionen, um die Zeitwerte entsprechend
umzuwandeln.
Siehe auch
hasp_get_rtc()
hasp_hasptime_to_datetime()
hasp_datetime_to_hasptime()
HASP HL Softwareschutz- und Lizenzierungshandbuch
263
HASP HL API-Referenz
hasp_login()
Beschreibung
Führt einen Login aus und erzeugt einen Session-Kontext.
Syntax
hasp_status_t HASP_CALLCONV hasp_login(
hasp_feature_t feature_id,
hasp_vendor_code_t vendor_code,
hasp_handle_t * handle
)
Parameter
feature id
Eindeutiges Identifizierungskennzeichen für ein bestimmtes
Feature, das in einem HASP HL Key gespeichert ist.
Die Funktion stellt die Spezifikationen für den Login zur
Verfügung, die Folgendes enthalten:
1. Einen 'Programm-Nummer-Feature'-Typ, der festlegt, dass
der Login für eine Programm-Nummer erfolgt.
2. Einen eindeutigen Programm-Nummer-Wert
3. Genaue Details für den Login wie:
• nur lokal – nur eine lokale Lizenz
• nur im Netzwerk – nur eine Netzwerklizenz
• Login wird pro Prozess-ID gezählt – Herunterzählen pro
Prozess
• Terminal-Server-Check deaktivieren – um geschützte
Anwendungen auf Terminal-Server-Stationen einzusetzen
• Zugriff auf HASP3/HASP4-Keys aktivieren.
vendor code
Pointer auf den Vendor Code
handle
Pointer auf das Session-Handle
Rückgabewerte
264
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
HASP_CONTAINER_NOT_FOUND
Der Featurecontainer ist nicht mehr
verfügbar.
HASP_STATUS_OK
Die Anfrage wurde erfolgreich
abgeschlossen.
HASP_FEATURE_NOT_FOUND
Kann das angeforderte Feature nicht
finden.
HASP_FEATURE_TYPE_NOT_IMPL
Der angeforderte Featuretyp ist nicht
verfügbar.
HASP_INV_PROGNUM_OPT
Unbekannte 'Programm-NummerFeature'-Option angefordert.
HASP_TMOF
Zu viele geöffnete Handles.
HASP_INSUF_MEM
Speicherplatz reicht nicht aus.
HASP_INV_VCODE
Ungültiger Vendor Code.
HASP_NO_DRIVER
Treiber nicht installiert.
HASP_OLD_DRIVER
Alter Treiber installiert.
HASP_TS_DETECTED
Programm läuft über ein Netzwerk auf
einem Terminal-Server.
HASP HL Softwareschutz- und Lizenzierungshandbuch
265
HASP HL API-Referenz
Verwendungshinweise
Diese Funktion baut einen Kontext zu einem HASP HL-Key
auf, der eine Lizenz für die von Ihnen angeforderte ProgrammNummer enthält.
Die Feature ID ist das entsprechende 'Programm-NummerFeature' , das es in einem HASP HL Lizenzcontainer gibt.
Wenn das Default-Feature oder die Programm-Nummer '0'
verwendet wird, sucht die API nur nach dem HASP HL Key
und nicht nach seinen Lizenzinformationen.
Die erforderlichen Vendor Codes sind im Verzeichnis VendorCodes in Ihrem System gespeichert. Ohne den richtigen Vendor
Code funktioniert der Funktionsaufruf nicht. Sie können bis zu
128 Login-Sessions gleichzeitig öffnen.
Siehe auch
266
hasp_logout()
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
hasp_logout()
Beschreibung
Führt einen Logout aus einem Session-Kontext aus.
Syntax
hasp_status_t HASP_CALLCONV hasp_logout(
hasp_handle_t
)
handle
Parameter
handle
Handle für die Session, die beendet wird.
Rückgabewerte
HASP_STATUS_OK
Die Anfrage wurde erfolgreich abgeschlossen.
HASP_INV_HND
Ungültiges Input-Handle.
Verwendungshinweise
Mit dieser Funktion können Sie die Verbindung mit einem APIObjekt beenden. Nach dem Abmelden von einer Session wird
der gesamte für die Session allokierte Speicher freigesetzt. Die
Verbindung zum HASP License Manager wird getrennt, wenn
die ausgeloggte Verbindung die letzte API-Session war.
Siehe auch
hasp_login()
HASP HL Softwareschutz- und Lizenzierungshandbuch
267
HASP HL API-Referenz
hasp_read()
Beschreibung
Liest den Speicher eines HASP HL Key aus.
Syntax
hasp_status_t HASP_CALLCONV hasp_read (
hasp_handle_t handle,
hasp_fileid_t fileid,
hasp_size_t offset,
hasp_size_t length,
void * buffer
)
Parameter
handle
Handle für die Session
fileid
ID für die Datei, die abgefragt wird.
offset
Byte-Offset für die Datei
length
Anzahl der Bytes in der Datei
buffer
Pointer zu den abgefragten Daten
Rückgabewerte
HASP_STATUS_OK
Die Anfrage wurde erfolgreich
abgeschlossen.
HASP_INV_HND
Ungültiges Input-Handle.
HASP_NOT_IMPL
Der angeforderte Featuretyp ist nicht
verfügbar.
HASP_INV_FILEID
Unbekannte File ID.
HASP_MEM_RANGE
Speicherplatz reicht nicht aus.
HASP_CONTAINER_NOT_FOUND
Der Featurecontainer ist nicht mehr
verfügbar.
268
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
Verwendungshinweise
HASP HL API-Referenz
Die folgenden File ID-Optionen stehen Ihnen zur Verfügung:
HASP_FILEID_LICENSE
HASP_FILEID_MAIN.
Der Zugriff hängt vom erzeugten hasp_login()-Handle ab. Die
Feature ID muss als ein 'Programm-Nummer-Feature'-Typ
deklariert werden, um den Zugriff auf eine HASP4
Speicherdatei zu beschränken.
Verwenden Sie die hasp_get_size()-Funktion, um die Größe der
Datei zu bestimmen, die Sie lesen möchten.
Siehe auch
hasp_get_size()
hasp_write()
HASP HL Softwareschutz- und Lizenzierungshandbuch
269
HASP HL API-Referenz
hasp_update()
Beschreibung
Schreibt ein Update für eine HASP HL Lizenz.
Syntax
hasp_status_t HASP_CALLCONV hasp_update (
char * update_data,
char ** ack_data
)
Parameter
update_data
Pointer auf die gesamten Update-Daten
ack_data
Pointer auf einen Puffer, um die Update-Bestätigung zu bekommen
Rückgabewerte
HASP_INV_UPDATE_DATA
Benötigte XML-Tags nicht gefunden, oder
Inhalt in binären Daten fehlt oder ist ungültig.
HASP_INV_UPDATE_OBJ
Binäre Daten enthalten kein Update.
HASP_NO_ACK_SPACE
Bestätigungsdaten durch das Update
angefordert, der Eingabeparameter ack_data
ist NULL.
HASP_KEYID_NOT_FOUND
Zu aktualisierende HASP HL Lizenz nicht
gefunden.
HASP_INV_UPDATE_NOTSUPP
Update wird vom HASP HL-Key nicht
unterstützt.
HASP_UNKNOWN_ALG
Unbekannter Algorithmus in V2C-Datei
verwendet.
HASP_INV_UPDATE_CNTR
Updatezähler ist fehlerhaft eingestellt.
HASP_INV_SIG
Signaturüberprüfung fehlgeschlagen.
270
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
Verwendungshinweise
HASP HL API-Referenz
Diese Funktion schreibt Updateinformationen.
Der Updatecode enthält alle notwendigen Daten, um das Update
auf dem eingesetzten HASP HL-Key auszuführen:
1. wohin die Daten geschrieben werden sollen (in welchen
"Container", z. B. HASP HL-Key)
2. die notwendigen Zugriffsdaten – Vendor Code
3. die eigentlichen Updateinformationen
Die Funktion gibt einen Bestätigungscode zurück, der vom
Update signiert/verschlüsselt wird. Der Code ist der Beleg, dass
ein Update auf eine Lizenz durchgeführt wurde. Für die UpdateBestätigung wird von der API Speicher allokiert und muss unter
Verwendung von hasp_free() freigesetzt werden.
Diese Funktion ist eine Erweiterung der Haupt-HASP HL API
und wird vom HASP HL RUS-Programm verwendet, um HASP
HL-Lizenzen zu aktualisieren.
Siehe auch
hasp_free()
HASP HL Softwareschutz- und Lizenzierungshandbuch
271
HASP HL API-Referenz
hasp_write()
Beschreibung
Schreibt in den Speicher eines HASP HL Key.
Syntax
hasp_status_t HASP_CALLCONV hasp_write(
hasp_handle_t handle,
hasp_fileid_t fileid,
hasp_size_t offset,
hasp_size_t length,
void * buffer
)
Parameter
handle
Handle für die Session
fileid
ID für die zu schreibende Datei
offset
Byte-Offset für die Datei
length
Anzahl der Bytes in der Datei
buffer
Pointer zu den abgefragten Daten
Rückgabewerte
HASP_STATUS_OK
Die Anfrage wurde erfolgreich
abgeschlossen.
HASP_INV_HND
Ungültiges Input-Handle.
HASP_NOT_IMPL
Der angeforderte Featuretyp ist nicht
verfügbar.
HASP_INV_FILEID
Unbekannte File ID.
HASP_MEM_RANGE
Speicherplatz reicht nicht aus.
HASP_ACCESS_DENIED
Zugriff auf Feature verweigert.
HASP_CONTAINER_NOT_FOUND
Der Featurecontainer ist nicht mehr
verfügbar.
272
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
Verwendungshinweise
Derzeit verfügbare gültige File IDs zum Schreiben von Daten:
HASP_FILEID_MAIN.
Der Zugriff hängt vom erzeugten hasp_login()-Handle ab. Die
Feature ID muss als ein 'Programm-Nummer-Feature'-Typ
deklariert werden, um den Zugriff auf eine HASP4
Speicherdatei zu beschränken.
Siehe auch
hasp_get_size()
hasp_read()
HASP HL Softwareschutz- und Lizenzierungshandbuch
273
HASP HL API-Referenz
API Status Codes
Die folgende Tabelle ist eine alphabetische Auflistung und
Beschreibung möglicher Rückgabecodes, die mit der Arbeit der
HASP HL API-Funktionen verbunden sind.
274
Nr.
Status Code
Beschreibung
0
HASP_STATUS_OK
Die Anfrage wurde erfolgreich
abgeschlossen.
1
HASP_MEM_RANGE
Ihre Anfrage übersteigt den HASP
HL-Speicherumfang.
2
HASP_INV_PROGNUM_OPT
Sie haben ein unbekanntes
'Programm-Nummer-Feature'
angefordert.
3
HASP_INSUF_MEM
Der Speicherplatz Ihres Systems
reicht nicht aus.
4
HASP_TMOF
Es sind zu viele Handles geöffnet.
5
HASP_ACCESS_DENIED
Zugriff auf Feature verweigert.
6
HASP_INCOMPAT_FEATURE
Die LegacyEntschlüsselungsfunktion kann auf
das Feature nicht angewendet
werden.
7
HASP_CONTAINER_NOT_FOUND
Der HASP HL-Key ist nicht mehr
verfügbar.
8
HASP_TOO_SHORT
Entschlüsselte Datenlänge ist zu
kurz, um den Funktionsaufruf
auszuführen.
9
HASP_INV_HND
Sie haben ein ungültiges Handle an
die Funktion weitergegeben.
10
HASP_INV_FILEID
Die angegebene File ID wird von
der API nicht erkannt.
11
HASP_OLD_DRIVER
Der installierte Treiber ist zu alt,
um die Funktion auszuführen.
Aladdin Knowledge Systems Ltd © 2004.
Anhang C
HASP HL API-Referenz
Nr.
Status Code
Beschreibung
12
HASP_NO_TIME
Es ist keine Echtzeituhr (RTC)
verfügbar.
13
HASP_SYS_ERROR
Allgemeiner Fehler beim
Systemaufruf.
14
HASP_NO_DRIVER
Der erforderliche Treiber ist nicht
installiert.
15
HASP_INV_FORMAT
Nicht erkanntes Dateiformat für
Update.
16
HASP_REQ_NOT_SUPP
Die Funktion kann in diesem
Kontext nicht ausgeführt werden.
17
HASP_INV_UPDATE_OBJ
Die binären Daten, die an die
Funktion weitergegeben wurden,
enthalten kein Update.
18
HASP_KEYID_NOT_FOUND
Die HASP HL-Lizenz, die Sie
aktualisieren wollen, wurde nicht
gefunden.
19
HASP_INV_UPDATE_DATA
Benötigte XML-Tags nicht
gefunden.
Inhalte in den binären Daten fehlen
oder sind ungültig.
20
HASP_INV_UPDATE_NOTSUPP
Die Update-Anfrage wird vom
HASP HL-Key nicht unterstützt.
21
HASP_INV_UPDATE_CNTR
Der Updatezähler ist nicht
ordnungsgemäß eingestellt.
22
HASP_INV_VCODE
Sie haben einen ungültigen Vendor
Code weitergegeben.
23
HASP_ENC_NOT_SUPP
Die verwendete Hardware
unterstützt den Verschlüsselungstyp
nicht.
HASP HL Softwareschutz- und Lizenzierungshandbuch
275
HASP HL API-Referenz
276
Nr.
Status Code
Beschreibung
24
HASP_INV_TIME
Der abgelaufene Zeitwert liegt
jenseits des unterstützten
Wertebereichs.
25
HASP_NO_BATTERY_POWER
Die Batterie der Echtzeituhr ist
leer.
26
HASP_NO_ACK_SPACE
Update-Bestätigung durch das
Update angefordert – ack_dataParameter ist NULL
27
HASP_TS_DETECTED
Programm läuft über ein Netzwerk
auf einem Terminal-Server.
28
HASP_FEATURE_TYPE_NOT_IMPL Der angeforderte Featuretyp ist
nicht implementiert.
29
HASP_UNKNOWN_ALG
Unbekannter Algorithmus in V2CDatei verwendet.
30
HASP_INV_SIG
Die Signaturüberprüfung ist
fehlgeschlagen.
31
HASP_FEATURE_NOT_FOUND
Das angeforderte Feature ist nicht
mehr verfügbar.
500 HASP_INVALID_OBJECT
Objekt nicht richtig initialisiert.
501 HASP_INVALID_PARAMETER
Der übergebene Parameter ist
falsch.
502 HASP_ALREADY_LOGGED_IN
Zweimal in dasselbe Objekt
eingeloggt.
503 HASP_ALREADY_LOGGED_OUT
Zweimal vom selben Objekt
ausgeloggt.
525 HASP_OPERATION_FAILED
Fehler aufgrund falscher
Verwendung von System oder
Plattform.
698 HASP_NOT_IMPL
Der angeforderte Featuretyp ist
nicht implementiert.
Aladdin Knowledge Systems Ltd © 2004.
Anhang D
Technische Spezifikationen
der HASP HL Hardware
Tabelle D.1 Technische Spezifikationen der HASP HL Hardware
Spezifikation
HASP HL ‘large’
HASP HL ‘mini’
Modelltypen
HASP HL Time, HASP HL
Net, HASP HL Max, HASP
HL Pro, HASP HL Basic und
Master HASP HL
HASP HL Net, HASP HL
Max, HASP HL Pro und
HASP HL Basic
Länge
52 mm
38 mm
Höhe
8 mm
8 mm
Breite
16 mm
16 mm
Gewicht
5,4 g
6,1 g für HASP HL Time
4.4 g
Anschluss
USB Typ A
USB Typ A
verwendete
Leitungen
Spannung, Masse, 2 für
Datenleitungen
Spannung, Masse, 2 für
Datenleitungen
HASP HL Softwareschutz- und Lizenzierungshandbuch
277
Technische Spezifikationen der HASP HL Hardware
Spezifikation
HASP HL ‘large’
HASP HL ‘mini’
KunststoffgehäuseMaterial
Lexan 500R
Lexan 500R
Betriebstemperatur
-25oC bis 70oC
-13oF bis 158oF
-25oC bis 70oC
-13oF bis 158oF
Datenerhaltung
mindestens 10 Jahre
mindestens 10 Jahre
Schreibzyklen für
den Speicher
1.000.000
1.000.000
LED-Farbe
rot
rot
Luftfeuchtigkeit
0-100% ohne Kondensation
0-100% ohne Kondensation
Stromverbrauch
im Betrieb: 50 mA
Standby: <0,5 mA
im Betrieb: 50 mA
Standby: <0,5 mA
HASP HL Net
HASP HL Time
Speichergröße
(Bytes)
-
112
4032
4032
4032
BatterieLebensdauer
keine
keine
keine
keine
4 Jahre
Spezifikation
278
HASP HL Pro
HASP HL Max
HASP HL Basic
Tabelle D.2 Technische Spezifikationen der HASP HL Modelle
Aladdin Knowledge Systems Ltd © 2004.
Index
A
Abwärtskompatibilität 231, 242, 260,
263, 269, 273
AES 54, 66, 74, 76, 100, 231
AKS Monitor. Siehe Aladdin Monitor
aksdiag32.exe 157, 213
aksmon32.exe 204
aksusbd 46
aksusbd Install.pkg 165
Installations-Checkliste 44
Installationsfenster 166
Kommandozeilen-Parameter 45
Mac-Daemon 42
Mac-Installation 43
Optionen 44
aksusbd Install.pkg 43
Aladdin DiagnostiX 30, 211–220, 231
aksdiag32.exe 213
Berichte erstellen 217–219
Feld Erfolgte Zugriffe 215
Funktionalität 212
HASP HL Driver aktualisieren 220
HASP HL Key suchen 214
HASP HL Keys überprüfen 214
HASP HL Suchwerkzeug 212
mit externen Werkzeugen verbinden 219
nethasp.ini-Datei 216
nethasp.ini-Datei konfigurieren
216
System-Information 212
Aladdin Memory Beamer. Siehe Memory Beamer
Aladdin Monitor 154, 203–209
Einstellungen 204
HASP HL Keys überprüfen 207
HASP License Manager 209
HASP License Manager-Daten
206
Informationen zum HASP-Key
206
installieren 204
Loginbereich 208
Programmbereich 208
Aladdin-Support 218
Antidebugging 4, 20, 52, 57, 59, 79,
87, 101, 231
API-Aufrufe 231
API-Beispielprogramme 65, 67, 232,
241
API-Funktionen 242, 244–273
HASP HL Softwareschutz- und Lizenzierungshandbuch
279
Index
Aufträge
Arten 135
erstellen 134
Feature hinzufügen 135
HASP HL RUS verwenden 139
Lizenzformen 136
Counter 136
Lizenzwert entfernen 136
Lizenzwert hinzufügen 136
Lizenzwert setzen 136
Net 136
Timer 136
Paket hinzufügen 137
Speichereingabe 137
B
Batch 12–14, 50, 125–127, 129, 133–
134, 139–140, 232
Batch Code 12–13, 232
Bereich von Stationen definieren
HASP License Manager 199
IPX 199
TCP/IP 200
Broadcast 196, 198, 200, 229, 232
Broadcast-Suchmethode 229, 232
C
C2V-Datei 145, 147, 149–150, 221,
223, 232
cyclic redundancy check 106
D
Dauerlizenz 131
Default Feature 27, 72, 128, 233, 266
Demo Vendor Code. Siehe DEMOMA
DEMOMA 10, 12, 64, 67, 85, 92, 125,
233
Device Driver. Siehe HASP HL Device
Driver
dfcrypt.exe 81, 88, 91
Datendateien verschlüsseln 91
Parameter-Eingabeformat 92
verfügbare Befehle 93
E
Echtzeituhr 9, 142, 233, 245, 251, 257,
263, 275
Endanwender-Software 31, 153–220
für den Schutz erforderliche Software 154
Software zur Problemlösung 154
Entschlüsselung 4, 54, 66, 68, 70, 74,
76, 86, 88–89, 92–93, 100, 102, 126,
231–233, 242, 246, 249, 258, 274
Envelope. Siehe HASP HL Envelope
F
Feature 17, 25–26, 71, 127, 233
angeschlossenen Key auslesen 140
Auftrag hinzufügen 135
einloggen 72
für ein Batch definiert 134
Identifizierungskennzeichen zuweisen 128
in Aufträgen 132
Lizenzbedingung 112
Lizenzierung über Lizenzformen
129
Lizenzierungsmodelle planen
116–117
Schutz 71
Teil eines Pakets 129
über das Remote Update System
aktualisieren 147
Feature ID 24–25, 68, 71–72, 121,
233, 259, 261–264, 266, 269, 273
angeben 72
280
Aladdin Knowledge Systems Ltd © 2004.
Index
G
Glossar 231–238
H
Handle 234
als Parameter 246, 248, 251, 253,
255, 258, 260, 262–264,
267–268, 272, 274
HASP 234
HASP HL 12
CE certification viii
Einleitung 1–10
FCC compliance viii
HASP HL Seriennummer 19
HASP HL Speicher verwenden 18
ISO certification viii
Konzepte 11–27
Linux
Daemon installieren 46–47
installieren 46
Mac
BDS-Subsystem-Voraussetzungen 43
Daemon installieren 42–43
Daemonoptionen 44, 164
Installations-Checkliste 44
installieren 42
Problemlösung 225–229
Schutzstrategien 95, 100, 103,
107–109
simultane Verwendung 9, 22, 25–
26, 86, 119–120, 130, 186,
235, 237
Software ausliefern 153–170
Aladdin DiagnostiX verwenden 157
Driver und Daemons 155
Windows 155
haspdinst.exe 162
HASP-Fenster für die Paketinstallation auf Mac 166
HASPUserSetup.exe 163
Image für die Bereitstellung
des Mac-Daemon verwenden 165
Installations-API für Treiber
verwenden 161
Installationsskripte für MacDaemons verwenden
168
Linux 169
Daemon in das Installationsprogramm integrieren 170
Linux-Driver und -Daemons
169
Mac 164
Mac-Daemonpaket 165
Merge-Module verwenden 158
Paketquellen für Mac verwenden 166
Software für Endanwender 153
Windows-Update verwenden
156
Software schützen 51–109
Software-Updates 225
System installieren 29–50
technische Spezifikationen 277
UL certification viii
Verfügbare Software 29
Verschlüsselung verwenden 17
Vorteile 2
Windows
HASP HL Softwareschutz- und Lizenzierungshandbuch
281
Index
Device Driver installieren 39–
41
HASP HL Installationsassistent 37
Installation 38
installieren 37
HASP HL API 18, 20–21, 31, 51, 53,
58, 61–77, 97, 192, 241–276
API-Beispielprogramme verwenden 241
Funktionsliste 242
HASP HL Speicher-Funktionen 76
HASP HL ToolBox verwenden
241
implementieren 68–74
Darstellung 69
grundlegende Vorgehensweise
70
Schritte 69
kennenlernen
Beispielprogramme 65
HASP HL ToolBox 65
Login-Funktion 71
Counter 73
Optionen 72
Suchoptionen 73
Terminalserver 73
Rückgabewerte und Status Codes
274
Schutz 61–77
session function
Login 264
Logout 267
Speicher-Funktion
get size 255
read 268
schreiben 272
Status Codes 274
Übersicht 61
verfügbare Funktionalität 75
Verschlüsselungs-/Entschlüsselungs-Funktion
entschlüsseln 246
Legacy-Entschlüsselung 258
Legacy-Verschlüsselung 260
verschlüsseln 248
Verwaltungs-Funktionen
get session information 253
LM-Leerlaufzeit setzen 262
Voraussetzungen 63
Vendor Code 64
Zeit-Funktion
get rtc 251
set rtc 263
Zeitumwandlungs-Funktionen
244, 256
HASP HL API-Beispielprogramme
65, 67, 232
Verzeichnis 31
HASP HL API-Funktionen
datetime to hasptime 244
HASP entschlüsseln 246
hasp free 250
hasp get rtc 251
hasp get sessioninfo 253
hasp get size 255
hasp legacy decrypt 258
hasp legacy encrypt 260
hasp legacy set idletime 262
hasp login 264
hasp logout 267
hasp read 268
282
Aladdin Knowledge Systems Ltd © 2004.
Index
hasp update 270
HASP verschlüsseln 248
hasp write 272
hasptime to datetime 256
HASP HL API-Referenz 241–276
Übersicht 243
HASP HL Basic 7–8, 18, 23, 234,
277–278
HASP HL Demo 125, 234
HASP HL Developer Kit 9, 234
HASP HL Device Driver 29–30, 39–
40, 81, 86, 122, 124, 153–156, 159–
164, 220, 227, 234
ausliefern 155–156, 160–161
161
haspdinst.exe 162
HASPUserSetup.exe 163–164
Merge-Module 159
haspdinst.exe 39
haspds.msm Merge-Module 158
HASPUserSetup.exe
installieren 39
Installations-API 161
Installationsverzeichnis 38
installieren 39–41
Linux-Installation anpassen 49
Merge-Module 160
über Aladdin DiagnostiX aktualisieren 220
HASP HL Envelope 20, 30, 51, 53,
57–58, 70, 79–80, 82, 92–93, 96–97,
108–109, 192, 234
Darstellung des Verfahrens 83
dfcrypt.exe 88
Endanwender-Support 88
Funktionalität 79
Grundlegende Vorgehensweise
beim Schützen 82
Kommandozeile 83
envelope.com 83
Optionen 84
Starten 84
Kommandozeilen-Parameter
-h/--help 84
-p/--protect 84
Projekt 84
Mac 89
aktivieren 89
Konfigurationsdatei-Einstellungen 90
Multi-Layer-Umhüllung 80
obligatorische Parameter 85
Quelldatei 85
Vendor Code 85
Schutz 79–93
Schutzparameter 85–89
starten 81
Tipps für die beste Verwendung
108
Umgang mit Datendateien 88
Filter 88
Schlüssel 88
Voraussetzungen 81
voreingestellte Parameter
Antidebugging 87
Anzahl der Module 87
HASP HL suchen 86
Schutzlevel 87
Startzähler 86
Umgang mit Overlays 86
Zufällige HASP HL Abfragen
86
HASP HL Softwareschutz- und Lizenzierungshandbuch
283
Index
HASP HL Factory 18, 30, 111, 118,
122–142, 144–145, 152, 221, 235–236
Aufträge ausführen 138–140
HASP HL RUS verwenden
139
Datenstrukturen 126–133
Aufträge
Arten 135
Feature hinzufügen 135
installieren 134
Lizenzformen 136
Paket hinzufügen 137
Speichereingabe 137
Batches 126
Features 127–128
Pakete 129
Lizenzformen 129
Pakete erstellen 129
Speichereingaben 131
Dauerlizenz 131
Funktionalität 123
HASP HLs initialisieren 132
Inhalt von Keys anzeigen 140
interne Datenbank 133
Keys initialisieren 138
Übersicht 123
unbegrenzter Zähler 131
Update für angeschlossenen Key
erstellen 141
Updates 141
Voraussetzungen 124–126
Zeit aus angeschlossenen Keys
auslesen 142
HASP HL Hardware 7
HASP HL Basic 7–8
HASP HL Max 7–8
HASP HL Net 7, 9, 204–205
HASP HL Pro 7–8
HASP HL Time 7, 9, 242
Tabelle 7
HASP HL Installationsassistent 37
HASP HL Keytypen 7
HASP HL Konzepte
Arbeitsablauf für Schutz und Lizenzierung 24
Darstellung der Protect Once-Deliver Many-Methode 28
eindeutige Codes und Keys 11,
13–14
Batch Code 12
HASP HL Demo 12
Master HASP HL 12
Vendor Code 12
vendor code 12
Protect Once-Deliver Many 15
HASP HL Lizenzierung 111
Dauerlizenz 131
Hardware 115
Konzepte 22, 112
Gleichzeitiger Zugriff 114
Lizenz 113
Updates 114
Lizenzformen 119
Modelle implementieren 121–122
Modelle planen 117–120
Remote Update System 23
Software 115
unbegrenzter Zähler 131
HASP HL Max 7–8, 115, 143, 235,
277–278
Lizenzierungsfähigkeiten 115
284
Aladdin Knowledge Systems Ltd © 2004.
Index
HASP HL Merge-Module
Driver 158
Beispiel für ein Merge-Modul
161
Checkliste 160
Konzept 159
HASP HL Modelle 7
HASP HL Basic 7–8
HASP HL Max 7–8
HASP HL Net 7, 9, 204–205
HASP HL Pro 7–8
HASP HL Time 7, 9, 242
technische Spezifikationen 278
HASP HL Net 7–9, 29, 31, 73, 115–
116, 120, 122, 143, 154, 175, 192, 203,
228–229, 235, 277–278
Client-Konfigurationsdatei 192
Konfigurationsdateien 199
Client 192
Lizenzierungsfähigkeiten 115
Logintabelle 171
Software für die Netzwerkumgebung 31
verfügbare Arten 9
HASP HL Pro 7–8, 115, 143, 235,
277–278
Lizenzierungsfähigkeiten 115
HASP HL RUS 122, 149, 235
Dienstprogramm verwenden 149–
150
Funktionalität 148
Update ausführen 149
Vorgehensweise 149
HASP HL Schutz
AES-Verschlüsselung 54
geheime Parameter 56
HASP HL Speicher verwenden 56
kurze Tour 32–36
Methoden 53, 57
HASP HL Schutzmethoden 20–21
HASP HL API 20
HASP HL Envelope 20
HASP HL Software Protection and Licensing Guide
Certifications viii
Copyrights and Trademarks i
License Agreement ii
HASP HL Softwareschutz- und Lizenzierungshandbuch
im Handbuch verwendete Symbole xx
Über xix
HASP HL Starter Kit (SK) 10
HASP HL System
Einleitung 1–10
Vorteile 2
HASP HL Time 7, 9, 77, 115, 120,
138, 143, 235, 257, 277–278
Lizenzierungsfähigkeiten 115
HASP HL ToolBox 18, 30, 56, 62, 68,
75, 101, 231, 235, 241
API-Aufrufe 231
HASP HL API verwenden lernen
66
HASP HL API-Funktionalität 66
Quellcode erzeugen 66
HASP ID 19, 77, 215, 235
HASP Installation.dmg 165
HASP License Manager 122, 154,
171–203, 228–229, 235, 267
.ini-Datei anpassen 183
HASP HL Softwareschutz- und Lizenzierungshandbuch
285
Index
anpassen
allgemeine Einstellungen 185
allgemeine Einstellungen der
nhsrv.ini 186–187
Einstellungen der Konfigurationsdatei nhsrv.ini 184
IP-Einstellungen der nhsrv.ini
187–188
IPX-Einstellungen der nhsrv.ini 189–190
nhsrv.ini 191
nhsrv.ini-Servereinstellungen
185
nhsrv.ini-Suchreihenfolge 184
bediente Anwendungen einschränken 202
Dienst von Aladdin Monitor angehalten 209
Gleichzeitiger Zugriff 114
Konfigurationsdatei 200
Linux 181–182
an Endanwender ausliefern
181
Linux installieren 182
andere Distributionen 182
Red Hat 182
SuSE 182
lmsetup.exe 173–174
Mac 178–180
ausliefern 178
bedienen 179–180
Daemon starten und anhalten
180
Konfigurationsdatei angeben
180
Servernamen festlegen 180
286
starten/beenden 179
NetBIOS 205
Net-Clients konfigurieren 192–
194
Netzumgebung anpassen 199–200,
202
nhsrv.ini 183
nhsrvice.exe 174
Timeout-Wert 202
verfügbare Schalter 183
von Aladdin Monitor gestartet 209
von Aladdin Monitor überwachte
Eigenschaften 205
Windows 172
2000/XP/2003 174
98SE/ME 174
Aktivitätenprotokoll anzeigen
176
ausliefern 173
bedienen 176
installieren 173
Mehrere Netzwerk-Adapter
177
Protokolle deaktivieren 176
starten/beenden 175
HASP4 231, 242, 260, 263, 269, 273
haspdinst.exe 39–40, 155, 162, 227
aktualisieren 40
HASP HL Device Driver ausliefern 162
installieren 39
Tabelle der Befehle 41
HASPUserSetup.exe 39, 155, 163
Begrüßungsfenster 163
für die Auslieferung der HASP HL
Driver 163
Aladdin Knowledge Systems Ltd © 2004.
Index
Hintergrundabfragen 235
I
Installations-API für HASP HL Driver
161
IPX-Protokoll
Bereich von Stationen definieren
199
K
knacken 52, 56, 98, 102, 236
Konfigurationsdatei 236
HASP License Manager 180, 192–
193, 199–200
Mac-HASP HL Envelope 90
nethasp.ini 204, 216
nhsrv.ini 183
Konzepte. Siehe HASP HL Konzepte
L
Leerlaufzeit 236, 242
Funktion 262
Legacy-Funktionen 231, 258, 260, 262
Linux
Bereitstellungsformate des
Daemon 169
Daemon installieren 46
HASP HL Software installieren 46
RPM-Pakete 47
Lizenz 5, 15, 111–152, 236, 243, 253,
264, 266, 271, 275
Beispiel eines Arbeitsablaufs 24
Beispiel eines Modells 117
container 266
Eigenschaften der HASP HL Modelle 7, 9
HASP HL Factory 50
Protect Once-Deliver Many 15–16
Remote Update System 23
update 254, 270–271
Vendor Center 29–30
Lizenzformen 119, 129, 136
Addieren 130
Counter 130, 136
Entfernen 131
Net 130, 136
Setzen 130
Timer 130, 136
Lizenzierung. Siehe HASP HL Lizenzierung
lmsetup 173
Login-Funktion 71, 236
Counter 73
Optionen 72
Suchoptionen 73
Terminalserver 73
M
Mac
BDS-Subsystem-Voraussetzungen 43
Beispielprogramme 42
Daemon installieren 42–43
Daemon-Installationsimage 165
Daemon-Paketinstallation 165
HASP HL Envelope 89
aktivieren 89
Konfigurationsdatei-Einstellungen 90
HASP HL Software installieren 42
Installations-Checkliste 44
Mac-Daemoninstallation
Paket 165
Quelldateien 167
aksusbd_install.pmsp 167
Quelle 167
HASP HL Softwareschutz- und Lizenzierungshandbuch
287
Index
Skripte 168
Master HASP HL 12, 50, 64, 125, 133,
139, 236, 238, 277
Batch Codes 13
Vendor Code extrahieren 13
Memory Beamer 30, 221–223
Berichtdateien lesen 223
DLLs anpassen 221
Vendor Codes einfügen 221
Vendor Codes verschicken 221
Merge-Modul 158
Monitor. Siehe Aladdin Monitor
N
Netzwerk
Aladdin Netzwerk 207
Broadcast-Suchmethode 232
HASP HL License Manager anhalten 209
HASP HL License Manager starten 209
HASP HL Net 9
Schlüsselwörter für die HASP HL
Net nethasp.ini anpassen
199
Service Advertising Protocol 190
Timeout-Wert 202
Netzwerkadapter 177
Netzwerk-Key. Siehe HASP HL Net
Netzwerkkonfiguration 177
Netzwerksoftware
Aladdin Monitor 203–209
HASP License Manager 171–202
Netzwerkumgebung 172
HASP HL Net 199
P
Pakete 26–27, 118–119, 126–127,
129, 236
Beispielliste 26
erstellen 129
Features 129
in Aufträgen 133, 137
Lizenzformen 129
Speicher 18
Speichereingaben 131
Plattformübergreifend 63, 236
Problemlösung 225–229
Programmfunktionen 250
Programm-Nummer 236
Programm-Nummer-Feature 259,
264–265, 269
Protect Once-Deliver Many 24
Darstellung 28
Einführung und Definition 15
Lizenzieren 15
Schutz 15
Prüfsummen-Code 105
Q
Quelldateien für die Installation des
Mac Daemons 167
R
Red Hat
Daemon-Pakete 47
HASP License Manager 182
Remote Update System 23, 111, 124,
132, 143–152, 236
Arbeitsablauf 147
Darstellung des Arbeitsablaufs
147
Funktionalität 143
Komponenten 144
288
Aladdin Knowledge Systems Ltd © 2004.
Index
C2V-Datei 145
HASP HL Factory 144
HASP HL RUS 145
V2C-Dateien 145
Komponentendiagramm 146
Konzept 143
V2C-Output als exe-Datei anpassen 152
V2C-Output anpassen 151–152
Reverse-Engineering 52, 54, 57, 59,
70, 79, 237
RUS. Siehe Remote Update System
S
Schlüssel 4, 54, 76, 237, 249
Datendateien 88, 91
dfcrypt.exe-Befehl 93
HASP HL Envelope 92
Schreib-/Lesespeicher 8
Schutz
HASP HL API 20, 61–77
HASP HL Envelope 79, 85–93
HASP HL Envelope für Mac 89
Konfigurationsdatei-Einstellungen 90
Strategien
Daten Ver-/Entschlüsseln 100
HASP HL Speicher verwenden
107
Verifizierung aufteilen 103
Umgang mit Datendateien
Filter 88
Schutzlevel 237
Schutzstrategien 95–109
Seriennummer. Siehe HASP ID
Session-Funktionen 264, 267
Software schützen
AES-Verschlüsselung 54
geheime Parameter 56
HASP HL Speicher verwenden 56
kurze Tour 32–36
Methoden 53, 57
Übersicht 51–59
Speicher-Funktionen 255, 270, 272
Startzähler 73, 86, 237, 264
Status Code 237
SuSE
Daemon-Pakete 47
HASP License Manager 182
T
TCP/IP-Protokoll
Bereich von Stationen definieren
200
Themen des Softwareschutzes 98
U
Umgang mit Datendateien 88
dfcrypt.exe 81, 88, 91–92
Filter 88
Schlüssel 88
unbegrenzter Zähler 131
Update 77, 237, 243, 253–254, 271
Arbeitsablauf 27
Aufträge 132, 138
Fehler 270, 275
Funktionalität der HASP HL Factory 123
HASP HL API 77
HASP HL API-Funktion 270
HASP HL Lizenzierungskonzept
112
im Lizenzierungsablauf 122
Werkzeuge 114, 116, 124, 139
angeschlossene Keys 135
HASP HL Softwareschutz- und Lizenzierungshandbuch
289
Index
angeschlossener Key 141
Netzwerk 135
V2C-Datei 135
V
V2C-Datei 140, 145, 148–149, 152,
238, 270
HASP HL Factory verwenden 152
Vendor 238
Vendor Center 12, 29, 64–65, 81–82,
123, 241
grafische Benutzeroberfläche 33
HASP HL Envelope verwenden 81
HASP HL Factory 116
HASP HL Updates erhalten 97
Inhalt 30
Navigationspfad 81
Werkzeuge 30
Vendor Code 10, 12, 18, 56, 64, 103,
238, 271
Aladdin DiagnostiX 213–214
an Endanwender schicken 221
aus Master HASP HL extrahieren
13, 50
Darstellung der Code-Extraktion
14
DemoMA 233
HASP HL Envelope 80, 85
dfcrypt-Befehl 93
HASP HL Envelope (Mac)
Konfigurationsdatei-Einstellung 90
HASP HL Factory 125
HASP HL ToolBox 66
hasp_login parameter 264
in eine DLL einfügen 222
in HASP HL API 64
290
in HASP HL Factory-Batches 127
invalid code message 265
Verzeichnis 50
Vendor Private Key 238
Vendor Public Key 238
Vendor-Programme für Mac 42
Verschlüsselung 17, 52, 54, 66, 74, 76,
86–87, 231, 238–239, 246, 248, 258,
260, 271, 275
Verschlüsselungs-/EntschlüsselungsFunktionen 246, 248, 258, 260
Verschlüsselungs-Engine 17, 52, 54,
239, 249
Verwaltungs-Funktionen 253, 262,
270
X
XOR-Operation 106
Z
Zeit
aus Key auslesen 142
Zeit-Funktionen 251
Zeitumwandlungs-Funktionen 244,
256
Zugriffscode 50
Aladdin Knowledge Systems Ltd © 2004.