签名方法、装置以及签名验证方法、装置和系统的制作方法

文档序号:7701801阅读:119来源:国知局

专利名称::签名方法、装置以及签名验证方法、装置和系统的制作方法
技术领域
:本发明涉及通信领域,特别是涉及一种签名方法、装置以及签名验证方法、装置和系统。
背景技术
:在IPv6协议中,同一链3各上面的节点利用邻居发现(NeighborDiscovery,ND)来找到彼此的存在,来断定彼此的链路层地址,来发现路由器以及来维护各个处于活动状态的邻居的可达路径信息。IPv6邻居发现协议使用的消息格式属于ICMPv6消息。其中,邻居发现报文的形式和ICMPv6的形式相似。所有的ND的功能都可以通过如下报文实现路由请求报文,路由宣告报文,邻居请求报文和邻居宣告报文,以及重定向报文。如表1所示,一个ND数据包包括NDP报文头(NDPMessageheader),它由ICMPv6才艮文头(ICMPv6Header)等组成。表l<------------NDPMessage---------------->IIPv6Header|工CMPv6|NDMessage—|NDMessage|INextHeader=58|Header|specific|Options|I(ICMPv6)IIdata|I<—一NDPMessageheader——>力口密生成地址(CryptographicallyGeneratedAddresses,CGA)描述了在安全邻居发现(SecureNeighborDiscovery,SEND)协议中的一种将/>共签名密钥与一个IPv6地址邦定的方法。一个CGA是一个IPv6地址,CGA中的接口标识符由公钥和其它一些参数计算一个单向哈希函凄t生成。通过重新计算的哈希值与接口标识符的比较,可以验i正公钥和地址的联系。通过附带一个公钥,一些辅助参数及对应于这一公钥的私钥对消息的签名,可以保护^v—个IPv6地址发送来的消息。用^H月计算出一个加密的^^合希值来生成一个IPv6地址的接口标识符,再加上网络前缀,就构成一个IPv6地址。这样生成的IPv6地址叫做力口密生成地址。相应的私钥可以用来对从此地址发出的消息进行签名。安全邻居发现SEND协议引入了授权发现机制和地址所有者证明机制。对安全邻居发现,CGA可用来判断地址所有者的回复正确与否,这个过程是通过使用生成地址的密钥签名消息来实现的,从而确保安全邻居发现消息的发送端是声明的地址所有者。现有的SEND协议中所实现的CGA<义支持RSA&SHA-1算法生成签名。RSA&SHA-1算法生成签名是所有主机和路由器共同默认的。当路由器向主机发送安全邻居发现消息时,就会使用RSA&SHA-1算法生成签名,并将签名选项添加到路由宣告消息的选项中。主机接收到此路由宣告消息时,使用相同RSA&SHA-1算法对签名选项中的签名进行验证。在CGA支持多加密算法和多哈希算法的时候,路由器有可能使用不同的算法来生成签名。但是因为现有的宣告消息中,主机接收到路由器发送的安全邻居发现消息时无法知道使用哪种算法生成的签名,因此,无法对签名进行验证,-睑证签名就会失败。
发明内容本发明实施例提供了一种签名方法、装置以及签名验证方法、装置和系统,可以实现对签名的生成算法进行识别,提高签名-验证的准确性和可靠性。本发明实施例纟是供了一种签名方法,包括在安全邻居发现消息中添加生成签名的算法标识信息;发送所述安全邻居发现消息。本发明实施例提供了一种签名装置,包括添加模块,用于在安全邻居发现消息中添加生成签名的算法标识信息;发送模块,用于发送所述安全邻居发现消息。本发明实施例提供了一种签名验证方法,包括从接收到的安全邻居发现消息中,提取生成签名的算法标识信息;利用所述算法标识信息对应的算法对所述签名进行验证。本发明实施例提供了一种签名验证装置,包括提取模块,用于从接收到的安全邻居发现消息中,提取生成签名的算法标识信息;验证模块,用于利用该算法标识信息对应的算法对所述签名进行验证。本发明实施例提供了一种签名验证系统,包括签名装置,用于在安全邻居发现消息中添加生成签名的算法标识信息,并发送;签名验证装置,用于从接收到的安全邻居发现消息中,提取生成签名的所述算法标识信息,并利用所述算法标识信息对应的算法对所述签名进行验证。本发明实施例可通过安全邻居发现消息中的算法标识信息确认生成签名的算法,根据该算法标识信息可有效对签名进行验证,提高签名验证的准确性和可靠性,可满足对各种不同算法签名的验证处理。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明签名方法实施例一的流程图;图2为本发明签名方法实施例二的流程图;图3为本发明实施例的应用场景示意图;图4为本发明签名方法实施例三的流程图;图5为本发明签名方法实施例四的流程图6为本发明签名-睑i正方法实施例一的流程图;图7为本发明签名验证方法实施例二的流程图;图8为本发明签名验证方法实施例三的流程图;图9为本发明签名装置实施例的结构示意图;图IO为本发明签名验证装置实施例的结构示意图;图11为本发明签名验证系统实施例的结构示意图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明签名方法实施例一的流程图。该签名方法包括步骤101、在安全邻居发现消息中添加生成签名的算法标识信息;步骤102、发送所述安全邻居发现消息。本发明实施例中的算法标识信息表示生成签名时的算法信息,通过该算法标识信息可判定生成签名的算法。当主机接收到带有生成签名的算法标识信息的安全邻居消息时,可解析得到所述算法标识信息,根据所述算法标识信息确定生成签名的算法,对安全邻居发现消息中的签名进行验证。本发明实施例通过在安全邻居发现消息中加入生成签名的算法标识信息,可有效提高签名验证的准确性和可靠性,满足对多种不同算法签名的验证处理。图2为本发明签名方法实施例二的流程图。该签名方法包括步骤201、在安全邻居发现消息的签名选项中,添加生成签名的算法标识信息。本步骤中,可在签名选项的算法(Algorithm)字段中添加算法标识信息。其中,所述算法标识信息可为一特定的数值,每个数值代表一个特定的签名的生成算法,如1可代表RSA&SHA-1算法,2可代表RSA&MD-5算法,3可代表ECC&SHA-1算法,4可代表ECC&MD-5算法。具体地,可在现有SEND消息的签名选项格式中添加8-bit的算法字段,即Algorithm字段,用来标识邻居发现消息的发送端生成签名的算法。下面对现有SEND协议中定义的签名选项进行说明。现有的SEND协议中定义的签名选项为RSA签名选项,RSA签名选项允许在NDP报文中添加基于/^钥算法的签名,如表2所示,现有的RSA签名报文格式如下表20123一+画■+-+_+—+--+--+-+-+—+—+_+—+—+—+—+—+—+—+-+-+—+_+一+一+画++++-+_Type1!Length|Reserved1-+++扁1111-+++++++-++++-1-+++++-11111KeyHash-+--H-+-+++-+++-+——++++—-+---------+-++-++DigitalSignature-+++-++-++++—————-+---------+-+—+—-++++++—++其中各个字l殳含义如下Type:12;Length:RSA签名选项的总长度为8个字节;Reserved:是一个16位的区域,;故留作后用,此值发送端在发送时,必须设为0,接收端则应该忽略此值;KeyHash:128位的区域,包含着最重要的128位的SHA-1哈希值,它的作用是产生签名所需的公钥,是将具体的签名和接收端知道的某一特定的公钥相关联起来,这个公钥或者放置在接收端证书的高速緩冲区中,或者存放在同一报文的CGA选项中;DigitalSignature:可变长度的区域包含着PKCS#1vl.5签名,这个签名值是由RSASSA-PKCS1-vl_5算法和SHA-1哈希值,按照参考文献13中所定义的方法计算出来的,DigitalSignature紧跟在KeyHash域之后,DigitalPadding:这段的长度是可变的,其长度依赖于签名之后剩余的长度。而本发明实施例在现有的签名选项中,增加了一个Algorithm字,殳,存放算法标识信息,如表3所示表32012389012345STypeIjengthIAlgorithmKeyHashReservedDigitalSigrmturePadding该Algorithm字段可以为8-bit,用来标识安全邻居发现消息的发送端是使用何种算法生成签名的,同时,将Reserved字段由原来的16-bit改为8-bit,Reserved字段和其他字段的功能不变。步骤202、将添加了生成签名的算法标识信息的安全邻居发现消息发送出去。这样,当接收端接收到该安全邻居发现消息时,即可从该安全邻居发现消息的签名选项中,获得所述算法标识信息,根据所述算法标识信息的数值,确定生成签名的算法,对签名进行-睑-〖正。例如,得到的算法标识信息数值为1时,则表示生成签名的算法是RSA&SHA-1算法,因此,可根据RSA&SHA-1算法对签名进行验证,具体验证过程与现有技术中签名的验证方法相同或类似,在此不再赘述。可以看出,本发明实施例在生成签名时可采用多种加密算法和多种哈希算法,且在生成签名时,在签名选项中添加代表生成签名的算法的算法标识信息,以便接收端接收到该签名时,获得所述算法标识信息,对签名进行-睑证。图3为本发明实施例的应用场景示意图。现有的SEND协议可使用在主机11和12,与路由器10之间的数据包交互,如主机11与路由器10之间;或者在主机和主机之间的数据包交互,如主机11与主机12之间。本实施例也可应用于路由器和主机,或者主机与主机之间发送安全邻居发现消息中,在安全邻居发现消息中添加新的签名选项时,发送端不但要将生成的签名填充到DigitalSignature字段中,同时还要将代表生成签名的算法标识信息填充到Algorithm字段中,如果利用RSA&SHA-1算法进行力口密,则将Algorithm赋值为1。这样接收端即可根据从签名选项中获得的算法标识信息对签名进行验证。实际应用中,邻居发现服务可通过如下5种ICMPv6报文类型来执行1、路由器宣告,要求路由器周期性地发送多点传送路由器宣告消息,宣告其可用性及其可到达的在线节点、用于配置的链^各和Internet参数。这些宣告包含对所使用的网络地址前缀、建议的路程段极限值及本地的MTU的指示,也包括指明节点应使用的自动配置类型的标志。2、路由器请求,主机可以请求本地路由器立即发送其路由器宣告。路由器必须周期性地发送这些宣告,但是在收到路由器请求报文时,不必等到下一个预定传送时间到达,而是应立即发送宣告信息。3、邻居宣告,节点在收到邻居请求报文时或者链路层地址改变时,发出邻居宣告报文。4、邻居请求,节点发送邻居请求来请求邻居的链路层地址,以验证它先前所获得并保存在告诉緩存中的邻居链路层地址的可达性,或者验证它自己的地址在本地链路上是唯一的。5、重定向。路由器发送重定向报文以通知主机,对于特定的目的地自己不是最佳的路由器。因此,本发明实施例中所述的安全邻居发现消息,可以为路由请求消息、路由宣告消息、邻居请求消息、邻居宣告消息或者重定向消息等,其可具有上述相同或类似的签名方法。本发明实施例签名方法中,通过在签名选项中添加Algorithm字段,并在Algorithm字段中加入算法标识信息,保证了签名验证的顺利处理,提高了签名验证的准确性和可靠性,保证了CGA机制在SEND协议中的正常使用,可满足多种生成签名算法的验证。上述实施例是在签名选项中添加算法标识信息,实际应用中也可在其它选项中添加算法标识信息,如在安全邻居发现消息的加密生成地址选项中添加生成签名的算法标识信息。下面对现有技术中的加密生成地址选项进行说明。具体地,SEND协议中定义了CGA选项,对发送端的CGA协议进行验证。如表4所示,CGA选项的报文格式如下<formula>formulaseeoriginaldocumentpage12</formula>其中,各字段的具体含义如下Type:11;Length:总长度为8个字节;PadLength:此区域CGA参数域结束开始,一直到报文结束,发送端在发送报文时必须将此部分内容置为0,接收端应该忽略此部分内容;Reserved:预留8位,发送端必须将此值设为0,接收端也必须忽略此值;CGAParameters:如果CGA选项和RSA签名选项同时出现的话,那么CGA参数中的公钥必须和RSA签名选项中的使用的公钥相同;对于收到两种不同公钥的包必须丢弃;Padding:可变长度区域,作用在于将报文的总长度变成8的整倍数,具体长度值由PadLength域定。如表5所示,每一个上述CGA报文的CGA参数数据(CGAParameters)结构格式如下表5012301234567890123456789012345678901+++++++++++++++++++++++++++111Modifier(16octets)-——+++++++++++++++++++++-+++++--+-SubnetPrefix(8octets)+++++++-++++++++++++++++—++++-CollisionCount1+++++-+++PublicKey(variablelength)++-+-+-+—++++++++++++++—+++—+——-+--+--+-ExtensionFields(optional,variablelength)+++++++_++++++++++++++++—++++其中,各字段的具体含义如下Modifier:是一个128bits的无符号整数,可以是任何值,用于在CGA生成的时候执行哈希的扩展和通过给地址增加随^/L性来增强私密性;SubnetPrefix:CGA64bits的子网前缀;CollisionCount:—个8bit的无符号整凄t,取值只能为0,1,2;在CGA生成过程中,相同地址检测检测出沖突的时候,为了解决这个沖突,冲突计数会增加;PublicKey:长度可变,包含地址拥有者的7>钥;SEND协i义应该^f吏用RSA公/密钥对,使用RSA时,对应的验i正预算必须是rsaEncryption,1.2.840.113549.1.1.1,RSA/^钥必须^吏用在RFC3279中说明的RSAPublicKey类型;RSA密钥长度至少为384bits,其它的公钥类型在实施时可能导致不相容所以不适合在SEND中使用,//H月的长度由ASN.1encoding决定;ExtensionFields:这是一个可选的长度可变的区域,在当前的头见范中没有使用。在未来的版本中可能会用到这一区域作为CGA参数数据结构的扩展数据条目。IETF标准要求说明扩展区域的使用。实施的时候必须忽略任何未被使用的扩展区域。如表6所示,在RFC4581标准中定义的上述ExtensionFields的才各式如下表6<table>tableseeoriginaldocumentpage14</column></row><table>其中,各字段的功能如下ExtensionType:扩展字,殳类型的标识,为16—bit;ExtensionDataLength:16-bit无符号整凄t,表示此扩展选项的长度,单位为字节;ExtensionData:扩展选项具体内容。图4为本发明签名方法实施例三的流程图。该签名方法包括步骤301、在安全邻居发现消息的加密生成地址选项的算法扩展选项中,添加生成签名的算法标识信息。本步骤中,可在加密生成地址选项的算法扩展选项的Algorithm字段中添加算法标识信息。具体地,本发明实施例中可在加密生成地址选项的ExtensionFields中添加一个新类型的算法扩展选项,如表7所示的算法(Algorithm)扩展选项。表7B901234567890123456TypeILengthAlgorithm其中,各字段功能如下Type:类型号;Length:此扩展选项的长度;Algorithm:生成签名所使用的算法,其值的定义和含义可与上述实施例二中的相同,可以是多种加密算法和多种哈希算法的组合,在此不再赘述。步骤302、将加密生成地址选项的算法扩展选项中添加有生成签名的算法标识信息的安全邻居发现消息发送出去。这样,接收端可从接收到的安全邻居发现消息的加密生成地址选项中获得生成签名的算法标识信息,根据该算法标识信息对签名进行验证。具体地,可从加密生成地址选项的算法扩展选项的Algorithm字段中,提取对应于生成签名的算法的算法标识信息,例如,Algorithm字段值为1时,表示发送端使用RSA&SHA-1算法生成签名,或者Algorithm字段值为4时,表示发送端使用ECC&MD-5算法生成签名,根据该算法标识信息对应的算法即可对签名进行验证。本发明实施例可应用于路由器和主机之间,或者主机与主机之间发送安全邻居发现消息中,将使用生成签名的算法标识信息填充到算法扩展选项的Algorithm字段中,然后将此算法扩展选项加入到CGA参数选项的ExtensionFields字段结构中,使其随着数据包传递到接收端,接收端读取到CGA参数选项的ExtensionFields字l爻结构时,从携带的新的算法扩展选项中的Algorithm字段获得其算法标识信息,得出安全邻居发现消息中签名的生成算法,根据该算法对签名进行验证。本发明实施例中所述的安全邻居发现消息,可以为路由请求消息、路由宣告消息、邻居请求消息、邻居宣告消息或者重定向消息等,其可具有上述相同或类似的签名方法。本发明实施例签名方法,通过在安全邻居发现消息中加密生成地址选项中添加带有Algorithm字段的算法扩展选项,并在所述Algorithm字段中添加算法标识信息,保证了签名验证的顺利处理,提高了签名验证的准确性和可靠性,保证了CGA机制在SEND协议中的正常使用,可满足对多种算法签名的验证处理。图5为本发明签名方法实施例四的流程图。该签名方法包括步骤401、在安全邻居发现消息的加密生成地址的加密算法扩展选项中加入加密算法标识信息,在加密生成地址的哈希算法扩展选项中加入哈希算法标识信息。本步骤中,可在加密生成地址选项的ExtensionFields中添加两个算法扩展选项,一个算法扩展选项是加密算法扩展选项,另一个是哈希算法扩展选项。如表8所示的加密算法(EncryptionAlgorithm)扩展选项表8一+—十一+画-+■-+-■+—--十一+—+—+—+—+—+—+-——+—+—+—+画画+—+—+—+—-十一十-画十扁Type1Length+++-,卜-++--++++++++-+_+—+—+—+扁-++++--++--+-_+_+_-+EncryptionAlgorithm+++-—++++++++_++++■++++-'111,1其中,各字段功能如下Type:类型号;Length:此扩展字l殳的长度;EncryptionAlgorithm:生成签名所使用的加密算法,可以定义如下:加密算法RSA标识为1,加密算法ECC标识为2;如表9所示的哈希算法(HashAlgorithm)扩展选项表901230123456789012345676S012345678901一+--+--+■+■+-■+■-+■_+-+—+■-+■陽+一+一+画-+-画+—+—+—+—+画-+————--+—+—+画画+—+—+—'Type11111-11-+—+—+-1-+++-卜-+++++--+++++--+++-■+++.HsshAlgorithm1-+++■i■+++■-+++++■■+++++--+++-匿+++其中,各字段功能如下Type:类型号;Length:此扩展字段的长度;HashAlgorithm:生成签名所使用的^合希算法,可以定义如下。合希算法SHA-1标识为1,哈希算法MD-5标识为2。16这样,可在加密算法扩展选项的EncryptionAlgorithm字段中,添力口力口密算法标识信息,在哈希算法扩展选项的HashAlgorithm字段中,添加哈希算法标识信息。步骤402、将添加了生成签名的算法标识信息的安全邻居发现消息发送出去。这样,接收端在接收到安全邻居发现消息后,即可对安全邻居发现消息的加密生成地址选项中的加密算法扩展选项的EncryptionAlgorithm字段中,获得加密算法标识信息,从哈希算法扩展选项的HashAlgorithm字段中,获得哈希算法标识信息,根据获得的加密算法标识信息和哈希算法标识信息对获签名进行验证。例如,从加密算法扩展选项的EncryptionAlgorithm字段中获得的值为1时,表示生成签名时用到的加密算法为RSA算法,从哈希算法扩展选项的HashAlgorithm字段中获得的值为1时,表示生成签名时用到的哈希算法为SHA-1算法,即发送端在生成签名时的算法是RSA&SHA-1算法,因此,接收端可根据该算法对签名进行验证。本发明实施例中,路由器和主机之间,或者主机与主机之间发送安全邻居发现消息时,可将要使用生成签名的加密算法标识信息填充到加密算法扩展选项的EncryptionAlgorithm字段中,同时把要使用生成签名的哈希算法标识信息填充到哈希算法扩展选项的HashAlgorithm字段中,并将加密算法扩展选项与哈希算法扩展选项加入到CGA参数选项的ExtensionFields字段结构中,使其随着安全邻居消息数据包传递到接收端主机。接收端主机接收到安全邻居发现消息,对数据包进行相应的处理,从携带的新的加密算法扩展选项中的EncryptionAlgorithm字段获得加密算法标识信息,获得与所述加密算法标识信息对应的加密算法,同时从携带的新的哈希算法扩展选项中的HashAlgorithm字段获得哈希算法标识信息,获得与所述哈希算法标识信息对应的哈希算法,利用所获得的加密算法和哈希算法对签名进行验证。本发明实施例签名方法,通过在加密生成地址选项中的加密算法扩展选项和哈希算法扩展选项中分别添加加密算法标识信息和哈希算法标识信息,可有效实现签名的验证,保证了签名的顺利处理,提高了签名验证的准确性和可靠性,保证CGA机制在SEND协议中的正常使用,可满足对多种算法签名的-验i正处理。图6为本发明签名验证方法实施例一的流程图。该验证方法包括步骤501、从接收到的安全邻居发现消息中,提取生成签名的算法标识信自步骤502、利用所述算法标识信息对应的算法对所述签名进行一险证。并从中提取生成签名的算法标识信息,根据该算法标识信息对应的生成签名的算法,对签名进行验证。本发明实施例通过从安全邻居发现消息中获取生成签名的算法标识信息,对签名进行验证,可有效提高签名验证的准确性和可靠性,满足各种不同签名算法的验证。图7为本发明签名验证方法实施例二的流程图。该验证方法包括步骤601、从接收到的安全邻居发现信息的签名选项中,提取生成签名的算法标识信息。具体地,本发明实施例中可从接收到安全邻居发现消息的签名选项的Algorithm字段中,提取算法标识信息,其中,该Algorithm字段中的数值即代表所述算法标识信息,Algorithm字段的具体位置,以及Algorithm字段中的数值的具体定义可参考上述本发明签名方法实施例二中的说明,在此不再赘述。步骤602、利用得到的算法标识信息对应的算法对述签名进行验证。根据从签名选项的Algorithm字^殳中获得的值,即可确定发送端生成签名时的算法,如Algorithm字段值为1时,表明生成签名的算法是RSA&SHA-1算法,因此,利用该RSA&SHA-1算法即可对签名进行—验证。其具体验证过程与现有技术中签名的验证方法相同或类似,在此不再赘述。图8为本发明签名l全证方法实施例三的流程图。该一验证方法包括步骤701、从接收到的安全邻居发现信息的加密生成地址选项中,提取生成签名的算法标识信息。本发明实施例接收到的安全邻居发现消息的加密地址选项中携带有生成签名的算法标识信息,具体地,该算法标识信息可添加在加密地址选项的算法扩展选项的Alogrithm字段中,其中,该Algorithm字段中的数值即代表所述算法标识信息,所述的算法扩展选项以及Algorithm字段的位置,以及Algorithm字段中的数值的具体定义可参考上述本发明签名方法实施例三中的说明,在此不再赘述。步骤702、利用得到的算法标识信息对应的算法对所述签名进行验证。根据从加密生成地址的算法扩展选项中的Algorithm字段中获得的数值值,即可确定发送端在生成签名时的算法,如Algorithm字段值为1时,表明生成签名的算法是RSA&SHA-1算法,因此,利用该RSA&SHA-1算法即可对签名进行验证。其具体验证过程与现有技术中签名验证方法相同或类似,在此不再赘述。此外,本发明实施例步骤701中,也可从加密生成地址的加密算法扩展选项和哈希算法扩展选项中获得算法标识信息,即从加密算法扩展选项的EncryptionAlgorithm字段中获得加密算法标识信息,从哈希算法扩展选项的HashAlgorithm字^殳中,获得哈希算法标识信息,相应地,在步骤702中,可根据获得的加密算法标识信息和哈希算法标识信息对获签名进行验证。例如,从加密算法扩展选项的EncryptionAlgorithm字段中获得的值为1时,表示生成签名时用到的加密算法为RSA算法,从哈希算法扩展选项的HashAlgorithm字段中获得的值为1时,表示生成签名时用到的哈希算法为SHA-1算法,即发送端在生成签名时的算法是RSA&SHA-1算法,因此,可利用该RSA&SHA-1算法对签名进行验证。其中,加密算法扩展选项和哈希算法19扩展选项以及EncryptionAlgorithm字,殳、HashAlgorithm字H的位置,和EncryptionAlgorithm字段、HashAlgorithm字段数值对应的算法,可参考上述本发明签名方法实施例四中的说明,在此不再赘述。本发明实施例验证方法,可从安全邻居发现消息中加密生成地址选项中获取生成签名的算法标识信息,根据获得的算法标识信息对接收到的签名进行验证,有效保证了对签名验证的顺利处理,提高了签名验证的准确性和可靠性,保证了CGA机制在SEND协议中的正常使用,可实现对多种签名的验证处理。图9为本发明签名装置实施例的结构示意图。该签名装置包括添加模块11和发送模块12,其中,添加才莫块11,用于在安全邻居发现消息中添加生成签名的算法标识信息;发送模块12,用于发送所述安全邻居发现消息。本发明实施例中,添加模块11可在安全邻居发现消息中添加生成签名的算法标识信息,并将其通过发送模块12发送出去。使得接收端可根据接收到安全邻居信息中的算法标识信息对签名进行验证,提高签名验证的准确性和可靠性。具体地,本发明实施例中的添加模块11可用于在所述安全邻居发现消息的签名选项中,添加生成签名的所述算法标识信息,其具体实现过程可参考上述本发明签名方法实施例二中的说明,在此不再赘述。或者,本发明实施例中的添加模块11也可用于在所述安全邻居发现消息的加密生成地址选项中,添加生成签名的所述算法标识信息,其具体实现过程可参考上述本发明签名方法实施例三或实施例四中的说明,在此不再赘述。本发明实施例通过在安全邻居发现消息中加入生成签名的算法标识信息,可有效提高签名验证的准确性和可靠性,满足对多种不同算法签名的验证处理。图10为本发明签名验证装置实施例的结构示意图。该签名—验证装置包括20提取模块21和验证模块22,其中,提取模块21,用于从接收到的安全邻居发现消息中,提耳又生成签名的算法标识信息;验证模块22,用于利用该算法标识信息对应的生成算法对所述签名进行验证。本发明实施例中,提取模块21可从接收到的安全邻居发现消息中获得生成签名的算法标识信息,并将其发送给验证模块22,由验证模块22根据该算法标识信息对应的算法对签名进行验证,提高签名验证的准确性和可靠性。具体地,本发明实施例中的提取模块21可用于从接收到的所述安全邻居发现信息的签名选项中,提取生成签名的算法标识信息,其具体地实现过程可参考上述本发明签名验证方法实施例二中的说明,在此不再赘述。或者,本发明实施例中的提耳^漠块21也可用于从接收到的安全邻居发现信息的加密生成地址选项中,提取生成签名的算法标识信息,其具体实现过程可参考上述本发明签名验证方法实施例三中的说明,在此不再赘述。本发明实施例通过从接收到的安全邻居消息中获取生成签名的算法标识信息,对签名进行验证,可有效提高签名验证的准确性和可靠性,满足对多种非不同算法签名的验证处理。图11为本发明签名验证系统实施例的结构示意图。该签名验证系统包括签名装置1和签名验证装置2,其中,签名装置1,用于在安全邻居发现消息中添加生成签名的算法标识信息,并发送;签名验证装置2,用于从接收到的安全邻居发现消息中,提取生成签名的所述算法标识信息,并利用所述算法标识信息对应的算法对所述签名进行验证。本发明签名装置1可在生成签名时在安全邻居发现消息中添加生成签名的算法标识信息,使得签名验证装置2可根据该算法标识信息对签名进行验证,有效保证了签名^r证的准确性和可靠性,可满足对多种签名-验证的处理。其中,本发明实施例中所述的签名装置1可具有与上述本发明签名装置实施例相同的结构和功能,签名验证装置2可具有与上述本发明签名验证装置实施例相同的结构和功能,在此不再赘述。本发明实施例通过在安全邻居消息中添加生成签名的算法标识信息,在进行签名验证时可根据该算法标识信息对签名进行验证,可有效提高签名验证的准确性和可靠性,满足对多种非不同算法签名的一险i正处理。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在4丸行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为》兹碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或卩逸才几存4诸i己十乙体(RandomAccessMemory,RAM)等。最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的^"神和范围。2权利要求1、一种签名方法,其特征在于,包括在安全邻居发现消息中添加生成签名的算法标识信息;发送所述安全邻居发现消息。2、根据权利要求l所述的签名方法,其特征在于,所述在安全邻居发现消息中添加生成签名的算法标识信息包括在安全邻居发现消息的签名选项中,添加生成签名的所述算法标识信息。3、根据权利要求2所述的签名方法,其特征在于,所述添加生成签名的所述算法标识信息包括在所述签名选项的算法字段中添加所述算法标识信息。4、根据权利要求l所述的签名方法,其特征在于,所述在安全邻居发现消息中添加生成签名的算法标识信息包括在安全邻居发现消息的加密生成地址选项中,添加生成签名的所述算法标识信息。5、根据权利要求4所述的签名方法,其特征在于,所述添加生成签名的所述算法标识信息包括在所述加密生成地址选项的算法扩展选项中,添加所述算法标识信息。6、根据权利要求5所述的签名方法,其特征在于,所述添加所述算法标识信息包括在所述算法扩展选项的算法字段中添加所述算法标识信息。7、根据权利要求4所述的签名方法,其特征在于,所述算法标识信息包括加密算法标识信息和哈希算法标识信息,所述添加生成签名的算法标识信息包括在所述加密生成地址选项的加密算法扩展选项中添加所述加密算法标识信息,在所述加密生成地址选项的哈希算法扩展选项中添加所述哈希算法标8、一种签名装置,其特征在于,包括添加模块,用于在安全邻居发现消息中添加生成签名的算法标识信息;发送模块,用于发送所述安全邻居发现消息。9、根据权利要求8所述的签名装置,其特征在于,所述添加^t块用于在所述安全邻居发现消息的签名选项中,添加生成签名的所述算法标识信息;或者,所述添加模块,用于在所述安全邻居发现消息的加密生成地址选项中,添加生成签名的所述算法标识信息。10、一种签名验证方法,其特征在于,包括从接收到的安全邻居发现消息中,提取生成签名的算法标识信息;利用所述算法标识信息对应的算法对所述签名进行验证。11、一种签名验证装置,其特征在于,包括提取模块,用于从接收到的安全邻居发现消息中,提取生成签名的算法标识信息;验证模块,用于利用所述算法标识信息对应的算法对所述签名进行验证。12、一种签名验证系统,其特征在于,包括签名装置,用于在安全邻居发现消息中添加生成签名的算法标识信息,并发送;签名验证装置,用于从接收到的安全邻居发现消息中,提取生成签名的所述算法标识信息,并利用所述算法标识信息对应的算法对所述签名进行验证。全文摘要本发明实施例提供了一种签名方法、装置以及签名验证方法、装置和系统。所述签名方法包括在安全邻居发现消息中添加生成签名的算法标识信息;发送所述安全邻居发现消息。所述签名验证方法包括从接收到的安全邻居发现消息中,提取生成签名的算法标识信息;利用所述算法标识信息对应的生成算法对所述签名进行验证。所述签名验证系统包括签名装置和签名验证装置。本发明实施例可有效保证签名验证的准确性和可靠性,满足对多种不同算法签名的验证处理。文档编号H04L9/32GK101616005SQ20091008990公开日2009年12月30日申请日期2009年7月27日优先权日2009年7月27日发明者东张申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1