在网页中实现网页安全功能的数据处理系统及方法

文档序号:6424521阅读:647来源:国知局
专利名称:在网页中实现网页安全功能的数据处理系统及方法
技术领域
本发明涉及网页安全功能的数据处理技术,尤其涉及一种在IOS平台下实现网页安全功能的数据处理系统及方法。
背景技术
在网页中实现安全机制,通常会涉及到为了实现数据加密、数字证书和数字签名等网页安全功能时所用到的各个安全插件。以安全机制中的数字证书为例,数字证书等同于身份证的作用,在电子商务网站或者其他要求安全通信的网站中被广泛的应用,在普通的计算机系统中,网页如果要使用数字证书一般都是通过网页插件ActiveX或NetscapePlugin的方式,来实现网页访问系统本地证书容器(或者文件)并进行实现数字证书功能所需的数据处理操作。其中,网页插件ActiveX适用于Trident内核的浏览器,如IE浏览器系列;而网页插件Netscape Plugin除了适用于Gecko内核的浏览器,如火狐(Firefox) 浏览器系列,还适用于Webkit内核的浏览器,如Safari浏览器系列或Chrome浏览器系列。其中,所述ActiveX是一种软件组件,所述Netscape Plugin是一种网景插件,所述Trident是一种微软网页排版引擎,所述Gecko是一种网景网页排版引擎,所述Webkit是一种苹果网页排版引擎,所述Safari浏览器是一种苹果官方浏览器,所述Chrome是一种谷歌浏览器。现有技术的方案一 =Safari浏览器能应用于IOS平台,然而受限于IOS平台使用的沙盒机制,会影响到插件的安装。其中,所述IOS平台使用的沙盒机制指应用程序对文件系统的访问是有访问限制的,只限于一组最基本的文件夹、网络资源和硬件等。现有技术的方案二 如果要在Safari浏览器中安装插件,前提是需要摆脱IOS平台沙盒机制的限制,采用越狱(Jailbreak)系统,以便能够访问文件系统内的任意文件,Jailbreak系统是没有访问限制的。现有技术的方案三区别于上述两种方案,考虑不用第三方的插件来实现,而是专门开发一款纯粹的客户端应用程序(App),直接在该应用程序内部实现数据加密、数字证书和数字签名等网页安全功能。综上所述,现有技术的缺点如下所示针对上述方案一而言,随着手持终端的风靡,诸如苹果公司的iPhone和iPad等使用IOS平台的用户增长很快,但是出于系统稳定性和安全性的考虑,设置了访问限制,即在IOS平台上使用了沙盒机制。然而,传统的第三方开发的插件安装是不能有访问限制,从而无法将插件安装进IOS平台并正常工作,由此导致了在应用于IOS平台的Safari浏览器中浏览这些使用了第三方插件的网页时,均无法正常展现甚至正常使用网页功能。针对上述方案二而言,由于Jailbreak系统无访问限制,因此可以通过Jailbreak系统来使用第三方开发的插件。虽然采用这种方式,可以保证网页功能的正常展现和正常使用,但是越狱后的无访问限制会对系统的安全性和稳定性造成极大的破坏,在公共网络的环境下很容易被入侵和控制。这对于电子商务等要求高安全级别的网站来说,为了实现网页功能而破坏系统整体的安全性,显然是得不偿失的。针对上述方案三而言,对于纯粹的客户端App,虽然其保证了数字加密和数字签名等网页安全功能的实现,同时不需要去破坏IOS平台的沙盒机制,但是其内部的应用功能也伴随着客户端的开发过程被固定下来了,从而导致每当需要新增网页功能时都需要重新开发并安装新的客户端。

