CN106257859A - 一种密码使用方法 - Google Patents

一种密码使用方法 Download PDF

Info

Publication number
CN106257859A
CN106257859A CN201510340437.4A CN201510340437A CN106257859A CN 106257859 A CN106257859 A CN 106257859A CN 201510340437 A CN201510340437 A CN 201510340437A CN 106257859 A CN106257859 A CN 106257859A
Authority
CN
China
Prior art keywords
target password
password
user
factor
target
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
Application number
CN201510340437.4A
Other languages
English (en)
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.)
Individual
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 CN201510340437.4A priority Critical patent/CN106257859A/zh
Publication of CN106257859A publication Critical patent/CN106257859A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供了一种密码使用方法,在本方法中不直接使用用户密码,而是先将用户密码与随机或按一定规则生成的目标密码因子经过目标密码运算得到目标密码,通过改变目标密码因子同一个用户密码可以得到多个不能相互推导的目标密码,再把目标密码分别用于用户认证、数据加密。若生成的目标密码因子不固定,则用于用户认证和数据加密的目标密码因子都需要存储,用于用户认证时目标密码也需要存储,直接或经过运算后存储。解密数据或用户登录时,用户输入密码后读取对应的目标密码因子,然后用目标密码因子和用户密码经目标密码运算得到目标密码,再使用目标密码解密数据或与之前存储的认证目标密码比较来验证用户。

Description

