首页 / 专利库 / 银行与财务事项 / 自动柜员机 / 一种接口调用验证方法、自动柜员机及存储介质

一种接口调用验证方法、自动柜员机及存储介质

阅读:556发布:2020-05-11

专利汇可以提供一种接口调用验证方法、自动柜员机及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种 接口 调用验证方法、 自动柜员机 及存储介质,其中方法包括步骤:调用外部认证控件,获取待验证程序的逻辑名;在XFS配置注册表中查找对应的SP DLL;匹 配对 应的外部认证接口;获取SP认证版本;获取预先配置的 算法 及密钥,并调用随机数生成接口产生随机数;对所述随机数进行加密,生成验证密文;进行验证密文的外部验证,若验证通过则允许所获获取逻辑名对应的程序调用系统接口。本发明所提供的接口调用验证方法,通过验证密文的方式判断是否为合法程序,验证通过方才允许程序调用系统接口,降低了黑客通过植入恶意程序从自动柜员机非法盈利的概率;而且该方法所用的算法及密钥不经过接口通信,保证了算法及密钥的安全性。,下面是一种接口调用验证方法、自动柜员机及存储介质专利的具体信息内容。

1.一种接口调用验证方法,其特征在于,包括:
调用外部认证控件,获取待验证程序的逻辑名;
根据所获取的逻辑名,在XFS配置注册表中查找对应的SP DLL;
根据查找结果,匹配与所述SP DLL对应的外部认证接口;
调用所述外部认证接口,获取SP认证版本;
根据所述SP认证版本的版本信息获取预先配置的算法及密钥,并调用随机数生成接口产生随机数;
利用所获取的算法及密钥对所述随机数进行加密,生成验证密文;
调用外部认证命令接口进行验证密文的外部验证,若验证通过则允许所获获取逻辑名对应的程序调用系统接口。
2.根据权利要求1所述的接口调用验证方法,其特征在于,所述根据所述SP认证版本的版本信息获取预先配置的算法及密钥,并调用随机数生成接口产生随机数的步骤替换为:
根据所述SP认证版本的版本信息获取预先配置的密钥库及算法,并调用随机数生成接口产生随机数;
所述根据所述SP认证版本的版本信息获取预先配置的密钥库及算法,并调用随机数生成接口产生随机数的步骤之后,所述利用所获取的算法及密钥对所述随机数进行加密,生成验证密文的步骤之前还包括:
随机选择密钥ID及算法ID;
所述利用所获取的算法及密钥对所述随机数进行加密,生成验证密文的步骤具体为:
利用所选择密钥ID所对应的密钥,以及算法ID所对应的算法对所述随机数进行加密,生成验证密文。
3.根据权利要求1所述的接口调用验证方法,其特征在于,所述接口调用验证方法还包括:定期发布静态库及对应的源代码,以定期更新密钥。
4.根据权利要求1所述的接口调用验证方法,其特征在于,所述接口调用验证方法还包括:接收用户操作指令,销毁已泄露的密钥。
5.根据权利要求1所述的接口调用验证方法,其特征在于,所述调用所述外部认证接口,获取SP认证版本的步骤之后,所述根据所述SP认证版本的版本信息获取预先配置的算法及密钥,并调用随机数生成接口产生随机数的步骤之前还包括:
判断所述SP认证版本与控件认证版本是否相同,若是则执行下一步。
6.根据权利要求1所述的接口调用验证方法,其特征在于,所述调用所述外部认证接口,获取SP认证版本的步骤之后,所述根据所述SP认证版本的版本信息获取预先配置的算法及密钥,并调用随机数生成接口产生随机数的步骤之前还包括:
遍历控件认证版本库,判断SP认证版本是否与其中的一个控件认证版本相同,若是则执行下一步。
7.根据权利要求1所述的接口调用验证方法,其特征在于,所述调用外部认证命令接口进行验证密文的外部验证,若验证通过则允许所获获取逻辑名对应的程序调用系统接口的步骤具体包括:
中间件调用外部认证命令接口,将密文发送至SP;
SP收到外部认证命令后,将所述验证密文通过指定规则解密得到数据,并将数据与SP生成的随机数进行比较,若一致则验证通过,允许所获获取逻辑名对应的程序调用系统接口。
8.根据权利要求7所述的接口调用验证方法,其特征在于,所述外部认证接口为WFM Get Auth Type接口,所述随机数生成接口为WFM Generate Rand接口,所述外部认证命令接口为WFM Ext Auth接口。
9.一种自动柜员机,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如权利要求1至8中任意一项所述的接口调用验证方法。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的接口调用验证方法的步骤。

