Ü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.