CN106657002A - 一种新型防撞库关联时间多密码的身份认证方法 - Google Patents
一种新型防撞库关联时间多密码的身份认证方法 Download PDFInfo
- Publication number
- CN106657002A CN106657002A CN201610994217.8A CN201610994217A CN106657002A CN 106657002 A CN106657002 A CN 106657002A CN 201610994217 A CN201610994217 A CN 201610994217A CN 106657002 A CN106657002 A CN 106657002A
- Authority
- CN
- China
- Prior art keywords
- password
- server
- user
- salt
- time
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/068—Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种新型防撞库攻击并关联时间的,基于多密码的身份认证方法,其通过安装在用户终端上的一用户代理,并按照一定规则算法生成一系列完全随机、足够复杂、极度相似的多密码集合并将密码集合加密后通过服务器端一服务器代理发送至服务器存储。服务器端在一定的时间周期内,根据用户要求及安全需要将该时间周期划分为若干时间段,每一时间段随机对应多密码集合中的每一个密码,实现关联时间的时间与多密码的一一映射关系,该映射关系加密后由服务器发送至用户终端上的一用户代理实现握手;握手后的服务器与用户代理分别解密多密码集合及映射关系,在一定的时刻,只有用户代理提供仅在该时间段内有效的密码才能完成身份认证。
Description
技术领域
本发明涉及信息安全领域及计算机技术,具体地,涉及一种对撞库攻击具有抗性的基于多密码、联合时间的身份认证方法。
背景技术
随着互联网的快速兴起,越来越多的人正在体会到其带来的便利。在特定的网站门户上,用户注册,登录属于自己的账号,在线完成相关操作。目前最常见的网络身份认证机制大都是基于用户名-密码对的安全认证策略。用户注册某网站时,自定义一用户名及与其唯一对应的密码,注册信息经Hash运算后保存在网站服务器硬盘中。登录账号时,用户输入的身份信息计算Hash值后与服务器内已存的Hash值进行对比,二者相同,登录认证成功,否则视作登录认证失败。简明的认证策略实则内含隐忧,对用户身份安全具有潜在威胁。
经常可以看到某网站服务器受到攻击,数据库被拖库从而导致用户密码或密码的Hash值泄露,而大部分泄露的Hash值均为用户自定义的简单密码经一次MD5或SHA-1计算后得到的,甚至没有加盐。这种类型的Hash值通过简单的在线破解查询,攻击者无需花费很大时间或计算成本,即可获取用户在该网站上的完整账号信息。进一步的,由于大量用户习惯在不同网站使用同一简单密码作为身份认证凭证,通过已破解的账号信息,攻击者甚至可以实施撞库攻击,破解并获取相同用户注册在其他网站上的身份信息。
针对复杂密码带来的密码疲劳问题,在发明名称为一种电子身份注册及认证登录的方法及其系统(CN104270338A)的发明公开了一种名为用户代理的移动终端上的应用程序或基于生物信息的验证平台。用户代理使得用户可以集中一站式管理其在所有系统上的登录用户名及密码,用户本身无需记住众多密码,只需要记住用户代理的密码即可。在不考虑密码疲劳的情况下,用户在不同系统、网站采用完全不同的密码、口令将会变得更为可行。
同时,如何设置复杂且不复用的密码对于保护用户账号信息安全具有重要意义。在Juels,Ari,and Ronald L.Rivest等人撰写的文献“Honeywords:Making Password-Cracking Detectable”中,一种可侦测恶意身份认证尝试的基于Hash加密算法的新型安全密码策略被首次提出。由于一账号的真实密码(Sugarword)伪装在与其极度相似的伪密码(Honeywords)中。真实密码的复杂度得到大大提升。进一步的,即使攻击者获取了包括真实密码在内的密码集合,只要攻击者使用伪密码进行登录尝试,其登录行为将被侦测和通报。
用户侧,包括Web前端、用户代理客户端等的安全措施从安全意义上看是不能被信任的(当然这不代表用户侧就没有保护密码的必要,用户侧也可以采取一定措施保护密码)。用户侧的安全措施都是可以被绕过的。因此服务器侧在保护用户密码的任务中承担主要责任。服务器侧在数据库层面的存储加密措施就是高强度的加盐Hash。加盐使得通过预先计算逆推Hash值对应的内容变得不再可能。与此同时,计算Hash值应采用强度更高,耗时较长的标准强散列算法,例如SHA-512或慢哈希算法等。盐的复用和长度不足等问题都应规避。
例行更新用户密码等账号信息对于账号的保护也具有很好的作用。在用户代理的协助下,生成并频繁更换密码。将时间引入密码的策略在Kenneth G.Paterson和ElizabethA.Quaglia撰写的文献名称为“Time-Specific Encryption”,期刊名称为Security andCryptography for Networks,Springer Berlin Heidelberg,2010.1-16中有所涉及。一密码仅在一特定的时间单元内有效。攻击者欲获取密码并实施攻击时必须将攻击的时间成本纳入考量。如果获取密码所需的时间成本已经长于该密码的生命周期,这样的攻击将毫无价值可言。复杂的密码集合可以保证在一定的时间内密码的频繁更换,而密码集合的概念恰好可以对应Honeywords的新密码策略。
预警机制的引入可以在发生拖库后,第一时间探测到洗库、撞库等攻击的展开并及时通知用户和服务器作出修改密码,更换盐等补救措施。也是在Juels,Ari,and RonaldL.Rivest等人撰写的文献名称为:“Honeywords:Making Password-CrackingDetectable”,会议名称为:Proceedings of the2013ACM SIGSAC conference onComputer&communication security.(ACM,2013)中,Honeychecker的概念被提出。除了用户和服务器外,可信的第三方Honeychecker时刻监控着用户的每一次登录行为。当登录异常时,例如,连续数次输入错误的密码或输入与真密码极度相似的伪密码等,Honeychecker将会通知用户和服务器管理员采取一定措施止损。
针对现有基于用户名-密码的身份认证策略密码简单常见、易被撞库、密码长久不变等不足,本发明旨在提供一种新型防撞库关联时间,多密码的身份认证策略。
发明内容
本发明涉及一种新型防撞库关联时间多密码的身份认证方法,所述方法用于用户通过用户代理在服务器上的身份认证,所述方法包括:
1)密码集合生成步骤;
2)时间单元及与密码集合映射关系生成步骤;
3)服务器生成随机盐步骤;
4)登录请求盐生成步骤;
5)服务器Hash值预计算步骤;
6)用户登录验证身份步骤。
更进一步的,所述步骤1)的密码集合生成步骤包括,由所述用户代理生成密码集合,所述密码集合内包含若干个长度相同且结构近似的密码。
更进一步的,所述步骤2)的时间单元及与密码集合映射关系生成步骤包括,用户代理、服务器进行标准时间同步后,所述服务器生成时间单元并随机生成一个各个时间单元与密码集合内各个密码的映射关系,其中所述时间单元由一时间段等长划分而成,时间单元的数目与所述密码集合内密码的数目相等。
更进一步的,所述步骤3)的服务器生成随机盐步骤包括,所述服务器收到由用户代理加密发送的密码集合后进行本地解密,并且对应所述密码集合内的每一个密码,所述服务器为其随机生成一个随机盐,所述随机盐的长度应等于最后计算得到的Hash值长度
更进一步的,所述步骤4)的登录请求盐生成步骤包括,所述服务器使用用户在所述服务器上的注册用户名和所述网站服务器的顶级域名组合生成所述登录请求盐。
更进一步的,所述步骤5)的服务器Hash值预计算步骤包括,所述用户代理与所述服务器需进行加密信息交互以获取对方生成的参数信息,在获得来自用户代理的密码集合后,服务器端根据所述密码集合、所述时间单元、所述随机盐和所述登录请求盐计算在一特定时间单元内对应每一密码的Hash值2参考值。
更进一步的,在用户代理、服务器经加密交互可以获知对方生成的参数信息的前提下,所述步骤6)包括,用户代理首先发送登录请求,用户代理根据时间单元与密码集合的一一映射关系,判定登录时间对应的时间单元对应的密码,将该密码与登录请求盐拼接后经标准Hash函数计算得到的Hash值1发往服务器以请求登录;以及服务器验证所述登录请求:服务器接收所述Hash值1,将该Hash值1与登录时间对应的时间单元对应的随机盐拼接后经标准Hash函数计算后得到该用户在该时间单元所提交的Hash值2,将所述Hash值2Hash值2参考值进行对比,如果二者相同,说明该用户在正确的时间选择正确的密码登录了正确的网站,认证通过,用户成功登录可进行后续操作,否则认证失败,用户登录请求将被拒绝。
附图说明
图1是利用本发明发起登录请求前用户代理与服务器端进行加密交互的流程图;
图2是利用本发明实现密码集合内元素与时间周期集合内元素一一映射的流程图;
图3是利用本发明进行身份认证(计算得到不同种类Hash值及其真伪性鉴别)的流程图。
具体实施方式
实施例1。
根据本发明提供的新型放撞库关联时间多密码的身份认证策略,其实现流程包括:
时间同步步骤:
多密码集合和时间单元分别由上述用户代理和网站服务器在一定长度的缓冲时间区生成并即刻交互,用户代理和服务器完成交互后,缓冲时间区结束,进入第一个时间单元,使用第一个密码。随后每个时间单元结束后,都根据标准时钟,同步用户代理和服务器,立刻进入下一个时间单元。以此类推,直至所有的时间单元结束,这个时间周期内的密码全部使用完毕。密码集合生成步骤:
密码集合由上述用户代理生成。密码集合内包含若干个密码,它们长度相同,组成结构相似,完全随机,足够复杂。
时间单元及与密码集合映射关系生成步骤:
时间单元由一时间段等长划分而成,时间单元的数目与密码集合内密码的数目严格相等。服务器划分时间段获得时间单元后,将完全随机生成一组各个时间单元与密码集合内各个元素的映射关系,该映射关系是多密码关联时间的关键。
用户代理向服务器握手步骤:(用户代理向服务器发送密码集合)
密码集合在用户代理内生成完成后,经加密发至服务器端。密码集合内含的密码应至少包含以下特征:足够随机,集合内任意一个密码都不应具有语义含义,是纯随机的字符串,一些常用的字符串会是代码应该规避;足够平坦:即使在攻击者获取该密码集合后,攻击者尝试每一种时间-密码映射关系的概率应该是相等的。即时间单元和密码集合内的任意密码均无关联,二者完全独立。
服务器生成随机盐步骤:(服务器为每个时间单元生成一随机盐)
收到由用户代理加密发送的多密码集合后,服务器在本地解密密码集合。对应多密码集合内的每一个密码元素,服务器为其随机生成一个随机盐。随机盐的长度应等于最后计算得到的Hash值长度。例如,使用SHA-256产生的Hash值长度为256bit,所以随机盐测长度也应为256bit。长度过短和重复的盐都应规避。注意,一随机盐与一时间单元亦一一对应。
登录请求盐生成步骤:(在用户侧,生成相对固定的登录请求盐)
虽然用户侧的安全措施可以被绕过,但是对于不同的网站在用户代理处生成不同的登录请求盐,对于发送登录请求时对密码的保护也有正面作用。与在服务器随机生成的随机盐不同,登录请求盐相对固定。登陆请求盐由用户在一服务器上的注册用户名和该服务器的顶级域名组合而成。在组成规则不变的前提下,用户代理和该网站服务器都是已知登录请求盐的。
上文阐述了一种产生登录请求盐可能的方法。在实际使用中,登录请求盐可以有多种生成方法,都属于本专利的保护范围,一般由用户代理根据用户代理的相关信息和/或服务器端的的相关信息根据一双方约定的规则生成。登录请求盐的长度也应等于最后计算得到的Hash值的长度。按照上述规则生成的登录请求盐长度过长的可以截尾,过短的可以补位。下面列举几种可用的登录请求盐的生成规则:
1.由用户在一服务器上的注册用户名和该服务器的顶级域名组合而成;
2.由用户代理的机器设备识别码及服务器的设备识别码组合而成;
3.其他可能的相对固定的生成规则。
服务器Hash值预计算步骤:(结合随机盐,登录请求盐,计算Hash值)在获得来自用户代理的多密码集合后,服务器端已知多密码集合、与多密码集合对应的时间单元(这个参数是由服务器自行生成的)、与多密码(时间单元)对应的随机盐、登录请求盐等参数。根据这些参数,服务器端可以预先计算在一特定时间单元内一密码的Hash值2。计算好的Hash值2连同与该密码对应的随机盐,一起保存在服务器硬盘中。
服务器向用户代理反馈步骤:(服务器将时间单元映射关系告知用户代理)在完成上述工作的同时,服务器端将已经划分好的时间单元与多密码集合中各个密码的一一映射关系加密后发送至用户代理,完成对用户代理握手行为的响应。用户代理和服务器均知晓多密码、时间单元及二者之间一一映射关系。密码与时间产生联合。
用户代理登录请求发送步骤:(按照时间映射关系,用户代理在特定时间向服务器发送特定密码)
用户代理根据时间单元与密码集合的一一映射关系,在一特定的时刻,判定该时刻属于哪一时间单元,找到与该时间单元对应的密码。此密码即在此时刻有效的密码。将该密码与登录请求盐拼接后经标准Hash函数计算得到的Hash值发往服务器端,请求登录。
服务器验证登录请求步骤:(用户侧发送来的密码计算Hash值后与预存Hash值进行对比)
服务器端接收到来自用户代理发送的该时刻对应的时间单元的特定密码与登录请求盐拼接经计算后的Hash值1,将该Hash值1与该时间单元对应的随机盐拼接后经标准Hash函数计算后得到该用户在该时间单元所提交的Hash值2。将Hash值2与预存在服务器硬盘中的Hash值2进行对比,如果二者相同,说明该用户在正确的时间选择正确的密码登录了正确的网站,认证通过,用户成功登录可进行后续操作。否则认证失败,用户登录请求将被拒绝。
预警机制:(计算所谓特殊Hash值,它们是最易被攻击者首先尝试的选项)
除了与多密码集合中的密码、时间单元、随机盐一一对应的正确的Hash值2外,还有一些特殊的Hash值3也将会在服务器Hash值预计算步骤中被预先计算并存储在服务器硬盘中。它们是攻击者最有可能尝试的一系列“错误”密码对应的Hash值。在一系列时间单元中,一密码、一随机盐与一时间单元严格一一对应,因此,具体的,在一特定的时间单元内:
A.计算一正确的随机盐拼接上不属于该时间单元的其他密码得到的Hash值,以及,
B.计算一正确的密码拼接上不属于该时间单元的其他随机盐值得到的Hash值。
这两类Hash值即属于特殊的Hash值3。在一特定的时间单元内,如果服务器侦测到登录请求后计算得到的Hash值属于A,则说明,有人正在使用不属于该时间单元的、该时间周期内属于其他时间单元的密码进行登录尝试,进一步的,说明多密码集合很可能已经泄露;
同理,在一特定的时间单元内,如果服务器侦测到登录请求后计算得到的Hash值属于B,则说明,有人已经选择了正确的该时间单元对应的密码,却拼接了不属于该时间单元的随机盐进行登录尝试,进一步的,说明服务器端的随机盐很可能已经泄露。
一旦有上述情况发生,服务器将自动发出预警,提醒用户代理和服务器管理员。用户代理和服务器将及时重新生成所有的包括多密码集合、时间单元、一一映射关系、随机盐在内的认证参数。
实施例2。
下面再结合一个场景实例对本发明进行详细说明:本发明在普通用户针对一个人网上银行的账号安全保护上的应用。设定的一时间周期为一周,7天;设定的一时间单元跨度为一天,即24小时;根据时间单元的数目,设定一多密码集合内密码元素的个数为7个;根据时间单元及多密码集合内的元素个数,设定服务器端的随机盐的个数为7个,分别为SaltA1~Salt A7;设定用户代理端的登录请求盐为Salt B。在用户代理端和服务器端计算Hash值的标准Hash函数用“H()”表示。
本发明在该应用场景下的应用步骤为:
在一周刚开始时,在一个预设的“缓冲时间区”内(缓冲时间区与国际标准时间同步,用于参数生成,握手交互等操作的发生,本发明中大部分操作均在缓冲时间区中发生,缓冲时间区不与任何一密码一随机盐相对应,用户代理无法发出登录请求,服务器无法就登录请求作出响应。),按照用户预先的设定,用户代理生成一含有7个结构近似,长度相等,难以互相区分的密码的多密码集合W。每个密码对应一周的每一天,该密码集合先保存在用户代理处。在服务器端,服务器将一周等划分为7个时间单元,每个时间单元长度为24小时。(不一定是从每天的零点开始至第二天的零点结束,一时间单元开始的时刻可以是服务器任意指定的。)将7个时间单元与7个密码一一对应,服务器随机生成一套映射关系C。该映射关系首先保存在服务器处。
多密码集合内的密码必须拥有以下的几个特性:
足够随机:集合内的7个密码都不应具有语义含义,是纯随机的字符串,一些常用的字符串或是约定的代码应规避;
足够平坦:攻击者获取该多密码集合后,尝试每一种时间单元-密码映射关系的概率应是相等的,即日期和密码之间无关联,二者相互独立;
足够差异化:横向看,该用户在这一周7天内,各个账号所用的多密码集合(每个集合内都有7个密码)都应是毫无关联,大相径庭的;
足够深度化:纵向看,对于该用户,在这一周7天的时间周期结束后,本时间周期内使用的所有密码集合都应被释放且在很长时间内不会再被重复使用。
在“缓冲时间区”内,用户代理和服务器分别生成了多密码集合W和时间单元-密码映射关系C。
随后,用户代理和服务器需要进行握手交互将它们各自生成的参数传递给对方。W和C可以通过如下的策略加密后发送至对方:即用户代理和服务器均拥有属于自身的公司密钥对。它们的公钥对所有人公开,私钥仅对自己可见。在缓冲时间区内,用户代理、服务器分别生成多密码集合、时间单元-密码映射关系。它们对于对方生成的内容是未知的。
用户代理将多密码集合W发送至服务器时,加密步骤为:
首先用服务器端公钥加密W,得到W’;
然后用用户代理自带的私钥加密W’,形成最终的加密后的多密码集合M1。
服务器端接收到加密的多密码集合M1后,解密步骤为:
首先用用户代理的公钥解密M1,得到W’;
然后用服务器端自带的私钥解密W’,最终得到在用户代理端生成的原文件W。
同理,服务器端在反馈步骤中将时间单元-密码的映射关系C加密发送至用户代理端,其步骤也是与上述类似的,即:
首先用用户代理公钥加密C,得到C’;
然后用服务器端自带的私钥加密C’,最终形成加密后的映射关系M2。
用户代理接收到加密的映射关系M2后,解密步骤为:
首先用服务器端的公钥解密M2,得到C’;
然后用用户代理自带的私钥解密C’,最终得到在服务器端生成的原文件C。在服务器端收到多密码集合后,一系列的对密码Hash值的预计算工作需要在缓冲时间区内完成。预计算Hash值时,以下几个参数是必须的:
服务器端生成的,与每个时间单元及该时间单元对应的密码一一对应的随机盐Salt A1~Salt A7;
仅一时间单元内有效的密码Password 1~Password 7;(用户代理与服务器交互后,用户代理可以自动识别一时间单元内有效的一密码。)
用户代理生成的,与Password拼接后加密传输至服务器的登录请求盐SaltB。
盐的加入使得破解密码的Hash值变得更为困难。盐在使用时有几个需要注意的地方:盐不能复用且需要一定的长度,重复的盐和长度较短的盐会使Hash被破解的几率大大提升。
对于服务器端而言,随机盐Salt A1~Salt A7一一对应一周内7个长度均为24小时的时间单元以及多密码集合中7个结构近似,长度相等,无法相互区分的密码。Salt A1~Salt A7的长度与经标准Hash函数A计算得到的、预存在服务器硬盘上的密码Hash值2的长度相等。
登录请求盐Salt B由用户代理生成,其长度与在用户代理处、经标准Hash函数B计算得到的、待发送至服务器端的密码Hash值1的长度相同。与Salt A相比,Salt B的构成相对稳定。例如,将该用户在该网上银行系统中的用户名的ASCII码拼接上该银行网站的域名形成Salt B。因为构成Salt B的规则较为简单且相对稳定,Salt B对服务器而言也是已知的。
Hash值2的计算步骤如下:
服务器首先计算Password与Salt B经拼接后,利用标准Hash函数B计算得到Hash值1;
将Hash值1与该Password对应的Salt Ai(i=1,2,…7)再次拼接后,利用标准Hash函数A计算得到Hash值2。
Hash值2和Salt Ai将被同时存储在服务器硬盘中。对应7个时间单元,每个时间单元都有一Hash值2和一Salt Ai被预先计算且保存在服务器硬盘中。
在预计算的工作完成后,在当前的缓冲时间区内,如下任务已经完成:
多密码集合、时间单元-密码映射关系的生成;
用户代理、服务器端完成交互,多密码集合、时间单元-密码映射关系分别被发送至服务器端和用户代理;
各项中间参数生成(Salt A,Salt B等);
利用各项中间参数,服务器将7个密码分别对应的Hash值2,连同SaltAi保存在了服务器硬盘中。
至此,缓冲时间区内大部分任务已经完成(剩余的任务涉及预警机制和Hash值3的生成),第一个时间单元即刻开始。
在任一时间单元的任一时刻,该用户均有可能向服务器发送登录请求。在一特定的时刻,判定该时刻属于哪一时间单元,找到与该时间单元对应的密码。此密码即在此时刻有效的密码。将该密码与登录请求盐Salt B拼接后经标准Hash函数B计算得到的Hash值1发往服务器端,请求登录。
服务器端接收到来自用户代理发送的该时刻对应的时间单元的特定密码与登录请求盐拼接经计算后的Hash值1,将该Hash值1与该时间单元对应的随机盐拼接后经标准Hash函数计算后得到该用户在该时间单元所提交的Hash值2。将Hash值2与预存在服务器硬盘中的Hash值2进行对比,如果二者相同,说明该用户在正确的时间选择正确的密码登录了正确的网站,认证通过,用户成功登录可进行后续操作。否则认证失败,用户登录请求将被拒绝。
至此一次常规的登录请求及其响应过程完成。
上文提到的,在缓冲时间区内,还需要预先计算Hash值3以完成本发明中提供的一种可预防攻击者尝试攻击的预警机制。具体实现为:
在该应用场景中,一周7个时间单元,每个时间单元都对应了一密码,一随机盐Salt Ai和一预存的在硬盘中、正确的Hash值2。除了这7个正确的Hash值2,另外42个Hash值(统称为Hash值3)也应该在缓冲时间区内被预先计算且保存在服务器硬盘中。Hash值3是指:在某一时间单元指定的Salt A下,用不是这一时间单元的、对应另外6个时间单元的6个密码计算得到的Hash值2。(也等于在某一时间单元指定的密码下,用不是这一时间单元的、对应另外6个时间单元的6个随机盐Salt A计算得到的Hash值2,这两种说法完全等价)
一周7个时间单元,7个密码,7个Salt A,每个时间单元都有6个这样的“错误Hash值2”,加上其他6个在各自时间单元内正确但在本时刻非法的Hash值2’,故一共有7*6+6=48个特殊的“Hash值3”。
用户登录时,服务器端根据用户端传来的身份信息计算得到的Hash值2’和服务器数据库预存的Hash值2不同且属于这48个Hash值中的任意一个,则说明用户密码或随机盐Salt A已经泄露。(具体的可以参见一简单的密码、随机盐及Hash值的对应关系表,下表一。)相应的预警应立即通知用户代理和服务器管理员。多密码集合内所有的密码重新生成,所有的时间单元-密码的映射关系重新生成,所有的中间参数全部生成。
表一:密码、随机盐与不同时间单元对应后计算得到的Hash值真值对应表
Salt A1 | Salt A2 | Salt A3 | Salt A4 | Salt A5 | Salt A6 | Salt A7 | |
密码1 | Hash_1 | × | × | × | × | × | × |
密码2 | × | Hash_2 | × | × | × | × | × |
密码3 | × | × | Hash_3 | × | × | × | × |
密码4 | × | × | × | Hash_4 | × | × | × |
密码5 | × | × | × | × | Hash_5 | × | × |
密码6 | × | × | × | × | × | Hash_6 | × |
密码7 | × | × | × | × | × | × | Hash_7 |
·Hash_i:表示对应第i个时间单元及其随机盐的正确的Hash值,即Hash值2;
●×:表示该Hash值是利用错误的密码或是错误的随机盐计算得到的,是不合法的,属于Hash值3;
●对应时间单元i,Hash_j(i≠j)也属于Hash值3。
Claims (10)
1.一种新型防撞库关联时间多密码的身份认证方法,所述方法用于用户通过用户代理在服务器上的身份认证,其特征在于,所述方法包括:
1)密码集合生成步骤;
2)时间单元及与密码集合映射关系生成步骤;
3)服务器生成随机盐步骤;
4)登录请求盐生成步骤;
5)服务器Hash值预计算步骤;
6)用户登录验证身份步骤。
2.如权利要求1所述的身份认证方法,其特征在于,所述步骤1)的密码集合生成步骤包括,由所述用户代理生成密码集合,所述密码集合内包含若干个长度相同且结构近似的密码。
3.如权利要求2所述的身份认证方法,其特征在于,所述步骤2)的时间单元及与密码集合映射关系生成步骤包括,所述服务器生成所述时间单元并随机生成一个各个时间单元与密码集合内各个密码的映射关系,其中所述时间单元由一时间段等长划分而成,时间单元的数目与所述密码集合内密码的数目相等。
4.如权利要求3所述的身份认证方法,其特征在于,所述步骤3)的服务器生成随机盐步骤包括,所述服务器收到由用户代理加密发送的密码集合后进行本地解密,并且对应所述密码集合内的每一个密码,所述服务器为其随机生成一个随机盐,所述随机盐的长度应等于最后计算得到的Hash值长度。
5.如权利要求4所述的身份认证方法,其特征在于,所述步骤4)的登录请求盐生成步骤包括,所述服务器使用用户在所述服务器上的注册用户名和所述服务器的顶级域名组合生成所述登录请求盐。
6.如权利要求4所述的身份认证方法,其特征在于,所述步骤5)的服务器Hash值预计算步骤包括,所述用户代理与所述服务器需进行加密信息交互以获取对方生成的参数信息,在获得来自用户代理的密码集合后,服务器端根据所述密码集合、所述时间单元、所述随机盐和所述登录请求盐预先计算在一特定时间单元内对应每一密码的Hash值2参考值并保存。
7.如权利要求6所述的身份认证方法,其特征在于,在用户代理、服务器经加密交互可以获知对方生成的参数信息的前提下,所述步骤6)包括,用户代理首先发送登录请求,用户代理根据时间单元与密码集合的一一映射关系,判定登录时间对应的时间单元对应的密码,将该密码与登录请求盐拼接后经标准Hash函数计算得到的Hash值1发往服务器以请求登录;以及服务器验证所述登录请求:服务器接收所述Hash值1,将该Hash值1与登录时间对应的时间单元对应的随机盐拼接后经标准Hash函数计算后得到该用户在该时间单元所提交的Hash值2,将所述Hash值2与Hash值2参考值进行对比,如果二者相同,说明该用户在正确的时间选择正确的密码登录了正确的网站,认证通过,用户成功登录可进行后续操作,否则认证失败,用户登录请求将被拒绝。
8.如权利要求7所述的身份认证方法,其特征在于,在所述步骤1)之前还包括,用户代理和服务器进行标准时间同步的步骤。
9.如权利要求8所述的身份认证方法,其特征在于,所述步骤2)还包括,密码集合在用户代理内生成完成后,经加密发至服务器。
10.如权利要求9所述的身份认证方法,其特征在于,所述参数信息指所述密码集合、所述时间单元、所述随机盐、所述映射关系和/或所述登录请求盐等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610994217.8A CN106657002A (zh) | 2016-11-11 | 2016-11-11 | 一种新型防撞库关联时间多密码的身份认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610994217.8A CN106657002A (zh) | 2016-11-11 | 2016-11-11 | 一种新型防撞库关联时间多密码的身份认证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106657002A true CN106657002A (zh) | 2017-05-10 |
Family
ID=58805647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610994217.8A Pending CN106657002A (zh) | 2016-11-11 | 2016-11-11 | 一种新型防撞库关联时间多密码的身份认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106657002A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107295011A (zh) * | 2017-08-04 | 2017-10-24 | 杭州安恒信息技术有限公司 | 网页的安全认证方法及装置 |
CN107346387A (zh) * | 2017-06-23 | 2017-11-14 | 深圳传音通讯有限公司 | 解锁方法及装置 |
CN108259619A (zh) * | 2018-01-30 | 2018-07-06 | 成都东软学院 | 网络请求防护方法及网络通信系统 |
CN109711173A (zh) * | 2019-02-03 | 2019-05-03 | 北京大学 | 一种口令文件泄漏检测方法 |
CN112532566A (zh) * | 2019-09-18 | 2021-03-19 | 神州云端(深圳)科技有限公司 | 一种互联网和局域网云桌面用户统一认证方法和系统 |
CN118171315A (zh) * | 2024-03-12 | 2024-06-11 | 北京嘉华铭品牌策划有限公司广东分公司 | 基于隐私计算的防撞库方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102684874A (zh) * | 2012-01-05 | 2012-09-19 | 河南科技大学 | 一种基于ecdsa算法的无线传感器网络广播认证方法 |
US20130089204A1 (en) * | 2011-10-11 | 2013-04-11 | Nucrypt Llc | Quantum encrypted data transmission in optically-amplified wdm communications |
CN103326991A (zh) * | 2012-03-20 | 2013-09-25 | 北京聚宝网络科技有限公司 | 一种用户密码加密存储及验证的方法 |
CN105262770A (zh) * | 2015-11-05 | 2016-01-20 | 周勇 | 一种管理账户密码的方法 |
-
2016
- 2016-11-11 CN CN201610994217.8A patent/CN106657002A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130089204A1 (en) * | 2011-10-11 | 2013-04-11 | Nucrypt Llc | Quantum encrypted data transmission in optically-amplified wdm communications |
CN102684874A (zh) * | 2012-01-05 | 2012-09-19 | 河南科技大学 | 一种基于ecdsa算法的无线传感器网络广播认证方法 |
CN103326991A (zh) * | 2012-03-20 | 2013-09-25 | 北京聚宝网络科技有限公司 | 一种用户密码加密存储及验证的方法 |
CN105262770A (zh) * | 2015-11-05 | 2016-01-20 | 周勇 | 一种管理账户密码的方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107346387A (zh) * | 2017-06-23 | 2017-11-14 | 深圳传音通讯有限公司 | 解锁方法及装置 |
CN107346387B (zh) * | 2017-06-23 | 2023-10-17 | 深圳传音通讯有限公司 | 解锁方法及装置 |
CN107295011A (zh) * | 2017-08-04 | 2017-10-24 | 杭州安恒信息技术有限公司 | 网页的安全认证方法及装置 |
CN107295011B (zh) * | 2017-08-04 | 2020-09-04 | 杭州安恒信息技术股份有限公司 | 网页的安全认证方法及装置 |
CN108259619A (zh) * | 2018-01-30 | 2018-07-06 | 成都东软学院 | 网络请求防护方法及网络通信系统 |
CN108259619B (zh) * | 2018-01-30 | 2021-08-24 | 成都东软学院 | 网络请求防护方法及网络通信系统 |
CN109711173A (zh) * | 2019-02-03 | 2019-05-03 | 北京大学 | 一种口令文件泄漏检测方法 |
CN112532566A (zh) * | 2019-09-18 | 2021-03-19 | 神州云端(深圳)科技有限公司 | 一种互联网和局域网云桌面用户统一认证方法和系统 |
CN118171315A (zh) * | 2024-03-12 | 2024-06-11 | 北京嘉华铭品牌策划有限公司广东分公司 | 基于隐私计算的防撞库方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109309565B (zh) | 一种安全认证的方法及装置 | |
CN110069918B (zh) | 一种基于区块链技术的高效双因子跨域认证方法 | |
CN106254324B (zh) | 一种存储文件的加密方法及装置 | |
JP5562687B2 (ja) | 第1のユーザによって第2のユーザに送信される通信の安全化 | |
US8209744B2 (en) | Mobile device assisted secure computer network communication | |
CN109327313A (zh) | 一种具有隐私保护特性的双向身份认证方法、服务器 | |
US20170214664A1 (en) | Secure connections for low power devices | |
CA2949847A1 (en) | System and method for secure deposit and recovery of secret data | |
CN103001976A (zh) | 一种安全的网络信息传输方法 | |
CN108880995B (zh) | 基于区块链的陌生社交网络用户信息及消息推送加密方法 | |
US10263782B2 (en) | Soft-token authentication system | |
CA2502134A1 (en) | Inter-authentication method and device | |
CN106657002A (zh) | 一种新型防撞库关联时间多密码的身份认证方法 | |
CN104243494B (zh) | 一种数据处理方法 | |
CN109688119A (zh) | 一种云计算中的可匿名追踪性身份认证方法 | |
CN103036684B (zh) | 降低主密钥破解和泄露危害的ibe数据加密系统及方法 | |
CN109687965A (zh) | 一种保护网络中用户身份信息的实名认证方法 | |
Dua et al. | Replay attack prevention in Kerberos authentication protocol using triple password | |
CN108768613A (zh) | 一种基于多种加密算法的密文口令校验方法 | |
CN101282216B (zh) | 带隐私保护的基于口令认证的三方密钥交换方法 | |
WO2023151427A1 (zh) | 量子密钥传输方法、装置及系统 | |
Kravitz | Transaction immutability and reputation traceability: Blockchain as a platform for access controlled iot and human interactivity | |
TWI556618B (zh) | Network Group Authentication System and Method | |
CN106230840B (zh) | 一种高安全性的口令认证方法 | |
CN116743470A (zh) | 业务数据加密处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170510 |
|
WD01 | Invention patent application deemed withdrawn after publication |