说明书全文

一种接口调用验证方法、自动柜员机及存储介质

技术领域

[0001] 本发明涉及自动柜员机使用安全技术领域,特别是涉及一种接口调用验证方法、自动柜员机及存储介质。

背景技术

[0002] 自动柜员机是一种高度精密的机电一体化装置,利用磁性代码卡或智能卡实现金融交易的自助服务,代替行柜面人员的工作。可提取现金、查询存款余额、进行账户之间资金划拨、余额查询等工作;还可以进行现金存款(实时入账)、支票存款、存折补登、中间业务等工作。持卡人可以使用信用卡或储蓄卡,根据密码办理自动取款、查询余额、转账、现金存款,存折补登,购买基金,更改密码,缴纳手机话费等业务。
[0003] 传统的自动柜员机存在安全隐患,发生过被黑客集团植入cngdisp.exe及cngdisp_new.exe两种恶意程序,令自动柜员机于特定时间疯狂吐钞的现象,经济损失重大。事后分析得知,黑客通过植入的恶意程序调用XFS API WFS Async Execute,直接向SP程序下发WFS_CMD_CDM_DISPENSE命令,强制令自动柜员机在特定时间吐钞。
[0004] 如何识别非法进程发送来的恶意指令,防止黑客通过探测数据暴破解自动柜员机,成为了亟待解决的技术问题。
[0005] 因此,现有技术还有待改进。

发明内容

[0006] 基于此,有必要针对上述技术问题,提供一种接口调用验证方法、自动柜员机及存储介质,旨在识别非法进程发送来的恶意指令,防止黑客通过探测数据的方式暴力破解自动柜员机。
[0007] 本发明的技术方案如下:
[0008] 一种接口调用验证方法,其包括:
[0009] 调用外部认证控件,获取待验证程序的逻辑名;
[0010] 根据所获取的逻辑名,在XFS配置注册表中查找对应的SP DLL;
[0011] 根据查找结果,匹配与所述SP DLL对应的外部认证接口;
[0012] 调用所述外部认证接口,获取SP认证版本;
[0013] 根据所述SP认证版本的版本信息获取预先配置的算法及密钥,并调用随机数生成接口产生随机数;
[0014] 利用所获取的算法及密钥对所述随机数进行加密,生成验证密文;
[0015] 调用外部认证命令接口进行验证密文的外部验证,若验证通过则允许所获获取逻辑名对应的程序调用系统接口。
[0016] 在进一步地优选方案中,所述根据所述SP认证版本的版本信息获取预先配置的算法及密钥,并调用随机数生成接口产生随机数的步骤替换为:
[0017] 根据所述SP认证版本的版本信息获取预先配置的密钥库及算法,并调用随机数生成接口产生随机数;
[0018] 所述根据所述SP认证版本的版本信息获取预先配置的密钥库及算法,并调用随机数生成接口产生随机数的步骤之后,所述利用所获取的算法及密钥对所述随机数进行加密,生成验证密文的步骤之前还包括:
[0019] 随机选择密钥ID及算法ID;
[0020] 所述利用所获取的算法及密钥对所述随机数进行加密,生成验证密文的步骤具体为:
[0021] 利用所选择密钥ID所对应的密钥,以及算法ID所对应的算法对所述随机数进行加密,生成验证密文。
[0022] 在进一步地优选方案中,所述接口调用验证方法还包括:定期发布静态库及对应的源代码,以定期更新密钥。
[0023] 在进一步地优选方案中,所述接口调用验证方法还包括:接收用户操作指令,销毁已泄露的密钥。
[0024] 在进一步地优选方案中,所述调用所述外部认证接口,获取SP认证版本的步骤之后,所述根据所述SP认证版本的版本信息获取预先配置的算法及密钥,并调用随机数生成接口产生随机数的步骤之前还包括:
[0025] 判断所述SP认证版本与控件认证版本是否相同,若是则执行下一步。
[0026] 在进一步地优选方案中,所述调用所述外部认证接口,获取SP认证版本的步骤之后,所述根据所述SP认证版本的版本信息获取预先配置的算法及密钥,并调用随机数生成接口产生随机数的步骤之前还包括:
[0027] 遍历控件认证版本库,判断SP认证版本是否与其中的一个控件认证版本相同,若是则执行下一步。
[0028] 在进一步地优选方案中,所述调用外部认证命令接口进行验证密文的外部验证,若验证通过则允许所获获取逻辑名对应的程序调用系统接口的步骤具体包括:
[0029] 中间件调用外部认证命令接口,将密文发送至SP;
[0030] SP收到外部认证命令后,将所述验证密文通过指定规则解密得到数据,并将数据与SP生成的随机数进行比较,若一致则验证通过,允许所获获取逻辑名对应的程序调用系统接口。
[0031] 在进一步地优选方案中,所述外部认证接口为WFM Get Auth Type接口,所述随机数生成接口为WFM Generate Rand接口,所述外部认证命令接口为WFM Ext Auth接口。
[0032] 一种自动柜员机,其包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上所述的接口调用验证方法。
[0033] 一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如上任一项所述的接口调用验证方法的步骤。
[0034] 与现有技术相比,本发明提供的接口调用验证方法,包括步骤:调用外部认证控件,获取待验证程序的逻辑名;根据所获取的逻辑名,在XFS配置注册表中查找对应的SP DLL;根据查找结果,匹配与所述SP DLL对应的外部认证接口;调用所述外部认证接口,获取SP认证版本;根据所述SP认证版本的版本信息获取预先配置的算法及密钥,并调用随机数生成接口产生随机数;利用所获取的算法及密钥对所述随机数进行加密,生成验证密文;调用外部认证命令接口进行验证密文的外部验证,若验证通过则允许所获获取逻辑名对应的程序调用系统接口。本发明所提供的接口调用验证方法,通过验证密文的方式判断是否为合法程序,验证通过方才允许程序调用系统接口,降低了黑客通过植入恶意程序从自动柜员机非法盈利的概率;而且该方法所用的算法及密钥不经过接口通信,保证了算法及密钥的安全性。附图说明
[0035] 图1是本发明优选实施例中接口调用验证方法的流程图
[0036] 图2是本发明优选实施例中自动柜员机的功能原理框图

