System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于HMAC算法实现保证日志完整性的方法技术_技高网

一种基于HMAC算法实现保证日志完整性的方法技术

技术编号:40219396 阅读:7 留言:0更新日期:2024-02-02 22:25
本发明专利技术涉及人工智能技术领域,尤其涉及一种基于HMAC算法实现保证日志完整性的方法,包括步骤S1,读取日志数据;步骤S2,记录与转存日志数据;步骤S3,检测日志数据。本发明专利技术通过控制器对可追加文件分段读取,得到第二日志数据,算法器计算读取第二日志数据时的初始HMAC值,以检测器在预设检测周期对日志数据库的日志数据进行HMAC值周期验证,通过在读取任一目标日志文件时,将实时HMAC值与初始HMAC值进行对比,以检测器判定匹配字节位置的日志数据是否被修改,通过第二寄存器对各日志数据进行存储,以及时对被修改的文件进行恢复,保证日志数据的完整性,根据实时追加频率与实时追加次数对预设检测周期进行修正,减少冗余检测次数。

【技术实现步骤摘要】

本专利技术涉及人工智能,尤其涉及一种基于hmac算法实现保证日志完整性的方法。


技术介绍

1、日志是服务运维中的重要工具,通过日志可以了解服务的运行状态及存在的问题,通过分析日志的完整性,能够及时可靠地发现服务系统中的异常;但是基于现有方法都是只能确定不可追加日志文件的完整性,难以保证可追加日志文件的完整性,且若系统出现攻击或者恶意入侵,现有方法只能检测攻击过程与检测日志完整性,并不能恢复被篡改的日志文件,因此,亟需一种保证日志完整性的方法以克服或减轻以上情况的缺点和限制中的一些技术的需要。

2、中国专利公开号:cn111444519a,公开了用于保护日志数据的完整性的方法和实现该方法的计算机系统,其技术点是对于第一逻辑电路来说未知的秘密信息,在第二逻辑电路处生成受保护的日志数据元素;由此可见,在现有的保证日志完整性的方法中,缺乏对日志存储至日志数据库的过程以及日志存储状态进行周期性地检测,以确定被修改的日志文件,并及时对修改内容进行恢复,保障可追加日志文件的完整性。


技术实现思路

1、为此,本专利技术提供一种基于hmac算法实现保证日志完整性的方法,用以克服现有技术中难以保证可追加文件的完整性的问题。

2、为实现上述目的,本专利技术提供一种基于hmac算法实现保证日志完整性的方法,包括,

3、步骤s1,读取打开目标日志文件的模式,确定目标日志文件是否可追加,根据标准字节数量,确定是否对可追加目标日志文件进行切分,得到若干目标日志条目,对进行切分的目标日志文件进行分段读取,对未切分的目标日志文件对应的第二日志数据进行整体读取,并通过第二寄存器将第二日志数据进行转存;

4、步骤s2,计算各目标日志条目对应的初始hmac值,记录各目标日志条目的日志存储数据,并将各日志存储数据转存至第一寄存器,任一所述日志存储数据包括读取文件起始下标、读取文件截止下标以及初始hmac值;

5、步骤s3,通过控制端在对任一目标日志文件进行读取并生成第二日志数据时,检测器将匹配字节位置的实时hmac值与初始hmac值进行对比,并在第二日志数据存储至所述日志数据库中的匹配字节位置后,根据标准hmac值对实时积累hmac值进行判定,以对目标日志文件进行追加hmac值验证,在预设检测周期对日志数据库中的已储存日志数据进行hmac值周期验证,并根据实时追加频率与实时追加次数对预设检测周期进行修正。

6、进一步地,在所述步骤s1中,通过控制器读取打开文件的模式,并根据打开文件的模式判定目标日志文件是否可追加,

7、若目标日志文件为可追加文件,所述控制器将根据标准字节数量对实时字节数量进行判定,以确定是否对可追加目标日志文件进行切分;

8、若目标日志文件为不可追加文件,所述控制器对该目标日志文件进行读取,生成第一日志数据,输入至日志数据库进行储存并记为已储存日志数据,输入至所述第二寄存器进行转存,通过算法器计算该第一日志数据的初始hmac值,将该初始hmac值传输至所述第一寄存器进行存储,以所述检测器将通过获取第一寄存器储存的对应的初始hmac对该第一日志数据进行hmac值周期验证。

9、进一步地,所述控制器内设置有标准字节数量,控制器在判定目标日志文件为可追加文件时,获取所述目标日志文件的实时字节数量,根据标准字节数量对实时字节数量进行判定,

10、若实时字节数量小于等于标准字节数量,所述控制器不对目标日志文件进行切分,对目标日志文件进行整体读取,生成第二日志数据;

