首页 > 文章中心 > 正文

刷卡消费身份验证研究

刷卡消费身份验证研究

编者按:本论文主要从传统身份识别、签名识别存在的缺陷;RSA加密解密算法论述等进行讲述,包括了刷卡是一种非常方便的支付方式,但是要得到人们的认可、在生活中得以推广、公钥证书在使用过程中可能会涉及到两个主体、用户甲可以自己生成非对称密钥对,也可以选择由认证中心生成等,具体资料请见:

内容摘要:验证身份与鉴别签名是日常生活中经常会遇到的,鉴别假身份证、鉴别假签名是一项技术要求非常高的工作。由于互联网的出现、信息安全技术的不断完善,例如RSA技术、PKI公钥基础设施、CA认证机构等,为简化鉴别手段、鉴别方法以及鉴别过程提供了有力保证。

关键词:数字身份数字签名RSAPKICA

日常生活中人们到商场购物,付款方式一般有两种:采用现金结算或采用银行卡结算。2006年1月4日和1月5日某媒体连续刊登了两篇报道,题目分别为《刷卡签名商家有责辨真伪》、《银行卡被盗刷商家没过错》。这两篇报道代表两个完全对立的观点,但是阐述的内容都具有相当的说服力。这就提出两个问题,第一,当银行卡被盗刷的情况下,由此产生的损失到底应该由“卡”的所有者承担,还是应该由收款的商家承担?第二,能否避免这种损失的发生?笔者对两个问题的回答是:在现有的法制环境、技术手段下,无法准确的判断损失、无法准确的分清责任,也就无法准确的判罚;采用新的安全技术能够避免这种损失,一旦出现被盗刷的情况,可以依法判罚。

传统身份识别、签名识别存在的缺陷

在现有金融支付平台上使用银行卡时,支付过程如下:在银行提供的联网POS机上刷卡,由客户输入密码,密码验证通过后POS机打印银行转账单据,客户在转账单据上签名,客户出示有效身份证明(如身份证),收款员验证客户签名及身份证明,收款员打印销售发票,至此整个支付过程结束。其中收款员验证客户签名及身份证明是非常关键的一个环节,本文所提出的问题就是针对这个环节。

该媒体两篇报道中支持卡所有者的观点认为,使用手写签名是银行卡不被盗刷的基本保障。这样可以鉴别刷卡人是否为卡的所有者。在中国银联颁发的《收单规范》中要求收单商户必须仔细核对签名,以防银行卡被盗刷。因此从卡的所有者角度出发,收单商户有责任对刷卡人的真实身份进行确认,对签名的真伪进行鉴别。如果收单商户不对刷卡人的手写签名进行鉴别,将意味着银行卡所有者的安全大门完全失去了最基本的设防。这种情况是任何合法交易对象,无论是收单商户、还是合法卡的所有者所不愿意看到的,将导致拥有银行卡的用户不再敢使用刷卡的方式消费,也意味着商户将失去一部份客户。

而站在收单商户的立场认为,银行卡被盗刷商家没有过错。商家无权干涉持卡者的消费方式,涉及的银行与银联也没有义务对POS机操作员进行培训,重要的是法院则认为刷卡过程中是否应该对签名进行鉴别、核对,相关法律法规没有做出特别规定,也就是说没有法律依据。所以据此,如果客户的银行卡丢失后没有及时挂失造成的损失,收单商户没有责任。

刷卡是一种非常方便的支付方式,但是要得到人们的认可、在生活中得以推广,必须有一个安全的支付环境和支付工具,使得卡的所有者、收单商户、银行三方的利益都得到充分的保护。

笔者认为,在目前的技术条件下,要求POS机操作员仅仅依靠身份证来识别刷卡人的真实身份,同时要鉴别刷卡人签名时的笔迹是一项非常困难的工作。因为,一方面现在使用的身份证技术含量低,容易伪造;另一方面鉴别签名笔迹是一项技术性非常强的工作,一般人无法胜任,只有行业内的专家才能准确的鉴别,然而在实际工作中不可能为每一台POS机配备一名这样的技术专家。

那么是否能够找到一种在身份鉴别、签名鉴别上都非常方便、快捷、安全、实用的技术,这一问题就是本文论述的核心:RSA非对称加密解密技术应用模型。

RSA加密解密算法论述

RSA是一个非对称加密解密算法,由加密解密算法、公共参数、一对存在数学关系的公钥和私钥构成,其中算法、公共参数、公钥是可以公开的,私钥必须秘密保存。RSA的核心在于,加密时使用私钥,而解密时则使用公钥。

例如:用户甲拥有公共参数PN=14803,公钥PK=151,私钥SK=8871。现有明文PM=1234。

用户甲使用私钥SK对明文PM进行加密得到密文SM。

SM=PMSKMOD(PN)=12348871MDO(14803)=13960用户甲将自己的公共参数PN,公钥PK,以及密文SM发送给用户乙。用户乙进行解密计算得到明文PM。

PM=SMPKMOD(PN)=13960151MDO(14803)=1234

RSA用作数字签名

作为签名必须具备两个特性:防篡改,除签名者以外的其他人对签过名的内容做的任何改动都将被发现;抗抵赖,签名者无法抵赖自己签名的内容。

每一个RSA的用户都将拥有一对公钥和私钥。使用私钥对明文进行加密的过程可以被看作是签名的过程,形成的密文可以被看作是签名。当密文被改动以后就无法使用公钥恢复出明文,这一点体现出作为签名的防篡改特性;使用公钥对密文进行解密的过程可以被看作是验证签名的过程,使用公钥对密文进行解密恢复出明文,因为公钥来自于签名的一方(即用私钥加密生成密文的一方)。因此,签名一方无法否认自己的公钥,抵赖使用自己公钥解密后恢复出的明文,这一点体现出作为签名的抗抵赖特性。

