信息安全系统工程认证技术_第1页
信息安全系统工程认证技术_第2页
信息安全系统工程认证技术_第3页
信息安全系统工程认证技术_第4页
信息安全系统工程认证技术_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

零、认证认证(Authentication)是防止主动攻击的重要技术,对于开放环境中各种信息系统的安全有着重要作用认证的主要目的:验证消息来自意定的、真实的发送者;验证消息的完整性,在传送或存储过程中未被篡改、重放或延迟等;提供不可否认性。认证采用的主要技术报文鉴别(Messageauthentication)数字签名(Digitalsignature)身份识别(Identityverification)一、散列函数1、散列函数概况2、常用散列函数1、散列函数(Hash函数)概况散列函数以一个变长的报文M作为输入,产生一个定长的输出(散列码)的函数,可记为h=H(M)(|M|>|h|)散列函数的目的是为文件、报文或其他分组数据产生“指纹”,常用于报文鉴别和数字签名散列函数是一个多对一的函数因此在理论上,必定存在不同的报文对应同样的散列,但这种情况在实际中必须不可能出现(计算上不可行)散列函数本身不是保密的散列函数没有密钥的参与,散列值仅仅是报文的函数散列函数的需求1、H能用于任意长度的数据分组;2、H产生定长的输出;3、对任意给定的X,H(X)要容易计算;4、对任何给定的h,寻找x使得H(x)=h,在计算上不可行(单向特性);5、对任意给定的分组x,寻找不等于x的y,使得H(x)=H(y),在计算上不可行(弱抗碰撞);6、寻找任意的一对分组(x,y),使得H(x)=H(y),在计算上不可行(强抗碰撞)。散列函数的有效安全级别假设散列函数的输出为m比特,可以将其抗各种攻击的有效安全级别表示为:这意味着安全散列函数的输出长度有一个下界:40bit的散列长度将非常不安全:因为仅仅在220≈100万个随机的散列值中就有50%的概率发现一个碰撞。一般建议最小的报文散列的长度为128bit,实际中常采用160bit。单向2m弱抗碰撞2m强抗碰撞2m/22、常用散列函数1、MD5算法MD5的散列码只有128比特,其对抗生日攻击的有效级是264,从现在的角度看太小,安全性不够。2、SHA-1算法SHA(安全散列算法)由NIST在1993年公布(FIPSPUB180),并在1995年进行了修订,称为SHA-1(FIPSPUB180-1);算法产生160比特的散列码;SHA-1是目前首选的散列算法。常用散列函数演示输入字符串:“12345678”25D55AD283AA400AF464C76D713C07AD7C222FB2927D828AF22F592134E8932480637C0DMD5SHA-1输入文件(1.4G):The.Imitation.Game.2014.mp4MD5SHA-1A3DD6A05AD84FB733ECB01EFA275002F93F661DAB2E912AF2802F1BB32BB527739F63107二、报文鉴别1、概述2、利用单钥加密实现鉴别