11、若实时字节数量大于标准字节数量,所述控制器对目标日志文件进行切分,得到若干目标日志条目,生成若干第二日志数据。

12、进一步地,对于任一第二日志数据,将通过算法器计算该第二日志数据的初始hmac值,通过控制器将该初始hmac值、各目标日志条目对应的读取文件起始下标以及读取文件截止下标传输至所述第一寄存器进行存储,将该第二日志数据传输至第二寄存器进行转存,标记为与该第二日志数据对应的复刻日志数据,以所述检测器将通过获取第一寄存器储存的对应的初始hmac对该第二日志数据进行hmac值周期验证以及追加hmac值验证。

13、进一步地,在所述步骤s3中,通过所述控制器读取任一目标日志文件,生成对应的第二日志数据时,所述检测器通过所述第一寄存器获取该第二日志数据中的初始hmac值、读取文件起始下标以及读取文件截止下标,根据读取文件起始下标以及读取文件截止下标计算该目标日志文件的匹配字节位置,计算该第二日志数据的实时hmac值,将初始hmac值与实时hmac值进行对比,以对目标日志文件进行追加hmac值验证,

14、若实时hmac值等于初始hmac值,所述检测器判定匹配字节位置的基础日志数据未被修改,将该第二日志数据存储至所述日志数据库中的匹配字节位置;

15、若实时hmac值不等于初始hmac值,所述检测器判定匹配字节位置的基础日志数据已被修改,将该基础数据进行删除,并在所述第二寄存器中获取与匹配字节位置相同位置的复刻日志数据传输至匹配字节位置进行数据恢复处理,将该第二日志数据存储至所述日志数据库中的匹配字节位置;

16、其中,匹配字节位置等于读取文件截止下标减去读取文件起始下标并加一。

17、进一步地,所述检测器能够在将该第二日志数据存储至所述日志数据库中的匹配字节位置后,对实时积累数据进行当前日志完整性检测,获取日志基础数据的实时hmac值作为基础hmac值,获取第二日志数据的初始hmac值,将该基础hmac值与该初始hmac值之和作为标准hmac值,通过算法器计算实时积累数据的实时积累hmac值,检测器根据标准hmac值对实时积累hmac值进行判定,以对目标日志文件进行追加hmac值验证,

18、若实时积累hmac值等于标准hmac值,则所述检测器判定该第二日志数据存储过程的数据已被修改,将该第二日志数据在日志数据库中进行删除,在所述第二寄存器中获取对应的复刻日志数据传输至匹配字节位置进行数据恢复处理;

19、若实时积累hmac值不等于标准hmac值,则所述检测器判定该第二日志数据存储过程的数据未被修改,不对该第二日志数据在日志数据库中进行删除。

20、进一步地,所述检测器内设置有标准追加次数,检测器在判定目标日志文件为可追加文件时,还能够获取可追加文件的实时追加次数,根据标准追加次数对实时追加次数进行判定,

21、若实时追加次数小于等于标准追加次数,所述检测器不对预设检测周期进行修正;

22、若实时追加次数大于标准追加次数,将根据标准追加频率对实时追加频率进行判定,所述检测器将根据标准追加频率对实时追加频率进行判定,以确定是否对预设检测周期进行修正。

23、进一步地,所述检测器内设置有标准追加频率,检测器在判定实时追加次数大于标准追加次数时,能够获取预设检测周期内可追加文件的实时追加频率,根据标准追加频率对实时追加频率本文档来自技高网...

【技术保护点】

1.一种基于HMAC算法实现保证日志完整性的方法,其特征在于,包括,

2.根据权利要求1所述的基于HMAC算法实现保证日志完整性的方法,其特征在于,在所述步骤S1中,通过控制器读取打开文件的模式,并根据打开文件的模式判定目标日志文件是否可追加,

3.根据权利要求2所述的基于HMAC算法实现保证日志完整性的方法,其特征在于,所述控制器内设置有标准字节数量,控制器在判定目标日志文件为可追加文件时,获取所述目标日志文件的实时字节数量,根据标准字节数量对实时字节数量进行判定,

4.根据权利要求3所述的基于HMAC算法实现保证日志完整性的方法,其特征在于,对于任一第二日志数据,将通过算法器计算该第二日志数据的初始HMAC值,通过控制器将该初始HMAC值、各目标日志条目对应的读取文件起始下标以及读取文件截止下标传输至所述第一寄存器进行存储,将该第二日志数据传输至第二寄存器进行转存,标记为与该第二日志数据对应的复刻日志数据,以所述检测器将通过获取第一寄存器储存的对应的初始HMAC对该第二日志数据进行HMAC值周期验证以及追加HMAC值验证。

