CN115525933B - 数据防篡改方法、装置、电子设备及存储介质 - Google Patents
数据防篡改方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115525933B CN115525933B CN202211035081.XA CN202211035081A CN115525933B CN 115525933 B CN115525933 B CN 115525933B CN 202211035081 A CN202211035081 A CN 202211035081A CN 115525933 B CN115525933 B CN 115525933B
- Authority
- CN
- China
- Prior art keywords
- command
- area
- read
- authorization code
- registered
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种数据防篡改方法、装置、电子设备及存储介质。该方法包括:响应于擦写只读分区的擦写命令,判断所述擦写命令中的待擦写区域信息是否存在于可擦写列表中,其中,所述可擦写列表包括可擦写区域的区域信息,所述可擦写区域包括所述只读分区中已被允许擦写的区域;若所述待擦写区域信息存在于所述可擦写列表中,则擦写所述待擦写区域信息对应的待擦写区域。通过该方式,能在判断擦写命令为合法命令后,擦写与擦写命令中的待擦写区域信息对应的待擦写区域,从而能防止他人发起的擦写指令对只读分区进行篡改,提高只读分区的安全性,进而能保障设备正常工作。
Description
技术领域
本申请涉及数据安全技术领域,具体而言,涉及一种数据防篡改方法、装置、电子设备及存储介质。
背景技术
在修改存储芯片的存储区域过程中,若碰到系统异常、设备掉电等情形,则存在丢失数据的隐患。因此,针对上述问题通常会把存储芯片的存储区域划分为只读分区和可写分区,其中,只读分区用于存储平时系统运行时不需要修改的数据(如程序本身、出厂设置等),可写分区用于保存用户配置、系统运行日志等。可写分区的破坏并不会对设备造成致命的问题,里面的参数都可以通过恢复出厂设置的方式恢复。但若对只读分区的内容随意进行修改、删除,则会造成设备不能正常工作,因此,要严格管控只读分区的升级,只能由精心设计的升级程序才可以擦写。
目前,获得样机的客户、系统二次开发合作者、黑客等,可能会通过各种渠道登入设备,通过裸设备(原始分区)操作(跳过文件系统管控)直接有意或无意地修改只读分区,从而导致设备不能正常工作。因此,只读分区中的数据的安全性较低,需要一套防篡改措施,从而防止只读分区中的数据被任意篡改。
发明内容
本申请实施例的目的在于提供一种数据防篡改方法、装置、电子设备及存储介质,以防止只读区域被任意篡改,保障设备的正常工作。
本发明是这样实现的:
第一方面,本申请实施例提供一种数据防篡改方法,包括:响应于擦写只读分区的擦写命令,判断所述擦写命令中的待擦写区域信息是否存在于可擦写列表中,其中,所述可擦写列表包括可擦写区域的区域信息,所述可擦写区域包括所述只读分区中已被允许擦写的区域;若所述待擦写区域信息存在于所述可擦写列表中,则擦写所述待擦写区域信息对应的待擦写区域。
在本申请实施例中,将已被允许擦写的只读分区的区域信息保存至可擦写列表,以用于验证后续擦写命令中的待擦写区域是否是被允许的擦写的区域。当接收到擦写命令时,通过判断擦写命令中的待擦写区域信息是否存在于可擦写列表中,能判断出该擦写命令是否合法,即若擦写命令中的待擦写区域信息存在于可擦写列表中,则表示该命令是合法的,并非是用于篡改只读分区的命令,此时,则可擦写与擦写命令中的待擦写区域信息对应的待擦写区域。通过该方式,能防止用于篡改只读分区的擦写指令对只读分区进行擦写,从而能提高只读分区中的数据的安全性,进而能保障设备正常工作。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,在所述响应于擦写只读分区的擦写命令之前,所述方法还包括:响应于注册所述可擦写区域的注册区域命令,判断所述注册区域命令中的参数信息是否与预先注册的参数信息相同,其中,所述参数信息包括进程名、进程号和授权码,所述授权码为每次设备启动时,应用程序随机生成的一串字符;若所述注册区域命令中的参数信息与所述预先注册的参数信息相同,则将该可擦写区域的区域信息存储于所述可擦写列表中。
在本申请实施例中,当接收到注册区域命令时,判断注册区域命令中的参数信息是否与预先注册的参数信息相同,能判断该注册区域命令是否为合法命令,即若注册区域命令中的参数信息与预先注册的参数信息相同时,则表示该注册区域命令为合法命令,则可将注册区域命令中的可擦写区域的区域信息存储于可擦写列表中,以用于后续执行擦写操作前的确认。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述方法还包括:若所述注册区域命令中的进程名、进程号与所述预先注册的进程名、进程号相同,且所述注册区域命令中的授权码与所述预先注册的授权码不同,则禁止后续所有擦写所述只读分区的相关操作,直至所述设备重启。
在本申请实施例中,当注册区域命令的进程名、进程号与预先注册的进程名、进程号相同,且该注册区域命令中的授权码与预先注册的授权码不同时,表示此时有非法的注册区域命令在试探授权码。此时,禁止后续所有擦写只读分区的相关操作,即对后续接收到的所有注册区域命令或擦写命令都不做处理,直到设备重启。因在设备重新启动时,会注册新的授权码,故在设备重启后,授权码改变,使得该非法的注册区域命令无法在此前的基础上继续试探授权码。此外,因授权码为一串的字符,故较难在一次非法的注册区域命令时,猜中当前的授权码。因此,通过上述方式,能防止非法的注册区域命令或擦写命令反复试探授权码,从而试探出正确的授权码,进而在试探出正确的授权码后,用该授权码发出注册区域命令或擦写命令对只读分区进行篡改,从而能进一步提高擦写只读分区的安全性,且防止了只读分区被任意篡改,进而保障了设备的正常工作。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述判断所述注册区域命令中的参数信息是否与预先注册的参数信息相同,包括:判断当前是否禁止所有擦写所述只读分区的相关操作;若当前允许所述相关操作,则判断所述注册区域命令中的参数信息是否与所述预先注册的参数信息相同。
在本申请实施例中,因在有非法的命令试探授权码时,禁止所有擦写只读分区的相关操作,即不执行下一次的注册区域命令。因此,在后续各项操作中判断当前是否禁止所有擦写只读分区的相关操作,能防止非法的命令反复试探,从而试探出正确的授权码,进而在试探出正确的授权码后,用该授权码发出擦写命令对只读分区进行篡改。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述判断所述擦写命令中的待擦写区域信息是否存在于可擦写列表,包括:判断所述擦写命令中的进程名和进程号是否与预先注册的进程名和进程号相同;若所述擦写命令中的进程名和进程号与所述预先注册的进程名和进程号相同,则判断所述待擦写区域信息是否存在于所述可擦写列表中。
在本申请实施例中,判断擦写命令中的进程名和进程号是否与预先注册的进程名和进程号相同,能保证发起擦写命令的进程的一致性,即将擦写只读分区的操作限制于单一的进程中,从而能进一步提高擦写只读分区的安全性。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述方法还包括:响应于撤销所述可擦写区域的撤销命令,判断所述撤销命令中的参数信息是否与预先注册的参数信息相同,其中,所述参数信息包括进程名、进程号和授权码,所述授权码为每次设备启动时,应用程序随机生成的一串字符;若所述撤销命令中的参数信息与所述预先注册的参数信息相同,则在所述可擦写列表中去除与所述撤销命令中可撤销区域对应的区域信息。
在本申请实施例中,当接收到撤销可擦写区域的撤销命令时,可先判断撤销命令中的参数信息是否与预先注册的参数信息相同,即判断该撤销命令是否为合法的撤销命令。当撤销命令中的参数信息与预先注册的参数信息相同时,则表示该撤销命令是合法的,即该撤销命令是被允许的,此时,在可擦写列表中去除与撤销命令中待撤销区域对应的区域信息。通过上述方式,能在保证撤销命令为合法的命令后,才从可擦写列表中去除与撤销命令中可撤销区域对应的区域信息,从而能防止非法的撤销命令对可擦写列表中的各区域信息进行任意撤销,进而能防止非法的撤销命令破坏未完成的擦写操作流程。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述方法还包括:若所述撤销命令中的进程名、进程号与所述预先注册的进程名、进程号相同,且所述撤销命令中的授权码与所述预先注册的授权码不同,则禁止后续所有擦写所述只读分区的相关操作,直至设备重启。
在本申请实施例中,当撤销命令中的进程名、进程号与预先注册的进程名、进程号相同,且撤销命令中的授权码与预先注册的授权码不同时,表示有非法的撤销命令在试探授权码,此时禁止后续所有擦写只读分区的相关操作,直到设备重启。因设备在重新启动时,会注册新的授权码,故在设备重启后,授权码改变,则该非法的撤销命令无法在此前的基础上继续试探授权码。此外,因授权码为一串字符,故较难在一次非法的撤销命令中猜中当前的授权码。因此,通过上述方式,能防止非法的撤销命令反复试探授权码,以及在试探出正确的授权码后,用该授权码发出注册区域命令或擦写命令对只读分区进行篡改,从而提高了擦写只读分区的安全性,且防止了只读区域被任意篡改,进而能保障设备的正常工作。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述方法还包括:在设备启动且在接收到应用程序发起的注册授权码的第一注册命令时,判断当前是否为首次注册所述授权码,其中,所述第一注册命令携带有所述授权码;若当前为首次注册授权码,则获取所述第一注册命令的程序对应的进程名和进程号,并注册该进程名、进程号和授权码,该进程名、进程号和授权码为所述预先注册的参数信息。
在本申请实施例中,通过判断当前是否为首次注册授权码,能在设备的参数信息注册完毕后,无法再重新注册参数信息,从而能防止授权码在注册后,无法被其他非法的第一注册命令重新注册为其他人已知的字符串,进而能保证应用程序生成的授权码的安全性,以及能保证后续操作中使用的授权码一直为应用程序生成的授权码。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述方法还包括:在接收到所述应用程序发起的注册所述只读分区的第二注册命令时,判断当前是否为首次注册所述只读分区;若当前为首次注册所述只读分区,则判断所述第二注册命令中携带的进程名、进程号、授权码与预先注册的进程名、进程号、授权码是否相同;若所述第二注册命令中携带的进程名、进程号、授权码与预先注册的进程名、进程号、授权码相同,则将所有所述只读分区的区域信息保存至只读分区信息列表中。
在本申请实施例中,在应用程序已完成授权码的注册后,通过判断当前是否为首次注册只读分区,能防止非法的第二注册命令篡改只读分区信息列表,比如:将只读分区信息列表中的各区域信息替换为空的区域信息(即使只读分区信息列表中没有任何区域信息),此时,只读分区则被全部篡改为可写分区,若将只读分区篡改为可写分区,其他人则可直接发出擦写可写分区的指令,从而更改只读分区的内容。此外,通过将第二注册命令中携带的参数信息与在接收到第一注册命令后的注册的参数信息进行比较,在两者的参数信息相同时,才将所有只读分区的区域信息保存至只读分区信息列表中,能进一步保证第二注册命令是本设备的应用程序发起的,而非非法的第二注册命令,从而能进一步保证注册所有只读分区的安全性。
第二方面,本申请实施例提供一种数据防篡改装置,包括:判断模块,用于响应于擦写只读分区的擦写命令,判断所述擦写命令中的待擦写区域信息是否存在于可擦写列表中,其中,所述可擦写列表包括可擦写区域的区域信息,所述可擦写区域包括所述只读分区中已被允许擦写的区域;处理模块,用于若所述擦写命令中的待擦写区域信息存在于所述可擦写列表中,则擦写所述擦写命令中的待擦写区域信息对应的待擦写区域。
第三方面,本申请实施例提供一种电子设备,包括:处理器和存储器,所述处理器和所述存储器连接;所述存储器用于存储程序;所述处理器用于调用存储在所述存储器中的程序,执行如上述第一方面实施例和/或结合上述第一方面实施例的一些可能的实现方式提供的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被计算机运行时执行如上述第一方面实施例和/或结合上述第一方面实施例的一些可能的实现方式提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种数据防篡改方法的步骤流程图。
图2为本申请实施例提供的一种MTD(Memory Technology Device,存储技术设备)字符设备驱动在接收到注册授权码命令时的步骤流程图。
图3为本申请实施例提供的MTD字符设备驱动在接收到注册所有只读分区命令时的步骤流程图。
图4为本申请实施例提供的MTD字符设备驱动在接收到注册可擦写区域命令时的步骤流程图。
图5为本申请实施例提供的MTD字符设备驱动在接收到撤销可擦写区域命令时的步骤流程图。
图6为本申请实施例提供的一种数据防篡改装置的模块框图。
图7为本申请实施例提供的一种电子设备的模块框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
鉴于目前获得样机的客户、系统二次开发合作者、黑客等人,可能会通过各种渠道登入设备,有意或无意地修改只读分区,从而导致设备不能正常工作,使得只读分区的安全性较低。本申请发明人经过研究探索,提出以下实施例以解决上述问题。
以下结合图1对一种数据防篡改方法的具体流程及步骤进行描述。本申请实施例提供一种数据防篡改方法,可应用于电子设备,比如:安防监控设备。
需要说明的是,本申请实施例提供的数据防篡改方法不以图1及以下所示的顺序为限制。
步骤S101:响应于擦写只读分区的擦写命令,判断擦写命令中的待擦写区域信息是否存在于可擦写列表中。
其中,可擦写列表包括可擦写区域的区域信息,该可擦写区域包括只读分区已被允许擦写的区域。并且,可擦写列表可为一个数组。
步骤S102:若擦写命令中的待擦写区域信息存在于可擦写列表中,则擦写待擦写区域信息对应的待擦写区域。
在本申请实施例中,将已被允许擦写的只读分区的区域信息保存至可擦写列表,以用于验证后续擦写命令中的待擦写区域是否是被允许的擦写的区域。当接收到擦写命令时,通过判断擦写命令中的待擦写区域信息是否存在于可擦写列表中,能判断出该擦写命令是否合法,即若擦写命令中的待擦写区域信息存在于可擦写列表中,则表示该命令是合法的,并非是用于篡改只读分区的命令,此时,则可擦写与擦写命令中的待擦写区域信息对应的待擦写区域。
通过上述方式,能防止用于篡改只读分区的擦写指令对只读分区进行擦写,从而能提高只读分区中的数据的安全性,进而能保障设备正常工作。
下面对上述方法进行详细介绍。
在设备启动且接收到应用程序发起的注册授权码的第一注册命令时,判断当前是否为首次注册授权码,其中,第一注册命令携带有授权码;若当前为首次注册授权码,则获取第一注册命令的程序对应的进程名和进程号,并注册该进程名、进程号和授权码,该进程名、进程号和授权码为预先注册的参数信息。
其中,应用程序为完成设备主要业务的程序,且该应用程序包括负责升级设备固件(即允许擦写只读分区)的升级程序。
授权码为每次设备重启后,应用程序随机生成的一串字符,即应用程序产生的多个随机数拼接成的字符数组,每个字符取值可为0-255,且该授权码可为128字节。
此外,授权码的字节长度可根据实际情况进行设置,若系统存储非常有限,则可将授权码的字节长度设置的较短,比如:可设置为8字节。可以理解的是,授权码设置的字节越多,则防破解的效果越好,即猜中该授权码的概率越低,但会增加设备保存或拷贝授权码的负担。
进程名为发出第一注册命令的程序名;进程号为设备的操作系统为该程序分配的一个数字编号,且进程号是唯一的。
需要说明的是,设备在启动时,应用程序最先发起第一注册命令,以将随机生成的授权码尽早注册于设备内核空间中。并且,后续只有该应用程序拥有并使用该授权码,其它程序都无法获知该授权码,也不能再次注册授权码。
此外,通过判断当前是否为首次注册授权码,使得在设备的参数信息注册完毕后,无法再重新注册参数信息,从而能防止授权码在注册后被其他非法的第一注册命令重新注册为其他人已知的号码,进而能保证应用程序生成的授权码的安全性,以及能保证后续操作中使用的授权码一直为应用程序生成的授权码。
在完成第一注册命令后,本方法可进行第二注册命令对应的操作。
具体的,在接收到应用程序发起的注册只读分区的第二注册命令时,判断当前是否为首次注册只读分区;若当前为首次注册只读分区,则判断第二注册命令中携带的进程名、进程号、授权码与预先注册的进程名、进程号、授权码是否相同;若第二注册命令中携带的进程名、进程号、授权码与预先注册的进程名、进程号、授权码相同,则将所有只读分区的区域信息保存至只读分区信息列表中。
其中,区域信息包括各只读分区所在的分区名、在存储器中的地址和所占大小。
在本申请实施例中,当第一注册命令完成后,发起第二注册命令,从而将设备的所有只读分区的区域信息全部存储于在只读分区信息列表中。因此,在应用程序已完成授权码的注册后,通过判断当前是否为首次注册只读分区,能防止非法的第二注册命令篡改只读分区信息列表,比如:将只读分区信息列表中的各区域信息替换为空的区域信息(即使只读分区信息列表中没有任何区域信息),此时,只读分区则被全部篡改为可写分区,若将只读分区篡改为可写分区,其他人则可直接发出擦写该可写分区的指令,从而更改只读分区的内容。
通过将第二注册命令中携带的参数信息与在接收到第一注册命令后的注册的参数信息进行比较,在两者的参数信息相同时,才将所有只读分区的区域信息保存至只读分区信息列表中,能进一步保证第二注册命令是本设备的应用程序发起的,而非非法的第二注册命令,从而能进一步保证注册所有只读分区的安全性。
可以理解的是,若当前不是首次注册只读分区,则拒绝进行第二注册命令。
此外,若在首次注册只读分区的区域信息时,第二注册命令中携带的进程名、进程号、授权码与预先注册的进程名、进程号、授权码不相同,则该第二注册命令可能是非法的命令,此时,可将设备中的所有分区(即整个存储区域的区域信息)存储在只读分区信息列表中,且在后续各项操作中,将设备中的所有分区都作为只读分区进行处理,以保证擦写只读分区的安全性。
需要说明的是,设备启动过程中,应用程序最先发出第一注册命令和第二注册命令。通过该方式,能保证设备启动过程中,就已将进程名、进程号、授权码和所有只读分区的区域信息注册于设备的内核空间。并且,由于第一注册命令和第二注册命令只有一次机会注册成功,从而能避免后续其它程序进行非法注册。
在设备完成第一注册命令和第二注册命令的操作后,可对只读区域进行擦写、撤销等操作,以下对该操作进行说明。
步骤S101:响应于擦写只读分区的擦写命令,判断擦写命令中的待擦写区域信息是否存在于可擦写列表中。
其中,可擦写列表包括可擦写区域的区域信息,可擦写区域为已被允许擦写的只读分区。且待擦写区域信息包括待擦写区域在存储器中的地址和所占大小。
可选的,在响应于擦写只读分区的擦写命令之前(即步骤S101之前),数据防篡改方法还可包括:响应于注册可擦写区域的注册区域命令,根据该注册区域命令中的可擦写区域的区域信息,判断该区域信息是否存在于只读分区信息列表;若该区域信息存在于只读分区信息列表中,则可继续执后续注册可擦写区域的步骤。
可以理解的是,若注册区域命令中的可擦写区域的区域信息不存在于只读分区信息列表中,则表示该可擦写区域为可写分区的区域。因可写分区为可以随时修改的区域,故不需要对该区域进行后续步骤。
在本申请实施例中,若注册区域命令中的可擦写区域的区域信息存在于只读分区信息列表中,则表示该注册区域命令为针对只读分区的命令,此时,可继续执行后续注册可擦写区域的步骤。反之,该注册区域命令则是针对可写区域的命令,因可写区域为可以随时修改的区域,无须进行事先注册,故若擦写命令是针对可写区域的命令,则可在接收到该擦写命令时,直接执行该擦写命令。
可选的,在响应于擦写只读分区的擦写命令之前(即步骤S101之前),数据防篡改方法还可包括:判断注册区域命令中的参数信息是否与预先注册的参数信息相同,其中,参数信息包括进程名、进程号和授权码,授权码为每次设备启动时,应用程序随机生成的一串字符;若注册区域命令中的参数信息与预先注册的参数信息相同,则将可擦写区域的区域信息存储于可擦写列表中。
在本申请实施例中,当接收到注册区域命令时,判断注册区域命令中的参数信息是否与预先注册的参数信息相同,能判断该注册区域命令是否为合法命令,即若注册区域命令中的参数信息与预先注册的参数信息相同时,则表示该注册区域命令为合法命令,则可将注册区域命令中的可擦写区域的区域信息存储于可擦写列表中,以用于后续执行擦写操作前的确认。
因进程名可以伪造,进程号虽是唯一的,但在进程释放后,仍可以被重复利用,即可以通过先终止应用程序,再启动程序,则有机会获取相同的进程号。而因授权码是一长串的随机码,且在设备每次重启后,都会重新随机生成,故其他人难以获取到当前的授权码。因此,通过将注册区域命令参数中的授权码与预先注册的参数中的授权码进行比较,能进一步防止非法的注册区域命令被接受,从而能保证后续他人发出擦写只读分区的命令都被验证为非法命令,从而无法达到篡改只读分区的目的。
可选的,在响应于擦写只读分区的擦写命令之前(即步骤S101之前),数据防篡改方法还可包括:响应于注册可擦写区域的注册区域命令,根据该注册区域命令中的可擦写区域的区域信息,判断该区域信息是否存在于只读分区信息列表;若该区域信息存在于只读分区信息列表中,则判断注册区域命令中的参数信息是否与预先注册的参数信息相同,其中,参数信息包括进程名、进程号和授权码,授权码为每次设备启动时,应用程序随机生成的一串字符;若注册区域命令中的参数信息与预先注册的参数信息相同,则将可擦写区域的区域信息存储于可擦写列表中。
可选的,判断注册区域命令中的参数信息是否与预先注册的参数信息相同可具体包括:判断当前是否禁止所有擦写只读分区的相关操作;若当前允许该相关操作,则判断注册区域命令中的参数信息是否与预先注册的参数信息相同。其中,相关操作可包括注册区域命令和擦写命令对应的各操作。
在本申请实施例中,因在有非法的命令试探授权码时,禁止后续所有擦写只读分区的相关操作,即不执行下一次的注册区域命令。因此,在后续各项操作中判断当前是否禁止后续所有擦写只读分区的相关操作,能防止非法的命令反复试探,从而试探出正确的授权码,进而在试探出正确的授权码后,用该授权码发出擦写命令对只读分区进行篡改。
进一步,若注册区域命令中的进程名、进程号与预先注册的进程名、进程号相同,且注册区域命令中的授权码与预先注册的授权码不同,则禁止后续所有擦写只读分区的相关操作,直至设备重启。其中,该相关操作可包括注册区域命令对应的各操作。
当注册区域命令的进程名、进程号与预先注册的进程名、进程号相同,且该注册区域命令中的授权码与预先注册的授权码不同时,表示此时有非法的注册区域命令在试探授权码。此时,禁止后续所有擦写只读分区的相关操作,即对后续接收到的所有注册区域命令或擦写命令都不做处理,直到设备重启。因在设备重新启动时,会注册新的授权码,故在设备重启后,授权码改变,使得该非法的注册区域命令无法在此前的基础上继续试探授权码。
此外,因授权码为一串的字符,故较难在一次非法的注册区域命令时,猜中当前的授权码。因此,通过上述方式,能防止非法的注册区域命令或擦写命令反复试探授权码,从而试探出正确的授权码,进而在试探出正确的授权码后,用该授权码发出注册区域命令或擦写命令对只读分区进行篡改,从而能进一步提高擦写只读分区的安全性,且防止了只读分区被任意篡改,进而保障了设备的正常工作。
可选的,判断擦写命令中的待擦写区域信息是否存在于可擦写列表可具体包括:判断擦写命令中的进程名和进程号是否与预先注册的进程名和进程号相同;若擦写命令中的进程名和进程号与预先注册的进程名和进程号相同,则判断待擦写区域信息是否存在于可擦写列表中。
可以理解的是,若擦写命令中的进程名和进程号与预先注册的进程名和进程号不相同,则结束该擦写命令对应的各操作。
在本申请实施例中,判断擦写命令中的进程名和进程号是否与预先注册的进程名和进程号相同,能保证发起擦写命令的进程的一致性,即将擦写只读分区的操作限制于单一的进程中,从而能进一步提高擦写只读分区的安全性。
此外,上述判断擦写命令中的待擦写区域信息是否存在于可擦写列表可具体包括:判断待擦写区域信息中的擦写范围是否存在于可擦写列表中,其中,该擦写范围为待擦写区域在存储器中的地址和所占大小。具体的,待擦写区域可由起始地址和大小界定,或由起始地址和结束地址界定。
可以理解的是,判断待擦写区域信息中的擦写范围是否存在于可擦写列表中,即是判断可擦写列表的区域信息中包含的区域范围是否包含了待擦写区域信息中的擦写范围。
在判断待擦写区域信息是否存在于可擦写列表后,本方法可继续进行步骤S102。
步骤S102:若待擦写区域信息存在于可擦写列表中,则擦写待擦写区域信息对应的待擦写区域。
在本申请实施例中,将已被允许擦写的只读分区的区域信息保存至可擦写列表,以用于验证后续擦写命令中的待擦写区域是否是被允许的擦写的区域。当接收到擦写命令时,通过判断擦写命令中的待擦写区域信息是否存在于可擦写列表中,能判断出该擦写命令是否合法,即若擦写命令中的待擦写区域信息存在于可擦写列表中,则表示该命令是合法的,并非是用于篡改只读分区的命令,此时,则可擦写与擦写命令中的待擦写区域信息对应的待擦写区域。通过该方式,能防止用于篡改只读分区的擦写指令对只读分区进行擦写,从而能提高只读分区中的数据的安全性,进而能保障设备正常工作。
需要说明的是,在擦写命令完成后,注册区域命令注册的可擦写区域的区域信息仍然保留在可擦写列表中,应用程序可及时发出撤销命令,将可擦写区域的区域信息从可擦写列表中去除。
以下对撤销可擦写列表中的可擦写区域的过程进行说明。
具体的,响应于撤销可擦写区域的撤销命令,判断撤销命令中的参数信息是否与预先注册的参数信息相同;若撤销命令中的参数信息与预先注册的参数信息相同,则在可擦写列表中去除与撤销命令中可撤销区域对应的区域信息。其中,上述参数信息包括进程名、进程号和授权码。
在本申请实施例中,当接收到撤销可擦写区域的撤销命令时,可先判断撤销命令中的参数信息是否与预先注册的参数信息相同,即判断该撤销命令是否为合法的撤销命令。当撤销命令中的参数信息与预先注册的参数信息相同时,则表示该撤销命令是合法的,即该撤销命令是被允许的,此时,在可擦写列表中去除与撤销命令中待撤销区域对应的区域信息。
通过上述方式,能在保证撤销命令为合法的命令后,才从可擦写列表中去除与撤销命令中可撤销区域对应的区域信息,从而能防止非法的撤销命令对可擦写列表中的各区域信息进行任意撤销,进而能防止非法的撤销命令破坏未完成的擦写操作流程。
进一步,若撤销命令中的进程名、进程号与预先注册的进程名、进程号相同,且撤销命令中的授权码与预先注册的授权码不同,则禁止后续所有擦写只读分区的相关操作,直至设备重启。其中,相关操作可包括注册区域命令、擦写命令和撤销命令对应的各操作。
可以理解的是,若撤销命令中的参数信息与预先注册的参数信息不同,可结束当前的撤销命令,即不进行正确的撤销命令对应的后续操作。
在本申请实施例中,当撤销命令中的进程名、进程号与预先注册的进程名、进程号相同,且撤销命令中的授权码与预先注册的授权码不同时,表示有非法的撤销命令在试探授权码,此时禁止后续所有擦写只读分区的相关操作,直到设备重启。因设备在重新启动时,会注册新的授权码,故在设备重启后,授权码改变,则该非法的撤销命令无法在此前的基础上继续试探授权码。此外,因授权码为一串字符,故较难在一次非法的撤销命令中猜中当前的授权码。因此,通过上述方式,能防止非法的撤销命令反复试探授权码,以及在试探出正确的授权码后,用该授权码发出注册区域命令或擦写命令对只读分区进行篡改,从而提高了擦写只读分区的安全性,且防止了只读区域被任意篡改,进而能保障设备的正常工作。
可选的,判断撤销命令中的参数信息是否与预先注册的参数信息相同可具体包括:判断当前是否禁止所有擦写只读分区的相关操作,若当前允许擦写所有只读分区,则判断撤销命令中的参数信息是否与预先注册的参数信息相同。
在本申请实施例中,因在有非法的命令试探授权码时,会禁止所有擦写只读分区的相关操作。因此,在判断撤销命令中的参数信息是否与预先注册的参数信息相同之前,判断当前是否禁止所有擦写只读分区的相关操作,能防止非法的撤销命令反复试探,从而试探出正确的授权码,进而在试探出正确的授权码后,用该授权码发出擦写命令对只读分区进行篡改。
进一步,判断当前是否禁止所有擦写只读分区的相关操作可具体包括:判断撤销命令中待撤销区域对应的区域信息是否为已注册的所有只读分区中的区域,若待撤销区域对应的区域信息为已注册的所有只读分区中的区域,则判断当前是否禁止所有擦写只读分区的相关操作。
其中,判断撤销命令中待撤销区域对应的区域信息是否为已注册的所有只读分区中的区域可具体包括:判断待撤销区域对应的区域信息是否存在于可擦写列表中。
此外,需要说明的是,如果应用程序退出,在应用程序接收到退出信号时,若检测到撤销命令没有执行过的,则应及时执行;若撤销命令已在执行但没有完成,则应等待其完成后再退出应用程序。通过该方式,能确保将可擦写列表清空,使得他人无法伪造应用程序,以在不通过注册区域命令注册可擦写区域的区域信息时,直接使用可擦写列表,从而对只读分区进行数据篡改。
为便于本领域技术人员理解本方案,以下提供一个在嵌入式Linux操作系统中广泛使用的实施例进行说明。具体的,上述数据防篡改方法可应用于嵌入式Linux操作系统中,且程序存放在NOR(或非型)或NAND(与非型)等Flash(闪存)存储芯片的设备。
首先,在设备的MTD(Memory Technology Device,存储技术设备)字符设备驱动处预先增加注册授权码的命令、注册所有只读分区的命令、注册可擦写区域的命令和撤销可擦写区域的命令。
具体的,请参阅图2,针对上述注册授权码的命令,设置MTD字符设备驱动在接收到应用程序发送的注册授权码命令后,首先判断是否为首次注册授权码,若不是,则拒绝该命令,即不进行该命令对应的后续操作;若是,则记录发送该命令的程序对应的进程名和进程号,以及该命令参数(即命令中携带的参数)中的授权码;且标记已注册过,并返回。
请参阅图3,针对上述注册所有只读分区的命令,设置MTD字符设备驱动在接收到应用程序发出的注册所有只读分区的命令后,首先判断是否为首次注册所有只读分区,若不是,则拒绝该命令,即不进行该命令对应的后续操作;若是,则记录发送该命令的程序对应的进程名和进程号,以及该命令参数中的授权码,将此次记录的参数信息(进程名、进程号、授权码)与注册授权码时记录的参数信息(进程名、进程号、授权码)进行比较;若两次记录的内容不相同,则将设备中的所有分区均设置为只读分区,即把存储设备的所有区域信息均存储至只读分区信息列表中;若两次记录的内容相同,则将该命令中的所有只读分区的区域信息存储在只读分区信息列表中。
请参阅图4,针对上述注册可擦写区域的命令,设置MTD字符设备驱动在接收到应用程序发出的注册可擦写区域的命令时,首先判断该命令参数中的可擦写区域是否为已注册的所有只读分区中的区域,若不是,则不做处理,直接返回;若是,则判断当前是否禁止所有擦写只读分区的相关操作,若当前禁止相关操作,则不做处理,直接返回;若当前允许擦写所有只读分区,则记录发送该命令的程序对应的进程名和进程号,以及该命令参数中的授权码,并将此次记录的进程名、进程号、授权码与注册授权码时记录的进程名、进程号、授权码进行比较;若两次记录的内容不相同,则进一步判断两次记录的进程号和进程名是否相同,若不同,则不作处理,直接返回;若相同,则禁止后续所有擦写只读分区的相关操作;若两次记录的内容相同,则将该命令参数中的可擦写区域的区域信息保存至可擦写列表中。
请参阅图5,针对撤销可擦写区域的命令,设置MTD字符设备驱动在接收到应用程序发出的撤销命令时,首先判断该命令中的需要撤销的区域是否为已注册的所有只读分区中的区域,若不是,则不做处理,直接返回;若是,则判断当前是否禁止所有擦写只读分区的相关操作,若当前禁止相关操作,则不做处理,直接返回;若当前允许擦写所有只读分区,则记录发送该命令的程序对应的进程名和进程号,以及该命令参数中的授权码,并将此次记录的进程名、进程号、授权码与注册授权码时记录的进程名、进程号、授权码进行比较;若两次记录的内容不相同,则进一步判断两次记录的进程号和进程名是否相同,若不同,则不作处理,直接返回;若相同,则禁止后续所有擦写只读分区的相关操作;若两次记录的内容相同,则将该命令中的待撤销的区域信息从可擦写列表中去除。
在设备的MTD字符设备驱动处设置好上述的四个注册或撤销操作后,可修改Flash(NOR或NAND)驱动程序,即分别在已有的擦或写Flash某个区域的函数中增加下述的验证操作。
具体的,判断擦写命令中的待擦写区域是否落在只读分区内,若不是,则说明该命令擦写的是可写分区,直接进行擦或写操作即可;若是,则判断该擦写命令的进程名、进程号是否与注册授权码时记录的进程名、进程号相同,若不同,则返回,即不做后续的擦或写操作,若相同,则判断该待擦写区域信息是否存在于可擦写列表中,若不存在,则返回,表示不可擦写;若存在,则进行擦或写操作。
需要说明的是,本申请实施例涉及的擦或写函数是被MTD驱动内部预先设置的,其参数和具体擦写实现都不能随意改动,因此,此处仅是增加了进程名和进程号验证操作,而把授权码验证放在前面的注册可擦写区域的命令中,这里通过判断待擦写区域是否存在于可擦写列表中,进行了间接验证,从而增加了程序设计的灵活性。
可理解的是,针对注册可擦写区域的命令,因通过进程名、进程号和授权码可限制向可擦写列表中注册可擦写区域信息,故擦或写函数中只要验证进程名和进程号是否与注册授权码时记录的进程名和进程号相同,再判断待擦写区域是否存在于可擦写列表中,就能防止只读分区被非法的命令篡改。
需要说明的是,上述步骤均是在操作系统内核空间内的修改。除了对操作系统内核空间的修改,还需对应用程序进行修改,以下对应用程序的修改进行说明。
在应用程序开始处,增加两个功能,分别是:
功能一:产生一组128字节的由随机数组成的授权码,然后,将该授权码通过上述注册授权码命令注册至MTD字符设备驱动中。该授权码的每个字节都是0~255内的一个随机数。
功能二:把分区表中的全部只读分区信息,通过上述注册所有只读分区的命令注册至MTD字符设备驱动中。
此外,在应用程序的升级模块中,每次擦写Flash某个区域前,通过上述注册可擦写区域的命令,将需要擦写的Flash区域(即需要擦写的区域地址和大小)和授权码一同发送至MTD字符设备驱动。然后,发送擦除Flash某个区域的命令,将需要擦除的Flash区域(即需要擦写的区域地址和大小)发送至MTD字符设备驱动,再调用标准的写函数把需要写入的地址、数据及长度间接地发送至MTD字符设备驱动。擦写Flash某个区域后,通过上述撤销可擦写区域的命令,及时将需要撤销的区域(即需要撤销的区域地址和大小)和授权码一同发送至MTD字符设备驱动。
在完成上述各设置后,当设备重启时,应用程序可最先向MTD字符设备驱动发送注册授权码的命令,MTD字符设备驱动在接收到该命令后,可以按照上述注册授权码命令的操作,记录发送该命令的程序对应的进程名和进程号,以及该命令参数中的授权码。
在注册授权码之后,应用程序向MTD字符设备驱动发送注册所有只读分区的命令,且MTD字符设备驱动在接收到该命令后,可以按照上述注册所有只读分区命令的操作,将该命令参数中的所有只读分区的区域信息存储在只读分区信息列表中。
在应用程序的升级模块中,可先发送注册可擦写区域的命令。在MTD字符设备驱动在接收到该命令后,可以按照上述注册可擦写区域的命令的操作,作出相应的操作。
此外,在应用程序的升级模块中,可发出擦写Flash某一区域的命令。在MTD字符设备驱动在接收到该命令后,可以按照上述擦写Flash某个区域命令的操作,作出相应的操作。
在应用程序的升级模块中,发出撤销擦写Flash某一区域的命令时,MTD字符设备驱动在接收到该命令后,可以按照上述撤销可擦写区域的命令,作出相应的操作。
需要说明的是,当上述数据防篡改方法应用于其他操作系统时,上述增加注册授权码的命令、注册所有只读分区的命令、注册可擦写区域的命令和撤销可擦写区域的命令的操作可根据实际情况在不同的驱动处进行设置。
请参阅图6,基于同一发明构思,本申请实施例还提供一种数据防篡改装置100,该装置100包括:判断模块101和处理模块102。
判断模块101,用于响应于擦写只读分区的擦写命令,判断擦写命令中的待擦写区域信息是否存在于可擦写列表中,其中,可擦写列表包括可擦写区域的区域信息,可擦写区域包括只读分区中已被允许擦写的区域。
处理模块102,用于若待擦写区域信息存在于可擦写列表中,则擦写待擦写区域信息对应的待擦写区域。
可选的,数据防篡改装置100还包括注册模块103,注册模块103用于响应于注册可擦写区域的注册区域命令,判断注册区域命令中的参数信息是否与预先注册的参数信息相同,其中,参数信息包括进程名、进程号和授权码,授权码为每次设备启动时,应用程序随机生成的一串字符;若注册区域命令中的参数信息与预先注册的参数信息相同,则将可擦写区域的区域信息存储于可擦写列表中。
可选的,注册模块103还用于若注册区域命令中的进程名、进程号与预先注册的进程名、进程号相同,且注册区域命令中的授权码与预先注册的授权码不同,则禁止后续所有擦写只读分区的相关操作,直至设备重启。
可选的,判断模块101具体用于判断当前是否禁止所有擦写只读分区的相关操作;若当前允许相关操作,则判断注册区域命令中的参数信息是否与预先注册的参数信息相同。
可选的,判断模块101具体用于判断擦写命令中的进程名和进程号是否与预先注册的进程名和进程号相同;若擦写命令中的进程名和进程号与预先注册的进程名和进程号相同,则判断待擦写区域信息是否存在于可擦写列表中。
可选的,处理模块102还用于响应于撤销可擦写区域的撤销命令,判断撤销命令中的参数信息是否与预先注册的参数信息相同,其中,参数信息包括进程名、进程号和授权码,授权码为每次设备启动时,应用程序随机生成的一串字符;若撤销命令中的参数信息与预先注册的参数信息相同,则在可擦写列表中去除与撤销命令中可撤销区域对应的区域信息。
可选的,处理模块102还用于若撤销命令中的进程名、进程号与预先注册的进程名、进程号相同,且撤销命令中的授权码与预先注册的授权码不同,则禁止后续所有擦写只读分区的相关操作,直至设备重启。
可选的,注册模块103还用于在设备启动且在接收到应用程序发起的注册授权码的第一注册命令时,判断当前是否为首次注册授权码,其中,第一注册命令携带有授权码;若当前为首次注册授权码,则获取第一注册命令的程序对应的进程名和进程号,并注册该进程名、进程号和授权码,该进程名、进程号和授权码为预先注册的参数信息。
可选的,注册模块103还用于在接收到应用程序发起的注册只读分区的第二注册命令时,判断当前是否为首次注册只读分区;若当前为首次注册只读分区,则判断第二注册命令中携带的进程名、进程号、授权码与预先注册的进程名、进程号、授权码是否相同;若第二注册命令中携带的进程名、进程号、授权码与预先注册的进程名、进程号、授权码相同,则将所有只读分区的区域信息保存至只读分区信息列表中。
请参阅图7,基于同一发明构思,本申请实施例提供的一种电子设备200的示意性结构框图,该电子设备200可用于实施上述的一种数据防篡改方法。本申请实施例中,电子设备200可以是,但不限于个人计算机(Personal Computer,PC)、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、移动上网设备(Mobile Internet Device,MID)、安防设备、监控设备等。在结构上,电子设备200可以包括处理器210和存储器220。
处理器210与存储器220直接或间接地电性连接,以实现数据的传输或交互,例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。其中,处理器210可以是一种集成电路芯片,具有信号处理能力。处理器210也可以是通用处理器,例如,可以是中央处理器(Central Processing Unit,CPU)、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。此外,通用处理器可以是微处理器或者任何常规处理器等。
存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦可编程序只读存储器(Erasable Programmable Read-Only Memory,EPROM),以及电可擦编程只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)、NOR Flash(闪存)、NAND Flash(闪存)、eMMC(Embedded Multi MediaCard,嵌入式多媒体卡)。存储器220用于存储程序,处理器210在接收到执行指令后,执行该程序。
应当理解,图7所示的结构仅为示意,本申请实施例提供的电子设备200还可以具有比图7更少或更多的组件,或是具有与图7所示不同的配置。此外,图7所示的各组件可以通过软件、硬件或其组合实现。
需要说明的是,由于所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
基于同一发明构思,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序在被运行时执行上述实施例中提供的方法。
该存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
此外,该存储介质还可以是随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦可编程序只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦编程只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)、NOR Flash(闪存)、NAND Flash(闪存)或eMMC(Embedded Multi Media Card,嵌入式多媒体卡)。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种数据防篡改方法,其特征在于,包括:
响应于擦写只读分区的擦写命令,判断所述擦写命令中的待擦写区域信息是否存在于可擦写列表中,其中,所述可擦写列表包括可擦写区域的区域信息,所述可擦写区域包括所述只读分区中已被允许擦写的区域;
若所述待擦写区域信息存在于所述可擦写列表中,则擦写所述待擦写区域信息对应的待擦写区域;
在所述响应于擦写只读分区的擦写命令之前,所述方法还包括:响应于注册所述可擦写区域的注册区域命令,判断所述注册区域命令中的参数信息是否与预先注册的参数信息相同,其中,所述参数信息包括进程名、进程号和授权码,所述授权码为每次设备启动时,应用程序随机生成的一串字符;若所述注册区域命令中的参数信息与所述预先注册的参数信息相同,则将该可擦写区域的区域信息存储于所述可擦写列表中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述注册区域命令中的进程名、进程号与所述预先注册的进程名、进程号相同,且所述注册区域命令中的授权码与所述预先注册的授权码不同,则禁止后续所有擦写所述只读分区的相关操作,直至所述设备重启。
3.根据权利要求1所述的方法,其特征在于,所述判断所述注册区域命令中的参数信息是否与预先注册的参数信息相同,包括:
判断当前是否禁止所有擦写所述只读分区的相关操作;
若当前允许所述相关操作,则判断所述注册区域命令中的参数信息是否与所述预先注册的参数信息相同。
4.根据权利要求1所述的方法,其特征在于,所述判断所述擦写命令中的待擦写区域信息是否存在于可擦写列表,包括:
判断所述擦写命令中的进程名和进程号是否与预先注册的进程名和进程号相同;若所述擦写命令中的进程名和进程号与所述预先注册的进程名和进程号相同,则判断所述待擦写区域信息是否存在于所述可擦写列表中。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于撤销所述可擦写区域的撤销命令,判断所述撤销命令中的参数信息是否与预先注册的参数信息相同,其中,所述参数信息包括进程名、进程号和授权码,所述授权码为每次设备启动时,应用程序随机生成的一串字符;
若所述撤销命令中的参数信息与所述预先注册的参数信息相同,则在所述可擦写列表中去除与所述撤销命令中可撤销区域对应的区域信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述撤销命令中的进程名、进程号与所述预先注册的进程名、进程号相同,且所述撤销命令中的授权码与所述预先注册的授权码不同,则禁止后续所有擦写所述只读分区的相关操作,直至设备重启。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
在设备启动且在接收到应用程序发起的注册授权码的第一注册命令时,判断当前是否为首次注册所述授权码,其中,所述第一注册命令携带有所述授权码;
若当前为首次注册授权码,则获取所述第一注册命令的程序对应的进程名和进程号,并注册该进程名、进程号和授权码,该进程名、进程号和授权码为所述预先注册的参数信息。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在接收到所述应用程序发起的注册所述只读分区的第二注册命令时,判断当前是否为首次注册所述只读分区;
若当前为首次注册所述只读分区,则判断所述第二注册命令中携带的进程名、进程号、授权码与预先注册的进程名、进程号、授权码是否相同;
若所述第二注册命令中携带的进程名、进程号、授权码与预先注册的进程名、进程号、授权码相同,则将所有所述只读分区的区域信息保存至只读分区信息列表中。
9.一种数据防篡改装置,其特征在于,包括:
判断模块,用于响应于擦写只读分区的擦写命令,判断所述擦写命令中的待擦写区域信息是否存在于可擦写列表中,其中,所述可擦写列表包括可擦写区域的区域信息,所述可擦写区域包括所述只读分区中已被允许擦写的区域;
处理模块,用于若所述擦写命令中的待擦写区域信息存在于所述可擦写列表中,则擦写所述擦写命令中的待擦写区域信息对应的待擦写区域;
注册模块,用于响应于注册所述可擦写区域的注册区域命令,判断所述注册区域命令中的参数信息是否与预先注册的参数信息相同,其中,所述参数信息包括进程名、进程号和授权码,所述授权码为每次设备启动时,应用程序随机生成的一串字符;若所述注册区域命令中的参数信息与所述预先注册的参数信息相同,则将该可擦写区域的区域信息存储于所述可擦写列表中。
10.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器和所述存储器连接;
所述存储器用于存储程序;
所述处理器用于运行存储在所述存储器中的程序,执行如权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序在被计算机运行时执行如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211035081.XA CN115525933B (zh) | 2022-08-26 | 2022-08-26 | 数据防篡改方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211035081.XA CN115525933B (zh) | 2022-08-26 | 2022-08-26 | 数据防篡改方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115525933A CN115525933A (zh) | 2022-12-27 |
CN115525933B true CN115525933B (zh) | 2023-05-12 |
Family
ID=84697726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211035081.XA Active CN115525933B (zh) | 2022-08-26 | 2022-08-26 | 数据防篡改方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115525933B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105637521A (zh) * | 2014-06-30 | 2016-06-01 | 华为技术有限公司 | 一种数据处理方法及智能终端 |
CN111158607A (zh) * | 2019-12-31 | 2020-05-15 | 潍柴动力股份有限公司 | 数据擦写操作的处理方法、系统、电子设备及存储介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9361243B2 (en) * | 1998-07-31 | 2016-06-07 | Kom Networks Inc. | Method and system for providing restricted access to a storage medium |
CN1866402A (zh) * | 2005-05-20 | 2006-11-22 | 英业达股份有限公司 | 可编程只读存储器数据防窜改方法及系统 |
CN101751347A (zh) * | 2008-12-04 | 2010-06-23 | 北京中电华大电子设计有限责任公司 | 一种防止存储器被误擦写的保护方法 |
WO2013095577A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Determining policy actions for the handling of data read/write extended page table violations |
CN103188677A (zh) * | 2011-12-29 | 2013-07-03 | 中国移动通信集团北京有限公司 | 一种客户端软件的认证方法、装置及系统 |
TWI451248B (zh) * | 2012-01-13 | 2014-09-01 | Phison Electronics Corp | 資料保護方法、記憶體控制器與記憶體儲存裝置 |
CN103888255B (zh) * | 2012-12-21 | 2017-12-22 | 中国移动通信集团公司 | 一种身份认证方法、装置及系统 |
US9772953B2 (en) * | 2014-02-03 | 2017-09-26 | Samsung Electronics Co., Ltd. | Methods and apparatus for protecting operating system data |
CN105740736A (zh) * | 2014-12-12 | 2016-07-06 | 北京元心科技有限公司 | 实现文件系统安全操作的方法和装置 |
CN105787392B (zh) * | 2016-02-29 | 2019-01-11 | 珠海市魅族通讯设备有限公司 | 一种数据读写控制方法及控制装置 |
CN107608905B (zh) * | 2017-09-11 | 2020-05-12 | 杭州中天微系统有限公司 | 擦写Flash数据的方法及装置 |
CN110019316A (zh) * | 2018-07-06 | 2019-07-16 | 新疆玖富万卡信息技术有限公司 | 信息交互方法和服务器 |
CN110177111B (zh) * | 2019-06-06 | 2021-09-14 | 北京芯盾时代科技有限公司 | 一种信息验证方法、系统及装置 |
CN112115521B (zh) * | 2019-06-19 | 2023-02-07 | 华为技术有限公司 | 数据访问方法及装置 |
CN110727527A (zh) * | 2019-10-09 | 2020-01-24 | 天津天地人和企业管理咨询有限公司 | 一种基于flash写保护的防止flash被意外篡改的方法 |
CN110955885B (zh) * | 2019-11-28 | 2022-11-22 | 亚信科技(成都)有限公司 | 一种数据写入方法及装置 |
CN111694585A (zh) * | 2020-06-02 | 2020-09-22 | 深圳Tcl数字技术有限公司 | 替换系统分区文件的方法、系统、终端和存储介质 |
CN114780037A (zh) * | 2022-04-26 | 2022-07-22 | 上海物骐微电子有限公司 | 数据处理方法、数据处理系统及计算机可读取存储介质 |
-
2022
- 2022-08-26 CN CN202211035081.XA patent/CN115525933B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105637521A (zh) * | 2014-06-30 | 2016-06-01 | 华为技术有限公司 | 一种数据处理方法及智能终端 |
CN111158607A (zh) * | 2019-12-31 | 2020-05-15 | 潍柴动力股份有限公司 | 数据擦写操作的处理方法、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115525933A (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102630320B (zh) | 信息处理装置以及应用程序不正当协作防止方法 | |
JP6585072B2 (ja) | 不揮発性メモリ又はセキュア素子へのデータの読み込みを安全に行うこと | |
CN105122260A (zh) | 到安全操作系统环境的基于上下文的切换 | |
CN107678762B (zh) | 一种系统版本升级方法及装置 | |
CN113268784B (zh) | 一种嵌入式设备的自毁方法和存储设备 | |
KR20170020324A (ko) | 보안 소거 동작을 완료하기 위한 방법 | |
CN114707147A (zh) | 业务请求处理方法及电子设备 | |
CN112613011B (zh) | U盘系统认证方法、装置、电子设备及存储介质 | |
CN108170456B (zh) | 电子设备的固件升级方法及装置 | |
KR20060098904A (ko) | 허가되지 않은 이동저장장치의 불법사용 차단시스템과 차단방법 | |
CN115525933B (zh) | 数据防篡改方法、装置、电子设备及存储介质 | |
CN111611015A (zh) | 嵌入式固件及启动方法和存储设备 | |
CN108647516B (zh) | 一种防御漏洞非法提权方法及装置 | |
US20030041260A1 (en) | Security protection system for identifying a user who uses an electronic device | |
JP3028055B2 (ja) | Pcカードシステム及びプログラム書き換え方法 | |
CN113779511A (zh) | 软件授权方法、装置、服务器和可读存储介质 | |
JP2003345657A (ja) | 記録媒体の読み出し・書き込み方式及び消去方式及び該読み出し・書き込み方式及び消去方式を実現する記録媒体 | |
US5901285A (en) | Hierarchical erasure key protection for computer system data | |
CN117574352B (zh) | 一种软硬件结合的防伪方法、系统、设备及存储介质 | |
CN110187658B (zh) | 一种芯片处理方法、装置、芯片及电梯外呼板 | |
CN111124462B (zh) | 一种嵌入式多媒体卡更新方法、装置、服务器和存储介质 | |
JP7380603B2 (ja) | セキュアデバイス,コマンド実行管理方法およびicチップ | |
US10810140B2 (en) | Authentication apparatus, authentication method, and non-transitory computer readable medium | |
US20060150052A1 (en) | Accepting a set of data in a computer unit | |
CN112905218B (zh) | 一种固件升级方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |