CN101547184A - 一种用于对网络传输的数据块进行验证的方法和装置 - Google Patents
一种用于对网络传输的数据块进行验证的方法和装置 Download PDFInfo
- Publication number
- CN101547184A CN101547184A CN200810035046A CN200810035046A CN101547184A CN 101547184 A CN101547184 A CN 101547184A CN 200810035046 A CN200810035046 A CN 200810035046A CN 200810035046 A CN200810035046 A CN 200810035046A CN 101547184 A CN101547184 A CN 101547184A
- Authority
- CN
- China
- Prior art keywords
- data block
- file
- verification
- carried out
- network
- 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.)
- Pending
Links
Images
Abstract
本发明提供了一种用于对网络传输的数据块进行验证的方法和装置。首先,网络服务器端对数据块进行辅助校验,得到一个或多个辅助校验值,并将该一个或多个辅助校验值发送给将要或正在或已经下载该数据块的一个或多个用户设备;然后,用户设备端从网络中获取所述数据块对应的一个或多个辅助校验值,并对该数据块进行重新校验,得到一个或多个本地校验值,最后将所述一个或多个辅助校验值与所述一个或多个本地校验值进行比较,以判断该数据块是否正确。通过采用本发明的方法和装置,能够对网络传输数据块的正确性进行快速有效地验证,本发明还特别适用对基于P2P协议的网络传输数据的验证。
Description
技术领域
本发明涉及数据校验技术,尤其涉及在用户设备中用于验证从网络中下载的数据块的验证方法及装置,以及在网络服务器中用于辅助用户设备对下载的数据块进行验证的辅助方法及装置。
背景技术
当今世界已经进入了信息时代,信息成为一种重要的战略资源。随着互联网的迅猛发展和普及,人们越来越多地利用互联网进行数据共享、交换和传播,以更方便快捷地获得更多更新的信息。然而,随之带来的数据验证也成为待完善和加强的技术难题。
以基于P2P协议的网络通信为例,其优越之处在于得益于其开放性模型的可扩展性,然而正是该性质带来了网络安全问题。然而与之对应的是,由于受带宽和传输速度的限制,现有技术并未有专门针对基于P2P协议的数据块进行正确性验证的验证技术。而未经验证的数据在网络上大量传播将会造成不良影响,如用户下载的数据被恶意篡改,将造成网络传输混乱,甚至成为网络犯罪的温床。
因此,迫切地需要一种数据正确性验证技术来对网络传输数据的正确性进行有效验证。
发明内容
本发明为了解决现有技术的上述缺陷,提出了一种用于对网络传输的数据块进行验证的方法和装置。首先,在网络服务器端对数据块进行辅助校验,得到一个或多个辅助校验值,并将该一个或多个辅助校验值发送给将要或正在或已经下载该数据块的一个或多个用户设备。用户设备端从网络中获取所述数据块对应的一个或多个辅助校验值,并对该数据块进行重新校验,得到一个或多个本地校验值,最后将所述一个或多个辅助校验值与所述一个或多个本地校验值进行比较,以判断该数据块是否正确。
根据本发明的第一方面,提供了一种在用户设备中用于验证从网络中下载的数据块的验证方法,其中,包括如下步骤:A.从网络中获取所述数据块对应的一个或多个校验值,并且对该数据块进行校验,得到一个或多个本地校验值;B.将所述一个或多个校验值与所述一个或多个本地校验值进行比较,如所述一个或多个校验值与所述一个或多个本地校验值相对应或相同,则判断该数据块为正确的数据块。
根据本发明的第二方面,提供了一种在网络服务器中用于辅助用户设备对下载的数据块进行验证的辅助方法,其中,包括以下步骤:a.对数据块进行校验,得到一个或多个校验值;b.将该一个或多个校验值发送给一个或多个用户设备。
根据本发明的第三方面,提供了一种在用户设备中用于验证从网络中下载的数据块的验证装置,其中,其包括:获取装置,用于从网络中获取所述数据块对应的一个或多个校验值;第一校验装置,用于对该数据块进行校验,得到一个或多个本地校验值;比较装置,用于将所述一个或多个校验值与所述一个或多个本地校验值进行比较,如所述一个或多个校验值与所述一个或多个本地校验值相对应或相同,则判断该数据块为正确的数据块。
根据本发明的第四方面,提供了一种在网络服务器中用于辅助用户设备对下载的数据块进行验证的辅助装置,其中,其包括:第二校验装置,用于对数据块进行校验,得到一个或多个校验值;发送装置,用于将该一个或多个校验值发送给下载该数据块的一个或多个用户设备。
通过采用本发明的方法和装置,能够对网络传输数据块的正确性进行快速有效地验证。本发明还特别适用对基于P2P协议的网络传输数据的验证。此外,本发明结合网络传输数据的相关信息对数据进行验证,更加有效和严密。
附图说明
通过阅读以下参照附图所作的对非限制性实施例的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是根据本发明的一个具体实施例的1个网络服务器和多个用户设备基于P2P协议进行通信的网络拓扑结构示意图;
图2a是根据本发明的一个具体实施例的在网络服务器中用于辅助用户设备对下载的数据块进行验证的辅助方法的步骤流程图;
图2b是图1a所示步骤S11的根据本发明的一个具体实施方式的详细流程图
图3a是根据本发明的一个具体实施例的将数据特征信息设置于数据块头部的结构示意图;
图3b是根据本发明的一个具体实施例的将数据特征信息设置于数据块尾部的结构示意图;
图3c是根据本发明的一个具体实施例的将数据特征信息设置于数据块中间的结构示意图;
图3d是根据本发明的一个具体实施例的将数据特征信息分别设置于数据块头部和尾部的结构示意图;
图3e是根据本发明的一个具体实施例的将数据特征信息分别设置于数据块头部和尾部的结构示意图;
图3f是根据本发明的一个具体实施例的将数据特征信息分别设置于数据块头部和中间以及尾部的结构示意图;
图4是根据本发明一个具体实施方式的信息列表的格式示意图;
图5是根据本发明的一个具体实施例的在用户设备中用于验证从网络中下载的数据块的验证方法的步骤流程图;
图6是根据本发明的一个具体实施例的1个网络服务器和1个用户设备基于C/S(Client/Server)模式进行通信的网络拓扑结构示意图;
图7a是根据本发明的一个具体实施例的在网络服务器中用于辅助用户设备对下载的数据块进行验证的辅助装置;
图7b是图7a所示第二校验装置11的根据本发明的一个具体实施方式的详细结构示意图;
图8是根据本发明的一个具体实施例的在用户设备中用于验证从网络中下载的数据块的验证装置。
具体实施方式
为方便理解,首先对本文中出现的部分术语进行解释,以便理解。
-P2P(点对点,即Peer-to-Peer)协议:基于该协议的网络也称对等网络,意为一个网络中所有节点的角色、行为、责任和义务都是平等的。在P2P网络中,Peer(端)可为网络服务器,可为多个用户设备中任意用户设备。
-网络服务器:本文中,将基于P2P协议的网络中提供各种数据包的源端主机称为网络服务器。
-用户设备:本文中,将基于P2P协议的网络中的客户主机统称为用户设备,其中包括直接从服务器获取数据包的用户设备,以及从其它用户设备中获取数据包的用户设备。所述用户设备包括但不限于个人电脑,手机等。
-文件或文件分片:文件包括但不限于媒体文件和广告文件等,其格式包括但不限于AVI、RMVB、RM、WMV及ASF等。文件分片为包含文件的数据部分的数据信息的分片。同一媒体文件的分片大小为64KB(千比特)~8MB(兆比特)左右不等,通常在512KB~1MB左右。
-MD5(Message-Digest Algorithm 5,信息-摘要算法):其为Hash算法的一种单向函数算法,由国际著名的公匙加密算法标准RSA的第一设计者R.Rivest于上个世纪90年代初开发。MD5规则的核心算法在于能够将任意长度的字符串经过一系列演算,从而使其变换成一个128比特的长整数。MD5的最大作用在于将不同格式的大容量文件信息在用数字签名软件来签署私人密匙前“压缩”成一种保密的格式,关键之处在于该“压缩”是不可逆的。换言之,通过利用MD5规则,即使被看到源程序和算法描述,也无法将一个MD5值还原成为原始的字符串。例如,我们将一段话写在一个叫eg.txt的文件中,并对该eg.txt文件进行MD5运算从而产生一个MD5值并记录在案,接着将该文件发送给其他人,如果其他人修改了文件中的任何内容,则当我们对修改后的该文件再次进行MD5运算并得到另外一个MD5值时,上述两个MD5值必然是不相同的。本发明正是利用MD5规则的上述特征对网络传输数据的正确性进行验证。
在此后的说明中将陆续对文中出现的其他概念进行解释。
以下结合附图对本发明作进一步详细描述。
图1示出了根据本发明的一个具体实施例的1个网络服务器和多个用户设备基于P2P协议进行通信的网络拓扑结构示意图。为简明起见,图中仅列出5个用户设备。首先,网络服务器A对数据块进行辅助校验,得到一个或多个辅助校验值,并将该一个或多个辅助校验值发送给将要或正在或已经下载该数据块的一个或多个用户设备(如图示的用户设备1~3)。用户设备(如图示的用户设备1~5中的任意一个或多个用户设备)从网络中(包括网络服务器A或用户设备3~4)获取所述数据块对应的一个或多个辅助校验值,并对该数据块进行重新校验,得到一个或多个本地校验值,最后将所述一个或多个辅助校验值与所述一个或多个本地校验值进行比较,以判断该数据块是否正确。
图2a示出了根据本发明的一个具体实施例的在网络服务器中用于辅助用户设备对下载的数据块进行验证的辅助方法的步骤流程图,以下以MD5校验规则为例,以图1中的网络服务器A和用户设备1为例对图1中所示的流程进行详细说明。
首先,在步骤S11中,网络服务器A首先对用于网络传输的数据块进行MD5运算,得到一个或多个MD5校验值。在此,数据块可包括一个或多个文件或文件分片。
具体地,图2a所示步骤S11又可细分为如图2b所示的三个子步骤。
首先,在步骤S111中,网络服务器A首先对文件(例如广告文件《人文奥运》)或文件分片(例如媒体文件《乱世佳人》第一分片)进行初始分组处理。其中,每个分组通常为512位,接着分别再将每个分组进一步划分为16个32位的子分组。
然后,在步骤S112中,网络服务器A对文件或文件分片的单个分组的数据进行“填充”,即在该分组数据的最后位后附上一个“1”,接着在“1”后添加多个“0”,直至满足所有分组数据的长度皆恰好比512位的整数倍小64位的变量。假设,其中四个子分组数据变量(以下将子分组数据变量简称为变量)分别为(为简明起见,下文的所有变量值皆以16进制表示):A=0x01234567;B=0x89abcdef;C=0xfedcba98;D=0x76543210。然后,将上述变量A、B、C、D复制到其他变量中去,例如A复制到变量a,B复制到b,C复制到c,D复制到d。
最后,在步骤S113中,网络服务器对所述变量A、B、C、D进行循环计算。具体地,首先对上述4个变量中的任意3个变量做一次非线形函数运算,得到1个运算值;然后将该运算值加上上述4个变量中未做非线形函数运算的变量,文件或文件分片的1个子分组和1个随机常数,得到1个叠加值;再将该叠加值向右移动不定位,并加上上述4个变量其中之一,得到1个换算值;最后用该换算值覆盖变量A、B、C、D其中之一。
具体地,如F(X,Y,Z)、G(X,Y,Z)、H(X,Y,Z)、I(X,Y,Z)为非线形函数,Mj为文件或文件分片的第j个子分组(j=0~15),s为移动位数,ti为随机数,假设:
FF(a,b,c,d,Mj,s,ti)表示,a=b+((a+(F(b,c,d)+Mj+ti)<<<s);
GG(a,b,c,d,Mj,s,ti)表示,a=b+((a+(G(b,c,d)+Mj+ti)<<<s);
HH(a,b,c,d,Mj,s,ti)表示,a=b+((a+(H(b,c,d)+Mj+ti)<<<s);
II(a,b,c,d,Mj,s,ti)表示,a=b+((a+(I(b,c,d)+Mj+ti)<<<s)。
则对单个子分组进行循环运算(共4轮64步)的详细过程为如下所示:
第一轮:
FF(a,b,c,d,M0,7,0xd76aa478);
FF(d,a,b,c,M1,12,0xe8c7b756);
FF(c,d,a,b,M2,17,0x242070db);
FF(b,c,d,a,M3,22,0xc1bdceee);
FF(a,b,c,d,M4,7,0xf57c0faf);
FF(d,a,b,c,M5,12,0x4787c62a);
FF(c,d,a,b,M6,17,0xa8304613);
FF(b,c,d,a,M7,22,0xfd469501);
FF(a,b,c,d,M8,7,0x698098d8);
FF(d,a,b,c,M9,12,0x8b44f7af);
FF(c,d,a,b,M10,17,0xffff5bb1);
FF(b,c,d,a,M11,22,0x895cd7be);
FF(a,b,c,d,M12,7,0x6b901122);
FF(d,a,b,c,M13,12,0xfd987193);
FF(c,d,a,b,M14,17,0xa679438e);
FF(b,c,d,a,M15,22,0x49b40821)。
第二轮:
GG(a,b,c,d,M1,5,0xf61e2562);
GG(d,a,b,c,M6,9,0xc040b340);
GG(c,d,a,b,M11,14,0x265e5a51);
GG(b,c,d,a,M0,20,0xe9b6c7aa);
GG(a,b,c,d,M5,5,0xd62f105d);
GG(d,a,b,c,M10,9,0x02441453);
GG(c,d,a,b,M15,14,0xd8a1e681);
GG(b,c,d,a,M4,20,0xe7d3fbc8);
GG(a,b,c,d,M9,5,0x21e1cde6);
GG(d,a,b,c,M14,9,0xc33707d6);
GG(c,d,a,b,M3,14,0xf4d50d87);
GG(b,c,d,a,M8,20,0x455a14ed);
GG(a,b,c,d,M13,5,0xa9e3e905);
GG(d,a,b,c,M2,9,0xfcefa3f8);
GG(c,d,a,b,M7,14,0x676f02d9);
GG(b,c,d,a,M12,20,0x8d2a4c8a)。
第三轮:
HH(a,b,c,d,M5,4,0xfffa3942);
HH(d,a,b,c,M8,11,0x8771f681);
HH(c,d,a,b,M11,16,0x6d9d6122);
HH(b,c,d,a,M14,23,0xfde5380c);
HH(a,b,c,d,M1,4,0xa4beea44);
HH(d,a,b,c,M4,11,0x4bdecfa9);
HH(c,d,a,b,M7,16,0xf6bb4b60);
HH(b,c,d,a,M10,23,0xbebfbc70);
HH(a,b,c,d,M13,4,0x289b7ec6);
HH(d,a,b,c,M0,11,0xeaa127fa);
HH(c,d,a,b,M3,16,0xd4ef3085);
HH(b,c,d,a,M6,23,0x04881d05);
HH(a,b,c,d,M9,4,0xd9d4d039);
HH(d,a,b,c,M12,11,0xe6db99e5);
HH(c,d,a,b,M15,16,0x1fa27cf8);
HH(b,c,d,a,M2,23,0xc4ac5665)。
第四轮;
II(a,b,c,d,M0,6,0xf4292244);
II(d,a,b,c,M7,10,0x432aff97);
II(c,d,a,b,M14,15,0xab9423a7);
II(b,c,d,a,M5,21,0xfc93a039);
II(a,b,c,d,M12,6,0x655b59c3);
II(d,a,b,c,M3,10,0x8f0ccc92);
II(c,d,a,b,M10,15,0xffeff47d);
II(b,c,d,a,M1,21,0x85845dd1);
II(a,b,c,d,M8,6,0x6fa87e4f);
II(d,a,b,c,M15,10,0xfe2ce6e0);
II(c,d,a,b,M6,15,0xa3014314);
II(b,c,d,a,M13,21,0x4e0811a1);
II(a,b,c,d,M4,6,0xf7537e82);
II(d,a,b,c,M11,10,0xbd3af235);
II(c,d,a,b,M2,15,0x2ad7d2bb);
II(b,c,d,a,M9,21,0xeb86d391)。
然后将变量A,B,C,D分别加上其进行MD5运算后的变量a,b,c,d。最后输出的MD5校验值即为变量A,B,C,D级联的128位长整数。
以此类推,可按照上述算法规则继续对下1个512位的分组进行计算。
随后即进入到步骤S12,网络服务器A将在所述步骤S11中得到的一个或多个MD5校验值发送给用户设备1。
优选地,本发明还可以利用网络传输数据块的特征信息对网络传输数据块进行校验。具体地,例如,网络服务器A可以对网络传输数据的相关信息进行MD5运算,得到一个或多个MD5校验值,再与该数据块的MD5校验值一起对数据进行校验。或者,网络服务器可以将特征信息作为数据块的一部分,如将其设置于数据块的头部、中间、尾部从而使数据块及其相关信息成为一个数据集合,并对该数据集合进行MD5运算,得到一个或多个MD5校验值。其中,所述特征信息包括以下一项或任多项:文件长度,即文件或文件分片的长度;文件生成时间,即文件出现在网络系统中的长度;文件属性,可包括文件格式,读写状态等信息;文件名,即文件名称。图3a示出了根据本发明的一个具体实施例的将数据特征信息设置于数据块头部的结构示意图,其中,网络服务器将数据特征信息文件名,文件长度,文件属性,文件生成时间均设置于数据块(文件)的头部从而使该文件及其特征信息成为一个数据集合,并对该数据集合进行MD5运算,得到一个或多个MD5校验值。图3b示出了本发明的一个具体实施例的将数据特征信息设置于数据块尾部的结构示意图,其中,网络服务器将数据特征信息文件名,文件长度,文件属性,文件生成时间均设置于数据块(文件)的尾部从而使该文件及其特征信息成为一个数据集合,并对该数据集合进行MD5运算,得到一个或多个MD5校验值。图3c示出了本发明的一个具体实施例的将数据特征信息设置于数据块中间的结构示意图,其中,网络服务器将数据特征信息文件名,文件长度,文件属性,文件生成时间均设置于数据块(文件)的中间从而使该文件及其特征信息成为一个数据集合,并对该数据集合进行MD5运算,得到一个或多个MD5校验值。图3d示出了本发明的一个具体实施例的将数据特征信息分别设置于数据块头部和尾部的结构示意图,其中,网络服务器将数据特征信息文件名,文件长度设置于数据块(文件)的头部,将文件属性,文件生成时间设置于文件的尾部从而使该文件及其特征信息成为一个数据集合,并对该数据集合进行MD5运算,得到一个或多个MD5校验值。图3e示出了本发明的一个具体实施例的将数据特征信息分别设置于数据块头部和尾部的结构示意图,其中,网络服务器将文件名,文件长度,文件属性设置于文件的头部,将数据特征信息文件生成时间设置于文件的尾部,从而使该文件及其特征信息成为一个数据集合,并对该数据集合进行MD5运算,得到一个或多个MD5校验值。图3f示出了本发明的一个具体实施例的将数据特征信息分别设置于数据块头部和中间以及尾部的结构示意图,其中,网络服务器将文件名设置于文件的头部,将数据特征信息文件长度和文件属性设置于文件的中间,将数据特征信息文件生成时间设置于文件尾部从而使该文件及其特征信息成为一个数据集合,并对该数据集合进行MD5运算,得到一个或多个MD5校验值。
具体地,结合MD5规则,本发明利用网络传输数据块的特征信息对该数据块进行校验的具体算法过程,与前文对文件或文件分片进行MD5运算的具体算法过程基本相似,在此不再赘述。
需要说明的是,由于所述特征信息的唯一性和难获得性,相比较于单对文件内容做验证,通过所述特征信息对网络数据块进行校验将更加有效和严密。假设这样一种情况,基于仅对数据(内容)作MD5运算的校验机制,如图1所示的用户设备对用户设备4将下载的数据块进行替换(例如将《乱世佳人》媒体文件替换为某广告片段文件),并破解该媒体文件的MD5校验值从而伪造与之相同的某广告片段文件的MD5校验值,然后将该广告片段文件及其MD5校验值一并发送给该用户设备4,基于收到的该MD5校验值与其从网络服务器下载的该媒体文件的MD5校验值相同,该用户设备4可能并未察觉该媒体文件已被而已篡改。然而,若结合该媒体文件的相关信息对该媒体文件进行校验,由于该媒体文件的唯一的相关信息如生成时间等难以获取,用户设备3则难以以上述方法达到恶意篡改该媒体文件的目的。这更加说明了本发明的优越性。
基于利用MD5规则对网络传输数据块进行校验的校验机制,由于每个文件或文件的每个文件分片都对应了一个或多个MD5校验值,因此可以将MD5校验值作为其对应的文件或文件分片的标识。假设这样一种情况,如图1所示的用户设备4首先向用户设备3发送查询消息,该查询消息用于查询所述用户设备3是否拥有某文件分片(例如媒体文件《西游记》的文件分片1)。如果网络协议为TCP/IP协议,该查询信息中可以包括源用户设备(即用户设备4)和目标用户设备(即用户设备3)的端口和ip地址信息,需要传输的该文件分片1的标识信息等各种信息。其中,该标示信息为该文件分片1的MD5校验值。用户设备3在接收到该查询消息后查看本机中该文件分片1的状态。如果用户设备3用有该文件分片1,则向用户设备4发送响应消息告知用户设备2拥有该文件分片1并将该文件分片1发送给用户设备3。基于仅对该文件分片1作MD5运算的校验机制,若用户设备4还拥有一内容与之相同的文件分片5,则该文件分片1和文件分片5的MD5校验值应相同。而用户设备4无法通过以MD5值作为标示来区分该文件分片1和文件分5,因此误将错误的文件分片(例如文件分片5)发送给用户设备3。由此,将造成用户设备3和4以MD5值作为标志对文件分片排序,并整合成媒体文件《西游记》时的文件出错。更严重的,基于P2P通信网络的传播速度快和范围广的特点,错误的文件分片将通过用户设备3或用户设备4传播至整个网络,导致网络通信的紊乱。然而,若基于利用文件分片1的特征信息(如文件分片名)对该文件分片1作MD5运算,所得到的文件分片1和文件分片5的MD5校验值必然不同,则不会出现上述错误。这更加说明了本发明的优越性。
需要说明的是,上述以利用MD5规则的校验方式对数据块的校验进行了举例说明,本领域的普通技术人员应能理解,本发明不限于此,其他的校验方式也适用于本发明,例如CRC校验,PKI检验等。
此外,在步骤S12中,网络服务器A可以预先将MD5校验值发送给下载网络传输数据块的用户设备1。例如,运行基于P2P协议的网络中,网络服务器A通过文件信息列表将其中供用户设备下载的文件或文件分片的MD5值发送给用户设备1。图4示出了根据本发明一个具体实施方式的信息列表的格式示意图。信息列表中包括当前用户设备可以从服务器上得到(但非必须从服务器得到)的1个或多个数据块的相关信息。该信息列表中可以包含每个数据块的数据块名、优先级,MD5校验值等任意信息。参照图4,其中,其中媒体文件《乱世佳人》的MD5校验值为l,其为该媒体文件第一分片的MD5校验值;广告文件《人文奥运》的MD5校验值为m,其为该广告文件整个文件的MD5校验值;媒体文件《西游记》的MD5校验值为n,其为该媒体文件的相关信息文件长度和文件生成时间的MD5校验值。
需要说明的是,上述以文件列表的方式将MD5校验值发送给下载网络传输数据块的1个或多个用户设备进行了举例说明,本领域的普通技术人员应能理解,本发明不限于此,其他的发送方式也适用于本发明,例如以消息方式等。
图5示出了根据本发明的一个具体实施例的在用户设备中用于验证从网络中下载的数据块的验证方法的步骤流程图。
首先,在步骤S21中,用户设备从网络中(包括网络服务器,或拥有其网络传输数据块所对应的一个或多个MD5值的任意其他用户设备)获取网络传输数据块所对应的一个或多个MD5校验值(例如图4所示MD5校验值l,m,n中的任意一个或多个)。
可选地,用户设备可以基于P2P协议从网络中获取网络传输数据块所对应的一个或多个MD5校验值。参照图1,基于P2P协议,用户设备1~3直接从网络服务器A获取网络传输数据块对应的1个或多个MD5校验值,用户设备4从拥有该数据块对应的1个或多个MD5值校验值的所述用户设备3中获取该1个或多个MD5校验值,用户设备5进一步地从所述用户设备4获取该1个或多个MD5值。
需要说明的是,本发明不仅适用于上述基于P2P协议的数据块的验证,还适用于基于其他通信模式的数据块的验证,例如C/S(Client/Server)模式。图6示出了根据本发明的一个具体实施例的1个网络服务器和1个用户设备基于C/S模式进行通信的网络拓扑结构示意图。为简明起见,图中仅列出4个用户设备。其中,用户设备6~9皆直接从网络服务器B获取网络传输数据块对应的1个或多个MD5值。
然后,用户设备端(如用户设备1)将下载的数据块进行MD5运算(其运算过程如前文所述,在此不再赘述),得到1个或多个本地MD5校验值。参照图4,例如,用户设备1可分别对媒体文件《乱世佳人》第一分片,广告文件《人文奥运》,媒体文件《西游记》的相关信息文件长度和文件生成时间进行MD5运算,得到本地MD5校验值l’,m’,n’。
需要说明的是,上文仅以获取一个或多个MD5校验值的步骤在先,而对数据块进行MD5运算的步骤在后的次序进行了举例说明,本领域的普通领域技术人员应能理解,本发明不限于此,所述获取一个或多个MD5校验值和对数据块进行MD5运算的步骤并无必然的前后次序,其他次序关系也适用于本发明,例如对数据块进行MD5运算在先和获取一个或多个MD5校验值在后,或对数据块进行MD5运算和获取一个或多个MD5校验值同时进行等。
最后,在步骤S22中,用户设备端将所述步骤S21中获取的一个或多个MD5校验值(l,m,n)与在所述步骤S22中得到的一个或多个MD5本地校验值(l’,m’,n’)进行比较。如果MD5校验值l,m,n与MD5本地校验值l’,m’,n’相同,则判断该数据块为正确的数据块。
需要说明的是,本文所述一个或多个校验值(如一个或多个MD5值)针对不同实施例情况有所不同。例如,当本发明仅对文件进行校验,则得到一个校验值;当本发明对文件及其相关信息分别进行校验,则得到两个校验值。
图7a示出了根据本发明的一个具体实施例的在网络服务器中用于辅助用户设备对下载的数据块进行验证的辅助装置。以下以MD5校验规则为例,以图1中的网络服务器A和用户设备1为例对图7a中所示的装置进行详细说明。该辅助装置1包括第二校验装置11和发送装置12。
首先,第二校验装置11对网络传输数据块进行MD5运算,得到一个或多个MD5校验值,并将该一个或多个MD5值发送给发送装置12。在此,数据块可包括一个或多个文件或文件分片。
具体地,图7a所示第二校验装置11又可细分为如图7b所示的三个子装置。
首先,分组装置111首先对文件(例如广告文件《人文奥运》)或文件分片(例如媒体文件《乱世佳人》第一分片)进行初始分组处理,并将分组处理后的文件或文件分片发送给填充装置112。其中,每个分组通常为512位,接着分别再将每个分组进一步划分为16个32位的子分组。
然后,填充装置112对文件或文件分片的单个分组的数据进行“填充”,即在该分组数据的最后位后附上一个“1”,接着在“1”后添加多个“0”,直至满足所有分组数据的长度皆恰好比512位的整数倍小64位的变量,并将经过“填充”处理后的分组的子分组数据发送给循环计算装置113。假设,其中四个子分组数据变量(以下将子分组数据变量简称为变量)分别为(为简明起见,下文的所有变量值皆以16进制表示):A=0x01234567;B=0x89abcdef;C=0xfedcba98;D=0x76543210。然后,将上述变量A、B、C、D复制到其他变量中去,例如A复制到变量a,B复制到b,C复制到c,D复制到d。
最后,循环计算装置113对所述变量A、B、C、D进行循环计算。具体地,首先对上述4个变量中的任意3个变量做一次非线形函数运算,得到1个运算值;然后将该运算值加上上述4个变量中未做非线形函数运算的变量,文件或文件分片的1个子分组和1个随机常数,得到1个叠加值;再将该叠加值向右移动不定位,并加上上述4个变量其中之一,得到1个换算值;最后用该换算值覆盖变量A、B、C、D其中之一。
具体地,如F(X,Y,Z)、G(X,Y,Z)、H(X,Y,Z)、I(X,Y,Z)为非线形函数,Mj为文件或文件分片的第j个子分组(j=0~15),s为移动位数,ti为随机数,假设:
FF(a,b,c,d,Mj,s,ti)表示,a=b+((a+(F(b,c,d)+Mj+ti)<<<s);
GG(a,b,c,d,Mj,s,ti)表示,a=b+((a+(G(b,c,d)+Mj+ti)<<<s);
HH(a,b,c,d,Mj,s,ti)表示,a=b+((a+(H(b,c,d)+Mj+ti)<<<s);
II(a,b,c,d,Mj,s,ti)表示,a=b+((a+(I(b,c,d)+Mj+ti)<<<s)。
则对单个子分组进行循环运算(共4轮64步)的详细过程为如下所示:
第一轮:
FF(a,b,c,d,M0,7,0xd76aa478);
FF(d,a,b,c,M1,12,0xe8c7b756);
FF(c,d,a,b,M2,17,0x242070db);
FF(b,c,d,a,M3,22,0xclbdceee);
FF(a,b,c,d,M4,7,0xf57c0faf);
FF(d,a,b,c,M5,12,0x4787c62a);
FF(c,d,a,b,M6,17,0xa8304613);
FF(b,c,d,a,M7,22,0xfd469501);
FF(a,b,c,d,M8,7,0x698098d8);
FF(d,a,b,c,M9,12,0x8b44f7af);
FF(c,d,a,b,M10,17,0xffff5bb1);
FF(b,c,d,a,M11,22,0x895cd7be);
FF(a,b,c,d,M12,7,0x6b901122);
FF(d,a,b,c,M13,12,0xfd987193);
FF(c,d,a,b,M14,17,0xa679438e);
FF(b,c,d,a,M15,22,0x49b40821)。
第二轮:
GG(a,b,c,d,M1,5,0xf61e2562);
GG(d,a,b,c,M6,9,0xc040b340);
GG(c,d,a,b,M11,14,0x265e5a51);
GG(b,c,d,a,M0,20,0xe9b6c7aa);
GG(a,b,c,d,M5,5,0xd62f105d);
GG(d,a,b,c,M10,9,0x02441453);
GG(c,d,a,b,M15,14,0xd8a1e681);
GG(b,c,d,a,M4,20,0xe7d3fbc8);
GG(a,b,c,d,M9,5,0x21e1cde6);
GG(d,a,b,c,M14,9,0xc33707d6);
GG(c,d,a,b,M3,14,0xf4d50d87);
GG(b,c,d,a,M8,20,0x455a14ed);
GG(a,b,c,d,M13,5,0xa9e3e905);
GG(d,a,b,c,M2,9,0xfcefa3f8);
GG(c,d,a,b,M7,14,0x676f02d9);
GG(b,c,d,a,M12,20,0x8d2a4c8a)。
第三轮:
HH(a,b,c,d,M5,4,0xfffa3942);
HH(d,a,b,c,M8,11,0x8771f681);
HH(c,d,a,b,M11,16,0x6d9d6122);
HH(b,c,d,a,M14,23,0xfde5380c);
HH(a,b,c,d,M1,4,0xa4beea44);
HH(d,a,b,c,M4,11,0x4bdecfa9);
HH(c,d,a,b,M7,16,0xf6bb4b60);
HH(b,c,d,a,M10,23,0xbebfbc70);
HH(a,b,c,d,M13,4,0x289b7ec6);
HH(d,a,b,c,M0,11,0xeaa127fa);
HH(c,d,a,b,M3,16,0xd4ef3085);
HH(b,c,d,a,M6,23,0x04881d05);
HH(a,b,c,d,M9,4,0xd9d4d039);
HH(d,a,b,c,M12,11,0xe6db99e5);
HH(c,d,a,b,M15,16,0x1fa27cf8);
HH(b,c,d,a,M2,23,0xc4ac5665)。
第四轮;
II(a,b,c,d,M0,6,0xf4292244);
II(d,a,b,c,M7,10,0x432aff97);
II(c,d,a,b,M14,15,0xab9423a7);
II(b,c,d,a,M5,21,0xfc93a039);
II(a,b,c,d,M12,6,0x655b59c3);
II(d,a,b,c,M3,10,0x8f0ccc92);
II(c,d,a,b,M10,15,0xffeff47d);
II(b,c,d,a,M1,21,0x85845dd1);
II(a,b,c,d,M8,6,0x6fa87e4f);
II(d,a,b,c,M15,10,0xfe2ce6e0);
II(c,d,a,b,M6,15,0xa3014314);
II(b,c,d,a,M13,21,0x4e0811a1);
II(a,b,c,d,M4,6,0xf7537e82);
II(d,a,b,c,M11,10,0xbd3af235);
II(c,d,a,b,M2,15,0x2ad7d2bb);
II(b,c,d,a,M9,21,0xeb86d391)。
然后将变量A,B,C,D分别加上其进行MD5运算后的变量a,b,c,d。最后输出的MD5校验值即为变量A,B,C,D级联的128位长整数。
以此类推,可按照上述算法规则继续对下1个512位的分组进行计算。
随后,发送装置12将从第二校验装置11中得到的一个或多个MD5校验值发送给用户设备1。
优选地,本发明还可以利用网络传输数据块的特征信息对网络传输数据块进行校验。具体地,例如,辅助装置1可以对网络传输数据的相关信息进行MD5运算,得到一个或多个MD5校验值,再与该数据块的MD5校验值一起对数据进行校验。或者,辅助装置1可以将特征信息作为数据块的一部分,如将其设置于数据块的头部、中间、尾部从而使数据块及其相关信息成为一个数据集合,并对该数据集合进行MD5运算,得到一个或多个MD5校验值。其中,所述特征信息包括以下一项或任多项:文件长度,即文件或文件分片的长度;文件生成时间,即文件出现在网络系统中的长度;文件属性,可包括文件格式,读写状态等信息;文件名,即文件名称。图3a示出了根据本发明的一个具体实施例的将数据特征信息设置于数据块头部的结构示意图,其中,网络服务器将数据特征信息文件名,文件长度,文件属性,文件生成时间均设置于数据块(文件)的头部从而使该文件及其特征信息成为一个数据集合,并对该数据集合进行MD5运算,得到一个或多个MD5校验值。图3b示出了本发明的一个具体实施例的将数据特征信息设置于数据块尾部的结构示意图,其中,网络服务器将数据特征信息文件名,文件长度,文件属性,文件生成时间均设置于数据块(文件)的尾部从而使该文件及其特征信息成为一个数据集合,并对该数据集合进行MD5运算,得到一个或多个MD5校验值。图3c示出了本发明的一个具体实施例的将数据特征信息设置于数据块中间的结构示意图,其中,网络服务器将数据特征信息文件名,文件长度,文件属性,文件生成时间均设置于数据块(文件)的中间从而使该文件及其特征信息成为一个数据集合,并对该数据集合进行MD5运算,得到一个或多个MD5校验值。图3d示出了本发明的一个具体实施例的将数据特征信息分别设置于数据块头部和尾部的结构示意图,其中,网络服务器将数据特征信息文件名,文件长度设置于数据块(文件)的头部,将文件属性,文件生成时间设置于文件的尾部从而使该文件及其特征信息成为一个数据集合,并对该数据集合进行MD5运算,得到一个或多个MD5校验值。图3e示出了本发明的一个具体实施例的将数据特征信息分别设置于数据块头部和尾部的结构示意图,其中,网络服务器将文件名,文件长度,文件属性设置于文件的头部,将数据特征信息文件生成时间设置于文件的尾部,从而使该文件及其特征信息成为一个数据集合,并对该数据集合进行MD5运算,得到一个或多个MD5校验值。图3f示出了本发明的一个具体实施例的将数据特征信息分别设置于数据块头部和中间以及尾部的结构示意图,其中,网络服务器将文件名设置于文件的头部,将数据特征信息文件长度和文件属性设置于文件的中间,将数据特征信息文件生成时间设置于文件尾部从而使该文件及其特征信息成为一个数据集合,并对该数据集合进行MD5运算,得到一个或多个MD5校验值。
具体地,结合MD5规则,本发明利用网络传输数据块的特征信息对该数据块进行校验的具体算法过程,与前文对文件或文件分片进行MD5运算的具体算法过程基本相似,在此不再赘述。
需要说明的是,由于所述特征信息的唯一性和难获得性,相比较于单对文件内容做验证,通过所述特征信息对网络数据块进行校验将更加有效和严密。假设这样一种情况,若某用户设备(如图1所示用户设备3)将另一用户设备(如图1所示用户设备4)将下载的数据块进行替换(例如将《乱世佳人》媒体文件替换为某广告片段文件),并破解该媒体文件的MD5校验值从而伪造与之相同的某广告片段文件的MD5校验值,然后将该广告片段文件及其MD5校验值一并发送给该用户设备4,基于收到的该MD5校验值与其从网络服务器下载的该媒体文件的MD5校验值相同,该用户设备4可能并未察觉该媒体文件已被而已篡改。然而,若利用该媒体文件的相关信息对该媒体文件进行校验,由于该媒体文件的唯一的相关信息如生成时间等难以获取,用户设备3则难以以上述方法达到恶意攒改该媒体文件的目的。这更加说明了本发明的优越性。
基于利用MD5规则对网络传输数据块进行校验的校验机制,由于每个文件或文件的每个文件分片都对应了一个或多个MD5校验值,因此可以将MD5校验值作为其对应的文件或文件分片的标识。假设这样一种情况,如图1所示的用户设备4首先向用户设备3发送查询消息,该查询消息用于查询所述用户设备3是否拥有某文件分片(例如媒体文件《西游记》的文件分片1)。如果网络协议为TCP/IP协议,该查询信息中可以包括源用户设备(即用户设备4)和目标用户设备(即用户设备3)的端口和ip地址信息,需要传输的该文件分片1的标识信息等各种信息。其中,该标示信息为该文件分片1的MD5校验值。用户设备3在接收到该查询消息后查看本机中该文件分片1的状态。如果用户设备3用有该文件分片1,则向用户设备4发送响应消息告知用户设备2拥有该文件分片1并将该文件分片1发送给用户设备3。基于仅对该文件分片1作MD5运算的校验机制,若用户设备4还拥有一内容与之相同的文件分片5,则该文件分片1和文件分片5的MD5校验值应相同。而用户设备4无法通过以MD5值作为标示来区分该文件分片1和文件分5,因此误将错误的文件分片(例如文件分片5)发送给用户设备3。由此,将造成用户设备3和4以MD5值作为标志对文件分片排序,并整合成媒体文件《西游记》时的文件出错。更严重的,基于P2P通信网络的传播速度快和范围广的特点,错误的文件分片将通过用户设备3或用户设备4传播至整个网络,导致网络通信的紊乱。然而,若基于利用文件分片1的特征信息(如文件分片名)对该文件分片1作MD5运算,所得到的文件分片1和文件分片5的MD5校验值必然不同,则不会出现上述错误。这更加说明了本发明的优越性。
需要说明的是,上述以利用MD5规则的校验方式对数据块的校验进行了举例说明,本领域的普通技术人员应能理解,本发明不限于此,其他的校验方式也适用于本发明,例如CRC校验,PKI检验等。
此外,发送装置12可以预先将MD5校验值发送给下载网络传输数据块的用户设备1。例如,运行基于P2P协议的网络中,辅助装置1通过文件信息列表将其中供用户设备下载的文件或文件分片的MD5值发送给用户设备1。图4示出了根据本发明一个具体实施方式的信息列表的格式示意图。信息列表中包括当前用户设备可以从服务器上得到(但非必须从服务器得到)的1个或多个数据块的相关信息。该信息列表中可以包含每个数据块的数据块名、优先级,MD5校验值等任意信息。参照图4,其中,其中媒体文件《乱世佳人》的MD5校验值为l,其为该媒体文件第一分片的MD5校验值;广告文件《人文奥运》的MD5校验值为m,其为该广告文件整个文件的MD5校验值;媒体文件《西游记》的MD5校验值为n,其为该媒体文件的相关信息文件长度和文件生成时间的MD5校验值。
需要说明的是,上述以文件列表的方式将MD5校验值发送给下载网络传输一个或多个用户设备进行了举例说明,本领域的普通技术人员应能理解,本发明不限于此,其他的发送方式也适用于本发明,例如以消息方式等。
图8示出了根据本发明的一个具体实施例的在用户设备中用于验证从网络中下载的数据块的验证装置。
首先,获取装置21从网络中(包括网络服务器,或拥有其网络传输数据块所对应的一个或多个MD5值的任意其他用户设备)获取网络传输数据块所对应的一个或多个MD5校验值(例如图4所示MD5校验值l,m,n中的任意一个或多个)。
可选地,用户设备可以基于P2P协议从网络中获取网络传输数据块所对应的一个或多个MD5校验值。参照图1,基于P2P协议,用户设备1~3直接从网络服务器A获取网络传输数据块对应的1个或多个MD5校验值,用户设备4从拥有该数据块对应的1个或多个MD5值校验值的所述用户设备3中获取该1个或多个MD5校验值,用户设备5进一步地从所述用户设备4获取该1个或多个MD5值。
需要说明的是,本发明不仅适用于上述基于P2P协议的数据块的验证,还适用于基于其他通信模式的数据块的验证,例如C/S(Client/Server)模式。图5示出了根据本发明的一个具体实施例的1个网络服务器和1个用户设备基于C/S模式进行通信的网络拓扑结构示意图。为简明起见,图中仅列出4个用户设备。其中,用户设备6~9皆直接从网络服务器B获取网络传输数据块对应的1个或多个MD5值。
然后,第一校验装置22对网络传输数据块进行MD5运算(其运算过程如前文所述,在此不再赘述),得到1个或多个本地MD5校验值。参照图4,例如,用户设备1可分别对媒体文件《乱世佳人》第一分片,广告文件《人文奥运》,媒体文件《西游记》的相关信息文件长度和文件生成时间进行MD5运算,得到本地MD5校验值l’,m’,n’。
需要说明的是,上文仅以该获取装置21获取一个或多个MD5校验值在先,而该第一校验装置22对数据块进行MD5运算在后的次序进行了举例说明,本领域的普通领域技术人员应能理解,本发明不限于此,所述获取装置21和第一校验装置22的工作并无必然的前后次序,其他次序关系也适用于本发明,例如该第一校验装置22对数据块进行MD5运算在先和该获取装置21获取一个或多个MD5校验值在后,或该第一校验装置22对数据块进行MD5运算和该获取装置21获取一个或多个MD5校验值同时进行等。
最后,比较装置23将所述步骤S21中获取的一个或多个MD5校验值(l,m,n)与在所述步骤S22中得到的一个或多个MD5本地校验值(l’,m’,n’)进行比较。如果MD5校验值l,m,n与MD5本地校验值l’,m’,n’相同,则判断该数据块为正确的数据块。
需要说明的是,本文所述一个或多个校验值(如一个或多个MD5值)针对不同实施例情况有所不同。例如,当本发明仅对文件进行校验,则得到一个校验值;当本发明对文件及其相关信息分别进行校验,则得到两个校验值。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在所附权利要求的范围内做出各种变形或修改。
Claims (24)
1.一种在用户设备中用于验证从网络中下载的数据块的验证方法,其中,包括如下步骤:
A.从网络中获取所述数据块对应的一个或多个校验值,并且对该数据块进行校验,得到一个或多个本地校验值;
B.将所述一个或多个校验值与所述一个或多个本地校验值进行比较,
-如所述一个或多个校验值与所述一个或多个本地校验值相对应或相同,则判断该数据块为正确的数据块。
2.根据权利要求1所述的验证方法,其特征在于,所述步骤B中的对数据块进行校验的方法还包括:
-利用该数据块的特征信息对该数据块进行校验。
3.根据权利要求1或2所述的验证方法,其特征在于,对所述数据块进行校验的校验规则包括以下任一项:
-MD5;
-CRC;
-PKI。
4.根据权利要求1所述的验证方法,其特征在于,所述数据块包括以下任一项或任多项:
-文件;
-文件的一个或多个文件分片。
5.根据权利要求2所述的验证方法,其特征在于,所述数据块的特征信息包括以下任一项或任多项:
-文件长度;
-文件生成时间;
-文件属性;
-文件名。
6.根据权利要求1~5中任一项所述的验证方法,其特征在于,所述数据块包括基于点对点协议传输的数据块。
7.一种在网络服务器中用于辅助用户设备对下载的数据块进行验证的辅助方法,其中,包括以下步骤:
a.对数据块进行校验,得到一个或多个校验值;
b.将该一个或多个校验值发送给一个或多个用户设备。
8.根据权利要求7所述的辅助方法,其特征在于,所述步骤a中的对数据块进行校验的方法还包括:
-利用该数据块的特征信息对该数据块进行校验。
9.根据权利要求7或8所述的辅助方法,其特征在于,对所述数据块进行校验的校验规则包括以下任一项:
-MD5;
-CRC;
-PKI。
10.根据权利要求7所述的辅助方法,其特征在于,所述数据块包括以下任一项或任多项:
-文件;
-文件的一个或多个文件分片。
11.根据权利要求8所述的辅助方法,其特征在于,所述特征信息包括以下任一项或任多项:
-文件长度;
-文件生成时间;
-文件属性;
-文件名。
12.根据权利要求7~11中任一项所述的辅助方法,其特征在于,所述数据块包括基于点对点协议传输的数据块。
13.一种在用户设备中用于验证从网络中下载的数据块的验证装置,其中,其包括:
获取装置,用于从网络中获取所述数据块对应的一个或多个校验值;
第一校验装置,用于对该数据块进行校验,得到一个或多个本地校验值;
比较装置,用于将所述一个或多个校验值与所述一个或多个本地校验值进行比较,
-如所述一个或多个校验值与所述一个或多个本地校验值相对应或相同,则判断该数据块为正确的数据块。
14.根据权利要求13所述的验证装置,其特征在于,所述第一校验装置还用于:
-利用该数据块的特征信息对该数据块进行校验。
15.根据权利要求13或14所述的验证装置,其特征在于,对所述数据块进行校验的校验规则包括以下任一项:
-MD5;
-CRC;
-PKI。
16.根据权利要求13所述的验证装置,其特征在于,所述数据块包括以下任一项或任多项:
-文件;
-文件的一个或多个文件分片。
17.根据权利要求14所述的验证装置,其特征在于,所述数据块的特征信息包括以下任一项或任多项:
-文件长度;
-文件生成时间;
-文件属性;
-文件名。
18.根据权利要求13~17所述的验证装置,其特征在于,所述数据块包括基于点对点协议传输的数据块。
19.一种在网络服务器中用于辅助用户设备对下载的数据块进行验证的辅助装置,其中,其包括:
第二校验装置,用于对数据块进行校验,得到一个或多个校验值;
发送装置,用于将该一个或多个校验值发送给下载该数据块的一个或多个用户设备。
20.根据权利要求19所述的辅助装置,其特征在于,所述第二校验装置还用于:
-利用该数据块的特征信息对该数据块进行校验。
21.根据权利要求19或20所述的辅助装置,其特征在于,对所述数据块进行校验的校验规则包括以下任一项:
-MD5;
-CRC;
-PKI。
22.根据权利要求19所述的辅助装置,其特征在于,所述数据块包括以下任一项或任多项:
-文件;
-文件的一个或多个文件分片。
23.根据权利要求20所述的辅助装置,其特征在于,所述特征信息包括以下任一项或任多项:
-文件长度;
-文件生成时间;
-文件属性;
-文件名。
24.根据权利要求19~23中任一项所述的辅助装置,其特征在于,所述数据块包括基于点对点协议传输的数据块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810035046A CN101547184A (zh) | 2008-03-24 | 2008-03-24 | 一种用于对网络传输的数据块进行验证的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810035046A CN101547184A (zh) | 2008-03-24 | 2008-03-24 | 一种用于对网络传输的数据块进行验证的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101547184A true CN101547184A (zh) | 2009-09-30 |
Family
ID=41194076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810035046A Pending CN101547184A (zh) | 2008-03-24 | 2008-03-24 | 一种用于对网络传输的数据块进行验证的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101547184A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102263791A (zh) * | 2011-07-18 | 2011-11-30 | 李建成 | 资源文件校验方法及系统 |
CN102325167A (zh) * | 2011-07-21 | 2012-01-18 | 杭州微元科技有限公司 | 一种网络文件传输的校验方法 |
CN103078861A (zh) * | 2013-01-06 | 2013-05-01 | 福建三元达通讯股份有限公司 | 一种基于aes和素材验证的网络终端播放控制方法 |
CN104112228A (zh) * | 2014-08-04 | 2014-10-22 | 武汉金融资产交易所有限公司 | 用于小额贷款公司的监管数据采集系统及方法 |
CN104182416A (zh) * | 2013-05-27 | 2014-12-03 | 鸿富锦精密工业(深圳)有限公司 | 文件下载系统及方法 |
CN104618324A (zh) * | 2014-12-18 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 一种用于数据发送以及数据合法性检查的方法与装置 |
CN107133120A (zh) * | 2016-02-29 | 2017-09-05 | 阿里巴巴集团控股有限公司 | 一种文件数据的校验方法、装置 |
CN107870727A (zh) * | 2016-09-23 | 2018-04-03 | 伊姆西Ip控股有限责任公司 | 用于存储数据的方法和设备 |
CN110022287A (zh) * | 2018-01-10 | 2019-07-16 | 厦门雅迅网络股份有限公司 | 一种异步分布式文件传输方法、终端设备及存储介质 |
FR3092923A1 (fr) | 2019-02-19 | 2020-08-21 | Bruno SANGLE-FERRIERE | Méthode cryptographique de vérification des données |
CN111782623A (zh) * | 2020-05-21 | 2020-10-16 | 北京交通大学 | Hdfs存储平台中的文件校验修复方法 |
CN112861188A (zh) * | 2021-02-01 | 2021-05-28 | 青岛易来智能科技股份有限公司 | 用于多集群的数据汇集系统和方法 |
US11956367B2 (en) | 2019-02-19 | 2024-04-09 | Bruno SANGLE-FERRIERE | Cryptographic method for verifying data |
-
2008
- 2008-03-24 CN CN200810035046A patent/CN101547184A/zh active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102263791A (zh) * | 2011-07-18 | 2011-11-30 | 李建成 | 资源文件校验方法及系统 |
CN102325167A (zh) * | 2011-07-21 | 2012-01-18 | 杭州微元科技有限公司 | 一种网络文件传输的校验方法 |
CN103078861A (zh) * | 2013-01-06 | 2013-05-01 | 福建三元达通讯股份有限公司 | 一种基于aes和素材验证的网络终端播放控制方法 |
CN103078861B (zh) * | 2013-01-06 | 2015-11-25 | 福建三元达软件有限公司 | 一种基于aes和素材验证的网络终端播放控制方法 |
CN104182416A (zh) * | 2013-05-27 | 2014-12-03 | 鸿富锦精密工业(深圳)有限公司 | 文件下载系统及方法 |
CN104112228A (zh) * | 2014-08-04 | 2014-10-22 | 武汉金融资产交易所有限公司 | 用于小额贷款公司的监管数据采集系统及方法 |
CN104112228B (zh) * | 2014-08-04 | 2017-07-14 | 武汉金融资产交易所有限公司 | 用于小额贷款公司的监管数据采集系统及方法 |
CN104618324A (zh) * | 2014-12-18 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 一种用于数据发送以及数据合法性检查的方法与装置 |
CN107133120A (zh) * | 2016-02-29 | 2017-09-05 | 阿里巴巴集团控股有限公司 | 一种文件数据的校验方法、装置 |
CN107870727A (zh) * | 2016-09-23 | 2018-04-03 | 伊姆西Ip控股有限责任公司 | 用于存储数据的方法和设备 |
CN107870727B (zh) * | 2016-09-23 | 2021-01-01 | 伊姆西Ip控股有限责任公司 | 用于存储数据的方法和设备 |
US11372566B2 (en) | 2016-09-23 | 2022-06-28 | EMC IP Holding Company, LLC | Method and device for storing data |
CN110022287A (zh) * | 2018-01-10 | 2019-07-16 | 厦门雅迅网络股份有限公司 | 一种异步分布式文件传输方法、终端设备及存储介质 |
FR3092923A1 (fr) | 2019-02-19 | 2020-08-21 | Bruno SANGLE-FERRIERE | Méthode cryptographique de vérification des données |
WO2020169542A1 (fr) | 2019-02-19 | 2020-08-27 | Sangle-Ferriere Bruno | Méthode cryptographique de vérification des données |
US11914754B2 (en) | 2019-02-19 | 2024-02-27 | Bruno SANGLE-FERRIERE | Cryptographic method for verifying data |
US11956367B2 (en) | 2019-02-19 | 2024-04-09 | Bruno SANGLE-FERRIERE | Cryptographic method for verifying data |
CN111782623A (zh) * | 2020-05-21 | 2020-10-16 | 北京交通大学 | Hdfs存储平台中的文件校验修复方法 |
CN112861188A (zh) * | 2021-02-01 | 2021-05-28 | 青岛易来智能科技股份有限公司 | 用于多集群的数据汇集系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101547184A (zh) | 一种用于对网络传输的数据块进行验证的方法和装置 | |
US11501533B2 (en) | Media authentication using distributed ledger | |
WO2020001105A1 (zh) | 基于区块链的数据验证方法及装置、电子设备 | |
CN107294729B (zh) | 区块链中不同节点之间的通信方法及装置 | |
EP3545665B1 (en) | System and method for detecting replay attack | |
CN102170440B (zh) | 适用于存储云间数据安全迁移的方法 | |
KR101948721B1 (ko) | 파일 해시 값을 이용한 파일 위변조 검사 방법 및 단말 장치 | |
CN110839029B (zh) | 一种微服务注册方法和装置 | |
CN110989922B (zh) | 一种分布式数据存储方法及系统 | |
CN110336779B (zh) | 一种区块链的构建方法、装置和电子设备 | |
CN111339201B (zh) | 基于区块链的测评方法及系统 | |
CN108123934A (zh) | 一种面向移动端的数据完整性校验方法 | |
CN109493224A (zh) | 一种区块链图片社交系统 | |
EP2913973A1 (en) | Trusted NFC smart poster tag | |
CN110601896A (zh) | 一种基于区块链节点的数据处理方法以及设备 | |
CN111367923A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN112311779B (zh) | 应用于区块链系统的数据访问控制方法及装置 | |
CN111597567A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN115840787B (zh) | 基于区块链的供应链数据共享方法、装置、设备及介质 | |
CN110619022B (zh) | 基于区块链网络的节点检测方法、装置、设备及存储介质 | |
CN115130075A (zh) | 一种数字签章方法、装置、电子设备及存储介质 | |
CN108846671B (zh) | 基于区块链的在线安全交易方法和系统 | |
CN107770183A (zh) | 一种数据传输方法与装置 | |
CN110618989A (zh) | 信息处理方法、信息处理装置及相关产品 | |
CN114365134A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090930 |