CN101098229A - 验证待传消息完整性的方法、装置和系统 - Google Patents
验证待传消息完整性的方法、装置和系统 Download PDFInfo
- Publication number
- CN101098229A CN101098229A CNA2006100926142A CN200610092614A CN101098229A CN 101098229 A CN101098229 A CN 101098229A CN A2006100926142 A CNA2006100926142 A CN A2006100926142A CN 200610092614 A CN200610092614 A CN 200610092614A CN 101098229 A CN101098229 A CN 101098229A
- Authority
- CN
- China
- Prior art keywords
- message
- passed
- sequence
- value
- many groups
- 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 157
- 230000005540 biological transmission Effects 0.000 claims abstract description 42
- 238000005267 amalgamation Methods 0.000 claims description 54
- 238000004891 communication Methods 0.000 claims description 32
- 230000009466 transformation Effects 0.000 claims description 31
- 238000013475 authorization Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 17
- 238000012360 testing method Methods 0.000 claims description 7
- 230000001131 transforming effect Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 abstract description 10
- 101150060512 SPATA6 gene Proteins 0.000 description 103
- 230000004044 response Effects 0.000 description 34
- 230000006870 function Effects 0.000 description 33
- 238000005516 engineering process Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 102100039643 Rho-related GTP-binding protein Rho6 Human genes 0.000 description 6
- 101710199571 Rho-related GTP-binding protein Rho6 Proteins 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 102100039642 Rho-related GTP-binding protein RhoN Human genes 0.000 description 4
- 108050007497 Rho-related GTP-binding protein RhoN Proteins 0.000 description 4
- 101150015964 Strn gene Proteins 0.000 description 4
- 238000005194 fractionation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种验证待传消息完整性的方法、装置和系统,其中,验证待传消息完整性的方法包括:A、接收方接收到待传消息和采用安全方法传输的多组散列值后,根据接收到的采用安全方法传输的多组散列值得到验证信息;接收方采用设置的序列规则将接收到的待传消息生成多组序列后,对多组序列按照散列运算方法得到多组散列值,根据多组散列值得到验证信息;B、接收方判断得到的两组验证信息是否相同,如果是,则接收到的待传消息没有被篡改;如果否,则接收到的待传消息被篡改。本发明在对待传消息的传输进行完整性保护时,不仅解决了兼容性问题和成本问题,而且提高了安全性。
Description
技术领域
本发明涉及一种待传消息传输进行完整性保护的技术,特别涉及一种验证待传消息完整性的方法、装置和系统。
背景技术
目前,为了保证待传消息在网络中的安全传输,常常对待传消息在发送方进行散列值运算后,将得到的散列值与待传消息一起传输到接收方,接收方再用得到的散列值验证接收到的待传消息是否完整,没有被篡改。整个过程为:首先,发送方对待传消息进行散列运算方法的运算后得到散列值,然后将得到的散列值和待传消息都传输给接收方;接收方接收到待传消息后,采用与发送方相同的散列运算方法根据待传消息得到散列值,判断是否与接收到的散列值相同,如果是,则待传消息没有被篡改;如果否,则待传消息被篡改。
为了保证由待传消息得到的散列值在网络中的安全传输,常常对待传消息的散列值采用密码算法进行保护后传输。整个过程为:发送方先对待传消息进行散列运算,得到散列值后用私钥进行签名得到签名数据,将待传消息和签名数据都发送给接收方;接收方接到待传消息和签名数据后,先计算待传消息的散列值,并用发送方公钥解密签名数据,将解密得到的散列值和自己计算的散列值进行比较,如果一致,则认为待传消息没有被篡改;如果不一致,则认为接收到的数据被篡改。
以下以采用数字版权管理(DRM)技术为例对如何保证数据在网络中的安全传输进行具体说明。
DRM技术是随着数字媒体内容在互联网上的广泛传播而发展起来的一种新技术。DRM技术的目的是保护数字媒体内容的版权,从技术上提高盗版的技术门槛和成本,确保只有购买版权的用户在遵守版权规则的条件下消费数字媒体内容。DRM技术可以有效地防止用户通过互联网或存储媒介非法复制、备份和共享数字媒体内容,从而保证数字媒体内容发行商和数字媒体许可发行商的利益,是实现将数字媒体内容通过互联网进行销售的前提条件。
DRM的基本原理是:媒体内容发行商将媒体内容加密放到互联网上提供下载,当用户需要使用下载的数字媒体内容时需要一个和该数字媒体内容对应的权限对象,权限对象的发布是由许可服务器管理,许可服务器拥有数字媒体内容的解密密钥。许可服务器向用户发布权限对象时会将数字媒体内容的解密密钥及许可使用的权限等信息集合起来写入权限对象,并对所发布的权限对象用私钥进行签名。用户从许可服务器获得权限对象后会由设置在用户设备(UD)中的数字版权管理终端用许可服务器公钥解密并验证其完整性,如果验证通过,才允许安装权限对象且只在权限对象定义的使用权限下消费该数字媒体内容。DRM技术将保证数字媒体内容的分发,使用遵从权限对象的许可,在受控状态下执行。
数字媒体内容的使用权限信息保存在权限对象中的<permission>节点中,其中包含了使用数字媒体内容的约束条件,如使用时间、使用次数和允许拷贝次数等,这些约束条件的完整性必须得到保证,其直接关系媒体内容发行商和媒体许可发行商的利益,是否能够提供一个安全可靠的方法来保障媒体许可发行商发行的权限对象不被篡改是DRM技术最关注的一个问题,如果用户有能力破坏权限对象完整性,赋予其无限制地传播可以使用数字媒体内容的权限,那么将使媒体内容发行商和媒体许可发行商的利益遭到很大的侵害,如何建立一个可靠的权限保障手段,使得DRM技术在互联网上处于良性循环,对整个数字产业健康发展有着积极的意义。
目前,开放移动联盟(OMA,Open Mobile Alliance)标准组织在DRM2.0技术规范中要求许可服务器对其所发布的权限对象计算散列值,并对散列值用许可服务器的私钥进行签名,用户使用的DRM终端在安装权限对象时必须验证其完整性,即验证权限对象的签名数据,并强制只有在签名数据验证通过后才可以安装,从而通过保护权限对象的完整性来保证权限对象不被非法篡改。
DRM2.0技术规范的权限对象请求协议(ROAP)规定,许可服务器通过权限对象请求响应(RO Response)消息发布权限对象,即将权限对象中的内容设置在RO Response中,包括:<deviceID>终端标识;<RIID>许可服务器标识;<roap:protectedRO>媒体内容加密密钥(CEK)、CEK的加密密钥(REK)和许可约束信息等;<extensions>中的<signature>是许可服务器对<roap:protectedRO>、<deviceID>和<RIID>用哈希函数SHA-1进行了散列运算,获得散列值后用许可服务器私钥对散列值进行签名,并将签名数据添加到<signature>中。
具体地,许可服务器执行签名的流程为:1、生成待传消息M,包括权限对象中的内容,具体包括<roap:protectedRO>、<deviceID>和<riID>;2、对签名消息M采用哈希函数SHA-1进行哈希计算,得到散列值D;3、采用许可服务器私钥对散列值D进行RSA签名计算,得到签名数据S;4、在消息M中增加<signature>并将签名数据S设置在其中,形成RO Response;5、通过ROAP向DRM终端发送RO Response。
上述流程的表达式表示为:1、D=HASH(M);2、S=RSA(Pri,D);3、RO Response=M|S,其中,|表示拼合操作;Pri表示私钥;RSA(Pri,D)表示用私钥对D进行签名。
图1为现有技术许可服务器发送RO Response的方法流程图,许可服务器中包括许可服务器控制模块、RO哈希模块、签名模块和通信模块,其具体步骤为:
步骤101、许可服务器控制模块将权限对象发送给RO哈希模块,请求进行哈希运算。
RO包括<roap:protectedRO>、<deviceID>和<riID>几个节点。
步骤102、RO哈希模块对RO进行哈希运算,得到散列值。
对RO中的内容采用哈希函数SHA-1进行哈希运算。
步骤103、RO哈希模块向许可服务器控制模块返回得到的散列值。
步骤104、许可服务器控制模块将散列值发送给签名模块,请求进行签名运算。
步骤105、签名模块对接收到的散列值用许可服务器私钥进行RSA签名,得到签名数据。
步骤106、签名模块将得到的签名数据返回给许可服务器控制模块。
步骤107、许可服务器控制模块采用权限对象和签名数据构造ROResponse后,通过通信模块发送给DRM终端。
当DRM终端接收到RO Response,就会进行签名数据验证,过程为:
1、从RO Response的<signature>中获取签名数据S,以及消息M’,消息M’就是<roap:protectedRO>、<deviceID>和<riID>;2、采用许可服务器公钥对签名数据S进行解密,获得散列值D;3、采用哈希函数SHA-1对消息M’进行散列值计算,获得散列值D’;4、比较散列值D和散列值D’是否一致,如果一致,则权限对象没有被篡改,将权限对象,即消息M’进行安装;如果不一致,则权限对象被篡改,则不安装权限对象,即消息M’。
DRM终端验证签名的表达式表示为:1、M’|S=M’+S;2、D=RSA(Pub,S);3、D’=HASH(M’);4、if(D=D’)then M=M’。
图2为DRM终端验证签名的方法流程图,DRM终端包括通信模块、DRM控制模块、RO哈希模块、签名验证模块和人机接口,其具体步骤为:
步骤201~202、许可服务器发送RO Response到DRM终端。
步骤203、DRM控制模块拆分RO Response,获取签名数据和权限对象。
步骤204~206、DRM控制模块将权限对象发送给RO哈希模块采用哈希函数SHA-1进行哈希运算,得到散列值1。
步骤207~209、DRM控制模块将签名数据发送给签名验证模块,请求解密,签名验证模块采用许可服务器公钥对签名RSA解密后,将得到的散列值2发送给DRM控制模块。
步骤210、DRM控制模块判断散列值1和散列值2是否相同,如果是,则转入步骤213;如果否,则转入步骤211。
步骤211~212、DRM控制模块拒绝安装RO Response中的权限对象,通过人机接口向用户发送权限对象安装失败通知,用户无法消费数字媒体内容。
步骤213~214、DRM控制模块安装RO Response中的权限对象,通过人机接口向用户发送权限对象安装成功通知,用户可以在权限对象规定的权限下消费数字媒体内容。
从上述方案可以看出,进行RSA签名的对象是RO Response的散列值而不是权限对象本身,如果采用哈希函数SHA-1进行计算出的散列值不能唯一对应权限对象,将危及签名的可靠性。如果签名的可靠性不在,那么非法用户可以寻找一个散列值一致,但与许可服务器提供的权限对象不一致的权限对象替代许可服务器提供的权限对象,进而达到篡改许可服务器提供的权限对象的目的。因此,上述方案存在着缺点:1、完整性校验不可靠,哈希算法采用的哈希函数SHA-1在理论上已经被破解,使找到和已知内容同样散列值的序列成为实现可能,将导致所有以哈希函数SHA-1计算散列值的完整性校验不再可靠;2、完整性校验不可靠不但会导致DRM技术失去安全算法的支撑,更进一步地,所有采用完整性验证的系统都面临崩溃的边缘。
由于上述方案的不安全性,逐渐有一些解决方案被提出,最主要的是替换另一种哈希算法,使其不易被破解。更先进的哈希函数包括SHA-224、SHA-256、SHA-384及SHA-512,对权限对象采用这些哈希函数进行哈希计算得到散列值,防止散列值被破解,且唯一对应权限对象的可能性增高。
但是,这种方式对生成散列值采用的哈希函数进行了改进,即在权限对象哈希模块设置的哈希函数进行了改进,不影响DRM控制模块、签名模块和通信模块等其他模块,但是这种方式在可行性上存在许多问题,其缺点主要体现在:1、兼容性问题,改进的哈希函数更加复杂,其会要求更高的DRM终端能力,现有的一些处理能力弱的DRM终端无法支持,不同DRM终端、不同版本的DRM系统将无法兼容;2、运营成本问题,哈希函数往往固化在权限对象哈希模块中以提高执行速度,而替换改进的哈希函数就意味着要替换许可服务器和DRM终端的权限对象哈希模块,这会使成本大大增加。
发明内容
有鉴于此,本发明的主要目的在于提供一种生成并传输多组散列值的方法,该方法在对待传消息的传输进行完整性保护时,不仅解决了兼容性问题和成本问题,而且提高了安全性。
本发明还提供一种生成并传输多组散列值的装置,该装置在对待传消息的传输进行完整性保护时,不仅解决了兼容性问题和成本问题,而且提高了安全性。
本发明还提供一种验证待传消息完整性的方法,该方法在对待传消息的传输进行完整性保护时,不仅解决了兼容性问题和成本问题,而且提高了安全性。
本发明还提供一种验证待传消息完整性的装置,该装置在对待传消息的传输进行完整性保护时,不仅解决了兼容性问题和成本问题,而且提高了安全性。
本发明还提供一种验证待传消息完整性的系统,该系统在对待传消息的传输进行完整性保护时,不仅解决了兼容性问题和成本问题,而且提高了安全性。
根据上述目的,本发明的技术方案是这样实现的:
一种生成并传输多组散列值的方法,该方法包括:
A、发送方采用设置的序列规则将待传消息生成多组序列后,对多组序列按照设置的散列运算方法运算得到多组散列值;
B、发送方将得到的多组散列值采用安全方法和待传消息发送给接收方。
步骤B所述的安全方法为:对多组散列值采用发送方私钥进行签名后,将得到签名数据发送给接收方。
所述对多组散列值采用发送方私钥进行签名的过程为:
发送方采用设置的取值规则对多组散列值取值得到取值内容,采用拼合规则将取值内容拼合为一个待签序列后对该序列用发送方私钥进行签名,得到签名数据。
所述的取值规则为:将步骤A得到的多组散列值的全部或部分作为取值内容。
所述的拼合规则为:将在步骤A生成多组序列时使用的随机数序列和取值内容进行设定模式的拼合,该随机数序列是根据步骤A设置的序列规则生成的;或直接将取值内容作为所拼合的一个待签序列。
该方法还包括:接收方接收到签名数据和待传消息后,对签名数据用设置的发送方公钥解密,得到待签序列后根据与发送方相同的拼合规则对该序列进行拆分得到取值内容;
接收方采用与发送方相同的序列规则将待传消息生成多组序列后,对多组序列进行与发送方相同的散列运算得到多组散列值,根据与发送方相同的取值规则对多组散列值取值得到取值内容;
接收方判断得到的两组取值内容是否一致,如果是,接收到的待传消息没有被篡改;如果否,接收到的待传消息被篡改。
该方法还包括:接收方接收到签名数据和待传消息后,对签名数据用设置的发送方公钥解密,得到待签序列;
接收方采用与发送方相同的序列规则将待传消息生成多组序列后,对多组序列进行与发送方相同的散列运算得到多组散列值,根据与发送方相同的取值规则对多组散列值取值得到取值内容,根据与发送方相同的拼合规则将取值内容拼合为待签序列;
接收方判断得到的两组待签序列是否一致,如果是,接收到的要传输的数据没有被篡改;如果否,接收到的要传输的数据被篡改。
所述的与发送方相同的序列规则、散列运算方法、取值规则和拼合规则是预先设置在接收方的或由发送方发送给接收方的。
步骤A所述待传消息包括数字媒体内容、数字媒体内容对应的权限控制信息或需要保证完整性传输的数据。
步骤A所述设置的序列规则为对待传消息进行移位变换;
或者为生成多组随机数序列,并将多组随机数序列与待传消息分别结合。
所述对待传消息进行移位变换的序列规则为:
设置随机数序列与待传消息移位变换规则的对应关系,根据对应关系确定所生成随机数序列对应的待传消息移位变换规则,对待传消息进行所确定的待传消息移位变换规则的移位变换;或者采用所设置的固定序列输入设置的变换函数对待传消息进行移位变换;或者采用随机生成的随机数序列输入设置的变换函数对待传消息进行移位变换。
该方法还包括:
C、接收方接收到待传消息和采用安全方法传输的多组散列值后,采用与发送方相同的序列规则将接收到的待传消息生成多组序列后,对多组序列进行散列运算得到多组散列值;
D、接收方比较接收到的多组散列值是否与计算得到的多组散列值相同,如果是,则接收到的待传消息没有被篡改;如果否,则接收到的待传消息被篡改。
所述的安全方法为采用设置的安全传输信道传输多组散列值。
步骤A所述的散列运算方法为哈希算法或/和消息认证码MAC的算法,其中,哈希算法为采用哈希函数为MD4、MD5、RIPE-MD、HAVAL、MASH、SHA-1、SHA-224、SHA-256、SHA-384或SHA-512的算法;MAC的算法为采用MD4、MD5、RIPE-MD、HAVAL、MASH、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、DES、Triple-DES、RIPE算法的算法。
一种验证待传消息完整性的方法,该方法包括:
A、接收方接收到待传消息和采用安全方法传输的多组散列值后,根据接收到的采用安全方法传输的多组散列值得到验证信息;接收方采用设置的序列规则将接收到的待传消息生成多组序列后,对多组序列按照散列运算方法得到多组散列值,根据多组散列值得到验证信息;
B、接收方判断得到的两组验证信息是否相同,如果是,则接收到的待传消息没有被篡改;如果否,则接收到的待传消息被篡改。
所述的安全方法为采用设置的安全传输信道传输多组散列值或对多组散列值采用发送方私钥进行签名后,将得到签名数据发送给接收方。
当将对多组散列值采用发送方私钥进行签名后,将得到签名数据发送给接收方作为安全方法时,步骤A所述得到验证信息的过程为:
对签名数据用设置的发送方公钥解密,得到待签序列后根据设置的拼合规则对该序列进行拆分得到取值内容,将取值内容作为验证信息;根据设置的取值规则对多组散列值取值得到取值内容,将取值内容作为验证信息。
当将对多组散列值采用发送方私钥进行签名后,将得到签名数据发送给接收方作为安全方法时,步骤A所述得到验证信息的过程为:
对签名数据用设置的发送方公钥解密得到待签序列,将待签序列作为验证信息;根据设置的取值规则对多组散列值取值得到取值内容,根据设置的拼合规则将取值内容拼合为待签序列,将待签序列作为验证信息。
所述的取值规则和拼合规则是预先设置在接收方的且与发送方的相同或由发送方发送给接收方的。
步骤A所述的两组验证信息分别为多组散列值。
步骤A所述的序列规则和散列运算方法为接收方预先设置的且与发送方的相同,或由发送方给接收方发送的。
步骤A所述待传消息包括数字媒体内容、数字媒体内容对应的权限控制信息或需要保证完整性传输的数据。
该装置包括:通信模块、完整性保护模块和控制模块,其中,
控制模块将待传消息发送给完整性保护模块,完整性保护模块将待传消息生成多组序列,将多组序列进行散列运算得到多组散列值后,发送给控制模块,控制模块将多组散列值进行安全方法设置后,将进行安全方法设置的多组散列值和待传消息通过通信模块发送给接收方。
所述的完整性保护模块还包括散列运算控制模块、序列生成模块和散列运算模块,其中,
散列运算控制模块接收到待传消息后,控制序列生成模块根据待传消息生成多组序列,控制散列运算模块根据多组序列生成多组散列值。
该装置还包括签名模块,用于对从控制模块接收到的多组散列值采用签名的方式进行安全方法设置后,发送给控制模块。
一种验证待传消息完整性的装置,该装置包括通信模块、控制模块、待传消息验证模块和人机接口,其中,通信模块从发送方接收到进行安全方法设置的多组散列值和待传消息后通过控制模块发送给待传消息验证模块,待传消息验证模块根据进行安全方法设置的多组散列值对待传消息进行完整性验证后,将得到的验证结果发送给控制模块,控制模块将得到的验证结果通过人机接口发送给用户。
所述的待传消息验证模块还包括验证控制模块、序列生成模块和散列运算模块,其中,
验证控制模块接收到待传消息后,控制序列生成模块根据待传消息生成多组序列,控制散列运算模块根据多组序列生成多组散列值,根据多组散列值生成验证信息发送给验证控制模块,验证控制模块根据接收到进行安全方法设置的多组散列值得到的验证信息与从散列运算模块得到的验证信息进行比较得到验证结果,将验证结果发送给人机接口。
该装置还包括验签模块,用于对从控制模块接收到的进行安全方法设置的多组散列值采用验签方式得到多组散列值后,根据多组散列值得到验证信息,发送给控制模块。
一种验证待传消息完整性的系统,该系统包括发送方和接收方,
发送方包括:通信模块、完整性保护模块、控制模块和人机接口,其中,控制模块将待传消息发送给完整性保护模块,完整性保护模块将待传消息生成多组序列,将多组序列进行散列运算得到多组散列值后,发送给控制模块,控制模块将多组散列值进行安全方法设置后,将进行安全方法设置的多组散列值和待传消息通过通信模块发送给接收方,控制模块通过人机接口操作指令并把处理结果通过人机接口呈现给用户;
接收方包括:通信模块、控制模块、待传消息验证模块和人机接口,其中,通信模块从发送方接收到进行安全方法设置的多组散列值和待传消息后通过控制模块发送给待传消息验证模块,待传消息验证模块根据进行安全方法设置的多组散列值对待传消息进行完整性验证后,将得到的验证结果发送给控制模块,控制模块通过人机接口接收操作指令并把验证结果通过人机接口呈现给用户。
从上述方案可以看出,本发明的发送方将待传消息生成的多组序列分别进行散列运算得到多组散列值,将得到的多组散列值与待传消息一起发送给接收方;接收方将接收到的待传消息采用与发送方相同的散列运算方法计算得到多组散列值,与接收到的多组散列值进行比较,如果都相同,则待传消息没有被篡改;如果不相同,则待传消息被篡改。更进一步地,本发明还可以采用安全方法传输多组散列值,如对多组散列值进行签名后再传输给接收方或在发送方和接收方之间设置安全传输信道。由于本发明不需要更改目前验证待传消息完整性的系统的散列运算方法,从而解决了兼容性问题和成本问题;由于本发明采用散列运算方法对待传消息得到的多组序列分别进行计算得到多组散列值,极大地缩小了待传消息碰撞集合空间,所以即使散列运算方法可以找到待传消息的碰撞,但要同时满足多个条件下的待传消息的碰撞几乎不可能,因此提高了验证待传消息完整性的安全性。
附图说明
图1为现有技术许可服务器发送RO Response的方法流程图;
图2为DRM终端验证签名的方法流程图;
图3为本发明验证待传消息完整性的方法流程图;
图4为本发明进行签名的方法流程图;
图5为本发明验证签名的方法流程图;
图6为本发明许可服务器发送RO Response的方法实施例流程图;
图7为本发明DRM终端验证签名的方法流程图;
图8为本发明生成并传输多组散列值的装置示意图;
图9为本发明验证待传消息完整性的装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚明白,以下举具体实施例并参照附图,对本发明进行进一步详细的说明。
本发明对待传消息采用多次散列运算的方法,特别是在随机数序列的参与下进行多次散列运算,来保障待传消息进行完整性传输的安全性,从而保证待传消息完整性校验的安全性。在本发明中,待传消息可以携带DRM系统中的权限控制信息和数字媒体内容,权限控制信息可以为权限对象,还可以携带其他需要在网络中传送的要保证其完整性的数据。
图3为本发明验证待传消息完整性的方法流程图,其具体步骤为:
步骤300、发送方采用设置的序列规则将待传消息生成多组序列后,对多组序列按照设置的散列运算方法运算得到多组散列值。
步骤301、发送方将得到的多组散列值采用安全方法和待传消息发送给接收方。
安全方法可以为对多组散列值进行签名后将得到的签名数据发送出去;或者通过所设置的安全传输信道来传送。
步骤302、接收方接收到待传消息和采用安全方法传输的多组散列值后,根据接收到的采用安全方法传输的多组散列值得到验证信息。
该验证信息可以为多组散列值本身。当接收到的多组散列值是通过签名数据传送过来时,可以将由签名数据解密得到的待签序列作为验证信息,或将由签名数据解密得到的待签序列根据设置的拼合规则进行拆分得到的取值内容作为验证信息。
步骤303、接收方采用设置的序列规则将接收到的待传消息生成多组序列后,对多组序列按照散列运算方法得到多组散列值,根据多组散列值得到验证信息。
该验证信息可以为多组散列值本身。当接收到的多组散列值是通过签名数据传送过来时,可以对多组散列值取值得到取值内容,根据设置的拼合规则将取值内容拼合为待签序列,将根据设置的取值规则对多组散列值取值得到取值内容,将取值内容作为验证信息。
步骤304、接收方判断得到的两组验证信息是否相同,如果是,转入步骤305;如果否,转入步骤306。
步骤305、接收方接收到的待传消息没有被篡改。
步骤306、接收方接收到的待传消息被篡改。
以下对安全方法为对多组散列值进行签名得到签名数据,将签名数据传输给接收方的具体实施例进行说明。
图4为本发明进行签名的方法流程图,其具体步骤为:
步骤400、发送方采用设置的序列规则根据待传消息生成多组序列后,对多组序列采用散列运算得到多组散列值。
在生成多组序列时,可以产生多组随机数序列,将多组随机数序列分别与待传消息结合,生成多组序列。结合的规则可以预先设定,如将随机数序列附载在待传消息之前或之后。
在生成多组序列时,还可以根据设定的序列规则对待传消息进行移位变换,得到多组序列。在这种情况下,可以预先设置随机数序列与待传消息移位变换规则的对应关系,根据所设置的对应关系确定所生成的随机数序列确定如何对待传消息进行移位变换。
在本发明中,散列运算可以有多种,如哈希算法或/和消息认证码(MAC)的算法等。
步骤401、发送方采用设置的取值规则对多组散列值取值得到取值内容,采用拼合规则将取值内容拼合为一个待签序列后对该序列用发送方私钥进行签名,得到签名数据。
设置的取值规则可以为取多组数据摘要的全部或部分。
设置的拼合规则可以为将步骤400中生成的随机数序列与取值内容进行拼合,或者直接把取值内容作为待签序列。
步骤402、发送方将得到的签名数据和待传消息发送给接收方。
图5为本发明验证签名的方法流程图,其具体步骤为:
步骤500、接收方接收到签名数据和待传消息后,采用序列规则将待传消息生成多组序列后,对多组序列采用散列运算得到多组散列值,采用取值规则对多组散列值取值得到取值内容。
本步骤所述的序列规则、散列运算和取值规则都与发送方设置的相同,这些规则是预先设置的,或是由发送方发送给接收方的。
如果采用序列规则时需要随机数序列,可以在步骤501中从签名数据中获取到随机数序列。
步骤501、接收方对签名用设置的发送方公钥进行解密,得到待签序列后根据拼合规则对该序列进行拆分得到取值内容。
本步骤所述的拼合规则与发送方设置的相同,这些规则是预先设置的,或是由发送方发送给接收方的。
在这里,如果步骤500需要随机数序列,还可以拆分得到随机数序列。
步骤502、接收方判断步骤500和步骤501得到的两组取值内容是否一致,如果是,接收到的待传消息没有被篡改;如果否,接收到的待传消息被篡改。
在本发明中,还可以有一种验证签名的方法,即在步骤500中根据拼合规则由取值内容得到待签序列;在步骤501中,只得到待签序列,而不再进一步拆分;在步骤502进行比较时,可以比较这两组的待签序列。
以下以DRM技术为例详细的说明本发明,其中,待传消息可以为权限对象,发送方可以为许可服务器,接收方为DRM终端。
本发明提供的方法包括两个部分:许可服务器生成签名后构造ROResponse发送给DRM终端的过程和DRM终端接收到RO Response后通过签名验证RO Response携带的权限对象完整性的过程。
许可服务器生成签名后构造RO Response后发送给DRM终端的过程
其过程包括:首先,许可服务器将权限对象携带在待传消息M中;其次,对待传消息M采用设置的序列规则,生成不同的多组序列;再次,对待传消息M生成的多组序列散列运算进行计算,得到多组散列值,将多组散列值采用设置的取值规则和拼合规则得到一个待签序列;最后,许可服务器对得到的一个待签序列要采用许可服务器私钥进行加密,得到签名数据,采用签名数据和权限对象构造RO Response后发送出去。
在本发明中,许可服务器设置的序列规则从而生成不同的多组序列的方式有多种,举几种进行说明。
第一种:许可服务器设置的序列规则为对待传消息M进行移位变换,从而得到包括待传消息在内的多组序列;
第二种:许可服务器设置的序列规则为生成多组随机数序列,将多组随机数序列与待传消息M采用所设定的结合规则进行结合,得到包括待传消息M在内的多组序列;
第三种,许可服务器设置的序列规则为设置随机数序列与待传消息M移位变换规则的对应关系,根据对应关系确定生成的随机数序列对应的待传消息M移位变换规则,对待传消息M进行移位变换,从而得到包括待传消息M在内的多组序列。如当随机数序列为10时,对应的待传消息M移位规则为待传消息M被平均分为4份,第1份和第2份交换位置,第3份和第4份交换位置;当随机数为11时,对应的待传消息M移位规则为待传消息M被平均分为4份,第1份和第3份交换位置,第2份和第4份交换位置。在本发明中,还可以采用所设置的固定序列输入设置的变换函数对待传消息进行移位变换;或者可以采用随机生成的随机数序列输入设置的变换函数对待传消息进行移位变换。
在本发明中,当对待传消息M生成的多组序列采用散列运算进行计算时,可以为哈希计算,进行哈希计算所采用的哈希函数可以为目前DRM系统普遍采用的SHA-1,这样就不需要修改许可服务器哈希模块中固化的哈希函数,减少了成本,也可以采用MD4、MD5、RIPE-MD、HAVAL、MASH、SHA-224、SHA-256、SHA-384或SHA-512等哈希函数。本发明还可以采用MAC的算法进行计算,MAC码的算法为采用MD4、MD5、RIPE-MD、HAVAL、MASH、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、DES、Triple-DES、RIPE算法的算法。
在本发明中,许可服务器将多组散列值采用设置的取值规则和拼合规则得到多组包含散列值的序列的方式有多种,以下举具体的几种进行说明。
第一种,许可服务器可以将在生成多组序列时使用的随机数序列和得到的多组散列值进行拼合得到一个待签序列;
第二种,许可服务器可以将在生成多组序列时使用的随机数序列和得到的多组散列值中的部分散列值进行拼合得到一个待签序列;
第四种,许可服务器可以直接将多组散列值拼合得到一个待签序列。
在本发明中,许可服务器对一个待签序列进行签名时,也不限于采用RSA。
以下举一个具体的实施例进行说明,该实施例的过程为:
第一步,许可服务器将生成的权限对象作为待传消息M;
第二步,许可服务器将待传消息M采用哈希函数SHA-1进行哈希计算其散列值为D0;
第三步,许可服务器生成8组每组128位的随机数序列:RND1,RND2...RND8;
第四步,许可服务器依次将随机数序列RNDn与待传消息M结合,依次生成新的序列:Strn;
这里可以将随机数序列RNDn根据设置的序列规则放到待传消息M的后面或前面。
第五步,许可服务器将依次生成的序列Strn采用哈希函数SHA-1进行哈希计算其散列值为Dn;
第六步,许可服务器重复执行第四步和第五步,输出的散列值依次为:D1,D2,D3...D8;
第七步,许可服务器将生成的所有散列值和随机数序列采用拼合规则拼合在一起,成为一个新序列LongStr;
第八步,许可服务器将LongStr用许可服务器私钥进行签名,输出签名数据为S;
第九步,将签名数据S加入到权限对象的<signature>中,将待传消息M构成RO Response;
第十步,许可服务器通过ROAP向DRM终端发送RO Response。
该具体实施例签名运算的表达式表示为:1,D0=HASH(M);2,Str1=M|RND1;3,D1=HASH(Str1);4,Loop step 2&step 3;5,LongStr=RND1|RND2|...|RND8|D0|D1...|D8;6,S=RSA(Pri,LongStr);7,RO Response=M|S。
图6为本发明许可服务器发送RO Response的方法实施例流程图,许可服务器包括许可服务器控制器、随机数生成模块、RO哈希模块、数据拼合模块、签名模块和通信模块,其具体步骤为:
步骤601~602、许可服务器控制器向随机数生成模块请求n组随机数,随机数生成模块将n组随机数返回给许可服务器控制器。
步骤603~604、许可服务器控制器将权限对象和接收到的n组随机数发送给数据拼合模块,数据拼合模块采用设置的序列规则将权限对象和接收到的n组随机数进行拼合后,返回n组序列。
步骤605~607、许可服务器控制器将接收到的n组序列发送给权限对象RO哈希模块,RO哈希模块采用设置的散列运算分别对n组序列进行哈希计算,将得到的n组散列值返回给许可服务器控制器。
步骤608~609、许可服务器控制器将n组散列值和随机数n组发送给数据拼合模块,请求数据拼合模块进行拼合,数据拼合模块根据设置的拼合规则将拼合得到的待签序列发送给许可服务器控制器。
步骤610~612、许可服务器控制器将得到待签序列发送给签名模块,签名模块对其进行签名运算后,返回签名数据。
步骤613、许可服务器控制器用权限对象和接收到的签名数据构造ROResponse发送给通信模块。
步骤614、通信模块将RO Response发送给DRM终端。
以上实施例是用哈希函数SHA-1在第二步和第五步进行哈希计算得到散列值,本发明还可以用MAC的算法在第二步和第五步进行计算得到散列值;本发明还可以对生成的不同多组序列采用不同的哈希函数计算散列值进一步提高签名的可靠性和安全性。
DRM终端接收到RO Response后通过签名验证RO Response携带的权限对象完整性的过程
其过程为:首先,DRM终端将接收到的RO Response进行解析,得到待传消息M’和签名数据S;其次,对得到的待传消息M’采用与在许可服务器设置的相同序列规则,生成不同的序列;再次,对待传消息M’生成的多组序列采用与在许可服务器设置的相同散列运算进行计算,得到多组散列值D’;最后,对签名数据S采用许可服务器公钥进行解密,得到一个待签序列,采用与在许可服务器设置的相同拼合规则对该序列进行拆分,得到多组散列值D,判断散列值D’和散列值D是否完全一致,如果是,则确定待传消息M没有被篡改,说明M’=M并安装得到的待传消息M’;如果否,则确定待传消息M被篡改,说明M’≠M。如果有取值规则,还需要对多组散列值D’进行取值得到取值内容,将得到的取值内容与拆分得到的取值内容进行比较。
当然,与生成签名相对应,待传消息M’生成多组序列的规则也有多种,生成多组序列时也可以使用生成的随机数序列。当生成多组序列时使用生成的随机数序列时,需要从采用与在许可服务器设置的相同拼合规则对所得到的一个包含多组散列值D的序列进行拆分,得到生成的随机数序列,用于生成多组序列。
与生成签名的实施例相对应,在这里也举一个具体实施例进行说明:
第一步,DRM终端将接收到的RO Response进行解析,得到其封装的待传消息M’和签名数据S;
第二步,采用哈希函数SHA-1对解析得到的待传消息M’进行散列值计算,获得散列值D0’;
第三步,采用设置的许可服务器公钥Pub对解析得到的签名数据S进行解密,得到序列LongStr;
第四步,将序列LongStr进行分割,获得RND1,RND2...RND8,D0,D1...D8;
第五步,采用设置的拼合规则分别拼合待传消息M’和分割得到的RNDn,获得待签序列Strn’;
第六步,采用哈希函数SHA-1分别对Strn’进行散列值计算,得到散列值Dn’;
第七步,重复执行第五步和第六步,获得散列值D1’,D2’,D3’...D8’;
第八步,比较散列值D0,D1...D8与散列值D0’,D1’...D8’是否完全一致,从而确定待传消息M是否被篡改。
本发明验证签名的表达式表示为:1、M’|S =RO Response;2、D0’=HASH(M’);3、LongStr=RSA(Pub,S);4、RND1|RND2|...|RND8|D0|D1...|D8=LongStr;5、Str1’=M’|RND1;6、D1’=HASH(Str1’);7、Loop step 5&step 6;8、if(D0=D0’),if(D1=D1’)...if(D8=D8’)。
图7为本发明DRM终端验证签名的方法流程图,DRM终端包括通信模块、DRM控制模块、RO哈希模块、签名验证模块、数据拆分模块和人机接口,其具体步骤为:
步骤700~701、DRM终端中的DRM控制模块通过通信模块接收到许可服务器发送的RO Response。
步骤702、DRM控制模块将RO Response解析为权限对象和签名数据。
步骤703~705、DRM控制模块将签名发送签名验证模块,签名验证模块采用设置的许可服务器公钥对签名数据解密,得到一个待签序列发送给DRM控制模块。
步骤706~708、DRM控制模块将一个待签序列发送给数据拆分模块进行拆分,得到多组散列值D和多组随机数序列RND后,发送给DRM控制模块。
步骤709~711、DRM控制模块根据得到的多组随机数序列RND和权限对象生成多组序列,发送给RO哈希模块进行计算,得到多组散列值D’后,发送给DRM控制模块。
步骤712、DRM控制模块比较得到的散列值D和散列值D’是否都相同,如果是,则执行步骤713,否则,执行步骤714。
步骤713~714、DRM控制模块判定接收到RO Response中的权限对象是完整的,安装该权限对象并通过人机接口通知用户。
步骤715~716、DRM控制模块判定接收到RO Response中的权限对象是不完整的,不安装该权限对象并通过人机接口通知用户。
在本发明中,还分别提供一种生成并传输多组散列值的装置,该装置如图8所示,包括通信模块、完整性保护模块和控制模块,其中,控制模块将待传消息发送给完整性保护模块,完整性保护模块将待传消息生成多组序列,将多组序列进行散列运算得到多组散列值后,发送给控制模块,控制模块将多组散列值进行安全方法设置后,将进行安全方法设置的多组散列值和待传消息通过通信模块发送给接收方。
在完整性保护模块中还包括散列运算控制模块、序列生成模块和散列运算模块,其中,
散列运算控制模块接收到待传消息后,控制序列生成模块根据待传消息生成多组序列,控制散列运算模块根据多组序列生成多组散列值。在完整性保护模块还可以包括存储模块,用于在中间环节中分别存储待传消息、多组序列和多组散列值。
在生成并传输多组散列值的装置中,还包括签名模块,用于对从控制模块接收到的多组散列值采用签名的方式进行安全方法设置后,发送给控制模块。如果该装置采用DRM技术,还需要包括ROAP模块,用于将从控制模块中接收到的多组散列值和待传消息经过ROAP处理后,发送给通信模块。
在本发明中,散列运算模块可以为RO哈希模块。控制模块可以为许可服务器控制模块。当要有多组随机数序列参与本次多组散列值运算时,序列生成模块中还包括随机数生成模块和数据拼合模块,用于生成多组随机数序列,且将多组随机数序列与多组散列值进行拼合。
本发明还提供一种验证待传消息完整性的装置,如图9所示,该装置包括通信模块、控制模块、待传消息验证模块和人机接口,其中,通信模块从发送方接收到进行安全方法设置的多组散列值和待传消息后通过控制模块发送给待传消息验证模块,待传消息验证模块根据进行安全方法设置的多组散列值对待传消息进行完整性验证后,将得到的验证结果发送给控制模块,控制模块将得到的验证结果通过人机接口发送给用户。
在本发明中,待传消息验证模块还包括验证控制模块、序列生成模块和散列运算模块,其中,验证控制模块接收到待传消息后,控制序列生成模块根据待传消息生成多组序列,控制散列运算模块根据多组序列生成多组散列值,根据多组散列值生成验证信息发送给验证控制模块,验证控制模块根据接收到进行安全方法设置的多组散列值得到的验证信息与从散列运算模块得到的验证信息进行比较得到验证结果,将验证结果发送给人机接口。待传消息验证模块还可以包括存储模块,用于存储在中间环节中得到的各个数据。
在本发明提供的验证待传消息完整性的装置还包括验签模块,用于对从控制模块接收到的进行安全方法设置的多组散列值采用验签方式得到多组散列值后,根据多组散列值得到验证信息,发送给控制模块。如果该装置采用DRM技术,还需要包括ROAP模块,用于从接收方的通信模块接收的来自发送方的多个散列值和待传消息后,发送给控制模块。
在本发明中,控制模块可以为DRM控制模块,验签模块可以为签名验证模块,散列运算模块可以为RO哈希模块。当来自发送方的多组散列值为多组随机数序列参与下进行运算时,待传消息验证模块中还包括数据拆分模块,用于对接收到的多个散列值进行数据拆分,得到验证信息。
本发明可以将图8和图9所示的装置结合到一起,形成验证待传消息完整性的系统。
本发明通过要求同时满足多重条件的约束,直接缩小消息冲撞集合的空间,使散列值唯一对应待传消息,从而提升签名的安全性,保证权限对象完整性校验的可靠性。
本发明只是采用权限对象携带在待传消息中进行举例说明,本发明的实质是如何采用签名技术保证在网络中的数据的安全,所以待传消息并不仅仅限于携带权限对象,也可以携带其他数据。
本发明提供的方法不更改计算散列值的算法和计算签名的算法,而只是更改了计算散列值和签名的流程,即采用不同数据进行多次计算并将结果拼合后进行签名,从而可以提高采用签名技术传输数据的安全,其安全性只依赖于散列算法的单向性和雪崩效应。
由于本发明并没有对计算散列运算以及计算签名的算法进行硬性规定,所以可以保证验证待传消息完整性的系统具有很好的兼容性和扩展性;由于本发明在进行签名时,待传消息首先生成多组序列,多组序列再采用相同或不同的散列运算方法得到多组散列值后,再对这多组散列值进行签名,通过更改计算散列值和签名的流程增加了验证待传消息完整性的系统的可靠性,使得在该验证待传消息完整性的系统中寻找两个待传消息计算出同样的签名的可能性微乎其微,使可有效攻击现有散列运算方法的技术对本发明提供的方法和系统不再有效,带来不更改现有的算法的情况下,使待传消息完整性得到保证。
纵上所述,本发明在验证待传消息完整性的系统中增强了待传消息的完整性校验的安全性,使待传消息完整性得到保证;本发明可以兼容目前验证待传消息完整性的系统。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (29)
1、一种生成并传输多组散列值的方法,其特征在于,该方法包括:
A、发送方采用设置的序列规则将待传消息生成多组序列后,对多组序列按照设置的散列运算方法运算得到多组散列值;
B、发送方将得到的多组散列值采用安全方法和待传消息发送给接收方。
2、如权利要求1所述的方法,其特征在于,步骤B所述的安全方法为:对多组散列值采用发送方私钥进行签名后,将得到签名数据发送给接收方。
3、如权利要求2所述的方法,其特征在于,所述对多组散列值采用发送方私钥进行签名的过程为:
发送方采用设置的取值规则对多组散列值取值得到取值内容,采用拼合规则将取值内容拼合为一个待签序列后对该序列用发送方私钥进行签名,得到签名数据。
4、如权利要求3所述的方法,其特征在于,所述的取值规则为:
将步骤A得到的多组散列值的全部或部分作为取值内容。
5、如权利要求3所述的方法,其特征在于,所述的拼合规则为:
将在步骤A生成多组序列时使用的随机数序列和取值内容进行设定模式的拼合,该随机数序列是根据步骤A设置的序列规则生成的;或直接将取值内容作为所拼合的一个待签序列。
6、如权利要求3所述的方法,其特征在于,该方法还包括:
接收方接收到签名数据和待传消息后,对签名数据用设置的发送方公钥解密,得到待签序列后根据与发送方相同的拼合规则对该序列进行拆分得到取值内容;
接收方采用与发送方相同的序列规则将待传消息生成多组序列后,对多组序列进行与发送方相同的散列运算得到多组散列值,根据与发送方相同的取值规则对多组散列值取值得到取值内容;
接收方判断得到的两组取值内容是否一致,如果是,接收到的待传消息没有被篡改;如果否,接收到的待传消息被篡改。
7、如权利要求3所述的方法,其特征在于,该方法还包括:
接收方接收到签名数据和待传消息后,对签名数据用设置的发送方公钥解密,得到待签序列;
接收方采用与发送方相同的序列规则将待传消息生成多组序列后,对多组序列进行与发送方相同的散列运算得到多组散列值,根据与发送方相同的取值规则对多组散列值取值得到取值内容,根据与发送方相同的拼合规则将取值内容拼合为待签序列;
接收方判断得到的两组待签序列是否一致,如果是,接收到的要传输的数据没有被篡改;如果否,接收到的要传输的数据被篡改。
8、如权利要求6或7所述的方法,其特征在于,所述的与发送方相同的序列规则、散列运算方法、取值规则和拼合规则是预先设置在接收方的或由发送方发送给接收方的。
9、如权利要求1所述的方法,其特征在于,步骤A所述待传消息包括数字媒体内容、数字媒体内容对应的权限控制信息或需要保证完整性传输的数据。
10、如权利要求1所述的方法,其特征在于,步骤A所述设置的序列规则为对待传消息进行移位变换;
或者为生成多组随机数序列,并将多组随机数序列与待传消息分别结合。
11、如权利要求10所述的方法,其特征在于,所述对待传消息进行移位变换的序列规则为:
设置随机数序列与待传消息移位变换规则的对应关系,根据对应关系确定所生成随机数序列对应的待传消息移位变换规则,对待传消息进行所确定的待传消息移位变换规则的移位变换;
或者采用所设置的固定序列输入设置的变换函数对待传消息进行移位变换;
或者采用随机生成的随机数序列输入设置的变换函数对待传消息进行移位变换。
12、如权利要求1所述的方法,其特征在于,该方法还包括:
C、接收方接收到待传消息和采用安全方法传输的多组散列值后,采用与发送方相同的序列规则将接收到的待传消息生成多组序列后,对多组序列进行散列运算得到多组散列值;
D、接收方比较接收到的多组散列值是否与计算得到的多组散列值相同,如果是,则接收到的待传消息没有被篡改;如果否,则接收到的待传消息被篡改。
13、如权利要求1或12所述的方法,其特征在于,所述的安全方法为采用设置的安全传输信道传输多组散列值。
14、如权利要求1所述的方法,其特征在于,步骤A所述的散列运算方法为哈希算法或/和消息认证码MAC的算法,其中,
哈希算法为采用哈希函数为MD4、MD5、RIPE-MD、HAVAL、MASH、SHA-1、SHA-224、SHA-256、SHA-384或SHA-512的算法;MAC的算法为采用MD4、MD5、RIPE-MD、HAVAL、MASH、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、DES、Triple-DES、RIPE算法的算法。
15、一种验证待传消息完整性的方法,其特征在于,该方法包括:
A、接收方接收到待传消息和采用安全方法传输的多组散列值后,根据接收到的采用安全方法传输的多组散列值得到验证信息;接收方采用设置的序列规则将接收到的待传消息生成多组序列后,对多组序列按照散列运算方法得到多组散列值,根据多组散列值得到验证信息;
B、接收方判断得到的两组验证信息是否相同,如果是,则接收到的待传消息没有被篡改;如果否,则接收到的待传消息被篡改。
16、如权利要求15所述的方法,其特征在于,所述的安全方法为采用设置的安全传输信道传输多组散列值或对多组散列值采用发送方私钥进行签名后,将得到签名数据发送给接收方。
17、如权利要求16所述的方法,其特征在于,当将对多组散列值采用发送方私钥进行签名后,将得到签名数据发送给接收方作为安全方法时,步骤A所述得到验证信息的过程为:
对签名数据用设置的发送方公钥解密,得到待签序列后根据设置的拼合规则对该序列进行拆分得到取值内容,将取值内容作为验证信息;根据设置的取值规则对多组散列值取值得到取值内容,将取值内容作为验证信息。
18、如权利要求16所述的方法,其特征在于,当将对多组散列值采用发送方私钥进行签名后,将得到签名数据发送给接收方作为安全方法时,步骤A所述得到验证信息的过程为:
对签名数据用设置的发送方公钥解密得到待签序列,将待签序列作为验证信息;根据设置的取值规则对多组散列值取值得到取值内容,根据设置的拼合规则将取值内容拼合为待签序列,将待签序列作为验证信息。
19、如权利要求17或18所述的方法,其特征在于,所述的取值规则和拼合规则是预先设置在接收方的且与发送方的相同或由发送方发送给接收方的。
20、如权利要求15所述的方法,其特征在于,步骤A所述的两组验证信息分别为多组散列值。
21、如权利要求15所述的方法,其特征在于,步骤A所述的序列规则和散列运算方法为接收方预先设置的且与发送方的相同,或由发送方给接收方发送的。
22、如权利要求15所述的方法,其特征在于,步骤A所述待传消息包括数字媒体内容、数字媒体内容对应的权限控制信息或需要保证完整性传输的数据。
23、一种生成并传输多组散列值的装置,其特征在于,该装置包括:通信模块、完整性保护模块和控制模块,其中,
控制模块将待传消息发送给完整性保护模块,完整性保护模块将待传消息生成多组序列,将多组序列进行散列运算得到多组散列值后,发送给控制模块,控制模块将多组散列值进行安全方法设置后,将进行安全方法设置的多组散列值和待传消息通过通信模块发送给接收方。
24、如权利要求23所述的装置,其特征在于,所述的完整性保护模块还包括散列运算控制模块、序列生成模块和散列运算模块,其中,
散列运算控制模块接收到待传消息后,控制序列生成模块根据待传消息生成多组序列,控制散列运算模块根据多组序列生成多组散列值。
25、如权利要求23或24所述的装置,其特征在于,该装置还包括签名模块,用于对从控制模块接收到的多组散列值采用签名的方式进行安全方法设置后,发送给控制模块。
26、一种验证待传消息完整性的装置,其特征在于,该装置包括通信模块、控制模块、待传消息验证模块和人机接口,其中,
通信模块从发送方接收到进行安全方法设置的多组散列值和待传消息后通过控制模块发送给待传消息验证模块,待传消息验证模块根据进行安全方法设置的多组散列值对待传消息进行完整性验证后,将得到的验证结果发送给控制模块,控制模块将得到的验证结果通过人机接口发送给用户。
27、如权利要求26所述的装置,其特征在于,所述的待传消息验证模块还包括验证控制模块、序列生成模块和散列运算模块,其中,
验证控制模块接收到待传消息后,控制序列生成模块根据待传消息生成多组序列,控制散列运算模块根据多组序列生成多组散列值,根据多组散列值生成验证信息发送给验证控制模块,验证控制模块根据接收到进行安全方法设置的多组散列值得到的验证信息与从散列运算模块得到的验证信息进行比较得到验证结果,将验证结果发送给人机接口。
28、如权利要求26所述的装置,其特征在于,该装置还包括验签模块,用于对从控制模块接收到的进行安全方法设置的多组散列值采用验签方式得到多组散列值后,根据多组散列值得到验证信息,发送给控制模块。
29、一种验证待传消息完整性的系统,其特征在于,该系统包括发送方和接收方,
发送方包括:通信模块、完整性保护模块、控制模块和人机接口,其中,控制模块将待传消息发送给完整性保护模块,完整性保护模块将待传消息生成多组序列,将多组序列进行散列运算得到多组散列值后,发送给控制模块,控制模块将多组散列值进行安全方法设置后,将进行安全方法设置的多组散列值和待传消息通过通信模块发送给接收方,控制模块通过人机接口操作指令并把处理结果通过人机接口呈现给用户;
接收方包括:通信模块、控制模块、待传消息验证模块和人机接口,其中,通信模块从发送方接收到进行安全方法设置的多组散列值和待传消息后通过控制模块发送给待传消息验证模块,待传消息验证模块根据进行安全方法设置的多组散列值对待传消息进行完整性验证后,将得到的验证结果发送给控制模块,控制模块通过人机接口接收操作指令并把验证结果通过人机接口呈现给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100926142A CN101098229B (zh) | 2006-06-26 | 2006-06-26 | 验证待传消息完整性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100926142A CN101098229B (zh) | 2006-06-26 | 2006-06-26 | 验证待传消息完整性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101098229A true CN101098229A (zh) | 2008-01-02 |
CN101098229B CN101098229B (zh) | 2010-07-07 |
Family
ID=39011772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100926142A Expired - Fee Related CN101098229B (zh) | 2006-06-26 | 2006-06-26 | 验证待传消息完整性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101098229B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102082664A (zh) * | 2009-11-30 | 2011-06-01 | 腾讯科技(深圳)有限公司 | 网络数据安全传输系统及方法 |
CN103959742A (zh) * | 2011-10-25 | 2014-07-30 | 阿尔卡特朗讯公司 | 在点对点内容分发系统中验证从对等点接收的内容的完整性 |
CN104135470A (zh) * | 2014-07-11 | 2014-11-05 | 宇龙计算机通信科技(深圳)有限公司 | 一种对目标数据的存储完整性进行验证的方法及系统 |
CN104426989A (zh) * | 2013-09-09 | 2015-03-18 | 联想(北京)有限公司 | 数据呈现方法、数据请求方法及电子设备 |
CN104702407A (zh) * | 2013-12-09 | 2015-06-10 | 汉王科技股份有限公司 | 数字签名设备、系统以及数字签名方法 |
CN106357412A (zh) * | 2016-10-14 | 2017-01-25 | 国政通科技股份有限公司 | 一种核验身份信息的方法、装置及系统 |
CN106664308A (zh) * | 2014-08-29 | 2017-05-10 | 微软技术许可有限责任公司 | 注册之前的设备验证 |
CN106790250A (zh) * | 2017-01-24 | 2017-05-31 | 郝孟 | 数据处理、加密、完整性校验方法及身份鉴别方法及系统 |
CN107294958A (zh) * | 2017-05-27 | 2017-10-24 | 宁波大学 | 基于全同态mac的消息完整性认证方法 |
CN107948174A (zh) * | 2017-11-30 | 2018-04-20 | 广州酷狗计算机科技有限公司 | 在传输数据时进行完整性校验的方法和装置 |
WO2018177385A1 (zh) * | 2017-03-31 | 2018-10-04 | 华为技术有限公司 | 一种传输数据的方法、装置和设备 |
CN109150897A (zh) * | 2018-09-18 | 2019-01-04 | 深圳市风云实业有限公司 | 一种端到端的通信加密方法及装置 |
CN109361783A (zh) * | 2018-11-23 | 2019-02-19 | 北京东土科技股份有限公司 | 智能变电站中通信设备的操作方法及装置 |
CN110061841A (zh) * | 2018-01-18 | 2019-07-26 | 北京国盾量子信息技术有限公司 | 一种签名方法、验签方法及装置 |
CN110545173A (zh) * | 2019-07-29 | 2019-12-06 | 大众问问(北京)信息科技有限公司 | 一种安全验证及发送请求的方法及装置 |
CN116415281A (zh) * | 2023-04-18 | 2023-07-11 | 青海省第三地质勘查院 | 基于改进末位校验和双重散列函数的权限控制方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1324836C (zh) * | 2003-12-17 | 2007-07-04 | 上海市高级人民法院 | 时间戳在远程鉴章系统中的应用方法 |
-
2006
- 2006-06-26 CN CN2006100926142A patent/CN101098229B/zh not_active Expired - Fee Related
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102082664A (zh) * | 2009-11-30 | 2011-06-01 | 腾讯科技(深圳)有限公司 | 网络数据安全传输系统及方法 |
CN103959742A (zh) * | 2011-10-25 | 2014-07-30 | 阿尔卡特朗讯公司 | 在点对点内容分发系统中验证从对等点接收的内容的完整性 |
CN104426989A (zh) * | 2013-09-09 | 2015-03-18 | 联想(北京)有限公司 | 数据呈现方法、数据请求方法及电子设备 |
CN104702407B (zh) * | 2013-12-09 | 2018-09-25 | 汉王科技股份有限公司 | 数字签名设备、系统以及数字签名方法 |
CN104702407A (zh) * | 2013-12-09 | 2015-06-10 | 汉王科技股份有限公司 | 数字签名设备、系统以及数字签名方法 |
CN104135470A (zh) * | 2014-07-11 | 2014-11-05 | 宇龙计算机通信科技(深圳)有限公司 | 一种对目标数据的存储完整性进行验证的方法及系统 |
CN104135470B (zh) * | 2014-07-11 | 2017-07-14 | 宇龙计算机通信科技(深圳)有限公司 | 一种对目标数据的存储完整性进行验证的方法及系统 |
CN106664308A (zh) * | 2014-08-29 | 2017-05-10 | 微软技术许可有限责任公司 | 注册之前的设备验证 |
CN106357412A (zh) * | 2016-10-14 | 2017-01-25 | 国政通科技股份有限公司 | 一种核验身份信息的方法、装置及系统 |
CN106357412B (zh) * | 2016-10-14 | 2019-11-26 | 国政通科技股份有限公司 | 一种核验身份信息的方法、装置及系统 |
CN106790250B (zh) * | 2017-01-24 | 2020-03-31 | 郝孟一 | 数据处理、加密、完整性校验方法及身份鉴别方法及系统 |
CN106790250A (zh) * | 2017-01-24 | 2017-05-31 | 郝孟 | 数据处理、加密、完整性校验方法及身份鉴别方法及系统 |
WO2018177385A1 (zh) * | 2017-03-31 | 2018-10-04 | 华为技术有限公司 | 一种传输数据的方法、装置和设备 |
CN107294958A (zh) * | 2017-05-27 | 2017-10-24 | 宁波大学 | 基于全同态mac的消息完整性认证方法 |
CN107294958B (zh) * | 2017-05-27 | 2020-05-22 | 宁波大学 | 基于全同态mac的消息完整性认证方法 |
CN107948174A (zh) * | 2017-11-30 | 2018-04-20 | 广州酷狗计算机科技有限公司 | 在传输数据时进行完整性校验的方法和装置 |
CN110061841A (zh) * | 2018-01-18 | 2019-07-26 | 北京国盾量子信息技术有限公司 | 一种签名方法、验签方法及装置 |
CN110061841B (zh) * | 2018-01-18 | 2022-02-11 | 北京国盾量子信息技术有限公司 | 一种签名方法、验签方法及装置 |
CN109150897B (zh) * | 2018-09-18 | 2021-05-28 | 深圳市风云实业有限公司 | 一种端到端的通信加密方法及装置 |
CN109150897A (zh) * | 2018-09-18 | 2019-01-04 | 深圳市风云实业有限公司 | 一种端到端的通信加密方法及装置 |
CN109361783A (zh) * | 2018-11-23 | 2019-02-19 | 北京东土科技股份有限公司 | 智能变电站中通信设备的操作方法及装置 |
CN109361783B (zh) * | 2018-11-23 | 2021-08-17 | 北京东土科技股份有限公司 | 智能变电站中通信设备的操作方法及装置 |
CN110545173A (zh) * | 2019-07-29 | 2019-12-06 | 大众问问(北京)信息科技有限公司 | 一种安全验证及发送请求的方法及装置 |
CN116415281A (zh) * | 2023-04-18 | 2023-07-11 | 青海省第三地质勘查院 | 基于改进末位校验和双重散列函数的权限控制方法及系统 |
CN116415281B (zh) * | 2023-04-18 | 2023-10-20 | 青海省第三地质勘查院 | 基于改进末位校验和双重散列函数的权限控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101098229B (zh) | 2010-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101098229B (zh) | 验证待传消息完整性的方法 | |
EP2291787B1 (en) | Techniques for ensuring authentication and integrity of communications | |
AU2007347234B2 (en) | Digital rights management using trusted processing techniques | |
CN101375542B (zh) | 用于为无线设备管理安全软件的方法和设备 | |
US20090193262A1 (en) | Security threshold enforcement in anchor point-based digital rights management | |
WO2005093989A1 (en) | Digital license sharing system and method | |
US20120303967A1 (en) | Digital rights management system and method for protecting digital content | |
US7995766B2 (en) | Group subordinate terminal, group managing terminal, server, key updating system, and key updating method therefor | |
US20090025061A1 (en) | Conditional peer-to-peer trust in the absence of certificates pertaining to mutually trusted entities | |
KR20070078341A (ko) | 디알엠 설치 관리 방법 및 장치 | |
CN112907375A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN102004887A (zh) | 程序保护方法和装置 | |
WO2004099998A1 (ja) | デジタル情報の流通制御方法および流通制御システム | |
CN115766270A (zh) | 文件解密方法、加密方法、密钥管理方法、装置及设备 | |
KR100738917B1 (ko) | 권한 발급 서버의 위임 방식을 이용하여 전자통신기기에 암호화한 컨텐츠와 권한 오브젝트를 제공하는 서버, 시스템 및 방법 | |
CN113111371A (zh) | 一种基于区块链的数据传输方法及其系统 | |
CN112182608B (zh) | 一种联盟链加密数据定期共享方法及系统 | |
Yoo et al. | Confidential information protection system for mobile devices | |
CN114745100B (zh) | 一种用于能源控制器的软件鉴权方法 | |
Hwang et al. | Interoperable DRM framework for multiple devices environment | |
KR20060005529A (ko) | 하드 디스크의 일련번호를 이용한 프로그램의 실행 제어방법 | |
CN116167020A (zh) | 一种软件授权方法及系统 | |
CN102301372B (zh) | 用于代表存储卡接收用于内容的权利对象的方法和终端 | |
CN117909961A (zh) | 基于金融软件供应链的程序发布方法及装置 | |
Alliance | OMA Secure Removable Media Specification |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100707 |