Signieren Ihrer Programme

Digitale Signaturen geben an, wo Programme herkommen, und stellen sicher, dass sie nicht verΣndert wurden. Sie sollten Ihr benutzerdefiniertes Browserpaket sowie alle benutzerdefinierten Programme digital signieren, damit sichergestellt ist, dass Benutzer keine Warnmeldungen erhalten, wenn sie ihre benutzerdefinierten Browser installieren. M÷glicherweise wird verhindert, dass Benutzer ActiveX-Steuerelemente oder Java-Pakete installieren, die nicht signiert sind. Wenn Sie den IEAK-Assistenten verwenden, mⁿssen Sie Informationen ⁿber Ihr digitales Zertifikat angeben.

Wenn Sie benutzerdefinierte Browserpakete erstellen, sollten Sie die benutzerdefinierten Kabinettdateien (.cab-Dateien) signieren, die von IEAK erstellt wurden, bevor Sie sie im Internet oder einem Intranet bereitstellen. Das Signieren der .cab-Dateien und benutzerdefinierten Programme erfordert zwei Schritte: das Anfordern eines digitalen Zertifikats und das Signieren des Codes.

Wenn Sie ein digitales Zertifikat bekommen haben, mⁿssen Sie dieses Zertifikat auf Ihrem Computer akzeptieren. Sie werden dann im IEAK-Assistenten aufgefordert, die Herausgeberzertifikate auszuwΣhlen, die Sie verwenden werden, um die Dateien in Ihrem Paket zu signieren.

Nach dem Erstellen Ihres Browserpakets mⁿssen Sie die folgenden Dateien signieren:

Anmerkungen

Woher bekommen Sie digitale Zertifikate?

Digitale Zertifikate stellen einen Teil der Authenticode-Technologie dar, durch die angegeben wird, woher Programme kommen, und die sicherstellt, dass Programme nicht verΣndert wurden. Zertifikate erhalten Sie aus zwei Quellen. Eine ZertifizierungsautoritΣt, wie beispielsweise VeriSign oder GTE, kann Ihnen Zertifikate zur Verfⁿgung stellen, oder ein privat betriebener Zertifikatserver kann diese ausstellen. Zertifikate k÷nnen fⁿr Firmen oder einzelne Personen gelten.

Einige Firmen fungieren als lokale Registrierungsagenturen (LRAs). Eine LRA ⁿberprⁿft Zertifizierungsanfragen, stellt den Sachverhalt sicher und ⁿbergibt die genehmigte Anfrage an die signierende ZertifizierungsautoritΣt. Die ZertifizierungsautoritΣt und die LRA k÷nnen unterschiedliche Bedingungen vereinbaren, die in einem Vertrag niedergelegt werden.

Das folgende Beispiel beschreibt die Beziehung zwischen einer ZertifizierungsautoritΣt und einer LRA. Bei VeriSign handelt es sich beispielsweise um eine Basis-ZertifizierungsautoritΣt, die umfassende ZertifizierungsautoritΣtdienste zur Verfⁿgung stellt. Eine UniversitΣt m÷chte allen ihren Studentinnen und Studenten Zertifikate zur Verfⁿgung stellen. Die UniversitΣt kann beispielsweise die IdentitΣt ihrer Studenten authentifizieren und die erforderlichen Verwaltungsaufgaben erledigen, m÷chte sich jedoch nicht mit Haftungsaspekten beschΣftigen. Aus diesem Grund kann die UniversitΣt die Haftungsfragen an die Basis-ZertifizierungsautoritΣt ⁿbergeben und sich selbst als LRA etablieren.

Wie signieren Sie Ihre Kabinettdateien und benutzerdefinierten Programme?

Nachdem Sie ein Zertifikat erhalten haben, mⁿssen Sie den Code signieren. Tools zum Signieren des Codes, beispielsweise der Assistent fⁿr das Signieren von Code (Signcode.exe), stehen im IEAK Resource Kit zur Verfⁿgung. Diese Tools befinden sich im Ordner \Programme\IEAK\Reskit\Addons\Tools. Weitere Ressourcen finden Sie im Microsoft Internet Client SDK.

