<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های روح اله ییلاقی اشرفی</title><link>https://virgool.ir/feed/@roohollah.y.a</link><description>مهندس کامپیوتر و برنامه نویس حوزه رمزنگاری، PKI و ماژول های امنیتی. با بیش از 10 سال سابقه فعالیت در این حوزه</description><language>fa</language><pubDate>2026-11-11 17:02:15</pubDate><image><url>https://virgool.ir/images/default-avatar.jpg</url><title>روح اله ییلاقی اشرفی</title><link>https://virgool.ir/@roohollah.y.a</link></image><item><title>ماژول های امنیت سخت افزاری (قسمت هفتم)</title><link>https://virgool.ir/@roohollah.y.a/ماژول-های-امنیت-سخت-افزاری-قسمت-هفتم-gafxzz1nwuhw</link><description>معرفی ماژول امنیتی 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 خواهیم پرداخت</description><category>روح اله ییلاقی اشرفی</category><author>روح اله ییلاقی اشرفی</author><pubDate>Fri, 16 Sep 2022 16:15:33 +0430</pubDate></item><item><title>ماژول های امنیت سخت افزاری (قسمت ششم)</title><link>https://virgool.ir/@roohollah.y.a/ماژول-های-امنیت-سخت-افزاری-قسمت-ششم-yi8uufu30zgx</link><description>تاریخچه کوتاهی از پیدایش و تکامل ماژول‌های امنیت سخت­ افزاریاستفاده از HSM مانند الگوریتم­ های رمزنگاری ریشه در کاربردهای نظامی دارد. باید به این نکته اشاره شود که در زمینه کاربرد عمومی نسبت به کاربرد نظامی مسئله مقاومت در برابر نفوذ و دست‌کاری به صورت محدودتری مطرح است و افشای برخی اطلاعات (چه غیرعمد و چه با سوء نیت) در کاربردهای عمومی ممکن است مهم نباشد. در این مطلب تلاش شده تا به ارائه چگونگی پیدایش انواع HSM  پرداخته شود.ماژول‌های امنیتی اولیه کاربرد  نظامی داشتند و در ارتباط با کنترل فرمان‌های هسته­ ای و امنیت ارتباطات بودند. در طول جنگ سرد ضرادخانه ­های هسته ­ای دو ابرقدرت شرق و غرب بیشتر و بیشتر گسترش می‌یافت. در این شرایط خطر وجود قدرت فرمان آتش در اختیار افراد نااهل بیشتر احساس شد. بعد از بحران موشکی کوبا رئیس جمهور ایالات متحده دستور داد تا تمام فرمان های هسته ای آمریکا تحت کنترل مثبت قرار گیرد به این معنی که برای اجرای فرمان های حساس نیاز به مجوز پیوندی بود که با عنوان اتصال های عملیات از پیش تعریف شده(Permissive Action Links - PAL) نیز نامیده می‌شد (نسل اول HSM). برای رسیدن به این هدف ابزارهای مورد نیاز  را در کلاهک موشک کار گذاشتند. عملکرد یک PAL جلوگیری از اجرای فرمان آتش دستگاه‌ها بدون وارد کردن کد رمز معتبر بود. برای این که PAL مورد نفوذ یا دست­کاری غیرمجاز قرار نگیرد، به حسگرها و واکنش‌های پاسخ به مداخله مجهز بود.ماژول HSM معمولاً واکنش به نفوذ را برای اطلاعاتی در نظر می‌گیرد که به آسانی از بین می‌رود؛ اما در مورد طراحی این مکانیزم‌ها برای دستگاه­ های هسته­ ای باید کاملاً دقت شود زیرا در صورتی بمب به سلاحی بی اثر تبدیل می‌شود که سنسورهای تشخیص نفوذ شروع به کار کرده و یک میزان از واکنش‌های پاسخ به مداخله که از قبل در نظر گرفته شده‌اند به کار افتد. مانند: تزریق گاز به هسته جهت تبدیل پلوتونیوم و یا اورانیوم به هیدروکسید که باعث کاهش میزان تراکم آن برای دستیابی به انرژی مورد نیاز انفجار شود؛ و جلوگیری از انفجار یکنواخت هسته با تغییر زمانبندی چاشنی های انفجاری. اطلاعات زمان­بندی به عنوان یک کلید رمز نگهداری می‌شود که با شناسایی مداخله به سرعت از بین می‌رود.بنابراین در زمینه امنیت نظامی به دلیل حساسیت زیاد امنیتی، مقاومت در برابر نفوذ و دستکاری با استاندارد بالایی ارائه می‌شود.به سختی می‌توان گفت که آیا دانش ماژول‌های امنیتی تجاری واقعاً از کاربردهای نظامی حاصل شده و یا این که یک تکنولوژی مشابه مجدداً ابداع گردیده است. ممکن است بعضی سازندگان تجاری HSM قابلیت ساخت بر اساس ابعاد نظامی را داشته باشند؛ مانند Thales که به عنوان پیمانکار وزارت دفاع فرانسه فعالیت می کند و یا بعضی تولیدکنندگان اولیه HSM در آفریقای جنوبی که به ارائه خدمات هم به مشتریان تجاری و هم صنایع نظامی می‌پرداختند. اما به صورت کلی نیازهای اولیه امنیت فیزیکی در محیط های تجاری به عنوان نیازهای حساسی در نظر گرفته نشده‌اند. بنابراین اغلب معیارهای اولیه مقاومت در برابر نفوذ و دست‌کاری دارای کاربرد موردی بودند. به عنوان مثال، ماژول امنیتی VISA در ابتدا دارای یک درپوش با حفاظت یک میکروسوئیچ بود که در صورت بر داشتن آن، مدار برق رسانی به حافظه امنیتی قطع می‌شد. این راه کار به عنوان یک عامل بازدارنده موثر برای کارمندان کنجکاو به کار می‌رفت طوری که کلیدهای اصلی حذف شده و نیازمند بارگذاری مجدد اطلاعات برای بازگرداندن ماژول به وضعیت فعال می‌بود. ماژول امنیتی مدل 4755 از IBM (قبل از مدل معروف 4758) از طراحی امنیتی µABYSS استفاده کرد (یک شبکه کوچک از مش های فلزی در سرتاسر ماژول، که در صورت مداخله به پاک­سازی کلیدهای اصلی خواهد پرداخت). این مدل اولین HSM تجاری با قابلیت تشخیص مداخله بود که بر اساس الگوی درب سوئیچ و حفاظ فولادی طراحی نشده بود.با شناسایی تکنیک‌های جدید حملات فیزیکی، مدارات تشخیص و پاسخ ماژول‌های امنیتی نیز به رشد خود ادامه می‌دهند. حسگرهای دمایی برای مقابله با حملات پس­ماند اطلاعات و حسگرهای تابشی، هر دو نمونه‌هایی از معیارهای متفاوتی هستند که به صورت ویژه طراحی شده‌اند تا با حملات تازه کشف شده مقابله کنند. مقاومت در برابر نفوذ به صورت مجتمع بر روی تراشه نیز برای نخستین بار در تراشه کارت‌های هوشمند ارائه شد.به موازات افزایش پیچیدگی مقاومت و پاسخ در برابر مخاطرات امنیتی، قدرت و سرعت ماژول‌های امنیتی نیز افزایش یافته است. با اختراع معماری  سخت­ افزاری بهینه ­سازی شده برای الگوریتم DES و قدرت پردازش محدود موجود در پردازنده مرکزی، وظیفه اصلی رمزنگاری به کمک پردازنده خاصی داده شد که در واقع مسئولیت آن سرعت بخشیدن به عملیات رمزنگاری بود. اولین ماژول‌های امنیت سخت افزاری IBM (مدل 3845 و 3848) در واقع با عنوان واحدهای رمزنگاری DES شناخته می‌شدند. به تدریج افزایش قدرت این محصولات در حالی شکل گرفت که استفاده از آن‌ها برای کاربردهای رمزنگاری تجاری به شکل توجیه پذیری در آمده بود. این در حالی بود که اندازه فایل های داده‌ نیز در حال افزایش بود. ایده رمز کردن فایل‌ها در سطح کامپیوتر های شخصی نیز توسط Eracom ارائه شد، این ایده جهت بازاریابی برای یک رمزنگار مبتنی بر کامپیوترهای شخصی بود که امکان رمزگذاری بلوکی فلاپی دیسک‌ها را فراهم می‌کرد.توسعه ساختار و طراحی نسل بعدی ماژول‌های امنیت سخت افزاری در اواخر دهه 90 میلادی در زمان شهرت کمپانی dotCom انجام شد. در آن دوران رمزگذاری کلید عمومی (Public Key Infrastructure) به صورت گسترده به عنوان راه حلی برای مسئله تبادل کلید ارائه شده بود و صدها کمپانی راه حل‌های مبتنی بر ساختار PKI را وارد بازار کرده بودند. اما محاسبات ماژولار اعداد اول بزرگ مسئله­ ای بود که به سختی با طراحی قدیمی معماری  CPU ها هماهنگی پیدا می‌کرد و این مسئله تا حد زیادی بار پردازشگرهای اصلی را در سرورها و رایانه های شخصی افزایش می‌داد؛ در حالی که آن‌ها در گذشته به آسانی محاسبات مربوط به رمزنگاری متقارن را انجام می‌دادند. بنابراین نسل بعدی ماژول­ های رمزنگاری به صورت کارت‌های شتاب­دهنده ­ای جهت انجام عملیات رمزنگاری کلید عمومی وارد بازار شد که در ابتدا در کنار پردازنده ­های عمومی وظیفه شتاب­دهی سخت ­افزاری محاسبات ماژولار الگوریتم های نامتقارن را به عهده داشتند. به عنوان مثال، سال 1997 شاهد انتشار nCipher nForce و IBM 4758 بودیم که هر دو دارای قابلیت شتاب­دهی سخت ­افزاری برای رمزنگاری کلید عمومی بودند.اصطلاح Buzz به نسل بعدی HSM اشاره می کرد که به صورت متصل به شبکه می‌باشد. در این حالت می‌توان با تکیه بر قابلیت‌های امنیتی اتاق سرور بر امنیت فیزیکی این تجهیزات مهم  افزود؛ و اگر بتوان منابع رمزنگاری را به این صورت استفاده کرد آنگاه نیازی نیست که ماژول‌ها در برابر مداخله و دست‌کاری بسیار مقاوم و محکم طراحی شوند. این مسئله به نوبه خود امکان تهویه بهتر گرما و عملکرد اجرایی بالاتر را نیز فراهم می‌آورد. شرکت‌های Thales و Utimaco در حال حاضر از پیشتازان ارائه انواع HSM متصل به شبکه به بازارهای جهانی هستند که اساساً با عملکرد مشابه مانند ابزارهای قدیمی اجرا می‌شوند اما با متمرکز ساختن منابع فیزیکی، عملکرد بالاتری را ارائه می‌دهند. به نظر می‌رسد که آینده طراحی HSM به گون ه­ای تنظیم می‌شود که نبردی را میان منابع متمرکز آنلاین (مانند Network-HSM و Cloud-HSM) و قابلیت‌های رمزنگاری بر روی برد اصلی رایانه­ های شخصی یا پردازشگرهای مرکزی (مانند TPM) به وجود می‌آورد.در انتهای این مطلب، با ارائه جدولی، سیر تحولات اساسی صورت گرفته در طراحی و معماری ماژول‌های امنیت سخت ­افزاری در تجارت الکترونیک را از آغاز (1972) تا ظهور نسل جدید این ماژول‌ها (متصل به شبکه) به اختصار مرور می‌کنیم.فصل اول معرفی ماژول های امنیتی سخت افزاری در اینجا پایان یافت. در فصل بعد به بررسی دقیق یک محصول HSM خواهیم پرداخت که در بازار تجارت داخلی هم کاربرد زیادی دارد.</description><category>روح اله ییلاقی اشرفی</category><author>روح اله ییلاقی اشرفی</author><pubDate>Tue, 13 Sep 2022 23:23:34 +0430</pubDate></item><item><title>ماژول های امنیت سخت افزاری (قسمت پنجم)</title><link>https://virgool.ir/@roohollah.y.a/ماژول-های-امنیت-سخت-افزاری-قسمت-پنجم-inqleki49mqx</link><description>در این قسمت به معرفی معماری سخت افزاری یک HSM می پردازیم. از ویژگی ­های یک معماری خوب می­ توان به ساختار امنیتی کارآمد آن اشاره نمود که علاوه بر جلوگیری از انتقال کلیدهای رمزنگاری به خارج از ماژول (به صورت خام)، قابلیت شناسایی اکثر حملات فیزیکی و اجرای پاسخ مناسب در صورت تشخیص نفوذ به ساختار حفاظتی ماژول را داراست. به طور کلی هر ماژول امنیت سخت­ افزاری شامل اجزای زیر می­ باشد:پردازشگر مرکزی: یک پردازنده مبتنی بر خانواده x86 که مسئولیت مدیریت، کنترل و هماهنگی فرآیندهای خاص داخل HSM را بر عهده دارد.پردازنده رمزنگاری: جهت اجرای الگوریتم ­های رمزنگاری و انجام فرآیندهای مربوط به رمزگذاری، رمزگشایی، امضاء و تصدیق به کار می­ رود.واحد تولید اعداد تصادفی: جهت تولید اعداد کاملاً تصادفی (یا شبه تصادفی) به منظور تولید کلید رمزنگاری، داده­ های تصادفی یا مهرهای زمانی در پروتکل­ های امنیتی استفاده می­شود.مجموعه مدارهای تشخیص و پاسخ به نفوذ: شناسایی و پاسخ به دستکاری­ های فیزیکی، مانند نفوذ فیزیکی، فعالیت الکتریکی ناشناس و یا درجه حرارت غیرعادی بر عهده این مدارها و حسگرهای مربوطه می­ باشد. در چنین شرایطی باید ماژول امنیتی سریعاً به حمله پاسخ داده و به وضعیت صفر درآید (از بین رفتن تمامی اطلاعات محرمانه). این کار برای جلوگیری از نفوذ فیزیکی یک خرابکار و دستیابی او به کلیدهای ذخیره شده روی HSM ضروری است.حافظه امن: جهت نگهداری کلیدهای رمزنگاری و داده ­های حساس درون سازمانی استفاده می شود.حافظه Flash: جهت دسترسی ­های محدود از سوی پردازشگر مرکزی استفاده می ­شود. معمولاً، میان­ افزار ماژول نیز در این حافظه ذخیره و در زمان بوت اولیه HSM به صورت امن در حافظه DRAM بارگذاری می شود.تضمین امنیت و کنترلر حالت: این واحد از سوی تولید کننده HSM به صورت کاملاً امن تهیه و در ماژول امنیتی تعبیه می­گردد. وظیفه اصلی این واحد، نظارت بر برنامه­ های درحال اجرا روی HSM، کنترل دسترسی به حافظه ­ها از سوی دیگر اجزای ماژول و همچنین تولید فرمان صفرسازی در هنگام شناسایی نفوذ می­ باشد. این بخش سیاسیت­ های امنیتی و حالت ­های گذار را بر پایه گواهي های تأیید شده از سوی استاندارد FIPS-140‌ تعیین مي كند. در برخی مراجع به این واحد اصطلاحاً ناظر امنیتی (Security Supervisor) نیز گفته می­ شود. همچنین مکانیسم ­های امنیتی دیگری چون غیرفعال­سازی واسط خارجی در حین فرآیند راه­ اندازی اولیه دستگاه، اجرای دوره ای مجموعه ­ای از خودآزماها جهت اطمینان از عملکرد صحیح اجزای مختلف، و به طور کلی هرگونه سیاست امنیتی درنظر گرفته شده برای HSM توسط این واحد کنترل خواهد شد.حافظه DRAM‌: تنها برای واحد پردازشگر مرکزی جهت ذخیره موقت داده ­ها قابل دسترس است.باتری پشتیبان: هنگام بروز اختلال در منبع توان ماژول و به منظور راه اندازی مدار پاسخ به نفوذ به کار می ­رود.واسط ارتباطی: جهت برقراری ارتباط ماژول با برنامه کاربر و انتقال درخواست ­ها بین آن­ها استفاده می شود. واسط ارتباطی می تواند سخت افزاری (مانندپورت اتصال پین پد) یا نرم افزاری (مانند درایور HSM) باشد.نمای کلی از معماری سخت افزاری HSMعلاوه بر موارد ذکر شده، یک ماژول امنیت سخت ­افزاری بسته به کاربرد می­ تواند شامل اجزای دیگری چون پردازشگر سیگنال (DSP)، پردازنده رمزنگار قابل برنامه ­ریزی، کنترلر حافظه خارجی، واحد محاسبه ممیز شناور، واسط­ ارتباط با کارت­ های هوشمند، واسط احراز هویت بیومتریک و غیره باشد.با توجه به مطالب عنوان شده، تولید یک ماژول امنیتی نیازمند طراحی دقیق و بی ­نقص با دیدگاه آینده ­نگرانه جهت توسعه قابلیت ­های کنونی آن می ­باشد. از آنجا که در یک HSM، نرم­ افزار، سخت ­افزار و میان­ افزار هر سه در تأمین امنیت داده­ ها و کلیدها ایفای نقش می­ کنند، کمپانی تولید کننده در زمینه طراحی و پیاده ­سازی هر کدام از اجزای HSM حساسیت بالایی را لحاظ می کند.در قسمت بعد کمی به تاریخچه پیدایش HSM می پردازیم</description><category>روح اله ییلاقی اشرفی</category><author>روح اله ییلاقی اشرفی</author><pubDate>Fri, 11 Mar 2022 23:32:09 +0330</pubDate></item><item><title>ماژول های امنیت سخت افزاری (قسمت چهارم)</title><link>https://virgool.ir/@roohollah.y.a/ماژول-های-امنیت-سخت-افزاری-قسمت-چهارم-i1nj4cqo3qkz</link><description>استانداردها و معیارهای مرتبط با HSM (بخش دوم)برقراری ارتباط برنامه های مختلف با هر ماژول HSM از طریق یک واسط نرم افزاری (API) امکان پذیر است؛ بدین ترتیب كه برنامه مورد نظر، واسط نرم افزاری را بارگذاری نموده و با فراخوانی توابع تعریف شده آن، عملیات كنترلی و رمزنگاری مختلف را بر روی ماژول رمزنگاری انجام می دهد. در این قسمت به معرفی استانداردی می پردازیم که به ارائه طرح کلی در خصوص واسط قابل برنامه ریزی HSM می پردازداستاندارد PKCS#11 از مجموعه استانداردهای رمزنگاری بر پایه کلید عمومی (Public-Key Cryptography Standards) است که به اختصار Cryptoki هم خوانده می شود، به تعریف یک بستر برنامه سازی امن برای ماژول های رمزنگاری می پردازد. این استاندارد  در ابتدا جهت دسترسی به کارت های هوشمند طراحی شد و دربرگیرنده مفاهیمی مانند اسلات (Slot) معادل دستگاه کارت خوان و توکن (Token) معادل کارت هوشمند می باشد که دلالت بر تکنولوژی کارت هوشمند دارند. به صورت کلی اکثر ماژول های امنیتی استاندارد، منطبق با PKCS#11  طراحی و توسعه داده می شوند. در واقع، این واسط چگونگی ارتباط نرم افزار با عملکردهای رمزنگاری ماژول امنیتی را تعیین می کند. متن این استاندارد به صورت آنلاین در وبسایت مؤسسه OASIS موجود می باشد.البته لازم به ذکر است که، صرفاً سازگاری با یک استاندارد خاص برای اطمینان از امنیت فراهم شده در یک ماژول HSM كافی نبوده و كاربر HSM مسئول است تا از انطباق امنیت فراهم شده توسط ماژول انتخابی خود با نیازمندی های امنیتی مورد نظر سازمان، اطمینان حاصل كند؛ زیرا اطمینان از امنیت ماژول رمزنگاری امنیت كل سیستم را تضمین نخواهد كرد.در صورت پشتیبانی ماژول امنیتی از استاندارد PKCS#11، مطابق با شکل، نرم افزارهای مختلف با بارگذاری واسط Cryptoki ارائه شده توسط تولید کننده HSM و فراخوانی توابع آن، با توكن امنیتی ارتباط برقرار می كنند. پشتیبانی از كتابخانه PKCS#11 باعث می شود بتوان ماژول رمزنگاری را به سادگی در تمامی نرم افزارهای زیرساخت كلید عمومی به كار گرفت. البته در كنار این واسط استاندارد، هر تولیدكننده می تواند ویژگی ها و كاركردهای مدنظر خود را نیز به محصول HSM اضافه کرده و آن ها را در کتابخانه Cryptoki محصول در اختیار کاربر قرار دهد.نمای كلی مدل Cryptoki تعریف شده در استاندارد PKCS11در مدل نمایش داده شده، برنامه های كاربردی در بالاترین سطح قرار داشته و از طریق لایه های واسطی كه میان آن ها با كتابخانه ی Cryptoki وجود دارد، با آن در ارتباط هستند.همان طور كه مشاهده میشود، بیش از یک برنامه كاربردی در هر زمان امکان ارتباط با واسط Cryptoki و سخت افزار HSM را دارست و تمامی این عناصر از طریق یک هماهنگ كننده (یا درایور) با لایه های زیرین در ارتباطند.مدل Cryptoki شامل روش هایی برای مدیریت داده هایی است كه از آن ها تحت عنوان شیئ یاد می كند. در واقع در اینجا ما با تعداد زیادی شیئ داده ای و متدهایی جهت ایجاد، ویرایش، حذف، كنترل دسترسی و در یک كلام مدیریت آن ها روبرو هستیم. ساختار اشیای Cryptoki به صورت انتزاعی در شکل نمایش داده شده است.ساختار اشیاء در مدل Cryptokiطبق استاندارد PKCS#11، به منظور كنترل دسترسی به اشیای فوق، دو سطح دسترسی در نظر گرفته شده كه عبارتند از كاربر عادی (Normal User) و كاربر مسئول (Security Officer یا SO).دسترسی هر كاربر به توكن در قالب یک نشست (Session) صورت می پذیرد. كاربر در ابتدای هر نشست می تواند نقش و نیز نوع نشست (یکی از انواع فقط خواندنی (ReadOnly) یا خواندنی و نوشتی(Read&amp;Write) ) را انتخاب نموده و با وارد نمودن پین كد خود، نشست مورد نظر را آغاز نماید.با توجه به اینکه بحث مدیریت نشست ها در Cryptoki کمی پیچیده است و نیازمند دقت و ظرافت بالایی می باشد، در استاندارد تعاریف واضح و مثال های شفافی ارائه شده است.توابع همه منظوره (General Purpose Functions)توابع مدیریت اسلات و توكن (Slot &amp; Token Management Functions)توابع مدیریت نشست (Session Management Functions)توابع مدیریت اشیاء (Object Management Functions)توابع رمزگذاری (Encryption Functions)توابع رمزگشایی (Decryption Functions)توابع درهم سازی (Message Digesting Functions)توابع امضاء و احراز هویت پیام (Signing &amp; MACing Functions)توابع بررسی صحت امضاء و احراز هویت پیام (Functions for verifying signatures &amp; MACs)توابع رمزنگاری دومنظوره  (Dual-purpose Functions)توابع مدیریت كلید (Key Management Functions)توابع تولید عدد تصادفی (Random Number Generation Functions)توابع مدیریت توابع همروند (Parallel Function Management Functionsتوابع كال بَک (Callback Functions)با پیشرفت های صورت گرفته در حوزه الگپوریتم های رمزنگاری و همچنین در طراحی و ساخت HSMهای جدید، استاندارد PKCS#11 همچنان در حال توسعه و بازبینی می باشد تا سازگاری کامل با تکنولوژی های جدید حوزه رمزنگاری داشته باشد. با این وجود، این استاندارد دارای نواقص امنیتی و کارکردی هم می باشد که گاهاً تولید کنندگان محصولات امنیتی با آگاهی از این نقاط ضعف، در توسعه محصول خود تا حد امکان سعی در رفع آن ها دارند. به طور کلی عملیات رمزنگاری در انواع مختلف ماژول های HSM یکسان است اما ساختار امنیتی و مدل های مجوز دهی و همچنین نحوه انجام كار متفاوت است.در این قسمت یک معرفی اجمالی از استاندارد PKCS#11 به عنوان واسط اصلی تعامل نرم افزار ها با سخت افزار HSM ارائه دادیم. متن این استاندارد بسیار کامل تر از توضیحات ارائه شده در این مستند است.در قسمت بعد مجدداً به سخت افزار HSM بر میگردیم و به تشریح معماری یک ماژول HSM خواهیم پرداخت.</description><category>روح اله ییلاقی اشرفی</category><author>روح اله ییلاقی اشرفی</author><pubDate>Thu, 10 Mar 2022 00:17:58 +0330</pubDate></item><item><title>ماژول های امنیت سخت افزاری (قسمت سوم)</title><link>https://virgool.ir/@roohollah.y.a/ماژول-های-امنیت-سخت-افزاری-قسمت-سوم-uvce11wbxkh1</link><description>استانداردها و معیارهای مرتبط با HSM (بخش اول)استانداردها از اهمیت زیادی برخوردارند چرا که به تعریف عملکردها، روش­ ها و معیارهای سنجش متداول می پردازند. استانداردها، اعتبار و کارآیی محصولات را افزایش داده و این اطمینان را برای کاربران ایجاد می­ کنند که محصولات با درجه قابل قبول از کیفیت تولید می­ شوند. از سوی دیگر، استانداردها راهکار­هایی را ارائه می ­دهند که از سوی متخصصین در حیطه­ های مربوطه ارزیابی شده و مورد قبول جمع گسترده ­ای از کاربران قرار دارد. از این رو، در دنیای امنیت اطلاعات، به ویژه در حوزه ماژول­ های امنیتی نیز رعایت نیازمندی­ ها و الزامات تعیین شده در استانداردها کاملاً از سوی تولیدکنندگان و مصرف­ کنندگان مورد توجه قرار می­ گیرد.مجموعه استانداردهای پردازش اطلاعات فدرال (FIPS) توسط مؤسسه NIST تهیه و منتشر می­ شود. این مجموعه، حاوی استانداردها و دستورالعمل ­هایی می­ باشد که بر اساس قوانین مدیریت فنآوری اطلاعات و امنیت کامپیوتر دولت ایالات متحده آمریکا تنظیم شده است. در این مجموعه، استاندارد FIPS 140 الزامات امنيتی مورد نياز يك ماژول رمزنگاری را تعريف می­ كند. اولین نسخه این استاندارد با نام FIPS 140-1 در سال 1996 و نسخه فعلی آن یعنی FIPS 140-3 در سال 2020 منتشر شد. در حال حاضر نسخه FIPS 140-2 همه گیری بیشتری در میان تولیدکنندگان محصولات امنیتی دارد. استاندارد FIPS 140-2 چهار سطح را بر اساس سطوح كيفی امنيتی مشخص مي كند كه بخش نسبتاً وسيعی از كاربردها و انواع محيط­ هايی را پوشش می دهد كه ماژول امنیتی ممکن است در آن­ ها مورد استفاده قرارگيرد. هر کدام از این سطوح شامل 11 نيازمندی امنيتی مربوط به طراحی امن و مسائل مربوط به پياده ­سازی و اجرای ماژول های رمزنگاری است که عبارتند از مشخصات ماژول امنیتی، درگاه ­ها و واسط­ های ارتباطی ماژول، نقش­ ها و وظایف آن ها، خدمات و مکانیزم احراز هویت، مدل حالت متناهی، امنیت فیزیکی، محیط اجرایی، مدیریت کلید رمزنگاری، سازگاری/تداخل الکترومغناطیسی، خودآزماها، تضمین طراحی و کاهش خطر حملات نامشخص را شامل می شود. جدول ‏3‑1 به اختصار حداقل امنیت مورد نیاز در هر سطح را ارائه می­دهد. با مراجعه به متن استاندارد می­ توان اطلاعات کاملی را در این خصوص بدست آورد.نیازمندی های سطوح امنیتی استاندارد FIPS 140-2در حقیقت، FIPS 140 یک استاندارد شناخته شده جهانی جهت احراز اصالت HSM ها و هر ابزار رمزنگاری می ­باشد. اما، این احراز اصالت به این معنا نیست که محصول مورد نظر کاملاً ایمن است. با این وجود، اگر یک محصول HSM مورد تأیید قرار گیرد آنگاه این اطمینان وجود دارد که حداقل یک مجموعه قابل قبول از آزمایش­ های امنیتی بر روی آن دستگاه توسط متخصصین مجرب در آزمایشگاه ­های مجاز FIPS اجرا شده و صحت عملکرد ماژول تحت این آزمون­ ها مورد بررسی دقیق قرار گرفته است. بنابراین یک معیار مهم در انتخاب HSM درک سطوح تأییدیه FIPS و ارزیابی هزینه های دستیابی به آن در مقابل ارزش اطلاعاتی می­ باشد که امنیت آن می بایست تأمین شود.با وجود اين كه استاندارد FIPS 140 خارج از ایالات متحده و کانادا شناخته شده نیست،‌اما این استاندارد در سایر کشورها هم مقبولیت بالایی دارد و محصولات مورد تأیید اين استاندارد در بسیاری كشورها مورد استفاده قرار می گيرند. بر این اساس، استاندارد ISO/IEC 19790، در خصوص نیازمندی های امنیتی برای ماژول­ های رمزنگاری، بر پایه FIPS 140-2 در ماه مارس سال 2006 از سوی سازمان ISO به عنوان یک استاندارد جهانی منتشر شد.در قسمت بعد به معرفی یک استاندارد مطرح دیگر در مورد ماژول های رمزنگاری با هدف واسط کاربری خواهیم پرداخت</description><category>روح اله ییلاقی اشرفی</category><author>روح اله ییلاقی اشرفی</author><pubDate>Sun, 06 Mar 2022 00:11:38 +0330</pubDate></item><item><title>ماژول های امنیت سخت افزاری (قسمت دوم)</title><link>https://virgool.ir/@roohollah.y.a/ماژول-های-امنیت-سخت-افزاری-قسمت-دوم-u2fsbyqjk7nh</link><description>تعریف ماژول امنیت سخت­ افزاریدر حالت کلی، ماژول­ های رمزنگاری را می­ توان به دو دسته سخت­ افزاری و نرم­ افزاری تقسیم کرد. تجربه نشان داده که ماژول­ های سخت­ افزاری از سرعت و امنیت بالاتری نسبت به انواع نرم­ افزاری برخوردارند. زیرا قادر به تولید کلیدهای رمزنگاری بصورت کاملاً مستقل و امن بوده و همچنین جهت ذخیره­ سازی نیاز به حافظه خارجی ندارند. در واقع کلید رمز هیچگاه (به صورت خام) از محدوده امن سخت­ افزار خارج نمی­ شود. علاوه بر این، سخت­ افزار در مقابل حملات ویروسی یا دسترسی­ های غیرمجاز مقاوم­ تر است.اصطلاحاً، ماژول امنیت سخت­ افزاری یک جعبه سیاه متشکل از سخت­ افزار، نرم­ افزار و میان­ افزار است که وظیفه اصلی آن شتابدهی عملیات رمزنگاری در یک سامانه امنیتی می­ باشد. این­گونه ماژول­ ها با نام­ های دیگری نیز شناخته می­ شوند، مانند: سخت افزار امنیتی، دستگاه رمزنگار امن، دستگاه رمزنگار سخت­ افزاری یا ماژول رمزنگاری. در این مقاله از نام رایج­ تر آن یعنی ماژول امنیت سخت ­افزاری (HSM) استفاده خواهیم کرد.مهمترین کاربرد HSM اجرای پردازش­ های رمزنگاری، مدیریت کلیدهای تولید شده، تولید امضای دیجیتال، برقراری ارتباطات امن و ذخیره­ سازی و تهیه پشتیبان از اطلاعات حساس می­ باشد. این ابزارها از امنیت فیزیکی و منطقی بالایی برخوردار بوده و ساختار آن­ ها جهت انجام وظایف مورد نظر بهینه شده است.در دنیای فنآوری اطلاعات، از ماژول امنیت سخت­ افزاری برای محدوده­ ی وسیعی از کاربردها مانند مؤسسات مالی، سازمان­ های دولتی، تبادلات بورس، سامانه­ های بانکی، پروژه­ های نظامی و دیگر صنایع امنیتی استفاده می ­شود. ماژول امنیت سخت ­افزاری در شکل ­ها و قالب ­های متفاوتی مانند کارت­ های هوشمند، کارت­ های مبتنی بر واسط PCI جهت اتصال به رایانه­ های شخصی، دستگاه­ های مبتنی بر شبکه با قابلیت نصب در رَک و غیره عرضه می ­شود. اما صرف نظر از شکل ظاهری، همگی دو هدف اصلی را دنبال می ­کنند، (1) تسریع عملیات رمزنگاری، (2) نگهداری کلیدها بصورت امن.انواع HSM از لحاظ شکل ظاهریبا وجود هدف یکسان، HSM ها از لحاظ خدماتی که ارائه می­ دهند و درجه­ ی امن ­سازی اطلاعات، بایکدیگر متفاوت ­اند. از این رو، جهت ایجاد یک مرجع مشترک در خصوص سنجش میزان امنیت یک HSM، مؤسسه ملی فنآوری و استاندردهای آمریکا (NIST) سندی را به عنوان استاندارد و معیار سنجش سطح امنیتی ماژول­ های رمزنگاری منتشر ساخته و بر پایه آن به ارائه نیازمندی­ های آزمون و اعطای گواهی به این نوع دستگاه ­ها می ­پردازد.در قسمت بعد به معرفی این استاندارد و همچنین استاندارد دیگری به جهت استفاده از قابلیت های نرم افزاری یک HSM می پردازیم</description><category>روح اله ییلاقی اشرفی</category><author>روح اله ییلاقی اشرفی</author><pubDate>Sat, 05 Mar 2022 00:29:36 +0330</pubDate></item><item><title>ماژول های امنیت سخت افزاری (قسمت اول)</title><link>https://virgool.ir/@roohollah.y.a/ماژول-های-امنیت-سخت-افزاری-قسمت-اول-cixppi6ihr22</link><description>مقدمهامنیت اطلاعات در محیط­ های مجازی همواره بعنوان یكی از زیرساخت ­ها و الزامات اساسی در توسعه زیرساخت های فنآوری اطلاعات مورد تأكید قرار گرفته است. گرچه امنیت مطلق چه در محیط واقعی و چه در فضای مجازی دست نیافتنی است؛ اما ایجاد سطحی از امنیت كه به اندازه كافی با نیاز ها و سرمایه­ گذاری انجام شده متناسب باشد، تقریباً در تمامی شرایط محیطی امكان­پذیر است. تنها با فراهم بودن چنین سطح مطلوبی است كه اشخاص حقیقی، شركت­ های خصوصی و سازمان­ های دولتی ضمن اعتماد و اطمینان به طرف­ های گوناگونی كه همگی در یك تبادل الكترونیكی دخیل هستند و احتمالاً هیچگاه یكدیگر را ندیده و نمی شناسند، نقش مورد انتظار خود بعنوان گره­ ای مؤثر از این شبكه متعامل و هم­ افزا را ایفا خواهند کرد.معماری امنیتی فرایندی از فرایندهای جاری در زیرساخت فن­آوری اطلاعات در سطوح مختلف اعم از ملی و سازمانی است كه در این حوزه به تناسب و نیاز از ابزارهای لازم استفاده خواهد شد. امروزه از شیوه­ های رمزنگاری جهت تأمین امنیت در حوزه فن­آوری اطلاعات استفاده می­ شود که شامل الگوریتم­ های رمزگذاری، طرح­ های امضاء، پروتکل­ های تبادل کلید، مکانیزم ­های احراز هویت و غیره می­ باشد. برای پیاده ­سازی این قابلیت­ ها از برنامه های نرم­ افزاری یا مدارات سخت­ افزاری استفاده می­ شود. اما از آنجا که برنامه­ های نرم ­افزاری نیز در نهایت می­ بایست بر روی سخت­ افزار اجرا شوند، بنابراین امنیت رمزنگاری ارتباط مستقیم با امنیت بستر سخت­ افزاری آن دارد.کاربرد مناسب شیوه­ های رمزنگاری در رمزگذاری اطلاعات، اسناد الکترونیکی و اجرای امضای دیجیتال به خوبی به اثبات رسیده و غیر قابل انکار می­باشد. اما رمزنگاری به استفاده از کلیدهای رمز وابسته است. هرگاه مجموعه­ای از اطلاعات محرمانه رمزگذاری می­شوند، در حقیقت امنیت و محرمانگی آن به کلید رمزنگاری گره می­خورد. سرّی ماندن اطلاعات و پیام­ها در گرو مراقبت ویژه از کلید رمز است. به هر گونه تلاش برای یافتن کلید رمز یا رمزگشایی غیرمجاز داده­ های رمز شده اصطلاحاً رمزشکنی یا تحلیل رمز گفته می­شود.بسیاری از سازمان­ ها به امنیت نرم (نرم ­افزاری) وابسته هستند و مدیریت کلیدها را بدون پشتیبانی امنیتی به سیستم هایی واگذار می­ کنند که در معرض حمله و نفوذ سارقان قرار دارند. در حقیقت، هنگامی که رمزنگاری جهت پشتیبانی از داده های حساس استفاده می­ شود، سازمان مربوطه می ­بایست از امنیت سخت (سخت ­افزاری) استفاده کند که سبب کنترل و مدیریت خطر شده و احتمال دسترسی غیرمجاز به اطلاعات مهم را به طور چشمگیری کاهش می ­دهد. در این راهکار، محور اصلی امنیت رمزنگاری محافظت از کلیدهای رمز در یک ماژول امنیت سخت ­افزاری (Hardware Security Module یا به اختصار HSM) می ­باشد.</description><category>روح اله ییلاقی اشرفی</category><author>روح اله ییلاقی اشرفی</author><pubDate>Thu, 03 Mar 2022 14:45:41 +0330</pubDate></item></channel></rss>