一种密码使用方法
技术领域
本发明涉及密码技术领域,具体地说是涉及一种能增强用户密码及用户敏感数据安全性的密码使用方法。
背景技术
目前,软件系统的应用已经深入到个各行各业,大多数人都会有某个软件系统的帐号并在系统中存储了一些敏感的数据如银行卡号、身份证号码等。
现有软件系统常见的密码使用方式是:用户设置密码时,在客户端用户输入用户名和密码后,用户名和密码以明文形式发送到服务端,在服务端将用户密码加盐经过散列运算后存储,也有少数系统直接存储密码明文;用户登录时在登录界面输入用户名和密码然后将用户名和密码以明文的方式发送到服务端进行验证,在传输过程中数据会经过很多网络节点,任意一个节点被监听就会造成用户密码被窃取。
使用SSL可以一定程度上解决上述问题,但大部分访问量大的软件系统都是分布式架构有多台应用服务器,客户端先连到网关,再由网关分发到具体的应用服务器,为了减少服务器的压力或实现某些功能往往只有用户到网关的连接会使用SSL在从网关到应用服务器的传输中还是可以通过数据监听来窃取用户密码及数据。
由于用户密码及敏感数据明文会传输到服务器,如果服务器被入侵用户密码及敏感数据也很容易被窃取。
此外,在某些系统中服务端不需要知道内容或不需要单独使用的用户敏感数据通常也是明文存储,如证件号码、银行卡号、用户备份的通讯录、日程表、备忘录等数据;有数据访问权限的人员可以轻易地获取到这些数据,如数据库管理员、成功入侵的黑客,也有系统会把用户敏感信息加密后存储但加密的密钥往往是放在服务端,若密钥被窃取所有或一批用户数据就能被解密,这样会使用户信息泄露造成经济或其它方面的损失。
发明内容
为了克服现有系统用户密码及敏感数据容易泄露的问题,本发明专利提供一种密码使用方法。
本发明解决其技术问题所采用的技术方案是:
1. 一种密码使用方法,其特征在于:先将用户密码与目标密码因子经过目标密码运算得到目标密码,改变目标密码因子同一个用户密码可得到多个不能相互推导的目标密码,再把目标密码用于用户认证、数据加密。
一种密码使用方法,其特征在于:目标密码因子随机或按规则生成,若生成的密码因子不固定则生成后需要存储使用时从存储区读取,否则可不存储在使用时用相同的方法再重新生成,比如目标密码因子根据用户名生成则生成的目标密码因子是固定的,若目标密码因子是随机生成,或者加入了一些变化的参数如当前时间则生成的目标密码因子不是固定的;目标密码因子可以是一个或多个;目标密码运算使用不可从结果计算出输入参数的算法或算法组合;用户名也可作为目标密码运算的参数。
一种密码使用方法,其特征在于:用于数据加密包括以下步骤:
(1)加密时,生成目标密码因子,将用户密码和目标密码因子经过目标密码运算得到目标密码;
(2)使用目标密码对数据明文加密得到数据密文;
(3)存储数据密文,若生成的目标密码因子不固定也需要存储;
(4)解密时,读取数据密文,读取或生成对应的目标密码因子;
(5)将用户密码和目标密码因子经过目标密码运算得到目标密码;
(6)使用目标密码对数据密文解密得到数据明文。
一种密码使用方法,其特征在于:用于用户认证包括以下步骤:
(1)设置密码时,生成目标密码因子,将用户密码和目标密码因子经过目标密码运算得到目标密码;
(2)存储目标密码,目标密码可直接存储或经过运算后存储,若生成的目标密码因子不固定也需要存储;
(3)用户登录时,输入用户名密码后,读取或生成对应的目标密码因子;
(4)将用户密码和目标密码因子经过目标密码运算得到目标密码;
(5)验证生成的目标密码和存储的目标密码是否相同,相同则用户认证成功否则失败。
一种密码使用方法,其特征在于:添加密码因子进行密码运算的次数可以是1次或多次;在生成目标密码前可添加一次密码运算---基础密码运算,先将用户密码和基础密码因子通过基础密码运算得到基础密码,再将基础密码与目标密码因子经过目标密码运算得到目标密码。
一种密码使用方法,其特征在于:本方法可单独用于用户认证或数据加密,也可同时用于用户认证和数据加密,同时用于用户认证和数据加密时用于用户认证和数据加密的用户密码可相同也可不同;加密不同的数据可使用不同的目标密码以提高安全性;若用户认证和数据加密使用相同的用户密码,数据加密可添加基础密码运算,用于数据加密的基础密码可以在用户登录后计算,解密数据前进行目标密码运算时,用户不用再次输入密码直接使用已经计算的基础密码。
一种密码使用方法,其特征在于:目标密码可以直接加密用户数据也可以加密密钥, 再使用密钥加密用户数据。
本发明的有益效果是,不存储和传输用户密码可防止通过破解数据存储区、监听网络数据包来窃取用户密码,目标密码泄露也不能获取用户密码,其中一个目标密码泄露不影响其它的目标密码的安全,提高了用户密码及数据的安全性;若目标密码泄露用户只需使用新的密码因子重新生成目标密码,原用户密码可继续使用,给用户带来了方便;本发明可实现同一个用户密码即用于用户认证又用于用户数据加密,加密的数据保存到服务端而服务端又不知道加密后数据的密码,对用户来说既安全又方便;目标密码运算可采用SHA、AES等公认安全的算法或算法组合,实现可靠、简便。
附图说明
下面结合附图和示例对发明进一步说明。
图1是本发明密码生成基本原理流程图。
图2是用于用户认证—密码设置及存储流程图。
图3是用于用户认证—密码验证流程图。
图4是用于数据加密—加密数据及存储流程图。
图5是用于数据加密—解密数据流程图。
具体实施方式
实施示例1
本示例的场景是一个网络软件系统,在系统中用户需要登录,并且对用户身份证号码加密存储;用户认证、数据加密使用相同的目标密码算法;目标密码算法是:将用户密码进行SHA256运算然后将结果加上目标密码因子进行SHA256运算,目标密码=SHA256(SHA256(用户密码)+目标密码因子);目标密码存储前先加盐(SALT),加盐算法为SHA256(目标密码+SALT)。
具体过程如下:
1)用户设置密码或新建时,在客户端,用户输入认证密码后随机生成一个目标密码因子A,对用户密码和目标密码因子A进行目标密码运算SHA256(SHA256(用户密码)+目标密码因子A)得到用于用户认证的目标密码C,将目标密码因子A和目标密码C发送到服务端。
2)在服务端,对目标密码C加盐(SALT),随机生成32位长的字符串SALT D,对目标密码加SALT算法是SHA256(目标密码C + SALT D),得到加SALT后的目标密码E,存储加SALT后的目标密码E、目标密码因子A、SALT D以及与用户名的关系。
3)用户登录时,在客户端,用户输入用户名和认证密码F后,发送用户名到服务端获取存储的目标密码因子A,对用户输入的认证密码F和目标密码因子A进行目标密码运算,目标密码=SHA256(SHA256(认证密码F) + 目标密码因子A),得到目标密码H,将目标密码H发送到服务端。
4)在服务端,取出SALT D,对目标密码H和SALT D进行加盐运算SHA256(目标密码H + SALT D)得到加盐后的目标密码I,然后与存储的加盐后的目标密码E作比较,如果相同则用户密码输入正确认证成功,否则用户密码输入不正确,用户认证失败。
5)当用户设置身份证号码J时,在客户端,用户输入数据保护用户密码K(可与用户认证的密码相同);随机生成一个目标密码因子L;将用户密码K和目标密码因子L进行目标密码运算SHA256(SHA256(用户密码K)+目标密码因子L)得到目标密码N,使用Aes256加密算法以目标密码N为密钥对身份证号码J进行加密Aes256_Encrypt(身份证号码J, 目标密码N)得到身份证号码数据密文O,将身份证号码数据密文O、目标密码因子L发送到服务端并存储。
6)使用身份证号码时,用户输入数据保护的用户密码P,接着从服务端读取身份证号码数据密文O、目标密码因子L,再将用户密码P和读取的目标密码因子L进行目标密码运算SHA256(SHA256(用户密码P)+目标密码因子L)得到目标密码R,再使用目标密码R对身份证号码数据密文O进行解密,如果用户密码P输入正确则能正确解密出身份证号码J,否则解密失败。
实施示例2
本示例的场景是一个网络软件系统,功能之一是用户可备份通讯录到服务端并可把备份到服务端的通讯录恢复到本地,在系统中用户需要登录,并且要对备份的通讯录数据进行保护加密存储。用户认证密码采用一次密码运算---目标密码运算,数据保护采用两次密码运算---基础密码运算、目标密码运算。用户认证目标密码算法:目标密码=SHA256(SHA256(用户密码)+目标密码因子);目标密码直接存储,登录时使用CHAP类似的协议。数据保护基础密码算法:基础密码=SHA256(用户密码+基础密码因子),目标密码算法是:目标密码=SHA256(基础密码+目标密码因子)。
具体过程如下:
1)用户设置密码时,在客户端,用户输入认证用户密码后随机生成一个目标密码因子A,然后对用户密码和目标密码因子A进行目标密码运算SHA256(SHA256(用户密码)+目标密码因子A)得到用于用户认证的目标密码C,再将目标密码因子A和目标密码C发送到服务端。
2)在服务端,随机生成用于数据加密的基础密码因子D,然后存储目标密码因子A、目标密码C、数据加密基础密码因子D及其与用户的关系。
3)用户登录时,在客户端,当用户输入用户名和密码E后,将用户名发送到服务端,在服务端,通过用户名找到存储的目标密码因子A,并生成一个认证随机数据F,将目标密码因子A、认证随机数据F发送到客户端。
4)在客户端,先对用户密码E和目标密码因子A进行目标密码运算SHA256(SHA256(用户密码E)+ 目标密码因子A),得到目标密码G;以目标密码G为密钥对认证随机数据F进行Aes256加密运算, Aes256_Encrypt(认证随机数据F, 目标密码G),得到认证串H,将认证串H发送到服务端。
5)在服务端,从存储区读取目标密码C,以读取的目标密码C为密钥对认证随机数据F进行Aes256加密运算Aes256_Encrypt(认证随机数据F, 目标密码C),得到认证串I,比较认证串H和I是否相同,如果相同则用户密码输入正确认证成功,否则用户密码输入不正确,用户认证失败。
6)用户认证成功后,服务端发送数据加密基础密码因子D到客户端;在客户端,将用户密码E和数据加密基础密码因子D进行数据保护基础密码运算SHA256(用户密码E+基础密码因子D)得到数据保护基础密码J,然后删除内存中的用户密码。
7)当用户备份通讯录时,随机生成一个目标密码因子K;将基础密码J和目标密码因子K进行目标密码运算SHA256(基础密码J+目标密码因子K)得到数据保护目标密码L,使用Aes256加密算法以目标密码L为密钥对通讯录数据M加密Aes256_Encrypt(通讯录数据M,目标密码L),得到通讯录数据密文N,将目标密码因子K、通讯录数据密文N发送到服务端。
8)在服务端,存储目标密码因子K、通讯录数据密文N。
9)恢复通讯录时,客户端从服务端获取目标密码因子K、通讯录数据密文N,将基础密码J和目标密码因子K进行目标密码运算SHA256(基础密码J+目标密码因子K)得到目标密码L,再使用目标密码L对通讯录数据密文N进行解密Aes256_Decrypt(通讯录数据密文N,目标密码L),得到通讯录数据,然后将通讯录数据恢复到本地。
以上所述仅为本发明的较佳实施例而已,因此并不以此来限定本发明之权利范围,凡在本发明的原则和精神之内所作的任何修改、等同替换和改进等,均就包含在本发明的保护范围之内。

