Was ist eigentlich PGP?
Neu seit Februar 1999: PGP 6.0.2i Internationale
Version ohne US-Exportbeschränkung.
|
|
- PGP steht für Pretty Good Privacy.
- Es ist ein Verschleierungs- und Authentifizierungsverfahren
für E-Mails und Dateien.
- PGP wurde entwickelt von Phil Zimmermann.
- Kommerzielle Versionen PGP 6.0 von NAI Network Associated Inc.
http://www.nai.com
- Freeware Versionen PGP 6.0.2i International seit Februar 1999:
http://www.pgpi.com
- PGP ist eine PKI (Public Key Infratructure) Lösung.
- Es können Keys nach RSA oder nach DH/DSS (Diffie-Hellman/DSS)
erzeugt werden.
- DSS steht für Digital Signature Standard.
- Im Public Key kann ein Foto (120x144) weitergegeben werden.
- Eine hervorragende Quelle für Infos und Software ist www.replay.com
Das PGPI Projekt
Das PGPi Projekt ist
eine 100% non-profit Initiative, deren Zweck es ist, wegen der US-Exportbeschränkungen,
PGP weltweit frei und legal verfügbar zu machen.
The PGPi project concentrates on four different areas:
- Scanning and proofreading
- Internationalization and development
- Translation and localization
- Porting PGP to new platforms
Network Associates führt seit Jahren die Exportbeschränkungen
der USA ad absurdum. Der Sourcecode von Verschlüsselungssoftware
darf - solange er auf Papier gedruckt ist - veröffentlicht werden.
Denn wie alles Gedruckte fällt er unter das in der Verfassung garantierte
Recht auf freie Meinungsäußerung. Das Schweizer Unternehmen Cnlab
Software hat den Sourcecode eingescannt, neu kompiliert und dann
der niederländischen Niederlassung von Network Associates eine Lizenz
dafür erteilt. So ist Network Associates in der Lage, PGP mit einem
128-Bit-Schlüssel ausserhalb der USA zu verkaufen und Support dafür
zu leisten.
Welche PGP Versionen gibt es?
PGP Freeware
Diese gibt es als sog. "Internationale Version" und
als "US-Version". Beides ohne RSA-Unterstützung.
Zur Zeit (Mai 1999) aktuelle "Internationale Version"
ist PGPfreeware602i.exe
PGP Personal Privacy
Die Personal Privacy gibt es mit
und ohne RSA-Unterstützung. RSA-Schlüssel bis zu 2048
Bit werden unterstützt.
Zur Zeit (Mai 1999) aktuelle Version
ist PGP_Personal_Privacy_6_0_2_RSA.zip
Funktionsumfang: PGKeys Menuleiste
Server: Send to, Search, Update.
Outlook Plugin: pgpExch.dll version
6.0.2 vom 12.Nov.1998
"PDS" PGP Desktop Security
Internationale Versions (d.h. 128-bit
strong encription) als Freeware: www.pgpi.com, als
Commercial Version: www.pgpinternational.com.
Die zur Zeit (Mai 1999) aktuelle
Version ist: PGP_Desktop_Security_6_0_2.zip als DH-Version (d.h
Verschlüsselung nur nach Diffie-Hellman und nicht RSA) und
die RSA-Version Desktop_Security_6.0.2_RSA.zip. Jede dieser Dateien
ist ca. 15 MByte gross.
Die Desktop Security enthält:
- PGPkeys for easy access to the most frequently used key management functions.
- PGPtray on your system tray puts PGP functions at your
fingertips with its full menu.
- PGP email plug-ins for secure messaging between popular
email applications
- PGPdisk for encryption and digital sigining for data
protection and authentication
- PGPtools for easy access to all your PGP tools such as
encrypt, decrypt, sign and wipe.
- PGP Admin Wizzard
- PGP SDK
"PSS" PGP Server Security
Enthält noch einen Certificate
Server auf LDAP-Basis und einen Policy Management Agent.
PGP Enterprise Security Suite
combines the worldwide de-facto
standards for file, disk, email and network encryption with
precise management tools both at the desktop and server level. It
includes infrastructure support such as additonal decryption keys
and a full public key infrastructure for certificates and their
management. PGP Enterprise components are:
- PGP VPN Client for secure remote access and peer-to-peer connections
(Neu April 1999!!!)
- PGP Desktop Security
- PGP Certificate Server 2.0 (unterstützt SSL
bzw. TLS)
- Policy Management Agent
- PGP Software Developers Toolkit
Integration in E-Mail-Applikationen
- Eudora: Volle transparente Integration
- Outlook 98: Gute Integration
- Lotus Notes: Bis Version 4.6 verwendet Lotus ein proprietäres
Verfahren. Für Version 5 ist ein PKI-Verfahren von Entrust Technologies
angekündigt (März
1999).
Die Firma NTS Consulting Pte Ltd aus Singapur bietet mit
dem Produkt PI Mail 2.0 schon heute transparente PGP-Funktionalität
für Lotus Notes 4.6. Dadurch sind ausserhalb der USA stärkere
Verschlüsselungen als 40 Bit möglich und auch der Austausch mit
Non-Lotus-Anwendern (z.B. Internet) ist mit dem Industriestandard
PGP dann über Lotus Notes möglich.
Public Key Server
Die Public Keys werden weltweit
in sog. Public-Key-Servern bzw. Certificate-Servern verwaltet.
Dort kann man Public Keys suchen und zum eigenen Gebrauch in den
"Schlüsselbund" von PGP herunterladen.
Die Benutzerschnittstelle der Public-Key-Server
kann HTTP-orientiert oder LDAP-orientiert sein.
Der HTTP-Server von NAI ist: http://certserver.pgp.com.
Es können Queries auch über eine URL ausgelöst werden.
Z.B.: http://certserver.pgp.com:11371/pks/lookup2?op=index&search=dietrich+kracht
Der LDAP-Server von NAI
ist: ldap://certserver.pgp.com:389.
Mit dieser URL wird der Windows-Dialog "Suchen Personen"
aufgerufen. Neue LDAP-Server werden über Outlook98 "Extras/Konten/Verzeichnisdienste"
eingerichtet.
LDAP Server
LDAP steht für Lightweight Directory
Access Protocol und ist ein Client-Server-Protokoll für den Zugriff
auf einen Verzeichnisdienst (directory service). Anfangs wurde es
als Front-end für X.500-Verzeichnisdienste verwendet.
Man kann über eine Person z.B. speichern: E-Mail-Adressen, Fotos,
URLs, Public Keys, X.509-Zertifikate,...
Weiterführende Informationen auf meiner LDAP-Seite.
Digitale Zertifikate
Digitale Zertifikate haben vier
Hauptanwendungsbereiche:
- Gesicherte Web-Verbindungen (SSL 3.0 oder HTTPS)
- Web client authentication
- signing and encrypting email
- software publishing
Digitale Unterschriften (Signaturen)
Generell dienen
die o.g. Zertifikate dem elektronischen Unterschreiben von beliebigen
Dokumenten. Durch das Unterschreiben von Public Keys wird die Echtheit
des Keys durch den Inhaber des Zertifikats bescheinigt.
Die Software
PGP verwendet entweder RSA-Schlüssel (Rechtsstreit PGP-RSA
in 1997) oder im Zusammenhang mit der Diffie-Hellman-Verschlüsselungstechnik
DSS (Digital Signature Standard)
als elektronische Unterschrift. Der RSA-Schlüssel ist der DH/DSS-Technik
vorzuziehen, da RSA eine weitere Verbreitung (Interoperabilität
mit anderen Software-Produkten) hat.
Ralf Senderek Die
Sicherheit des geheimen Schlüssels
X.509-Zertifikate
X.509 ist ein Standardformat der
ITU-T für Zertifikate (International Telecommunications Union-Telecommunication).
Es enthält den Namen und die digitale Signatur des Ausstellers und
Angaben über die Identität des Inhabers. Auf dem X.509-Format basieren
zum Beispiel S/Mime und SSL.
Werden von Microsoft im Internet
Explorer, im Internet Information Server sowie im Windows-
und Outlook-Adressbuch verwendet. Das persönlche X.509-Zertifikat
im Internet Explorer dient beispielsweise als "Ausweis"
bei Einkäufen über das Internet. Z.B. bei Lehmanns
Online Buchhandlung.
To remove a certificate from IE4 (e.g. expired test certificates),
you need to edit the registry: HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates\My\Certificates
All certificates are listed there, select the one you don't need
anymore and press delete.
Warning: Only mess around with the registry when you know what you're
doing!
Microsofts Authenticode / Inet SDK
Unter http://msdn.microsoft.com/downloads/tools/authcodeie4/authcodeie4.asp
findet man die Tools des SDK zum Erstellen und Manipulieren von
Zertifikaten (MakeCert, Cert2SPC, SignCode, ChkTrust, MakeCTL, CertMgr,
SetReg und MakeCat).
Mit CertMgr kann man X.509-Zertifikate in System Stores
(im Registry) betrachten, gezielt eines löschen oder in Dateien
exportieren.
Beispielsweise dienen zum Betrachten der System Stores:
- CertMgr -s my
- CertMgr -s root
- CertMgr -s addressbook
Oder zum Exportierern der Zertifikate mit dem Common Name
"Dietrich" aus dem System Store "my" in die
Datei dietrich.cer:
- CertMgr -put -c -n "Dietrich" -s my dietrich.cer
Mit MakeCert kann man X.509-Zertifikate für frei wählbare Antragsteller
(X.509 Subjects) erzeugen. Der Aussteller (X.509 Issuer) kann sein:
- Eine Test-Grösse CN="Root Agency" (default, wenn man
zum Issuer keine Angabe macht).
- Self-Signing; d.h. Issuer = Subject (mit der Angabe "-r")
- Ein richtiges Zertifikat, das der Aussteller besitzt (mit den
Angaben "-is" und "-in")
Beispiel:
MakeCert -cy both -d "Dietrich Krachts WebServer" -n
"CN=nb057hh1.gmo.de" -e "05/20/2000" -is my
-in "Dietrich Kracht" nb057hh1.cer
CA Certification Authority
Die Authentizität von PKI-Schlüsseln wird von allgemein als vertrauenswürdig
angesehenen Stellen (gerne Trust Center genannt) durch ein Zertifikat
bestätigt. Dies geschieht nach einer verbindlich festgelegten Certification
Policy. In Deutschland ist im Signaturgesetz festgelegt, wie Certification
Authorities (CAs) anerkannt werden. Von einer CA herausgegebene
Zertifikate werden "CA-Zertifikate" genannt.
Zertifikate gibt es in verschiedenen technischen Formaten: X.509-Zertifikate
werden z.B. von VeriSign oder
Thawte
als sog. Digital IDs ausgestellt, die man im Outlook-Adressbuch
speichern kann. Darauf basiert dann das Verschlüsselungsverfahren
SSL für den Internet Explorer.
In Deutschland gibt es z.B. das
TC Trustcenter http://www.tc-trustcenter.de
. TC Trustcenter ist eigenen Angaben zufolge noch keine genehmigte
Zertifizierungsstelle gemäß dem Signaturgesetz (SiG), das Bestandteil
des Informations- und Kommunikationsdienste-Gesetzes (IuKDG)
ist. Eine nach dem Signaturgesetz genehmigte Zertifizierungsstelle
gab es demnach bis Redaktionsschluß nicht. Certification Authorities
im Ausland Die wohl bekannteste internationale Zertifizierungsstelle
ist Verisign. Bei Verisign kann man für eine Jahresgebühr
von knapp 10 Dollar eine digitale ID beantragen, die sich
zum Verschlüsseln und Unterzeichnen von Nachrichten einsetzen läßt.
Zum Ausprobieren bietet Verisign eine kostenlose 60-Tage-Test-ID
an (http://www.verisign.com).
Export-Restriktionen der USA
Seit alters her hat die USA ein
Exportverbot für Kryptographie-Verfahren, die unter das Waffenkontrollgesetz
(ITAR) fallen. Nur Verfahren sog. "schwache" Verfahren,
d.h. symmetrischer Schlüssel bis 40 Bit und asymmetrischer Schlüssel
(z.B. RSA) bis 512 Bit, sind überhaupt genehmigungsfähig. Neuerdings
sind 56 Bit bzw. 1024 Bit erlaubt, wenn die Schlüssel bei
einer US-amerikanischen Institution ("zum Abhören")
hinterlegt werden.
Aus diesem Grunde hat das Projekt
PGPi den Sourcecode von PGP in USA gekauft und den Code
dann ausserhalb der USA neu "eintippen" lassen. Das Ergebnis
sind die Freeware-Versionen von PGP
International und die kommerziellen Versionen von NAI Niederlands:
www.pgpinternational.com,
beide mit starker, d.h. 128-Bit, Verschlüsselung.
Beim Export von Verschlüsselungs-Software
hält sich Deutschland an das von 31 Ländern Mitte 1996 unterzeichnete
Abkommen von Wassenaar www.wassenaar.org.
Es regelt den Export von Waffen und Produkten, die für zivile wie
militärische Zwecke geeignet sind, worunter auch Kryptographie-Produkte
fallen. Das Abkommen hebt Exportbeschränkungen für Verschlüsselungssoftware
für den Massenmarkt auf - allerdings haben fünf Unterzeichner, darunter
die USA und Großbritannien, diese Ausnahmeregelung nicht akzeptiert.
SSL Secure Socket Layer - TLS Transport Layer Security
Während PGP als Hauptzielrichtung die Verschlüssellung von E-Mail
hat, ist der von Netscape entwickelte SSL-Ansatz primär auf die
Verschlüsselung der TCP/IP-Verbindung zwischen einem HTTP-Server
(Web-Server) und einem Web-Browser (z.B. Internet Explorer) gerichtet.
SSL wird aktiviert, wenn man "https:" statt "http:"
in der URL schreibt. Zur E-Mail-Verschlüsselung siehe aber auch
S/MIME...!
TLS (Transport Layer Security) is the new version of SSL (Secure
Sockets Layer) developed by Netscape and used by web servers and
web browsers to perform secure connections. Netscape wanted to give
change control of the protocol to the IETF standards group, but
did not want to give up the trademark for the name SSL, so the name
was changed in the standards group to "TLS".
Microsofts "internationale"
Version des Internet-Explorers unterstützt 40 Bit Verschlüssellungsstärke,
die "domestic" (sprich: US) Version 128 Bit. Die
SSL-Verschlüsselungssärke Ihres Internet-Browsers können Sie online
unter Fortify SSL check testen.
Ein 128-Bit-Security-Update nph-iefinal.exe findet man im
Internet, z.B. unter ftp.replay.com/pup/crypto/browser/128bit/MS-IExplorer-v40/nph-iefinal.exe
Die auf Windows installierten Cryptography Provider findet man im
Registry unter:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\Microsoft
Base Cryptographic Provider v1.0] "Image Path"="rsabase.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\Microsoft
Base DSS Cryptographic Provider] "Image Path"="dssbase.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\Microsoft
Base DSS and Diffie-Hellman Cryptographic Provider] "Image
Path"= "dssbase.dll" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\Microsoft
Enhanced Cryptographic Provider v1.0] "Image Path"="rsaenh.dll"
Um SSL zu nutzen, muss nicht nur
der Web-Browser sondern auch der Web-Server SSL-fähig sein. Beispielsweise
unterstützt Microsofts IIS (Internet Information Server) SSL,
während die für Win95/98 eingesetzen "Microsoft PWS 1.0a"
und "Microsoft Personal Web Server 4.0" (vom NT
4.0 Option Pack) das nicht können. O'Reilly
WebSite 2.3 ist ein WebServer, der SSL auf der Win95-Platform
unterstützt.
Zum Überprüfen, ob 40-Bit- oder
128-Bit-Verschlüsselung aktiv ist, Eigenschaften von "schannel.dll"
anzeigen lassen:
- 128 Bit: "TLS / SSL Security Provider (US and Canada
Use Only)"
- 40 Bit: "Export Version"
Zur Nutzung der SSL-Funktionalität
im Web-Server ist die Installation eines X.509- Server
-Zertifikats zwingend notwendig. Ein solches X.509-Server-Zertifikat
erhält man beispielsweise von www.verisign.com
kostenlos als 14-Tage-Test-Zertifikat. Dazu muss vom WebServer ein
sog. CSR (Certificate Signing Request) erzeugt werden. Bestandteil
des CSR ist der "Distinguished Name" des WebServers, d.h.
sein voll qualifizierter TCP/IP-Name (Beispiel: pc017hh1.gmo.de).
Aus dem CSR erzeugt die CA (hier: Verisign) dann das X.509-Server-Certifikat,
das dann im WebServer installiert werden muss. Nach dieser Prozedur
kann der WebServer nun SSL, was man durch Aufruf der URL (Beispiel
https://pc017hh1.kr8.de) im WebBrowser
erproben kann.
Weitere Stoffsammlung
X.509 integration, PHASE I
This is the first phase of PGP’s planned x.509 integration. The
capability will exist whereby users can import an x.509 certificate
into PGPkeys (the PGP key management application) and verify the
signature from a known signing authority (CA).
Example: x.509 certificates used for client-side authentication
of web SSL or TLS connections can be imported into PGPkeys and have
the signature verified.
|