{"id":3725,"date":"2021-12-05T16:55:56","date_gmt":"2021-12-05T15:55:56","guid":{"rendered":"https:\/\/sanctuary.dev\/?p=3725"},"modified":"2022-06-02T19:49:21","modified_gmt":"2022-06-02T17:49:21","slug":"security-services-secure-boot","status":"publish","type":"post","link":"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/","title":{"rendered":"Security Services: Secure Boot"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"3725\" class=\"elementor elementor-3725\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-dab5c9b nd-elementor-section-full elementor-section-height-default elementor-section-height-default\" data-id=\"dab5c9b\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2e55eef\" data-id=\"2e55eef\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-723a2fc elementor-widget elementor-widget-text-editor\" data-id=\"723a2fc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><!-- wp:paragraph --><\/p>\n<p class=\"intro\">Building secure IT systems is a complex and challenging task, as several properties must be achieved for a system to be fully secure. A fundamental property that must be guaranteed is the integrity of the system, i.e. ensuring that no unauthorized entity can control the system&#8217;s behavior. Typically, this means ensuring that the software, which is the mutable part that defines a system&#8217;s behavior, has not been modified. This goal can be achieved in a number of ways. This article introduces and explains a security service called &#8220;Secure Boot&#8221;, which is one of the <a href=\"https:\/\/sanctuary.dev\/solutions\/security-services\/\">security service<\/a> Sanctuary provides. It ensures that software loaded during system boot has not been tampered with, e.g. by a rootkit or another advanced persistent threat (APT).<\/p>\n<p><!-- \/wp:paragraph --><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-048a7a8 elementor-widget elementor-widget-text-editor\" data-id=\"048a7a8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<!-- wp:paragraph -->\n<p>Secure boot incrementally checks the integrity of a system&#8217;s software components (e.g., boot loader, operating system, and applications) during startup. Before a software component is executed, its integrity is checked. The verification process is started from the initial component E<sub>0<\/sub> of the platform&#8217;s boot process (e.g. <a href=\"https:\/\/uefi.org\/\" target=\"_blank\" rel=\"noopener\">UEFI code<\/a>) and continued iteratively for all components E<sub>1<\/sub> \u2026 E<sub>n<\/sub> that are executed, until the last component E<sub>n+1<\/sub> is verified and executed (see <a href=\"#SB_Fig1\">Figure&nbsp;1<\/a>).<\/p>\n<!-- \/wp:paragraph -->\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-87f5f13 nd-elementor-section-big elementor-section-height-default elementor-section-height-default\" data-id=\"87f5f13\" data-element_type=\"section\" id=\"SB_Fig1\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f9e706b\" data-id=\"f9e706b\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d09ac75 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"d09ac75\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-32f4c43 nd-elementor-section-big elementor-section-height-default elementor-section-height-default\" data-id=\"32f4c43\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e1767fa\" data-id=\"e1767fa\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c46d69c elementor-widget elementor-widget-nd-image\" data-id=\"c46d69c\" data-element_type=\"widget\" data-widget_type=\"nd-image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"nd-image\">\n    \n            <figure>\n    \n        \n                <div class=\"d-flex flex-wrapper align-items-start\">\n                                            <img decoding=\"async\" style=\"\" src=\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig1.png\" class=\"full-image \"  srcset=\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig1.png 885w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig1-720x86.png 720w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig1-18x2.png 18w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig1-480x57.png 480w\" sizes=\"(min-width: 768px) 100vw, 100vw\" alt=\"Basic Secure Boot Chain\">\n                                    <\/div>\n            \n        \n        \n                <figcaption class=\"nd-image__caption\">\n                Figure 1: Chain of Trust Concept\n            <\/figcaption>\n        <\/figure>\n    <\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-aea2d45 nd-elementor-section-full elementor-section-height-default elementor-section-height-default\" data-id=\"aea2d45\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f0cf88e\" data-id=\"f0cf88e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-49f8bb4 elementor-widget elementor-widget-text-editor\" data-id=\"49f8bb4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Since the integrity of each component E<sub>i<\/sub> is checked by its predecessor E<sub>i-1<\/sub> before it is executed, only known (i.e. authentic) software components are loaded and executed. If the integrity of a software component cannot be verified successfully, different reactions are possible. For example, the system can stop execution (also called &#8220;fail secure mode&#8221;) or it can use an <a href=\"https:\/\/www.cs.umd.edu\/~waa\/pubs\/oakland97.pdf\" target=\"_blank\" rel=\"noopener\">authentic fallback version<\/a> of the software component whose integrity check failed. The integrity check of a component, however, is only meaningful if the component performing the check itself is correct, and thus, performs the check correctly. This implies that the initial component E<sub>0<\/sub> must be trusted and is often referred to as Root of Trust (RoT). This means that the integrity of E<sub>0<\/sub> must be assumed without being explicitly checked. Hence, it must be protected against (software) attacks. A common method to ensure the integrity of the RoT is to store the code and data of E<sub>0<\/sub> in Read-only Memory (ROM), this way it cannot be changed after the initial production of the system. Starting from the RoT, the integrity of all other components E<sub>1<\/sub> \u2026 E<sub>n<\/sub> is ensured by verifying the integrity of each component E<sub>i<\/sub> by its predecessor E<sub>i-1<\/sub> before E<sub>i<\/sub> is executed.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ea53f16 elementor-widget elementor-widget-text-editor\" data-id=\"ea53f16\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Which method is used to verify the integrity of a component depends on the requirements of an application. The most common approach for secure boot is to calculate an integrity measurement value (IMV), which is typically the cryptographic hash digest of the binary code of the software component being verified. The IMV is then compared to a reference IMV, typically certified by the platform manufacturer, platform user, or software vendor. If the IMV calculated by the secure boot mechanism matches the certified reference IMV, the integrity of the software component is confirmed.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3ed3a5c nd-elementor-section-full elementor-section-height-default elementor-section-height-default\" data-id=\"3ed3a5c\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6e8de74\" data-id=\"6e8de74\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cc21e06 elementor-widget elementor-widget-heading\" data-id=\"cc21e06\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Order of Integriy Check<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c88bd69 elementor-widget elementor-widget-text-editor\" data-id=\"c88bd69\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>As previously explained, it is important to ensure that the integrity of each software component is verified prior to its execution. Apart from this basic rule, there are no other restrictions on the order of integrity checking and the execution of software components. This means that the integrity of software component E<sub>n<\/sub> can be verified by any software component E<sub>0<\/sub> \u2026 E<sub>n-1<\/sub> executing before E<sub>n<\/sub> is executed.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9d30ee7 nd-elementor-section-big elementor-section-height-default elementor-section-height-default\" data-id=\"9d30ee7\" data-element_type=\"section\" id=\"SB_Fig2\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b17f709\" data-id=\"b17f709\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6684d69 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"6684d69\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-955a90c nd-elementor-section-big elementor-section-height-default elementor-section-height-default\" data-id=\"955a90c\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-727fd0e\" data-id=\"727fd0e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0ebf9fd elementor-widget elementor-widget-nd-image\" data-id=\"0ebf9fd\" data-element_type=\"widget\" data-widget_type=\"nd-image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"nd-image\">\n    \n            <figure>\n    \n        \n                <div class=\"d-flex flex-wrapper align-items-start\">\n                                            <img decoding=\"async\" style=\"\" src=\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig2.png\" class=\"full-image \"  srcset=\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig2.png 885w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig2-720x268.png 720w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig2-18x7.png 18w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig2-480x179.png 480w\" sizes=\"(min-width: 768px) 100vw, 100vw\" alt=\"Full Secure Boot Chain\">\n                                    <\/div>\n            \n        \n        \n                <figcaption class=\"nd-image__caption\">\n                Figure 2: Order of Execution and Integrity Checks in the Chain of Trust\n            <\/figcaption>\n        <\/figure>\n    <\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-45c4c33 nd-elementor-section-full elementor-section-height-default elementor-section-height-default\" data-id=\"45c4c33\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4e3d02f\" data-id=\"4e3d02f\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2c32e44 elementor-widget elementor-widget-text-editor\" data-id=\"2c32e44\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p><a href=\"#SB_Fig2\">Figure&nbsp;2<\/a> illustrates such a scenario where the integrity of the software components E<sub>1<\/sub>, E<sub>2<\/sub> and E<sub>3<\/sub> are checked by the software component E<sub>0<\/sub> (step 1, 2 and 3 in <a href=\"#SB_Fig2\">Figure&nbsp;2<\/a>) before E<sub>1<\/sub> , E<sub>2<\/sub> or E<sub>3<\/sub> is executed (steps 4, 6 and 7 in <a href=\"#SB_Fig2\">Figure&nbsp;2<\/a>). Similarly, E<sub>1<\/sub> verifies E<sub>4<\/sub> (step 5 in <a href=\"#SB_Fig2\">Figure&nbsp;2<\/a>), although E<sub>1<\/sub> is not loaded immediately before E<sub>4<\/sub>. However, in this example, the integrity of each software component is checked before it is loaded.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2b0693d nd-elementor-section-full elementor-section-height-default elementor-section-height-default\" data-id=\"2b0693d\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1160b4f\" data-id=\"1160b4f\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4ad26ae elementor-widget elementor-widget-heading\" data-id=\"4ad26ae\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Reference Integrity Measurement Values<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1d374c8 elementor-widget elementor-widget-text-editor\" data-id=\"1d374c8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The integrity and authenticity of the reference readings must be guaranteed. Depending on the flexibility requirements of the secure boot mechanism, different approaches for storing and managing reference integrity measurement values (IMVs) are possible.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fa9a260 nd-elementor-section-full elementor-section-height-default elementor-section-height-default\" data-id=\"fa9a260\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9d34a68\" data-id=\"9d34a68\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b9454db elementor-widget elementor-widget-heading\" data-id=\"b9454db\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Reference IMVs Embedded in Software Components<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-412facc elementor-widget elementor-widget-text-editor\" data-id=\"412facc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>One approach to managing the reference IMVs is to embed the reference IMV of the software component E<sub>i<\/sub> in its predecessor component E<sub>i-1<\/sub>, which is responsible for performing the verification of E<sub>i<\/sub>, see&nbsp;<a href=\"#SB_Fig3\">Figure&nbsp;3<\/a>. The first component E<sub>0<\/sub> contains the reference IMV of E<sub>1<\/sub> denoted as M(E<sub>1<\/sub>), i.e. the expected integrity measurement value of E<sub>1<\/sub>. The integrity of M(E<sub>1<\/sub>) is protected by the same mechanism that protects the integrity of E<sub>0<\/sub>. The integrity of the software component E<sub>1<\/sub>&#8216; itself is checked by E<sub>0<\/sub> before E<sub>1<\/sub>&#8216; is executed. More precisely, E<sub>0<\/sub> calculates the hash value of the binary code of E<sub>1<\/sub>&#8216;, denoted as M(E<sub>1<\/sub>&#8216;) (step 1 in <a href=\"#SB_Fig3\">Figure&nbsp;3<\/a>), and compares the result with the reference IMV M(E<sub>1<\/sub> ) (Step 2 in <a href=\"#SB_Fig3\">Figure&nbsp;3<\/a>). The integrity check of E<sub>1<\/sub>\u2018 succeeds only if M(E<sub>1<\/sub>&#8216;) matches M(E<sub>1<\/sub>). If this is the case, E<sub>1<\/sub>&#8216; is executed (step 3 in <a href=\"#SB_Fig3\">Figure&nbsp;3<\/a>) and takes over the role of E<sub>0<\/sub>, i.e. E<sub>1<\/sub>\u2018 measures the binary code of E<sub>2<\/sub>&#8216; and only then executes E<sub>2<\/sub>&#8216; if its measurement M(E<sub>2<\/sub>&#8216;) matches the reference IMV M(E<sub>2<\/sub>) of the software component E<sub>2<\/sub>, which is stored in E<sub>1<\/sub>&#8216;. This process continues until the integrity of all software components has been verified.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a4c2bb4 nd-elementor-section-big elementor-section-height-default elementor-section-height-default\" data-id=\"a4c2bb4\" data-element_type=\"section\" id=\"SB_Fig3\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-39a16db\" data-id=\"39a16db\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-68ddd5e elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"68ddd5e\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a9270be nd-elementor-section-big elementor-section-height-default elementor-section-height-default\" data-id=\"a9270be\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7e59f8e\" data-id=\"7e59f8e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1548358 elementor-widget elementor-widget-nd-image\" data-id=\"1548358\" data-element_type=\"widget\" data-widget_type=\"nd-image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"nd-image\">\n    \n            <figure>\n    \n        \n                <div class=\"d-flex flex-wrapper align-items-start\">\n                                            <img decoding=\"async\" style=\"\" src=\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig3.png\" class=\"full-image \"  srcset=\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig3.png 885w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig3-720x164.png 720w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig3-18x4.png 18w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig3-480x110.png 480w\" sizes=\"(min-width: 768px) 100vw, 100vw\" alt=\"Full Secure Boot Chain\">\n                                    <\/div>\n            \n        \n        \n                <figcaption class=\"nd-image__caption\">\n                Figure 3: Secure Boot with Embedded Integrity Measurement Values\n            <\/figcaption>\n        <\/figure>\n    <\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6303a95 nd-elementor-section-full elementor-section-height-default elementor-section-height-default\" data-id=\"6303a95\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c962c2e\" data-id=\"c962c2e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-02ae795 elementor-widget elementor-widget-text-editor\" data-id=\"02ae795\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>A central limitation of this approach is its lack of flexibility. In particular, updating software component <nobr>E<sub>i<\/sub><\/nobr> requires updating the reference IMVs in all software components <nobr>E<sub>j<\/sub><\/nobr> with <nobr>j < i<\/nobr>.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-0f5d5d3 nd-elementor-section-full elementor-section-height-default elementor-section-height-default\" data-id=\"0f5d5d3\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2ef3f96\" data-id=\"2ef3f96\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0d8e6c5 elementor-widget elementor-widget-heading\" data-id=\"0d8e6c5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Reference IMVs Managed in Central Database<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bd20593 elementor-widget elementor-widget-text-editor\" data-id=\"bd20593\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>A more flexible approach than the embedding approach described above is to manage reference IMVs in a central database, as shown in <a href=\"#SB_Fig4\">Figure&nbsp;4<\/a>. Before the initial component E<sub>0<\/sub> passes execution to the next component E<sub>1<\/sub>&#8216;, it checks the integrity of E<sub>1<\/sub>&#8216;. Like before, E<sub>0<\/sub> measures the binary code of E<sub>1<\/sub>&#8216; and compares the result M(E<sub>1<\/sub>&#8216;) with the reference IMV M(E<sub>1<\/sub>) of E<sub>1<\/sub>. This time, however, the reference IMV is stored in a central database that can be read by all software components performing an integrity check. To ensure the authenticity and integrity of the stored IMVs, the integrity of the database must be protected. One way to protect the integrity of the database is to use the same method used to protect the integrity of initial component E<sub>0<\/sub>, or use E<sub>0<\/sub> to verify the integrity of the database.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-703f1d0 nd-elementor-section-big elementor-section-height-default elementor-section-height-default\" data-id=\"703f1d0\" data-element_type=\"section\" id=\"SB_Fig4\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2d38da4\" data-id=\"2d38da4\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5373801 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"5373801\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-150731b nd-elementor-section-big elementor-section-height-default elementor-section-height-default\" data-id=\"150731b\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-13b703e\" data-id=\"13b703e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-26dfb64 elementor-widget elementor-widget-nd-image\" data-id=\"26dfb64\" data-element_type=\"widget\" data-widget_type=\"nd-image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"nd-image\">\n    \n            <figure>\n    \n        \n                <div class=\"d-flex flex-wrapper align-items-start\">\n                                            <img decoding=\"async\" style=\"\" src=\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig4.png\" class=\"full-image \"  srcset=\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig4.png 885w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig4-720x255.png 720w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig4-18x6.png 18w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig4-480x170.png 480w\" sizes=\"(min-width: 768px) 100vw, 100vw\" alt=\"Full Secure Boot Chain\">\n                                    <\/div>\n            \n        \n        \n                <figcaption class=\"nd-image__caption\">\n                Figure 4: Secure Boot with Central Storage of All Integrity Measurement Values\n            <\/figcaption>\n        <\/figure>\n    <\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3801208 nd-elementor-section-full elementor-section-height-default elementor-section-height-default\" data-id=\"3801208\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-70979f4\" data-id=\"70979f4\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-af77c7c elementor-widget elementor-widget-text-editor\" data-id=\"af77c7c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>This method enables flexible updating of individual software components. However, updating software components requires an authentic update of the corresponding reference IMV in the database.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ee729b2 nd-elementor-section-full elementor-section-height-default elementor-section-height-default\" data-id=\"ee729b2\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1b065c5\" data-id=\"1b065c5\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-48c5cb7 elementor-widget elementor-widget-heading\" data-id=\"48c5cb7\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">IMV Certificates<\/h4>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cf04db3 elementor-widget elementor-widget-text-editor\" data-id=\"cf04db3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The most practical approach to implementing secure boot is to use digital signatures (certificates) to ensure the integrity and authenticity of the reference integrity measurement values (IMVs). This approach is depicted in <a href=\"#SB_Fig5\">Figure&nbsp;5<\/a>. The reference IMV of each software component is provided in a digital certificate issued by a trusted certification authority, which can be for instance the platform manufacturer, the platform user and\/or a software provider. The certificate does not have to be kept in protected memory, as its authenticity and integrity is ensured by the digital signature \u03c3<sub>pk<\/sub> it contains. Before the initial component E<sub>0<\/sub> passes execution to E<sub>1<\/sub>&#8216;, it checks the integrity of E<sub>1<\/sub>&#8216;. Again, E<sub>0<\/sub> measures the binary code of E<sub>1<\/sub>&#8216; and compares M(E<sub>1<\/sub>&#8216;) with the reference IMV M(E<sub>1<\/sub>) of E<sub>1<\/sub>&nbsp;contained in the certificate. The authenticity of the reference IMV itself is checked by verifying the certificate with the signing authority&#8217;s authentic public verification key pk.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c0df58d nd-elementor-section-big elementor-section-height-default elementor-section-height-default\" data-id=\"c0df58d\" data-element_type=\"section\" id=\"SB_Fig5\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c30c6ec\" data-id=\"c30c6ec\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3ce4787 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"3ce4787\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3ce35fd nd-elementor-section-big elementor-section-height-default elementor-section-height-default\" data-id=\"3ce35fd\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ae8bcdb\" data-id=\"ae8bcdb\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-23cb416 elementor-widget elementor-widget-nd-image\" data-id=\"23cb416\" data-element_type=\"widget\" data-widget_type=\"nd-image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"nd-image\">\n    \n            <figure>\n    \n        \n                <div class=\"d-flex flex-wrapper align-items-start\">\n                                            <img decoding=\"async\" style=\"\" src=\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig5.png\" class=\"full-image \"  srcset=\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig5.png 885w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig5-720x250.png 720w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig5-18x6.png 18w, https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Fig5-480x167.png 480w\" sizes=\"(min-width: 768px) 100vw, 100vw\" alt=\"Full Secure Boot Chain\">\n                                    <\/div>\n            \n        \n        \n                <figcaption class=\"nd-image__caption\">\n                Figure 5: Secure Boot with IMV Certificates\n            <\/figcaption>\n        <\/figure>\n    <\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-17abffe nd-elementor-section-full elementor-section-height-default elementor-section-height-default\" data-id=\"17abffe\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f17607a\" data-id=\"f17607a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-11f291e elementor-widget elementor-widget-text-editor\" data-id=\"11f291e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>When updating a component E<sub>n<\/sub>, a new certificate for the version of E<sub>n<\/sub> must be issued and stored on the platform. Because the certificate can be validated with the same pk public verification key, neither the E<sub>0<\/sub> entity nor the protected store containing pk need to be updated. Because E<sub>0<\/sub> and pk should not require updating during the lifetime of the platform, a simple hardware-based protection like read-only memory (ROM) can be used to protect their integrity and authenticity.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-776da9b nd-elementor-section-full elementor-section-height-default elementor-section-height-default\" data-id=\"776da9b\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9f34109\" data-id=\"9f34109\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e5ce341 elementor-widget elementor-widget-heading\" data-id=\"e5ce341\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Revocation<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a33a61b elementor-widget elementor-widget-text-editor\" data-id=\"a33a61b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>In secure boot systems, a revocation may be required because either an entity <nobr>E<sub>n<\/sub><\/nobr> is no longer trusted and is no longer allowed to run, e.g. because a vulnerability was discovered in its code and an updated version <nobr>E<sub>n<\/sub><sup>*<\/sup><\/nobr> was released, or because a signing key used to authenticate code certificates was compromised.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4bf6320 elementor-widget elementor-widget-text-editor\" data-id=\"4bf6320\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>In the first case, the reference IMV M(E<sub>i<\/sub>) must be removed and replaced with an updated IMV M(E<sub>i<\/sub><sup>*<\/sup>). Depending on the Secure Boot variant used, this may require updating the predecessor components of E<sub>i<\/sub> with an updated embedded IMV M(E<sub>i<\/sub><sup>*<\/sup>), updating the central IMV database, or issuing a new certificate for M(E<sub>i<\/sub><sup>*<\/sup>). For all variants, the authenticity of the updates must be guaranteed.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eebc269 elementor-widget elementor-widget-text-editor\" data-id=\"eebc269\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>In the second case, the secure boot system must learn that the compromised key can no longer guarantee the integrity of an entity <nobr>E<sub>n<\/sub><\/nobr> or the authenticity and integrity of other keys, e.g. if a Public Key Infrastructure (PKI) is used in the secure boot system.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c9f471e elementor-widget elementor-widget-text-editor\" data-id=\"c9f471e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>In all cases, the revocation information must be made available to the secure boot system. If a device is not compromised, it can retrieve the updated information over the network, e.g. in the form of a <a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/rfc5280\" target=\"_blank\" rel=\"noopener\">certificate revocation list (CRL)<\/a> to revoke certificates. A device under the control of an attacker, e.g. a device on which the attacker has exploited a vulnerability in an entity E<sub>i<\/sub>, will not voluntarily update the revocation information. In these cases, the update must be forced, e.g. for example, certificates may be issued with an expiration date that requires an update after the certificate&#8217;s validity period has expired. However, these solutions require that the secure boot system can receive updated information, for example over the network. This approach also requires devices to securely store the latest revocation information or maintain the version information with a secure monotonic counter to prevent attacks such as rollback attacks. To ensure the revocation information is up-to-date, the devices need access to reliable time information.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Secure Boot is one of the powerful security services offered by Sanctuary, which can protect systems from rootkits and another advanced persistent threat (APT). This article explains the concept of secure boot and discusses different aspects of this technology.<\/p>\n","protected":false},"author":13,"featured_media":3921,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-3725","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-know-how"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Security Services: Secure Boot - SANCTUARY<\/title>\n<meta name=\"description\" content=\"Secure Boot is one of the powerful security services offered by Sanctuary, which can protect systems from rootkits and another advanced persistent threat (APT). This article explains the concept of secure boot and discusses different aspects of this technology.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Security Services: Secure Boot - SANCTUARY\" \/>\n<meta property=\"og:description\" content=\"Secure Boot is one of the powerful security services offered by Sanctuary, which can protect systems from rootkits and another advanced persistent threat (APT). This article explains the concept of secure boot and discusses different aspects of this technology.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/\" \/>\n<meta property=\"og:site_name\" content=\"SANCTUARY\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-05T15:55:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-02T17:49:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Title.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1166\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ferdinand Brasser\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@sanctuary_dev\" \/>\n<meta name=\"twitter:site\" content=\"@sanctuary_dev\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/\"},\"author\":{\"name\":\"Ferdinand Brasser\",\"@id\":\"https:\/\/sanctuary.dev\/en\/#\/schema\/person\/6e4d4fb21d1c183040ed80aba8ae2c35\"},\"headline\":\"Security Services: Secure Boot\",\"datePublished\":\"2021-12-05T15:55:56+00:00\",\"dateModified\":\"2022-06-02T17:49:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/\"},\"wordCount\":1727,\"publisher\":{\"@id\":\"https:\/\/sanctuary.dev\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Title.jpg\",\"articleSection\":[\"Know-how\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/\",\"url\":\"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/\",\"name\":\"Security Services: Secure Boot - SANCTUARY\",\"isPartOf\":{\"@id\":\"https:\/\/sanctuary.dev\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Title.jpg\",\"datePublished\":\"2021-12-05T15:55:56+00:00\",\"dateModified\":\"2022-06-02T17:49:21+00:00\",\"description\":\"Secure Boot is one of the powerful security services offered by Sanctuary, which can protect systems from rootkits and another advanced persistent threat (APT). This article explains the concept of secure boot and discusses different aspects of this technology.\",\"breadcrumb\":{\"@id\":\"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/#primaryimage\",\"url\":\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Title.jpg\",\"contentUrl\":\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Title.jpg\",\"width\":1920,\"height\":1166,\"caption\":\"Car Progress Bar Loading\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/sanctuary.dev\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Security Services: Secure Boot\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sanctuary.dev\/en\/#website\",\"url\":\"https:\/\/sanctuary.dev\/en\/\",\"name\":\"SANCTUARY\",\"description\":\"The Embedded Security Experts\",\"publisher\":{\"@id\":\"https:\/\/sanctuary.dev\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sanctuary.dev\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/sanctuary.dev\/en\/#organization\",\"name\":\"SANCTUARY\",\"url\":\"https:\/\/sanctuary.dev\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sanctuary.dev\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/07\/sanctuary_linkedin_logo_v4.png\",\"contentUrl\":\"https:\/\/sanctuary.dev\/app\/uploads\/2022\/07\/sanctuary_linkedin_logo_v4.png\",\"width\":1841,\"height\":1841,\"caption\":\"SANCTUARY\"},\"image\":{\"@id\":\"https:\/\/sanctuary.dev\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/sanctuary_dev\",\"https:\/\/www.linkedin.com\/company\/sanctuary-dev\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/sanctuary.dev\/en\/#\/schema\/person\/6e4d4fb21d1c183040ed80aba8ae2c35\",\"name\":\"Ferdinand Brasser\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sanctuary.dev\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/129e87ccd200ba103555eff34320ab3201115c7ab2ef80c3805880a18bfb8bf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/129e87ccd200ba103555eff34320ab3201115c7ab2ef80c3805880a18bfb8bf4?s=96&d=mm&r=g\",\"caption\":\"Ferdinand Brasser\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Security Services: Secure Boot - SANCTUARY","description":"Secure Boot is one of the powerful security services offered by Sanctuary, which can protect systems from rootkits and another advanced persistent threat (APT). This article explains the concept of secure boot and discusses different aspects of this technology.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/","og_locale":"en_US","og_type":"article","og_title":"Security Services: Secure Boot - SANCTUARY","og_description":"Secure Boot is one of the powerful security services offered by Sanctuary, which can protect systems from rootkits and another advanced persistent threat (APT). This article explains the concept of secure boot and discusses different aspects of this technology.","og_url":"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/","og_site_name":"SANCTUARY","article_published_time":"2021-12-05T15:55:56+00:00","article_modified_time":"2022-06-02T17:49:21+00:00","og_image":[{"width":1920,"height":1166,"url":"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Title.jpg","type":"image\/jpeg"}],"author":"Ferdinand Brasser","twitter_card":"summary_large_image","twitter_creator":"@sanctuary_dev","twitter_site":"@sanctuary_dev","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/#article","isPartOf":{"@id":"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/"},"author":{"name":"Ferdinand Brasser","@id":"https:\/\/sanctuary.dev\/en\/#\/schema\/person\/6e4d4fb21d1c183040ed80aba8ae2c35"},"headline":"Security Services: Secure Boot","datePublished":"2021-12-05T15:55:56+00:00","dateModified":"2022-06-02T17:49:21+00:00","mainEntityOfPage":{"@id":"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/"},"wordCount":1727,"publisher":{"@id":"https:\/\/sanctuary.dev\/en\/#organization"},"image":{"@id":"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/#primaryimage"},"thumbnailUrl":"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Title.jpg","articleSection":["Know-how"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/","url":"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/","name":"Security Services: Secure Boot - SANCTUARY","isPartOf":{"@id":"https:\/\/sanctuary.dev\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/#primaryimage"},"image":{"@id":"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/#primaryimage"},"thumbnailUrl":"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Title.jpg","datePublished":"2021-12-05T15:55:56+00:00","dateModified":"2022-06-02T17:49:21+00:00","description":"Secure Boot is one of the powerful security services offered by Sanctuary, which can protect systems from rootkits and another advanced persistent threat (APT). This article explains the concept of secure boot and discusses different aspects of this technology.","breadcrumb":{"@id":"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/#primaryimage","url":"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Title.jpg","contentUrl":"https:\/\/sanctuary.dev\/app\/uploads\/2022\/05\/Secure_Boot_Title.jpg","width":1920,"height":1166,"caption":"Car Progress Bar Loading"},{"@type":"BreadcrumbList","@id":"https:\/\/sanctuary.dev\/en\/blog\/security-services-secure-boot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sanctuary.dev\/en\/"},{"@type":"ListItem","position":2,"name":"Security Services: Secure Boot"}]},{"@type":"WebSite","@id":"https:\/\/sanctuary.dev\/en\/#website","url":"https:\/\/sanctuary.dev\/en\/","name":"SANCTUARY","description":"The Embedded Security Experts","publisher":{"@id":"https:\/\/sanctuary.dev\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sanctuary.dev\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/sanctuary.dev\/en\/#organization","name":"SANCTUARY","url":"https:\/\/sanctuary.dev\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sanctuary.dev\/en\/#\/schema\/logo\/image\/","url":"https:\/\/sanctuary.dev\/app\/uploads\/2022\/07\/sanctuary_linkedin_logo_v4.png","contentUrl":"https:\/\/sanctuary.dev\/app\/uploads\/2022\/07\/sanctuary_linkedin_logo_v4.png","width":1841,"height":1841,"caption":"SANCTUARY"},"image":{"@id":"https:\/\/sanctuary.dev\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/sanctuary_dev","https:\/\/www.linkedin.com\/company\/sanctuary-dev\/"]},{"@type":"Person","@id":"https:\/\/sanctuary.dev\/en\/#\/schema\/person\/6e4d4fb21d1c183040ed80aba8ae2c35","name":"Ferdinand Brasser","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sanctuary.dev\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/129e87ccd200ba103555eff34320ab3201115c7ab2ef80c3805880a18bfb8bf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/129e87ccd200ba103555eff34320ab3201115c7ab2ef80c3805880a18bfb8bf4?s=96&d=mm&r=g","caption":"Ferdinand Brasser"}}]}},"_links":{"self":[{"href":"https:\/\/sanctuary.dev\/en\/wp-json\/wp\/v2\/posts\/3725","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sanctuary.dev\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sanctuary.dev\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sanctuary.dev\/en\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/sanctuary.dev\/en\/wp-json\/wp\/v2\/comments?post=3725"}],"version-history":[{"count":133,"href":"https:\/\/sanctuary.dev\/en\/wp-json\/wp\/v2\/posts\/3725\/revisions"}],"predecessor-version":[{"id":3939,"href":"https:\/\/sanctuary.dev\/en\/wp-json\/wp\/v2\/posts\/3725\/revisions\/3939"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sanctuary.dev\/en\/wp-json\/wp\/v2\/media\/3921"}],"wp:attachment":[{"href":"https:\/\/sanctuary.dev\/en\/wp-json\/wp\/v2\/media?parent=3725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sanctuary.dev\/en\/wp-json\/wp\/v2\/categories?post=3725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sanctuary.dev\/en\/wp-json\/wp\/v2\/tags?post=3725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}