پایگاه خبری راه پرداخت دارای مجوز به شماره ۷۴۵۷۲ از وزارت فرهنگ و ارشاد اسلامی و بخشی از «شبکه عصر تراکنش» است. راه پرداخت فعالیت خود را از دوم اردیبهشتماه ۱۳۹۰ شروع کرده و اکنون پرمخاطبترین رسانه ایران در زمینه فناوریهای مالی، بانکداری و پرداخت و استارتآپهای فینتک است.
نگاهی به دستگاه HSM حصین ایمن و بهروزرسانیهای جدید آن در گفتوگو با مدیر توسعه نرمافزار این شرکت
شرکت طرح و توسعه حصین ایمن در سال 1388 با هدف فعالیت در زمینه امنیت فناوری اطلاعات تأسیس شد و یکی از شرکتهای زیرمجموعه هلدینگ حصین محسوب میشود که از سال ۸۸ بهصورت مستقل از هلدینگ حصین فعالیت کرد. یکی از فعالیتهای حصین ایمن، تولید HSM یا Hardware Security Module است که در دنیا تنها چهار شرکت در تولید این دستگاه، اعتبار جهانی دارند و شناختهشده هستند. HSM ابزاری است که برای انجام امور رمزنگاری و کنترل تمام مبادلات محرمانه به کار میرود و مهمترین وظیفه آن، محافظت فیزیکی و نرمافزاری از کلیدهای ذخیره شده و درعینحال فراهم آوردن سرویسهای رمزنگاری از طریق این کلیدها است. در ایران نیز شرکت حصین ایمن شروع به تولید این دستگاه کرده است و اخیراً بهروزرسانیهایی را انجام داده است. به همین بهانه با خلیل طاهری مدیر توسعه نرمافزار حصین ایمن درباره این دستگاه گفتوگو کردیم.
HSM چیست؟
HSM مخفف Hardware Security Module است که یک ماژول سختافزاری امنیتی است و دارای دو عملکرد اصلی است. اولین و مهمترین وظیفه آن نگهداری «کلید» بهصورت امن است و در اینجا امنیت هم مفهوم منطقی و هم مفهوم فیزیکی دارد. دومین عملکرد آن، ارائه یک سری خدمات رمزنگاری است.
این کلید در داخل HSM نگهداری میشود و در استانداردها گفته شده که کلید نباید تحت هیچ شرایطی از HSM خارج شود مگر در موارد خاصی که تشخیص داده میشود؛ بنابراین زمانی که میخواهیم اطلاعاتی را رمزنگاری کنیم، باید برای این کار اطلاعات را به خود HSM بدهیم.
کلید چیست؟
زمانی که از رمزنگاری صحبت میشود یعنی با پیادهسازی مراحلی خاص، یک داده را به داده دیگری تبدیل کنیم؛ مدیر توسعه نرمافزار حصین ایمن این فرایند را با سادهسازی به این صورت توضیح میدهد: «مثلا هر بایت داده را ضربدر دو میکنیم، بنابراین داده جدید با قبلی فرق خواهد کرد. اگر کسی بداند که این داده ضربدر دو شده، میتواند با تقسیم کردن آن بر عدد دو، به داده اولیه برسد. در مثال یادشده به این عمل ضرب و تقسیم، رمزنگاری و رمزگشایی میگوییم؛ به بیان ساده در رمزنگاری دادهها را از شکلی به شکل دیگر میبریم که قابلشناسایی و تشخیص نیست.»
او در توضیح کلید میگوید: «دیتایی که برای رمزنگاری یک داده از آن استفاده میشود، کلید نام دارد که از مفهوم کلید و قفل آمده است؛ یعنی من دیتای خود را با استفاده از این کلید، قفل یا رمزنگاری میکنم و مجدداً با استفاده از این کلید میتوانم آن را باز یا رمزگشایی کنم.»
به گفته طاهری، در حال حاضر دو نوع رمزنگاری وجود دارد؛ رمزنگاری متقارن و نامتقارن. رمزنگاری متقارن یعنی از همان کلیدی که برای رمزنگاری استفاده میشود، برای رمزگشایی نیز استفاده شود؛ اما در رمزنگاری نامتقارن اینطور نیست و از یک کلید برای رمزگشایی و از کلید دیگری برای رمزنگاری استفاده میشود. او دراینباره توضیح داد: «در حال حاضر مشخص است که الگوریتمهای رمزنگاری چه چیزی است، چگونه کار میکند و چه مکانیزمی دارد ولی تنها موردی که از همگان مخفی است، کلید است و اساسا HSM، کلید را مخفی نگه میدارد.»
استاندارد FIPS
به گفته طاهری، از آنجا که HSM دستگاهی است که دادههای امن یک سازمان و یا یک کشور در داخل آن نگهداری میشود، میبایست ابتدا یک سری ملاحظات امنیتی فیزیکی داشته باشد؛ به همین خاطر نیز سازمانی به نام NIST در آمریکا شکل گرفته و استانداردی را به نام FIPS طراحی کرده است؛ استانداردی که برای HSMها تعریف شده است، FIPS1402 است که چهار سطح دارد و متعارف است که HSMهای خارجی و نیز بومی، این استاندارد را بگیرند. سطح سوم FIPS1402 امنیت فیزیکی را شامل میشود و HSMهای معروف دنیا، یعنی چهار برند Jemalto، Utimaco، Bull و Thales، دارای این سطح از استاندارد هستند.
طاهری افزود «به دلیل اینکه امنیت برای دستگاه HSM بسیار مهم است، این استانداردها را وضع کردهاند تا دستگاه به یک بلکباکس تبدیل شود؛ یعنی اگر کسی بخواهد به این دستگاه نفوذ کند و یا بهوسیله ضربه و دما آن را باز کند، سنسورها طوری در آن تعبیه شدهاند که توسط هر یک از این موارد، دستگاه تمپر میشود یعنی عملا دستگاه ریست فکتوری و به حالت اولیه کارخانه برمیگردد و همه اطلاعات و تنظیمات آن پاک میشود؛ بنابراین اصلا امکان اینکه بتوان HSM را باز کرد، وجود ندارد.
مرکز ریشه؛ معادل سازمان NIST آمریکا
به گفته طاهری، ورود دستگاه HSM به ایران تحریم است و هیچکدام از HSMهای خارجی بهصورت رسمی وارد ایران نمیشوند؛ بنابراین آنها نمیتوانند HSM تولید داخل را بهعنوان محصولی که در کشور ایران ساخته شده است، به سازمان NIST معرفی کنند و به آنها درخواست دهند که این دستگاه را ارزیابی کنند. در ایران مرکزی به نام «ریشه» وجود دارد که کاری مشابه سازمان NIST را انجام میدهد و متولی این امر است و دارای استانداری مشابه سطح سه FIPS1402 است و محصول HSM شرکت حصین ایمن نیز توسط مرکز ریشه در مراحل پایانی ارزیابی است.
دلیل تمرکز حصین ایمن بر پروژه HSM
تمرکز هلدینگ حصین در سال 82 بر دو کار کلی بوده است؛ یکی واردکردن HSMهای Safe Net شرکت جمالتو و دیگری، انجام تستهای نفوذ. بهمرورزمان که محصولات این شرکت زیاد شد، تصمیم به تاسیس شرکتی میگیرند که مشخصا تمرکزش روی این موضوع باشد و بهاینترتیب شرکت حصین ایمن تاسیس میشود؛ بنابراین از سال 88 این امور به شرکت حصین ایمن محول میشود و از سال 90 بهطور جد، مجموعه تصمیم میگیرد با توجه به نیازی که در کشور وجود داشت، دست به تولید HSMهای داخلی بزند؛ چرا که این نگرانی همیشه درباره این دستگاه وجود داشته که HSM یک بلکباکس است و کسی نمیتواند آن را باز کند، به همین خاطر نیز احتمالی وجود دارد که اگر به طریقی این دستگاه به اینترنت وصل شود، ممکن است اطلاعات آن نهاد حساس به خارج از کشور منتقل شود.
به گفته طاهری، این نگرانی همیشه وجود داشته و در حال حاضر نیز بیشتر شده است؛ بنابراین نیازی که وجود دارد، تولید دستگاه HSM در داخل کشور توسط شرکتی است که هم بتواند دستگاه را برای الگوریتمهای بومی، سفارشی کند و هم قابلاعتماد باشد و بتوان به آن اعتماد کرد. به همین منظور نیز شرکت و مجموعه حصین ایمن از سال 90 بهطورجدی روی تولید HSM که یک تکنولوژی هایتک است، تمرکز کرد و وقت گذاشت.
برنامههای کسبوکاری حصین ایمن در رابطه با HSM
مدیر توسعه نرمافزار حصین ایمن، درباره تمرکز این شرکت روی محصول HSM میگوید: «برنامه کسبوکاری ما دو بخش داشت و عملا دو محصول را ارائه کردیم. چون تولید نرمافزار در ایران راحتتر است، محصول اول ما به این صورت بود که ما بستر نرمافزاری HSM را ایجاد کردیم یعنی از سوی سرور و مشتری، کدهای آن نوشته و تست شد و استانداردی که از آن استفاده میکردیم نیز PKCS#11 است و واسط ارتباطی HSMها در دنیا نیز از یک استانداری پشتیبانی میکند که این استاندارد PKCS#11 است و در دنیا تعریف شده است.»
او درباره استاندارد PKCS توضیح میدهد: «PKCS استانداردهای مختلفی دارد و شماره 11 آن با API که برای توکنهای رمزنگاری استفاده میشود، ارتباط دارد. همه HSMها از این استاندارد پشتیبانی میکنند چرا که اساسا راهکارها و نرمافزارها از طریق این استاندارد به HSMها وصل میشوند؛ بنابراین اگر قرار باشد محصول اوراکل و یا مایکروسافت به HSM وصل شود، از طریق این استاندارد به HSM وصل میشود.»
طاهری درباره نام دستگاه HSM حصین ایمن میگوید: «اسم این محصول را «سِرٌبن» از ترکیب دو واژه فارسی «سِر» به معنای رمز و «بن» به معنای ریشه گذاشتیم و در حال حاضر دو نسخه از این محصول توسعه داده شده است.»
چرا نسخه اول سِربُن (HSM حصین ایمن)، HSM کاملی نبود؟
طاهری درباره توسعه اولین نسخه HSM در حصین ایمن میگوید: «ما بر اساس این استاندارد شروع به توسعه نرمافزار HSM کردیم و تقریبا در سال 93 نسخه اول با نام CS400، مخففCrypto Server را آماده کردیم. تفاوتی که CS400 با HSM کامل داشت این بود که HSMها یک موتور رمزنگاری دارند و معمولا این موتورها FPGAbaseهستند و FPGA مداراتی است که میتوان با VHDL آنها را برنامهریزی کرد؛ درواقع چیزی شبیه به CPU، واحد پردازشگر رمزنگار.»
به گفته طاهری، اصل و سختی کار تولید HSM در طراحی موتور رمزنگاری است. او درباره موتور رمزنگاری در نسخه اول HSM شرکت میگوید: «موتور رمزنگاری ما در نسخه اول، نرمافزاری بود البته یکسری ملاحظات فیزیکی روی آن نیز داشتیم برای مثال ما بوردی را روی آن قرار داده بودیم که اگر کسی آن را سوراخ کند، تمپر اتفاق بیفتد و همچنین سنسوری داشتیم که اگر درِ HSM باز میشد نیز تمپر اتفاق میافتاد اما هنوز هم نسخه CS400 به معنای واقعی HSM نبود یعنی سطح سه FIPS1402 را پاس نمیکرد چراکه موتور رمزنگاری آن نرمافزاری بود.»
تفاوت نسخه دوم HSM سربن با نسخه اول
مدیر توسعه نرمافزار حصین ایمن درباره تفاوتی که نسخه جدید HSM این شرکت با نسخه قبلی دارد، توضیح داد: «تفاوتی که در نسخه جدید، که احتمالا اسم آن را CS800 بگذاریم، با نسخه قبل وجود دارد، این است که موتور رمزنگاری آن بر اساس FPGA بهصورت سختافزاری است و همکارانم تمامی کدهای الگوریتمهای رمزنگاری متعارف آن را نوشتهاند و خودشان آن را برنامهریزی کردهاند و حتی ما توانستیم بورد دستگاه را نیز طراحی کنیم اما هنوز در مرحله چاپ و تولید بورد هستیم و عملا امروز میتوانم بگویم که ما در مرحله آزمایشگاهی کل دستگاه را ساختهایم و آن را آزمایش کردهایم و این لوپ کامل بسته شده است و عملا دستگاه در مرحله آزمایشگاهی آماده است ولی طبیعتا باید برای تولید انبوه تستهای مختلف روی آن صورت بگیرد تا در اختیار کاربران قرار بگیرد که البته فاصلهی زیادی تا آن زمان نداریم.»
بنابراین تفاوت جدی HSM جدید حصین ایمن، با آنچه در نسخه اول وجود داشت این است که موتور رمزنگاری سختافزاری به این نسخه اضافه شده است. همچنین به گفته طاهری، یکسری ملاحظات فیزیکی دیگر نیز به این دستگاه اضافه شده؛ برای مثال کیس آن ارتقا یافته و مدارات داخلی آن بهتر شدهاند و از نظر عملکرد نیز بهبود یافته است ولی آنچه حائز اهمیت است این است که توانستهاند موتور رمزنگاری را بر اساس FPGA ایجاد کنند.
تولید دو نسخه دیگر تا آخر آذرماه
به گفته طاهری، تاکنون یک دستگاه را تولید کردهاند و در مرحله تست آزمایشگاهی قرار دارد و احتمالا به زودی آن را به یکی از نهادهای مرتبط برای تست و ارزیابی عملیاتی بدهند. او درباره فرایند تولید این دستگاهها گفت: «فرایند تولید این دستگاهها پیچیده نیست اما یکسری قطعات لازم دارد که برخی از آنها در خارج از کشور تولید میشود؛ بنابراین وارد کردن و آمادهسازی قطعات زمانبر است ولی تا آخر آذرماه امسال ذو نسخه دیگر برای نصب نهایی تولید خواهد شد و با توجه به توافقات انجام شده، تا پایان سال 97، حدود 10 دستگاه سربن تولید و تحویل میشود»
در پایان این صحبتها طاهری گفت: «طبیعی است که رسیدن به ویژگیهای نمونههای خارجی محصولات بومی، زمانبر است اما تولیدکنندگان داخلی تا رسیدن محصولات به این بلوغ به حمایت نیاز دارند. بخشی از حمایتها، مالی و از طریق اعطای وام است ولی بخش دیگر این حمایتها که خیلی مهم و ضروری هستند، وضع یکسری قوانین است؛ بهعنوانمثال بهتر است واردات یک محصول خارجی که نمونه مشابه داخلی دارد، به نحوی کنترل شود که به محصولات داخلی نیز بها داده شود؛ در مثال HSM مطالبات شرکتهای مشابه حصین ایمن از طرف نهادهای نظامی و دولتی که از این دستگاهها استفاده میکنند، این است که تمهیداتی اتخاذ شود که گرفتن استاندارهای مرکز ریشه را سهولت بخشیده و نهادها را ملزم به کاربری محصولات قابلاتکای داخلی کند تا از این راه هم دانش بومی به کار گرفته شود و هم شرکتهای داخلی انگیزه بیشتری برای بهبود محصولات پیدا کنند.»
با عرض سلام
از مقاله خوبتون تشکر میکنم.
در چند قسمت از مقاله به “FBJA” اشاره شده است که صحیح نیست. شکل درست این عبارت “FPGA ” بوده که مخفف Field Programmable Gate Array است.