热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

计算机网络之网络安全基础-消息完整性与数字签名

1.消息完整性检测方法消息完整性(报文认证)的目标:1.证明报文确实来自声称的发送方;2.验证报文在传输过程中没有被篡

1. 消息完整性检测方法

消息完整性( 报文认证) 的目标:

1. 证明报文确实来自声称的发送方;

2. 验证报文在传输过程中没有被篡改;

3. 预防报文的时间、 顺序被篡改;

4. 预防报文持有期被篡改;

5. 预防抵赖;

消息完整性检测方法:散列函数。主要有以下两种:

1. MD5:128位散列值;

2. SHA-1:160位散列值;

散列函数的特性:

1. 散列函数算法公开;

2. 快速计算;

3. 对任意长度报文进行散列产生定长输出;

4. 对于任意报文无法预知其散列值;

5. 不同报文不产生相同的散列值;

6. 单向性;


2. 报文认证

报文认证: 消息的接收者能够检验收到的消息是否是真实的方法。

报文认证要完成 消息源的认证 和 消息的认证。

报文认证术语:

报文摘要: 对报文m应用散列函数H, 得到固定长度的散列码。

报文认证的方式:

2.1. 简单报文验证;

1. 发送方对报文m应用散列函数, 得到固定长度的散列码, 获得报文摘要h, 将扩展报文(m,h)发送给接收方;


2. 接收方收到扩展报文后, 提取出报文m和报文摘要h, 同样对报文m应用散列函数H获得新的报文摘要H(m), 将H(m)和 h 比较;

3. 若相同, 报文认证成功,否则报文认证失败;

简单报文验证的不足: 无法达到对消息源认证。

2.2. 报文认证码MAC( Message Authentication Code);

1. 发送方和接收方共享一个认证密钥s, 发送方对报文m和认证密钥s应用散列函数H得到报文认证码h, 将扩展报文(m,h)发送给接收方;




2. 接收方收到扩展报文后, 提取出报文m和报文认证码h, 对报文m和认证密钥s应用散列函数H获得新的报文认证码H(m+s), 将H(m+s)与h比较;


3. 若相等, 则报文认证成功,否则失败;

报文认证码MAC不足: 无法保证消息在接收方没有被篡改。


 

3. 数字签名

数字签名: 在公开密码体制中, 一个主体使用自己的私钥加密消息, 得到的密文。 密文可以使用该主体的公钥解密, 恢复成原来的消息。 如此生成的 "密文" 对该消息提供认证服务。

数字签名应满足:

1. 接收方能够确认发送方的签名, 但不能伪造;

2. 发送方发出签名的消息给接收方后, 就不能再否认他所签发的消息;

3. 接收方对已收到的签名消息不能否认, 有收报认证;

4. 第三者可以确认收发双方之间的消息传送, 但不能伪造这一过程;

数字签名的方式:

3.1. 简单数字签名;

1. Bob利用自己的私钥对报文m加密, 创建签名报文,将扩展报文(报文, 签名报文)发送给Alice;

2. Alice收到扩展报文, 利用Bob的公钥解密签名报文, 并检验解密后的签名报文和报文m是否一致;

3. 若一致, 则签名m的一定是Bob的私钥;

3.2. 签名报文摘要;

1. Bob对报文m应用散列函数H生成报文摘要H(m), 然后Bob通过其私钥对报文摘要进行加密生成加密的报文摘要, 将扩展报文(报文, 加密的报文摘要)发送给Alice;

2. Alice收到报文m以及加密的报文摘要, Alice利用Bob的公钥解密加密的报文摘要, 并对m应用散列函数生成新的报文摘要;

3. 如果两者一致, 则签名报文m的一定是Bob的私钥;


推荐阅读
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 如何搭建服务器环境php(2023年最新解答)
    导读:本篇文章编程笔记来给大家介绍有关如何搭建服务器环境php的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、怎么搭建p ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • Harmony 与 Game Space 达成合作,在 Shard1 上扩展 Web3 游戏
    旧金山20 ... [详细]
  • 【CTF 攻略】第三届 SSCTF 全国网络安全大赛—线上赛 Writeup
    【CTF 攻略】第三届 SSCTF 全国网络安全大赛—线上赛 Writeup ... [详细]
  • 开发笔记:对称加密详解,以及JAVA简单实现
     (原)常用的加密有3种1、正向加密,如MD5,加密后密文固定,目前还没办法破解,但是可以能过数据库撞库有一定概率找到,不过现 ... [详细]
  • Google在I/O开发者大会详细介绍Android N系统的更新和安全性提升
    Google在2016年的I/O开发者大会上详细介绍了Android N系统的更新和安全性提升。Android N系统在安全方面支持无缝升级更新和修补漏洞,引入了基于文件的数据加密系统和移动版本的Chrome浏览器可以识别恶意网站等新的安全机制。在性能方面,Android N内置了先进的图形处理系统Vulkan,加入了JIT编译器以提高安装效率和减少应用程序的占用空间。此外,Android N还具有自动关闭长时间未使用的后台应用程序来释放系统资源的机制。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • 本文分享了一位Android开发者多年来对于Android开发所需掌握的技能的笔记,包括架构师基础、高级UI开源框架、Android Framework开发、性能优化、音视频精编源码解析、Flutter学习进阶、微信小程序开发以及百大框架源码解读等方面的知识。文章强调了技术栈和布局的重要性,鼓励开发者做好学习规划和技术布局,以提升自己的竞争力和市场价值。 ... [详细]
  • 14亿人的大项目,腾讯云数据库拿下!
    全国人 ... [详细]
author-avatar
大帅哥明日夜
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有