MAC 碼(訊息認證碼)
MAC碼, 英文全稱為message authentication code, 是用於為一個message 提供 integrity 和authenticity 的assurance (保證)的 一段短的資訊。
所謂的integrity assurance 的意思就是避免或者檢測我們發的訊息被一個attacker 修改了。 所謂的authenticity assurence 就是確認message的來源。
MAC的原理如下:
對於上圖, 解釋如下:
sender 要向receiver 傳送一個message, 首先第一不, 這個message 需要經過一個MAC 演算法(注意需要祕鑰 key)用於產生這個message 對應的MAC碼。 然後message 和其對應的MAC碼一同發給receiver.。 接受者將收到的message同樣的經過MAC演算法, 通過使用同一個祕鑰, 產生收到的訊息對應的MAC碼。 然後將這個MAC碼和 收到的MAC碼相比, 如果相同, 說明接受者可以safely assume 收到的訊息沒有被一個attacker 改動。
然而, MAC 不能抵擋住 replay attacks(重放攻擊)。 所以, 為了抵擋住重放攻擊, 我們的message中必須含有保證this same message 只能被髮送一次的資料資訊。 例如, 我們可以使用時間戳(time stamp)。 否則an attacker could — without even understanding its content — record this message and play it back at a later time, producing the same result as the original sender.
相關文章
- 訊息認證碼
- 現代密碼學之加密雜湊函式與訊息認證碼密碼學加密函式
- 訊息認證碼是怎麼一回事?
- GKD認證指令碼指令碼
- 公鑰加密、數字簽名、訊息認證加密
- OAuth 2.0 授權碼認證OAuth
- 秒懂雲通訊:號碼認證拍了拍你
- MySQL密碼加密認證的簡單指令碼MySql密碼加密指令碼
- Laravel——驗證碼認證學習記錄Laravel
- 增強版實名認證介面-Java身份證實名認證介面程式碼-身份認證Java
- Python訊息轟炸指令碼Python指令碼
- Giraph原始碼分析(三)—— 訊息通訊原始碼
- SpringSecurity認證流程原始碼詳解SpringGse原始碼
- spring security 認證原始碼跟蹤Spring原始碼
- Redis使用認證密碼登入Redis密碼
- 無密碼身份認證,跟密碼說再見!密碼
- RabbitMq之訊息確認MQ
- 直播原始碼網站,訊息圖示在收到訊息時展示訊息條數原始碼網站
- Rabbitmq可靠訊息投遞,訊息確認機制MQ
- Django(64)頻率認證原始碼分析與自定義頻率認證Django原始碼
- 密碼安全和無密碼身份認證那些事兒密碼
- 1.6.5. 使用密碼檔案認證密碼
- 數字認證:密碼上雲之道密碼
- drf 認證校驗及原始碼分析原始碼
- RabbitMQ 訊息確認機制MQ
- 密碼學系列——訊息摘要(c#程式碼實操)密碼學C#
- django-rest-framework原始碼分析2—認證(Authentication)原始碼解析DjangoRESTFramework原始碼
- Mac視訊轉碼器EditReady for MacMac
- 全面剖析Android訊息機制原始碼Android原始碼
- 傳送kafka訊息的shell指令碼Kafka指令碼
- 用程式碼理解 ObjC 中的傳送訊息和訊息轉發OBJ
- WHQL 認證需要購買EV 程式碼簽名證書
- jQuery Validate驗證確認密碼是否相同jQuery密碼
- SpringSecurity(1)---認證+授權程式碼實現SpringGse
- shiro認證流程原始碼分析--練氣初期原始碼
- ASP.NET Core[原始碼分析篇] - 認證ASP.NET原始碼
- JWT身份認證(附帶原始碼講解)JWT原始碼
- RabbitMQ訊息佇列(九):Publisher的訊息確認機制MQ佇列
- 短視訊原始碼,密碼框驗證資訊文字提示原始碼密碼