Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

OWASP Top 10: Cryptographic Failures

01. 01. 2024 1 min čtení intermediate

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ě’.

owaspsecuritykryptografie