RSA用作数字身份

身份是一个人的社会属性,用于证明拥有者存在的真实性,例如身份证、驾驶证、军官证、护照等。作为身份证明,它必须是一个不会被伪造的,如果被伪造则能够通过鉴别来发现。

将RSA技术应用于身份证明。当一个人获得一对密钥后,为了使利用私钥进行的签名具有法律效力,为了使自己公开的公钥、公共参数能够作为身份被鉴别,一般通过第三方认证来实现。用户要将自己的公钥、公共参数提交给认证中心,申请并注册公钥证书,如果使用过程中有人对用户的公钥证书产生质疑,需要验证持有者身份,可以向认证中心提出认证请求,以确认公钥证书持有者身份的真实性以及公钥证书的有效性。因此,可以把这个公钥证书看作持有者的一个数字身份证。

数字身份、数字签名在线鉴别模型

公钥证书在使用过程中可能会涉及到两个主体,拥有者与持有者。拥有者是公钥证书真正的所有者,而持有者则可能是一个公钥证书及私钥的盗用者。目前,认证机构的认证平台一般是建立在PKI公钥基础设施之上。当收到对某一个公钥证书的认证请求时,认证完成后出具的认证结果仅能够证明公钥证书本身的真实性、与之相关的数字签名的不可抵赖性,却无法证明持有者就是拥有者。RSA的使用则要求私钥必须秘密保存,一旦泄露只能及时挂失,如果在挂失之前被盗用,所产生的损失只能由拥有者自己承担,这种情况与银行卡被盗刷是相同的。尽管数字身份、数字签名、数字认证都是非常新的技术手段,但是就目前的认证方式、认证过程以及认证结果来看,依然没有解决公钥证书和私钥被盗用的问题。

本文针对公钥证书、私钥被盗用的问题设计出“数字身份、数字签名在线鉴别”模型。

传统的数字认证过程中,被认证的公钥证书与持有公钥证书的实体即证书的持有者之间没有任何关联,即使被认证的公钥证书是真实的、有效的,也不能证明持有者就是拥有者,这样就为盗用者提供了可乘之机。因此,必须对鉴别模型重新设计。

传统的RSA应用模型

用户甲可以自己生成非对称密钥对,也可以选择由认证中心生成;向认证机构提交公钥和公共参数申请并注册公钥证书;用户甲使用私钥对明文进行加密,形成具有签名效用的密文,通常要采用HASH函数进行压缩;用户甲将公钥证书以及经过数字签名的密文发送给用户乙;用户乙使用用户甲的公钥鉴别密文的数字签名;如果用户乙对用户甲的公钥证书产生质疑,可以提交用户甲的公钥证书给认证中心进行认证,认证中心对提交的公钥证书的真实性、有效性进行认证,并将认证结果返回用户乙。由于数字身份与数字签名的特殊性,提供认证服务的机构不应该是一个商业化的机构,而应该是具有政府职能的部门,例如:颁发身份证的公安局、颁发驾照的交管局、颁发护照的外交部等。在笔者设计的模型中,公安局替代传统的认证中心;针对被认证的公钥证书与持有者缺乏直接的关联,在认证结果的信息中,笔者设计增加所有者的详细信息资料,从而可以通过认证结果来鉴别持有者的真实身份。

改造后的RSA应用模型

由公安局为用户甲颁发一个公钥;用户甲自己选择公共参数,并生成私钥;用户甲将公钥、公共参数及个人的详细资料(居住地址、传统身份证号、联系电话、照片、指纹等)提交给公安局,申请并注册数字身份证(即公钥证书),数字身份证的鉴别编号由公钥和公共参数组合而成;用户甲使用私钥对明文进行加密,形成具有签名效用的密文;用户甲将签字密文、数字身份证发送给用户乙;用户乙使用用户甲的公钥鉴别密文的数字签名,并恢复密文为明文;如果用户乙对用户甲的公钥证书产生质疑,可以提交用户甲的公钥证书给认证中心进行认证,认证中心可以根据不同认证的级别返回不同的认证结果。

在新的模型中,认证将分为三级认证。一级认证,返回所有者的身份证号、住址、联系电话;二级认证,在一级认证基础之上附加返回所有者的照片;三级认证,在二级认证基础之上附加返回所有者的指纹。

具体选择哪一种级别认证,取决于应用的性质。如果是签署网络协议可以采用一级认证,如果是在线支付可以选择二级或三级认证。这样可以通过认证的结果(联系电话、照片、指纹)来鉴别持有者与所有者身份是否相符。

RSA在刷卡中的应用

目前,在我国网络技术、通讯技术已经非常发达,接入互联网也已经非常普及,可以充分利用这些技术优化、改造现有的银行卡刷卡流程,解决银行卡被盗以后,在刷卡时对持有者的身份进行有效的鉴别。

传统的刷卡流程中,用户必须在POS机上输入口令,出示身份证,在转账单据上手写签名。在新的刷卡流程中要求收款机必须与互联网相连,在输入口令环节可以改成输入私钥,对付款数据进行加密(数字签名),在身份验证环节可以增加数字身份的验证,客户提交公钥证书,收款员在联网计算机上将客户的公钥证书提交给公安局的认证服务器,在得到认证结果以后对持卡人的身份进行鉴别,然后再对数字签名进行鉴别。

要采用新的刷卡支付流程必须增加新的设备,对现有的支付环境进行改造,以此防止银行卡被盗刷,如果银行卡被盗刷。由于我国已于2005年4月1日正式颁布并开始执行《中华人共和国电子签名法》,因此,可以依据此法进行判罚。