用于 Web 認證的 抗量子簽名——ML-DSA 草案

1. 引言

本文描述了在 Web Authentication (WebAuthn) 中實現無密碼認證(Passwordless authentication)的方法,該方法使用模塊格(Module-Lattice)為基礎的數字簽名標準(ML-DSA),即 FIPS 204 定義的后量子密碼學(PQC)數字簽名方案。

本文描述了如何將 [FIPS-204] 中描述的 ML-DSA 密鑰和簽名應用于 [WebAuthn]。

2. 后量子密碼學背景

本節描述了后量子密碼學(Post-Quantum Cryptography)、Web 認證(Web Authentication)及防釣魚機制(Phishing Resistance)的通用背景。后量子密碼學被定義為一組不易受到擁有大規模量子計算機的惡意攻擊者威脅的密碼算法。[FIPS-204] 描述了一種基于模塊格(Module-Lattice)的數字簽名算法,該算法不易受到涉及大規模量子計算機的攻擊。

2.1 在 WebAuthn 中使用 ML-DSA 的動機

隨著防釣魚的無密碼認證標準(如安全密鑰(Security Keys)、通行密鑰(Passkeys)和設備證明(Device attestation))根據 FIDO2 規范得到廣泛采用,用于認證的密碼標準主要為 ES256(橢圓曲線數字簽名算法與 SHA-256 組合)和 RS256(RSA 與 SHA-256 組合),這些標準定義于 [FIPS-186-5]。盡管大多數認證器也支持其他算法,但被廣泛使用的默認算法——ES256 和 RS256——被認為在面對使用大規模量子計算機的對手時是不安全的。

因此,在 WebAuthn 中采用 ML-DSA 對于保護數字身份和賬戶免受此類對手的攻擊是必要的。

3. ML-DSA 在 WebAuthn 中的集成

本節描述了基于 ML-DSA 的 WebAuthn 實現。

3.1 COSE 中的 ML-DSA 密鑰表示

[I-D.draft-ietf-cose-dilithium-05] 描述了用于 ML-DSA 的 CBOR 對象簽名與加密(COSE,CBOR Object Signing and Encryption)序列化。需要注意的是,WebAuthn 中僅使用 “公鑰” 或 “驗證密鑰” 的 COSE 表示。因此,私鑰的 COSE 表示超出了本文討論范圍。

ML-DSA 簽名方案通過參數化支持不同的安全級別。本文使用 ML-DSA-44、ML-DSA-65 和 ML-DSA-87 的縮寫,分別表示 FIPS-204 表 1 中給出的不同參數選擇下的 ML-DSA。

結合 [I-D.draft-ietf-cose-dilithium-05],本文請求在 [IANA.cose] 中注冊以下算法:

名稱描述
ML-DSA-44TBD(請求分配 -48)ML-DSA-44 的 CBOR 對象簽名算法
ML-DSA-65TBD(請求分配 -49)ML-DSA-65 的 CBOR 對象簽名算法
ML-DSA-87TBD(請求分配 -50)ML-DSA-87 的 CBOR 對象簽名算法

根據 [I-D.draft-ietf-cose-dilithium-05] 中算法密鑰對類型(Algorithm Key Paid Type)部分的說明,當出現在 AKP 密鑰中時,“pub” 參數具有以下約束:

  • “pub” 參數是 ML-DSA 公鑰,如 FIPS-204 第 5.3 節所述。

這些算法的 “pub” 大小以及相關的簽名大小在 FIPS-204 表 2 中定義,為方便起見,這里再次列出:

算法私鑰大小(字節)公鑰大小(字節)簽名大小(字節)
ML-DSA-44256013122420
ML-DSA-65403219523309
ML-DSA-87489625924627

這些算法用于生成符合 FIPS-204 算法 2 描述的簽名。

簽名使用 FIPS-204 第 7.2 節定義的算法編碼為字節串。

3.2 簽名生成與驗證

