用于避免网络攻击的危害的方法和装置制造方法及图纸

技术编号:16823101 阅读:103 留言:0更新日期:2017-12-16 18:09
客户端终端(400)和网络服务器(402)中用于实现所述终端与服务器之间的安全通信的方法和装置。当终端在会话中从服务器获得网页时,终端基于与所述会话和/或网页有关的一个或多个上下文参数P1、...、Pn来创建上下文特有密钥Ks_NAF’。然后,终端在注册请求中向服务器指示上下文特有密钥,并且服务器以相同的方式确定上下文特有密钥Ks_NAF’,从而如果在网络服务器中确定的上下文特有密钥与从客户端终端接收的上下文特有密钥相匹配,则验证客户端。因此,上下文特有密钥被绑定,并且仅针对当前上下文或会话是有效的,而不能在其它上下文或会话中使用。

Methods and devices used to avoid the harm of network attacks

A method and device for realizing secure communication between the terminal and the server in the client terminal (400) and the network server (402). When a terminal obtains a web page from a server in the session, the terminal creates a context specific key Ks_NAF 'based on one or more contextual parameters P1 and Pn, which are related to the session and / or webpage. Then, the terminal instructions to the server in the registration key context specific request, and the server to determine the context specific key Ks_NAF \in the same way, so as to determine if the context specific key in the network server matches the context specific keys received from the client terminal, the client authentication. Therefore, the context specific key is bound and is valid only for the current context or session, and can not be used in other contexts or sessions.

