CN102752285A - 基于高碰撞概率散列函数预先验证的计算机系统登录方法 - Google Patents

基于高碰撞概率散列函数预先验证的计算机系统登录方法 Download PDF

Info

Publication number
CN102752285A
CN102752285A CN2012101853411A CN201210185341A CN102752285A CN 102752285 A CN102752285 A CN 102752285A CN 2012101853411 A CN2012101853411 A CN 2012101853411A CN 201210185341 A CN201210185341 A CN 201210185341A CN 102752285 A CN102752285 A CN 102752285A
Authority
CN
China
Prior art keywords
password
hash function
collision probability
authentification
advance
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
CN2012101853411A
Other languages
English (en)
Other versions
CN102752285B (zh
Inventor
李志勇
刘延乐
荆德国
朱广名
陈宏辉
胡铁斌
王传起
李吉勇
王朋义
刘兵
邹剑
吴锡武
李文朝
叶云琴
吴媚
Original Assignee
Maoming Power Supply Bureau of Guangdong Power Grid Co Ltd
Dongfang Electronics Co Ltd
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 Maoming Power Supply Bureau of Guangdong Power Grid Co Ltd, Dongfang Electronics Co Ltd filed Critical Maoming Power Supply Bureau of Guangdong Power Grid Co Ltd
Priority to CN201210185341.1A priority Critical patent/CN102752285B/zh
Publication of CN102752285A publication Critical patent/CN102752285A/zh
Application granted granted Critical
Publication of CN102752285B publication Critical patent/CN102752285B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

一种基于高碰撞概率散列函数预先验证的计算机系统登录方法,主要利用单向散列函数加密用户登录密码存储在客户端,在本地实现用户登录时预先进行密码验证,从而减轻系统应对错误输入和暴力破解带来的验证运算负担。同时为提高安全性,在客户端本地采用的单向散列函数碰触概率非常高,这样即使遭到本地破解攻击,破解出的结果也与密码毫无关系。本发明既通过预先验证减轻了系统验证负担,又确保本地存储的密码校验信息无法破解出密码,方法实用、安全可靠。

Description

基于高碰撞概率散列函数预先验证的计算机系统登录方法
技术领域
本发明涉及一种大型计算机应用系统的登录方法,尤其是涉及一种基于高碰撞概率散列函数预先验证的计算机系统登录方法。
背景技术
对于用户数众多、登录事件频繁的大型计算机应用系统,经常需要为处理用户错误输入的密码或者暴力攻击输入的密码进行密码验证,而在系统中为确保安全性往往密码验证算法非常消耗系统运算资源。
发明内容
本发明所要解决的技术问题,就是提供一种基于高碰撞概率散列函数的登录预先验证方法,可大大节省系统运算资源。
解决上述技术问题,本发明采用的技术方案如下:
一种基于高碰撞概率散列函数预先验证的计算机系统登录方法,包括以下步骤: 
S1  用户登录输入密码X;
S2  密码经过设定的高碰撞概率散列函数H(X)运算获得一数值M1;
S3  将M1与本地存储的预先校验信息M进行比较,如果相同则发送用户名和密码到服务器验证;
S4  如果M1与本地存储的预先校验信息M不同则弹出对话框提醒用户密码有误;
S5  用户点击对话框选项确定是再次输入密码还是直接发送给服务器验证;
S6  如果用户选择再次输入密码则重复前面S1-S4的步骤;
S7  如果用户选择不再次输入密码,则发送用户名和密码到服务器验证;
S8  用户名和密码通过验证后,将该密码经过设定的高碰撞概率散列函数H(X)运算获得数值M1存储到本地作为预先校验信息M。
所述的步骤S2高碰撞概率散列函数H(X)运算包括以下步骤:
S2-1)X:为输入密码的16进制数值;
S2-2)计算 Z=f(X) , 其中f(X)为X的多次幂或指数运行函数;
S2-3)计算 d , d为从0到X中最大的素数;
S2-4)计算 Y=X*d ,其中d为小于X的最大素数;
S2-5)计算 M =Z mod(Y) , Y为选取的大于X小于Z的除数。
本发明通过采用将用户密码信息经过一定的算法存储在本地,当用户登录时预先校验输入的密码经过同样的算法是否能得到和本地存储内容一致来进行预先验证,一致则发送到系统进行验证,如果不一致则弹出提醒对话框询问和以往密码不一致,让用户确认是否要发送到系统进行验证,如果用户没有在别处修改密码,则必然是用户输入错误,合法用户则会自觉再次输入密码而不发到系统进行验证,从而减少错误输入直接发到系统进行验证。
本发明的原理:
登录预先验证的方法要充分考虑其安全性,防范攻击者对利用本地存储的密码加密后的内容进行破解。目前对密码验证的方法主要采用单向散列函数来计算用户设定密码得到一散列值存放到验证数据库中,当用户登录输入密码后系统将收到的用户密码通过同样的散列函数计算获得一个结果与系统验证数据库中存储的对应用户密码散列值相比较来进行验证。
散列(HASH)函数H也称哈希函数或杂凑函数等,其输入为一可变长x(可以足够的长),输出一固定长的串h(一般为128位、160位,比输短),该串h被称为输入x的Hash值(或称消息摘要Message Digest、指纹、密码校验和或消息完整性校验),计作h=H(x)。为防止传输和存储的消息被有意或无意地篡改,采用散列函数对消息进行运算生成消息摘要,附在消息之后发出或与信息一起存储,它在报文防伪中具有重要应用。
消息摘要采用一种单向散列算法将一个消息进行换算。在消息摘要算法中,文件数据作为单向散列运算的输入,这个输入通过HASH函数产生一个散列值。如果改动了文件,散列值就会相应地改变,接收者即能检测到这种改动过的痕迹。从理论上来讲,攻击者不可能制造一个替用的消息来产生一个完全相同的消息摘要。Hash函数可用于数字签名、消息的完整性检测、消息的起源验证检测等。
Hash函数H一般满足以下几个基本要求:
(1)输入x可以为任意长度;输出数据串长度固定;
(2)正向计算容易,即给定任何x,容易算出H(x);反向计算困难,即给出一Hash值h,很难找出一特定输入x,使h=H(x);
(3)抗碰撞性(抗冲突性),包括两个含义,一是给出一消息x,找出一消息y使H(x)=H(y)是计算上不可行的(弱抗冲突),二是找出任意两条消息x、y,使H(x)=H(y)也是计算上不可行的(强抗冲突)。
对Hash函数有两种穷举攻击。一是给定消息的Hash函数H(x),破译者逐个生成其他文件y,以使H(x)=H(y)。二是攻击者寻找两个随机的消息:x,y,并使H(x)=H(y)。这就是所谓的冲突攻击。穷举攻击方法没有利用Hash函数的结构和任何代数弱性质,它只依赖于Hash值的长度。攻击者要对产生同样的Hash值,为了确保100%的成功率,其必然需要穷举全部的样本空间,这样是非常巨大的计算量,然而攻击者如果只为了获得50%的成功率是不是其穷举空间也至少减少一半?然而理论计算的答案确实否定的。
例如以生日攻击(Birthday Attack)为例:在一个教室中最少应有多少学生才使得找一个学生与某人生日(该人也在教室)相同的概率不小于1/2?答案是254人。但至少有两个学生的生日在同一天的概率不小于1/2的答案出人意料地低,仅为23人。
一个人与一个已知生日的人不是同生日的概率是364/365,假如教室有t个人,则其余的人与某人都不同生日的概率是(364/365)t-1,所以至少有一个人与此人同生日的概率是1-(364/365)t-1
第一个人的生日为一个特定生日,第二个人不在该日生的概率是(1-1/365),第三个人与前两位不同生日的概率是(1-2/365),第t个人与前t-1个人不同生日的概率是(1-(t-1)/365),所以t个人都不同生日的概率是(1-1/365)(1-2/365)……(1-(t-1)/365),利用1-x>>e-x (当x很小),概率约为                                                
Figure 2012101853411100002DEST_PATH_IMAGE001
,而至少有两个人生日相同的概率是1-(1-1/365) (1-2/365)……(1-(t-1)/365)。经过计算,t>>
Figure 873253DEST_PATH_IMAGE002
>>22.3,即随机选择23人,至少有2人生日相同的概率至少为1/2。
生日攻击意味着攻击者为获得50%的攻击成功率,代价并不是100%成功率的一半,而只需原样本空间的开方,例如32位的消息摘要,在
Figure 2012101853411100002DEST_PATH_IMAGE003
个随机HASH值中至少有1/2的概率发生一个碰撞,这使得HASH值的长度有一个下界。
通过在本地存储密码相关信息便能实现预先验证,然而如果简单加密用户密码则会带来安全隐患,因而在本地加密用户密码的算法需要妥善设计。
采用单向散列函数对用户密码进行加密是防止破解的最常用方法。目前多大数系统在验证服务器端存放的都是用户密码的MD5值。MD5算法是一种碰撞概率极低的算法,例如32位的MD5,要
Figure 151525DEST_PATH_IMAGE003
次攻击才会产生一次概率50%的碰撞,所以两个密码只要MD5值相同基本这两个密码就是完全一样的。然而在本地存储密码加密结果则不能采用这种碰撞概率极低的算法,因为攻击者一旦通过暴力穷举产生一次碰撞则就破解了密码,给密码安全带来隐患。例如早期的QQ登录就采用了MD5加密用户密码然后BASE64编码存储在本地,该方法被解析公开后,对应结合字典进行的暴力破解可很快破解出密码,最后腾讯公司放弃了本地预先验证的方法,要求全部提交到服务器进行验证。采用强度更高的2重、3重MD5加密理论上来说加大了破解难道,但实际的穷举空间也就用户习惯会能输入的不超过20位的密码,一层128位MD5的碰撞空间已经完全覆盖了用户输入范围,多重MD5加密加大了计算量,对穷举空间范围不会产生影响,依然会被破解。
而采用提取密码的某几个字位等信息来加密虽然是单向无法破解密码,但还是会暴露密码的部分信息。
采用奇偶校验或CRC校验值作为密码验证信息,这种方法可以非常好的防止破解,例如用奇偶校验,任何密码最后保存的信息只是奇偶校验位则要么是0,要么是1,任何人都不可能从这个奇偶校验位来破解出密码,但这种方法碰撞率太高,用户自身输入偶然错误也不能很好验证。
为防止利用本地存储的密码加密内容进行破解,本发明提出高碰撞概率散列函数H(X)来加密密码,从而确保了加密内容不能破解出密码。将用户输入的密码(通常要求密码长度大于6)看作一个输入的16进制整数X(X大于166),将X经过多次幂运算或指数运行得到结果Z,Z作为被除数,选取除数Y,其中Y大于X小于Z,将Z除以Y的结果及取余运算结果作为预先校验信息M。 
X:为输入密码的16进制数值。
Z=f(X) , 其中f(X)为X的多次幂或指数运算函数。
d: d为从0到X中最大的素数。
Y=X*d:为选取的一个大于X小于Z的除数,其中d为设定的小于X的素数。
M=Z mod(Y) ,M为Z对Y取模运算的结果,M及为要求的预先校验信息。
则高碰撞概率散列函数H(X)= f(X)mod(Y)。
该算法要确保两点:
(1)算法单向运算,且采用密码X迭代运算生成的预先校验信息M具有很高的碰撞概率,及多个不同密码生成的预先校验信息是相同的,从而防止采用逆算法破解。     (2)算法产生的预先校验信息的枚举范围大于密码X的取值范围,从而防止字典匹配破解攻击。
安全性分析:为使分析更为简洁,假设用户输入密码M为纯数字0-9,密码长度为3。(实际输入范围更大安全性比纯数字安全性更高)若攻击者采用暴露直接穷举密码需要穷举的范围为000-999,一共103个。如果简单的选取10作为除数,将输入数值除以10取余数保存作为预先校验信息M。攻击者利用该余数则穷举密码需要穷举的范围为000-999中除以10余数为M的数,一共103 /10,为100个,比不保存任何预先校验信息穷举的范围还小,从而使得密码安全性降低。采用本专利方法将输入范围进行扩大,例如将X的二次幂X*X作为被除数Z再除以除数Y,假设Y=10,则同余数的个数为106/10=105,比不保存任何预先校验信息穷举的范围扩大了,但是由于Y=10太小,攻击者会生成余数是0-9的十个不同余数字典,来筛选匹配实施字典匹配破解攻击,因此除数Y不能太小,选取Y>X,从而使得余数范围大于X取值范围,为确保被除数Z大于余数Y,则Z最好选取X的三次幂以上的迭代运行来生成。与幂运算类似还可以用e的X次方来作为被除数。 
有益效果:
(1)提出的登录预先验证方法通过碰撞率非常高的单向散列函数来保存加密密码,在本地存储的密码加密后的内容无法破解出密码,确保了密码验证的安全性。
(2)提出的登录预先验证方法通过预先验证减轻了错误输入和破解对系统验证带来的负担。
本发明利用单向散列函数加密用户登录密码存储在客户端,在本地实现用户登录时预先进行密码验证,从而减轻系统应对错误输入和暴力破解带来的验证运算负担,同时为提高安全性,在客户端本地采用的单向散列函数碰触概率非常高,这样即使遭到本地破解攻击,破解出的结果也与密码毫无关系。本发明既通过预先验证减轻了系统验证负担,又确保本地存储的密码校验信息无法破解出密码,该方法实用、安全可靠。
附图说明
图1是本发明实施例的总体流程图;
图2是本发明实施例的高碰撞概率散列函数H(X)运算流程图。
具体实施方式
如图1的总体流程图所示,本发明所提出的一种基于高碰撞概率散列函数预先验证的计算机系统登录方法,包括以下步骤:
S1  用户登录输入密码X;
S2  密码经过设定的高碰撞概率散列函数H(X)运算获得一数值M1;
S3  将M1与本地存储的预先校验信息M进行比较,如果相同则发送用户名和密码到服务器验证;
S4  如果M1与本地存储的预先校验信息M不同则弹出对话框提醒用户密码有误;
S5  用户点击对话框选项确定是再次输入密码还是直接发送给服务器验证;
S6  如果用户选择再次输入密码则重复前面S1-S4的步骤;
S7  如果用户选择不再次输入密码,则发送用户名和密码到服务器验证;
S8  用户名和密码通过验证后,将该密码经过设定的高碰撞概率散列函数H(X)运算获得数值M1存储到本地作为预先校验信息M。
其中高碰撞概率散列函数H(X)运算流程如图2所示,包括以下步骤:
S2-1)X:为输入密码的16进制数值;
S2-2)计算 Z=f(X) , 其中f(X)为X的多次幂或指数运行函数;
S2-3)计算 d , d为从0到X中最大的素数;
S2-4)计算 Y=X*d ,其中d为小于X的最大素数;
S2-5)计算 M =Z mod(Y) , Y为选取的大于X小于Z的除数。

