CN102325025B - 提供源真实性的数据处理方法及系统 - Google Patents
提供源真实性的数据处理方法及系统 Download PDFInfo
- Publication number
- CN102325025B CN102325025B CN201110137776.4A CN201110137776A CN102325025B CN 102325025 B CN102325025 B CN 102325025B CN 201110137776 A CN201110137776 A CN 201110137776A CN 102325025 B CN102325025 B CN 102325025B
- Authority
- CN
- China
- Prior art keywords
- data
- fault
- cryptographic hash
- tolerant
- paragraph
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明公开了一种提供源真实性的数据处理方法及系统。其中,该方法包括:将业务数据进行分段以获取多个数据段;对各个数据段进行功能数据处理以获取每个数据段对应的第一段哈希值;根据第一段哈希值来获取整个业务数据的第一源值;通过容错编码算法分别对第一段哈希值和第一源值进行编码处理,以获取多个容错编码数据;在将多个容错编码数据分别与每个数据段结合之后,将数据段打包成业务数据包发送。本发明通过降低了数据包功能数据的载荷,能够提高传输网络的信道利用率,同时满足了业务性能需求。
Description
技术领域
本发明涉及网络通信领域,具体而言,涉及一种提供源真实性的数据处理方法及系统。
背景技术
在许多不稳定网络中,如无线网络等,数据包在传输过程中容易出现丢包现象,这会导致普通的数据打包方案由于数据包丢失而不能够有效完成源真实性验证功能。源真实性主要指数据接收端验证数据包来自于正确的数据发送端。同时,由于传统的签名打包方案,实现源真实性的功能数据与业务数据的比例较高,导致数据包功能数据载荷较高,数据通信的开销较大,降低了传输网络的信道利用率。
许多实际应用要求数据接收端认证接收数据来源的正确性,如抵抗“中间人攻击”的基本方式就是需要数据接收端认证数据来源的正确性。许多高安全性需求的应用,如电子商务、流媒体等,也要求实现接收数据的源真实性保护。
现有技术提供的源真实性保护功能的常用方案是对整个业务数据计算数字签名,并附加在业务数据后面,然后把业务数据和功能数据一起封装为多个数据包进行传输。上述方案没有考虑易丢包网络中,会由于数据包的丢失,将导致业务数据或功能数据接收不完全,从而导致业务数据的源真实性验证无法进行,极大影响正常的业务应用。
为了解决易丢包网络中存在的上述问题,现有技术采用如下方案来解决,首先数据发送端对业务数据分解为多个数据段,对每一个数据段进行数字签名运算,并把这些段签名作为功能数据附加在每个对应的数据段后面,这样一个数据段及其段签名会被封装为一个网络传输数据包。数据接收端会对每一个接收到的数据包进行数字签名验证,从而实现整个业务数据的源真实性保护。
但在上述方案存在的缺点也是明显的。首先,由于每一个数据包就有一个功能数据(数字签名),这样功能数据所占传输数据的比例太高,导致通信开销较大,信道利用率较低;其次,由于每个数据包就需要进行一次数字签名,导致服务器端和终端的运算量太大,尤其对于像流媒体类的数据,数据量大,实时性要求高,而终端处理设备(如机顶盒等)性能较低,导致此方案完全不能满足业务性能需求。
目前针对相关技术在实现业务数据源真实性保护的方案中占用的通信信道资源较大,且不能满足业务性能需求的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种提供源真实性的数据处理方法及系统,以解决上述相关技术在实现业务数据源真实性保护的方案中占用的通信信道资源较大,且不能满足业务性能需求的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种提供源真实性的数据处理方法,该提供源真实性的数据处理方法包括:将业务数据进行分段以获取多个数据段;对各个数据段进行功能数据处理以获取每个数据段对应的第一段哈希值;根据第一段哈希值来获取整个业务数据的第一源值;通过容错编码算法分别对第一段哈希值和第一源值进行编码处理,以获取多个容错编码数据;在将多个容错编码数据分别与每个数据段结合之后,将数据段打包成业务数据包发送。
进一步地,将多个容错编码数据分别与每个数据段结合包括:将多个容错编码数据分别添加在每个数据段的后面;或者通过数字水印算法将多个容错编码数据分别嵌入每个数据段中。
进一步地,根据第一段哈希值来获取整个业务数据的第一源值包括:将各个数据段对应的第一段哈希值进行求和运算,并对求和运算结果进行哈希运算,以获取块哈希值;使用加密算法对块哈希值进行加密,以获取第一源值,加密算法包括:对称密钥算法和非对称密钥算法。
进一步地,在将数据段打包成业务数据包发送之后,方法还包括:数据验证终端接收一个或多个业务数据包;在容错编码数据分别添加在每个数据段的后面的情况下,直接提取业务数据包中的容错编码数据;根据容错编码数据来验证业务数据的源真实性。
进一步地,在将每个数据段打包成业务数据包发送之后,方法还包括:验证终端接收一个或多个业务数据包;在容错编码数据通过数字水印算法分别嵌入每个数据段中的情况下,通过数字水印检测技术提取业务数据包中的容错编码数据;根据容错编码数据来验证业务数据的源真实性。
进一步地,根据容错编码数据来验证业务数据的源真实性包括:对多个容错编码数据进行容错解码,以获得对应的第一源值和第一段哈希值;对解码得到的所有第一段哈希值进行求和运算,并对求和运算结果进行哈希运算,以获取块哈希值;通过加密算法对块哈希值进行加密得到第二源值;当第一源值与第二源值相同时,验证终端确定接收到的业务数据来自正确的数据封装终端。
进一步地,在根据容错编码数据来验证业务数据的源真实性之后,方法还包括:根据第一段哈希值来确定业务数据的完整性,该步骤包括:对接收到的业务数据包中的数据段进行哈希计算,以获得对应的第二段哈希值;当第一段哈希值与第二段哈希值相同时,验证终端确定接收到的业务数据完整。
进一步地,对多个容错编码数据进行容错解码,以获得对应的第一源值和第一段哈希值包括:读取预定数目的业务数据包;对预定数目的业务数据包中的多个容错编码数据进行容错解码。
为了实现上述目的,根据本发明的另一方面,提供了一种提供源真实性的数据处理系统,该提供源真实性的数据处理系统包括:数据封装终端,包括:拆分单元,用于将业务数据进行分段以获取多个数据段;功能数据处理单元,用于对各个数据段进行功能数据处理以获取每个数据段对应的第一段哈希值,并根据第一段哈希值来获取整个业务数据的第一源值;编码处理单元,用于通过容错编码算法分别对第一段哈希值和第一源值进行编码处理,以获取多个容错编码数据;发送单元,用于在将容错编码数据分别与每个数据段结合之后,将数据段打包成业务数据包发送。
进一步地,功能数据处理单元包括:哈希运算模块,用于对各个数据段进行哈希运算以获取每个数据段对应的第一段哈希值;第一计算模块,用于将各个数据段对应的第一段哈希值进行求和运算,并对求和运算结果进行哈希运算,以获取块哈希值;加密模块,用于使用加密算法对块哈希值进行加密,以获取第一源值,加密算法包括:对称密钥算法和非对称密钥算法。
进一步地,系统还包括:附加模块,用于将多个容错编码数据分别添加在每个数据段的后面;或者通过数字水印算法将多个容错编码数据分别嵌入每个数据段中。
进一步地,系统还包括:数据验证终端,包括:接收单元,用于接收一个或多个业务数据包;提取单元,用于在容错编码数据分别添加在每个数据段的后面的情况下,直接提取业务数据包中的容错编码数据,或者,在容错编码数据通过数字水印算法分别嵌入每个数据段中的情况下,通过数字水印检测技术提取业务数据包中的容错编码数据;验证单元,用于根据容错编码数据来验证业务数据的源真实性和完整性。
进一步地,验证单元包括:解码模块,用于对多个段源值容错码和多个段哈希容错码进行容错解码,以获得对应的第一源值和第一段哈希值;第二计算模块,用于对解码得到的所有第一段哈希值进行求和运算,并对求和运算结果进行哈希运算,以获取块哈希值,并通过加密算法对块哈希值进行加密得到第二源值;第一比较验证模块,用于当第一源值与第二源值相同时,验证终端确定接收到的业务数据来自正确的发送终端。
进一步地,验证单元还包括:第三计算模块,用于对接收到的业务数据包中的数据段进行哈希计算,以获得对应的第二段哈希值;第二比较验证模块,用于当第一段哈希值与第二段哈希值相同时,验证终端确定接收到的业务数据完整。
通过本发明,采用将业务数据进行分段以获取多个数据段;对各个数据段进行功能数据处理以获取每个数据段对应的第一段哈希值;根据第一段哈希值来获取整个业务数据的第一源值;通过容错编码算法分别对第一段哈希值和第一源值进行编码处理,以获取多个容错编码数据;在将多个容错编码数据分别与每个数据段结合之后,将数据段打包成业务数据包发送,通过降低了数据包功能数据的载荷,解决了相关技术的实现业务数据源真实性保护的方案中占用的通信信道资源较大,且不能满足业务性能需求的问题,进而实现降低了数据通信的信道开销,提高了传输网络的信道利用率,同时达到了满足业务性能需求的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的提供源真实性的数据处理系统的结构示意图;
图2是根据图1所示实施例的提供源真实性的数据处理系统的详细结构示意图;
图3是根据本发明实施例中数据段封装的工作示意图;
图4是根据本发明实施例的提供源真实性的数据处理方法的流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1是根据本发明实施例的提供源真实性的数据处理系统的结构示意图;图2是根据图1所示实施例的提供源真实性的数据处理系统的详细结构示意图。
如图1和2所示,该系统包括:数据封装终端1,包括:拆分单元11,用于将业务数据进行分段以获取多个数据段;功能数据处理单元13,用于对各个数据段进行功能数据处理以获取每个数据段对应的第一段哈希值并根据第一段哈希值来获取整个业务数据的第一源值;编码处理单元15,用于通过容错编码算法分别对第一段哈希值和第一源值进行编码处理,以获取多个容错编码数据;发送单元17,用于在将多个容错编码数据分别与每个数据段结合之后,将多个数据段打包成业务数据包发送。
本发明上述实施例在数据封装终端1,即数据发送端中通过拆分单元11对整个业务数据进行分段,并通过功能数据处理单元13和编码处理单元15获得每个数据段的功能数据,最后通过发送单元17将以每个数据段及其功能数据作为一个业务数据包在传输网络中进行传输。上述功能中通过编码处理单元15对功能数据处理单元13处理后的各个数据段使用容错编码算法进行编码计算得到多个容错编码数据,该容错编码数据是段源值容错码和段哈希容错码,由于容错编码算法的特点是仅使用一定数据的容错编码数据就可以恢复整个业务数据,因此本申请该实施例中发送的这种业务数据包可以适用在许多不稳定网络中,如无线网络等,即便业务数据包在传输过程中出现丢包现象,仍旧能够有效完成源真实性验证功能。而且本申请中将得到的多个容错编码数据,即多个段源值容错码和段哈希容错码分别与每个数据段结合打包的方案,可以极大降低功能数据载荷,保证了容错率大于网络丢包率,从而解决了相关技术的实现业务数据源真实性保护的方案中占用的通信信道资源较大,且不能满足业务性能需求的问题,进而实现降低了数据通信的信道开销,提高了传输网络的信道利用率,同时达到了满足业务性能需求的效果。本发明图1中的传输网络是所有业务数据包传输系统,在这个网络中,可能会由于网络堵塞、传输信道质量等原因,导致在其上传输的数据包丢失或损坏。
上述实施例中,该系统的多个段源值容错码和和段哈希容错码分别与每个数据段结合打包可以包括:将所述多个容错编码数据分别添加在每个所述数据段的后面;或者通过数字水印算法将所述多个容错编码数据分别嵌入每个所述数据段中。本申请上述实施例中的数据打包方案,不仅能够实现在易丢包网络中传输数据的源真实性保护,而且能够实现较小的数据开销,提高信道利用率,且得到的容错编码数据就是数据包传输过程中的数据载荷。
优选地,本申请上述实施例中的功能数据处理单元13可以包括:哈希运算模块,用于对各个数据段进行哈希运算以获取每个数据段对应的第一段哈希值;第一计算模块,用于将各个数据段对应的第一段哈希值进行求和运算,并对求和运算结果进行哈希运算,以获取块哈希值;加密模块,用于使用加密算法对块哈希值进行加密,以获取第一源值,加密算法包括:对称密钥算法和非对称密钥算法。
具体的,可以通过图3所示的数据段封装的工作示意图来详细描述本申请上述实施例。结合图3所示,本申请上述数据封装终端1实现对业务数据进行分段,把每数据段作为一个网络传输数据包单位。把所有数据段分别作哈希运算得到第一段哈希值,然后再把这些第一段哈希值求和后再做一次哈希运算,形成整个业务数据的哈希值,称为块哈希。把块哈希使用密码算法进行加密,例如使用非对称密码算法的私钥加密,形成数字签名。可以称此数字签名为“源值”。然后把这个源值和所有段哈希进行容错性编码,形成与数据包同样数目的容错码,然后把这些容错码使用数字水印技术分别嵌入到每个数据包中进行发送。
此方案在包丢失的情况下实现源真实性保护功能的关键在于使用了容错编码算法。容错编码算法的特点在于将一个业务数据编码为n份容错编码数据,使用其中K(k<n)份容错编码数据就可以恢复整个业务数据,k值可视网络丢包率情况而定。
本申请上述实施例中的系统还可以包括:数据验证终端2,包括:接收单元21,用于接收一个或多个业务数据包;提取单元23,用于在容错编码数据分别添加在每个数据段的后面的情况下,直接提取业务数据包中的容错编码数据,或者,在容错编码数据通过数字水印算法分别嵌入每个数据段中的情况下,通过数字水印检测技术提取业务数据包中的容错编码数据;验证单元25,用于根据容错编码数据来验证业务数据的源真实性和完整性。该实施例中的数据验证终端可以是数据接收端,该数据验证终端对接收到业务数据包进行解码验证的处理,完成对业务数据的源真实性验证以及完整性。
优选地,上述数据验证终端2中的验证单元25可以包括:解码模块,用于对多个容错编码数据进行容错解码,以获得对应的第一源值和第一段哈希值;第二计算模块,用于对解码得到的所有第一段哈希值进行求和运算,并对求和运算结果进行哈希运算,以获取块哈希值,并通过加密算法对块哈希值进行加密得到第二源值;第一比较验证模块,用于当第一源值与第二源值相同时,验证终端确定接收到的业务数据来自正确的发送终端。上述实施例完成了数据来源的正确性的验证过程。
优选地,上述数据验证终端2中的验证单元25还可以包括:第三计算模块,用于对接收到的业务数据包中的数据段进行哈希计算,以获得对应的第二段哈希值;第二比较验证模块,用于当第一段哈希值与第二段哈希值相同时,验证终端确定接收到的业务数据完整。上述实施例完成了数据来源的完整性的验证过程。
上述图1和图2所示的系统完成了业务数据中每个数据段的功能数据的生成过程和检测过程,应用到的应用容错编码算法,保证了数据接收端即使收到部分数据,数据接收端也可完成源真实性保护。
另外,在数据封终端1将在将多个容错编码数据分别与每个数据段结合的过程中可以采用将多个段源值容错码和多个段哈希容错码分别添加在每个数据段的后面;或者,也可以采用通过数字水印算法将多个段源值容错码和多个段哈希容错码分别嵌入每个数据段中。前一种方式为一种简洁的结合方式,研发过程中效率较高,后一种方式使用数字水印算法将功能数据嵌入到业务数据中,进一步降低了功能数据的载荷,从而减少通信数据开销,提高了传输网络的利用率。
图4是根据本发明实施例的提供源真实性的数据处理方法的流程图,如图4所示该方法包括如下步骤:
步骤S102,通过图2中的数据封装终端1中的拆分单元11来将业务数据进行分段以获取多个数据段。
步骤S104,通过图2中的数据封装终端1中的功能数据处理单元13对各个数据段进行功能数据处理以获取每个数据段对应的第一段哈希值。
步骤S106,图2中的数据封装终端1中的功能数据处理单元13根据第一段哈希值来获取整个业务数据的第一源值。
步骤S108,图2中的数据封装终端1中的编码处理单元15通过容错编码算法分别对第一段哈希值和第一源值进行编码处理,以获取多个容错编码数据。
步骤S110,图2中的数据封装终端1中的发送单元17在将多个容错编码数据分别与每个数据段结合之后,将数据段打包成业务数据包发送。
本发明上述实施例在数据封装终端1,即数据发送端中通过拆分单元11对整个业务数据进行分段,把每数据段作为一个网络传输数据包单位,并通过功能数据处理单元13和编码处理单元15获得每个数据段的功能数据,最后通过发送单元17将以每个数据段及其功能数据作为一个业务数据包在传输网络中进行传输。
上述功能中通过编码处理单元15对功能数据处理单元13处理后的各个数据段使用容错编码算法进行编码计算得到多个容错编码数据,该容错编码数据可以是段源值容错码和段哈希容错码,由于容错编码算法的特点是仅使用一定数据的容错编码数据就可以恢复整个业务数据,因此本申请该实施例中发送的这种业务数据包可以适用在许多不稳定网络中,如无线网络等,即便业务数据包在传输过程中出现丢包现象,仍旧能够有效完成源真实性验证功能。而且本申请中将得到的多个容错编码数据,即多个段源值容错码和和段哈希容错码分别与每个数据段结合打包的方案,可以极大降低功能数据载荷,保证了容错率大于网络丢包率,从而解决了相关技术的实现业务数据源真实性保护的方案中占用的通信信道资源较大,且不能满足业务性能需求的问题,进而实现降低了数据通信的信道开销,提高了传输网络的信道利用率,同时达到了满足业务性能需求的效果。
具体的,本申请上述实施例中的步骤S102可以实现对业务数据进行适当分段,且每数据段长度不超过封包允许的数据长度,可以假设将数据段分段后的份数为n。并在步骤S104中实现对步骤S102中获得的各数据段进行哈希运算,其值称为“段哈希”。
优选地,本申请上述实施例中步骤S106根据第一段哈希值来获取整个业务数据的第一源值的步骤包括:将各个数据段对应的第一段哈希值进行求和运算,并对求和运算结果进行哈希运算,以获取块哈希值;使用加密算法对块哈希值进行加密,以获取第一源值,加密算法包括:对称密钥算法和非对称密钥算法。
具体的,上述实施例实现了:对划分好的n份第一段哈希值进行求和运算,并对此进行哈希运算,其值称为“块哈希”,并使用密码算法对“块哈希”进行加密,形成“源值”,所使用的密码算法可以是非对称密钥算法,也可以是对称密码算法,其中,在非对称密钥算法情况下,此“源值”即为数字签名。
优选地,步骤S110将多个容错编码数据分别与每个数据段结合的方式可以包括如下两种:一种是将多个容错编码数据分别添加在每个数据段的后面;另一种是通过数字水印算法将多个容错编码数据分别嵌入每个数据段中。
本申请上述实施例中,在步骤S110将数据段打包成业务数据包发送之后,方法还可以包括:数据验证终端2接收一个或多个业务数据包;在容错编码数据分别添加在每个数据段的后面的情况下,直接提取业务数据包中的容错编码数据,以实现根据容错编码数据来验证业务数据的源真实性和完整性。另外的,如果容错编码数据是通过数字水印算法分别嵌入每个数据段中的情况下,则将通过数字水印检测技术提取业务数据包中的容错编码数据。
上述步骤具体实现了,使用容错编码算法对“源值”和段哈希进行编码,分别形成n个容错编码数据,即n个“段源值容错码”和n个“段哈希容错码”,然后将上述的n个“段源值容错码”和n个“段哈希容错码”分别附加在到n个数据段后面,如果需要进一步降低载荷,可以使用数字水印算法把上述的n个“段源值容错码”和n个“段哈希容错码”分别嵌入到n个数据段中,此处的数字水印可以为不可见数字水印,并且仅对水印对业务功能不造成影响,而且此数字水印可以选择为鲁棒性数字水印,即使通过编码转换也不能改变水印,提供强认证功能。
在数据封装终端1完成上述业务数据的封装过程之后,可以把业务数据包通过传输网络发送到数据验证终端2进行验证。
本发明上述各个实施例中,步骤S110完成将数据段打包成业务数据包发送至数据验证终端2之后,数据验证终端2根据容错编码数据来验证业务数据的源真实性,可以包括如下步骤:对多个容错编码数据进行容错解码,以获得对应的第一源值和第一段哈希值;对解码得到的所有第一段哈希值进行求和运算,并对求和运算结果进行哈希运算,以获取块哈希值;通过加密算法对块哈希值进行加密得到第二源值;当第一源值与第二源值相同时,验证终端确定接收到的业务数据来自正确的数据封装终端。
优选地,在根据容错编码数据来验证业务数据的源真实性之后,数据验证终端2验证接收到的业务数据的完整性,可以通过容错解码后得到的第一段哈希值来确定业务数据的完整性,具体的实施步骤可以包括:对接收到的业务数据包中的数据段进行哈希计算,以获得对应的第二段哈希值;当第一段哈希值与第二段哈希值相同时,验证终端确定接收到的业务数据完整。
上述实施例中对接收到的业务数据进行真实性和完整性的判断可以同时进行,即在对多个容错编码数据进行容错解码,以获得对应的第一源值和第一段哈希值之后,可以通过上述算法对接收到的业务数据包同时进行真实性的验证和完整性的验证。
上述实施例中数据验证终端的处理流程具体如下:
由于数据验证终端接收到的业务数据包可能已经丢失了一部分,因此,首先从收到的业务数据包的功能数据中提取容错编码值,即提取出“段源值容错码”和“段哈希容错码”,根据容错编码的特性,只需收到k个数据包,就可以恢复出“源值”和所有的“段哈希”。若使用数字水印嵌入算法,就需要相应的数字水印检测技术从收到的数据包中提取出“段源值容错码”和“段哈希容错码”。此处的k值,可以根据网络丢包率进行相应的设定,n-k/n表示系统容错率,例如K=90,n=100,表示系统的容错率为10%,一般情况下,在网络丢包率小于10%的情况下,本方案可完成传输数据的源真实性保护。
然后,对所有第一段哈希值进行求和运算,并对此进行哈希运算,计算出一个“块哈希”。
最后,使用密码算法验证“源值”和“块哈希”的正确性,即通过采用与数据封装终端1相同的加密算法对“块哈希”进行加密,检验此时得到的源值与从数据封装终端1接收到的源值是否相同,从而验证此数据来源的正确性。在该实施例中,如果将数据封装终端1得到的源值设定为第一源值,则将在数据验证终端2重新计算得到的源值设定为第二源值,第一源值与第二源值的检验结果可以是相同也可以是不同。
进一步,也可以对接收到的数据包中的数据段做哈希,与恢复出来的段哈希值进行对比,如果一致,则表明接收到的数据包的数据完整性正确。上述步骤实现了对于每个接收到的业务数据包,与对应的段哈希值进行验证,以确定每个接收到的业务数据包的完整性。
本申请上述实施例中,步骤S108对多个容错编码数据进行容错解码,以获得对应的第一源值和第一段哈希值可以包括:读取预定数目的业务数据包;对预定数目的业务数据包中的多个容错编码数据进行容错解码。
综上所示,结合图2和图4,本申请图3中所示的数据打包方案,可以极大降低功能数据载荷,现采用具体赋值的方式来分析如下:
假设业务数据被分为n=100个数据段进行处理,并假设传输网络的丢包率为5%,为保障本方案实现源真实性验证,在利用容错编码时,把参数k设为90,即n-k/n=10%,保障容错率大于网络丢包率。
按照传统方案,需要在每个数据包尾附加数字签名来实现源真实性验证,此处以最常用RSA签名算法为例,其签名长度为1024bits,即传统方案的功能数据载荷为1024bits;
本文方案中,需要在每个数据包附加容错编码后的哈希值和源值。容错哈希值的长度,可以根据信息量变化大体估计,假设原哈希值为SHA1哈希值,长度为160bits,则编码后的哈希值大约为160*100/90,约为200bits;源值编码后大约为1024/90,约为120bits,即本方案功能数据载荷约为320bits。若采用不可见数字水印技术,在保障不妨碍业务功能基础上把功能数据嵌入到业务数据中,可以实现功能数据载荷为0,显而易见的,本申请的技术方案很大程度上提高了网络信道的利用率,满足了业务性能的需求,而且本方案中使用到的各种关键技术都是切实可行的,方案将会应用到IPCAS/DRM系统中。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
从以上的描述中,可以看出,本发明实现了如下技术效果:即使在易丢包网络中也能实现数据源真实性保护;完成源真实性保护的功能数据开销较小;终端运算量较少,对终端性能要求低。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种提供源真实性的数据处理方法,其特征在于,包括:
将业务数据进行分段以获取多个数据段;
对各个所述数据段进行功能数据处理以获取每个所述数据段对应的第一段哈希值;
根据所述第一段哈希值来获取整个所述业务数据的第一源值;
通过容错编码算法分别对所述第一段哈希值和所述第一源值进行编码处理,以获取多个容错编码数据;
在将所述多个容错编码数据分别与每个所述数据段结合之后,将所述数据段打包成业务数据包发送,
其中,根据所述第一段哈希值来获取整个所述业务数据的第一源值包括:将各个所述数据段对应的所述第一段哈希值进行求和运算,并对求和运算结果进行哈希运算,以获取块哈希值;使用加密算法对所述块哈希值进行加密,以获取所述第一源值,所述加密算法包括:对称密钥算法和非对称密钥算法。
2.根据权利要求1所述的方法,其特征在于,将所述多个容错编码数据分别与每个所述数据段结合包括:
将所述多个容错编码数据分别添加在每个所述数据段的后面;或者
通过数字水印算法将所述多个容错编码数据分别嵌入每个所述数据段中。
3.根据权利要求2所述的方法,其特征在于,在将所述数据段打包成业务数据包发送之后,所述方法还包括:
数据验证终端接收一个或多个所述业务数据包;
在所述容错编码数据分别添加在每个所述数据段的后面的情况下,直接提取所述业务数据包中的所述容错编码数据;
根据所述容错编码数据来验证所述业务数据的源真实性。
4.根据权利要求2所述的方法,其特征在于,在将每个所述数据段打包成业务数据包发送之后,所述方法还包括:
验证终端接收一个或多个所述业务数据包;
在所述容错编码数据通过数字水印算法分别嵌入每个所述数据段中的情况下,通过数字水印检测技术提取所述业务数据包中的所述容错编码数据;
根据所述容错编码数据来验证所述业务数据的源真实性。
5.根据权利要求3或4所述的方法,其特征在于,根据所述容错编码数据来验证所述业务数据的源真实性包括:
对多个所述容错编码数据进行容错解码,以获得对应的所述第一源值和所述第一段哈希值;
对解码得到的所有所述第一段哈希值进行求和运算,并对求和运算结果进行哈希运算,以获取所述块哈希值;
通过所述加密算法对所述块哈希值进行加密得到第二源值;
当所述第一源值与所述第二源值相同时,所述验证终端确定接收到的所述业务数据来自正确的数据封装终端。
6.根据权利要求5所述的方法,其特征在于,在根据所述容错编码数据来验证所述业务数据的源真实性之后,所述方法还包括:
根据所述第一段哈希值来确定所述业务数据的完整性,该步骤包括:
对接收到的所述业务数据包中的数据段进行哈希计算,以获得对应的第二段哈希值;
当所述第一段哈希值与所述第二段哈希值相同时,所述验证终端确定接收到的所述业务数据完整。
7.根据权利要求5所述的方法,其特征在于,对多个所述容错编码数据进行容错解码,以获得对应的所述第一源值和所述第一段哈希值包括:
读取预定数目的业务数据包;
对所述预定数目的业务数据包中的多个所述容错编码数据进行容错解码。
8.一种提供源真实性的数据处理系统,其特征在于,包括:
数据封装终端,包括:
拆分单元,用于将业务数据进行分段以获取多个数据段;
功能数据处理单元,用于对各个所述数据段进行功能数据处理以获取每个所述数据段对应的第一段哈希值,并根据所述第一段哈希值来获取整个所述业务数据的第一源值;
编码处理单元,用于通过容错编码算法分别对所述第一段哈希值和所述第一源值进行编码处理,以获取多个容错编码数据;
发送单元,用于在将所述容错编码数据分别与每个所述数据段结合之后,将所述数据段打包成业务数据包发送,
其中,所述功能数据处理单元包括:哈希运算模块,用于对各个所述数据段进行哈希运算以获取每个所述数据段对应的第一段哈希值;第一计算模块,用于将各个所述数据段对应的所述第一段哈希值进行求和运算,并对求和运算结果进行哈希运算,以获取块哈希值;加密模块,用于使用加密算法对所述块哈希值进行加密,以获取所述第一源值,所述加密算法包括:对称密钥算法和非对称密钥算法。
9.根据权利要求8所述的系统,其特征在于,所述发送单元还包括:
附加模块,用于将所述多个容错编码数据分别添加在每个所述数据段的后面;或者通过数字水印算法将所述多个容错编码数据分别嵌入每个所述数据段中。
10.根据权利要求8所述的系统,其特征在于,所述系统还包括:
数据验证终端,包括:
接收单元,用于接收一个或多个所述业务数据包;
提取单元,用于在所述容错编码数据分别添加在每个所述数据段的后面的情况下,直接提取所述业务数据包中的所述容错编码数据,或者,在所述容错编码数据通过数字水印算法分别嵌入每个所述数据段中的情况下,通过数字水印检测技术提取所述业务数据包中的所述容错编码数据;
验证单元,用于根据所述容错编码数据来验证所述业务数据的源真实性和完整性。
11.根据权利要求10所述的系统,其特征在于,所述验证单元包括:
解码模块,用于对多个所述容错编码数据进行容错解码,以获得对应的所述第一源值和所述第一段哈希值;
第二计算模块,用于对解码得到的所有所述第一段哈希值进行求和运算,并对求和运算结果进行哈希运算,以获取所述块哈希值,并通过所述加密算法对所述块哈希值进行加密得到第二源值;
第一比较验证模块,用于当所述第一源值与所述第二源值相同时,所述验证终端确定接收到的所述业务数据来自正确的所述数据封装终端。
12.根据权利要求11所述的系统,其特征在于,所述验证单元还包括:
第三计算模块,用于对接收到的所述业务数据包中的数据段进行哈希计算,以获得对应的第二段哈希值;
第二比较验证模块,用于当所述第一段哈希值与所述第二段哈希值相同时,所述验证终端确定接收到的所述业务数据完整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110137776.4A CN102325025B (zh) | 2011-05-25 | 2011-05-25 | 提供源真实性的数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110137776.4A CN102325025B (zh) | 2011-05-25 | 2011-05-25 | 提供源真实性的数据处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102325025A CN102325025A (zh) | 2012-01-18 |
CN102325025B true CN102325025B (zh) | 2014-06-04 |
Family
ID=45452699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110137776.4A Active CN102325025B (zh) | 2011-05-25 | 2011-05-25 | 提供源真实性的数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102325025B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401687B (zh) * | 2013-08-01 | 2016-12-28 | 广州大学 | 一种实现无线传感网络节点数据认证的系统及方法 |
US10248428B2 (en) | 2014-04-28 | 2019-04-02 | Intel Corporation | Securely booting a computing device |
EP3163780A4 (en) * | 2014-07-29 | 2017-07-12 | Huawei Technologies Co., Ltd. | Data encryption and transmission method and device |
CN109074295B (zh) * | 2016-07-29 | 2022-07-05 | 惠普发展公司,有限责任合伙企业 | 具有真实性的数据恢复 |
CN113836679B (zh) * | 2021-10-14 | 2024-02-23 | 国网湖南省电力有限公司 | N-k攻击模式下脆弱线路组合的识别方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1874486A (zh) * | 2005-06-03 | 2006-12-06 | 中国科学院研究生院 | 数字电视广播系统及方法 |
CN1980375A (zh) * | 2005-12-07 | 2007-06-13 | 中国科学院研究生院 | 一种在数字电视传输流中实时插入签名和验证签名的方法 |
US7570759B2 (en) * | 2004-08-13 | 2009-08-04 | Yen-Fu Liu | System and method for secure encryption |
JP2010098431A (ja) * | 2008-10-15 | 2010-04-30 | Fujitsu Ltd | 音声データの管理方法、音声データの管理プログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080091954A1 (en) * | 2006-10-17 | 2008-04-17 | Morris Daniel R | Method and system for facilitating printed page authentication, unique code generation and content integrity verification of documents |
-
2011
- 2011-05-25 CN CN201110137776.4A patent/CN102325025B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7570759B2 (en) * | 2004-08-13 | 2009-08-04 | Yen-Fu Liu | System and method for secure encryption |
CN1874486A (zh) * | 2005-06-03 | 2006-12-06 | 中国科学院研究生院 | 数字电视广播系统及方法 |
CN1980375A (zh) * | 2005-12-07 | 2007-06-13 | 中国科学院研究生院 | 一种在数字电视传输流中实时插入签名和验证签名的方法 |
JP2010098431A (ja) * | 2008-10-15 | 2010-04-30 | Fujitsu Ltd | 音声データの管理方法、音声データの管理プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN102325025A (zh) | 2012-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103605950B (zh) | 一种可信二维码中签名的隐藏方法及系统 | |
CN102325025B (zh) | 提供源真实性的数据处理方法及系统 | |
CN101719205B (zh) | 一种数字版权管理方法及系统 | |
CN106357690B (zh) | 一种数据传输方法、数据发送装置及数据接收装置 | |
CN110597839A (zh) | 交易数据处理方法、装置、设备以及存储介质 | |
CN103118139B (zh) | 分布式信息隐藏传输系统及其传输方法 | |
JP6289680B2 (ja) | パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム | |
CN107911354B (zh) | 一种复合并行数据加密方法 | |
CN104661042A (zh) | 一种传输流的传输方法、装置和系统 | |
CN110659905B (zh) | 交易验证方法、装置、终端设备以及存储介质 | |
CN102724211A (zh) | 一种密钥协商方法 | |
CN112036878B (zh) | 数据处理方法及装置 | |
CN111082896A (zh) | 一种数据传输方法及发送、接收装置 | |
CN116488919B (zh) | 一种数据处理方法、通信节点及存储介质 | |
CN113905012A (zh) | 一种通信方法、装置、设备及介质 | |
CN108833500B (zh) | 服务调用方法、服务提供方法、数据传递方法和服务器 | |
US11728977B2 (en) | Method for efficient and practical key distribution in network coding systems | |
Moriam et al. | Protecting communication in many-core systems against active attackers | |
CN111865557B (zh) | 一种校验码生成方法及装置 | |
CN108055268A (zh) | 一种基于PCIe链路数据透传加解密的方法 | |
KR20150062712A (ko) | 데이터 패킷 전송의 인증 및 검증 방법, 및 상기 방법을 수행하는 장치들 | |
CN103036879A (zh) | 一种审计qq聊天内容的方法 | |
Rong et al. | WindTalker: an efficient and robust protocol of cloud covert channel based on memory deduplication | |
CN115277193A (zh) | 一种信标调制方法、装置及电子设备 | |
CN111698208B (zh) | 多隧道自适应数据流的编码方法、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |