1信息安全引论信息安全引论第八讲第八讲身份鉴别身份鉴别((一)一)陈钟教授北京大学信息科学技术学院软件研究所--信息安全研究室chen@infosec.pku.edu.cn2008-2009年度北京大学本科生课程2008/11/13NISC-08chenzhong©PKU讨论议题•密码协议•鉴别协议•鉴别与密钥交换协议•鉴别与交换协议实例网络安全模型四个基本任务①设计一个算法,执行安全相关的转换②生成该算法的秘密信息③研制秘密信息的分布与共享的方法④设定两个责任者使用的协议,利用算法和秘密信息取得安全服务。四个基本任务①设计一个算法,执行安全相关的转换②生成该算法的秘密信息③研制秘密信息的分布与共享的方法④设定两个责任者使用的协议协议,利用算法和秘密信息取得安全服务。信息安全保障的技术支柱2安全技术的层次•密码算法–encryptionalgorithms,digitalsignatures,etc.•安全协议–keyagreementprotocols,authenticationprotocols,etc.•安全的结构Securityarchitecture–designofasecuritysystem•安全的基础设施Securityinfrastructure–Servesbackboneofvarioussystemsandprovidessecurityservicestothesesystems协议(protocol)•协议指的是双方或多方通过一系列规定的步骤来完成某项任务。•协议的含义:–第一,协议自开始至终是有序的过程,每一步骤必须依次执行。–第二,协议至少需要两个参与者–第三,通过执行协议必须完成某项任务。协议的其它特点•协议的每一方必须事先知道此协议及要执行的步骤•协议涉及的每一方必须同意遵守协议•协议必须是非模糊的•协议必须是完整的•每一步的操作要么是由一方或多方进行计算,要么是在各方之间进行消息传递算法、协议、密码协议•算法(Algorithm):一系列步骤,完成一项任务。•协议(Protocol):一系列步骤,它包括两方或多方,设计它的目的是要完成一项任务。–协议中的每个人都必须了解协议,并且预先知道所要完成的步骤;–协议中的每个人都必须同意并遵循它;–协议必须是清楚的,每一步必须明确定义,并且不会引起误解;–协议必须是完整的,对每种可能的情况必须规定具体的动作;•密码协议(CryptographicProtocol):是使用密码学的协议–参与该协议的伙伴可能是朋友和完全信任的人,或者也可能是敌人和互相完全不信任的人。–包含某种密码算法,但通常协议的目的不仅仅是为了简单的秘密性;–参与协议的各方可能为了计算一个数值想共享他们的秘密部分、共同产生随机系列,确定互相的身份或者同时签署合同。–使用密码的目的是防止或发现窃听者和欺骗。协议类型•仲裁协议•裁决协议•自动执行协议仲裁协议•仲裁者是在完成协议的过程中,值得信任的公正的第三方–“公正”意味着仲裁者在协议中没有既得利益,与参与协议的任何人也没有特别的利害关系。–“值得信任”表示协议中的所有人都接受这一事实,即仲裁者所说的都是真实的,所做的都是正确的。仲裁者能帮助互不信任的双方完成协议;•律师、银行、公正人3example•Alice要卖车给不认识的Bob,Bob想用支票付帐,但Alice不知道支票的真假。同样,Bob也不相信Alice,在没有获得所有权前,不愿意将支票交与Alice.•Alice将车的所有权交给律师•Bob将支票交给Alice•Alice在银行兑现支票•在支票兑现无误后,律师将车的所有权交给Bob,若在规定的时间内支票不能兑现,Alice将出示证据给律师,律师将车的所有权和钥匙交还给Alice裁决协议•协议包括两个低级的子协议:一个是非仲裁子协议,执行协议的各方每次想要完成的,另一个是裁决子协议,仅在例外的情况下,即有争议的时候才执行,这种特殊的仲裁者叫裁决人。•法官example•非仲裁子协议①A和B谈判合同的条款②A签署合同③B签署合同•裁决子协议(仅在有争议时执行):①A和B出现在法官面前②A提出她的证据③B也提出她的证据④法官根据证据裁决自动执行协议•协议本身就保证了公平性,不需要仲裁者来完成协议,也不需要裁决者来解决争端。对协议的攻击•攻击目标–攻击协议使用的密码算法和密码技术–攻击协议本身•攻击方式–被动攻击:与协议无关的人能窃听协议的一部分或全部。–主动攻击:改变协议以便对自己有利。假冒、删除、代替、重放•研究目标:假设密码算法和密码技术都是安全的,只关注协议本身的攻击密码协议•使用密码的具有安全性功能的协议称为安全协议或密码协议.•根据协议的功能:①密钥建立协议(keyestablishmentprotocol):建立共享秘密②鉴别协议(authenticationprotocol):向一个实体提供对他想要进行通信的另一个实体的身份的某种程度的确认.③鉴别的密钥建立协议(authenticatedkeyestablishmentprotocol):与另一个身份已被或可被证实的实体之间建立共享秘密.④……4认证和鉴别•认证(certification)–资质的证明•鉴别(authentication)–真伪的证明,结果只有两个•识别(identification)–区分不同的东西讨论议题•密码协议•鉴别协议•鉴别与密钥交换协议•鉴别与交换协议实例讨论议题•鉴别协议–实体鉴别的基本概念–鉴别机制•非密码的鉴别机制•基于密码算法的鉴别•零知识证明协议安全的信息交换应满足的性质•保密性(Confidentiality)•完整性(Integrity)–数据完整性,未被未授权篡改或者损坏–系统完整性,系统未被非授权操纵,按既定的功能运行•可用性(Availability)••鉴别鉴别((AuthenticityAuthenticity))–实体身份的鉴别,适用于用户、进程、系统、信息等•不可否认性(Non-repudiation)–防止源点或终点的抵赖实体鉴别(EntityAuthentication)•Thepropertythatensuresthattheidentityofasubjectorresourceistheoneclaimed.Authenticityappliestoentitiessuchasusers,processes,systemsandinformation.•实体鉴别就是确认实体是它所声明的。•实体鉴别是昀重要的安全服务之一。鉴别服务提供了关于某个实体身份的保证。(所有其它的安全服务都依赖于该服务)•实体鉴别可以对抗假冒攻击的危险实体鉴别的例子•263的邮件登录•sina的邮件登录•Client与Proxy-Server之间的鉴别•Telnet远程登录•POP3邮件登录•Ftp服务5实体鉴别的需求和目的•实体鉴别需求:某一成员(声称者)提交一个主体的身份并声称它是那个主体。•实体鉴别目的:使别的成员(验证者)获得对声称者所声称的事实的信任。实体鉴别的目的和过程•实体鉴别(身份鉴别):某一实体确信与之打交道的实体正是所需要的实体。只是简单地鉴别实体本身的身份,不会和实体想要进行何种活动相联系。•在实体鉴别中,身份由参与某次通信连接或会话的远程参与者提交。这种服务在连接建立或在数据传送阶段的某些时刻提供,使用这种服务可以确信(仅仅在使用时间内):一个实体此时没有试图冒充别的实体,或没有试图将先前的连接作非授权地重演。实体鉴别与消息鉴别的差别•实体鉴别一般都是实时的,消息鉴别一般不提供时间性。•实体鉴别只证实实体的身份,消息鉴别除了消息的合法和完整外,还需要知道消息的含义。•数字签字主要用于证实消息的真实来源。但在身份鉴别中消息的语义是基本固定的,一般不是“终生”的,签字是长期有效的。实体鉴别实现安全目标的方式①作为访问控制服务的一种必要支持,访问控制服务的执行依赖于确知的身份(访问控制服务直接对达到机密性、完整性、可用性及合法使用目标提供支持);②作为提供数据起源认证的一种可能方法(当它与数据完整性机制结合起来使用时);③作为对责任原则的一种直接支持,例如,在审计追踪过程中做记录时,提供与某一活动相联系的确知身份。实体鉴别分类-i•实体鉴别可以分为本地和远程两类。•本地多用户鉴别:实体在本地环境的初始化鉴别(就是说,作为实体个人,和设备物理接触,不和网络中的其他设备通信)。–需要用户进行明确的操作•远程用户鉴别:连接远程设备、实体和环境的实体鉴别。–通常将本地鉴别结果传送到远程。(1)安全(2)易用实体鉴别分类-ii•实体鉴别可以是单向的也可以是双向的。–单向鉴别是指通信双方中只有一方向另一方进行鉴别。–双向鉴别是指通信双方相互进行鉴别。6实体鉴别系统的组成•一方是出示证件的人,称作示证者P(Prover),又称声称者(Claimant)。•另一方为验证者V(Verifier),检验声称者提出的证件的正确性和合法性,决定是否满足要求。•第三方是可信赖者TP(Trustedthirdparty),参与调解纠纷。•第四方是攻击者,可以窃听或伪装声称者骗取验证者的信任。鉴别模型ATPB对身份鉴别系统的要求(1)验证者正确识别合法申请者的概率极大化。(2)不具有可传递性(Transferability)(3)攻击者伪装成申请者欺骗验证者成功的概率要小到可以忽略的程度(4)计算有效性(5)通信有效性(6)秘密参数能安全存储*(7)交互识别*(8)第三方的实时参与*(9)第三方的可信赖性*(10)可证明的安全性实现身份鉴别的途径•三种途径之一或他们的组合(1)所知(Knowledge):密码、口令(2)所有(Possesses):身份证、护照、信用卡、钥匙(3)个人特征:指纹、笔迹、声纹、手型、血型、视网膜、虹膜、DNA以及个人动作方面的一些特征设计依据:安全水平、系统通过率、用户可接受性、成本等讨论议题•鉴别协议–实体鉴别的基本概念−鉴别机制•非密码的鉴别机制•基于密码算法的鉴别•零知识证明协议非密码的鉴别机制A.口令机制B.一次性口令机制C.询问—应答机制D.基于地址的机制E.基于个人特征的机制F.个人鉴别令牌7A.口令机制•常规的口令方案涉及不随时间变化的口令,提供所谓的弱鉴别(weakauthentication)。•口令或通行字机制是昀广泛研究和使用的身份鉴别法。通常为长度为5~8的字符串。选择原则:易记、难猜、抗分析能力强。•口令系统有许多脆弱点:外部泄露口令猜测线路窃听危及验证者重放对付外部泄露的措施•教育、培训;•严格组织管理办法和执行手续;•口令定期改变;•每个口令只与一个人有关;•输入的口令不再现在终端上;•使用易记的口令,不要写在纸上。对付口令猜测的措施•教育、培训;•严格限制非法登录的次数;•口令验证中插入实时延迟;•限制昀小长度,至少6~8字节以上•防止用户特征相关口令,•口令定期改变;•及时更改预设口令;•使用机器产生的口令。对付线路窃听的措施•使用保护口令机制:如单向函数。q′fididq比较是或不是p′id声称者验证者消息主要缺陷及对策•攻击者很容易构造一张q与p对应的表,表中的p尽昀大可能包含所期望的值。•随机串(Salt)是使这种攻击变得困难的一种办法。•在口令后使用随机数。•只能保护在多台计算机上使用相同口令或在同一计算机上使用同一口令的不同用户。UNIX系统中的口令存储•UNIX系统使用crypt()保证系统密码的完整性。这一函数完成被称作单向加密的功能。它基于DES算法。•使用盐的目的:–防止口令文件中出现相同口令–无须用户额外记住两个字符,就能增加口令长度–阻止了用硬件实现DES8装入一个新的口令验证口令改进方案q′idqid比较f是或不是声称者验证者p′id消息salt基本的对付危及验证者的措施•使用单向函数p′ididq比较是或不是声称者验证者p′id消息fq′salt对付窃听及危及验证者的措施声称者fq′idgidr比较是或不是p′idr′验证者