CN114462102A - 数据处理方法和设备 - Google Patents
数据处理方法和设备 Download PDFInfo
- Publication number
- CN114462102A CN114462102A CN202210120289.5A CN202210120289A CN114462102A CN 114462102 A CN114462102 A CN 114462102A CN 202210120289 A CN202210120289 A CN 202210120289A CN 114462102 A CN114462102 A CN 114462102A
- Authority
- CN
- China
- Prior art keywords
- data
- stored
- random number
- bit random
- distribution
- 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.)
- Pending
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/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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
提供数据存储方法和相应的数据校验方法。根据数据存储方法,基于扩散函数和/或加密算法将多比特随机数混合入待存储的数据中,以生成存储数据,其中,所述扩散函数和所述加密算法分别被配置为使得对输入数据中任一比特的改变导致其输出数据中预定比特的改变。根据相应的数据校验方法,基于逆扩散函数和/或解密算法从存储数据中提取多比特随机数,然后判断提取的多比特随机数相对于该多比特随机数的原始分布是否相同,由此来判断存储数据是否可信。
Description
技术领域
本说明书涉及数据处理领域,尤其涉及数据存储和校验。
背景技术
随着互联网技术的发展,对存储系统的攻击方法和安全威胁日益增加,一旦攻击者成功破坏了所存储的数据,不仅可能会带来用户敏感信息的泄露,还可能导致程序运行失败等问题。
为了保证数据的完整性,主要通过对所存储的数据本身进行简单运算或者如奇偶校验码、消息验证码等较复杂的哈希运算来对数据进行校验。对于较复杂的运算可能需要较复杂的程序逻辑来实现。
在此基础上,仍然期望提供用于校验数据完整性的改进的系统和方法。
发明内容
期望提供用于校验数据完整性的改进的方法和设备,其不依赖于针对数据本身的计算逻辑,能够同时适用于加密数据和非加密数据场景,并且具备抗伪造、抗重放攻击等安全特性。
根据一个方面,提供一种数据存储方法,包括接收待存储的数据;
接收具有特定分布的多比特随机数;基于扩散函数和/或加密算法将所述多比特随机数和所述待存储的数据混合,以生成存储数据,其中,所述扩散函数和所述加密算法分别被配置为使得对输入数据中任一比特的改变导致其输出数据中预定比特的改变;和输出所述存储数据以进行存储。
根据另一个方面,提供一种数据校验方法,包括接收基于加密算法的数据存储方法输出的所述存储数据;基于解密算法从所述存储数据中提取所述多比特随机数;确定所提取的所述多比特随机数的分布;将所确定的分布与所述特定分布相比较;和基于比较结果确定所述存储数据是否可信。
根据另一个方面,提供一种数据校验方法,包括接收基于扩散函数的数据存储方法输出的所述存储数据;基于逆扩散函数从所述存储数据中提取所述多比特随机数;确定所提取的所述多比特随机数的分布;将所确定的分布与所述特定分布相比较;和基于比较结果确定所述存储数据是否可信。
根据另一个方面,提供一种数据处理设备,包括接收单元,其接收待存储的数据和具有特定分布的多比特随机数;组合单元,其基于扩散函数和/或加密算法将所述多比特随机数和所述待存储的数据混合,以生成存储数据,其中,所述扩散函数和所述加密算法分别被配置为使得对输入数据中任一比特的改变导致其输出数据中预定比特的改变;和输出单元,其输出所述存储数据以进行存储。
根据另一个方面,提供一种数据处理设备,包括接收单元,其接收基于加密算法的数据处理设备输出的所述存储数据;提取单元,其基于解密算法从所述存储数据中提取所述多比特随机数;和确定单元,其确定所提取的所述多比特随机数的分布,将所确定的分布与所述特定分布相比较,并且基于比较结果确定所述存储数据是否可信。
根据另一个方面,提供一种数据处理设备,包括接收单元,其接收基于扩散函数的数据处理设备输出的所述存储数据;提取单元,其基于逆扩散函数从所述存储数据中提取所述多比特随机数;和确定单元,其确定所提取的所述多比特随机数的分布,将所确定的分布与所述特定分布相比较,并且基于比较结果确定所述存储数据是否可信。
根据另一个方面,提供一种数据保护设备,包括存储器;和根据本说明书各个实施例所述的数据处理设备。
根据本说明书的各个方面,公开了基于随机数分布特性的数据保护方法。借由该分布可以快速判断内存数据的完整性。由此,不依赖于针对数据本身的计算逻辑,能够同时适用于加密数据和非加密数据两种场景。再者,本说明书的数据保护方案也可以与依赖于对所存储数据本身的计算的数据保护方法一起使用,从而加强数据保护力度。
附图说明
图1示出了根据一个实施例的数据存储方法的流程图;
图2示出了根据一个实施例的数据校验方法的流程图;
图3示出了根据一个实施例的数据处理设备的方块图;
图4示出了根据一个实施例的数据处理设备的方块图;
图5示出了根据一个实施例的作为数据保护设备的电子设备800的方块图。
参照上述附图来描述本说明书的各个方面和特征。通常采用相同或相似的附图标号来表示相同的部件。上述附图仅仅是示意性的,而非限制性的。在不脱离本说明书的主旨的情况下,在上述附图中各个元件的尺寸、形状、标号、或者外观可以发生变化,而不被限制到仅仅说明书附图所示出的那样。
具体实施方式
根据本说明书的各方面的各实施例涉及数据存储和校验,尤其是对内存数据的存储和校验。以下将参照内存数据来进行说明,但这不是限制性的,任何类型和目的的数据均使用本说明书的各方面的各实施例的方案。
图1示出了根据一个实施例的数据存储方法100的流程图。具体地,该方法100涉及在对数据存储之前将随机数添加到待存储数据中以便之后的数据校验,防止使用破坏的数据。
根据该方法100,在步骤110和120中分别接收待存储的内存数据和随机数。所接收的内存数据可以是要存储的任何类型的数据。所接收的随机数具有多个比特,并且具有特定分布。可以预先确定该多个比特的随机数的分布特征,并记录该特定分布。
在一个实施例中,该随机数可以由硬件随机数生成设备,例如在当前计算机系统以及芯片模组中使用的硬件随机数模块生成。这样的硬件生成的随机数具有相对稳定并独特的分布特性,可以作为可信任的保护参考。之后,该随机数的分布可以被确定并记录。通常,硬件随机数模块输出的多比特随机数具有较为稳定的随机性分布。
在步骤130中,将多个比特的随机数与待存储的内存数据混合。在一个实施例中,能够将随机数分别添加到内存数据中的特定位置处以改变待存储的内存数据。具体地,随机数可以以任何预定的颗粒度被添加到内存数据中,例如以页为单位或者以页内偏移为单位。
当待存储的数据不需要加密时,可以利用预定的扩散函数来扩散通过添加随机数对待存储的内存数据的这种改变,使得通过随机数对内存数据的改变更均匀地分布,实现随机数与内存数据的充分混合。应当理解,随机数与内存数据的充分混合是必要的。只有在随机数被充分混合分布到内存数据中时,当攻击者篡改或破坏内存数据时才会同时更改随机数。
该扩散函数具有输入数据和输出数据,在该实施例中,扩散函数的输入数据可以是预先组合的随机数和内存数据,输出数据是将多个比特的随机数与内存数据充分混合的存储数据,但是也可以预期扩散函数的输入是随机数和待存储的内存数据两者。扩散函数被配置为使得对输入数据中任一比特的改变导致其输出数据中预定比特的改变。例如,当输入数据相对于原始数据而言改变一比特,则输出数据相对于原始数据发生预定数量或预定百分比的比特改变。在一个实施例中,该扩散函数被配置为使得满足雪崩效应,即对输入数据中任一比特的改变导致其输出数据中平均半数比特的改变。
当待存储的数据需要加密时,可以不使用扩散函数。这是因为发明人认识到通常的加密算法(例如对应加密算法)具有类似扩散函数的性能,其能够使得随机数和内存数据混合得更加均匀。在该实施例中,在将随机数添加到待存储的内存数据中之后,可以对内存数据执行加密算法,由此来混合随机数和内存数据。该加密算法同样被配置为使得对输入数据中任一比特的改变导致其输出数据中预定比特的改变。并且,在一个实施例中,该加密算法被配置为使得满足雪崩效应。
在步骤140中,通过在步骤130中的混合获得存储数据,在步骤150中,将该存储数据输出并存储在内存中,供之后使用。
以上分别针对待存储的数据不需要和需要加密的情况来描述了根据本说明书的实施例的数据存储方法,可以理解这不是限制性的。对于本领域技术人员而言,可以设想当待存储的数据需要加密时,也可以使用扩散函数。例如可以先使用扩散函数来促进随机数和内存数据的混合,然后再执行加密算法。
图2示出了根据一个实施例的数据校验方法200的流程图。具体地,该方法200涉及对根据如图1所示的方法100生成的存储数据进行校验,尤其是对数据完整性进行校验。
根据该方法200,在步骤210中,接收根据上述方法100存储的存储数据。在步骤220中,在一个实施例中,当在方法100中使用了扩散函数时,即当未执行加密时,将存储数据输入逆扩散函数,从而从存储数据中提取之前添加的多比特随机数,由此,在步骤230和240中,分别获得内存数据和多比特随机数。在另一个实施例中,当在方法100中使用了加密算法时,即当执行了加密时,对存储数据执行解密算法,由此,在步骤230和240中,分别获得内存数据和多比特随机数。在另一个实施例中,当在方法100中使用了扩散函数和加密算法两者时,在步骤220中,使用逆扩散函数和解密算法两者。在此,逆扩散函数和解密算法分别是之前提到的扩散函数和加密算法的逆运算,其目的在于将在之前的存储过程中与内存数据混合的多比特随机数提取出来,以便于后续验证其分布是否因为被攻击或破坏而发生变化。
在步骤240中,还确定所提取的多比特随机数据的分布。在步骤250中,接收之前在方法100的步骤120中接收的多比特随机数的特定分布。在步骤260中,将在步骤240中确定的分布与在步骤250中接收的特定分布相比较,以确定这二者是否相同。如果相同,则在步骤270中确定存储数据未被破坏,并且是可信的,尤其,在步骤230中获得的内存数据是可信的,可以基于该内存数据执行进一步的处理。如果不相同,则在步骤280中确定存储数据已经被破坏并且是不可信的,尤其,在步骤230获得内存数据是不可信的,该内存数据不能用于后续处理。在步骤280中还可以生成相应的警报。
以上参考图1和图2分别描述了根据本说明书的数据存储和校验方法。可以理解,其中的各个步骤可以被适当修改和调整以实现相应的效果。
图3示出了根据一个实施例的数据处理设备10的方块图。该数据处理设备10用于执行如上图1所示的数据存储方法,以将随机数与内存数据充分混合生成存储数据。由此生成的存储数据当被破坏时能够以参考图2所描述的方法校验,从而确保数据的完整性。
数据处理设备10包括接收单元11、组合单元12和输出单元13。接收单元接收待存储的内存数据和具有特定分布的多比特随机数。在不需要加密的情况下,组合单元12将内存数据和随机数输入扩散函数以混合内存数据和随机数,在需要加密的情况下,组合单元12将随机数添加到内存数据中,然后执行加密算法,由此混合内存数据和随机数。经过混合获得的存储数据经由输出单元13来输出。
图4示出了根据一个实施例的数据处理设备20的方块图。该数据处理设备20用于执行如上图2所示的数据校验方法。
该数据处理设备20包括接收单元21,提取单元22以及确定单元23。接收单元21接收根据本说明书所述的数据存储方法输出的存储数据。当存储数据经过加密时,提取单元22基于解密算法从存储数据中提取多比特随机数。当存储数据未经过加密而是经过扩散函数的扩散时,提取单元22基于逆扩散函数来提取多比特随机数。提取单元22同时还可以提取内存数据。
确定单元23,接收提取的随机数,确定所提取的随机数的分布,将所确定的分布与接收的特定分布相比较,基于比较结果确定所述存储数据(内存数据)是否可信。在一个实施例中,当存储数据被确定为可信时,可以输出内存数据以用于后续处理。当存储数据被确定为不可信时,可以输出警报。
虽然分别参考图3和图4描述了执行数据存储方法和数据校验方法的数据处理设备10和20,可以理解,这两个数据处理设备的功能能够在同一个处理设备中实现,并且可以根据需要来划分不同的单元来执行对应的功能。
可以理解,本说明书的各个实施例的设备中的各个单元的功能以及相应方法处理能够由计算机程序/软件实现。这些软件能够被载入到相应设备中执行相应功能,尤其当运行时用于执行根据本说明书的各实施例的方法。
图5示出了根据一个实施例的作为数据保护设备的电子设备800的方块图。
如图5所示,电子设备800可以包括至少一个处理器810、存储器(例如,非易失性存储器)820、内存830和通信接口840,并且至少一个处理器810、存储器820、内存830和通信接口840经由总线850连接在一起。至少一个处理器810执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器810执行根据本说明书各个实施例的方法。根据本说明书实施例的数据存储方法和数据校验方法作为数据保护方法可以由至少一个处理器810执行。
可以理解,根据本说明书各个实施例的数据处理设备还能够由软件实现,例如,实现为存储在计算机可读介质上的计算机程序。
必须指出,本说明书的实施例是参考不同主题来描述的。尤其地,一些实施例是参考方法型权利要求来描述的,而其他实施例是参考设备型权利要求来描述的。然而,本领域技术人员将从以上和以下描述获悉,除非另外指明,除了属于一种类型的主题的特征的任意组合以外,涉及不同主题的特征之间的任意组合也被视为被本申请公开了。并且,能够组合全部特征,提供大于特征的简单加和的协同效应。
以上参照特定的实施例描述本说明书,本领域技术人员应当理解,在不背离本说明书的精神和基本特征的情况下,能够以各种方式来实现本说明书的技术方案。具体的实施例仅仅是示意性的,而非限制性的。另外,这些实施例之间能够任意组合,来实现本说明书的目的。本说明书的保护范围由所附的权利要求书来定义。
在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
说明书和权利要求中的“包括”一词不排除其它元件或步骤的存在。在说明书中说明或者在权利要求中记载的各个元件的功能也可以被分拆或组合,由对应的多个元件或单一元件来实现。
Claims (14)
1.一种数据存储方法,包括:
接收待存储的数据;
接收具有特定分布的多比特随机数;
基于扩散函数和/或加密算法将所述多比特随机数和所述待存储的数据混合,以生成存储数据,其中,所述扩散函数和所述加密算法分别被配置为使得对输入数据中任一比特的改变导致其输出数据中预定比特的改变;和
输出所述存储数据以进行存储。
2.如权利要求1所述的数据存储方法,其中
所述扩散函数和所述加密算法分别被配置为使得对所述输入数据任一比特的改变导致其输出数据中平均半数比特的改变。
3.如权利要求1或2所述的数据存储方法,其中,针对数据加密场景,基于加密算法将所述多比特随机数与所述待存储的数据混合,以生成所述存储数据。
4.如权利要求1或2所述的数据存储方法,其中,针对数据非加密场景,基于扩散函数将所述多比特随机数与所述待存储的数据混合,以生成所述存储数据。
5.一种数据校验方法,包括
接收根据权利要求3所述的数据存储方法输出的所述存储数据;
基于解密算法从所述存储数据中提取所述多比特随机数;
确定所提取的所述多比特随机数的分布;
将所确定的分布与所述特定分布相比较;和
基于比较结果确定所述存储数据是否可信。
6.一种数据校验方法,包括
接收根据权利要求4所述的数据存储方法输出的所述存储数据;
基于逆扩散函数从所述存储数据中提取所述多比特随机数;
确定所提取的所述多比特随机数的分布;
将所确定的分布与所述特定分布相比较;和
基于比较结果确定所述存储数据是否可信。
7.一种数据处理设备,包括:
接收单元,其接收待存储的数据和具有特定分布的多比特随机数;
组合单元,其基于扩散函数和/或加密算法将所述多比特随机数和所述待存储的数据混合,以生成存储数据,其中,所述扩散函数和所述加密算法分别被配置为使得对输入数据中任一比特的改变导致其输出数据中预定比特的改变;和
输出单元,其输出所述存储数据以进行存储。
8.如权利要求7所述的数据处理设备,其中
所述扩散函数和所述加密算法分别被配置为使得对所述输入数据任一比特的改变导致其输出数据中平均半数比特的改变。
9.如权利要求7或8所述的数据处理设备,其中,针对数据加密场景,所述组合单元基于加密算法将所述多比特随机数与所述待存储的数据混合,以生成所述存储数据。
10.如权利要求7或8所述的数据处理设备,其中,针对数据非加密场景,所述组合单元基于扩散函数将所述多比特随机数与所述待存储的数据混合,以生成所述存储数据。
11.一种数据处理设备,包括
接收单元,其接收根据权利要求9所述的数据处理设备输出的所述存储数据;
提取单元,其基于解密算法从所述存储数据中提取所述多比特随机数;和
确定单元,其确定所提取的所述多比特随机数的分布,将所确定的分布与所述特定分布相比较,并且基于比较结果确定所述存储数据是否可信。
12.一种数据处理设备,包括
接收单元,其接收根据权利要求10所述的数据处理设备输出的所述存储数据;
提取单元,其基于逆扩散函数从所述存储数据中提取所述多比特随机数;和
确定单元,其确定所提取的所述多比特随机数的分布,将所确定的分布与所述特定分布相比较,并且基于比较结果确定所述存储数据是否可信。
13.一种数据保护设备,包括
存储器;和
根据权利要求7-12中任一项所述的数据处理设备。
14.根据权利要求13所述的数据保护设备,还包括
硬件随机数生成设备,其生成具有所述特定分布的多比特随机数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210120289.5A CN114462102A (zh) | 2022-02-07 | 2022-02-07 | 数据处理方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210120289.5A CN114462102A (zh) | 2022-02-07 | 2022-02-07 | 数据处理方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114462102A true CN114462102A (zh) | 2022-05-10 |
Family
ID=81414163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210120289.5A Pending CN114462102A (zh) | 2022-02-07 | 2022-02-07 | 数据处理方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114462102A (zh) |
-
2022
- 2022-02-07 CN CN202210120289.5A patent/CN114462102A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7103779B2 (en) | Method and apparatus for incremental code signing | |
US9298947B2 (en) | Method for protecting the integrity of a fixed-length data structure | |
EP3804213B1 (en) | Shared secret establishment | |
EP3316160A1 (en) | Authentication method and apparatus for reinforced software | |
US20160055331A1 (en) | Detecting exploits against software applications | |
CN108496323B (zh) | 一种证书导入方法及终端 | |
CN111950035A (zh) | 对apk文件完整性保护的方法、系统、设备及存储介质 | |
CN114499859A (zh) | 密码验证方法、装置、设备及存储介质 | |
CN114462102A (zh) | 数据处理方法和设备 | |
KR100734600B1 (ko) | 변조방지 하드웨어에 기반한 자가 무결성 검증 기법을이용한 시스템 인증 및 보안성 강화 방법 | |
CN108259490B (zh) | 一种客户端校验方法及装置 | |
Gan et al. | Using virtual machine protections to enhance whitebox cryptography | |
Ganesh et al. | Short paper: The meaning of attack-resistant systems | |
US20240195636A1 (en) | Hardened Encoded Message Check for RSA Signature Verification | |
US10574653B1 (en) | Secure posture assessment | |
Spraggs et al. | AKCode Cryptographic Module | |
BR102014029255B1 (pt) | Método para proteção de componentes de software em ambiente web | |
BR102014029255A2 (pt) | método para proteção de componentes de software em ambiente web |
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 |