Web实时通信中的访问控制方法和装置的制造方法_2

文档序号:9527596阅读:来源:国知局
等。媒体中继能力平台设备例如可以运行在apache上,采用PHP(超文本预处理器)实现。NAT穿透服务器例如可以是STUN服务器或TURN服务器。STUN/TURN服务器例如可以采用高性能的rfc5766-turn-server实现,需要改造增加内存数据库以存储当天已使用序列号列表。终端例如可以采用chrome 27以上实现。每个第三方应用平台设备可以为多个终端提供服务。
[0032]如图1所示,访问控制过程如下:
[0033]步骤S102,媒体中继能力平台设备负责第三方应用平台设备的注册,为第三方应用平台设备分配应用标识(APPID)及其相应的应用令牌(APPKEY)。
[0034]步骤S104,媒体中继能力平台设备将APPID和APPKEY推送到全网的NAT穿透服务器,以实现NAT穿透服务器与第三方应用平台设备共享应用标识及其相应的应用令牌。
[0035]步骤S106,第三方应用平台设备检测到终端登录后,根据APPID和APPKEY为终端生成用户名和密码,将用户名和密码发送给终端。
[0036]其中,根据APPID和APPKEY为终端生成用户名和密码例如采用以下方法实现:
[0037]第一种方法,随机产生一序列号,该序列号在一定时期内不重复,例如,在一天内不重复,然后将应用标识和序列号(APPID+Sequence)作为用户名,对用户名采用应用令牌APPKEY签名得到的散列值作为密码。
[0038]第二种方法,随机产生一序列号,该序列号在一定时期内不重复,将当前日期作为用户名的产生时间,然后将应用标识、序列号和产生时间(APPID+Sequence+CreateTime)作为用户名,对用户名采用应用令牌APPKEY签名得到的散列值作为密码。
[0039]其中,签名采用的散列算法可以参考现有技术,本发明不限定具体的散列算法。
[0040]另外,第三方应用平台设备在将用户名和密码发送给终端之前,还可以对终端认证,认证通过后再将用户名和密码发送给终端。
[0041]步骤S108,终端需要进行NAT穿越时,携带第三方应用平台设备颁发的用户名和密码访问NAT穿透服务器进行媒体中继。
[0042]上述实施例中,NAT穿透服务器仅需共享第三方应用平台设备的应用令牌,应用令牌的数量远小于终端令牌的数量,可以更好地满足Web实时通信中的实时性要求。
[0043]根据用户名中的信息,NAT穿透服务器可以对终端采用不同的访问控制策略,下面分别说明。
[0044]当用户名包括应用标识和序列号(APPID+Sequence)时,如图2所示,Web实时通信中的访问控制方法包括以下步骤:
[0045]步骤S202,网络地址转换穿透服务器接收终端访问时发送的用户名和密码;
[0046]其中,用户名包括应用标识和序列号,密码是对用户名采用应用令牌签名得到的散列值,终端的用户名和密码由第三方应用平台设备提供(参考S106),网络地址转换穿透服务器与第三方应用平台设备共享应用标识及其相应的应用令牌(参考S102和S104)。
[0047]步骤S204,网络地址转换穿透服务器利用自己存储的应用标识及其相应的应用令牌对终端的密码进行校验,以确定终端的应用令牌是否合法。
[0048]步骤S206,网络地址转换穿透服务器对所述终端的用户名中的序列号进行校验,以确定终端的应用令牌是否已经使用过。
[0049]步骤S208,网络地址转换穿透服务器根据校验结果控制所述终端的访问。
[0050]本实施例不限定步骤S204和S206的校验顺序,例如可以先执行步骤S204再执行步骤S206,也可以先执行步骤S206,再执行步骤S204。
[0051]在一个实施例中,步骤S204可以采用以下方法校验:
[0052]网络地址转换穿透服务器在本地存储的信息中提取与终端的用户名中的应用标识对应的应用令牌;使用本地存储的应用令牌对终端的用户名进行散列运算得到散列值;通过比较自己计算得到的散列值与终端的密码确定终端的应用令牌是否合法,如果自己计算得到的散列值与终端的密码相同,则终端的应用令牌合法,否则,如果自己计算得到的散列值与终端的密码不同,则终端的应用令牌不合法。
[0053]在一个实施例中,步骤S206可以采用以下方法校验:
[0054]网络地址转换穿透服务器从终端的用户名中提取序列号;从已使用序列号列表中查询提取的终端的用户名中的序列号是否已经存在;如果终端的用户名中的序列号在已使用序列号列表中已经存在,确定终端的应用令牌已经使用过;如果终端的用户名中的序列号在已使用序列号列表中不存在,确定终端的应用令牌未使用过。
[0055]在一个实施例中,步骤S208可以采用以下方法进行访问控制:如果步骤S204和步骤S206的校验通过,即终端的应用令牌合法,并且终端的应用令牌未使用过,则允许终端访问,否则,步骤S204和步骤S206有任一项校验未通过,则拒绝终端访问。
[0056]上述实施例,在用户名中设置了应用标识和序列号,采用应用令牌对用户名签名可以得到密码,终端使用用户名和密码访问NAT穿透服务器时,由于每个序列号仅可以使用一次,并且终端没有第三方应用的令牌无法伪造新序列号的签名,因此即使终端的密码泄露,该终端的用户名和密码也不会被冒用。
[0057]当用户名包括应用标识、序列号和产生时间(APPID+Sequence+CreateTime)时,如图3所示,Web实时通信中的访问控制方法包括以下步骤:
[0058]步骤S302,网络地址转换穿透服务器接收终端访问时发送的用户名和密码;
[0059]其中,用户名包括应用标识、序列号和产生时间,密码是对用户名采用应用令牌签名得到的散列值,终端的用户名和密码由第三方应用平台设备提供(参考S106),网络地址转换穿透服务器与第三方应用平台设备共享应用标识及其相应的应用令牌(参考S102和S104)。
[0060]步骤S303,网络地址转换穿透服务器对终端的用户名中的产生时间CreateTime进行校验,以确定终端的应用令牌是否过期。
[0061]在一个实施例中,步骤S303可以采用以下方法校验:
[0062]网络地址转换穿透服务器比较终端的用户名中的产生时间与当前时间,如果终端的用户名中的产生时间与当前时间是同一天,确定终端的应用令牌未过期,如果终端的用户名中的产生时间与当前时间不是同一天,确定终端的应用令牌过期。
[0063]步骤S204,网络地址转换穿透服务器利用自己存储的应用标识及其相应的应用令牌对终端的密码进行校验,以确定终端的应用令牌是否合法。
[0064]步骤S206,网络地址转换穿透服务器对终端的用户名中的序列号进行校验,以确定终端的应用令牌是否已经使用过。
[0065]本实施例不限定步骤S303、S204和S206的校验顺序,例如执行顺序可以为步骤S303、S204、S206,也可以是执行步骤S206、S204、S303,或者采用其他执行顺序。步骤S204和步骤S206的具体校验方法可以参考前述。
[0066]步骤S308,网络地址转换穿透服务器根据校验结果控制终端的访问。
[0067]在一个实施例中,步骤S308可以采用以下方法进行访问控制:如果步骤S303、步骤S204和步骤S206的校验通过,即终端的应用令牌未过期、终端的应用令牌合法,并且终端的应用令牌未使用过,则允许终端访问,否则,步骤S303、步骤S204和步骤S206有任一项校验未通过,则拒绝终端访问。
[0068]在步骤S308或S208之后,还可以包括以下步骤:
[0069]步骤S310,网络地址转换穿透服务器将所用户名中的应用标识和序列号插入到已使用序列号列表中。
[0070]步骤S312,每天零时清空已使用序列号列表,从而可以重复利用序列号。
[0071]上述实施例,在用户名中除了设置了应用标识和序列号,还设置了产生时间,一方面,终端使用用户名和密码访问NAT穿透服务器时,由于每个序列号仅可以使用一次,并且终端没有第三方应用的令牌无法伪造新序列号的签名,因此即使终端的密码泄露,该终端的用户名和密码也不会被冒用;另一方面,通过设置产生时间,使得终端必须在规定时间内使用令牌进行访问,可以进一步减小密码泄露和被冒用的风险,并且NAT穿透服务器只需保存当天序列号的使用记录,可以保证认证效率。
[0072]图4为本发明Web实时通信中的访问控制装置一个实施例的结构示意图,该访问控制装置例如可以置于NAT穿透服务器中。
[0073]如图4所示,种Web实时通信中的访问控制装置,包括:
[0074]信息接收模块402,用于接收终端访问时发送的用户名和密码,所述用户名包括应用标识和序列号,所述密码是对所述用户名采用应用令牌签名得到的散列值,所述终端的用户名和密码由第三方应用平台设备提供,网络地址转换穿透服务器与第三方应用平台设备共享应用标识
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1