用户身份认证方法及系统的制作方法

文档序号:7695631阅读:238来源:国知局
专利名称:用户身份认证方法及系统的制作方法
技术领域
本发明涉及信息安全技术,尤其是一种对等网络会议发起协议
(Peer-to隱Peer Session Initiation Protocol,简称P2PSIP)系统中的用
户身份认证的方法以及认证系统。
背景技术
SIP ( Session Initiation Protocol,会话发起协议)是互联网工程 任务组(IETF)制定的多媒体通信应用层控制协议,用于建立、修改和 终止多媒体会话。该协议具有很好的稳定性和速度,且协议易于扩展。 因此SIP技术逐渐成为通信行业的一种标准。
随着P2P技术的普及,有人将SIP技术与P2P框架结合起来, 也就是P2PSIP技术。P2PSIP技术既可以解决P2P系统间的互联问题, 又能够解决SIP系统的单点失效和性能瓶颈问题,且可以运营在公共 互联网上。
在现有的SIP系统用户注册信息通常被存放在特定的服务器中, 这种特定的服务器一般属于运营商,用户可以在该服务器上进行身份 认证,运营商负责维护用户信息的安全。而在P2PSIP系统中,由于 用户的注册信息是根据特定的分布式哈希表(Distributed Hash Table, 简称DHT)算法被存放在DHT网络中的,用户节点不了解注册信息 被保存的具体位置,而且注册信息的安全也没有运营商的维护。因此 在P2PSIP系统中保证用户注册信息的安全性和连接的可靠性是比较 困难的问题。

发明内容
本发明的目的是提出一种用户身份认证方法及系统,能够实现P2PSIP系统中对用户的身份认证,确保连接的安全性。
为实现上述目的,本发明提供了一种用户身份认证方法,包括以 下步骤
接收会话发起协+义(Session Initiation Protocol,简称SIP )终端 发送的呼叫请求,该呼叫请求中包括被呼叫方的会话发起协议统一资 源指示符(Uniform Resource Indicator,简称SIP URI);
根据SIP URI从分布式哈希表(Distributed Hash Table,简称 DHT)网络中获取对应的IP地址和签名;
通过被呼叫方的用户公钥对所述签名进行解密,并根据所述IP 地址计算摘要信息,然后将解密结果与该摘要信息进行匹配,如果匹 配,则将所述呼叫请求转发至所述IP地址。
进一步的,该方法还可以还包括用户注册过程中的身份认证流 程,具体包括以下步骤
接收会话发起协议终端发送的注册请求,该注册请求中包括预先 配置的用户账户的会话发起协议统一资源指示符和用随机数加密的注 册密码;
根据所述会话发起协议统一资源指示符从所述分布式哈希表网 络中获取对应的用户证书、用户私钥和密文密码;
对所述用户证书的签名进行认证,并在认证通过时对所述注册密 码进行校验;
如果校验成功,则根据所述会话发起协议终端的IP地址生成摘 要信息,并使用所述用户私钥对所述IP地址的摘要信息进行签名,并 将所述IP地址和签名存入所述分布式哈希表网络。
进一步的,所述对所述用户证书的签名进行认证,并在认证通过 时对所述注册密码进行校验的操作可以具体为
使用CA服务器公钥对所述用户证书的签名进行认证,当认证通 过时,使用用户证书中的信息解密所述密文密码,并将解密得到的明 文密码与所述随机数进行加密运算,将加密运算的结果与所述用随机 数加密的注册密码进行匹配。进一步的,在接收会话发起协议终端发送的注册请求之前,还包
括以下步骤
向所述会话发起协议终端发送预先生成的所述随机数。
进一步的,该方法还可以包括配置用户账户过程中的证书授权流 程,具体包括以下步骤
CA服务器配置所述用户账户,该用户账户包含会话发起协议统 一资源指示符和明文密码;
CA服务器为所述用户账户生成用户公钥-私钥对和用户证书,并 使用CA服务器私钥对所述用户证书进行签名,并将所述明文密码加 密为密文密码;
将所述用户证书、用户私钥和密文密码存入所述分布式哈希表网络。
为实现上述目的,本发明提供了一种用户身份认证系统,包括
第一请求接收模块,用于接收会话发起协议终端发送的呼叫请 求,该呼叫请求中包括被呼叫方的会话发起协议统一资源指示符;
第一信息提取模块,用于根据所述会话发起协议统一资源指示符 从分布式哈希表网络中获取对应的IP地址和签名;
签名匹配模块,用于通过被呼叫方的用户公钥对所述签名进行解 密,并根据所述IP地址计算摘要信息,然后将解密结果与所述摘要信 息进行匹配;
请求转发模块,用于在所述解密结果与所述IP地址的摘要信息 相匹配时,将所述呼叫请求转发至所述IP地址。
进一步的,该系统还可以包括注册认证子系统,该注册i人证子系 统具体包括
第二请求接收模块,用于接收会话发起协议终端发送的注册请
求,该注册请求中包括预先配置的用户账户的会话发起协议统一资源 指示符和用随机数加密的注册密码;
第二信息提取模块,用于根据所述会话发起协议统一资源指示符 从所述分布式哈希表网络中获取对应的用户证书、用户私钥和密文密码;
签名认证模块,用于使用CA服务器公钥对所述用户证书的签名 进行认证;
密码匹配模块,用于在签名认证通过时,使用用户证书中的信息 解密所述密文密码,并将解密得到的明文密码与所述随机数进行加密 运算,将加密运算的结果与所述用随机数加密的注册密码进行匹配;
地址签名模块,用于在所述明文密码与所述注册密码相匹配时, 根据所述会话发起协议终端的IP地址生成摘要信息,并使用所述用户 私钥对所述会话发起协议终端的IP地址的摘要信息进行签名;
第一信息写入模块,用于将所述IP地址和签名存入所述分布式 哈希表网络。
进一步的,所述注册认证子系统还包括
随机数发送模块,用于在在接收会话发起协议终端发送的注册请 求之前,向所述会话发起协议终端发送预先生成的所述随机数。
进一步的,该系统还包括账户授权子系统,该账户授权子系统包

