听说这玩意可以验证消息完整性 —— 消息认证码(MAC)

简介: 消息认证码(Message Authentication Code)是一种确认完整性并进行认证的一种技术,简称MAC。

消息认证码


  消息认证码(Message Authentication Code)是一种确认完整性并进行认证的一种技术,简称MAC


验证过程



消息认证码在输入任意长度的消息和一个发送者与接收者之间的共享密钥后,输出固定长度的数据,该数据称为 MAC


  1. 假设用户 A 和用户 B 使用共享密钥 K 进行通信。
  2. A 要发送一段消息 BA 首先用消息认证码算法将 K M 计算出消息认证码 MAC
  3. 然后将 MAC M 一起发送给 B
  4. B 收到 MAC M 后利用 M K 计算消息认证码。
  5. 如果计算出的消息认证码与收到的一样则验证成功,证明消息未被篡改。

  由于攻击者没有密钥 K,攻击者修改了消息内容后无法计算出相应的消息验证码,通过使用发送者和接收者之间共享的密钥,就可以识别出是否存在伪装篡改行为。


实现方法



缺点


  通过 MAC 使用双方都拥有的密钥可以实现防篡改仿伪装。但是这是一把双刃剑,由于密钥是共享的,这就导致发送方和接收方都可以计算出同样的 MAC 值,所以我们无法判断这个 MAC 值到底是由谁计算出来的。这导致了 MAC 无法防止否认(无法证明消息是发送方生成的还是接收方生成的),可以使用数字签名解决这个问题。

相关文章
|
存储 算法 安全
消息认证码(MAC)在物联网发布者中如何应用
消息认证码(MAC)在物联网发布者中的应用主要是为了确保数据的完整性和来源的真实性。通过使用密钥生成的MAC值,可以验证发送者身份和数据未被篡改,从而提高物联网系统的安全性和可靠性。
|
存储 算法 安全
深入解析消息认证码(MAC)算法:HmacMD5与HmacSHA1
深入解析消息认证码(MAC)算法:HmacMD5与HmacSHA1
|
算法 安全 数据安全/隐私保护
浅浅学习一下消息认证码MAC(Message Authentication Code)
浅浅学习一下消息认证码MAC(Message Authentication Code)
830 0
|
6月前
|
前端开发 安全 测试技术
Postman Mac 版安装终极指南:从下载到流畅运行,一步到位
Postman 是 API 开发与测试的高效工具,支持各类 HTTP 请求调试与团队协作。本文详解 Mac 版下载、安装步骤,助你快速上手。同时推荐一体化 API 协作平台 Apifox,集文档、调试、测试于一体,提升开发效率与团队协同能力。
|
9月前
|
iOS开发 MacOS 索引
在不受支持的 Mac 上安装 macOS Tahoe 26
在不受支持的 Mac 上安装 macOS Tahoe 26
692 0
在不受支持的 Mac 上安装 macOS Tahoe 26
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
12月前
|
Ubuntu Linux Shell
Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式
通过这个过程,用户不仅可以定制自己的桌面外观,还可以学习到更多关于 Linux 系统管理的知识,从而更好地掌握系统配置和主题管理的技巧。
1869 12
|
Oracle Java 关系型数据库
Mac电脑上安装和配置Flutter开发环境
Mac电脑上安装和配置Flutter开发环境
937 158
|
12月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。