CN113839774B - 一种组时间基一次性密码方法及设备 - Google Patents

一种组时间基一次性密码方法及设备 Download PDF

Info

Publication number
CN113839774B
CN113839774B CN202111186553.7A CN202111186553A CN113839774B CN 113839774 B CN113839774 B CN 113839774B CN 202111186553 A CN202111186553 A CN 202111186553A CN 113839774 B CN113839774 B CN 113839774B
Authority
CN
China
Prior art keywords
time
verification
group
password
prover
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
CN202111186553.7A
Other languages
English (en)
Other versions
CN113839774A (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.)
Southwest University
Original Assignee
Southwest University
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 Southwest University filed Critical Southwest University
Priority to CN202111186553.7A priority Critical patent/CN113839774B/zh
Publication of CN113839774A publication Critical patent/CN113839774A/zh
Application granted granted Critical
Publication of CN113839774B publication Critical patent/CN113839774B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/32Cryptographic 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/3226Cryptographic 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
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种组时间基一次性密码方法及设备。该密码方法包括:组成员基于秘密种子获取组成员的验证点信息,记为第一验证点信息;第三方基于E个验证阶段内第一验证点信息和组成员的身份信息构建梅克尔树,将梅克尔证明发送给该组成员;组成员据当前时间、身份信息、当前验证阶段的梅克尔证明生成组时间基一次性密码并发送至验证者;验证者接收组成员发送的组时间基一次性密码和密码生成时间,若推算的梅克尔树根已存入布隆过滤器,则接收的组时间基一次性密码验证通过。扩展时间基一次性密码到组以解决隐私问题,利用梅克尔树和布隆过滤器实现了高效的密码生成和验证方法,在验证设备上实现了恒定的内存成本。

Description

