(SGX) که مخفف Intel Software Guard Extensions ، یک مجموعه دستورالعمل امنیتی است که در بسیاری از واحدهای پردازش مرکزی (CPU) مبتنی بر x86 اینتل ساخته شده است. SGX به توسعه دهندگان این امکان را می دهد که حافظه رایانه وسرور را به آنچه که تحت عنوان Enclaves گفته می شود، تقسیم کنند، که مناطق خصوصی و از پیش تعریف شده در حافظه هستند که می توانند بهتر از اطلاعات حساس کاربران محافظت کنند.
چرا از تکنولوژی SGX باید استفاده کنیم
به طور مثال چگونه می توان سوابق پزشکی را به اشتراک گذاشت ولی بدون افشای اطلاعات خصوصی بیماران روند درمانی آنها طی شده و حیات آنها حفظ شود.
یا بدون به اشتراک گذاشتن اطلاعات محرمانه مشتری، تراکنش های بانکی جعلی را می توان شناسایی کرد
تا کنون نرم افزار و یا تکنولوژی وجود نداشته که از داده های شما را در حین ارسال و یا پردازش دیتا ایمن سازی کند اما با تولید SGX ، هم اکنون این امکان در اختیار شما می باشد.
یکی از ویژگی های کلیدی پردازنده های scalable نسل سوم اینتل xeon ، دادهها درحین ارسال نیزرمزگذاری می شوند.
با این حال؛ حجم انبوهی از دادههای ارزشمند و حساس اغلب مخفی ماندهاند، زیرا ممکن است با قرار گرفتن در دسترسی حافظه آسیب پذیر شوند.
بهینه سازی راندمان عملیاتی زیرساخت های حیاتی و کارخانه ها و همه اینها با حفظ یکپارچگی داده های شما
محاسبات محرمانه ارائه شده توسط اینتل sgx یک تغییر دهنده واقعی بازی است که سازمان ها را قادر می سازد تا از سخت ترین سیاست های نظارتی خود بدون به خطر انداختن داده ها یا توانایی خود پیروی کنند.
SGX نسبتاً جدید است و پنج سال پیش در پردازندههای Core نسل ششم اینتل و پردازندههای سرور Xeon E3 v6 معرفی شد. ولی اکنون بر روی پردازنده های نسل سوم اینتل زئون، سرور ها ی gen10 plus اچ پی بر روی کار آمده اند.
بر اساس مقاله ای که توسط آزمایشگاه علوم کامپیوتر و هوش مصنوعی MIT منتشر شده است، هدف اصلی SGX حل مشکل پردازش ایمن داده از راه بوده است .
سخت افزار قابل اعتماد یک فضای امن ایجاد می کند و کاربر سرویس محاسبات از راه دور محاسبات و داده های مورد نظر را در فضای امن بار گذاری می کند. سخت افزار قابل اعتماد از محرمانه بودن و یکپارچگی داده ها در حالی که محاسبات روی آن انجام می شود محافظت می کند.
Intel SGX برای چه مواردی استفاده می شود؟
Intel SGX مجموعهای از دستورالعملها است که برای افزایش امنیت کد و دادههای برنامه استفاده میشود که به کاربران درجه بیشتری از محافظت در برابر افشا یا تغییر دادههای گفته شده را میدهد. اساسا، Intel SGX با ایجاد یک محیط اجرایی قابل اعتماد در حافظه کمک میکند تا دادههای حساس کاربران آشکار یا اصلاح نشوند.
چنین داده های حساسی شامل اطلاعاتی مانند سوابق پزشکی، سوابق مالی، رمزهای عبور، کلیدهای رمزگذاری، فاکتورهای شناسایی بیومتریک می شود – هر گونه اطلاعاتی که در صورت افشا یا اصلاح می تواند باعث آسیب شود.
SGX برای محافظت در برابر بسیاری از تهدیدات امنیت سایبری شناخته شده ، مانند حمله نرم افزارهای مخرب، که با ایجاد ضعف در سطح امنیت سرور ها به اطلاعات محرمانه آنها حمله می کنند.
بنابراین، اگر بدافزار پیچیده، به عنوان مثال، به لایههای OS، BIOS، VMM یا SMM حمله میکند، Intel SGX با ارائه یک لایه حفاظتی اضافی و قرار دادن دادههای حساس شما در یک بخش ایزوله و رمزگذاری شده از حافظه از داده ها محافظت می کند. بنابراین، این لایهها میتوانند به خطر بیفتند، اما دادههای شما همچنان محافظت میشوند، زیرا دادههای برنامه ذخیرهشده در خود محصور برای طرفهای خارجی و غیر تأیید شده غیرقابل دسترسی است و بنابراین از تخریب، دستکاری یا ویرایش توسط کاربران غیرمجاز در امان است.
اینتل SGX چگونه کار می کند
1. در زمان اجرا، برنامه شما به دو بخش تقسیم می شود: یک بخش ایمن و یک بخش غیر ایمن.
2. هنگامی که برنامه راه اندازی می شود، enclave ایجاد می شود و آن enclave در قسمت محافظت شده قرار می گیرد.
3. هنگامی که یک تابع enclave فراخوانی می شود، فقط کد درون enclave می تواند داده های آن را ببیند. دسترسی های خارجی همیشه ممنوع است. هنگام بازگشت، داده های محصور در حافظه محافظت شده باقی می مانند.
در زمان اجرا، دستورالعملهای Intel SGX، محفظه را در یک منطقه حافظه رمزگذاریشده ویژه با امکان ورود/خروج محدود که توسط توسعهدهنده تعریف شده است، میسازد و اجرا میکند. این به جلوگیری از نشت اطلاعات کمک می کند. کد محصور و دادههای داخل محیط CPU به صورت شفاف اجرا میشوند، و دادههای محصور نوشته شده در حافظه رمزگذاری میشوند و یکپارچگی آن بررسی میشود، که کمک میکند تا حدی اطمینان حاصل شود که هیچ دسترسی غیرمجاز یا ردیابی حافظه به داخل محفظه رخ نمیدهد.
چه کسی از Intel SGX استفاده می کند؟
هر کسی که پردازندههای اینتل با قابلیت SGX داشته باشد، میتواند انتخابهای حساسترین دادههای خود را با استفاده از SGX ایمن کند. برنامه های نظامی، تجاری و صنعتی که به سرورها و سیستم های کاری که به این CPU ها متکی هستند به این فناوری دسترسی دارند. کاربرد گسترده ای در صنایع مختلف دارد، زیرا کاربر مستقیماً در CPU به SGX دسترسی دارد واین تکنولوژی مختص هیچ صنعت خاصی نیست.
چگونه Intel SGX را فعال و غیرفعال کنیم؟
طبق گفته اینتل، قبل از اینکه یک برنامه بتواند از Intel SGX استفاده کند، چهار شرط باید رعایت شود:
• پردازندههای سرور یا وورک استیشن شما باید دستورالعملهای Intel SGX را پشتیبانی کنند ( این امکان برای سرور های اچ پی از نسل 10+ به بعد موجود می باشد).
• BIOS های شما باید از Intel SGX نیز پشتیبانی کنند.
• BIOS شما باید Intel SGX را فعال کرده باشد.
• نرم افزار پلتفرم SGX اینتل باید روی سرورها یا ایستگاه های کاری شما نصب شود.
در بایوس شما، با فرض اینکه بایوس شما از پیکربندی BIOS و عملکردهای فعال، غیرفعال و کنترل شده توسط نرم افزار SGX پشتیبانی می کند، کاربران می توانند SGX را فعال و یا غیرفعال کنند، یا از سرور یا وورک استیشن بخواهند که SGX را به طور خودکار هنگام بوت شدن فعال کند. نرم افزار برای کاربرانی که نمی خواهند یا نیازی به دسترسی به بایوس در هر بار بوت شدن سیستم ندارند، عالی است.
آیا می توان Intel SGX را غیرفعال کرد؟
به طور کلی، در هیچ شرایطی نباید Intel SGX را غیرفعال کنید.
اگر قصد دارید از Intel SGX برای کمک به ایمن کردن برنامهها و دادههای حساس خود استفاده کنید، باید از غیرفعال کردن کاملاً اجتناب شود، زیرا غیرفعال کردن هیچ برنامه کاربردی یا محافظت از دادهای را ارائه نمیدهد. اگر SGX غیرفعال باشد، حتی نمیتوانید نرمافزار پلتفرم Intel SGX را نصب کنید.
پردازنده اینتل SGX پشتیبانی می شود
با شروع پردازنده های مقیاس پذیر Xeon که از سه ماهه سوم 2015 به بعد عرضه شدند، همه پردازنده های سرور از Intel SGX پشتیبانی می کنند. بعضی از آنها … هستند:
Intel® Xeon® E-2288G
Intel® Xeon® Gold 6326
Intel® Xeon® Platinum 8352Y
علاوه بر این، اکثر دستگاه های دسکتاپ و موبایل با پردازنده های نسل ششم Intel Core از SGX پشتیبانی می کنند