Claims (2)

1.一种基于高碰撞概率散列函数预先验证的计算机系统登录方法,包括以下步骤: 
S1  用户登录输入密码X;
S2  密码经过设定的高碰撞概率散列函数H(X)运算获得一数值M1;
S3  将M1与本地存储的预先校验信息M进行比较,如果相同则发送用户名和密码到服务器验证;
S4  如果M1与本地存储的预先校验信息M不同则弹出对话框提醒用户密码有误;
S5  用户点击对话框选项确定是再次输入密码还是直接发送给服务器验证;
S6  如果用户选择再次输入密码则重复前面S1-S4的步骤;
S7  如果用户选择不再次输入密码,则发送用户名和密码到服务器验证;
S8  用户名和密码通过验证后,将该密码经过设定的高碰撞概率散列函数H(X)运算获得数值M1存储到本地作为预先校验信息M。
2.根据权利要求1所述的基于高碰撞概率散列函数预先验证的计算机系统登录方法,其特征是:所述的步骤S2高碰撞概率散列函数H(X)运算包括以下步骤:
S2-1)X:为输入密码的16进制数值;
S2-2)计算 Z=f(X) , 其中f(X)为X的多次幂或指数运行函数;
S2-3)计算 d,d为从0到X中最大的素数;
S2-4)计算 Y=X*d ,其中d为小于X的最大素数;
S2-5)计算 M =Z mod(Y) ,Y为选取的大于X小于Z的除数。
CN201210185341.1A 2012-06-07 2012-06-07 基于高碰撞概率散列函数预先验证的计算机系统登录方法 Active CN102752285B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210185341.1A CN102752285B (zh) 2012-06-07 2012-06-07 基于高碰撞概率散列函数预先验证的计算机系统登录方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210185341.1A CN102752285B (zh) 2012-06-07 2012-06-07 基于高碰撞概率散列函数预先验证的计算机系统登录方法

