مازیار  ارجمند کرمانی
مدرس و مشاور شبکه و امنیت

Certificate Pinning چیست؟

Certificate Pinning چیست؟ یک تکنیک امنیتی است که در واقع بین کلاینت و سرور قرار میگیرد. به عبارت دیگر یک مکانیسم امنیتی است که در زمینه احراز هویت اتصالات Client  و سرور در زمینه ارتباط امن از طریق HTTPS  یا سایر پروتکل‌های TLS  استفاده می‌شود. حمله سال 2011 به DigiNotar که یک شرکت صدور گواهینامه دیجیتال بود نشان داد حتی با وجود گواهینامه مجرمان سایبری می‌توانند راه‌هایی برای نفوذ به سیستم‌ها و صدور گواهی‌های SSL تقلبی بیابند.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

هدف اصلی Certificate Pinning  چیست؟

هدف اصلی آن افزایش امنیت ارتباط بین کلاینت و سرور با کاهش خطر  MITM میباشد.

عملکرد Certificate Pining  چگونه است؟

خیلی ساده میتوان کرد:

هنگامی که کلاینت یک درخواست HTTPS  به سرور ارسال میکند سرور یک گواهینامه به کلاینت ارائه میکند.که توسط یک مرجع گواهی (Certificate Authority یا CA) معتبر امضا شده است. کلاینت اعتبار این گواهینامه را بررسی کرده و در صورت معتبر بودن، ارتباط امن برقرار می‌شود.

در تکنیک Certificate Pinning، اپلیکیشن یا مرورگر به جای اعتماد به هر گواهینامه‌ای که توسط هر مرجع گواهی معتبر صادر شده باشد، تنها به یک یا چند گواهینامه خاص که از قبل مشخص شده‌اند، اعتماد می‌کند. این گواهینامه‌ها به اصطلاح "پین" (Pin) می‌شوند.

Certificate Pinning چیست؟

معایب:

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

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

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


مازیار  ارجمند کرمانی
مازیار ارجمند کرمانی

مدرس و مشاور شبکه و امنیت

من مازیار ارجمند حدود ۱۲ سال است در حوزه شبکه و امنیت در حال کار میباشم. در همین یکسال هم میباشد که در کنار کار در این حوزه به بحث داوری تخصصی حوزه فناوری و اطلاعات مشغول به فعالیت هستم. نویسنده کتاب های: تحلیل صفر تا 100 بسته در شبکه مترجم کتاب های : کتاب راهنمای تیم آبی

نظرات