Nyilvános kulcsú infrastruktúra (PKI) a
gyakorlatban

Pfeiffer Szilárd

Security Researcher & Evangelist

Public Key Infrastructure

Fenyegetések

  • Nyilvános kulcsú infrastruktúra

    • elméleti hibák

    • konfigurációs hibák

    • teljesítmény problémák

    • politikai tényezők

Fenyegetések

  • Szerver szoftverek

    • implementációs hiányosságok
    • konfigurációs hibák
  • Kliens szoftverek

    • implementációs nehézségek

Bob

Craig, Eve, Mallory, Sybil, Trudy, ...

Alice

Szimmetrikus
kulcsú algoritmusok

Hash algoritmusok

#

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

a8ae2f4a56baf78845c041c833946d00

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua

Aszimmetrikus kulcsú algoritmusok

Digitális aláírás

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

a8ae2f4a56baf78845c041c833946d00

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

WoT vs. PKI

Kibocsátók
Kortlátozása

  • Certificate Transparency (CT)

  • DNS Certification Authority Authorization (CAA)

  • DNS-based Authentication of Named Entities (DANE)

Kibocsátói
Kompromittációk

  • Thawte ('08)
  • StartCom ('08, '16)
  • Comodo ('08, '11, '16)
  • DigiNotar ('11)
  • TurkTrust ('11)
  • NICCA ('14)
  • CNNIC ('15)
  • WoSign ('15)
  • Let's Encrypt ('15)
  • Symantec ('15, '17)
  • GoDaddy ('18)
  • Certinomis ('18)

Certificate Transparency

  • napló
  • transzparens
  • csak hozzáfűzni lehet
  • kriptográfiailag biztosított
  • reprodukálható
  • monitorozható és auditálható

CA Authorization

Éretsítés

Korlátozás

0 issue "ca.example.net"
0 issuewild "ca.example.net"
0 iodef "mailto:security@example.com"
0 iodef "http://iodef.example.com/"

DANE

Jelentés

Korlátozás

_25._tcp.mail.example.com. IN TLSA
2 0 1( E8B54E0B4BAA815B06D3462D65FBC7C0 CF556ECCF9F5303EBFBB77D022F834C0 )
  1. certificate usage
  2. selector field
  3. matching type
  4. certificate association data

DNSSEC

Működés

257 3 13 mdsswUyr3DPW132mOi8V9xESWE8jTo0dxCjjnopKl+GqJxpVXckHAeF+ KkxLbxILfDLUT0rAK9iUzy1L53eKGQ==

Elemek

  • DNSKEY
  • RRSIG

Visszavonás Ellenőrzés

  • Certificate Revocation List (CRL)

  • Online Certificate Status Protocol (OCSP)

    • Responders

    • Stapling

  • Tanúsítvány érvényességi időtartam

Revocation Check

Location

CRL

Access

Size

OCSP

Privacy

OCSP Stapling

Full Chain

OCSP Multi Stapling

?

Support

OCSP Stapling

HTTP fejlécek

  • Public Key Pinning
  • Expect CT
  • Expect Staple

HTTP Public Key Pinning

setenv.add-response-header=("Public-Key-Pins"=>"Value")

Lighttpd

add_header Public-Key-Pins 'Value' always;

Nginx

Header always set Public-Key-Pins "Value"

Apache

pin-sha256="GRAH5Ex+kB4cCQi5gMU82urf...";
report-uri="https://example.com/report/hpkp";
max-age=15768000;
includeSubDomains

Expect Staple

setenv.add-response-header=("Expect-Staple"=>"Value")

Lighttpd

add_header Expect-Staple 'Value' always;

Nginx

Header always set Expect-Staple "Value"

Apache

max-age=31536000;
report-uri="https://example.com/report/staple";
includeSubDomains;
preload

Expect CT

setenv.add-response-header=("Expect-Staple"=>"Value")

Lighttpd

add_header Expect-Staple 'Value' always;

Nginx

Header always set Expect-Staple "Value"

Apache

max-age=31536000;
report-uri="https://example.com/report/staple";
enforce

Megoldások

  • Configuration

    • Updates

      • Snippet

      • Generators

    • Checkers

      • Online

      • Offline

  • TLS offloaders

TLS protocols

ssl.use-sslv2 = "disable"
...

Lighttpd

ssl_protocols TLSv1.2 TLSv1.3;

Nginx

SSLProtocol +TLSv1.2 +TLSv1.3

Apache

!TLSv1.1 !TLSv1.0 !TLSv1 !SSLv2 !SSLv3

Cipher Suites

ssl.cipher-list = "CipherSuiteString"

Lighttpd

ssl_ciphers CipherSuiteString

Nginx

SSLCipherSuite CipherSuiteString

Apache

HIGH:!PSK:!SRP:!aNULL:!aDSS:!kRSA:!ARIA:!CAMELLIA:!SHA:!AESCCM

Cipher Preference

honor-cipher-order = "enable"

Lighttpd

ssl_prefer_server_ciphers On;

Nginx

SSLHonorCipherOrder On

Apache

Always On

OCSP Stapling

-

Lighttpd

ssl_stapling on;

Nginx

SSLUseStapling on

Apache

Should Be On

Online eszközök

Offline eszközök

Generátorok

TLS offloaderek

Questions?

Nyilvános kulcsú infrastruktúra a gyakorlatban - Óbudai Egyetem

By Szilárd Pfeiffer

Nyilvános kulcsú infrastruktúra a gyakorlatban - Óbudai Egyetem

  • 517