CN111092721B - 一种设置访问口令的方法及装置 - Google Patents
一种设置访问口令的方法及装置 Download PDFInfo
- Publication number
- CN111092721B CN111092721B CN201911221964.8A CN201911221964A CN111092721B CN 111092721 B CN111092721 B CN 111092721B CN 201911221964 A CN201911221964 A CN 201911221964A CN 111092721 B CN111092721 B CN 111092721B
- Authority
- CN
- China
- Prior art keywords
- secret parameter
- password
- random number
- user
- sub
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
Abstract
本发明涉及金融科技(Fintech)领域的区块链技术,公开了一种设置访问口令的方法及装置,密钥管理端接收用户输入的访问口令设置命令;命令包括对应于用户根秘密参数的第一设置口令和对应于用户子秘密参数的第二设置口令;密钥管理端根据第一设置口令、第一随机数和根秘密参数生成混淆根秘密参数;密钥管理端根据混淆根秘密参数、第二设置口令和子秘密参数生成第二随机数;密钥管理端存储第一随机数、第二随机数和混淆根秘密参数。通过为根秘密参数和子秘密参数设置不同口令,当用户遭遇胁迫攻击时,可以选择向攻击者透露子秘密参数对应的第二设置口令,故避免向其透露根秘密参数对应的第一设置口令,使得用户透露的口令具有公开可抵赖性。
Description
技术领域
本发明涉及金融科技(Fintech)领域,尤其是区块链技术,涉及一种设置访问口令的方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术(例如:区块链、云计算或大数据)应用在金融领域,传统金融业正在逐步向金融科技转变,大数据技术也不例外。但由于金融、支付行业的安全性、实时性要求,也对大数据技术提出了更高的要求。
对于软硬件区块链数字钱包或浏览器密钥管理系统等,其密钥管理系统通常会保存每个密钥的明文或密文,然后会要求秘密拥有者设置一个用户口令,来解锁并使用密钥管理系统中存储的密钥。
上述技术存在的问题表现如下:当秘密拥有者遭遇胁迫攻击时,所设置的单一用户口令并不具备公开可抵赖性。攻击者可以根据公开的系统设计原理,确定秘密拥有者一定拥有一个用户口令,并通过各种威胁手段迫使秘密拥有者透露用户口令,攻击者根据用户口令可以获取密钥管理系统中存储的全部密钥明文。
综上,现有的密钥管理系统关于用户口令的设计,在遭遇胁迫攻击时不得不提供用户口令,从而使得密钥管理系统被攻破,用户也无法进行口令抵赖,即现有的机制并不具备公开可抵赖性。
发明内容
本发明提供一种设置访问口令的方法及装置,用以解决单一的用户口令在遭遇胁迫攻击不具备公开可抵赖性的问题。
第一方面,本发明实施例提供一种设置访问口令的方法,该方法包括:密钥管理端接收用户输入的访问口令设置命令;所述访问口令设置命令中包括对应于用户的根秘密参数的第一设置口令和对应于用户的子秘密参数的第二设置口令;所述密钥管理端根据所述第一设置口令、第一随机数和所述根秘密参数生成混淆根秘密参数;所述密钥管理端根据所述混淆根秘密参数、所述第二设置口令和所述子秘密参数生成第二随机数;所述密钥管理端存储所述第一随机数、所述第二随机数和所述混淆根秘密参数;所述第一随机数、所述第二随机数和所述混淆根秘密参数用于所述密钥管理端确定用户的访问口令是否能获取所述用户的根秘密参数或所述用户的子秘密参数。
基于该方案,通过为根秘密参数和子秘密参数设置不同的口令,当用户遭遇胁迫攻击时,可以选择向攻击者透露子秘密参数对应的第二设置口令,从而避免了向攻击者透露根秘密参数对应的第一设置口令,使得用户本次所透露的设置口令具有公开可抵赖性。该方案中,攻击者会获取到子秘密参数,但只是部分泄密,不会存在类似于根秘钥的全部泄密。同时,该方案中由于设置了多套口令,也实现了口令的公开可抵赖性。
作为一种可能实现的方法,所述第二设置口令为多个,每个第二设置口令对应所述用户的不同的子秘密参数。
基于该方案,通过为不同的子秘密参数设置对应于自身的第二设置口令,因而在遭遇胁迫攻击时,用户可以根据当时所处的境遇,灵活地选择向攻击者透露任一子秘密参数对应的第二设置口令。
作为一种可能实现的方法,所述密钥管理端生成至少一个所述用户的混淆随机数并存储。
基于该方案,密钥管理端将生成的至少一个混淆随机数进行存储,有利于在遭遇胁迫攻击时,用户将第一随机数抵赖为一个混淆随机数,不易引起攻击者的注意,降低了对自身的危害。
作为一种可能实现的方法,所述密钥管理端随机确定所述第一随机数、所述第二随机数及所述混淆随机数的排列顺序,并将所述排列顺序显示给所述用户。
基于该方案,密钥管理端通过将第一随机数、第二随机数和混淆随机数这三者随机存储后的顺序显示给用户,这样即使在攻击者对该方案的实现有一定的了解,也无法推算出根秘密参数对应的随机数,同时,也有利于在遭遇胁迫攻击时,提升用户的安全性;而用户也可以在第一时间将正确的第二随机数透露给攻击者,避免了多次尝试消耗攻击者的耐心而增加攻击者对用户的伤害几率。
作为一种可能实现的方法,所述根秘密参数和所述子秘密参数通过如下方式生成:生成所述根秘密参数;将所述根秘密参数切分成两部分,得到第一分值和第二分值;针对每个子秘密参数,对所述第一分值、所述第二分值、所述子秘密参数的用途进行哈希计算,得到所述子秘密参数,所述子秘密参数的长度与所述根秘密参数的长度相同。
基于该方案,所述子秘密参数是根据根秘密参数计算而来,因此,更好地实现了分层可控的密钥管理。
作为一种可能实现的方法,所述密钥管理端接收访问口令;所述访问口令用于指示获取所述用户的根秘密参数;所述密钥管理端根据所述访问口令确定访问子口令和所述访问口令对应的第三随机数;所述密钥管理端根据所述访问子口令、所述第三随机数和所述用户的混淆根秘密参数,确定所述访问口令是否能获取所述用户的根秘密参数或所述用户的子秘密参数。
基于该方案,密钥管理端对于接收到的访问口令作出判断,确定所述访问口令能否获取根秘密参数或子秘密参数。
作为一种可能实现的方法,所述访问口令中包括随机数的排列顺序;所述密钥管理端根据所述访问口令确定所述访问口令对应的第三随机数,包括:所述密钥管理端根据所述随机数的排列顺序获取所述第三随机数。
基于该方案,由于访问口令中除了包括所述第一设置口令或任一第二设置口令,还包括随机数的排列顺序,因此可以通过随机数的排列顺序获取第三随机数。
作为一种可能实现的方法,所述访问口令包括所述第一设置口令和指示所述第一随机数的排列顺序,或,所述访问口令包括所述第二设置口令和指示所述第二随机数的排列顺序。
基于该方案,根据包括了第一设置口令和指示第一随机数排列顺序的访问口令可以获取用户的根秘密参数,根据包括了第二设置口令和指示第二随机数排列顺序的访问口令可以获取用户的子秘密参数。
第二方面,本发明实施例提供一种设置访问口令的装置,该装置包括:接收单元,用于接收用户输入的访问口令设置命令;所述访问口令设置命令中包括对应于用户的根秘密参数的第一设置口令和对应于用户的子秘密参数的第二设置口令;生成单元,用于根据所述第一设置口令、第一随机数和所述根秘密参数生成混淆根秘密参数;所述生成单元,还用于根据所述混淆根秘密参数、所述第二设置口令和所述子秘密参数生成第二随机数;存储单元,用于存储所述第一随机数、所述第二随机数和所述混淆根秘密参数;所述第一随机数、所述第二随机数和所述混淆根秘密参数用于所述密钥管理端确定用户的访问口令是否能获取所述用户的根秘密参数或所述用户的子秘密参数。
基于该方案,通过为根秘密参数和子秘密参数设置不同的口令,当用户遭遇胁迫攻击时,可以选择向攻击者透露子秘密参数对应的第二设置口令,从而避免了向攻击者透露根秘密参数对应的第一设置口令,使得用户本次所透露的设置口令具有公开可抵赖性。该方案中,攻击者会获取到子秘密参数,但只是部分泄密,不会存在类似于根秘钥的全部泄密。同时,该方案中由于设置了多套口令,也实现了口令的公开可抵赖性。
作为一种可能实现的方法,所述第二设置口令为多个,每个第二设置口令对应所述用户的不同的子秘密参数。
基于该方案,通过为不同的子秘密参数设置对应于自身的第二设置口令,因而在遭遇胁迫攻击时,用户可以根据当时所处的境遇,灵活地选择向攻击者透露任一子秘密参数对应的第二设置口令。
作为一种可能实现的方法,所述生成单元还用于生成至少一个所述用户的混淆随机数并存储。
基于该方案,密钥管理端将生成的至少一个混淆随机数进行存储,有利于在遭遇胁迫攻击时,用户将第一随机数抵赖为一个混淆随机数,不易引起攻击者的注意,降低了对自身的危害。
作为一种可能实现的方法,所述生成单元还用于随机确定所述第一随机数、所述第二随机数及所述混淆随机数的排列顺序,并将所述排列顺序显示给所述用户。
基于该方案,密钥管理端通过将第一随机数、第二随机数和混淆随机数这三者随机存储后的顺序显示给用户,这样即使在攻击者对该方案的实现有一定的了解,也无法推算出根秘密参数对应的随机数,同时,也有利于在遭遇胁迫攻击时,提升用户的安全性;而用户也可以在第一时间将正确的第二随机数透露给攻击者,避免了多次尝试消耗攻击者的耐心而增加攻击者对用户的伤害几率。
作为一种可能实现的方法,所述生成单元还用于生成所述根秘密参数;将所述根秘密参数切分成两部分,得到第一分值和第二分值;针对每个子秘密参数,对所述第一分值、所述第二分值、所述子秘密参数的用途进行哈希计算,得到所述子秘密参数,所述子秘密参数的长度与所述根秘密参数的长度相同。
基于该方案,所述子秘密参数是根据根秘密参数计算而来,因此,更好地实现了分层可控的密钥管理。
作为一种可能实现的方法,所述接收单元还用于接收访问口令;所述访问口令用于指示获取所述用户的根秘密参数;所述密钥管理端根据所述访问口令确定访问子口令和所述访问口令对应的第三随机数;所述密钥管理端根据所述访问子口令、所述第三随机数和所述用户的混淆根秘密参数,确定所述访问口令是否能获取所述用户的根秘密参数或所述用户的子秘密参数。
基于该方案,密钥管理端对于接收到的访问口令作出判断,确定所述访问口令能否获取根秘密参数或子秘密参数。
作为一种可能实现的方法,所述访问口令中包括随机数的排列顺序;所述接收单元具体用于根据所述随机数的排列顺序获取所述第三随机数。
基于该方案,由于访问口令中除了包括所述第一设置口令或任一第二设置口令,还包括随机数的排列顺序,因此可以通过随机数的排列顺序获取第三随机数。
作为一种可能实现的方法,所述访问口令包括所述第一设置口令和指示所述第一随机数的排列顺序,或,所述访问口令包括所述第二设置口令和指示所述第二随机数的排列顺序。
基于该方案,根据包括了第一设置口令和指示第一随机数排列顺序的访问口令可以获取用户的根秘密参数,根据包括了第二设置口令和指示第二随机数排列顺序的访问口令可以获取用户的子秘密参数。
第三方面,本发明实施例提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如第一方面任一所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面任一所述的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种设置访问口令的方法;
图2为本发明提供的一种设置访问口令的装置。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种设置访问口令的方法,该方法包括:
步骤101,密钥管理端接收用户输入的访问口令设置命令;所述访问口令设置命令中包括对应于用户的根秘密参数的第一设置口令和对应于用户的子秘密参数的第二设置口令。
步骤102,所述密钥管理端根据所述第一设置口令、第一随机数和所述根秘密参数生成混淆根秘密参数。
步骤103,所述密钥管理端根据所述混淆根秘密参数、所述第二设置口令和所述子秘密参数生成第二随机数。
步骤104,所述密钥管理端存储所述第一随机数、所述第二随机数和所述混淆根秘密参数;所述第一随机数、所述第二随机数和所述混淆根秘密参数用于所述密钥管理端确定用户的访问口令是否能获取所述用户的根秘密参数或所述用户的子秘密参数。
基于该方案,通过为根秘密参数和子秘密参数设置不同的口令,当用户遭遇胁迫攻击时,可以选择向攻击者透露子秘密参数对应的第二设置口令,从而避免了向攻击者透露根秘密参数对应的第一设置口令,使得用户本次所透露的设置口令具有公开可抵赖性。该方案中,攻击者会获取到子秘密参数,但只是部分泄密,不会存在类似于根秘钥的全部泄密。同时,该方案中由于设置了多套口令,也实现了口令的公开可抵赖性。
在上述步骤101中,密钥管理端接收用户输入的访问口令设置命令;所述访问口令设置命令中包括对应于用户的根秘密参数的第一设置口令和对应用户的子秘密参数的第二设置口令。
密钥,现代密码学系统中的一类秘密参数,只有秘密拥有者才知道参数的明文内容,可用在数据加密算法中实现数据的机密性、数字签名算法中签名的独有性。一旦该参数泄露给有敌意的攻击者,则对应的密码学安全特性则无法保证,可能造成严重的经济损失和其他后果,如攻击者可以随意获知加密金融数据中的敏感交易记录,伪造公司的数字签名签订不平等合约。
随着区块链技术的普及,由密钥控制的资产权益金额日益增长,若秘密拥有者因被胁迫而透露密钥,后果十分严重。同时出于隐私保护的目的,区块链应用通常会产生大量的密钥,因此作为区块链账户管理的必要功能,需要有效的密码管理系统来妥善保存这些密钥,并通过精心设计应对各类风险。
在上述步骤101中,密钥管理端被设计为可以兼容两种性质的访问口令:
第一种访问口令对应于用户的根秘密参数,也即,日后当密钥管理端接收到对根秘密参数的访问口令时,密钥管理端可以获取用户的根秘密参数,从而可以依据公开的系统设计原理,获取用户全部的密钥明文。第一种口令对应于第一设置口令,简称真实口令。
第二种访问口令对应于用户的子秘密参数,也即,日后当密钥管理端接收到对子秘密参数的访问口令时,密钥管理端可以获取用户的子秘密参数,即使依据公开的系统设计原理,也只能获取用户部分的密钥明文。第二种口令对应于第二设置口令,简称诱捕口令。
如密钥管理端接收用户输入的第一设置口令,设为“real”,以及第二设置口令,设为“fake”;也即,密钥管理端接收用户输入的真实口令pwd_real为“real”,诱捕口令pwd_honeypot为“fake”。其中,第一设置口令“real”对应于用户的根秘密参数,第二设置口令“fake”对应于用户的子秘密参数。
在上述步骤102中,所述密钥管理端根据所述第一设置口令、第一随机数和所述根秘密参数生成混淆根秘密参数。
在上述步骤103中,所述密钥管理端根据所述混淆根秘密参数、所述第二设置口令和所述子秘密参数生成第二随机数。
作为一种可能实现的方法,所述根秘密参数和所述子秘密参数通过如下方式生成:生成所述根秘密参数;将所述根秘密参数切分成两部分,得到第一分值和第二分值;针对每个子秘密参数,对所述第一分值、所述第二分值、所述子秘密参数的用途进行哈希计算,得到所述子秘密参数,所述子秘密参数的长度与所述根秘密参数的长度相同。
具体地,密钥管理端可以采用密码学安全的随机数生成器,随机生成一个强随机数作为根秘密参数S_root。根秘密参数S_root的位数可以多达256位、512位,甚至更多位数。在此为了描述的方便,将根秘密参数S_root的取值假定为一个8比特长的数值串11010011。
通过将根秘密参数S_root分成前后等长的两部分,得到第一分值1101,记作M_parent;以及得到第二分值0011,记作K_parent。
对于根秘密参数S_root下一层各种用途(usage)的子秘密参数的计算,可以采用哈希函数:S_child_usage=Hash(M_parent||K_parent||usage)。其中通过选取合适的Hash函数,截取前n位输出,确保子秘密参数S_child_usage的数据长度与S_root相同。由于本发明实施例中S_root为一个8比特长的数值串,因此n取8。如对于用途为“bank”的子秘密参数的计算过程如下:01111000=Hash(“1101”||”0011”||”bank”)=Hash(“11010011bank”),也即S_child_usage为一个8比特长的数值串01111000。
需要说明的是,通过选取不同用途字符串usage值,可以生成多个不同的同级S_child_usage。举个例子,与用途为“bank”同级的用途还可以为“restaurant”、“supermarket”等,参考用途为“bank”的子秘密参数的生成过程,可以得到用途为“restaurant”的子秘密参数、用途为“supermarket”的子秘密参数。
基于根秘密参数以及各个子秘密参数,将生成的子秘密参数S_child_usage或者再下级的子秘密参数S_child_usage可以作为诱捕分支秘密参数S_honeypot,用于被胁迫时透露,控制风险。
通过以下方式生成混淆根秘密参数:
密钥管理端可以使用KDF(Key Derivation Function,密钥派生函数),将真实口令“real”扩展成一个与根秘密参数S_root等长的强化密钥:pwd_real_extendend=KDF(pwd_real),如10001111=KDF(“real”),即真实口令的强化密钥pwd_real_extendend为一个8比特长的数值串10001111。
密钥管理端采用密码学安全的随机数生成器,随机生成一个新的与根秘密参数S_root等长的真实基数随机数值串nonce_real,如可以令真实基数随机数值串nonce_real为一个8比特长的数值串11101001,此处的真实基数随机数值串为第一随机数。
密钥管理端计算混淆根秘密参数S_root_obfuscated=S_root⊕pwd_real_extended⊕nonce_real,10110101=11010011⊕10001111⊕11101001,即混淆根秘密参数S_root_obfuscated为一个8比特长的数值串10110101。
通过以下方式生成第二随机数:
对于任意的子秘密参数,可以将其视作为诱捕分支秘密参数S_honeypot。如可以选择将用途为“bank”的子秘密参数S_child_usage作为一个诱捕分子秘密参数S_honeypot,也即可以设定诱捕分支秘密参数S_honeypot为一个8比特长的数值串10001010。
密钥管理端可以使用KDF(Key Derivation Function,密钥派生函数),将诱捕口令“fake”扩展成一个与诱捕分支秘密参数S_honeypot等长的强化密钥:pwd_honeypot_extendend=KDF(pwd_honeypot),如00101001=KDF(“fake”),即诱捕口令的强化密钥pwd_honeypot_extendend为一个8比特长的数值串00101001。
密钥管理端计算诱捕基数随机数值串nonce_honeypot=S_root_obfuscated⊕pwd_honeypot_extended⊕S_honeypot,00010110=10110101⊕00101001⊕10001010,即诱捕基数随机数值串为一个8比特长的数值串00010110,也即生成的第二随机数为8比特长的数值串00010110。
在上述步骤104中,所述密钥管理端存储所述第一随机数、所述第二随机数和所述混淆根秘密参数;所述第一随机数、所述第二随机数和所述混淆根秘密参数用于所述密钥管理端确定用户的访问口令是否能获取所述用户的根秘密参数或所述用户的子秘密参数。
密钥管理端会对第一随机数11101001、第二随机数00010110以及混淆根秘密参数10110101进行存储。
作为一种可能实现的方法,所述第二设置口令为多个,每个第二设置口令对应所述用户的不同的子秘密参数。
如可以为前述用途为“bank”的子秘密参数设置一个第二设置口令A,可以为用途为“restaurant”的子秘密参数设置一个第二设置口令B,可以为用途为“supermarket”的子秘密参数设置一个第二设置口令C;其中,A、B、C的具体内容可以一致,也可以不一致。如可以将前述用途为“bank”的子秘密参数的第二设置口令、用途为“restaurant”的子秘密参数的第二设置口令、用途为“supermarket”的子秘密参数的第二设置口令均记为“fake”;也可以是将前述用途为“bank”的子秘密参数的第二设置口令记为“fake_bank”、用途为“restaurant”的子秘密参数的第二设置口令记为“fake_restaurant”、用途为“supermarket”的子秘密参数的第二设置口令记为“fake_supermarket”,对此,本发明不做限定。
作为一种可能实现的方法,所述密钥管理端生成至少一个所述用户的混淆随机数并存储。
如密钥管理端可以采用密码学安全的随机数生成器,随机生成一个或多个与S_root等长的混淆随机数nonce_dummy,如可以生成一个8比特长的数值串11100001,也即混淆随机数nonce_dummy为一个8比特长的数值串11100001。
作为一种可能实现的方法,所述密钥管理端随机确定所述第一随机数、所述第二随机数及所述混淆随机数的排列顺序,并将所述排列顺序显示给所述用户。
如密钥管理端可以将前述的第一随机数11101001存在列表的第一位,将第二随机数00010110存在列表的第二位,将混淆随机数11100001存在列表的第三位,并在密钥管理端的显示界面告知用户第一随机数、第二随机数、以及混淆随机数的排列顺序,提示用户记下第一随机数的排列顺序为列表的第一位,记下第二随机数的排列顺序为列表的第二位。当然,密钥管理端还可以采用其他的排列顺序来存储第一随机数、第二随机数和混淆随机数,如密钥管理端可以将前述的第二随机数00010110存在列表的第一位,将混淆随机数11100001存在列表的第二位,将第一随机数11101001存在列表的第三位,并在密钥管理端的显示界面告知用户第一随机数、第二随机数、以及混淆随机数的排列顺序,提示用户记下第一随机数的排列顺序为列表的第三位,记下第二随机数的排列顺序为列表的第一位。对此,本发明不做限定。
作为一种可能实现的方法,所述密钥管理端接收访问口令;所述访问口令用于指示获取所述用户的根秘密参数;所述密钥管理端根据所述访问口令确定访问子口令和所述访问口令对应的第三随机数;所述密钥管理端根据所述访问子口令、所述第三随机数和所述用户的混淆根秘密参数,确定所述访问口令是否能获取所述用户的根秘密参数或所述用户的子秘密参数。
此处指出的访问口令用于获取根秘密参数分为两种情况,一种是用户因自身的需求想获取根秘密参数,如在完成一笔交易时需要进行签名,而签名的秘钥需要根据密钥管理系统来获取,即需要能够访问到密钥管理端或者说访问到根秘密参数。在这种情况下,用户输入的访问口令中是用户的第一设置口令。另一种情况是用户在受到胁迫时,提供的访问口令,此处的访问口令对于胁迫者而言是为了获取根秘密参数,实际上并不一定能获取到。正如本方案中,用户可以提供在访问口令中提供一个第二设置口令;因而,胁迫者最终获得的实际上只是子秘密参数。
上述访问口令的实现方式有多种,其中一种可实现的形式可以是用户在访问密钥管理端时,设置两层登录界面,第一层是让用户输入设置口令,第二层是让用户输入随机数,如显示多个随机数让用户选择,在完成两层输入时认为完成了访问口令的输入。另外,由于随机数的位数一般较长,所以也可以将随机数对应于标识号,其中,标识号也可以是各随机数之间的排列顺序。还有一种可实现的形式是用户在访问密钥管理端时设置一层登录界面,而用户输入的访问口令包含了访问子口令(如设置口令)和随机数的标识号(如排列顺序);根据访问口令的设置,密钥管理端可以对应提取出访问子口令和对应的随机数,从而完成后续操作。如下为一个具体例子:
设密钥管理端接收到一个获取用户根秘密参数的访问口令,如访问口令为“real1”,则密钥管理端根据对访问口令“real1”的解析,确定其访问子口令为“real”以及对应的第三随机数的排列顺序1;密钥管理端根据访问子口令“real”、第三随机数和用户的混淆根秘密参数10110101,确定该访问口令能否获取根秘密参数或者子秘密参数。
作为一种可能实现的方法,所述访问口令中包括随机数的排列顺序;所述密钥管理端根据所述访问口令确定所述访问口令对应的第三随机数,包括:所述密钥管理端根据所述随机数的排列顺序获取所述第三随机数。
密钥管理系统可以提前预设访问口令的预设位数的数字为随机数的排列顺序:如对访问口令“real1”,其末位的数字“1”表示随机数的存储位置为列表的第一位;如对访问口令“fake2”,其末位的数字“2”表示随机数的存储位置为列表的第二位。
对于前述的第一随机数11101001存在列表的第一位,将第二随机数00010110存在列表的第二位,将混淆随机数11100001存在列表的第三位的这样一种存储列表,密钥管理端可以根据数字“1”,在存储列表中的第一位获取11101001,可以看出,此时的第三随机数即为第一随机数11101001;密钥管理福安可以根据数字“2”,在存储列表中的第二为获取00010110,可以看出,此时的第三随机数即为第二随机数00010110。
作为一种可能实现的方法,所述访问口令包括所述第一设置口令和指示所述第一随机数的排列顺序,或,所述访问口令包括所述第二设置口令和指示所述第二随机数的排列顺序。
当用户正常恢复根秘密参数S_root时,所述访问口令包括所述第一设置口令“real”和指示第一随机数的排列顺序“1”。具体地,可以通过以下的方式恢复根秘密参数S_root:
密钥管理端读取混淆根秘密参数S_root_obfuscated,值为10110101;
根据访问口令中的第一设置口令real,密钥管理端计算pwd_real_extendend=KDF(pwd_real),如10001111=KDF(“real”),可以得到第一设置口令“real”的强化密钥值为10001111;
密钥管理端从存储列表中的第一位读取第一随机数11101001;
密钥管理端计算根秘密参数S_root:S_root=S_root_obfuscated⊕pwd_real_extended⊕nonce_real,将对应的值代入,得到11010011=10110101⊕10001111⊕11101001,也即得到根秘密参数S_root,其值为11010011。
当用户遭遇胁迫攻击时,可以给攻击者恢复任一个子秘密参数,此时的子秘密参数即为诱捕分支秘密参数S_honeypot。所述访问口令包括所述第二设置口令“fake”和指示第二随机数的排列顺序“2”。具体地,可以通过以下的方式恢复诱捕分支秘密参数S_honeypot:
密钥管理端读取混淆根秘密参数S_root_obfuscated,值为10110101;
根据访问口令中的第二设置口令fake,密钥管理端计算pwd_honeypot_extendend=KDF(pwd_honeypot),如00101001=KDF(“fake”),可以得到第二设置口令“fake”的强化密钥值为00101001;
密钥管理端从存储列表中的第二位读取第二随机数00010110;
密钥管理端计算子秘密参数S_honeypot:S_honeypot=S_root_obfuscated⊕pwd_honeypot_extended⊕nonce_honeypot,将对应的值代入,得到10001010=10110101⊕00101001⊕00010110,也即得到子秘密参数S_honeypot,其值为10001010。
基于同样的构思,本发明实施例还提供一种设置访问口令的装置,如图2所示,所述装置包括:
接收单元201,用于接收用户输入的访问口令设置命令;所述访问口令设置命令中包括对应于用户的根秘密参数的第一设置口令和对应于用户的子秘密参数的第二设置口令。
生成单元202,用于根据所述第一设置口令、第一随机数和所述根秘密参数生成混淆根秘密参数。
所述生成单元202,还用于根据所述混淆根秘密参数、所述第二设置口令和所述子秘密参数生成第二随机数。
存储单元203,用于存储所述第一随机数、所述第二随机数和所述混淆根秘密参数;所述第一随机数、所述第二随机数和所述混淆根秘密参数用于所述密钥管理端确定用户的访问口令是否能获取所述用户的根秘密参数或所述用户的子秘密参数。
进一步地,对于所述装置,所述第二设置口令为多个,每个第二设置口令对应所述用户的不同的子秘密参数。
进一步地,对于所述装置,所述生成单元202还用于生成至少一个所述用户的混淆随机数并存储。
进一步地,对于所述装置,所述生成单元202还用于随机确定所述第一随机数、所述第二随机数及所述混淆随机数的排列顺序,并将所述排列顺序显示给所述用户。
进一步地,对于所述装置,所述生成单元202还用于生成所述根秘密参数;将所述根秘密参数切分成两部分,得到第一分值和第二分值;针对每个子秘密参数,对所述第一分值、所述第二分值、所述子秘密参数的用途进行哈希计算,得到所述子秘密参数,所述子秘密参数的长度与所述根秘密参数的长度相同。
进一步地,对于所述装置,所述接收单元201还用于接收访问口令;所述访问口令用于指示获取所述用户的根秘密参数;所述密钥管理端根据所述访问口令确定访问子口令和所述访问口令对应的第三随机数;所述密钥管理端根据所述访问子口令、所述第三随机数和所述用户的混淆根秘密参数,确定所述访问口令是否能获取所述用户的根秘密参数或所述用户的子秘密参数。
进一步地,对于所述装置,所述访问口令中包括随机数的排列顺序;所述接收单元具体用于根据所述随机数的排列顺序获取所述第三随机数。
进一步地,对于所述装置,所述访问口令包括所述第一设置口令和指示所述第一随机数的排列顺序,或,所述访问口令包括所述第二设置口令和指示所述第二随机数的排列顺序。
本发明实施例提供了一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。该计算设备可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器,可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本发明实施例中,存储器可以用于设置访问口令的方法的程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行设置访问口令的方法。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行设置访问口令的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种设置访问口令的方法,其特征在于,包括:
密钥管理端接收用户输入的访问口令设置命令;所述访问口令设置命令中包括对应于用户的根秘密参数的第一设置口令和对应于用户的子秘密参数的第二设置口令;
所述密钥管理端根据所述第一设置口令、第一随机数和所述根秘密参数生成混淆根秘密参数;
所述密钥管理端根据所述混淆根秘密参数、所述第二设置口令和所述子秘密参数生成第二随机数;
所述密钥管理端存储所述第一随机数、所述第二随机数和所述混淆根秘密参数;所述第一随机数、所述第二随机数和所述混淆根秘密参数用于所述密钥管理端确定用户的访问口令是否能获取所述用户的根秘密参数或所述用户的子秘密参数。
2.如权利要求1所述的方法,其特征在于,包括:
所述第二设置口令为多个,每个第二设置口令对应所述用户的不同的子秘密参数。
3.如权利要求2所述的方法,其特征在于,还包括:
所述密钥管理端生成至少一个所述用户的混淆随机数并存储。
4.如权利要求3所述的方法,其特征在于,还包括:
所述密钥管理端随机确定所述第一随机数、所述第二随机数及所述混淆随机数的排列顺序,并将所述排列顺序显示给所述用户。
5.如权利要求1-4任一项所述的方法,其特征在于,所述根秘密参数和所述子秘密参数通过如下方式生成:
生成所述根秘密参数;
将所述根秘密参数切分成两部分,得到第一分值和第二分值;
针对每个子秘密参数,对所述第一分值、所述第二分值、所述子秘密参数的用途进行哈希计算,得到所述子秘密参数,所述子秘密参数的长度与所述根秘密参数的长度相同。
6.如权利要求1-4任一项所述的方法,其特征在于,包括:
所述密钥管理端接收访问口令;所述访问口令用于指示获取所述用户的根秘密参数;
所述密钥管理端根据所述访问口令确定访问子口令和所述访问口令对应的第三随机数;
所述密钥管理端根据所述访问子口令、所述第三随机数和所述用户的混淆根秘密参数,确定所述访问口令是否能获取所述用户的根秘密参数或所述用户的子秘密参数。
7.如权利要求6所述的方法,其特征在于,包括:
所述访问口令中包括随机数的排列顺序;
所述密钥管理端根据所述访问口令确定所述访问口令对应的第三随机数,包括:
所述密钥管理端根据所述随机数的排列顺序获取所述第三随机数。
8.如权利要求6所述的方法,其特征在于,包括:
所述访问口令包括所述第一设置口令和指示所述第一随机数的排列顺序,或,
所述访问口令包括所述第二设置口令和指示所述第二随机数的排列顺序。
9.一种设置访问口令的装置,其特征在于,包括:
接收单元,用于接收用户输入的访问口令设置命令;所述访问口令设置命令中包括对应于用户的根秘密参数的第一设置口令和对应于用户的子秘密参数的第二设置口令;
生成单元,用于根据所述第一设置口令、第一随机数和所述根秘密参数生成混淆根秘密参数;
所述生成单元,还用于根据所述混淆根秘密参数、所述第二设置口令和所述子秘密参数生成第二随机数;
存储单元,用于存储所述第一随机数、所述第二随机数和所述混淆根秘密参数;所述第一随机数、所述第二随机数和所述混淆根秘密参数用于密钥管理端确定用户的访问口令是否能获取所述用户的根秘密参数或所述用户的子秘密参数。
10.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至8任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911221964.8A CN111092721B (zh) | 2019-12-03 | 2019-12-03 | 一种设置访问口令的方法及装置 |
PCT/CN2020/127876 WO2021109810A1 (zh) | 2019-12-03 | 2020-11-10 | 一种设置访问口令的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911221964.8A CN111092721B (zh) | 2019-12-03 | 2019-12-03 | 一种设置访问口令的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111092721A CN111092721A (zh) | 2020-05-01 |
CN111092721B true CN111092721B (zh) | 2023-03-03 |
Family
ID=70393996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911221964.8A Active CN111092721B (zh) | 2019-12-03 | 2019-12-03 | 一种设置访问口令的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111092721B (zh) |
WO (1) | WO2021109810A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111092721B (zh) * | 2019-12-03 | 2023-03-03 | 深圳前海微众银行股份有限公司 | 一种设置访问口令的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109714176A (zh) * | 2019-03-13 | 2019-05-03 | 苏州科达科技股份有限公司 | 口令认证方法、装置及存储介质 |
CN110517389A (zh) * | 2019-08-30 | 2019-11-29 | 联永智能科技(上海)有限公司 | 设备密码的生成、验证方法、装置、设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170350B (zh) * | 2011-04-11 | 2014-03-26 | 桂林电子科技大学 | 具有误导功能的多重不确定加密系统 |
US9843574B1 (en) * | 2013-03-12 | 2017-12-12 | EMC IP Holding Company LLC | Methods and apparatus for generating chaff passwords for use in a password-hardening system |
JP6961324B2 (ja) * | 2015-08-25 | 2021-11-05 | 株式会社日立製作所 | 検索可能暗号処理システム |
CN105227583B (zh) * | 2015-11-05 | 2019-08-02 | 上海斐讯数据通信技术有限公司 | 一种密钥加密方法及系统、电子设备 |
US10057065B2 (en) * | 2016-04-28 | 2018-08-21 | Arnold G. Reinhold | System and method for securely storing and utilizing password validation data |
CN111092721B (zh) * | 2019-12-03 | 2023-03-03 | 深圳前海微众银行股份有限公司 | 一种设置访问口令的方法及装置 |
-
2019
- 2019-12-03 CN CN201911221964.8A patent/CN111092721B/zh active Active
-
2020
- 2020-11-10 WO PCT/CN2020/127876 patent/WO2021109810A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109714176A (zh) * | 2019-03-13 | 2019-05-03 | 苏州科达科技股份有限公司 | 口令认证方法、装置及存储介质 |
CN110517389A (zh) * | 2019-08-30 | 2019-11-29 | 联永智能科技(上海)有限公司 | 设备密码的生成、验证方法、装置、设备和存储介质 |
Non-Patent Citations (3)
Title |
---|
Honeywords:Making Password-Cracking Detectable;Ari Juels etal.;《Processing of the 2013 ACM SIGSAC》;20130502;全文 * |
基于门限秘密共享的密码保护研究;王熔;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20190115;第4章 * |
标准模型下网关口令认证密钥交换协议的通用框架;魏福山等;《计算机学报》;20120915(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021109810A1 (zh) | 2021-06-10 |
CN111092721A (zh) | 2020-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11669637B2 (en) | Decentralized token table generation | |
US11206256B2 (en) | Table-connected tokenization | |
EP2751949B1 (en) | Multiple table tokenization | |
US20140177825A1 (en) | Asymmetric Tokenization | |
Rezaeighaleh et al. | New secure approach to backup cryptocurrency wallets | |
EP3134994B1 (en) | Method of obfuscating data | |
US20220303114A9 (en) | Format-preserving encryption method based on stream cipher | |
US10068106B2 (en) | Tokenization column replacement | |
CN111512590B (zh) | 用于密码认证的同态加密 | |
CN109831306B (zh) | 基于多个密钥池的抗量子计算环签名方法和系统 | |
CN111092721B (zh) | 一种设置访问口令的方法及装置 | |
CN115801271A (zh) | 一种动态口令的实现方法、设备及存储介质 | |
CN114170014A (zh) | 区块链交易的处理方法、装置、计算机设备和存储介质 | |
US20190334707A1 (en) | Transmission/reception system, transmission device, reception device, method, and computer program | |
CN117217756A (zh) | 一种数据加密和解密方法、装置、设备及存储介质 | |
CN115459926A (zh) | 一种密钥报文的处理方法及装置、存储介质及电子设备 | |
Pagar et al. | Password Security Mechanisms: Comparitive Study. |
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 |