۱۳۹۰ شهریور ۸, سه‌شنبه

Certificate هاچیستند؟

بحث گواهی‌های جعلی اینترنتی این روزها داغ است! اگر می‌خواهید به زبان ساده و در چند پاراگراف بفهمید که گواهی‌های اینترنتی (Certificate) چه هستند و چگونه امنیت کاربران را برقرار می‌کنند و چگونه از آنها سواستفاده می‌شود ادامه‌ی این مطلب را بخوانید.

HTTPS چیست؟
برای فهمیدن Certificate، ابتدا باید مختصری با HTTPS آشنا باشید: حتما دقت کرده‌اید که گاهی اوقات آدرس‌های اینترنتی با http و گاهی اوقات با https شروع می‌شود. پروتکل https، برخلاف http، با استفاده از مکانیزمی اطلاعات رد و بدل شده بین شما و وب‌سایت مورد نظر را رمز می‌کند و اجازه نمی‌دهد کسی روی این اطلاعات شنود کند.

پروتکل https را به مانند یک صندوقچه‌ی قفل‌دار در نظر بگیرید. وب‌سایت مورد نظر، مثلا گوگل، به هر کاربری صندوق و قفلی متمایز می‌دهد که فقط گوگل و کاربر، کلید آن صندوق را دارند. وقتی مرورگر شما می‌خواهد اطلاعاتی را به جیمیل بفرستد (مثلا Username و Password که در هنگام لاگین وارد می‌کنید)، مرورگر صندوق را از گوگل می‌گیرد، این اطلاعات را در صندوق می‌گذارد و آن را قفل می‌کند و به گوگل می‌فرستد. همچنین گوگل لیست ایمیل‌هایتان و متن آنها را در این صندوق گذاشته و قفل می‌کند و به شما می‌فرستد. از آنجا که کلید صندوق فقط نزد شما و گوگل است، هیچ کس جز شما و گوگل هم نمی‌تواند این اطلاعات را بخواند.

نقش Certificate چیست؟
بگذارید یک سناریو را بررسی کنیم: فرض کنید یک هکر خودش را جای گوگل جا بزند، سپس صندوق قفل‌دار جعلی «خودش» را برایتان بفرستد. مرورگر شما که فکر می‌کند آقای هکر، همان گوگل است و صندوق هم صندوق گوگل است، اطلاعات را در این صندوق می‌فرستد، ولی هکر که کلید صندوق خودش را دارد، می‌تواند اطلاعات را بخواند و مثلا پسورد شما را بفهمد!

حتی سناریو می‌تواند پیچیده‌تر هم شود: هکر می‌تواند همین اطلاعاتی که از شما دزدیده را، در صندوق واقعی‌ای که گوگل به او داده بگذارد و برای گوگل بفرستد. با این کار هکر می‌تواند نزد گوگل، خود را جای شما جا بزند، سپس ایمیل‌های شما را از گوگل (در صندوق گوگل) دریافت کند! هکر همین ایمیل‌ها را در صندوق جعلی خودش می‌گذارد و برای شما می‌فرستد، شما هم که ایمیل‌هایتان را دریافت می‌کنید، به هیچ چیز شک نمی‌کنید و فکر می‌کنید مستقیما با گوگل طرف هستید!

اما در دنیای واقعی به کمک گواهی‌ها (Certificate) جلوی این کار گرفته می‌شود. هر وب‌سایتی که از HTTPS استفاده می‌کند، توسط کمپانی‌های معروفی گواهی‌ای دریافت می‌کند که این گواهی، جعلی نبودن صندوق‌ها و قفل‌های آن وب‌سایت را مشخص می‌کند. به زبان ساده: صندوق‌هایی که از یک وب‌سایت گواهی‌دار (مثلا گوگل) به دست شما می‌رسد، توسط آن گواهی هولوگرام‌دار شده‌اند! و صندوق‌های جعلی هکر که گواهی ندارد، این هولوگرام را نیز ندارند. و مرورگر شما این تفاوت را می‌فهمد و به شما در مورد صندوق‌های بدون هولوگرام هشدار می‌دهد.

این گواهی و به اصطلاح هولوگرام قابل جعل نیستند؟
قابل جعل هستند، ولی مرورگر متوجه جعلی بودن آن می‌شود: در کامپیوتر و مرورگر شما، لیستی از کمپانی‌های صادرکننده‌ی گواهی و همچنین لیستی از گواهی‌های معتبر وجود دارد. مرورگر شما با دریافت یک صندوق، ابتدا اعتبار گواهی و هولوگرام آن را با استفاده از این لیست‌ها می‌سنجد. اگر صندوق جعلی باشد، گواهی آن نه تنها در لیست گواهی‌های معتبر نخواهد بود، بلکه مرورگر شما در یک ارتباط اینترنتی سریع با کمپانی‌های صادرکننده‌ی گواهی متوجه می‌شود که چنین گواهی‌ای هیچ وقت صادر نشده است و به شما هشدار می‌دهد.

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

مقابله با Certificate های جعلی

طرز کار گواهی‌ها (Certificate) و نقش آنها در امنیت کاربران اینترنت را شرح دادیم. حال می‌خواهیم به نکاتی بپردازیم که رعایت آنها، شما را در مقابل حملاتی که از گواهی‌های جعلی استفاده می‌کنند در امان نگه می‌دارد:

  • مهم‌ترین نکته در مقابله با گواهی‌های جعلی، دقت به هشدارهای مرورگر است. متاسفانه ما عادت کرده‌ایم که تمام پیغام‌های باز شده را با Yes و Agree و Accept رد کنیم. در صورتی که مرورگر متوجه جعلی بودن یک گواهی بشود، به شما پیغامی مانند پیغام‌های زیر می‌دهد:

The site's security certificate is not trusted
This connection is untrusted
Invalid server certificate

گواهی‌های جعلی

  • در چنین حالاتی به هیچ وجه دکمه‌های Accept یا Continue یا Proceed یا Add Exception و امثال این‌ها را نزنید.
  • ممکن است حتی مرورگر متوجه جعلی بودن گواهی نشود. برای حل این مشکل اولا توصیه می‌شود از مرورگرهای Chrome یا Firefox استفاده کنید. دوما حتما مرورگرهای خود را به روز نگه دارید و همیشه آخرین نسخه‌ی آن را استفاده کنید. سوما، آپدیت کردن ویندوز را فراموش نکنید.
  • در صورتی که گمان می‌کنید با این حملات روبرو شده‌اید، پسوردتان را عوض کنید (پسورد مربوط به سایتی که از آن بازدید می‌کردید).
  • دقت کنید که امنیت اطلاعات تنها در مورد ارتباطات HTTPS مطرح است و ارتباطات HTTP تقریبا هیچ امنیتی ندارند. بهتر است همیشه در اینترنت و حتی در حین بازدید از سایت‌های باز و بدون مشکل، از «نرم‌افزارهای خاصی که می‌دانید و ما نمی‌توانیم نام ببریم!» استفاده کنید. زیرا اکثر این نرم‌افزارها تمام اطلاعات شما را رمز می‌کنند و همچنین شانس برخورد با گواهی‌های جعلی را کاهش می‌دهند.
منبع: تیلدا
--