一种硬件指令调用的控制方法及系统与流程

文档序号:11251294阅读:320来源:国知局
一种硬件指令调用的控制方法及系统与流程

本发明属于金融类设备控制技术领域,尤其涉及一种硬件指令调用的控制方法及系统。



背景技术:

自助设备一般由人机界面组成,由用户根据设备提示进行操作,比如银行atm机等。自助设备的发明,大大地方便了人们的出行和服务。但一些自助设备在被使用的过程中,自助设备本身相关的产品或资料容易被公布或泄露,而造成安全问题;尤其是在自助设备中的通讯指令协议对外公布或泄漏后,容易被非法分子利用,就会使自助设备处于不利地位,例如在自助设备通讯指令协议泄漏后,非法分子可以任意控制自助设备,或者使自助设备处于故障状态,以便达到他们非法获利的目的。

现有技术采用判断指令合法性的方式来保证自助设备的安全,但这种处理方式安全性不高,并不能完全保证自助设备通讯指令不被泄漏。

因此,鉴于现有技术的不足之处,需要提出一种新的硬件指令调用的控制方法。



技术实现要素:

本发明实施例提供了一种硬件指令调用的控制方法及系统,以解决现有技术中自助设备指令调用容易被泄漏或窥探后,容易被控制而无法保证自助设备安全的问题。

本发明实施例的第一方面提供了一种硬件指令调用的控制方法,所述硬件指令调用的控制方法包括:

接收硬件指令,根据所述硬件指令获取硬件指令调用协议;

调用加密因子,根据所述加密因子和所述硬件指令调用协议确定所述硬件指令是否为合法指令;

在确定所述硬件指令为合法指令后,执行所述硬件指令。

本发明实施例的第二方面提供了一种硬件指令调用的控制系统,所述硬件指令调用的控制系统包括:

硬件指令接收单元,用于接收硬件指令,根据所述硬件指令获取硬件指令调用协议;

硬件指令合法性确定单元,用于调用加密因子,根据所述加密因子和所述硬件指令调用协议确定所述硬件指令是否为合法指令;

硬件指令执行单元,用于在确定所述硬件指令为合法指令后,执行所述硬件指令。

本发明实施例与现有技术相比存在的有益效果是:根据接收到的硬件指令获取硬件指令控制协议,通过固化在设备中的加密因子和硬件指令控制协议中来确定所述硬件指令是否为合法指令。判断硬件指令合法后再执行所述硬件指令。所述加密因子被预先固化在自助设备中不可被无权限人员随意修改,有效的防止了自助设备的硬件指令调用协议被窥探或泄露时,非法分子对自助设备的操控。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种硬件指令调用的控制方法的实现流程图;

图2是本发明实施例提供的一种硬件指令调用的控制系统的结构框图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

图1示出了本发明第一实施例提供的一种硬件指令调用的控制方法的流程图,详述如下:

步骤s11:接收硬件指令,根据所述硬件指令获取硬件指令调用协议;

自助设备从硬件到软件一般可分为硬件层、驱动层及上层软件,上层软件包括:上层业务系统、atm设备测试软件等;本实施例中首先由自助设备的驱动层接收硬件指令,并根据所接收的硬件指令获取硬件指令调用协议。

具体地,在研发自助设备功能时,制定与所述自助设备功能对应的硬件指令调用协议,以便pc机上的应用层可以通过此命令协议来控制自助设备某一个功能的动作。所述硬件指令调用协议主体包含pc应用层及自助设备产品之间执行某项功能动作前后所需要知道的各种信息。例如存取款机有取款功能,则相应的硬件指令调用协议中需要有各钞箱纸币数量、取款纸币数量、取款金额、取款前后设备状态信息、取款是否成功等必须信息,这些信息根据自助设备不同的功能内容也不同,并且需要在研发初期根据自助设备确定的功能制定所述硬件指令调用协议;所述硬件指令调用协议中还包含虚拟指令控制码,上述pc应用层及自助设备产品之间执行某项功能动作前后所需要知道的各种信息和所述虚拟指令控制码可以统称为硬件指令调用协议的协议数据。

步骤12:调用加密因子,根据所述加密因子和所述硬件指令调用协议确定所述硬件指令是否为合法指令;

该步骤中,在自助设备获取到所述硬件指令调用协议后调用预先保存在自助设备内部的加密因子,通过所述加密因子和所述硬件指令调用协议来判断所述硬件指令是否为合法指令。其中,所述加密因子包括一个类似密码功能的控制数据,大小和长度可以根据实际需要任意设置,并保存在设备内部。所述虚拟指令控制码可通过所述加密因子及固化在设备中的指令控制码反推得到。

