一种用于终端设备的防固件被复制方法以及系统与流程

文档序号:23305996发布日期:2020-12-15 11:36阅读:114来源:国知局
一种用于终端设备的防固件被复制方法以及系统与流程

本发明实施例涉及终端设备,具体涉及一种用于终端设备的防固件被复制方法以及系统。



背景技术:

随着信用卡的日益普及,pos机等终端设备也成为诸多商家的必备装备。然后却有不法分子为谋取不法利益,在购买正规厂商的pos机之后进行仿冒,仿冒的关键在于对存储pos机固件的flash存储器的非法复制。在进行固件非法复制时,可以通过烧录器或读写器读取flash存储器中的pos机固件(即“驱动程序”)并将其烧录到其他flash存储器上,导致flash存储器的安全性比较低,存在被大量拷贝并安装在其他pos机上进行仿制的风险。

现有技术中对pos机固件的flash存储器的保护机制,要么需要繁琐的联网绑定,要么需要校验flash存储数据而影响开机速度。

针对上述问题,本发明需要提供一种用于终端设备的防固件被复制方法以及系统,可提高flash存储器的安全性,并避免flash存储器中的固件被非法批量复制后用于仿制终端设备。



技术实现要素:

为了解决现有技术存在的问题,本发明的至少一个实施例提供了一种用于终端设备的防固件被复制方法以及系统。

第一方面,本发明实施例提出一种用于终端设备的防固件被复制方法,其包括以下步骤:

(a).针对用于存储终端设备固件的flash存储器生成第一预设随机数,并将所述第一预设随机数存储至所述flash存储器的预设位置;

(b).将所述flash存储器安装在所述终端设备中,开启具有微处理器的所述终端设备,读取所述flash存储器在所述预设位置的数据;

(c).判断所读取的数据是否为所述第一预设随机数,若是则继续步骤(d),若否则停止对所述flash存储器的读写;

(d).读取所述微处理器的微处理器标识码,针对所述flash存储器对应生成第二随机数,将所述第二随机数作为密钥、通过预设加密算法对所述微处理器标识码进行加密,并将由经加密的微处理器标识码与所述第二随机数组成的校验信息存储至所述flash存储器的预设位置;

(e).在每次开启安装有所述flash存储器的当前终端设备时,读取当前终端设备的当前微处理器标识码以及存储在所述flash存储器的预设位置的所述校验信息;

(f).通过所述校验信息中的所述第二随机数对所述校验信息中的微处理器标识码进行解密,判断经解密所得的微处理器标识码与当前微处理器标识码是否一致,若是则继续读写所述flash存储器中的其他数据,若否则停止对所述flash存储器的读写。

在一些实施例中,所述第一预设随机数与由经加密的微处理器标识码与所述第二随机数组成的校验信息具有相同的字节数量。

在一些实施例中,所述预设加密算法包括高级加密标准aes。

在一些实施例中,所述终端设备包括pos机,所述flash存储器包括nandflash存储器和norflash存储器。

在一些实施例中,所述步骤(a)至(d)在所述终端设备出厂之前进行,所述步骤(d)至(f)在所述终端设备出厂之后进行。

第二方面,本发明实施例还提供一种用于终端设备的防固件被复制系统,其包括:

第一读写模块,其用于针对存储终端设备固件的flash存储器生成第一预设随机数,并用于将所述第一预设随机数存储至所述flash存储器的预设位置,所述第一读写模块还在开启安装有所述flash存储器的终端设备之后,读取所述flash存储器在所述预设位置的数据;

第一判断模块,其用于判断所述第一读写模块所读取的数据是否为所述第一预设随机数,若是则发送第一触发信号,若否则停止对所述flash存储器的读写;

第二读写模块,其用于在接收到所述第一触发信号时读取所述终端设备的微处理器标识码,并针对所述终端设备对应生成第二随机数,还将所述第二随机数作为密钥、通过预设加密算法将所读取的所述微处理器标识码进行加密,并将由经加密的微处理器标识码与所述第二随机数组成的校验信息存储至所述flash存储器的预设位置;

读取模块,其在每次开启安装有所述flash存储器的当前终端设备时,读取当前终端设备的当前微处理器标识码以及存储在所述flash存储器的预设位置的所述校验信息;以及

第二判断模块,其使用所述读取模块读取的所述校验信息中的第二随机数对所述校验信息中的微处理器标识码进行解密,判断经解密所得的微处理器标识码与所读取的当前微处理器标识码是否一致,若是则继续读写所述flash存储器中的其他数据,若否则停止对所述flash存储器的读写。

在一些实施例中,所述第一预设随机数与由经加密的微处理器标识码与所述第二随机数组成的校验信息具有相同的字节数量。

在一些实施例中,所述预设加密算法包括高级加密标准aes。

在一些实施例中,所述终端设备包括pos机。

在一些实施例中,所述flash存储器包括nandflash和norflash。

