PKI Public Key Infrustructure - ghdrako/doc_snipets GitHub Wiki

PKI https://github.com/piona/stacjait-pki

Podstawowe usługi ochrony informacji (security service)

  • integralność(integrity) - informacja nie została zmieniona
  • uwierzytelnienie(authentication) - wiemy z kim rozmawiamy - dowód osobisty
  • niezaprzeczalnosc(non-repudation) - brak mozliwosci wyparcia sie operacji
  • poufność(confidentality) - zabezpieczenie danych przed nieuprawnionym odczytem

Inne uslugi powiazane z bezpieczenstwem:autoryzacja(authorization) - sprawdzenie czy ma dostep do zasobow, dostepnosc (avaliability),rozliczalnosc(accoutablility),anonimowosc(anonymity),autentycznosc(autenticity),niezawodnosc(relability)

wiarygodny system (dependable system)

Integralnosc

np uszkodzi sie dysk - trzeba miec backup

Alice Bob, Malory(podsluchuje)

algorytmy funkcji skrotu - funkcje haszujaca kryptograficzna funkcja skrotu odporna na kolizji

Uwierzytelnienie

  • Cechy imię,nazwisko,pesel i udowodnienie ze sa takie za które się podaje - proces weryfikacji tożsamości - poprzez proces identyfikacji. Identyfikacja z twarzy lub odciska palca. Potrzebny d
  • podpisy cyfrowe
  • hasla
  • kody uwiezytalniojace

Niezaprzeczalnosc

  • Zaufana strona trzecia (notariusz)
  • podpis cyfrowy
  • znacznik czasowy
  • usluga kosztowna bo trzeba zaplacic stronie trzeciej

Poufność

  • list pakujemy w kopertę
  • algorytmy szyfrujące

A----------------------->B | | | | E M

Bezpieczny kanal do wymiany klucza. Klucz byl krotszy niz informacja.

w symetrycznych wszystkie klucze sa prawidlowe w asymetrycznych nie wszystkie

/dev/random - zbierane dane ze srodowiska - dobra entropia - ja czesto klikamy,

Tryby ECB - kazdy blok

algorytm DH problem logarytmu dyskretnego

Funkcje skrutu

sha1 zlaman, uzywac sha2 sha256 sha3

integralnosc ale brak uwiezytelnienia - nie wiemy kto wygenerowal skrót

kody uwiezytalniajace wiadomos - uzaleznienie skrotu od jakiegos klucza - ktory wymienimy DiffiHellmanem

zlozonosc funkcji skrotu to polowa ikosci bitow np sha256 sila 128

Uwiezytelnienie

uwiezytelnie silne - pod spodem kryptografie uwiezytelnienie wieloskladnikowe - nie oznacza silne haslo i sms, glos + lokalizacja

Atak na kod blik - chca wyciagnac kod blik lokalizacja telefonu w innym miejscu niz bankomat gdzie chemy uzyc kodu blik

MAC - uwiezytelnienie wiadomosaci HMAC

w HMAC klucz moze byc dowolnej dlugosci ale powinien byc co najmniej 128 - klucz trzeba wspolnie ustalic np DH zalecana funkcja skrotu sha2 czyli sha256 sha384

Kazda wiadomosc musi byc zabezpieczona hmac

Nie ma jeszcze niezaprzeczalnosci

mac -kod uwiezytelniajacy wiadomosc

uwiezytelnienie zalezy od klucza semytrecznego

DH tez trzeba uwiezytelnic - potrzebny podpis cyfrowy

Problem z hashem miedzy java a C bo C konczy string zerem

nie uzywac klucza w roznych konekstach - derywacja klucza Czy najpierw szyfrowac a potem liczyc mac-a czy odwrotnie

Uwiezytelnianie i szyfrowanie

sa gotowe tryby szyfrowania z uwiezytelnieniem - jest zrobione dobrze nie trzeba wymyslac

tryby AE albo AEAD (z danymi dodatkowymi)

Tryb GCM w AES - dodatkowa dana 96 bit jest jawna ale dla kazdego klucza musi byc inna - szyfrowanie z uwiezytelnianiem

Podpis cyfrowy dla DH-a

W ECDSA do podpisu jest niuans gdzie uzywana jest liczba losowa RSA podpisywania

ASN.1 metoda kodowania dfanych by aplikacje mogly sparowac dane

ECDSA jak wybiezemy krzywa 384 to sha 384 - dobra praktyka

wersja deterministyczna bez liczby losowej

RSA do podpisu kluczy Klucze DH efemeralne i AES GCS do szyfrowania i uwiezytelniania W tym modelu potrzebne jest tylko uwiezytelniewnie kluczy RSA - kluczami publicznymi

Te kluczy RSA podpiszmy jednym wyzszym poziome - zaufana strona 3 - centrum certyfikacji

Tak dziala SSL/TLS

Kanal zielony bezpieczny jest potrzebny tylko raz - komunikacje z centrum certyfikacji

PKI - daje nam jeden punkt zaufania

Trust store trust anchor - klucze publiczne ktore wiezymy z definicji

Zaufana strona łaczy klucz z tozsamoscia - twozy domene bezpieczenstwa

CRS dokument zadanie podpisania kluczy - udawadnia ze jest wlascicielem pary kluczy - podpisal swoim kluczem prywatnym i klucz publiczny

Dowud ze jestesmy wlascicielem domeny np wystawic plik w tej domenie

PKCS #10 - dokument opisujacy CSR

CN - common name nazwa pospolita podmiotu - nazwa wyrozniajaca

Odciski - wyliczane przez firefox

Na linux popularne PKI EJBCA