訊息認證碼的工作原理是什麼?


訊息認證碼是一段由幾個位元組組成的塊,可用於對訊息進行身份驗證。接收者可以測試此塊,並確信訊息未被第三方更改。

一系列由對稱金鑰引數化的密碼函式。每個函式都可以在可變長度的輸入資料(稱為“訊息”)上執行,以生成固定長度的輸出值。輸出值稱為輸入訊息的 MAC。

經過批准的 MAC 演算法通常需要滿足以下屬性(對於其提供的每個安全級別):即使已經檢視使用該金鑰計算其他訊息的 MAC 的結果,在不知道金鑰的情況下,確定訊息的 MAC 在計算上也是不可能的。MAC 演算法可用於支援資料來源身份驗證和資料完整性安全。

MAC 是一種密碼學原語,其定義包括三種演算法,稱為金鑰生成、標記和驗證演算法。

**金鑰生成**演算法建立某個“質量”(長度)的金鑰,該金鑰由其輸入(安全引數)定義。

**標記**演算法有兩個輸入,例如金鑰和訊息,一個輸出是標記。

**驗證**演算法有三個輸入,例如金鑰、訊息和標記。它輸出一個位,定義標記對於給定訊息和金鑰的有效性。

MAC 是一種對稱原語,因此想要交換訊息的兩方使用相同的(對稱)金鑰。數字簽名是一種非對稱原語,雙方具有不同的(但在數學上相關的)金鑰。

這轉化為一個簡單的敘述,即任何能夠檢查 MAC 的人也可以使用相同的金鑰計算它。

換句話說,只有擁有私鑰的實體才能生成簽名,而任何人都可以使用稱為驗證金鑰的公開金鑰來檢查這些簽名。儘管數字簽名似乎是一種更強大的原語,但它們的計算比 MAC 的計算容易得多,因此在適用時仍然使用 MAC。

MAC 在資料通訊中起著至關重要的作用。在不安全的通道上傳輸的訊息需要進行身份驗證,以避免攻擊,包括入侵者可能篡改通道而產生的訊息偽造。它可以支援訊息真實性,假設傳送方和接收方傳送了一個金鑰,則可以使用 MAC。

在 MAC 系統中,傳送方生成一個標記,該標記是訊息和金鑰的函式,並在傳送到通道之前將其附加到訊息上。

更新於: 2022-03-14

775 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告