发明内容
有鉴于此,本发明的主要目的在于提供一种在网页中实现网页安全功能的数据处理系统及方法,既能实现网页安全功能,又能保障系统整体的安全性,且无需随着新增网页功能而不断对客户端进行完善。为达到上述目的,本发明的技术方案是这样实现的一种在网页中实现网页安全功能的数据处理系统,该系统包括位于同一个客户 端APP中的浏览器、数据处理通知及反馈单元;其中,所述浏览器,用于与数据处理通知及反馈单元约定触发数据处理的通知机制,在数据处理通知及反馈单元按照所述通知机制,通知浏览器触发需执行的网页安全功能时,根据本地访问获取的数据执行所述网页安全功能,并将执行结果通过数据处理通知及反馈单元返回网页;所述数据处理通知及反馈单元,作为所述浏览器与所述网页间的交互单元,用于通知浏览器触发需执行的网页安全功能,在浏览器根据本地访问获取的数据执行完所述网页安全功能后,将执行结果返回网页。其中,所述通知机制通过网页跳转操作来实现;所述浏览器,进一步用于通过拦截所述跳转操作触发需执行的所述网页安全功倉泛。其中,所述通知机制具体为指示跳转到一个或多个指定URL ;所述浏览器,进一步用于获取到一个或多个指定URL时,控制是否运行跳转到所述指定URL所在网页的跳转操作,如果默认的控制方式为对全部的指定URL操作,则对全部的指定URL进行拦截操作;如果默认的控制方式为对指定URL有选择操作,则按照指定URL的优先级分别进行拦截操作。其中,所述数据处理通知及反馈单元,进一步用于将通知浏览器需执行的所述网页安全功能,采用URL参数的形式携带,并发送给所述浏览器。其中,所述浏览器,进一步用于拦截指定URL时,对指定URL进行解析获得URL参数,获知需执行的所述网页安全功能后,根据本地访问获取的数据执行所述网页安全功能。一种在网页中实现网页安全功能的数据处理方法,该方法包括浏览器与数据处理通知及反馈单元约定触发数据处理的通知机制;在数据处理通知及反馈单元按照所述通知机制,通知浏览器触发需执行的网页安全功能时,根据本地访问获取的数据执行所述网页安全功能,并将执行结果返回网页。其中,所述通知机制通过网页跳转操作来实现;该方法还包括所述浏览器通过拦截所述跳转操作触发需执行的所述网页安全功倉泛。
其中,所述通知机制具体为指示跳转到一个或多个指定URL ;该方法还包括将通知浏览器需执行的所述网页安全功能,采用URL参数的形式携带,并发送给所述浏览器。其中,所述根据本地访问获取的数据执行所述网页安全功能,并将执行结果返回网页具体包括浏览器拦截指定URL时,对指定URL进行解析获得URL参数,获知需执行的所述网页安全功能后,根据本地访问获取的数据执行所述网页安全功能。其中,所述网页安全功能具体包括数字证书、数据加密或数字签名。本发明的系统由位于同一个客户端APP中的浏览器、数据处理通知及反馈单元组成;浏览器用于与数据处理通知及反馈单元约定触发数据处理的通知机制,在数据处理通知及反馈单元按照所述通知机制,通知浏览器触发需执行的网页安全功能时,根据本地访 问获取的数据执行所述网页安全功能,并将执行结果通过数据处理通知及反馈单元返回网页。数据处理通知及反馈单元作为浏览器与网页间的交互单元,用于通知浏览器触发需执行的网页安全功能,在浏览器根据本地访问获取的数据执行完网页安全功能后,将执行结果返回网页。采用本发明,采用自定义的浏览器,所有实现都在一个客户端APP中,在IOS平台的沙盒机制之内,因此,既能实现网页安全功能,又能保障系统整体的安全性。


