CN117472868A - 一种基于hmac算法实现保证日志完整性的方法 - Google Patents
一种基于hmac算法实现保证日志完整性的方法 Download PDFInfo
- Publication number
- CN117472868A CN117472868A CN202311200265.1A CN202311200265A CN117472868A CN 117472868 A CN117472868 A CN 117472868A CN 202311200265 A CN202311200265 A CN 202311200265A CN 117472868 A CN117472868 A CN 117472868A
- Authority
- CN
- China
- Prior art keywords
- log
- real
- time
- file
- log data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000001514 detection method Methods 0.000 claims abstract description 73
- 238000012795 verification Methods 0.000 claims abstract description 29
- 238000007792 addition Methods 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 16
- 238000011084 recovery Methods 0.000 claims description 14
- 238000013500 data storage Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 4
- 230000000737 periodic effect Effects 0.000 claims description 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store 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
-
- 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)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及人工智能技术领域,尤其涉及一种基于HMAC算法实现保证日志完整性的方法,包括步骤S1,读取日志数据;步骤S2,记录与转存日志数据;步骤S3,检测日志数据。本发明通过控制器对可追加文件分段读取,得到第二日志数据,算法器计算读取第二日志数据时的初始HMAC值,以检测器在预设检测周期对日志数据库的日志数据进行HMAC值周期验证,通过在读取任一目标日志文件时,将实时HMAC值与初始HMAC值进行对比,以检测器判定匹配字节位置的日志数据是否被修改,通过第二寄存器对各日志数据进行存储,以及时对被修改的文件进行恢复,保证日志数据的完整性,根据实时追加频率与实时追加次数对预设检测周期进行修正,减少冗余检测次数。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于HMAC算法实现保证日志完整性的方法。
背景技术
日志是服务运维中的重要工具,通过日志可以了解服务的运行状态及存在的问题,通过分析日志的完整性,能够及时可靠地发现服务***中的异常;但是基于现有方法都是只能确定不可追加日志文件的完整性,难以保证可追加日志文件的完整性,且若***出现攻击或者恶意入侵,现有方法只能检测攻击过程与检测日志完整性,并不能恢复被篡改的日志文件,因此,亟需一种保证日志完整性的方法以克服或减轻以上情况的缺点和限制中的一些技术的需要。
中国专利公开号:CN111444519A,公开了用于保护日志数据的完整性的方法和实现该方法的计算机***,其技术点是对于第一逻辑电路来说未知的秘密信息,在第二逻辑电路处生成受保护的日志数据元素;由此可见,在现有的保证日志完整性的方法中,缺乏对日志存储至日志数据库的过程以及日志存储状态进行周期性地检测,以确定被修改的日志文件,并及时对修改内容进行恢复,保障可追加日志文件的完整性。
发明内容
为此,本发明提供一种基于HMAC算法实现保证日志完整性的方法,用以克服现有技术中难以保证可追加文件的完整性的问题。
为实现上述目的,本发明提供一种基于HMAC算法实现保证日志完整性的方法,包括,
步骤S1,读取打开目标日志文件的模式,确定目标日志文件是否可追加,根据标准字节数量,确定是否对可追加目标日志文件进行切分,得到若干目标日志条目,对进行切分的目标日志文件进行分段读取,对未切分的目标日志文件对应的第二日志数据进行整体读取,并通过第二寄存器将第二日志数据进行转存;
步骤S2,计算各目标日志条目对应的初始HMAC值,记录各目标日志条目的日志存储数据,并将各日志存储数据转存至第一寄存器,任一所述日志存储数据包括读取文件起始下标、读取文件截止下标以及初始HMAC值;
步骤S3,通过控制端在对任一目标日志文件进行读取并生成第二日志数据时,检测器将匹配字节位置的实时HMAC值与初始HMAC值进行对比,并在第二日志数据存储至所述日志数据库中的匹配字节位置后,根据标准HMAC值对实时积累HMAC值进行判定,以对目标日志文件进行追加HMAC值验证,在预设检测周期对日志数据库中的已储存日志数据进行HMAC值周期验证,并根据实时追加频率与实时追加次数对预设检测周期进行修正。
进一步地,在所述步骤S1中,通过控制器读取打开文件的模式,并根据打开文件的模式判定目标日志文件是否可追加,
若目标日志文件为可追加文件,所述控制器将根据标准字节数量对实时字节数量进行判定,以确定是否对可追加目标日志文件进行切分;
若目标日志文件为不可追加文件,所述控制器对该目标日志文件进行读取,生成第一日志数据,输入至日志数据库进行储存并记为已储存日志数据,输入至所述第二寄存器进行转存,通过算法器计算该第一日志数据的初始HMAC值,将该初始HMAC值传输至所述第一寄存器进行存储,以所述检测器将通过获取第一寄存器储存的对应的初始HMAC对该第一日志数据进行HMAC值周期验证。
进一步地,所述控制器内设置有标准字节数量,控制器在判定目标日志文件为可追加文件时,获取所述目标日志文件的实时字节数量,根据标准字节数量对实时字节数量进行判定,
若实时字节数量小于等于标准字节数量,所述控制器不对目标日志文件进行切分,对目标日志文件进行整体读取,生成第二日志数据;
若实时字节数量大于标准字节数量,所述控制器对目标日志文件进行切分,得到若干目标日志条目,生成若干第二日志数据。
进一步地,对于任一第二日志数据,将通过算法器计算该第二日志数据的初始HMAC值,通过控制器将该初始HMAC值、各目标日志条目对应的读取文件起始下标以及读取文件截止下标传输至所述第一寄存器进行存储,将该第二日志数据传输至第二寄存器进行转存,标记为与该第二日志数据对应的复刻日志数据,以所述检测器将通过获取第一寄存器储存的对应的初始HMAC对该第二日志数据进行HMAC值周期验证以及追加HMAC值验证。
进一步地,在所述步骤S3中,通过所述控制器读取任一目标日志文件,生成对应的第二日志数据时,所述检测器通过所述第一寄存器获取该第二日志数据中的初始HMAC值、读取文件起始下标以及读取文件截止下标,根据读取文件起始下标以及读取文件截止下标计算该目标日志文件的匹配字节位置,计算该第二日志数据的实时HMAC值,将初始HMAC值与实时HMAC值进行对比,以对目标日志文件进行追加HMAC值验证,
若实时HMAC值等于初始HMAC值,所述检测器判定匹配字节位置的基础日志数据未被修改,将该第二日志数据存储至所述日志数据库中的匹配字节位置;
若实时HMAC值不等于初始HMAC值,所述检测器判定匹配字节位置的基础日志数据已被修改,将该基础数据进行删除,并在所述第二寄存器中获取与匹配字节位置相同位置的复刻日志数据传输至匹配字节位置进行数据恢复处理,将该第二日志数据存储至所述日志数据库中的匹配字节位置;
其中,匹配字节位置等于读取文件截止下标减去读取文件起始下标并加一。
进一步地,所述检测器能够在将该第二日志数据存储至所述日志数据库中的匹配字节位置后,对实时积累数据进行当前日志完整性检测,获取日志基础数据的实时HMAC值作为基础HMAC值,获取第二日志数据的初始HMAC值,将该基础HMAC值与该初始HMAC值之和作为标准HMAC值,通过算法器计算实时积累数据的实时积累HMAC值,检测器根据标准HMAC值对实时积累HMAC值进行判定,以对目标日志文件进行追加HMAC值验证,
若实时积累HMAC值等于标准HMAC值,则所述检测器判定该第二日志数据存储过程的数据已被修改,将该第二日志数据在日志数据库中进行删除,在所述第二寄存器中获取对应的复刻日志数据传输至匹配字节位置进行数据恢复处理;
若实时积累HMAC值不等于标准HMAC值,则所述检测器判定该第二日志数据存储过程的数据未被修改,不对该第二日志数据在日志数据库中进行删除。
进一步地,所述检测器内设置有标准追加次数,检测器在判定目标日志文件为可追加文件时,还能够获取可追加文件的实时追加次数,根据标准追加次数对实时追加次数进行判定,
若实时追加次数小于等于标准追加次数,所述检测器不对预设检测周期进行修正;
若实时追加次数大于标准追加次数,将根据标准追加频率对实时追加频率进行判定,所述检测器将根据标准追加频率对实时追加频率进行判定,以确定是否对预设检测周期进行修正。
进一步地,所述检测器内设置有标准追加频率,检测器在判定实时追加次数大于标准追加次数时,能够获取预设检测周期内可追加文件的实时追加频率,根据标准追加频率对实时追加频率进行判定,
若实时追加频率小于等于标准追加频率,所述检测器不对预设检测周期进行修正;
若实时追加频率大于标准追加频率,所述检测器根据实时追加频率与实时追加次数对预设检测周期进行修正。
进一步地,在所述步骤S3中,所述检测器能够在预设检测周期对所述日志数据库中的各已储存日志数据进行HMAC值周期验证,在所述第一寄存器中分别获取各已储存日志数据对应的初始HMAC值,在预设检测周期计算各已储存日志数据对应的实时HMAC值,若实时HMAC值与对应的初始HMAC值不相同,在所述第二寄存器中获取对应的已复刻数据传输至日志数据库进行数据恢复处理;
已储存日志数据包括各第一日志数据与各第二日志数据,已复刻数据包括对应的输入至所述第二寄存器进行转存的第一日志数据与第二日志数据。
进一步地,所述检测器内设置有实时时钟以及标准清除周期,所述实时时钟能够对任一复刻日志数据储存至所述第二寄存器内时进行计时,检测器能够获取任一复刻日志数据的实时清除周期,并根据标准清除周期对实时清除周期进行判定,
若实时清除周期小于标准清除周期,所述检测器不对所述第二寄存器内储存的该复刻日志数据进行删除处理;
若实时清除周期大于等于标准清除周期,所述检测器对所述第二寄存器内储存的该复刻日志数据进行删除处理。
与现有技术相比,本发明的有益效果在于,通过控制器对可追加文件分段读取,得到第二日志数据,算法器计算读取第二日志数据时的初始HMAC值,以检测器在预设检测周期对日志数据库的日志数据进行完整性检测,通过在读取任一目标日志文件时,将实时HMAC值与初始HMAC值进行对比,以检测器判定匹配字节位置的日志数据是否被修改,通过第二寄存器对各第二日志数据进行存储,以及时对被修改的文件进行恢复,保证日志数据的完整性,根据实时追加频率与实时追加次数对预设检测周期进行修正,减少冗余检测次数。
进一步地,通过区分目标日志文件是否为可追加文件,由于不可追加文件为固定文件,则直接计算初始HMAC值,将读取的第一日志数据存储至日志数据库,在预设检测周期定期检测即可,因为可追加文件具有储存数据量大、可持续扩展以及文件内容复杂的特点,因此需要对储存数据量大的可追加文件进行切分处理,以保障持续对可追加文件的更新与扩展。
进一步地,通过设置标准字节数量,以控制器根据标准字节数量对实时字节数量进行判定,若控制器判定实时字节数量小于等于标准字节数量,表示目标日志文件较小,不用切分,反之,若目标日志文件较大,则将目标日志文件切分,切分后的各目标日志条目的大小相同,各目标日志条目间的文件起始下标与文件截止下标为连续的。
进一步地,通过读取第二日志数据,通过算法器将读取的每一段数据进行HMAC计算,将结果存入第一寄存器中,第一寄存器记录读取文件起始下标、读取文件截止下标以及初始HMAC值,通过将该第二日志数据传输至第二寄存器进行转存,当文件被篡改后,可用于还原被篡改的日志文件。
进一步地,读取文件起始下标以及读取文件截止下标用以确定基础数据中的字节位置,在读取任一目标日志文件,得到对应的第二日志数据时,通过根据当前读取的目标日志文件的实时字节位置,确定日志数据库中的匹配字节位置,并对匹配字节位置所处的数据范围进行完整性检测,以检测出现数据被篡改的情况,及时恢复保障日志数据的完整性,确定当前读取的目标日志文件能够顺利正确存储至日志数据库中。
进一步地,在将该第二日志数据存储至所述日志数据库中的匹配字节位置后,将匹配字节位置的数据作为日志基础数据,将第二日志数据追加至日志基础数据后的数据记为实时积累数据,对实时积累数据进行当前日志完整性检测,以确定追加文件进行存储的过程中是否出现数据被篡改的情况,若出现,将错误数据删除,通过第二寄存器进行补充以恢复数据保障日志文件的完整性。
进一步地,由于每当存在追加文件对其进行读取时,检测器对日志数据库中对应的日志数据进行一次检测,在追加文件对应存储后,对积累数据也进行一次完整性检测,因此,为了避免检测器在预设检测周期的检测次数过于频繁导致冗余,需适应调小设定的预设检测周期。
进一步地,通过根据追加文件的追加次数和追加频率对预设检测周期进行修正,若追加次数越多追加频率越大,则调大预设检测周期,初始设置的检测周期为零,表示刚开始检测到目标日志文件时,在生成目标日志数据时的这一刻对该目标日志数据进行一次完整性检测,即在该目标日志数据存储前进行的一次检测,以及时恢复被篡改的数据,保证将追加文件正确更新与扩展至匹配位置。
进一步地,在预设检测周期对所述日志数据库中的各第一日志数据与各第二日志数据进行完整性检测,通过将各段数据的实时HMAC值与初始HMAC值对比,若实时HMAC值与对应的初始HMAC值相同,则表示内容未被篡改,通过检测,若实时HMAC值与对应的初始HMAC值不相同,表示内容已被篡改,通过第二寄存器中获取对应的第二日志数据传输至日志数据库进行数据恢复处理,即可保障日志数据的完整性。
进一步地,由于第二寄存器存储容量有限,因此对复刻日志数据的存储有限,对数据恢复处理的能力有所限制,在标准清除周期对第二寄存器内储存的该复刻日志数据进行删除处理,以保障一定周期内的日志数据完整性。
附图说明
图1为本发明实施例基于HMAC算法实现保证日志完整性的方法的流程示意图;
图2为本发明实施例基于HMAC算法的日志存储验证***的示意图。
具体实施方式
为了使本发明的目的和优点更加清楚明白,下面结合实施例对本发明作进一步描述;应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非在限制本发明的保护范围。
需要说明的是,在本发明的描述中,术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。
请参阅图1所示,其为本发明实施例基于HMAC算法实现保证日志完整性的方法的流程示意图,本发明提供了一种基于HMAC算法实现保证日志完整性的方法,包括,
步骤S1,读取打开目标日志文件的模式,确定目标日志文件是否可追加,根据标准字节数量,确定是否对可追加目标日志文件进行切分,得到若干目标日志条目,对进行切分的目标日志文件进行分段读取,对未切分的目标日志文件对应的第二日志数据进行整体读取,并通过第二寄存器将第二日志数据进行转存;
步骤S2,计算各目标日志条目对应的初始HMAC值,记录各目标日志条目的日志存储数据,并将各日志存储数据转存至第一寄存器,任一所述日志存储数据包括读取文件起始下标、读取文件截止下标以及初始HMAC值;
步骤S3,通过控制端在对任一目标日志文件进行读取并生成第二日志数据时,检测器将匹配字节位置的实时HMAC值与初始HMAC值进行对比,并在第二日志数据存储至所述日志数据库中的匹配字节位置后,根据标准HMAC值对实时积累HMAC值进行判定,以对目标日志文件进行追加HMAC值验证,在预设检测周期对日志数据库中的已储存日志数据进行HMAC值周期验证,并根据实时追加频率与实时追加次数对预设检测周期进行修正。
通过控制器对可追加文件分段读取,得到实时日志数据,算法器计算读取实时日志数据时的初始HMAC值,以检测器在预设检测周期对日志数据库的日志数据进行完整性检测,通过在读取任一目标日志文件时,将实时HMAC值与初始HMAC值进行对比,以检测器判定匹配字节位置的日志数据是否被修改,通过第二寄存器对各实时日志数据进行存储,以及时对被修改的文件进行恢复,保证日志数据的完整性,通过根据实时追加频率与实时追加次数对初始检测周期进行修正,减少冗余检测次数。
具体而言,在所述步骤S1中,通过控制器读取打开文件的模式,并根据打开文件的模式判定目标日志文件是否可追加,
若目标日志文件为可追加文件,所述控制器将根据标准字节数量对实时字节数量进行判定,以确定是否对可追加目标日志文件进行切分;
若目标日志文件为不可追加文件,所述控制器对该目标日志文件进行读取,生成第一日志数据,输入至日志数据库进行储存并记为已储存日志数据,输入至所述第二寄存器进行转存,通过算法器计算该第一日志数据的初始HMAC值,将该初始HMAC值传输至所述第一寄存器进行存储,以所述检测器将通过获取第一寄存器储存的对应的初始HMAC对该第一日志数据进行HMAC值周期验证。
通过区分目标日志文件是否为可追加文件,由于不可追加文件为固定文件,则直接计算初始HMAC值,将读取的固定日志数据存储至日志数据库,在预设检测周期定期检测即可,因为可追加文件具有储存数据量大、可持续扩展以及文件内容复杂的特点,因此需要对储存数据量大的可追加文件进行切分处理,以保障持续对可追加文件的更新与扩展。
具体而言,所述控制器内设置有标准字节数量,控制器在判定目标日志文件为可追加文件时,获取所述目标日志文件的实时字节数量,根据标准字节数量对实时字节数量进行判定,
若实时字节数量小于等于标准字节数量,所述控制器不对目标日志文件进行切分,对目标日志文件进行整体读取,生成第二日志数据;
若实时字节数量大于标准字节数量,所述控制器对目标日志文件进行切分,得到若干目标日志条目,生成若干第二日志数据。
标准字节数量表示设定的切分可追加文件的字节数量单元,设定值与可追加文件的数据容量、存储介质的容量有关,一般设置为512KB;
通过设置标准字节数量,以控制器根据标准字节数量对实时字节数量进行判定,若控制器判定实时字节数量小于等于标准字节数量,表示目标日志文件较小,不用切分,反之,若目标日志文件较大,则将目标日志文件切分,切分后的各目标日志条目的大小相同,各目标日志条目间的文件起始下标与文件截止下标为连续的。
具体而言,对于任一第二日志数据,将通过算法器计算该第二日志数据的初始HMAC值,通过控制器将该初始HMAC值、各目标日志条目对应的读取文件起始下标以及读取文件截止下标传输至所述第一寄存器进行存储,将该第二日志数据传输至第二寄存器进行转存,标记为与该第二日志数据对应的复刻日志数据,以所述检测器将通过获取第一寄存器储存的对应的初始HMAC对该第二日志数据进行HMAC值周期验证以及追加HMAC值验证。
通过读取实时日志数据,通过算法器将读取的每一段数据进行HMAC计算,将结果存入第一寄存器中,第一寄存器还记录了文件路径、文件名称、读取文件起始下标、读取文件截止下标、初始HMAC值、初始标识符以及初始序列号数据,通过将该实时日志数据传输至第二寄存器进行转存,当文件被篡改后,可用于还原被篡改的日志文件。
在本实施例中算法器计算HMAC值是通过选择一个哈希函数MD5,生成一个随机的秘钥,对于每条目标日志条目,使用哈希函数和密钥计算HMAC值,计算公式可表示为H1=SHA1(m+L1),L1表示第一条目标日志条目,m表示生成的一个随机的秘钥,将结果存入第一寄存器中,并生成该日志初始序列号0,表示第一条目标日志条目唯一标识符。
具体而言,在所述步骤S3中,通过所述控制器读取任一目标日志文件,生成对应的第二日志数据时,所述检测器通过所述第一寄存器获取该第二日志数据中的初始HMAC值、读取文件起始下标以及读取文件截止下标,根据读取文件起始下标以及读取文件截止下标计算该目标日志文件的匹配字节位置,计算该第二日志数据的实时HMAC值,将初始HMAC值与实时HMAC值进行对比,以对目标日志文件进行追加HMAC值验证,
若实时HMAC值等于初始HMAC值,所述检测器判定匹配字节位置的基础日志数据未被修改,将该第二日志数据存储至所述日志数据库中的匹配字节位置;
若实时HMAC值不等于初始HMAC值,所述检测器判定匹配字节位置的基础日志数据已被修改,将该基础数据进行删除,并在所述第二寄存器中获取与匹配字节位置相同位置的复刻日志数据传输至匹配字节位置进行数据恢复处理,将该第二日志数据存储至所述日志数据库中的匹配字节位置;
其中,匹配字节位置等于读取文件截止下标减去读取文件起始下标并加一。
读取文件起始下标以及读取文件截止下标用以确定基础数据中的字节位置,在读取任一目标日志文件,得到对应的实时日志数据时,通过根据当前读取的目标日志文件的实时字节位置,确定日志数据库中的匹配字节位置,并对匹配字节位置所处的数据范围进行完整性检测,以检测出现数据被篡改的情况,及时恢复保障日志数据的完整性,确定当前读取的目标日志文件能够顺利正确存储至日志数据库中。
具体而言,所述检测器能够在将该第二日志数据存储至所述日志数据库中的匹配字节位置后,对实时积累数据进行当前日志完整性检测,获取日志基础数据的实时HMAC值作为基础HMAC值,获取第二日志数据的初始HMAC值,将该基础HMAC值与该初始HMAC值之和作为标准HMAC值,算法器计算实时积累数据的实时积累HMAC值,检测器根据标准HMAC值对实时积累HMAC值进行判定,以对目标日志文件进行追加HMAC值验证,
若实时积累HMAC值等于标准HMAC值,则所述检测器判定该第二日志数据存储过程的数据已被修改,将该第二日志数据在日志数据库中进行删除,在所述第二寄存器中获取对应的复刻日志数据传输至匹配字节位置进行数据恢复处理;
若实时积累HMAC值不等于标准HMAC值,则所述检测器判定该第二日志数据存储过程的数据未被修改,不对该第二日志数据在日志数据库中进行删除。
在将该实时日志数据存储至所述日志数据库中的匹配字节位置后,将匹配字节位置的数据作为日志基础数据,将实时日志数据追加至日志基础数据后的数据记为实时积累数据,对实时积累数据进行当前日志完整性检测,以确定追加文件进行存储的过程中是否出现数据被篡改的情况,若出现,将错误数据删除,通过第二寄存器进行补充以恢复数据保障日志文件的完整性。
具体而言,所述检测器内设置有标准追加次数,检测器在判定目标日志文件为可追加文件时,还能够获取可追加文件的实时追加次数,根据标准追加次数对实时追加次数进行判定,
若实时追加次数小于等于标准追加次数,所述检测器不对预设检测周期进行修正;
若实时追加次数大于标准追加次数,将根据标准追加频率对实时追加频率进行判定,所述检测器将根据标准追加频率对实时追加频率进行判定,以确定是否对预设检测周期进行修正。
标准追加次数表示设定的单条目标日志条目的追加次数的标准值,设定值与目标日志文件的属性以及检测器的预设检测周期有关,可以设定为5-8次;由于每当存在追加文件对其进行读取时,检测器对日志数据库中对应的日志数据进行一次检测,在追加文件对应存储后,对积累数据也进行一次完整性检测,因此,为了避免检测器在预设检测周期的检测次数过于频繁导致冗余,需适应调小设定的预设检测周期。
具体而言,所述检测器内设置有标准追加频率,检测器在判定实时追加次数大于标准追加次数时,能够获取预设检测周期内可追加文件的实时追加频率,根据标准追加频率对实时追加频率进行判定,
若实时追加频率小于等于标准追加频率,所述检测器不对预设检测周期进行修正;
若实时追加频率大于标准追加频率,所述检测器根据实时追加频率与实时追加次数对预设检测周期进行修正。
其中,Tc’=Tc+[1+(Fs-Fb)/Fs+(Ns-Nb)/Ns],Tc=0,Tc’表示修正后的预设检测周期,Tc表示初始设置的检测周期,即读取目标日志文件时对应的时刻,Fs表示实时追加频率,Fb表示设定的标准追加频率,Ns表示实时追加次数,Nb表示设定的标准追加次数。
通过根据追加文件的追加次数和追加频率对预设检测周期进行修正,若追加次数越多追加频率越大,则调大预设检测周期,初始设置的检测周期为零,表示刚开始检测到目标日志文件时,在生成目标日志数据时的这一刻对该目标日志数据进行一次完整性检测,即在该目标日志数据存储前进行的一次检测,以及时恢复被篡改的数据,保证将追加文件正确更新与扩展至匹配位置。
具体而言,在所述步骤S3中,所述检测器能够在预设检测周期对所述日志数据库中的各已储存日志数据进行HMAC值周期验证,在所述第一寄存器中分别获取各已储存日志数据对应的初始HMAC值,在预设检测周期计算各已储存日志数据对应的实时HMAC值,若实时HMAC值与对应的初始HMAC值不相同,在所述第二寄存器中获取对应的已复刻数据传输至日志数据库进行数据恢复处理;
已储存日志数据包括各第一日志数据与各第二日志数据,已复刻数据包括对应的输入至所述第二寄存器进行转存的第一日志数据与第二日志数据。
具体而言,在所述步骤S3中,所述检测器能够在预设检测周期对所述日志数据库中的各固定日志数据与各实时日志数据进行完整性检测,在所述第一寄存器中分别获取各固定日志数据与各实时日志数据对应的初始HMAC值,在预设检测周期计算各固定日志数据与各实时日志数据对应的实时HMAC值,若实时HMAC值与对应的初始HMAC值不相同,在所述第二寄存器中获取对应的实时日志数据传输至日志数据库进行数据恢复处理。
在预设检测周期对所述日志数据库中的各固定日志数据与各实时日志数据进行完整性检测,通过将各段数据的实时HMAC值与初始HMAC值对比,若实时HMAC值与对应的初始HMAC值相同,则表示内容未被篡改,通过检测,若实时HMAC值与对应的初始HMAC值不相同,表示内容已被篡改,通过第二寄存器中获取对应的实时日志数据传输至日志数据库进行数据恢复处理,即可保障日志数据的完整性。
具体而言,所述检测器内设置有实时时钟以及标准清除周期,所述实时时钟能够对任一复刻日志数据储存至所述第二寄存器内时进行计时,检测器能够获取任一复刻日志数据的实时清除周期,并根据标准清除周期对实时清除周期进行判定,
若实时清除周期小于标准清除周期,所述检测器不对所述第二寄存器内储存的该复刻日志数据进行删除处理;
若实时清除周期大于等于标准清除周期,所述检测器对所述第二寄存器内储存的该复刻日志数据进行删除处理。
标准清除周期表示设定的对第二寄存器的存储数据的时间限制,设定值与第二寄存器存储容量、目标日志文件的大小以及应用需求有关,可以设定为48h;
由于第二寄存器存储容量有限,因此对复刻日志数据的存储有限,对数据恢复处理的能力有所限制,在标准清除周期对第二寄存器内储存的该复刻日志数据进行删除处理,以保障一定周期内的日志数据完整性。
请参阅图2所示,其为本发明实施例基于HMAC算法的日志存储验证***的示意图,本发明还提供了一种基于HMAC算法的日志存储验证***,包括,控制器、检测器、第一寄存器、第二寄存器、日志数据库以及算法器中,其中,
日志数据库,用以储存第一日志数据以及第二日志数据;
控制器,用以对输入的目标日志文件进行读取以及切分;
检测器,其与所述控制器以及所述日志数据库相连,用以在所述控制器将目标日志文件进行读取生成第二日志数据并储存在所述日志数据库时,对该目标日志数据进行追加HMAC值验证,所述检测器内设置有预设检测周期,检测器还能够对所述日志数据库中的任一目标日志数据的实时存储周期达到预设检测周期时对该目标日志数据进行HMAC值周期验证;
第一寄存器,其与所述控制器以及所述检测器相连,用以储存日志存储数据,日志存储数据包括读取文件起始下标、读取文件截止下标以及初始HMAC值;
第二寄存器,其与所述检测器以及所述控制器相连,用以转存第一日志数据以及第二日志数据;
算法器,其与所述第一寄存器以及所述检测器相连,用以计算各目标日志文件对应的日志存储数据中的初始HMAC值以及对所述日志数据库中的任一目标日志数据在实时存储周期达到预设检测周期时,计算该目标日志数据的HMAC值。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
以上所述仅为本发明的优选实施例,并不用于限制本发明;对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于HMAC算法实现保证日志完整性的方法,其特征在于,包括,
步骤S1,读取打开目标日志文件的模式,确定目标日志文件是否可追加,根据标准字节数量,确定是否对可追加目标日志文件进行切分,得到若干目标日志条目,对进行切分的目标日志文件进行分段读取,对未切分的目标日志文件对应的第二日志数据进行整体读取,并通过第二寄存器将第二日志数据进行转存;
步骤S2,计算各目标日志条目对应的初始HMAC值,记录各目标日志条目的日志存储数据,并将各日志存储数据转存至第一寄存器,任一所述日志存储数据包括读取文件起始下标、读取文件截止下标以及初始HMAC值;
步骤S3,通过控制端在对任一目标日志文件进行读取并生成第二日志数据时,检测器将匹配字节位置的实时HMAC值与初始HMAC值进行对比,并在第二日志数据存储至所述日志数据库中的匹配字节位置后,根据标准HMAC值对实时积累HMAC值进行判定,以对目标日志文件进行追加HMAC值验证,在预设检测周期对日志数据库中的已储存日志数据进行HMAC值周期验证,并根据实时追加频率与实时追加次数对预设检测周期进行修正。
2.根据权利要求1所述的基于HMAC算法实现保证日志完整性的方法,其特征在于,在所述步骤S1中,通过控制器读取打开文件的模式,并根据打开文件的模式判定目标日志文件是否可追加,
若目标日志文件为可追加文件,所述控制器将根据标准字节数量对实时字节数量进行判定,以确定是否对可追加目标日志文件进行切分;
若目标日志文件为不可追加文件,所述控制器对该目标日志文件进行读取,生成第一日志数据,输入至日志数据库进行储存并记为已储存日志数据,输入至所述第二寄存器进行转存,通过算法器计算该第一日志数据的初始HMAC值,将该初始HMAC值传输至所述第一寄存器进行存储,以所述检测器将通过获取第一寄存器储存的对应的初始HMAC对该第一日志数据进行HMAC值周期验证。
3.根据权利要求2所述的基于HMAC算法实现保证日志完整性的方法,其特征在于,所述控制器内设置有标准字节数量,控制器在判定目标日志文件为可追加文件时,获取所述目标日志文件的实时字节数量,根据标准字节数量对实时字节数量进行判定,
若实时字节数量小于等于标准字节数量,所述控制器不对目标日志文件进行切分,对目标日志文件进行整体读取,生成第二日志数据;
若实时字节数量大于标准字节数量,所述控制器对目标日志文件进行切分,得到若干目标日志条目,生成若干第二日志数据。
4.根据权利要求3所述的基于HMAC算法实现保证日志完整性的方法,其特征在于,对于任一第二日志数据,将通过算法器计算该第二日志数据的初始HMAC值,通过控制器将该初始HMAC值、各目标日志条目对应的读取文件起始下标以及读取文件截止下标传输至所述第一寄存器进行存储,将该第二日志数据传输至第二寄存器进行转存,标记为与该第二日志数据对应的复刻日志数据,以所述检测器将通过获取第一寄存器储存的对应的初始HMAC对该第二日志数据进行HMAC值周期验证以及追加HMAC值验证。
5.根据权利要求4所述的基于HMAC算法实现保证日志完整性的方法,其特征在于,在所述步骤S3中,通过所述控制器读取任一目标日志文件,生成对应的第二日志数据时,所述检测器通过所述第一寄存器获取该第二日志数据中的初始HMAC值、读取文件起始下标以及读取文件截止下标,根据读取文件起始下标以及读取文件截止下标计算该目标日志文件的匹配字节位置,计算该第二日志数据的实时HMAC值,将初始HMAC值与实时HMAC值进行对比,以对目标日志文件进行追加HMAC值验证,
若实时HMAC值等于初始HMAC值,所述检测器判定匹配字节位置的基础日志数据未被修改,将该第二日志数据存储至所述日志数据库中的匹配字节位置;
若实时HMAC值不等于初始HMAC值,所述检测器判定匹配字节位置的基础日志数据已被修改,将该基础数据进行删除,并在所述第二寄存器中获取与匹配字节位置相同位置的复刻日志数据传输至匹配字节位置进行数据恢复处理,将该第二日志数据存储至所述日志数据库中的匹配字节位置;
其中,匹配字节位置等于读取文件截止下标减去读取文件起始下标并加一。
6.根据权利要求5所述的基于HMAC算法实现保证日志完整性的方法,其特征在于,所述检测器能够在将该第二日志数据存储至所述日志数据库中的匹配字节位置后,对实时积累数据进行追加HMAC值验证,获取日志基础数据的实时HMAC值作为基础HMAC值,获取第二日志数据的初始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算法实现保证日志完整性的方法,其特征在于,所述检测器内设置有实时时钟以及标准清除周期,所述实时时钟能够对任一复刻日志数据储存至所述第二寄存器内时进行计时,检测器能够获取任一复刻日志数据的实时清除周期,并根据标准清除周期对实时清除周期进行判定,
若实时清除周期小于标准清除周期,所述检测器不对所述第二寄存器内储存的该复刻日志数据进行删除处理;
若实时清除周期大于等于标准清除周期,所述检测器对所述第二寄存器内储存的该复刻日志数据进行删除处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311200265.1A CN117472868B (zh) | 2023-09-18 | 2023-09-18 | 一种基于hmac算法实现保证日志完整性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311200265.1A CN117472868B (zh) | 2023-09-18 | 2023-09-18 | 一种基于hmac算法实现保证日志完整性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117472868A true CN117472868A (zh) | 2024-01-30 |
CN117472868B CN117472868B (zh) | 2024-04-19 |
Family
ID=89622857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311200265.1A Active CN117472868B (zh) | 2023-09-18 | 2023-09-18 | 一种基于hmac算法实现保证日志完整性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117472868B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114722387A (zh) * | 2022-04-02 | 2022-07-08 | 中南民族大学 | 数据库异常篡改检测方法、装置、设备及存储介质 |
CN115794751A (zh) * | 2022-08-31 | 2023-03-14 | 中国银行股份有限公司 | 一种日志完整性的确定方法及装置 |
CN116048876A (zh) * | 2022-12-08 | 2023-05-02 | 北京天融信网络安全技术有限公司 | 数据存储方法、数据检测方法、装置及可读取存储介质 |
CN116305290A (zh) * | 2023-05-16 | 2023-06-23 | 北京安天网络安全技术有限公司 | 一种***日志安全检测方法及装置、电子设备及存储介质 |
-
2023
- 2023-09-18 CN CN202311200265.1A patent/CN117472868B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114722387A (zh) * | 2022-04-02 | 2022-07-08 | 中南民族大学 | 数据库异常篡改检测方法、装置、设备及存储介质 |
CN115794751A (zh) * | 2022-08-31 | 2023-03-14 | 中国银行股份有限公司 | 一种日志完整性的确定方法及装置 |
CN116048876A (zh) * | 2022-12-08 | 2023-05-02 | 北京天融信网络安全技术有限公司 | 数据存储方法、数据检测方法、装置及可读取存储介质 |
CN116305290A (zh) * | 2023-05-16 | 2023-06-23 | 北京安天网络安全技术有限公司 | 一种***日志安全检测方法及装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117472868B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10031692B2 (en) | Synchronization for initialization of a remote mirror storage facility | |
CN110716895B (zh) | 目标数据归档方法、装置、计算机设备及介质 | |
US5991774A (en) | Method for identifying the validity of an executable file description by appending the checksum and the version ID of the file to an end thereof | |
CN100432932C (zh) | 更新移动终端中的数据 | |
CN110245154B (zh) | 多路链接异常处理方法以及相关设备 | |
JP4324976B2 (ja) | ファイル差分管理装置、ファイル差分管理方法、及びファイル差分管理プログラム | |
CN105743732B (zh) | 一种记录局域网文件传输路径和分布情况的方法及*** | |
CN114616544A (zh) | 固件数据处理方法及装置 | |
US7594051B2 (en) | Storage apparatus | |
CN117472868B (zh) | 一种基于hmac算法实现保证日志完整性的方法 | |
KR101667756B1 (ko) | 아카이브 파일 중복 제거 장치 및 방법 | |
CN114722387A (zh) | 数据库异常篡改检测方法、装置、设备及存储介质 | |
CN115022078A (zh) | 一种控制器内建网络安全防护方法、装置及电子设备 | |
JP2022007238A (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN108509143B (zh) | 一种基于云存储的数据检测方法及装置 | |
CN116048876A (zh) | 数据存储方法、数据检测方法、装置及可读取存储介质 | |
KR101993648B1 (ko) | 네트워크 기기에서의 보안 방법 및 장치 | |
CN111858139A (zh) | 一种检测静默数据错误的方法及装置 | |
US20230368585A1 (en) | Method and system for data transfer from a vehicle | |
CN117873408B (zh) | 一种云打印机数据恢复方法以及相关装置 | |
CN113409831B (zh) | 一种基于虚拟时间戳链的车载录像机录像覆盖方法 | |
CN117787827A (zh) | 一种冷链节点数据自动采集的***及方法 | |
CN116431596B (zh) | 一种面向案卷级的、跨平台的分布式文件***及实现方法 | |
CN115277352A (zh) | 网元指令纠错方法、装置、电子设备及计算机存储介质 | |
JP2806321B2 (ja) | ハードウェアの接続状態監視方式 |
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 |