用户账户配置模块,用于CA服务器配置所述用户账户,该用户 账户包含会话发起协议统一资源指示符和明文密码;
密钥和证书生成模块,用于CA服务器为所述用户账户生成用户 公钥-私钥对和用户证书;
证书签名模块,用于使用CA服务器私钥对所述用户证书进行签
名;
密码加密模块,用于将所述明文密码加密为密文密码; 第二信息写入模块,用于将所述用户证书、用户私钥和密文密码 存入所述分布式哈希表网络。
基于上述技术方案,本发明在呼叫发起过程中通过获取DHT网
络中预先存储的签名,并解密该签名获得对应的IP地址来检查连接的
可信任性;还通过用户注册过程中对用户的身份进行了验证,确保用户注册 信息的安全性。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请 的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1为本发明用户身份认证系统的网络应用拓朴示意图。 图2为本发明用户身份认证方法的一实施例的流程示意图。 图3为应用图2实施例的呼叫发起过程的信令交互示意图。 图4为本发明用户身份认证方法的另 一 实施例中身份认证流程的示意图。图5为应用图4实施例的用户注册过程的信令交互示意图。 图6为本发明用户身份认证方法的又一实施例中证书授权流程的 示意图。图7为本发明用户身份认证系统的一实施例的结构示意图。 图8为本发明用户身份认证系统的另 一 实施例中注册认证子系统 的结构示意图。图9为本发明用户身份认证系统的又一实施例中账户授权子系统 的结构示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。如图l所示,为本发明用户身份认证系统的网络应用拓朴示意图。 其中由支持访问P2P的CA服务器22生成的用户账户中的用户信息 及用户证书被存入DHT网络24中,使用P2P SIP服务器23可以从 DHT网络24中获取特定用户20或21的用户信息和用户证书,以完 成对特定用户20或21的登录过程和呼叫建立过程的身份认证。该方 案中所用CA服务器具有访问DHT网络的功能,可以往DHT阿络中 存放用户证书、用户私钥、密码等数据。基于上述系统,本发明用户身份认证方法的一实施例如图2所示, 该实施例可以由SIP服务器在呼叫发起过程中完成。该实施例包括步骤IOI、接收SIP终端发送的呼叫请求,该呼叫请求中包括被 呼叫方的SIP URI;步骤102、根据SIP URI从DHT网络中获取对应的IP地址和签名;步骤103、通过被呼叫方的用户公钥对签名进行解密,并根据所 述IP地址计算摘要信息,其中用户公钥可以存在DHT网络中IP地 址和签名被保存的同一个节点,也可以不在一个节点,也可以存在其 他可以获取信息的网元中;步骤104、对解密结果与该对应的IP地址的摘要信息进行匹配, 判断是否匹配,是则执行步骤105,否则结束操作;步骤105、将呼叫请求转发至该对应的IP地址。应用本实施例的呼叫发起过程的信令交互示意图如图3所示。在 SIP会话中,会话双方均采用SIP URI作为标识,其格式与email地 址相似,通常采用user@domain的形式,但应注意SIP URI的作用 是作为标识,其构成形式并不应对本发明的范围造成限制。当用户配 置用户账户时,可以通过设置user部分来确定自身账户的标识。在 DHT网络中存取数据,采用SIP URI作为key-value中的key是极为 方便的。当然,SIPURI的作用并不仅限于在DHT网络中存取数据。在呼叫时从DHT网络中获取的IP地址并不能保证连接的可靠 性,因此通过对签名的解密后的结果与IP地址的摘要信息进行匹配来 验证该IP地址是否可靠,当判断匹配时,则可以i人为该IP地址为可 靠的,从而可以进一步的完成呼叫流程,而当判断不匹配时,则不会 继续呼叫而结束本流程,同时还可以通过反馈错误消息、错误日志等 方式通知用户及网络侧。本实施例通过呼叫发起过程中SIP会话连接的可靠性检测,确保 了连接的可信任性,而为了同时确保用户账户信息的安全性,在注册 时还需要执行以下身份认证的流程,参见图4所示。该身份认证流程由P2PSIP服务器实现,包括以下步骤步骤201、接收SIP终端发送的注册请求,该注册请求中包括预 先配置的用户账户的SIP URI和用随机数加密的注册密码;步骤202、根据SIP URI从DHT网络中获取对应的用户证书、 用户私钥和密文密码;步骤203、使用CA服务器公钥对该用户证书的签名进行认证, 该CA服务器公钥一般是易于获得的,可以直接从CA服务器获得, 或者从其他保存有CA服务器公钥的网元获取,或者预存在本地服务 器上;步骤204、判断对用户证书的签名的认证是否通过,是则执行步 骤205,否则结束操作;步骤205、使用用户证书中的信息解密密文密码,并将解密得到 的明文密码与所述随机数进行加密运算,将加密运算的结果与所述用 随机数加密的注册密码进行匹配;步骤206、判断加密运算的结果与用随机数加密的注册密码是否 匹配,是则执行步骤207,否则结束操作;步骤207、根据SIP终端的IP地址生成摘要信息,并使用用户 私钥对SIP终端的IP地址的摘要信息进行签名,然后将该IP地址和 签名存入DHT网络。步骤201中的注册密码是由用户侧的SIP终端进行加密的,其所 使用的随机数通常是在SIP服务器提供的,SIP服务器生成随机数后, 将该随机数发送给SIP终端,SIP终端通过该随机数来加密注册密码, 然后在SIP服务器中也通过该随机数来加密明文密码,如果注册密码 和明文密码相同,加密后得到的结果也应相同。这样在用户发送的注 册密码被窃听的情况下,由于该注册密码已被加密,降低了该注册密 码泄漏的可能。应用本实施例的用户注册过程的信令交互示意图如图5所示。在 图4中步骤201中所提到的预先配置的用户账户,该用户账户通常由 用户预先通过Web方式在CA服务器进行配置,该配置过程实际上也是该用户账户的CA服务器的证书授权流程,该流程参见图6,包括 以下步骤步骤301、由用户CA服务器配置一个用户账户,该用户账户包 含SIP URI和明文密码;步骤302、 CA服务器为该用户账户生成用户公钥-私钥对和用户 证书,生成公钥-私钥对的算法可采用业界通用的算法,例如大整数因 子分解(RSA)算法等来生成公钥-私钥对;步骤303、 CA服务器使用用户公钥-私钥对中的用户私钥对用户 证书进行签名,并采用行业通用的加密方法(例如AES算法等)将用 户配置的明文密码加密为密文密码;步骤304、CA服务器将用户证书、用户私钥和密文密码存入DHT 网络,用户公钥可以被存在DHT网络中与用户证书所被保存的同一 个节点,也可以存在其他节点,或者存储在其他可以获取信息的网元 中。上述流程中CA服务器为用户账户提供了用户证书和用户公钥-私钥对,并利用用户公钥-私钥对进行签名和加密,然后在用户注册时, 通过认证和解密实现了用户账户的安全性验证,确保了用户信息的真 实性和可靠性。本领域普通技术人员可以理解实现上述方法实施例的全部或部 分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于 一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实 施例的步骤;而前述的存储介质包括ROM、 RAM、磁碟或者光盘 等各种可以存储程序代码的介质。如图7所示,为本发明用户身份认证系统的一实施例的结构示意 图,包括第一请求接收模块l、第一信息提取模块2、签名匹配模块3 和请求转发模块4。其中,第一请求接收模块1用于接收SIP终端发 送的呼叫请求,该呼叫请求中包括被呼叫方的SIP URI。第一信息提 取模块2用于根据SIP URI从DHT网络中获取对应的IP地址和签名。 签名匹配模块3用于通过被呼叫方的用户公钥对所述签名进行解密,并根据IP地址计算摘要信息,然后将解密结果与所述IP地址的摘要信息进行匹配。请求转发模块4用于在所述解密结果与所述IP地址的 摘要信息相匹配时,将所述呼叫请求转发至IP地址。在另一系统实施例中,用户身份认证系统还可以包括注册认证子 系统,如图8所示,该注册认证子系统具体包括第二请求接收模块 5、第二信息提取模块6、签名认证模块7、密码匹配模块8、地址签 名模块9和第一信息写入模块10。其中笫二请求接收模块5用于接收SIP终端发送的注册请求,该 注册请求中包括预先配置的用户账户的SIP URI和用随机数加密的注 册密码。第二信息提取模块6用于根据所述SIP URI从所述DHT网 络中获取对应的用户证书、用户私钥和密文密码。签名认证模块7用 于使用CA服务器公钥对所述用户证书的签名进行认证。密码匹配模 块8用于在签名认证通过时,使用用户证书中的信息解密所述密文密 码,并将解密得到的明文密码与所述随机数进行加密运算,将加密运 算的结果与所迷用随机数加密的注册密码进行匹配。地址签名模块9 用于在所述明文密码与所述注册密码相匹配时,根据SIP终端的IP 地址生成摘要信息,并使用所述用户私钥对所述SIP终端的IP地址的 摘要进行签名。第一信息写入模块IO用于将所述IP地址和签名存入 所述DHT网络。在这个注册认证子系统中,还可以包括随机数发送模块,用于在 在接收SIP终端发送的注册请求之后,向SIP终端发送预先生成的所 述随,几数。在另一个系统实施例中,还可以包括账户授权子系统,如图9所 示,该账户授权子系统包括用户账户配置模块ll、密钥和证书生成 模块12、证书签名模块13、密码加密模块14和第二信息写入模块15。 其中用户账户配置模块用于CA服务器配置所述用户账户,该用户账 户包含SIP URI和明文密码。密钥和证书生成模块12用于CA服务器 为所述用户账户生成用户公钥-私钥对和用户证书。证书签名模块13 用于使用CA服务器私钥对所述用户证书进行签名。密码加密模块14用于将所述明文密码加密为密文密码。第二信息写入模块15用于将所 述用户证书、用户私钥和密文密码存入DHT网络。本发明在呼叫发起过程中通过获取DHT网络中预先存储的签 名,并解密该签名获得对应的IP地址来检查连接的可信任性;还通过用 户注册过程中对用户的身份进行了 !Hit,确保用户注册信息的安全性。最后应当说明的是:以上实施例仅用以说明本发明的技术方案而 非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进 行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案 的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
权利要求
1、一种用户身份认证方法,包括以下步骤接收会话发起协议终端发送的呼叫请求,该呼叫请求中包括被呼叫方的会话发起协议统一资源指示符;根据所述会话发起协议统一资源指示符从分布式哈希表网络中获取对应的IP地址和签名;通过被呼叫方的用户公钥对所述签名进行解密,并根据所述IP地址计算摘要信息,然后将解密结果与该摘要信息进行匹配,如果匹配,则将所述呼叫请求转发至所述IP地址。
2、 根据权利要求1所述的方法,其中还包括用户注册过程中的 身份认证流程,具体包括以下步骤接收会话发起协议终端发送的注册请求,该注册请求中包括预先 配置的用户账户的会话发起协议统 一 资源指示符和用随机数加密的注 册密码;根据所述会话发起协议统一资源指示符从所述分布式哈希表网 络中获取对应的用户证书、用户私钥和密文密码;对所述用户证书的签名进行认证,并在认证通过时对所述注册密 码进行校验;如果校验成功,则根据所述会话发起协议终端的IP地址生成摘 要信息,并使用所述用户私钥对所述IP地址的摘要信息进行签名,将 所述IP地址和签名存入所述分布式哈希表网络。
3、 根据权利要求2所述的方法,其中所述对所述用户证书的签 名进行认证,并在认证通过时对所述注册密码进行校验的操作具体为使用CA服务器公钥对所述用户证书的签名进行认证,当认证通 过时,使用用户证书中的信息解密所述密文密码,并将解密得到的明 文密码与所述随机数进行加密运算,将加密运算的结果与所述用随机数加密的注册密码进行匹配。
4、 根据权利要求2所述的方法,其中在接收会话发起协议终端发送的注册请求之后,还包括以下步骤向所述会话发起协议终端发送预先生成的所述随机数。
5、 根据权利要求2所述的方法,其中还包括配置用户账户过程 中的证书授权流程,具体包括以下步骤CA服务器配置所述用户账户,该用户账户包含会话发起协议统 一资源指示符和明文密码;CA服务器为所述用户账户生成用户公钥-私钥对和用户证书,并 使用CA服务器私钥对所述用户证书进行签名,并将所述明文密码加 密为密文密码;CA服务器将所述用户证书、用户私钥和密文密码存入所述分布 式哈希表网络。
6、 一种用户身份认证系统,包括第一请求接收模块,用于接收会话发起协议终端发送的呼叫请 求,该呼叫请求中包括被呼叫方的会话发起协议统一 资源指示符;第一信息提取模块,用于根据所述会话发起协议统一资源指示符 从分布式哈希表网络中获取对应的IP地址和签名;签名匹配模块,用于通过被呼叫方的用户公钥对所述签名进行解 密,并根据所述IP地址计算摘要信息,然后将解密结果与所述摘要信 息进行匹配;请求转发模块,用于在所述解密结果与所述IP地址的摘要信息 相匹配时,将所述呼叫请求转发至所述IP地址。
7、 根据权利要求6所述的用户身份认证系统,其中还包括注册 i/w证子系统,该注册^人证子系统具体包括第二请求接收模块,用于接收会话发起协议终端发送的注册请 求,该注册请求中包括预先配置的用户账户的会话发起协议统 一 资源 指示符和用随机数加密的注册密码;第二信息提取模块,用于根据所述会话发起协议统一资源指示符 从所述分布式哈希表网络中获取对应的用户证书、用户私钥和密文密 码;签名认证模块,用于使用CA服务器公钥对所述用户证书的签名 进行认证;密码匹配模块,用于在签名认证通过时,使用用户证书中的信息 解密所述密文密码,并将解密得到的明文密码与所述随机数进行加密 运算,将加密运算的结果与所述用随机数加密的注册密码进行匹配;地址签名模块,用于在所述明文密码与所述注册密码相匹配时, 根据所述会话发起协议终端的IP地址生成摘要信息,并使用所述用户 私钥对所述IP地址的摘要信息进行签名;第一信息写入模块,用于将所述IP地址和签名存入所述分布式 哈希表网络。
8、 根据权利要求7所述的用户身份认证系统,其中所述注册认 证子系统还包括随机数发送模块,用于在在接收会话发起协议终端发送的注册请 求之后,向所述会话发起协议终端发送预先生成的所述随机数。
9、 根据权利要求7所述的用户身份认证系统,其中还包括账户 授权子系统,该账户授权子系统包括用户账户配置模块,用于CA服务器配置所述用户账户,该用户 账户包含会话发起协议统一资源指示符和明文密码;密钥和证书生成模块,用于CA服务器为所述用户账户生成用户 公钥-私钥对和用户证书;证书签名模块,用于使用CA服务器私钥对所述用户证书进行签名;密码加密模块,用于将所述明文密码加密为密文密码; 第二信息写入模块,用于将所述用户证书、用户私钥和密文密码 存入所述分布式哈希表网络。
全文摘要
本发明涉及一种用户身份认证方法,包括以下步骤接收SIP终端发送的呼叫请求,该呼叫请求中包括被呼叫方的SIP URI;根据SIPURI从DHT网络中获取对应的IP地址和签名;通过被呼叫方的用户公钥对签名进行解密,并根据IP地址计算摘要信息,然后将解密结果与摘要信息进行匹配,如果匹配,则将呼叫请求转发至IP地址。本发明还涉及一种用户身份认证系统,包括第一请求接收模块、第一信息提取模块、签名匹配模块和请求转发模块。本发明在呼叫发起过程中通过获取DHT网络中预先存储的签名,并解密该签名获得对应的IP地址来检查连接的可信任性;还通过用户注册过程中对用户的身份进行了验证,确保用户注册信息的安全性。
文档编号H04L9/32GK101304423SQ20081011631
公开日2008年11月12日 申请日期2008年7月8日 优先权日2008年7月8日
发明者于翠波, 勾学荣, 吴振宇, 勖 张, 张春红, 慕宇琪, 李文杰, 李漓春, 杨明川, 尧 王, 阳 纪, 裘晓峰 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1