Secure Boot(安全啟動)

Secure Boot(安全啟動)的原理基于鏈式驗證,這是一種確保計算機在啟動過程中只加載和執行經過認證的軟件的機制。這個過程涉及到硬件、固件和操作系統的多個層面。以下是Secure Boot的基本原理:

  1. 密鑰和證書:Secure Boot使用一組密鑰和證書來驗證啟動過程中的軟件。這些密鑰通常存儲在UEFI固件中,包括一個或多個密鑰對(公鑰和私鑰)。

  2. 簽名的啟動加載程序:在啟動過程中,UEFI固件會檢查啟動加載程序(如Windows的引導管理器)的數字簽名。這個簽名必須由受信任的證書頒發機構(CA)簽發,以確保啟動加載程序未被篡改。

  3. 鏈式驗證:啟動加載程序接著會驗證操作系統內核和其他關鍵驅動程序的簽名。這是一個連續的過程,每個組件都會驗證下一個組件的簽名,直到整個啟動鏈被驗證。

  4. 固件和硬件支持:Secure Boot需要UEFI固件的支持,以及硬件層面的安全特性,如可信平臺模塊(TPM)和一次性可編程存儲器(eFUSE)。

Secure Boot與硬盤的關系主要體現在以下幾個方面:

  • 啟動加載程序的存儲:啟動加載程序通常存儲在硬盤上的特定分區中,Secure Boot在啟動時會從這些分區加載并驗證它們。

  • 操作系統的安裝在安裝操作系統時,安裝程序會將必要的密鑰和證書嵌入到硬盤上的UEFI分區中,以便在啟動時進行驗證。

  • 安全性:Secure Boot通過確保只有經過驗證的軟件被加載,從而提高了系統的安全性。這包括防止惡意軟件在啟動過程中加載,這可能涉及到對硬盤上的操作系統和啟動文件的保護。

總的來說,Secure Boot是一種多層次的安全機制,它確保了從硬件到操作系統的每個組件都是可信的。硬盤在這個過程中扮演了存儲關鍵啟動文件和密鑰的角色,但Secure Boot的實施和管理主要發生在UEFI固件層面。

=====================================

在安裝操作系統時,生成的密鑰通常會存儲一份在UEFI固件中。這個過程是Secure Boot機制的一部分,確保了啟動過程中的安全性。以下是這個過程的一般步驟:

  1. 密鑰生成:在安裝操作系統的過程中,會生成一對密鑰,通常包括一個公鑰和一個私鑰。這些密鑰用于對啟動文件進行簽名和驗證。

  2. 密鑰存儲:生成的公鑰會被嵌入到操作系統的啟動文件中,而私鑰則被安全地存儲在UEFI固件的非易失性存儲區域。這個區域通常是只讀的,以防止未授權的訪問和修改。

  3. 簽名驗證:在啟動過程中,UEFI固件會使用存儲的私鑰來驗證啟動文件(如啟動加載程序)的簽名。如果簽名有效,說明啟動文件未被篡改,系統可以繼續啟動。

  4. 信任鏈建立:操作系統的啟動文件(如Windows的引導加載程序)會包含一個由操作系統發布者簽名的證書。UEFI固件中的密鑰會用來驗證這個證書,從而建立起一個信任鏈,確保只有經過驗證的軟件被加載。

  5. 安全啟動:一旦驗證通過,UEFI固件會將控制權交給啟動加載程序,啟動加載程序接著會驗證操作系統內核和其他關鍵組件的簽名,確保整個啟動過程的安全性。

這種密鑰存儲和管理機制是Secure Boot的核心部分,它確保了即使在硬件級別,啟動過程也得到了保護。通過這種方式,Secure Boot能夠有效地防止惡意軟件在系統啟動時加載,提高了系統的安全性。

==========================================

當UEFI安全模式下提示"verification failed: (0x1a) security violation"錯誤時,這通常意味著啟動過程中遇到了安全策略的違反。要解決這個問題,可以嘗試以下步驟:

  • 關閉安全啟動模式:您可以嘗試臨時關閉UEFI的安全啟動模式。進入BIOS設置,找到安全啟動(Secure Boot)選項并將其關閉,這樣可以暫時繞過安全驗證以便進行系統維護或安裝。完成必要的操作后記得重新開啟安全啟動以保證系統安全。
  • 使用MOK管理:如果您需要保持安全啟動開啟,可以通過添加一個Machine Owner Key(MOK)來允許特定的軟件或驅動程序在安全啟動下運行。這通常涉及以下步驟:
  1. 在啟動菜單選擇進入MOK management。
  2. 選擇從磁盤注冊密鑰(enroll key from disk)或注冊哈希值(enroll hash from disk)。
  3. 按照屏幕上的提示找到相應的密鑰文件或哈希值,并進行注冊。
  4. 確認并重新啟動電腦以應用更改。