3、报文鉴别码(MAC)4、带密钥的散列函数1、概述报文鉴别的主要用途保证消息的完整性;保证消息来源的可靠性;报文鉴别的主要方法报文加密:以整个报文的密文作为它的鉴别符;报文鉴别码(MAC):以一个报文的公共函数和用于产生一个定长值的密钥作为鉴别符;带密钥的散列函数(HMAC):将秘密因素引入原始报文,然后对其进行散列,并将散列函数的结果作为鉴别码。2、利用单钥加密实现鉴别报文加密本身可以提供一定程度的鉴别能力如果采用常规加密,则1)接收方知道报文一定是由发送方创建的,因为创建该报文对应的密文的密钥只有发送方和接收方所共享;2)并且(加密后的)报文的内容没有被篡改过,如果报文的内容(密文)被篡改,则解密后无法恢复原始的合法报文(明文)。报文的内部结构为了增强鉴别能力,最好能使原始的报文(明文)具有某种结构,这样在接收端可以通过验证这种结构,来确定报文是否被篡改。利用单钥加密实现鉴别发送方接收方3、报文鉴别码报文鉴别码(MessageAuthenticationCode,MAC)是一个定长的数据分组,它是报文和一个密钥的函数:MAC=Ck(M)如果收发双方共享一个密钥,则1、发送端发送报文时,可计算报文的MAC,并将其附在报文后一起传送。2、接收端采用相同的算法和密钥,对收到的报文进行同样的计算,产生新的MAC,如果新的MAC和收到的MAC相同,则收端可以确信:1)报文没有被更改过(包括外界的干扰和人为篡改);2)报文来自意定的发送者。利用MAC保证数据完整性的原理数据发送方,如调度系统数据接收方,如被控站攻击者(不知道收发双方当前的密钥K),试图篡改报文事先共享密钥K在网络上传输的报文,如调度命令采用对称加密算法产生MAC可以将任何工作于CBC模式的常规分组算法作为MAC函数,并将CBC的最后一个分组当作MACDAA(DataAuthenticationAlgorithm)算法该算法是使用最广的MAC函数(FIPSPUB113,ANSIX9.17),基于DES-CBC模式;算法步骤:

1)取IV=0,并将报文最后一个分组用0填充成64比特;

2)采用DES的CBC模式加密报文;

3)抛弃加密的中间结果,只将最后一组密文(或最后一组密文的左边M(16≤M≤64)比特)作为MAC;从目前的角度看,64比特的MAC长度较小产生MAC的DAA算法4、带密钥的散列函数目前,构造MAC方法的研究热点已经从分组密码(FIPSPUB113)转向散列函数散列函数的执行速度比分组密码快;散列函数没有出口限制。标准的散列函数并不依赖于密钥,因此不能直接用于MAC,必须将密钥和现有的散列函数结合起来当前获得广泛采用的方案是HMAC(RFC2104)HMACHMAC(RFC2104)作为IPSEC中强制实行的MAC,同时也被其他的Internet协议(如SSL)

使用HMAC的设计目标:1)无需修改地使用现有的散列函数;2)当出现或获得更快或更安全的散列函数时,对算法中嵌入的散列函数要能轻易地进行替换;3)保持散列函数的原有性能,不会导致算法性能降低;4)使用和处理密钥的方式很简单;5)基于对嵌入散列函数合理的假设,对鉴别机制的强度有一个易懂的密码编码分析。HMAC的结构HMAC的结构(续)HMAC的计算HMACK=Hash[(K+XORopad)|| Hash[(K+XORipad)||M)]]K+是对密钥K填充生成的b比特的串opad,ipad是特定的填充常量HMAC增加了三个散列压缩函数HMAC适用于MD5,SHA-1,RIPEMD-160等各种散列函数三、数字签名1、概述2、RSA数字签名3、数字签名标准DSS1、概述普通的报文鉴别能用来保护通信双方免受任何第三方的攻击,然而,它无法防止通信双方互相攻击。假定A发送一个经过鉴别的消息给B,双方之间的争议可能有多种形式:1)B伪造一个不同的消息,但声称是从A收到的。2)A可以否认发过该消息,B无法证明A确实发了该消息。解决以上问题可以用数字签名《中华人民共和国电子签名法》已于2004年8月28日第十届全国人民代表大会常务委员会第十一次会议通过,自2005年4月1日起施行。对数字签名的要求1、签名必须依赖于要签名报文的比特模式2、签名必须使用对发送者来说是唯一的信息以防止伪造和抵赖3、伪造一个数字签名在计算上是不可行的包括“根据已有的数字签名来构造新报文”,以及“对给定的报文构造一个虚假的数字签名”。4、数字签名的产生必须相对简单5、数字签名的识别和证实必须相对简单数字签名的定义一个数字签名方案是一个5元组(P,A,K,S,V),它满足下列条件P是所有可能消息的有限集;A是所有可能签名的有限集;K是所有可能密钥的有限集;数字签名的定义(续)对每一个k∈K,有一个签名算法sigk∈S和一个相应的验证算法verk∈V,对每一个消息x∈P和每一个签名y∈A,每一个sigk:P—>A和verk:P×A—>{真,假}都是满足下列条件的函数:

