一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种篡改验证方法及装置与流程

2021-12-15 02:15:00 来源:中国专利 TAG:


1.本技术实施例涉及信息安全领域,尤其涉及一种篡改验证方法及装置。


背景技术:

2.目前,信息安全技术主要是通过密码算法与密钥结合来确保信息的机密性、完整性以及可靠性。但是密码算法并非绝对安全,这些技术虽然能够一定程度上阻挡黑客和病毒的攻击,但是无法防范信息被意外篡改。当信息被篡改时,继续使用该信息,可能会造成不可预知的严重后果。因此,为了保证信息的安全性,验证信息是否被篡改是当前一个亟待解决的问题。


技术实现要素:

3.本技术实施例公开了一种篡改验证方法及装置,用于保证信息的安全性和可靠性。
4.第一方面公开一种篡改验证方法,该篡改验证方法可以包括:从第一信息中提取第二信息,所述第一信息包括第三信息,所述第三信息包括所述第二信息和第三信息对应的信息,所述第二信息根据所述第三信息对应的信息生成;根据所述第一信息生成第四信息;当所述第二信息与所述第四信息相同时,确定所述第一信息未被篡改。
5.本技术实施例中,可以通过读取第一信息获取第二信息和第四信息,并可以进行比较得出第一信息是否被篡改。当第一信息被篡改时,可以及时停止使用第一信息,从而可以避免篡改后的信息可能带来的攻击、病毒、瘫痪或者故障等问题。由此,可以降低出现信息安全问题的风险,也可以降低发生不可预料的后果的概率,同时也可以提高所使用的信息的安全性和可靠性。此外,篡改验证的条件可以只读取或接收一个第一信息,就能够进行验证,由此能够减少信息读取的过程,提高验证效率,还可以验证出已经读入的信息是否被篡改,从而可以增大了验证的范围,提高验证的正确性。
6.作为一种可能的实施方式,从第一信息中提取第二信息包括:从所述第一信息中的特定位置提取所述第二信息。
7.本技术实施例中,第二信息在第一信息中的位置是特定的。因此,篡改验证之前需要先确定第二信息的位置,可以增加验证的条件,保证验证方法的可靠性,进一步提高可以信息的安全性。
8.作为一种可能的实施方式,所述第二信息为所述第三信息对应的信息的校验信息,所述第四信息为所述第一信息的校验信息。
9.本技术实施例中,第一信息中可以确定第二信息和第四信息,因此,可以通过一个信息进行验证,而不需要分别读取信息和对应的校验信息。由此,可以提高篡改验证方的效率,也可以进一步提高验证的可靠性。
10.作为一种可能的实施方式,所述根据所述第一信息生成第四信息包括:
11.根据信息与校验算法的对应关系,获取第一校验算法,所述第一校验算法为所述
第一信息对应的校验算法;
12.使用所述第一校验算法计算所述第一信息的校验信息,得到第四信息。
13.本技术实施例中,可以根据已知的信息与校验算法对应关系确定第一信息使用的校验算法,各个信息对应的校验算法可以是确定的,表明一个信息可以对应一个校验算法,这种对应关系可以是唯一的。因此,可以提高验证过程的安全性,进一步可以提高信息的可用性,从而可以增加篡改验证方法的可靠性。
14.作为一种可能的实施方式,所述篡改验证方法还可以包括:
15.获取第五信息,所述第五信息为所述第三信息对应的信息;
16.根据信息与校验算法的对应关系,获取第二校验算法,所述第二校验算法为所述第五信息对应的校验算法,所述第一校验算法与所述第二校验算法相同;
17.使用所述第二校验算法计算所述第五信息的校验信息,得到所述第二信息。
18.本技术实施例中,第二信息可以通过第五信息和第二校验算法得到,第一信息中的第三信息可以包括第五信息和第二信息,第五信息可以是不经过运算改变的原始信息。第一信息在读入芯片后发生篡改时,由于第一信息中包含校验信息,因此可以验证信息的篡改情况,从而可以扩大验证范围,进一步可以确定信息的安全性。此外,第二信息和第四信息的校验算法是一致的,各个信息和校验算法的对应关系可以不需要分成生成信号和两种校验算法的对应关系分别记录。由此可以简化确定校验算法的步骤,进一步可以简化验证流程以及节约相应的存储资源,也可以提高篡改验证的效率。
19.作为一种可能的实施方式,所述篡改验证方法还可以包括:根据所述第二信息和所述第二校验算法对所述第三信息进行修正,得到第六信息,根据第六信息和第一校验算法生成的校验信息与第二信息相同。
20.本技术实施例中,第六信息可以与第一信息未被篡改时的信息相同,修正第三信息可以使得让第六信息的校验信息与第二信息一致,第六信息中也可以包括第五信息与第二信息,因此,可以为第一信息的验证奠定基础,也可以减少了验证过程的复杂性,保证信息的安全性。
21.作为一种可能的实施方式,所述第一信息、所述第二信息、所述第三信息、所述第四信息、所述第五信息和所述第六信息均为二进制信息。
22.本技术实施例中,由于计算机所处理的信息是二进制的信息,所以针对二进制信息验证其是否被篡改,可以保证信息篡改验证方法的普遍适用性。
23.第二方面公开一种篡改验证装置,该篡改验证装置可以包括:
24.提取单元,从第一信息中提取第二信息,所述第一信息包括第三信息,所述第三信息包括所述第二信息和第三信息对应的信息,所述第二信息根据所述第三信息对应的信息生成;
25.生成单元,根据所述第一信息生成第四信息;
26.确定单元,当所述第二信息与所述第四信息相同时,确定所述第一信息未被篡改。
27.作为一种可能的实施方式,所述提取单元,具体用于:从所述第一信息中的特定位置提取所述第二信息。
28.作为一种可能的实施方式,所述第二信息为所述第三信息对应的信息的校验信息,所述第四信息为所述第一信息的校验信息。
29.作为一种可能的实施方式,所述生成单元具体用于:
30.根据信息与校验算法的对应关系,获取第一校验算法,所述第一校验算法为所述第一信息对应的校验算法;
31.使用所述第一校验算法计算所述第一信息的校验信息,得到第四信息。
32.作为一种可能的实施方式,该篡改验证装置还可以包括:
33.获取单元,用于获取第五信息,所述第五信息为所述第三信息对应的信息;
34.所述获取单元,还用于根据信息与校验算法的对应关系,获取第二校验算法,所述第二校验算法为所述第五信息对应的校验算法,所述第一校验算法与所述第二校验算法相同;
35.所述提取单元,具体用于使用所述第二校验算法计算所述第五信息的校验信息,得到所述第二信息。
36.作为一种可能的实施方式,该篡改验证装置还可以包括:
37.修正单元,用于根据所述第二信息和所述第二校验算法对所述第三信息进行修正,得到第六信息,根据第六信息和第一校验算法生成的校验信息与第二信息相同。
38.作为一种可能的实施方式,所述第一信息、所述第二信息、所述第三信息、所述第四信息、所述第五信息和所述第六信息均为二进制信息。
39.第三方面公开一种篡改验证装置,该篡改验证装置可以包括:处理器和存储器。当所述处理器执行所述存储器存储的计算机程序时,使得所述处理器执行第一方面或第一方面的任一实施方式公开的篡改验证方法。
40.第四方面公开一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序或计算机指令,当该计算机程序或计算机指令运行时,实现如上述各方面公开的篡改验证方法。
41.第五方面公开一种芯片,包括处理器,用于执行存储器中存储的程序,当程序被执行时,使得芯片执行上面的方法。
42.作为一种可能的实施方式,存储器位于芯片之外。
附图说明
43.图1是本技术实施例公开的一种篡改验证方法的流程示意图;
44.图2是本技术实施例公开的另一种篡改验证方法的流程示意图;
45.图3是本技术实施例公开的又一种篡改验证方法的流程示意图;
46.图4是本技术实施例公开的一种篡改验证装置的结构示意图;
47.图5是本技术实施例公开的另一种篡改验证装置的结构示意图。
具体实施方式
48.本技术实施例公开了一种篡改验证方法及装置,用于验证信息是否被篡改,以保证信息的安全性。以下进行详细说明。
49.为了更好地理解本技术实施例,下面先对本技术实施例的应用场景进行描述。
50.随着信息技术的广泛应用,信息安全(information securiity)问题也层出不穷。由于计算机承载着很多重要的信息,因此,信息的安全性越来越受到企业、政府及国家的重
视。为了确保信息的保密性、完整性、可用性和可靠性,加密技术、防火墙技术和入侵检验技术等保证信息安全的技术应运而生。
51.当前,对于已有的信息,可以通过甄别信息是否被篡改,来确定信息的安全性和可用性。在确认信息是否被篡改的方向上,有人提出了一种根据通过分别读取校验信息和待篡改验证信息,进行验证信息是否被篡改的方法。然而,在这种方法中,当信息已经被读入芯片内时,信息被意外篡改是无法被验证的,进一步使用该信息可能会导致不可预计的严重后果。因此,已被读入芯片内的信息的篡改验证是一个亟待解决的问题。
52.基于上述应用场景,请参阅图1,如图1所示是本技术实施例公开的一种篡改验证方法的流程示意图。其中,执行该方法的设备可以是拥有处理和存储功能的任何设备,例如,电脑、手机、服务器、平板电脑、单片机、智能家具和智能穿戴设备等。应理解,上述的设备只是举例说明,并不构成限定。本技术中有该设备的功能也可以有该设备中的模块(例如,芯片)来执行。该篡改验证方法可以包括以下步骤:
53.101、从第一信息中提取第二信息。
54.当读取到第一信息后开始篡改验证,可以从第一信息中提取第二信息。第一信息可以包括第三信息。第一信息可以是需要被验证是否被篡改的信息,即第一信息是否被篡改是未知的。第三信息可以包括第二信息和第五信息,第二信息可以根据第三信息对应的信息生成,第五信息可以是第三信息对应的信息。第二信息可以是来自第五信息的校验信息,也就是可以根据第二校验算法计算出第五信息的校验信息,即第一信息中有用的数据信息实质是第五信息,而第二信息是根据第五信息生成的用于校验的冗余信息。第三信息可以包括其对应有用的数据信息(第五信息)和校验信息(第二信息)。第五信息生成第二信息所使用的校验算法可以是循环冗余校验4(cyclic redundancy check,crc4)、crc8、crc16、crc32、crc64、奇偶校验、海明校验、总和校验(checksum)或者其他自定义算法等。上述只是对校验算法的举例说明,并不构成限定。每一个第一信息中,第五信息生成第二信息时,所使用的第二校验算法可以是唯一确定的,即可以理解为,一个第一信息可以对应的校验算法是一个。可以从第一信息的特定位置提取第二信息,特定位置可以是固定的,也可以是变化的。例如,当特定位置是固定的位置时,第二信息可以设定为第一信息中的最后的几位比特,也可以设定为第一信息中间的几位间隔的或者连续的几位比特,还可以设定为第一信息最开始的几位比特。当特定位置是变化的位置时,第二信息可以是通过第一信息中随机选取的位置确定的信息,也可以是根据第一信息的标识确定的位置。上述只是对第二信息的特定位置的举例说明,并不构成限定。获取第三信息中的第二信息后,可以进一步根据第二信息的位置,获取第五信息。第六信息可以是根据第三信息、第二校验算法和第二信息修正所得到的信息,即第六信息可以根据有用的数据信息和其校验信息生成的信息。可以根据校验信息以及生成这个校验信息所使用的校验算法,调整第三信息,使得生成的第六信息在同一的校验算法下计算得到的校验信息与第二信息相同。以上第一信息、第二信息、第三信息、第五信息和第六信息均可以是二进制的信息。例如,嵌入式软件信息、计算机软件信息、操作系统软件信息、文本信息或图像信息等。当上述信息本身不是二进制的信息时,均可以转换被为二进制的信息。应理解,以上只是对第一信息的信息类型的举例说明,并不构成限定。
55.102、根据第一信息生成第四信息。
56.可以根据第一信息生成第四信息,第四信息可以是第一信息的校验信息,计算第四信息的校验算法可以为第一校验算法,第一校验算法可以与步骤101中第二校验算法的确定方式相同,详细说明请参阅步骤101,在此不加赘述。生成第二信息的校验算法可以是第二校验算法,第一校验算法和第二校验算法可以是相同的校验算法。既可以理解为,第一信息生成校验信息(第四信息)时与第一信息中包含的有用信息(第五信息)生成校验信息(第二信息)时,所使用的校验算法可以是一致的,因此,可以便于对两个校验信息的获取。可以根据信息与校验算法的对应关系,获取第一校验算法(第二校验算法)。可以存储的每个第一信息和这个第一信息对应使用的校验算法的关系。当需要生成第四信息时,可以先根据读取到的第一信息获得第一信息对应的校验算法,进一步可以根据对应校验算法得到第四信息。同样,第四信息也可以是二进制信息。应理解,步骤101和步骤102可以并行执行,也可以串行执行,本技术并不对步骤101和步骤102的执行顺序进行限定。
57.103、当第二信息与第四信息相同时,确定第一信息未被篡改。
58.可以根据在第一信息中提取到的第二信息和第一信息生成的第四信息进行对比,即可以理解为比较第二信息的校验信息和第一信息的校验信息。当第二信息与第四信息相同时,可以确定第一信息未被篡改。当第二信息与第四信息不相同时,可以确定第一信息已被篡改。可以理解为,当第一信息未被篡改时,第一信息中的第五信息的校验信息与第一信息自身的校验信息是相同的,即可以仅仅通过一个第一信息获得两个校验信息,根据两个校验信息的一致与否,便可以完成为信息的篡改验证。
59.为了方便理解上述的篡改验证方法,本实施例公布一种在嵌入式软件中实现篡改验证方法的示例。请参阅图2,如图2所示为本技术实施例公开的另一种篡改验证方法的流程示意图。在验证第一信息是否被篡改之前,可以对编译后的嵌入式软件进行后处理,以下为对编译后的信息(即第五信息)的后处理过程。
60.首先,可以根据第五信息生成第二信息。可以先编译嵌入式软件生成二进制的第五信息,即第五信息可以是嵌入式软件信息。接着可以通过第五信息和第二校验算法计算出校验信息(第二信息)。假设可以通过crc4、crc8、crc16、crc32、crc64、奇偶校验、海明校验和checksum共8种校验算法对第五信息进行校验,可以选择其中的一个校验算法生成第二信息。例如,可以产生一个随机数s,s的取值范围是[0,7],[0,7]可以分别对应上述的校验算法。当产生的随机数为0时,可以选定crc4作为第二检验算法,并对第五信息进行校验。也可以将该嵌入式软件的标识以及对应使用的校验算法信息对应记录到本地(例如可以记录生成的随机数s,s的[0,7]分别对应8种校验算法)。由此,每个在后处理过程中的对应编译后的原始信息(第五信息)生成第二信息所对应使用的校验算法可以是相同的,也可以是不同的,但是生成的标识与校验算法对应关系的列表是可以唯一确定的,即一个第五信息生成第二信息只可以对应一种校验算法。由此,可以增加信息的安全性和可靠性。应理解,上述选定crc4为第二校验算法是为了举例说明上述例子,并不构成限定。
[0061]
其次,可以将第二信息注入第五信息。根据得到的第二信息,可以将第二信息注入到第五信息的特定位置。即第二信息由第五信息生成,可以把第二信息加入第五信息生成第三信息,即第三信息的长度可以为第二信息和第五信息长度之和。此外,还可以将对应的嵌入式软件信息的相关信息一起注入第五信息。这个相关信息可以是对应嵌入式软件的标识(如编号),也可以是对应嵌入式软件于人员或公司而言的编号,还可以是相关项目的信
息。上述只是对嵌入式软件信息的相关信息的举例说明,并不构成限定。可以将这个相关信息和第二信息在第三信息中的对应的位置信息记录到本地。在一种可能的情况下,第三信息可以为0001 0110,生成多项式对应的二进制码为1011,根据crc 4生成的校验信息(第二信息)为1110,则第三信息可以为0011 01011010,其中的第二信息对应的位置信息为随机生成的位置信息,可以表示为0011 0000 0011,则位置信息中对应为1的位置可以是第二信息的位置。可以进一步将位置信息记录到本地,以方便后续对第二信息的提取。各个第三信息中第二信息的位置信息是唯一确定的,因此,可以通过位置信息的不断变化,提高对嵌入式软件信息验证过程的可靠性。对应的嵌入式软件信息的相关信息可以用同样的方法,在此不加赘述。应理解,上述注入第二信息和嵌入式软件信息的相关信息均是举例说明,并不构成限定。
[0062]
接着,可以根据第二信息修正第三信息。已知第三信息为0011 0101 1010,修正第三信息,可以使得第三信息中的第五信息与修正后的第六信息的校验结果相同。不同的校验算法对应的修正方法是对应不同的。上述以crc4为第二校验算法(或第一校验算法)为例,修正算法具体可以为:可以在第三信息(0011 0101 1010)后追加一个信息z(信息z的长度可以是4个比特,如1001),可以计算出第三信息剔除最后一位的0011 0101 1010 100的校验信息(计算加入信息z后长度减1位的信息的校验值),使用的校验算法应当为第二校验算法。可以计算出校验信息为1001,通过联动信息z和校验信息1001,使得加入信息z的第三信息(0011 0101 1010 1001)的校验值为1110,即可以理解为可以调整第三信息所追加的4位信息,用来改变校验信息,使得校验信息与第二信息相等。上述调整方法可以是逐次尝试进行修正,crc4中可以最多尝试16次。在crc校验算法的修正方法中,crc8可以最多尝试256次,crc16可以最多尝试65536次。应理解,上述只是举例说明修正信息的方法,并不构成限定。
[0063]
经过修正第三信息,可以生成第六信息。上述的修正过程结束后,第六信息可以为0011 0101 1010 1001,第六信息的校验信息同样为1110。应理解,经过后处理的第六信息可以是未被篡改的第一信息,再一次读取到的第六信息应当为第一信息,此时不能够确定第一信息是否被篡改。既可以理解为,在篡改验证之前,可以将信息处理为验证篡改时未篡改的信息,当需要再一次使用这个信息时,先验证该信息(第一信息)是否被篡改。
[0064]
应理解,上述是以嵌入式软件为例,说明在篡改验证之前,可以对编译后的二进制信息进行的后处理过程,对于具体的第五信息的处理方法并不构成限定。
[0065]
当对嵌入式软件的后处理结束后,可以通过第三信息生成第六信息。当需要再次使用这一信息时,需要根据第一信息验证嵌入式软件是否被篡改,即可以理解为,此时的第一信息有可能是已经被篡改的信息。第一信息的篡改情况是未知的,当验证第一信息未被篡改时,可以启动开嵌入式软件,执行相关内容。即在使用第一信息前对信息进行预处理来验证其篡改与否。请参阅图3,如图3所示是本技术实施例公开的又一种篡改验证方法的流程示意图。
[0066]
本示例中,待验证的第一信息被读入芯片后,可以开始第一信息的验证。
[0067]
可以通过嵌入式软件信息的相关信息判断第一信息是否为合法信息,即第一信息是否是嵌入式软件编译后经过后处理的第一信息,例如,可以确定第一信息包括的嵌入式软件信息的相关信息是对应嵌入式软件的标识,且可以确定这个标识与本地记录的标识一
致,即该第一信息为合法信息,否则为非法信息。对于合法信息可以继续验证,对于非法信息可以显示该信息为非法信息,并可以停止使用这个第一信息。
[0068]
当确定第一信息为合法信息时,可以提取第一信息中的第二信息,一种情况下,可以计算出将第一信息(0011 0101 1010 1001)中的第二信息,先剔除信息z,即得到0011 0101 1010,接着可以根据本地的这个第一信息对应的位置信息(0011 0000 0011),提取出位置信息中对应位置为1的信息为第二信息,即可以得到第二信息为1110。
[0069]
可以根据读取到的第一信息和第一校验算法生成第四信息,上述第一信息为0011 0101 1010 1001,可以根据本地记录确定第一信息对应的校验算法为crc4。根据crc4可以生成第四信息为1110,此时可以确定该嵌入式软件未被篡改。
[0070]
可以判断第一信息是否被篡改。当第二信息等于第四信息时,则可以判断第一信息未被篡改。当第二信息不等于第一信息时,则可以确定第一信息已被篡改。一种情况下,接收的的第一信息为0011 0101 1010 1001,则可以得到第四信息为1110,第二信息也为1110,因此第一信息未被篡改。另一种情况下,接收的第一信息为0011 0111 1010 1001时,提取出的第二信息为1110,计算得到的第四信息为1011,第二信息与第四信息不相同,因此可以判断第一信息已经被篡改。
[0071]
最后,当确定第一信息未被篡改时,进一步可以显示该嵌入式软件未被篡改的验证结果,并可以执行这个第一信息的相关任务。当确定第一信息被篡改时,进一步可以显示出该嵌入式软件已被篡改的结果,并可以及时停止相关任务的执行,避免可能发生的不可预知的严重后果。
[0072]
应理解,上述是举例说明在嵌入式软件中对编译信息的后处理过程和篡改验证的预处理过程,并不对其处理方法构成限定。
[0073]
基于上述方法,请参阅图4,图4是本技术实施例公开的一种篡改验证装置的结构示意图。如图4所示,该篡改验证装置可以包括:
[0074]
提取单元401,从第一信息中提取第二信息,所述第一信息包括第三信息,所述第三信息包括所述第二信息和第三信息对应的信息,所述第二信息根据所述第三信息对应的信息生成;
[0075]
生成单元402,根据所述第一信息生成第四信息;
[0076]
确定单元403,当所述第二信息与所述第四信息相同时,确定所述第一信息未被篡改。
[0077]
作为一种可能的实施方式,所述提取单元401,具体用于:从所述第一信息中的特定位置提取所述第二信息。
[0078]
作为一种可能的实施方式,所述第二信息为所述第三信息对应的信息的校验信息,所述第四信息为所述第一信息的校验信息。
[0079]
作为一种可能的实施方式,所述生成单元402具体用于:
[0080]
根据信息与校验算法的对应关系,获取第一校验算法,所述第一校验算法为所述第一信息对应的校验算法;
[0081]
使用所述第一校验算法计算所述第一信息的校验信息,得到第四信息。
[0082]
作为一种可能的实施方式,该篡改验证装置还可以包括:
[0083]
获取单元404,用于获取第五信息,所述第五信息为所述第三信息对应的信息;
[0084]
所述获取单元404,还可以用于根据信息与校验算法的对应关系,获取第二校验算法,所述第二校验算法为所述第五信息对应的校验算法,所述第一校验算法与所述第二校验算法相同;
[0085]
所述提取单元401,具体用于使用所述第二校验算法计算所述第五信息的校验信息,得到所述第二信息。
[0086]
作为一种可能的实施方式,该篡改验证装置还可以包括:
[0087]
修正单元405,用于根据所述第二信息和所述第二校验算法对所述第三信息进行修正,得到第六信息,根据第六信息和第一校验算法生成的校验信息与第二信息相同。
[0088]
作为一种可能的实施方式,所述第一信息、所述第二信息、所述第三信息、所述第四信息、所述第五信息和所述第六信息均为二进制信息。
[0089]
基于上述方法,请参阅图5,图5是本技术实施例公开的另一种篡改验证装置的结构示意图。如图5所示,该篡改验证装置可以包括处理器501、存储器502和总线503。存储器502可以是独立存在的,可以通过总线503与处理器501相连接。存储器502也可以和处理器501集成在一起。其中,总线503用于实现这些组件之间的连接。
[0090]
在一个实施例中,该篡改验证装置可以为篡改验证设备或者篡改验证设备内的模块(例如,芯片),存储器502中存储的计算机程序指令被执行时,该处理器501用于控制提取单元401、生成单元402、确定单元403、获取单元404和修正单元405在上述实施例中执行的操作,上述设备或者设备内的模块还可以用于执行上述图1方法实施例中篡改验证设备执行的各种方法,不再赘述。
[0091]
本技术实施例还公开一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中的方法。
[0092]
本技术实施例还公开一种包括指令的计算机程序产品,该指令被执行时执行上述方法实施例中的方法。
[0093]
以上所述的具体实施方式,对本技术的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本技术的具体实施方式而已,并不用于限定本技术的保护范围,凡在本技术的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献