Upload
truongtuong
View
240
Download
7
Embed Size (px)
Citation preview
2
Inhalt
Was ist eine PKI?Warum eine PKI bauen?PKI mit openssl und OpenCACommon pitfallsRootCASubCASoftzertifikateSmartCard ZertifikateAusblick
3
Was ist eine PKI?
Public Key InfrastructureX.509v3 ZertifikateRSA Schlüssel 1024 Bit -> 2048 BitECC (elyptic curve cryptography)Hashalgorithmen SHA-1 -> SHA256TrustCenter -> CA (Certification Authority)SubCA -> CARegistrierungspunkt -> RA (Registration Authority)Signatur: Hashverschlüsselung mit Private KeyVerifikation: Hashentschlüsselung mit Public KeyZertifikatskette
4
X.509v3 Zertifikate
Version, Herausgeber
GültigkeitPublic Key
5
X.509v3 Zertifikate
Extensions
CDP'sSignatur
6
X.509v3 Zertifikate (Windows)
Allgemein
Schlüsselverwendung
DNAusstellerGültigkeit
7
X.509v3 Zertifikate (Windows)
Details
VersionGültigkeitDN / AusstellerPublic Key
8
X.509 Zertifikate (Windows)
Details
Extensions
9
RSA Schlüsselpaare
Heute 1024 BitAb 2008 2048 Bit (SigG)ECCRoot Zertifikate 4096 BitEndUser Zertifikate 1024 Bit
10
Hashalgorithmen
Sicherheit nicht beweisbarAktuell SHA-1Ab 2008 SHA-256 (SigG)Andere :
MD5 brokenRIPE-MDSHA-X
11
Trustcenter CA (Certification Authority)
OfflineUnterschied zu PGP : Wir vertrauen der Wurzel (Root)PGP : Web of TrustSelfsigned Root Certifikate Subject = IssuerHSM (Hardware Security Module)Aufgaben:
Authentifizierung von SubCA'sZertifikatsausgabe für SubCA'SRückruf von ZertifikatenSperrlistenausgabe (Certificate Revocation List CRL)
12
SubCA
OfflineCAMasterSubCA Zertifikat ausgestellt von RootCAbestimmter Verwendungszweck (Logon, Email ...)Betrieb einer oder mehrerer RA'sAufgaben:
Ausstellung von Zertifikaten (EndUser)Sperrung von Zertifikaten (EndUser)Ausgabe von Sperrlisten
13
RA (Registration Authority)
OnlineRAMasterseparation of dutyAufgaben:
Identitätsprüfung von NutzernAusgabe von ZertifikatenVeröffentlichung der (sub)CA Sperrlisten (http / ldap)
14
Signatur
Hashwertbildung über DokumentRSA Verschlüsselung des Hashesenc(Hash)+Zertifikat+Info = Signatur
15
Verifikation
Hashwertbildung über Dokument (Hash-I)Prüfung Zertifikat (Zertifikatskette, Sperrliste)Extraktion Public KeyEntschlüsselung enc(Hash) = Hash-IIHash Vergleich Hash-I == Hash-II?
16
Zertifikatskette
17
Warum eine PKI bauen?
Digitale SignaturVerschlüsselungAuthentifizierungZugangsschutz / Zeiterfassung
18
Digitale Signatur
Signatur von EmailsSignatur von DokumentenDigitale Archive (SigG)LangzeitarchivierungDigitaler Rechnungsausgang (SigG)Digitaler Posteingang (SigG)
19
Verschlüsselung
Verschlüsselung von EmailsVerschlüsselung von DokumentenVerschlüsselung von Partitionen transparent
EFSBitlocker
20
Authentifizierung
XDM, GDM, KDM Logon (Smartcard)Winlogon (Smartcard)OpenVPNSSL (serverseitig)Bidirektionales SSL (server,-clientseitig) Apache/IISPropriätere Softwarelösungen
21
Zugangsschutz / Zeiterfassung
Zuganskontrollsysteme (Zutritt E4NetKey)Zeiterfassung
22
PKI mit openssl und OpenCA
openssl (http://www.openssl.org)OpenCA (http://www.openca.org)Struktur
RootCA opensslSubCA OpenCARA OpenCALDAP OpenLDAP
23
openssl
Vollständige ImplementierungPKCS#11 Engine
SmartcardeinsatzHSM Einsatz
Deployment SupportVersion : 0.9.8e
24
OpenCA
Vollständige ImplementierungHSM UnterstützungCA / RA Konzept (separation of duty)Authentifizierungskonzept (X.509)common templatesLDAP AnbindungVersion 0.9.3 rc1LiveCD (pitfalls)
25
Struktur
openssl/SmartCard
OpenCA / CA
OpenCA/RA/LDAP
Linux / Windows ...
26
Common pitfalls
Fehlender Egoismus4 Augen PrinzipErzeugung von SchlüsselnDN's von RootCA,- SubCA-ZertifikatenFehlender CPSKeine Sperrlisten (CRL's)Falsche CDP'sKeine PfadlängeFehlende RedundanzRecovery AgentBackupIssuing CA mit SmartCardPKCS#15 Karten
27
Egoismus
Selbstschutz bei Erzeugung von SchlüsselnSelbstschutz bei Erzeugung von Zertifikatennonrepudiation (unabweisbar)Fusion
28
4 Augen Prinzip
RAMaster, CAMaster4 PersonenTeilung von PasswörternTeilung von realen Schlüsseln für CA Zugriff (Stahlschrank)
29
Erzeugung von Schlüsseln
Nutzung von openssl im RA OfficeErzeugung von PKCS#12 Containern für NutzerWer hatte Zugriff auf private Schlüssel?
30
Distinguished Names
CountryOrganizationCommon name
RICHTIG!
31
Distingueshed Names
Falsch!
●keine OU in Zertifikaten●kein Firmenname in Zertifikaten (Fusion, Egoismus)
32
Distingueshed Names
Class Angabe im Common NameClass 0 - Demozwecke, keine Auth. Class 01 - einfache Auth, EmailClass 02 - fortgeschrittene Auth, Nutzerident. Class 03 – full Auth, persönliches Erscheinen
33
Fehlender CPS
Certificate Practise Statement
Ausgleich zu fehlender Identität im DNRechtliche Absicherung
34
Keine Sperrlisten
Keine Verifikation möglichVerifikationsmodelle
Schalenmodell (shell model)Kettenmodell (chain model)
SigGCRL.issue.time > Signature.creation.time
35
Falsche CDP's
CRL Distribution Point (CDP)Modell der CDP's (User->SubCA->CA)Keine CDP's in Root ZertifikatenRedundanz durch http und ldapRedundanz durch VerteilungKein Company Name in URL's
36
Keine Pfadlänge (CPL)
Certificate Path Length (CPL)Basic Constraint CA:true, pathlen:n
Richtig!
37
Fehlende Redundanz
Sperrlistenabfrage just in timeHTTP schneller als LDAP, trotzdem beide nutzenReihenfolge von URI's in Zertifikaten
38
Recovery Agent
Beispiel verschlüsselte Email SoftzertifikateDateiverschlüsselung, Archive, PartitionenKündigungsgrund
39
Backup
PKI – was gehört ins Backup?Privater Schlüssel (SmartCard)Root ZertifikatEndUser ZertifikateOpenCA Backup ohne privaten SchlüsselMehrfach auf CD Schreiben, Stahlschrank
40
Issuing CA mit SmartCard
Zwischen 200k und 400k SignaturenKeine Garantie
41
PKCS#15 Karten
löschbarprivate Key ausserhalb der KartePKCS#12 Dateien notwendigVergleich Softzertifikate
42
RootCA
ScreenCastSmartCard -> privater SchlüsselPKCS#11, openssl, openscDateisystemstrukturRequest generierenSelfSigned Root Zertifikat
43
ScreenCast
Bau einer RootCA
44
SmartCard
T-TeleSec E4NetKeyEAL 3+ zertifiziertSigG konform, BSI zertifiziert1 x SigG Zertifikat (SigG)3 x Schlüsselpaar (NetKey)6 x Zertifikat (NetKey)Weitere Applikationen
45
Openssl, PKCS#11 engine, opensc
openssl 0.9.8eEngine PKCS#11 opensc.orgopensc-pkcs11.so InterfaceCCID DriverCCID CardReader (SCM SPR532, Cherry ST-2000)
46
Dateisystemstruktur
siehe Downloadsiehe ScreenCast 1Ablage ZertifikateSerialnumber auto incrementindexing database PflegeSubversion für Storage
47
Request generieren
Init
Request
PIN
data
48
SelfSigned Root Zertifikat
Init
Sign
PIN
49
SubCA
opensslOpenCA
50
openssl
Vorteil : einfache InstallationNachteile :
Keygenerierung für Nutzer schwierigopenssl am Arbeitsplatz notwendigVerteilung der ca.config
51
openssl
Request für eine SubCA
52
openssl
RootCA signiert Request
53
OpenCA
Vorteile:Vollständige ImplementierungTrennung RA / CA (Rollenkonzept)WebinterfaceLDAP Unterstützungxenroll.dll für Tokennutzung
Nachteile:schwierige InstallationKomplexe Handhabung
54
OpenCA
siehe ScreenCast'sOpenCA installierenRA / CA trennenCA initialisierenSubCA Request generieren Request exportierenRequest von RootCA signieren lassenSubCA Zertifikat importierenCAMaster, RAMaster Zertifikate ausgebenKonfigurieren, Templates erzeugenKonfiguration signieren
55
Softzertifikate
Windows certificate StoreThunderbird / Firefox interne Security EngineKeygenerierung am ArbeitsplatzNutzung von CSP (M$)Direkte Nutzung (OS)Vorteile:
backupfähig (PKCS#12)Nachteile:
unsicheres StorageKeylogger PIN
56
SmartCard Zertifikate
Fortgeschrittene Zertifikate (Email, Logon)SigG Zertifikate (unabweisbar)Vorteile:
sicheres Keystoragesichere Pineingabe (CCID)anderweitig nutzbarTokenverfahren
Nachteile:kein Backup privater SchlüsselVerlustBeschädigung
57
Ausblick
Elektronischer Personlausweis (epa)Elektronische Gesundheitskarte (egk)Elektronischer ReisepassVorbereitung digitale Signatur (SigG, fortgeschritten)
58
Ausblick
Vielfältige Nutzung:Workstation LogonWinlogonEmailsignatur,- verschlüsselungDateisignatur,- verschlüsselungVPNSSL unidirektionalSSL bidirektional (WebLogon)ArbeitszeiterfassungZutrittsbeschränkung
59
Literatur
Openssl Dokumentationhttp://www.openssl.org/docs/apps/openssl.html
OpenSC Dokumentationhttp://www.opensc-project.org/opensc/wiki/
OpenCA Dokumentationhttps://www.openca.org/projects/openca/docs.shtmlhttp://www.openca.info/docs/howto/OpenCA_092_on_debian_dartmouth.txt
CA-Handbuch des DFNftp://ftp.pca.dfn.de/pub/docs/PCA/DFN-PCA/handbuch/ca-hb.pdf