CN108737438B - 防范暴库的身份认证方法 - Google Patents

防范暴库的身份认证方法 Download PDF

Info

Publication number
CN108737438B
CN108737438B CN201810559951.0A CN201810559951A CN108737438B CN 108737438 B CN108737438 B CN 108737438B CN 201810559951 A CN201810559951 A CN 201810559951A CN 108737438 B CN108737438 B CN 108737438B
Authority
CN
China
Prior art keywords
database
user
random number
password
server
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.)
Active
Application number
CN201810559951.0A
Other languages
English (en)
Other versions
CN108737438A (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.)
Nantong Jiatianxia Technology Co ltd
Original Assignee
Guilin Jinfaming Technology Development Co ltd
Guilin University of Electronic Technology
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 Guilin Jinfaming Technology Development Co ltd, Guilin University of Electronic Technology filed Critical Guilin Jinfaming Technology Development Co ltd
Priority to CN201810559951.0A priority Critical patent/CN108737438B/zh
Publication of CN108737438A publication Critical patent/CN108737438A/zh
Application granted granted Critical
Publication of CN108737438B publication Critical patent/CN108737438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Abstract

目前许多身份认证协议,没有考虑到数据库被黑客盗取带来的威胁,往往关注双方通信层面的安全性。但是实际上数据库被盗是比较常见的,而且还会给网站带来很大的损害。目前现实中许多网站都采用hash函数对密码进行一种不可逆的“加密”,但是不能防范重放攻击,针对于类似于挑战应答协议之类需要将密码明文存储在数据库中,我们提出了新的认证方法,可以有效防范数据库被盗带来的危害。同时也能防范重放攻击。同时方法可以不给用户带来额外的操作过程,流程比较简洁。

Description