对每一个k∈K,sigk

和verk应该是多项式时间函数;其中verk是一个公开函数,sigk将是一个秘密函数,对一个给定的x,只有签名者能计算签名y,满足verk(x,y)=真。

2、RSA签名方案1、密钥产生设n=p*q,p和q是素数,P=A=Zn,定义K={(n,p,q,a,b):a*b≡1(modφ(n))},其中n和b公开(公钥),p、q、a保密(私钥)。2、签名算法(利用私钥a,是保密的)y≡sigk(x)≡xa(modn)3、验证算法(利用公钥b,是公开的)verk(x,y)=true当且仅当

x≡yb(modn)数字签名和散列函数在实际应用中,数字签名几乎总是和散列函数结合使用签名时,签名者完成如下工作1)按如下步骤计算消息x的签名y

x(消息)z=h(x)(摘要)y=sigk(z)2)将(x,y)传给验证者。验证者收到(x,y)后,完成如下工作1)通过公开的hash函数h重构消息摘要z=h(x);2)检查verk(z,y)=true?3、数字签名标准DSSDSS:DigitalSignatureStandard;数字签名标准DSS(DigitalSignatureStandard)是NIST公布的联邦信息处理标准FIPSPUB186,最早发表于1991年,随后在1993年和1996年进行了一些修改。DSS使用了安全散列算法SHA和数字签名算法DSA。DSS的处理流程签名者验证者四、身份证明1、概述2、通行字(口令)身份证明3、一次性口令1、概述身份证明是指在两方或多方参与的信息交互中,参与者中的一方对其余各方(自称的或未说明的)身份的判断与确认。身份证明还可进一步分类为身份验证(IdentityVerification)和身份识别(IdentityRecognition)身份验证工作的条件包括被验证者个人的(自称的)“身份”及作为该“身份”凭据的个人信息;身份识别工作的条件只有被识别者的个人信息,及一个群体的个人信息数据库,被识别者很可能属于该群体。实现身份证明的途径实现身份证明的途径所知:密钥、口令等;所有:身份证、护照、信用卡、钥匙等;个人特征:指纹、笔迹、声纹、手型、血型、视网膜、虹膜、DNA等(生物识别);你做的事情:如手写签名和步态识别等。双因素认证同时使用上面的两种途径进行证明,如:口令+智能卡。2、通行字(口令)身份证明通行字(也称口令)身份验证协议是信息系统中一种使用最为广泛的身份验证协议协议涉及若干示证者(P)和唯一的验证者(V)最简单的通行字身份验证协议可以是“one-pass”协议即整个过程中只需要由示证者P向验证者V传送一次消息,其内容是示证者P的身份标识ID(identity)和通行字PW(password)。(ID,PW)数据对中的ID一般事先由验证者V为示证者P分配以保证其唯一性,数据对中的PW则可由示证者P产生后提交给验证者V保存,或由验证者V为示证者P分配并由V保存。口令认证基本协议1、P→V:IDp;2、V→P:提示P“输入口令”;3、P→V:PWp;4、V从其口令文档中找出记录(IDp,PWp),如果接收的PWp与记录中的匹配,就允许访问。基于散列函数的口令方案