此外,如果以上方法都不可行,可能需要檢查您的硬件設備是否存在兼容性問題,或者嘗試使用其他工具重新制作可啟動U盤。

需要注意的是,這些步驟可能因不同的硬件和BIOS版本而有所不同,具體操作時應參考您的設備手冊或聯系制造商的技術支持獲取幫助。

=========================

在UEFI(統一可擴展固件接口)中選擇“Reset to setup mode”或類似選項通常是為了重置UEFI設置到出廠默認狀態,或者是為了進入一個特殊的配置模式,以便進行更深入的系統設置。這個操作可能會影響UEFI中的各種設置,包括安全啟動(Secure Boot)相關的密鑰。

根據搜索結果中的信息,進入“Setup mode”通常允許用戶從外部修改UEFI固件中的安全啟動密鑰。這意味著在“Setup mode”下,用戶可以導入新的密鑰,或者在某些情況下,清除現有的密鑰。如果在這個模式下清除了密鑰,那么原有的密鑰通常無法恢復,因為它們是存儲在UEFI固件的非易失性存儲區域中的,一旦清除,就無法通過正常的UEFI界面恢復。

然而,這并不意味著操作系統無法啟動。安全啟動的密鑰主要用于驗證操作系統和啟動加載程序的簽名。如果這些密鑰被清除,系統可能會回退到一個更寬松的啟動模式,允許未簽名的軟件啟動。這可能需要用戶在操作系統中重新配置安全啟動設置,或者在需要的情況下,重新安裝操作系統。

在執行這樣的操作之前,建議備份所有重要的數據和系統設置,并且確保了解所做更改的后果。如果你不熟悉這些過程,最好咨詢專業人士或查閱詳細的技術文檔。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/713186.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/713186.shtml
英文地址,請注明出處:http://en.pswp.cn/news/713186.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

day07_分類管理EasyExcel品牌管理

文章目錄 1 分類管理1.1 菜單添加1.2 表結構介紹1.3 頁面制作1.4 列表查詢1.4.1 需求分析1.4.2 后端接口CategoryCategoryControllerCategoryServiceCategoryMapperCategoryMapper.xml 1.4.3 前端對接category.jscategory.vue 2 EasyExcel2.1 數據導入導出意義2.2 EasyExcel簡介…

ABAP - SALV教程 01- 開篇:打開SALV的三種方式之一

關于SALV,這里參考巨佬江正軍的文章講解,在做SAP開發的遇到困難和瓶頸的時候,每每讀到巨佬的文章都會靈感爆發、醍醐灌頂。https://www.cnblogs.com/jiangzhengjun/p/4291387.html 博主由于是由JAVA轉型的ABAP開發,剛接觸ABAP的時…

力扣細節題:判斷是否為平衡二叉樹

