发明名称 基于Bloom Filter的数据完整性保护方法
摘要 本发明提供的是一种基于Bloom Filter的数据完整性保护方法。先将受保护的存储区分成相等的多个块,然后在计算机安全区中维护一个m个元素的数组,同时设置k个散列函数,用于将数据块映射到数组中;存储器初始化即建立保护时,内存块数据经k次散列函数计算得到k个值,将这k个值作为数组的序号,将数组相应序号的值加1;当修改数据块时,将原数据块的k个映射位的值减1,再将修改后数据块的k个映射位的值加1;在校验时,如所读取的数据块映射到数组中相应位的值都不为0,则认为数据正常,只要有一个映射位的值为0,则认为遭到篡改。用于防止内存中的数据被恶意篡改;保证内存数据完整性同时,能降低完整性保护的时间和空间开销。
申请公布号 CN101901316B 申请公布日期 2012.05.09
申请号 CN201010226569.1 申请日期 2010.07.15
申请人 哈尔滨工程大学 发明人 姚念民;马海峰;范洪博
分类号 G06F21/00(2006.01)I 主分类号 G06F21/00(2006.01)I
代理机构 代理人
主权项 一种基于Bloom Filter的数据完整性保护方法,其特征是:先将受保护的存储区分成相等的多个块,然后在计算机安全区中维护一个m个元素的数组,同时设置k个散列函数,用于将数据块映射到数组中;执行如下具体步骤:(1)初始化操作过程:1)将数组的每个元素置0;2)读取每一个受保护的内存块数据加上地址信息;3)进行k次散列函数计算;4)将得到的k个值作为数组的序号,将数组的相应位加1;(2)更新操作过程:1)读取原来的数据块及其地址信息;2)进行k次散列函数计算;3)将得到的k个值作为数组的序号,将数组的相应位减1;4)更新该数据块;5)将更新后数据块内容加上地址信息再进行k次散列函数计算;6)将得到的k个值作为数组的序号,将数组的相应位加1;(3)校验操作过程:1)读取的数据块内容及其地址信息;2)进行k次散列函数计算;3)依次检验k个值映射到数组中相应位的值是否为0;4)有一个数组中相应位的值为0,则认为遭到篡改;5)所有数组中相应位的值都为1,则认为数据正常。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室