一种智能卡应用场景识别方法及***
技术领域
本发明属于智能卡应用技术领域,具体涉及一种智能卡应用场景的识别方法及***。
背景技术
随着智能卡应用的普及,刷卡成为了人民日常生活的一部分,但刷卡的环境却不一定是安全的。目前,对于交易场景的识别是由POS终端中的安全芯片来完成的,即只有POS终端知道其所使用的场景,而对于交易的主体智能卡来说,本身并不知道其所交易发生的场景,这对于脱机交易来说,带来了较大的安全隐患,尤其是脱机支付领域。当用户在一台POS终端进行交易时,用户可能并不清楚该终端是否是安全合法的终端,非法的POS终端可以诱使用户输入卡片密码并复制用户卡,给用户的财产安全带来很大风险。另外,随着射频技术的普及,非接刷卡成为了脱机交易的主流交易方式,其交易安全隐患更大。
智能卡本身的安全性已经得到了业界的一致认可,通过智能卡本身来对智能卡应用所处的交易环境进行验证,可保证智能卡使用环境的安全性。
发明内容
针对现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种能够提高交易安全性的智能卡应用场景识别方法及***。
为解决上述技术问题,本发明采用的技术方案如下:
一种智能卡应用场景识别方法,包括以下步骤:
读卡终端向智能卡发起应用选择指令,智能卡生成校验随机数,向读卡终端返回交易环境校验请求和所述随机数;
当读卡终端收到智能卡的交易环境校验请求后,对智能卡返回的随机数在安全载体中按照约定加密方式进行加密;
读卡终端将随机数加密结果、读卡终端标识进行组织后,向智能卡发起交易环境校验请求及所述随机数加密结果、读卡终端标识;
智能卡接收到读卡终端的交易环境校验请求后,使用约定方式计算读卡终端标识的加密密钥,并使用所述加密秘钥对所述随机数进行加密,校验是否与读卡终端上送的随机数加密结果一致;如果一致,则读卡终端合法;否则,禁止读卡终端访问智能卡应用。
如上所述的智能卡应用场景识别方法,其中,当读卡终端向智能卡发起应用选择指令时,还包括判断读卡终端所选择应用是否需要进行交易环境校验,如果需要,再生成校验随机数进行后续处理。
如上所述的智能卡应用场景识别方法,其中,对随机数进行加密的方法采用分散算法。所述分散算法采用对称加密算法或者非对称加密算法。
如上所述的智能卡应用场景识别方法,其中,在校验读卡终端合法性之后,还包括判断终端标识是否在黑名单中的步骤,如果在黑名单中,则禁止读卡终端访问智能卡应用。
如上所述的智能卡应用场景识别方法,其中,对于能够进行屏显的读卡终端,还包括用户确认的过程,具体包括以下步骤:
在进行读卡终端校验合法后,智能卡将用户确认信息使用读卡终端认证密钥进行对称加密,返回给读卡终端;
读卡终端接收到该数据并解密,将数据信息显示到读卡终端的显示屏上,由用户确认后,将确认结果发送到智能卡上,如果确认通过,则读卡终端合法,否则禁止读卡终端访问智能卡应用。
一种智能卡应用场景识别***,包括智能卡和读卡终端,所述智能卡包括第一传输装置、随机数生成装置、计算装置、第一加密装置和校验装置;所述读卡终端包括第二传输装置和第二加密装置;
所述第二传输装置用于向智能卡发起应用选择指令;
所述第一传输装置用于接收所述第二传输装置发送的应用选择指令;所述随机数生成装置用于生成校验随机数;所述第一传输装置还用于向读卡终端返回交易环境校验请求和所述随机数;
所述第二传输装置还用于接收所述交易环境校验请求和所述随机数;所述第二加密装置用于在收到智能卡发送的交易环境校验请求后,对所述随机数在安全载体中按照约定加密方式进行加密;所述第二传输装置还用于将所述随机数的加密结果、读卡终端标识进行组织后向所述智能卡发起交易环境校验请求及所述随机数的加密结果、读卡终端标识;
所述第一传输装置还用于接收读卡终端发送的交易环境校验请求;所述计算装置用于使用约定方式计算读卡终端标识的加密密钥;所述第一加密装置用于使用所述加密秘钥对所述随机数进行加密;所述校验装置用于校验所述第一加密装置对所述随机数进行加密的加密结果与所述读卡终端上送的随机数加密结果是否一致。
如上所述的智能卡应用场景识别***,其中,智能卡还包括用于当所述读卡终端向所述智能卡发起应用选择指令时,判断所述读卡终端所选择应用是否需要进行交易环境校验的第一判断装置。
如上所述的智能卡应用场景识别***,其中,智能卡还包括用于在校验所述读卡终端合法之后,判断所述读卡终端标识是否在黑名单中的第二判断装置。
本发明所述方法及***,通过智能卡来对智能卡本身所处的交易环境进行识别和验证的方式,保证了智能卡使用场景的安全性,有效地避免了出现非法交易的可能性。
附图说明
图1是具体实施方式中智能卡应用场景识别***的结构框图;
图2是具体实施方式中智能卡应用场景识别方法的流程图。
具体实施方式
本发明通过在应用选择过程中,在智能卡中增加对刷卡环境认证的过程,来保证整个刷卡交易的安全性,当且仅当环境认证通过之后,智能卡应用方可以正常使用。该认证过程可以由智能卡独立应用处理模块进行统一处理(如Native卡片),也可以由智能卡应用本身进行处理(如JAVA卡)。下面结合附图对本发明的具体实施方式进行详细描述。
本实施方式中,首先在智能卡中增加交易环境识别与验证文件,用于存储与交易环境识别和验证相关的数据内容。单个交易环境识别与验证文件包括:KEY文件、读卡终端发行机构标识文件、读卡终端黑名单文件、智能卡应用标识文件、应用环境校验标识文件。
KEY文件用于存储与读卡终端进行验证的认证秘钥。读卡终端发行机构标识文件用于存储读卡终端发行机构的标识。读卡终端黑名单文件用于存储读卡终端黑名单信息。智能卡应用标识文件用于存储环境识别与认证文件所对应的智能卡应用标识,可以是应用AID等。应用环境校验标识文件用于存储标识对应应用是否需要进行环境校验,包括不校验、强制校验、可选校验等。
如果智能卡存在多个应用,则需要针对每个应用创建一个交易环境识别与验证文件,由智能卡进行统一管理或者由智能卡应用本身进行独立管理。
如图1所示,本实施方式中智能卡应用场景识别***包括智能卡1和读卡终端2;智能卡1包括第一传输装置11、随机数生成装置12、计算装置13、第一加密装置14和校验装置15、第一判断装置16和第二判断装置17;读卡终端2包括第二传输装置21和第二加密装置22。
其中,第二传输装置21用于向智能卡1发起应用选择指令。第一传输装置11用于接收第二传输装置21发送的应用选择指令。第一判断装置16用于判断读卡终端2所选择应用是否需要进行交易环境校验。随机数生成装置12用于生成校验随机数。第一传输装置11还用于向读卡终端2返回交易环境校验请求和所述随机数。第二传输装置21还用于接收所述交易环境校验请求和所述随机数。第二加密装置22用于在收到智能卡1发送的交易环境校验请求后,对所述随机数在安全载体中按照约定加密方式进行加密。第二传输装置21还用于将所述随机数的加密结果、读卡终端标识进行组织后向所述智能卡1发起交易环境校验请求及所述随机数的加密结果、读卡终端标识。第一传输装置11还用于接收读卡终端2发送的交易环境校验请求。计算装置13用于使用约定方式计算读卡终端标识的加密密钥。第一加密装置14用于使用所述加密秘钥对所述随机数进行加密。校验装置15用于校验第一加密装置14对所述随机数进行加密的加密结果与读卡终端2上送的随机数加密结果是否一致。第二判断装置17用于在校验所述读卡终端2合法之后,判断所述读卡终端标识是否在黑名单中。
如图2所示,采用图1所示***实现智能卡应用场景识别的方法包括以下步骤:
(1)读卡终端2中第二传输装置21向智能卡1发起应用选择指令,智能卡1中第一传输装置11接收到应用选择指令,第一判断装置16判断读卡终端2所选择应用是否需要进行交易环境校验,如果需要,则随机数生成装置12生成校验随机数,向读卡终端2返回交易环境校验请求和所述随机数。
(2)当读卡终端2中第二传输装置21收到需要进行交易环境校验请求后,第二加密装置22对智能卡1返回的随机数在安全载体中按照约定加密方式进行加密。
在读卡终端的安全载体中,例如PSAM卡,增加一组通过智能卡认证密钥对读卡终端标识(如编号)进行分散而生成的读卡终端验证密钥,用于进行读卡终端认证使用,其分散算法可以采用对称算法或非对称算法实现,举例如下:
设智能卡存储的认证密钥为主密钥(Km),分散因子为读卡终端编号(X),生成的分散密钥为Kc。当采用的算法为对称算法3DES ECB时,其实现方式如下:
Kcl=3DES(Km,X)
Kcr=3DES(Km,NOT X)
Kc=Kcl||Kcr
当采用的算法为非对称RSA算法时,其实现方式如下:
读卡终端的安全载体和智能卡应用中存储各自所有的公私钥数据。首先,在进行交易环境校验请求时,需进行双方的公钥数据交换,智能卡应用和读卡终端安全载体彼此交换双方的公钥数据。读卡终端在向智能卡应用请求校验随机数时,智能卡应用将生成的随机数使用读卡终端的公钥进行加密后,传输给读卡终端。读卡终端在接收到加密的随机数之后,使用读卡终端安全载体的私钥进行解密;读卡终端安全载体使用智能卡应用的公钥对读卡终端标识和随机数进行加密,并使用读卡终端安全载体的私钥对加密数据进行签名。
(3)读卡终端2中第二传输装置21将随机数的加密结果、读卡终端标识进行组织后,向智能卡发起交易环境校验请求及所述随机数的加密结果、读卡终端标识。其组织方式为:交易环境校验请求命令(根据实际业务指令设置)+读卡终端标识(16位长度或依据实际需求确定,可以采用LV格式)+随机数加密结果(根据确定的加密算法确定具体数据长度,也可采用LV格式)。
(4)智能卡1中第一传输装置11接收到读卡终端的交易环境校验请求后,计算装置13使用约定的密钥分散算法计算读卡终端标识的加密密钥,第一加密装置14使用所述加密秘钥对所下发的校验随机数进行加密,校验装置15校验第一加密装置14对所述随机数进行加密的加密结果与读卡终端2上送的随机数加密结果是否一致。如果一致,则读卡终端合法;否则,禁止读卡终端访问智能卡应用。
在校验读卡终端合法之后,优选的,第二判断装置17再判断读卡终端标识是否在黑名单中,如果在黑名单中,则禁止读卡终端访问智能卡应用。
对于能够进行屏显的读卡终端,优选的,还包括用户确认的过程。在进行读卡终端校验合法后,智能卡将用户确认信息(如用户姓名、别名或账户名称等非敏感数据)使用读卡终端认证密钥进行对称加密,返回给读卡终端。读卡终端接收到该数据并解密,将数据信息显示到读卡终端的显示屏上,由用户确认后,将确认结果发送到智能卡上,如果确认通过,则读卡终端合法,读卡终端可以访问智能卡应用相应应用,否则禁止读卡终端访问智能卡应用。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。