防范暴库的身份认证方法
技术领域
本发明属信息安全领域,涉及一种身份认证的方法和系统。
背景技术
目前许多身份认证协议,没有考虑到数据库被黑客盗取带来的威胁。目前现实中许多网站都采用hash函数对密码进行一种不可逆的“加密”,但是,在学术层面,人们考虑的更多的是用户和服务器在认证时通信层面的安全,比如挑战应答协议就是一种为了防范重放攻击的协议,后续有更多复杂的安全认证方法,也没有考虑密码被盗问题,有些专利,比如一种用于移动终端用户身份认证的方法和系统,采用了非对称密码学来解决密码可能被木马盗取的问题,采用的非对称密钥,实际上又需要解决更多问题,比如可能需要用u盾之类的,目前一般的网站还不会具备相应的条件。但是在挑战应答之类的动态认证协议下,数据库必须存有密钥(密码)的明文,一旦用户信息相关的数据库,数据表被盗,将会威胁所有用户的安全。实际上,黑客通过搭线监听的方式来攻击的可能性要小得多,而且只是危害单个用户,而通过暴库,危害到所有的用户。在现实中,有许多网站的用户数据库被盗,而且许多网站都不愿意公开承认自己的数据库被盗。对网站的各方面的损害极大,有的甚至于不惜与黑客进行交易。即使是采用ssl,也不能防范数据库被盗带来的威胁。目前许多网站都采用hash存储密码,在存在搭线监听时可能会有重放攻击。本发明考虑到上述问题,设计了一个用户认证方法。
发明内容
实际上,黑客盗取数据库更难防范,而且SSL协议可以解决通信中的监听,重放的问题,但是却不能防范数据库被盗。为了同时防范重放攻击、数据监听和数据库被盗取,
方案一:采用两个函数F()和H(),用户注册的时候,用户输入密码k1,k2,选用两个公开的单向函数G(),I(),两者可以为相同的函数,比如,hash函数,或者是一个固定明文的加密函数,以输入的数值作为密钥加密固定明文。依次计算F(k1)和G(H(k2)),服务端接受此数据,并且将F(k1)和G(H(k2))存入数据库。当然,k1,k2的顺序可以颠倒过来。
在认证的时候,服务器端发送一个随机数r给用户端,用户输入k,客户端计算出I(r‖F(k1))和G(H(k2)),发送给服务器端,服务器端核对G(H(k2))与数据库中存储的是否相等,同时,根据之前发送的r和数据库调用的F(k1),计算I(r‖F(k1)),核对与发过来的是否相等,如果均相等,则身份认证通过。
由于用户是根据服务器的挑战r进行响应的,每一次响应的数据不一样,所以可以防范监听和重放攻击带来的威胁。服务端盗取了数据库后,并不能得到所有的密钥,也不能得到H(k2),所以也无法通过审核,进行访问。
以上采用函数的形式是为了更具有普遍性,实际中可以简化,F(k)和H(k)可以直接采用k,即F(k)=H(k)=k,以简化计算。并不影响安全性。为了简化程序,处理k1和k2的过程可以统一。
方案二:在方案一中,需要有输入多个密码,对于用户而言是有不方便的,为了简化程序,在本方案中,用户的密码k产生两个参数F(k)和H(k),但是,他们并不包含k的全部信息,各自分得k的一部分不完全重合的信息,通过F(k)无法确定H(k),一个简单的例子就是将k的数据分为两部分,一部分为F(k),另一部分为H(k)。
在注册时候,用户设置密码k,客户端计算出F(k)和H(k),服务器端选择两个公开的单向函数G(),I(),两者可以为相同的函数,储存F(k)和G(H(k))。
在认证的时候,服务器端发送一个随机数r给用户端,用户输入k,客户端计算出I(r‖F(k))和G(H(k)),发送给服务器端,发送给服务器端,服务器端核对G(H(k))是否相等,同时,计算I(r‖F(k)),核对与发过来的是否相等,如果均相等,则身份认证通过。
由于用户是根据服务器的挑战r进行响应的,每一次响应的数据不一样,所以可以防范监听和重放攻击带来的威胁。服务端盗取了数据库后,获得F(k)和G(H(k)),并不能得到k,也不能得到H(k),所以也无法进行访问。
这里的方法达到了很好的安全效果,而且非常简洁,在实际的操作中,用户不需要进行多次交互,用户再登录服务器的同时,网站即将随机数发给用户,用户只要输入k,并且提交,在客户端就完成操作。本方法不需要进行多次的交互,不会对服务器端、对客户端、对用户都会带来成本和不便。在实际的应用中,往往简洁和透明对用户来说更为重要,本方法在保证安全性的同时,也保证协议的简洁。
具体实施方式
应该说明的是,根据下面的具体实施方式,其中通过举例说明示出并描述了本技术的各种设置(或选择),本技术的其他设置将变得对本领域技术人员易于显而易见。本技术能够有其他不同的设置(或选择),并且其若干细节能够在各种其他方面被修改,所有均不会背离本技术的范围。因此,具体实施方式应被认为是举例说明性而非限制性的。为了便于理解发明,我们采用了非常简洁的描述方式,并不代表我们不包含复杂的方式。本发明中的许多特征可以自由组合,出于减少实施例的数目的目的,有些不相关的特征可能会同时增加到一个实施例中,一些显而易见的替代也被包括。比如,特征X和Y都写入一个实施例中,但是,明显两者并不关联,它们各自产生了优势,而且不依赖于另一方的存在,所以,可以去掉其中一个具体的特征,或者修改它。为了便于理解,我们选取的实施例都非常简单。
实施例一:在本实施例中,为了简化,采用两个最简单的函数F(k)=H(k)=k,用户注册的时候,用户输入密码k1,k2,为了方便代码实现,我们选用两个一般操作系统和软件中配有函数接口的,可以直接调用的单向函数MD5(),SHA1(),依次计算F(k1)= k1和MD5(H(k2))=MD5(k2),发送给服务端(或者后台),服务端接受此数据,并且将k1和MD5(k2)存入数据库。
在认证的时候,服务器端发送一个随机数r给用户端,用户输入k1,k2,客户端计算出SHA1(r‖k1)和MD5(k2),发送给服务器端,服务器端核对MD5(k2)与数据库中存储的是否相等,同时,根据之前发送的r和数据库调用的k1,计算SHA1(r‖k1),核对与发过来的是否相等,如果均相等,则身份认证通过。
实施例二:用户的密码k产生两个参数,为了方便,我们采取将k的字符串分割的形式,分割方法为如果是偶数长度,前后各自分割为F(k)和H(k),如果奇数长度2n+1,则前面n+1为F(k),后面部分为H(k)。
在注册时候,用户设置密码k,客户端通过分割方式,计算出F(k)和H(k),服务器端选择两个哈希函数MD5(),SHA1(),储存F(k)和MD5(H(k))。
在认证的时候,服务器端发送一个随机数r给用户端,用户输入k,客户端计算出SHA1(r‖F(k))和MD5(H(k)),发送给服务器端,发送给服务器端,服务器端核对MD5(H(k))是否相等,同时,计算SHA1(r‖F(k)),核对与发过来的是否相等,如果均相等,则身份认证通过。

Claims (1)

