zoukankan      html  css  js  c++  java
  • 散列函数的应用及其安全性(信息安全技术作业5)

    一、给出散列函数的具体应用

    1)文件校验

    MD5 Hash算法的"数字指纹"特性,使它成为目前应用最广泛的一种文件完整性校验算法

    2数字签名

    因为非对称算法的运算速度比较慢,所以在数字签名协议中应用单向散列函数。对 Hash 值进行数字签名,在统计上可以认为与对文件本身进行数字签名是等效的。通过HASH处理我们可以使其仅仅作用于HASH摘要上,从而提高效率。

    3)鉴权协议

    如下的鉴权协议又被称作"挑战--认证模式:在传输信道是可被侦听,但不可被篡改的情况下,这是一种简单而安全的方法。

    4)安全数据的安全存储

    由于HASH函数的单向性,我们可以实现口令,密码等安全数据的安全存储。

    5)数据校验

     HASH函数有类似数据冗余校验的功能,但是它比简单的冗余校验碰撞的概率要小得多,所以HASH来做关键数据的验证。

    6)关键数据的衍生

    因为HASH算法能够最大限度的保证其唯一性(从一个随机的种子数产生,并且不暴露种子本身秘密)。

     

    二、结合生日攻击、以及2004、2005年王晓云教授有关MD5安全性2017年google公司SHA-1的安全性,说明散列函数的安全性以及目前安全散列函数的发展。

    生日问题:

    n个人中随机选取k个人,k为多大时能保证k个人中有两个人的生日是相同的?只要k=70,这其中两个人有相同生日的可能性就是99.9%。

    20042005年王晓云教授有关MD5安全性

    王小云教授发现,可以很快的找到MD5碰撞,就是两个文件可以产生相同的指纹。这意味着,当你在网络上使用电子签名签署一份合同后,还可能找到另外一份具有相同签名但内容迥异的合同,这样两份合同的真伪性便无从辨别。王小云教授的研究成果证实了利用MD5算法的碰撞可以严重威胁信息系统安全

    2017google公司SHA-1的安全性

    希值可与 PDF 文件内容冲突 SHA-1破坏性攻击的速度仍然较暴力破解攻击快10万倍,这意味着前者确实具有可行性。

    散列函数的安全性:

    什么样的散列函数可以说是安全的呢?

    第一、寻找两个输入得到相同的输出值在计算上是不可行的,这就是我们通常所说的抗碰撞的

    第二、找一个输入,能得到给定的输出在计算上是不可行的,即不可从结果推导出它的初始状态

    目前安全散列函数的发展

    SHA-22002年,NIST分别发布了SHA-256SHA-384SHA-512,这些算法统称SHA-22008年又新增了SHA-224这些目前算是比较安全的

    三、结合md5算法中的选择前缀碰撞以及第二个链接中的helloworld.exe和goodbyworld.exe两个可执行文件的md5消息摘要值和两个文件的执行结果说明md5算法在验证软件完整性时可能出现的问题

    什么是md5算法中的选择前缀碰撞

    以同一个给定的前缀程序A为基础,在尾部添加不同的附加数据,得到两个具有相同MD5的样本BC,前缀构造法碰撞后的两个样本只有尾部少量字节不同,而程序代码是相同的。通过判断尾部数据的差异,两个样本可以执行不同的程序流程。由于这种碰撞手法是通过同一前缀程序碰撞生成的两个样本,如果其中有恶意代码流程则两个样本均包含恶意代码,所以比较容易被安全软件识别,隐蔽性较差。

    可能出现的问题

    1、不同程序的MD5可能是一样的。比如说HelloWorld.exeGoodbyeWorld.exe这两个程序,他们会在屏幕上打印出不同的字符,但是它们的MD5都是一致的。

    2、容易对MD5进行冲撞攻击,普通的计算机可以在短时间内找到冲撞对。

    3、可以利用MD5的这个漏洞来伪造数字签名

    4不能通过校验MD5从而确保软件安全性

     

     

  • 相关阅读:
    You are not late! You are not early!
    在同一个服务器(同一个IP)为不同域名绑定的免费SSL证书
    Vue.js Is Good, but Is It Better Than Angular or React?
    It was not possible to find any compatible framework version
    VS增加插件 Supercharger破解教程
    Git使用ssh key
    Disconnected: No supported authentication methods available (server sent: publickey)
    VS 2013打开.edmx文件时报类型转换异常
    asp.net MVC4 框架揭秘 读书笔记系列3
    asp.net MVC4 框架揭秘 读书笔记系列2
  • 原文地址:https://www.cnblogs.com/fangnuonuo/p/9033104.html
Copyright © 2011-2022 走看看