一种支持离线环境的OTP认证方法与流程

文档序号:34028358发布日期:2023-05-05 10:11阅读:323来源:国知局
一种支持离线环境的OTP认证方法与流程

本发明涉及软硬件授权有效性验证,具体涉及一种支持离线环境的otp认证方法。


背景技术:

1、对软硬件知识产权采用技术手段进行保护,是保障研发人员权益和创造性成果的重要方式。主流的保护方式通过序列号认证、证书认证、硬件认证等不同的授权认证方式实现,这些方式通常需要到服务器上进行联网验证,由于工控领域的许多设备和系统大量部署在与互联网隔离的企业内部网络中,无法使用联网验证的方式进行授权认证。

2、otp(one time password,一次性密码),又称动态密码或单次有效密码,是指在设备和信息系统上只能使用一次的密码,根据专门算法、每隔一定时间(一般取值在30秒到两分钟之间)生成一个不可预测的随机数字组合,有效期为只有一次登录会话或交易。otp一次性密码已在金融、电信等领域被广泛应用,有效地保护了用户的安全。相对于传统静态密码,otp的突出优点是不容易受到重放攻击(replay attack);同时,防止了多个使用相同系统的用户,因其中一个被攻击而造成所有系统用户都变得脆弱;otp还可以抵御攻击模拟,从而进一步减少攻击面。但使用otp的不利之处是,otp作为传统密码增强替代方式,它们需要额外的技术支持,如一些实现纳入了双因素认证,确保单次有效密码需要访问特定的信息,如设备pin、文字短信、智能手机验证码、或者访问特定硬件等。otp的使用场景要求良好的网络环境,在有效期内稳定地接受到认证信息。

3、探索在工控领域离线网络环境下,如何使用otp一次性密码认证方式对设备和系统进行版权和认证保护,具有重要的应用价值。


技术实现思路

0、
技术实现要素:
本发明提出了一种支持离线环境的otp认证方法,采用手机otp app作为桥梁,实现内部网络和外部互联网之间通信数据的交互,将内网认证客户端的认证请求、外网云端的认证服务器otp动态口令的认证信息在相互隔离的不同网络中的传递;基于手机移动app实现otp的令牌功能,实现了离线环境中从客户端认证请求、认证服务器响应全过程认证信息的传递,克服了离线网络中无法进行otp认证的不足,为工控领域离线网络环境中的设备和系统提供增强认证的安全性。

1、支持离线环境的otp认证系统包括内网认证客户端、内网认证服务端、手机app、云端认证服务器。基于上述otp认证系统,有如下种支持离线环境的otp认证方法,具体包括如下步骤:

2、步骤1、内部网络用户登录时,由部署在内网的认证客户端生成认证请求;

3、内部网络用户登录时,由部署在内网的认证客户端生成认证请求。工控领域的设备和系统,出于安全考虑,大量部署在与互联网环境相隔离的企业内部网络中。为了使用互联网环境中的otp增强安全认证功能,需要在内网中部署认证客户端和服务端,在需要认证的环节,如系统登录时,由认证客户端生成认证请求。

4、步骤2、认证请求信息以qr(quick response)二维码方式显示在认证客户端界面屏幕上;客户端生成的认证请求信息包括本机的硬件编码sysid、本机当前时间戳timestamp等信息生成认证请求参数。认证请求信息组成:authpara=sysid||timestamp。

5、步骤3、使用手机app扫描认证客户端屏幕上的二维码,解析请求数据并上传请求信息到云端认证服务器;

6、上传的请求信息包括手机app用户userid和认证请求信息,即请求信息为:authpara2=sysid||timestamp||userid。

7、步骤4、云端认证服务器接收认证请求,并进行合法性判断;

8、云端认证服务器接收到app的通信请求,进行基于设备身份的双向认证。在安装app时获取手机设备信息、注册要对什么产品进行认证,这些信息在注册或者首次通信连接时会发送到服务器注册备案,并将服务器信息反馈给app存储备份。app向服务器发起认证请求时,服务器根据设备信息和备案信息进行app的身份合法性认证,app端也能根据其存储备份的服务器信息对当前服务端身份进行认证,双向认证保证通信的安全可信。

9、app将请求信息authpara2上传之后,服务器在生成动态响应码之前,还要进行用户合法性及版权有效期的双重判断,以保证只对合法认证请求发放otp动态口令。

10、双重判断过程具体如下:

