CAآیا میدانید هنوز Backdoor های بزرگ رمزنگاری در اینترنت وجود دارند که بیشتر افراد درباره‌ی آن اطلاعی ندارند؟

صحبت درباره‌ی سیستم مدیریت گواهی دیجیتال سنتی است… پیوندی که کاملاً بر مبنای اعتماد بناشده و تا کنون چندین بار شکسته شده است.

میلیاردها کاربر اینترنت برای اطمینان از محرمانگی و صحت اطلاعات شخصی خود به‌طور کورکورانه به صدها مرکز صدور گواهی (CA) در سراسر دنیا تکیه می‌کنند.

در این مقاله به توضیح موارد زیر پرداخته می‌شود:

  • نقیصه ساختاری در سیستم مدیریت گواهی دیجیتال موجود.
  • چرا مراکز صدور گواهی(CA) اعتماد را ازدست‌داده‌اند.
  • چگونه “شفافیت گواهی”(۱) (CT) مشکلات سیستم گواهی SSL را رفع می‌کند.
  • چگونه می‌توان سریعاً به این پی برد که گواهی SSL دامنه‌ی شما مشروع است یا تقلبی؟

در ابتدا باید مرکز صدور گواهی و نقش آن را بشناسید:

مرکز صدور گواهی و نقش آن

Rogue-SSL-Certificate-Authority

یک مرکز صدور گواهی، یک سازمان ثالث است که به‌عنوان یک شخص مرکزی مورد اعتماد، گواهی‌های SSL/TLS دیجیتال را صادر و ارزیابی می‌کند.

صدها نمونه از این سازمان‌های مورد اعتماد وجود دارد که قدرت صدور گواهی SSL معتبر برای هر دامنه‌ای که شما دارید را دارند، این عمل، بدون توجه به این‌که شما قبلاً یک گواهی را از یک CA دیگر خریده باشید انجام می‌شود.

… و این مسئله، بزرگ‌ترین سوراخ سیستم CA است.

زنجیره‌ی اعتماد SSL شکسته است!

سال گذشته، گوگل متوجه شد که Symantec (یکی از CA ها) ظاهراً به‌اشتباه، یک گواهی تکراری google.com را برای فرد دیگری صادر کرده است.

این اولین باری نبود که از قدرت CA سوءاستفاده ‌شده ‌یا به‌اشتباه  گواهی دیجیتال جعلی صادر می شود که حریم خصوصی میلیون‌ها کاربر اینترنت را درخطر قرار می‌دهد.

در مارس ۲۰۱۱ Comodo، یک مرکز صدور گواهی معروف، هک شده و گواهی‌های تقلبی برای دامنه‌های معروف شامل mail.google.com, addons.mozilla.com ,login.yahoo.com صادرشده بود.

در همان سال، مرکز صدور گواهی آلمانی یعنی DigiNotar نیز مورد نفوذ واقع‌شده و تعداد زیادی گواهی جعلی صادرشده بود.

ازآنجایی‌که زنجیره‌ی اعتماد شکسته شده بود، میلیون‌ها کاربر هدف حمله‌ی man-in-the-middle قرارگرفته بودند.

علاوه بر این، مستنداتی که توسط Edward Snowden فاش شده بود، نشان می‌داد که NSA-National Security Agency تعداد بسیار زیادی از نشست‌های وب رمز شده‌ی HTTPS را شنود کرده و شکسته است که این مسئله نشانگر این است که بعضی از CA های به‌اصطلاح مورد اعتماد، مشکوک به فعالیت تحت کنترل حکومت‌ها هستند.

اگر حکومت‌ها از این مراکز صدور گواهی بد مورد اعتماد بخواهند که یک گواهی SSL تکراری برای وب‌سایت‌های معروفی مثل Facebook, Google, Yahoo صادر کنند چه می‌شود؟

این فقط یک حدس و گمان نیست، این اتفاق درگذشته افتاده است، زمانی که سازمان‌ها و هکرهای تحت حمایت دولت‌ها از CA های مورد اعتماد سوءاستفاده کرده‌اند و گواهی‌های دیجیتال تقلبی برای دامنه‌های معروف ساخته‌اند تا از کاربران آن‌ها جاسوسی کنند.

نمونه‌هایی از اتفاقاتی که حکومت‌ها در آن‌ها حضورداشته‌اند

  1. در سال ۲۰۱۱، گواهی‌های دیجیتال تقلبی صادرشده توسط DigiNotar مورد استفاده قرارگرفته‌اند تا حساب‌های Gmail حدود ۳۰۰۰۰۰ کاربر ایرانی شوند.
  2. در اواخر سال ۲۰۱۳، Google متوجه شد  حکومت فرانسه از گواهی‌های دیجیتال تقلبی دامنه‌های آن، برای انجام حملات man-in-the-middle استفاده می کند.
    Fake Google SSL Certificates - Made in France
  3. در اواسط سال ۲۰۱۴، Google یک اتفاق دیگر را شناسایی کرد: مرکز انفورماتیک ملی هند از گواهی‌های دیجیتال غیرمجاز برای برخی دامنه‌های Google استفاده می‌کرد.

