Secure Element یا SE یک تراشه سختافزاری مستقل و ایزولهشده است که به منظور ذخیرهسازی و پردازش دادههای فوقحساس طراحی میشود؛ دادههایی مثل کلیدهای رمزنگاری (Private Key)، اطلاعات احراز هویت، گواهیهای دیجیتال، عملیات امضای رمزنگاری (Cryptographic Signing). برخلاف میکروکنترلرهای معمولی (MCU)، چیپ امن بهگونهای طراحی میشود که حتی در صورت دسترسی فیزیکی مهاجم به دستگاه، استخراج اطلاعات از آن عملا غیرممکن باشد. این قطعه به ویژه در ولت سخت افزاری بسیار کاربرد دارد.
Secure Element چرا به وجود آمد؟
طبق گزارشهای امنیتی، بیش از ۷۰٪ حملات موفق به دستگاههای سختافزاری از طریق دستکاری فیزیکی، تحلیل توان (Side-Channel) یا تزریق خطا انجام میشود؛ اما نرمافزار بهتنهایی قادر به مقابله با این سطح از تهدید نیست. به همین دلیل، SE بهعنوان یک Root of Trust سختافزاری توسعه پیدا کرد؛ یعنی نقطهای که کل اعتماد سیستم از آن آغاز میشود.
معماری فنی SE
یک تراشه امن معمولا شامل اجزای زیر است:
- پردازنده داخلی ایزوله
- حافظه Read Only
- NVM
- RAM
- موتور رمزنگاری سختسختافزاری
- سیستم تشخیص دستکاری
پردازنده داخلی ایزوله
CPU داخل Secure Element یک پردازندهی جداگانه و ایزوله است که برای موارد امنیتی کاربرد دارد. این پردازنده ۸ یا ۳۲ بیتی یک سیستمعامل امن (Secure OS) کوچک را اجرا میکند و وظیفهاش نگهداری و مدیریت کلیدهای رمزنگاری و اجرای عملیات مربوط بهآن مثل امضا، رمزگذاری و احراز هویت است. نکتهی مهم اینجاست که این CPU هیچ دسترسی مستقیمی به دنیای بیرون ندارد و حتی CPU اصلی دستگاه (مثل MCU یا Application Processor) هم نمیتواند کلیدها را بخواند؛ بلکه تنها میتواند از طریق دستورهای مشخص و محدود (مثل پیامهای کنترلی)، از Secure CPU درخواست انجام عملیات کند. به زبان ساده، کلیدها همیشه داخل SE میمانند و این CPU مثل یک گاوصندوق هوشمند، فقط نتیجهی کار را تحویل میدهد، نه خود اطلاعات حساس.
حافظه Read Only
ROM یا حافظه فقطخواندنی بخشی از چیپ است که در زمان تولید برنامهریزی میشود و بعد از آن دیگر قابل تغییر نیست؛ به همین دلیل پایهی اعتماد کل سیستم به حساب میآید. در SE، این حافظه شامل بوتلودر امن، گواهی ریشه (Root Certificate) و اولین کدهای امنیتی میشود که بلافاصله بعد از روشن شدن دستگاه، اجرا میشوند. فرآیند به این شکل است که با روشن شدن چیپ، کدهای داخل ROM بهعنوان نقطه شروع اعتماد (Trust Anchor) اجرا میشوند و قبل از هر چیز، صحت و امضای Secure OS یا Firmware را بررسی میکنند. اگر ROM وجود نداشت یا قابل تغییر بود، یک مهاجم میتوانست سیستمعامل امن را با نسخهی مخرب جایگزین کند و در این صورت، کل زنجیرهی امنیت از همان ابتدا فرو میریخت.
NVM درون چیپ امنیتی
NVM یا حافظه غیرفرّار در Secure Element، همان جایی است که اطلاعات فوقحساس مثل کلید خصوصی، سید (Seed) و کلیدهای مرتبط با داراییهای بلاکچین ذخیره میشوند و حتی با خاموش شدن دستگاه هم از بین نمیروند. این حافظه بهصورت رمزگذاریشده و با چیدمان بههمریخته ذخیره میشود و علاوه بر آن، با سنسورهای فیزیکی در برابر دستکاری یا حملات سختافزاری محافظت شده است. دادهها معمولا در اسلاتهای جداگانه نگهداری میشوند؛ مثلا یک اسلات برای کلید ECC، یکی برای کلید AES و بخشی برای شمارنده یا PIN. نکتهی کلیدی این است که حتی CPU اصلی دستگاه هم اجازه خواندن محتوای NVM را ندارد و فقط میتواند درخواست بدهد که مثلا «با این کلید، این داده را امضا کن»، بدون اینکه خود کلید یا اطلاعات محرمانه را ببیند.
نقش RAM در سکیور المنت
تفاوت RAM و NVM در ماهیت و سطح حساسیت آنها است. RAM یک حافظهی موقتی به حساب میآید که فقط هنگام روشن بودن چیپ استفاده میشود و با قطع برق کاملا پاک خواهد شد؛ بنابراین برای نگهداری دائمی کلیدها، مناسب نیست. در مقابل، NVM حافظهی دائمی است که اطلاعات بسیار حساسی مثل کلیدهای رمزنگاری را حتی بعد از خاموش شدن دستگاه حفظ میکند و به همین دلیل هدف اصلی حملات سختافزاری محسوب میشود. به زبان ساده، RAM برای پردازشهای لحظهای امن استفاده میشود، اما NVM همان گاوصندوق دائمی است که باید با شدیدترین لایههای امنیتی محافظت شود.
موتور رمزنگاری سختافزاری در چیپ امنیتی
موتور رمزنگاری سختافزاری در Secure Element طوری طراحی شده است که الگوریتمهای متداول و امن، مانند AES با کلیدهای ۱۲۸ یا ۲۵۶ بیت، RSA با طول ۲۰۴۸ یا ۳۰۷۲ بیت و هشهای SHA-256 و SHA-512 را مستقیما و بسیار سریع پردازش کند. این موتور، عملیات رمزنگاری و امضا را در سطح سختافزار انجام میدهد، که علاوه بر افزایش سرعت اجرای الگوریتمها، مصرف توان بهینهای دارد و پیادهسازی الگوریتمها را در برابر برخی حملات نرمافزاری مقاوم میسازد. بهعلاوه، طراحی سختافزاری آن باعث میشود عملیاتهای پیچیده مانند امضاهای دیجیتال یا رمزگذاری دادهها بلافاصله و مطمئن انجام شود؛ بدون آنکه بار پردازشی روی CPU میزبان بیفتد.
سیستم تشخیص دستکاری (Tamper Detection)
سیستم تشخیص دستکاری (Tamper Detection) طوری طراحی شده که تغییرات غیرمعمول در ولتاژ یا فرکانس، دمای غیرعادی یا تابش نور لیزر را شناسایی کند. وقتی تراشه متوجه چنین حملهای میشود، بلافاصله تمام دادههای حساس مانند کلیدها و اطلاعات رمزنگاریشده را پاک میکند تا هیچ راهی برای دسترسی مهاجم باقی نماند. این مکانیزم، امنیت فیزیکی تراشه را بهشدت افزایش میدهد و حملات نیمهمخرب را تقریبا بیاثر میکند.
تفاوت SE با میکروکنترلرهای معمولی
برای درک سریع تفاوت امنیتی بین ۲ معماری، جدول زیر مقایسه SE و MCU معمولی را نشان میدهد:
| ویژگی | Secure Element | MCU معمولی |
| ایزولاسیون سختافزاری | کامل | ندارد |
| مقاومت در برابر حملات فیزیکی | بسیار بالا | بسیار ضعیف |
| گواهی امنیتی رسمی | CC / EAL | ندارد |
| استخراج کلید | عملا غیرممکن | ممکن |
کاربردهای تراشههای امن در دنیای بیرون
در سطح جهانی، بیش از ۸ میلیارد سیمکارت در دنیا از SE استفاده میکنند؛ تمام پاسپورتهای بیومتریک اتحادیه اروپا دارای این قطعه کاربردی هستند؛ همچنین، ۱۰۰٪ کارتهای بانکی EMV مبتنی بر Secure Element طراحی شدهاند. در بحث ارزهای دیجیتال هم، عمدتا درون کیف پولهای سختافزاری تعبیه میشوند؛ اینجا، چیپ امنیتی مسئول تولید کلید تصادفی غیرقابل پیشبینی(TRNG)، امضای تراکنش و جلوگیری از استخراج عبارت Seed است.
استانداردهای امنیتی Secure Element
مهمترین معیار سنجش امنیت SE، استاندارد Common Criteria (CC) است؛ اما EAL چیست؟ EAL (Evaluation Assurance Level) سطح اطمینان امنیتی را از 1 تا 7 مشخص میکند:
- EAL1: بررسی عملکردی ساده
- EAL4: تحلیل طراحی و تست متوسط
- EAL6: تستهای تهاجمی پیشرفته
- EAL7: سطح نظامی (بسیار نادر)
برای مثال، EAL6+ یعنی مقاومت در برابر Side-Channel Attacks (DPA / CPA)، Fault Injection، Glitch Attacks و Probing نیمهمخرب. بیش از ۹۰٪ SEهای تجاری معتبر دنیا در سطح EAL5 یا EAL6 هستند.به طور مثال، بررسی کیف پول سیف پل اس وان پرو نشان میدهد که این ولت سختافزاری دارای گواهی امنیتی EAL6+ است.
مزایا و محدویتهای چیپ امنیتی (SE)
بیایید ویژگیهای مثبت این تراشه را در کنار معایب آن بررسی کنیم:
| مزایای Secure Element | محدودیتهای Secure Element |
| ایزولاسیون کامل کلید خصوصی | هزینه تولید بالاتر |
| مقاومت بالا در حملات فیزیکی | انعطافپذیری کمتر نسبت به نرمافزار |
| عدم نیاز به اطمینان از سیستمعامل | نیاز به ممیزیهای سنگین امنیتی |
| انطباق با استانداردهای بانکی و دولتی | – |
هر چند همین محدودیتها به نوعی نشاندهنده امنیت بالای این چیپها هستند.
تهدیدهای رایج در تراشهها و نحوه دفع آنها در SE
در SE، فرض را بر این گرفتهاند که مهاجم سطح بالا است و تواناییهای زیر را در اختیار دارد:
- دسترسی فیزیکی کامل به دستگاه
- تجهیزات آزمایشگاهی (Oscilloscope، EM Probe، Laser)
- دانش رمزنگاری و مهندسی معکوس
- زمان نامحدود
از جمله حملاتی که مهاجم در این سطح میتواند استفاده کند، حملات جانبی DPA+EMA، اختلال ولتاژ و کلاک، تزریق خطا با لیزر و پروب فیزیکی هستند؛ در ادامه، هر مورد و روش دفاع SE را بررسی میکنیم.
حملات جانبی DPA + EMA
حملات سایدچنل با اندازهگیری نشتیهای فیزیکی مثل مصرف توان (DPA) و تابش الکترومغناطیسی (EMA)، تلاش میکنند بین عملیات رمزنگاری و کلید مخفی، همبستگی پیدا کنند. مهاجم با جمعآوری تعداد زیادی نمونه و تحلیل آماری، میتواند بیتهای کلید را حدس بزند. SEها با ایجاد نویز، پردازش تصادفی، اجرای یکنواخت زمانی در الگوریتمها و محافظ فلزی، این باگها را تضعیف میکنند. هدف دفاع، قطع هر رابطه ممکن بین سیگنال قابل اندازهگیری و داده محرمانه است.
اختلال در ولتاژ یا تیکتاک پردازنده (Voltage + Clock Glitch)
در تزریق خطا، مهاجم با دستکاری لحظهای ولتاژ یا کلاک سعی میکند منطق داخلی را دچار خطا کرده و مثلا یک بررسی امنیتی یا شمارنده PIN را رد کند. این حملات روی زمانبندی و پایداری مدار دیجیتال اثر میگذارند. Secure Element با سنسورهای ولتاژ/کلاک، منابع کلاک داخلی امن و محاسبات تکراری خطا را تشخیص میدهد. در صورت رفتار غیرعادی، تراشه میتواند ریست امن یا صفرسازی فوری دادههای حساس انجام دهد. در یک مورد خاص، مشخصات ولت وان کی پرو مقاومت این کیف پول سخت افزاری را در برابر این تهدیدات نشان میدهد.
تزریق خطا با لیزر (Laser Fault Injection)
در LFI از لیزر متمرکز برای ایجاد خطای موضعی در ترانزیستورها استفاده میشود تا بیت حافظه تغییر کند یا شرط امنیتی پرش داشته باشد (به نوعی اجرا نشود). این روش آزمایشگاهی بسیار دقیق است و نیاز به هدفگیری ناحیهای دارد. تراشههای امن با Active Shield Mesh، سنسور نور و لایههای فلزی فعال از آن دفاع میکنند. به محض تشخیص تابش، پاکسازی سریع کلیدها آغاز میشود.
ابزار تماس فیزیکی یا Probe
در پروب فیزیکی، مهاجم با بازکردن لایه محافظ تراشه و عملیات میکروپروب، تلاش میکند سیگنال باسها و حافظه را مستقیم بخواند. این کار پرهزینه و نیازمند تجهیزات پیشرفته است. SEها با رمزگذاری باس داخلی، لایههای شیلد و چیدمان حافظه درهمریخته مانع دسترسی میشوند. غالبا هر دستکاری فیزیکی، سنسورهای تخریبی را فعال و کلیدها را غیرقابل بازیابی میکند.
Secure Element چقدر در تامین امنیت داراییهای دیجیتال موثر است؟
Secure Element به عنوان یک ریشه اعتماد در کیف پولهای سختافزاری شناخته میشود که برای مقابله با حملات آزمایشگاهی و سایدچنل ساخته شده؛ جایی که نرمافزار بهتنهایی کافی نیست. این تراشه دارای یک CPU ایزوله، حافظههای امن (ROM، NVM و RAM)، موتور رمزنگاری سختافزاری و سیستم تشخیص دستکاری است. کلیدهای خصوصی و Seed داخل NVM رمزگذاریشده میمانند و هرگز در اختیار سیستم میزبان قرار نمیگیرند؛ فقط عملیاتهایی مثل امضای تراکنش داخل خود SE انجام میشود.
در ولتهای سختافزاری، SE نقش تولید اعداد تصادفی غیرقابل پیشبینی (TRNG) و نگهداری امن کلید را بر عهده دارد. نتیجه برای کاربر این خواهد بود که حتی با دسترسی فیزیکی مهاجم، کلیدها قابل استخراج نیستند. بنابراین امنیت ارزهای دیجیتال تا حد زیادی به کیفیت و سطح ارزیابی Secure Element درون دستگاه بستگی دارد؛ هنگام خرید کیف پول سختافزاری، بهتر است که چیپ آن دارای استاندارد EAL6+ باشد.