Publications (2)

Publication Number Publication Date
CN102752285A true CN102752285A (zh) 2012-10-24
CN102752285B CN102752285B (zh) 2015-03-18

Family

ID=47032185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210185341.1A Active CN102752285B (zh) 2012-06-07 2012-06-07 基于高碰撞概率散列函数预先验证的计算机系统登录方法

Country Status (1)

Country Link
CN (1) CN102752285B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394532A (zh) * 2014-11-21 2015-03-04 北京京东尚科信息技术有限公司 移动端防暴力破解的安全登录方法
CN110263572A (zh) * 2019-05-15 2019-09-20 苏宁易购集团股份有限公司 两方数据安全碰撞方法和系统
CN112804030A (zh) * 2021-01-17 2021-05-14 国网辽宁省电力有限公司电力科学研究院 一种基于crc+md5散列函数双向连通的数据校验方法
US11089008B2 (en) 2018-11-20 2021-08-10 HCL Technologies Italy S.p.A. System and method for facilitating pre authentication of user[s] intended to access data resources
CN114785585A (zh) * 2022-04-18 2022-07-22 高途教育科技集团有限公司 一种信息验证校验方法、装置、设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309278A (zh) * 2008-06-27 2008-11-19 腾讯科技(深圳)有限公司 一种在客户端保存加密数据的方法及系统
CN101483519A (zh) * 2008-01-11 2009-07-15 索尼(中国)有限公司 产生哈希函数的压缩函数装置以及哈希函数系统及方法
CN101951318A (zh) * 2010-09-07 2011-01-19 南京大学 一种双向的移动流媒体数字版权保护方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483519A (zh) * 2008-01-11 2009-07-15 索尼(中国)有限公司 产生哈希函数的压缩函数装置以及哈希函数系统及方法
CN101309278A (zh) * 2008-06-27 2008-11-19 腾讯科技(深圳)有限公司 一种在客户端保存加密数据的方法及系统
CN101951318A (zh) * 2010-09-07 2011-01-19 南京大学 一种双向的移动流媒体数字版权保护方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
R.RIVEST MIT LABORATORY FOR COMPUTER SCIENCE等: "The MD5 Message-Digest Algorithm", 《RFC 1321》, 30 April 1992 (1992-04-30) *
SKALA,V等: ""New Hash Function Construction for Textual and Geometric Data Retrieval"", 《LATEST TRENDS ON COMPUTERS.14TH WSEAS INTERNATIONAL CONFERENCE ON COMPUTERS》, 25 July 2010 (2010-07-25), pages 483 - 489 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394532A (zh) * 2014-11-21 2015-03-04 北京京东尚科信息技术有限公司 移动端防暴力破解的安全登录方法
US11089008B2 (en) 2018-11-20 2021-08-10 HCL Technologies Italy S.p.A. System and method for facilitating pre authentication of user[s] intended to access data resources
CN110263572A (zh) * 2019-05-15 2019-09-20 苏宁易购集团股份有限公司 两方数据安全碰撞方法和系统
CN110263572B (zh) * 2019-05-15 2022-03-18 苏宁易购集团股份有限公司 两方数据安全碰撞方法和系统
CN112804030A (zh) * 2021-01-17 2021-05-14 国网辽宁省电力有限公司电力科学研究院 一种基于crc+md5散列函数双向连通的数据校验方法
CN114785585A (zh) * 2022-04-18 2022-07-22 高途教育科技集团有限公司 一种信息验证校验方法、装置、设备以及存储介质
CN114785585B (zh) * 2022-04-18 2023-12-08 高途教育科技集团有限公司 一种信息验证校验方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN102752285B (zh) 2015-03-18

