CN101188495A - 一种实现强口令认证方式的安全系统及方法 - Google Patents

一种实现强口令认证方式的安全系统及方法 Download PDF

Info

Publication number
CN101188495A
CN101188495A CNA2007101787669A CN200710178766A CN101188495A CN 101188495 A CN101188495 A CN 101188495A CN A2007101787669 A CNA2007101787669 A CN A2007101787669A CN 200710178766 A CN200710178766 A CN 200710178766A CN 101188495 A CN101188495 A CN 101188495A
Authority
CN
China
Prior art keywords
password
security module
server end
certificate server
login
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007101787669A
Other languages
English (en)
Other versions
CN101188495B (zh
Inventor
杨贤伟
杨晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING SINOSUN TECHNOLOGY Ltd
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN2007101787669A priority Critical patent/CN101188495B/zh
Publication of CN101188495A publication Critical patent/CN101188495A/zh
Application granted granted Critical
Publication of CN101188495B publication Critical patent/CN101188495B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及口令认证领域,公开了一种实现强口令认证方式的安全系统及方法,以解决现有的口令认证方式中,口令容易被窥探和遭到各种攻击等问题。在本发明中,采用利用安全模块进行口令认证的方式,不从主机键盘而是从安全模块中输入用户口令,采用了足够长的随机数做用户口令,登录时不在网络上直接传送用户口令本身,且传送的动态口令信息是一次性的,因而能够有效抵御各种口令攻击。同时,本发明中采用到了挑战/应答机制和时间同步机制,同时结合安全模块的安全功能特性,使得本方法除了能够抵御口令攻击之外,还可以抵御服务器假冒以及中间人攻击。

Description

一种实现强口令认证方式的安全系统及方法
技术领域
本发明涉及口令认证领域,特别是一种实现实体强口令认证方式的安全系统及方法
背景技术
口令(Password)登录认证是大多数应用系统普遍采用的一种比较简便易行的登录认证方式。在口令登录认证中,口令被用于验证用户对系统进行访问时的身份。但是,在现有技术中,口令登录认证方式在使用过程中存在较多的安全问题,比如口令容易被窥探,以及容易被字典攻击、穷举尝试、垃圾搜索、信息截取/重放、网络数据流窃听等攻击手段所威胁。在具体使用中,尽管可以通过经常更换口令和增加口令长度的方法来在某种程度上增强口令的安全性,但这同时也会给用户带来记忆和操作上的麻烦。此外,现有的口令认证都是针对客户端单方面所进行的,因此客户端的用户有可能且很容易被假冒服务器所欺骗,从而导致用户口令的泄漏。
为了解决口令登录认证中所存在的安全问题,安全专家们提出了一种一次性动态口令(One-Time Password,OTP)认证的安全机制。所谓动态口令,是由电子令牌(Token)等手持终端设备生成的,根据某种密码算法,所产生的随某一个不断变化的参数(例如时间,事件等)而不停地、没有重复地变化的一种口令。是为了解决传统静态的、固定的口令和密码所存在的无法解决的缺陷,而设计的一种密码体制,用以保护用户的关键数据资源。动态口令认证的主要原理是:客户端的用户在登录前,依据用户的私人身份信息并引入根据不确定因素产生随机变化的动态口令,使得每次用户登录过程中所传送至系统的动态口令信息都各不相同,即该动态口令只使用一次,以后不再使用,从而可以大大提高用户登录过程中的安全性。一般来说,动态因子越多、口令随机性越好、其抗攻击能力越强。
但是,现有技术的动态口令登录认证方法依然无法避免用户口令的泄漏,口令容易被窥探和遭到各种攻击。避免用户口令泄漏依然是急需解决的问题。
发明内容
本发明的目的在于,提出一种实现强口令认证方式的安全系统及方法,以解决现有的口令认证方式中,口令容易被窥探和遭到各种攻击等问题。
为了实现上述目的,本发明公开了一种实现强口令认证方式的安全系统,包括:
客户端,所述客户端包括第一接口模块以及第一功能模块;
安全模块,所述安全模块包括第二接口模块、输入单元、第一存储模块以及第二功能模块;
认证服务器端,所述认证服务器端包括第三功能模块以及第二存储模块;
所述第一接口模块与所述第二接口模块用于实现所述客户端与所述安全模块的功能性连接;
所述第一功能模块用于实现与所述认证服务器端进行会话以及口令认证等功能,所述第二功能模块用于实现验证安全模块开启PIN码、口令计算等功能,所述第三功能模块用于实现与所述客户端进行会话以及口令计算、认证等功能;
所述输入单元用于以让用户通过其对所述安全模块进行数据输入;
所述第一存储模块用于存储所述安全模块中预存的各种数据,所述第二存储模块用于存储与口令认证相关的各种数据。
较佳的,所述安全模块中,还包括第一时钟计数器,所述认证服务器端中,还包括一第二时钟计数器。
较佳的,所述第一时钟计数器和第二时钟计数器的时钟同步。
较佳的,所述安全模块中,还包括显示单元,用于显示所述认证服务器端发送来的挑战信息。
较佳的,所述客户端中,还包括显示单元,用于显示所述认证服务器端发送来的挑战信息。
较佳的,所述显示单元为液晶显示屏幕。
较佳的,所述挑战信息包括挑战码,所述挑战码为所述认证服务器端临时随机产生的可显示的数字/字符串,或者该数字/字符串的任何图形加扰形式。
较佳的,所述客户端中还包括第一验证模块,所述认证服务器端中还包括第二验证模块,所述第一验证模块和第二验证模块用于对所述客户端与所述认证服务器端间进行交互的各种信息生成验证码,并通过与交互信息一同发送来的验证码验证交互信息的完整性。
较佳的,所述安全模块中包括第一同步模块,所述认证服务器端中包括第二同步模块,所述第一同步模块与第二同步模块用于实现所述第一时钟计数器与第二时钟计数器的时钟同步。
为了实现上述目的,本发明还公开了一种实现强口令认证方式的方法,包括以下步骤:
步骤A,对客户端、安全模块以及认证服务器端进行初始化;
步骤B,用户将所述安全模块插入到所述客户端中,使所述安全模块与客户端间建立功能性连接;
步骤C,用户在所述安全模块的输入单元中输入安全模块开启PIN码以开启所述安全模块的安全功能,当所述安全模块验证得出所述安全模块开启PIN码正确无误后,进入步骤D,否则报错退出;
步骤D,用户操纵所述客户端,向所述认证服务器端发出一登录请求;
步骤E,所述认证服务器端向所述客户端发送一个挑战信息;
步骤F,所述用户依照所看到的挑战信息和提示,在所述安全模块的输入单元中输入所看到的挑战码CC,所述安全模块计算本次登录所用的动态口令并通过所述客户端发送所述动态口令至所述认证服务器端;
步骤G,所述认证服务器端验证所述动态口令是否正确,若动态口令正确,则登录成功,否则报错退出。
较佳的,在所述步骤A的初始化过程中,将所述安全模块与所述认证服务器端的时钟被设置为同步关系。
较佳的,所述步骤D中,还包括一步骤,记录当前时间作为客户端登录计时起点。
较佳的,在步骤E中,先有一所述认证服务器端根据初始化时设定的规则,判断所述登录请求是否合法的步骤,若登录请求合法,则发送挑战信息,否则报错退出。
较佳的,所述认证服务器端根据用户登录请求中的登录用户名以及安全模块标识判断所述登录请求是否合法。
较佳的,所述挑战信息包括挑战码和认证服务器端允许的本次登录周期有效时间长度,所述挑战码为所述认证服务器端临时随机产生的可显示的数字/字符串,或者该数字/字符串的任何图形加扰形式。
较佳的,所述步骤E中,还包括一步骤,记录当前时间作为认证服务器端登录计时起点。
较佳的,在步骤F中,还包括一步骤,根据所述客户端登录计时起点、所述安全模块的当前时间和所述本次登录周期有效时间长度,判断当前时间是否还在所述登录周期有效的时间之内,若超时,则退出此次登录。
较佳的,在步骤F中,还包括一步骤,在用户输入挑战码时,根据所述客户端登录计时起点、所述安全模块的当前时间和所述本次登录周期有效时间长度,计算当前时间是否在所述登录周期有效的时间之内,若超时,则退出此次登录。
较佳的,在步骤F中,根据所述登录请求中包括的客户端用户标识、安全模块标识、安全模块的当前时钟计数值或将当前时钟计数值作为种子的某种变换形式、挑战码以及安全模块中保存的用户用于登录系统的秘密口令计算动态口令。
较佳的,在步骤F中,使用单向杂凑算法计算动态口令。
较佳的,在步骤G中,先有一步骤,根据所述认证服务器端登录计时起点、所述认证服务器端的当前时间和所述本次登录周期有效时间长度,判断当前是否仍在本次登录周期的有效期内,若超时,则退出此次登录。
较佳的,在步骤G中,包括以下步骤:
步骤G1,根据所述登录请求中包括的客户端用户标识、安全模块标识、认证服务器端的当前时钟计数值或将当前时钟计数值作为种子的某种变换形式、挑战码以及认证服务器端中保存的用户用于登录系统的秘密口令计算验证口令;
步骤G2,对比所述验证口令与动态口令,若一致,则登录成功,否则报错退出。
较佳的,在步骤G1中,使用单向杂凑算法计算验证口令。
较佳的,在步骤G1中,在所述当前时钟计数值或将当前时钟计数值作为种子的某种变换形式的前后一定范围内,计算所述验证口令;
在步骤G2中,若在该时间范围内能够有一个时间点的计算结果满足所述验证口令与所述动态口令一致,则登录成功,否则报错退出。
较佳的,在每一需要发送信息或数据的步骤中,都包括一发送方对所述信息或数据生成验证信息,并与所述信息或数据一同发送的步骤;
在每一接受信息或数据的步骤中,都包括一接受方根据与所述信息或数据一同发送的验证信息,对所述信息与数据进行完整性验证的步骤,若不符合完整性,则报错退出。
较佳的,在步骤D至步骤F中的至少一步骤中,还包括一步骤:
认证服务器端向客户端发送一时间参考值,安全模块根据所述时间参考值调整自身的时钟,以使安全模块的自身时钟与认证服务器端的时钟同步。
本发明的有益效果在于,由于可以不从主机键盘输入用户口令,因而能够有效的防止从主机键盘和内存窥探用户口令;由于采用了足够长的随机数做用户口令,因而能够有效抵御穷举尝试;由于登录时不在网络上直接传送用户口令本身,因而能够防止网络数据流窃听;由于传送的动态口令信息是一次性的,因而能够有效抵御信息截取/重放攻击。在本发明的强口令认证机制中,主要采用到了挑战/应答机制和时间同步机制,同时结合安全模块或装置上的安全功能特性,使得本方法除了能够抵御上述口令攻击之外,还可以抵御服务器假冒以及中间人攻击等。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明中的实现强口令认证方式的安全系统的框架图;
图2为本发明中的实现强口令认证方式的方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的实现强口令认证方式的安全系统及方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参照图1所示,此为本发明中的实现强口令认证方式的安全系统的框架图。在所述实现强口令认证方式的安全系统10中,包括有客户端11、安全模块12以及认证服务器端13。
所述客户端11中,包括有第一接口模块111以及第一功能模块112。其中,接口模块111用于连接安全模块12,所述第一功能模块112用于实现与所述认证服务器端13进行会话以及口令认证等功能。
所述安全模块12中,包括有第二接口模块121、输入单元122、第一存储模块123以及第二功能模块124。其中,所述第二接口模块121用于通过所述第一接口模块111使所述安全模块12与所述客户端11进行功能性连接;所述输入单元122用于以让用户可以通过其对所述安全模块12进行数据输入,所述输入单元122可以是如键盘或手写输入屏等;所述第一存储模块123用于存储所述安全模块12中预存的各种数据;所述第二功能模块124用于进行口令计算等操作。
所述认证服务器端13中,包括有第三功能模块131以及第二存储模块132。所述第三功能模块131用于实现与所述客户端11进行会话以及口令计算、认证等功能;所述第二存储模块132用于存储与口令认证相关的各种数据。
当用户使用上述实现强口令认证方式的安全系统10进行口令认证时,首先,用户将安全模块12插入客户端11中,通过所述安全模块12的第二接口模块121与所述客户端11的第一接口模块111,使所述客户端11与所述安全模块12进行功能性连接。
而后,用户通过所述安全模块12的输入单元122,输入安全模块开启PIN码以开启所述安全模块12,当所述安全模块12验证得出所述安全模块开启PIN码正确时,所述安全模块12开启其安全功能。
当所述安全模块12的安全功能开启后,用户操作所述客户端11,向所述认证服务器端13发送登录请求以及认证口令。所述登录请求中,包括有客户端用户标识、进程标识以及安全模块标识,其中,所述客户端用户标识是由用户键入的登录用户名UID,所述进程标识是由登录进程自动从系统中获取的实施登录操作的进程的标识PID,所述安全模块标识可以是所述安全模块12的设备标识MID等,其中,进程标识PID是用户在客户端登录时所执行的程序在客户端系统上运行时由系统所赋予给它的值,同一个应用程序的PID在每次运行的时候可能是不同的,这就具备一定的随机性,登录请求中采用PID的目的,是用来与用户做一定的关联。所述认证口令,由所述安全模块12根据保存在所述第一存储模块123中的用户PIN码和登录口令(PWD_C),结合所述客户端用户标识以及安全模块标识,在所述安全模块12内部进行计算所生成,所述计算认证口令的算法为已知的单向杂凑算法,如MD5、SHA1等。其中,PWD_C在设置或修改时写入所述安全模块12的所述第一存储模块123中后,便不能再被读出到所述安全模块12外部,因而登录时无需用户输入和记忆该口令,因此,可以选择一个足够长的随机数,以增强用户口令本身的强度。
所述认证服务器端13接收到所述认证口令后,判断所述登录请求的合法性,当所述登录请求合法时(即UID、MID满足所述实现强口令认证方式的安全系统10在初始化时预设的条件),所述认证服务器端13根据所述登录请求中的UID、PID、MID以及保存在所述第二存储模块132中的用户口令PWD_S,计算验证口令,并验证用户的登录口令是否与验证口令相一致,所述计算口令的算法为与所述安全模块12计算认证口令时相同的算法。其中,PWD_C与PWD_S为相互对应的口令。
当用户的登录口令与验证口令一致时,所述认证服务器端13即认为进行本次登录的用户是合法的用户,登录成功,否则登录失败。
进一步的,在本发明的另一实施例中,所述安全模块12中,还包括第一时钟计数器125,所述认证服务器端13中,还包括一第二时钟计数器133,所述第一时钟计数器125与第二时钟计数器133的时钟同步。所述安全模块12中,还包括显示单元126,所述显示单元126可以是如液晶显示屏幕等装置。
作为另一种可实施方式,所述实现强口令认证方式的安全系统10的所述安全模块12中不包括显示单元,而是在所述客户端11中,包括有显示单元113,显示单元设置在安全模块12或是客户端11中,对本发明中的口令认证过程不产生实质的影响。
当所述安全模块12与所述客户端11连接、所述安全模块12的安全模块开启PIN码验证正确,所述安全模块12开启其安全功能后,所述客户端11先向所述认证服务器端13发送包括有客户端用户标识以及安全模块标识的登录请求。此时,所述客户端11根据所述第一时钟计数器125的当前时间,记录当前时间作为客户端登录计时起点。
所述认证服务器端13接收到所述登录请求后,记录所述第二时钟计数器133的当前时间作为认证服务器端登录计时起点,并判断所述登录请求的合法性,当所述登录请求合法时,向用户发送一个挑战信息,所述挑战信息中包括挑战码CC以及所述认证服务器端13允许的本次登录周期的有效时间长度Len。其中,挑战码CC是所述认证服务器端13临时随机产生的可显示的数字/字符串,或者该数字/字符串的任何图形加扰形式,防止恶意软件自动识别该挑战码;认证服务器端13允许的本次登录周期有效时间长度Len由登录安全策略和经验值决定,每次登录都传送Len的好处是,服务器可以根据网络状态和不同时段甚至不同用户动态地调整Len的值,即Len可以根据需要做动态调整。
所述客户端11接收到所述挑战信息后,在所述显示单元126上显示所述挑战码CC,并提示用户在所述安全模块12的所述输入单元122上输入用户所看到的挑战码CC。同时,根据所述客户端登录计时起点、所述第一时钟计数器125的当前时间和所述本次登录周期有效时间长度Len,判断当前时间是否还在所述登录周期有效的时间之内,如果当前时间的值小于所述客户端登录计时起点与所述本次登录周期有效时间长度Len的和,即当前时间在所述登录周期有效的时间之内,则继续等待用户输入看到的挑战码CC,否则此次登录超时失败。
用户在所述输入单元122上输入所述挑战码CC后,所述安全模块12计算本次登录所使用的动态口令并发送所述动态口令至所述认证服务器端13,计算所述动态口令的因子包括:UID、PID、MID、CC、PWD_C以及Time_C。
其中,所述Time_C为所述安全模块12的所述第一时钟计数器125的当前时钟计数值或当前时钟计数值的某种变换形式。
所述计算动态口令的算法为已知的单向杂凑算法,如MD5、SHA1等。
所述认证服务器端13接收到所述动态口令后,首先根据所述认证服务器端登录计时起点、所述第二时钟计数器133的当前时间和所述本次登录周期有效时间长度Len,判断当前是否仍在本次登录周期的有效期内,如果当前时间的值小于所述认证服务器端登录计时起点与所述本次登录周期有效时间长度Len的和,即当前时间在所述本次登录周期的有效期内,则继续进行后续操作,否则此次登录超时失败。
而后,所述认证服务器端13根据所述客户端11发送来的登录请求中所包括的UID、PID、MID、所述认证服务器端13生成的挑战码CC、保存在所述第二存储模块132中的与PWD_C相对应的用户口令PWD_S以及Time_S(所述第二时钟计数器133的当前时钟计数值或当前时钟计数值的某种变换形式),计算验证口令。当所述验证口令与所述动态口令一致时,即可认为PWD_C=PWD_S,即本次登录的用户是合法的用户,本次登录成功,否则,本次登录失败。在本发明的另一实施例中,所述认证服务器端13在计算所述验证口令时,自动在当前时钟的前后滑动一定的时间范围,只要在该时间范围内能够有一个时间点的计算结果满足所述验证口令与所述动态口令一致,即可以认为PWD_C=PWD_S,以避免网络延迟等原因对进行口令验证的影响。
较佳的,在本发明的另一实施例中,所述客户端11中,还包括第一验证模块114,在所述认证服务器端13中,还包括第二验证模块134。所述第一验证模块114和所述第二验证模块134用于对所述客户端11与所述认证服务器端13间进行交互的各种信息生成验证码,并通过与交互信息一同发送来的验证码验证信息的完整性。
较佳的,在本发明的另一实施例中,所述安全模块12中,还包括第一同步模块127,所述认证服务器端13中,还包括第二同步模块135,所述第一同步模块127与第二同步模块135用于实现所述第一时钟计数器125与第二时钟计数器133的时钟同步。
请参照图2,此为本发明的实现强口令认证方式的方法的流程图。如图2所示,本发明的实现强口令认证方式的方法包括以下步骤:
步骤S100,对客户端、安全模块以及认证服务器端进行初始化。
其中,所述安全模块中存储有用户的PIN码和登录口令PWD_C,以及所述安全模块的标识信息MID。所述PWD_C在设置或修改时写入所述安全模块中后,便不能再被读出到所述安全模块外部。所述认证服务器端中存储有用户的登录口令PWD_S,所述PWD_C与PWD_S为对应的登录口令。
所述安全模块与所述认证服务器端的时钟被设置为同步关系。
所述客户端与所述认证服务器端中,分别初始化相同的一些数据,以使在所述口令认证中可以进行验证等操作。
步骤S200,用户将所述安全模块插入到所述客户端中,使所述安全模块与客户端间建立功能性连接,而后,用户在所述安全模块的输入单元中输入安全模块开启PIN码以开启所述安全模块的安全功能。当所述安全模块验证得出所述安全模块开启PIN码正确无误后,进入下一步骤,否则报错退出。
步骤S300,用户操纵所述客户端,向所述认证服务器端发出一登录请求。
所述登录请求中包括有客户端用户标识、进程标识以及安全模块标识,其中,所述客户端用户标识可以是由用户键入的登录用户名UID,所述进程标识是由登录进程自动从系统中获取的实施登录操作的进程的标识PID,所述安全模块标识可以是所述安全模块的设备标识MID等,其中,进程标识PID是用户在客户端登录时所执行的程序在客户端系统上运行时由系统所赋予给它的值,同一个应用程序的PID在每次运行的时候可能是不同的,这就具备一定的随机性,登录请求中采用PID的目的,是用来与用户做一定的关联。
其中,所登录请求的命令序列Request=(UID‖PID‖MID)。
在发送所述登录请求的同时,所述客户端还向所述认证服务器端发送一登录请求消息验证码。所述登录请求消息验证码的命令序列为HMAC(UID‖PID‖MID),发送所述登录请求消息验证码的目的,是为了保证接收方(即所述认证服务器端)能够验证所传输消息的完整性。消息验证码由安全模块产生。客户端与认证服务器端之间的通讯都通过消息验证码进行处理。HMAC计算所用到的密钥为客户端与认证服务器端之间的某个共享秘密,该秘密是在系统初始化阶段产生并存储的,每个客户端与认证服务器端之间的共享秘密各不相同。
客户端在发送所述登录请求的同时,记录当前时间作为客户端登录计时起点。
步骤S400,所述认证服务器端接收到所述登录请求和所述登录请求消息验证码后,用所述登录请求消息验证码对所述登录请求的完整性进行判断,当所述登录请求具有完整性时,根据预先设定的判断规则,判断登录请求中的UID以及MID的合法性,当所述UID和MID合法时,记录当前时间作为认证服务器端登录计时起点,并向所述客户端发送一个挑战信息。
所述挑战信息包括挑战码CC以及一个认证服务器端允许的本次登录周期有效时间长度Len。
其中,所述挑战信息的命令序列Challenge=(CC‖Len)。
在发送所述挑战信息的同时,所述认证服务器端还向所述客户端发送一挑战信息消息验证码。所述挑战信息消息验证码的命令序列为HMAC(CC‖Len)。
所述挑战信息中的所述挑战码CC,是所述认证服务器端临时随机产生的可显示的数字/字符串,或者该数字/字符串的任何图形加扰形式(加扰的目的是为了防止恶意软件自动识别该挑战码);服务器允许的本次登录周期有效时间长度Len由登录安全策略和经验值决定,每次登录都传送Len的好处是,服务器可以根据网络状态和不同时段甚至不同用户动态地调整Len的值,即Len可以根据需要做动态调整。
步骤S500,客户端接收到所述挑战信息和所述挑战信息消息验证码后,用所述挑战信息消息验证码对所述挑战信息的完整性进行判断,当所述挑战信息具有完整性时,所述安全模块的显示单元上显示所述挑战码CC(在本发明的另一实施例中,在本步骤中,在所述客户端的显示单元上显示所述挑战码),并提示用户在所述安全模块的输入单元中输入所看到的挑战码CC,而后,所述安全模块计算本次登录所用的动态口令并通过所述客户端发送所述动态口令至所述认证服务器端。
所述动态口令的命令序列Reply=HASH(UID‖PID‖MID‖CC‖Time_C‖PWD_C)。其中,Time_C为所述安全模块的当前时钟计数值或将当前时钟计数值作为种子的某种变换形式,PWD_C为所述安全模块中保存的用户用于登录系统的秘密口令,该口令在设置或修改时写入安全模块或装置后便不再被读出到安全模块或装置外部,HASH是某种已知的单向杂凑算法,如MD5、SHA1等。
在发送所述动态口令的同时,所述客户端还向所述认证服务器端发送一动态口令消息验证码。所述动态口令消息验证码的命令序列为HMAC(HASH(UID‖PID‖MID‖CC‖Time_C‖PWD_C))。
在本步骤中,还需要进行超时判断,即根据所述客户端登录计时起点、所述安全模块的当前时间和所述本次登录周期有效时间长度Len,判断当前时间是否还在所述登录周期有效的时间之内,如果当前时间的值小于所述客户端登录计时起点与所述本次登录周期有效时间长度Len的和,表示当前时间在听述登录周期有效的时间之内,则继续等待用户输入看到的挑战码CC,否则此次登录超时失败。
作为另一种可实施方式,在本步骤中,是在用户输入挑战码时计算当前时间是否在所述登录周期有效的时间之内,其同样可以起到有效的超时判断作用。
步骤S600,所述认证服务器端接收到所述动态口令和所述动态口令消息验证码后,用所述动态口令消息验证码对所述动态口令的完整性进行判断,当所述动态口令具有完整性时,进行超时判断,即根据所述认证服务器端登录计时起点、所述认证服务器端的当前时间和所述本次登录周期有效时间长度Len,判断当前是否仍在本次登录周期的有效期内,如果当前时间的值小于所述认证服务器端登录计时起点与所述本次登录周期有效时间长度Len的和,即当前时间在所述本次登录周期的有效期内,则继续进行后续操作,否则此次登录超时失败。
步骤S700,所述认证服务器端验证所述动态口令是否正确。
验证所述动态口令时,所述认证服务器端根据所述客户端发送来的登录请求中所包括的UID、PID、MID、所述认证服务器端生成的挑战码CC、PWD_S以及Time_S,计算验证口令。当所述验证口令与所述动态口令一致时,即可认为PWD_C=PWD_S,即本次登录的用户是合法的用户,本次登录成功,否则,本次登录失败。
在上述实现强口令认证方式的方法的步骤中,当登录成功或登录失败时,本次登录生成的挑战码CC都要即行销毁。
在本发明的另一实施例中,所述认证服务器端在计算所述验证口令时,自动在当前时钟的前后滑动一定的时间范围,只要在该时间范围内能够有一个时间点的计算结果满足所述验证口令与所述动态口令一致,即可以认为PWD_C=PWD_S,以避免网络延迟等原因对进行口令验证的影响。
较佳的,作为一种可实施方式,在上述步骤S300至步骤S500的至少一步骤中,还包含一时钟同步的步骤。即所述认证服务器端向所述客户端发送一时间参考值,所述安全模块根据所述时间参考值调整自身的时钟,以保证所述安全模块的自身时钟与所述认证服务器端的时钟同步。
从上述本发明的实现强口令认证方式的安全系统及方法中可以看到,在进行口令认证的整个过程中,均没有从客户端中输入任何秘密信息,而是从安全模块中输入秘密信息,用户的秘密口令可以采用一个足够长度的随机数,登录时用户口令不以明文形式出现在客户端的内存和网络传输中,并且每次登录过程由于采用了挑战码和时间因子两个动态因子,即使针对同一用户的两次登录的挑战信息完全一样,所使用的动态验证口令也都是不一样的,因此这是一种非常安全的强口令认证机制和方法,能够防止和抵御从主机键盘和内存窥探口令,以及穷举尝试、网络数据流窃听、信息截取/重放攻击等常见口令攻击手段,也能够抵御服务器假冒和中间人攻击等。
同时,本发明提出的强口令机制中还加入了有效登录时间的判断,且客户端和认证服务器端各自管理登录有效时间周期,在登录时间的计算上不需要同步。理论上,客户端和认证服务器端两者的计时起点时间相差为两者之间的一个网络传输延迟时间,但两者做出登录超时判断的时间点也正好相差一个网络传输延迟时间,这样两者的判断结果是完全一致的。在实际的系统中,由于两次网络传输的延迟时间可能不一定完全相同,这就可能存在两种判断不一致的情况:一是客户端判定结果为超时,登录过程即告结束;二是客户端未判超时,但存储服务器端判定结果为超时,登录过程也结束。只有当双方都判定为未超时,才认为登录时间仍有效。因此在登录时间计算上无需做同步处理,使得登录的实现过程更加实用和简单有效。
以上对本发明的目的、技术方案以及有益效果进行了详细的说明,所应理解的是,上述内容仅为本发明的具体实施例而已,并不用于限制本发明的保护范围。本发明保护范围应当以权利要求书所述为限定,凡在本发明的精神与原则之内,对本发明权利要求技术方案所做的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (26)

1.一种实现强口令认证方式的安全系统,其特征在于,包括:
客户端,所述客户端包括第一接口模块以及第一功能模块;
安全模块,所述安全模块包括第二接口模块、输入单元、第一存储模块以及第二功能模块;
认证服务器端,所述认证服务器端包括第三功能模块以及第二存储模块;
所述第一接口模块与所述第二接口模块用于实现所述客户端与所述安全模块的功能性连接;
所述第一功能模块用于实现与所述认证服务器端进行会话以及口令认证,所述第二功能模块用于实现验证安全模块开启PIN码、口令计算,所述第三功能模块用于实现与所述客户端进行会话以及口令计算、认证;
所述输入单元用于以让用户通过其对所述安全模块进行数据输入;
所述第一存储模块用于存储所述安全模块中预存的各种数据,所述第二存储模块用于存储与口令认证相关的各种数据。
2.根据权利要求1所述的一种实现强口令认证方式的安全系统,其特征在于,所述安全模块中,还包括第一时钟计数器,所述认证服务器端中,还包括一第二时钟计数器。
3.根据权利要求2所述的一种实现强口令认证方式的安全系统,其特征在于,所述第一时钟计数器和第二时钟计数器的时钟同步。
4.根据权利要求1所述的一种实现强口令认证方式的安全系统,其特征在于,所述安全模块中,还包括显示单元,用于显示所述认证服务器端发送来的挑战信息。
5.根据权利要求1所述的一种实现强口令认证方式的安全系统,其特征在于,所述客户端中,还包括显示单元,用于显示所述认证服务器端发送来的挑战信息。
6.根据权利要求4或5中任一项所述的一种实现强口令认证方式的安全系统,其特征在于,所述显示单元为液晶显示屏幕。
7.根据权利要求4或5中任一项所述的一种实现强口令认证方式的安全系统,其特征在于,所述挑战信息包括挑战码,所述挑战码为所述认证服务器端临时随机产生的可显示的数字/字符串,或者该数字/字符串的任何图形加扰形式。
8.根据权利要求1所述的一种实现强口令认证方式的安全系统,其特征在于,所述客户端中还包括第一验证模块,所述认证服务器端中还包括第二验证模块,所述第一验证模块和第二验证模块用于对所述客户端与所述认证服务器端间进行交互的各种信息生成验证码,并通过与交互信息一同发送来的验证码验证交互信息的完整性。
9.根据权利要求2所述的一种实现强口令认证方式的安全系统,其特征在于,所述安全模块中包括第一同步模块,所述认证服务器端中包括第二同步模块,所述第一同步模块与第二同步模块用于实现所述第一时钟计数器与第二时钟计数器的时钟同步。
10.一种实现强口令认证方式的方法,其特征在于,包括以下步骤:
步骤A,对客户端、安全模块以及认证服务器端进行初始化;
步骤B,用户将所述安全模块插入到所述客户端中,使所述安全模块与客户端间建立功能性连接;
步骤C,用户在所述安全模块的输入单元中输入安全模块开启PIN码以开启所述安全模块的安全功能,当所述安全模块验证得出所述安全模块开启PIN码正确无误后,进入步骤D,否则报错退出;
步骤D,用户操纵所述客户端,向所述认证服务器端发出一登录请求;
步骤E,所述认证服务器端向所述客户端发送一个挑战信息;
步骤F,所述用户依照所看到的挑战信息和提示,在所述安全模块的输入单元中输入所看到的挑战码CC,所述安全模块计算本次登录所用的动态口令并通过所述客户端发送所述动态口令至所述认证服务器端;
步骤G,所述认证服务器端验证所述动态口令是否正确,若动态口令正确,则登录成功,否则报错退出。
11.根据权利要求10所述的一种实现强口令认证方式的方法,其特征在于,在所述步骤A的初始化过程中,将所述安全模块与所述认证服务器端的时钟被设置为同步关系。
12.根据权利要求11所述的一种实现强口令认证方式的方法,其特征在于,所述步骤D中,还包括一步骤,记录当前时间作为客户端登录计时起点。
13.根据权利要求10所述的一种实现强口令认证方式的方法,其特征在于,在步骤E中,先有一所述认证服务器端根据初始化时设定的规则,判断所述登录请求是否合法的步骤,若登录请求合法,则发送挑战信息,否则报错退出。
14.根据权利要求13所述的一种实现强口令认证方式的方法,其特征在于,所述认证服务器端根据用户登录请求中的登录用户名以及安全模块标识判断所述登录请求是否合法。
15.根据权利要求10所述的一种实现强口令认证方式的方法,其特征在于,所述挑战信息包括挑战码和认证服务器端允许的本次登录周期有效时间长度,所述挑战码为所述认证服务器端临时随机产生的可显示的数字/字符串,或者该数字/字符串的任何图形加扰形式。
16.根据权利要求11所述的一种实现强口令认证方式的方法,其特征在于,所述步骤E中,还包括一步骤,记录当前时间作为认证服务器端登录计时起点。
17.根据权利要求12所述的一种实现强口令认证方式的方法,其特征在于,在步骤F中,还包括一步骤,根据所述客户端登录计时起点、所述安全模块的当前时间和所述本次登录周期有效时间长度,判断当前时间是否还在所述登录周期有效的时间之内,若超时,则退出此次登录。
18.根据权利要求12所述的一种实现强口令认证方式的方法,其特征在于,在步骤F中,还包括一步骤,在用户输入挑战码时,根据所述客户端登录计时起点、所述安全模块的当前时间和所述本次登录周期有效时间长度,计算当前时间是否在所述登录周期有效的时间之内,若超时,则退出此次登录。
19.根据权利要求10所述的一种实现强口令认证方式的方法,其特征在于,在步骤F中,根据所述登录请求中包括的客户端用户标识、安全模块标识、安全模块的当前时钟计数值或将当前时钟计数值作为种子的某种变换形式、挑战码以及安全模块中保存的用户用于登录系统的秘密口令计算动态口令。
20.根据权利要求19所述的一种实现强口令认证方式的方法,其特征在于,在步骤F中,使用单向杂凑算法计算动态口令。
21.根据权利要求10所述的一种实现强口令认证方式的方法,其特征在于,在步骤G中,先有一步骤,根据所述认证服务器端登录计时起点、所述认证服务器端的当前时间和所述本次登录周期有效时间长度,判断当前是否仍在本次登录周期的有效期内,若超时,则退出此次登录。
22.根据权利要求10所述的一种实现强口令认证方式的方法,其特征在于,在步骤G中,包括以下步骤:
步骤G1,根据所述登录请求中包括的客户端用户标识、安全模块标识、认证服务器端的当前时钟计数值或将当前时钟计数值作为种子的某种变换形式、挑战码以及认证服务器端中保存的用户用于登录系统的秘密口令计算验证口令;
步骤G2,对比所述验证口令与动态口令,若一致,则登录成功,否则报错退出。
23.根据权利要求22所述的一种实现强口令认证方式的方法,其特征在于,在步骤G1中,使用单向杂凑算法计算验证口令。
24.根据权利要求22所述的一种实现强口令认证方式的方法,其特征在于,在步骤G1中,在所述当前时钟计数值或将当前时钟计数值作为种子的某种变换形式的前后一定范围内,计算所述验证口令;
在步骤G2中,若在该时间范围内能够有一个时间点的计算结果满足所述验证口令与所述动态口令一致,则登录成功,否则报错退出。
25.根据权利要求10所述的一种实现强口令认证方式的方法,其特征在于,在每一需要发送信息或数据的步骤中,都包括一发送方对所述信息或数据生成验证信息,并与所述信息或数据一同发送的步骤;
在每一接受信息或数据的步骤中,都包括一接受方根据与所述信息或数据一同发送的验证信息,对所述信息与数据进行完整性验证的步骤,若不符合完整性,则报错退出。
26.根据权利要求10所述的一种实现强口令认证方式的方法,其特征在于,在步骤D至步骤F中的至少一步骤中,还包括一步骤:
认证服务器端向客户端发送一时间参考值,安全模块根据所述时间参考值调整自身的时钟,以使安全模块的自身时钟与认证服务器端的时钟同步。
CN2007101787669A 2007-12-04 2007-12-04 一种实现强口令认证方式的安全系统及方法 Active CN101188495B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101787669A CN101188495B (zh) 2007-12-04 2007-12-04 一种实现强口令认证方式的安全系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101787669A CN101188495B (zh) 2007-12-04 2007-12-04 一种实现强口令认证方式的安全系统及方法

Publications (2)

Publication Number Publication Date
CN101188495A true CN101188495A (zh) 2008-05-28
CN101188495B CN101188495B (zh) 2010-08-25

Family

ID=39480699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101787669A Active CN101188495B (zh) 2007-12-04 2007-12-04 一种实现强口令认证方式的安全系统及方法

Country Status (1)

Country Link
CN (1) CN101188495B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123148A (zh) * 2011-03-02 2011-07-13 北京天地融科技有限公司 基于动态口令的认证方法、系统和装置
CN102457491A (zh) * 2010-10-20 2012-05-16 北京大学 动态身份认证方法和系统
CN103312678A (zh) * 2012-03-15 2013-09-18 中国移动通信集团公司 一种客户端安全登录方法、装置及系统
CN103731272A (zh) * 2014-01-06 2014-04-16 飞天诚信科技股份有限公司 一种身份认证方法、系统及设备
CN103929310A (zh) * 2014-04-25 2014-07-16 长沙市梦马软件有限公司 一种手机客户端口令统一认证方法及系统
CN104202168A (zh) * 2014-09-19 2014-12-10 浪潮电子信息产业股份有限公司 一种基于可信第三方的云数据完整性验证方法
WO2015058596A1 (zh) * 2013-10-22 2015-04-30 天地融科技股份有限公司 动态口令生成方法和系统、交易请求的处理方法和系统
CN105553921A (zh) * 2014-10-31 2016-05-04 腾讯科技(上海)有限公司 物联网通信方法和装置以及物联网通信系统
CN106453418A (zh) * 2016-12-07 2017-02-22 武汉斗鱼网络科技有限公司 一种验证方法及系统
CN107431705A (zh) * 2015-03-13 2017-12-01 爱维斯宾公司 动态安全模块终端装置及其驱动方法
CN109150891A (zh) * 2018-09-05 2019-01-04 北京深思数盾科技股份有限公司 一种验证方法、装置和信息安全设备
WO2019006848A1 (zh) * 2017-07-07 2019-01-10 克洛斯比尔有限公司 口令生成方法和装置以及口令校验方法和装置
CN109787852A (zh) * 2017-11-15 2019-05-21 小草数语(北京)科技有限公司 账号有效性检测方法、装置及其设备
CN111541708A (zh) * 2020-05-06 2020-08-14 广东纬德信息科技股份有限公司 一种基于电力配电的身份认证方法
CN112087438A (zh) * 2020-08-28 2020-12-15 上海军睿信息技术有限公司 一种基于otp算法的防重放攻击的鉴别方法
CN112564922A (zh) * 2020-12-22 2021-03-26 创元网络技术股份有限公司 基于拟态计算的多功能集成高速hmac-sha1口令恢复方法
TWI732358B (zh) * 2018-12-20 2021-07-01 瑞士商艾姆微體電子 馬林公司 安全地驗證與伺服器通訊的詢答機的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1142653C (zh) * 2000-04-28 2004-03-17 杨宏伟 动态口令认证系统及方法
CN1588845A (zh) * 2004-08-27 2005-03-02 陈智敏 用户口令动态生成与登录系统及其使用方法

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102457491A (zh) * 2010-10-20 2012-05-16 北京大学 动态身份认证方法和系统
CN102457491B (zh) * 2010-10-20 2015-04-08 北京大学 动态身份认证方法和系统
CN102123148A (zh) * 2011-03-02 2011-07-13 北京天地融科技有限公司 基于动态口令的认证方法、系统和装置
CN102123148B (zh) * 2011-03-02 2014-01-15 天地融科技股份有限公司 基于动态口令的认证方法、系统和装置
CN103312678A (zh) * 2012-03-15 2013-09-18 中国移动通信集团公司 一种客户端安全登录方法、装置及系统
CN103312678B (zh) * 2012-03-15 2016-09-07 中国移动通信集团公司 一种客户端安全登录方法、装置及系统
WO2015058596A1 (zh) * 2013-10-22 2015-04-30 天地融科技股份有限公司 动态口令生成方法和系统、交易请求的处理方法和系统
CN103731272A (zh) * 2014-01-06 2014-04-16 飞天诚信科技股份有限公司 一种身份认证方法、系统及设备
CN103929310A (zh) * 2014-04-25 2014-07-16 长沙市梦马软件有限公司 一种手机客户端口令统一认证方法及系统
CN104202168A (zh) * 2014-09-19 2014-12-10 浪潮电子信息产业股份有限公司 一种基于可信第三方的云数据完整性验证方法
CN105553921A (zh) * 2014-10-31 2016-05-04 腾讯科技(上海)有限公司 物联网通信方法和装置以及物联网通信系统
CN107431705A (zh) * 2015-03-13 2017-12-01 爱维斯宾公司 动态安全模块终端装置及其驱动方法
CN107431705B (zh) * 2015-03-13 2021-05-11 爱维斯宾公司 动态安全模块终端装置及其驱动方法
CN106453418A (zh) * 2016-12-07 2017-02-22 武汉斗鱼网络科技有限公司 一种验证方法及系统
WO2019006848A1 (zh) * 2017-07-07 2019-01-10 克洛斯比尔有限公司 口令生成方法和装置以及口令校验方法和装置
CN109787852A (zh) * 2017-11-15 2019-05-21 小草数语(北京)科技有限公司 账号有效性检测方法、装置及其设备
CN109150891A (zh) * 2018-09-05 2019-01-04 北京深思数盾科技股份有限公司 一种验证方法、装置和信息安全设备
CN109150891B (zh) * 2018-09-05 2020-03-17 北京深思数盾科技股份有限公司 一种验证方法、装置和信息安全设备
TWI732358B (zh) * 2018-12-20 2021-07-01 瑞士商艾姆微體電子 馬林公司 安全地驗證與伺服器通訊的詢答機的方法
CN111541708A (zh) * 2020-05-06 2020-08-14 广东纬德信息科技股份有限公司 一种基于电力配电的身份认证方法
CN111541708B (zh) * 2020-05-06 2022-08-19 广东纬德信息科技股份有限公司 一种基于电力配电的身份认证方法
CN112087438A (zh) * 2020-08-28 2020-12-15 上海军睿信息技术有限公司 一种基于otp算法的防重放攻击的鉴别方法
CN112564922A (zh) * 2020-12-22 2021-03-26 创元网络技术股份有限公司 基于拟态计算的多功能集成高速hmac-sha1口令恢复方法
CN112564922B (zh) * 2020-12-22 2022-07-26 创元网络技术股份有限公司 基于拟态计算的多功能集成高速hmac-sha1口令恢复方法

Also Published As

Publication number Publication date
CN101188495B (zh) 2010-08-25

Similar Documents

Publication Publication Date Title
CN101188495B (zh) 一种实现强口令认证方式的安全系统及方法
TWI749061B (zh) 區塊鏈身份系統
US7886345B2 (en) Password-protection module
US8700901B2 (en) Facilitating secure online transactions
US8209744B2 (en) Mobile device assisted secure computer network communication
US8132020B2 (en) System and method for user authentication with exposed and hidden keys
US9225717B1 (en) Event-based data signing via time-based one-time authentication passcodes
Shirvanian et al. Two-Factor Authentication Resilient to Server Compromise Using Mix-Bandwidth Devices.
US20130042111A1 (en) Securing transactions against cyberattacks
Barbosa et al. Provable security analysis of FIDO2
US9270450B2 (en) Method and device for mutual authentication
CN108418691A (zh) 基于sgx的动态网络身份认证方法
Mannan et al. Leveraging personal devices for stronger password authentication from untrusted computers
Studer et al. Mobile user location-specific encryption (MULE) using your office as your password
Chaturvedi et al. Design of a secure smart card-based multi-server authentication scheme
CN110838920B (zh) web系统中无需存储口令相关信息的口令认证与密钥协商协议
Frymann et al. Asynchronous remote key generation: An analysis of yubico's proposal for W3C webauthn
EP3949334A1 (en) System and method for efficient challenge-response authentication
Liou et al. On improving feasibility and security measures of online authentication.
JP5186648B2 (ja) 安全なオンライン取引を容易にするシステム及び方法
CN104270346B (zh) 双向认证的方法、装置和系统
Resende et al. PUF-based mutual multifactor entity and transaction authentication for secure banking
Ma et al. A robust authentication scheme for remote diagnosis and maintenance in 5G V2N
CN110505184A (zh) 一种企业网盘安全登录认证系统及方法
Kiennert et al. Authentication systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SINOSUN TECHNOLOGY (SHENZHEN) CO., LTD.

Free format text: FORMER OWNER: WEI KAIYAN

Effective date: 20100625

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518040 FUTIAN DISTRICT, SHENZHEN CITY, GUANGDONG PROVINCE TO: 518040 TOWER C, 6TH FLOOR, BUILDING 213, TAIRAN INDUSTRY AREA, CHEGONGMIAO, FUTIAN DISTRICT, SHENZHEN CITY, GUANGDONG PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20100625

Address after: 518040 Guangdong city of Shenzhen province Futian District Che Kung Temple Tairan Industrial Zone 213 building 6 floor C block

Applicant after: Sinosun Technology (Shen Zhen Ltd.)

Address before: 518040 Shenzhen, Guangdong, Futian District

Applicant before: Wei Kaiyan

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: SHENZHEN ZHAORI TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: ZHAORI SCIENCE + TECHNOLOGY (SHENZHEN) CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 518040 Guangdong city of Shenzhen province Futian District Che Kung Temple Tairan Industrial Zone 213 building 6 floor C block

Patentee after: SHENZHEN SINOSUN TECHNOLOGY Co.,Ltd.

Address before: 518040 Guangdong city of Shenzhen province Futian District Che Kung Temple Tairan Industrial Zone 213 building 6 floor C block

Patentee before: Sinosun Technology (Shen Zhen Ltd.)

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230913

Address after: 1111-2, 10th Floor, Building 1, Yard B12, Zhongguancun South Street, Haidian District, Beijing, 100080

Patentee after: BEIJING SINOSUN TECHNOLOGY Ltd.

Address before: 518040 Guangdong city of Shenzhen province Futian District Che Kung Temple Tairan Industrial Zone 213 building 6 floor C block

Patentee before: SHENZHEN SINOSUN TECHNOLOGY Co.,Ltd.