1.本技术属于信息安全技术领域,尤其涉及一种镜像包文件验证方法、装置、设备及计算机存储介质。
背景技术:2.随着电子设备的普及,各种各样的软件也越来越多,其中,嵌入式软件的应用也越来越广泛。
3.通常,在需要安装嵌入式软件时,芯片厂商会将嵌入式软件源码编译后,制作成镜像包文件,然后通过专用的下载工具将嵌入式软件的镜像包文件拷贝到电子设备的存储芯片中。但是,由于存储芯片没有被加密,因此,可以被特殊工具直接读取整个存储芯片内的数据,再写入其他相同型号、相同容量的存储芯片中,从而在未被授权的设备中正常使用非法拷贝来的镜像包文件。
4.由于现有技术中无法验证设备的存储芯片中存储的镜像包文件是否为合法拷贝,因此,镜像包文件容易被未被授权的设备非法使用。
技术实现要素:5.本技术实施例提供一种镜像包文件验证方法、装置、设备及计算机存储介质,能够至少解决现有技术中因无法验证设备的存储芯片中存储的镜像包文件是否为合法拷贝,而导致的镜像包文件容易被未被授权的设备非法使用的问题。
6.第一方面,本技术实施例提供一种镜像包文件验证方法,该方法包括:
7.在包括第二设备密钥值和预设加密算法的镜像包文件拷贝到待验证的第一设备中的存储芯片之后,在第一设备断电重启的过程中,获取第一设备标识,并从存储芯片中读取预设加密算法,第二设备密钥值是基于预设加密算法对第二设备的第二设备标识进行加密得到的,第二设备为被授权使用镜像包文件的设备,第二设备为被授权使用镜像包文件的设备,第一设备标识为第一设备的唯一标识,第二设备标识为第二设备的唯一标识;
8.根据第一设备标识和预设加密算法,生成第一设备密钥值;
9.从存储芯片中读取第二设备密钥值;
10.在第一设备密钥值和第二设备密钥值匹配的情况下,确定镜像包文件为合法拷贝到第一设备中的存储芯片中。
11.第二方面,本技术实施例提供了一种镜像包文件验证装置,该装置包括:
12.获取模块,用于在包括第二设备密钥值和预设加密算法的镜像包文件拷贝到待验证的第一设备中的存储芯片之后,在第一设备断电重启的过程中,获取第一设备标识,并从存储芯片中读取所述预设加密算法,第二设备密钥值是基于预设加密算法对第二设备的第二设备标识进行加密得到的,第二设备为被授权使用镜像包文件的设备,第二设备为被授权使用镜像包文件的设备,第一设备标识为第一设备的唯一标识,第二设备标识为第二设备的唯一标识;
13.生成模块,用于根据第一设备标识和预设加密算法,生成第一设备密钥值;
14.读取模块,用于从所述存储芯片中读取所述第二设备密钥值
15.合法确定模块,用于在第一设备密钥值和第二设备密钥值匹配的情况下,确定镜像包文件为合法拷贝到第一设备中的存储芯片中。
16.第三方面,本技术实施例提供了一种电子设备,设备包括:处理器以及存储有计算机程序指令的存储器;
17.处理器执行计算机程序指令时实现如第一方面的任一项实施例中所示的镜像包文件验证方法。
18.第四方面,本技术实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面的任一项实施例中所示的镜像包文件验证方法。
19.本技术实施例的镜像包文件验证方法、装置、设备及计算机存储介质,通过在包括第二设备密钥值和预设加密算法的镜像包文件拷贝到待验证的第一设备中的存储芯片之后,在第一设备断电重启的过程中,获取第一设备标识,并从存储芯片中读取预设加密算法,然后根据第一设备标识和预设加密算法,生成第一设备密钥值,再从存储芯片中读取第二设备密钥值,可以判断第一设备密钥值和第二设备密钥值是否匹配。由于,如果镜像包文件是非法拷贝到第一设备中的存储芯片中,那么该第一设备的标识,也即第一设备标识,与被授权使用镜像包文件的第二设备的第二设备标识是不同的,根据第一设备标识和预设加密算法,生成的第一设备密钥值与基于预设加密算法对第二设备标识进行加密得到的第二设备密钥值也就不匹配;如果镜像包文件是合法拷贝到第一设备中的存储芯片中,那么该第一设备和第二设备为同一台设备,第一设备标识和第二设备标识也就是同一标识,根据第一设备标识和预设加密算法,生成的第一设备密钥值与基于预设加密算法对第二设备标识进行加密得到的第二设备密钥值也就是匹配的,因此,可以基于第一设备密钥值和第二设备密钥值是否匹配,来验证镜像包文件是否为合法拷贝到第一设备中的存储芯片中的,从而便于防止镜像包文件被未被授权的设备非法使用。
附图说明
20.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1是根据一示例性实施例示出的一种镜像包文件验证方法的流程图;
22.图2是根据一示例性实施例示出的另一种镜像包文件验证方法的流程图;
23.图3是根据一示例性实施例示出的又一种镜像包文件验证方法的流程图;
24.图4是根据一示例性实施例示出的一种镜像包文件验证方法应用场景的示意图;
25.图5是根据一示例性实施例示出的一种镜像包文件验证装置的结构示意图;
26.图6是根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
27.下面将详细描述本技术的各个方面的特征和示例性实施例,为了使本技术的目
的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本技术进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本技术,而不是限定本技术。对于本领域技术人员来说,本技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本技术的示例来提供对本技术更好的理解。
28.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
29.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的镜像包文件验证方法、装置、电子设备及计算机存储介质进行详细地说明。
30.本技术所提供的镜像包文件验证方法,可应用于在镜像包文件拷贝到电子设备中的存储芯片之后,断电重启该电子设备的场景中。
31.基于上述应用场景,用户可以在镜像包文件烧录到电子设备中的存储芯片之后,断电重启该电子设备,电子设备启动成功后便可以使用该镜像包文件。
32.由于,在镜像包文件被烧录到被授权使用的电子设备的存储芯片中之后,特殊flash工具可以通过直接读取整个存储芯片内的数据,将镜像包文件拷贝到与被授权使用的电子设备中的存储芯片相同型号、相同容量的其他存储芯片中,从而使得该镜像包文件可以被拷贝到未被授权的电子设备的存储芯片中非法使用。
33.为了解决上述问题,本技术实施例提供了一种镜像包文件验证方法,也即,在包括第二设备密钥值和预设加密算法的镜像包文件拷贝到待验证的第一设备中的存储芯片之后,在第一设备断电重启的过程中,获取第一设备标识,并从存储芯片中读取预设加密算法;根据第一设备标识和预设加密算法,生成第一设备密钥值;从存储芯片中读取第二设备密钥值;在第一设备密钥值和第二设备密钥值匹配的情况下,确定镜像包文件为合法拷贝到第一设备中的存储芯片中。这里,第二设备密钥值是基于预设加密算法对第二设备的第二设备标识进行加密得到的,第二设备为被授权使用镜像包文件的设备,第一设备标识为第一设备的唯一标识,第二设备标识为第二设备的唯一标识。
34.这样,通过在包括第二设备密钥值和预设加密算法的镜像包文件拷贝到待验证的第一设备中的存储芯片之后,在第一设备断电重启的过程中,获取第一设备标识,并从存储芯片中读取预设加密算法,然后根据第一设备标识和预设加密算法,生成第一设备密钥值,再从存储芯片中读取第二设备密钥值,可以判断第一设备密钥值和第二设备密钥值是否匹配。由于,如果镜像包文件是非法拷贝到第一设备中的存储芯片中,那么该第一设备的标识,也即第一设备标识,与被授权使用镜像包文件的第二设备的第二设备标识是不同的,根据第一设备标识和预设加密算法,生成的第一设备密钥值与基于预设加密算法对第二设备标识进行加密得到的第二设备密钥值也就不匹配;如果镜像包文件是合法拷贝到第一设备中的存储芯片中,那么该第一设备和第二设备为同一台设备,第一设备标识和第二设备标识也就是同一标识,根据第一设备标识和预设加密算法,生成的第一设备密钥值与基于预
设加密算法对第二设备标识进行加密得到的第二设备密钥值也就是匹配的,因此,可以基于第一设备密钥值和第二设备密钥值是否匹配,来验证镜像包文件是否为合法拷贝到第一设备中的存储芯片中的,从而便于防止镜像包文件被未被授权的设备非法使用。
35.根据上述应用场景,下面结合图1-图4对本技术实施例提供的镜像包文件验证方法进行详细说明。需要说明的是,本技术实施例提供的镜像包文件验证方法,执行主体可以为镜像包文件验证系统中的镜像包文件验证模块。本技术实施例中以镜像包文件验证模块执行镜像包文件验证方法为例,说明本技术实施例提供的镜像包文件验证方法。
36.图1示出了本技术一个实施例提供的一种镜像包文件验证方法的流程示意图。
37.如图1所示,该镜像包文件验证方法可以包括如下步骤:
38.首先,s110,在镜像包文件拷贝到待验证的第一设备中的存储芯片之后,在第一设备断电重启的过程中,获取第一设备标识,并从存储芯片中读取第二设备密钥值和预设加密算法;
39.其次,s120,根据第一设备标识和预设加密算法,生成第一设备密钥值;
40.再次,s130,从存储芯片中读取第二设备密钥值;
41.然后,s140,在第一设备密钥值和第二设备密钥值匹配的情况下,确定镜像包文件为合法拷贝到第一设备中的存储芯片中。
42.由此,通过在包括第二设备密钥值和预设加密算法的镜像包文件拷贝到待验证的第一设备中的存储芯片之后,在第一设备断电重启的过程中,获取第一设备标识,并从存储芯片中读取预设加密算法,然后根据第一设备标识和预设加密算法,生成第一设备密钥值,再从存储芯片中读取第二设备密钥值,可以判断第一设备密钥值和第二设备密钥值是否匹配。由于,如果镜像包文件是非法拷贝到第一设备中的存储芯片中,那么该第一设备的标识,也即第一设备标识,与被授权使用镜像包文件的第二设备的第二设备标识是不同的,根据第一设备标识和预设加密算法,生成的第一设备密钥值与基于预设加密算法对第二设备标识进行加密得到的第二设备密钥值也就不匹配;如果镜像包文件是合法拷贝到第一设备中的存储芯片中,那么该第一设备和第二设备为同一台设备,第一设备标识和第二设备标识也就是同一标识,根据第一设备标识和预设加密算法,生成的第一设备密钥值与基于预设加密算法对第二设备标识进行加密得到的第二设备密钥值也就是匹配的,因此,可以基于第一设备密钥值和第二设备密钥值是否匹配,来验证镜像包文件是否为合法拷贝到第一设备中的存储芯片中的,从而便于防止镜像包文件被未被授权的设备非法使用。
43.下面对上述步骤进行详细说明,具体如下所示:
44.首先,涉及s110,由于本技术实施例要验证第一设备的存储芯片中拷贝的镜像包文件是否为合法拷贝的,因此,可以在该镜像包文件被拷贝到第一设备中的存储芯片之后,在第一设备断电重启的过程中,对镜像包文件进行验证。
45.具体的,镜像包文件中可以包括预设加密算法和第二设备密钥值。第二设备可以为被授权使用该镜像包文件的设备,第一设备可以为待验证是否被授权使用该镜像包文件的设备。可以通过验证拷贝镜像包文件的第一设备是否为被授权使用该镜像包文件的设备,来验证该第一设备的存储芯片中拷贝的镜像包文件是否为合法拷贝的。若拷贝镜像包文件的第一设备为被授权使用该镜像包文件的设备,也即第一设备和第二设备为同一设备,则该第一设备中的镜像包文件为合法拷贝到该第一设备的存储芯片中;若该第一设备
为未被授权使用该镜像包文件的设备,也即第一设备和第二设备不是同一设备,则该第一设备中的镜像包文件为非法拷贝到该第一设备的存储芯片中。
46.这里,可以从存储芯片中读取预设加密算法,并保存到第一设备的内存中。存储芯片可以为闪存(flash)特殊存储区域。第二设备密钥值可以是基于预设加密算法对第二设备的第二设备标识进行加密得到的,具体的,在第二设备开机上电之后,上位机软件可以通过通用串行总线(universal serial bus,usb)接口读取第二设备的第二设备标识,并基于预设加密算法对该第二设备标识进行加密,生成第二设备密钥值,然后将该第二设备密钥值和预设加密算法通过上位机工具写入到存储设备的特殊分区中,也即写入到该第二设备的存储芯片中。
47.此外,第一设备标识可以为第一设备的唯一标识,第二设备标识可以为第二设备的唯一标识,每个设备的设备标识均可以是该设备独有且无法更改的标识。基于此,若第一设备标识和第二设备标识相同,则第一设备和第二设备为同一设备,若第一设备标识和第二设备标识不同,则第一设备和第二设备不是同一设备。第二设备密钥值和预设加密算法可以存储在镜像包文件中,若将镜像包文件非法拷贝到其他存储芯片,则镜像包文件中包括的第二设备密钥值和预设加密算法也会一起被拷贝,因此,如果镜像包文件被非法拷贝到其他存储芯片,那么第二设备密钥值和预设加密算法也会被拷贝到同一存储芯片中。因此,无论是否发生非法拷贝,也即无论待验证的第一设备第二设备是否与为同一设备,均可以从第一设备的存储芯片中读取到第二设备密钥值和预设加密算法。该预设加密算法可用于对第一设备标识进行加密。
48.在一种可选的实施方式中,第一设备标识和第二设备标识均可以为中央处理器cpu识别码。
49.这里,可以获取正在重启的第一设备的cpu识别码,并从存储芯片中读取第二设备的cpu识别码对应的第二设备密钥值,由于每个设备的cpu识别码都是该设备独有且无法更改的,任意两个设备的cpu识别码都不同,因此,可以通过cpu识别码确定正在重启的第一设备与第二设备是否为同一设备。
50.在一个示例中,可以获取正在重启的第一设备a的cpu识别码21304,还可以从flash特殊存储区域中读取第二设备密钥值56498,该第二设备密钥值56498是基于预设加密算法对被授权使用镜像包文件的第二设备的cpu识别码21304进行加密得到的。
51.如此,通过每个设备独有且无法更改的cpu识别码,可以更加准确地验证拷贝有镜像包文件的第一设备是否为被授权使用该镜像包文件的第二设备,也即可以更加准确地验证第一设备的存储芯片中的镜像包文件是否为非法拷贝。
52.基于此,在一种可选的实施方式中,s110具体可以包括:
53.在第一设备的系统启动加载器bootloader启动过程中,获取第一设备标识,并从存储芯片中读取预设加密算法。
54.这里,第一设备启动后,首先运行第一设备的bootloader程序,然后再加载系统程序。
55.在一个示例中,第一设备a上电开机,进入bootloader程序,在bootloader启动阶段,获取正在重启的第一设备a的cpu识别码21304,并从flash特殊存储区域中读取预设加密算法。
56.如此,在bootloader启动过程中对镜像包文件进行验证,可以在第一设备成功启动之前确定镜像包文件是否为合法拷贝到第一设备的存储芯片中,从而避免在未确定镜像包文件是否为合法拷贝之前使用该镜像包文件。
57.其次,涉及s120,第一设备密钥值可以是基于预设加密算法对第一设备标识进行加密生成的。由于需要将第二设备密钥值和第一设备密钥值进行匹配,因此第一设备密钥值需要和第二设备密钥值基于同一预设加密算法生成。
58.再次,涉及s130,由于需要将第一设备密钥值与第二设备密钥值进行匹配,因此需要从存储芯片中读取第二设备密钥值。
59.然后,涉及s140,若拷贝有镜像包文件的第一设备为被授权使用该镜像包文件的设备,则该镜像包文件为合法拷贝到该第一设备中的存储芯片中;若拷贝有镜像包文件的第一设备为未被授权使用该镜像包文件的设备,则该镜像包文件为非法拷贝到该第一设备中的存储芯片中。这里,可以通过判断第一设备密钥值和第二设备密钥值是否匹配,来验证镜像包文件是否为合法拷贝到第一设备的存储芯片中。
60.具体的,由于第二设备密钥值可以是基于预设加密算法对被授权使用镜像包文件的第二设备的第二设备标识进行加密得到的,而第一设备密钥值可以是基于预设加密算法对第一设备的第一设备标识进行加密得到的,因此,若第一设备密钥值和第二设备密钥值相匹配,则可以确定第一设备标识和第二设备标识相同,从而可以确定该第一设备和第二设备为同一设备,也即该第一设备为被授权使用镜像包文件的设备,也就可以确定该镜像包文件为合法拷贝到第一设备的存储芯片中;反之,则确定该镜像包文件为非法拷贝到第一设备的存储芯片中。
61.基于此,在一种可选的实施方式中,在s140之后,上述镜像包文件验证方法还可以包括:
62.继续启动第一设备。
63.这里,由于可以在第一设备断电重启的过程中验证镜像包文件是否为合法拷贝到第一设备的存储芯片中,因此若确定镜像包文件为合法拷贝到第一设备的存储芯片中,则可以继续启动第一设备,完成启动过程。
64.在一个示例中,确定镜像包文件b为合法拷贝到第一设备a的flash特殊存储区域中后,继续启动第一设备a,从而完全启动该第一设备a。
65.如此,可以在确定镜像包文件为合法拷贝到第一设备的存储芯片中的情况下,继续启动第一设备,从而使该第一设备可以正常使用。
66.基于上述s110-s140,在一种可能的实施例中,如图2所示,在s130之后,上述镜像包文件验证方法还可以包括:
67.s150,在第一设备密钥值和第二设备密钥值不匹配的情况下,确定镜像包文件为非法拷贝到第一设备中的存储芯片中。
68.这里,在生成第一设备密钥值后,若第一设备密钥值和第二设备密钥值不匹配,则可以确定第一设备标识和第二设备标识不同,从而可以确定该第一设备和第二设备不是同一设备,也即该第一设备为未被授权使用镜像包文件的设备,从而确定该镜像包文件为非法拷贝到第一设备的存储芯片中。
69.在一个示例中,从第一设备c的flash特殊存储区域中,读取的被授权使用镜像包
文件b的第二设备对应的第二设备密钥值为56498,而第一设备c对应的第一设备密钥值为35241,二者不相匹配,因此,第一设备和第二设备不是同一设备,也即第一设备不是被授权使用该镜像包文件b的设备,因此,可以确定该镜像包文件b为非法拷贝到第一设备c的flash特殊存储区域中。
70.如此,通过判断第一设备密钥值和第二设备密钥值是否匹配,来验证镜像包文件是否为合法拷贝到第一设备的存储芯片中,可以准确验证是否发生非法拷贝的情况。
71.基于此,在一种可选的实施方式中,在s150之后,上述镜像包文件验证方法还可以包括:
72.输出报警信息。
73.这里,若确定镜像包文件为非法拷贝到第一设备的存储芯片中,则可以输出报警信息。该报警信息可用于提示镜像包文件为非法拷贝到第一设备中的存储芯片中,该报警信息的输出方式可以包括语音输出、文字输出,还可以是其他输出方式,在此不做限定。
74.在一个示例中,在确定镜像包文件b为非法拷贝到第一设备c的flash特殊存储区域中之后,可以输出“非法拷贝镜像包文件”的文字,来提示第一设备c中非法拷贝了镜像包文件。
75.如此,可以向用户提示第一设备中非法拷贝了镜像包文件,以便用户采取相应措施移除该镜像包文件。
76.此外,在另一种可选的实施方式中,在s150之后,上述镜像包文件验证方法还可以包括:
77.重启第一设备,以阻止镜像包文件被第一设备使用。
78.这里,若确定镜像包文件为非法拷贝到第一设备的存储芯片中,可以通过重启该第一设备,来阻止该第一设备成功启动,从而可以阻止镜像包文件被该第一设备使用。由于,本技术实施例可以在第一设备断电重启的过程中,验证镜像包文件是否为合法拷贝到第一设备的存储芯片中,因此,在确定镜像包文件为合法拷贝到第一设备的存储芯片中之前,第一设备未被启动成功,无法使用该镜像包文件,而如果确定镜像包文件为非法拷贝到该第一设备的存储芯片中,则可以重启该第一设备,使该设备无法成功启动,从而无法使用该镜像包文件,如此,便可以使非法拷贝而来的镜像包文件完全无法被使用。
79.在一个示例中,在第一设备c断电重启的过程中,确定镜像包文件b为非法拷贝到第一设备c的flash特殊存储区域中,第一设备c再次被重启,无法完成启动过程。
80.如此,在确定镜像包文件为非法拷贝到第一设备中的存储芯片中之后,重启该第一设备,可以使非法拷贝而来的镜像包文件无法被该第一设备使用。
81.为了更好地描述整个方案,下面基于上述各实施例,结合图3和图4对本技术实施例提供的镜像包文件验证方法进行整体阐述。
82.图3示出了本技术实施例提供的一种镜像包文件验证方法的流程图,该镜像包文件验证方法可以应用于图4所示的镜像包文件验证场景中,其中,嵌入式设备flash区域410与上位机430通过通信接口420通信连接。
83.如图3所示,该镜像包文件验证方法可以包括如下步骤:
84.s310,第一设备开始启动。
85.这里,在将镜像包文件拷贝到嵌入式设备flash区域410,也即第一设备flash区域
后,第一设备可以断电重启。
86.s320,获取第一设备标识和预设加密算法。
87.这里,在第一设备断电重启的过程中,可以上位机430可以通过通信接口420从嵌入式设备flash区域410读取预设加密算法,并读取第一设备的第一设备标识。通信接口可以为usb接口,也可以是其他通信接口,在此不做限定。
88.s330,生成第一设备密钥值。
89.这里,上位机430可以基于预设加密算法对第一设备标识进行加密,生成第一设备密钥值。
90.s340,获取第二设备密钥值。
91.这里,由于需要将第一设备密钥值与第二设备密钥值进行匹配,因此需要通过通信接口420从嵌入式设备flash区域410读取存储芯片中读取第二设备密钥值。
92.s350,判断第一设备密钥值和第二设备密钥值是否匹配。
93.这里,若第一设备密钥值和第二设备密钥值相匹配,则执行s360,若第一设备密钥值和第二设备密钥值不匹配则执行s370。
94.s360,第一设备继续启动。
95.这里,确定第一设备密钥值和第二设备密钥值相匹配,从而确定镜像包文件为合法拷贝到嵌入式设备flash区域410中,可以继续启动第一设备,完成开机。
96.s370,第一设备重启。
97.这里,确定第一设备密钥值和第二设备密钥值不匹配,从而确定镜像包文件为非法拷贝到嵌入式设备flash区域410中,可以重启该第一设备,以阻止镜像包文件被非法使用。在第一设备重启的过程中可以返回s310,进入下一周期的验证过程。此外,还可以输出报警信息,以提示镜像包文件为非法拷贝到嵌入式设备flash区域410中。
98.如此,通过在包括第二设备密钥值和预设加密算法的镜像包文件拷贝到待验证的第一设备中的存储芯片之后,在第一设备断电重启的过程中,获取第一设备标识,并从存储芯片中读取预设加密算法,然后根据第一设备标识和预设加密算法,生成第一设备密钥值,再从存储芯片中读取第二设备密钥值,可以判断第一设备密钥值和第二设备密钥值是否匹配。由于,如果镜像包文件是非法拷贝到第一设备中的存储芯片中,那么该第一设备的标识,也即第一设备标识,与被授权使用镜像包文件的第二设备的第二设备标识是不同的,根据第一设备标识和预设加密算法,生成的第一设备密钥值与基于预设加密算法对第二设备标识进行加密得到的第二设备密钥值也就不匹配;如果镜像包文件是合法拷贝到第一设备中的存储芯片中,那么该第一设备和第二设备为同一台设备,第一设备标识和第二设备标识也就是同一标识,根据第一设备标识和预设加密算法,生成的第二设备密钥值与基于预设加密算法对第二设备标识进行加密得到的第二设备密钥值也就是匹配的,因此,可以基于第一设备密钥值和第二设备密钥值是否匹配,来验证镜像包文件是否为合法拷贝到第一设备中的存储芯片中的,从而便于防止镜像包文件被未被授权的设备非法使用。
99.基于相同的发明构思,本技术还提供了一种镜像包文件验证装置。下面结合图5对本技术实施例提供的镜像包文件验证装置进行详细说明。
100.图5是根据一示例性实施例示出的一种镜像包文件验证装置的结构框图。
101.如图5所示,该镜像包文件验证装置5可以包括:
102.获取模块501,用于在包括第二设备密钥值和预设加密算法的镜像包文件拷贝到待验证的第一设备中的存储芯片之后,在第一设备断电重启的过程中,获取第一设备标识,并从存储芯片中读取预设加密算法,第二设备密钥值是基于预设加密算法对第二设备的第二设备标识进行加密得到的,第二设备为被授权使用镜像包文件的设备,第一设备标识为第一设备的唯一标识,第二设备标识为第二设备的唯一标识;
103.生成模块502,用于根据第一设备标识和预设加密算法,生成第一设备密钥值;
104.读取模块503,用于从存储芯片中读取第二设备密钥值;
105.合法确定模块504,用于在第一设备密钥值和第二设备密钥值匹配的情况下,确定镜像包文件为合法拷贝到第一设备中的存储芯片中。
106.在其中一个实施例中,获取模块501,具体可以包括:
107.获取子模块,用于在第一设备的系统启动加载器bootloader启动过程中,获取第一设备标识,并从存储芯片中读取预设加密算法。
108.在其中一个实施例中,该镜像包文件验证装置5还可以包括:
109.非法确定模块,用于在从存储芯片中读取第二设备密钥值之后,在第一设备密钥值和第二设备密钥值不匹配的情况下,确定镜像包文件为非法拷贝到第一设备中的存储芯片中。
110.在其中一个实施例中,该镜像包文件验证装置5还可以包括:
111.输出模块,用于在确定镜像包文件为非法拷贝到第一设备中的存储芯片中之后,输出报警信息,报警信息用于提示镜像包文件为非法拷贝到第一设备中的存储芯片中。
112.在其中一个实施例中,该镜像包文件验证装置5还可以包括:
113.重启模块,用于在确定镜像包文件为非法拷贝到第一设备中的存储芯片中之后,重启第一设备,以阻止镜像包文件被第一设备使用。
114.在其中一个实施例中,该镜像包文件验证装置5还可以包括:
115.启动模块,用于在确定镜像包文件为合法拷贝到第一设备中的存储芯片中之后,继续启动第一设备。
116.在其中一个实施例中,第一设备标识和第二设备标识均为中央处理器cpu识别码。
117.由此,通过在包括第二设备密钥值和预设加密算法的镜像包文件拷贝到待验证的第一设备中的存储芯片之后,在第一设备断电重启的过程中,获取第一设备标识,并从存储芯片中读取预设加密算法,然后根据第一设备标识和预设加密算法,生成第一设备密钥值,再从存储芯片中读取第二设备密钥值,可以判断第一设备密钥值和第二设备密钥值是否匹配。由于,如果镜像包文件是非法拷贝到第一设备中的存储芯片中,那么该第一设备的标识,也即第一设备标识,与被授权使用镜像包文件的第二设备的第二设备标识是不同的,根据第一设备标识和预设加密算法,生成的第一设备密钥值与基于预设加密算法对第二设备标识进行加密得到的第二设备密钥值也就不匹配;如果镜像包文件是合法拷贝到第一设备中的存储芯片中,那么该第一设备和第二设备为同一台设备,第一设备标识和第二设备标识也就是同一标识,根据第一设备标识和预设加密算法,生成的第一设备密钥值与基于预设加密算法对第二设备标识进行加密得到的第二设备密钥值也就是匹配的,因此,可以基于第一设备密钥值和第二设备密钥值是否匹配,来验证镜像包文件是否为合法拷贝到第一设备中的存储芯片中的,从而便于防止镜像包文件被未被授权的设备非法使用。
118.图6是根据一示例性实施例示出的一种电子设备的结构示意图。
119.如图6所示,该电子设备6能够实现根据本技术实施例中的镜像包文件验证方法以及镜像包文件验证装置的电子设备的示例性硬件架构的结构图。该电子设备可以指代本技术实施例中的电子设备。
120.该电子设备6可以包括处理器601以及存储有计算机程序指令的存储器602。
121.具体地,上述处理器601可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
122.存储器602可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。在特定实施例中,存储器602包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存,或者两个或及其以上这些的组合。
123.处理器601通过读取并执行存储器602中存储的计算机程序指令,以实现图1或图4所示实施例中的方法,并达到相应技术效果,为简洁描述在此不再赘述。
124.在一个实施例中,该电子设备6还可包括收发器603和总线604。其中,如图6所示,处理器601、存储器602和收发器603通过总线604连接并完成相互间的通信。
125.总线604包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围控件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线604可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
126.本技术实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于实现本技术实施例所记载的镜像包文件验证方法。
127.在一些可能的实施方式中,本技术提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行本技术实施例所记载的镜像包文件验证方法。
128.所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器
(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
129.本技术是参照根据本技术的方法、设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程信息处理设备的处理器以产生一个机器,使得通过计算机或其他可编程信息处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
130.这些计算机程序指令也可存储在能引导计算机或其他可编程信息处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
131.这些计算机程序指令也可装载到计算机或其他可编程信息处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
132.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。