PKI – CA / SubCA mit openssl - heinlein-support.de · 2 Inhalt Was ist eine PKI? Warum eine PKI...

Preview:

Citation preview

2007-07-02

Jan RösnerYour Title

jan@roesner.itwww.roesner.it

PKI – CA / SubCA mit opensslJan Rösner

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

Recommended