一种婴幼儿食品信息安全追溯管理系统
文献发布时间:2024-04-18 19:57:31
技术领域
本发明涉及数据管理技术领域,具体涉及一种婴幼儿食品信息安全追溯管理系统。
背景技术
婴幼儿食品是专门为满足0-3岁婴幼儿营养需要和发展而设计和制造的食品。婴幼儿食品信息包含生产婴幼儿食品的物质、配料以及比例、生产公司、生产地址、购买人员等多个类别的敏感和隐私信息,所以,对婴幼儿食品生命周期信息进行安全加密是保障相关信息安全的重要步骤。同时,对婴幼儿食品生命周期信息进行安全加密可帮助对婴幼儿食品进行安全追溯,全面保障婴幼儿的食品质量,在婴幼儿食品出现问题时,也能够及时完成问题的追责、召回管理、支持市场监管等多种相关职责。所以,对婴幼儿食品生命周期信息进行安全加密是婴幼儿食品的产业链中关键的一环。
可使用AES-128加密算法对婴幼儿食品生命周期信息进行加密,使用秘钥生成器来获取初始秘钥,提高秘钥的安全性,但是,同一批次的婴幼儿食品生命周期信息中,数据相似度极高,所以,现有的加密算法安全性不足。
发明内容
本发明提供一种婴幼儿食品信息安全追溯管理系统,以解决同一批次的婴幼儿食品生命周期信息相似度过高导致的安全加密信息安全性不足的问题,所采用的技术方案具体如下:
本发明一个实施例提供了一种婴幼儿食品信息安全追溯管理系统,该系统包括以下模块:
数据采集模块:从管理系统中获取婴幼儿食品信息安全信息并进行预处理,获取每份婴幼儿食品对应的原始安全信息和每份婴幼儿食品的唯一标识码;
属性差异性系数模块:根据同一批次所有婴幼儿食品对应的原始安全信息,获取每两个相邻的婴幼儿食品每个属性对应的差异因子,获取每两份婴幼儿食品对应的每个属性的信息之间的信息距离,根据不同婴幼儿食品对应的所分析的属性的差异因子和所分析的属性的信息之间的信息距离获取所分析的属性对应的属性差异性系数;
字节数量模块:获取属性差异性系数的等级编号,根据原始安全信息中每个属性对应的属性差异性系数和属性差异性系数的等级编号构建差异树,获取差异树中每层抽取的字节数量,对第一层抽取的字节数量的数值进行更新,获取更新后的差异树中每层抽取的字节数量;
密文获取模块:根据更新后的差异树中每层抽取的字节数量获取抽取数据,根据抽取数据获取矩阵每个位置对应的原始密钥,进而获取原始密钥矩阵,根据原始密钥矩阵获取原始安全信息对应的密文和子密钥;
食品信息安全追溯模块:根据子密钥、原始安全信息对应的密文和婴幼儿食品的唯一标识码,判断婴幼儿食品对应的原始安全信息是否被恶意篡改,进而实现食品信息的安全追溯。
进一步,所述根据同一批次所有婴幼儿食品对应的原始安全信息,获取每两个相邻的婴幼儿食品每个属性对应的差异因子的方法为:
将原始安全信息中每个属性分别作为待分析属性;
将同一批次所有婴幼儿食品中每两个相邻的婴幼儿食品分别作为一类待分析婴幼儿食品和二类待分析婴幼儿食品;
将同一批次的一类待分析婴幼儿食品对应的原始安全信息中待分析属性的信息记为一类信息,将同一批次的二类待分析婴幼儿食品对应的原始安全信息中待分析属性的信息记为二类信息;
将一类信息和二类信息的长度的最大值记为第三长度,将一类信息和二类信息的最大公共字符串的长度记为第四长度;
将第三长度与第四长度的差值记为一类待分析婴幼儿食品和二类待分析婴幼儿食品对应的原始安全信息中待分析属性的差异因子。
进一步,所述获取每两份婴幼儿食品对应的每个属性的信息之间的信息距离的方法为:
将一类待分析婴幼儿食品和二类待分析婴幼儿食品对应的待分析属性的信息之间的距离记为信息距离。
进一步,所述根据不同婴幼儿食品对应的所分析的属性的差异因子和所分析的属性的信息之间的信息距离获取所分析的属性对应的属性差异性系数的方法为:
将信息距离和所述一类待分析婴幼儿食品和二类待分析婴幼儿食品对应的原始安全信息中待分析属性的差异因子的乘积记为一类待分析婴幼儿食品和二类待分析婴幼儿食品对应的原始安全信息中待分析属性的第一乘积;
将原始安全信息中每两个相邻的婴幼儿食品对应的原始安全信息中待分析属性的第一乘积的和记为第一和值;
将同一批次所有婴幼儿食品中包含的婴幼儿食品的数量与数字一的差值记为第一差值;
将第一和值与第一差值的比值记为原始安全信息中待分析属性对应的属性差异性系数。
进一步,所述获取属性差异性系数的等级编号,根据原始安全信息中每个属性对应的属性差异性系数和属性差异性系数的等级编号构建差异树的方法为:
将属性差异性系数数值相同的划分为一个等级,按照属性差异性系数的数值从大到小对每个属性差异性系数对应的等级从数字一开始进行编号,将编号记为属性差异性系数的等级编号;
根据原始安全信息中每个属性对应的属性差异性系数和属性差异性系数的等级编号构建差异树;
差异树的根节点存放等级编号为数字一的属性差异性系数,差异树的根节点的数量等于等级编号为数字一的属性差异性系数的数量,差异树的每一层的节点存放等级编号相同的属性差异性系数,属性差异性系数在差异树中的所在层与属性差异性系数的等级编号相同;
当每一层的节点存放属性差异性系数时,设置第一分支阈值,当节点存放属性差异性系数的数量超出第一分支阈值时,将溢出的属性差异性系数全部添加在同一个节点。
进一步,所述获取差异树中每层抽取的字节数量,对第一层抽取的字节数量的数值进行更新,获取更新后的差异树中每层抽取的字节数量的方法为:
分别将差异树中每层记为待分析层;
将差异树包含的层的数量与待分析层的差值与数字一的和记为第二和值;
将差异树包含的层的数量的累加和记为第一累加和;
将第二和值与第一累加和的比值记为第一比值;
将第一比值与第一抽取数量阈值的乘积经过第一取值函数取值后的数值记为差异树中待分析层抽取的字节数量;
将第一抽取数量阈值与差异树中每层抽取的字节数量的总和的差值记为抽取差值,使用第一层抽取的字节数量与抽取差值的和对第一层抽取的字节数量的数值进行更新;
获取更新后的差异树中每层抽取的字节数量。
进一步,所述根据更新后的差异树中每层抽取的字节数量获取抽取数据的方法为:
根据更新后的差异树中每层抽取的字节数量,对差异树中每层存放的属性差异性系数对应的信息进行平均抽取,每次抽取第三预设阈值个字节,将抽取的字节按照属性差异性系数对应的等级编号进行排序,获取抽取数据。
进一步,所述根据抽取数据获取矩阵每个位置对应的原始密钥,进而获取原始密钥矩阵的方法为:
将抽取数据均分为两组,将位于抽取数据靠前位置的一组记为第一抽取数据,将位于抽取数据靠后位置的一组记为第二抽取数据;
将第一抽取数据出现的连续为数字零的数量以及连续为数字一的数量的和记为第一长度,将第二抽取数据出现的连续为数字零的数量以及连续为数字一的数量的和记为第二长度;
将第一抽取数据中包含的数字按照从上到下、从左到右的顺序均匀填充至第一秘钥矩阵中,将第二抽取数据中包含的数字按照从上到下、从左到右的顺序均匀填充至第二秘钥矩阵中;
获取矩阵中每个位置的原始密钥;
将矩阵每个位置对应的原始密钥转换为十六进制的数字,将十六进制的数字填充至原始密钥对应的矩阵位置,获取原始密钥矩阵。
进一步,所述获取矩阵中每个位置的原始密钥,具体获取公式为:
式中,
进一步,所述根据子密钥、原始安全信息对应的密文和婴幼儿食品的唯一标识码,判断婴幼儿食品对应的原始安全信息是否被恶意篡改,进而实现食品信息的安全追溯的方法为:
通过子密钥对原始安全信息对应的密文进行解密,获取解密后的数据的唯一标识码;
当解密后的数据的唯一标识码和婴幼儿食品的唯一标识码全部相同时,则认为加密后的婴幼儿食品对应的原始安全信息未被恶意篡改,否则,认为婴幼儿食品对应的原始安全信息被恶意篡改;
当婴幼儿食品对应的原始安全信息被恶意篡改时,根据解密后的数据的唯一标识码和婴幼儿食品的唯一标识码不同的位置,获取生产到销售的具体环节,实现对婴幼儿食品进行食品信息的安全追溯。
本发明的有益效果是:
本发明提出了一种婴幼儿食品信息安全追溯管理系统,通过哈希运算与字节替换构建食品信息的唯一标识码。首先,通过婴幼儿食品的属性信息获取属性差异性系数,由于不同食品的同种属性信息会出现大量的相似性,属性差异性系数可以有效的将不同食品的同种属性信息的差异性识别出来;其次,通过属性差异性系数构建差异树,可以有效的将不同属性等级划分出来,通过分析差异性树决定每个属性抽取的字节数量,等级越高抽取的字节数越大,使得抽取的信息差异性较大;然后,将抽取的字节分为两组,获取原始密钥矩阵,原始密钥矩阵是通过食品之间的属性信息的不一致性建立的,可以有效提高加密信息的安全性;最后,将原始密钥矩阵作为AES-128加密算法的初始秘钥,使用AES-128加密算法获取原始安全信息对应的密文和子密钥,根据子密钥、原始安全信息对应的密文和婴幼儿食品的唯一标识码,判断婴幼儿食品对应的原始安全信息是否被恶意篡改,进而实现食品信息的安全追溯,解决同一批次的婴幼儿食品生命周期信息相似度过高导致的安全加密信息安全性不足的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例所提供的一种婴幼儿食品信息安全追溯管理系统的流程示意图;
图2为婴幼儿食品属性信息示意图;
图3为差异树示意图;
图4为原始密钥矩阵获取过程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明一个实施例提供的一种婴幼儿食品信息安全追溯管理系统流程图,该系统包括:数据采集模块,属性差异性系数模块,字节数量模块,密文获取模块,食品信息安全追溯模块。
数据采集模块,从管理系统中获取婴幼儿食品信息安全信息并进行预处理,获取每份婴幼儿食品对应的原始安全信息和每份婴幼儿食品的唯一标识码。
婴幼儿食品信息从生产到销售需要经过包括原料采购环节、生产加工与包装环节、运输与储存环节和销售环节在内的四个环节,每一个环节都会采集对应多个属性的二值数据并将所有数据上传至婴幼儿食品信息安全追溯管理系统。其中,属性包括采购人员、采购公司等,如图2所示。
从婴幼儿食品信息安全追溯管理系统中提取每份婴幼儿食品对应的四个环节的二值数据,按照二值数据上传至婴幼儿食品信息安全追溯管理系统的时间顺序对二值数据进行排序,获取每份婴幼儿食品对应的原始安全信息。
从婴幼儿食品信息安全追溯管理系统中提取每份婴幼儿食品对应的四个环节的环节标识码,将提取的四个环节的环节标识码按照四个环节的先后顺序依次排列,获取婴幼儿食品对应的唯一标识码。其中,婴幼儿食品信息安全追溯管理系统中四个环节的环节标识码均为二值数据。
对婴幼儿食品对应的唯一标识码进行切片,将唯一标识码划分为长度为
哈希表共有
至此,获取每份婴幼儿食品对应的原始安全信息和每份婴幼儿食品的唯一标识码。
属性差异性系数模块,根据同一批次所有婴幼儿食品对应的原始安全信息,获取每两个相邻的婴幼儿食品每个属性对应的差异因子,获取每两份婴幼儿食品对应的每个属性的信息之间的信息距离,根据不同婴幼儿食品对应的所分析的属性的差异因子和所分析的属性的信息之间的信息距离获取所分析的属性对应的属性差异性系数。
同一批次生产的婴幼儿食品在原料采购环节、生产加工与包装环节、运输与储存环节和销售环节获取的婴幼儿食品信息具有较大的一致性,所以,同一批次生产的婴幼儿食品对应的原始安全信息中,同种类属性信息相似度较大。当数据相似度极高时,数据加密后的安全性会降低,为了保障婴幼儿食品信息加密后的安全性,首先,对同一批次所有婴幼儿食品对应的原始安全信息同种类属性对应的数据之间的差异性进行评价。
根据同一批次所有婴幼儿食品对应的原始安全信息获取每个属性对应的属性差异性系数。
式中,
当两份婴幼儿食品对应的原始安全信息越为一致时,则两个相同属性的信息的最大公共字符串的长度越长,则这两份婴幼儿食品对应的该属性的差异因子较小。这两份婴幼儿食品对应的该属性的信息相似度越大。
获取原始安全信息中包含的不同属性的总数量。将每两份相邻的婴幼儿食品对应的每个属性的信息之间的Levenshtein距离记为每两份相邻的婴幼儿食品对应的每个属性的信息距离,其中,Levenshtein距离的获取为公知技术,不再赘述。当两个原始安全信息的相似度越大时,则两个原始安全信息之间的信息距离越小。
根据不同婴幼儿食品对应的所分析的属性的差异因子和所分析的属性的信息之间的信息距离获取所分析的属性对应的属性差异性系数。
式中,
当同一批次每两个婴幼儿食品对应的原始安全信息中所分析的属性的差异因子越小、所分析的属性的信息之间的信息距离越小时,则原始安全信息中所分析的属性对应的属性差异性系数越小,即原始安全信息中所分析的属性对应的信息的相似度越大。
至此,获取原始安全信息中每个属性对应的属性差异性系数。
字节数量模块,获取属性差异性系数的等级编号,根据原始安全信息中每个属性对应的属性差异性系数和属性差异性系数的等级编号构建差异树,获取差异树中每层抽取的字节数量,对第一层抽取的字节数量的数值进行更新,获取更新后的差异树中每层抽取的字节数量。
将属性差异性系数数值相同的划分为一个等级,按照属性差异性系数的数值从大到小对每个属性差异性系数对应的等级从数字1开始进行编号,将编号记为属性差异性系数的等级编号。
如图3所示,根据原始安全信息中每个属性对应的属性差异性系数和属性差异性系数的等级编号构建差异树。
差异树的根节点存放等级编号为1的属性差异性系数,差异树的根节点的数量等于等级编号为1的属性差异性系数的数量,差异树的每一层的节点存放等级编号相同的属性差异性系数,属性差异性系数在差异树中的所在层与属性差异性系数的等级编号相同。当每一层的节点存放属性差异性系数时,设置第一分支阈值,当节点存放属性差异性系数的数量超出第一分支阈值时,将溢出的属性差异性系数全部添加在同一个节点。其中,溢出的属性差异性系数添加的节点位置为差异树最左侧的节点;第一分支阈值的经验值为2。
当节点越为靠近根节点时,节点存放的属性差异性系数越大,属性差异性系数对应的属性信息差异越大,为提高压缩信息的安全性,在进行加密时,选取的信息量也应该越多。
获取不同等级编号的总数量,不同等级编号的总数量即为差异树包含的层的数量。
获取差异树中每层抽取的字节数量。
式中,
在获取差异树中每层抽取的字节数量的过程中,对计算结果进行取四舍五入值,所以,获取的差异树中每层抽取的字节数量之和小于第一抽取数量阈值。统计差异树中每层抽取的字节数量的总和,将第一抽取数量阈值与差异树中每层抽取的字节数量的总和的差值记为抽取差值,使用第一层抽取的字节数量与抽取差值的和对第一层抽取的字节数量的数值进行更新。
至此,获取更新后的差异树中每层抽取的字节数量。
密文获取模块,根据更新后的差异树中每层抽取的字节数量获取抽取数据,根据抽取数据获取矩阵每个位置对应的原始密钥,进而获取原始密钥矩阵,根据原始密钥矩阵获取原始安全信息对应的密文和子密钥。
根据更新后的差异树中每层抽取的字节数量,对差异树中每层存放的属性差异性系数对应的信息进行平均抽取,每次抽取第三预设阈值个字节,将抽取的字节按照属性差异性系数对应的等级编号进行排序,获取抽取数据。其中,第三预设阈值的经验值为8。
将抽取数据均分为两组,将位于抽取数据靠前位置的一组记为第一抽取数据,将位于抽取数据靠后位置的一组记为第二抽取数据。
将第一抽取数据出现的连续为数字0的数量以及连续为数字1的数量的和记为第一长度,将第二抽取数据出现的连续为数字0的数量以及连续为数字1的数量的和记为第二长度。
将第一抽取数据中包含的数字按照从上到下、从左到右的顺序均匀填充至第一秘钥矩阵中。第一秘钥矩阵的经验大小为4*4矩阵,根据第三预设阈值和第一抽取数量阈值的经验值,第一秘钥矩阵中每个位置包含8个第一抽取数据中相邻的数字。
将第二抽取数据中包含的数字按照从上到下、从左到右的顺序均匀填充至第二秘钥矩阵中。第二秘钥矩阵的经验大小为4*4矩阵,根据第三预设阈值和第一抽取数量阈值的经验值,第二秘钥矩阵中每个位置包含8个第二抽取数据中相邻的数字。
获取矩阵每个位置的原始密钥。
式中,
将矩阵每个位置对应的原始密钥转换为16进制的数字,将16进制的数字填充至原始密钥对应的矩阵位置,获取原始密钥矩阵。
根据第一秘钥矩阵和第二秘钥矩阵获取原始密钥矩阵的过程如图4所示。
将原始密钥矩阵作为AES-128加密算法的初始秘钥,使用AES-128加密算法获取原始安全信息对应的密文和子密钥。
至此,获取原始安全信息对应的密文和子密钥。
食品信息安全追溯模块,根据子密钥、原始安全信息对应的密文和婴幼儿食品的唯一标识码,判断婴幼儿食品对应的原始安全信息是否被恶意篡改,进而实现食品信息的安全追溯。
通过子密钥对原始安全信息对应的密文进行解密,获取解密后的数据的唯一标识码。
当解密后的数据的唯一标识码和婴幼儿食品的唯一标识码全部相同时,则认为加密后的婴幼儿食品对应的原始安全信息未被恶意篡改,否则,认为婴幼儿食品对应的原始安全信息被恶意篡改。
当婴幼儿食品对应的原始安全信息被恶意篡改时,根据对应的唯一标识码出现不同的位置,获取出现不同的位置对应的生产到销售的具体环节,实现对婴幼儿食品进行食品信息的安全追溯。其中,生产到销售的具体环节包括原料采购环节、生产加工与包装环节、运输与储存环节和销售环节。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种食品安全信息追溯监管管理系统
- 一种基于RFID技术的食品供应链追溯管理系统