簽名生成依據 FIPS-204 第 5.2 節執行,簽名驗證依據 FIPS-204 第 5.3 節執行。

如果需要較小的密鑰或簽名,ML-DSA 可能并非理想選擇。此外,在期望更快處理速度的使用場景下,ML-DSA-87 可能并非最佳選項。因此,建議在 WebAuthn 中使用 ML-DSA-44 和 ML-DSA-65。

4. 認證器行為

本節描述認證器(無論是漫游認證器還是平臺認證器)如何實現 ML-DSA。

認證器 必須 具有安全存儲,用于存儲加密機密,并且 不應 以未授權的方式導出這些機密。

4.1 憑證創建

         +---------------+                    +--------+                                   +-----------+|               |                    |        |                                   |           || Authenticator |                    | Client |                                   | RP Server ||               |                    |        |                                   |           |+-------+-------+                    +---+----+                                   +-----+-----+|                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |      Get Challenge                           ||                                +--------------------------------------------->||                                |                                              ||                                |                                              ||                                |                                              ||                                |                   Challenge                  ||                                |<---------------------------------------------+|                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||  Credential Creation Request   |                                              ||<-------------------------------+                                              |
+----------------+   (Challenge)                  |                                              |
| Generate       |                                |                                              |
| Keypair        |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
+--------------->|                                |                                              ||                                |                                              |
+----------------+                                |                                              |
| Sign challenge |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
|                |                                |                                              |
+--------------->|                                |                                              ||                                |                                              ||  Assertion Response            |                                              |+------------------------------->|                                              ||  (Signed Challenge)            |     Assertion                                ||                                +--------------------------------------------->||                                |                                              ||                                |                                              +--------------------+|                                |                                              |  Verify            ||                                |                                              |                    ||                                |                                              |                    ||                                |                                              |                    ||                                |                                              |                    ||                                |                                              |<-------------------+|                                |                                              ||                                |                                              +--------------------+|                                |                                              |   Save public key  ||                                |                                              |                    ||                                |                                              |                    ||                                |                                              |                    ||                                |                                              |                    ||                                |                                              |                    ||                                |                                              |<-------------------+|                                |     Authentication response                  ||                                |<---------------------------------------------+|                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              |

[WebAuthn] 定義了憑證創建 API。該 API 接收一個公鑰憑證創建對象,其中包含加密挑戰、依賴方 ID(RP ID,Relying Party ID)、用戶信息以及公鑰憑證參數。公鑰憑證參數定義了可接受的算法。

一個公鑰憑證創建對象的示例如下:

{  challenge: new Uint8Array([215, 150, 119, 213, 215, 247, 188, 15, 142, 10, 53, 135, 17, 205, 130, 133, 158, 32, 113, 0, 62, 67, 112, 191, 123, 180, 224, 151, 233, 114, 68, 225]),  rp: { id: "example.com", name: "Example Corporation" },  user: {  id: new Uint8Array([79, 252, 83, 72, 214, 7, 89, 26]),  name: "johndoe",  displayName: "John Doe",  },  pubKeyCredParams: [{ type: "public-key", alg: -7 }, { type: "public-key", alg: -49 }],  
}

Web 應用通過調用 Navigator.credentials.create() 函數并傳入公鑰憑證創建對象來發起憑證創建。客戶端 Web 瀏覽器或應用程序調用 KaTeX parse error: Expected 'EOF', got '#' at position 75: …ebauthn-00.html#?CTAP) 定義的認證器 API。
公鑰憑證創建對象會被 CBOR 編碼,并通過選定的傳輸方式(包括但不限于 USB HID、BLE 和 NFC)發送到認證器設備。

公鑰憑證創建對象的 CBOR 編碼示例如下:

h'A50158201637B26333915747DBDC6C630C0165405A64939AE8F6E4FC39414F853F702F1602A2626964696C6F63616C686F7374646E616D656B44656D6F2073657276657203A3626964504EC1D4219F294FB4A0BC0CD29D485AFC646E616D6566615F757365726B646973706C61794E616D6567412E20557365720481A263616C67382F64747970656A7075626C69632D6B657907A1627576F5'