具体实施方式

[0037] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0038] 由已知的恶性非法牟利事件可知,黑客通过植入的恶意程序调用XFS API WFS Async Execute,直接向SP程序下发WFS_CMD_CDM_DISPENSE命令,强制令自动柜员机在特定时间吐钞。那么,只要可以限制自动柜员机内程序调用XFS API WFS Async Execute的权限即可防止该事件再次发生,同样的,限制程序调用系统其他接口的权限,即可扩大安全防护面;但很显然不能完全杜绝程序调用系统接口的权限,因此要进行甄别。
[0039] 基于上述思路,本发明提供了一种接口调用验证方法,如图1所示,其包括步骤:
[0040] S100、调用外部认证控件,获取待验证程序的逻辑名。
[0041] 在优选实施例中,逻辑名由应用程序进行配置得到,比如取款模的逻辑名可以是Cash Dispenser。外部认证即产生随机数,在外部利用密钥设备对该随机数进行计算,完成对终端的数据认证;外部认证的特点是一次一密,即每次都由一方产生一个随机数,双方都用密钥计算随机数得到一个值,然后比较随机数的计算值是否相等,该方式避免了密钥泄露的问题,因为每次得到的都是临时值,所以每次都必须去计算随机数,而密钥又是被读取出来的,只能用来计算,所以就算随机数的计算值被泄露了也没关系,因为下一次这个计算值并不能被使用,保证了验证结果的准确性。
[0042] S200、根据所获取的逻辑名,在XFS配置注册表中查找对应的SP DLL。
[0043] DLL(Dynamic Link Library)文件为动态链接库文件,又称"应用程序拓展",是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。
[0044] SP(Service Provide)服务厂商,在此处还指代服务厂商提供的驱动程序,SP DLL即服务厂商提供的驱动程序的DLL文件。
[0045] 在具体实施时,通过XFS配置注册表中查找对应的SP DLL后,将加载该SP DLL。
[0046] S300、根据查找结果,匹配与所述SP DLL对应的外部认证接口;比如所述外部认证接口可以为WFM Get Auth Type接口。
[0047] S400、调用所述外部认证接口,获取SP认证版本,SP认证版本即SP支持的外部认证版本。
[0048] 优选在S400之后还包括:判断所述SP认证版本与控件认证版本是否相同,若是则执行下一步;或者遍历控件认证版本库,判断SP认证版本是否与其中的一个控件认证版本相同,若是则执行下一步。外部认证控件会根据自身控件支持的认证方式类别,和厂商SP接口(WFM Get Auth Type)获取的SP支持的外部认证版本做比较,看看是否支持对应的验证的方式,如果不支持则返回认证失败。如果没有获取SP支持的外部认证版本,则直接返回失败。
[0049] 在具体实施时,比较SP认证版本与控件认证版本之后,将根据安全规则判断是否继续下一步,若安全规则判断为否,则返回失败,若是方才进行下一步。
[0050] S500、根据所述SP认证版本的版本信息获取预先配置的算法及密钥,并调用随机数生成接口产生随机数。
[0051] 优选所述随机数生成接口为WFM Generate Rand接口,该随机数用于产生外部认证信息,随机数的长度由安全规则进行设定,比如16字节。
[0052] S600、利用所获取的算法及密钥对所述随机数进行加密,生成验证密文。
[0053] S700、调用外部认证命令接口(优选为WFM Get Auth Type)进行验证密文的外部验证,若验证通过则允许所获获取逻辑名对应的程序调用系统接口。
[0054] 进一步地,所述S700具体包括:
[0055] 中间件调用外部认证命令接口,将密文发送至SP;
[0056] SP收到外部认证命令后,将所述验证密文通过指定规则解密得到数据,并将数据与SP生成的随机数进行比较,若一致则验证通过,允许所获获取逻辑名对应的程序调用系统接口。
[0057] 本发明所提供的接口调用验证方法,通过验证密文的方式判断是否为合法程序,验证通过方才允许程序调用系统接口,降低了黑客通过植入恶意程序从自动柜员机非法盈利的概率;而且该方法所用的算法及密钥不经过接口通信,保证了算法及密钥的安全性。
[0058] 作为上述优选实施例的改进,所述根据所述SP认证版本的版本信息获取预先配置的算法及密钥,并调用随机数生成接口产生随机数的步骤替换为:
[0059] 根据所述SP认证版本的版本信息获取预先配置的密钥库及算法,并调用随机数生成接口产生随机数;
[0060] 所述根据所述SP认证版本的版本信息获取预先配置的密钥库及算法,并调用随机数生成接口产生随机数的步骤之后,所述利用所获取的算法及密钥对所述随机数进行加密,生成验证密文的步骤之前还包括:
[0061] 随机选择密钥ID及算法ID;
[0062] 所述利用所获取的算法及密钥对所述随机数进行加密,生成验证密文的步骤具体为:
[0063] 利用所选择密钥ID所对应的密钥,以及算法ID所对应的算法对所述随机数进行加密,生成验证密文。
[0064] 也就是说,本发明优选所述密钥及算法皆设置有多组,在进行验证密文的计算过程中,将随机选择一组密钥及算法,增加接口数据的复杂度,防止探测数据暴力破解。
[0065] 较佳地是,所述接口调用验证方法还包括:定期发布静态库及对应的源代码,以定期更新密钥。外部认证基于密钥及算法保证身份认证安全,定期更新密钥有助于保证整体结构安全性。采用定期发布静态库及对应源代码方式,由厂商负责实现对应验证接口。
[0066] 根据本发明地另一方面,所述接口调用验证方法还包括:接收用户操作指令,销毁已泄露的密钥。针对已泄漏的密钥采取销毁策略,在应用认证控件中根据安全策略屏蔽密钥,如控制第5版本之前密钥泄漏,需要更新到第5版本及以后的版本才能正常进行操作。
[0067] 综上所述,本发明具有以下优点:
[0068] (1)外部认证采用一次一密的方式进行认证,防止通过探测数据暴力破解;
[0069] (2)采用多组算法及密钥,随机验证,增加接口数据复杂度,防止探测数据暴力破解。
[0070] (3)通过密钥及算法验证身份,且算法及密钥不经过接口通信,保证算法及密钥安全。
[0071] (4)认证密钥及算法定期更新,密钥更新采用与生产环境不同渠道,保证密钥及算法更新安全。
[0072] (5)在可能遭受安全险时(如人员离职、密钥泄漏),将存在安全风险的设备隔离,安全风险解除后再对外服务。
[0073] (6)外部认证接口保留扩展性,后续可以加入更多的验证算法及密钥,保证安全性。
[0074] 如图2所示,本发明还提供了一种自动柜员机,其包括有存储器10,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器10中,且经配置以由一个或者一个以上处理器20执行所述一个或者一个以上程序包含用于执行如上所述的接口调用验证方法。
[0075] 本发明还提供了一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如上所述的接口调用验证方法的步骤。
[0076] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(SyNchliNk)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0077] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0078] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