一种安全访问方法、终端设备及系统与流程

文档序号:14847589发布日期:2018-06-30 16:54阅读:145来源:国知局
一种安全访问方法、终端设备及系统与流程

本发明涉及信息安全技术领域,特别涉及一种安全访问方法、终端设备及系统。



背景技术:

出于安全考虑,浏览器中运行的代码不能访问本地资源,因此也就无法访问硬件设备。例如,用户操作浏览器进入到某网站的验证页面时,浏览器无法直接调用硬件设备进行验证。

目前通用的解决方法是通过浏览器中的控件去调用硬件设备获取验证信息,但某些操作系统可能会禁用浏览器的控件,导致浏览器无法访问本地硬件设备。



技术实现要素:

有鉴于此,本发明实施例提出了一种安全访问方案,能够实现通过浏览器对本地信息安全设备进行安全访问而不受浏览器控件的限制。

为此,本发明实施例提出了一种安全访问方法,应用于终端设备,所述方法包括:浏览器请求登录服务端时,从服务端接收响应于登录请求的第一验证数据,并通过跨域访问方式将第一验证数据发送给本地服务模块;本地服务模块将第一验证数据发送给与终端设备连接的信息安全设备,并从信息安全设备接收响应于第一验证数据而生成的第二验证数据;本地服务模块通过跨域访问方式将第二验证数据发送给浏览器,并且浏览器将第二验证数据返回给服务端,以由服务端对第二验证数据进行验证。

作为优选,第二验证数据由所述信息安全设备通过用第一私钥对第一验证数据进行数字签名而生成。

作为优选,第一验证数据由服务端用第一公钥对第一字符串加密生成,第二验证数据由所述信息安全设备通过用第一私钥对第一验证数据解密后对解密数据计算哈希值而生成。

作为优选,所述方法还包括:浏览器通过跨域访问方式向本地服务模块发送数据加解密指令和待加解密的数据;本地服务模块将所述数据加解密指令和待加解密的数据发送给所述信息安全设备,接收从所述信息安全设备返回的加解密数据,并通过跨域访问方式将所述加解密数据返回给浏览器。

本发明实施例还提出了一种安全访问终端设备,包括:浏览器,其配置为在请求登录服务端时从服务端接收响应于登录请求的第一验证数据,并将第二验证数据返回给服务端,以由服务端对第二验证数据进行验证;本地服务模块,其配置为将第一验证数据发送给与终端设备连接的信息安全设备,并从信息安全设备接收响应于第一验证数据而生成的第二验证数据;跨域访问模块,其配置为将第一验证数据转发给本地服务模块,并将第二验证数据转发给浏览器。

作为优选,第二验证数据由所述信息安全设备通过用第一私钥对第一验证数据进行数字签名而生成。

作为优选,第一验证数据由服务端用第一公钥对第一字符串加密生成,第二验证数据由所述信息安全设备通过用第一私钥对第一验证数据解密后对解密数据计算哈希值而生成。

作为优选,浏览器还配置为生成数据加解密指令,并发送数据加解密指令和待加解密的数据;本地服务模块还配置为将所述数据加解密指令和待加解密的数据发送给所述信息安全设备,接收从所述信息安全设备返回的加解密数据;跨域访问模块还配置为将所述数据加解密指令和待加解密的数据转发给本地服务模块,并将所述加解密数据转发给浏览器。

本发明实施例还提出了一种安全访问系统,包括:上述实施例的安全访问终端设备;服务端,其配置为根据所述登录请求中的登录信息确定预存的所述信息安全设备的公钥作为第一公钥,并用第一公钥对第二验证数据进行验签。

本发明实施例还提出了一种安全访问系统,包括:上述实施例的安全访问终端设备;服务端,其配置为根据所述登录请求中的登录信息确定预存的所述信息安全设备的公钥作为第一公钥,用第一公钥对第一字符串加密生成所述第一验证数据,并用所述第一字符串的哈希值对第二验证数据进行验证。

通过本发明实施例的安全访问方案,即使某些系统禁止浏览器使用控件,也可以实现通过浏览器对本地信息安全设备的安全访问,提高了信息安全设备的使用便利性和信息安全性。