認證器 必須 驗證公鑰憑證創建對象中 "excludeCredentials" 列表中提到的任何憑證是否已存在于認證器上。若已存在,則認證器應根據 [CTAP] 返回錯誤代碼。
此外,認證器 必須 執行涉及認證器 PIN、用戶存在性(User Presence)、用戶驗證(User Verification)等的所有附加檢查,符合 CTAP 第 5.1 節的規定。

當公鑰憑證參數中包含 alg -49alg -48 時,認證器 分別使用 ML-DSA-65 或 ML-DSA-44 算法。
如果參數不存在,認證器 按照本文“向后兼容性考慮”部分的規定執行。

認證器根據 FIPS 204 第 5.1 節生成 ML-DSA 密鑰對及唯一的 Key ID。公鑰按照 [I-D.draft-ietf-cose-dilithium-05] 進行 COSE 編碼,并作為 attestedCredentialData 的一部分。

在按照 CTAP 第 5.1 節通過所有檢查后,認證器 生成認證聲明(attestation statement)。
authData 按照 WebAuthn 和 CTAP 規范創建,并附加 clientDataHash。然后使用生成的密鑰對的私鑰對其進行簽名。
認證聲明按照 CTAP 和 WebAuthn 生成。

ML-DSA 私鑰必須根據本文檔的“存儲安全和密鑰管理”部分進行存儲。

認證聲明采用 CBOR 編碼,并通過相同的傳輸方式返回給客戶端應用程序。

4.2 認證流程

      +---------------+                    +--------+                                   +-----------+|               |                    |        |                                   |           || Authenticator |                    | Client |                                   | RP Server ||               |                    |        |                                   |           |+-------+-------+                    +---+----+                                   +-----+-----+|                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |      Get Challenge                           ||                                +--------------------------------------------->||                                |                                              ||                                |                                              ||                                |                                              ||                                |                   Challenge                  ||                                |<---------------------------------------------+|                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||   Assertion Request            |                                              ||<-------------------------------+                                              ||   (Challenge)                  |                                              |
+-------------+                                |                                              |
|Sign         |                                |                                              |
|Challenge    |                                |                                              |
|             |                                |                                              |
|             |                                |                                              |
+------------>|                                |                                              ||  Assertion Response            |                                              |+------------------------------->|                                              ||  (Signed Challenge)            |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |     Assertion                                ||                                +--------------------------------------------->||                                |                                              ||                                |                                              +--------------------+|                                |                                              |     Verify         ||                                |                                              |                    ||                                |                                              |                    ||                                |                                              |                    ||                                |                                              |                    ||                                |                                              |<-------------------+|                                |     Authentication response                  ||                                |<---------------------------------------------+|                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              ||                                |                                              |

[WebAuthn] 定義了憑證請求 API。該 API 接收一個公鑰憑證請求對象,其中包含加密挑戰(cryptographic challenge)、依賴方 ID(RP ID),以及可選的允許憑證列表。

公鑰憑證請求對象示例如下:

{challenge: new Uint8Array([215, 150, 119, 213, 215, 247, 188, 15, 142, 10, 53, 135, 17, 205, 130, 133, 158, 32, 113, 0, 62, 67, 112, 191, 123, 180, 224, 151, 233, 114, 68, 225]),rpId: "example.com",
}

Web 應用通過 Navigator.credentials.get() 函數調用該公鑰憑證請求對象。
客戶端 Web 瀏覽器或應用程序調用 KaTeX parse error: Expected 'EOF', got '#' at position 75: …ebauthn-00.html#?CTAP) 中定義的認證器 API。
公鑰憑證請求對象會進行 CBOR 編碼,并通過所選的傳輸方式(包括但不限于 USB HID、BLE 和 NFC)發送至認證器設備。

