A04:2025 — Cryptographic Failures؛ وقتی رمزنگاری غلط از نبود رمزنگاری بدتر است
از الگوریتمهای هش ضعیف تا کلیدهای رمزنگاری هاردکدشده در کد — تحلیل رایجترین اشتباهات رمزنگاری.
Cryptographic Failures به هر جایی اشاره دارد که دادهی حساس باید محافظتشده باشد اما یا اصلاً رمزنگاری نشده، یا با الگوریتم/روشی ضعیف رمزنگاری شده است — MD5/SHA1 برای هش رمز عبور (بهجای bcrypt/argon2)، کلیدهای رمزنگاری هاردکد در سورسکد، یا استفاده از HTTP بهجای HTTPS برای دادهی حساس.
چرا «رمزنگاری» بهتنهایی کافی نیست
بسیاری تیمها فکر میکنند چون داده را «رمزنگاری کردهاند» ایمن است، در حالی که الگوریتم انتخابی (مثل ECB mode یا یک IV ثابت) ممکن است بهراحتی شکسته شود.
اصول عملی
- هش رمز عبور همیشه با bcrypt/argon2/scrypt، هرگز MD5/SHA1 خام
- HTTPS اجباری برای تمام ترافیک، نه فقط صفحهی لاگین
- کلیدهای رمزنگاری در secret manager، نه در سورسکد