Curs 2 - Criptografie și Managementul Identității în Securitatea Informației

În acest curs vom explora conceptele fundamentale ale criptografiei moderne și gestionării identității și accesului, utilizate pentru protejarea informațiilor și autentificarea securizată.

1. Introducere în Criptografie

Criptografia este utilizată pentru protecția informațiilor împotriva accesului neautorizat.

- Criptografie simetrică: Aceeași cheie este folosită pentru criptare și decriptare (ex: AES).

- Criptografie asimetrică: Se folosesc chei diferite pentru criptare și decriptare (ex: RSA, ECC).

- Exemple de algoritmi criptografici:

- AES (Advanced Encryption Standard): Cel mai utilizat algoritm pentru criptare simetrică.

- RSA (Rivest-Shamir-Adleman): Algoritm asimetric utilizat pentru semnături digitale.

- ECC (Elliptic Curve Cryptography): Oferă securitate ridicată cu chei mai mici.

2. Hashing și Integritatea Datelor

Algoritmii de hashing sunt folosiți pentru a proteja integritatea datelor.

- SHA-256: Algoritm securizat utilizat pentru stocarea parolelor și blockchain.

- MD5: Considerat nesigur pentru criptografie din cauza coliziunilor.

- Bcrypt: Utilizat pentru hashing-ul parolelor, include un salt pentru a preveni atacurile brute-force.

- HMAC (Hash-based Message Authentication Code): Verifică integritatea mesajelor.

3. Certificate Digitale și PKI

Certificatele digitale sunt utilizate pentru a asigura comunicațiile securizate pe internet.

- SSL/TLS: Asigură criptarea traficului între client și server.

- PKI (Public Key Infrastructure): Sistem de gestionare a certificatelor digitale.

- Autorități de certificare (CA): Organizații care emit certificate digitale valide.

- Verificarea unui certificat digital:

openssl x509 -in certificat.crt -text -noout

4. Managementul Identității și Accesului (IAM)

IAM permite controlul accesului la resurse digitale.

- Single Sign-On (SSO): Permite autentificarea unică pe mai multe aplicații.

- Multi-Factor Authentication (MFA): Adaugă un nivel suplimentar de securitate (ex: SMS, token, biometric).

- OAuth 2.0 și OpenID Connect: Protocoale pentru autentificare securizată.

- JSON Web Tokens (JWT): Format securizat pentru transmiterea informațiilor de autentificare.

5. Exemplu Practic - Criptare și Semnături Digitale

a) Criptarea unui fișier cu AES

from Crypto.Cipher import AES
import os

key = os.urandom(16)
cipher = AES.new(key, AES.MODE_EAX)
ciphertext, tag = cipher.encrypt_and_digest(b'Mesaj secret')
print(ciphertext)

b) Verificarea integrității unui mesaj cu SHA-256

import hashlib
mesaj = b'Text important'
hash_object = hashlib.sha256(mesaj)
print(hash_object.hexdigest())

c) Generarea unui certificat digital self-signed

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365

Resurse suplimentare: