一种提供签名服务的方法及系统技术方案

技术编号:15695529 阅读:142 留言:0更新日期:2017-06-24 11:01
本发明专利技术提供一种提供签名服务的方法及系统,该方法步骤包括:在待签名的Web网页中嵌入浏览器与本地HTTP服务通信的脚本代码;当待签名的Web网页获取数字签名时,浏览器先根据上述脚本代码与本地HTTP服务建立可靠通信信道,再向本地HTTP服务发送签名请求,本地HTTP服务依次检验请求发起方所在浏览器身份、请求签名服务的Web网页;如果上述检验通过,则本地HTTP服务向用户请求签名授权,签名授权后返回签名数据至上述浏览器。本发明专利技术无需对浏览器进行改动,只需在待签名Web网页中嵌入与本地HTTP服务通信的脚本代码和在本地运行一个HTTP服务,就可以实现浏览器调用本地服务的功能。

【技术实现步骤摘要】
一种提供签名服务的方法及系统
本专利技术涉及计算机技术、信息安全
,尤其涉及一种提供签名服务的方法及系统。
技术介绍
在B/S架构系统中,出于安全性考虑,一般不允许浏览器直接访问系统提供的各种组件和应用接口。对于一个完整的系统,往往很多时候又需要使用诸如视频播放、剪贴板等功能,而这些功能由系统的应用接口提供。因此,通过在浏览器中调用ActiveX控件,实现调用系统提供的各种组件和应用接口的功能,是一种很好的解决方式。ActiveX是以微软COM(ComponentObjectModel,部件对象模型)为理论基础建立起来的技术,通过建立带有接口的对象,ActiveX控件能被其他COM组件或者程序调用,为代码的重用提供一种简化途径。使用ActiveX控件可以轻松地在Web页面中插入多媒体、交互式对象、各种文档格式及复杂的程序。ActiveX控件主要和IE浏览器配合使用,目前ActiveX控件多由第三方开发。然而,由于大多数ActiveX控件的接口对外部环境是开放的,攻击者很容易发现并利用控件中的漏洞攻击用户主机,严重影响网络安全。此外,Chrome、Firefox、AppleSafari等非IE内核的浏览器不支持ActiveX控件,这样就造成了一些应用系统使用的局限性。比如,银行系统的网上银行业务,非常依赖于ActiveX技术,ActiveX安全技术防止键盘钩子,对于一般用户而言,必须安装ActiveX控件才能登陆网上银行。与此同时,微软公司宣布自家取代IE浏览器的新一代浏览器Edge浏览器将不再支持长久以来用于IE浏览器的ActiveX、VBScript等10多项扩展及界面技术,并转向以JavaScript与HTML5为基础的标准技术。微软公司表示,ActiveX技术在各种浏览器中不通用,其重要性在HTML5出现后逐渐降低,未来Edge浏览器将内置AdobeFlash和PDF阅读器。为解决此问题,目前较普遍的方案是针对不同的浏览器开发类似于ActiveX控件的组件,由于每个浏览器的实现方式不相同,第三方需要为不同的浏览器开发不同的插件。例如,Firefox的NPAPI插件。用户在使用不同的浏览器时,需要下载不同的插件,这对用户造成很大困扰。不同浏览器插件实现的标准不同,同一个第三方服务为支持不同的浏览器,实现的插件存在的安全隐患也会不同,这样势必会带来更多的安全问题。
技术实现思路
本专利技术的目的在于提供一种提供签名服务的方法及系统,该方法及系统能够支持不同的浏览器,提供安全的数字签名服务,且便于实现。为达到上述目的,本专利技术所采用的技术方案为:一种提供签名服务的方法,其步骤包括:1)在待签名的Web网页中嵌入浏览器与本地HTTP服务通信的脚本代码;2)当待签名的Web网页获取数字签名时,浏览器先根据上述脚本代码与本地HTTP服务建立可靠通信信道,再向本地HTTP服务发送签名请求,本地HTTP服务依次检验请求发起方所在浏览器身份、请求签名服务的Web网页;3)如果上述检验通过,则本地HTTP服务向用户请求签名授权,签名授权后返回签名数据至上述浏览器。进一步地,该方法步骤还包括:如果检验未通过,则返回错误信息并警示用户。进一步地,步骤1)中所述脚本代码包括网页中使用的脚本语言和特征相同的具有动态功能及发送HTTP请求功能的语言;所述发送HTTP请求功能包括发送HTTP请求包和请求方法,其中所述请求方法包括GET、POST、HEAD、PUT和DELETE方法。进一步地,步骤1)中所述本地HTTP服务运行在客户主机上,并监听特定的端口;所述本地HTTP服务运行在客户主机上是指其作为一个或多个相关联的可执行程序,或者作为一个系统服务,且本地HTTP服务的启动时间是在开机界面初始化时或在用户主动运行本地HTTP服务时;所述特定的端口是指本地HTTP服务绑定的一个特定的端口或者绑定的一组特定的端口。进一步地,步骤2)中所述信道是指解释Web网页的浏览器与本地HTTP服务建立HTTP连接或者保护信息安全性传输的方法;所述保护信息安全性传输的方法是指Diffie-Hellman密钥协商方法,其中所述Diffie-Hellman密钥协商方法是指解释Web网页的浏览器与本地HTTP服务进行密钥协商,得到密钥后对通信的数据进行加密。进一步地,步骤2)中所述本地HTTP服务检验浏览器身份的过程包括以下步骤:1)本地HTTP服务预先维护一个信任列表,该信任列表中包含浏览器的详细信息及浏览器可执行程序二进制数据的哈希值;2)当检验浏览器身份时,根据浏览器发送的请求,查询浏览器的端口号;3)根据上述浏览器的端口号查询浏览器的进程号,进而获取浏览器所在的路径,得到浏览器的详细信息;其中所述浏览器的详细信息包括浏览器的名字、版本号、二进制数据;4)将浏览器可执行程序的二进制数据进行哈希运算,得到的结果与上述信任列表中的哈希值进行比对,若信任列表中存在该值,则浏览器身份检验通过,否则判定浏览器身份检验未通过。更进一步地,所述浏览器身份检验未通过时,提示用户该签名请求的浏览器可执行程序不在上述信任列表中,如果用户选择信任该浏览器可执行程序,则在上述信任列表中添加该浏览器可执行程序的详细信息以及该浏览器可执行程序二进制数据的哈希值;如果用户选择不信任该浏览器可执行程序,则结束处理。进一步地,步骤2)中所述本地HTTP服务检验请求签名服务的Web网页的过程包括以下步骤:1)本地HTTP服务预先维护一个信任列表,该信任列表中包含Web网页的域名信息及其哈希值;2)当检验请求签名服务的Web网页时,签名请求的HTTP请求报文的请求头Referer字段获取Web网页的域名信息,并将其与上述信任列表中的域名信息比对,若信任列表中存在该域名信息,则判定请求签名服务的Web网页检验通过,否则判定请求签名服务的Web网页检验未通过;其中所述Web网页的域名信息是指本地HTTP服务能够与Web网页所在的服务器进行通信且确认签名请求的真实性的信息。更进一步地,所述请求签名服务的Web网页检验未通过时,提示用户该签名请求的Web网页的域名信息不在上述信任列表中,如果用户选择信任该Web网页的域名,则在上述信任列表中添加该Web网页的域名信息;如果用户选择不信任该Web网页的域名,则结束处理。进一步地,步骤3)中所述本地HTTP服务向用户请求签名授权是指让用户输入口令或者个人身份号码(PIN,PersonalIdentificationNumber)并检验,若检验通过则用户签名授权。进一步地,步骤3)中所述签名数据是指本地HTTP服务使用自身实现的签名模块进行签名的结果,或者调用硬件签名设备USBKey进行签名的结果。一种提供签名服务的系统,包括Web服务器、浏览器、本地HTTP服务;所述Web服务器用于提供Web服务,在待签名的Web网页中嵌入浏览器与本地HTTP服务通信的脚本代码;所述浏览器用于访问Web服务器,执行待签名的Web网页中嵌入的脚本代码;所述本地HTTP服务用于提供签名服务,运行并等待待签名的Web网页中脚本的签名请求,检验浏览器身份和请求签名服务的Web网页,当上述检验通过后向用户请求签名授权并返回签名数据至上述浏览器。进一步地,所述本地本文档来自技高网
...
一种提供签名服务的方法及系统