Au▀erdem mⁿssen Sie die privaten und ÷ffentlichen Schlⁿssel kennen, bei denen es sich um zusammengeh÷rige Schlⁿsselmengen handelt, die der Softwareherausgeber erstellt. Sie werden fⁿr die Ver- und Entschlⁿsselung verwendet. Die Schlⁿssel werden zu dem Zeitpunkt erstellt, zu dem das Zertifikat von einer ZertifizierungsautoritΣt angefordert wird. Sie werden auf Ihrem Computer generiert, und Ihr privater Schlⁿssel wird niemals an die ZertifizierungsautoritΣt oder einen anderen EmpfΣnger gesendet.

Sie k÷nnen die folgenden Programme verwenden, um Dateien digital zu signieren und die Signierung der Dateien zu ⁿberprⁿfen:

Diese Tools befinden sich im Ordner \Programme\IEAK\Reskit\Tools des IEAK und im Microsoft Internet Client SDK. Weitere Information zur Verwendung dieser Tools finden Sie unter Verwenden von Tools zum Signieren und Testen von Code.

Was ist Authenticode-Technologie?

Bei Authenticode handelt es sich um eine Technologie, die auf Spezifikationen beruht, die von der Industrie seit einiger Zeit erfolgreich verwendet wurden. Dies schlie▀t PKCS #7 (ein kryptographischer Meldungs-Syntax-Standard), PKCS #10 (Zertifikatsanforderungsformate), X.509 (Zertifikatsspezifikation) und die SHA- und MD5-Hashalgorithmen ein.

ZertifizierungsautoritΣten ver÷ffentlichen Policen und gewΣhren die AutoritΣt zum Signieren von Code (Zertifikate) auf der Grundlage von Kriterien, die in verschiedenen Spezifikationen festgelegt wurden. Andere Aufgaben der ZertifizierungsautoritΣt bestehen im Verwalten von Zertifikaten (Antrag, VerlΣngerung und Widerruf), dem Speichern von Basisschlⁿsseln, dem BestΣtigen des von AnwΣrtern vorgelegten Sachverhalts, dem Anbieten von Tools fⁿr die Antragstellung und dem Akzeptieren der GewΣhrleistung, die sich aus diesen Materialien und Aktionen ergibt. ZertifizierungsautoritΣten stellen ein wichtiges Element dieses Programms dar, da sie sicherstellen, dass alle Softwareherausgeber auf der Grundlage des gleichen Regelwerks arbeiten.

Was passiert, wenn Zertifikate ablaufen?

Das Ablaufen von Zertifikaten bietet ein weiteres Ma▀ an Sicherheit. (Wenn beispielsweise eine UniversitΣt alle Studenten mit digitalen IDs zertifiziert, lΣuft jede ID ab, wenn die Studentin oder der Student die UniversitΣt verlΣsst.) Code, der mit einem abgelaufenen Zertifikat signiert ist, ist ungⁿltig. Wenn das Zertifikat ablΣuft, muss der Softwareherausgeber seinen Code neu signieren und neue Versionen dieses Codes bereitstellen. In Zukunft, wenn Internet-Zeitstempel verfⁿgbar sein werden, k÷nnen Softwareherausgeber Code mit einem Zeitstempel signieren und so beweisen, dass das Zertifikat gⁿltig war, als der Code signiert wurde; der zertifizierte Code bleibt dann sogar gⁿltig, nachdem das Zertifikat abgelaufen ist.

Wie Endbenutzer Sicherheitseinstellungen konfigurieren k÷nnen

Internet Explorer bietet mehr als eine Sicherheitsstufe, da das Internet in Zonen aufgeteilt wird. Sicherheitszonen helfen Benutzern dabei, m÷glicherweise schΣdigende Inhalte im Internet zu vermeiden.

