密码技术之消息认证码

一,概述:

上一节我们知道消息的完整性保护需要通过单向散列函数来保证。但是光完整性还不够,我们还有确认消息的来源必须是正确的发送者。

MAC(message authentication code)消息认证码是一种确认完整性并进行认证的技术,是一种与密钥相关联的单向散列函数。输入是任意长度的消息和一个发送者和接收者之间共享的密码,输出固定长度的数据MAC值。两者之前的区别如下图所示:

由于需要共享密钥,如果这个密钥被截取,从而可以进行自由的篡改和伪装,因此需要解决密钥配送问题,可以采用公钥密码、证书体系等传统方式。

比如通过认证加密,一种将对称密码与消息认证码相结合,比如将明文用对称密码加密,然后计算密文的MAC值,同时满足机密性、完整性、认证三大功能机制。

GCM是一种认证加密方式,专门用于消息认证码的GCM称为GMAC.

像一些IPsec、SSL/TLS等通信协议就使用了消息认证码。(详细介绍如:

TLS与SSL的介绍及区别)

二,消息认证码的实现方法

除了可以用分组密码实现消息认证码之外,也可以用单向散列函数来实现,比如HMAC。

使用SHA-1、SHA-224、SHA-256、SHA-384、SHA-512所生成的HMAC分别称之为HMAC-SHA-1、HMAC-SHA-224、HMAC-SHA-256、HMAC-SHA-384、HMAC-SHA-512。

三,针对消息认证码的攻击

应该保证不能跟进MAC值推测出通信双方所使用的密钥。

1,重放攻击,不需要破解消息认证码,而是截取正确的值进行重复利用,当然,可以通过序号、时间戳、随机数等方式避免。

2,密钥推测攻击,同样也可以进行暴力破解和生日攻击。

四,消息认证码无法解决的问题

1,第三方证明,也就是说乙无法向丙证明,这条消息是甲发送的。因为有了第三方参与,因为密钥是共享的,甲和乙无法证明消息就是对方发送的,也许是自己发送的呢!

2,防抵赖性,也就是说甲乙都可以否认消息是对方发送的。

通过数字证书可以解决。

原文发布于微信公众号 - 安智客(china_safer)

原文发表时间:2018-06-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏進无尽的文章

精析-苹果开发者证书的实现机制

      在iOS开发过程中,不可避免的要和证书打交道,真机调试、App上架、打包给测试去测试等都需要搞证书。在此过程中我们会遇到很多的问题,但是如果掌握了真...

2012
来自专栏IMWeb前端团队

从运营商小广告到HTTPS

相信很多人都试过这样的经历,浏览一个正常的网站时,右下突然角弹出一堆小广告,而且这些广告的内容和你浏览的网站格格不入: 前几天还有某微博用户爆料访问gith...

41910
来自专栏张善友的专栏

Jexus服务器SSL二级证书安装指南

申请获得服务器证书有三张,一张服务器证书,二张中级CA证书。在Android微信中访问Https,如果服务器只有一张CA证书,就无法访问。 获取服务器证书中级...

2488
来自专栏Java学习网

分析学习HTTPS和HTTP的区别

分析学习HTTPS和HTTP的区别  首先谈谈什么是HTTPS:   HTTPS(Secure Hypertext Transfer Protocol)安全超...

25510
来自专栏惨绿少年

HTTPS 原理与证书实践

1.1 网络安全知识 1.1.1 网结安全出现背景 网络就是实现不同主机之间的通讯,网络出现之初利用TCP/IP协议簇的相关协议概念,已经满足了互连两台主机之间...

7727
来自专栏Golang语言社区

使用Let's Encrypt的SSL证书配置HTTPS手记

前段时间,看见很多大会都在分享全站HTTPS的经验。HTTPS固然好,前提是SSL证书,并且签发证书的机构要靠谱。沃通的CA证书就相继被Mozilla和Goog...

4117

获得具有商业签名的TLS证书

如果您打算托管一个可公开访问的使用HTTPS的网站,那么您将需要安装一个具有商业签名的TLS证书,这样访问您网站的人就不会在浏览器中收到有关不安全连接的警告。

1113
来自专栏Spark学习技巧

大数据集群安全系列之kafka使用SSL加密认证

Apache kafka允许客户端通过SSL进行连接。默认情况下SSL是禁止状态,可以根据需要开启。本文就是浪尖亲测,开启SSL认证。 1,为每一个kafka ...

86410
来自专栏网络

通过CURL请求示例详解HTTPS协议

基于HTTPS通信是当前互联网最通用便捷的通信方式,简单理解来看可以视为HTTP协议 + SSL/TLS协议,通过一个curl的示例阐述一下HTTPS协议。 特...

32210
来自专栏派森公园

HTTPS是如何工作的

大家在浏览网页的时候一定有这样的体验,有一些网站在网址那里会显示一个绿色的挂锁,并且网址中“https”相关的字样也是绿色的,聪明的朋友肯定会问,这些颜色和符号...

1064

扫码关注云+社区

领取腾讯云代金券