經典題,需要記憶,且注意fabs和fmax函數的使用 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/int deep(struct TreeNode*root){if(rootNULL){return 0;}r…

Unity3D 渲染隊列 ZTest與ZWrite詳解

前言 在Unity3D中,渲染隊列(Rendering Queue)是一個非常重要的概念,它決定了游戲中各個物體的渲染順序和優先級。而在渲染隊列中,ZTest和ZWrite又是兩個關鍵的參數,它們決定了物體在渲染的過程中如何處理深…

研發效能最佳實踐:持續集成應用實踐丨IDCF

作者:謝帶達 研發效能(DevOps)工程師(中級)認證學員 一、DevOps概述 DevOps的發展可以追溯到2009年,當時由Patrick Debois和Andrew Clay Shafer發起了第一次DevOps Days會議。隨后,DevOps開始…

【R語言簡介】講解

R語言簡介,環境與基礎語法及注釋 1. R語言簡介2. 環境安裝3. 基礎語法3.1 變量賦值3.2 數據結構3.3 函數調用3.4 控制流3.5 注釋 4. 基本的數據操作和函數 1. R語言簡介 R語言是一種專為統計分析、數據挖掘和圖形展示而設計的編程語言和軟件環境,它由統…

應用引導頁配置相關 - iOS

應用引導頁配置相關,通過 ScrollView 滑動至末頁點擊進入主頁,具體實現方式如下,可供參考; /**加載引導頁*/ - (void)loadGuidePage {// 基礎配置self.window [[UIWindow alloc] initWithFrame:SCREEN_RECT];self.window.backgroundColor [UIColor whiteColor];viewControll…

永磁同步電機無感FOC(龍伯格觀測器)算法技術總結-實戰篇

文章目錄 1、ST龍伯格算法分析(定點數)1.1 符號說明1.2 最大感應電動勢計算1.3 系數計算1.4 龍伯格觀測器計算1.5 鎖相環計算1.6 觀測器增益計算1.7 鎖相環PI計算(ST)1.8 平均速度的用意 2、啟動策略2.1 V/F壓頻比控制2.2 I/F壓頻…

qnx shell sh ,linux shell bash

for i in 1 2 3 4 5 doecho $i doneecho $SHELL Shell腳本的常用執行方式、bash 和 sh 的關系、子shell、Centos 默認的解析器是 bash、Linux 提供的 Shell 解析器、Shell 概述、Shell 腳本入門_centos sh bash-CSDN博客

php cli 多進程編程

前言 php cli 命令模式我想在日常開發中,大家用的都比較少。其實,在某些場景,cli命令真的很有作用, 我舉個例子 在mysql數據庫的某個表tab1中數據量有3000W條數據,現在需要對這張表中的每一條數據做計算處理。將處理…

設計模式(含7大原則)面試題

目錄 主要參考文章 設計模式的目的 設計模式的七大原則 設計模式的三大分類及關鍵點 1、創建型模式(用于解耦對象的實例化過程) 2、結構型模式 3、行為型模式 23種設計模式(亂序--現學現寫,不全面--應付面試為主) 單例模式 模板模式 哈哈哈哈哈 聲明 此文只針…

策略模式代碼示例(二)

一、定義 策略模式,針對每一個不同的類型,調用具有共同接口的不同實現類,從而使得它們可以相互替換。 策略模式 ,針對實現同一接口的不同的類,采用不同的策略。比如,面對高級會員、初級會員會采用不同的折…

詳解字符串函數<string.h>(下)

1. strncpy函數的使用和模擬實現 char* strncpy(char* destination, const char* source, size_t num) 1.1 函數功能以及用法 拷貝指定長度的字符串 將“source”指向的字符串中的“num”個字符拷貝到“destination”指向的字符數組中。相比于strcpy函數,該函數多…

SQL語言的五大分類 (DQL、DDL、DML、DCL、TCL)

目錄 一、DQL 二、DDL 三、DML 四、DCL 五、TCL 一、DQL(數據查詢語言) Data Query Language,數據查詢語言: select:用于數據查詢 關鍵字:SELECT ... FROM ... WHERE 二、DDL(數據定義語…

swift 長按桌面圖標彈出快捷選項

文章目錄 一、3D Touch二、主屏交互1. 靜態添加2. 動態添加三、監聽主屏交互按鈕的點擊事件四、預覽和跳轉1. 注冊3D touch2. 實現協議3. 在目標控制器復寫previewActionItems4. 使用UIContextMenuConfiguration一、3D Touch 3D Touch通過屏幕下方的壓力感應器來感知不同的壓力…

Cesium地表透明

之前Cesium是不能地表透明的,需要改內部代碼,將GlobeSurfaceTileProvider.js中的PASS.GLOBE改成PASS.TRANSPARENT,通過將地表的drawCommand放到透明隊列里渲染。現在發現有了新的方法(其實2020年就有該方法了)&#xf…

數據庫管理-第157期 Oracle Vector DB AI-08(20240301)

數據庫管理157期 2024-03-01 數據庫管理-第157期 Oracle Vector DB & AI-08(20240301)1 創建示例向量2 查找最近向量3 基于向量簇組的最近向量查詢總結 數據庫管理-第157期 Oracle Vector DB & AI-08(20240301) 作者&…

【axiox】前后端接口通訊數據交互

重要全局配置: axios.create(); 設置axios請求的公共配置信息。 service.interceptors.request.use((config)>{}) 請求攔截器 service.interceptors.response.use((res)>{},(err)>{}) 響應攔截器 const source axios.CancelToken.source(); 用…

oracle RAC節點重構

一、清除集群上二節點的節點信息 1、刪除實例 dbca或靜默: [oraclerac1 ~]$ dbca -silent -deleteinstance -nodelist rac2 -gdbname orcl -instancename orcl2 -sysdbausername sys -sysdbapassword oracledbca-實例管理-刪除節實例-選擇服務輸入密碼-選擇inactiv…

基于小波神經網絡的數據分類算法matlab仿真

目錄 1.程序功能描述 2.測試軟件版本以及運行結果展示 3.核心程序 4.本算法原理 1.程序功能描述 基于小波神經網絡的數據分類算法。輸入為5個特征值,輸出為判斷(是,否)。拿50組數據對本算法作為訓練組,后30組數據作…