一种组时间基一次性密码方法及设备
技术领域
本发明涉及信息安全技术领域,特别是涉及一种组时间基一次性密码方法及设备。
背景技术
基于时间的一次性密码(Time-Based One-Time Password,简称TOTP)广泛用于许多双因素身份验证系统。它允许证明者设备生成与时间相关的密码,该密码在预定义的持续时间内保持有效。验证者通过使用当前时间和一些其他信息来检查密码的真实性。TOTP是为证明者设备向验证者证明其身份而设计的。因此,它不提供身份隐私保护,即验证者必须事先知道证明者设备的身份,以便检查每个基于时间的一次性密码TOTP的有效性。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种组时间基一次性密码方法及设备。
为了实现本发明的上述目的,根据本发明的第一个方面,本发明提供了一种组时间基一次性密码方法,包括密码生成步骤和密码验证步骤;所述密码生成步骤包括:组建证明组,所述证明组中至少包括一个证明者,证明组的组成员将身份信息发送至第三方;预设E个验证阶段,所述E为正整数;组成员根据身份信息获取每个验证阶段的秘密种子,组成员基于每个验证阶段的秘密种子获取组成员在该验证阶段的验证点信息,将所述验证点信息记为第一验证点信息;第三方基于E个验证阶段内所有第一验证点信息和组成员的身份信息构建梅克尔树,计算梅克尔树根,将梅克尔树根插入布隆过滤器中,获取组成员在每个验证阶段的梅克尔证明;在E个验证阶段运行时,组成员根据当前时间、身份信息、当前验证阶段的梅克尔证明生成组时间基一次性密码;所述密码验证步骤包括:证明者将组时间基一次性密码和密码生成时间发送给验证者;验证者接收证明者发送的组时间基一次性密码,基于所述组时间基一次性密码推算出梅克尔树根,判断推算的梅克尔树根是否已存入布隆过滤器,若推算的梅克尔树根已存入布隆过滤器,则接收的组时间基一次性密码验证通过,若推算的梅克尔树根还未存入布隆过滤器,则接收的组时间基一次性密码验证失败。
为了实现本发明的上述目的,根据本发明的第二个方面,本发明提供了一种组时间基一次性密码系统,包括证明者设备、第三方设备和验证者设备;所述证明者设备作为一个组成员参与组建证明组,所述证明者设备包括证明者存储器、证明者处理器和证明者通信模块;所述证明者存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述证明者处理器执行时使所述证明者处理器和证明者通信模块执行以下步骤:所述证明者处理器预设E个验证阶段,所述E为正整数;所述证明者处理器根据组成员身份信息获取每个验证阶段的秘密种子,基于每个验证阶段的秘密种子获取组成员在该验证阶段的验证点信息,将所述验证点信息记为第一验证点信息;所述证明者通信模块将组成员身份信息、组成员在每个验证阶段的第一验证点信息发送至第三方设备;所述证明者通信模块接收第三方设备发送的组成员在每个验证阶段的梅克尔证明;在E个验证阶段运行时,所述证明者处理器根据当前时间、组成员身份信息以及当前验证阶段的梅克尔证明生成组时间基一次性密码,所述证明者通信模块将所述组时间基一次性密码和密码生成时间发送给验证者设备;所述第三方设备包括第三方存储器、第三方处理器和第三方通信模块;所述第三方存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述第三方处理器执行时使所述第三方处理器和第三方通信模块执行以下步骤:所述第三方通信模块接收所有证明者设备发送的组成员身份信息、以及组成员在每个验证阶段的第一验证点信息;所述第三方处理器基于E个验证阶段内所有第一验证点信息和组成员身份信息构建梅克尔树,计算梅克尔树根,将梅克尔树根插入布隆过滤器中,计算组成员在每个验证阶段的梅克尔证明;所述第三方通信模块将组成员在每个验证阶段的梅克尔证明发送给该组成员对应的证明者设备;所述验证者设备,包括验证者存储器、验证者处理器和验证者通信模块;所述验证者存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述验证者处理器执行时使所述验证者处理器和验证者通信模块执行以下步骤:所述验证者通信模块接收证明者设备发送的组时间基一次性密码和密码生成时间;所述验证者处理器基于所述验证者通信模块接收的组时间基一次性密码推算出梅克尔树根,判断推算的梅克尔树根是否已存入布隆过滤器,若推算的梅克尔树根已存入布隆过滤器,认为接收的组时间基一次性密码验证通过,若推算的梅克尔树根未存入布隆过滤器,认为接收的组时间基一次性密码验证失败。
综上所述,由于采用了上述技术方案,本发明的有益效果是:针对TOTP方案不保护证明者身份隐私问题,本发明提出了一种新的组时间基一次性密码方案(group time-based one-time passwords,简称GTOTP),该方案为证明者身份验证提供了强大的第二要素,扩展时间基一次性密码到组以解决隐私问题,同时利用梅克尔树(简称Merkle树)和布隆过滤器(Bloom Filter,简称BF或者Bloom过滤器)实现了高效的密码生成和验证方法,允许证明者在不泄露身份的情况下证明自己是认证组的成员,将Merkle树和Bloom过滤器相结合,将验证者的状态减少到恒定的大小,在验证设备上实现了恒定的内存成本。GTOTP方案相比TOTP方案能提供更多的安全属性,而不需要许多额外的计算开销。
附图说明
图1是本发明一具体实施方式中组时间基一次性密码方法的执行过程示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
本发明公开了一种组时间基一次性密码方法,包括密码生成步骤和密码验证步骤,密码生成步骤和密码验证步骤执行过程如图1所示。
在一种优选实施方式中,密码生成步骤包括:
步骤101,组建证明组,证明组中至少包括一个证明者,证明组的组成员将身份信息发送至第三方。
在本实施方式中,优选的,证明组的成员可包括验证者,以增加验证结果的可靠性。在实际运行时,第三方代表第三方的设备,组成员代表组成员的设备,组成员为证明者时,组成员代表证明者的设备,验证者代表验证者的设备。上述过程中的设备优选但不限于为手机、平板、PC电脑、服务器。第三方对于证明者来说是可信的,第三方的设备与组成员的设备之间可以建立一个互认证的安全通道,以保护交换消息的机密性和完整性。
在本实施方式中,优选的,设有U个组成员,U为正整数,j为组成员索引,代表第j个组成员,j∈[1,U]。
步骤102,预设E个验证阶段,E为正整数。每个组成员可在每个验证阶段生成多个组时间基一次性密码,每个验证阶段会生成一批组时间基一次性密码。在实际运行中,优选的,一个验证阶段可为一个TOTP实例(即ins tance)。设i为验证阶段索引,代表第i个验证阶段,i∈[1,E]。
步骤103,组成员根据身份信息获取每个验证阶段的秘密种子,组成员基于每个验证阶段的秘密种子获取组成员在该验证阶段的验证点信息,将验证点信息记为第一验证点信息。
在实施方式中,优选的,组成员根据身份信息获取每个验证阶段的秘密种子,具体为采用如下公式获得秘密种子:
Figure GDA0003627827240000061
其中,
Figure GDA0003627827240000062
表示第j个组成员在第i个验证阶段的秘密种子,i为验证阶段索引,i∈[1,E];:=表示赋值符号,表示用等号右边值覆盖等号左边变量;F(,)表示一个伪随机函数;符号||表示连接符;IDj表示第j个组成员的身份信息;
Figure GDA0003627827240000063
表示第j个组成员的密钥,是组成员在伪随机函数族(Pseudo-RandomFunctions,简称PRF)的密钥空间中采样获得的一个随机密钥。实际应用中,秘密种子可通过在第j个组成员的身份信息上应用伪随机函数族(Pseudo-Random Functions,简称PRF)的一个伪随机函数得到。每个组成员均可按照上述公式获得在每个验证阶段的秘密种子。
在本实施方式中,每个组成员基于其在每个验证阶段的秘密种子获取其在该验证阶段的验证点信息,这样每个组成员在每个验证阶段具有一个秘密种子和基于该秘密种子得到的一个验证点信息(即第一验证点信息)。优选的,组成员通过如下公式基于秘密种子获取第一验证点信息:
Figure GDA0003627827240000064
其中,
Figure GDA0003627827240000065
表示第j个组成员在第i个验证阶段的第一验证点信息;TOTP.PInit()表示现有的TOTP协议的初始化函数;
Figure GDA0003627827240000066
表示第j个组成员在第i个验证阶段的秘密种子。
步骤104,第三方基于E个验证阶段内所有第一验证点信息和组成员的身份信息构建梅克尔树(Merkle树),计算梅克尔树根,将梅克尔树根插入布隆过滤器中,获取组成员在每个验证阶段的梅克尔证明,将组成员在每个验证阶段的梅克尔证明发送给该组成员。
在本实施方式中,采用证明组进行密码生成和验证,会加大验证状态的空间开销,尤其是组成员数量增加或使用周期的延长,空间开销成本会变得更大,因此,构建GTOTP方案的主要挑战是降低长期成本和更大的组规模。为此,本申请通过使用Merkle树实现恒定大小的验证状态来解决这个问题。
在本实施方式中,优选的,第三方基于E个验证阶段内所有第一验证点信息(包括所有组成员在每个验证阶段获得的第一验证点信息)和组成员的身份信息构建梅克尔树,具体包括:
S1,生成第三方密钥KRA,利用第三方密钥KRA加密组成员的身份信息获得组成员的身份密文。第三方密钥KRA优选但不限于通过现有的不可预测置换方案生成。进一步优选的,通过如下公式获得组成员的身份密文:
Figure GDA0003627827240000071
其中,
Figure GDA0003627827240000072
表示第j个组成员在第i个验证阶段的身份密文;ASE.Enc(,)表示随机认证对称加密算法ASE的加密函数。
S2,利用验证阶段索引i和组成员的身份密文更新第一验证点信息获得第二验证点信息,更新公式如下:
Figure GDA0003627827240000073
其中,
Figure GDA0003627827240000074
表示第j个组成员在第i个验证阶段的第二验证点信息;H1()表示抗碰撞散列函数;
Figure GDA0003627827240000075
表示第j个组成员在第i个验证阶段的身份密文;
Figure GDA0003627827240000076
表示第j个组成员在第i个验证阶段的第一验证点信息。
S3,为了实现匿名性,随机打乱第二验证点信息的顺序,以便在构建Merkle树之前清除它们之间的关系,这种排列可破坏验证点的索引所隐含的时间顺序。以第二验证点信息作为梅克尔树的叶子节点,即将梅克尔树的叶子节点信息赋值为第二验证点信息,计算每个叶子节点的梅克尔证明,即获得组成员在每个验证阶段的梅克尔证明。一个组成员在每个验证阶段可具有1个秘密种子、1个第一验证点信息、1个梅克尔树证明,以及对应了1个第二验证点信息和1个叶子节点。叶子节点与第二验证点信息一一对应。
在本实施方式中,需要说明书的是,在叶子节点已知的情况下,计算每个叶子节点的梅克尔证明以及计算梅克尔树的树根均为现有技术,在此不再赘述。
在本实施方式中,梅克尔树支持与布隆过滤器相同的功能,即证明组成员验证点信息的真实性。在第二验证点信息上构建Merkle树,Merkle树具有简短的证明,当所有第二验证点信息构建为一棵树时,组验证状态就是树根。为了实现匿名性,首先从组成员中打乱第二验证点信息,以便在构建梅克尔树之前清除它们之间的关系。通过排列叶节点,可以根据来自不同组成员的验证点计算出非叶节点。但是,这种排列破坏了第二验证点信息的索引(包括验证阶段索引i)所隐含的时间顺序。为了克服这个问题,使用抗碰撞散列函数H1()显式地绑定每个验证点与验证阶段之间的索引i。上述操作将由不受攻击者控制的可信第三方RA完成,因此攻击者无法区分不是由它生成的验证点的所有者。
步骤105,在E个验证阶段运行时,组成员根据当前时间、身份信息、当前验证阶段的梅克尔证明生成组时间基一次性密码。
在本实施方式中,优选的,在E个验证阶段运行时,组成员生成组时间基一次性密码的过程包括:
步骤A,根据当前时间获得当前的验证阶段索引,根据验证阶段索引和组成员索引获得组成员在当前验证阶段的秘密种子和梅克尔证明。进一步优选的,可将当前时间作为组时间基一次性密码的生成时间(即密码生成时间)。
优选的,可按照如下公式根据当前时间获得当前的验证阶段索引i:
Figure GDA0003627827240000091
Ts表示E个验证阶段的起始时间,Δe一个验证阶段时长,符号
Figure GDA0003627827240000092
表示向上取整。组成员的设备中可事先存储有每个验证阶段的秘密种子和梅克尔证明。
步骤B,基于当前验证阶段的秘密种子和当前时间利用TOTP协议生成时间基一次性密码。具体的,第j个组成员在第i个验证阶段中第z次生成的时间基一次性密码
Figure GDA0003627827240000093
为:
Figure GDA0003627827240000094
其中,TOTP.PGen()表示TOTP协议中生成时间基一次性密码的函数;
Figure GDA0003627827240000095
表示第j个组成员在第i个验证阶段的秘密种子;z为正整数。
步骤C,将时间基一次性密码与组成员在当前验证阶段的梅克尔证明、身份密文融合,将融合结果作为组时间基一次性密码。优选的,融合方式优选但不限于为拼接。
在本实施方式中,优选的,第j个组成员在第i个验证阶段的第z次生成的组时间基一次性密码为
Figure GDA0003627827240000096
Figure GDA0003627827240000097
Figure GDA0003627827240000098
表示第j个组成员在第i个验证阶段的第二验证点信息
Figure GDA0003627827240000099
对应的叶子节点的梅克尔证明。
在一种优选实施方式中,每个组成员的存储成本和验证器的验证成本在梅克尔树的高度上都是线性的,因此,为进一步降低组成员的存储成本和验证者的验证成本,可降低梅克尔树的高度。在S2中,在随机打乱第二验证点信息的顺序后,将所有第二验证点信息划分为多个子集合,为每个子集合构建一棵梅克尔树,每个子集合中以第二验证点信息作为该子集合的梅克尔树的叶子节点,计算每个叶子节点的梅克尔证明并将梅克尔证明发送给该叶子节点的第二验证点信息对应的组成员,计算每棵梅克尔树的树根,并将所有梅克尔树的树根插入布隆过滤器中。子集合的梅克尔树的高度比原来的要小,一个组成员的梅克尔证明的大小变成了
Figure GDA0003627827240000101
即使在单个TOTP实例的使用时长较长时也是实用的。最后,将所有梅克尔根存储在一个布隆过滤器中。φ为子集合的数量,可初始化散列键随机生成参数φ。
在一种优选实施方式中,密码验证步骤包括:
步骤201,证明者将组时间基一次性密码和密码生成时间发送至验证者,密码生成时间即证明者生成组时间基一次性密码的时间。
步骤202,验证者接收证明者发送的组时间基一次性密码和密码生成时间,基于组时间基一次性密码推算出梅克尔树根,判断推算的梅克尔树根是否已存入布隆过滤器,若推算的梅克尔树根已存入布隆过滤器,则接收的组时间基一次性密码验证通过,若推算的梅克尔树根还未存入布隆过滤器,则接收的组时间基一次性密码验证失败。
在本实施方式中,基于组时间基一次性密码推算出梅克尔树根的具体过程包括:当验证者在接收到第j个组成员的组时间基一次性密码
Figure GDA0003627827240000102
时,基于密码生成时间可以获得生成该密码的验证阶段索引i,根据
Figure GDA0003627827240000103
的融合规则
Figure GDA0003627827240000104
反推得到
Figure GDA0003627827240000105
Figure GDA0003627827240000106
根据
Figure GDA0003627827240000107
的计算公式
Figure GDA0003627827240000108
反推出
Figure GDA0003627827240000109
在这里Tcurrent为密码生成时间,根据
Figure GDA00036278272400001010
利用公式
Figure GDA00036278272400001011
得到
Figure GDA00036278272400001012
再利用
Figure GDA00036278272400001013
Figure GDA00036278272400001014
通过公式
Figure GDA00036278272400001015
计算得到第j个组成员在第i个验证阶段的第二验证点信息
Figure GDA00036278272400001016
即获得了对应的梅克尔树的叶子节点,在知道梅克尔树的叶子节点以及该叶子节点的梅克尔证明的情况下,可以得到该梅克尔树的树根,记为第二树根。在密码生成步骤中,第j个组成员在第i个验证阶段的第二验证点信息
Figure GDA00036278272400001017
已作为一棵梅克尔树的一个叶子节点,并且该梅克尔树的树根(记为第一树根)已存储在布隆滤波器中,因此,若验证者接收到的组时间基一次性密码是正确的,那么验证者会发现第二树根已经存储在了布隆滤波器中,因此,只要第二树根未存储在布隆滤波器中,就可以认为验证者接收的组时间基一次性密码是不正确的,证明者验证不通过。
在本实施方式中,优选的,为了提高判断准确性,验证者在判断出推算的梅克尔树根(即第二树根)已存入布隆过滤器时,还需要利用TOTP协议验证函数对接收的组时间基一次性密码进行验证,当TOTP协议验证函数验证成功时才认为接收的组时间基一次性密码验证通过。设置两个条件,条件一为布隆滤波器已存储了推算的梅克尔树根,条件二为TOTP协议验证函数验证通过,当两个条件均满足时,才认为验证者接收的组时间基一次性密码验证通过。
在本实施方式中,条件一可借助布隆滤波器的验证函数BF.Check(),条件二可借助TOTP协议验证函数TOTP.Verify(,,,),当BF.Check(MTr.Rt)=1且
Figure GDA0003627827240000111
同时成立时,验证者认为接收的组时间基一次性密码验证通过。MTr.Rt为推算的梅克尔树根(即第二树根),T为密码生产时间。
在一种优选实施方式中,在验证者验证接收的组时间基一次性密码通过时,验证者向第三方发送验证通过信息,第三方向验证者发送生成组时间基一次性密码的组成员的身份信息。具体的,可通过公式
Figure GDA0003627827240000112
获得组成员的身份信息。ASE.Dec(,)为ASE加密算法的解密函数。
本发明还公开了一种组时间基一次性密码系统,包括证明者设备、第三方设备和验证者设备;证明者设备作为一个组成员参与组建证明组,证明者设备包括证明者存储器、证明者处理器和证明者通信模块。
证明者存储器用于存储一个或多个程序,一个或多个程序包括指令,指令当被证明者处理器执行时使证明者处理器和证明者通信模块执行以下步骤:证明者处理器预设E个验证阶段,E为正整数;证明者处理器根据组成员身份信息获取每个验证阶段的秘密种子,基于每个验证阶段的秘密种子获取组成员在该验证阶段的验证点信息,将验证点信息记为第一验证点信息。证明者通信模块将组成员身份信息、组成员在每个验证阶段的第一验证点信息发送至第三方设备。证明者通信模块接收第三方设备发送的组成员在每个验证阶段的梅克尔证明。在E个验证阶段运行时,证明者处理器根据当前时间、组成员身份信息以及当前验证阶段的梅克尔证明生成组时间基一次性密码,证明者通信模块将组时间基一次性密码和密码生成时间发送给验证者设备。
在一种优选实施方式中,包括第三方设备第三方存储器、第三方处理器和第三方通信模块。
第三方存储器用于存储一个或多个程序,一个或多个程序包括指令,指令当被第三方处理器执行时使第三方处理器和第三方通信模块执行以下步骤:第三方通信模块接收所有证明者设备发送的组成员身份信息、以及组成员在每个验证阶段的第一验证点信息;第三方处理器基于E个验证阶段内所有第一验证点信息和组成员身份信息构建梅克尔树,计算梅克尔树根,将梅克尔树根插入布隆过滤器中,计算组成员在每个验证阶段的梅克尔证明;第三方通信模块将组成员在每个验证阶段的梅克尔证明发送给该组成员对应的证明者设备。
在本实施方式中,优选的,在验证者验证接收的组时间基一次性密码通过时,验证者向第三方发送验证通过信息,第三方向验证者发送生成组时间基一次性密码的组成员的身份信息。
在一种优选实施方式中,验证者设备包括验证者存储器、验证者处理器和验证者通信模块;验证者存储器用于存储一个或多个程序,一个或多个程序包括指令,指令当被验证者处理器执行时使验证者处理器和验证者通信模块执行以下步骤:验证者通信模块接收证明者设备发送的组时间基一次性密码和密码生成时间;验证者处理器基于验证者通信模块接收的组时间基一次性密码推算出梅克尔树根,判断推算的梅克尔树根是否已存入布隆过滤器,若推算的梅克尔树根已存入布隆过滤器,认为接收的组时间基一次性密码验证通过,若推算的梅克尔树根未存入布隆过滤器,认为接收的组时间基一次性密码验证失败。
在本实施方式中,优选的,为了提高判断准确性,验证者在判断出推算的梅克尔树根已存入布隆过滤器时,还需要利用TOTP协议验证函数对接收的组时间基一次性密码进行验证,当TOTP协议验证函数验证成功时才认为接收的组时间基一次性密码验证通过。
在本实施方式中,优选的,当认为接收的组时间基一次性密码验证通过后,可以向第三方设备发送验证通过信息,并且发送身份信息获取指令,第三方设备解密出证明者身份信息发送给验证者设备。
本申请提供的GTOTP方案,是传统TOTP对组设置的扩展。GTOTP提供组成员身份验证和隐私。设计了一个高效而通用的GTOTP方案,将一个非对称的TOTP方案转换为一个GTOTP方案,在验证器上实现了恒定的内存成本。GTOTP-MT的验证成本主要是关于验证默克尔证明和检查其成员身份的额外操作布隆过滤器(BF)。GTOTP的梅克尔树生成算法是由一个强大的第三方RA完成的,所以它可以运行得非常快。不难看出,GTOTP-MT可以比TOTP方案提供更多的安全属性。但是不需要许多额外的计算开销。而且GTOTP密码生成和验证算法不需要任何昂贵的配对和指数化操作,相比现有的组数字签名方案的效率要高得多。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (8)

