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从而确保软件安全性

     

     

  • 相关阅读:
    13点睛Spring4.1-Spring EL
    12点睛Spring4.1-Spring Aware
    11点睛Spring4.1-Property Editor
    10点睛Spring4.1-Application Event
    09点睛Spring4.1-AOP
    08点睛Spring4.1-Profile
    07点睛Spring4.1-BeanPostProcessor
    06点睛Spring4.1-Bean的初始化和销毁
    05点睛Spring4.1-国际化
    Solaris 11 配置IP地址
  • 原文地址:https://www.cnblogs.com/fangnuonuo/p/9033104.html
Copyright © 2011-2022 走看看