信息安全系统工程认证技术40247.pptx
零、认证零、认证n n认证(认证(AuthenticationAuthentication)是)是防止主动攻击的重要技术防止主动攻击的重要技术,对于开放环境中各种信息系统的安全有着重要对于开放环境中各种信息系统的安全有着重要作作用用n n认证的主要目的:认证的主要目的:n n验证消息来自验证消息来自意定的意定的、真实的真实的发送者;发送者;n n验证消息的验证消息的完整性完整性,在传送或存储过程中未被,在传送或存储过程中未被篡改篡改、重重放放或或延迟延迟等等;n n提供不可否认性。提供不可否认性。n n认证采用的主要技术认证采用的主要技术n n报文鉴别(报文鉴别(Message authenticationMessage authentication)n n数字签名(数字签名(Digital signatureDigital signature)n n身份识别(身份识别(Identity verificationIdentity verification)一、散列函数一、散列函数n n1、散列函数概况n n2、常用散列函数1、散列、散列函数(函数(Hash函数)概况函数)概况n n散列函数以一个散列函数以一个变长变长的报文的报文MM作为输入,产生一作为输入,产生一个个定长定长的输出(散列码的输出(散列码)的函数,可记为的函数,可记为h=H(M)h=H(M)(|M|h|)|M|h|)n n散列函数的目的是为文件、报文或其他分组数据散列函数的目的是为文件、报文或其他分组数据产生产生“指纹指纹”,常用常用于于报文鉴别报文鉴别和和数字签名数字签名n n散列函数是一个散列函数是一个多对一多对一的的函数函数n n因此在理论上,必定存在不同的报文对应同样的散列,因此在理论上,必定存在不同的报文对应同样的散列,但这种情况在实际中必须但这种情况在实际中必须不可能出现不可能出现(计算上不可行计算上不可行)n n散列函数本身散列函数本身不是保密不是保密的的n n散列函数没有密钥的参与,散列值仅仅是报文的函数散列函数没有密钥的参与,散列值仅仅是报文的函数散散列函数的需求列函数的需求n n1 1、H H能用于能用于任意长度任意长度的数据分组;的数据分组;n n2 2、H H产生产生定长定长的输出;的输出;n n3 3、对任意给定的、对任意给定的X X,H(X)H(X)要要容易计算容易计算;n n4 4、对任何给定、对任何给定的的 h h,寻找寻找 x x 使得使得H(x)=hH(x)=h,在计算在计算上不可行(上不可行(单向特性单向特性););n n5 5、对任意给定的分组、对任意给定的分组 x x,寻找不等于寻找不等于 x x 的的 y y,使使得得 H(x)=H(y),H(x)=H(y),在计算上不可行(在计算上不可行(弱抗碰撞弱抗碰撞););n n6 6、寻找任意的一对分组、寻找任意的一对分组(x x,y)y),使得使得 H(x)=H(y)H(x)=H(y),在计算上不可行(在计算上不可行(强抗碰撞强抗碰撞)。散列函数的有效安全级别散列函数的有效安全级别n n假设散列函数的输出为假设散列函数的输出为 m m 比特,可以将其抗各种攻比特,可以将其抗各种攻击的有效安全级别表示为:击的有效安全级别表示为:n n这意味着安全散列函数的输出长度有一个下界:这意味着安全散列函数的输出长度有一个下界:n n40 40 bit bit 的散列长度将非常不安全:因为仅仅在的散列长度将非常不安全:因为仅仅在2 22020 100100万个随机的散列值中就有万个随机的散列值中就有 50%50%的概率发现一个碰撞。的概率发现一个碰撞。n n一般建议最小的报文散列的长度为一般建议最小的报文散列的长度为128 128 bitbit,实际中常实际中常采用采用 160 160bitbit。单向单向2 2mm弱抗碰撞弱抗碰撞2 2mm强抗碰撞强抗碰撞2 2m/2m/22、常用散列函数、常用散列函数n n1、MD5 算法n nMD5MD5的散列码只有的散列码只有128128比特比特,其对抗生日攻击其对抗生日攻击的有效级是的有效级是2 26464,从现在的角度,从现在的角度看太小,安全性看太小,安全性不够。不够。n n2、SHA-1 算法n nSHASHA(安全散列算法)安全散列算法)由由 NISTNIST在在19931993年公布年公布(FIPS PUB 180FIPS PUB 180),),并在并在19951995年进行了修订,年进行了修订,称为称为SHA-1SHA-1(FIPS PUB 180-1 FIPS PUB 180-1););n n算法算法产生产生160160比特的散列码;比特的散列码;n nSHA-1SHA-1是目前首选的散列是目前首选的散列算法。算法。常用散列常用散列函数函数演示演示输入字符串:输入字符串:“1234567812345678”25D55AD283AA400AF46425D55AD283AA400AF464C76D713C07ADC76D713C07AD7C222FB2927D828AF22F57C222FB2927D828AF22F592134E8932480637C0D92134E8932480637C0DMD5MD5SHA-1SHA-1输入文件(输入文件(1.4G1.4G):):The.Imitation.Game.2014.mp4The.Imitation.Game.2014.mp4MD5MD5SHA-1SHA-1A3DD6A05AD84FB733A3DD6A05AD84FB733ECB01EFA275002FECB01EFA275002F93F661DAB2E912AF2893F661DAB2E912AF2802F1BB32BB527739F602F1BB32BB527739F631073107二、报文鉴别二、报文鉴别n n1、概述n n2、利用单钥加密实现鉴别 n n3、报文鉴别码(MAC)n n4、带密钥的散列函数1、概述、概述n n报文鉴别的主要用途报文鉴别的主要用途n n保证消息的保证消息的完整性完整性;n n保证消息来源的保证消息来源的可靠性可靠性;n n报文鉴别的主要方法报文鉴别的主要方法n n报文加密报文加密:以整个报文的密文作为它的鉴别符以整个报文的密文作为它的鉴别符;n n报文鉴别码报文鉴别码(MACMAC):以一个报文的公共函数和用于产以一个报文的公共函数和用于产生一个定长值的密钥作为鉴别符生一个定长值的密钥作为鉴别符;n n带密钥的散列函数带密钥的散列函数(HMACHMAC):将秘密因素引入原始报):将秘密因素引入原始报文,然后对其进行散列,并将散列函数的结果作为鉴文,然后对其进行散列,并将散列函数的结果作为鉴别码。别码。2、利用单钥加密实现鉴别、利用单钥加密实现鉴别 n n报文加密本身可以提供一定程度的鉴别能力报文加密本身可以提供一定程度的鉴别能力n n如果采用常规加密,则如果采用常规加密,则n n1 1)接收方知道报文一定是由发送方创建的,因为创建)接收方知道报文一定是由发送方创建的,因为创建该报文对应的密文的密钥只有发送方和接收方所共享;该报文对应的密文的密钥只有发送方和接收方所共享;n n2 2)并且)并且(加密后的加密后的)报文的内容没有被篡改过,如果报报文的内容没有被篡改过,如果报文的内容文的内容(密文密文)被篡改,则解密后无法恢复原始的合法被篡改,则解密后无法恢复原始的合法报文报文(明文明文)。n n报文的内部结构报文的内部结构n n为了增强鉴别能力,最好能使原始的报文为了增强鉴别能力,最好能使原始的报文(明文明文)具有某具有某种结构,这样在接收端可以通过验证这种结构,来确种结构,这样在接收端可以通过验证这种结构,来确定报文是否被篡改。定报文是否被篡改。利用单钥加密实现鉴别利用单钥加密实现鉴别发送方发送方接收方接收方3、报文鉴别、报文鉴别码码n n报文报文鉴别鉴别码(码(Message Message Authentication Authentication CodeCode,MACMAC)是)是一个一个定长定长的数据分组,它是的数据分组,它是报文和一个报文和一个密钥的函数密钥的函数:MAC=CMAC=Ck k(M(M)n n如果收发双方共享一个密钥,则如果收发双方共享一个密钥,则n n1 1、发送端发送端发送报文时,可计算报文的发送报文时,可计算报文的MACMAC,并将其附,并将其附在报文后一起在报文后一起传送。传送。n n2 2、接收端接收端采用采用相同的算法和密钥,对收到的报文进行相同的算法和密钥,对收到的报文进行同样的计算,产生新的同样的计算,产生新的MAC,MAC,如果新的如果新的 MAC MAC 和收到的和收到的 MACMAC相同,则收端可以确信:相同,则收端可以确信:n n1 1)报文没有被更改)报文没有被更改过(包括过(包括外界的干扰和人为外界的干扰和人为篡改);篡改);n n2 2)报文来自意定的发送者。)报文来自意定的发送者。利用利用MAC保证数据完整性的原理保证数据完整性的原理数据发送方,如调度系统数据接收方,如被控站攻击者(不知道收发双方当前的密钥 K),试图篡改报文事先共享密钥 K在网络上传输的报文,如调度命令采用对称加密算法产生采用对称加密算法产生MACn n可以将任何工作于可以将任何工作于CBCCBC模式模式的的常规分组算法常规分组算法作为作为MACMAC函数,并将函数,并将CBCCBC的最后一个分组的最后一个分组当作当作MACMACn nDAADAA(Data Data Authentication Authentication AlgorithmAlgorithm)算法)算法n n该算法是使用最广的该算法是使用最广的MACMAC函数函数(FIPS PUB 113,ANSI(FIPS PUB 113,ANSI X9.17)X9.17),基于,基于DES-CBCDES-CBC模式;模式;n n算法步骤:算法步骤:1 1)取)取IV=0,IV=0,并将报文最后一个分组用并将报文最后一个分组用 0 0 填充成填充成 64 64 比特;比特;2 2)采用)采用 DES DES 的的 CBC CBC 模式加密报文;模式加密报文;3 3)抛弃加密的中间结果,只将最后一组密文(或最后一)抛弃加密的中间结果,只将最后一组密文(或最后一组密文的左边组密文的左边 M(16M64)M(16M64)比特)作为比特)作为MACMAC;n n从目前的角度看,从目前的角度看,64 64 比特的比特的MACMAC长度较小长度较小产生产生MAC的的DAA算法算法4、带密钥的散列函数、带密钥的散列函数n n目前,构造MAC方法的研究热点已经从分组密码(FIPS PUB 113)转向散列函数n n散列函数的执行速度比分组密码散列函数的执行速度比分组密码快快;n n散列函数散列函数没有出口限制。没有出口限制。n n标准的散列函数并不依赖于密钥,因此不能直接用于MAC,必须将密钥和现有的散列函数结合起来n n当前获得广泛采用的方案是HMAC(RFC2104)HMACn nHMACHMAC(RFC2104RFC2104)作为)作为 IPSECIPSEC中强制实行的中强制实行的MACMAC,同时也被其他的,同时也被其他的 Internet Internet 协议(如协议(如SSLSSL)使用使用n nHMACHMAC的设计目标:的设计目标:n n1 1)无需修改地使用现有的散列函数;)无需修改地使用现有的散列函数;n n2 2)当出现或获得更快或更安全的散列函数时,对算法)当出现或获得更快或更安全的散列函数时,对算法中嵌入的散列函数要能轻易地进行替换;中嵌入的散列函数要能轻易地进行替换;n n3 3)保持散列函数的原有性能)保持散列函数的原有性能,不会导致算法性能降低;不会导致算法性能降低;n n4 4)使用和处理密钥的方式很简单;)使用和处理密钥的方式很简单;n n5 5)基于对嵌入散列函数合理的假设,对鉴别机制的强)基于对嵌入散列函数合理的假设,对鉴别机制的强度有一个易懂的密码编码分析。度有一个易懂的密码编码分析。HMAC的结构的结构HMAC的的结构(续)结构(续)n nHMAC的计算HMACHMACK K=Hash (K=Hash (K+XOR opad)|XOR opad)|Hash(KHash(K+XOR ipad)|M)XOR ipad)|M)n nK+是对密钥K填充生成的b比特的串n nopad,ipad是特定的填充常量n nHMAC增加了三个散列压缩函数n nHMAC适用于 MD5,SHA-1,RIPEMD-160 等各种散列函数三、数字签名三、数字签名n n1、概述n n2、RSA数字签名n n3、数字签名标准DSS1、概述、概述n n普通的报文鉴别能用来保护通信双方免受普通的报文鉴别能用来保护通信双方免受任何第三方任何第三方的的攻攻击,然而,它击,然而,它无法防止通信双方互相无法防止通信双方互相攻击。攻击。n n假定假定 A A 发送一个经过鉴别的消息给发送一个经过鉴别的消息给 B B,双方之间的争议可,双方之间的争议可能有多种形式:能有多种形式:n n1 1)B B 伪造一个不同的消息,但声称是从伪造一个不同的消息,但声称是从 A A 收到的。收到的。n n2 2)A A 可以否认发过该消息,可以否认发过该消息,B B 无法证明无法证明A A确实发了该消息。确实发了该消息。n n解决以上问题可以用解决以上问题可以用数字签名数字签名n n中华人民共和国电子签名法中华人民共和国电子签名法已于已于20042004年年8 8月月2828日第十日第十届全国人民代表大会常务委员会第十一次会议通过,自届全国人民代表大会常务委员会第十一次会议通过,自20052005年年4 4月月1 1日起施行日起施行 。对数字签名的要求对数字签名的要求n n1、签名必须依赖于要签名报文的比特模式n n2、签名必须使用对发送者来说是唯一的信息n n以防止伪造和抵赖以防止伪造和抵赖n n3、伪造一个数字签名在计算上是不可行的n n包括包括“根据已有的数字签名来构造新报文根据已有的数字签名来构造新报文”,以及,以及“对给定的报文构造一个虚假的数字签名对给定的报文构造一个虚假的数字签名”。n n4、数字签名的产生必须相对简单n n5、数字签名的识别和证实必须相对简单数字签名的定义数字签名的定义n n一个数字签名方案是一个 5 元组(P,A,K,S,V),它满足下列条件n nP P 是是所有可能消息的有限集;所有可能消息的有限集;n nA A 是是所有可能签名的有限集;所有可能签名的有限集;n nK K 是是所有可能密钥的有限集;所有可能密钥的有限集;数字签名的定义数字签名的定义(续续)n n对对每一个每一个k k K K,有一个有一个签名算法签名算法sigsigk k S S和一个相应的和一个相应的验验证算法证算法ververk k V V,对每一个消息对每一个消息x x P P和每一个签名和每一个签名 y y A A,每一个每一个 sigsigk k:PA:PA 和和 ververk k:PA:PA真真,假假 都是满足都是满足下列条件的函数:下列条件的函数:对每一个对每一个k k K K,sigsigk k 和和 ververk k 应该是应该是多项式时间函数;多项式时间函数;其其中中ververk k是一个是一个公开函数,公开函数,sigsigk k将是一个将是一个秘密函数,秘密函数,对一对一个给定的个给定的 x x,只有,只有签名者能计算签名签名者能计算签名y y,满足,满足ververk k(x,y)=(x,y)=真。真。2、RSA签名方案签名方案n n1、密钥产生设设n=p*qn=p*q,p p 和和 q q 是素数,是素数,P=A=ZP=A=Zn n,定义,定义K=(n,p,q,a,b):a*b1(mod(n)K=(n,p,q,a,b):a*b1(mod(n),其中其中 n n 和和 b b 公开公开(公钥公钥),p p、q q、a a 保密保密(私钥私钥)。n n2、签名算法(利用私钥 a,是保密的)y sigk(x)xa(mod n)n n3、验证算法(利用公钥 b,是公开的)verk(x,y)=true 当且仅当 x yb(mod n)数字签名和散列函数数字签名和散列函数n n在实际应用中,数字签名几乎总是和散列函数结合使用n n签名时,签名者完成如下工作n n1 1)按如下步骤计算消息)按如下步骤计算消息 x x 的签名的签名 y y x(x(消息消息)z=h(z=h(x)(x)(摘要摘要)y=sig y=sigk k(z)(z)n n2 2)将)将 (x,y)(x,y)传给验证传给验证者。者。n n验证者收到(x,y)后,完成如下工作n n1 1)通过公开的)通过公开的 hashhash函数函数 h h 重构消息摘要重构消息摘要z=h(z=h(x)x);n n2 2)检查)检查 ververk k(z,y)=true(z,y)=true?3、数字签名标准、数字签名标准DSSn nDSS:Digital Signature Standard;n n数字签名标准数字签名标准DSSDSS(Digital Signature Digital Signature StandardStandard)是是 NIST NIST 公布公布的联邦信息处理标准的联邦信息处理标准FIPS PUB 186,FIPS PUB 186,最早发表于最早发表于19911991年,随后在年,随后在19931993年和年和19961996年进行了一些年进行了一些修改。修改。n nDSS 使用了安全散列算法 SHA 和数字签名算法 DSA。DSS的处理流程的处理流程签名者签名者验证验证者者四、身份证明四、身份证明n n1、概述n n2、通行字(口令)身份证明n n3、一次性口令1、概述、概述n n身份证明是指在两方或多方参与的信息交互中,身份证明是指在两方或多方参与的信息交互中,参与者中的参与者中的一方对其余一方对其余各方(各方(自称自称的或未说明的或未说明的)的)身份身份的判断与确认的判断与确认。n n身份证明还可进一步分类为身份证明还可进一步分类为身份验证身份验证(Identity Identity VerificationVerification)和)和身份识别身份识别(Identity Identity RecognitionRecognition)n n身份验证工作的条件包括身份验证工作的条件包括被验证者个人的(自称的)被验证者个人的(自称的)“身份身份”及及作为该作为该“身份身份”凭据的个人信息;凭据的个人信息;n n身份识别工作的条件身份识别工作的条件只有被识别者的个人信息只有被识别者的个人信息,及一,及一个群体的个人信息数据库,被识别者很可能属于该群个群体的个人信息数据库,被识别者很可能属于该群体。体。实现身份证明的途径实现身份证明的途径n n实现身份证明的途径n n所知所知:密钥、口令等;:密钥、口令等;n n所有所有:身份证、护照、信用卡、钥匙等;身份证、护照、信用卡、钥匙等;n n个人特征个人特征:指纹、笔迹、声纹、手型、血型、:指纹、笔迹、声纹、手型、血型、视网膜、虹膜、视网膜、虹膜、DNADNA等(生物识别)等(生物识别)等(生物识别)等(生物识别);n n你做的事情你做的事情:如手写:如手写签名和步态识别等。签名和步态识别等。n n双因素认证n n同时使用上面的两种途径进行证明,如:口令同时使用上面的两种途径进行证明,如:口令+智能卡。智能卡。2、通行字、通行字(口令口令)身份证明身份证明n n通行字(也称口令)身份验证协议通行字(也称口令)身份验证协议是信息系统是信息系统中中一种使用最为广泛的身份验证一种使用最为广泛的身份验证协议协议n n协议协议涉及若干示证者涉及若干示证者(P P)和唯一的验证者和唯一的验证者(V V)n n最简单的通行字身份验证协议可以是最简单的通行字身份验证协议可以是“one-pass”one-pass”协议协议n n即即整个过程中只需要由示证者整个过程中只需要由示证者 P P 向验证者向验证者 V V 传送一次传送一次消息,其内容是消息,其内容是示证者示证者 P P 的身份标识的身份标识 IDID(identityidentity)和)和通行字通行字 PWPW(passwordpassword)。n n(IDID,PWPW)数据对中的)数据对中的 ID ID 一般事先由验证者一般事先由验证者 V V 为示为示证者证者 P P 分配以保证其唯一性,数据对中的分配以保证其唯一性,数据对中的 PW PW 则可由则可由示证者示证者 P P 产生后提交给验证者产生后提交给验证者 V V 保存,或由验证者保存,或由验证者 V V为示证者为示证者 P P 分配并由分配并由V V保存。保存。口令认证基本协议口令认证基本协议n n1、PV:IDp;n n2、VP:提示P“输入口令”;n n3、PV:PWp;n n4、V从其口令文档中找出记录(IDp,PWp),如果接收的PWp与记录中的匹配,就允许访问。基于散列函数的口令方案基于散列函数的口令方案 n n在该方案中,验证者在该方案中,验证者 V V 存储口令的散列值而不是原始口令存储口令的散列值而不是原始口令n n例如例如:如采用:如采用MD5MD5,则口令,则口令123456123456 在在验证者处存储验证者处存储为为MD5MD5(123456)(123456),即即E10ADC3949BA59ABBE56E057F20F883EE10ADC3949BA59ABBE56E057F20F883En n用下述协议完成鉴别:用下述协议完成鉴别:n n1 1)示证者)示证者 P P 将他的口令传送给验证者将他的口令传送给验证者 V V;n n2 2)验证者)验证者 V V 完成口令的散列函数计算;完成口令的散列函数计算;n n3 3)验证者)验证者 V V 把散列函数的运算结果和它以前存储的值把散列函数的运算结果和它以前存储的值进行比较。进行比较。n n由于验证者不再存储示证者的实际口令,所以攻击者侵入由于验证者不再存储示证者的实际口令,所以攻击者侵入验证者计算机,并偷取口令的威胁就减少了验证者计算机,并偷取口令的威胁就减少了n n因为由口令的散列值生成口令是不可能的。因为由口令的散列值生成口令是不可能的。常用常用通行字通行字字典字典验证者采用验证者采用的变换函数的变换函数验证者验证者存储的存储的经过变换经过变换的口令表的口令表计算结果计算结果寻找寻找匹配匹配字典攻击(撞库)字典攻击(撞库)n n字典攻击字典攻击(dictionary attackdictionary attack)是将大批可能的通行字经目是将大批可能的通行字经目标系统采用的单向函数变换后与窃取的目标系统中的加密标系统采用的单向函数变换后与窃取的目标系统中的加密通行字表比较,以寻找匹配者。通行字表比较,以寻找匹配者。n n由于人们在选择通行字时,通常会选择一些自己容易记忆由于人们在选择通行字时,通常会选择一些自己容易记忆的、随机性不好的字符串,这就有可能出现在攻击者选择的、随机性不好的字符串,这就有可能出现在攻击者选择的的“常用通行字字典常用通行字字典”中,从而被发现。中,从而被发现。3、一次性口令、一次性口令n n一次性口令(一次性口令(One-time PasswordOne-time Password,OTPOTP)方案可以抵御重放)方案可以抵御重放攻击,其实现形式包括:攻击,其实现形式包括:n n1 1)共享的一次性口令表:)共享的一次性口令表:验证者和示证者共享一张秘密口令表,验证者和示证者共享一张秘密口令表,每个口令只用一次。每个口令只用一次。n n2 2)按序修改的一次性口令:)按序修改的一次性口令:初始时验证者和示证者只共享一个秘初始时验证者和示证者只共享一个秘密口令,当使用第密口令,当使用第 i i 个口令进行认证时,示证者产生第个口令进行认证时,示证者产生第 i+1 i+1 个口令,个口令,并用第并用第 i i 个口令作为密钥进行加密,然后传送给验证者。个口令作为密钥进行加密,然后传送给验证者。n n3 3)基于单向函数的一次性口令:)基于单向函数的一次性口令:这种方案是由当前的口令隐含地这种方案是由当前的口令隐含地确定下一个口令,如确定下一个口令,如S/KeyS/Key一次性口令协议,是目前最常用的动态一次性口令协议,是目前最常用的动态一次性口令协议。一次性口令协议。n n4 4)基于)基于TAN(Transaction Authentication Number)TAN(Transaction Authentication Number)的一次性口令:的一次性口令:交易中除了静态口令外,还要求示证者输入一个一次性验证码交易中除了静态口令外,还要求示证者输入一个一次性验证码(即(即TANTAN),这个验证码一般通过短信形式发送给示证者。),这个验证码一般通过短信形式发送给示证者。五、访问控制五、访问控制n n1、访问控制概述n n2、基于角色的访问控制1、访问控制概述、访问控制概述n n如果说身份认证解决了用户“是谁”的问题,那么用户“能做什么”就是由访问控制技术决定的。n n访问控制(Access Control)是国际标准化组织定义的 5 项标准安全服务之一,是实现信息系统安全的重要机制。用户用户在在访问信息系统时,访问信息系统时,1 1)首先)首先经过身份经过身份认证模块识别认证模块识别身份;身份;2 2)然后访问控制模块根据)然后访问控制模块根据用户的身份和授权数据用户的身份和授权数据库决定用户是否能够访问某个资源。库决定用户是否能够访问某个资源。访问控制的基本概念访问控制的基本概念n n访问控制是访问控制是实现既定安全策略的系统安全技术,目标是防实现既定安全策略的系统安全技术,目标是防止对任何资源进行非授权访问止对任何资源进行非授权访问n n所谓非授权访问包括未经授权的使用、泄漏、修改、销毁和所谓非授权访问包括未经授权的使用、泄漏、修改、销毁和颁发指令等。颁发指令等。n n访问控制系统一般包括:访问控制系统一般包括:n n主体(主体(SubjectSubject):发出访问操作、存取要求的主动方,通:发出访问操作、存取要求的主动方,通常指用户或用户的某个进程;常指用户或用户的某个进程;n n客体(客体(ObjectObject):主体试图访问的资源,包括硬件资源(如:主体试图访问的资源,包括硬件资源(如CPUCPU、内存、打印机等)和软件资源(如进程、文件、数据、内存、打印机等)和软件资源(如进程、文件、数据库记录等);库记录等);n n安全访问策略安全访问策略:一套规则,用于确定一个主体是否对客体拥:一套规则,用于确定一个主体是否对客体拥有访问能力。有访问能力。访问控制系统示意图访问控制系统示意图n n发起者:发起者:即主体;即主体;n n目标:目标:即客体;即客体;n n访问控制执行功能访问控制执行功能(Access control enforcement functionAccess control enforcement function,AEFAEF):):负责建立发起者和目标之间的通信桥梁,它必须依照负责建立发起者和目标之间的通信桥梁,它必须依照ADFADF的授权查询的授权查询指示来实施上述动作;指示来实施上述动作;n n访问控制决策功能访问控制决策功能(Access control decision functionAccess control decision function):依据安全访):依据安全访问策略对发起者提出的访问请求进行判决,是访问控制的核心。问策略对发起者提出的访问请求进行判决,是访问控制的核心。发起者发起者(主体)(主体)访问控制执行功能访问控制执行功能AEFAEF目标目标(客体)(客体)提交提交访问请求访问请求执行执行访问请求访问请求访问控制决策功能访问控制决策功能ADFADF决策请求决策请求决策结果决策结果访问控制技术的分类访问控制技术的分类n n计算机访问控制技术最早产生于20世纪60年代,目前主要有3种访问控制技术:n n自主访问控制自主访问控制(Discretionary Access ControlDiscretionary Access Control,DACDAC)n n强制访问控制强制访问控制(Mandatory Access ControlMandatory Access Control,MACMAC)n n基于角色的访问控制基于角色的访问控制(Role Based Access Role Based Access ControlControl,RBACRBAC)2、基于角色的访问控制(、基于角色的访问控制(RBAC)n n传统的访问控制技术都是由主体和访问权限直接发生关系。n n随着信息系统的不断发展,当主体和客体的数量都非常巨大时,传统访问控制技术已经不能胜任复杂的授权管理的要求。n n在这种情况下,基于角色的访问控制(RBAC)逐渐获得重视并得到广泛应用。n nNISTNIST认为认为RBACRBAC将成为将成为DACDAC和和MACMAC的替代者。的替代者。RBAC的基本原理的基本原理n nRBACRBAC的核心思想就是把的核心思想就是把访问权限访问权限和和角色角色相联系相联系n n通过给用户分配合适的角色,让用户和访问权限相关通过给用户分配合适的角色,让用户和访问权限相关联。联。n n角色是根据企业内为完成各种不同的任务需要而角色是根据企业内为完成各种不同的任务需要而设置的设置的,根据用户在企业中的职权和责任来设定,根据用户在企业中的职权和责任来设定他们的角色。他们的角色。n n用户可以在角色间进行转换,系统可以添加、删除角用户可以在角色间进行转换,系统可以添加、删除角色,也可以对角色的权限进行添加和删除等操作。色,也可以对角色的权限进行添加和删除等操作。n n通过应用通过应用RBACRBAC,可以将安全性放在一个接近组可以将安全性放在一个接近组织结构的自然层面上进行管理织结构的自然层面上进行管理。RBAC的基本原理(续)的基本原理(续)n nRBACRBAC包括包括用户(用户(useruser)、角色(角色(rolerole)和和权限权限(permissionpermission)三个实体三个实体:n nRBAC0:RBAC0:基本模型基本模型n nRBAC1:RBAC1:增加角色层次增加角色层次n nRBAC2:RBAC2:增加约束增加约束n nRBAC3:RBAC1+RBAC2RBAC3:RBAC1+RBAC2rolesroles(R)(R)permiss-permiss-ionsions(P)(P)usersusers(U)(U)Role Hierarchy(RH)Role Hierarchy(RH)User Assignment(UA)User Assignment(UA)PermissionPermissionAssignment(PA)Assignment(PA)小结小结n n1 1、认证、认证技术和散列函数技术和散列函数n n2 2、报文鉴别、报文鉴别n n3 3、数字签名、数字签名n n4 4、身份证明、身份证明n n5 5、访问控制、访问控制n n主要主要参考书参考书n n现代密码学现代密码学,杨波著,杨波著n n密码学密码学理论和实践理论和实践,R.StinsonR.Stinson著著n n密码编码学与网络安全密码编码学与网络安全:原理和实践原理和实践,William William StallingsStallings著著作业作业n n1 1、一个可以用手工计算的、一个可以用手工计算的PGPPGP(安全电子邮件)(安全电子邮件)系统的参数如下:单钥加密算法采用系统的参数如下:单钥加密算法采用“移位密码移位密码”;公钥加密算法采用小规模的;公钥加密算法采用小规模的RSARSA算法;算法;HASH HASH运运算和压缩运算被省略。该算和压缩运算被省略。该PGPPGP系统输入的字符集为系统输入的字符集为字母字母AZAZ(如如下下表进行编码表进行编码)。n n(1 1)假设发送方)假设发送方AliceAlice已经知道接收方已经知道接收方BobBob的的RSARSA公钥公钥为(为(e=3e=3,N=33N=33),她想把消息),她想把消息“OKOK”用该用该PGPPGP系统系统加密发送给加密发送给BobBob,写出,写出AliceAlice的计算过程(假设的计算过程(假设AliceAlice随随机产生的用于机产生的用于“移位密码移位密码”的会话密钥为的会话密钥为1515)和发送)和发送给给BobBob的密文。的密文。n n(2 2)已知)已知 Bob Bob 的私钥的私钥 d d 为为 7 7,写出,写出 Bob Bob 对对AliceAlice在上在上一步中发来的密文进行解密的过程。一步中发来的密文进行解密的过程。作业作业ABCDEFGHIJKLM0123456789101112NOPQRSTUVWXYZ13141516171819202122232425发送方发送方接收方接收方PGPPGP加解密过程,详见教案加解密过程,详见教案“安全电子邮件安全电子邮件.pptx.pptx”