1.一种组时间基一次性密码方法,其特征在于,包括密码生成步骤和密码验证步骤;
所述密码生成步骤包括:
组建证明组,证明组中至少包括一个证明者,证明组的组成员将身份信息发送至第三方;
预设E个验证阶段,E为正整数;
组成员根据身份信息获取每个验证阶段的秘密种子,组成员基于每个验证阶段的秘密种子获取组成员在该验证阶段的验证点信息,将所述验证点信息记为第一验证点信息;
第三方基于E个验证阶段内所有第一验证点信息和组成员的身份信息构建梅克尔树,计算梅克尔树根,将梅克尔树根插入布隆过滤器中,获取组成员在每个验证阶段的梅克尔证明;
在E个验证阶段运行时,组成员根据当前时间、身份信息、当前验证阶段的梅克尔证明生成组时间基一次性密码;
所述密码验证步骤包括:
证明者将组时间基一次性密码和密码生成时间发送给验证者;
验证者接收证明者发送的组时间基一次性密码和密码生成时间,基于组时间基一次性密码推算出梅克尔树根,判断推算的梅克尔树根是否已存入布隆过滤器,若推算的梅克尔树根已存入布隆过滤器,则接收的组时间基一次性密码验证通过,若推算的梅克尔树根还未存入布隆过滤器,则接收的组时间基一次性密码验证失败。
2.如权利要求1所述的一种组时间基一次性密码方法,其特征在于,所述组成员根据身份信息获取每个验证阶段的秘密种子,具体为采用如下公式获得秘密种子:
Figure FDA0003627827230000021
其中,
Figure FDA0003627827230000022
表示第j个组成员在第i个验证阶段的秘密种子,i为验证阶段索引,i∈[1,E];符号:=表示赋值符号,表示用等号右边值覆盖等号左边变量;F(,)表示一个伪随机函数;IDj表示第j个组成员的身份信息;
Figure FDA0003627827230000023
表示第j个组成员的密钥;符号||表示连接符。
3.如权利要求1或2所述的一种组时间基一次性密码方法,其特征在于,所述第三方基于E个验证阶段内所有第一验证点信息和组成员的身份信息构建梅克尔树,具体包括:
S1,生成第三方密钥,利用第三方密钥加密组成员的身份信息获得组成员的身份密文;
S2,利用验证阶段索引和组成员的身份密文更新第一验证点信息获得第二验证点信息,更新公式如下:
Figure FDA0003627827230000024
其中,
Figure FDA0003627827230000025
表示第j个组成员在第i个验证阶段的第二验证点信息;H1()表示抗碰撞散列函数;
Figure FDA0003627827230000026
表示第j个组成员在第i个验证阶段的身份密文;
Figure FDA0003627827230000027
表示第j个组成员在第i个验证阶段的第一验证点信息;i为验证阶段索引,i∈[1,E];
S3,随机打乱第二验证点信息的顺序,以第二验证点信息作为梅克尔树的叶子节点,计算每个叶子节点的梅克尔证明,即获得组成员在每个验证阶段的梅克尔证明。
4.如权利要求3所述的一种组时间基一次性密码方法,其特征在于,在所述S2中,在随机打乱第二验证点信息的顺序后,将所有第二验证点信息划分为多个子集合,为每个子集合构建一棵梅克尔树,每个子集合中以第二验证点信息作为该子集合的梅克尔树的叶子节点,计算每个叶子节点的梅克尔证明并将所述梅克尔证明发送给该叶子节点的第二验证点信息对应的组成员,计算每棵梅克尔树的树根,并将所有梅克尔树的树根插入布隆过滤器中。
5.如权利要求1所述的一种组时间基一次性密码方法,其特征在于,在E个验证阶段运行时,组成员生成组时间基一次性密码的过程包括:
步骤A,根据当前时间获得当前的验证阶段索引,根据所述验证阶段索引和组成员索引获得组成员在当前验证阶段的秘密种子和梅克尔证明;
步骤B,基于当前验证阶段的秘密种子和当前时间利用TOTP协议生成时间基一次性密码;
步骤C,将所述时间基一次性密码与组成员在当前验证阶段的梅克尔证明、身份密文融合,将融合结果作为组时间基一次性密码。
6.如权利要求1所述的一种组时间基一次性密码方法,其特征在于,在验证者验证接收的组时间基一次性密码通过时,验证者向第三方发送验证通过信息,第三方向验证者发送生成所述组时间基一次性密码的组成员的身份信息。
7.如权利要求1或2或4或5或6所述的一种组时间基一次性密码方法,其特征在于,验证者在判断出推算的梅克尔树根已存入布隆过滤器时,还需要利用TOTP协议验证函数对接收的组时间基一次性密码进行验证,当TOTP协议验证函数验证成功时才认为接收的组时间基一次性密码验证通过。
8.一种组时间基一次性密码系统,其特征在于,包括证明者设备、第三方设备和验证者设备;
所述证明者设备作为一个组成员参与组建证明组,所述证明者设备包括证明者存储器、证明者处理器和证明者通信模块;
所述证明者存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述证明者处理器执行时使所述证明者处理器和证明者通信模块执行以下步骤:
所述证明者处理器预设E个验证阶段,所述E为正整数;所述证明者处理器根据组成员身份信息获取每个验证阶段的秘密种子,基于每个验证阶段的秘密种子获取组成员在该验证阶段的验证点信息,将所述验证点信息记为第一验证点信息;
所述证明者通信模块将组成员身份信息、组成员在每个验证阶段的第一验证点信息发送至第三方设备;
所述证明者通信模块接收第三方设备发送的组成员在每个验证阶段的梅克尔证明;
在E个验证阶段运行时,所述证明者处理器根据当前时间、组成员身份信息以及当前验证阶段的梅克尔证明生成组时间基一次性密码,所述证明者通信模块将所述组时间基一次性密码和密码生成时间发送给验证者设备;
所述第三方设备包括第三方存储器、第三方处理器和第三方通信模块;
所述第三方存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述第三方处理器执行时使所述第三方处理器和第三方通信模块执行以下步骤:
所述第三方通信模块接收所有证明者设备发送的组成员身份信息、以及组成员在每个验证阶段的第一验证点信息;
所述第三方处理器基于E个验证阶段内所有第一验证点信息和组成员身份信息构建梅克尔树,计算梅克尔树根,将梅克尔树根插入布隆过滤器中,计算组成员在每个验证阶段的梅克尔证明;
所述第三方通信模块将组成员在每个验证阶段的梅克尔证明发送给该组成员对应的证明者设备;
所述验证者设备包括验证者存储器、验证者处理器和验证者通信模块;所述验证者存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述验证者处理器执行时使所述验证者处理器和验证者通信模块执行以下步骤:
所述验证者通信模块接收证明者设备发送的组时间基一次性密码和密码生成时间;
所述验证者处理器基于所述验证者通信模块接收的组时间基一次性密码推算出梅克尔树根,判断推算的梅克尔树根是否已存入布隆过滤器,若推算的梅克尔树根已存入布隆过滤器,认为接收的组时间基一次性密码验证通过,若推算的梅克尔树根未存入布隆过滤器,认为接收的组时间基一次性密码验证失败。
CN202111186553.7A 2021-10-12 2021-10-12 一种组时间基一次性密码方法及设备 Active CN113839774B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111186553.7A CN113839774B (zh) 2021-10-12 2021-10-12 一种组时间基一次性密码方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111186553.7A CN113839774B (zh) 2021-10-12 2021-10-12 一种组时间基一次性密码方法及设备

