افتضاح بزرگ eMudhra و خداحافظی با دنیای TLS بعد از گندکاری امنیتی!

تا حالا شده کلید واشر ماشین لباسشوییتون رو با کلید خونه اشتباه بگیرید؟ حالا فکر کنید شرکت بزرگ eMudhra که کارش صدور گواهیهای امنیتی بود، کلید خصوصی TLS رو جوری گند زده بهش که سازندگان مرورگرها سریعاً ریختن سرشون و بساطشون رو جمع کردن! این شرکت رسماً اعلام کرده که دیگه بیخیال بیینس وب و گواهیهای TLS میشه. اگه نمیدونی TLS چیه، فرض کن مثل کارت شناسایی معتبریه که سایتها به مرورگرت نشون میدن تا بفهمی طرف کیه و هک نشی.
ماجرا از اون جایی آب میخوره که شرکت تو یک رویداد ساخت کلید (Key Generation Ceremony یا همون KGC) به جای استفاده درست از سختافزارهای فوقامن (HSM)، گند میزنه به اسکریپتها و کلیدهای ضعیف تولید میکنه. یعنی طرف تو بالاترین سطح امنیتی FIPS 140-2 Level 3 نشسته، ولی با یک خطای عجیب، کلیدهای فاقد اعتبار تولید و متأسفانه صادر شدن روی مرورگرها!
توضیحات نصفهنیمه شرکت و دردسرهای سختافزاری
روز چهارشنبه، شرکت eMudhra یک توضیح مضحک و مختصر داد: «گواهیها زیر ریشه ECC ما در تاریخ ۳۰ آوریل ۲۰۲۵ ساخته شدن.» توی این مراسم تولید کلید یا همون KGC، یک باگ مسخره باعث میشه دو دسته کلید تولید بشه؛ دسته اول قوی و درست، دسته دوم ضعیف و زپرتی! متأسفانه همون کلیدهای ضعیف میرن توی Repository مرورگرها و کار دست همه میدن.
دستگاههای HSM در واقع گاوصندوقهای سختافزاری فوقالعاده امنی هستن که کارشون نگهداری از کلیدهای رمزنگاریه. پروسه انتقال کلید بین این دستگاهها با اصطلاحاتی مثل Wrap و Unwrap شناخته میشه. اما داستان وقتی خراب میشه که اسکریپت اجرا شده توی اون روز مشخص، شبیه یک کد معیوب عمل میکنه.
توی فروم Bugzilla متعلق به موزیلا، تیم eMudhra جزئیات بیشتری رو لو داد و گفت: «یک باگ توی اسکریپت KGC باعث شد علاوه بر کلیدهای اصلی ECC، یک جفت کلید ضعیف دیگه هم تولید بشه. متأسفانه به خاطر شباهت برچسبها (Labels)، کلیدهای ضعیف اشتباهی برای ساخت CSR انتخاب شدن و ریشهمون اونا رو امضا کرد!»
حتی این CSRهای معیوب برای امضای متقابل (Cross Signing) فرستاده شده بودن واسه شرکت Sectigo که خودشون هم یک Certificate Authority دیگه هستن.
خلاصهاش اینه که بچهبازی توی کدهای KGC و اشتباه گرفتن Labelها، کاری کرد که یکی از مهرههای دنیای گواهیهای امنیتی برای همیشه قید این بازار رو بزنه و دمش رو بذاره رو کولش!