优选地,所述调用加密因子,根据所述加密因子和所述硬件指令调用协议确定所述硬件指令是否为合法指令,具体包括:

通过所述加密因子和所述硬件指令调用协议中的虚拟指令控制码确定运算控制码;

根据所述运算控制码初步判断所述硬件指令的合法性;

在初步判断出所述硬件指令为合法指令后,进一步通过所述硬件指令调用协议中的协议数据校验字段校验所述硬件指令是否为合法指令。

优选地,所述根据所述运算控制码初步判断所述硬件指令的合法性,具体包括:

调用预先固化在硬件设备中的指令控制码;

匹配所述指令控制码和所述运算控制码,在二者相等时,初步判定所述硬件指令为合法指令,否则,判定所述硬件指令为非法指令。

具体地,在获取到所述硬件指令调用协议后,调用加密因子,将所述加密因子与所述硬件指令协议中的虚拟指令控制码进行运算,得到运算控制码。然后调用预先固化在设备中的指令控制码,将所述指令控制码与运行得到的运算控制码进行比对,初步判断所述硬件指令的合法性;若所述运算控制码和所述指令控制码相同,则初步判定所述硬件指令为合法指令;否则,直接判定所述硬件指令不合法,结束所述硬件指令的执行。进一步地,在制定所述硬件指令调用协议时预留一个或多个字段作为虚拟指令控制码,预留多于一个字段作为虚拟指令控制码以便于对虚拟指令控制码的扩展或提高自助设备加密的安全性。进一步地,根据自助设备功能需要,在研发阶段设计制定好相应的指令控制码,且出厂就固化在设备内部不可改变,不同指令控制码代表自助设备不同的功能控制。

例如:根据存取款一体机功能需要,在设计时就制定这样的指令控制码:01(初始化设备)、02(配置存取款参数)、03(执行存款)、04(执行取款)、05(打开钞门)、06(关闭钞门),并将上述指令控制码固化在存取款一体机中。

在制定所述硬件指令调用协议时,在硬件指令调用协议中最末尾增加协议数据校验字段,可以使用循环冗余校验码(cyclicredundancycheck,crc),在此不做限定;在硬件指令调用协议中最末尾增加协议数据校验字段,可以保证协议数据的完整性和正确性。在初步判定所述硬件指令为合法指令后,利用所述硬件指令调用协议中最末尾增加协议数据校验字段对接收到的完整的硬件指令进行校验,进一步确定所述硬件指令的合法性。在进行校验时,可以使用相同的crc校验算法对所述硬件指令中数据进行校验,若校验匹配,则认为所述硬件指令为指令合法。

步骤13,在确定所述硬件指令为合法指令后,执行所述硬件指令。

优选地,所述在确定所述硬件指令为合法指令后,执行所述硬件指令,具体包括:

在确定所述硬件指令为合法指令后,调用预先根据所述指令控制码制定的执行顺序状态机,所述执行顺序状态机包括所述指令控制码执行的先后顺序的描述信息;

在所述硬件指令之前的指令执行顺序与所述执行顺序状态机定义的执行顺序一致时,执行所述硬件指令。

具体地,若判定出所述硬件指令为合法指令,则调用在自助设备功能设计时根据所述指令控制码制定并固化在自助设备中的执行顺序状态机。其中,所述执行顺序状态机包括自助设备某个功能执行时,所述指令控制码执行的先后顺序。例如对于指令控制码分别为:01(初始化设备)、02(配置存取款参数)、03(执行存款)、04(执行取款)、05(打开钞门)、06(关闭钞门)的取款一体机自助设备,制定存款时的执行顺序状态机:02(配置存取款参数)->05(打开钞门)->(客户放钞)->06(关闭钞门)->03(执行存款);取款时的执行顺序状态机:02(配置存取款参数)->04(执行取款)->05(打开钞门)->(客户取走钞票)->06(关闭钞门);在取款一体机自助设备故障时只能执行01(初始化设备)。若果用户要想存款或取款,只能依次按照所述执行顺序状态机定义的相应指令控制码进行。

查询并判断调用此硬件指令之前的指令执行顺序是否与所述执行顺序状态机定义的执行顺序一致,在二者一致时执行所述硬件指令;否则返回错误,不再执行所述硬件指令。利用固化在自助设备中的顺序执行状态机对所述硬件指令以及此前的指令的执行顺序进行判断,可以在一定程度上避免非法分子破解某一个指令后就可以一直调用此指令的问题。

可选地,在所述确定所述硬件指令为合法指令后,执行所述硬件指令之后,还包括:

在所述硬件指令调用协议出现异常时,修改所述加密因子和所述硬件指令调用协议中的虚拟指令控制码。