在该方案中,验证者V存储口令的散列值而不是原始口令例如:如采用MD5,则口令’123456’在验证者处存储为MD5(‘123456’),即E10ADC3949BA59ABBE56E057F20F883E用下述协议完成鉴别:1)示证者P将他的口令传送给验证者V;2)验证者V完成口令的散列函数计算;3)验证者V把散列函数的运算结果和它以前存储的值进行比较。由于验证者不再存储示证者的实际口令,所以攻击者侵入验证者计算机,并偷取口令的威胁就减少了因为由口令的散列值生成口令是不可能的。常用通行字字典验证者采用的变换函数验证者存储的经过变换的口令表计算结果寻找匹配字典攻击(撞库)字典攻击(dictionaryattack)是将大批可能的通行字经目标系统采用的单向函数变换后与窃取的目标系统中的加密通行字表比较,以寻找匹配者。由于人们在选择通行字时,通常会选择一些自己容易记忆的、随机性不好的字符串,这就有可能出现在攻击者选择的“常用通行字字典”中,从而被发现。3、一次性口令一次性口令(One-timePassword,OTP)方案可以抵御重放攻击,其实现形式包括:1)共享的一次性口令表:验证者和示证者共享一张秘密口令表,每个口令只用一次。2)按序修改的一次性口令:初始时验证者和示证者只共享一个秘密口令,当使用第i个口令进行认证时,示证者产生第i+1个口令,并用第i个口令作为密钥进行加密,然后传送给验证者。3)基于单向函数的一次性口令:这种方案是由当前的口令隐含地确定下一个口令,如S/Key一次性口令协议,是目前最常用的动态一次性口令协议。4)基于TAN(TransactionAuthenticationNumber)的一次性口令:交易中除了静态口令外,还要求示证者输入一个一次性验证码(即TAN),这个验证码一般通过短信形式发送给示证者。五、访问控制1、访问控制概述2、基于角色的访问控制1、访问控制概述如果说身份认证解决了用户“是谁”的问题,那么用户“能做什么”就是由访问控制技术决定的。访问控制(AccessControl)是国际标准化组织定义的5项标准安全服务之一,是实现信息系统安全的重要机制。用户在访问信息系统时,1)首先经过身份认证模块识别身份;2)然后访问控制模块根据用户的身份和授权数据库决定用户是否能够访问某个资源。访问控制的基本概念访问控制是实现既定安全策略的系统安全技术,目标是防止对任何资源进行非授权访问所谓非授权访问包括未经授权的使用、泄漏、修改、销毁和颁发指令等。访问控制系统一般包括:主体(Subject):发出访问操作、存取要求的主动方,通常指用户或用户的某个进程;客体(Object):主体试图访问的资源,包括硬件资源(如CPU、内存、打印机等)和软件资源(如进程、文件、数据库记录等);安全访问策略:一套规则,用于确定一个主体是否对客体拥有访问能力。访问控制系统示意图发起者:即主体;目标:即客体;访问控制执行功能(Accesscontrolenforcementfunction,AEF):负责建立发起者和目标之间的通信桥梁,它必须依照ADF的授权查询指示来实施上述动作;访问控制决策功能(Accesscontroldecisionfunction):依据安全访问策略对发起者提出的访问请求进行判决,是访问控制的核心。发起者(主体)访问控制执行功能AEF目标(客体)提交访问请求执行访问请求访问控制决策功能ADF决策请求决策结果访问控制技术的分类计算机访问控制技术最早产生于20世纪60年代,目前主要有3种访问控制技术:自主访问控制(DiscretionaryAccessControl,DAC)强制访问控制(MandatoryAccessControl,MAC)基于角色的访问控制(RoleBasedAccessControl,RBAC)2、基于角色的访问控制(RBAC)传统的访问控制技术都是由主体和访问权限直接发生关系。随着信息系统的不断发展,当主体和客体的数量都非常巨大时,传统访问控制技术已经不能胜任复杂的授权管理的要求。在这种情况下,基于角色的访问控制(RBAC)逐渐获得重视并得到广泛应用。NIST认为RBAC将成为DAC和MAC的替代者。RBAC的基本原理RBAC的核心思想就是把访问权限和角色相联系通过给用户分配合适的角色,让用户和访问权限相关联。角色是根据企业内为完成各种不同的任务需要而设置的,根据用户在企业中的职权和责任来设定他们的角色。用户可以在角色间进行转换,系统可以添加、删除角色,也可以对角色的权限进行添加和删除等操作。通过应用RBAC,可以将安全性放在一个接近组织结构的自然层面上进行管理。RBAC的基本原理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论