روح اله ییلاقی اشرفی
روح اله ییلاقی اشرفی
خواندن ۷ دقیقه·۲ سال پیش

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

معرفی ماژول امنیتی ProtectServer

ماژول HSM مدل ProtectServer محصول شرکت Safenet از پرکاربردترین و مطمئن ­ترین انواع HSM دارای گواهی FIPS 140 سطح 3 با قابلیت انجام مجموعه وسیعی از امور رمزنگاری، امضای الکترونیک، PKI و حتی پرداخت و انتقال پول که در حال حاضر سال­ هاست بسیاری از مؤسسات و سازمان­ های داخل کشور از این HSM استفاده می­کنند. از قابلیت های مهم این ماژول امنیتی، FM (Functionality Module) یا امکان اضافه نمودن توابع جدید به کتابخانه Cryptoki ماژول می­ باشد. FM این امکان را به کاربران می دهد تا بتوانند توابع رمزنگاری ساخت خود را که به طور پیش­ فرض در HSM وجود ندارد به صورت امن در آن بارگذاری نموده و از آن استفاده کند (تا مانند دیگر توابع داخلی ، تمام عملیات درون محیط امن و ضدمداخله HSM انجام شود).

این مدل HSM در دو نوع PCI و Network و در سرعت­ های مختلف ارائه می ­شود. با توجه به سهولت نصب و راه ­اندازی و قابلیت استفاده در محیط ­های دیتاسنتر، مدل تحت شبکه آن (ProtectServer External - PSE) بیشتر مورد استفاده قرار می­گیرد. با توجه به این که شرکت Safenet در مدل تحت شبکه این HSM از نوع PCI به همراه کاربردهای شبکه بهره برده، بنابراین در این مطلب تمرکز بیشتر روی مدل تحت شبکه خواهیم داشت.

در گذشته HSM های مدل PSE با نام ProtectServer Orange External نیز شناخته می­ شدند که محصول شرکت Eracom به حساب می­ آمدند (شکل 1). اما پس از اخذ مالکیت Eracom توسط Safenet در سال 2007، سری جدید مدل­های PSE با نام ProtectServer External روانه بازار شد که شامل تغییراتی جزئی در شکل ظاهری و بروزرسانی در نرم ­افزار و درایور دستگاه می­ شد (شکل 2). سپس در سال 2012 تغییرات اساسی و مفیدی در شکل ظاهر، سیستم­ عامل و نحوه پیکربندی این دستگاه­ ها به وجود آمد اما همچنان از لحاظ کارایی و تکنولوژی پردازنده رمزنگاری مشابه با مدل­ های پیش از خود بود (شکل 3). در سال 2013 با خرید سهام شرکت SafeNet از سوی Gemalto، از نسل جدید این HSMها رونمایی شد و با توجه تغییرات بسیاری که نسبت به نسل قبلی خود داشت نام آن را ProtectServer External 2 گذاشتند (شکل 4). در سال 2015 شرکت Gemalto نام این دستگاه را به SafeNet ProtectServer Network HSM تغییر داد. از مهمترین تغییرات این نسل، بهبود پردازنده رمزنگاری و افزایش کارایی از حداکثر 600 امضاء/ثانیه در مدل ­های قبل به 1500 امضاء/ثانیه و همچنین تغییر رابط کارت­خوان دستگاه از سریال به USB بود. در سال 2019 که شرکت Thales حق مالکیت Gemalto را خریداری کرد نسخه سوم این مدل HSM با نام Thales ProtectServer 3 Network HSM معرفی شد که بسیار سریعتر و کاربردی تر از نسل های پیش است (شکل 5). در حال حاضر تنها نسل سوم این مدل HSM در بازار موجود می باشد و مدل های قدیمی از برنامه فروش خارج شدند.

شکل 1
شکل 1
شکل 2
شکل 2
شکل 3
شکل 3
شکل 4
شکل 4
شکل 5
شکل 5