Claims (7)

1.一种密码使用方法,其特征在于:先将用户密码与目标密码因子经过目标密码运算得到目标密码,改变目标密码因子同一个用户密码可得到多个不能相互推导的目标密码,再把目标密码用于用户认证、数据加密。
2.根据权利要求1所述的密码使用方法,其特征在于:目标密码因子随机或按规则生成,若生成的密码因子不固定则生成后需要存储使用时从存储区读取,否则可不存储在使用时用相同的方法再重新生成;目标密码因子可以是一个或多个;目标密码运算使用不可从结果计算出输入参数的算法或算法组合;用户名也可作为目标密码运算的参数。
3.根据权利要求1所述的密码使用方法,其特征在于:用于数据加密包括以下步骤:
(1)加密时,生成目标密码因子,将用户密码和目标密码因子经过目标密码运算得到目标密码;
(2)使用目标密码对数据明文加密得到数据密文;
(3)存储数据密文,若生成的目标密码因子不固定也需要存储;
(4)解密时,读取数据密文,读取或生成对应的目标密码因子;
(5)将用户密码和目标密码因子经过目标密码运算得到目标密码;
(6)使用目标密码对数据密文解密得到数据明文。
4.根据权利要求1所述的密码使用方法,其特征在于:用于用户认证包括以下步骤:
(1)设置密码时,生成目标密码因子,将用户密码和目标密码因子经过目标密码运算得到目标密码;
(2)存储目标密码,目标密码可直接存储或经过运算后存储,若生成的目标密码因子不固定也需要存储;
(3)用户登录时,输入用户名、密码后,读取或生成对应的目标密码因子;
(4)将用户密码和目标密码因子经过目标密码运算得到目标密码;
(5)验证生成的目标密码和存储的目标密码是否相同,相同则用户认证成功否则失败。
5.根据权利要求1所述的密码使用方法,其特征在于:添加密码因子进行密码运算的次数可以是1次或多次;在生成目标密码前可添加一次密码运算---基础密码运算,先将用户密码和基础密码因子通过基础密码运算得到基础密码,再将基础密码与目标密码因子经过目标密码运算得到目标密码。
6.根据权利要求1所述的密码使用方法,其特征在于:本方法可单独用于用户认证或数据加密,也可同时用于用户认证和数据加密,同时用于用户认证和数据加密时用于用户认证和数据加密的用户密码可相同也可不同;加密不同的数据可使用不同的目标密码提高安全性;若用户认证和数据加密使用相同的用户密码,数据加密可添加基础密码运算,用于数据加密的基础密码可以在用户登录后计算,解密数据前进行目标密码运算时,用户不用再次输入密码直接使用已经计算的基础密码。
7.根据权利要求1所述的密码使用方法,其特征在于:目标密码可以直接加密用户数据也可以加密密钥, 再使用密钥加密用户数据。
CN201510340437.4A 2015-06-18 2015-06-18 一种密码使用方法 Pending CN106257859A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510340437.4A CN106257859A (zh) 2015-06-18 2015-06-18 一种密码使用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510340437.4A CN106257859A (zh) 2015-06-18 2015-06-18 一种密码使用方法

