ماژول های امنیت سخت افزاری (قسمت پنجم)

در این قسمت به معرفی معماری سخت افزاری یک HSM می پردازیم. از ویژگی ­های یک معماری خوب می­ توان به ساختار امنیتی کارآمد آن اشاره نمود که علاوه بر جلوگیری از انتقال کلیدهای رمزنگاری به خارج از ماژول (به صورت خام)، قابلیت شناسایی اکثر حملات فیزیکی و اجرای پاسخ مناسب در صورت تشخیص نفوذ به ساختار حفاظتی ماژول را داراست. به طور کلی هر ماژول امنیت سخت­ افزاری شامل اجزای زیر می­ باشد:پردازشگر مرکزی: یک پردازنده مبتنی بر خانواده x86 که مسئولیت مدیریت، کنترل و هماهنگی فرآیندهای خاص داخل HSM را بر عهده دارد.پردازنده رمزنگاری: جهت اجرای الگوریتم ­های رمزنگاری و انجام فرآیندهای مربوط به رمزگذاری، رمزگشایی، امضاء و تصدیق به کار می­ رود.واحد تولید اعداد تصادفی: جهت تولید اعداد کاملاً تصادفی (یا شبه تصادفی) به منظور تولید کلید رمزنگاری، داده­ های تصادفی یا مهرهای زمانی در پروتکل­ های امنیتی استفاده می­شود.مجموعه مدارهای تشخیص و پاسخ به نفوذ: شناسایی و پاسخ به دستکاری­ های فیزیکی، مانند نفوذ فیزیکی، فعالیت الکتریکی ناشناس و یا درجه حرارت غیرعادی بر عهده این مدارها و حسگرهای مربوطه می­ باشد. در چنین شرایطی باید ماژول امنیتی سریعاً به حمله پاسخ داده و به وضعیت صفر درآید (از بین رفتن تمامی اطلاعات محرمانه). این کار برای جلوگیری از نفوذ فیزیکی یک خرابکار و دستیابی او به کلیدهای ذخیره شده روی HSM ضروری است.حافظه امن: جهت نگهداری کلیدهای رمزنگاری و داده ­های حساس درون سازمانی استفاده می شود.حافظه Flash: جهت دسترسی ­های محدود از سوی پردازشگر مرکزی استفاده می ­شود. معمولاً، میان­ افزار ماژول نیز در این حافظه ذخیره و در زمان بوت اولیه HSM به صورت امن در حافظه DRAM بارگذاری می شود.تضمین امنیت و کنترلر حالت: این واحد از سوی تولید کننده HSM به صورت کاملاً امن تهیه و در ماژول امنیتی تعبیه می­گردد. وظیفه اصلی این واحد، نظارت بر برنامه­ های درحال اجرا روی HSM، کنترل دسترسی به حافظه ­ها از سوی دیگر اجزای ماژول و همچنین تولید فرمان صفرسازی در هنگام شناسایی نفوذ می­ باشد. این بخش سیاسیت­ های امنیتی و حالت ­های گذار را بر پایه گواهي های تأیید شده از سوی استاندارد FIPS-140‌ تعیین مي كند. در برخی مراجع به این واحد اصطلاحاً ناظر امنیتی (Security Supervisor) نیز گفته می­ شود. همچنین مکانیسم ­های امنیتی دیگری چون غیرفعال­سازی واسط خارجی در حین فرآیند راه­ اندازی اولیه دستگاه، اجرای دوره ای مجموعه ­ای از خودآزماها جهت اطمینان از عملکرد صحیح اجزای مختلف، و به طور کلی هرگونه سیاست امنیتی درنظر گرفته شده برای HSM توسط این واحد کنترل خواهد شد.حافظه DRAM‌: تنها برای واحد پردازشگر مرکزی جهت ذخیره موقت داده ­ها قابل دسترس است.باتری پشتیبان: هنگام بروز اختلال در منبع توان ماژول و به منظور راه اندازی مدار پاسخ به نفوذ به کار می ­رود.واسط ارتباطی: جهت برقراری ارتباط ماژول با برنامه کاربر و انتقال درخواست ­ها بین آن­ها استفاده می شود. واسط ارتباطی می تواند سخت افزاری (مانندپورت اتصال پین پد) یا نرم افزاری (مانند درایور HSM) باشد.نمای کلی از معماری سخت افزاری HSMعلاوه بر موارد ذکر شده، یک ماژول امنیت سخت ­افزاری بسته به کاربرد می­ تواند شامل اجزای دیگری چون پردازشگر سیگنال (DSP)، پردازنده رمزنگار قابل برنامه ­ریزی، کنترلر حافظه خارجی، واحد محاسبه ممیز شناور، واسط­ ارتباط با کارت­ های هوشمند، واسط احراز هویت بیومتریک و غیره باشد.با توجه به مطالب عنوان شده، تولید یک ماژول امنیتی نیازمند طراحی دقیق و بی ­نقص با دیدگاه آینده ­نگرانه جهت توسعه قابلیت ­های کنونی آن می ­باشد. از آنجا که در یک HSM، نرم­ افزار، سخت ­افزار و میان­ افزار هر سه در تأمین امنیت داده­ ها و کلیدها ایفای نقش می­ کنند، کمپانی تولید کننده در زمینه طراحی و پیاده ­سازی هر کدام از اجزای HSM حساسیت بالایی را لحاظ می کند.در قسمت بعد کمی به تاریخچه پیدایش HSM می پردازیم