在一些实施例中,所述第一读写模块、第一判断模块、第二读写模块用于所述终端设备出厂之前,所述读取模块以及所述第二判断模块用于所述终端设备出厂之后。

与现有技术中要么需要联网绑定,要么需要校验flash存储数据来保护存储固件的flash存储器相比,本发明实施例首先针对用于存储终端设备固件的flash存储器生成第一预设随机数,并将所述第一预设随机数存储至所述flash存储器的预设位置;然后将所述flash存储器安装在所述终端设备中并开启所述终端设备,读取所述flash存储器在所述预设位置的数据;接着判断所读取的数据是否为所述第一预设随机数,若否则停止对所述flash存储器的读写,若是则读取所述微处理器的微处理器标识码,并针对所述终端设备对应生成第二随机数,将第二随机数作为密钥、通过预设加密算法对所述微处理器标识码进行加密,并将由经加密的微处理器标识码与所述第二随机数组成的校验信息存储至所述flash存储器的预设位置;之后在每次开启安装有所述flash存储器的当前终端设备时,读取当前终端设备的当前微处理器标识码以及存储在所述flash存储器的预设位置的所述校验信息;接着通过所述校验信息中的所述第二随机数对所述校验信息中的微处理器标识码进行解密,判断经解密所得的微处理器标识码与当前微处理器标识码是否一致,若是则继续读写所述flash存储器中的其他数据,若否则停止对所述flash存储器的读写。

本发明实施例可提高flash存储器的安全性,避免flash存储器中的固件被非法批量复制后用于仿制终端设备。

附图说明

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

图1为本发明实施例提供的一种用于终端设备的防固件被复制系统的组成结构示意图;

图2为本发明实施例提供的一种用于终端设备的防固件被复制方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

图1为本发明实施例提供的一种用于终端设备3的防固件被复制系统1的组成结构示意图。参见图1,防固件被复制系统1用于防止存储有终端设备3的固件的flash存储器2被复制,所述系统1包括第一读写模块10、第一判断模块12、第二读写模块14、读取模块16以及第二判断模块18。所述终端设备3包括pos机等。所述flash存储器2包括nandflash和norflash。以下对所述系统1的各构件进行详细说明。

第一读写模块10用于针对存储所述固件的flash存储器2生成第一预设随机数,并用于将所述第一预设随机数存储至所述flash存储器2的预设位置。第一读写模块10可通过随机数生成函数或相应程序生成所述第一预设随机数。所述第一读写模块10还在开启安装有所述flash存储器2的终端设备3之后,读取所述flash存储器2在所述预设位置的数据。

需说明的是,存储在所述预设位置的第一预设随机数可用于标识终端设置3的第一次开机,在第一次开机后第一读写模块10应能在flash存储器2的预设位置读取到第一预设随机数。

第一判断模块12用于判断所述第一读写模块10所读取的数据是否为所述第一预设随机数,若是则发送第一触发信号,若否则停止对所述flash存储器2的读写。

第二读写模块14用于在接收到所述第一触发信号时读取所述终端设备3的微处理器标识码,并针对所述终端设备3对应生成第二随机数,还将所述第二随机数作为密钥、通过预设加密算法将所读取的所述微处理器标识码进行加密,并将由经加密的微处理器标识码与所述第二随机数组成的校验信息存储至所述flash存储器2的预设位置。所述第一预设随机数与由经加密的微处理器标识码与所述第二随机数组成的校验信息具有相同的字节数量,每个终端设备3对应的第二随机数各不相同。所述预设加密算法为对称加密算法。在本实施例中,所述预设加密算法为高级加密标准aes。

读取模块16在每次开启安装有所述flash存储器2的当前终端设备3”之后,读取当前终端设备3”的当前微处理器30”的当前微处理器标识码以及存储在所述flash存储器2的预设位置的所述校验信息。

需说明的是,存储在所述预设位置的所述校验信息可用于标识终端设备3是正规厂商生产的,因所述校验信息中的微处理器标识码为正规厂商生产的终端设备3的微处理器标识码。

第二判断模块18使用所述读取模块16读取的所述校验信息中的第二随机数(即密钥)对所述校验信息中的微处理器标识码进行解密,判断经解密所得的微处理器标识码与所读取的当前微处理器标识码是否一致,若是则继续读写所述flash存储器2中的其他数据,若否则停止对所述flash存储器2的读写。

所述第一读写模块10、第一判断模块12、第二读写模块14用于所述终端设备3出厂之前,所述读取模块16以及所述第二判断模块18用于所述终端设备3出厂之后。

终端设备3出厂后,其上安装的flash存储器2在其预设位置存储有能校验微处理器属于正规厂商终端设备3的校验信息,当不法分子将flash存储器2从对应的卡槽拔出,然后插置到非正规厂商制造的当前存储设备3”之中开机运行时,读取模块12会读取当前终端设备3”的当前微处理器标识码以及存储在所述flash存储器2的预设位置的所述校验信息,第二判断模块18使用所读取的所述校验信息中的第二随机数对所述校验信息中的微处理器标识码进行解密,因当前终端设备3”并非正规厂商的终端设备3,第二判断模块18会判断出经解密所得的微处理器标识码与所读取的当前微处理器标识码不一致,此时则停止对所述flash存储器2进行读写。

