Sunteți pe pagina 1din 18

Criptarea cu cheie publică

Principii. Exemple
Criptarea cu cheie publică

• Criptografia asimetrică se mai numește criptografie cu chei publice;


• fiecare entitate își generează două chei: o cheie privată și o cheie
publică asociată;
• tot ceea ce se criptează cu cheia publică se poate decripta folosind
cheia privată și invers;
• Dezavantajul criptării cu cheie publică: este lentă;
• Avantajul: distribuția cheii.
Fig. 1. Criptografia cu cheie publică
Criptografia asimetrică
• Confidențialitate datelor
• Semnătura digitală
• Infrastructură de chei publice (PKI)
• Construire lanț de încredere (PKI)
• Certificate digitale
Fig. 2 PKI – Lanțul de încredere
Exemplu de Infrastructură
cu Chei Publice (PKI)
DEMO
Configurarea unui Root CA
cu OpenSSL
Linux
1. Creare structură directoare pentru RootCA în sistem;
2. Creare cheie privată pentru CA;
3. Crearea certificatului pentru CA;
4. Adăugarea certificatului generat în lanțul de încredere pe
sistem;
5. Generarea unui certificat pentru server web;
6. Semnarea certificatului pentru serverul web.
1. Creare structură directoare
pentru RootCA în sistem

# mkdir /root/CA
# cd CA
# mkdir certs crl newcerts private requests
# chmod 700 private
# touch index.txt
# echo '1000' > serial
2. Creare cheie privată
pentru CA

# openssl genrsa -verbose -aes256 –out


private/DEMOcakey.pem 4096
is 65537 (0x010001)
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

# chmod 400 private/DEMOca.key.pem


3. Crearea certificatului
pentru CA

# openssl req -x509 -new -nodes -key private/DEMOcakey.pem -sha256 -days 1826 –out certs/DEMOca.cert.pem
Vizualizare conținut
certificat

# openssl x509 -noout -text -in /root/CA/certs/DEMOca.cert.pem


4. Adăugarea certificatului generat în
lanțul de încredere pe sistem

Pentru Windows, se instaleaza în Trusted Root Certificate Authorities”


(comanda certmgr.msc din cmd).

sudo apt install -y ca-certificates


sudo cp DEMO.crt /usr/local/share/ca-certificates
sudo update-ca-certificates

# cp /root/CA/certs/DEMOca.cert.pem /usr/local/share/ca-certificates
5. Generarea unui certificat
pentru server web
# openssl req -new -nodes -out DEMO_WEB.csr -newkey rsa:4096 -keyout DEMO_WEB.key –subj
'/CN=My_web_server/C=AT/ST=BUC/L=BUC/O=DEMO'
6. Semnarea certificatului
pentru serverul web.
# openssl x509 -req -in DEMO_WEB.csr -CA certs/DEMOca.cert.pem -CAkey private/DEMOcakey.pem -CAcreateserial
-out DEMO_WEB.crt -days 1265 -sha256

-> Observăm certificatul generat:


# openssl x509 -noout -text -in DEMO_WEB.crt
Certificatul generat
Concluzii algoritmi criptografici:

• La bază stau sistemele asimetrice;


• Fiecare dintre cele două părți comunicante dispune de o
cheie publică și una privată
• Ele se generează astfel încât să se afle într-o anumită
relație matematică;
• Utilizând sisteme criptografice asimetrice, cheia privată se
folosește pentru a semna mesaje, iar cheia publică pentru
a verifica semnătura;
• Cheia publică poate fi plasată pe orice server, însă cea
privată trebuie păstrată într-un loc sigur;
• Cheia publică se poate deduce din cea privată, dar nu și
invers.
Bibliografie:
1. Network Security: Private Communications in a Public World, 3rd Edition, Charlie
Kaufman, Radia Perlman, Mike Speciner, Ray Perlner, September 2022, PUBLISHED BY:
Addison-Wesley Professional
2. PKI Implementation and Infrastructures, Julian Ashbourn, March 2023
3. Asymmetric Cryptography, David Pointcheval, January 2023, PUBLISHED BY: Wiley-
ISTE
4. https://arminreiter.com/2022/01/create-your-own-certificate-authority-ca-using-openssl/
5. https://deliciousbrains.com/ssl-certificate-authority-for-local-https-development/
6. NIST Special Publication 800-32: “Introduction to Public Key Technology and the
Federal PKI Infrastructure”: URL:
https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-32.pdf
7. Arjun Comar, December 5, 2016, URL: https://www.coveros.com/designing-a-certificate-
authority-for-your-organization/

S-ar putea să vă placă și