基于身份的认证方法、保密通信方法、设备和系统的制作方法

文档序号:7695627阅读:238来源:国知局
专利名称:基于身份的认证方法、保密通信方法、设备和系统的制作方法
技术领域
本发明涉及网络通信技术领域,特别涉及一种基于身份的认证方法、保密通信方法、设 备和系统。
背景技术
应用层协议——SIP (Session Initiation Protocol,会话起始协议)是IP网络中的呼叫控 制协议。它的基本功能是创建、修改和终结会话,并且支持用户的移动性。SIP与其它协议 相结合,可以提供互联网上的音频、视频和即时消息等多媒体通信服务。目前SIP已经被广 泛用于消息业务及第三代通信网络核心网信令系统等重要的通信机制中。
应用SIP协议建立会话之前,要求用户具有合法性,即需要对用户进行认证。目前有几 种SIP安全技术,其中S/MIME (Secure/Multipurpose Internet Mail Extensions,安全多功能互 联网邮件扩展)协议基于数字证书提供了端到端的认证、签名和加密功能。但数字证书的提 供和使用比较复杂, 一直制约着S/MIME的使用。近些年成熟的基于身份的密码机制也开始 被应用在SIP的安全保护上。基于用户身份的密码机制(IBC, Identity-Based Cryptograph) 是一种非对称密钥机制,它使用用户的身份标识(ID)作为公钥,通过一定的数学算法衍生 出私钥。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题
现有的基于身份的密码机制实现SIP认证的过程安全性不好,用户信息的安全很难保证。

发明内容
为了提高通信的安全性,本发明实施例提供了一种基于身份的认证方法、保密通信方法、
设备和系统。所述技术方案如下
一种基于身份的认证方法,所述方法包括
接收方接收消息,所述消息携带对所述消息中指定字段的签名,所述签名使用的私钥是 根据发送方的公钥标识和第一公钥附加参数生成的,所述发送方的公钥包括发送方的标识和 第一公钥附加参数;所述接收方使用所述发送方的公钥对所述签名进行验证。 一种保密通信方法,所述方法包括
发送方使用接收方的公钥对消息中的待加密内容进行加密,所述接收方的公钥包括所述 接收方的标识和公钥附加参数;
发送方将加密后的内容发送给所述接收方。 一种接收方设备,所述接收方设备包括-
接收模块,用于接收消息,所述消息携带有对所述消息中指定字段的签名,所述签名使 用的私钥是根据发送方的公钥生成的,所述发送方的公钥包括所述发送方标识和第一公钥附 加参数;
认证模块,用于获取所述发送方的公钥,,使用所述发送方的公钥对所述签名进行验证。 一种发送方设备,所述发送方设备包括 消息生成模块,用于生成待发送的消息;
签名模块,用于获取发送方的公钥对应的私钥,使用所述私钥对所述待发送的消息中的 指定字段进行签名,其中,所述发送方的公钥包括所述发送方的标识和第一公钥附加参数; 发送模块,用于发送所述消息,所述消息携带所述签名模块对指定字段的签名。 一种基于身份的认证系统,所述系统包括发送方设备、发送方相关设备、接收方相关 设备和接收方设备;
所述发送方设备,用于向发送方相关设备获取发送方的公钥对应的私钥,所述发送方的 公钥包括所述发送方的标识和第一公钥附加参数;并使用所获取的私钥对消息中的指定字段 进行签名,向所述发送方相关设备发送携带所述指定字段签名的消息;
所述发送方相关设备向所述接收方相关设备发送所述签名的消息;
所述接收方相关设备向所述接收方设备发送所述签名的消息;
所述接收方设备,用于接收所述签名的消息,获取所述发送方的公钥,使用所述发送方 的公钥对所述签名进行验证。
本发明实施例提供的技术方案的有益效果是-
通过以用户的标识和公钥附加参数作为该用户的公钥,使用该公钥对应的私钥进行签名, 用以接收方认证,实现了消息的安全认证和完整性保护,即使签名者的私钥被泄漏需要重新 申请新的私钥时,也不必更换其标识,进而保证了正常的业务使用和用户体验;
同时,使用接收方的公钥(即接收方的标识和公钥附加参数)对消息中待加密的内容进 行加密,能够增强通信的安全性,即可以当接收方的私钥被泄漏需要重新申请新的私钥时,不必更换接收方的标识,进而保证了正常的业务使用和用户体验。