Similar Documents

Publication Publication Date Title
GB2513260A (en) System and method for quorum-based data recovery
Kulshrestha et al. Identifying harmful media in {End-to-End} encrypted communication: Efficient private membership computation
US10938575B2 (en) Signature compression for hash-based signature schemes
Maetouq et al. Comparison of hash function algorithms against attacks: A review
CN102752285B (zh) 基于高碰撞概率散列函数预先验证的计算机系统登录方法
CN101237320A (zh) 利用无穷维超混沌构造单向散列函数进行密码保护的方法
CN104270247A (zh) 适用于量子密码系统的高效泛Hash函数认证方案
Kuznetsov et al. New approach to the implementation of post-quantum digital signature scheme
CN103780382A (zh) 一种基于超球面的多变量公钥加密/解密系统及方法
CN110543778A (zh) 一种字符数据线性随机加密和解密算法
Luo et al. A more efficient leveled strongly-unforgeable fully homomorphic signature scheme
Chandran et al. Performance analysis of modified SHA-3
Naor et al. The security of lazy users in out-of-band authentication
Zhou et al. An efficient code-based threshold ring signature scheme with a leader-participant model
KR102211648B1 (ko) 신드롬을 기반으로 한 전자 서명을 통해 데이터 통신이 가능한 전자 장치 및 그 동작 방법
Karakaya et al. A review on latest developments in post-quantum based secure Blockchain systems
CN102542070A (zh) 基于随机函数的单向哈希函数构造方法
Shooshtari et al. Provably secure strong designated verifier signature scheme based on coding theory
Elganzoury et al. A new secure one-time password algorithm for mobile applications
Ji et al. Proofs of retrievability with tag outsourcing based on Goppa codes
Sreelaja et al. An image edge based approach for image password encryption
Kim et al. Efficient verifiable data streaming
Snášel et al. Hash functions based on large quasigroups
Fernandes et al. Implementation of Blake 256 hash function for password encryption and parallel CRC
Chen et al. A second preimage attack on zipper hash

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 525000 No.2, Guanshan 4th Road, Maoming City, Guangdong Province

Patentee after: MAOMING POWER SUPPLY BUREAU, GUANGDONG POWER GRID Co.,Ltd.

Patentee after: DONGFANG ELECTRONICS Co.,Ltd.

Address before: 525000 No.2, Guanshan 4th Road, Maoming City, Guangdong Province

Patentee before: MAOMING POWER SUPPLY BUREAU OF GUANGDONG POWER GRID Corp.

Patentee before: DONGFANG ELECTRONICS Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210125

Address after: 525000 No.2, Guanshan 4th Road, Maoming City, Guangdong Province

Patentee after: MAOMING POWER SUPPLY BUREAU, GUANGDONG POWER GRID Co.,Ltd.

Address before: 525000 No.2, Guanshan 4th Road, Maoming City, Guangdong Province

Patentee before: MAOMING POWER SUPPLY BUREAU, GUANGDONG POWER GRID Co.,Ltd.

Patentee before: DONGFANG ELECTRONICS Co.,Ltd.