附图说明

图1为本发明的安全访问方法的一个实施例的示意性流程图;

图2为本发明的安全访问方法的另一个实施例的示意性流程图;

图3为本发明的安全访问终端设备和系统的示意性框图。

具体实施方式

下面参照附图对本发明的各个实施例进行详细说明。

图1为本发明的安全访问方法的一个实施例的示意性流程图,本发明实施例的安全访问方法应用于终端设备。

如图1所示,本发明实施例的安全访问方法,包括:

S101、浏览器请求登录服务端时,从服务端接收响应于登录请求的第一验证数据,并通过跨域访问方式将第一验证数据发送给本地服务模块;

浏览器安装于终端设备上,终端设备的用户在使用浏览器访问网站时,有时需要通过在浏览器显示的登录页面上输入登录信息来登录到某个服务端,例如社交类网站服务端、邮箱服务端、软件许可服务端等,浏览器将包括用户输入的登录信息的登录请求发送到服务端。以请求在终端设备与服务端之间建立通信连接。

为了提高终端设备与服务端之间通信连接的安全性,可利用加密锁、蓝牙Key等信息安全设备对通信交互数据进行加解密。在基于信息安全设备建立终端设备与服务端之间的安全通信之前,服务端需要对信息安全设备进行身份验证,为此,服务端基于从浏览器接收的登录请求,生成第一验证数据返回给浏览器。浏览器从服务端接收到第一验证数据后,通过跨域访问方式将第一验证数据传送给安装在终端设备中的本地服务模块。本地服务模块例如为本地Web服务模块,用于调用终端设备内的应用程序或者调用与终端设备连接的外部设备的功能。

S102、本地服务模块将第一验证数据发送给与终端设备连接的信息安全设备,并从信息安全设备接收响应于第一验证数据而生成的第二验证数据;

本地服务模块接收到第一验证数据后,执行调取本地信息安全设备的操作以与信息安全设备之间进行数据交互,并将第一验证数据发送给信息安全设备。信息安全设备从本地服务模块接收到第一验证数据后,根据预先协商的验证方式,使用信息安全设备持有的密钥基于第一验证数据生成第二验证数据,并将第二验证数据返回给本地服务模块。

S103、本地服务模块通过跨域访问方式将第二验证数据发送给浏览器,并且浏览器将第二验证数据返回给服务端,以由服务端对第二验证数据进行验证。

本地服务模块从信息安全设备接收到响应于第一验证数据而生成的第二验证数据后,通过跨域访问方式将第二验证数据返回给浏览器,并由浏览器将第二验证数据返回给服务端。

服务端从浏览器接收到返回的第二验证数据后,根据预先协商的上述验证方式,对第二验证数据进行验证。如验证通过,则确认该信息安全设备为合法设备,完成对信息安全设备的身份验证,允许终端设备通过该信息安全设备对终端设备与服务端之间的通信数据进行加解密处理。

通过本发明实施例的安全访问方案,即使某些系统禁止浏览器使用控件,也可以实现通过浏览器对本地信息安全设备的安全访问,使得服务端能够对信息安全设备进行安全身份验证,提高了信息安全设备的使用便利性和信息安全性。

下面对上述的服务端与信息安全设备之间预先协商的验证方式进行说明。

在本发明一个实施例中,预先协商的验证方式可以是,服务端发送任意字符串作为第一验证数据,信息安全设备用自身的私钥作为第一私钥对第一验证数据进行数字签名生成第二验证数据,服务端用该信息安全设备的公钥对第二验证数据进行验签。其中,服务端发送的第一验证数据可以是服务端实时生成的随机数,或者通过将一随机数与其他任意字符组合生成第一验证数据,或者预先存储的字符串或多个字符串之一。服务端需要保存所发送的第一验证数据以用于验证数字签名。通过该验证方式,服务端直接对第二验证数据进行验签,验证效率较高。