در اینجا می‌توانید ببینید که نفوذ به امنیت وب‌سایت‌های HTTPS که توسط CA های درستکار محافظت می‌شوند چقدر آسان است.

آیا همچنان کورکورانه به سازمان‌های CA اعتماد می‌کنید؟

حوادث DigiNotar و Comodo یک بیدارباش است که عصر اعتماد کورکورانه به CA ها برای صدور گواهی دیجیتال را پایان می‌دهد.

مسئله: شما چگونه قرار است که بررسی کنید که آیا یک گواهی جعلی برای دامنه شما برای شخص دیگری، احتمالاً یک مهاجم، صادرشده ‌یا نه؟

راه‌حل: شفافیت گواهی یا Certificate Transparency یک سرویس عمومی که به افراد و شرکت‌ها اجازه می‌دهد که مطلع شوند که چه تعداد گواهی امنیتی دیجیتال برای دامنه‌های آن‌ها صادرشده است.

در سال ۲۰۱۳، Google یک طرح را آغاز کرد که “شفافیت گواهی” نام دارد، یک چارچوب باز برای لاگ کردن، ممیزی و نظارت بر گواهی‌هایی که CA ها صادر کرده‌اند.

سیستم شفافیت گواهی چیست؟

what-is-certificate-transparency

چارچوب شفافیت گواهی شامل موارد زیر است:

  • لاگ های گواهی(۲)
  • ناظرهای گواهی(۳)
  • ممیزی‌های گواهی(۴)

شفافیت گواهی،CA ها را ملزم می‌کند که هر گواهی دیجیتالی را که تولید می‌کنند (به لاگ گواهی) اعلان کنند.

لاگ گواهی به کاربران یک‌راه برای جستجوی همه‌ی گواهی‌های دیجیتالی که برای یک نام دامنه صادرشده‌اند عرضه می‌کند.

شایان ذکر است که مدل شفافیت گواهی، جایگزین روال تصدیق اصالت سنتی بر مبنای CA نمی‌شود و تنها یک‌راه برای این است که بررسی کنید گواهی شما یکتاست.

لاگ گواهی سه خصوصیت دارد:

  1. فقط افزودنی: رکوردهای گواهی‌ها می‌توانند به لاگ فقط اضافه شوند و نمی‌توانند پاک شوند، تغییر داده شوند، یا به تاریخ قدیمی وارد لاگ شوند.
  2. اطمینان رمزنگارانه: لاگ های گواهی از یک سازوکار رمزنگارانه که با عنوان “Merkle Tree Hashes” شناخته می‌شود استفاده می‌کنند تا از دست‌کاری جلوگیری کنند.
  3. ممیزی عمومی: هرکسی می‌تواند از یک لاگ پرس‌وجو بگیرد و عملکرد آن را بررسی کند و یا بررسی کند که آیا یک گواهی SSL به‌صورت مشروع به لاگ اضافه‌شده ‌یا نه.

در CT، گواهی دیجیتال حاوی یک برچسب زمانی امضای گواهی (SCT) است؛ که اثبات می‌کند که پیش از صدور، در لاگ ثبت‌شده است.

Google, DigiCert, Symantec و چند CA دیگر هم‌اکنون از لاگ های عمومی میزبانی می‌کنند.

Facebook-Certificate-Transparency-Monitoring-Service

اگرچه CT از صدور گواهی‌های تقلبی توسط CA جلوگیری نمی‌کند، اما فرایند تشخیص آن‌ها را بسیار آسان‌تر می‌کند.

این شفافیت، قابلیت شناسایی سریع گواهی‌های دیجیتالی که به‌صورت اشتباهی یا موذیانه صادرشده‌اند را عرضه می‌کند و کمک می‌کند تا نگرانی‌های امنیتی همچون حمله‌ی man-in-the-middle را کاهش یابد.

ابزار جستجوی شفافیت گواهی

Comodo یک ابزار جستجوی شفافیت گواهی را ایجاد کرده که همه‌ی گواهی‌های صادرشده برای یک نام دامنه را مشخص می‌کند.

و یا می‌توانید از ابزار جستجوی شفافیت گواهی Google استفاده کنید تا همه‌ی گواهی‌های موجود در لاگ های شفافیت گواهی عمومی که برای یک نام صادرشده‌اند را نمایش می‌دهد.

منبع

http://thehackernews.com/2016/04/ssl-certificate-transparency.html


(۱) Certificate Transparency
(۲) Certificate Logs
(۳) Certificate Monitors
(۴) Certificate Auditors