除了前一章講到的數位簽章外,今天要繼續來介紹其他也能夠進行身分驗證的方法
訊息認證碼 (Message Authentication Code, MAC)
訊息認證碼 是一種與密鑰相關的短片段資訊,用於確認一段訊息的完整性和真實性,以及作為身分的驗證。
它是通過一個特定的演算法和密鑰,對消息進行加密計算得到的,可以用來檢查在訊息的傳遞過程中,訊息的內容是否被更改過,不管更改的原因是來自意外或是蓄意攻擊,同時還可以作為訊息來源的身分驗證,確認訊息的來源。
訊息認證碼的演算法中,通常會使用帶密鑰的雜湊函數(HMAC),或者塊密碼的帶認證工作模式(如GCM,CCM)。
資訊鑑別碼不能提供對資訊的保密,若要同時實現保密認證,同時需要對資訊進行加密。
工作原理:
以下是一些常見的MAC算法:
HMAC (Hash-Based Message Authentication Code)
這是最常用的MAC方法之一,它使用一個加密的雜湊函數(如SHA-256)與一個密鑰一起生成MAC值。
CMAC (Cipher-Based Message Authentication Code)
使用區塊加密算法(如AES)生成 MAC值。
訊息認證碼與雜湊函數有些相似,但主要區別在於MAC是與密鑰相關的,而雜湊值不是,這表示只有知道正確密鑰的人才能生成正確的MAC。
使用MAC的優點是,它提供了消息的完整性和真實性驗證,但它不提供加密,這代表訊息本身在傳送的過程中,可能是可見的,除非它也被獨立地加密。
參考資料:
https://zh.wikipedia.org/zh-tw/%E8%A8%8A%E6%81%AF%E9%91%91%E5%88%A5%E7%A2%BC
https://zh.wikipedia.org/zh-tw/HMAC