发明名称 一种用于B/S网络结构的一次性口令认证系统和认证方法
摘要 一种用于B/S网络结构的一次性口令认证系统和认证方法,其认证系统包括硬件令牌、初始化工具、客户系统、管理系统和认证服务器。初始化工具对硬件令牌完成初始化流程;硬件令牌为用户提供认证所需的OTP;用户向客户系统输入OTP并由客户系统将该OTP发送至认证服务器;认证服务器完成认证过程并将结果返回至客户系统,最终反馈给用户;管理系统完成系统管理和维护,并按规定向认证服务器和客户端服务器发送管理操作请求;认证服务器和客户端服务器接收请求,完成操作并返回操作结果。其认证方法包括系统初始化,登录认证和系统管理,它有八大步骤。本发明通过浏览器页面方式就能完成用户认证和系统管理,使用方便,便于维护,它具有实用价值和广阔地应用前景。
申请公布号 CN101977202A 申请公布日期 2011.02.16
申请号 CN201010539084.8 申请日期 2010.11.11
申请人 北京航空航天大学 发明人 刘建伟;李为宇;郑志明;毛剑;修春娣;尚涛
分类号 H04L29/06(2006.01)I;H04L29/08(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 北京慧泉知识产权代理有限公司 11232 代理人 王顺荣;唐爱华
主权项 一种用于B/S网络结构的一次性口令认证系统,其特征在于:该系统包括硬件令牌、初始化工具、客户系统、管理系统和认证服务器;它们相互之间的关系是:初始化工具对刚出厂的硬件令牌完成初始化流程;硬件令牌为用户提供认证所需的OTP;用户通过客户系统输入OTP并由客户系统将该OTP按照规定数据包格式发送至认证服务器;认证服务器完成认证过程决定是否认证成功并将认证结果返回至客户系统,最终反馈给用户;管理系统在管理员的参与下完成系统管理和维护,按照规定数据包格式向认证服务器和客户端服务器发送管理操作请求,认证服务器和客户端服务器接收请求,完成管理操作,并向管理系统返回操作结果;所述硬件令牌包括:存储模块、OTP生成模块、指纹模块、显示模块和触发模块,各部分实现方式和相互关系是:该存储模块,用于存储OTP生成要素、触发次数、用户指纹信息;该OTP生成模块,用于通过存储模块中的OTP生成要素和触发次数计算生成OTP,生成OTP的算法采用HMAC‑SHA1算法;该指纹模块,用于在用户获得硬件令牌是初始化指纹并将获得的指纹信息存储在存储模块中,以及在硬件令牌开启时获取用户指纹信息,并验证其是否匹配;它选用任意一种指纹采集设备;该显示模块,用于向用户显示OTP生成模块计算所得的OTP;该触发模块,通过此模块触发OTP生成模块生成OTP;所述初始化工具包括:初始化软件和令牌烧写器;各部分实现方式和相互关系是:该初始化软件,用于在令牌初始化时,提供可视化工具;通过此模块,输入令牌序列号SN及生成因子,并计算OTP生成要素;软件中通过一种杂凑算法计算OTP生成要素,该杂凑算法为SHA1或MD5算法;该令牌烧写器,是一套硬件设备,用于将主机与硬件令牌相连接,向硬件令牌烧写程序、将触发次数初始化为0和注入所述初始化软件计算所得的OTP生成要素;其相互连接关系是:与主机端通过USB连线连接,与硬件令牌通过UART串口线连接,核心部分通过CH341芯片完成USB信号与UART信号的互相转换;所述客户系统包括客户端页面和客户端服务器,其间关系是:客户端页面搭建在客户端服务器之上;该客户端页面,是认证用户可以通过浏览器访问的WEB登录页面,它包括:输入模块、通信模块和显示模块,各部分实现方式和相互关系是:该输入模块,用户登录认证时,通过此模块输入用户名及OTP,它是通过web编程提供的用户输入框;该通信模块,用于将用户输入的用户名及用户OTP发送至客户端服务器,并接收认证结果及提示信息;它按照http协议进行数据传输;该显示模块,用于在登录过程中,向用户显示客户端服务器返回认证结果及其他提示信息,它是通过web编程提供的文本显示框或弹出式提示对话框;该客户端服务器包括:通信模块、存储模块、用户有效性验证模块、绑定和添加处理模块;各部分实现方式和相互关系是:该通信模块,同时用于与客户端页面和与认证服务器的数据交互;一方面用于接收客户端页面发送来的用户名和用户OTP,并向认证服务器发送认证数据包,所述认证数据包就是具有规定格式的包含用户名和用户OTP的数据包;另一方面用于接收并向客户端页面转发认证服务器发来的用户认证结果;该通信模块的核心功能在于将用户名和OTP按照规定格式封装数据包,具体可以是RADIUS数据包格式;该存储模块,用于存储用户名及其他与实际应用场景紧密相关的用户信息,所述用户名与认证服务器的存储模块中存储的用户名一一对应,且每个用户之间互不相同;它是通过MySql、SqlSever、Oracle数据库中的一种来实现;该用户有效性验证模块:用于当用户提交用户名和OTP后,在所述存储模块中查找用户提交的用户名,如未查找到,则向客户端页面返回用户名无效的提示信息;它在软件中通过数据库查找语句找到对应用户信息,判断其是否有效;该绑定和添加处理模块,用于处理管理员提出的绑定和添加操作请求;具体的绑定和添加方法通过软件编程实现;所述管理系统包括管理系统页面和管理系统服务器,其间关系是:管理系统页面搭建在管理系统服务器之上;该管理系统页面,是管理员可以通过浏览器访问的WEB管理页面,它包括:输入模块、通信模块、添加与绑定模块、信息修改模块、日志模块和重同步模块;各部分实现方式和相互关系是:该输入模块,用于管理员登录时输入管理员账号和密码,也用于管理员进行管理操作时输入必要信息;它是通过web编程提供的用户输入框;该通信模块,用于将管理员输入的管理员账号和密码传送至管理系统服务器,并接收认证结果及其他提示信息;也用于将管理员操作请求和必要数据传送至管理系统服务器,它按照http协议进行数据传输;该添加与绑定模块,用于完成新用户的添加和令牌与其所有者用户的绑定操作,它是通过web编程提供的用户输入框,用于输入必要信息;该信息修改模块,用于删除一个用户,也用于修改各种用户信息;它是通过web编程提供的用户输入框,用于输入修改的用户信息;以及通过web编程提供的文本框和表格,用于显示从数据库获取的现有用户信息;同时通过数据库操作完成删除或信息修改;该日志模块,用于查看管理系统的管理员操作记录,它是通过web编程提供的文本框和表格,显示管理员操作信息;该重同步模块,用于当硬件令牌的触发次数与认证服务器的认证成功次数的差值超过规定限度时,由管理员将所述硬件令牌的触发次数与所述认证服务器的认证成功次数重新设置为同步;它通过编程实现,核心部分为重同步算法;该管理系统服务器包括:通信模块、存储模块、操作请求处理模块和管理员登录模块,各部分实现方式和相互关系是:该通信模块,同时用于与管理系统页面、客户端服务器和认证服务器的数据交互;一方面用于绑定操作时向客户端服务器和认证服务器发送用户信息;另一方面用于向认证服务器发送管理操作请求数据包,并接收操作处理结果;也用于接收管理员登录时管理系统页面发送来的管理员账号和密码,并向管理系统页面发送管理员登录认证结果;它通过软件编程实现,其核心在于其与管理系统页面的数据交互通过http协议完成,其与向客户端服务器和认证服务器的数据交互通过事先规定的数据包格式完成,该数据包格式为RADIUS数据包格式;该存储模块,用于存储管理员账号、密码、日志信息及与管理员相关联的必要信息,它是通过MySql、SqlSever、Oracle数据库中的一种来实现;该操作请求处理模块,用于将通信模块接收到的,来自管理系统页面提出的各种操作请求连同必要信息封装成规定格式的认证数据包,再通过通信模块发送出去,它通过软件编程实现,其核心在于将操作请求封装成为规定格式数据包,该数据包格式为RADIUS数据包格式;该管理员登录模块,用于验证通信模块接收到的管理员账号和密码,如果验证成功,则允许管理员进入管理系统,并向管理系统页面返回登录成功信息;如果认证失败,则拒绝管理员进入管理系统,并向管理系统页面返回登录失败信息;它通过软件编程实现,利用数据库查询语句获取存储模块中的管理员账户信息,并验证通信模块接收到的管理员账号和密码是否与所获信息匹配;所述认证服务器包括:通信模块、存储模块、认证处理模块、绑定和添加处理模块和重同步处理模块,各部分实现方式和相互关系是:该通信模块,用于接收客户端服务器发来的认证数据包并向客户端服务器反馈认证结果,同时用于接收管理系统服务器发送来的管理员操作请求并向管理系统服务器反馈操作结果;它通过软件编程实现,其核心在于将发送来的RADIUS数据包拆分,获得其中数据,并将结果封装成为RADIUS数据包,进行反馈;该存储模块,用于存储令牌序列号即SN以及与其相关联的用户名即UID,令牌使用状态,认证次数即counter、用户联系方式,OTP生成要素,认证次数;所述用户名要保证每个用户之间互不相同,它是通过MySql、SqlSever、Oracle数据库中的一种来实现;该认证处理模块,用于处理用户的登录认证请求;所述认证处理模块从通信模块获得的认证数据包提取用户名、用户OTP,判断所述用户名是否存在,如果不存在,则返回认证用户不存在信息;如果所述用户名存在,则通过用户名在存储模块中查找对应的OTP生成要素和认证次数,计算临时OTP,并将临时OTP与从认证数据包提取的用户OTP进行比较,如果匹配则通过通信模块通知用户认证成功;如果不匹配,则通过通信模块通知客户端用户认证失败;它是通过软件编程实现,一方面获取RADIUS数据包内容,另一方面通过数据库查询语句获取存储模块中的必要信息;该绑定和添加处理模块,用于处理管理员提出的绑定操作请求;该重同步处理模块用于硬件令牌的触发次数与认证服务器的认证次数发生失步,用户向管理员提出重同步要求是,处理重同步操作请求;它是通过编程实现,核心部分为绑定和添加方法。
地址 100191 北京市海淀区学院路37号北航电子信息工程学院