Benutzer k÷nnen feststellen, in welcher Zone sich die aktuelle Web-Seite befindet, indem sie sich die rechte Seite der Internet Explorer-Statusleiste ansehen. Bei jedem Versuch, Inhalte aus dem Web zu ÷ffnen oder zu downloaden, prⁿft Internet Explorer die Sicherheitseinstellungen fⁿr die Zone dieser Website.

Inhalte k÷nnen Zonen auf verschiedene Art zugewiesen werden. WΣhrend Aktionen fⁿr jede Sicherheitsstufe definiert sind, k÷nnen Benutzer benutzerdefinierte Einstellungen fⁿr jede Stufe erstellen.

Wie Firmenadministratoren Authenticode einsetzen k÷nnen, um die Benutzeroptionen zu steuern

Wenn Sie ein Firmenadministrator sind, k÷nnen Sie Sicherheitszonen vorkonfigurieren, Inhaltsfilter voreinstellen und ZertifizierungsautoritΣten anpassen. Sie k÷nnen durch Systemrichtlinien und -einschrΣnkungen steuern, ob Benutzer ihre Sicherheitseinstellungen Σndern k÷nnen. Informationen zu bestimmten Einstellungen finden Sie unter Sicherheitsoptionen von Internet Explorer.

Sie k÷nnen sicherstellen, dass Endbenutzer Warnungen erhalten, wenn sie m÷glicherweise unsichere Inhalte anzeigen m÷chten. Au▀erdem k÷nnen Sie verhindern, dass Benutzer nichtsignierte ActiveX-Steuerelemente und Java-Pakete downloaden.

Was passiert, wenn ich meinen Code signiere?

Der Vorgang der Codesignierung ist einfach und sicher. Sie mⁿssen die technischen Einzelheiten der Codesignierung nicht kennen, um Ihren Code zu signieren.

Nachdem der Code entwickelt und getestet wurde, signiert ein Softwareherausgeber den Code. Eine Einweg-Hashfunktion wird auf den Code angewandt, die einen "Digest" mit fester LΣnge erzeugt. Dieser Digest wird anschlie▀end mit dem privaten Schlⁿssel des Softwareherausgebers verschlⁿsselt und mit dem Namen des Hashalgorithmus und des Zertifikats (das den Namen des Herausgebers, den ÷ffentlichen Schlⁿssel, den Namen des Zertifikats der ZertifizierungsautoritΣt usw. enthΣlt) zu einem Signaturblock kombiniert. Dieser Signaturblock wird wieder in einen reservierten Abschnitt in das PE (portable-executable)-Dateiformat eingefⁿgt, und der Code kann dann ⁿber das Internet vertrieben werden. Wenn Sie eine .cab-Kabinettdatei signieren, wird der Signaturblock auch in der Kabinettdatei gespeichert.

Wenn der Benutzer den Code downloadet, ruft die Downloadanwendung die WinVerifyTrust-API auf. Das System extrahiert die Signatur, erkennt die ZertifizierungsautoritΣt, die das Zertifikat authentifiziert hat, und ermittelt den ÷ffentlichen Schlⁿssel des Softwareherausgebers, der von der ZertifizierungsautoritΣt vertrieben wird. Das System verwendet anschlie▀end den ÷ffentlichen Schlⁿssel, um den Digest zu entschlⁿsseln. Es fⁿhrt den angegebenen Hashalgorithmus nochmals fⁿr den Code aus und erstellt so einen neuen Digest. Wenn der Code seit dem Signieren nicht geΣndert wurde, entspricht der neue Digest dem alten. Wenn sich beide Digests nicht entsprechen, wurde entweder der Code geΣndert, oder der ÷ffentliche und der private Schlⁿssel bilden kein entsprechendes Paar. In beiden FΣllen wird der Code als verdΣchtig eingestuft, und der Benutzer erhΣlt eine Warnung.