如果提供了 allowedCredentials 列表,認證器 必須 查找綁定至相同 RP ID 的憑證,該憑證必須存在于列表中。若不存在此類憑證,認證器應根據 KaTeX parse error: Expected 'EOF', got '#' at position 75: …ebauthn-00.html#?CTAP) 返回錯誤代碼。
此外,認證器 必須 執行涉及認證器 PIN、用戶存在性(User Presence)、用戶驗證(User Verification)等的所有附加檢查,符合 CTAP 第 5.2 節的規定。

認證器在找到合適的憑證后 驗證其算法。
如果算法不是 ML-DSA,認證器 必須 按照本文檔“向后兼容性考慮”部分的規定執行。

憑證的檢索須符合本文檔“存儲安全與密鑰管理”部分的要求。

在通過 CTAP 第 5.2 節的所有檢查后,認證器 創建斷言(assertion)聲明。
authData 按照 WebAuthn 和 CTAP 規范創建,并將 clientDataHash 附加其后。
該數據使用解密后的 ML-DSA 私鑰簽名。
斷言響應(assertion response)按 CTAP 和 WebAuthn 規范生成。

斷言響應使用 CBOR 編碼,并通過相同的傳輸方式返回給客戶端應用。

所有用于處理 ML-DSA 私鑰的內存地址必須立即清零(zeroized)。

authenticator getNextAssertion() 函數的規范應根據 [CTAP] 進行類似實現。

4.3 向后兼容性考慮

如果依賴方(RP)不支持 ML-DSA,認證器 默認使用符合 FIPS-186-5 的 RS256 和 ES256 算法,
可通過檢查憑證創建過程中公共密鑰憑證參數字段(Public Key Credential Parameters)來驗證。

5. 客戶端與平臺考慮

本節描述客戶端和平臺的相關注意事項。

5.1 WebAuthn 客戶端中的 COSE 算法支持

客戶端的 CTAP 實現(如 Microsoft Windows 系統的 Windows Hello、Apple 系統的 iCloud 鑰匙串、Google Password Manager、Dashlane、OnePassword 以及其他基于瀏覽器的 Linux 實現) 根據 COSE 支持 ML-DSA 算法。
此外,推薦這些設備的平臺認證器支持 ML-DSA 密鑰生成和簽名,符合本文檔要求。

5.2 處理大尺寸簽名和密鑰

已考慮所選的傳輸方式(包括但不限于 USB HID、BLE 和 NFC)能夠傳輸 CBOR 編碼的數據,這些數據往往超過 2000 字節。
使用證明證書(attestation certificates)可能會進一步增加長度。

5.3 錯誤處理與回退機制

在涉及 ML-DSA 密鑰生成和簽名的錯誤情況下,認證器可以回退使用 ES256 或 RS256 算法。
在涉及與客戶端通信的錯誤情況下,認證器可根據 [CTAP] 進行處理。

6. 安全性考慮

[RFC9053] 的安全性考慮同樣適用于本規范。

ML-DSA 的詳細安全性分析超出本文范疇,更多細節參見 [FIPS-204]。

6.1 抗量子攻擊能力

有關抗量子攻擊能力的詳細信息,參見 [FIPS-204]。

6.2 存儲安全與密鑰管理

需要注意的是,在撰寫本文時,還沒有適用于 ML-DSA 的合適的硬件安全模塊(HSM)、可信平臺模塊(TPM)、安全元件(SE)或可信執行環境(TEE)能夠原生支持 ML-DSA。
因此,安全憑證存儲是一個挑戰。
為了解決這一問題,ML-DSA 密鑰(也稱憑證)必須使用高級加密標準(AES)進行加密,AES 是一種抗量子的對稱加密算法,采用 Galois/Counter 模式(GCM)并使用 256 位密鑰。

