[发明专利]一种面向Web浏览器的本地API调用方法有效
申请号: | 201410268827.0 | 申请日: | 2014-06-16 |
公开(公告)号: | CN104077179B | 公开(公告)日: | 2017-06-06 |
发明(设计)人: | 龙毅宏 | 申请(专利权)人: | 武汉理工大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F21/57;H04L29/08 |
代理公司: | 武汉开元知识产权代理有限公司42104 | 代理人: | 潘杰 |
地址: | 430070 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 web 浏览器 本地 api 调用 方法 | ||
技术领域
本发明属于Web信息技术领域,特别是一种面向Web浏览器的本地API调用方法。
背景技术
当用户使用浏览器访问Web信息系统(或应用系统)的过程中,常常需要调用用户计算设备本地的API,如动态库、COM组件、系统API等。但是,出于安全考虑,各种浏览器都禁止直接本地API。为了解决这一问题,有些浏览器允许通过安全插件或控件(经数字签名的插件或控件,如Mozilla Plug-in、IE ActiveX)调用用户计算设备本地的API。插件或控件的问题在于:(1)不是所有的浏览器或者运行在所有用户平台的浏览器都支持插件或控件;(2)Web信息系统开发者需要针对不同的浏览器或用户平台开发相应的插件或控件(因为不同浏览器或运行在不同用户平台上的浏览器的插件或控件的机制和代码会不同)。这使得Web信息系统要同时支持多种不同的浏览器变得非常困难。除了插件或控件,有的浏览器厂家还提出了其他技术,如Google的Native Client(NaCI)沙袋技术。但Native Client技术的问题在于:(1)仅适合于Google浏览器;(2)调用的本地API的执行是受限的。
发明内容
本发明的目的是提出一种适合不同浏览器的面向Web浏览器的本地API调用方法,以克服现有技术的不足。
为了实现上述目的,本发明所采用的技术方案是:
一种面向Web浏览器的本地API调用方法,其特征是:
在用户使用浏览器访问Web信息系统(或应用系统)的过程中,若浏览器在显示和处理Web信息系统的返回结果时需要调用用户计算设备本地的API(本地API),则浏览器通过网络通信方式(如HTTP)将调用请求提交到用户计算设备的一个代理程序,由代理程序调用本地API,并由代理程序将调用本地API的结果返回到浏览器;若被调用的本地API涉及敏感资源或功能的使用,则代理程序在调用本地API前先通过提示用户的方式或者通过在代理程序与Web信息系统之间建立安全会话的方式保护敏感资源或功能的使用;代理程序与Web信息系统之间建立安全会话的操作由Web信息系统在浏览器向代理程序提交本地API调用请求前发起(Web信息系统发起),或者由代理程序在接收到本地API调用请求后执行本地API调用前发起(代理程序发起)。
若被调用的本地API涉及敏感资源或功能的使用,则代理程序在调用本地API前先弹出一个人机交互界面,提示用户当前浏览器正在使用敏感资源或功能,询问用户是否继续,若用户选择继续则调用本地API;否则中止本地API的调用。
或者,若被调用的本地API涉及敏感资源或功能的使用且浏览器提交给代理程序的本地API调用请求中包含有Web信息系统的安全身份令牌(由一个可信的系统或机构签发),则代理程序在调用本地API前先验证安全身份令牌的有效性(安全身份令牌可通过数字签名技术保证其有效性),验证通过后弹出一个人机交互界面,向用户显示浏览器正在访问的Web信息系统并提示用户Web信息系统正在使用敏感资源或功能,然后询问用户是否继续,若用户选择继续,则调用本地API;否则,中止本地API的调用。
或者,若被调用的本地API涉及敏感资源或功能且浏览器提交给代理程序的本地API调用请求中包含有Web信息系统对请求数据的数字签名,则代理程序在调用本地API前先验证请求数据的数字签名的有效性,验证通过后弹出一个人机交互界面,向用户显示浏览器正在访问的Web信息系统(通过数字签名获知Web系信息系统名称或标识)并提示用户Web信息系统正在使用敏感资源或功能,然后询问用户是否继续,若用户选择继续,则调用本地API;否则,中止本地API的调用。
若被调用的本地API涉及敏感资源或功能,则代理程序在允许浏览器调用本地API前,在代理程序与Web信息系统之间建立安全会话的具体方式如下:
代理程序通过浏览器向Web应用程序返回一个随机字串(随机生成的字串);Web应用程序接收到随机字串后使用自己的私钥对随机字串签名,然后通过浏览器将签名的随机字串返回给代理程序;代理程序对接收到的签名的随机字串的签名有效性进行验证,验证通过后通过浏览器向Web应用程序返回一个会话标识(Session ID);之后Web应用程序通过浏览器向代理程序提交的调用本地API的请求数据中包含有会话标识;当代理程序接收到Web信息系统通过浏览器提交的调用本地API的请求后,先检查调用数据中是否有代理程序之前返回给Web信息系统的会话标识,若有,则继续调用操作;否则,中止调用操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉理工大学,未经武汉理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410268827.0/2.html,转载请声明来源钻瓜专利网。