Publications (1)

Publication Number Publication Date
CN106257859A true CN106257859A (zh) 2016-12-28

Family

ID=57713498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510340437.4A Pending CN106257859A (zh) 2015-06-18 2015-06-18 一种密码使用方法

Country Status (1)

Country Link
CN (1) CN106257859A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106888086A (zh) * 2017-02-13 2017-06-23 上海瀚之友信息技术服务有限公司 一种管理账号密码的系统及方法
CN107864034A (zh) * 2017-02-20 2018-03-30 平安科技(深圳)有限公司 密码管理方法及装置
WO2018157667A1 (zh) * 2017-02-28 2018-09-07 中兴通讯股份有限公司 一种密码生成方法及装置
CN112395629A (zh) * 2020-11-23 2021-02-23 中标软件有限公司 一种基于tcm芯片的文件加密方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006333A (en) * 1996-03-13 1999-12-21 Sun Microsystems, Inc. Password helper using a client-side master password which automatically presents the appropriate server-side password to a particular remote server
CN1905446A (zh) * 2005-07-26 2007-01-31 国际商业机器公司 管理多个验证的基于客户机的方法和系统
JP2011010170A (ja) * 2009-06-29 2011-01-13 Pioneer Electronic Corp 電子機器及びその不正利用防止方法
CN103107989A (zh) * 2012-11-20 2013-05-15 高剑青 基于多哈希值的密码系统
CN104283668A (zh) * 2014-07-24 2015-01-14 山东大学(威海) 基于移动终端获得应用密码的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006333A (en) * 1996-03-13 1999-12-21 Sun Microsystems, Inc. Password helper using a client-side master password which automatically presents the appropriate server-side password to a particular remote server
CN1905446A (zh) * 2005-07-26 2007-01-31 国际商业机器公司 管理多个验证的基于客户机的方法和系统
JP2011010170A (ja) * 2009-06-29 2011-01-13 Pioneer Electronic Corp 電子機器及びその不正利用防止方法
CN103107989A (zh) * 2012-11-20 2013-05-15 高剑青 基于多哈希值的密码系统
CN104283668A (zh) * 2014-07-24 2015-01-14 山东大学(威海) 基于移动终端获得应用密码的方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106888086A (zh) * 2017-02-13 2017-06-23 上海瀚之友信息技术服务有限公司 一种管理账号密码的系统及方法
CN106888086B (zh) * 2017-02-13 2021-09-07 上海瀚之友信息技术服务有限公司 一种管理账号密码的系统及方法
CN107864034A (zh) * 2017-02-20 2018-03-30 平安科技(深圳)有限公司 密码管理方法及装置
WO2018157667A1 (zh) * 2017-02-28 2018-09-07 中兴通讯股份有限公司 一种密码生成方法及装置
CN112395629A (zh) * 2020-11-23 2021-02-23 中标软件有限公司 一种基于tcm芯片的文件加密方法及系统

