一种针对浏览器的数据和文件加密方法

文档序号:6624884阅读:314来源:国知局
一种针对浏览器的数据和文件加密方法
【专利摘要】本发明涉及一种针对浏览器的数据和文件加密方法,在所述方法中,加密插件对一个Web网站返回到用户浏览器的页面代码中提交数据和/或上传文件部分的代码进行修改;当用户通过浏览器提交数据和/或上传文件时,修改后的提交数据和/或上传文件的页面代码将用户要提交的数据或要上传的文件数据提交到用户浏览器本地的一个代理程序,由代理程序调用密码模块对要提交的数据或要上传的文件数据进行加密,然后由浏览器将加密后的数据或者文件数据提交或上传到Web网站,或者由代理程序将加密后的数据或者文件数据提交或上传到Web网站。所述方法能够在不对Web网站进行修改、不调用浏览器插件的情况下实现提交数据和/或上传文件数据的加山o
【专利说明】一种针对浏览器的数据和文件加密方法

【技术领域】
[0001] 本发明属于信息安全【技术领域】,特别是一种针对浏览器的数据和文件加密方法。

【背景技术】
[0002] 目前文件云存储日益受到人们的欢迎,人们也会对上传到云存储公共平台的文件 的安全感到担心:存放在公共平台的涉密或涉及个人隐私的文件有可能由于黑客攻击、来 自内部的窃取而泄密、泄露。对存放在公共云存储平台的文件最有效的保护方式是对存储 的文件进行加密。但是,由云存储平台的系统进行加密也是不可信的,因为这样做无法防止 内部人员或运营机构对私密文件的窃取。因此,对云存储文件最有效的保护方式是在文件 上传时由上传方对文件进行加密,比如采用上传者的密钥或者口令对文件加密。目前的许 多云存储的客户端就是普通的浏览器,因此,对上传文件的加密就涉及到对通过浏览器上 传的文件加密问题。
[0003] 电子邮件目前已是我们日常生活、工作中不可缺少的部分。我们使用的邮件系统 很多是由公共电子邮箱服务商提供的系统。我们在使用公共电子邮箱服务商提供的邮件服 务时,我们发送或接收的邮件包括其附件都要经过开放的互联网,如果电子邮件包括其附 件涉密敏感信息,那么在其传输过程中就有可能被人截获、监听而导致泄密;我们发送或接 收的邮件包括其附件都会保存在公共电子邮箱服务系统,存储在公共电子邮箱服务的电子 邮件包括其附件如果涉及敏感信息,也存在被窃取、泄露的风险。同样地,防止电子邮件泄 密的最有效手段是对电子邮件包括其附件进行加密,如发送方在发送电子邮件时使用接收 者的公钥对邮件及其附件进行加密。同样地,对于公共电子邮箱,我们经常使用浏览器进行 邮件收、发,因此,这就涉及到对通过浏览器提交的数据和上传的文件(即通过浏览器发送 的邮件及附件)进行加密的问题。
[0004] 除了以上所述的需要对通过浏览器提交的数据、上传的文件进行加密的情形,还 有许多其他的需要对通过浏览器提交的数据、上传的文件进行加密的应用情况。但是,对通 过浏览器提交的数据、上传的文件进行加密并非一件容易的事情,有如下技术问题需要解 决。
[0005] -是,由于安全限制,运行在浏览器中的页面代码,如各种脚本代码,不能直接调 用浏览器所在用户计算设备中的密码模块对数据进行加密,而须调用浏览器插件(有的浏 览器称为控件,如IE),通过浏览器插件调用密码模块。而开发浏览器插件问题在于:(1) 使用插件的页面代码适应性差,这是因为针对不同内核的浏览器所开发的插件所用的技术 是不一样的,调用的方式也不一样,只适合特定的浏览器,如Firefox的Plug-in不能用于 IE (Internet Explorer),IE 的 ActiveX 也不能用于 Firefox ; (2)若上传文件是通过 Form 实现的,则页面脚本程序无法拦截到上传的文件数据,也就无法调用插件对上传的文件数 据进行加密;(3)若上传文件是通过脚本程序读取本地文件进行的,虽然可以通过页面脚 本程序对上传文件数据进行加密,但目前不是所有的浏览器都支持脚本对本地文件的读取 操作。总之,使用浏览器插件对数据进行加密存在诸多不便、适应性差、技术方案复杂。
[0006] 二是,涉及浏览器提交数据和上传文件的Web网站通常是已部署并有大量用户的 网站,为了增加数据和文件加密功能,让网站运营者重新开发和部署系统几乎是不可能的, 而且有些网站会认为这不是他们需要解决的问题。
[0007] 本发明就是要解决通过浏览器提交数据和上传文件的加密问题。在本发明的技术 方案中,浏览器扩展是一种可能的实施技术,但需要指出的是,浏览器扩展与浏览器插件都 是扩展浏览器功能的组件,它们有时统称为浏览器插件,但它们二者是不同的。浏览器扩展 是能对浏览器页面代码进行主动干预的软件组件,而浏览器插件不能对浏览器页面代码进 行主动干预,只能被浏览器页面代码调用。