该步骤中,若发送的硬件指令中包含数据被非法人员使用监控仪器进行监控并完全破解自助设备的硬件指令调用协议,自助设备设置方可以修改自助设备中的加密因子和虚拟指令控制码,并将修改后的加密因子和虚拟指令控制码固化在设备中。修改加密因子和虚拟指令控制码后,即使原先的硬件指令调用协议被窥探,非法人员也不能利用修改前的加密因子和虚拟指令控制码计算出与固化在自助设备中的指令控制码相同的运算控制码,在计算出的运算控制码和指令控制码不同时,系统判定硬件指令为非法指令,进而可以终止硬件指令的执行。

本发明第一实施例中,由于指令控制码在自助设备出厂时就固化在自助设备,因此可以避免其被非法更改。其次,在本发明实施例中,只有在硬件指令及此前的指令的执行顺序与固化在设备中的执行顺序状态机定义的执行顺序一致时才执行硬件指令,从而保障了自助设备的安全。并且,由于执行顺序状态机是预先固化在自助设备中,因此避免了被非法人员修改。再者,在对硬件指令的合法性进行初步判断时,使用了由加密因子和虚拟指令控制码运算得到的运算控制码,在所述运行控制码与指令控制码不相同时即判定硬件指令非法,因此,即使硬件指令调用协议被窥探或泄漏,设置方也可以通过修改加密因子和虚拟指令控制码,使非法分子不能根据修改前的加密因子和虚拟指令控制码得到正确的运算控制码,从而保障自助设备的安全性。在上述过程中无需增加任何额外的硬件外设或资源,从而节约了成本,也提高了自助设备的安全性。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

实施例二:

对应于上文实施例所述的一种硬件指令调用的控制方法,图2示出了本发明实施例提供的一种硬件指令调用的控制系统的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。

参照图2,该硬件指令调用的控制系统包括:硬件指令接收单元21,硬件指令合法性确定单元22,硬件指令执行单元23,其中:

硬件指令接收单元21,用于接收硬件指令,根据所述硬件指令获取硬件指令调用协议;

自助设备从硬件到软件一般可分为硬件层、驱动层及上层软件,上层软件包括:上层业务系统、atm设备测试软件等;本实施例中首先由自助设备的驱动层接收硬件指令,并根据所接收的硬件指令获取硬件指令调用协议。

具体地,在研发自助设备功能时,制定与所述自助设备功能对应的硬件指令调用协议,以便pc机上的应用层可以通过此命令协议来控制自助设备某一个功能的动作。所述硬件指令调用协议主体包含pc应用层及自助设备产品之间执行某项功能动作前后所需要知道的各种信息。例如存取款机有取款功能,则相应的硬件指令调用协议中需要有各钞箱纸币数量、取款纸币数量、取款金额、取款前后设备状态信息、取款是否成功等必须信息,这些信息根据自助设备不同的功能内容也不同,并且需要在研发初期根据自助设备确定的功能制定所述硬件指令调用协议;所述硬件指令调用协议中还包含虚拟指令控制码,上述pc应用层及自助设备产品之间执行某项功能动作前后所需要知道的各种信息和所述虚拟指令控制码可以统称为硬件指令调用协议的协议数据。

硬件指令合法性确定单元22,用于调用加密因子,根据所述加密因子和所述硬件指令调用协议确定所述硬件指令是否为合法指令;

具体地,在自助设备获取到所述硬件指令调用协议后调用预先保存在自助设备内部的加密因子,通过所述加密因子和所述硬件指令调用协议来判断所述硬件指令是否为合法指令。其中,所述加密因子包括一个类似密码功能的控制数据,大小和长度可以根据实际需要任意设置,并保存在设备内部。所述虚拟指令控制码可通过所述加密因子及固化在设备中的指令控制码反推得到。

优选地,所述硬件指令合法性确定单元,具体包括:

运算控制码确定模块,用于通过所述加密因子和所述硬件指令调用协议中的虚拟指令控制码确定运算控制码;

初步判断模块,用于根据所述运算控制码初步判断所述硬件指令的合法性;

二次判断模块,用于在初步判断出所述硬件指令为合法指令后,进一步通过所述硬件指令调用协议中的协议数据校验字段校验所述硬件指令是否为合法指令。

优选地,所述初次判断模块,具体包括:

指令控制码调用模块,用于调用预先固化在硬件设备中的指令控制码;

指令控制码匹配模块,用于匹配所述指令控制码和所述运算控制码,在二者相等时,初步判定所述硬件指令为合法指令,否则,判定所述硬件指令为非法指令。