AES 密鑰必須在安全存儲中生成和存儲,該存儲可包括 HSM、TPM、SE 或 TEE。
ML-DSA 密鑰可以在標準計算環境(安全存儲之外)生成,但在寫入閃存或磁盤之前,必須使用上述 AES 加密進行加密。
相反,在使用前,必須在安全存儲中使用 AES 對其進行解密。

任何用于處理 ML-DSA 憑證的內存位置、指針或堆內存,在操作完成后必須立即清零。

當支持 ML-DSA 的安全存儲模塊廣泛可用時,本節將進行更新。

7.3 實現最佳實踐

如果安全存儲空間允許,建議每個 ML-DSA 私鑰使用唯一的 AES 密鑰加密:

  • 存儲前,每個 ML-DSA 私鑰都應獨立使用不同的 AES 加密密鑰進行加密。
  • 為確保強大的加密能力,AES 密鑰大小必須至少為 AES-256。
  • 為防止未經授權的訪問,加密密鑰應保存在硬件安全模塊(HSM)、安全元件(SE)或可信平臺模塊(TPM)中。
  • 密鑰管理應遵循 NIST SP 800-57 的建議,以提供安全的 AES 密鑰生命周期管理(創建、存儲、輪換和銷毀)。
  • 私鑰僅應在可信執行環境(TEE)或安全隔離區中解密,以避免內存泄漏。

7. IANA 注意事項

7.1 現有注冊表的新增條目

結合 [I-D.draft-ietf-cose-dilithium-05],
本文請求向 COSE 算法注冊表中注冊以下條目。
以下填寫完成的注冊模板根據 RFC9053 和 RFC9054 的說明提供。

7.1.1 待添加的算法

7.1.1.1 ML-DSA-44
  • 名稱:ML-DSA-44
  • 數值:待定(請求分配為 -48)
  • 描述:ML-DSA-44 的 CBOR 對象簽名算法
  • 能力:[kty]
  • 參考文獻:RFC XXXX
  • 推薦使用:是
7.1.1.2 ML-DSA-65
  • 名稱:ML-DSA-65
  • 數值:待定(請求分配為 -49)
  • 描述:ML-DSA-65 的 CBOR 對象簽名算法
  • 能力:[kty]
  • 參考文獻:RFC XXXX
  • 推薦使用:是
7.1.1.3 ML-DSA-87
  • 名稱:ML-DSA-87
  • 數值:待定(請求分配為 -50)
  • 描述:ML-DSA-87 的 CBOR 對象簽名算法
  • 能力:[kty]
  • 參考文獻:RFC XXXX
  • 推薦使用:是

7.1.2 新的 COSE 密鑰類型

請求 IANA 將以下條目添加到 COSE 密鑰類型注冊表中。以下為根據 RFC9053 提供的完整注冊模板。

7.1.2.1 AKP
  • 名稱:AKP
  • 數值:待定(請求分配為 7)
  • 描述:用于算法密鑰對的 COSE 密鑰類型
  • 能力:[kty(7)]
  • 參考文獻:RFC XXXX

7.1.3 新的 COSE 密鑰類型參數

請求 IANA 將以下條目添加到 COSE 密鑰類型參數中。以下為根據 RFC9053 提供的完整注冊模板。

7.1.3.1 ML-DSA 公鑰
  • 密鑰類型:待定(請求分配為 7)
  • 名稱:pub
  • 標簽:-1
  • CBOR 類型:bstr
  • 描述:公鑰
  • 參考文獻:RFC XXXX

參考資料

[1] 2025年4月 ML-DSA for Web Authentication

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

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

相關文章

ubuntu18.04解壓大的tar.gz文件失敗

1. 問題描述 我在vmware的虛擬機裝有petalinux環境&#xff0c;需要解壓downloads_2020.2.tar.gz這個大的壓縮包文件&#xff0c;但是總是失敗&#xff0c;而且過程很漫長 tar: downloads/git2/github.com.vim.vim.git/objects/pack/pack-f7f2e2add0c8972a9141b557ef725c38069…

App拉起:喚醒即達,告別繁瑣操作

