《外部代码安全机制.pdf》由会员分享,可在线阅读,更多相关《外部代码安全机制.pdf(21页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104011730 A (43)申请公布日 2014.08.27 C N 1 0 4 0 1 1 7 3 0 A (21)申请号 201180076059.3 (22)申请日 2011.10.31 G06F 21/33(2013.01) G06F 21/34(2013.01) H04L 9/08(2006.01) H04L 9/32(2006.01) H04L 29/06(2006.01) H04W 12/06(2009.01) (71)申请人诺基亚公司 地址芬兰埃斯波 (72)发明人 S奥尔特曼斯 PJ莱蒂宁 (74)专利代理机构北京市中咨律师事务所 11247 代。
2、理人杨博 杨晓光 (54) 发明名称 外部代码安全机制 (57) 摘要 一种用于提供外部代码安全机制的方法,其 中所述方法包括接收所述外部代码,该外部代 码包括对服务器特定的自举密钥(Ks_NAF)的 请求。所述方法进一步包括确定服务器标识符 (NAF-Id)和安全令牌。而且,所述方法包括基于 所述服务器标识符(NAF-Id)生成所述服务器特 定的自举密钥(Ks_NAF),并且使用所述服务器特 定的自举密钥(Ks_NAF)和所述安全令牌生成外 部代码特定的自举密钥(Ks_js_NAF)。所述方法 还包括使用所述外部代码特定的自举密钥(Ks_ js_NAF)用于所述外部代码的安全机制。 (85)。
3、PCT国际申请进入国家阶段日 2014.06.27 (86)PCT国际申请的申请数据 PCT/FI2011/050953 2011.10.31 (87)PCT国际申请的公布数据 WO2013/064716 EN 2013.05.10 (51)Int.Cl. 权利要求书3页 说明书12页 附图5页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书12页 附图5页 (10)申请公布号 CN 104011730 A CN 104011730 A 1/3页 2 1.一种用于提供外部代码安全机制的方法,所述方法包括: 接收所述外部代码,该外部代码包括对服务器特定的自举密。
4、钥(Ks_NAF)的请求; 确定服务器标识符(NAF-Id)并基于所述服务器标识符(NAF-Id)生成所述服务器特定 的自举密钥(Ks_NAF); 确定安全令牌; 使用所述服务器特定的自举密钥(Ks_NAF)和所述安全令牌生成外部代码特定的自举 密钥(Ks_js_NAF);以及 使用所述外部代码特定的自举密钥(Ks_js_NAF)用于所述外部代码的安全机制。 2.根据权利要求1的方法,进一步包括使用第一随机质询(RAND1)和第二随机质询 (RAND2)确定所述安全令牌。 3.根据权利要求2的方法,进一步包括: 将所述第二随机质询(RAND2)和所述外部代码特定的自举密钥(Ks_js_NAF)。
5、发送到应 用服务器,用于验证所述外部代码特定的自举密钥(Ks_js_NAF)。 4.根据权利要求3的方法,其中所述发送步骤进一步包括: 发送响应外部代码,该响应外部代码包括所述第二随机质询(RAND2)和所述外部代码 特定的自举密钥(Ks_js_NAF)。 5.根据权利要求1的方法,进一步包括: 通过装置的浏览器应用从应用服务器接收所述外部代码; 通过所述浏览器应用的应用程序设计接口(JS-GBA-API)确定所述服务器标识符 (NAF-Id)和所述安全令牌; 通过所述应用程序设计接口(JS-GBA-API)从操作系统的自举模块请求所述服务器特 定的自举密钥(Ks_NAF); 通过所述应用程序。
6、设计接口(JS-GBA-API)从所述自举模块接收所述服务器特定的自 举密钥(Ks_NAF);以及 通过所述应用程序设计接口(JS-GBA-API)生成所述外部代码特定的自举密钥(Ks_ js_NAF)。 6.根据上述任一权利要求的方法,进一步包括: 在装置的浏览器应用与应用服务器之间建立传输层安全(TLS)隧道;以及 确定所述服务器标识符(NAF-Id),该标识符包括域名(FQDN)和安全协议标识符。 7.根据权利要求6的方法,其中所述安全协议标识符使用传输层安全(TLS)的加密套 接字形成。 8.根据上述任一权利要求的方法,进一步包括: 生成具有密钥导出功能的所述外部代码特定的自举密钥(K。
7、s_js_NAF)。 9.根据上述任一权利要求的方法,其中所述外部代码包括JavaScript代码。 10.根据权利要求1的方法,进一步包括使用传输层安全(TLS)主密钥确定所述安全令 牌。 11.一种装置,包括: 至少一个处理器;以及 至少一个存储器,其包括计算机程序代码,所述至少一个存储器和所述计算机程序代 权 利 要 求 书CN 104011730 A 2/3页 3 码被配置为通过所述至少一个处理器导致所述装置至少: 接收外部代码,该外部代码包括对服务器特定的自举密钥(Ks_NAF)的请求; 确定服务器标识符(NAF-Id)并基于所述服务器标识符(NAF-Id)生成所述服务器特定 的自举。
8、密钥(Ks_NAF); 确定安全令牌; 使用所述服务器特定的自举密钥(Ks_NAF)和所述安全令牌生成外部代码特定的自举 密钥(Ks_js_NAF);以及 使用所述外部代码特定的自举密钥(Ks_js_NAF)用于所述外部代码的安全机制。 12.根据权利要求11的装置,其中所述至少一个存储器和所述计算机程序代码被进一 步配置为通过所述至少一个处理器导致所述装置至少: 使用第一随机质询(RAND1)和第二随机质询(RAND2)确定所述安全令牌。 13.根据权利要求11或12的装置,其中所述至少一个存储器和所述计算机程序代码被 进一步配置为通过所述至少一个处理器导致所述装置至少: 通过所述装置的浏览。
9、器应用从应用服务器接收所述外部代码; 通过所述浏览器应用的应用程序设计接口(JS-GBA-API)确定所述服务器标识符 (NAF-Id); 通过所述应用程序设计接口(JS-GBA-API)从操作系统的自举模块请求所述服务器特 定的自举密钥(Ks_NAF); 通过所述应用程序设计接口(JS-GBA-API)从所述自举模块接收所述服务器特定的自 举密钥(Ks_NAF);以及 通过所述应用程序设计接口(JS-GBA-API)生成所述外部代码特定的自举密钥(Ks_ js_NAF)。 14.根据权利要求11至13中任一项的装置,其中所述至少一个存储器和所述计算机程 序代码被进一步配置为通过所述至少一个处。
10、理器导致所述装置至少: 使用传输层安全(TLS)主密钥确定所述安全令牌。 15.一种体现在计算机可读介质上的计算机程序产品,所述计算机程序产品包括计算 机可执行程序代码,当被装置的至少一个处理器执行时,所述计算机可执行程序代码导致 所述装置: 接收外部代码,该外部代码包括对服务器特定的自举密钥(Ks_NAF)的请求; 确定服务器标识符(NAF-Id)并基于所述服务器标识符(NAF-Id)生成所述服务器特定 的自举密钥(Ks_NAF); 确定安全令牌; 使用所述服务器特定的自举密钥(Ks_NAF)和所述安全令牌生成外部代码特定的自举 密钥(Ks_js_NAF);以及 使用所述外部代码特定的自举密。
11、钥(Ks_js_NAF)作为所述外部代码的安全机制。 16.一种用于提供外部代码安全机制的方法,所述方法包括: 发送所述外部代码,其中所述外部代码包括对服务器特定的自举密钥(Ks_NAF)的请 求; 确定安全令牌; 权 利 要 求 书CN 104011730 A 3/3页 4 使用服务器标识符(NAF-Id)生成所述服务器特定的自举密钥(Ks_NAF); 使用所述服务器特定的自举密钥(Ks_NAF)和所述安全令牌生成外部代码特定的自举 密钥(Ks_js_NAF);以及 使用所述外部代码特定的自举密钥(Ks_js_NAF)用于所述外部代码的安全机制。 17.根据权利要求16的方法,进一步包括: 。
12、从自举服务器功能(BSF)请求所述服务器特定的自举密钥(Ks_NAF);以及 确定所述服务器标识符(NAF-Id),该标识符包括域名(FQDN)和安全协议标识符。 18.根据权利要求16或17的方法,进一步包括: 接收外部代码特定的自举密钥(Ks_js_NAF);以及 通过比较所生成的外部代码特定的自举密钥(Ks_js_NAF)与所接收的外部代码特定 的自举密钥(Ks_js_NAF),验证用于所述外部代码的所述安全机制的所述外部代码特定的 自举密钥(Ks_js_NAF)。 19.一种应用服务器,包括: 至少一个处理器;以及 至少一个存储器,其包括计算机程序代码,所述至少一个存储器和所述计算机程。
13、序代 码被配置为通过所述至少一个处理器导致所述应用服务器至少: 发送外部代码,其中所述外部代码包括对服务器特定的自举密钥(Ks_NAF)的请求; 使用服务器标识符(NAF-Id)生成服务器特定的自举密钥(Ks_NAF); 确定安全令牌; 使用所述服务器特定的自举密钥(Ks_NAF)和所述安全令牌生成外部代码特定的自举 密钥(Ks_js_NAF);以及 使用所述外部代码特定的自举密钥(Ks_js_NAF)用于所述外部代码的安全机制。 20.一种体现在计算机可读介质上的计算机程序,所述计算机程序包括计算机可执行 程序代码,当被应用服务器的至少一个处理器执行时,所述计算机可执行程序代码导致所 述应用。
14、服务器: 发送外部代码,其中所述外部代码包括对服务器特定的自举密钥(Ks_NAF)的请求; 使用服务器标识符(NAF-Id)生成服务器特定的自举密钥(Ks_NAF); 确定安全令牌; 使用所述服务器特定的自举密钥(Ks_NAF)和所述安全令牌生成外部代码特定的自举 密钥(Ks_js_NAF);以及 使用所述外部代码特定的自举密钥(Ks_js_NAF)用于所述外部代码的安全机制。 权 利 要 求 书CN 104011730 A 1/12页 5 外部代码安全机制 技术领域 0001 本发明涉及Web应用服务器提供的外部代码安全机制。更具体但非排他地说,本 发明涉及服务器、电话浏览器和操作系统如何允。
15、许通过诸如JavaScript之类的外部代码, 从浏览器安全地使用基于蜂窝的凭据。 背景技术 0002 今天,存在大量提供各种文本和非文本内容类型的万维网页(例如,HTML文档)。 同时,通信领域,更具体地是指无线电信领域当前正经历着激进的扩张。此技术扩展允许诸 如个人数字助理(PDA)、膝上型计算机、蜂窝电话、平板式计算机以及其它电子装置之类的 小型手持式电子装置与诸如Web服务器或数据库之类的同一信息源相连,这些电子装置可 具有个人计算机(PC)和基于PC的浏览器。存在多种小型装置客户端浏览器,它们将来自 Web的内容显示到手持式装置。 0003 使用诸如HTML文档之类的Web内容内的脚。
16、本命令,这些文档使用JavaScript或 类似的脚本语言编写。基于PC的浏览器上执行的脚本命令可生成可用于基于PC的浏览器 的用户的部分或全部信息内容。 0004 具备多媒体功能的新移动终端(多媒体电话)针对应用开发者提供开放式开发平 台,从而允许独立的应用开发者针对多媒体环境设计新服务和应用。用户反过来可以将新 应用/服务下载到他们的移动终端并在移动终端中使用这些应用/服务。因此,移动终端 安全管理模块与Web应用服务器的交互对于整体安全性而言非常重要。需要一种改进的解 决方案来针对Web内容使用移动终端安全管理模块,这些Web内容包括从外部源检索的诸 如JavaScript之类的外部代码。
17、。 发明内容 0005 根据本发明的第一实例方面,提供一种用于提供外部代码安全机制的方法,所述 方法包括: 0006 接收所述外部代码,该外部代码包括对服务器特定的自举密钥(Ks_NAF)的请求; 0007 确定服务器标识符(NAF-Id)并基于所述服务器标识符(NAF-Id)生成所述服务器 特定的自举密钥(Ks_NAF); 0008 确定安全令牌; 0009 使用所述服务器特定的自举密钥(Ks_NAF)和所述安全令牌生成外部代码特定的 自举密钥(Ks_js_NAF);以及 0010 使用所述外部代码特定的自举密钥(Ks_js_NAF)用于所述外部代码的安全机制。 0011 在一个实施例中,所。
18、述方法进一步包括使用第一随机质询(RAND1)和第二随机质 询(RAND2)确定所述安全令牌。所述方法可进一步包括将所述第二随机质询(RAND2)和 所述外部代码特定的自举密钥(Ks_js_NAF)发送到应用服务器以验证所述外部代码特定 的自举密钥(Ks_js_NAF)。可发送响应外部代码,该响应外部代码包括所述第二随机质询 说 明 书CN 104011730 A 2/12页 6 (RAND2)和所述外部代码特定的自举密钥(Ks_js_NAF)。 0012 在一个实施例中,所述方法进一步包括: 0013 通过装置的浏览器应用从应用服务器接收所述外部代码; 0014 通过所述浏览器应用的应用程序。
19、设计接口(JS-GBA-API)确定所述服务器标识符 (NAF-Id)和所述安全令牌; 0015 通过所述应用程序设计接口(JS-GBA-API)从操作系统的自举模块请求所述服务 器特定的自举密钥(Ks_NAF); 0016 通过所述应用程序设计接口(JS-GBA-API)从所述自举模块接收所述服务器特定 的自举密钥(Ks_NAF);以及 0017 通过所述应用程序设计接口(JS-GBA-API)生成所述外部代码特定的自举密钥 (Ks_js_NAF)。 0018 可在装置的浏览器应用与应用服务器之间建立传输层安全(TLS)隧道。可确定所 述服务器标识符(NAF-Id),该标识符包括域名(FQD。
20、N)和安全协议标识符。所述安全协议标 识符可使用传输层安全(TLS)的加密套接字形成。 0019 在一个实施例中,所述方法进一步包括生成具有密钥导出功能的所述外部代码特 定的自举密钥(Ks_js_NAF)。所述外部代码可包括JavaScript代码。 0020 在一个实施例中,所述方法进一步包括使用传输层安全(TLS)主密钥确定所述安 全令牌。 0021 根据本发明的第二实例方面,提供一种装置,其包括: 0022 至少一个处理器;以及 0023 至少一个存储器,其包括计算机程序代码,所述至少一个存储器和所述计算机程 序代码被配置为通过所述至少一个处理器导致所述装置至少: 0024 接收外部代码。
21、,该外部代码包括对服务器特定的自举密钥(Ks_NAF)的请求; 0025 确定服务器标识符(NAF-Id)并基于所述服务器标识符(NAF-Id)生成所述服务器 特定的自举密钥(Ks_NAF); 0026 确定安全令牌; 0027 使用所述服务器特定的自举密钥(Ks_NAF)和所述安全令牌生成外部代码特定的 自举密钥(Ks_js_NAF);以及 0028 使用所述外部代码特定的自举密钥(Ks_js_NAF)用于所述外部代码的安全机制。 0029 所述安全令牌可使用第一随机质询(RAND1)和第二随机质询(RAND2)确定。 0030 在一个实施例中,所述至少一个存储器和所述计算机程序代码被进一步。
22、配置为通 过所述至少一个处理器导致所述装置至少: 0031 通过所述装置的浏览器应用从应用服务器接收所述外部代码; 0032 通过所述浏览器应用的应用程序设计接口(JS-GBA-API)确定所述服务器标识符 (NAF-Id); 0033 通过所述应用程序设计接口(JS-GBA-API)从操作系统的自举模块请求所述服务 器特定的自举密钥(Ks_NAF); 0034 通过所述应用程序设计接口(JS-GBA-API)从所述自举模块接收所述服务器特定 的自举密钥(Ks_NAF);以及 说 明 书CN 104011730 A 3/12页 7 0035 通过所述应用程序设计接口(JS-GBA-API)生成。
23、所述外部代码特定的自举密钥 (Ks_js_NAF)。 0036 可确定所述服务器标识符(NAF-Id),该标识符包括域名(FQDN)和安全协议标识 符。 0037 在一个实施例中,所述安全令牌可使用传输层安全(TLS)主密钥确定。 0038 根据本发明的第三实例方面,提供一种体现在计算机可读介质上的计算机程序, 所述计算机程序包括计算机可执行程序代码,当被装置的至少一个处理器执行时,所述计 算机可执行程序代码导致所述装置: 0039 接收外部代码,该外部代码包括对服务器特定的自举密钥(Ks_NAF)的请求; 0040 确定服务器标识符(NAF-Id)并基于所述服务器标识符(NAF-Id)生成所。
24、述服务器 特定的自举密钥(Ks_NAF); 0041 确定安全令牌; 0042 使用所述服务器特定的自举密钥(Ks_NAF)和所述安全令牌生成外部代码特定的 自举密钥(Ks_js_NAF);以及 0043 使用所述外部代码特定的自举密钥(Ks_js_NAF)用于所述外部代码的安全机制。 0044 根据本发明的第四实例方面,提供一种用于提供外部代码安全机制的方法,所述 方法包括: 0045 发送所述外部代码,其中所述外部代码包括对服务器特定的自举密钥(Ks_NAF) 的请求; 0046 确定安全令牌; 0047 使用服务器标识符(NAF-Id)生成所述服务器特定的自举密钥(Ks_NAF); 00。
25、48 使用所述服务器特定的自举密钥(Ks_NAF)和所述安全令牌生成外部代码特定的 自举密钥(Ks_js_NAF);以及 0049 使用所述外部代码特定的自举密钥(Ks_js_NAF)用于所述外部代码的安全机制。 0050 在一个实施例中,所述方法进一步包括: 0051 从自举服务器功能(BSF)请求所述服务器特定的自举密钥(Ks_NAF);以及 0052 确定所述服务器标识符(NAF-Id),该标识符包括域名(FQDN)和安全协议标识符。 0053 在一个实施例中,所述方法进一步包括: 0054 接收外部代码特定的自举密钥(Ks_js_NAF);以及 0055 通过与所接收的外部代码特定的自。
26、举密钥(Ks_js_NAF)比较,验证所生成的外部 代码特定的自举密钥(Ks_js_NAF)为所述外部代码的所述安全机制。 0056 根据本发明的第五实例方面,提供一种应用服务器,其包括: 0057 至少一个处理器;以及 0058 至少一个存储器,其包括计算机程序代码,所述至少一个存储器和所述计算机程 序代码被配置为通过所述至少一个处理器导致所述应用服务器至少: 0059 发送外部代码,其中所述外部代码包括对服务器特定的自举密钥(Ks_NAF)的请 求; 0060 使用服务器标识符(NAF-Id)生成服务器特定的自举密钥(Ks_NAF); 0061 确定安全令牌; 说 明 书CN 104011。
27、730 A 4/12页 8 0062 使用所述服务器特定的自举密钥(Ks_NAF)和所述安全令牌生成外部代码特定的 自举密钥(Ks_js_NAF);以及 0063 使用所述外部代码特定的自举密钥(Ks_js_NAF)用于所述外部代码的安全机制。 0064 在一个实施例中,所述至少一个存储器和所述计算机程序代码被进一步配置为通 过所述至少一个处理器导致所述应用服务器至少: 0065 通过从自举服务器功能(BSF)请求,生成所述服务器特定的自举密钥(Ks_NAF)。 0066 根据本发明的第六实例方面,提供一种体现在计算机可读介质上的计算机程序, 所述计算机程序包括计算机可执行程序代码,当被应用服。
28、务器的至少一个处理器执行时, 所述计算机可执行程序代码导致所述应用服务器: 0067 发送外部代码,其中所述外部代码包括对服务器特定的自举密钥(Ks_NAF)的请 求; 0068 使用服务器标识符(NAF-Id)生成服务器特定的自举密钥(Ks_NAF); 0069 确定安全令牌; 0070 使用所述服务器特定的自举密钥(Ks_NAF)和所述安全令牌生成外部代码特定的 自举密钥(Ks_js_NAF);以及 0071 使用所述外部代码特定的自举密钥(Ks_js_NAF)用于所述外部代码的安全机制。 0072 上述任何存储介质都可包括诸如数据光盘或磁盘的数字数据存储、光存储、磁存 储、全息存储、光磁。
29、存储、相变存储器、阻变随机存取存储器、磁随机存取存储器、固体电解 质存储器、铁电随机存取存储器、有机存储器或聚合物存储器。所述存储介质可形成为没有 存储存储器之外其它基本功能的器件,也可形成为具有其它功能的器件的一部分,其中包 括但不限于计算机存储器、芯片组和电子装置子配件。 0073 上面已阐述本发明的各种不具约束性的示例性方面和实施例。上述实施例仅用于 解释可在实现本发明时使用的选定方面或步骤。有些实施例只能参考本发明的特定示例性 方面呈现。应该理解,对应的实施例也可应用于其它示例性方面。 附图说明 0074 现在将参考附图,仅借助实例描述本发明,其中: 0075 图1示出其中可应用本发明。
30、各个实施例的系统架构的某些细节; 0076 图2示出其中可应用本发明各个实施例的系统元件的某些细节; 0077 图3示出根据本发明的实施例的消息传送图表; 0078 图4呈现其中可应用本发明各个实施例的应用服务器的示例性框图; 0079 图5呈现其中可应用本发明各个实施例的用户装置的示例性框图; 0080 图6示出显示根据本发明的示例性实施例的用户装置中的操作的流程图;以及 0081 图7示出显示根据本发明的示例性实施例的应用服务器中的操作的流程图。 具体实施方式 0082 在下面的描述中,相同的参考标号表示相同的元件。 0083 本发明的各个实施例采用3GPP中定义的用于对等体认证和通信安全。
31、性的通用认 证架构(GAA)和通用自举架构(GBA)的特性。GAA/GBA的变形也由开放移动联盟(OMA)和 说 明 书CN 104011730 A 5/12页 9 CableLabs标准化。GAA/GBA基于用于3GPP的移动算法AKA(认证与密钥协商协议)。GAA/ GBA程序的最初目的是认证用户设备或用户。现在在本发明的各个实施例中,GAA/GBA用于 提高应用服务器、移动终端浏览器与移动终端操作系统之间的安全性。在一个实施例中,例 如启用通过网页内从服务器下载到用户装置的外部代码,从浏览器安全地使用基于蜂窝的 凭据。外部代码例如可包括JavaScript代码。 0084 使用认证应用服。
32、务器的GAA/GBA认证机制的优点在于用户可避免使用在此情况 以外所需的价格昂贵的公钥基础设施。GAA/GBA是例如用于移动TV和呈现的多用途使能 器。通过使用这种现有的机制及其关联的基础设施,可实现降低管理成本和所需投入量的 优点。 0085 在下面的描述中,诸如用户装置、应用服务器、自举服务器和通用认证程序之类的 术语用于指示与本发明各个实施例相关的各种元件/机制。需要注意,作为明确示出的元 件/机制的替代或补充,还可使用提供类似功能的其它某些元件/机制。 0086 在本发明的各个实施例中,应用服务器可以是为用户提供Web服务的Web服务器。 应用服务器还可以是网络运营商不信任的服务器,并。
33、且包括网络应用功能(NAF)。 0087 图1示出其中可应用本发明各个实施例的系统架构100的某些细节。系统包括诸 如用户设备(UE)110之类的用户装置,以及提供Web服务的应用服务器120。此外,系统还 包括自举服务器功能(BSF)130和用户数据库140,例如,归属用户服务器(HSS)或归属位 置寄存器(HLR)。装置10进一步包括被配置为与自举服务器功能(BSF)协作的GBA(通用 自举架构)功能块150和被配置为与应用服务器120协作的网络应用功能(NAF)客户端 160。网络应用功能(NAF)客户端例如可包括浏览器。在GAA/GBA中,应用服务器可被称为 网络应用功能(NAF)。G。
34、AA/GBA中定义了自举服务器功能(BSF)130与用户数据库140之间 的Zh接口、自举服务器功能(BSF)130与应用服务器120之间的Zn接口、以及自举服务器 功能(BSF)130与用户装置130之间的Ub接口。此外,如果部署HLR,则可定义自举服务器 功能(BSF)130与HLR140之间的Zh接口。另外,可与签约位置功能(SLF)对接,该功能将 用户数据库信息提供给自举服务器功能(BSF)。 0088 与自举服务器功能(BSF)130和用户数据库140相比,应用服务器120可由不同方 管理,或者它们可由同一方(一般为所涉及的通信网络的运营商)管理。 0089 必须注意,系统100可包。
35、括,并且一般确实包括其它各种元件,但是为了清晰起 见,这里不示出这些元件。 0090 在一个实施例中,通用自举服务器功能(BSF)130和用户设备(UE)110应该使用认 证与密钥协商协议(AKA)相互认证,并就之后在用户设备(UE)110与服务器120的网络应 用功能(NAF)之间应用的密钥达成一致。网络应用功能(NAF)是位于服务供应服务器120 中的功能模块。备选地,如果使用旧式智能卡,则可使用传输层安全(TLS)和旧认证。通用 自举架构(GBA)也可使用其它认证机制,例如超文本传输协议(HTTP)摘要或会话发起协 议(SIP)摘要。服务器120的网络应用功能(NAF)模块的主要功能是服。
36、务/用户管理(例 如,服务订阅和退订)以及服务密钥管理(例如,服务密钥生成和交付)。自举服务器功能 (BSF)130应该使用密钥导出程序,将密钥材料的应用限于服务器120的特定网络应用功能 (NAF)。密钥导出程序可在密钥材料的寿命期间用于多个网络应用功能(NAF)。密钥材料 的寿命根据自举服务器功能(BSF)130的本地策略设定。自举服务器功能(BSF)130被允许 说 明 书CN 104011730 A 6/12页 10 从归属用户系统(HSS)140提取任何所需的认证信息、安全信息和用户资料信息。在旧网络 中,自举服务器功能(BSF)130可与归属位置寄存器(HLR)而非归属用户系统(H。
37、SS)140进 行交互。 0091 例如运营商可能关心如何通过外部代码(例如,JavaScript之类的脚本代码)使 用GBA。外部代码可被下载到用户装置,问题是如何保证GBA模块的机密被原样发送到Web 服务器。 0092 图2示出其中可应用本发明各个实施例的系统元件的某些细节。外部代码可包括 任何被下载到装置并且可能在本地使用或执行的代码。外部代码可在已安装的应用(例 如,浏览器或小工具)中执行。外部代码的一个实例是JavaScript代码。为简单起见,下 面的示例性实施例使用JavaScript描述,但是实施例不限于JavaScript,可采用任何外部 代码。 0093 JavaScri。
38、pt可以在用户设备(UE)110中处理的客户端JavaScript的形式使用。运 行JavaScript280可作为Web浏览器210的一部分实现,从而提供增强的用户接口和动态 网站。这样允许按程序访问主机环境内的计算对象。JavaScript280还可在网页外部的应 用中使用,例如在文档中、在网站特定的浏览器中,以及在桌面小工具中使用。JavaScript 还用于服务器端Web应用。应用程序设计接口(API)是软件在彼此通信时必须遵循的特 殊规则(code)与规范集。API充当不同软件程序之间的接口并便利它们的交互。对于 JavaScript280,可创建GBA API,在图2中命名为JS-。
39、GBA-API220。用户设备(UE)110的操 作系统(OS)230可包括GBA模块240,该模块负责用户设备(UE)110的安全管理。用户设 备(UE)110也可包括通用集成电路卡(UICC)270,该卡是在蜂窝网络中的移动终端内使用 的智能卡。通用集成电路卡(UICC)270确保所有种类个人资料的完整性与安全性,它通常 包含应用。UICC智能卡还可包括CPU、ROM、RAM、EEPROM和I/O电路。 0094 用户设备(UE)110的浏览器210可与网络应用功能(NAF)服务器120进行通信, 服务器120例如作为Web内容的应用服务服务器工作。网络应用功能(NAF)服务器120例 如。
40、可包括GBA NAF模块250和服务器应用260。 0095 在一个实施例中,提供用户装置安全管理模块(GBA模块,即OS的一部分)与Web 应用服务器的交互。安全机制允许通过来自外部源120的JavaScript280,从浏览器210安 全地使用安全管理模块240。 0096 当指示GBA密钥时,旨在指示以下密钥:Ks和根据Ks导出的NAF特定的密钥。当 指示NAF特定的密钥时,旨在指示以下密钥:Ks_ext/int_NAF(在GBA_U上下文中)和Ks_ NAF(在GBA_ME上下文中),以及根据这些密钥导出的任何密钥。Ks_ext_NAF是与Ks_NAF完 全相同的密钥,即,在ME中使用。
41、的NAF特定的密钥。Ks_ext_NAF在GBA_U上下文中,在UICC 中导出并被提供给ME,Ks_NAF在GBA_ME上下文中,在ME中导出。它们在ME中的使用方式 完全相同,不考虑上下文。Ks_int_NAF在UICC中导出并且在UICC中使用。Ks_ext/int_ NAF从不离开UICC。当指示Ks_js_NAF密钥时,旨在指示JavaScript代码的JavaScript 密钥以及替代Ks_NAF或Ks_ext_NAF使用的应用服务器。 0097 在一个实施例中,在UE与网络应用功能(NAF)之间的通信开始之前,UE与网络应 用功能(NAF)首先必须商定是否使用GBA。当UE希望与。
42、网络应用功能(NAF)交互,而不知 道网络应用功能(NAF)是否需要使用通过GBA获取的共享密钥时,UE应该联系网络应用功 说 明 书CN 104011730 A 10 7/12页 11 能(NAF)以获取进一步的指示。 0098 图3示出根据本发明的实施例的消息传送图表。并非所示的所有消息和项需要被 执行,消息顺序可改变,可执行更多消息,不限于图3所示的消息和项。 0099 诸如用户设备(UE)之类的用户装置可通过参考点Ua开始与应用服务器(例如, 不带任何通用自举架构(GBA)相关参数的网络应用功能(NAF)服务器)的通信。如果NAF 需要使用通过GBA获取的共享密钥,但是来自的UE的请求。
43、不包括GBA相关的参数,则网络 应用功能(NAF)使用自举发起消息进行应答。该指示的形式取决于特定参考点Ua。 0100 在一个实施例中,Web浏览器210被视为可信应用,在这个意义上说,用户信任浏 览器210正确地处理与安全性相关的功能,并且不会将密码之类的敏感信息泄露给第三 方。在图3中,Web浏览器210被分为三个功能块:引擎模块310、JavaScript模块320和 GBA-API模块330。 0101 引擎模块310处理Web浏览器210的基本功能,如通过Web浏览器210建立传输 层安全(TLS),下载Web资源,以及为用户提供用户接口信息。 0102 GBA-API模块330提。
44、供朝向Web浏览器210中执行的任何JavaScript代码的应用 程序设计接口(API)。由于JavaScript明确地不应被信任,因此Web浏览器210和GBA-API 模块330不能向JavaScript泄露任何敏感信息,如非必要,也不能接收来自JavaScript的 任何敏感信息。 0103 JavaScript模块320执行已加载的JavaScript。Web浏览器210中执行的任何 JavaScript都不应被信任,也不能允许其访问敏感资源,或者应该控制其对此类资源的访 问。 0104 图3所示的顺序流程图可在服务器认证的传输层安全(TLS)隧道内执行。另外, Web浏览器210可。
45、执行下载html页面的进程,其中一个关联的JavaScript资源被称为 “gba.js”。 0105 在项0,浏览器应用210和Web服务器120建立服务器认证的传输层安全(TLS)隧 道。 0106 在图3的项1,诸如用户设备(UE)之类的用户装置的浏览器应用210请求内容下 载。该内容例如可以是Web服务器之类的应用服务器120提供的网页。项1的请求例如可 包括HTTP请求。 0107 在图3的项2,Web服务器120通过生成服务器随机质询(RAND1)动态地构造 JavaScript代码“gba.js”文件,该服务器随机质询将包括在JavaScript代码中并被提供 给浏览器210的G。
46、BA API330。RAND1也可存储在Web服务器120的本地。在该JavaScript 代码中,可使用JavaScript GBA应用程序设计接口(API)220请求并获取JavaScript特定 的GBA密钥(Ks_js_NAF)。在项2,随机质询RAND1包括在GBA API请求中。当在浏览器210 上接收时,JavaScript特定的GBA密钥(Ks_js_NAF)请求也可被转发到GBA模块240,然后 再被GBA模块240转发到GBA API220以做进一步处理。 0108 在项3,例如从服务器120加载具有JavaScript代码280的网页作为HTTP响应。 在项4,Web浏览。
47、器210的引擎310开始在JavaScript模块320中执行JavaScript代码 “gba.js”。 0109 在项5,JavaScript代码“gba.js”来到调用GBA API330的点。该调用包含RAND1 说 明 书CN 104011730 A 11 8/12页 12 作为参数之一。在项6,JavaScript GBA API330存储已接收的RAND1。GBA API330还查找 有关JavaScript代码的相关信息,例如它执行何种html页面,从哪个url下载html页面, 以及在TLS隧道中使用哪个TLS加密套接字。Web服务器(NAF)120的域名(FQDN)可被从 。
48、网页的url提取出来,并且可根据所用的TLS加密套接字导出Ua安全协议标识符。NAF服 务器120的域名(FQDN)和Ua安全协议标识符形成网络应用功能标识符(NAF-Id)。 0110 在项7,GBA API模块330通过项6中导出的NAF-Id调用GBA模块240。在项8, 当不存在有效的GBA主密钥Ks时,GBA模块240通过自举功能(BSF)进行自举。根据Ks, 使用NAF-Id导出NAF特定的密钥(Ks_ext_NAF)。 0111 在GBA_ME实例中,UICC270将CK和IK提供给GBA模块240,其中例如通过串接CK 和IK来生成Ks。而且,GBA模块240使用KsNAF-I。
49、d生成Ks_NAF。 0112 在GBA_U实例中,UICC270自己保留CK和IK,然后生成Ks_ext_NAF,该Ks_ext_ NAF随后被提供给GBA模块240。 0113 因此,在GBA_ME实例中,全部GBA特定的功能在ME中实现,在GBA_U实例中,部分 GBA功能在UICC270中实现。主要地,Ks保留在UICC270中,并且只有导出的Ks_(ext)_NAF 被提供给GBA模块240。换言之,GBA“主密钥”在ME(GBA_ME实例)或在UICC270(GBA_U 实例)中生成。 0114 获取必要GBA密钥的应用仅与GBA模块240协作,GBA密钥分别为Ks_NAF(GBA_ME 实例)或Ks_ext_NAF(GBA_U实例)。应用然后可使用GBA密钥Ks_(ext)_NAF,不用考虑来 源。 0115。