香港公司

消息認證

互聯網 9547 171

消息認證(message authentication)

目錄

  • 1 什麼是消息認證[1]
  • 2 消息認證的檢驗內容[1]
  • 3 消息認證目的[2]
  • 4 消息認證系統的模型[2]
  • 5 消息認證中常見的攻擊和對策[2]
  • 6 參考文獻

什麼是消息認證[1]

  消息認證就是驗證消息的完整性,當接收方收到發送方的報文時,接收方能夠驗證收到的報文是真實的和未被篡改的。它包含兩層含義:一是驗證信息的發送者是真正的而不是冒充的,即數據起源認證;二是驗證信息在傳送過程中未被篡改、重放或延遲等。

  數據完整性機制有兩種類型:一種用來保護單個數據單元的完整性;另一種既保護單個數據單元的完整性,又保護整個連接上所有數據單元流序列的完整性。

消息認證的檢驗內容[1]

  消息認證的檢驗內容應包括:認證報文的信源和信宿、報文內容是否遭到偶然或有意篡改、報文的序號是否正確、報文的到達時間是否在指定的期限內。總之,消息認證使接收者能識別報文的源、內容的真偽、時間有效性等。這種認證只在相互通信的雙方之間進行,而不允許第三者進行上述認證。

  為了防止人工操作和傳輸過程中的偶然錯誤,可採用多次輸入和多次傳輸比較法進行校驗,也可採用冗餘校驗法進行檢測。這些都是比較簡單的保持完整性的方法。

  在數據塊中加入冗餘信息的過程稱為差錯編碼。只具有檢錯功能,但不能確定錯誤位置,也不能糾正錯誤,這種碼稱檢錯碼。具有糾錯功能,將無效碼字恢覆成距離它最近的有效碼字,但不是100%正確,這種碼稱糾錯碼。檢錯碼和糾錯碼都是檢驗數據完整性的簡單易行的有效方法。

消息認證目的[2]

  消息認證是防止主動攻擊的重要技術,消息認證的目的主要有兩個:

  ①驗證信息的發送者是真實的,而不是冒充的,也稱為信源認證;

  ②驗證信息的完整性,即信息在傳送和存儲過程中未被篡改、重放和延遲等。

消息認證系統的模型[2]

  消息認證系統的一般模型如圖1所示。相對於密碼系統,認證系統更強調的是完整性。消息由發送者發出後,經由密鑰控制或無密鑰控制的認證編碼器變換,加入認證碼,將消息連同認證碼一起在公開的無擾通道進行傳輸,有密鑰控制時還需要將密鑰通過一個安全通道傳輸至接收方。接收方在收到所有數據後,經由密鑰控制或無密鑰控制的認證解碼器進行認證,判定消息是否完整。消息在整個過程中以明文形式或某種變形方式進行傳輸,但並不一定要求加密,也不一定要求內容對第三方保密。攻擊者能夠截獲和分析通道中傳送的消息內容,而且可能偽造消息送給接收者進行欺詐。攻擊者不再像保密系統中的密碼分析者那樣始終處於消極被動地位,而是主動攻擊者。

  圖1所示的認證編碼器和認證解碼器可以抽象為認證方法。一個安全的消息認證系統,必須選擇合適的認證函數,該函數產生一個鑒別標誌,然後在此基礎上建立合理的認證協議,使接收者完成消息的認證。

  Image:消息认证系统模型.jpg

  圖1  消息認證系統模型

消息認證中常見的攻擊和對策[2]

  ①重放攻擊:截獲以前協議執行時傳輸的信息,然後在某個時候再次使用。對付這種攻擊的一種措施是在認證消息中包含一個非重覆值,如序列號、時戳、隨機數或嵌入目標身份的標誌符等。

  ②冒充攻擊:攻擊者冒充合法用戶發佈虛假消息。為避免這種攻擊可採用身份認證技術。

  ③重組攻擊:把以前協議執行時一次或多次傳輸的信息重新組合進行攻擊。為了避免這類攻擊,把協議運行中的所有消息都連接在一起。

  ④篡改攻擊:修改、刪除、添加或替換真實的消息。為避免這種攻擊可採用消息認證碼MAC或hash函數等技術。

參考文獻

  1. 1.0 1.1 齊浩亮,鄭曉霞主編.信息技術基礎.中國水利水電出版社,2009.04.
  2. 2.0 2.1 2.2 鄧元慶,龔晶,石會編著.密碼學簡明教程.清華大學出版社,2011.08.