密码学篇(数据完整性)
本文部分摘取自:https://blog.csdn.net/xjhhjx/article/details/81603107
序言
密码技术的目的很明确,就是为了解决信息安全问题。
就本人从事行业来说,可以用客户端与服务器端的数据通讯过程举例(考虑客户端与服务器端通讯的双向性)。
信息安全可分为四类特性:
1、数据保密性:为了防止通讯过程中信息被窃听,对应的密码技术有对称加密和非对称加密。(用户敏感数据不应明文传输)
2、数据完整性:为了防止通讯过程中信息被篡改,对应的密码技术有单向散列函数、消息认证码、数字签名。
3、认证:为了防止攻击者伪装成真正的发送者,对应的密码技术有消息认证码和数字签名。
4、数据抗抵赖:为了防止发送者事后否认自己没有做过,对应的密码技术为数字签名。
2.保证数据完整性
消息摘要
消息摘要函数是一种用于判断数据完整性的算法,也称为散列函数或哈希函数,函数的返回值是散列值,散列值又称为消息摘要或者指纹。
这种算法是不可逆的,即无法通过消息摘要反向推导出消息,因此又称为单向散列函数。
常见算法:
MD5 SHA-1 SHA-2(SHA-224,SHA-256,SHA-384,SHA-512)
国密SM3(安全性及效率与SHA-256相当)
值得注意的是,现阶段有些系统会使用MD5或者base64当做应用层的加密手段。姑且不论MD5和base64根本不可称之为加密算法,实际就目前而言,MD5和SHA1已被破解,base64只是作为一种转码算法。目前相对安全的哈希算法需达到SHA256及以上级别
例:
当我们使用某一软件时,下载完成后需要确认是否是官方提供的完整版,是否被人篡改过。通常软件提供方会提供软件的散列值,用户下载软件之后,在本地使用相同的散列算法计算散列值,并与官方提供的散列值向对比。如果相同,说明软件完整,未被修改过。
下图是使用Windows命令行查看本地某Apk文件签名信息的运行结果,如果App具备自校验签名机制,当我们对该apk文件进行重签名之后,安装重签名的Apk文件并运行,过程中会失败
keytool -list -printcert -jarfile F:\1.apk
优点:
可以保证数据的完整性。
缺点:
无法保证数据的真实性,即不能确定数据和散列值是来自发送方的,因为攻击者完全可以将数据和散列值一起替换。
问题:
如何验证发送的数据确实来自于发送方?
密码学篇(数据完整性)相关推荐
- 【密码学篇】虚拟专用网技术原理与应用(商密)
[密码学篇]虚拟专用网(VPN)技术原理与应用(商密) VPN技术不是洪水猛兽,其普遍应用于网络通信安全和网络接入控制,可通过服务器.硬件.软件等多种方式实现.-[蘇小沐] 文章目录 [密码学篇]虚拟 ...
- 【密码学篇】商用密码产品的密钥体系结构小结
[密码学篇]商用密码产品的密钥体系结构小结 商用密码产品的密钥体系结构笔记小结-[蘇小沐] 文章目录 [密码学篇]商用密码产品的密钥体系结构小结 1.商用密码产品密钥体系结构 (一)服务器密码机密钥体 ...
- 【密码学篇】密码行业标准汇总(GM)
[密码学篇]密码行业标准汇总(GM) 截止到2023年03月10日,共130个密码行业标准,适用商用密码应用与安全性评估等密码行业,可点击链接预览或下载标准-[蘇小沐] 文章目录 [密码学篇]密码行业 ...
- 【密码学篇】GM密码行业标准下载方法
[密码学篇]GM密码行业标准下载方法 截止到2023年07月08日,密码行业标准化技术委员会共发布了144个密码行业标准,可点击链接预览或使用IDM下载器下载标准,此外该方法很多场景都适用,自行尝试- ...
- WhaleCTF 密码学篇~
WhaleCTF 密码学篇~ Death_Chain 先有什么 检查符号 德军密码 密钥生成 规则很公平 数学小问题 此处应写 栅栏加密 小明入侵 RSA破解 RSA分解 只有密文 算法问题 大家来解 ...
- 程序猿成长之路之密码学篇-DES介绍
上一篇讲到了密码学的定义和发展历史,讲到了一些基础理论如扩散(明文的一位可以影响密文的多位)和混淆(密钥和密文的对应关系复杂化),如信息安全系统三要素CIA(机密性.完整性.可用性)等,并简要的介绍了 ...
- 网络安全CTF夺旗赛入门到入狱-密码学下篇
哈喽大家好,我是菜鸡林某.今天给大家带来CTF夺旗赛入门的第一步密码学篇下半部分(干货部分)不了解什么是CTF和密码学的可以看上一篇 传送门: 网络安全CTF夺旗赛入门到入狱-入门介绍篇 网络安全CT ...
- 前景无限的golang,分分钟高薪offer
文章目录 前景无限的golang,正是企业必争之地! 全球企业纷纷抢滩布局,数千家golang创业公司竞相成立 万亿市场,技术人才极度缺乏,谁先入行,谁就成长更快! 没有对比就没有伤害,不是所有潮流技 ...
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第39篇]侧信道攻击和故障攻击有什么区别
这是一系列博客文章中最新的一篇,该文章列举了"每个博士生在做密码学时应该知道的52件事":一系列问题的汇编是为了让博士生们在第一年结束时知道些什么. 侧信道攻击(Side-chan ...
最新文章
- IIS目录禁止执行权限
- Linux下shell颜色配置
- VS 配置外部DLL的引用路径【可执行文件的环境路径】
- Game as a Service —— 开源云游戏搭载WebRTC
- java三判式,Java编程设计模式,第 3 部分
- [读码时间] 记住密码提示框
- CCF	2014-3-1 相反数
- mssql 数据库“查询处理器用尽了内部资源,无法生成查询计划。”问题的处理...
- Python之常用模块(3)
- 通过smtplib和email发送验证码到电子邮箱(Python3.7.X)
- 编程必会的100个代码大全,建议收藏
- ZUL页面注解语法与Java注解语法
- Java 之父 James Gosling 最新访谈:JIT 很好,但不适合所有语言
- px和毫米之间的转换
- mac HBuX连接夜神模拟器,连接真机
- sql-in查询-元素超过1000条解决方案
- 陈莉君教授: 回望踏入Linux内核之旅(下篇)
- 【海洋科学】高精度地形数据画出的水深图
- 人脸识别——OpenCV调取摄像头识别人脸
- Globally and Locally Consistent Image Completion 实验记录
热门文章
- 微机原理与接口技术系列笔记(一)
- 音乐平台程序源码分享
- AD9361 介绍 (中)
- ChessBoard棋盘覆盖问题
- java中String优化之intern()方法
- virtual Box与Vagrant的安装与踩坑
- System.InvalidOperationException:“ConnectionString 属性尚未初始化。” 连接字符串的根本解决办法
- 在局域网中搭建自己的网站
- linux 的 ip 命令 和 ifconfig 命令
- 【jiasuba】分享:键盘失灵烦恼多 教你轻松禁用原键盘