【技术实现步骤摘要】
用于避免网络攻击的危害的方法和装置本申请是2013年9月27日(申请日:2011年7月6日)向中国专利局递交并进入中国国家阶段的题为“用于避免网络攻击的危害的方法和装置”的专利技术专利申请No.201180069660.X(PCT国际申请No.PCT/SE2011/050916)的分案申请。
本公开大体上涉及用于通过避免在从客户端盗取安全密钥时可能发生的危害,来实现客户端终端与网络服务器之间的安全通信的方法和装置。
技术介绍
所谓的“通用引导程序架构”(GBA)是在第三代合作伙伴计划(3GPP)中标准化的技术,其使通信网络中的客户端能够与位于连接到网络的网络服务器中的网络应用功能(NAF)建立共享密钥(例如,表示为“Ks_NAF”)。GBA通常用于客户端认证。由于很多当前现有的应用是基于网络的(即,在公共互联网或内联网上可用),因此当从客户端使用的浏览器执行客户端认证时,客户端认证特别令人关注。典型的场景是客户端是装备有由用户操作的浏览器的通信终端。为了允许GBA与基于超文本标记语言(HTML)表单的认证(其是在互联网上广泛使用的认证方法)一起使用,已经提出了在基于网络的应用中针对GBA在客户端处添加JavaScript应用程序接口(API)。然后,由客户端的浏览器来执行JavaScriptAPI,并且可以将JavaScriptAPI视为客户端的浏览器的一部分。在客户端处,可以根据以下动作1:1-1:4来使用JavaScriptAPI:动作1:1。客户端处的浏览器通过“HTTPS”从网络服务器下载注册页面,“HTTPS”是指传输层安全性(TLS)或安全套接字层(SSL)承载超文本传输协议(HTTP)。注册页面是包含“HTML表单(HTMLform)”的网页,该“HTML表单”具有针对“用户名”和“密码”的字段。动作1:2。下载的网页还包含一条JavaScript,此后简称为“脚本”。脚本包含称作“引导程序交易标识B-TID”的参数,其标识客户端。脚本通过调用由客户端提供的GBAJavaScriptAPI,还获得表示为“Ks_NAF”的共享密钥:(B-TID,Ks_NAF)=window.document.getGBAKey()。B-TID用作客户端的IMSI(国际移动订户标识)的一种别名形式,并且Ks_NAF与该网络服务器相关联并且也可能与使用相同NAF的其它网络服务器相关联。因此,Ks_NAF是与网络服务器共享的密钥,其在下面动作1:4中被使用。在本动作1:2中,JavaScriptAPI向脚本返回Ks_NAF和B-TID。动作1:3。脚本将所获得的B-TID作为用户名并且将所获得的Ks_NAF作为密码来填充HTML表单。然后,从客户端向网络服务器提交由此产生的HTML表单。动作1:4。网络服务器(即,NAF)通过核实用户名和密码来认证客户端。更详细地,NAF通过向与客户端相关联的引导程序服务器功能(BSF)提供在动作1:2中从客户端接收的B-TID来从BSF取回由客户端使用的Ks_NAF。BSF根据与客户端共享的密钥(称作“主密钥Ks”)导出Ks_NAF。因此,这是客户端在动作1:2中获得的相同密钥。Ks_NAF对于每一个NAF和Ks是唯一的。然而,在客户端处添加JavaScriptAPI的现有提议容易受到所谓的“脚本注入攻击”。通过找出向网页注入恶意脚本的方式,攻击者可以得到对敏感页面内容、信息记录程序、和可以由浏览器代表用户维护的各种其它信息的提高的访问特权或者访问。网页是否容易受到这种方式的脚本注入的攻击取决于其内容和由网络服务器的所有者(实际上是页面所有者)执行的安全缓解。已经发现上面的提议的问题在于由客户端处的JavaScriptAPI在上述过程中返回的共享密钥Ks_NAF具有非常广泛的使用。攻击者通过脚本注入“盗取的”密钥可以在整个域名系统(DNS)型的域(例如,“naf.com”)上以及在与使用该NAF的服务器进行的不同HTTP会话上保持有效和有用。为了说明这一点,将使用主机“naf.com”来考虑示例,主机“naf.com”是具有两个可访问的网页(表示为“login.html”和“vulnerable.html”)的网络服务器。已经对第一页面login.html进行了细致深入地编码,并且第一页面login.html本身不易受到任何类型的攻击。另一方面,第二页面vulnerable.html包含实际上使得其容易受到代码注入攻击的细微缺陷。认识到这一点,攻击者将下面的“恶意”脚本注入第二网页:<SCRIPTtype=″text/javascript″>(B-TID,Ks_NAF)=window.document.getGBAKey();...upload(B-TID,Ks_NAF)toattacker(将(B-TID,Ks_NAF)上传给攻击者)...</SCRIPT>访问第二网页naf.com/vulnerable.html并且根据上述过程获得共享密钥的下一个用户将不知不觉地通过注入第二网页的上述恶意脚本将其获得的密钥上传给攻击者。因此,攻击者进而可以使用该密钥来在naf.com/login.html处注册并且被正确地认证。在另一个示例中,在客户端浏览器中呈现下载的易受攻击的HTML文档。该文档包含指示浏览器下载并执行第三方脚本的命令,该第三方脚本可以是广告、访问者计数器或其它明显无害的应用。然而,第三方脚本还包含取回客户端的Ks_NAF和B-TID的路线(line),该取回操作是在执行脚本时相应地完成的。脚本还向呈现的网页添加链接,该链接是用于将Ks_NAF和B-TID上传给“有害”第三方的命令。在相信链接有用且无害的情况下,用户点击该链接并且然后上传被执行。由此,第三方获得客户端的Ks_NAF和B-TID,以供将来非法使用。因此,存在攻击者可以得到特定客户端的敏感信息(例如,共享密钥),并且使用该信息来在与该信息有效的网络服务器进行的未来会话中进行虚假认证和验证的问题。
技术实现思路
本专利技术的目的是解决上文概述的问题和议题中的至少一些。可以通过使用所附独立权利要求中定义的方法和装置来实现这些目的和其它目的。根据一个方面,提供了一种在客户端终端中用于实现与网络服务器的安全通信的方法。在该方法中,所述客户端终端在与所述网络服务器的会话中从所述网络服务器获得网页,确定与所述会话和/或网页有关的上下文参数集合P1、…、Pn,以及基于所述上下文参数来创建上下文特有密钥Ks_NAF’。然后,所述客户端终端使用所创建的上下文特有密钥Ks_NAF’,以便如果在所述网络服务器中确定的上下文特有密钥与所述客户端终端创建的所述上下文特有密钥相匹配,则在所述网络服务器中验证所述客户端。根据另一方面,提供了一种被配置为实现与网络服务器的安全通信的客户端终端。所述客户端终端包括:接收模块,被适配为在与所述网络服务器的会话中从所述网络服务器获得网页,密钥创建模块,被适配为确定与所述会话和/或网页有关的上下文参数集合P1、...、Pn,并且基于所述上下文参数来创建上下文特有密钥Ks_NAF’,以及发送模块,被适配为向所述网络服务器发送指示所创建的上下本文档来自技高网
...
用于避免网络攻击的危害的方法和装置