5.根据权利要求4所述的基于HMAC算法实现保证日志完整性的方法,其特征在于,在所述步骤S3中,通过所述控制器读取任一目标日志文件,生成对应的第二日志数据时,所述检测器通过所述第一寄存器获取该第二日志数据中的初始HMAC值、读取文件起始下标以及读取文件截止下标,根据读取文件起始下标以及读取文件截止下标计算该目标日志文件的匹配字节位置,计算该第二日志数据的实时HMAC值,将初始HMAC值与实时HMAC值进行对比,以对目标日志文件进行追加HMAC值验证,

6.根据权利要求5所述的基于HMAC算法实现保证日志完整性的方法,其特征在于,所述检测器能够在将该第二日志数据存储至所述日志数据库中的匹配字节位置后,对实时积累数据进行追加HMAC值验证,获取日志基础数据的实时HMAC值作为基础HMAC值,获取第二日志数据的初始HMAC值,将该基础HMAC值与该初始HMAC值之和作为标准HMAC值,通过算法器计算实时积累数据的实时积累HMAC值,检测器根据标准HMAC值对实时积累HMAC值进行判定,

7.根据权利要求6所述的基于HMAC算法实现保证日志完整性的方法,其特征在于,所述检测器内设置有标准追加次数,检测器在判定目标日志文件为可追加文件时,还能够获取可追加文件的实时追加次数,根据标准追加次数对实时追加次数进行判定,

8.根据权利要求7所述的基于HMAC算法实现保证日志完整性的方法,其特征在于,所述检测器内设置有标准追加频率,检测器在判定实时追加次数大于标准追加次数时,能够获取预设检测周期内可追加文件的实时追加频率,根据标准追加频率对实时追加频率进行判定,

9.根据权利要求1所述的基于HMAC算法实现保证日志完整性的方法,其特征在于,在所述步骤S3中,所述检测器能够在预设检测周期对所述日志数据库中的各已储存日志数据进行HMAC值周期验证,在所述第一寄存器中分别获取各已储存日志数据对应的初始HMAC值,在预设检测周期计算各已储存日志数据对应的实时HMAC值,若实时HMAC值与对应的初始HMAC值不相同,在所述第二寄存器中获取对应的已复刻数据传输至日志数据库进行数据恢复处理;

10.根据权利要求1所述的基于HMAC算法实现保证日志完整性的方法,其特征在于,所述检测器内设置有实时时钟以及标准清除周期,所述实时时钟能够对任一复刻日志数据储存至所述第二寄存器内时进行计时,检测器能够获取任一复刻日志数据的实时清除周期,并根据标准清除周期对实时清除周期进行判定,

...

【技术特征摘要】

1.一种基于hmac算法实现保证日志完整性的方法,其特征在于,包括,

2.根据权利要求1所述的基于hmac算法实现保证日志完整性的方法,其特征在于,在所述步骤s1中,通过控制器读取打开文件的模式,并根据打开文件的模式判定目标日志文件是否可追加,

3.根据权利要求2所述的基于hmac算法实现保证日志完整性的方法,其特征在于,所述控制器内设置有标准字节数量,控制器在判定目标日志文件为可追加文件时,获取所述目标日志文件的实时字节数量,根据标准字节数量对实时字节数量进行判定,

4.根据权利要求3所述的基于hmac算法实现保证日志完整性的方法,其特征在于,对于任一第二日志数据,将通过算法器计算该第二日志数据的初始hmac值,通过控制器将该初始hmac值、各目标日志条目对应的读取文件起始下标以及读取文件截止下标传输至所述第一寄存器进行存储,将该第二日志数据传输至第二寄存器进行转存,标记为与该第二日志数据对应的复刻日志数据,以所述检测器将通过获取第一寄存器储存的对应的初始hmac对该第二日志数据进行hmac值周期验证以及追加hmac值验证。

5.根据权利要求4所述的基于hmac算法实现保证日志完整性的方法,其特征在于,在所述步骤s3中,通过所述控制器读取任一目标日志文件,生成对应的第二日志数据时,所述检测器通过所述第一寄存器获取该第二日志数据中的初始hmac值、读取文件起始下标以及读取文件截止下标,根据读取文件起始下标以及读取文件截止下标计算该目标日志文件的匹配字节位置,计算该第二日志数据的实时hmac值,将初始hmac值与实时hmac值进行对比,以对目标日志文件进行追加hmac值验证,

6.根据权利要求5所述的基于hmac算法实现保证日志完整性的方法,其特征在于,所述检测器能够在将该第二...

【专利技术属性】
技术研发人员:尹旭邓斌庄恩贵
申请(专利权)人:北京景安云信科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1