一种离线状态下BS应用服务绑定硬件码的身份验证方法技术

技术编号:26066127 阅读:68 留言:0更新日期:2020-10-28 16:39
本发明专利技术属于身份信息验证技术领域,公开了一种离线状态下BS应用服务绑定硬件码的身份验证方法,B/S应用部署的服务器用于非互联网环境下的web应用,包括网页、数据库,数据库中包括用户名、密码及其他关系类数据库信息;Web前端,用于用户接入web应用;安装在用户端的本地服务service,用于数据的交互;加密锁,用于写入8k字节的信息,提前将用户名、密码、固件信息以固定的格式写入加密锁中。本发明专利技术通过在本地安装开发的服务,弥补了软件加密锁没有提供web api的不足,开发的本地服务是整个发明专利技术思路的核心,该服务运行在用户计算机上,起到与服务器和用户电脑硬件信息的交互的作用。

【技术实现步骤摘要】
一种离线状态下BS应用服务绑定硬件码的身份验证方法
本专利技术属于身份信息验证
,尤其涉及一种离线状态下BS应用服务绑定硬件码的身份验证方法。
技术介绍
目前,现有技术一采用用户名和密码做应用系统的身份验证,是一种最为常见的也较宽松的一种身份验证方式,被用在各种基于B/S架构开发的应用系统中。用户通过用户名和密码登录web页面,web前端将用户名和密码上传至服务器,并与数据库中的用户名和密码对比,对比通过后即能成功登录系统。现有技术二对身份验证方式中有的采用加密锁即uskkey做应用系统的身份验证,例如网银U盾,是一种USB接口的硬件设备。它内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书,利用USBKey内置的公钥算法实现对用户身份的认证。由于用户私钥保存在加密锁中,因此保证了用户认证的安全性。现有技术三对身份验证方式中有的采用系统授权文件或数字证书做应用系统的身份验证,例如数字证书,利用数字授权证书实现对用户身份的认证。综上所述,现有技术存在的问题是:(1)现有技术中,用户使用相同的用户名和密码可以在任何一台终端登录,无法实现特定的应用需求和特定环境下,限制特定的电脑或其他终端登录系统。即使提前将电脑或其他终端硬件的硬件码(MAC地址、CPUID等)提前录入后台数据库,但由于web前端没有读取系统硬件地址的权限,无法实现用户名与登录硬件绑定。(2)现有技术中,部分PC端的应用app采用C/S架构设计开发,需要在用户终端单独安装应用系统的程序,而且同时要求应用app连接互联网,例如招商银行专业版app。该模式较大的弊端为app的正常运行需要依赖用户的电脑.NET环境,另外当应用app更新时,需要在每个电脑终端升级重新安装新应用app。(3)部分web端的app采用B/S结构开发,由于浏览器自身读写权限受限,无法直接读取电脑上usbkey信息,因此web版的网银应用需要基于浏览器的ActiveX开发。但由于activeX开发的系统要求是IE内核的浏览器才可运行,因此部分app的运行对浏览器的类型有要求,只能在IE、360等基于IE内核的浏览器才可运行,谷歌、遨游等同样是主流的浏览器无法使用该应用。例如招商银行大众版app。该模式进行身份验证需要B/S结构开发的应用连接互联网,无法在离线的局域网内使用该应用。解决上述技术问题的难度:(1)解决方案需具有广泛适用性。PC终端的浏览器、加密锁并不统一,型号品牌多样。首要的难点,身份验证解决方案应能适用于绝大多数主流的浏览器,因此不能采取运行在网页前端的ActiveX插件的方式开发;其次难点,市面上的usbkey加密锁只提供控件式接口,而普通的usbkey加密锁由于市场需求面小,往往未提供webapi,提供的开发api无法在web应用上实现调用加密锁接口、读取加密锁信息等功能。(2)基于B/S架构的web应用系统,在程序更新以及部署实施方面,较之基于C/S架构的应用程序具备天然的优势,只用在部署的服务器上完成系统的安装、发布以及程序更新升级即可,无需在每台使用系统的PC终端上反复安装、更新等。在基于B/S架构的web应用系统体系中,实现用户本地信息与服务器交互的中间桥梁是web网页,但由于电脑操作系统的安全策略限制,web网页无法读取电脑的硬件等信息。解决上述技术问题的意义:根据应用需求,该身份验证的解决方案可以应用于部署在局域网内的应用服务系统,无互联网连接验证,要求将用户身份、终端PC、加密锁验证联合作用,实现“用户名密码+电脑硬件码+usbkey加密锁”唯一绑定。可实现在特定的电脑上由特定的用户使用,以下情况均验证无效:①用户名或密码错误登陆失败;②自行更换电脑登陆失败;③无usbkey加密锁与电脑连接登录失败;④使用过程中监测加密锁状态,未与电脑正确连接时候系统无法继续使用。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种离线状态下BS应用服务绑定硬件码的身份验证方法。基于
技术介绍
两种主流的在应用系统开发中进行身份验证的方法。采用加密锁(usbkey,U盾)做身份验证的方法可将用户信息写入加密锁,这种用户信息与硬件绑定的方法,安全性要明显强于仅仅采用用户名和密码的登录方式。但依然有其不足,例如一要求连接互联网,二对浏览器的类型有限制,只能使用IE内核的浏览器等。在某些应用场景下,例如运行在企业局域网内部的B/S架构的应用系统,要求用户信息、电脑硬件信息等唯一绑定,同时兼容多种主流的浏览器。以上两种身份验证的手段都不能满足需求,因此亟待提出一种方法,在低成本、兼容性好、安全的前提下实现非互联网环境下的web应用系统用户身份验证。本专利技术是这样实现的,一种在离线情况下使用的BS应用服务绑定硬件码的身份验证系统,所述在离线情况下使用的BS应用服务绑定硬件码的身份验证系统包括:B/S应用部署的服务器,用于非互联网环境下的web应用部署,包括网页、数据库,数据库中包括用户名、密码及其他关系类数据库信息;Web前端,用于用户接入web应用;安装在用户端的本地服务service,用于数据的交互;加密锁,用于写入8k字节的信息,提前将用户名、密码、固件信息以固定的格式写入加密锁中。进一步,web应用所部属的服务器,尤其是非互联网环境下的web应用,包括网页、数据库等,数据库中包含用户名、密码等其他关系类数据库信息,作为服务端。进一步,Web前端用于网页应用服务的显示、交互、展现功能结果能作用,使用浏览器包括IE、谷歌、遨游。进一步,安装在用户端的本地服务service,不同于插件依赖浏览器运行,而是运行在用户本地的后台程序,用于读取加密锁内信息、读取本地CPUID等,主要功能用于与web交互。进一步,市面上生产的任何一种加密锁,用过加密锁厂商配套提供的软件,将固件信息有MAC地址或者CPUID,写入加密锁内,用于后续验证。本系统采用客户端锁内签名、服务器验证签名双重验证方式,采用市场通用品牌USBkey用作在线坐标转换系统的用户身份验证,usbkey每次签名使用不同的随机数据,防止外部监听数据后模拟设备,服务端用.netapi实现验证,增加破解难度。本专利技术的另一目的在于提供一种所述的在离线情况下使用的BS应用服务绑定硬件码的身份验证系统的身份验方法包括:读取加密锁内的提前写入的用户名和密码信息,通过web前端交互,将用户名以及密码和服务器数据库内的对比,成功后通过;读取加密锁内的提前写入的固件信息,通过web前端交互,与本地计算机的固件信息进行比对,成功后通过;在web前端是全周期使用过程中,同时在使用期间对加密锁在线状态进行心跳监测。具体的:1)将本地电脑的唯一机器码CPUID作为固件信息,通过调用操作系统库提供函数GETCPUID()获得CPUID,以下案例机器码为CPUID由一个16位的16进制数字组成“BFEBFBFF000306C3”;如图6。2)将用户在应用系统中注册的用本文档来自技高网
...

