Přeskočit na obsah
_CORE
Know-How

OWASP Top 10: Cryptographic Failures

7 min čtení
OWASPSecurityKryptografie

Dříve známé jako Sensitive Data Exposure. Špatná kryptografie znamená úniky hesel, platebních údajů a osobních dat.

Nejčastější chyby

  • Ukládání hesel v plaintextu nebo s MD5/SHA1
  • Použití HTTP místo HTTPS
  • Hardcodované šifrovací klíče v kódu
  • Slabé algoritmy (DES, RC4, SHA1 pro podpisy)
  • Nedostatečná délka klíčů (RSA < 2048 bit)

Správné hashování hesel

import bcrypt password = b"tajne_heslo" hashed = bcrypt.hashpw(password, bcrypt.gensalt(rounds=12)) bcrypt.checkpw(password, hashed) # True # Argon2 (doporučeno OWASP) from argon2 import PasswordHasher ph = PasswordHasher(time_cost=3, memory_cost=65536, parallelism=4) hash = ph.hash("tajne_heslo") ph.verify(hash, "tajne_heslo")

Šifrování dat — AES-256-GCM

from cryptography.hazmat.primitives.ciphers.aead import AESGCM import os key = os.urandom(32) # 256-bit klíč nonce = os.urandom(12) aesgcm = AESGCM(key) ct = aesgcm.encrypt(nonce, b"citliva data", b"aad") pt = aesgcm.decrypt(nonce, ct, b"aad")

Checklist

  1. Klasifikujte data podle citlivosti
  2. Šifrujte vše citlivé at rest i in transit
  3. Používejte AES-256, RSA-2048+, SHA-256+
  4. Hesla hashujte s Argon2id nebo bcrypt
  5. Klíče ukládejte v key vault (Azure KV, AWS KMS, Vault)
  6. Pravidelně rotujte klíče
  7. Vynutte HTTPS s HSTS hlavičkou

Klíčový takeaway

Šifrujte vše citlivé, používejte moderní algoritmy a nikdy neukládejte klíče v kódu. Kryptografie je obor, kde 'skoro správně' znamená 'úplně špatně'.

CORE SYSTEMS tým

Praktické know-how z reálných projektů. Bez buzzwordů, s kódem.