1.一种防范暴库的身份认证方法,其特征为:选取两个函数F()和H(),用户注册的时候,用户输入密码k, 用户的密码k产生两个参数F(k)和H(k),F(k)和H(k)并不包含k的全部信息,各自分得k的一部分不完全重合的信息,通过F(k)无法确定H(k),在注册时候,用户设置密码k,客户端同时计算出F(k)和H(k),服务器端选择两个公开的单向函数G(),I(),储存F(k)和G(H(k));在认证的时候,服务器端发送一个随机数r给用户端,用户输入k,客户端同时计算出I(r‖F(k))和G(H(k)),发送给服务器端,发送给服务器端,服务器端核对G(H(k))是否相等,同时,计算I(r‖F(k)),核对与发过来的是否相等,如果均相等,则身份认证通过。
CN201810559951.0A 2018-06-02 2018-06-02 防范暴库的身份认证方法 Active CN108737438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810559951.0A CN108737438B (zh) 2018-06-02 2018-06-02 防范暴库的身份认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810559951.0A CN108737438B (zh) 2018-06-02 2018-06-02 防范暴库的身份认证方法

Publications (2)

Publication Number Publication Date
CN108737438A CN108737438A (zh) 2018-11-02
CN108737438B true CN108737438B (zh) 2022-02-11

Family

ID=63931997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810559951.0A Active CN108737438B (zh) 2018-06-02 2018-06-02 防范暴库的身份认证方法

Country Status (1)

Country Link
CN (1) CN108737438B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101860541A (zh) * 2010-06-10 2010-10-13 北京东土科技股份有限公司 一种端口认证安全策略实现方法
CN103944874B (zh) * 2014-02-18 2017-01-25 国家超级计算深圳中心 高复用性的云存储数据存储验证方法及系统
US9313177B2 (en) * 2014-02-21 2016-04-12 TruSTAR Technology, LLC Anonymous information sharing
CN106330838B (zh) * 2015-07-01 2019-11-05 阿里巴巴集团控股有限公司 一种动态签名方法及应用该方法的客户端和服务器
US10891620B2 (en) * 2015-08-21 2021-01-12 Samsung Electronics Co., Ltd. Method for risk management based on aggregated information from multiple payment networks while maintaining anonymity of user
CN107395627B (zh) * 2017-08-22 2020-07-17 河海大学 一种基于单向函数的轻量级认证协议

Also Published As

Publication number Publication date
CN108737438A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN111130757B (zh) 一种基于区块链的多云cp-abe访问控制方法
WO2020237868A1 (zh) 数据传输方法、电子设备、服务器及存储介质
Sood et al. Cryptanalysis of password authentication schemes: Current status and key issues
US6950523B1 (en) Secure storage of private keys
KR101769282B1 (ko) 데이터 보안 서비스
US7596704B2 (en) Partition and recovery of a verifiable digital secret
CN104660605B (zh) 一种多因子身份验证方法及其系统
CN102026195B (zh) 基于一次性口令的移动终端身份认证方法和系统
US10263782B2 (en) Soft-token authentication system
US20130212385A1 (en) Utilization of a protected module to prevent offline dictionary attacks
US20100250921A1 (en) Authorizing a Login Request of a Remote Device
TWI724555B (zh) 金鑰管理方法、安全晶片、業務伺服器及資訊系統
CN110177134B (zh) 一种基于多云存储的安全密码管理器及其使用方法
CN109359464B (zh) 一种基于区块链技术的无线安全认证方法
CN107920052B (zh) 一种加密方法及智能装置
CN110505055B (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统
CN108768613A (zh) 一种基于多种加密算法的密文口令校验方法
CN105187382A (zh) 防止撞库攻击的多因子身份认证方法
US20170063831A1 (en) Authentication of a user and of access to the user's information
CN111464532A (zh) 信息加密方法及系统
CN110866754A (zh) 一种基于动态口令的纯软件dpva身份认证方法
CN110572392A (zh) 一种基于Hyperledger网络的身份认证方法
CN111611620B (zh) 一种访问平台的访问请求处理方法及相关装置
US20100146605A1 (en) Method and system for providing secure online authentication
CN114553557B (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220923

Address after: No. 42, Guangzhou Road, Zhongxing Street, Development Zone, Nantong City, Jiangsu Province, 226000

Patentee after: Nantong Jiatianxia Technology Co.,Ltd.

Address before: Minhua Science and Technology Information Incubation Base, No. D12, Information Industry Park, National High-tech Zone, Chaoyang Road, Guilin City, Guangxi Zhuang Autonomous Region, 541004

Patentee before: GUILIN University OF ELECTRONIC TECHNOLOGY

Patentee before: GUILIN JINFAMING TECHNOLOGY DEVELOPMENT CO.,LTD.

TR01 Transfer of patent right