【发明内容】

[0008] 本发明的目的是提出一种不对Web网站进行修改和无需调用浏览器插件就能对 用户通过浏览器提交的数据或上传的文件进行加密的方法。
[0009] 为了实现上述目的,本发明所采用的技术方案是:
[0010] 一种针对浏览器的数据和文件加密方法,所述方法如下:
[0011] 针对用户浏览器安装一个加密插件和代理程序;所述加密插件是一个对Web 网站返回到用户浏览器的页面代码(包括HTML文本以及脚本程序,如JavaScript、 VBScript、RIA等)进行修改以实现提交数据和/或上传文件加密的组件(包括浏览器扩 展extension、加载项add on以及其他能够对返回到用户浏览器的页面代码进行修改的组 件);所述代理程序是一个运行在浏览器所在用户计算设备(如计算机、平板电脑、移动手 机等)、对用户使用浏览器提交的数据和/或上传的文件数据进行加密处理以及对使用浏 览器下载的加密数据进行解密处理的程序;
[0012] 当用户使用浏览器访问特定的Web网站的特定页面时(即访问特定的页面URL 时),所述加密插件对Web网站返回到用户浏览器的页面代码中提交数据和/或上传文件部 分的代码进行修改(提交对应于普通数据,上传对应于文件数据);
[0013] 当用户使用浏览器通过访问的特定的Web网站的特定页面提交数据和/或上传文 件时,修改后的提交数据和/或上传文件的页面代码通过代理程序对要提交的数据和/或 要上传的文件数据进行加密,然后再由浏览器或代理程序将加密后的要提交的数据提交 到Web网站和/或将加密后的要上传的文件数据上传到Web网站;
[0014] 当用户使用浏览器访问特定的Web网站的特定页面时,若返回到浏览器的页面内 容中包含有加密的数据,则所述浏览器加密插件先通过代理程序对返回的加密数据进行解 密处理,使之成为明文后再由浏览器进行处理(比如显示);
[0015] 所述特定的Web网站的特定的页面是指加密插件开发时或安装配置时所针对的、 对提交的数据和/或上传的文件要进行加密处理的Web网站的Web页面(所述特定的Web 网站及其特定的页面可以是一个或者多个);
[0016] 所述修改后的提交数据和/或上传文件的页面代码通过通信方式(如HTTP)与所 述代理程序进行数据交互(包括提交请求、获得处理结果)。
[0017] 通过修改后的提交数据和/或上传文件的页面代码,对用户通过浏览器提交的数 据和/或上传的文件进行加密的方案可以是如下方案之一。
[0018] 方案一:
[0019] 修改后的提交数据和/或上传文件的页面代码将要提交的数据和/或要上传的文 件数据通过通信方式提交给代理程序,由代理程序调用密码组件对要提交的数据和/或要 上传的文件数据进行加密,然后将加密后的要提交的数据和/或要上传的文件数据返回到 浏览器,由浏览器将返回的加密后的要提交的数据提交到Web网站和/或将返回的加密后 的要上传的文件数据上传到Web网站。
[0020] 方案二:
[0021] 修改后的提交数据和/或上传文件的页面代码将要提交的数据和/或要上传的文 件数据、浏览器与Web网站之间的会话标识数据(Session ID,如C〇〇kie、F〇rm输入字段)、 数据提交和/或文件上传地址(URL, Uniform Resource Locator)以及数据提交和/或文 件上传方法提交给代理程序,由代理程序调用密码组件对要提交的数据和/或要上传的文 件数据进行加密,然后由代理程序将加密后的要提交的数据提交到Web网站和/或将加密 后的要上传的文件数据上传到Web网站,提交或上传数据的HTTP请求中包含有浏览器与 Web网站之间的会话的会话标识数据,且会话标识数据按据原本的提交方式包含在HTTP请 求中(如包含同样Session ID的Cookie或Form输入字段)。
[0022] 所述加密插件通过数据的格式及编码确定返回到浏览器的数据是否为加密的数 据(如是否为Base64编码的PKCS7数据)。
[0023] 为了保证数据提交或文件上传的安全,代理程序通过查询配置信息或者验证Web 网站的网站证书或者通过查询可信站点服务确定要提交数据和/或上传文件的Web网站是 否为可信的,若是,则向Web网站提交数据或上传文件,否则,拒绝。
[0024] 基于本发明的方法,通过加密插件对Web网站返回到浏览器的页面代码进行修 改,从而在不修改Web网站服务系统的情况下,实现对通过浏览器提交的数据和/或上传的 文件的加密;进一步地,通过修改后的页面代码与浏览器本地的一个代理程序之间的交互, 从而在无需使用浏览器插件的情况下实现对提交的数据和/或上传的文件的加密。