图I为现有技术的系统组成结构示意图;图2为本发明的系统组成结构示意图;图3为现有技术一实例的流程图;图4为本发明一实例的流程图。
具体实施例方式本发明的基本思想是由位于同一个客户端APP中的浏览器、数据处理通知及反馈单元组成;浏览器用于与数据处理通知及反馈单元约定触发数据处理的通知机制,在数据处理通知及反馈单元按照所述通知机制,通知浏览器触发需执行的网页安全功能时,根据本地访问获取的数据执行所述网页安全功能,并将执行结果通过数据处理通知及反馈单元返回网页。数据处理通知及反馈单元作为浏览器与网页间的交互单元,用于通知浏览器触发需执行的网页安全功能,在浏览器根据本地访问获取的数据执行完网页安全功能后,将执行结果返回网页。下面结合附图对技术方案的实施作进一步的详细描述。一种在网页中实现网页安全功能的数据处理系统,如图2所示,该系统包括位于同一个客户端APP中的浏览器、数据处理通知及反馈单元。其中,所述浏览器为自定义的浏览器,用于与数据处理通知及反馈单元约定触发数据处理的通知机制,在数据处理通知及反馈单元按照该通知机制,通知浏览器触发需执行的相应网页安全功能时,浏览器根据本地访问获取的数据执行该相应网页安全功能,并将执行结果通过数据处理通知及反馈单元返回网页。本发明所涉及到的浏览器都是指自定义的浏览器,不做赘述。其中,数据处理通知及反馈单元,作为浏览器与网页间的交互单元,用于通知浏览器触发需执行的相应网页安全功能,在浏览器根据本地访问获取的数据执行完该相应网页安全功能后,将执行结果返回网页。这里,将本发明的系统与现有技术的系统对比描述如下针对现有技术而言,如图I所示为现有技术的系统架构,包括浏览器、第三方开发的用于实现网页安全功能的插件;网页通过插件接口与插件交互。现有技术中,网页只需要与浏览器交互,当网页要实现HTML或者JavaScript语言无法完成的工作,即除了 HTML或者JavaScript语言实现的基础网页功能之外,还需要实现的高级网页安全功能,比如数据加密和数字签名等的时候,就需要开发一个指定的插件,用于实现网页安全功能。网页通过全球唯一标示符(CLSID,Class ID)或者多功能因特网邮件扩充服务(MME,MultipurposeInternet Mail Extensions)类型,找到其需要的插件,并且调用插件的接口来完成相应的网页安全功能,这个从本质上而言就是一个数据交互过程。但是在IOS平台中,由于沙盒机制的存在,使得网页和插件的交互无法进行。以苹果公司的客户端而言,由于所有的应用都是以App的方式提供给用户下载的,因此,在IOS平台上开发第三方的插件虽然是行不通的,但是在客户端App上面本地开发一个浏览器是可行的,因为浏览器的本质就是一个App,这样,开发后的浏览器就能供用户下载使用的,而且苹果开发工具Xcode以及开发语言Object-C对浏览器类进行了很好的封装,从而,本发明的浏览器就有了实现基础。针对本发明而言,系统包括浏览器、数据处理通知及反馈单元。浏览器相当于现有技术中的插件,数据处理通知及反馈单元相当于现有技术中的插件接口,而且,浏览器、 数据处理通知及反馈单元和网页位于同一个客户端APP中,也就是说,在本发明中,是将所有实现都放在一个客户端App中,这样就在沙盒机制的限制范围之内,从而它们之间的资源是可以相互调用和访问的,这样在IOS平台读取本地数据就不会受限于IOS平台的沙盒机制了。对于网页基本功能的实现,其还是需要与浏览器交互,这一部分的交互我们没有改变。当网页需要实现高级功能,如数据加密和数字签名等网页安全功能时,由浏览器完成现有技术中插件的工作,只不过数据交互的方式改变了。而现有技术是插件独立于客户端APP外,不在沙盒机制的限制范围之内,因此,读取本地数据就会受限于IOS平台的沙盒机制。如此一来,数据处理通知及反馈单元可以模拟现有技术插件的原始插件接口,采用与浏览器事先约定的通知机制,来通知浏览器执行相应网页安全功能,在本地访问数据后将执行结果返回网页。综上所述,本发明的方案能在不打破IOS平台沙盒机制的前提下实现网页安全功能。并且该方案是一种平台性的方案,可以支持页面随时新增加的网页功能,无需重新开发和安装客户端。这里,网页安全功能不限于数据加密,数字证书的安装和数字签名等网页安全功能。进一步的,数据处理通知及反馈单元采用JavaScript语言实现时具体为JS注入模块,JS注入模块是由浏览器放入网页中的,作为浏览器和网页数据交互的媒介。事先约定的通知机制具体为通过网页跳转操作来实现。如通知机制可以为跳转到一个或多个指定统一资源定位符(URL)时通知浏览器需执行的相应网页安全功能。通知浏览器所需执行的相应网页安全功能后,就等待浏览器执行该网页安全功能并返回执行结果。进一步的,JS注入模块还能根据当前网页的域名选择性的注入,这样就能防止其他网站在未经允许的情况下,使用高级的网页安全功能。进一步的,浏览器,用于获取到一个或多个指定URL时,控制是否运行跳转操作,即当浏览器发现页面需要跳转到这几个URL时,就对跳转操作进行拦截或者按照URL的优先级选择性拦截。拦截的目的是本发明的跳转动作并不是传统的转到其他网页的操作,而是通过跳转操作来实现通知机制,使JS注入模块能告诉浏览器需执行的相应网页安全功能,如数字签名功能,而JS注入模块指示需实现的数字签名功能就通过URL的参数传递给浏览器。进一步的,浏览器,用于根据本地访问获取的数据执行该相应网页安全功能的情况下,是解析URL的参数,获知需实现的相应网页安全功能(如数字签名功能),再从本地文件系统中获取所需的数据,以执行相应网页安全功能,将执行结果返回给JS注入模块中的变量,再由JS注入模块返回网页。一种在网页中实现网页安全功能的数据处理方法,该方法主要包括以下内容浏览器与数据处理通知及反馈单元约定触发数据处理的通知机制;在数据处理通知及反馈单 元按照所述通知机制,通知浏览器触发需执行的网页安全功能时,根据本地访问获取的数据执行所述网页安全功能,并将执行结果返回网页。进一步的,通知机制通过网页跳转操作来实现;该方法还包括所述浏览器通过拦截所述跳转操作触发需执行的所述网页安全功能。进一步的,通知机制具体为指示跳转到一个或多个指定URL ;该方法还包括将通知浏览器需执行的所述网页安全功能,采用URL参数的形式携带,并发送给所述浏览器。进一步的,根据本地访问获取的数据执行所述网页安全功能,并将执行结果返回网页具体包括浏览器拦截指定URL时,对指定URL进行解析获得URL参数,获知需执行的所述网页安全功能后,根据本地访问获取的数据执行所述网页安全功能。进一步的,所述网页安全功能具体包括数字证书、数据加密或数字签名。这里,将本发明的方法与现有技术的方法对比描述如下针对现有技术而言,数据交互过程为网页是通过CLSID或者MME TYPE找到其需要的插件,调用其接口完成某些功能,可以把插件看成一个类,网页找到插件类,并使用插件类封装的属性和方法,实现网页安全功能。针对本发明而言,数据交互过程为通过浏览器先在页面的HTML代码中注入一段JavaScript代码,即图2中的JS注入模块,以通知机制通知浏览器需执行的相应网页安全功能,将浏览器的执行结果返回给网页。这里,JS注入模块本质上是一个封装的JS类,这个JS类形式上与插件有着惊人的相似,含有同样的属性和方法,这样做的好处是1)完全兼容了以前的HTML代码,因为对网页重构人员来说,具体实现的过程是透明,调用的方法的名称和格式是完全没有变化的,仅仅只需要修改一下对类引用的方式,这样的修改是微量的,减少工作成本;2)隐藏了后面的实现过程,实现分层结构,防止别人绕过JS注入模块非法调用浏览器所预留的接口。JS注入模块还能够根据当前网页的域名选择性的注入,这样就能防止其他网站在未经允许的情况下,使用实现的高级网页安全功能。这里需要指出的是虽然JS注入模块和插件在形式上相似,但它们的相似也仅仅表现在形式上,在本质上是完全不同的。插件的接口是真正完成数据交互的处理工作,并将插件的处理结果传回给页面JS注入模块并不去完成实际的工作,它只是通过一种通知的方式(如跳转到一个或多个指定的URL)告诉浏览器需要执行哪种网页安全功能,然后等待浏览器处理完数据,再将数据传回给网页,JS注入模块完成的是信使的工作。网页每次需要跳转的URL都是由浏览器来控制其是否运行跳转,而且默认都是允许其跳转的,通过JS注入模块和浏览器约定一个或多个指定的URL,当浏览器发现网页需要跳转到这几个URL时,就对跳转到URL所在页面的跳转操作进行拦截,因为这个跳转动作的意思并非转到其他网页,而是一种通知机制,告诉浏览器需要完成哪种指定的网页安全功能,如数字签名,而待签名的数据就通过URL的参数传递给浏览器,浏览器对URL进行解析,URL的主机名(host)部分对于不同的函数实现不同的功能,而URL的查询(query)部分对应函数的传入参数(如待签名的数据)。浏览器分离出这些内容后,就能够进行下一步工作了,去到本地的证书容器或者文件中取出用户的证书和公钥,并用公钥对待签名的数据进行签名。完成之后,浏览器会把结果传递给JS注入模块的某个变量,然后通知(如轮询方式)其已完成签名工作,这样JS注入模块再把处理的结果返回给网页。下面以实现数字签名功能的过程对现有技术和本发明分别举例描述 如图3所示为现有技术的方法流程,包括以下步骤步骤101、声明一个网页插件的实例对象。步骤102、调用实例对象 SignData(CertID, Data)接口。步骤103、访问系统资源获取用户证书和公钥对数据进行签名。步骤104、获取证书和公钥。步骤105、返回数字签名结果。如图4所示为本发明的方法流程,包括以下步骤步骤201、声明一个JS注入模块类的实例对象。步骤202、调用实例对象 SignData(CertID, Data)接口。步骤203、提供一组标准化接口。步骤204、跳转一个约定的URL,并将CertID,Data作为URL参数。步骤205、拦截约定的URL,解析URL,并访问系统资源获取用户证书和公钥对数据进行签名。步骤206、获取证书和公钥。步骤207、轮询是否完成对数据的签名。步骤208、设置签名结果。步骤209、返回签名结果。通过以上图3和图4的对比可知现有技术的网页插件模块与新方案的JS注入模块+浏览器的作用完全相同,但是前者在IOS平台中受到沙盒机制的限制,无法实现;而本发明的方案实现完全在同一个沙盒中,不会受到限制,因此比现有技术更优越,既能实现网页安全功能,又能保障系统整体的安全性。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种在网页中实现网页安全功能的数据处理系统,其特征在于,该系统包括位于同一个客户端APP中的浏览器、数据处理通知及反馈单元;其中, 所述浏览器,用于与数据处理通知及反馈单元约定触发数据处理的通知机制,在数据处理通知及反馈单元按照所述通知机制,通知浏览器触发需执行的网页安全功能时,根据本地访问获取的数据执行所述网页安全功能,并将执行结果通过数据处理通知及反馈单元返回网页; 所述数据处理通知及反馈单元,作为所述浏览器与所述网页间的交互单元,用于通知浏览器触发需执行的网页安全功能,在浏览器根据本地访问获取的数据执行完所述网页安全功能后,将执行结果返回网页。
2.根据权利要求I所述的系统,其特征在于,所述通知机制通过网页跳转操作来实现; 所述浏览器,进一步用于通过拦截所述跳转操作触发需执行的所述网页安全功能。
3.根据权利要求2所述的系统,其特征在于,所述通知机制具体为指示跳转到一个或多个指定URL ; 所述浏览器,进一步用于获取到一个或多个指定URL时,控制是否运行跳转到所述指定URL所在网页的跳转操作,如果默认的控制方式为对全部的指定URL操作,则对全部的指定URL进行拦截操作;如果默认的控制方式为对指定URL有选择操作,则按照指定URL的优先级分别进行拦截操作。
4.根据权利要求3所述的系统,其特征在于,所述数据处理通知及反馈单元,进一步用于将通知浏览器需执行的所述网页安全功能,采用URL参数的形式携带,并发送给所述浏JaLzHFT O
5.根据权利要求4所述的系统,其特征在于,所述浏览器,进一步用于拦截指定URL时,对指定URL进行解析获得URL参数,获知需执行的所述网页安全功能后,根据本地访问获取的数据执行所述网页安全功能。
6.一种在网页中实现网页安全功能的数据处理方法,其特征在于,该方法包括 浏览器与数据处理通知及反馈单元约定触发数据处理的通知机制; 在数据处理通知及反馈单元按照所述通知机制,通知浏览器触发需执行的网页安全功能时,根据本地访问获取的数据执行所述网页安全功能,并将执行结果返回网页。
7.根据权利要求6所述的方法,其特征在于,所述通知机制通过网页跳转操作来实现; 该方法还包括所述浏览器通过拦截所述跳转操作触发需执行的所述网页安全功能。
8.根据权利要求7所述的方法,其特征在于,所述通知机制具体为指示跳转到一个或多个指定URL ; 该方法还包括将通知浏览器需执行的所述网页安全功能,采用URL参数的形式携带,并发送给所述浏览器。
9.根据权利要求8所述的方法,其特征在于,所述根据本地访问获取的数据执行所述网页安全功能,并将执行结果返回网页具体包括浏览器拦截指定URL时,对指定URL进行解析获得URL参数,获知需执行的所述网页安全功能后,根据本地访问获取的数据执行所述网页安全功能。
10.根据权利要求6至9中任一项所述的方法,其特征在于,所述网页安全功能具体包括数字证书、数据加密或数字签名。
全文摘要
本发明公开了一种在网页中实现网页安全功能的数据处理系统,包括位于同一个客户端APP中的浏览器、数据处理通知及反馈单元;其中,浏览器用于与数据处理通知及反馈单元约定触发数据处理的通知机制,在数据处理通知及反馈单元按照通知机制,通知浏览器触发需执行的网页安全功能时,根据本地访问获取的数据执行网页安全功能,并将执行结果通过数据处理通知及反馈单元返回网页。本发明还公开了一种在网页中实现网页安全功能的数据处理方法,浏览器触发需执行的网页安全功能时,根据本地访问获取的数据执行网页安全功能,并将执行结果返回网页。采用本发明的系统及方法,既能实现网页安全功能,又能保障系统整体的安全性。
文档编号G06F21/00GK102789557SQ20111013159
公开日2012年11月21日 申请日期2011年5月18日 优先权日2011年5月18日
发明者何畅, 周鹏里 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1