图1是本发明实施例一提供的基于身份的认证方法的消息交互图2是本发明实施例二提供的基于身份的认证方法的消息交互图3是本发明实施例三提供的保密通信方法的消息交互图4是本发明实施例三提供的普通模式的消息示意图5是本发明实施例三提供的隧道模式的消息示意图6是本发明实施例四提供的接收方设备的结构示意图7是本发明实施例五提供的发送方设备的结构示意图8是本发明实施例六提供的基于身份的认证系统结构示意图。
具体实施例方式
实施例一
本发明实施例提供了一种基于身份的认证方法,该方法以发送方Alice向接收方Bob发 送SIP请求消息为例,Alice和Bob的ID分别是Alice@proxyA. com和Bob@proxyB. com,该 ID即各自的公钥Kp,并且Alice和Bob已经分别向各自的私钥生成中心(Private Key Generator, PKG)申请生成了私钥Ks,参见图1,基于身份的密码机制实现SIP认证方案的认 证过程包括
101: Alice向Bob发送SIP请求消息,为?让Bob对自己做认证,Alice使用私钥Ks对 请求消息中表示Alice身份的字段和其他附加字段进行签名,这些字段至少包括From、 To和 Date;将签名放在Identity字段中,并将所用的签名算法Hess放在Identity-info字段中;
102: Alice的代理服务器ProxyA收到SIP请求消息后,将该SIP请求消息转给Bob的代 理服务器ProxyB;
103: Bob的代理服务器ProxyB收到SIP请求消息后,将该SIP请求消息转给Bob; 104: Bob收到SIP请求消息后,用From中的AoR,即Alice的ID对Identity字段的签 名进行认证;
105: Bob验证完成后,向Alice发送响应消息,该响应消息携带对Alice的认证结果;106: Bob的代理服务器ProxyB收到Bob发送的响应消息后,转发给Alice的代理服务 器ProxyA;
107: Alice的代理服务器ProxyA收到响应消息后,转发给Alice; 108: Alice收到响应消息后,根据响应消息中的认证结果确认是否通过认证。 该方案用用户ID作为公钥,如果对应的私钥泄漏,用户可以更换其公钥,去私钥生成中 心申请新的私钥,进而保障签名的安全性。
实施例二
本发明实施例提供了 一种基于身份的认证方法,该方法包括
接收方接收消息,该消息携带对该消息中指定字段的签名,其中,签名使用的私钥是根 据发送方的标识和公钥附加参数生成的;
接收方使用发送方的标识和公钥附加参数对签名进行验证。
本发明实施例中的发送方的公钥可以由发送方自己选择,该公钥可以由发送方的标识和 公钥附加参数组成。当消息为SIP消息时,发送方的标识可以为SIP消息中的From字段中的 AoR (Address of Record,地址记录)值,该值是由注册时确定的,在消息传递过程中是固定 不变的,公钥附加参数可以为SIP请求消息中的Date值或会话标识的值,因为这两个值在每 次SIP请求消息或SIP会话消息中都不同,当然该公钥附加参数也可以是其他的参数,只要 在不同的会话中不是固定不变的参数就可以。
SIP消息的会话标识的值包括Call-ID字段的值、From字段和To字段中的tag属性的值, 三个值用于唯一标识一个会话。当SIP会话是一对一时,可以只用Call-ID字段的值作为公钥 附加参数;当SIP会话是群组会话时,因为群组中任何两个实体之间消息的Call-ID字段的值 都相同,可以用Call-ID字段的值加上From字段中的tag和To字段中的tag属性值来区分群 组中的不同的实体对,即此时的公钥附加参数可以为Call-ID字段的值加上From字段中的tag 和To字段中的tag属性值。
发送方在进行签名之前,可以向PKG—A获取公钥对应的私钥,PKG—A表示发送方所在 域的PKG, PKG—A将根据系统参数和该发送方的公钥生成私钥,并将私钥发送给发送方, 发送方收到私钥后,使用私钥对消息进行签名后发送给接收方,接收方获取发送方的公钥, 并使用发送方的公钥对该签名进行认证,并将认证结果以响应消息的形式返回给发送方;发 送方收到响应消息后,根据认证结果确认是否通过认证。
其中,系统参数为PKG预先定义的,本发明实施例的系统参数定义过程包括PKG先定义双线性对g: G Gi—G2,其中&为素数阶《加法循环群,尸是Gi的生成元,
为G2为同样阶的乘法循环群;
PKG—A随机地取wZq、作为PKG—A的主密钥(masterkey),并公开尸一 =^尸,Pi6a/la = "i^6,然后定义一个用于将用户身份ID映射到椭圆曲线上阶为9的点的函数,即Map-to-Point (MtP)杂凑函数H1: {0,l}n—G/,再定义杂凑函数H2: G2—{0,l}n,杂凑函数H3: {0,l}nxG24Z(;; PKG—A秘密保存主密钥s,并公开基于身份的签名机制的相关公开参数(下 文简称id-based-parameters),将这些参数保存在PPS—A (Public Parameter Server,公开参数
服务器)上,这些参数为〈GhG2,g,户,尸一,i^血,Hi,H2,H3〉。
同理,接收方所在域的PKG—B (PKG_B表示接收方所在域的PKG,下同)也拥有主密 钥V,且其所在域的PPS—B上保存有id-based-parameters' = <G、, G'2, g', P', P'戸6,H'b H'2,
H'3>。
本发明实施例对上述PKG和PPS两个逻辑实体的实际设置位置不做规定,可同时置于 一个单独的服务器,称为TA (TrustedAthority',权威)服务器中,也可以分别两个独立的设 备中,还可以设置到注册服务器或代理服务器中等。
PKG和PPS的部署可采用层次式或分布式进行部署,在层次式部署方案中,多个域共享 一个PKG和PPS;在分布式部署方案中,每一个域均包含一个PKG和PPS;本发明实施例 以分布部署方案为例。
同时,本发明实施例还可以在用户代理中增加ID-Based安全服务实体和ID-Based安全 响应实体,其功能描述如下
ID-Based安全服务实体提供安全服务发起功能,主要包括选择符合本发明实施例的参 数作为公钥并与PKG交互生成私钥;获取信息接收方的UA (User Agent,用户代理)所在 域的域公开参数,向接收方的UA提供用于证明发送方的UA身份的认证信息,该认证信息 采用基于身份的签名算法;以及使用接收方的UA的公钥对需要加密的内容(SIP消息的某些 消息头字段和SIP消息体)进行加密;
ID-Based安全响应实体提供安全服务响应功能,主要包括获取信息发送方的UA所 在域的域公开参数,使用信息发送方的UA的公钥验证发送方的UA提供的认证信息;使用 发送方选择的接收方公钥与PKG交互生成接收方私钥,并对发送方的UA发送的加密内容进 行解密。
ID-Based安全服务实体和ID-Based安全响应实体可以包含于代理服务器或UA中,如果 两个实体包含于代理服务器中,在实现域间会话时,消息发送方所在域的代理服务器和消息接收方所在域的代理服务器之间采用基于身份的SIP协议安全认证机制,即在域间代理服务 器间可以实现认证和加密通信,而在域内,消息发送方与代理服务器可以采用HTTP摘要等 认证形式,但这种方式实施起来较为复杂。如果这两个实体包含于UA中,则可以实现SIP 协议端对端的安全认证、加密通信和密钥协商,实施起来简单高效,本发明实施例优选将这 两个实体设置于UA中。
如果将ID-Based安全服务实体和ID-Based安全响应实体包含于所在域的代理服务器中, 则要求代理服务器具备上述两实体所定义的功能,而现有的UA不需要支持任何新的功能。 如果上述两实体包含于UA中,则可以实现端到端的安全通信,代理服务器不必支持任何新 的功能,但UA需要支持上述两实体定义的功能,即,UA需要支持的功能有私钥与公开参 数的获取机制、基于身份的加解密算法、基于身份的签名和验证算法。
为了更好地将签名和加密值发送给对方用户,本发明实施例对现有的SIP消息新增加了 两个扩展头字段ID-Based-Crypt头字段、ID-Based-Info头字段;
其中,ID-Based-Crypt头字段用于ID-Based安全服务实体采用基于身份的数字签名和加 密算法对消息的某些消息头字段及消息体进行^名和/或加密,从而为消息接收方提供认证信 息和消息保密,该头字段用于存放签名和加密值。如果同时包含签名和加密值,可以签名在 前,加密值在后;
ID-Based-Info头字段用于消息发送方的ID-Based安全服务实体向接收方的UA传送发送 方的UA所在域的基于身份的安全机制的相关参数,包括签名和加密算法,公钥信息等。
为了增强通信的安全性,本发明实施例中的发送方发送消息时,可以进一步对消息进行 加密,加密使用的接收方公钥可以采用接收方的标识,也可以包括接收方的标识和公钥附加 参数,当然加密使用的接收方公钥也可以包括接收方的标识,而不包括公钥附加参数;接收 方接收加密后的消息后,获取与接收方公钥对应的私钥,使用所获取的私钥对该加密消息进 行解密。
下面以发送方为Alice,接收方为Bob为例说明基于身份的认证方法,其中,Alice的AoR 为sip:alice@atlanta.example.com,其所在域为atlanta.example.com,其所在域的代理月艮务器 为 ssl.atlanta.example.com; Bob 的 AoR为sip:bob@biloxi.example.com, 其所在域为 biloxi.example.com,其所在域的代理服务器为ss2.biloxi.example.com。参见图2,图2中将 Alice和Bob各自的PKG、 PPS和代理服务器Proxy放在一起进行标识,实际上,这三个逻辑 模块可以位于同一实体内,也可以各自作为独立的实体,或者PKG和PPS 二者位于同一实 体,代理服务器Proxy单独作为另一实体。该认证方法如下201: Alice向本域内的私钥生成中心PKG—A发送私钥请求,申请获取Alice的私钥^ , 该请求携带Alice的公钥;
其中,私钥请求可以为SIP请求,Alice发送私钥请求时,可以通过本地的ID-Based (基 于身份)安全服务实体发送。
Alice的公钥包含Alice的AoR和公钥附加参数,进一步的为了增强安全性,每次私钥请 求的公钥附加参数可以不同,从而当私钥泄漏后,Alice只需要改变公钥附加参数而不必改变 其AoR,就可以生成新的私钥;
同时,Alice还可以向本域内的PPS—A申请获取PPS一A的公开参数id-based-parameters, 用于签名时使用。因为PPS—A的公开参数一般不会改变,Alice可以在第一次获取这些参数 后保存在本地,即可以一次获取多次使用。签名的具体过程可以参考步骤207后l)的相关描 述。
202: PKG—A收到私钥请求后,根据请求中携带的公钥生成Alice私钥^,并将私钥A 返回给Alice;
203: Alice收到私钥A后,发送SIP请求消息给Bob,该请求消息中包含用于认证和/ 或完整性保护的签名,以及签名相关参数;
其中,该签名使用的是Alice的私钥t/力Alice为了使Bob能够认证自己,对SIP请求消 息中用于认证的字段进行签名,这些用于认证的字段可以是From字段中的AoR。同时为了 其他安全目的,如防重放攻击,还可以将Date和Call-ID等字段与From字段中的AoR放在 一起进行签名。
如果需要对其他SIP字段和/或SIP消息体做完整性保护,即防止这些内容在传输过程中 被篡改,可以将需要保护的内容与上述用于认证的字段放在一起进行签名。签名时,多个字 段可以用双竖线连接起来,例如Fieldl||Field2||Field3,也可以采取其它方式连接。
本发明实施例中的签名相关参数用基于身份的密码信息字段表示,基于身份的密码信息 字段可以采用ID-Based-Info头字段进行表示, 签名相关参数包括签名所用的算法、Alice的 公钥和签名的内容;其中签名的内容部分为对哪些字段做了签名的标识信息,标识信息的具 体形式可以采用多种形式实现,例如,把进行签名的字段一一填加在签名的内容部分,或者, 也可以采用对消息中的字段进行分类,把进行签名的字段所属的类别填加在签名的内容部分, 例如,定义类别Auth, AutMnt, AuthIntAll,每个类别含义如下-
Auth:用于认证的签名,认证的字段包含From字段中的AoR、 Date字段、Call-ID字段
等;Authlnt:用于认证和SIP消息头完整性保护,该类别包括的字段是所有不会在消息传递 中改变的SIP头字段;
AuthlntAll:用于认证、SIP消息头和消息体完整性保护,该类别包括的字段是所有不会 在消息传递中改变的SIP头字段和消息体。
204: Alice的代理服务器ProxyA收到SIP请求消息后,将SIP请求消息转发给下一跳代 理服务器ProxyB;
205: Bob的代理服务器ProxyB收到SIP请求消息后,将SIP请求消息转发给Bob;
206: Bob收到SIP请求消息后,对该请求消息中携带的签名进行验证;
如果Bob没有PPS—A的公开参数,Bob的ID-Based安全响应实体将向PPS—A发起请求, 获取PPS—A公开参数,用于在验证消息中的签名时使用。因为PPS—A的公开参数一般不会 改变,所以Bob可以一次获取多次使用。
Bob的ID-Based安全响应实体依据SIP请求消息中携带的签名相关参数,即ID-Based-Info 字段中的信息,对签名进行验证,如果验证成功,就表示认证Alice成功,以及对请求消息 的完整性验证成功。验证签名的具体过程可以参考步骤207后2)的相关描述。
207:签名验证成功后,Bob返回响应消息给Alice。
其中,响应消息也可以采用与SIP请求消息相同的方法进行签名,用以实现Alice对Bob 的认证,以及响应消息的完整性保护,具体方法与SIP请求消息相同,这里不再详述。
本发明实施例的签名和验证过程如下所述。本发明实施例可以采用基于身份的签名算法 进行签名,例如采用Pa-IBS、 He-IBS、 CC-IBS、 Yi-IBS或CZK-IBS算法。本发明实施例以 采用在ISO/IEC 14888-3中定义的He-IBS作为ID-Based安全服务实体的基于身份的签名算 法,该算法的标识为he-ibs。签名算法也可以采用其它算法,每个算法可以对应一个算法标 识。该算法签名与验证的过程描述如下
1) Alice为了对消息mE{0,l}n (m指步骤203中所述的签名的内容)进行签名,Alice 首先获得Alice所在域id-based-parameters,然后随机选择A:eZq、并计算Pg(4尸)、其中 4是Alice的私钥,与公钥(ID加公钥附加参数)相对应;w = H3(w,7); v=(it-w)A。则Alice得 到签名w=<w, v〉eG!xZq、将签名作为ID-Based-Crypt头字段的值,并发送给Bob;
2) Bob收到消息M和签名w = <w, v〉后,计算r= 尸)'g(fi4, /%6)",其中0^H!(IDJ 公钥附加参数),即由Alice的ID加公钥附加参数经哈希函数&计算得到,Alice的ID即其 AoR;然后判断等式w-H3(m,D是否成立,如果成立则Bob接受该签名,即验证成功,否则 拒绝该签名,即验证失败。200810116251.0用到的参数5,P,H3,Pp 6即从PPS—A获得的公开参数。
本发明实施例通过将用户标识和公钥附加参数作为公钥,然后用该公钥对应的私钥对SIP 消息进行签名,实现了 SIP消息的认证和完整性保护;如果仅用用户ID作为公钥,当用户ID 对应的私钥泄漏后,用户需要更换ID,进而需要再去私钥生成中心申请私钥,从而造成用户 的ID可能会经常变化,影响其他业务使用和用户的体验,并且, 一旦用户的私钥泄漏,会造 成所有用该ID加密的信息都会被解密,使用10生成的私钥进行签名的数据都不再具有不可 否认性,具有一定的安全隐患。而采用本发明实施例中的公钥(用户标识和公钥附加参数), 不同的会话消息签名的私钥是不同的,所以即使签名者在其私钥泄漏后,不会导致多次会话 消息的签名失效,并且用户申请新的私钥时,由于有公钥附加参数的存在也不必更换其ID, 进而保证了用户正常的业务使用和用户体验。
实施例三
有些业务对SIP消息的机密性要求较高,可以进一步对消息的内容进行加密。本发明实 施例提供了一种保密通信方法,参见图3,该方法包括 301: Alice向PPS—B发送公开参数请求消.息;
302: PPS—B收到公开参数请求消息后,向Alice返回PPS—B的公开参数; PPS—B的公开参数在对消息进行加密时会用到。如果Alice保存有PPS—B的公开参数, 则不需执行301和302获取其公开参数,即301和302为可选步骤,当然,PPS—B的公开参 数也可以一次获取多次使用,本发明实施例中的公开参数的描述可以参考实施例二,这里不 再详述;
303: Alice向Bob发送加密的SIP消息,对该SIP消息进行加密时可以使用Bob的公钥。
其中,Bob的公钥可以为Bob的AoR加上公钥附加参数,Alice使用Bob的公钥对SIP 消息进行加密,公钥附加参数具有这样的属性,即每个SIP会话都应该不同。在SIP消息中, Call-ID字段用于标识每一个会话,因此本发明实施例可以采用Call-ID字段的值作为公钥附 加参数。 '
本发明实施例加密的SIP消息中携带加密所使用的公钥及相关加密算法,这些信息被写 入ID-Based-Info字段中。具体的加密过程可以参见步骤309之后1)的相关描述。
304—305:加密的SIP消息被转发到Bob;
306: Bob收到SIP消息后,向其归属的PKG—B申请与公钥对应的私钥;Bob根据该SIP消息中的公钥向其归属的PKG—B申请对应的私钥。Bob申请与公钥对应 的私钥时,会从SIP消息中将公钥提取出来,发送给PKG一B。
307: PKG一B收到Bob的申请后,根据Bob的公钥生成对应的私钥,并将该私钥发送给
Bob;
308: Bob获得私钥后,参考ID-Based-Info字段中的加密算法对加密消息进行解密;具 体的解密过程可以参见步骤309之后2)的相关描述; 309:解密后,Bob返回响应消息。
对响应消息,同样可以进行加密,具体过'程不再详述。如果加密,Bob可以使用Alice 的AoR附加本次会话的Call-ID作为加密的公钥。
本发明实施例采用基于身份的加密算法,例如采用BF-BasicIdent、Ly-AIBE、BB-sID-IBE、 BB-SIBE、 Wa-IBE、 GS-HIBE或BBG-HIBE算法。本发明实施例可以釆用BF-Basicldent和 BB-sID-IBE作为基于身份的加密算法,其标识为bf-basicident和bb-sid-ibe。 BF-Basicldent算
法的加密过程描述如下
1) Alice对消息me{0,l}n (m为步骤303中所述的被加密消息)加密时,Alice随机地 取r eZq*,计算密文C = ("f附@H'2(g,/)) = (", F),其中 ,尸'—)e G'2, ^H'"IDb11 公钥附加参数),即由Bob的ID加公钥附加参数经哈希函数&计算得到,Bob的ID即其AoR; 将密文C作为S/MIME消息体发送给Bob;-
2) Bob收到密文(f/, F)后,检査C/是否是G'2中的点,如果不是就拒绝该密文;否则就 用自己的私钥A解密,A与Bob的公钥即Bob的ID加公钥附加参数对应。然后计算
H'2(r(4, = w。加解密的一致性是由下面的等式保证的g'(&,,戶# = g'(〃&,"尸')= 6'("&, r*F) = 6'(A,"尸)=W,即等式成立,则解密成功,否则,解密失败。
上面的加密和解密计算中,用到的参数g',F, H、,H'2,尸',6即从PPS_B获得的公开参数。
在对内容加密时,如果仅用身份ID作为公钥对内容进行加密,当私钥泄漏后,多次SIP 消息都会被解密,从而损失巨大。例如基于SIP的企业通讯中,对于涉及企业机密的会话需 要加密,攻击者可能持续监听该企业的通信并将加密的会话内容存储下来,当通过某些手段 获得了私钥后,即可以对这些加密内容进行解密。所以一次密钥泄漏造成多次会话内容被破 解,因此只用ID作为公钥进行加密不具有前向安全性。通过本发明实施例提供的加密机制, 利用SIP消息的性质,使每次加密/解密用的公私钥对都不同,从而避免一次密钥泄漏导致多 次会话内容被破解,实现了通信的前向安全性,更好地实现了消息的认证、完整性和保密性 保护。当Bob验证签名或解密失败后,会产生失败流程。针对这种情况,本发明实施例还提供 了验证签名或解密失败后的处理方法,该方法包括如果Bob对签名验证失败,或对加密数 据解密失败后,向Alice返回相应的响应码,各个响应码的含义如下
1) 461 ID-Based Authentication Failed:消息接收方的UA中的ID-Based安全响应实体验 证消息发送方身份无效后,返回该响应代码;
2) 462 Fetch ID-Based Parameters Failed:消息接收方的UA中ID-Based安全响应实体根 据ID-Based-Info头字段中的安全URI (Uniform Resource Identifier,通用资源标识)来获取
消息发送方所在域的基于身份的安全机制的参弊,如果获取失败,则返回该响应代码;
3) 463 ID-Based-Crypt Header Invalid:消息接收方的UA中ID-Based安全响应实体使用 消息接收方的UA的身份标识检测到ID-Based-Crypt头字段的签名无效时,返回给消息发送 方的UA;
上述方法中的签名和加密值在SIP消息中的位置可以有多种形式,例如签名和加密值 可以放在SIP消息头中,也可以放在SIP消息体中。具体位置可以根据具体情况确定,如果 只需要实现认证,或者只需要保护消息头的完整性,则用于认证的签名可以放在消息头中, 也可以放在消息体中。如果需要保证消息体的完整性和/或机密性,则签名和加密值可以放在 消息体中。签名和加密值的具体位置可以参见图4提供的普通模式和参见图5提供的隧道模 式,其中,图4将签名放在了消息头中,将加密值放在了消息体中;图5将签名放在了消息 体中,该消息中没有加密值。 '
如果签名和加密值放在消息体中,需要遵循现有的MIME格式,对IBC的签名和加密值 可以定义新的MIME 内容类型,例如Content-Type : application/ibe-mime ; smime-type-enveloped-data,用于标识SIP消息体中的数据采用基于身份的加密算法进行封装。
例如
Content-Type: application/ibe-mime; smime-type=enveloped-data;
本发明实施例中新增的ID-Based-Crypt和ID-Based-Info头字段在消息(包括请求消息和 响应消息)中只出现一次。两个头字段的语法定义如下
ID-Based-Crypt = "ID-Based陽Crypt,, HCOLQN id-based-signed-value 其中HCOLON代表空格,id-based-signed-value代表签名值; ID-Based-Info = "ID-Based-Info" HCOLON id-based-parameter-info
*( SEMI id-based-auth-params )id-based-parameter-info = LAQUOT absoluteURI RAQUOT id-based-auth-params = auth隱info-alg / ibe-info-alg auth-info-alg = "auth-info-alg" EQUAL token ibe-info-alg = "ibe-info-alg" EQUAL token
表示ID-Based-Info包含 一 个id-based-parameter-info字段,以及0到多个(符号 *)id-based-auth-params字段;id-based-parameter-info字段的格式是左双引号(LAQUOT)和右双 引号(RAQUOT)括起来的一个绝对路径URI(absoluteURI); id-based-auth-params字段包含验证 算法信息(auth-info-alg)或加密算法信息(ibe-info-alg); auth-info-alg和ibe-info-alg的定义分别 是由算过号括起来的算法名称。 .
当对消息或响应消息进行认证时,ID-Based安全服务实体可以采用基于身份的签名算法 对该消息的关键头字段及消息体进行签名,以向对方证明消息的来源是合法的。
请求消息中要进行签名的数据req-signed-string定义如下
req-signed-string = [From AoR] "|" [To AoR] "|" [Call-ID] "|" [ID-Based-Info] "|" 1*DIGIT SP Method "I" SIP-Date"广[Contact] "|" message-body
响应消息中要进行签名的数据req-signed-string定义如下
res-signed-string =[Status] "|" [From AoR] "| "[To AoR]" | "[Call-ID] "|" [ID-Based-Info] "|" [CSeq〗"I" [SIP-Date]")" [Contact] "1" message-body
说明如果存在ID-Based-Info头字段,该头字段要包括在被签名的数据之内。其中,"|" 表示各字段以字符T连接,[]表示头字段的内容,其中From和To只包括AoR部分,CSeq 包含了序列号和方法名,SIP-Date是在终端发送消息时须添加,[Status]是指响应的状态码, message-body则是指SDP消息体,如果没有消息体,则message-body部分可以不填写。
实际应用中,可能同时需要认证、完整性和机密性三方面的保护,这时可以将上述认证 与加密/解密的方法结合使用。下面以在Alice的UA中实现ID-Based安全服务实体的功能、 在Bob的UA中实现ID-Based验证服务实体的功能为例,说明认证、完整性和机密性三方面 的保护过程
Alice准备与Bob采用SIP协议建立会话,Alice的ID-Based安全服务实体向本域内的PKG 逻辑实体申请获取Alice的私钥A^,向本域内的PPS逻辑实体申请获取本域内的 id-based-parameters。其中必d一屈w = 屈ce,. id-based-parameters = 〈Gj, G2, 5, f P^6, P沾。to HhH2,H^。在申请私钥中,Alice向PKG申请私钥时提交身份信息和附加信息,其中身份信 息也就是请求消息中From字段的AoR。Alice将其AoR置于请求消息的From字段中,同时加入SIP-Date头字段,用于标识消息 的发送时间。
ID-Based安全服务实体在这个请求信息中添加一个ID-Based-Info头字段存放自己所在域 的id-based-parameters的获取地址及相关算法标识,用于告诉接收方的UA中的ID-Based安 全响应实体如何获取消息发送方所在域的id-based-parameters等信息,本发明实施例中的 ID-Based-Info 的 <直为<https:〃atlanta.example.com/id-based-para〉 ; auth-info-alg=he-ibs ; ibe-info-alg=bf-basicident 。
ID-Based安全服务实体对关键头字段及消息体进行签名,在本例中,被签名的数据 req-signed-string表示如下
req-signed-string="sip:alice@atlanta.examplg.com| sip:bob@biloxi.example.com| 3848276298220188511@atlanta.example.com |<https:〃atlanta.example.com/ id-based-para〉;auth-info-alg=he-ibs;ibe-info-alg=bf-basicident|2 INVITE|Thu, 21 Feb 2002 13:02:03 GMT|sip:alice@clientatlanta.example.com;transport=tcp| sip message body
上面的被签名的字段由"I"隔开,依次表示发送者AoR,接收者AoR, Call-ID, ID-Based-Info, SIP请求消息类型,SIP-Date,传输类型及SIP消息体。对这些消息的签名可以 保证消息的完整性,以及接收方对发送方的认证。
采用he-ibs进行签名后得到签名w = <w, v、采用Base64编码后得到Base64(w "「 v)如下 W6uEo3ZYNwxJfzbHrVghuhcsM6nWeLVmCv0VMZr2kZtTBDSH49thyGnFVcnAaifsp6q5T y2xI6ByRlBYYQTqWzJp+diOPoQZYOSFOQXI^MRLxAr3VgrB0SsSssvJyaZmP 并将Base64(w "|" v)插入到ID-Based-Crypt头字段中。
如果Alice需要对SIP的关键头字段和消息体进行加密传输,则Alice的ID-Based安全服 务实体获取Bob所在域的公开参数id-based-parameters',采用基于身份的加密算法对关键头 字段及消息体进行加密,以实现端到端的加密传输,加密时采用信息接收方的AoR: sip:bob@biloxi.example.com和Call-ID作为加密公钥。本发明实施例中只考虑对消息体进行加 密,采用的算法为bf-basicident。
经过以上的步骤,Alice生成INVITE请求消息并发送给Bob, INVITE Fl消息如下,虛 线框内为SDP数据,框内数据仅是sip消息体的例子,虚线框表示将这些框内数据加密,加 密值作为新的消息体,长度为128Byte(如头字段Content-Length中所示),类型为 application/ibe國mime(如Content-Type字段所示)'
INVITE sip:bob@biloxi.example.com SIP/2.0〃sip请求消息,发送给Bob,其地址为bob@biloxi.example.com; .
Date: Thu, 21 Feb 2002 13:02:03 GMT〃发送日期为2002年2月21日13:02:03,周四; From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl〃发送方为 Alice , 字段 为alice@atlanta.example.com,丰示签为tag=9fxced76sl;
To: Bob <sip:bob@biloxi.example.com>〃目的i也i止为bob@biloxi.example.com Call-ID: 3848276298220188511 @atlanta.example.com 〃会话标识为3848276298220188511@atlanta.example.com ID-Based-Crypt: "W6uEo3ZYNwxJfzbHrVghuhcsM6nWeLVmCvOVMZr2k
ZtTBDSH49thyGnFVcnAaifsp6q5Ty2xI6ByR旧YYQTqWzJp+diOPoQZYOS
FOQXHMRLxAr3VgrB0SsSssvJyaZmP"〃签名值 ID-Based-Info: <https:〃atlanta.example.com/id-based-para>;auth-info-alg=he-ibs;
ibe-info-alg= bf-basicident; 〃 ID-Based-Info字段中携带的签名和加密信息 Content-Length: 128〃消息体加密后的长度为128Byte
Content-Type: application/ibe-mime; smime-type=enveloped-data; 〃消息体为ibe-mime类型
Content-Type: application/sdp v=0
o=alice 2890844526 2890844526 IN IP4
client.atlanta.example.com
s=-
c=IN IP4 192.0.2.101 t=0 0
m=audio 49172 RTP/AVP 0 k="XiJKxodVCCd/DhCT9Gp+VDoe8HymqOWk" a=rtpmap:0 PCMU/8000
Bob收到请求消息INVITE Fl后,Bob的ID-Based安全响应实体如果发现Content-Type 为application/ibe-mime,则向Bob所在域的PKG逻辑实体申请,同时要向Bob所在域的PPS 服务器获取本域内的id-based-parameters'《G、, G'2, g',尸',P",户'沾血,H'b H'2, H'3>。由于验证ID-Based-Crypt头字段的签名要采用Alice所在域的id-based-parameters,即PPS 公开参数,因此Bob的ID-Based安全响应实体要通过请求消息中ID-Based-Info头字段的URI 获取Alice所在域的id-based-parameters即PPS公开参数。如果获取失败,则向Alice返回"462 Fetch ID-Based Parameters Failed"响应消息,协议终止。
Bob的ID-Based安全响应实体取出From字段中的AoR,即sip:alice@atlanta.example.com 和Call-ID值,即3848276298220188511@atlanta.example.com作为Alice的公钥,对 ID-Based-Crypt头字段的签名进行验证。如果验证失败,则向Alice返回"461 ID-Based Authentication Failed "响应消息。
本发明实施例的认证机制可以包括对请求消息的认证及对响应消息的认证,可以实现通 信双方的双向认证。如果同时采用签名与加密机制,那么既可以先签名后加密,也可以先加 密后签名。 .
本发明实施例中PKG逻辑实体和PPS逻辑实体的部署可采用层次式或分布式进行部署, 如果Alice与Bob同属于一个域,或Alice与Bob属于不同域,但两个域共享同一个PKG逻 辑实体和同一个PPS逻辑实体,则id-based-parameters即PPS公开参数的发布管理较为简单, 可以考虑不用在消息的ID-Based-Info头字段进行说明。
实施例四
参见图6,本发明实施例提供了一种接收方设备,该设备包括
接收模块401,用于接收消息,其中消息携带有对消息中指定字段的签名,签名使用的 私钥是根据发送方的公钥生成的,所述发送方的公钥包括发送方的标识和第一公钥附加参数;
认证模块402,用于获取发送方的公钥,并使用发送方的公钥对所述签名进行验证。
其中,接收方设备验证签名时,还会使用一些公开参数,这些公开参数可以是接收方设 备预先保存的,也可以是临时向服务器即PPS一A获取的,公开参数为实施例二中的〈GbG2, 6, 尸,尸一,尸/6血,Hb H2, H3>,这里不再详述。
认证模块402使用的发送方的公钥可以从接收到的消息中获取,例如,如果接收到的消 息为SIP消息,则可以直接从SIP消息的ID-Based-Info字段中获取签名相关参数,这些签名 相关参数包括签名所用的算法、发送方的公钥和签名的内容;其中签名的内容部分为对哪些 字段做了签名的标识信息,具体形式可以是把这些字段列出来,也可以用这些字段所属的类 别表示。
进一步地,接收模块401收到的消息包括如密的内容,该加密使用的公钥为接收方的标识和第二公钥附加参数;该接收方设备还可以进一步包括解密模块403。解密模块403用于 获取接收方的公钥即接收方的标识和第二公钥附加参数对应的私钥,使用所获取的私钥对接 收模块401接收到的消息中的加密内容进行解密。其中,认证模块402和解密模块403的功能可以通过上述实施例中的ID-Based安全响应 实体来实现;第一公钥附加参数和第二公钥附加参数的具体选取方式可以有多种,例如为当前会话 的会话标识,如果发送方与接收方交互的消息为SIP消息,该会话标识包括SIP消息中的会 话标识Call—ID字段中的内容;当会话为群组会话时,会话标识还可以包括SIP消息中的 Trom字段和To字段中的标签tag属性值。或者,第一公钥附加参数或第二公钥附加参数还 可以是当前会话的会话时间。当接收方与发送方交互的消息为SIP消息时,在SIP消息中的ID-Based-Info字段还可以 包括加密所用的算法和接收方的公钥等信息。.本发明实施例通过将发送方的标识和公钥附加参数作为公钥,使用该公钥对应的私钥进 行签名,接收模块401收到携带该签名的消息后,由认证模块402实现消息的认证和完整性 保护,因为针对不同的会话消息签名的私钥是不同的,即签名使用的公钥附加参数的存在导 致签名时使用的公钥是不同的,进而由公钥生成的私钥也是不同的,所以即使签名者在其私 钥泄漏后,也不会导致采用不同私钥签名的多次会话消息的签名失效,进而保证了用户正常 的业务使用和用户体验。并且,使用对方的公钥对消息进行加密,进一步增强了通信的安全 性。实施例五参见图7,本发明实施例提供了一种发送古设备,该设备包括 消息生成模块501,用于生成待发送的消息;签名模块502,用于获取发送方的公钥对应的私钥,使用私钥对待发送的消息中的指定 字段进行签名,其中,发送方的公钥包括发送方的标识和第一公钥附加参数;发送模块503,用于发送消息,给消息携带签名模块502对指定字段的签名。 该发送方设备还可以包括加密模块504,所述加密模块504用于使用接收方的公钥对消 息生成模块501生成的消息或者由签名模块502转发来的消息中的待加密内容进行加密,发 送给发送模块503发送,其中,接收方的公钥可以为接收方的标识,也可以为接收方的标识 和第二公钥附加参数。其中,接收方的标识可以为接收方的电子邮件地址等信息;待加密内容可以是消息中部 分消息头字段和/或消息体,待加密内容的具体选择可以由用户确定,也可以是发送方设备默 认的内容;同时,发送模块503还用于发送加密模块504加密后的消息,当然对消息的加密 可以单独进行,也可以先签名后加密,还可以先加密后签名。对指定字段进行签名或对待加密内容进行加密时,还需要使用系统中的公开参数,这些 公开参数可以是预先保存在发送方设备上的,也可以是向服务器临时获取的,公开参数为实 施例二中的〈Gh G2, S,户,尸-, &血,H!, H2, H3>,这里不再详述。其中,签名模块502的功能可以通过上述实施例中的ID-Bassd安全服务实体来实现;第一公钥附加参数和第二公钥附加参数的具体选取方式可以有多种,例如为当前会话 的会话标识,如果发送方与接收方交互的消息为SIP消息,该会话标识包括SIP消息中的会 话标识CallJD字段中的内容;当会话为群组会话时,会话标识还可以包括SIP消息中的 Trom字段和To字段中的标签tag属性值。或者,第一公钥附加参数或第二公钥附加参数还 可以是当前会话的会话时间。 .为了使接收方能够知道对消息中哪些字段进行了签名,发送模块503发送消息时,在该 消息中还携带标识上述指定字段的标识信息,该标识信息可以是各个字段的罗列内容,还可 以是各个字段的代码。当接收方与发送方交互的消息为SIP消息时,发送模块503发送的SIP消息中还包含 ID-Based-Info字段,ID-Based-Info字段携带签名所用的算法、加密所用的算法、发送方的 公钥和接收方的公钥等信息。本发明实施例通过将发送方的标识和公钥附加参数作为公钥,使用该公钥对应的私钥进 行签名,实现了消息的认证和完整性保护,因为公钥附件参数的不同,导致根据公钥生成的 私钥不同,进而对不同的会话消息的签名不同,所以即使签名者在其私钥泄漏后,也不会导 致采用不同私钥进行签名的多次会话消息的签i失效,保证了用户数据的安全;并且用户申 请新的私钥时,由于有公钥附加参数的存在也不必更换其ID,进而保证了用户正常的业务使 用和用户体验;并且,使用接收方的公钥对消息进行加密,进一步增强了通信的安全性。实施例六参见图8,本发明实施例还提供了一种基于身份的认证系统,该系统包括发送方设备 601、接收方设备602、发送方相关设备603 (可以包括发送方的私钥生成中心、发送方的公 开参数服务器和发送方代理服务器)、接收方相关设备604 (可以包括接收方的私钥生成中心、接收方的公开参数服务器和接收方代理服务器),其中,发送方设备601用于向发送方相关设备603获取发送方的公钥对应的私钥,该发送方的 公钥包括发送方的标识和第一公钥附加参数,并使用所获取的私钥对消息中的指定字段进行 签名,向发送方相关设备603发送携带对指定字段签名的消息;发送方相关设备603向接收方相关设备604转发该签名的消息,接收方相关设备604向 接收方设备602发送该签名的消息;接收方设备602接收发送方设备601发送的消息,向接收方设备604获取发送方的公钥, 使用发送方的公钥对消息中的签名进行验证。其中,指定字段可以是根据需要用户选择的字段,也可以是设备默认的某些字段;对指 定字段进行签名时,还需要使用系统中的公开参数,这些公开参数可以是预先保存在发送方 设备601上的,也可以是向服务器临时获取的,公开参数为实施例二中的〈GhG2,g,尸,/V6, 尸,6血,Hl5 H2, H3>,这里不再详述。为了增强安全性,发送方设备601还用于使用接收方设备602的公钥对消息中的待加密 内容进行加密,并发送加密后的消息,该接收方设备602的公钥为接收方的标识和第二公钥 附加参数;接收方设备602还可以用于向接收方相关设备604获取接收方的公钥对应的私钥;使用 所获取的私钥对消息中的加密内容进行解密。发送方设备601、接收方设备602的结构可以分别参考实施例五和实施例四的相关描述, 这里不再详述。本发明实施例提供的系统中的第一公钥附加参数和第二公钥附加参数的具体选取方式可 以有多种,例如为当前会话的会话标识,如果发送方与接收方交互的消息为SIP消息,该 会话标识包括SIP消息中的会话标识Call一ID字段中的内容;当会话为群组会话时,会话标 识还可以包括SIP消息中的Trom字段和To字段中的标签tag属性值。或者,第一公钥附加 参数或第二公钥附加参数还可以是当前会话的会话时间。其中,发送方设备601对指定字段进行签名或对待加密内容进行加密时,还需要使用系 统中的公开参数,这些公开参数可以是预先保存在发送方设备601上的,也可以是向服务器 临时获取的,公开参数为实施例二中的〈GhG2,g,户,尸—,i^血,H!,H2,H3、这里不再详述。接收方设备602对签名进行验证或加密内容进行解密时,还需要使用系统中的公开参数, 这些公开参数可以是预先保存在接收方设备602上的,也可以是向服务器临时获取的,公开 参数为实施例二中的〈G" G2, S,尸,尸—,&血,Hb H2, H3>,这里不再详述。为了使接收方设备602能够知道对消息中哪些字段进行了签名,发送方设备601发送消 息时,该消息中还携带标识上述指定字段的标识信息,该标识信息可以是各个字段的罗列内 容,还可以是各个字段的代码。当接收方与发送方交互的消息为SIP消息时,该SIP消息中还包含ID-Based-Info字段, ID-Based-Info字段携带签名所用的算法、加密所用的算法、发送方的公钥和接收方的公钥等"(曰息。本发明实施例通过将发送方的标识和公钥附加参数作为公钥,使用该公钥对应的私钥进 行签名,用以接收方认证,实现了消息的认证和完整性保护,因为不同的会话消息签名的私 钥是不同的,所以即使签名者在其私钥泄漏后,也不会导致采用私钥进行签名的多次会话消 息的签名失效,保证用户数据的安全;并且用户申请新的私钥时,由于有公钥附加参数的存 在也不必更换其ID,进而保证了用户正常的业务使用和用户体验;并且,使用接收方的公钥 对消息进行加密,进一步增强了通信的安全性。本发明以上实施例提供认证、完整性保护和消息内容保密的保护,这三方面的保护在一 次SIP消息里可以是可选出现的,可以根据具体的应用和业务来设定。上述实施例提供的技术方案对基于身份的SIP安全认证机制的协议进行了简单的描述, 重点描述与SIP现有标准的不同,未涉及的内容与现有标准一致,这里不再详述。以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存 储在可读取的存储介质中,存储介质例如计算机中的硬盘、光盘或软盘。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照 前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前 述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修 改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种基于身份的认证方法,其特征在于,所述方法包括接收方接收消息,所述消息携带对所述消息中指定字段的签名,所述签名使用的私钥是根据发送方的公钥标识和第一公钥附加参数生成的,所述发送方的公钥包括发送方的标识和第一公钥附加参数;所述接收方使用所述发送方的公钥对所述签名进行验证。
2. 如权利要求1所述的基于身份的认证方法,其特征在于,所述消息中包括使用接收方 的公钥进行加密的内容;所述接收方接收消息之后,还包括所述接收方获取所述接收方的公钥对应的私钥,使用所获取的私钥对所述加密的内容进 行解密。
3. 如权利要求2所述的基于身份的认证方法,其特征在于,所述接收方的公钥包括所述 接收方的标识和第二公钥附加参数。
4. 如权利要求1所述的基于身份的认证方法,其特征在于,所述消息为SIP消息,所述 SIP消息中还包含基于身份的密码信息字段,所述基于身份的密码信息字段携带签名所用的 算法和所述发送方的公钥。
5. 如权利要求2所述的基于身份的认证方法,其特征在于,所述消息为SIP消息,所述 SIP消息中还包含基于身份的密码信息字段,所述基于身份的密码信息字段携带签名所用的 算法、加密所用的算法、所述发送方的公钥和所述接收方的公钥。
6. 如权利要求3所述的基于身份的认证方法,其特征在于,所述第一公钥附加参数或所 述第二公钥附加参数为所述消息对应的会话的会话标识。
7. 如权利要求6所述的基于身份的认证方法,其特征在于,所述消息为SIP消息,所述 会话标识包括所述SIP消息中的会话标识Call—ID字段中的内容。
8. 如权利要求7所述的基于身份的认证方法,其特征在于,当所述会话为群组会话时, 所述会话标识还包括所述SIP消息中的Trom字段和To字段中的标签tag属性值。
9. 如权利要求3所述的基于身份的认证方法,其特征在于,所述第一公钥附加参数或所 述第二公钥附加参数为所述消息对应的会话的会话时间。
10. 如权利要求1所述的基于身份的认证方法,其特征在于,所述消息还携带表示所述 指定字段的标识信息;所述接收方使用所述发送方的公钥对所述签名进行验证,包括-所述接收方根据所述消息携带的所述指定字段的标识信息,使用所述发送方的公钥对所 述签名进行验证。
11. 一种保密通信方法,其特征在于,所述方法包括发送方使用接收方的公钥对消息中的待加密内容进行加密,所述接收方的公钥包括所述 接收方的标识和公钥附加参数;发送方将加密后的内容发送给所述接收方。
12. 如权利要求ll所述的保密通信方法,其特征在于,所述方法还包括 所述接收方收到所述加密后的内容后,获取所述接收方的公钥对应的私钥; 所述接收方使用所获取的私钥对所述加密后的内容进行解密。
13. —种接收方设备,其特征在于,所述接收方设备包括-接收模块,用于接收消息,所述消息携带有对所述消息中指定字段的签名,所述签名使 用的私钥是根据发送方的公钥生成的,所述发送方的公钥包括所述发送方标识和第一公钥附 加参数;认证模块,用于获取所述发送方的公钥,并使用所述发送方的公钥对所述签名进行验证。
14. 如权利要求13所述的接收方设备,其特征在于,所述接收模块收到的消息包括加密 的内容,所述加密使用的公钥为接收方的标识和第二公钥附加参数;所述设备还包括解密模块,用于获取所述接收方的公钥对应的私钥,使用所述私钥对所述加密内容进行 解密,所述接收方的公钥包括所述接收方的标识和第二公钥附加参数。
15. —种发送方设备,其特征在于,所述发送方设备包括 消息生成模块,用于生成待发送的消息;签名模块,用于获取发送方的公钥对应的私钥,使用所述私钥对所述待发送的消息中的 指定字段进行签名,其中,所述发送方的公钥包括所述发送方的标识和第一公钥附加参数; 发送模块,用于发送所述消息,所述消息携带所述签名模块对指定字段的签名。
16. 如权利要求15所述的发送方设备,其特征在于,所述发送方设备还包括 加密模块,用于使用接收方的公钥对消息中的待加密内容进行加密,发送给发送模块发送。
17. —种基于身份的认证系统,其特征在于,所述系统包括发送方设备、发送方相关 设备、接收方相关设备和接收方设备;所述发送方设备,用于向发送方相关设备获取发送方的公钥对应的私钥,所述发送方的 公钥包括所述发送方的标识和第一公钥附加参数;并使用所获取的私钥对消息中的指定字段 进行签名,向所述发送方相关设备发送携带所述指定字段签名的消息;所述发送方相关设备向所述接收方相关设备发送所述签名的消息;所述接收方相关设备向所述接收方设备发送所述签名的消息;所述接收方设备,用于接收所述签名的消息,获取所述发送方的公钥,使用所述发送方 的公钥对所述签名进行验证。
全文摘要
本发明公开了一种基于身份的认证方法、保密通信方法、设备和系统,属于网络通信技术领域。所述方法包括接收方接收消息,该消息携带对所述消息中指定字段的签名,该签名使用的私钥是根据发送方的标识和第一公钥附加参数生成的;该接收方使用发送方的标识和第一公钥附加参数对所述签名进行验证。所述系统包括发送方设备、接收方设备。本发明还提供了一种保密通信方法、发送方设备和接收方设备。本发明通过以用户的标识和公钥附加参数作为该用户的公钥,使用该公钥对应的私钥进行签名,实现了消息的认证和完整性保护,同时使签名者在其私钥泄漏后申请新的私钥时,不必更换其标识,进而保证了正常的业务使用和用户体验。
文档编号H04L9/32GK101626294SQ20081011625
公开日2010年1月13日 申请日期2008年7月7日 优先权日2008年7月7日
发明者杨义先, 杨亚涛, 江为强, 阳 辛, 高洪涛 申请人:华为技术有限公司;北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1