而当所述flash存储器2按出厂状态安装在正规厂商的终端设备3上时,第二判断模块18会判断出经解密所得的微处理器标识码与所读取的当前微处理器标识码一致,此时则继续读写所述flash存储器2中除预设位置之外的其他数据,但不得对存储在预设位置的校验信息进行覆盖写入。

参见图2,结合参见图1,图2显示了本发明实施例的一种用于终端设备的防固件被复制方法的流程示意图。如图2所示,防固件被复制方法20首先进行步骤s200,针对用于存储终端设备固件的flash存储器2生成第一预设随机数。在本实施例中,所述终端设备3包括pos机,所述flash存储器2包括nandflash存储器和norflash存储器。

所述方法20继续进行步骤s210,将所述第一预设随机数存储至所述flash存储器2的预设位置。在本实施例中,所述第一预设随机数可用于标识终端设置3的第一次开机,在第一次开机后应能在flash存储器2的预设位置的读取到第一预设随机数。

所述方法20继续进行步骤s220,将所述flash存储器2安装在所述终端设备3中,开启具有微处理器30的所述终端设备3,读取所述flash存储器2在所述预设位置的数据。

所述方法20继续进行步骤s230,判断所读取的数据是否为所述第一预设随机数,若是则继续步骤s240,若否则停止对所述flash存储器2的读写(步骤s250)。在本实施例中,所述第一预设随机数为4字节(32位)或8字节(64位)或flash存储器存储数据通常使用的基准字节。

所述方法20继续进行步骤s240,读取所述微处理器30的微处理器标识码,针对所述终端设备3对应生成第二随机数,将所述第二随机数作为密钥、通过预设加密算法对所述微处理器标识码进行加密。在本实施例中,所述预设加密算法包括高级加密标准aes。

所述方法20继续进行步骤s260,将由经加密的微处理器标识码与所述第二随机数组成的校验信息存储至所述flash存储器2的预设位置。步骤s200所生成的第一预设随机数与步骤s260中的由经加密的微处理器标识码与所述第二随机数组成的校验信息具有相同的字节数量。在本实施例中,所述微处理器标识码以及第二随机数均2字节(16位)或4字节(32位)或flash存储器存储数据通常使用的基准字节的一半。

所述方法20继续进行步骤s270,在每次开启安装有所述flash存储器2的当前终端设备3”之后,读取当前终端设备3”的当前微处理器标识码以及存储在所述flash存储器2的预设位置的所述校验信息。在本实施例中,存储在所述预设位置的所述校验信息可用于标识终端设备是正规厂商生产的,因所述校验信息中的微处理器标识码为正规厂商生产的终端设备3的微处理器标识码。

所述方法20继续进行步骤s280,通过所述校验信息中的所述第二随机数对所述校验信息中的微处理器标识码进行解密。

所述方法20继续进行步骤s290,判断经解密所得的微处理器标识码与当前微处理器标识码是否一致,若是则继续读写所述flash存储器2中的其他数据(步骤s300),若否则停止对所述flash存储器2的读写(步骤s310)。

需说明的是,所述方法20的上述步骤s200至步骤s260可在所述终端设备3出厂之前进行,所述方法20的上述步骤s270至步骤s310可在所述终端设备3出厂之后进行。

本发明实施例首先针对用于存储终端设备固件的flash存储器生成第一预设随机数,并将所述第一预设随机数存储至所述flash存储器的预设位置;然后将所述flash存储器安装在所述终端设备中并开启所述终端设备,读取所述flash存储器在所述预设位置的数据;接着判断所读取的数据是否为所述第一预设随机数,若否则停止对所述flash存储器的读写,若是则读取所述微处理器的微处理器标识码,并针对所述终端设备对应生成第二随机数,将第二随机数作为密钥、通过预设加密算法对所述微处理器标识码进行加密,并将由经加密的微处理器标识码与所述第二随机数组成的校验信息存储至所述flash存储器的预设位置;然后在每次开启安装有所述flash存储器的当前终端设备时,读取当前终端设备的当前微处理器标识码以及存储在所述flash存储器的预设位置的所述校验信息;接着通过所述校验信息中的所述第二随机数对所述校验信息中的微处理器标识码进行解密,判断经解密所得的微处理器标识码与当前微处理器标识码是否一致,若是则继续读写所述flash存储器中的其他数据,若否则停止对所述flash存储器的读写。

本发明实施例可提高flash存储器的安全性,避免flash存储器中的固件被非法批量复制后用于仿制终端设备。

可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspdevice,dspd)、可编程逻辑设备(pld)、现场可编程门阵列(fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。

对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。

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

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。

虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

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