【技术保护点】
一种在客户端终端(100、400)中用于实现与网络服务器(106、402)的安全通信的方法,所述方法包括:‑在与所述网络服务器的会话中从所述网络服务器获得(202)网页,‑确定(204)与所述会话和/或网页有关的上下文参数集合P1、...、Pn,‑基于所述上下文参数来创建(206)上下文特有密钥Ks_NAF’,以及‑使用(208)所创建的上下文特有密钥Ks_NAF’,以便如果在所述网络服务器中确定的上下文特有密钥与所述客户端终端创建的所述上下文特有密钥相匹配,则在所述网络服务器中验证所述客户端。

【技术特征摘要】
2011.04.01 US 61/470,7091.一种在客户端终端(100、400)中用于实现与网络服务器(106、402)的安全通信的方法,所述方法包括:-在与所述网络服务器的会话中从所述网络服务器获得(202)网页,-确定(204)与所述会话和/或网页有关的上下文参数集合P1、...、Pn,-基于所述上下文参数来创建(206)上下文特有密钥Ks_NAF’,以及-使用(208)所创建的上下文特有密钥Ks_NAF’,以便如果在所述网络服务器中确定的上下文特有密钥与所述客户端终端创建的所述上下文特有密钥相匹配,则在所述网络服务器中验证所述客户端。2.根据权利要求1所述的方法,其中,在注册请求中向所述网络服务器指示所创建的上下文特有密钥Ks_NAF’。3.根据权利要求1或2所述的方法,其中,所述上下文参数包括以下各项中的至少一项:所述网页的通用资源定位符(URL)的路径组成部分、所述会话的当前HTTP会话标识、以及所述会话的当前传输层安全性(TLS)/安全套接字层(SSL)会话标识。4.根据权利要求1至3中任意一项所述的方法,其中,通过将预定的密钥导出函数KDF应用于所述上下文参数来创建所述上下文特有密钥Ks_NAF’,所述密钥导出函数为所述网络服务器所知。5.根据权利要求4所述的方法,其中,基于所述上下文参数P1、..、Pn以预先确定的方式来创建聚合参数S,并且通过将所述聚合参数S和应用特有密钥Ks_NAF用作输入来应用所述密钥导出函数,使得:Ks_NAF’=KDF(Ks_NAF,S(P1,...Pn))。6.根据权利要求5所述的方法,其中,已经根据从引导程序服务功能BSF获得的主密钥Ks导出了所述应用特有密钥Ks_NAF。7.根据权利要求1至6中任意一项所述的方法,其中,通过与具有网络应用功能NAF的所述网络服务器进行通信来确定所述上下文参数。8.一种被配置为实现与网络服务器(402)的安全通信的客户端终端(400),所述客户端终端包括:-接收模块(400a),被适配为在与所述网络服务器的会话中从所述网络服务器获得网页,-密钥创建模块(400b),被适配为确定与所述会话和/或网页有关的上下文参数集合P1、...、Pn,并且基于所述上下文参数来创建上下文特有密钥Ks_NAF’,以及-发送模块(400c),被适配为向所述网络服务器发送指示所创建的上下文特有密钥Ks_NAF’的注册请求,以便如果在所述网络服务器中确定的上下文特有密钥与所述客户端终端创建的所述上下文特有密钥相匹配,则实现对所述客户端的验证。9.根据权利要求8所述的客户端终端,其中,所述密钥创建模块(400b)被进一步适配为:通过将预定的密钥导出函数KDF应用于所述上下文参数来创建所述上下文特有密钥Ks_NAF’,所述密钥导出函数为所述网络服务器所知。10.根据权利要求9所述的客户端终端,其中,所述密钥创建模块(400b)被进一步适配为:基于所述上下文参数P1、...、Pn以预先确定的方式来创建聚合参数S,并且通过将所述聚合参数S和应用特有密钥Ks_NAF用作输入来应用所述密钥导出函数,使得:Ks_NAF’=KDF(Ks_NAF,S(P1,...Pn))。11.根据权利要求8至10中任意一项所述的客...

【专利技术属性】
技术研发人员:奥斯卡·奥尔松韦萨·勒托威尔塔约翰·马特森卡尔·诺曼
申请(专利权)人:瑞典爱立信有限公司
类型:发明
国别省市:瑞典,SE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1