【技术保护点】
一种提供签名服务的方法,其步骤包括:1)在待签名的Web网页中嵌入浏览器与本地HTTP服务通信的脚本代码;2)当待签名的Web网页获取数字签名时,浏览器先根据上述脚本代码与本地HTTP服务建立可靠通信信道,再向本地HTTP服务发送签名请求,本地HTTP服务依次检验请求发起方所在浏览器身份、请求签名服务的Web网页;3)如果上述检验通过,则本地HTTP服务向用户请求签名授权,签名授权后返回签名数据至上述浏览器。

【技术特征摘要】
1.一种提供签名服务的方法,其步骤包括:1)在待签名的Web网页中嵌入浏览器与本地HTTP服务通信的脚本代码;2)当待签名的Web网页获取数字签名时,浏览器先根据上述脚本代码与本地HTTP服务建立可靠通信信道,再向本地HTTP服务发送签名请求,本地HTTP服务依次检验请求发起方所在浏览器身份、请求签名服务的Web网页;3)如果上述检验通过,则本地HTTP服务向用户请求签名授权,签名授权后返回签名数据至上述浏览器。2.如权利要求1所述的方法,其特征在于,步骤1)中所述脚本代码包括网页中使用的脚本语言和特征相同的具有动态功能及发送HTTP请求功能的语言;所述发送HTTP请求功能包括发送HTTP请求包和请求方法,其中所述请求方法包括GET、POST、HEAD、PUT和DELETE方法。3.如权利要求1所述的方法,其特征在于,步骤1)中所述本地HTTP服务运行在客户主机上,并监听特定的端口;所述本地HTTP服务运行在客户主机上是指其作为一个或多个相关联的可执行程序,或者作为一个系统服务,且本地HTTP服务的启动时间是在开机界面初始化时或在用户主动运行本地HTTP服务时;所述特定的端口是指本地HTTP服务绑定的一个特定的端口或者绑定的一组特定的端口。4.如权利要求1所述的方法,其特征在于,步骤2)中所述本地HTTP服务检验浏览器身份的过程包括以下步骤:1)本地HTTP服务预先维护一个信任列表,该信任列表中包含浏览器的详细信息及浏览器可执行程序二进制数据的哈希值;2)当检验浏览器身份时,根据浏览器发送的请求,查询浏览器的端口号;3)根据上述浏览器的端口号查询浏览器的进程号,进而获取浏览器所在的路径,得到浏览器的详细信息;其中所述浏览器的详细信息包括浏览器的名字、版本号、二进制数据;4)将浏览器可执行程序的二进制数据进行哈希运算,得到的结果与上述信任列表中的哈希值进行比对,若信任列表中存在该值,则浏览器身份检验通过,否则判定浏览器身份检验未通过;5)当浏览器身份检验未通过时,提示用户该签名请求的浏览器可执行程序不在上述信任列表中,如果用户选择信任该浏览器可执行程序,则在上述信任列表中添加该浏览器可执行程序的详细信息以及该浏览器可执行程序二进制数据的哈希值;如果用户选择不信任该浏览器可执行程序,则结束处理。5.如权利要求1所述的方法,其特征在于,步骤2)中所述本地HTTP服务检验请求签名服务的Web网页的过程包括以下步骤:1)本地HTTP服务预先维护一个信任列表,该信任列表中包含Web网页的域名信息及其哈希值;所述Web网页的域名信息是指本地HTTP服务能够与Web网页所在的服务器进行通信且确认签名请求的真实性的信息;2)当检验请求签名服务的Web网页时,签名请求的HTTP请求报文的请求头Referer字段获取Web网页的域名信息,并将其与上述信任列表中的域名信息比对,若信任列表中存在该域名信息,则判定请求签名服务的Web网页检验通过,否则判定请求签名服务的Web网页检验未通过;3)当请求签名服务的Web网页检验未通过时,提示用户该签名请求的Web网页的域名信息不在上述信任列表中,如果用户选择信任该Web网页的域名,则在上述信任列表中添加该Web网页的域名信息;如果用户选择不信任该Web网页的域名,则结束处理。6.如权利要求1所述的方法,其特征...

【专利技术属性】
技术研发人员:王平建左石城王琼霄赵宇航曹宏瑾常欢
申请(专利权)人:中国科学院数据与通信保护研究教育中心
类型:发明
国别省市:北京,11

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

1