11、步骤4.1、认证服务器判断请求认证用户是否为已注册用户,如果为未注册用户,则向手机app返回用户注册要求,手机app显示注册界面;用户注册完成后,需要在内网认证客户端重新发起认证请求,刷新生成新的认证请求二维码;

12、云端认证服务器将手机app上传的请求信息authpara2=sysid||timestamp||userid,解析成sysid、timestamp、userid。在服务器内置的用户注册信息库中检索该硬件编码sysid。未检索到返回代码errorcode1,要求用户注册。注册完毕需要返回步骤1,由认证客户端重新发起认证请求,刷新生成新的认证请求二维码。

13、步骤4.2、如果请求用户为已注册用户,则通过查询云端认证服务器中的用户数据库,确认用户版权是否在有效期内。如果版权已过有效期,则向手机app返回版权续约要求,手机app显示版权续约界面;版权续约填写完成后,需要在内网认证客户端重新发起认证请求,刷新生成新的认证请求二维码;

14、云端认证服务器通过解析手机app发来的认证请求authpara2,在服务器内置的用户注册信息库中检索该硬件编码sysid,对已过有效期的认证请求返回代码errorcode2,提示版权续约。版权续约后需要返回步骤1,由认证客户端重新发起认证请求,刷新生成新的认证请求二维码。

15、步骤5、对已完成用户注册并且版权在有效期内的用户认证请求,云端服务器生成动态口令,并将动态口令以二维码和文字方式返回到手机app;服务器将收到的手机app上传的请求信息authpara2=sysid||timestamp||userid,解析出系统和设备编码sysid,以及时间戳timestamp。云端服务器依据收到的客户端请求硬件编码和时间戳,使用国密sm3算法生成otp动态认证码otpstring=sm3(sysid||timestamp),并返回到手机app。手机app接收到该otpstring后,编码为qr(quick response)二维码显示在手机app屏幕上,同时显示otpstring的文字版本。

16、步骤6、手机app接收到动态口令后,即可进行认证口令输入。

17、如果内网认证客户端支持二维码扫描功能,则通过扫描手机app上显示的动态口令二维码进行输入,只需将手机app屏幕对准内网认证客户端扫描设备,实现otp认证码的读取。

18、如果内网认证客户端不支持二维码扫描功能,则需要将动态口令手工录入到内网认证客户端;即将手机app屏幕上的otpstring的文字版本信息手工录入到内网认证客户端。

19、步骤7、内网认证客户端接收到认证请求的动态口令后,向部署在内网的认证服务端提交认证请求,内网的认证服务端收到otpstring后,利用系统和设备的硬件编码sysid和发起认证请求时客户端本地的时间timestamp,通过国密sm3算法生成一个内部动态口令tmpstring,即tmpstring=sm3(sysid||timestamp),对otpstring和tmpstring进行比较,如果两者相同,则表示此次云端认证服务端传递回来的otp动态口令是正确的,即通过认证。如果两者不同,则表示此次输入的otp动态口令是错误的,认证未通过。

20、内网的认证服务端将认证结果返回到认证客户端,完成支持离线环境的otp认证功能。如果认证未通过,则返回步骤1重新生成新的认证请求,进行新一轮的认证过程操作。

21、上述支持离线环境的otp认证方法,基于手机app的otp令牌功能,实现了将内网认证客户端认证请求传输到云端认证服务器,并将云端认证服务生成的otp动态口令传输到内网认证客户端,完成了认证信息在企业内部网络和互联网不同网络间的传递,克服了离线网络中无法进行传统otp认证的不足,为工控领域离线网络环境中的设备和系统提供了增强认证的安全性支持。

22、otp认证方法为产品提供了在线的安全增强认证功能,在产品认证和授权保护中得到了广泛应用,然而由于otp认证服务器由厂商建设、部署和维护,为其产品提供在线的认证功能,无法应用于离线环境。为了使otp认证方法能应用于离线环境、部署在企业内部网络中的产品的认证,本方法提出了一种通过手机app作为作为桥梁,实现部署在互联网上的厂商otp认证服务器和企业内部隔离网络产品认证客户端之间通信数据的交互,达成企业内网认证客户端的认证请求、外网云端的认证服务器otp动态口令的认证信息在相互隔离的不同网络中的传递,克服了离线网络中难以进行otp认证的不足,为部署在离线网络环境中的产品的认证和授权提供了安全增强认证的可行方案。

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