端到端设备认证的制作方法
【技术领域】
[0001]本发明涉及端到端设备认证。
【背景技术】
[0002]通过自助服务终端(SST)开展金融交易而无需人工协助的消费者日益增多。事实上,在很多情况下,进行这些交易时SST附近是无人值守的;但SST内集成有或SST附近装有安全摄像头的情况或许除外。
[0003]最常见的SST交易是客户在自动柜员机(ATM)上进行的。与公众的普遍认知相反,ATM可能会受到威胁,在某些方面,现有ATM的固有安全漏洞或会遭到利用。
[0004]例如,在典型ATM交易中,客户会插入银行卡,然后在加密PIN键盘上输入其PIN(个人识别码)。ATM上的软件将接收到其无法解密的加密信息,然后将加密信息发送至相应的后端金融系统,与客户账号和所请求的取款金额一同进行认证。如果PIN正确且资金充足,金融系统将返回认证。接着,ATM核心会向ATM内的出钞器发送出钞命令,出钞器会传出与取款相关的货币金额。
[0005]在上述场景中,如果ATM软件可被替换、修改或免验证,那么发送给出钞器的取款金额就可予变更或重复多次,进而耗尽ATM的所有货币。这一点尤其令ATM所有者和经营者担忧,因为与交易绑定的金融系统可能仅兑现初始授权取款金额,导致ATM所有者和经营者不具有收回被盗资金的追索权。
【发明内容】
[0006]在本发明的多种实施方案中,提供了端到端设备认证。
[0007]根据一个实施例,主机发出的一个令牌和一个出钞命令被获取。接着,会对令牌和出钞命令进行验证,然后执行出钞命令。
[0008]根据本发明的第一个方面,所提供的操作出钞装置以验证出钞命令的方法包含:获得主机发出的一个令牌和一个出钞命令;及在处理出钞命令前验证令牌和出钞命令。
[0009]出钞命令可由主机直接发出,或由响应主机发出的出钞命令的应用程序、服务提供商或设备驱动程序发出。
[0010]令牌可由主机发给一个驱动程序级组件(如服务提供商或驱动程序),而非应用程序级组件(如应用程序)。
[0011]根据本发明的第二个方面,所提供的自助服务终端(SST)包含:一个在SST控制器上执行、可与远程主机进行交互的应用程序;及一个连接至所述SST控制器的出钞器,可以(i)从应用程序接收包括出钞金额在内的出钞命令;(ii)接收主机设备发出的授权令牌;
(iii)验证授权令牌;及(iv)在授权令牌通过验证后传出出钞金额。
[0012]根据本发明的第三个方面,所提供的方法包含:设备获得主机发出的一个令牌和一个出钞命令;及在处理出钞命令前,由设备验证所述令牌和出钞命令。
[0013]出钞命令可由主机直接发出,或由响应主机发出的出钞命令的应用程序发出。
[0014]获得一个令牌和一个出钞命令还可选择性地包括直接从该设备接至的自助服务终端(SST)核心接收所述令牌和出钞命令。
[0015]接收令牌和出钞命令还可选择性地包括在获得令牌前向SST核心提供一个nonce传递至主机,主机在生成令牌时使用该nonce。
[0016]验证令牌和出钞命令还可选择性地包括独立重现令牌的一个版本,并将所述重现版本与获得的令牌相比较,以确定有无发生匹配,匹配即表明令牌和出钞命令有效,并表明出钞命令将予以处理。
[0017]独立重现令牌还可选择性地包括在设备的安全微处理器内使用与主机共享的密钥来重现令牌,其中所述安全微处理器仅可被设备访问。
[0018]独立重现令牌还可选择性地包括使用共享密钥、提供给主机一个nonce,以及与重现版本时的出钞命令相关的出钞金额来处理安全微处理器上的消息验证代码函数。
[0019]所述验证还可选择性地包括发送一条错误消息到SST核心,表明令牌和出钞命令无效。
[0020]所述验证还可选择性地包括在令牌和出钞命令通过验证后启动货币出钞装置,以传出与出钞命令相关的货币金额。
[0021]根据本发明的第四个方面,所提供的方法包含:主机设备从自助服务终端应用程序接收出钞金额;主机设备使用共享密钥和出钞金额获得授权令牌,所述共享密钥在主机设备与连接至SST内控制器的出钞器之间或外部系统与出钞器之间共享;及主机设备将授权令牌和出钞金额发送回SST应用程序,以传递给出钞器进行验证。
[0022]所述接收还可选择性地包括使用出钞金额从SST控制器接收一个nonce,而SST控制器获得的该nonce是由出钞器提供的。
[0023]所述获得还可选择性地包括使用该nonce及共享密钥和出钞金额在主机设备上生成授权令牌。
[0024]所述使用还可选择性地包括将该nonce、共享密钥和出钞金额提供给一个方法验证代码(MAC)函数,以生成授权令牌。
[0025]所述提供还可选择性地包括获得因处理MAC函数得到的截断MAC消息,该截断MAC消息即为授权令牌。
[0026]所述获得还可选择性地包括代表主机设备请求外部系统提供授权令牌。
[0027]该方法还可选择性地包括主机设备通过SST控制器与出钞器定期交换新共享密钥,其中,在向SST控制器发送所述新共享密钥的加密版本以传递给出钞器之前,新共享密钥会使用出钞器的公钥加密并用主机设备的私钥签名。
[0028]所述定期交换还可选择性地包括根据策略评估确定交换新共享密钥的周期。
[0029]所述定期交换还可选择性地包括根据SST上的每笔新交易确定交换新共享密钥的周期。
[0030]所述定期交换还可选择性地包括从外部系统接收加密的新共享密钥,然后将其发送给SST控制器以传递给出钞器。
[0031]根据本发明的第五个方面,所提供的一个自助服务终端包含:一个应用程序,可以:(i)在SST上执行;(ii)与出钞器进行交互;及(iii)与远程主机进行交互;及一个出钞器,可以(i)连接至SST ;(ii)从应用程序接收包括出钞金额在内的出钞命令;(ii)从应用程序接收主机设备发出的授权令牌;(iii)验证授权令牌;及(iv)在授权令牌通过验证后传出出钞金额。
[0032]出钞器还可选择性地包括(V)通过SST控制器与主机设备定期交换加密共享密钥,其中SST控制器无法解密该加密共享密钥。
[0033]出钞器还可选择性地使用解密的共享密钥重现授权令牌的一个版本,从而验证授权令牌。
[0034]根据本发明的第六个方面,所提供的出钞器可以(i)接收包括出钞金额在内的出钞命令;(ii)接收远程主机发出的授权令牌;(iii)验证授权令牌?’及(iv)仅在授权令牌通过验证后传出出钞金额。
【附图说明】
[0035]以下通过举例并参照附图,对本发明的上述内容和其他方面加以具体说明:
[0036]根据一个示例实施例,图1是使用自动柜员机(ATM)实施端到端设备认证的示意图;
[0037]根据一个示例实施例,图2是一种端到端设备认证方法的示意图;
[0038]根据一个示例实施例,图3是另一种端到端设备认证方法的示意图;
[0039]根据一个示例实施例,图4是端到端设备认证自助服务终端(SST)的示意图;及
[0040]根据一个示例实施例,图5是使用自动柜员机(ATM)实施端到端设备认证的示意图。
【具体实施方式】
[0041]首先参照图1,根据一个示例实施例,这是使用自动柜员机(ATM) 110实施端到端设备认证的示例图100。对各个组件的描述以及呈现组件的布置形式仅出于说明目的。但要指出的是,也可以在不脱离本文和下文所呈现的现场自动化客户协助之教导的情况下,按其他方式布置更多或更少组件。
[0042]如本文所采用的端到端设备认证包括这样一个概念,即执行交易的设备能够验证出认证该交易的系统有无发出交易指令,以及交易指令是否已被设备执行。
[0043]本文和下文中就端到端设备认证呈现的ATM、技术、方法及自助服务终端(SST),可以在示意图100所示的一个或全部组件或若干组件的组合中全部或部分实现。这些技术和方法均在内存和/或永久性电脑可读存储媒体中被编程为可执行指令,并在与不同组件相关的一个或多个处理器中执行。
[0044]示意图100的讨论,是以在ATM 110上进行的交易为框架而进行的。须指出的是,示意图100也适用于提供自助服务终端(SST)的任何企业。因此,下列描述仅是本发明的一个实施例,无意将本发明范围局限为仅在ATM 110上进行的金融交易。
[0045]实施例示意图100包括一台ATM 110、一台主机140和一个外部金融系统150。ATM110包括一个应用程序120和一个出钞器130。出钞器130包括一个安全微处理器131。
[0046]ATM 110以大为简化的形式呈示,仅用于描绘为实现从出钞器130到主机140或(可选地)外部金融系统150的端到端设备认证所作的组件部分修改。
[0047]应用程序120包括一个用于与出钞器130进行交互的应用程序编程接口(API)(设备API 121),以及一个用于与主机140进行交互的API (主机API 122)。设备API 121可包含常规的ATM设备API,例如CEN XFS API。主机API 122可包含NDC API