CN106295407B - 一种检测文件是否被篡改的方法及装置 - Google Patents

一种检测文件是否被篡改的方法及装置 Download PDF

Info

Publication number
CN106295407B
CN106295407B CN201610707650.9A CN201610707650A CN106295407B CN 106295407 B CN106295407 B CN 106295407B CN 201610707650 A CN201610707650 A CN 201610707650A CN 106295407 B CN106295407 B CN 106295407B
Authority
CN
China
Prior art keywords
file
ciphertext value
path
detected
storage path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610707650.9A
Other languages
English (en)
Other versions
CN106295407A (zh
Inventor
陈曦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201610707650.9A priority Critical patent/CN106295407B/zh
Publication of CN106295407A publication Critical patent/CN106295407A/zh
Application granted granted Critical
Publication of CN106295407B publication Critical patent/CN106295407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供了一种检测文件是否被篡改的方法及装置,方法包括:获得路径加密文件;路径加密文件是在软件发布之前生成的;在软件发布之后,解密路径加密文件,获得第一存储路径和第二存储路径;根据第一存储路径获得待检测文件;对待检测文件进行加密计算获得第一密文值;根据第二存储路径获得第二密文值,其中,第二密文值为基于待检测文件所对应的原始文件确定的密文值;确定第一密文值和第二密文值是否相同,若相同,则确定待检测文件未被篡改,若不相同,确定待检测文件被篡改。应用本发明实施例,提升了获取需要检测的文件的速度,当存在恶意程序对文件进行篡改时,可快速地获知文件被篡改,且增加了破解难度。

Description

一种检测文件是否被篡改的方法及装置
技术领域
本发明涉及信息安全技术领域,特别是涉及一种检测文件是否被篡改的方法及装置。
背景技术
在现有技术中,为了保证用户信息安全,甚至是整个网络的安全,常常需要对某些文件进行检测,以检测该某些文件是否被篡改。另外,为了避免检测过程受恶意程序攻击而获得错误检测结果,常常通过各种加密算法直接对需要检测的文件进行加密,以保证需要检测的文件不被篡改,保证了检测结果的正确性。但是,对需要检测的文件进行加密造成的结果是,每次使用该文件时,都需要对该文件进行解密,解密过程繁琐,且耗时较长,极大影响了用户体验。其中,该文件可以是任意类型的文件。
例如:为了防止文件被篡改,可根据DES(Data Encryption Standard,数据加密标准)算法对文件进行加密,得到加密文件。当需要使用该文件时,需要利用基于该DES算法所获得的加密密钥所对应解密密钥对该加密文件解密,在解密成功后,才可以使用该文件。
因此,如何提升获取需要检测的文件的速度,并增加破解难度,成为亟待解决的技术问题。
发明内容
本发明实施例的目的在于提供一种检测文件是否被篡改的方法及装置,以提升获取需要检测的文件的速度,当存在恶意程序对文件进行篡改时,即可获知文件被篡改,且增加了破解难度。具体技术方案如下:
第一方面,本发明实施例提供了一种检测文件是否被篡改的方法,所述方法可以包括:
获得路径加密文件;所述路径加密文件是在软件发布之前生成的;
在软件发布之后,解密所述路径加密文件,获得第一存储路径和第二存储路径;
根据所述第一存储路径获得待检测文件;对所述待检测文件进行加密计算获得第一密文值;
根据第二存储路径获得第二密文值,其中,所述第二密文值为基于所述待检测文件所对应的原始文件确定的密文值;
确定所述第一密文值和所述第二密文值是否相同,若相同,则确定所述待检测文件未被篡改,若不相同,确定所述待检测文件被篡改。
可选地,生成路径加密文件的步骤可以包括:
获得原始文件的第一存储路径;
基于所述原始文件获得第二密文值,存储所述第二密文值,获得存储所述第二密文值的第二存储路径;
加密所述第一存储路径和所述第二存储路径,得到路径加密文件。
可选地,所述基于所述原始文件获得第二密文值,可以包括:
对所述原始文件进行加密计算,获得第二密文值;
或,对所述原始文件进行加密计算后所得的数据再次加密计算,获得第二密文值;
相应地,所述确定所述第一密文值和所述第二密文值是否相同,可以包括:
判断所述第一密文值和所述第二密文值是否相同;
或,解密所述第二密文值,获得对所述原始文件进行加密计算后所得的数据;
判断所述第一密文值和对所述原始文件进行加密计算后所得的数据是否相同。
可选地,所述对所述原始文件进行加密计算,获得第二密文值,可以包括:
利用摘要算法对所述原始文件进行加密计算,获得第二密文值;
相应地,所述对所述待检测文件进行加密计算获得第一密文值,可以包括:
利用所述摘要算法对所述待检测文件进行加密计算获得第一密文值。
可选地,所述对所述原始文件进行加密计算后所得的数据再次加密计算,获得第二密文值,包括:利用分对称密码算法,对所述原始文件进行加密计算后所得的数据再次加密计算,获得第二密文值。
可选地,根据非对称密码算法加密所述第一存储路径和所述第二存储路径;
相应地,所述解密所述路径加密文件,可以包括:根据所述非对称密码算法解密所述路径加密文件。
可选地,在所述确定所述待检测文件被篡改后,还包括:删除预设重要文件。
第二方面,本发明实施例还提供了一种检测文件是否被篡改的装置,所述装置可以包括:
生成单元,用于在软件发布之前生成路径加密文件;
第一获得单元,用于获得路径加密文件;
第二获得单元,用于在软件发布之后,解密所述路径加密文件,获得第一存储路径和第二存储路径;
第三获得单元,用于根据所述第一存储路径获得待检测文件;对所述待检测文件进行加密计算获得第一密文值;
第四获得单元,用于根据第二存储路径获得第二密文值,其中,所述第二密文值为基于所述待检测文件所对应的原始文件确定的密文值;
确定单元,用于确定所述第一密文值和所述第二密文值是否相同,若相同,则确定所述待检测文件未被篡改,若不相同,确定所述待检测文件被篡改。
可选地,所述生成单元包括:
第一获得子单元,用于获得原始文件的第一存储路径;
第二获得子单元,用于基于所述原始文件获得第二密文值,存储所述第二密文值,获得存储所述第二密文值的第二存储路径;
第三获得子单元,用于加密所述第一存储路径和所述第二存储路径,得到路径加密文件。
可选地,所述第二获得子单元具体用于:
对所述原始文件进行加密计算,获得第二密文值;
或,对所述原始文件进行加密计算后所得的数据再次加密计算,获得第二密文值,相应地,所述确定单元具体用于:
判断所述第一密文值和所述第二密文值是否相同;
或,解密所述第二密文值,获得对所述原始文件进行加密计算后所得的数据;
判断所述第一密文值和对所述原始文件进行加密计算后所得的数据是否相同。
可选地,所述第二获得子单元具体用于:
利用摘要算法对所述原始文件进行加密计算,获得第二密文值;
相应地,所述第三获得单元具体用于:
利用所述摘要算法对所述待检测文件进行加密计算获得第一密文值。
可选地,所述第三获得子单元具体用于:
根据非对称密码算法加密所述第一存储路径和所述第二存储路径;
相应地,所述第二获得单元具体用于:
根据所述非对称密码算法解密所述路径加密文件。
可选地,所述装置还可以包括:
删除单元,用于在所述确定所述待检测文件被篡改后,删除预设重要文件。
在本发明实施例中,为了检测文件是否被篡改,执行以下步骤:获得路径加密文件,解密所述路径加密文件,获得第一存储路径和第二存储路径;根据所述第一存储路径获得待检测文件;对所述待检测文件进行加密计算获得第一密文值;根据第二存储路径获得第二密文值,其中,所述第二密文值为基于所述待检测文件所对应的原始文件确定的密文值;确定所述第一密文值和所述第二密文值是否相同,若相同,则确定所述待检测文件未被篡改,若不相同,确定所述待检测文件被篡改。
由于在检测待检测文件是否被篡改的过程中,会受到恶意程序的攻击,而恶意程序大多根据存储路径存储获得待检测文件,进而对待检测文件进行篡改,进而实现对检测结果的篡改。本发明实施例对两个路径进行加密,即将待检测文件的存储路径,以及原始文件对应的密文即第二密文值的存储路径进行加密,阻断了恶意程序访问文件的路径,使得恶意程序无法获知所要检测的文件是哪些文件,进而防止了文件被攻击,增加了破解的难度。本发明实施例通过阻断文件存储路径来避免恶意程序访问文件,因此不需要对文件本身再进行加解密,每次应用时只需直接读取存储的明文文件即可,因而避免了对所要检测的文件本身进行加解密而导致获取文件耗时较长的问题,当存在恶意程序对文件进行篡改时,可快速地获知文件被篡改。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种检测文件是否被篡改的方法流程图;
图2为本发明实施例中生成路径加密文件的步骤示意图;
图3为根据本发明实施例提供的一种具体的检测文件是否被篡改的方法示意图;
图4为本发明实施例提供的一种检测文件是否被篡改的装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术问题,本发明实施例提供了一种检测文件是否被篡改的方法及装置。
下面首先对本发明实施例提供的检测文件是否被篡改的方法进行说明。
可以理解的是,本发明实施例提供的检测文件是否被篡改的方法,适用于检测待检测文件相对于原始文件是否发生变化的应用场景中。执行本发明实施例提供的方法的功能软件,可以为设置于终端内专门用于检测文件是否被篡改的软件,也可以为设置于终端内现有用于检测文件是否被篡改软件中的功能插件,这都是合理的。
其中,该终端可为智能手机、智能电视和电脑等智能设备,在此不对该终端进行具体限定。
为了便于理解,本文这里首先说明两个概念,原始文件和待检测文件。
所述原始文件是指:在软件发布之前,内容已被固定下来的准备进行发布的关键文件。其中,所述原始文件可以是软件的核心文件、存储授权码的文件、重要数据文件等。
所述待检测文件指:在软件发布后,存储于待检测路径下,准备与原始文件进行一致性比对的文件。
下面结合附图对本发明做详细说明。
如图1所示,检测文件是否被篡改的方法可以包括如下步骤:
S101:获得路径加密文件;所述路径加密文件是在软件发布之前生成的;
其中,为了确保路径文件的安全,在软件发布前,生成路径加密文件。路径加密文件中包括第一存储路径和第二存储路径。
需要说明的是,所述第一存储路径和第二存储路径在软件发布前就已确定。且所述待检测文件存储于所述第一存储路径下。
其中,在检测文件是否被篡改过程中,第一存储路径是待检测文件的存储路径,本发明中的存储路径应该理解为能够在操作系统中唯一定位文件的文件路径,其中包含了文件存储目录及该文件的名称。另外,第二存储路径对应的文件为基于原始文件加密计算得到的第二密文值。
其中,第二密文值可以存储于软件所在终端的操作系统文件或注册表中,也可以存储于该终端或网络中的数据库中,甚至可以存储在WEB站点的第二密文值服务器中。这里的第二存储路径应根据第二密文值的存储位置,理解为能够定位并获取该第二密文值的路径或地址。
需要说明的是,为了保证检测文件是否被篡改的检测结果的正确性,存储基于原始文件所获得的第二密文值的文件是在软件发布前生成的。至于路径加密文件本身的生成过程,在下面图2及其对应的描述中有详细说明。
S102:在软件发布之后,解密该路径加密文件,获得第一存储路径和第二存储路径;
其中,在读取得到路径加密文件后,利用路径加密文件的加密算法所对应的解密算法,解密路径加密文件,获得第一存储路径和第二存储路径。
需要说明的是,对路径加密文件本身进行加解密的过程为现有技术,例如,可以采用摘要算法、对称密码算法、非对称密码算法等进行加解密操作,本文在此不对具体的加解密过程进行详述。
S103:根据该第一存储路径获得待检测文件;对该待检测文件进行加密计算获得第一密文值;
其中,在获得第一存储路径后,查找第一存储路径所对应的文件,并将此时第一存储路径下的文件作为待检测文件。其中,待检测文件就是软件发布之后依据路径文件中的第一存储路径找到的文件。即原始文件就是待检测文件的前身,但在软件发布后,第一存储路径理解为待检测文件的存储路径。
利用加密算法对待检测文件进行加密,获得第一密文值。这里,并不对加密算法本身做限定,其可以利用现有的任一加密算法,例如,可以利用该摘要算法、对称加密算法、非对称加密算法等对该待检测文件进行加密计算获得第一密文值。具体的加密过程本身也不再详述。
其中,摘要算法可以将任意大小的数据映射得到一个较小的、固定长度的、加密性强的散列。不同的数据根据同样的摘要算法所计算得到的散列不同。摘要算法包括但并不局限于MD4算法、MD5算法等,其中,本文所涉及的摘要算法均为现有算法,在此不再对摘要算法本身做详细阐述。
S104:根据第二存储路径获得第二密文值,其中,该第二密文值为基于该待检测文件所对应的原始文件确定的密文值;
其中,在获得第二存储路径后,根据第二存储路径即可获得第二密文值。其中,该第二密文值是基于原始文件所确定的。
S105:确定该第一密文值和该第二密文值是否相同,若相同,则确定该待检测文件未被篡改,若不相同,确定该待检测文件被篡改。
也就是说,在确定待检测文件被篡改后,实际上是原始文件被篡改为当前的待检测文件。在确定待检测文件未被篡改时,此时的待检测文件即为原始文件。
可以理解的是,由于需要进行检测的文件本身所包含的数据较多,需要花费较多的时间对文件进行加解密,耗时较长。而文件的存储路径只是一串简单的字符串,所对应的数据较少。本发明实施例通过阻断文件存储路径来避免恶意程序访问文件,因此不需要对文件本身再进行加解密,每次应用时只需直接读取存储的明文文件即可,因而可以有效的缩短加解密的时间,提升了获取需要检测的文件的速度,并当存在恶意程序对文件进行篡改时,可快速地获知文件被篡改。
另外,在确定原始文件被篡改后,可以触发防破解机制。例如:当目标软件中的原始文件被篡改后,可以删除该目标软件中预设的重要组件,使得恶意程序即使在篡改了原始文件之后,也无法正常的使用该目标软件。也就是说,通过本发明提供的检测文件是否被篡改的方法,获知原始文件被篡改后,即可触发防破解机制,可以有效地防止目标软件被破解。
由于在检测待检测文件是否被篡改的过程中,会受到恶意程序的攻击,而恶意程序大多根据存储路径存储获得待检测文件,进而对待检测文件进行篡改,进而实现对检测结果的篡改。本发明实施例对两个路径进行加密,即将待检测文件的存储路径,以及原始文件对应的密文即第二密文值的存储路径进行加密,阻断了恶意程序访问文件的路径,使得恶意程序无法获知所要检测的文件是哪些文件,进而防止了文件被攻击,增加了破解的难度。本发明实施例通过阻断文件存储路径来避免恶意程序访问文件,因此不需要对文件本身再进行加解密,每次应用时只需直接读取存储的明文文件即可,因而避免了对所要检测的文件本身进行加解密而导致获取文件耗时较长的问题,并当存在恶意程序对文件进行篡改时,可快速地获知文件被篡改。
下面就本发明实施例中生成路径加密文件的步骤进行说明。其中,在软件发布之前,生成路径加密文件的步骤可以包括:
S1:获得原始文件的第一存储路径;
可以理解的是,在生成路径加密文件过程中,也就是检测文件是否被篡改之前,可以认为原始文件的存储路径为第一存储路径。
S2:基于该原始文件获得第二密文值,存储该第二密文值,获得存储该第二密文值的第二存储路径;
这里,获得第二密文值的方式可以是:
对该原始文件进行加密计算,获得第二密文值;这时的第二密文值就是对原始文件加密后获得的,在该种情况下,在检测文件是否被篡改的过程中,可以直接判断第一密文值和第二密文值是否相同;
或者,对原始文件进行加密计算后所得的数据再次加密计算,获得第二密文值。这时的第二密文值相当于对原始文件进行了两次加密,即第一次对原始文件本身进行加密,第二次对第一次加密后的数据再次加密,在该种情况下,在检测文件是否被篡改的过程中,可以先对第二密文值进行解密,获得对原始文件进行加密计算后所得的数据,再判断第一密文值和该数据是否相同。
具体的,可以利用摘要算法对该原始文件进行加密计算,获得第二密文值;或者,利用摘要算法对对第一次加密后的数据再次加密,获得第二密文值。其中,再次加密可以使用非对称加密算法进行加密。
例如:MD5摘要算法计算得到的值为32位,DES(Data Encryption Standard,数据加密标准)算法计算得到的值为64位。因此利用摘要算法对原始文件进行第一次加密,再利用非对称加密算法对计算得到的32位值再次加密,可以有效地减少第二次加密的数据的位数,缩短了加解密时间。
S3:加密该第一存储路径和该第二存储路径,得到路径加密文件。
与前述类似,可以利用对称加密算法、非对称加密算法等对第一存储路径和该第二存储路径进行加密,本文并不对加密算法本身做限定,任何可以使用的加密算法都可以应用于本申请中,具体的加密过程本身也不再详述。
其中,可以将第一存储路径和第二存储路径放入一个目标文件中,然后采用对称加密算法、非对称加密算法等一种或多种算法对该目标文件进行加密,得到一个路径加密文件。当然也可以将第一存储路径放入第一目标文件中,将第二存储路径放入第二目标文件中,然后采用对称加密算法、非对称加密算法等一种或多种算法对该第一目标文件和第二目标文件进行加密,得到两个路径加密文件。
可以理解的是,在该种实现方式中,基于步骤S1~S3,可以在检测文件是否被篡改前,对原始文件的第一存储路径,以及第二密文值的存储路径进行加密。在检测文件被篡改过程中,该第一存储路径所对应的文件为待检测文件,因此切断了恶意程序获取待检测文件和第二密文值的途径,保证了待检测文件和第二密文值的安全;并通过对存储路径进行加密的方式,提高了加密速度。
需要强调的是,S1和S2的步骤,不应构成获取第一存储路径和第二存储路径的顺序的限定。例如,可以同时获取第一存储路径和第二存储路径,或是先获得第二路径,再获得第一路径,这都是合理的。
如果前述S2中,第二密文值是对原始文件进行加密计算后所得的数据再次加密计算获得的,则前述步骤105中,在确定第一密文值和第二密文值是否相同的步骤,具体包括:对第二密文值进行解密,得到解密数据,确定该解密数据与第一密文值是否相同,若相同,确定原始文件未被篡改;若不相同,确定原始文件被篡改。
其中,对原始文件进行加密计算后所得到的数据再次加密,可以进一步加强数据的安全性,避免恶意程序直接破解,进而篡改原始文件等问题。
需要说明的是,非对称密码算法包括但并不局限于RSA算法和Elgamal算法。且该RSA算法和Elgamal算法为现有算法,在此不进行详述。
一种可能的实现方式是,在该确定该待检测文件被篡改后,删除预设重要文件。
可以理解的是,在该种实现方式中,在确定待检测文件被篡改后,可以立即删除预设重要文件。其中,该预设重要文件可以是待检测文件本身,以避免该被篡改的文件中携带的恶意程序对终端内的其他文件进行恶意篡改,从而对终端上其他应用的保护。例如:被篡改后的待检测文件携带病毒,则很可能感染该待检测文件所在系统中的其他文件,甚至导致系统崩溃。
另外,该预设重要文件也可以是待检测文件所在软件中的其他组件,删除这些组件,使得恶意程序无法正常使用该软件,防止该软件被破解。
另一种可能的实现方式是,在确定该待检测文件被篡改后,触发加密重要用户数据的指令,以保护重要的用户数据不被窃取或篡改。其中,该重要的用户数据可以是用户指定的数据,其可以是用户上传的,也可以是终端内已存储的。
下面结合图3对本发明实施例提供的检测文件是否被篡改的方法进行说明。
如图3所示,在检测开始前,路径A(即第一存储路径)所对应的文件为原始文件A’,采用MD5算法对原始文件A’进行加密计算,得到原始文件A’所对应的MD5值(该MD5值相当于前述步骤S2中第一次加密计算后所得到的数据);利用RSA加密算法对该MD5值进行RSA加密,得到第二密文值B’;将该第二密文值B’进行存储,获得存储该第二密文值的路径B(即第二存储路径)。
保存路径A和路径B至路径明文文件中,利用RSA加密算法对该路径明文文件再次进行RSA加密,得到路径加密文件。
在需要检测原始文件A’是否被篡改时,首先利用RSA对应的解密算法,对路径加密文件进行解密,得到路径A和路径B;根据路径A查找路径A所对应的文件C(即待检测文件),并根据MD5加密算法对待检测文件C进行加密计算,得到待检测文件C所对应的MD5值(即第一密文值);之后,利用RSA对应的解密算法对第二密文值B’进行解密,得到原始文件A’所对应的MD5值。
比较原始文件A’所对应的MD5值和待检测文件C所对应的MD5值是否相同,若相同,说明原始文件A’未被篡改,若不同,说明原始文件A’被篡改,且被篡改为C。
当然,如果确定原始文件A’被篡改,则删除该原始文件A’
值得注意的是,本发明实施例提供的检测文件是否被篡改的方法,可以同时检测多个文件是否被篡改,具体地,可将每个需要检测的文件所对应的第一存储路径和第二存储路径保存到一个路径明文文件中,再对该路径明文文件加密。例如:分别检测A.EXE文件和B.DLL文件是否被恶意篡改,则将A.EXE文件所对应的第一存储路径和第二存储路径,B.DLL文件对应的第一存储路径和第二存储路径对应保存在同一个路径明文文件中,加密该路径明文文件,得到一个路径加密文件。使得在多次检测中,只需对该路径加密文件进行一次解密,便可以得到A.EXE文件所对应的第一存储路径和第二存储路径,B.DLL文件对应的第一存储路径和第二存储路径,提高了获取每个需要检测的文件的第一存储路径和第二存储路径的速度。
需要强调的是,本发明实施例所提及的文件可以是任意类型的文件。
由于在检测待检测文件是否被篡改的过程中,会受到恶意程序的攻击,而恶意程序大多根据存储路径存储获得待检测文件,进而对待检测文件进行篡改,进而实现对检测结果的篡改。本发明实施例对两个路径进行加密,即将待检测文件的存储路径,以及原始文件对应的密文即第二密文值的存储路径进行加密,阻断了恶意程序访问文件的路径,使得恶意程序无法获知所要检测的文件是哪些文件,进而防止了文件被攻击,增加了破解的难度。本发明实施例通过阻断文件存储路径来避免恶意程序访问文件,因此不需要对文件本身再进行加解密,每次应用时只需直接读取存储的明文文件即可,因而避免了对所要检测的文件本身进行加解密而导致获取文件耗时较长的问题,当存在恶意程序对文件进行篡改时,可快速地获知文件被篡改。
相应于上述方法实施例,本发明实施例还提供了一种检测文件是否被篡改的装置,如图4所示,该装置可以包括:
生成单元400,用于在软件发布之前生成路径加密文件;
第一获得单元401,用于获得路径加密文件;
第二获得单元402,用于在软件发布之后,解密该路径加密文件,获得第一存储路径和第二存储路径;
第三获得单元403,用于根据该第一存储路径获得待检测文件;对该待检测文件进行加密计算获得第一密文值;
第四获得单元404,用于根据第二存储路径获得第二密文值,其中,该第二密文值为基于该待检测文件所对应的原始文件确定的密文值;
确定单元405,用于确定该第一密文值和该第二密文值是否相同,若相同,则确定该原始文件未被篡改,若不相同,确定该原始文件被篡改。
由于在检测待检测文件是否被篡改的过程中,会受到恶意程序的攻击,而恶意程序大多根据存储路径存储获得待检测文件,进而对待检测文件进行篡改,进而实现对检测结果的篡改。本发明实施例对两个路径进行加密,即将待检测文件的存储路径,以及原始文件对应的密文即第二密文值的存储路径进行加密,阻断了恶意程序访问文件的路径,使得恶意程序无法获知所要检测的文件是哪些文件,进而防止了文件被攻击,增加了破解的难度。本发明实施例通过阻断文件存储路径来避免恶意程序访问文件,因此不需要对文件本身再进行加解密,每次应用时只需直接读取存储的明文文件即可,因而避免了对所要检测的文件本身进行加解密而导致获取文件耗时较长的问题,当存在恶意程序对文件进行篡改时,可快速地获知文件被篡改。
可选地,该生成单元400可以包括:
第一获得子单元,用于获得原始文件的第一存储路径;
第二获得子单元,用于基于该原始文件获得第二密文值,存储该第二密文值,获得存储该第二密文值的第二存储路径;
第三获得子单元,用于加密该第一存储路径和该第二存储路径,得到路径加密文件。
可选地,该第二获得子单元具体用于:
对该原始文件进行加密计算,获得第二密文值;
或,对该原始文件进行加密计算后所得的数据再次加密计算,获得第二密文值;相应地,该确定单元具体用于:
判断该第一密文值和该第二密文值是否相同;
或,解密该第二密文值,获得对该原始文件进行加密计算后所得的数据;
判断该第一密文值和对该原始文件进行加密计算后所得的数据是否相同。
可选地,该第二获得子单元具体用于:
利用摘要算法对该原始文件进行加密计算,获得第二密文值;
相应地,该第三获得单元403具体用于:
利用该摘要算法对该待检测文件进行加密计算获得第一密文值。
可选地,该第三获得子单元具体用于:
根据非对称密码算法加密该第一存储路径和该第二存储路径;
相应地,该第二获得单元402具体用于:
根据该非对称密码算法解密该路径加密文件。
可选地,该装置还可以包括:
删除单元,用于在该确定该待检测文件被篡改后,删除预设重要文件。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (12)

1.一种检测文件是否被篡改的方法,其特征在于,包括:
获得路径加密文件;所述路径加密文件是在软件发布之前生成的;
在软件发布之后,解密所述路径加密文件,获得第一存储路径和第二存储路径;
根据所述第一存储路径获得待检测文件;对所述待检测文件进行加密计算获得第一密文值;
根据第二存储路径获得第二密文值,其中,所述第二密文值为基于所述待检测文件所对应的原始文件确定的密文值;
确定所述第一密文值和所述第二密文值是否相同,若相同,则确定所述待检测文件未被篡改,若不相同,确定所述待检测文件被篡改。
2.根据权利要求1所述的方法,其特征在于,生成路径加密文件的步骤包括:
获得原始文件的第一存储路径;
基于所述原始文件获得第二密文值,存储所述第二密文值,获得存储所述第二密文值的第二存储路径;
加密所述第一存储路径和所述第二存储路径,得到路径加密文件。
3.根据权利要求2所述的方法,其特征在于,所述基于所述原始文件获得第二密文值,包括:
对所述原始文件进行加密计算,获得第二密文值;
或,对所述原始文件进行加密计算后所得的数据再次加密计算,获得第二密文值;
相应地,所述确定所述第一密文值和所述第二密文值是否相同,包括:
判断所述第一密文值和所述第二密文值是否相同;
或,解密所述第二密文值,获得对所述原始文件进行加密计算后所得的数据;
判断所述第一密文值和对所述原始文件进行加密计算后所得的数据是否相同。
4.根据权利要求3所述的方法,其特征在于,所述对所述原始文件进行加密计算,获得第二密文值,包括:
利用摘要算法对所述原始文件进行加密计算,获得第二密文值;
相应地,所述对所述待检测文件进行加密计算获得第一密文值,包括:
利用所述摘要算法对所述待检测文件进行加密计算获得第一密文值。
5.根据权利要求2所述的方法,其特征在于,根据非对称密码算法加密所述第一存储路径和所述第二存储路径;
相应地,所述解密所述路径加密文件,包括:根据所述非对称密码算法解密所述路径加密文件。
6.根据权利要求1所述的方法,其特征在于,在所述确定所述待检测文件被篡改后,还包括:删除预设重要文件。
7.一种检测文件是否被篡改的装置,其特征在于,包括:
生成单元,用于在软件发布之前生成路径加密文件;
第一获得单元,用于获得路径加密文件;
第二获得单元,用于在软件发布之后,解密所述路径加密文件,获得第一存储路径和第二存储路径;
第三获得单元,用于根据所述第一存储路径获得待检测文件;对所述待检测文件进行加密计算获得第一密文值;
第四获得单元,用于根据第二存储路径获得第二密文值,其中,所述第二密文值为基于所述待检测文件所对应的原始文件确定的密文值;
确定单元,用于确定所述第一密文值和所述第二密文值是否相同,若相同,则确定所述待检测文件未被篡改,若不相同,确定所述待检测文件被篡改。
8.根据权利要求7所述的装置,其特征在于,所述生成单元包括:
第一获得子单元,用于获得原始文件的第一存储路径;
第二获得子单元,用于基于所述原始文件获得第二密文值,存储所述第二密文值,获得存储所述第二密文值的第二存储路径;
第三获得子单元,用于加密所述第一存储路径和所述第二存储路径,得到路径加密文件。
9.根据权利要求8所述的装置,其特征在于,所述第二获得子单元具体用于:
对所述原始文件进行加密计算,获得第二密文值;
或,对所述原始文件进行加密计算后所得的数据再次加密计算,获得第二密文值,相应地,所述确定单元具体用于:
判断所述第一密文值和所述第二密文值是否相同;
或,解密所述第二密文值,获得对所述原始文件进行加密计算后所得的数据;
判断所述第一密文值和对所述原始文件进行加密计算后所得的数据是否相同。
10.根据权利要求9所述的装置,其特征在于,所述第二获得子单元具体用于:
利用摘要算法对所述原始文件进行加密计算,获得第二密文值;
相应地,所述第三获得单元具体用于:
利用所述摘要算法对所述待检测文件进行加密计算获得第一密文值。
11.根据权利要求8所述的装置,其特征在于,所述第三获得子单元具体用于:
根据非对称密码算法加密所述第一存储路径和所述第二存储路径;
相应地,所述第二获得单元具体用于:根据所述非对称密码算法解密所述路径加密文件。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
删除单元,用于在所述确定所述待检测文件被篡改后,删除预设重要文件。
CN201610707650.9A 2016-08-22 2016-08-22 一种检测文件是否被篡改的方法及装置 Active CN106295407B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610707650.9A CN106295407B (zh) 2016-08-22 2016-08-22 一种检测文件是否被篡改的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610707650.9A CN106295407B (zh) 2016-08-22 2016-08-22 一种检测文件是否被篡改的方法及装置

Publications (2)

Publication Number Publication Date
CN106295407A CN106295407A (zh) 2017-01-04
CN106295407B true CN106295407B (zh) 2021-07-20

Family

ID=57615515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610707650.9A Active CN106295407B (zh) 2016-08-22 2016-08-22 一种检测文件是否被篡改的方法及装置

Country Status (1)

Country Link
CN (1) CN106295407B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109308421B (zh) * 2017-07-28 2023-01-24 腾讯科技(深圳)有限公司 一种信息防篡改方法、装置、服务器和计算机存储介质
CN109495532A (zh) * 2017-09-13 2019-03-19 北京京东尚科信息技术有限公司 客户端更新方法和装置
CN108932405A (zh) * 2018-07-11 2018-12-04 深圳市思迪信息技术股份有限公司 移动平台本地资源防篡改方法及装置
CN109033860A (zh) * 2018-08-06 2018-12-18 中国建设银行股份有限公司 一种客户端资源文件篡改检测方法及装置
CN109376553A (zh) * 2018-09-04 2019-02-22 深圳技术大学(筹) 网站后台图片资源完整性的验证方法和系统
WO2020047736A1 (zh) * 2018-09-04 2020-03-12 深圳技术大学(筹) 网站后台图片资源完整性的验证方法和系统
CN110069415B (zh) * 2019-04-28 2023-03-31 苏州科达科技股份有限公司 用于软件测试过程中的软件完整性校验及软件测试方法
CN112491878A (zh) * 2020-11-26 2021-03-12 杭州安恒信息技术股份有限公司 一种mitm攻击的检测方法、装置及系统
CN114124557B (zh) * 2021-11-30 2024-05-14 袁林英 一种基于大数据的信息安全访问控制方法
CN115277112A (zh) * 2022-07-07 2022-11-01 海南视联通信技术有限公司 数据处理方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330524A (zh) * 2008-07-30 2008-12-24 华为技术有限公司 下载、下发文件的处理方法、装置以及传输文件的系统
CN101557308A (zh) * 2009-05-06 2009-10-14 成都市华为赛门铁克科技有限公司 一种文件的升级方法及终端设备
CN103001768A (zh) * 2011-09-13 2013-03-27 东方钢铁电子商务有限公司 电子质保书及其产生和验证方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330524A (zh) * 2008-07-30 2008-12-24 华为技术有限公司 下载、下发文件的处理方法、装置以及传输文件的系统
CN101557308A (zh) * 2009-05-06 2009-10-14 成都市华为赛门铁克科技有限公司 一种文件的升级方法及终端设备
CN103001768A (zh) * 2011-09-13 2013-03-27 东方钢铁电子商务有限公司 电子质保书及其产生和验证方法

Also Published As

Publication number Publication date
CN106295407A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN106295407B (zh) 一种检测文件是否被篡改的方法及装置
EP3646173B1 (en) Theft and tamper resistant data protection
CN112074836B (zh) 通过可信执行环境保护数据的设备和方法
US8555089B2 (en) Program execution apparatus, control method, control program, and integrated circuit
US11126718B2 (en) Method for decrypting data encrypted by ransomware
EP2420950B1 (en) Information processing system, information processing method, information processing program, computer readable medium and computer data signal
US9990511B1 (en) Using encrypted backup to protect files from encryption attacks
WO2010134192A1 (ja) 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法
CN113346998B (zh) 密钥更新及文件共享方法、装置、设备、计算机存储介质
US7607122B2 (en) Post build process to record stack and call tree information
WO2016019790A1 (zh) 一种安装包的校验方法、客户端、服务器及系统
US20180204004A1 (en) Authentication method and apparatus for reinforced software
CN110008719B (zh) 一种文件处理、文件检测方法及装置
WO2019134276A1 (zh) 一种保护网页代码的方法、存储介质、电子设备和系统
CN110826091A (zh) 一种文件签名方法、装置、电子设备及可读存储介质
CN110826107A (zh) 一种文件签名方法、装置、电子设备及可读存储介质
WO2016173267A1 (zh) 一种完整性校验方法和装置
JP2007072969A (ja) 動作履歴保護装置及び動作履歴保護プログラム
CN103368926A (zh) 一种防止文件篡改的方法和防止文件篡改的装置
KR20100106110A (ko) 시큐어 부트 데이터(Secure Boot Data) 통합 관리 시스템, 시큐어 부트 데이터 통합 관리를 위한 메타데이터 생성 및 검증 방법, 이를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는기록매체.
CN116484379A (zh) 系统启动方法、包含可信计算基软件的系统、设备及介质
JP2007188307A (ja) データファイル監視装置
CN104866740A (zh) 一种防静态分析文件的方法及装置
US20160092886A1 (en) Methods of authorizing a computer license
CN106921644B (zh) 客户端数据文件的验证方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou science and Technology Industrial Park, high tech Industrial Development Zone, Zhejiang Province, No. six and road, No. 310

Applicant before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

CB02 Change of applicant information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230616

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: No. 466 Changhe Road, Binjiang District

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right