具体地,在获取到所述硬件指令调用协议后,调用加密因子,将所述加密因子与所述硬件指令协议中的虚拟指令控制码进行运算,得到运算控制码。然后调用预先固化在设备中的指令控制码,将所述指令控制码与运行得到的运算控制码进行比对,初步判断所述硬件指令的合法性;若所述运算控制码和所述指令控制码相同,则初步判定所述硬件指令为合法指令;否则,直接判定所述硬件指令不合法,结束所述硬件指令的执行。进一步地,在制定所述硬件指令调用协议时预留一个或多个字段作为虚拟指令控制码,预留多于一个字段作为虚拟指令控制码以便于对虚拟指令控制码的扩展或提高自助设备加密的安全性。进一步地,根据自助设备功能需要,在研发阶段设计制定好相应的指令控制码,且出厂就固化在设备内部不可改变,不同指令控制码代表自助设备不同的功能控制。

在制定所述硬件指令调用协议时,在硬件指令调用协议中最末尾增加协议数据校验字段,可以使用循环冗余校验码(cyclicredundancycheck,crc),在此不做限定;在硬件指令调用协议中最末尾增加协议数据校验字段,可以保证协议数据的完整性和正确性。在初步判定所述硬件指令为合法指令后,利用所述硬件指令调用协议中最末尾增加协议数据校验字段对接收到的完整的硬件指令进行校验,进一步确定所述硬件指令的合法性。在进行校验时,可以使用相同的crc校验算法对所述硬件指令中数据进行校验,若校验匹配,则认为所述硬件指令为指令合法。

硬件指令执行单元23,用用于在确定所述硬件指令为合法指令后,执行所述硬件指令。

优选地,所述硬件指令执行单元,具体包括:

执行顺序状态机调用模块,用于在确定所述硬件指令为合法指令后,调用预先根据所述指令控制码制定的执行顺序状态机,所述执行顺序状态机包括所述指令控制码执行的先后顺序的描述信息;

硬件指令执行模块,用于在所述硬件指令之前的指令执行顺序与所述执行顺序状态机定义的执行顺序一致时,执行所述硬件指令。

具体地,若判定出所述硬件指令为合法指令,则调用在自助设备功能设计时根据所述指令控制码制定并固化在自助设备中的执行顺序状态机。其中,所述执行顺序状态机包括自助设备某个功能执行时,所述指令控制码执行的先后顺序。查询并判断调用此硬件指令之前的指令执行顺序是否与所述执行顺序状态机定义的执行顺序一致,在二者一致时执行所述硬件指令;否则返回错误,不再执行所述硬件指令。利用固化在自助设备中的顺序执行状态机对所述硬件指令以及此前的指令的执行顺序进行判断,可以在一定程度上避免非法分子破解某一个指令后就可以一直调用此指令的问题。

可选地,在所述硬件指令调用的控制系统,还包括:

修改单元,用于在所述硬件指令调用协议出现异常时,修改所述加密因子和所述硬件指令调用协议中的虚拟指令控制码。

具体地,若发送的硬件指令中包含数据被非法人员使用监控仪器进行监控并完全破解自助设备的硬件指令调用协议,自助设备设置方可以修改自助设备中的加密因子和虚拟指令控制码,并将修改后的加密因子和虚拟指令控制码固化在设备中。修改加密因子和虚拟指令控制码后,即使原先的硬件指令调用协议被窥探,非法人员也不能利用修改前的加密因子和虚拟指令控制码计算出与固化在自助设备中的指令控制码相同的运算控制码,在计算出的运算控制码和指令控制码不同时,系统判定硬件指令为非法指令,进而可以终止硬件指令的执行。

本发明第二实施例中,由于指令控制码在自助设备出厂时就固化在自助设备,因此可以避免其被非法更改。其次,在本发明实施例中,只有在硬件指令及此前的指令的执行顺序与固化在设备中的执行顺序状态机定义的执行顺序一致时才执行硬件指令,从而保障了自助设备的安全。并且,由于执行顺序状态机是预先固化在自助设备中,因此避免了被非法人员修改。再者,在对硬件指令的合法性进行初步判断时,使用了由加密因子和虚拟指令控制码运算得到的运算控制码,在所述运行控制码与指令控制码不相同时即判定硬件指令非法,因此,即使硬件指令调用协议被窥探或泄漏,设置方也可以通过修改加密因子和虚拟指令控制码,使非法分子不能根据修改前的加密因子和虚拟指令控制码得到正确的运算控制码,从而保障自助设备的安全性。在上述过程中无需增加任何额外的硬件外设或资源,从而节约了成本,也提高了自助设备的安全性。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的工作过程,参考前述方法实施例中的对应过程,不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1