921281-信息系统安全与对抗实践-14. 现代密码与散列函数
- 格式:pdf
- 大小:827.21 KB
- 文档页数:14
头歌《信息系统安全》课程实验指导下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!头歌《信息系统安全》课程实验指导引言信息系统安全是当今互联网时代至关重要的领域之一。
信息系统安全与对抗实践Web 攻击技术(下)内容提要•因设置或设计上的缺陷引发的安全漏洞•因会话管理疏忽引发的安全漏洞•其他安全漏洞2因设置或设计上的缺陷引发的安全漏洞•强制浏览(Forced Browsing)-指从安置在Web服务器的公开目录下的文件中,浏览那些原本非自愿公开的文件。
-造成的危害•泄露顾客的个人信息等重要情报•泄露原本需要具有访问权限的用户才可查阅的内容•泄露未连接到外界的文件-案例•Apache配置中的Indexes选项会列举目录下的文件和子目录3因设置或设计上的缺陷引发的安全漏洞•不正确的错误消息处理(Error Handling Vulnerability)-指Web应用的错误信息内包含对攻击者有用的信息,包括Web应用抛出的错误信息和数据库等系统抛出的错误信息等。
Web应用不必在用户的浏览画面上展现详细的错误信息,对攻击者来说,详细的错误信息有可能给他们的下一次攻击给予提示。
-案例•Web应用抛出的详细错误。
(注册、登录)•数据库等系统抛出的详细错误。
(语句执行出错时)•脚本语言抛出的错误(PHP、Python、ASP、JSP等)4因设置或设计上的缺陷引发的安全漏洞•开放重定向(Open Redirect)-开发重定向是一种对指定的任意URL作为重定向跳转的功能。
于此功能相关联的安全漏洞指,假如指定重定向URL到某个具有恶意的Web网站,那么用户就会被诱导至那个Web网站。
-造成的危害•可信度高的Web网站如果开放重定向功能,则很可能被攻击者选中并作为钓鱼攻击的跳板。
•可以利用此功能进行服务端请求伪造攻击(Server-Side Request Forgery),达到探测和访问内网资源的目的。
5因会话管理疏忽引发的安全漏洞•会话劫持(Session Hijack)-指攻击者通过某种手段拿到了用户的会话ID,并非法使用此会话ID伪装成用户,达到攻击的目的。
-会话劫持的途径•通过非正规的生成方法推测会话ID•通过XSS攻击盗取会话ID•通过ARP中间人攻击盗取会话ID6因会话管理疏忽引发的安全的安全漏洞•跨站伪造请求(Cross-Site Request Forgeries,CSRF)-指攻击者通过设置好的陷阱,利用已认证用户的权限,来发送对于被攻击者来说非预期但是攻击者期望的请求。
信息系统安全与对抗实践C语言进阶内容提要•函数•指针•数据结构•内存管理2•函数定义:返回值类型、函数名(参数类型、参数..){函数体}•函数调用3函数•函数声明:返回值类型、函数名(参数类型、参数..)-函数声明使函数定义可以分离到其他的源文件、链接库中-一般将函数声明写入头文件中,以方便其他源文件包含4函数•参数传递:-形式参数:函数定义中抽象的参数-实际参数:函数调用中传递的参数-实形结合:在调用时,实际参数将值传递给形式参数5函数•参数传递•通过swap 函数了解值传递和地址传递6var1var2var1var2函数7main 函数栈区swap 函数栈区var1var2p_var1p_var2&var1&var2赋值指向函数•参数传递•通过swap 函数了解值传递和地址传递指针•用于保存其他变量地址的变量•通过示例了解指针基础概念-int var=1; int*p=&var;-定义指针:指针类型、指针名-指针类型:指针p的类型为int*,读作int指针-指针指向的类型:p指向的类型为int类型,*p为int类型-指针赋值:只能使用同类型的地址或指针为指针变量赋值-解除引用:*p操作得到int类型变量的内容8•指针的算数运算-加法:向高位地址偏移sizeof (指针所指向的类型)个字节-减法:向低位地址偏移sizeof (指针所指向的类型)个字节9RAM 0x010x020x030x040x050x06(int*0) pi(int*) pi+1(char*) pc (char*) pc+1指针加法图示指针•指针与数组-数组名为数组首元素地址,即arr 等价于&a [0]-数组名为地址常量,可以参与算术运算,但不能被赋值-arr [0]等价于*(arr+0),实际上是通过地址取内容10arr [0]arr [1]arr [2]arr [3]arr [4]arr [5]int 0x010x050x090x0d0x110x15arrarr+2指针•强制类型转换110x115f9600x115f9610x115f9620x115f963(char*) pc(char*) pc+1指针指针•void指针-基本概念:指向无类型(void)的指针-定义方法:void* p_void-使用方法:•可直接接受任意指针类型的赋值•赋值给非void指针需要强制转换•ANSI标准规定void指针不能进行算术运算,如果需要进行算术运算,则必须先进行强制类型转换指明具体指针类型-应用:常作为函数中描述缓冲区的形式参数出现12指针•函数指针-基本概念:指向函数的指针-定义方法:使用(*p)替换函数原型中的函数名-使用方法:可直接作为函数名使用-应用举例:可作为函数的形式参数,作为回调函数使用-实际例程:编写函数,用于测试其他函数的执行时间•堆(heap )结构:数据结构中的堆指二叉堆-二叉堆是一颗完全二叉树-若根节点的关键字值是堆中的最大关键字值,且每个节点若有儿子节点,其关键字值都不小于其儿子节点的关键字值,则称该堆为最大堆,反之为最小堆14301261082最大堆17320104最小堆数据结构-堆•栈(stack )结构-栈是一种后进先出(LIFO )的数据结构-入栈操作:栈顶指针上移-> 元素入栈-出栈操作:元素出栈-> 栈顶指针下移15数据结构-栈•C 语言内存模型16虚拟内存低地址高地址1.内存连续,且向下增长2.由编译器自动分配释放3.存放函数参数和局部变量4.数据结构与栈相同1.内存不连续,且向上增长2.由程序员负责申请和释放3.数据结构与堆不同内存管理•内存管理函数17注意:1.使用内存管理函数需要包含头文件为stdlib.h2.动态内存分配函数返回void*,需要强制类型转换成具体类型才可以使用内存管理内存管理•内存管理函数注意,不要越界使用堆内存!否则可能导致后续分配失败18。
信息安全技术模拟复习试卷 信息安全技术模拟复习试卷 一、英文缩写 1、信息安全的CIA指的是什么? Confidenciality 隐私性,也可称为机密性,是指只有授权的用户才能获取信息 Integrity 完整性,是指信息在传输过程中,不被非法授权和破坏,保证数据的一致性Availability 可用性,是指信息的可靠度 2、简述PPDR安全模型的构成要素及运作方式 PPDR由安全策略,防护,检测和响应构成 运作方式:PPDR模型在整体的安全策略的控制和指导下,综合运用防护工具的同时,利用检测工具了解和评估系统的安全状态,通过适当的安全响应将系统调整在一个相对安全的状态。防护,检测和响应构成一个完整的、动态的安全循环。 3、DSS,数字签名标准,也使用散列函数。 4、DAC,自主访问控制,选择同其他用户一起访问资源,客体:文件、邮件、终端设备,灵活性高,举例:车票 MAC:强制访问控制,访问发生前,系统通过比较主体和客体的安全属性来决定主体能否以他所希望的模式访问一个客体,每个用户及文件赋予一个访问级别: 绝密级T>机密级S>秘密级C>普通级U,用户级别低的可以访问低的,低的可以写入高的,所以有商都瞎写,粒度大、缺乏灵活性 RBAC,基于角色的访问控制,授权用户的访问权限,由用户在一个组织中担当的角色来决定 5、VPN,虚拟专用网络,虚拟出来的企业内部专线 6、RSA,公钥加密算法 7、MD5单向散列算法 8、IDEA、单钥加密算法 9、.DNSSEC :DNSSEC(域名系统安全扩展)是在原有的域名系统(DNS)上通过公钥技术,对DNS中的信息进行数字签名,从而提供DNS的安全认证和信息完整性检验(2分)。发送方首先使用Hash函数对要发送的DNS信息进行计算,得到固定长度的“信息摘要”,然后对“信息摘要”用私钥进行加密,此过程实现了对“信息摘要”的数字签名;最后将要发送的DNS 信息、该DNS信息的“信息摘要”以及该“信息摘要”的数字签名,一起发送出来(1分)。接收方首先采用公钥系统中的对应公钥对接收到的“信息摘要”的数字签名进行解密,得到解密后的“信息摘要”;接着用与发送方相同的Hash函数对接收到的DNS信息进行运算,得到运算后的“信息摘要”;最后,对解密后的“信息摘要”和运算后的“信息摘要”进行比较,如果两者的值相同,就可以确认接收到的DNS信息是完整的,即是由正确的DNS服务器得到的响应(1分)。 10、DoS攻击:DoS(拒绝服务)攻击是一种实现简单但又很有效的攻击方式。DoS攻击的目的就是让被攻击主机拒绝用户的正常服务访问,破坏系统的正常运行,最终使用户的部分Internet连接和网络系统失效(2分)。最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务。(2分) 11、PMI:PMI(授权管理基础设施)是在PKI发展的过程中为了将用户权限的管理与其公钥的管理分离,由IETF提出的一种标准。PMI的最终目标就是提供一种有效的体系结构来管理用户的属性。PMI以资源管理为核心,对资源的访问控制权统一交由授权机构统一处理(2分)。同PKI相比,两者主要区别在于PKI证明用户是谁,而PMI证明这个用户有什么权限、 能干什么。PMI需要PKI为其提供身份认证。PMI实际提出了一个新的信息保护基础设施,能够与PKI紧密地集成,并系统地建立起对认可用户的特定授权,对权限管理进行系统的定义和描述,完整地提供授权服务所需过程。(2分) 二、计算题 三、简答题 1、计算机信息系统安全的威胁因素主要有哪些? (1)人为无意失误 (2)人为恶意攻击 (3)计算机软件的漏洞和后门 2、从技术角度分析引起计算机信息系统安全问题的根本原因。 (1)计算机外部安全 (2)信息在计算机系统存储介质上的安全 (3)信息在传输过程中的安全 5、计算机信息安全研究的主要内容有哪些? (1)计算机外部安全 (2)信息在计算机系统存储介质上的安全 (3)信息在传输过程中的安全 6、计算机信息安全的定义是什么? 计算机信息安全技术是一门由密码应用技术、信息安全技术、数据灾难与数据恢复技术、操作系统维护技术、局域网组网与维护技术、数据库应用技术等组成的计算机综合应用学科//计算机信息安全是研究在特定的应用环境下,依据特定的安全策略,对信息及信息系统实施防护,检测和恢复的科学 7、什么是密码体制及其分类(遵循科克霍夫原则) 密码体制是指实现加密和解密过程的密码方案,可分对称和非对称密码体制(公钥密码体制)对称密码体制:AES、DES、RC6、A5,机密解密速度快、具有较高的数据吞吐率、使用的密钥相对较短、长度和明文相同;缺点分发过程繁琐,代价高、密钥量大难于管理、难以解决不可否认问题。 非对称密码体制:加密、解密密钥是完全不同的,一个公钥、一个私钥,典型的有RSA、ECC、Rabin等,解决了对称密码体制出现的问题,在管理、鉴别、不可否认都有重要意义,优点:有效的数字签名解决了不可否认问题但是速度变慢了、要求的密钥长度较长,密文长度往往大于明文。 8、对密码算法的评价标准安全性、计算的效率、存储条件、软硬件的适应性、简洁性、适应性 9、传统密码体制(古典密码体制)分为置换密码和代换密码 置换密码:也叫换位密码,就是换了位置 代换密码:替换成其他字符,分为单字母代换和多字母代换,单字母代换又分为单表代换和多表代换;单表代换有:移位密码(凯撒)、替换密码;多表的有Vigenere、Beaufort、转轮机 10、现代对称密码体制分为序列密码(流密码)和分组密码,分组密码就是一组一组的处理通常明密文等长、容易转化为流密码和哈希函数。分组密码特点容易标准化比如DES,DES 分组长度64位,实际56位,DES缺点:太短、迭代次数少、S-盒可能出现不安全因素、关键部位不应该保密;还有AES算法(Rijndael荣戴尔)可以替换DES,长度有128、192、256三种;序列密码:将图像等数据编码转换成二进制,RC4典型的流密码。 11、非对称密码体制:特点是一个公钥一个私钥加密解密都需要有不同的密钥。一般是通过数学方法产生的,典型的RSA:由麻省理工三个教授的首字母组成,在因特网中作为标准算法;椭圆曲线非对称密码体制,典型的ECC 12、什么是哈希函数?也叫单向散列函数、是信息安全领域广泛使用的一种密码技术,用于验证消息的完整性,不可逆的,也叫摘要函数,MD5算法是一种常用的哈希函数可将任意长度的消息变换得到一个128位的散列值,被广泛用于各种软件认证和密钥识别上;安全散列算法(SHA)建立在MD4之上,输出160位散列值。 13、消息认证是指合法的接收方能够检验消息是否真实的过程。常见的认证函数有三种:消息加密:将整个消息的密文作为认证码 哈希函数:通过哈希函数产生定长的散列值作为认证码 消息认证码(MAC):将消息和密钥一起产生定长的认证码 14、数字签名,采用密码学的方法对传输中的明文信息进行加密,以保证信息发送方的合法性,同时防止发送方的欺骗和抵赖。 15,、病毒一串恶意代码的组合,能自我复制,明确定义为:编制或在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能自我复制的一组计算机指令或者程序代码,冯诺依曼在1949年引入病毒的概念,其危害有;占用磁盘空间破坏数据信息、干扰系统的正常运行、造成心理阴影,特征主要有:传染性、破坏性、隐蔽性、寄生性、可触发性寄生方式分类主要有:网络病毒、文件病毒、引导型病毒、混合型病毒 传播媒介:单机病毒,网络病毒 病毒破坏性:良性病毒、恶性病毒 操作系统分:DOS病毒、Windows病毒 蠕虫:网络传播的恶意代码,传染性、隐蔽性、破坏性、不可控制 木马:特洛伊木马,一种典型的黑客程序,基于远程控制的黑客工具 宏病毒:被存储在Visual Basic木块中的一系列命令和函数,一组动作的组合 网页病毒:利用浏览器漏洞对网页进行破坏,通过脚本修改浏览器或者操作系统 组成模块:安装、传染、破坏 16、网络攻击的步骤:攻击者——目标探测——端口扫描——网络监听——实施攻击-撤退扫描技术:主机扫描(通过ICMP数据包请求|应答)、端口扫描(得到开放和关闭的端口列表,常见的端口扫描有TCP Connect扫描、UDP扫描、FTP扫描)、漏洞扫描(工具Nmap、X-Scan) 网络监听:数据链路层,以太网协议 缓冲区溢出监听:超出缓冲区边界、非法占用另一端内存区域 拒绝服务攻击:DOS,一般有ip碎片攻击、UDP洪泛、SYN洪泛、Smurf攻击、分布式拒绝服务攻击(DDoS) 17、防火墙定义:所谓防火墙指的是一个有软件和硬件设备组合而成、在内部网和外部网之 间、专用网与公共网之间的界面上构造的保护屏障。,一种隔离设备 功能:网络安全保障、强化网络安全策略、防止内部信息泄露 分类:软件、硬件、芯片 18、入侵检测:对入侵行为发现和响应的系统,入侵破坏系统的完整性、保密性、可用性基于主机的入侵检测系统(HIDS):对该主机的网络实时连接以及系统审计日志进行智能分析和判断,必须安装在需要保护的设备上 基于网络的入侵检测系统(NIDS):混杂模式下监视监视网段中传输的各种数据包,并且进行分析和检测 分布式入侵检测系统:(DIDS):相对于前两个比较高级,综合前两种 19、访问控制是在保障授权用户能获取所需的资源的同时,拒绝非授权用户的安全机制 常见的访问控制:自住型访问控制、强制访问控制、基于角色访问控制(比较灵活) 20、防火墙可实现以下几类访问控制: 1) 连接控制,控制哪些应用程序终结点之间可建立连接。例如,防火墙可控制内部的某些用户可以发起对外部WEB站点间的的连接。 2) 协议控制,控制用户通过一个应用程序可以进行什么操作,例如,防火墙可以允许用户浏览一个页面,同时拒绝用户在非信任的服务器上发布数据。 3) 数据控制,防火墙可以控制应用数据流的通过。如防火墙可以阻塞邮件附件中的病毒。 21、VPN安全技术,加解密技术、认证技术、密钥管理技术 22、简述ARP欺骗的实现原理及主要防范方法 由于ARP协议在设计中存在的主动发送ARP报文的漏洞,使得主机可以发送虚假的ARP请求报文或响应报文,报文中的源IP地址和源MAC地址均可以进行伪造(2分)。在局域网中,即可以伪造成某一台主机(如服务器)的IP地址和MAC地址的组合,也可以伪造成网关的IP地址和MAC地址的组合,ARP即可以针对主机,也可以针对交换机等网络设备(2分),等等。 23、简述包过滤防火墙的工作原理及应用特点。
信息系统安全与对抗实践
Rust程序逆向
•使用Rust 语言编写的CTF 程序
2
内容提要
使用非主流语言编译的程序
•在CTF竞赛中,为了考察选手的知识面或者快速学习能力(对于不熟悉的东西往往需要通过Google、Baidu迅速学习),往往会使用非主流语言编译程序-这类问题一般不会太复杂
-如无相关的知识储备则需要借助搜索引擎
3
BrainFuck
•BrainFuck是一个语法很有意思的编程语言
-1993年被创造出来,具备图灵完备
-只有八种符号,所有的操作都由这八种符号的组合来完成
•BrainFuck的Hello World程序
-++++++++++[>+++++++>++++++++++>+++>+<
<<<-
]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+ ++.------.--------.>+.>.
•当然了,这只是个玩具语言,在一些CTF的MISC题中会出现,用于Reverse 题目的可能性较小
4
Rust
•是一种号称十分安全的编程语言
-从语言层面防止了一部分溢出攻击的可能性
-性能对标C/C++语言
-从汇编层面看,Rust会在程序中插入大量与程序逻辑无关的代码
5
•一道用rust 写的逆向题
6
Insomni'hack teaser2019-beginner_reverse。
计算机信息安全技术课后习题答案第一章计算机信息安全技术概述1、计算机信息系统安全的威胁因素主要有哪些?(1)人为无意失误(2)人为恶意攻击(3)计算机软件的漏洞和后门2、从技术角度分析引起计算机信息系统安全问题的根本原因。
(1)计算机外部安全(2)信息在计算机系统存储介质上的安全(3)信息在传输过程中的安全3、信息安全的CIA指的是什么?Confidenciality 隐私性,也可称为机密性,是指只有授权的用户才能获取信息Integrity 完整性,是指信息在传输过程中,不被非法授权和破坏,保证数据的一致性Availability 可用性,是指信息的可靠度4、简述PPDR安全模型的构成要素及运作方式PPDR由安全策略,防护,检测和响应构成运作方式:PPDR模型在整体的安全策略的控制和指导下,综合运用防护工具的同时,利用检测工具了解和评估系统的安全状态,通过适当的安全响应将系统调整在一个相对安全的状态。
防护,检测和响应构成一个完整的、动态的安全循环。
5、计算机信息安全研究的主要内容有哪些?(1)计算机外部安全(2)信息在计算机系统存储介质上的安全(3)信息在传输过程中的安全6、计算机信息安全的定义是什么?计算机信息安全是研究在特定的应用环境下,依据特定的安全策略,对信息及信息系统实施防护,检测和恢复的科学7、信息安全系统中,人、制度和技术之间的关系如何?在信息安全系统中,人是核心。
任何安全系统的核心都是人。
而技术是信息安全系统发展的动力,技术的发展推动着信息安全系统的不断完善。
信息安全系统不仅要靠人和技术,还应该建立相应的制度以起到规范的作用。
只有三者的完美结合,才有安全的信息安全系统第二章密码技术一、选择题1.下列(RSA算法)算法属于公开密钥算法。
2.下列(天书密码)算法属于置换密码。
3.DES加密过程中,需要进行(16)轮交换。
二、填空题1.给定密钥K=10010011,若明文为P=11001100,则采用异或加密的方法得到的密文为01011111 。
密码学与信息安全试卷2008-2009 学年第2 学期课号082746课程名称密码学(A卷; 闭卷)适用班级(或年级、专业)07级信息安全考试时间120 分钟班级601 602 学号姓名一.填空题(共10分,每个1分)1.采用恺撒密码(K=3),消息是BCD,密文是efg。
2.根据著名的Kerckhoff原则,密码系统的保密性不依赖于算法的保密,而依赖于密钥的保护。
3.RSA密码体制的理论依据(数学难题)是大数的分解难4.认证符是用于认证消息的数值,它的产生方法分为消息验证码和散列函数。
5.AES的基本变换包括基本置换、行移位、列混淆、轮换密钥相加。
6.考虑一个数据块长度为256位且密钥长度为128位的AES加密算法。
请问该密码算法的一个数据块中字的个数Nb是,密钥中字的个数Nk是。
7.在使用Diffie-Helllman密钥交换算法时,如果通信的双方没有经过身份认证,那么攻击者冒充对方进行中间人攻击。
二.选择题(共10分,每个2分)1.下列攻击形式,不属于主动攻击的是()A.伪造B.篡改C.中断D.监听2.RSA算法可用于加密,现A拥有一对密钥PKA和SKA,B拥有一对密钥PKB和SKB,如果A向B发送消息,A对发送的消息进行加密的密钥是(),B接收到密文后进行解密的密钥是()A. PKA SKBB. PKB SKBC. PKB SKBD. SKB PKB3.Xtime(a)运算是简化AES算法的基本运算,其中不可约多项式为m(x)=x8+x4+x3+x+1,计算‘57’·‘06’的结果为()A. ‘8E’B. ‘E8’C.‘8E’D. ‘17’4.如果单向杂凑函数H(X)满足这样的性质:找出任意两个不同的输入x和y,使得H(x)=H(y)在计算上是不可行的,则称其为()。
A.弱单向杂凑函数B.强单向杂凑函数5.在密码分组链接模式(CBC)中,存在着错误传播,如果在加密前明文分组P1中有一比特位发生了错误,请问该错误在多少个密文分组中传播?A.C1B.C2C.C1和C2D.所有的密文分组三.简答题(共30分, 每个10分)1.根据攻击者可获取的信息量,密码分析可分为那几类,它们的含义是什么?(10分) 1.根据密码分析者可能取得的分析资料的不同,密码分析(或称攻击)可分为下列四类:(1)唯密文分析(攻击),密码分析者取得一个或多个用同一密钥加密的密文;(2)已知明文分析(攻击),除要破译的密文外,密码分析者还取得一些用同一密钥加密的明密文对;(3)选择明文分析(攻击),密码分析者可取得他所选择的任何明文所对应的密文(当然不包括他要恢复的明文),这些明密文对和要破译的密文是用同一密钥加密的;(4)选择密文分析(攻击),密码分析者可取得他所选择的任何密文所对应的明文(要破译的密文除外),这些密文和明文和要破译的密文是用同一解密密钥解密的,它主要应用于公钥密码体制。
信息系统安全与对抗实践
现代密码与散列函数
内容提要
现代密码体系
•古典密码:数据的安全基于算法的保密
•现代密码:数据的安全基于密钥,算法公开
•“加密算法应建立在算法公开不影响明文和密钥安全的基础上”
——Kerchoffs
3
现代密码-散列(HASH)函数
•Hash函数又成为散列函数,不特指某一个算法,而是一种将任意长度的消息压缩到某一固定长度的消息摘要算法的总称。
•缺点:
•Hash函数实质是一种压缩映射(多对一映射),散列值的空间(密文空间)远小于输入的空间(明文空间),不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。
•优点:
•1.散列函数对于源数据的更改具有极高的敏感性-雪崩效应,即使是1bit的更改都会对最终的散列值造成很大的改变。
•2.散列函数逆向计算的难度远大于正向计算的难度,具有较高的安全性。
4
现代密码-散列(HASH)函数
•MD(Message Digest)算法家族
•MD算法家族由罗纳德·李维斯特(Ronald L.Rivest)设计,有MD2(1989)、MD4(1990)和MD5(1991)三个版本,前两个版本由于存在严重的安全漏洞现在已经被弃用。
•MD5目前主要的用途:
-1.一致性验证
-2.数字签名
-3.安全访问认证
-……
5
现代密码-散列(HASH)函数
•一致性验证
•MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。
•比如,在Unix下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:
•MD5 (test.tar.gz)= 38b8c2c1093dd0fec383a9d9ac940515
6
现代密码-散列(HASH)函数
•数字签名
•MD5以及其他散列算法在数字签名中的应用常伴随着非对称加密算法。
•简单来说数字签名就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
7
现代密码-散列(HASH)函数
•安全访问认证
•MD5广泛用于操作系统的登陆认证,如Unix、各类BSD系统的登陆密码。
•创建密码流程:
-输入密码->对密码进行MD5->储存密码的MD5值
•验证密码流程:
-输入密码->对密码进行MD5->对比储存的MD5值
•为什么要“多此一举”?
8
现代密码-散列(HASH)函数
•通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。
这可以避免用户的密码被具有系统管理员权限的用户知道。
•目前互联网上几乎所有的密码都采取类似的散列值储存方法,通过这种方法可以防止密码泄露。
攻击者拿到储存有散列值的密码数据库,也需要遍历出哈希值对应的原密码(计算量很大)。
•例子:网站点选忘记密码,通过验证后一般是重设密码而不是将原密码给出来,原因是该网站只存有密码的散列值
9
现代密码-散列(HASH)函数
•SHA(Secure Hash Algorithm)家族,是一个密码散列函数家族,类似于MD5能够计算出一个数字消息所对应的,长度固定的字符串(又称消息摘要)的算法。
•SHA家族算法,由美国国家安全局(NSA)设计,并且由美国国家标准与技术研究院(NIST)发布,是美国国家哈希函数标准。
10
现代密码-散列(HASH)函数
•SHA-0:1993年发布,当时称做安全散列标准(Secure Hash Standard),由于存在设计缺陷,发布之后很快就被NSA撤回,是SHA-1的前身。
•SHA-1:1995年发布,SHA-1在许多安全协议中广为使用,曾被视为是MD5的后继者。
但SHA-1的安全性在2000年以后已经不被大多数的加密场景所接受。
2017年荷兰密码学研究小组CWI和Google正式宣布攻破了SHA-1。
11
现代密码-散列(HASH)函数
•SHA函数家族的应用领域:
•主要用于SSL\TTL等证书数字签名,用于可信第三方签发身份验证信息
•目前SHA-1已经停止使用,包括Facebook、Google等主流互联网服务提供商均在2017年前全部停止签发SHA-1证书。
主流为SHA-2,SHA-3尚未推广使用
12
现代密码-散列(HASH)函数
•中国国家标准密码体系:
•SM1为对称加密。
其加密强度与AES相当。
该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
•SM2为非对称加密,基于ECC。
该算法已公开。
由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。
ECC256位(SM2采用的就是ECC256位的一种)安全强度比RSA2048位高,但运算速度快于RSA。
•SM3消息摘要。
可以用MD5作为对比理解。
该算法已公开。
校验结果为256位。
•SM4无线局域网标准的分组数据算法。
对称加密,密钥长度和分组长度均为128位。
该算法已公开。
13。