在本发明另一个实施例中,预先协商的验证方式可以是,服务端用该信息安全设备的公钥作为第一公钥对作为第一字符串的任一字符串进行加密生成第一验证数据,信息安全设备用自身的私钥作为第一私钥对第一验证数据进行解密后,对解密得到的字符串计算哈希值,将计算得到的哈希值作为第二验证数据。服务端对生成第一验证数据时使用的字符串也计算哈希值,并用该哈希值来验证第二验证数据是否正确。其中,服务端生成第一验证数据时使用的第一字符串可以是服务端实时生成的随机数,或者通过将一随机数与其他任意字符组合生成的字符串,或者预先存储的字符串或多个字符串之一。服务端需要保存第一字符串的哈希值以用于验证数字签名。通过该验证方式,服务端间接对第二验证数据进行验证,验证安全性较高。

图2为本发明的安全访问方法的另一个实施例的示意性流程图。

如图2所示,本发明实施例的安全访问方法包括:

S201、浏览器请求登录服务端时,从服务端接收响应于登录请求的第一验证数据,并通过跨域访问方式将第一验证数据发送给本地服务模块;

S202、本地服务模块将第一验证数据发送给与终端设备连接的信息安全设备,并从信息安全设备接收响应于第一验证数据而生成的第二验证数据;

S203、本地服务模块通过跨域访问方式将第二验证数据发送给浏览器,并且浏览器将第二验证数据返回给服务端,以由服务端对第二验证数据进行验证。

S204、浏览器通过跨域访问方式向本地服务模块发送数据加解密指令和待加解密的数据;

S205、本地服务模块将所述数据加解密指令和待加解密的数据发送给所述信息安全设备,接收从所述信息安全设备返回的加解密数据,并通过跨域访问方式将所述加解密数据返回给浏览器。

本发明实施例中S201-S203与图1所示实施例中的S101-S103类似,在此省略具体说明,下面对S204-S205进行说明。

在本发明实施例中,服务端通过了对信息安全设备的身份验证后,可使用信息安全设备的公钥对要发给浏览器的通信数据进行加密后发送给浏览器,浏览器从服务端接收到加密的数据后,将数据解密指令和该待解密的数据通过跨域访问方式发送给本地服务模块。本地服务模块接收到数据解密指令和该待解密的数据后,执行调取本地信息安全设备的操作以与信息安全设备之间进行数据交互,并将数据解密指令和该待解密的数据发送给信息安全设备。信息安全设备接收到数据解密指令和该待解密的数据后,执行该解密指令,用信息安全设备的私钥对该待解密的数据进行解密后得到解密数据,并将解密数据返回给本地服务模块。本地服务模块将从信息安全设备返回的解密数据通过跨域访问的方式返回给浏览器,从而浏览器可将服务端发来的加密数据以明文的方式显示在终端设备上以供用户查看。

在本发明实施例中,浏览器要向服务端发送加密的数据之前,将待加密的数据和加密指令通过跨域访问的方式发送给本地服务模块。本地服务模块接收到数据加密指令和该待加密的数据后,执行调取本地信息安全设备的操作以与信息安全设备之间进行数据交互,并将数据加密指令和该待加密的数据发送给信息安全设备。信息安全设备接收到数据加密指令和该待加密的数据后,执行该加密指令,用服务端的公钥对该待加密的数据进行加密后得到加密数据,并将加密数据返回给本地服务模块。本地服务模块将从信息安全设备返回的加密数据通过跨域访问的方式返回给浏览器,从而浏览器可将待发送的数据以加密的方式发送给服务端,服务端在接收到加密数据后可使用服务端私钥对加密数据解密。

通过本发明实施例的安全访问方案,即使某些系统禁止浏览器使用控件,也可以实现通过浏览器对本地信息安全设备的安全访问,使得能够使用信息安全设备对终端设备与服务端之间的通信数据进行加解密处理,提高了信息安全设备的使用便利性和信息安全性。

图3为本发明的安全访问终端设备和系统的示意性框图。

如图3所示,本发明实施例的安全访问终端设备20包括浏览器23、本地服务模块21和跨域访问模块22,终端设备20连接到信息安全设备10,并且终端设备20与服务端30之间通过网络进行通信。

