在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4525|回复: 21

[原创] 随机数在密码学中的作用(二)应用介绍之2

[复制链接]
发表于 2020-7-27 11:41:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本期介绍随机数在密码学中生成Salt的用法。
在密码学中,Salt是指将特定(固定)字符串插入到明文固定位置,让Hash散列运算值不同于使用原始明文的散列值。HASH散列运算是公开算法,只要有相同的明文,任何人都能算出相同的摘要值。Salt的意义在于让只有掌握正确Salt数据的用户才能计算出正确的HASH散列值。在某种意义上,Salt对于HASH运算的意义,就相当于密钥对于3DES等对称算法的意义。下面举例介绍随机数结合Salt的用法。
越来越多的嵌入式设备面临远程升级固件的安全问题,主要分为两方面:
问题1:如何实现固件防篡改
问题2:如何防止窃取固件
本次介绍一个简单的方法来提升固件防篡改的安全等级。
应用场景:A端向B端传送固件H,用于升级MCU程序。
安全隐患:固件H存在传输中被篡改的风险。
B端收到固件H后并不确定H是否有被篡改过,所以面临着升级变砖等威胁。只需在A、B两端分别加入两个操作流程,就可以简单高效的提升安全等级。
准备阶段:
1、AB两端事先约定好在固件数据的指定位置加入Salt值。
2、A、B约定好生成Salt的具体算法。
应用阶段A端工作
1、生成随机数RND
2、根据RND计算生成SaltA
3、将SaltA加入到约定的固件位置
4、计算生成散列值HashA
5、将固件H、RND、HashA发送到B端
应用阶段B端工作
1、根据RND计算SaltB
2、将SaltB加入到约定的固件位置
3、计算HashB
4、对比HashA是否等于HashB,如果相等,证明固件未被篡改,不等则证明计算有误或者固件被篡改了。

头像被屏蔽
发表于 2020-7-27 14:59:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2020-7-27 17:09:02 | 显示全部楼层
怎么没感觉的Salt跟随机数有关联啊,介绍这部分的内容很少
发表于 2020-7-27 17:37:14 | 显示全部楼层
二楼走起
头像被屏蔽
发表于 2020-7-27 21:52:55 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2020-7-28 09:36:48 | 显示全部楼层
不用随机数一样能生成Salt的,楼主这用法太牵强
头像被屏蔽
发表于 2020-7-28 13:28:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽
发表于 2020-7-28 16:17:27 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2020-7-28 16:23:34 | 显示全部楼层
楼主上篇文章有介绍到线路重放,你可以去看看
发表于 2020-7-28 21:02:09 | 显示全部楼层
YEAH,bravo
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-3 21:53 , Processed in 0.025692 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表