【专利附图】

【附图说明】
[0025] 图1为本发明实施方案1的示意图。
[0026] 图2为本发明实施方案2的示意图。

【具体实施方式】
[0027] 下面结合附图和实施例对本发明作进一步的描述。
[0028] 加密插件可以以浏览器扩展(extension)或加载项(add on)技术开发实现。这 时,加密插件需要针对不同浏览器的扩展或加载项技术进行开发,或者利用已有的浏览器 扩展或加载项框架开发,这种浏览器扩展或加载项技术及框架可在公共资源平台获得。加 密插件也可以是浏览器与Web网站之间的网络传输通道中的一个通信代理或过滤器。
[0029] 加密插件修改页面代码并通过代理程序对提交的数据或上传的文件进行加密的 方案,可实施方案一和方案二中的一个(参见图1和2)。对于每个方案的【具体实施方式】,又 与页面的具体代码有关,因此,在此只能给出一些原则性的说明,相关领域的技术人员根据 或参考这些原则性的说明进行具体的实施。需指出的是,具体实施也有很多的方式,而且还 可以有其它的实施方案。
[0030] 对于方案一的实施,提交数据(普通数据)部分的实施方案如下。
[0031] 若提交到Web网站的数据原本是通过Form的Action提交的,贝U加密插件修改 Form的Action的路径(URL),将其指向本地的代理程序,同时,将修改前的Form的Action 路径同数据一起通过HTTP提交给代理程序,比如,将修改前的Form的Action路径编入到 提交给代理程序的HTTP请求的请求URL中,或者将修改前的Form的Action路径作为新增 加的Form输入数据(INPUT)通过HTTP提交给代理程序;代理程序完成对数据的加密后,将 加密后的数据返回到浏览器的数据并通过Form数据的自动POST或GET方式提交到Web网 站(是POST或GET取决于原本的方式)。
[0032] 若提交到Web网站的数据原本是通过脚本程序提交的(如通过Ajax、RIA),则加 密插件修改页面代码和脚本程序,由修改的页面代码和脚本程序先将数据通过HTTP提交 到代理程序加密,代理程序调用密码模块对提交的数据加密后返回到浏览器,然后再浏览 器将代理程序返回的加密后的数据提交到Web网站。
[0033] 对于方案一上传文件部分的实施,这时仅适合于浏览器通过脚本程序(如Ajax、 RIA脚本)上传文件的情形。这时加密插件修改页面代码和脚本程序,由修改的脚本程序将 文件数据通过HTTP提交给代理程序,代理程序完成对文件数据的加密后,将加密后的文件 数据返回到浏览器,然后再由浏览器的脚本程序将加密后的文件数据上传到Web网站。 [0034] 对于方案二的实施,提交数据(普通数据)部分的实施方案如下。
[0035] 若提交到Web网站的数据原本是通过Form的Action提交的,贝U加密插件修改 Form的Action的路径,将其指向本地的代理程序,同时,将浏览器与Web网站之间的会话 标识数据和修改前的Form的Action路径同数据一起通过HTTP提交给代理程序,比如,将 浏览器与Web网站之间的会话标识数据和修改前的Form的Action路径编入到提交给代理 程序的HTTP请求的请求URL中,或者将浏览器与Web网站之间的会话标识数据和修改前的 Form的Action路径作为新增加的Form输入数据通过HTTP提交给代理程序;代理程序完 成对数据的加密后,根据修改前的Form的Action路径将加密后的数据提交到Web网站,并 将浏览器与Web网站之间的会话标识数据按原本的方式(如C 〇〇kie、F〇rm输入数据)同数 据提交请求一起提交。
[0036] 若提交到Web网站的数据原本是通过脚本程序提交的(如Ajax、RIA),则加密插件 修改页面代码和脚本程序,由修改的脚本程序将数据连同浏览器与Web网站之间的会话标 识数据以及数据提交路径一起通过HTTP提交给代理程序;代理程序完成对数据的加密后, 根据数据提交路径将加密后的数据提交到Web网站,并将浏览器与Web网站之间的会话标 识数据按原本的方式(如Cookie、Form输入数据)同数据提交请求一起提交。
[0037] 对于方案二上传文件部分的实施,与提交普通数据的实施方案类似,只是这时提 交(上传)的是文件数据,不是普通数据。
[0038] 另夕卜,在以上方案一、二的实施中,若浏览器页面原本采用脚本程序(如 JavaScript/Ajax)提交数据和/或上传文件,则加密插件采用通过脚本程序将要提交的数 据和/或上传的文件提交到代理程序的方案时,需要解决跨域脚本(Cross Domain Script) 的问题。关于如何解决跨域脚本的问题,在许多公开的资料中有介绍。
[0039] 代理程序的开发可采用任何适用于用户计算设备的开发技术开发,包括在已有的 HTTP代理程序的基础上开发。
[0040] 其他未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自 明的。
【权利要求】
1. 一种针对浏览器的数据和文件加密方法,其特征是: 针对用户浏览器安装一个加密插件和代理程序;所述加密插件是一个对Web网站返回 到用户浏览器的页面代码进行修改以实现提交数据和/或上传文件加密的组件;所述代理 程序是一个运行在浏览器所在用户计算设备、对用户使用浏览器提交的数据和/或上传的 文件数据进行加密处理以及对使用浏览器下载的加密数据进行解密处理的程序; 当用户使用浏览器访问特定的Web网站的特定页面时,所述加密插件对Web网站返回 到用户浏览器的页面代码中提交数据和/或上传文件部分的代码进行修改; 当用户使用浏览器通过访问的特定的Web网站的特定页面提交数据和/或上传文件 时,修改后的提交数据和/或上传文件的页面代码通过代理程序对要提交的数据和/或要 上传的文件数据进行加密,然后再由浏览器或代理程序将加密后的要提交的数据提交到 Web网站和/或将加密后的要上传的文件数据上传到Web网站; 当用户使用浏览器访问特定的Web网站的特定页面时,若返回到浏览器的页面内容中 包含有加密的数据,则所述浏览器加密插件先通过代理程序对返回的加密数据进行解密处 理,使之成为明文后再由浏览器进行处理; 所述特定的Web网站的特定的页面是指加密插件开发时或安装配置时所针对的、对提 交的数据和/或上传的文件要进行加密处理的Web网站的Web页面; 所述修改后的提交数据和/或上传文件的页面代码通过通信方式与所述代理程序进 行数据交互。
2. 根据权利要求1所述的针对浏览器的数据和文件加密方法,其特征是: 当用户使用浏览器通过特定的Web网站的特定页面提交数据和/或上传文件时,修改 后的提交数据和/或上传文件的页面代码按如下方式通过代理程序对要提交的数据和/或 要上传的文件数据进行加密,然后再由浏览器将加密后的要提交的数据提交到Web网站和 /或将加密后的要上传的文件数据上传到Web网站: 修改后的提交数据和/或上传文件的页面代码将要提交的数据和/或要上传的文件数 据通过通信方式提交给代理程序,由代理程序调用密码组件对要提交的数据和/或要上传 的文件数据进行加密,然后将加密后的要提交的数据和/或要上传的文件数据返回到浏览 器,由浏览器将返回的加密后的要提交的数据提交到Web网站和/或将返回的加密后的要 上传的文件数据上传到Web网站。
3. 根据权利要求1所述的针对浏览器的数据和文件加密方法,其特征是: 当用户使用浏览器通过特定的Web网站的特定页面提交数据和/或上传文件时,修改 后的提交数据和/或上传文件的页面代码按如下方式通过代理程序对要提交的数据和/或 要上传的文件数据进行加密,然后再由代理程序将加密后的要提交的数据提交到Web网站 和/或将加密后的要上传的文件数据上传到Web网站: 修改后的提交数据和/或上传文件的页面代码将要提交的数据和/或要上传的文件 数据、浏览器与Web网站之间的会话标识数据、数据提交和/或文件上传地址以及数据提交 和/或文件上传方法提交给代理程序,由代理程序调用密码组件对要提交的数据和/或要 上传的文件数据进行加密,然后由代理程序将加密后的要提交的数据提交到Web网站和/ 或将加密后的要上传的文件数据上传到Web网站,提交或上传数据的HTTP请求中包含有浏 览器与Web网站之间的会话的会话标识数据,且会话标识数据按据原本的提交方式包含在 HTTP请求中。
4. 根据权利要求1所述的针对浏览器的数据和文件加密方法,其特征是: 所述加密插件通过数据的格式及编码确定返回到浏览器的数据是否为加密的数据。
5. 根据权利要求2所述的针对浏览器的数据和文件加密方法,其特征是: 若修改前的页面原本是通过Form的Action提交数据,则加密插件将修改后的页面代 码中的提交数据的Form的Action路径URL指向代理程序,并将修改前的Form的Action 路径编入到提交给代理程序的HTTP请求的请求URL中,或者将修改前的Form的Action路 径作为新增加的Form输入数据通过修改的页面代码提交给代理程序;代理程序完成对数 据的加密后,将加密后的数据返回到浏览器并通过Form数据的自动POST或GET方式提交 至lj Web网站。
6. 根据权利要求3所述的针对浏览器的数据和文件加密方法,其特征是: 若修改前的页面原本是通过Form的Action提交数据和/或上传文件,则加密插件将 修改后的页面代码中的提交数据和/或上传文件的Form的Action路径URL指向代理程序, 并将浏览器与Web网站之间的会话标识数据和修改前的Form的Action路径编入到提交给 代理程序的HTTP请求的请求URL中,或者将浏览器与Web网站之间的会话标识数据和修改 前的Form的Action路径作为新增加的Form输入数据通过修改的页面代码提交给代理程 序。
7. 根据权利要求3所述的针对浏览器的数据和文件加密方法,其特征是: 所述代理程序通过查询配置信息或者验证Web网站的网站证书或者通过查询可信站 点服务确定要提交数据和/或上传文件的Web网站是否为可信的,若是,则向Web网站提交 数据或上传文件,否则,拒绝。
【文档编号】G06F21/62GK104217173SQ201410427298
【公开日】2014年12月17日 申请日期:2014年8月27日 优先权日:2014年8月27日
【发明者】龙毅宏 申请人:武汉理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1