浏览器23配置为在请求登录服务端30时,从服务端30接收响应于登录请求的第一验证数据,并将第二验证数据返回给服务端30,以由服务端30对第二验证数据进行验证。跨域访问模块22配置为将浏览器23接收到的第一验证数据转发给本地服务模块21。

本地服务模块21配置为将第一验证数据发送给与终端设备20连接的信息安全设备10,并从信息安全设备10接收响应于第一验证数据而生成的第二验证数据。跨域访问模块22还配置为将本地服务模块21从信息安全设备10获得的第二验证数据转发给浏览器23。

本发明实施例中各部件的协作过程可参见图1所示实施例,在此省略具体说明。

本发明实施例中的跨域访问模块22例如可以通过jsonp代码来实现。Jsonp技术利用在页面中创建<script>节点的方法向不同域提交HTTP请求,可以跨域提交Ajax请求,并且在请求完毕后可以通过调用callback的方式回传结果。

通过本发明实施例的安全访问方案,即使某些系统禁止浏览器使用控件,也可以实现通过浏览器对本地信息安全设备的安全访问,使得服务端能够对信息安全设备进行安全身份验证,提高了信息安全设备的使用便利性和信息安全性。

在本发明一个实施例中,服务端30发送任意字符串作为第一验证数据,信息安全设备10用自身的私钥作为第一私钥对第一验证数据进行数字签名生成第二验证数据,服务端30用该信息安全设备10的公钥对第二验证数据进行验签。

在本发明另一个实施例中,服务端30用该信息安全设备10的公钥作为第一公钥对作为第一字符串的任一字符串进行加密生成第一验证数据,信息安全设备10用自身的私钥作为第一私钥对第一验证数据进行解密后,对解密得到的字符串计算哈希值,将计算得到的哈希值作为第二验证数据。服务端30对生成第一验证数据时使用的字符串也计算哈希值,并用该哈希值来验证第二验证数据是否正确。

在本发明一个实施例中,浏览器23还配置为生成数据加解密指令,并发送数据加解密指令和待加解密的数据。本地服务模块21还配置为将数据加解密指令和待加解密的数据发送给信息安全设备10,并接收从信息安全设备10返回的加解密数据。跨域访问模块22还配置为将数据加解密指令和待加解密的数据转发给本地服务模块21,并将加解密数据转发给浏览器23。本发明实施例中各部件的协作过程可参见图2所示实施例,在此省略具体说明。

本发明实施例同时提供了一种安全访问系统,包括上述实施例中的安全访问终端设备20和服务端30。服务端30可以发送任意字符串作为第一验证数据,信息安全设备10用自身的私钥作为第一私钥对第一验证数据进行数字签名生成第二验证数据,服务端30用该信息安全设备10的公钥对第二验证数据进行验签。其中,服务端30可以配置为根据浏览器23发来的登录请求中的登录信息,从预存的信息安全设备和登录信息之间的对应存储表中查找到信息安全设备10的公钥作为第一公钥。通过本发明实施例的安全访问系统,服务端30直接对第二验证数据进行验签,验证效率较高。

本发明实施例还提供了另一种安全访问系统,包括上述实施例中的安全访问终端设备20和服务端30。服务端30用信息安全设备10的公钥作为第一公钥对作为第一字符串的任一字符串进行加密生成第一验证数据,信息安全设备10用自身的私钥作为第一私钥对第一验证数据进行解密后,对解密得到的字符串计算哈希值,将计算得到的哈希值作为第二验证数据。服务端30对生成第一验证数据时使用的字符串也计算哈希值,并用该哈希值来验证第二验证数据是否正确。其中,服务端30可以配置为根据浏览器23发来的登录请求中的登录信息,从预存的信息安全设备和登录信息之间的对应存储表中查找到信息安全设备10的公钥作为第一公钥。通过本发明实施例的安全访问系统,服务端30间接对第二验证数据进行验证,验证安全性较高。

以上对本发明的多个实施例进行了说明,但本发明不限于上述特定的实施例,本领域技术人员在本发明构思和精神的基础上,能够对这些实施例进行多种变型和修改,这些变型和修改都应落入本发明所要求保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1