




已阅读5页,还剩69页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
金融信息安全工程-身份认证,李改成lgc,主要内容,认证基础身份认证原理认证过程身份认证操作模式命名问题基于口令的认证技术口令猜测口令信息的机密性措施动态口令生物特征识别技术基于上下文的认证认证码电子签名与非否认性基于业务凭证的认证,身份认证定义,身份认证,也称主体认证,就是将某个身份与某个主体进行绑定。在信息系统中,身份认证在主体之间进行,某一成员提交一个主体身份并声称它是那个主体。一个主体对另一个主体进行识别(identify),验明身份(proofofidentity)。主体分为验证方和证明方。基于不同的应用特点和使用环境,可以在单向认证或双向认证之间进行选择身份认证是保护系统的第一道关卡,是实现访问控制、可追究性的前提条件。,认证方法,目前有多种提供认证的方法,其中一些需要使用密钥,而另一些则不需要。主要的认证方法是基于下列原理中的一种或几种:(1)声称者证明他知道某事或某物。例如口令,是个体向本地系统进行身份认证的最实用的机制之一;(2)声称者证明他拥有某事或某物,例如柜员IC卡、存折、银行卡。通常通过声称者证明他知道与这些事物绑定的口令、密钥或个人识别号来达到“某人拥有某东西”这一断言。(3)声称者展示某些不变的个体特征,例如指纹等;(4)声称者在某一特定场所或时间内提供证据,身份认证特征,身份认证满足注册性,共有性,独特性,一体性,主从性。注册性需要证明的主体特征预先设置或约定,即注册。“我有,我知道,我是什么”应在注册中体现。注册性决定了一个验证主体管辖的证明方是有边界的。而不是无限的。注册性是身份认证和客体认证的主要区别点。共有性强调验证方和证明方具有相同意义的“信物”。共有性原则应解释为:“你有的我也有,你知道的我也知道,你是什么的叙述跟我掌握的一样”。,独特性“信物”的综合特证是唯一的。有别于其它主体的特征。特征的粒度按业务性质可以不同。在敌友识别系统中,只识别敌友双方即可,有的系统则要识别到具体的人,如身份证号或用户名等。一体性证明方必须具有主体和证件的一体性证据。如照片或人脑中的口令等,将证明主体和证件结合成一体化。用于一体性证明的技术有两种一种是基于主体的生物特征,另一种是基于主体的逻辑特征。在信息系统中往往采用逻辑特征值,如口令或密钥参数。主从性验证主体和证明主体构成主从关系。主体间互相认证,表面看起来是平等关系,但A方验证B方时,A方是主主体,而B方是从主体,而B方验证A方时,B方成为主主体,A方成为从主体。就一个主体的验证过程来说,不会形成平等关系。主从关系以登记,发证的形式体现。从属关系规定了发证的合法性和有效域。一个系统只能对自己管辖的主体发证,而一个主体的证件只能在所属系统范围内有效。从安全理论的角度,这种关系是单层的,而不能是多层的。,身份认证系统,认证设施,计算机必须存储实体的某些信息,同时必须具有管理这些信息的机制。认证设施分为两类:1与管理有关的设施:有初始化、改变认证信息、分发、禁止、恢复和删除。2与操作有关的设施:有获取、验证和生成。这些设施为认证提供直接的支持,可以把它们实现为应用程序接口(API),有助于认证软件的模块化。例如,与具体安全机制无关的标准接口可以这样实现:声称者调用generate()生成例程,验证者调用verify()验证例程,双方都可调用acquire()获取信息例程。,保护认证系统,认证操作模式,身份认证可以设置在下列分层级的任何一级上:应用级身份认证可以直接地和一个应用关联向相联系,即属于同一组织的成员可以被认证。如果身份认证的目的是支持基于身份的访问控制或责任,应用级是最合适的;端系统级两端之间的进程认证。在支持基于规则的访问控制方面具有重要作用。子网络级:一端的一个子网络附着点和另一端的正确的子网络附着点之间的认证。,基于身份认证中各主体的参与情况,身份认证可划分为以下模式:1基本模型用于没有可信第三方的场合。2内联式模型主体的身份被中间者认证,然后中间者为它提供担保。中间者包含双方的认证信息。在封闭式业务网络中,后台服务程序不须进行操作员认证工作,而由用户登录的计算机来管理用户的认证。在半开放系统中,对发来请求的主机进行认证,对每台认证过的主机的用户不进行认证。它可以用于大型企业不同应用域之间的互联系统中。3有在线认证服务器,或者声称者从它获得一个通行证,并传给验证者;或者验证者同服务器进行交互以完成认证。例如,前述的Kerberos协议4有离线服务器,例如颁发证书的目录服务。ISO/IEC9798-3是基于公钥密码技术的身份认证方面的标准。,身份与名字,身份认证经常与主体名字相关。但名字与身份不可混为一谈。主体可以指各类系统操作和管理人员,也可以指系统中的设备或网点,在更低一级的层次上,它可以是系统中的进程。在系统中,进程既是主体又是客体。身份是主体的一个计算机表达。在系统中,同一参与者可以具有多个不同的身份,通常,每一个身份都具有特定的功能名字可能代表组织、角色等主体和客体,也可代表服务和信道等客体。名字可以安排被人使用(如文件名)、被进程使用(如文件描述符或句柄)、或者被系统内核使用(比如文件分配表的条目)。在操作系统中,系统认证用户,并根据用户信息数据库将用户及其角色映射到他们所对应的,表示为0到某个大整数之间的一个整数。一个名字可用于不同的角色,例如A是管理员和用户。此时,需要看作不同的主体,因而具有不同的身份。,身份与名字,主体名字有许多种,如银行账号、员工号、用户号、邮政地址、电话号码。典型例子是公钥证书的名字类型。证书将密钥与标识符进行绑定。在中,收卡单位终端标识码、收卡商户定义码和收卡商户位置定义商户名字,Bit25定义交易发生的服务点类型,服务点条件代码服务点终端。每个名字都必须由相关的上下文来解释。上下文包括字符集、文件层次结构、网络的域和任何其他可访问的变量,如搜索路径等。例如,统一资源定位器(URL)通过指定客体的位置信息与访问该客体的协议如FTP协议、HTTP协议来标识客体。一个文件可能有多个名字,系统语义决定不同名字的功效。在实现上,每一个进程都必须保证其上下文合乎解释,保证所引用的对象确实是所需要的对象。,命名问题,1.在系统中,根据相关应用,系统经常对名字空间进行多层抽象和划分。名字只在一定的上下文中才能分辨出拥有者的身份命名信息可能位于多处,为确保命名的全局一致性,对网络IP地址、主机名按照标准进行统一编码和分配。为避免重名,标识符必须包含辅助信息,这样才能区分不同组织中的重名者。X.509证书使用“可区分名”的标识符。一个可区分名标识一个参与者,它包括一系列字段,每个字段有一个关键字和一个值。当它写成字符串格式时,字段间使用“/”分隔,关键字与值之间用“=”分隔。命名的目的是共享,命名方式应给予应用环境的实际需求。例如,银行账号是为了在存取款时与柜员交流的方便。当共享的数据是变化的时候,名字尤为重要。如果存取款数据不变,则一个简单的存单就可以了,因而不需要将银行账号与个人信息相联系。,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卡输入其口令,向后台签到,进入系统,柜员输入自己的操作员代码及口令;各柜员签到自己的钱箱,才能开始对外受理业务。基于口令的系统容易遭受口令猜测、线路窃听、窃取认证文件以及重放等攻击。系统的一个重要的任务是需要采取措施隐藏或限制访问主体、口令、口令认证文件和认证函数等认证系统部件。,口令猜测,口令猜测需要的时间:假设P是攻击者在一段确定的时间内猜测口令成功的概率,G是一个单位时间内能够测试口令的次数,T是猜测过程中所经历的单位时间数,N是可能的口令数目,则。口令质量标准:假设猜测一个口令的期望时间是T,如果选择一个可能的口令集是等概率的,那么T就达到最大值。选择良好的口令对于口令等须由人工进行维护的密钥,需要选用易记难猜的口令,例如较长短语的首字母,词组用标点符号分开等。为了选择好的口令,可以使用口令选择器对新口令的选择加以特定的限制。一个改变口令的程序将拒绝长度少于6个字符的口令,也拒绝可在字典中找到的口令。,“salting”技术,如果字典攻击旨在找出任意用户的口令而不是找到某个特殊用户的口令,“salting”技术可用于增加攻击成功的难度。通过选用一个随机数,Salting使得每个用户所选用的补充函数都随机化了。为了确定一个串s是不是一组n个用户中某个用户的口令,测试者必须测试所有不同的补充函数,每一个都产生不同的结果。因此,Salting在用户的数目这个级别上增加了工作量。大部分版本的UNIX系统使用Salting技术。当要生成一个口令时,随机地选择0到4095之间的一个整数作为Salt,所规定的补充函数依赖于这个选择的salt。,限制使用认证函数,通过认证函数猜测口令,要对抗这种攻击,就必须要求对于攻击者而言,认证函数的使用是非常困难的,或者使得认证函数以非常规的方式进行交互:1“后退”技术当一个用户尝试认证并失败后以指数方式增加其下次可以进行认证的时间间隔;2断开连接经过多次失败的认证尝试后,连接断开,用户必须重新建立连接。禁用当输入口令错误达到一定程度时,要进行账号锁定。3监禁让非认证用户访问系统的有限部分,并欺骗他,然后记录下攻击者的行为。其另一种形式是在一个运行系统中植入一些假的数据,这种技术也称为蜜罐技术,经常用于入侵检测系统。,防止口令窃听,攻击者可能窃听通信信道或进行网络窥探(Sniffer),口令的明文传输使得攻击者只要能在口令传输过程中获得口令,系统就会被攻破。如何防止?可采用密文形式传输。Lucent实验室开发的远程用户拨号认证服务(RemoteAuthenticationDialInUserService,RADIUS)协议定义了网络访问服务器(NetworkAccessServer,NAS)和集中存放认证信息的RADIUS服务器之间传输认证、授权和配置信息的标准,其中要求拨号用户的用户名、口令,访问端口等信息要以对称密钥算法加密。ANSIX9.26规定了身份认证技术,通过个人认证信息(口令)进行对用户的认证;使用DES保护口令。使用散列函数,即口令的散列函数代替真实的口令在网上进行传输,同时将ID号也作为散列函数的输入,以进行ID号和口令之间的绑定。,口令保护方案,为了防止通过内部攻击危及系统的口令文件,口令的存储也要以类似的散列函数代替真实的口令,否则攻击者能够容易地通过获得验证者的口令文件或数据库来达到冒充验证者的目的。下图表示一个这样的口令保护方案:,静态口令的缺陷,固定的静态口令认证安全性不高,因为用户的口令可能由于各种原因被其他人得到,常见的途径有:(1)攻击者通过窃听网络数据,辨别出某种特定系统的认证数据,并提取出用户名和口令。(2)通过用户主机窃听。远程的黑客能够通过木马程序记录用户的一举一动包括用户输入的口令。(3)通过简单猜测。很多用户为了方便记忆而选择过于简单的口令,攻击者通过简单猜测就可以识破。使用字符串的全集作字典,很容易用穷举算法解出用户口令;(4)通过黑客程序攻击认证数据库。()重放攻击在认证过程中,重放攻击是最基本、最常用、危害性最大的一种攻击形式。,动态口令,动态口令可克服静态口令的弱点,卡与静态密码相结合,可实现双因素动态密码认证,更好地解决安全与方便性的问题。动态口令随设定的时间或事件等变量自动变化,任一时刻产生的动态口令在其失效前只能被用户使用一次,否则,系统将视其为非法行为而报警。动态口令是随机生成、无规律的。即使本次口令被窃听成功,也难以由此猜出下次的口令。动态口令由于算法中变量的不同而不同。以此形成了不同的技术模式。时间同步机制,就是以时间作为变量;挑战/应答机制就是以挑战数作为变量;事件同步机制则是以事件(次数/序列数)作为变量。,挑战/应答机制,通过询问-应答机制可以扩张基于口令的方案,询问-应答方法对一个事先给定的认证企图由验证者给声称者发送一个随机的挑战值,声称者必须提供看到这一挑战值的证据。假设用户U想向系统S认证自己。设U和S有个协商好的秘密函数f。挑战-应答机制就是这样一个系统:由于挑战数是由认证系统提出,客户端设备将挑战数输入后产生应答数,因此应用模式可设计的较丰富,支持不同的应用需求,如:双向认证、数字签名等。口令卡上以矩阵的形式印有若干字符串,客户在进行支付交易时,电子银行系统就会随机给出一组口令卡坐标,客户根据坐标从卡片中找到口令组合并输入电子银行系统。只有当口令组合输入正确时,客户才能完成相关交易。,事件同步技术,事件同步技术通过次数进行同步,通过同步认证算法,产生“动态口令”,无法预测、无法跟踪截取和破译。事件同步认证技术的代表是S/Key系统:它使用用户输入的种子,基于单向hash的n次操作,产生一个有n个口令的表,所使用的口令依次是第n,n-1,,1次散列的结果。用户保存这一口令表,验证服务器保存用于下一次提供的口令的序号i,和上一次用户所提交的正确口令的十六进制表示。在认证时,验证服务器要求用户提供口令pi,如果与数据库中的口令表匹配,即pi-1=H(pi),那么认证成功。刮刮卡预先印制好数十个密码,所有密码都覆盖了刮刮膜保护。密码编码器使用一个随机数发生器,验证双方共同使用这样的随机序列生成器,并在该序列生成器的初态保持同步。,时间同步技术,动态口令的另外一种可能的口令机制是,用户有一个带有键盘和显示屏的个人认证器件。一个秘密的特定器件值dsv被存储在这个物理防窜扰的器件中。通过使用时间同步的安全标志符,该器件和使用该器件的一个或多个验证系统保持时钟同步。当器件拥有者对一个验证者进行认证时,他将口令p输入器件,得到关于口令p、dsv和当前时戳的一个函数值,将该函数值发送到验证服务器进行验证。过程举例在客户端以时间作为变量,使用对称密钥,进行密码运算,得出一个结果,称为伪随机数,长度假定为128位。为了操作方便,只截取一定的位数(如8位十进制数),显示在令牌卡的液晶屏上,这就是动态口令。,时间同步技术,认证服务器使用同样的对称密钥,对时间加密形成另一个伪随机数,显然,因为双方的时间是同步的,两个伪随机数也会相同,认证服务器截取8位数字后把它与收到的动态口令进行比较,如果相同,这就实现了认证。黑客因为不掌握相同的密钥,产生不出正确的伪随机数和口令,也就通不过认证。问题:用户使用时,因操作失误常引起不同步。以用户登录时间为随机数因素,要求双方时间准确度较高。产生和输入有时间限制为了安全,时间设置为3-5秒之间,太长是不安全的,可能在这个时间间隔内产生重放攻击。,生物特征认证技术,生物特征是一个人与他人不同的唯一表征,它是可以测量、自动识别和验证的。生物特征认证技术是提取具有唯一性的生理特性或行为方式作为认证的依据。生物识别系统对生物特征进行取样,提取其唯一的特征进行数字化处理,转换成数字代码,并进一步将这些代码组成特征模板存于数据库中,人们同识别系统交互进行身份认证时,识别系统获取其特征并与数据库中的特征模板进行比对,以确定是否匹配,从而决定确定或否认一个主体。,生物特征认证技术类型,用于生物识别的解剖学特征有手形、指纹、脸形、虹膜、视网膜等,物理和行为特征有签字、声音、按键力度等。基于这些特征,人们已经发展了指纹识别、手形识别、面部识别、虹膜识别、发音识别、签名识别等多种生物识别技术。指纹识别技术。每个人的指纹皮肤纹路是唯一的,并且终身不变把一个人同他的指纹对应起来,通过将他的指纹和预先保存在数据库中的指纹采用指纹识别算法进行比对,便可验证他的真实身份。并不直接存储指纹的图像,而是使用不同的数字化算法在指纹图像上找到并比对指纹的特征。每个指纹都有几个独一无二、可测量的特征点,每个特征点都有大约57个特征,我们的十个手指产生最少4900个独立可测量的特征,指纹识别是一个可靠的认证方式。,视网膜识别技术。视网膜识别技术是利用激光照射眼球的背面,扫描摄取几百个视网膜的特征点,经数字化处理后形成记忆模板存储于数据库中,供以后的比对验证。基于脸部特征的验证首先建立人体面貌的面像档案,根据人体面貌脸部的本质特征,将这些面像文件生成面纹(Faceprint)编码贮存起来。即用摄像机捕捉的当前出入人员的面像,或取照片输入,并将当前的面像文件生成面纹编码。然后将当前的面像的面纹编码与档案库存中的面纹编码进行检索比对。具有可恢复脸部图象的功能,这种功能为事发后的跟踪追查提供有力的证据。声音识别技术。声音识别技术是一种行为识别技术,用声音录入设备反复不断地测量、记录声音的波形和变化,并进行频谱分析,经数字化处理之后作成声音模板加以存储。使用时将现场采集到的声音同登记过的声音模板进行精确的匹配,以识别该人的身份。,生物特征技术指标,应用生物测量系统,生物特征识别技术应用于安全级别较高的场所。早期的识别设备比较昂贵,因而仅限于安全级别要求较高的原子能实验、生产基地由于人体生物特征是唯一的、可靠的、稳定的,不像密码可以被破解或盗取,也不像智能卡可以被复制,因而应用生物测量系统进行身份认证越来越流行。ISO/TC68/SC2(银行、证卷及其他金融业务标准化技术委员会第二分技术委员会)是专门从事针对国际金融服务业的安全管理和一般银行操作规程的标准化组织,为生物特征信息建立标准化的安全管理标准。,生物特征认证技术的应用特点,环境条件能引起自动识别系统混乱,噪音、灰尘、震动和不可靠的光照条件都会使其产生错误接受率和错误拒绝率。错误接受率和错误拒绝率在实际应用中,需要在错误接受率和错误拒绝率之间进行权衡。由于错误率可能会达到,生物特征认证技术使用的主要目的在于威吓罪犯而不是在认证时非常有效。在无人看管的实际运行中,其被伪造的危险增大,因而,通常使用于内部环境中。在这里,良好的系统设计、警卫人员和机器识别系统相对的长处和短处,可以相互补充。,基于上下文的认证,时间针对营业和非营业时间,对网点进行隔离或封闭,防止他人在非营业时间利用合法网点和授权实施犯罪。网络地址对网络路由的增加、删除、改变进行管理,管理和维护路由表,通过防火墙、路由器等网络产品,利用分组过滤、应用级过滤等技术对网络进行隔离,划分内部网或外部网,或在内部划分若干网段,防止外部攻击。,基于地理位置的认证全球定位系统可以精确地确定几米之内的一个位置。一个主体的物理位置由从GPS卫星导出的位置签名描述。每一个位置和时间是唯一的,因此能构成一个位置签名。位置签名感应器LSS把位置与用户独有的属性结合在一起。主机有一个位置签名感应器LSS,可验证用户传来的签名信息是否真实有效。真实性要求攻击者不能通过修改位置签名内容指示其处于一个虚假的位置。有效性是指主机能够判断用户携带的LSS是否处于一个不允许进行登录的位置,并据此允许或拒绝登录。,消息认证码,一个数据项可以起源于任意一个主体,如一个应用程序、一个具体的应用软件进程、一个人或一个设备。在应用级,数据起源认证用来确保数据项的真正起源,不管数据项经过多少不同的系统、网络或存储设备。在端系统和子网络级,数据起源认证仅被用于无连接的操作模式,用于认证起源于一个特定的无连接数据单元的协议主体。认证码使用对称密码算法对原数据(需发送的报文、存储在数据库中的数据等)或原数据中的关键字段进行计算,得到一小段附加数据,这一小段数据与原数据的每一位都相关,使得原数据每一位的变化都会反映到这一小段数据上来,因此可将它作为判断原数据的内容是否被改变、出处是否真实的依据。报文认证码(MAC)、数据认证码(DAC)。在本质上,DAC与MAC没有差别,只不过前者用于保护待发送的数据,如报文、文电等,后者用于保护存储的数据,如数据库表中的字段,确保数据在存储期间没有被改变。,MAC认证标准,MAC始见于ANSIX9.9,美国国家银行标准(批发)。这项标准保护金融机构之间、金融机构与公司客户之间的金融业务的数据完整性。ANSIX9.9解决两个问题:确定消息格式,即确定被封装的源比特串;确定计算MAC值的封装算法。ISO/IEC9798-2ANSIX9.26规定通过用户唯一的密钥对用户认证、通过节点唯一的密钥进行节点认证,推荐银行业务使用DES算法作为MAC算法。ANSIX9.26还定义了特征编码消息,以传输基于认证交换、传输口令更换通知和错误通知。ISO11131是ANSIX9.26的国际版,但它允许使用DES以外的算法。,MAC算法,MAC算法使用CBC方式,初始向量为IV=0,将数据按64位分组,D1,D2,DN,必要时最后一个数据块用0向右填充,计算如下:C1=EK(D1)C2=EK(D2C1)C3=EK(D3C2)CN=EK(DNCN-1)将最后获得的CK作为MAC码附在原消息之后。上述MAC需要对各个数据块进行加密运算,因而速度较慢。在一般情况下,可以将密钥和消息作为输入,使用Hash直接产生鉴别码,即HMAC。,MAC性质,CK(M)均匀分布,即:任意两个不同的消息M和M,无论是随机选择还是非随机选择,CK(M)=CK(M)的概率是2-n,其中n是MAC的位数。如果一个攻击者得到M和CK(M),则攻击者构造一个消息M使得CK(M)=CK(M)应具有计算复杂性意义下的不可行性。使用MAC可以达到以下目的:接收者可以确信消息M未被改变,接收者可以确信消息来自所声称的发送者如果消息中包含通信协议要求的顺序码,接收者仍然可以保证消息的正常顺序。认证码与常规加密的不同在于,根本上,信息加密提供的是保密性而非真实性,而保密性与真实性是两个不同的概念。MAC函数类似于加密函数,但不需要可逆性,因此在数学上比加密算法被攻击的弱点要少。与常规加密相比,认证函数的计算代价较小,使用与保密函数相分离的认证函数,可提供功能上的灵活性。,维持认证,在存在主动攻击的情况下,应如何确保通过连续的信息交换认证仍然是有意义的。例如,在整个连接的生存期内,强认证交换协议能随时认证涉及在一个通信会话中的一方,但它没有对一个入侵者本身随后立即插入通信信道提供保护。通过周期地重新认证可以提供一些保护,但可以设计一个智能化的主动攻击以回避所有这种认证。对一个连接来讲,维持认证的唯一办法是同时使用连接完整性服务。使用会话过程中建立起来的密钥,连接完整性服务对一个连接上的所有数据进行完整性校验。,MAC应用实例,在不同机构间进行复杂交易信息交换时,银行卡交换中心与ATM、EFT/POS等金融终端之间使用ISO8583报文。为提高效率,在发送者和接收者之间,只有以下一些重要的域参加MAC的计算,这些域包括:基本帐号处理代码交易金额系统跟踪号本地交易时间本地交易日期机构代码授权码返回码终端代码金额,电子签名与非否认性,数字签名的性质,电子签名法规定,如果接收方对签名验证成功,可以达到如下效果:(1)该电子文件确实是签名方发出的(认证-身份真实性),即“电子签名制作数据用于电子签名时,属于签名人专有”;(2)被签名的数据电文件确实是发方所签发(不可否认性)即“签署时电子签名制作数据仅由签名人控制。(3)接收方收到的电子文件没有被篡改(完整性)“签署后对电子签名的任何改动能够被发现”、“签署后对数据电文内容和形式的任何改动能够被发现”;(4)、可靠的电子签名与手写签名或盖章具有同等的法律效力。不可否认性是针对交易双方而言的,防止数据发送方事后否认所发送的数据信息,以及接受方否认所接受到的信息,以防止交易的抵赖。电子交易的过程中可能会有人拒绝承认一项付款请求,并且声明没有要求过这项服务。如果系统支持不可否认性的服务,那么该项服务就会提出证据来证明此项请求及付款的合法性。,数字签名的优势,人们可以用一个独一无二的以生物特征统计学为基础的识别标识确认该签名或印章的真伪。这种方法曾经在银行会计柜台使用过,但由于需要大容量的数据库存储和每次手写签名和盖印的差异性,证明了它的不可实用性,这种方法也不适用于互联网上传输。在公钥密码大规模出现之前,系统依赖分散存储的交易日志提供非否认服务。例如,在SWIFT中,系统本身检查消息认证的信任边界,每个国家的银行将其消息发送到地区通用处理器(RGP),记录消息并转发到SWIFT,SWIFT也记录他们并通过RGP将他们送到接收银行。RGP由不同的设施管理公司运行。一个银行想要不诚实地否认一个交易或声称一个不存在的交易,不仅要攻破SWIFT本身,而且要攻破两个独立的RGP以修改日志。除非所经过的本地提供商进行合谋,客户不能否认已进行的交易内容。通过使用公钥密码机制,可以对抗上述系统中的合谋,因而达到了更高程度的非否认性。,电子签名的应用,以小额支付系统为例,作为全国性的核心业务系统,小额支付系统通存通兑的帐户主要不是卡基帐户,通过密码进行身份认证具有局限性,因而小额支付系统通存通兑业务可以通过CFCA电子签名进行身份认证。企业或个人需要开通通存通兑业务时,到开户银行提交申请,银行核对相关信息无误后,给客户一个密码信封和数字证书密码钥匙USBkey信封内部有客户申请电子证书的密码。客户在将USBkey插入本机USB口,输入密码信封中的密码后下载电子证书,即完成了电子签名证书的申请。办理通存通兑业务时,在受理业务的银行柜台提交通存通兑指令,并插入自身的USBkey到银行终端USB口,通过密码终端录入客户密码,银行行内系统自动调用USBkey上存储的私钥,对客户密码和需要进行不可否认的其他信息进行电子签名,并和支付指令、客户数字证书等信息一并通过小额支付系统发往接收银行。接收银行收到支付指令,用支付指令中存储的公钥证书以及预留银行的密码验证提交信息的真实性和完整性,无误后,可以按规定进行相应的业务处理。,基于业务凭证的认证步骤,基于身份证的认证,身份证是支持进行身份认证的最有效的物理手段。银行账户是资金运动的起点和终点,是单位和个人进行转账结算和现金存取的基础,记录着社会资金运动的轨迹。实行银行账户实名制可以将公安户籍系统和银行系统的名字进行绑定,通过联网核查系统,可以把企图以虚假身份证开户的不法分子堵截在银行体系之外,把已经开立的假名、匿名账户全部清理掉。目前使用的第二代身份证采用了符合ISO14443TypeB通讯协议的近耦合射频识别(RFID)技术。卡片与读卡器之间是通过近电感耦合来进行通讯的。这一技术有利于在网上识别身份真伪。帐户开户完成后,客户可以获得进行以后交易的物理凭证帐户通常包含与持有者或签发者身份相对应的身份识别信息。以银行卡号为例,在银行数据库中,卡号与持卡人证件号码进行绑定。因而,在一般的银行业务如取款、刷卡消费过程中,可使用卡、存折、票据来认证持有者身份的合法性。,基于卡片的认证,以银行卡号为例,在银行数据库中,卡号与持卡人证件号码进行绑定。因而,在一般的银行业务如取款、刷卡消费过程中,可使用卡来认证持有者身份的合法性。认证要求首先要求验证凭证的真实性,即确实是本机构所签发,而不能被他人所伪造。同时,为了避免凭证被盗用,要求使用嵌入在这些物理凭证的验证机制,例如要求用户只有使用特定的物理界面如密码键盘输入证明的密码才能通过柜台或柜员机的身份校验。为了证明客户一端交易主体的合法性,基于业务凭证,银行端需要进行一系列的检查和认证。为此,需要使用密码键盘、划卡器输入PIN和账号信息。PIN输入端口,即密码键盘应该是一个可信器件,确保在传输到系统时不会被泄漏给未授权的人。,卡的合法性,为了银行卡的合法性,应验证CVV值,为当计算出的CVV值和主机数据库内相应记录的CVV值匹配时,卡的合法性才能得到确认。CVV值以主帐号和有效期作为要素进行计算。主帐号ISO8583Bit02主帐号唯一的确认一个用户交易的基本帐号。以储蓄卡为例,账号(PAN)可以由19位数字连续排列组成,包括发卡银行标识代码、标识发卡的城市分行、发卡机构所辖的发卡网点标识码、卡的顺序号,卡号校验位。,第2磁道信息格式,第2磁道信息格式,服务代码(SC)标明银行卡可使用的服务类型。其中第一位为交换控制符,用于限定银行卡可使用的系统范围。服务代码的后两位由国际标准化组织、国内标准化相关组织和发卡行酌情使用。后两位对有无自动柜员机服务、有无现金预支和银行卡介质类型等相关的服务类型进行分配。校验和用于检查错误校验和计算方法为:令卡号前18位左起奇数位的校验系数为“2”,偶数位的校验系数为“1”,将前18位数字的每位数字分别乘以相应的校验系数,所得积求和后模10,结果即为校验位值。,CVV值计算及校验,CVV值的计算过程采用的是DES-EDE2模式的算法,并且使用了CBC链接模式,其中使用的两个密钥是CVKA和CVKB。计算过程是:1将从第二磁道中抽取出的字符从左至右排列,产生26个字符:19位主账号(PAN)+4位卡有效期(EXPIREDATE)+3位服务代码(SERVICECODE)将每一位数字转换为十六进制数字,得到104(264)比特流2.将步骤1得出的结果的最后补上二进制“0”,使之成为128比特的字段,将该字段分为2个64比特的数据,其中前64比特数据为数据块1,后64比特数据为数据块2。,3.用CVKA对数据块1加密(ENCRYPTION)。4.将步骤3得出的结果与数据块2异或(XOR),并用CVKA对结果加密。使用CBC模式,将数据块1的密文作为初始变量。5.用CVKB对步骤4得出的结果解密(DECRYPTION)。6.用CVKA对步骤5得出的结果加密。7.对步骤6得出的结果从左到右抽取出所有的数字(09)。8.对步骤6得出的结果从左到右抽取出所有的十六进制字符(AF),并对每一个十六进制字符减十进制10,使之变为数字,例如十六进制B(十进制为11)变为1。9.将步骤7和8得出的数字从左至右排列,步骤8得出的数字放在步骤7得出的数字之后。10.步骤9得出结果的前三位数字即为卡的校验值(CVV)。,持卡人验证,在磁条卡的合法性得到验证之后,持卡人还应证明他是合法的持有人。在典型使用过程中,这一过程可通过PVV校验值。在联机交易中,使用个人识别号PIN完成。PVV也使用一对DES密钥,分别是PVKA和PVKB,其输入是一个16字节的十六进制数字串,由PAN的最右11个数字(不包含校验位)、PVK索引号(一个十六进制数字)和客户个人密码PIN的前4位组成,计算过程与CVV值的计算过程类似。校验过程是首先计算PIN的校验值PVV,然后与数据库中的值进行比对。在联机交易中,使用个人识别号PIN完成。区域中心的加密机完成其内部将业务终端上送的加密形式的PIN的校验,并将校验结果返回中心主机。,验证信息,ISO9564关于PIN的原理、算法和技术的标准。ISO13491对PIN输入设备和PIN验证设备进行了规范。ISO8583Bit22中的前位在服务终端上定义PAN的输入方式。PAN的输入方式编码如下:00不知01手工02读磁卡03条码扫描仪(BAR)04光学符号阅读器(OCR)05集成电路卡(IC卡)Bit22中的第3位定义在服务终端上PIN的输入方式,PIN的输入方式编码如下:0不知1终端能接收PIN2终端不能接收PIN,Bit52用户密码(PIN)数据(PINData)用户在服务终端上交易用于识别用户合法性的一些数字。PIN在分行主机用分行主机密钥按ANSIX9.8标准加密,形成密文块。Bit53密码相关控制信息(SecurityRelatedControl)提供有关密码块的附加信息,用于指出用于PIN计算的PINkey,用于MAC计算的MACkey。交易中计算PIN和MAC时只能各用某一个KEY,同时需将所用的KEY索引号填写此域。指出PIN加密算法代码和密文块格式等,EMV标准,EMV标准,即Europay、MASTER-CARD(万事达)、VISA(维萨)三大国际信用卡组织借用其首字母合称EMV而设立的智能卡金融支付应用标准。EMV迁移,即银行卡按EMV标准由磁条卡向智能IC卡转移,其目的是为了有效防范诸如跨国制作和使用假信用卡、信用卡欺诈等各种高科技手段的金融智能犯罪。,EMV联机认证,发卡行产生安全报文认证(MAC)密钥,并分散下载到卡片中,即密钥导入过程。这里除了MAC密钥外,还包括应用密文密钥、安全报文加密密钥;在EMV联机交易中,卡片采用应用密文密钥加密授权请求信息,产生应用请求密文(ARQC)发送给终端;终端接收ARQC,并经交换中心上传给发卡行;发卡行接收并验证ARQC后,要用密文加密密钥加密响应信息,产生应用响应密文(ARPC),返回给终端;,EMV联机交易中的认证,4.发卡行接收处理来自交换中心目录服务器的持卡人3-D服务状态查询,并依据持卡人的浏览器种类和服务状态,决定是否接受该持卡人的支付验证,并回复目录服务器。本信息为XML格式,使用HTTPPOST及Internet,在经由SSL用户端认证后建立的SSL通道上进行传输。发卡行将持卡人验证成功的交易,上传至交换中心历史服务器。如因请求格式错误,无法正常处理,系统应产生此一回复,说明错误原因。5.终端将ARPC返回给卡片,卡片验证ARPC,完成与发卡行的双向认证;6.在联机交易返回时,发卡行可以将发卡行脚本(个人化信息)传送至卡片,脚本中的重要信息由安全报文加密密钥加密,其合法性验证由安全报文认证密钥计算的安全报文认证码(MAC)保证。,EMV脱机数据认证,静态数据认证,IC卡中关键的静态数据有认证中心公钥标识、发卡行公钥证书、静态数据数字签名和发卡行公钥指数。静态数据认证目的是确认存放在IC卡中关键的静态数据的合法性,以及可以发现在卡片
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025重庆丰都县中医院招聘4人考试含答案
- 企业多元化人才管理和优化方案
- 企业网络安全数据挖掘与防范规定
- 酒店客房送餐菜单规定
- 制定品牌故事传播策略增强品牌亲和力
- 信息泄露实验总结
- 果园管理的健康树干处理技巧
- 2025咸阳市秦都区丝路花城小学教师招聘笔试备考试题及答案解析
- 2025年精神科学科抑郁症患者自杀风险评估考试答案及解析
- 地产销售经营规程
- 荨麻疹的护理查房课件
- 【课件】2024新课标Ⅱ卷语法填空说课 课件-2025届高三上学期英语一轮复习专项
- 第二单元第二节元素说课稿-2024-2025学年九年级化学鲁教版上册
- 无土栽培技术方案推广指南
- 公租房申请未婚承诺书范本
- 工行授权委托书模板
- 分心驾驶培训课件
- 新人教版高一语文必修1第一单元测试试卷及答案
- 《电化学储能电站消防验收规范》
- 2024秋新人教版物理8年级上册教学课件 1.1 长度和时间的测量
- 化学专业职业生涯规划书
评论
0/150
提交评论