Publications (2)

Publication Number Publication Date
CN113839774A CN113839774A (zh) 2021-12-24
CN113839774B true CN113839774B (zh) 2022-07-01

Family

ID=78968722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111186553.7A Active CN113839774B (zh) 2021-10-12 2021-10-12 一种组时间基一次性密码方法及设备

Country Status (1)

Country Link
CN (1) CN113839774B (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111311115B (zh) * 2020-03-12 2021-04-23 电子科技大学 一种基于空间众包社交影响偏好的组任务分配方法
CN112968779B (zh) * 2021-02-04 2021-12-28 西安电子科技大学 一种安全认证与授权控制方法、控制系统、程序存储介质

Also Published As

Publication number Publication date
CN113839774A (zh) 2021-12-24

Similar Documents

Publication Publication Date Title
US8130961B2 (en) Method and system for client-server mutual authentication using event-based OTP
CN101828357B (zh) 用于证书提供的方法和装置
RU2307391C2 (ru) Способы дистанционного изменения пароля связи
Uymatiao et al. Time-based OTP authentication via secure tunnel (TOAST): A mobile TOTP scheme using TLS seed exchange and encrypted offline keystore
CN111614621B (zh) 物联网通信方法和系统
CN110971411B (zh) 一种基于sotp技术对私钥乘加密的sm2同态签名方法
Zhang et al. Efficient and privacy-preserving blockchain-based multifactor device authentication protocol for cross-domain IIoT
KR20150092719A (ko) 증명서 생성 디바이스 및 방법
JP6167990B2 (ja) 署名検証システム、検証装置、及び署名検証方法
Jeon et al. An enhanced secure authentication scheme with anonymity for wireless environments
Ying et al. Efficient authentication protocol for secure vehicular communications
WO2022135391A1 (zh) 身份鉴别方法、装置、存储介质、程序、及程序产品
Hussain et al. An improved authentication scheme for digital rights management system
Akhmatovich et al. Improvement of a security enhanced one-time mutual authentication and key agreement scheme
Kim et al. Secure and efficient anonymous authentication scheme in global mobility networks
CN113839774B (zh) 一种组时间基一次性密码方法及设备
US11303444B2 (en) Method for synchronized signature with additive RSA key splitting using early floating exponent negotiation
Chang et al. On making U2F protocol leakage-resilient via re-keying
NL1043779B1 (en) Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge
EP3185504A1 (en) Security management system for securing a communication between a remote server and an electronic device
TWI778828B (zh) 基於區塊鏈的物聯網雙向認證方法
CN115549910B (zh) 一种数据传输方法、设备以及存储介质
CN114342315B (zh) 网络中多个实体之间的对称密钥生成、认证和通信
Hussain et al. Research Article An Improved Authentication Scheme for Digital Rights Management System
Kang et al. Cryptanalysis and Improvement of User Authentication Scheme Based on Rabin Cryptosystem

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