在移動互聯網進入存量競爭的今天&#xff0c;“讓用戶少點一次、少等一秒”往往意味著20%以上的轉化率差異。openinstall把這套體驗總結成一套可落地的App拉起方案&#xff1a;一套SDK一組鏈接跳轉規則一個可自定義的落地頁&#xff0c;就能把Web→App的整條動線縮成一次點擊。…

開發指南125-HTML DOM事件

1、onload和onunload在頁面或某個元素加載完成后或離開后觸發事件。2、onchange用于在元素的值發生變化時觸發事件。一般用于<input>, <select>, <textarea>等元素3、onfocus 和 onblur激活或失去焦點時觸發4、onmouseover 和 onmouseout鼠標移入或移除時觸發…

使用redis 作為消息隊列時, 如何保證消息的可靠性

使用Redis作為消息隊列時&#xff0c;如何保證消息的可靠性 在分布式系統中&#xff0c;消息隊列扮演著不可或缺的角色&#xff0c;它能夠有效地實現服務間的解耦和異步通信。Redis憑借其出色的性能&#xff0c;常常被用作輕量級的消息隊列。然而&#xff0c;Redis本質上是一個…

CentOS7 安裝和配置教程

CentOS7 安裝和配置教程第一部分&#xff1a;安裝準備1. 下載CentOS 7鏡像2. 創建安裝介質第二部分&#xff1a;安裝步驟1. 在VMeare上安裝CentOS-7-x86_64-Minimal2. 安裝配置3. 安裝過程第三部分&#xff1a;初始配置1. 首次啟動設置2. 網絡配置3. 防火墻配置第四部分&#x…

clock_getres系統調用及示例

39. clock_getres - 獲取時鐘精度 函數介紹 clock_getres系統調用用于獲取指定時鐘的精度&#xff08;分辨率&#xff09;。它返回時鐘能夠表示的最小時間間隔。 函數原型 #include <time.h>int clock_getres(clockid_t clk_id, struct timespec *res);功能 獲取指定時鐘…

MCU+RTOS調試

1. 引言在做項目時&#xff0c;百分之三十的時間寫代碼&#xff0c;還有百分之70的時間用于調試。本期將以Keil為例進行調試章節的講解&#xff0c;目的在于做出一個標準化的調試步驟&#xff0c;方便大家學習如何調試代碼。內容分為基礎調試、中級調試及進階調試三部分&#x…

Redis的數據淘汰策略是什么?有哪些?

1.監測設置了TTL的數據volatile-lru&#xff1a;淘汰最近最少使用的數據volatile-lfu&#xff1a;淘汰最近使用次數最少的數據volatile-ttl&#xff1b;淘汰將要過期的數據volatile-random&#xff1a;隨機淘汰2.監測全庫數據allkeys-lru&#xff1a;淘汰最近最少使用的數據all…

相控陣波束躍度指向誤差Matlab仿真

波束躍度影響&#xff1a;TR芯片移相器位數、陣元數量、校準后陣元初始相位、TR芯片移相器精度、波控計算精度等。用MATLAB進行TR芯片移相器位數、陣元數量對指向誤差進行仿真。 close all; %線陣波束躍度仿真 20250726 %beam displacement % 波束躍度影響&#xff1a;TR芯片移…

板凳-------Mysql cookbook學習 (十二--------6)

MySQL 8 導入二進制文件(trailer.ogv)操作指南 在MySQL中導入二進制文件(如trailer.ogv視頻文件)通常有幾種方法&#xff0c;我將詳細介紹每種方法的操作步驟。 方法一&#xff1a;使用LOAD_FILE函數導入BLOB字段 這是最直接的方法&#xff0c;適合中小型二進制文件。sql - 1. …

昇思學習營-【模型推理和性能優化】學習心得_20250730

