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

معرفی ماژول امنیتی 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شکل 2شکل 3شکل 4شکل 5ماژول های ProtectServer از مجموعه کاملی از APIهای استاندارد رمزنگاری پشتیبانی می­ کند:PKCS#11Microsoft CryptoAPI CSP and CNG Java JCA /JCEOpenSSLبه همراه ماژول های 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 objectSet the CKA_EXPORT attribute on a Public objectExercise cryptographic services with Public objectsCreate, destroy, import, export, generate and derive Public objectsCan change his/her own PINAdministratorSet or Change Real Time Clock (RTC) valueRead the System Event LogPurge a full System Event LogConfigure the Transport Mode featureSpecify the Security Policy of the HSMCreate new ProtectToolkit-C Slots/Tokens and specify their Labels SO PINs and minimum PIN LengthInitialize smart cards and specify their Labels and SO PINsDestroy individual ProtectToolkit-C Slots/TokensErase all HSM Secure Memory including all PINs and User KeysPerform Firmware Upgrade OperationsManage Host Interface Master KeysExercise cryptographic services with Public objects on the Admin TokenExercise cryptographic services with Private objects on the Admin TokenCreate, destroy, import, export, generate and derive Public objects on the Admin TokenCreate, destroy, import, export, generate and derive Private objects on the Admin TokenMay change his/her own PINSecurity 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 LabelSet the CKA_TRUSTED attribute on a Public objectSet the CKA_EXPORT attribute on a Public objectExercise cryptographic services with Public objectsCreate, destroy, import, export, generate and derive Public objectsMay change his/her own PINUser (Token Owner)Exercise cryptographic services with Public objectsExercise cryptographic services with Private objectsCreate, destroy, import, export, generate and derive Public objectsCreate, destroy, import, export, generate and derive Private objectsMay change his/her own PINماژول ProtectServer برای کاربر Administrator به منظور کنترل سیاست­ های امنیتی HSM و افزایش سطح ایمنی آن در شرایط کاری خاص، مجموعه متنوعی از Flag های امنیتی را فراهم نموده که قابل پیکربندی هستند. این Flagها عبارتند از:Only allow FIPS Approved AlgorithmsNo Public CryptoDes Keys Even Parity AllowedEntrust compliantUser Specified ECC Domain Parameters AllowedIncreased Security LevelLock Security ModeNo Clear Pins allowedFull Secure Messaging EncryptionPure PKCS#11 ModeTamper before upgradeAuthentication ProtectionFull Secure Messaging SigningWeak PKCS#11 Mechanismsلازم به ذکر است که بعضی از Flagها در جهت کاهش سطح امنیتی HSM هستند. لذا در هنگام فعال ­سازی آنها باید ملاحظات کافی را رعایت نمود.جهت مدیریت بهتر بر Flag های امنیتی، چند سیاست امنیتی به عنوان نمونه از سوی SafeNet پیشنهاد شده است که هر کدام از آن­ها از ترکیب خاصی از Flagها به وجود می­ایند و سطح امنیتی قابل قبولی را برای دستگاه HSM فراهم می­ کند. جدول زیر این سیاست­ های کلی را با Flag­های متناظر آن­ها ارائه داده است.پروفایل های امنیتی 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 خواهیم پرداخت