این مقاله میخواهیم اطلاعاتی در مورد کلاستر محرمانه و چگونگیِ ادغام محاسبات محرمانه، که مجموعهای از فناوریهای سختافزاری و نرمافزاری طراحی شده برای محافظت از دادههای مورد استفاده در کلاستر Red Hat OpenShift است صحبت کنیم. هدف ما افزایش امنیت دادهها بوده، بنابراین تمام دادههای پردازش شده توسط بارهای کاریِ در حال اجرا در OpenShift میتوانند در هر مرحله محرمانه باقی بمانند.
کلاستر محرمانه چیست
در این مقاله، ما بر روی کلود عمومی تمرکز میکنیم و بررسی میکنیم که چگونه محاسبات محرمانه با OpenShift میتواند به طور مؤثر مسائل مربوط به اعتماد مرتبط با محیطهای مبتنی بر کلود را برطرف کند. محاسباتِ محرمانه برخی از موانعی که سازمانهای نظارتی و دفاعی، هنگام در نظر گرفتن اتخاذ کلود عمومی با پرداختن به مسائل امنیتی و حریم خصوصی دادههای مهم با آن مواجه هستند، را از بین میبرد. به طور خاص، ما در مورد برخی از موارد استفادهی رایج که در آن کلاسترهای محرمانه میتواند مستقر شود بحث خواهیم کرد. Red Hat سرمایه گذاری مستمری را در محاسبات محرمانه انجام داده و از طیف وسیعی از موارد استفاده در مراحل مختلف پشتیبانی میکند. این مقاله آنچه را که در حال حاضر با کلاستر OpenShift در دسترس است شرح میدهد و به آنچه در آینده باید انتظار داشت اشاره میکند.
بیشتر بخوانید: بررسی سرویس Red Hat OpenStack بر روی OpenShift با استفاده از استراتژی Adoption
ما فرض میکنیم که خواننده در زمینهی محاسبات محرمانه و OpenShift کمی اطلاعات دارد. برای کسب اطلاعات با جزئیات بیشتر در مورد آنها، توصیه میکنیم کتاب الفبای محاسباتِ محرمانه و مرور کلی OpenShift Red Hat را بخوانید.
کلاستر محرمانه چیست؟ سازمانها و کاربران به طور فزایندهای به سمت راحتی، انعطافپذیری و مقیاسپذیری سرویسهای مبتنی بر کلود جذب میشوند. ارائهدهندگانِ کلود ، ماشینهای مجازی VM را برای جداسازی بارِ کاری ارئه میکنند. در حالی که یک ماشین مجازی سنتی هم میتواند حجم کار را از سایر ماشینهای مجازی که در همان میزبان اجرا میشوند جدا کند، اما هنوز هم در برابر نقضِ محرمانه بودن از طریق هایپروایزر، مانیتور ماشین مجازی و میزبان آسیب پذیر است. ایمنسازی دادههای حساس از تهدیدات خارجی و داخلی هنگام اجرای بارهای کاری در زیرساختهای مدیریت شده توسط شخص ارائه دهندگان همچنان یک چالش است.
یکی از راهکارهای این چالش استفاده از محاسبات محرمانه است. در مدل امنیتی موجود، ما از قبل راههایی برای پیادهسازی کنترلهای امنیتی برای دادههای در حال انتقال مانند https، TLS و غیره و زمانی که دادهها در حالت استراحت هستند مانند دیسکهای رمزگذاریشده داریم. محاسبات محرمانه یک فناوری مبتنی بر سختافزار است که در هنگام استفاده از دادهها محرمانه بودن را فراهم میکند.
امروزه، تمام معماریهای برجسته یا از قبل از محاسبات محرمانه در پردازنده پشتیبانی میکردند و یا به زودی پشتیبانی خواهند کرد. برای مثال، در x86، اینتل، Trust Domain Extensions یا TDX را ارائه میکند، وAMD، SEV-SNP یاSecure Encrypted Virtualization – Secure Nested Pages را که جایگزین نسلهای قبلی فناوریهای SEV-ES و SEV میشود ارائه میکند. در s390x این ویژگی با عنوانSecure Execution یا SE در دسترس است، Power دارای یک Protected Execution Facility یا PEF بوده و ARM در حال توسعهیConfidential Compute Architecture یا CCA می باشد و در نهایتConfidential VM Extensions یا COVE برای پلتفرم RISC-V پیشنهاد شده است. در حالی که نام، طراحی و پیادهسازی بین سازندگان و معماریها متفاوت است، اما در اصل، همه برای حل یک مشکل طراحی شدهاند.
محاسبات محرمانه از یک محیط اجرای قابل اعتماد TEE برای محافظت از دادهها در هنگامِ استفاده بهره میبرد. TEE یک مرز محرمانهی حافظه و CPU است که قابل اعتماد و محافظتشده است. سختافزار از TEE با جداسازی و محدود کردن دسترسی از خارج از TEE و یا رمزگذاری محافظت میکند. بنابراین، دادههای پردازش شده یا دادههای در حال استفاده در TEE و کدهایی که آن را پردازش میکنند، محافظت میشوند.
بیشتر بخوانید: افزایش قابلیتهای SQL Server Big Data Clusters در Red Hat OpenShift
یک ماشین مجازی محرمانه یا CVM به عنوان TEE عمل میکند و میزبان، هایپروایزر و مانیتور VM را از مرزهای اعتماد خود حذف میکند. نمودارِ زیر تغییرات مرز اعتماد را برای یک برنامهی کاربردی در حال اجرا در یک CVM نشان میدهد.
چندین فناوری امنیتی برای محافظت از CVM و تایید یکپارچگی آن استفاده میشود. فقط بار گذارهای راهاندازی یا Bootloaders و کرنلهای معتبر و دارای امضای دیجیتالی مجاز به اجرا در CVM، از طریق فرآیندی به نام Secure Boot، هستند. بعلاوه، سختافزار یک گزارش گواهی امضا شده تولید میکند تا تایید کند که CVM در حالت محرمانه کار میکند.
یک ماژول پلتفرم مورد اعتماد مجازی یا vTPM، همچنین، میتواند برای اندازهگیری و ثبتِ اجزای در حال اجرا در زمان بوت، مانند Bootloader استفاده شود، فرآیندی که به آن «بوت اندازه گیری شده» یا Measured Boot گفته میشود.
منظور از گواهی از راه دور در کلاستر محرمانه چیست؟
یک مفهوم کلیدی در محاسبات محرمانه، گواهی از راه دور است. به عبارت ساده، قبل از اینکه هر داده حساسی در حافظه آن بارگذاری شود، این گواهی اثبات میکند که CVM واقعاً محرمانه و قابل اعتماد است. با گواهی از راه دور، CVM شواهد امضا شده را به سرور گواهی ارسال میکند و محرمانه بودن آن را نشان میدهد. سپس سرور این شواهد را تأیید میکند تا مشخص کند آیا میتوان به CVM اعتماد کرد یا خیر. این شواهد شامل گزارشِ گواهی امضا شده از سختافزار، گزارش اندازهگیری امضا شده از vTPM در صورت وجود، و هر مورد مرتبط دیگری که باید تأیید شود است. دادههای حساس از جمله کلیدها و گواهیها را میتوان، پس از تأیید موفقیتآمیز، بازآورد.
در یک کلاستر OpenShift با فعال بودن محاسباتِ محرمانه، همه گرهها بر روی CVM اجرا میشوند، بنابراین حافظه برای بارهای کاری و خدمات مدیریت آنها به طور خودکار از میزبان پنهان میشود. علاوه بر این، هر گره جدید باید از طریق تایید از راه دور مشابه CVM بگذرد. پس از تأیید موفقیتِ آمیز، گره مورد اعتماد قرار میگیرد، اسرار به اشتراک گذاشته میشوند و به آن اجازه داده میشود که به کلاستر بپیونددو
این ادغام کاربران را قادر میسازد تا از مقیاسپذیری، انعطافپذیری و راحت بودنِ سرویسهای ابری از طریق OpenShift بهره ببرند و در عین حال کنترل دادههای حساس خود را حفظ کنند. با جداسازی کلاستر OpenShift از زیرساختهای زیربنایی، بردار تهدید به طور قابل توجهی کاهش مییابد. در نتیجه، بارهای کاری را می توان در کلِ چرخهی عمرشان با امنیت بیشتری اجرا کرد و خطر قرار گرفتن در معرض ارائهدهندگانِ کلود یا طرفهای غیرمجاز را به حداقل رساند. از دیدگاه صاحبِ برنامه، این تجربه تقریباً یکپارچه است و به آنها اجازه میدهد تا، درست مانند یک کلاستر OpenShift استاندارد، حجم کاری را با محاسبات محرمانه راهاندازی کنند.
این امر فرصتهای جدیدی را برای صنایعی که اطلاعات حساس را ذخیره و پردازش میکنند مانند خدمات مالی، مراقبتهای بهداشتی و سازمانهای دولتی فراهم میکند. آنها اکنون میتوانند حجم کاری خود را از on-prem به cloud منتقل کنند و همچنین آن را مطابق با الزامات قانونی در فضای مبتنی بر کلود اجرا کنند. برخی از این مواردِ استفاده به تفصیل در بخش زیر مورد بحث قرار گرفته است.