金融信息安全(5)-身份认证

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

金融信息安全工程-身份认证李改成lgc@ss.pku.edu.cn主要内容•认证基础–身份认证原理–认证过程–身份认证操作模式–命名问题•基于口令的认证技术–口令猜测–口令信息的机密性措施–动态口令•生物特征识别技术•基于上下文的认证•认证码•电子签名与非否认性•基于业务凭证的认证身份认证定义•身份认证,也称主体认证,就是将某个身份与某个主体进行绑定。•在信息系统中,身份认证在主体之间进行,某一成员提交一个主体身份并声称它是那个主体。–一个主体对另一个主体进行识别(identify),验明身份(proofofidentity)。–主体分为验证方和证明方。基于不同的应用特点和使用环境,可以在单向认证或双向认证之间进行选择•身份认证是保护系统的第一道关卡,是实现访问控制、可追究性的前提条件。认证方法•目前有多种提供认证的方法,其中一些需要使用密钥,而另一些则不需要。•主要的认证方法是基于下列原理中的一种或几种:–(1)声称者证明他知道某事或某物。•例如口令,是个体向本地系统进行身份认证的最实用的机制之一;–(2)声称者证明他拥有某事或某物,例如柜员IC卡、存折、银行卡。•通常通过声称者证明他知道与这些事物绑定的口令、密钥或个人识别号来达到“某人拥有某东西”这一断言。–(3)声称者展示某些不变的个体特征,例如指纹等;–(4)声称者在某一特定场所或时间内提供证据身份认证特征•身份认证满足注册性,共有性,独特性,一体性,主从性。–注册性•需要证明的主体特征预先设置或约定,即注册。“我有,我知道,我是什么”应在注册中体现。•注册性决定了一个验证主体管辖的证明方是有边界的。而不是无限的。•注册性是身份认证和客体认证的主要区别点。–共有性•强调验证方和证明方具有相同意义的“信物”。•共有性原则应解释为:“你有的我也有,你知道的我也知道,你是什么的叙述跟我掌握的一样”。–独特性•“信物”的综合特证是唯一的。有别于其它主体的特征。–特征的粒度按业务性质可以不同。在敌友识别系统中,只识别敌友双方即可,有的系统则要识别到具体的人,如身份证号或用户名等。–一体性•证明方必须具有主体和证件的一体性证据。如照片或人脑中的口令等,将证明主体和证件结合成一体化。•用于一体性证明的技术有两种–一种是基于主体的生物特征•另一种是基于主体的逻辑特征。在信息系统中往往采用逻辑特征值,如口令或密钥参数。•主从性–验证主体和证明主体构成主从关系。•主体间互相认证,表面看起来是平等关系,但A方验证B方时,A方是主主体,而B方是从主体,而B方验证A方时,B方成为主主体,A方成为从主体。就一个主体的验证过程来说,不会形成平等关系。–主从关系以登记,发证的形式体现。•从属关系规定了发证的合法性和有效域。一个系统只能对自己管辖的主体发证,而一个主体的证件只能在所属系统范围内有效。从安全理论的角度,这种关系是单层的,而不能是多层的。身份认证系统认证过程包括从某个实体获取认证信息、分析数据、确定信息是否与该实体相关等环节。认证系统的要求可归纳为:1.认证信息集合A:实体用于证明其身份的特定信息的集合;2.补充信息集合C:系统存储并用于验证认证信息的信息集合;例如unix系统的shadow口令文件。3.补充函数集合F:根据认证信息生成补充信息的函数集合,即,对,:fFfAC。4.认证函数集合L:用于验证身份的函数集合。即,对,:,lLlACtruefalse5.选择函数集合S:使得一个实体可以创建或修改认证信息和补充信息。例如,一个用户通过输入口令来认证自己,系统通过比较在线存储的明文口令来实现认证。在此,A是可接受的口令串的集合,C=A,F={I},L={eq},其中I是恒等函数,且如果L的参数相同,那么eq是真的,否则就是假的。认证设施•计算机必须存储实体的某些信息,同时必须具有管理这些信息的机制。•认证设施分为两类:–1.与管理有关的设施:有初始化、改变认证信息、分发、禁止、恢复和删除。–2.与操作有关的设施:有获取、验证和生成。这些设施为认证提供直接的支持,可以把它们实现为应用程序接口(API),有助于认证软件的模块化。•例如,与具体安全机制无关的标准接口可以这样实现:声称者调用generate()生成例程,验证者调用verify()验证例程,双方都可调用acquire()获取信息例程。保护认证系统认证系统的目标是要保证正确地识别实体。如果一个实体可以猜测出另一个实体的口令,那么猜测者就可以冒充他人。认证模型为这类问题的分析提供了一种系统方法,其目标是找到一个aA,使得对于,fFfacC,且c对应于一个特定实体。由于通过计算fa或通过认证la,就能够确定a是否与某个实体关联。因此,通过采取以下方法保护认证系统:1.隐藏足够多的信息使得,ac或f中的一个不能被发现;2.禁止访问认证函数L。认证操作模式•身份认证可以设置在下列分层级的任何一级上:–应用级•身份认证可以直接地和一个应用关联向相联系,即属于同一组织的成员可以被认证。•如果身份认证的目的是支持基于身份的访问控制或责任,应用级是最合适的;–端系统级•两端之间的进程认证。•在支持基于规则的访问控制方面具有重要作用。–子网络级:•一端的一个子网络附着点和另一端的正确的子网络附着点之间的认证。•基于身份认证中各主体的参与情况,身份认证可划分为以下模式:–1.基本模型用于没有可信第三方的场合。–2.内联式模型主体的身份被中间者认证,然后中间者为它提供担保。中间者包含双方的认证信息。•在封闭式业务网络中,后台服务程序不须进行操作员认证工作,而由用户登录的计算机来管理用户的认证。•在半开放系统中,对发来请求的主机进行认证,对每台认证过的主机的用户不进行认证。它可以用于大型企业不同应用域之间的互联系统中。–3.有在线认证服务器,或者声称者从它获得一个通行证,并传给验证者;或者验证者同服务器进行交互以完成认证。•例如,前述的Kerberos协议–4.有离线服务器,例如颁发证书的目录服务。•ISO/IEC9798-3是基于公钥密码技术的身份认证方面的标准。身份与名字•身份认证经常与主体名字相关。但名字与身份不可混为一谈。–主体可以指各类系统操作和管理人员,也可以指系统中的设备或网点,在更低一级的层次上,它可以是系统中的进程。在系统中,进程既是主体又是客体。–身份是主体的一个计算机表达。–在系统中,同一参与者可以具有多个不同的身份,通常,每一个身份都具有特定的功能–名字可能代表组织、角色等主体和客体,也可代表服务和信道等客体。名字可以安排被人使用(如文件名)、被进程使用(如文件描述符或句柄)、或者被系统内核使用(比如文件分配表的条目)。–在操作系统中,系统认证用户,并根据用户信息数据库将用户及其角色映射到他们所对应的UID,表示为0到某个大整数之间的一个整数。–一个名字可用于不同的角色,例如A是管理员和用户。此时,需要看作不同的主体,因而具有不同的身份。身份与名字•主体名字有许多种,如银行账号、员工号、用户号、邮政地址、电话号码。–典型例子是公钥证书的名字类型。证书将密钥与标识符进行绑定。–在ISO8583中,收卡单位终端标识码、收卡商户定义码和收卡商户位置定义商户名字,Bit25定义交易发生的服务点类型,服务点条件代码服务点终端。•每个名字都必须由相关的上下文来解释。–上下文包括字符集、文件层次结构、网络的域和任何其他可访问的变量,如搜索路径等。例如,统一资源定位器(URL)通过指定客体的位置信息与访问该客体的协议如FTP协议、HTTP协议来标识客体。–一个文件可能有多个名字,系统语义决定不同名字的功效。–在实现上,每一个进程都必须保证其上下文合乎解释,保证所引用的对象确实是所需要的对象。命名问题•1.在系统中,根据相关应用,系统经常对名字空间进行多层抽象和划分。–名字只在一定的上下文中才能分辨出拥有者的身份命名信息可能位于多处,为确保命名的全局一致性,对网络IP地址、主机名按照标准进行统一编码和分配。–为避免重名,标识符必须包含辅助信息,这样才能区分不同组织中的重名者。X.509证书使用“可区分名”的标识符。一个可区分名标识一个参与者,它包括一系列字段,每个字段有一个关键字和一个值。当它写成字符串格式时,字段间使用“/”分隔,关键字与值之间用“=”分隔。•2.命名的目的是共享,命名方式应给予应用环境的实际需求。–例如,银行账号是为了在存取款时与柜员交流的方便。当共享的数据是变化的时候,名字尤为重要。如果存取款数据不变,则一个简单的存单就可以了,因而不需要将银行账号与个人信息相联系。•3.以地址命名主体是不可靠的,它常常会带来认证上的安全弱点。–基于地址的机制假定声称者的可认证性是以呼叫的源地址为基础的。这种机制存在一些潜在的问题,最大的困难是在一个临时的环境里维持一个连续的主机和网络地址的联系。–网络中的转发、重定向机制给攻击者造成了各种机会。如果攻击者能改变数据库中将低层标识映射到高层标识的条目,则攻击者就能通过错误的网络流量路由而进行主机欺骗。例如,在DNS中,主机名的可信赖性依赖于DNS数据库的完整性。攻击者能改变关联IP地址与主机名的纪录,使得查询返回错误的响应。–在不能可靠地辨别地址时,可以用一个呼叫-回应设备来获得呼叫的源地址。一个验证者对每一个主体都保持一份合法呼叫地址的文件。在一次认证中,验证者或者对呼叫地址做合法性检查或者清除源呼叫并向一个合法地址回呼。•4.系统是无边界的,因而需要设计足够大的名字空间,以避免从头修改的麻烦。–一个显而易见的例子是,由于网络的增长,IP地址已经不够分配,因而需要推行新的IPv6地址。•IPv4使用32位地址,因此最多可能有4294967296(=232)个地址。–在信用卡业,最昂贵的升级不是Y2K问题的修补,而是卡号从13位向16位的升级,以增加卡号中的银行识别号、个人识别号的位数和校验位。•5.名字服务必须与所要保护的系统规模相适应。由于可能导致系统降低性能、增加成本或失败,全局化的名字并不一定能带来所想象的好处。–由于其客户已有一个独一的名字即账号,因而银行业不愿再为其客户添加一个可能带来麻烦的全局化的身份证书,这也正是银行业对PKI技术抱有疑虑的主要原因。一个身份号具有专一的用途,如银行账号或系统登录号。•命名方案应适应组织的变化。–名字常常意味着组织对内外部的一种承诺,含义变化了,而名字本身不做任何调整会引起不必要的误解和危险。•7.名字可以附加访问票据或能力。–票据或能力是动态标识符,只在有限的时间内赋予参与者。在系统描述中,它与静态标识符之间的界限常常模糊不清。•在大规模应用系统中,客户机使用一个双方认可的本地标识符向本地密钥分配服务器连接,密钥分配服务器发送一个客户机可在其它场合使用的全局标识符,然后向其他认证服务器通报客户的本地标识符与全局标识符之间的联系。•8.应使不正确的名字易于区分。–例如,信用卡账号的校验位算法•9.注意命名的一致性问题。–命名一致性是困难的,一种简单的办法是禁止使用别名,并使得各个局部命名方案能够相互兼容。•10.尽量使用成熟的命名技术。–账户号在银行业具有悠久的历史,它比X.509证书更易于处理。•11.尽量少地在代码中使用绝对地址或文件名,因为升级或机器更改会变得困难。–尽量使用配置文件或DNS服务。但会与某些安全目标冲突。•12.随机、匿名的名字是有商业价值的,某些系统要求在进行身份认证的情况下不泄露其真实名字。–银行不使用账号,而是直接使用名字和地址记录并传输客户数据可能会遭到起诉。基于口令的认证技术•口令是与特定主体相关联的,且能够证明该主体身份的信息。•在基于口令的认证系统中,系统保存用户的ID和口令,用户在登录系统时输入用户ID和口令,系统通过比较用户ID和口令验证合法性。–例如,在典型的日始流程中,开启主机,插入IC卡输入其口令,向后台签到,进入系统,柜员输入自己的操作员代码及口令;各柜员签到自己的钱箱,才能开始对外受理业务。•基于口令的系统容易遭受口令猜测、线路窃听、窃取认证文件

1 / 74
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功