Similar Documents

Publication Publication Date Title
KR101999188B1 (ko) 비밀 공유를 위한 타원 곡선 암호를 사용하는 개인용 장치 보안
CN108352015B (zh) 用于基于区块链的系统结合钱包管理系统的安全多方防遗失存储和加密密钥转移
CN103179086B (zh) 数据的远程存储处理方法与系统
CN101515319B (zh) 密钥处理方法、密钥密码学服务系统和密钥协商方法
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
CN106301769A (zh) 量子密钥输出方法、存储一致性验证方法、装置及系统
CN109543434B (zh) 区块链信息加密方法、解密方法、存储方法及装置
CN106060078B (zh) 应用于云平台的用户信息加密方法、注册方法及验证方法
CN101815091A (zh) 密码提供设备、密码认证系统和密码认证方法
CN109359464B (zh) 一种基于区块链技术的无线安全认证方法
CN110505055B (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统
CN104184743A (zh) 面向云计算平台的三层认证系统及认证方法
CN103248476B (zh) 数据加密密钥的管理方法、系统及终端
CN107920052B (zh) 一种加密方法及智能装置
CN110138548B (zh) 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统
CN113132099A (zh) 一种基于硬件密码设备的传输文件加解密方法及装置
CN106161444A (zh) 数据安全存储方法及用户设备
CN103812651A (zh) 密码验证方法、装置及系统
CN104767766A (zh) 一种Web Service接口验证方法、Web Service服务器、客户端
CN106257859A (zh) 一种密码使用方法
US10764260B2 (en) Distributed processing of a product on the basis of centrally encrypted stored data
CN109446793B (zh) 一种基于Windows agent的账户改密方法及装置
CN111008400A (zh) 数据处理方法、装置及系统
Hussien et al. Public auditing for secure data storage in cloud through a third party auditor using modern ciphertext
JP2007104118A (ja) 秘密情報の保護方法及び通信装置

Legal Events

Date Code Title Description
C06 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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20161228