一、權重的加載 模型包含兩部分&#xff1a; base model 和 LoRA adapter 其中base model的權重在微調時被凍結&#xff0c; 推理時加載原權重即可&#xff0c;LoRA adapter可通過PeftModel.from_pretrained進行加載。 二、啟動推理 通過model.generate&#xff0c;啟動推理…

[AI8051U入門第十一步]W5500-服務端

學習目標: 1、連接TCP/IP 2、學習W5500作為服務端代碼一、TCP/IP介紹 TCP/IP 協議棧介紹 TCP/IP(Transmission Control Protocol / Internet Protocol)是互聯網通信的核心協議族,定義了數據如何在網絡中進行傳輸和路由。它由多個協議組成,采用分層架構,確保不同設備之間…

C 標準庫 <time.h> 函數詳解

目錄 概述 1 核心數據類型 1.1 time_t 1.2 clock_t 1.3 struct tm 1.4 size_t 2 核心函數 2.1 時間獲取函數 2.2 時間轉換函數 2.3 時間差計算 2.4 時間格式化函數 3 線程安全版本&#xff08;POSIX 擴展&#xff09; 3.1 函數列表 3.2 時間處理完整示例 4 重要…

基于BEKK-GARCH模型的參數估計、最大似然估計以及參數標準誤估計的MATLAB實現

基于BEKK-GARCH模型的參數估計、最大似然估計以及參數標準誤估計的MATLAB實現。BEKK-GARCH模型是一種多變量GARCH模型&#xff0c;用于估計多個時間序列的條件方差和協方差矩陣。 MATLAB實現BEKK-GARCH模型 1. 準備數據 假設你已經有一個時間序列數據矩陣 returns&#xff0c;每…

TDengine 中 TDgpt 用于異常檢測

介紹 TDgpt 內置時序數據異常檢測模型 TDengine 中定義了異常&#xff08;狀態&#xff09;窗口來提供異常檢測服務。異常窗口可以視為一種特殊的事件窗口&#xff08;Event Window&#xff09;&#xff0c;即異常檢測算法確定的連續異常時間序列數據所在的時間窗口。與普通事件…

統計學08:概率分布

一、隨機變量隨機變量是一個將 隨機事件 映射到 數值 的數學函數&#xff0c;用于描述事件的結果。隨機變量可以是離散的&#xff08;如骰子&#xff09;或連續的&#xff08;如人的身高、體重&#xff09;。1&#xff09;概率質量函數PMF——離散隨機變量P(X x) 對應于某個值…

vue3【組件封裝】消息反饋 S-msgWin.vue (針對父容器對齊,左右居中,可自定義頂部距離)

最終效果成功的提示報錯的提示代碼實現components/SUI/S-msgWin.vue <script lang"ts" setup> const props defineProps({msg: {type: Object,required: true,},top: {type: String,default: "50%",},duration: {type: Number,default: 3000,}, });…

MySQL 8.0.42創建MGR集群

MySQL 8.0.42創建MGR集群 概述 關于MySQL MGR集群的介紹就不在這里做詳細的介紹了&#xff0c;大家可以自己到官網上查看閱讀。在這里主要是實際操作方面的內容 總體結構設計如下圖服務器節點信息序號角色IP地址數據庫端口MGR端口1主節點192.168.56.1043309100612從節點192.168…

《Go Web編程實戰派--從入門到精通》的隨筆筆記

第二章 Go Web 開發基礎2.1第一個Go Web 程序package mainimport ("fmt""net/http" )func hello(w http.ResponseWriter, r *http.Request) {fmt.Fprintf(w, "Hello World") } func main() {server : &http.Server{Addr: "0.0.0.0:80&q…

MySQL在Linux環境下的性能調優

&#x1f4ca; MySQL性能基準測試&#xff1a;知己知彼建立性能基線的關鍵指標# 核心性能指標監控腳本 #!/bin/bash echo " MySQL Performance Baseline " mysql -e "SHOW GLOBAL STATUS LIKE Questions;" mysql -e "SHOW GLOBAL STATUS LIKE Uptime;…