ماژول های ProtectServer از مجموعه کاملی از APIهای استاندارد رمزنگاری پشتیبانی می­ کند:

  • PKCS#11
  • Microsoft CryptoAPI CSP and CNG
  • Java JCA /JCE
  • OpenSSL

به همراه ماژول های ProtectServer مجموعه درایورها، کتابخانه های برنامه نویسی و ابزارهای مدیریتی و پیکربندی ارائه می شود که به آن ProtectToolkit گفته می شود. مجموعه ProtectToolkit دارای چهار دسته است که با توجه به تکنولوژی مورد نظر نام گذاری می شود:

ProtectToolkit-C (C++ Programming SDK)

ProtectToolkit-J (Java Programming API)

ProtectToolkit-M (Microsoft CryptoAPI)

ProtectToolkit-FM (Functional Module Programming SDK) [previous name: ProtectProcessing]

از قابلیت ­های اختصاصی ProtectToolkit که در تعامل با ماژول ProtectServer رائه می دهد می­ توان به این موارد اشاره کرد:

  • امکان تولید انواع کلید با مقادیر معین
  • مشاهده مقادیر کلیدهای ذخیره شده (در صورتی که Policy امنیتی تعیین شده این اجازه را بدهد)
  • امکان کار با انواع گواهی های X.509
  • وارد/خارج کردن کلید خصوصی از HSM (استاندارد PKCS#12)
  • تولید درخواست گواهی (استاندارد PKCS#10) با استفاده از زوج کلید
  • تولید گواهی X.509 با استفاده از کلید عمومی یا فایل درخواست گواهی ذخیره شده در HSM
  • استخراج کلید عمومی از درون گواهی X.509 و ذخیره آن در HSM
  • قابلیت انجام فرایندهای مدیریت کلید و HSM از طریق نرم افزارهای اختصاصی ارائه شده با رابط کاربری
  • وجود مکانیسم Secret-Share جهت انتقال کلید روی کارت یا فایل
  • قابلیت کار به صورت WorkLoad (WLD) و HighAvailable (HA)

در HSMهای مدل ProtectServer چهار نقش متفاوت با وظایف مشخص مدیریتی یا کاربری تعریف شده است که عبارتند از:

  • Security Officer (SO)
  • User (or Token Owner)
  • Administration Security Officer (ASO)
  • Administrator

قابل ذکر است که دو نقش Administration SO و Administrator تنها وظیفه مدیریت و پیکربندی HSM را برعهده دارند و فرایند مدیریت و سرویس کلید بر عهده دو نقش دیگر است. در ادامه جزئیات مربوط به وظایف هر کدام از این چهار نقش ارائه شده است.

Administration Security Officer (ASO)

  • Set the initial Administrator PIN value (ASO cannot change it later)
  • Set the CKA_TRUSTED attribute on a Public object
  • Set the CKA_EXPORT attribute on a Public object
  • Exercise cryptographic services with Public objects
  • Create, destroy, import, export, generate and derive Public objects
  • Can change his/her own PIN

Administrator

  • Set or Change Real Time Clock (RTC) value
  • Read the System Event Log
  • Purge a full System Event Log
  • Configure the Transport Mode feature
  • Specify the Security Policy of the HSM
  • Create new ProtectToolkit-C Slots/Tokens and specify their Labels SO PINs and minimum PIN Length
  • Initialize smart cards and specify their Labels and SO PINs
  • Destroy individual ProtectToolkit-C Slots/Tokens
  • Erase all HSM Secure Memory including all PINs and User Keys
  • Perform Firmware Upgrade Operations
  • Manage Host Interface Master Keys
  • Exercise cryptographic services with Public objects on the Admin Token
  • Exercise cryptographic services with Private objects on the Admin Token
  • Create, destroy, import, export, generate and derive Public objects on the Admin Token
  • Create, destroy, import, export, generate and derive Private objects on the Admin Token
  • May change his/her own PIN

Security Officer (SO)

  • Set the initial User PIN value (SO cannot change it later)
  • Reset (re-initialize) the Token (destroys all keys and the User PIN on the Token) and set a new Label
  • Set the CKA_TRUSTED attribute on a Public object
  • Set the CKA_EXPORT attribute on a Public object
  • Exercise cryptographic services with Public objects
  • Create, destroy, import, export, generate and derive Public objects
  • May change his/her own PIN

User (Token Owner)

  • Exercise cryptographic services with Public objects
  • Exercise cryptographic services with Private objects
  • Create, destroy, import, export, generate and derive Public objects
  • Create, destroy, import, export, generate and derive Private objects
  • May change his/her own PIN
  • ماژول ProtectServer برای کاربر Administrator به منظور کنترل سیاست­ های امنیتی HSM و افزایش سطح ایمنی آن در شرایط کاری خاص، مجموعه متنوعی از Flag های امنیتی را فراهم نموده که قابل پیکربندی هستند. این Flagها عبارتند از:
  • Only allow FIPS Approved Algorithms
  • No Public Crypto
  • Des Keys Even Parity Allowed
  • Entrust compliant
  • User Specified ECC Domain Parameters Allowed
  • Increased Security Level
  • Lock Security Mode
  • No Clear Pins allowed
  • Full Secure Messaging Encryption
  • Pure PKCS#11 Mode
  • Tamper before upgrade
  • Authentication Protection
  • Full Secure Messaging Signing
  • Weak PKCS#11 Mechanisms

لازم به ذکر است که بعضی از Flagها در جهت کاهش سطح امنیتی HSM هستند. لذا در هنگام فعال ­سازی آنها باید ملاحظات کافی را رعایت نمود.

جهت مدیریت بهتر بر Flag های امنیتی، چند سیاست امنیتی به عنوان نمونه از سوی SafeNet پیشنهاد شده است که هر کدام از آن­ها از ترکیب خاصی از Flagها به وجود می­ایند و سطح امنیتی قابل قبولی را برای دستگاه HSM فراهم می­ کند. جدول زیر این سیاست­ های کلی را با Flag­های متناظر آن­ها ارائه داده است.

پروفایل های امنیتی PSE
پروفایل های امنیتی PSE

از قابلیت های مهمی که HSM های ProtectServer ارائه می دهد، امکان HA و WLD می باشد که جهت ایجاد قابلیت تقسیم بار بین دو یا چند HSM برای افزایش بازدهی و کاهش احتمال بروز خطا استفاده می ­شود. معمولاً پیش از استفاده از متد HA می­ بایست فرایند Token Replicationبین اسلات­ هایی از HSM که در HAمشارکت دارند انجام شود، زیرا با کپی شدن تمامی اشیاء موجود در اسلات اصلی (Master) در دیگر اسلات­ های فرعی (Slaves) شرکت کننده در HA آنها را آماده کار در حالت تقسیم بار می­کند. فرایند Token Replication به صورت خودکار انجام نمی­شود و باید با اجرای فرمان مربوطه اقدام به کپی اشیاء جدید تولید شده در دیگر HSMها نمود.

جهت اجرای فرآیند Token Replication ابتدا HSM مبدأ و HSMهای مقصد باید برای یکدیگر تأیید صلاحیت گردند که این کار با تولید یک زوج کلید در اسلات Admin و انتقال کلید عمومی به HSM دیگر توسط AdminSO صورت می­ گیرد.

در این قسمت به معرفی ماژول امنیت سخت افزاری ProtectServer محصول شرکت Safenet به همراه مجموعه امکانات و قابلیت های آن پرداختیم. برای آشنایی بیشتر با این مدل از HSM و قابلیت های آن می توانید به صفحه اختصاصی این محصول در سایت Thales مراجعه کنید.

در قسمت بعد با تمرکز بر این مدل HSM به آموزش پیکربندی اولیه و کار با یک محصول ProtectServer خواهیم پرداخت


ماژول امنیت سخت افزاریHardware Security Module (HSM)safenetprotectserverprotecttoolkit
مهندس کامپیوتر و برنامه نویس حوزه رمزنگاری، PKI و ماژول های امنیتی. با بیش از 10 سال سابقه فعالیت در این حوزه
شاید از این پست‌ها خوشتان بیاید