CN108718314B - 一种网络报文的完整性检测方法和装置 - Google Patents

一种网络报文的完整性检测方法和装置 Download PDF

Info

Publication number
CN108718314B
CN108718314B CN201810558472.7A CN201810558472A CN108718314B CN 108718314 B CN108718314 B CN 108718314B CN 201810558472 A CN201810558472 A CN 201810558472A CN 108718314 B CN108718314 B CN 108718314B
Authority
CN
China
Prior art keywords
brujin
binary
network message
sequence
integrity
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.)
Active
Application number
CN201810558472.7A
Other languages
English (en)
Other versions
CN108718314A (zh
Inventor
冯春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Lanyun Technologies Co ltd
Original Assignee
Beijing Lanyun Technologies Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Lanyun Technologies Co ltd filed Critical Beijing Lanyun Technologies Co ltd
Priority to CN201810558472.7A priority Critical patent/CN108718314B/zh
Publication of CN108718314A publication Critical patent/CN108718314A/zh
Application granted granted Critical
Publication of CN108718314B publication Critical patent/CN108718314B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提出一种网络报文的完整性检测方法和装置,所述方法包括:获取网络报文的二进制De Brujin构造;确定所述二进制De Brujin构造在函数映射F下对应的De Brujin序列;将所述De Brujin序列与所述网络报文的实际值进行比较;根据比较结果确定所述网络报文的完整性。本发明提出了一种基于DeBrujin序列的完整性保护机制,相比传统的保护机制更加隐蔽与巧妙,完美的解决了传统完整性保护易受攻击的脆弱性。

Description

一种网络报文的完整性检测方法和装置
技术领域
本发明涉及报文检测技术领域,具体涉及一种网络报文的完整性检测方法和装置。
背景技术
在操作系统内存或是网络报文中,通常会放置一个”陷阱”,作为内存或网络报文完整性的标志。比如分配的内存区块首部,以防止缓冲区溢出攻击。
目前,业界最常见的做法是采用硬编码魔术数的方法保护完整性。魔术数通常采用硬编码的方式,例如采用32bit硬编码0xdeadface放在分配内存的首部。如果其值发生变化,说明内存被篡改过了。
基于魔术数的保护方式有着不可避免的脆弱性:
魔术数的值通常是唯一的,很容易被仿制;
魔术数的长度一般情况下是定长的,不具有灵活性;
在魔术数保护机制下,如果内存,报文被部分拷贝,保护强度下降甚至可能失效;
如果魔术数的内存或报文区域被进行了剪切,保护性下降。
发明内容
本发明提供一种网络报文的完整性检测方法和装置,解决了传统完整性保护易受攻击的脆弱性。
为了实现上述发明目的,本发明采取的技术方案如下:
第一方面,本发明提供一种网络报文的完整性检测方法,包括:
获取网络报文的二进制De Brujin构造;
确定所述二进制De Brujin构造在函数映射F下对应的De Brujin序列;
将所述De Brujin序列与所述网络报文的实际值进行比较;
根据比较结果确定所述网络报文的完整性。
优选地,确定所述二进制De Brujin构造在函数映射F下对应的De Brujin序列包括:
从所述二进制De Brujin构造中抽取长度为N的切片;
计算所述切片在函数映射F下的二进制排列;
根据所述二进制排列推导出所述De Brujin构造对应的De Brujin序列中每个元素的值。
优选地,所述二进制De Brujin序列为通过网络报文转换的切片长度为N的二进制De Brujin构造经过函数映射F获得的。
优选地,所述二进制De Brujin构造的最大长度为2N,且元素各不相同。
优选地,根据比较结果确定所述网络报文的完整性包括:
当所述所述De Brujin序列与所述网络报文的实际值相同时,确定所述网络报文未被篡改并且完整;
当所述所述De Brujin序列与所述网络报文的实际值不相同时,确定所述网络报文被篡改或者不完整。
第二方面,本发明提供一种网络报文的完整性检测装置,包括:
获取模块,设置为获取网络报文的二进制De Brujin构造;
映射模块,设置为确定所述二进制De Brujin构造在函数映射F下对应的DeBrujin序列;
比较模块,设置为将所述De Brujin序列与所述网络报文的实际值进行比较;
验证模块,设置为根据比较结果确定所述网络报文的完整性。
优选地,映射模块确定所述二进制De Brujin构造在函数映射F下对应的DeBrujin序列包括:
从所述二进制De Brujin构造中抽取长度为N的切片;
计算所述切片在函数映射F下的二进制排列;
根据所述二进制排列推导出所述De Brujin构造对应的De Brujin序列中每个元素的值。
优选地,获取模块获取的所述二进制De Brujin序列为通过网络报文转换的切片长度为N的二进制De Brujin构造经过函数映射F获得的。
优选地,所述验证模块根据比较结果确定所述网络报文的完整性包括:
当所述所述De Brujin序列与所述网络报文的实际值相同时,确定所述网络报文未被篡改并且完整;
当所述所述De Brujin序列与所述网络报文的实际值不相同时,确定所述网络报文被篡改或者不完整。
本发明和现有技术相比,本发明提出了一种基于DeBrujin序列的完整性保护机制,相比传统的保护机制更加隐蔽与巧妙,完美的解决了传统完整性保护易受攻击的脆弱性。
附图说明
图1为本发明实施例的网络报文的完整性检测方法的流程图;
图2为本发明实施例的网络报文的完整性检测装置的结构示意图。
具体实施方式
为使本发明的发明目的、技术方案和有益效果更加清楚明了,下面结合附图对本发明的实施例进行说明,需要说明的是,在不冲突的情况下,本申请中的实施例和实施例中的特征可以相互任意组合。
二进制De Brujin序列
如果一个二进制序列中任意取出相邻的n个数,序列中的二进制排列(称为切片)一定不一样。这样的二进制序列称为二进制De Brujin序列(简称De Brujin序列),记为DeB(n)。
例如当n=5时,下列序列是De Brujin序列。
0,0,0,0,0,1,0,0,1,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,1,0,1,0,1
不难验证,任取5个相邻的数,其切片值,
00000
00001
00010
00100
01001
不会发生重复。
DeBrujin构造
一个序列S称作DeBrujin构造C(n),如果该序列满足如下条件:
1、该序列的最大长度为2n,且元素各不相同;
2、存在一个函数映射f,使得f(Si)是一个二进制DeBrujin序列DeB(n),Si为DeBrujin序列。
例如,抽取32张扑克牌,牌的红黑作为函数f,如果将32张牌排列后形成一个n=5的DeBrujin构造,即红黑值的二进制排列恰为一个De Brujin序列。
例如一个可能的排列:
梅花8,梅花A,梅花2,梅花4,黑桃A,方片2,梅花5,黑桃3,方片6,黑桃4,红桃A,方片3,梅花7,黑桃7,红桃7,红桃6,红桃4,红桃8,方片A,梅花3,梅花6,黑桃5,红桃3,方片7,黑桃6,红桃5,红桃2,方片5,黑桃2,方片4,黑桃8,方片8
相应的DeBrujin序列为黑牌为0,红牌为1;
0,0,0,0,0,1,0,0,1,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,1,0,1,0,1
如果抽取5张牌,其红黑值0,1,0,0,1
查看上述De Brujin序列,其唯一位置如下所示:
0,0,0,0,0,1,0,0,1,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,1,0,1,0,1
在DeBrujin构造的相同位置,可以找到具体的牌:
梅花8,梅花A,梅花2,梅花4,黑桃A,方片2,梅花5,黑桃3,方片6,黑桃4,红桃A,方片3,梅花7,黑桃7,红桃7,红桃6,红桃4,红桃8,方片A,梅花3,梅花6,黑桃5,红桃3,方片7,黑桃6,红桃5,红桃2,方片5,黑桃2,方片4,黑桃8,方片8
可以知道5张牌为黑桃A,方片2,梅花5,黑桃3,方片6
不难看出,根据5张牌的红黑属性,便可以知道每张牌的具体花色与点数,当推算出来的花色与点数与实际情况不一致时,必定是牌被动过了。
实施例一
本实施例结合图1说明一种网络报文的完整性检测方法,包括:
S101、获取网络报文的二进制De Brujin构造;
S102、确定所述二进制De Brujin构造在函数映射F下对应的De Brujin序列;
S103、将所述De Brujin序列与所述网络报文的实际值进行比较;
S104、根据比较结果确定所述网络报文的完整性。
步骤S102确定所述二进制De Brujin构造在函数映射F下对应的De Brujin序列包括:
从所述二进制De Brujin构造中抽取长度为N的切片;
计算所述切片在函数映射F下的二进制排列;
根据所述二进制排列推导出所述De Brujin构造对应的De Brujin序列中每个元素的值。
其中,所述二进制De Brujin序列为通过网络报文转换的切片长度为N的二进制DeBrujin构造经过函数映射F获得的。
所述二进制De Brujin构造的最大长度为2N,且元素各不相同。
步骤S104根据比较结果确定所述网络报文的完整性包括:
当所述所述De Brujin序列与所述网络报文的实际值相同时,确定所述网络报文未被篡改并且完整;
当所述所述De Brujin序列与所述网络报文的实际值不相同时,确定所述网络报文被篡改或者不完整。
实施例二
如图2所示,本实施例提供一种网络报文的完整性检测装置,包括:
获取模块,设置为获取网络报文的二进制De Brujin构造;
映射模块,设置为确定所述二进制De Brujin构造在函数映射F下对应的DeBrujin序列;
比较模块,设置为将所述De Brujin序列与所述网络报文的实际值进行比较;
验证模块,设置为根据比较结果确定所述网络报文的完整性。
映射模块确定所述二进制De Brujin构造在函数映射F下对应的De Brujin序列包括:
从所述二进制De Brujin构造中抽取长度为N的切片;
计算所述切片在函数映射F下的二进制排列;
根据所述二进制排列推导出所述De Brujin构造对应的De Brujin序列中每个元素的值。
获取模块获取的所述二进制De Brujin序列为通过网络报文转换的切片长度为N的二进制De Brujin构造经过函数映射F获得的。
所述验证模块根据比较结果确定所述网络报文的完整性包括:
当所述所述De Brujin序列与所述网络报文的实际值相同时,确定所述网络报文未被篡改并且完整;
当所述所述De Brujin序列与所述网络报文的实际值不相同时,确定所述网络报文被篡改或者不完整。
实施例三
本发明实施例说明利用二进制DeBrujin序列的原理进行网络报文的完整性检测方法流程:
相同的道理,如果将牌替换成一个字节,字节的奇偶性可以作为函数映射f。那么可以构造一个DeBrujin构造。在这个构造中,任意长度为N的切片的奇偶排列,就可以决定每个字节应有的值。而发现不吻合时,就可以断定,内存或报文字节被篡改过了。
并且,任何DeBrujin构造的子序列仍为DeBrujin构造。这就是说,如果DeBrujin序列的一部分被拷贝了,这种关系依旧成立。
一个DeBrujin构造,在剪切变换后仍为DeBrujin构造。所谓剪切变换是指:
序列S1,S2,……Sn
变换为Sj+1,Sj+2,……Sn,S1,S2,……Sj-1
也就是说,即便内存或是网络报文进行了剪切操作,仍然可以用这种方法来检测完整性。
本实施例中构造De Brujin构造C如下:
0x1,0x3,0x5,0x7,0x9,0x2,0xb,0xd,0x4,0xf,0x6,0x8,0x11,0x13,0xa,0xc,0xe,0x10,0x12,0x15,0x17,0x19,0x14,0x16,0x1b,0x18,0x1a,0x1c,0x1d,0x1e,0x1f,0x20
本实施例中函数映射
Figure BDA0001682309870000071
下表为De Brujin构造和De Brujin序列对应关系:
Figure BDA0001682309870000072
Figure BDA0001682309870000081
可以将构造C作为网络报文的字节序列。
本实施例中例如收到的报文序列为:
0x1,0x3,0x5,0x7,0x2
根据F(x)函数计算其序列值对应为:
0 0 0 0 1
查上表可知原始报文序列为:
0x3 0x5 0x7 0x9 0x2
与收到的报文序列不同说明报文序列被更改过了。
而如果收到的报文序列为0x1,0x3,0x5,0x7,0x9
根据F(x)函数计算其序列值对应为
0 0 0 0 0
查上表可知原始报文序列为:
0x1 0x3 0x5 0x7 0x9
与收到的报文序列相同说明报文未被更改。
虽然本发明所揭示的实施方式如上,但其内容只是为了便于理解本发明的技术方案而采用的实施方式,并非用于限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭示的核心技术方案的前提下,可以在实施的形式和细节上做任何修改与变化,但本发明所限定的保护范围,仍须以所附的权利要求书限定的范围为准。

Claims (7)

1.一种网络报文的完整性检测方法,其特征在于:包括:
获取网络报文的二进制De Brujin构造;
确定所述二进制De Brujin构造在函数映射F下对应的De Brujin序列;
将所述De Brujin序列与所述网络报文的实际值进行比较;
根据比较结果确定所述网络报文的完整性;
其中,确定所述二进制De Brujin构造在函数映射F下对应的De Brujin序列包括:
从所述二进制De Brujin构造中抽取长度为N的切片;
计算所述切片在函数映射F下的二进制排列;
根据所述二进制排列推导出所述De Brujin构造对应的De Brujin序列中每个元素的值;
所述网络报文的二进制De Brujin构造是根据报文中每个字节的奇偶性构造的。
2.如权利要求1所述的方法,其特征在于,所述二进制De Brujin序列为通过网络报文转换的切片长度为N的二进制De Brujin构造经过函数映射F获得的。
3.如权利要求1所述的方法,其特征在于,所述二进制De Brujin构造的最大长度为2N,且元素各不相同。
4.如权利要求1所述的方法,其特征在于,根据比较结果确定所述网络报文的完整性包括:
当所述所述De Brujin序列与所述网络报文的实际值相同时,确定所述网络报文未被篡改并且完整;
当所述所述De Brujin序列与所述网络报文的实际值不相同时,确定所述网络报文被篡改或者不完整。
5.一种网络报文的完整性检测装置,其特征在于:包括:
获取模块,设置为获取网络报文的二进制De Brujin构造;
映射模块,设置为确定所述二进制De Brujin构造在函数映射F下对应的De Brujin序列;
比较模块,设置为将所述De Brujin序列与所述网络报文的实际值进行比较;
验证模块,设置为根据比较结果确定所述网络报文的完整性;
其中,映射模块确定所述二进制De Brujin构造在函数映射F下对应的De Brujin序列包括:
从所述二进制De Brujin构造中抽取长度为N的切片;
计算所述切片在函数映射F下的二进制排列;
根据所述二进制排列推导出所述De Brujin构造对应的De Brujin序列中每个元素的值;
所述网络报文的二进制De Brujin构造是根据报文中每个字节的奇偶性构造的。
6.如权利要求5所述的装置,其特征在于,获取模块获取的所述二进制De Brujin序列为通过网络报文转换的切片长度为N的二进制De Brujin构造经过函数映射F获得的。
7.如权利要求5所述的装置,其特征在于,所述验证模块根据比较结果确定所述网络报文的完整性包括:
当所述所述De Brujin序列与所述网络报文的实际值相同时,确定所述网络报文未被篡改并且完整;
当所述所述De Brujin序列与所述网络报文的实际值不相同时,确定所述网络报文被篡改或者不完整。
CN201810558472.7A 2018-06-01 2018-06-01 一种网络报文的完整性检测方法和装置 Active CN108718314B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810558472.7A CN108718314B (zh) 2018-06-01 2018-06-01 一种网络报文的完整性检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810558472.7A CN108718314B (zh) 2018-06-01 2018-06-01 一种网络报文的完整性检测方法和装置

Publications (2)

Publication Number Publication Date
CN108718314A CN108718314A (zh) 2018-10-30
CN108718314B true CN108718314B (zh) 2021-09-07

Family

ID=63912738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810558472.7A Active CN108718314B (zh) 2018-06-01 2018-06-01 一种网络报文的完整性检测方法和装置

Country Status (1)

Country Link
CN (1) CN108718314B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101978628A (zh) * 2008-03-26 2011-02-16 高通股份有限公司 在通信系统中产生加扰序列的方法和设备
CN103258145A (zh) * 2012-12-22 2013-08-21 中国科学院深圳先进技术研究院 一种基于De Bruijn图的并行基因拼接方法
CN105933303A (zh) * 2016-04-15 2016-09-07 浪潮集团有限公司 一种文件篡改的检测方法及装置
CN106301764A (zh) * 2016-10-09 2017-01-04 上海泥娃通信科技有限公司 基于路径散列的消息摘要方法和系统
CN106899406A (zh) * 2016-12-15 2017-06-27 中国电子科技集团公司第三十研究所 一种云端数据存储完整性的证明方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2967752A1 (en) * 2016-05-18 2017-11-18 Bioinformatics Solutions Inc. Methods and systems for assembly of protein sequences

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101978628A (zh) * 2008-03-26 2011-02-16 高通股份有限公司 在通信系统中产生加扰序列的方法和设备
CN103258145A (zh) * 2012-12-22 2013-08-21 中国科学院深圳先进技术研究院 一种基于De Bruijn图的并行基因拼接方法
CN105933303A (zh) * 2016-04-15 2016-09-07 浪潮集团有限公司 一种文件篡改的检测方法及装置
CN106301764A (zh) * 2016-10-09 2017-01-04 上海泥娃通信科技有限公司 基于路径散列的消息摘要方法和系统
CN106899406A (zh) * 2016-12-15 2017-06-27 中国电子科技集团公司第三十研究所 一种云端数据存储完整性的证明方法

Also Published As

Publication number Publication date
CN108718314A (zh) 2018-10-30

Similar Documents

Publication Publication Date Title
CN104700033B (zh) 病毒检测的方法及装置
CN104468531B (zh) 敏感数据的授权方法、装置和系统
KR102002889B1 (ko) 성문 검증 방법 및 장치, 저장 매체 및 기기
NZ745637A (en) Using cell-free dna fragment size to determine copy number variations
CN108449321B (zh) 登陆方法、服务器和客户端
CN107148010B (zh) 多运营商实现方法、装置、存储介质和计算机设备
CN106599964A (zh) 一种二维码生成、验证方法及装置
CN103310150A (zh) 一种检测pdf漏洞的方法和装置
CN110362719B (zh) 数据处理方法、装置、电子终端及存储介质
CN103067364A (zh) 病毒检测方法及设备
CN109040505A (zh) 一种基于批量二维码传输的安全数据传输方法
CN108718314B (zh) 一种网络报文的完整性检测方法和装置
CN107360192A (zh) 提高漏洞扫描效率和精度的指纹识别方法
CN110764996A (zh) 一种契约测试方法、系统、存储介质及终端设备
RU2009124522A (ru) Устройство обработки информации и способ обработки информации
CN106682508B (zh) 病毒的查杀方法和装置
CN104239795B (zh) 文件的扫描方法及装置
CN114788199A (zh) 一种数据校验方法及装置
CN109033818B (zh) 终端、验证方法和计算机可读存储介质
CN106301787B (zh) 一种用时间验证验证码的方法
CN106529973A (zh) 一种基于增强现实的防伪方法及装置
CN109376597A (zh) 一种检测信息获取方法及相关装置
CN106161452A (zh) 验证码的发送方法及装置
US9208352B2 (en) LFSR watermark system
CN111106931B (zh) 认证方法、装置、终端和计算机可读存储介质

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