【技术保护点】
1.一种在离线情况下使用的BS应用服务绑定硬件码的身份验证系统,其特征在于,所述在离线情况下使用的BS应用服务绑定硬件码的身份验证系统包括:/nB/S应用部署的服务器,用于非互联网环境下的web应用,包括网页、数据库,数据库中包括用户名、密码及其他关系类数据库信息;/nWeb前端,用于用户接入web应用;/n安装运行在用户端的本地服务service,用于数据的交互;/n加密锁,用于写入8k字节的信息,提前将用户名、密码、固件信息以固定的格式写入加密锁中。/n

【技术特征摘要】
1.一种在离线情况下使用的BS应用服务绑定硬件码的身份验证系统,其特征在于,所述在离线情况下使用的BS应用服务绑定硬件码的身份验证系统包括:
B/S应用部署的服务器,用于非互联网环境下的web应用,包括网页、数据库,数据库中包括用户名、密码及其他关系类数据库信息;
Web前端,用于用户接入web应用;
安装运行在用户端的本地服务service,用于数据的交互;
加密锁,用于写入8k字节的信息,提前将用户名、密码、固件信息以固定的格式写入加密锁中。


2.如权利要求1所述的在离线情况下使用的BS应用服务绑定硬件码的身份验证系统,其特征在于,Web前端可使用的浏览器包括IE、谷歌、遨游。


3.如权利要求1所述的在离线情况下使用的BS应用服务绑定硬件码的身份验证系统,其特征在于,加密锁还用于绑定的固件信息有MAC地址或者CPUID。


4.一种...

【专利技术属性】
技术研发人员:白洁李江卫王祥周剑孙伟杨霞范清彪姚鹏吴多胡慧萍贾伟定
申请(专利权)人:武汉市测绘研究院
类型:发明
国别省市:湖北;42

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

1