CN114640440B - 一种分布式门限签名的方法和装置 - Google Patents

一种分布式门限签名的方法和装置 Download PDF

Info

Publication number
CN114640440B
CN114640440B CN202011487854.9A CN202011487854A CN114640440B CN 114640440 B CN114640440 B CN 114640440B CN 202011487854 A CN202011487854 A CN 202011487854A CN 114640440 B CN114640440 B CN 114640440B
Authority
CN
China
Prior art keywords
user equipment
authentication
authentication information
signature
signature component
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
CN202011487854.9A
Other languages
English (en)
Other versions
CN114640440A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011487854.9A priority Critical patent/CN114640440B/zh
Publication of CN114640440A publication Critical patent/CN114640440A/zh
Application granted granted Critical
Publication of CN114640440B publication Critical patent/CN114640440B/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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • 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/3247Cryptographic 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 involving digital signatures
    • H04L9/3255Cryptographic 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 involving digital signatures using group based signatures, e.g. ring or threshold signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请公开了一种分布式门限签名的方法和装置,该方法包括:用户设备接收用户输入的口令;用户设备根据口令生成第一密钥份;用户设备根据第一密钥份生成消息的第一签名分量;用户设备分别向第一设备和第二设备发送第一签名分量,以便于第一设备根据第二密钥份和第一签名分量生成消息的第二签名分量,以便于第二设备根据第三密钥份、第一签名分量和第二签名分量生成消息的第四签名分量;用户设备接收第一设备发送的第三签名分量,第三签名分量是第一设备根据第四签名分量生成的;用户设备根据第三签名分量生成消息的完整签名。本申请提供的分布式门限签名的方法,使得用户设备无需保管密钥信息,从而取得生成数字签名的便携性。

Description

一种分布式门限签名的方法和装置
技术领域
本申请涉及通信领域,并且更具体地,涉及一种分布式门限签名的方法和装置。
背景技术
椭圆曲线数字签名算法(elliptic curve digital signature algorithm,ECDSA)是目前主流的签名方案之一,其安全性依赖于椭圆曲线离散对数问题的困难性。相较于RSA(Rivest,Shamir,Adleman)加密算法,椭圆曲线密码体系可以使用更短的密钥达到更高的安全性。基于椭圆曲线的普通数字签名采用的是签名方独立完成签名的方式,这样不能够保证用于签名的私钥的安全性。门限密码(threshold cryptography)是解决上述问题的一种方法:将私钥拆分成n(n≥2)份,形成n个密钥份,分散保管到本地和服务器。当需要使用私钥做签名/解密时,t方(2≤t≤n)合作可完成相应的操作,而无需在任何一点重组私钥。门限密钥机制的优点是只要敌手没有攻破t个点,就无法还原得到私钥。学术界目前已经对两方门限ECDSA和多方门限ECDSA方案做出了许多研究,比先前设计的方案有更高的效率或安全性。
然而,当前基于椭圆曲线的分布式数字签名中,各方将密钥份存储于本地,当需要签名时,各方分别使用本地存储的密钥份联合生成消息m的签名。由于属于用户设备的密钥份需要存储于用户本地或服务器,用户设备在使用时无法取得生成数字签名的便携性。因此在分布式门限签名中,如何使得用户设备获得生成数字签名的便携性(portability),是亟待解决的问题。
发明内容
本申请提供一种分布式门限签名的方法和装置,使得用户设备无需保管密钥信息,从而取得生成数字签名的便携性。
第一方面,提供了一种分布式门限签名的方法,该方法包括:用户设备接收用户输入的口令;该用户设备根据该口令生成第一密钥份(sk0);该用户设备根据该第一密钥份生成消息m的第一签名分量(R0,c0);该用户设备向第一设备发送该第一签名分量,以便于该第一设备根据第二密钥份(sk1)和该第一签名分量生成该消息m的第二签名分量(R1,c1);该用户设备向第二设备发送该第一签名分量,以便于该第二设备根据第三密钥份(sk2)、该第一签名分量和该第二签名分量生成该消息m的第四签名分量(R,c);该用户设备接收第一设备发送的第三签名分量(R,c*),该第三签名分量是该第一设备根据该第四签名分量(R,c)生成的;该用户设备根据该第三签名分量生成该消息m的完整签名(R,s)。
因此,在本申请实施例的技术方案中,用户设备根据用户输入的口令生成的第一密钥份,并与存储第二密钥份的第一设备和存储第三密钥份的第二设备分别通信,生成消息m的完整签名,使得用户设备在不存储密钥份的情况下,生成消息m的完整签名,从而能够取得生成数字签名的便携性。
应理解,当生成消息m的完整签名后,用户设备可以将带有完整签名的消息m发送给任何需要的设备,而接收到该消息的设备,可以利用已经获取的用户设备的公钥来验证接收到的签名的合法性,关于验证的过程可以参考现有技术,在此不再详述。
应理解,在用户设备将带有完整签名的消息m发送给需要接收的设备之前,用户设备和接收消息的设备已经完成了密钥协商,即接收消息的设备已经获得了用户设备的公钥,关于两设备密钥协商的过程也可以参考现有技术。
应理解,用户设备的公钥是根据用户设备的第一私钥确定的,该第一私钥可以用于生成消息m的完整签名,该公钥可以验证签名的合法性,该第一私钥可以由第一密钥份、第二密钥份和第三密钥份组成。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该用户设备根据该口令分别生成第一认证信息(π1)和第二认证信息(π2);该用户设备根据该第一认证信息生成第一消息认证码(τ1),该第一消息认证码用于该第一设备认证该用户设备的身份;该用户设备根据该第二认证信息生成第二消息认证码(τ2),该第二消息认证码用于该第二设备认证该用户设备的身份;该用户设备向该第一设备发送该第一消息认证码(τ1);该用户设备向该第二设备发送该第二消息认证码(τ2)。
在本申请实施例的技术方案中,在分布式门限签名之前,完成了验证用户设备的身份,从而提高了生成数字签名的安全性。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该用户设备建立同态加密机制和同态解密机制;该用户设备向该第一设备发送该同态加密机制,该同态加密机制用于该第一设备生成该第二签名分量或该第三签名分量;该用户设备向该第二设备发送该同态加密机制,该同态加密机制用于该第二设备生成该第四签名分量;其中,该用户设备根据该第三签名分量(R,c*)生成该消息m的完整签名(R,s),包括:该用户设备根据该同态解密机制对该第三签名分量(R,c*)中的c*进行解密,得到s*;该用户设备根据该s*计算该完整签名(R,s)中的s。
在本申请实施例的技术方案中,通过引入同态加密机制,保护了签名过程中的各个密钥份的私密性,提高了分布式门限签名的安全性。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该用户设备确定用于签名的第一私钥(sk);该用户设备接收用户输入的该口令;该用户设备根据口令生成该第一密钥份(sk0);该用户设备根据该第一私钥(sk)和该第一密钥份(sk0)确定第二密钥份(sk1)和第三密钥份(sk2);该用户设备向第一设备发送该第二密钥份(sk1),以便于该第一设备存储该第二密钥份;该用户设备向第二设备发送该第三密钥份(sk2),以便于该第二设备存储该第三密钥份。
因此,本申请实施例的技术方案中,属于用户设备的第一密钥份是根据用户输入的口令生成的,使得用户设备可以根据用户口令实时生成第一密钥份,从而使得用户设备无需存储密钥份,取得生成数字签名的便携性。
结合第一方面,在第一方面的某些实现方式中,该用户设备根据该第一私钥和该第一密钥份确定第二密钥份和第三密钥份,包括:该用户设备确定该第二密钥份(sk1)为随机数;该用户设备根据该第一私钥、该第一密钥份和该第二密钥份生成该第三密钥份。
在本申请实施例的技术方案中,组成第一私钥的其中一个密钥份是随机数,任单一服务器无法暴力破解密码,从而使得数字签名具有更高的安全性。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:该用户设备根据该口令分别生成第一认证信息(π1)和第二认证信息(π2),该第一认证信息用于该第一设备认证该用户设备的身份,该第二认证信息用于该第二设备认证该用户设备的身份;该用户设备向该第一设备发送该第一认证信息(π1),以便于该第一设备存储该第一认证信息;该用户设备向该第二设备发送该第二认证信息(π2),以便于该第二设备存储该第二认证信息。
在本申请实施例的技术方案中,用户设备与第一设备完成第一认证信息的生成,并将第一认证信息存储于第一设备,用户设备与第二设备完成第二认证信息的生成,并将第二认证信息存储于第二设备,从而使得在联合签名之前,第一设备可以使用本地保存的第一认证信息与用户设备完成身份认证,第二设备可以使用本地保存的第二认证信息与用户设备完成身份认证。
结合第一方面,在第一方面的某些实现方式中,该用户设备根据该口令分别生成第一认证信息(π1)和第二认证信息(π2),包括:该用户设备根据该口令生成第一认证参数(U),该第一认证参数(U)用于该第一设备根据该第一认证参数生成第二认证参数(U1),该第一认证参数(U)还用于该第二设备根据该第一认证参数生成第三认证参数(U2);该用户设备分别向该第一设备和该第二设备发送该第一认证参数(U);该用户设备接收该第一设备发送的第二认证参数(U1),接收该第二设备发送的第三认证参数(U2);该用户设备根据该第二认证参数(U1)生成第一身份认证信息(π1),根据该第三认证参数(U2)生成第二身份认证信息(π2)。
在本申请实施例的技术方案中,用于身份认证的第一认证信息和第二认证信息是根据用户输入的口令生成的,保证了第一认证信息和第二认证信息的私密性。
结合第一方面,在第一方面的某些实现方式中,该用户设备根据该口令分别生成第一认证信息(π1)和第二认证信息(π2),包括:该用户设备根据口令认证密钥交换(PAKE)协议分别生成第一认证信息(π1)和第二认证信息(π2)。
第二方面,提供了一种身份认证的方法,该方法包括:用户设备接收用户输入的口令;该用户设备根据该口令分别生成第一认证信息(π1)和第二认证信息(π2);该用户设备根据该第一认证信息生成第一消息认证码(τ1),该第一消息认证码用于第一设备认证该用户设备的身份;该用户设备根据该第二认证信息生成第二消息认证码(τ2),该第二消息认证码用于第二设备认证该用户设备的身份;该用户设备向该第一设备发送该第一消息认证码(τ1);该用户设备向该第二设备发送该第二消息认证码(τ2)。
因此,在本申请实施例的技术方案中,用户设备通过用户输入的口令与第一设备和第二设备分别完成用户设备的身份认证,使得用户设备在不存储密钥份和认证信息的情况下,完成身份认证,从而取得身份认证的便携性。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:该用户设备根据该口令分别生成第一认证信息(π1)和第二认证信息(π2),该第一认证信息用于该第一设备认证该用户设备的身份,该第二认证信息用于该第二设备认证该用户设备的身份;该用户设备向该第一设备发送该第一认证信息(π1),以便于该第一设备存储该第一认证信息;该用户设备向该第二设备发送该第二认证信息(π2),以便于该第二设备存储该第二认证信息。
结合第二方面,在第二方面的某些实现方式中,该用户设备根据该口令分别生成第一认证信息(π1)和第二认证信息(π2),包括:该用户设备根据该口令生成第一认证参数(U),该第一认证参数(U)用于该第一设备根据该第一认证参数生成第二认证参数(U1),该第一认证参数(U)还用于该第二设备根据该第一认证参数生成第三认证参数(U2);该用户设备分别向该第一设备和该第二设备发送该第一认证参数(U);该用户设备接收该第一设备发送的第二认证参数(U1),接收该第二设备发送的第三认证参数(U2);该用户设备根据该第二认证参数(U1)生成第一身份认证信息(π1),根据该第三认证参数(U2)生成第二身份认证信息(π2)。
第三方面,提供了一种分布式门限签名的装置,该装置包括:第一接收模块,用于接收用户输入的口令;处理模块,用于根据该口令生成第一密钥份(sk0),并根据该第一密钥份生成消息m的第一签名分量(R0,c0);第一发送模块,用于向第一设备发送该第一签名分量,以便于该第一设备根据第二密钥份(sk1)和该第一签名分量生成该消息m的第二签名分量(R1,c1);第二发送模块,用于向第二设备发送该第一签名分量,以便于该第二设备根据第三密钥份(sk2)、该第一签名分量和该第二签名分量生成该消息m的第四签名分量(R,c);第二接收模块,用于接收第一设备发送的第三签名分量(R,c*),该第三签名分量是该第一设备根据该第四签名分量(R,c)生成的;该处理模块还用于:根据该第三签名分量生成该消息m的完整签名(R,s)。
结合第三方面,在第三方面的某些实现方式中,该处理模块还用于:根据该口令分别生成第一认证信息(π1)和第二认证信息(π2);根据该第一认证信息生成第一消息认证码(τ1),该第一消息认证码用于该第一设备认证该用户设备的身份;根据该第二认证信息生成第二消息认证码(τ2),该第二消息认证码用于该第二设备认证该用户设备的身份;该第一发送模块还用于:向该第一设备发送该第一消息认证码(τ1);该第二发送模块还用于:向该第二设备发送该第二消息认证码(τ2)。
结合第三方面,在第三方面的某些实现方式中,该处理模块还用于:建立同态加密机制和同态解密机制;该第一发送模块还用于:向该第一设备发送该同态加密机制,该同态加密机制用于该第一设备生成该第二签名分量或该第三签名分量;该第二发送模块还用于:向该第二设备发送该同态加密机制,该同态加密机制用于该第二设备生成该第四签名分量;其中,该处理模块具体用于:根据该同态解密机制对该第三签名分量(R,c*)中的c*进行解密,得到s*,根据该s*计算该完整签名(R,s)中的s。
结合第三方面,在第三方面的某些实现方式中,该处理模块还用于:确定用于签名的第一私钥(sk),根据口令生成该第一密钥份(sk0),根据该第一私钥(sk)和该第一密钥份(sk0)确定第二密钥份(sk1)和第三密钥份(sk2);该第一发送模块还用于:向第一设备发送该第二密钥份(sk1),以便于该第一设备存储该第二密钥份;该第二发送模块还用于:向第二设备发送该第三密钥份(sk2),以便于该第二设备存储该第三密钥份。
结合第三方面,在第三方面的某些实现方式中,该处理模块具体用于:确定该第二密钥份(sk1)为随机数;根据该第一私钥、该第一密钥份和该第二密钥份生成该第三密钥份。
结合第三方面,在第三方面的某些实现方式中,该处理模块还用于:根据该口令分别生成第一认证信息(π1)和第二认证信息(π2),该第一认证信息用于该第一设备认证该用户设备的身份,该第二认证信息用于该第二设备认证该用户设备的身份;该第一发送模块还用于:向该第一设备发送该第一认证信息(π1),以便于该第一设备存储该第一认证信息;该第二发送模块还用于:向该第二设备发送该第二认证信息(π2),以便于该第二设备存储该第二认证信息。
结合第三方面,在第三方面的某些实现方式中,该处理模块具体用于:根据该口令生成第一认证参数(U),该第一认证参数(U)用于该第一设备根据该第一认证参数生成第二认证参数(U1),该第一认证参数(U)还用于该第二设备根据该第一认证参数生成第三认证参数(U2);该第一发送模块还用于:向该第一设备发送该第一认证参数(U);该第二发送模块还用于:向该第二设备发送该第一认证参数(U);该第二接收模块还用于:接收该第一设备发送的第二认证参数(U1);该装置还包括:第三接收模块,用于接收该第二设备发送的第三认证参数(U2);该处理模块具体还用于:根据该第二认证参数(U1)生成第一身份认证信息(π1),根据该第三认证参数(U2)生成第二身份认证信息(π2)。
结合第三方面,在第三方面的某些实现方式中,该处理模块具体用于:根据口令认证密钥交换(PAKE)协议分别生成第一认证信息(π1)和第二认证信息(π2)。
第四方面,提供了一种身份认证的装置,该装置包括:第一接收模块,用于接收用户输入的口令;处理模块,用于根据该口令分别生成第一认证信息(π1)和第二认证信息(π2);该处理模块还用于:根据该第一认证信息生成第一消息认证码(τ1),该第一消息认证码用于第一设备认证该用户设备的身份;该处理模块还用于:根据该第二认证信息生成第二消息认证码(τ2),该第二消息认证码用于第二设备认证该用户设备的身份;第一发送模块,用于向该第一设备发送该第一消息认证码(τ1);第二发送模块,用于向该第二设备发送该第二消息认证码(τ2)。
结合第四方面,在第四方面的某些实现方式中,该处理模块还用于:根据该口令分别生成第一认证信息(π1)和第二认证信息(π2),该第一认证信息用于该第一设备认证该用户设备的身份,该第二认证信息用于该第二设备认证该用户设备的身份;该第一发送模块还用于:向该第一设备发送该第一认证信息(π1),以便于该第一设备存储该第一认证信息;该第二发送模块还用于:向该第二设备发送该第二认证信息(π2),以便于该第二设备存储该第二认证信息。
结合第四方面,在第四方面的某些实现方式中,该处理模块具体用于:根据该口令生成第一认证参数(U),该第一认证参数(U)用于该第一设备根据该第一认证参数生成第二认证参数(U1),该第一认证参数(U)还用于该第二设备根据该第一认证参数生成第三认证参数(U2);该第一发送模块还用于:向该第一设备发送该第一认证参数(U);该第二发送模块还用于:向该第二设备发送该第一认证参数(U);该装置还包括:第二接收模块,用于接收该第一设备发送的第二认证参数(U1);该装置还包括:第三接收模块,用于接收该第二设备发送的第三认证参数(U2);该处理模块具体还用于:根据该第二认证参数(U1)生成第一身份认证信息(π1),根据该第三认证参数(U2)生成第二身份认证信息(π2)。
第五方面,提供了一种分布式门限签名的设备,包括,处理器和存储器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该设备执行第一方面至第二方面中的任一方面及其各种实现方式中的方法。
结合第五方面,在第五方面的某些实现方式中,该处理器为一个或多个,该存储器为一个或多个。
结合第五方面,在第五方面的某些实现方式中,该存储器可以与该处理器集成在一起,或者该存储器与处理器分离设置。
第六方面,提供了一种通信系统,包括上述第五方面提供的通信设备。
在一种可能的设计中,该通信系统还可以包括本申请实施例提供的方案中与通信设备进行交互的其他设备。
第七方面,提供了一种通信系统,其特征在于,包括:包括用户设备、第一设备和第二设备,其中,该用户设备用于指示上述第一方面至第二方面中的任一方面及其各种实现方式中的方法。
在一种可能的设计中,该通信系统还可以包括本申请实施例提供的方案中与通信设备进行交互的其他设备。
第八方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行上述第一方面至第二方面中的任一方面及其各种实现方式中的方法。
第九方面,提供了一种计算机可读介质,所述计算机可读介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面至第二方面中的任一方面及其各种实现方式中的方法。
第十方面,提供了一种芯片系统,包括存储器和处理器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得安装有该芯片系统的通信设备执行上述第一方面至第二方面中的任一方面及其各种实现方式中的方法。
其中,该芯片系统可以包括用于发送信息或数据的输入电路或者接口,以及用于接收信息或数据的输出电路或者接口。
附图说明
图1是本申请实施例的一种应用场景的示意图。
图2是本申请实施例提供的分布式门限签名的方法的示意性流程图。
图3是本申请实施例提供的分布式门限签名的方法的另一示意性流程图。
图4是本申请实施例提供的分布式门限签名的方法的再一示意性流程图。
图5是本申请实施例提供的分布式门限签名的方法的再一示意性流程图。
图6是本申请实施例提供的分布式门限签名的方法的再一示意性流程图。
图7是本申请实施例提供的分布式门限签名的装置中用户设备的示意性框图。
图8是本申请实施例提供的分布式门限签名的装置中用户设备的另一示意性框图。
图9是本申请实施例提供的分布式门限签名的装置中第一设备的示意性框图。
图10是本申请实施例提供的分布式门限签名的装置中第一设备的另一示意性框图。
图11是本申请实施例提供的分布式门限签名的装置中第二设备的示意性框图。
图12是本申请实施例提供的分布式门限签名的装置中第二设备的另一示意性框图。
图13是本申请实施例提供的分布式门限签名的装置中第二设备的再一示意性框图。
具体实施方式
为了便于理解本申请的技术方案,首先介绍一下基于椭圆曲线的数字签名算法(elliptic curve digital signature algorithm,ECDSA)的工作原理。
G是一个阶为素数q的椭圆曲线群,P是G的生成元。生成消息m的签名的步骤主要包括:
(1)生成随机数k∈Zq *,计算R=(rx,ry)=[k]P;
(2)计算r=rx(mod q);
(3)计算s=k-1·[h(m)+r·x](mod q);
(4)获得签名σ=(R,s)。
其中,x为消息m的发送方的私钥,且随机数x∈Zq *,其公钥为Y=[x]P,Zq *是一个由所有小于(q-1)的正整数组成的集合,即Zq *={1,2,3,…,(q-1)},mod是求余运算,h(.)是哈希函数,[.]是椭圆曲线的点乘运算。
在签名之前,消息的发送者A和接受者B首先会进行密钥协商,使B获得公钥Y。当B收到带有签名σ=(R,s)的消息后,B使用公钥Y验证该消息m的合法性,即该消息是否来自真实的A,而不是其他伪装成A的发送者。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的分布式门限签名的方法可以应用于密钥管理系统,也可以用于加密钱包、区块链等技术中。应理解,本申请对此不作任何限定。
图1是本申请实施例的一种应用场景的示意图。如图1所示,该系统可以包括用户设备、服务器1(第一设备的一例)和服务器2(第二设备的一例)。用户设备用于发送消息,可以与服务器1和服务器2进行安全通信,从而生成针对要发送的消息的签名。
本申请的用户设备(user equipment,UE),也可称之为移动终端(mobileterminal)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。本申请的用户设备,还可以是客户端,也可以是用户使用的发送消息的电子设备,此处不作具体的限定。
服务器1和服务器2可以为具有处理功能的设备,例如可以包括当前技术已知的任何计算设备,如台式计算机等等。服务器1和服务器2中可以包括存储器和处理器。存储器可以用于存储程序代码,例如,操作系统以及其他应用程序。处理器可以用于调用存储器存储的程序代码,以实现相应功能。服务器中包括的处理器和存储器可以通过芯片实现,此处不作具体的限定。
应理解,图1仅以系统包括两个服务器为例进行说明,但本申请实施例并不限于两个服务器,例如,系统还可以包括3个及以上的服务器,也就是说,服务器1可以是一个服务器,也可以是多个服务器。因此,以本申请的方法为基础,将其扩展至用户设备与三个以上的服务器进行通信,也属于本申请的保护范围。为了描述方便,下述实施例将用户设备与两个服务器之间的通信为例进行说明。
图2是本申请实施例提供的分布式门限签名的方法的示意性流程图。图2的方法可以由图1中的系统执行,如图2所示的方法可以用于实现系统的联合签名。
S210,用户设备接收用户输入的口令(pw)。
用户设备可以向用户提供输入界面,在该输入界面用户可以输入口令,从而使得用户设备可以接收用户输入的口令,该口令可以是一串数字,也可以是数字、字母、符号组成的一串字符。本申请实施例中不作限制。
作为一种可能的实现方式,该输入界面可以是某个应用程序的登录界面,也可以是某个网站上的登录界面,在本申请实施例中不作限制。
本申请实施例对输入的口令的形式不作限制。例如,可以通过触摸屏、键盘、光标器等设备,接收用户通过这些设备输入的字符类的口令。再例如,可以通过麦克风接收用户输入的语音口令(可选地,此时可以额外或者利用该语音口令对用户进行语音认证,在通过语音认证后才使得用户输入的语音口令有效),并将用户输入的语音口令转换为适合于后续密钥处理的内部字符串pw;该转换可以是语音识别或者语音特征处理等方式。
S220,用户设备根据口令生成第一密钥份(sk0),其中,第一密钥份组成用于签名的第一私钥的一部分。
例如,用户设备可以通过哈希函数h生成第一密钥份(sk0):
sk0=h(pw)。
其中,h(.)表示hash算法,又称哈希函数(hash function)、散列函数或杂凑函数(cryptographic hash function),应理解,使用用户口令生成第一密钥份时还可以运用其他算法,例如单向函数,本实施例仅以哈希函数h(.)为例进行说明,本申请并不限于哈希函数。
S230,用户设备根据第一密钥份生成消息m的第一签名分量(R0,c0)。
用户设备可以根据合适的加密机制,生成签名分量,本申请对用户设备生成签名分量的具体加密机制不作限制。例如,用户设备可以先建立同态加密机制HE(.)和与该同态加密机制对应的同态解密机制HD(.),同态加密机制可以用于用户设备生成第一签名分量,以保证通信过程中第一密钥份的安全性。
用户设备生成随机数k0∈Zq *,然后根据该同态加密机制、第一密钥份和随机数k0生成第一签名分量(R0,c0),其中,第一签名分量(R0,c0)中的R0是根据随机数k0生成的,第一签名分量中的c0是根据同态加密机制HE(.)和第一密钥份(sk0)生成的,具体地:
R0=[k0]P;
c0=HE(sk0)。
可选地,该同态加密机制可以是临时加法同态加密机制,例如Paillier加密系统,或该同态加密机制还可以是基于格的加密体系,如Regev加密算法。加法同态加密的明文空间长度需大于等于max(4.log|q|+4,l),其中l为安全系数。关于同态加密机制的具体算法,本申请不作限定。
通过引入同态加密机制,可以保护了签名过程中的各个密钥份的私密性,进一步提高了分布式门限签名的安全性。
应理解,本申请实施例只是以同态加密机制和同态解密机制为例进行说明,但是不申请不限于同态加/解密机制。
S240,用户设备向第一设备发送第一签名分量(R0,c0),以便于第一设备根据第二密钥份(sk1)和第一签名分量生成消息m的第二签名分量(R1,c1)。另一方面,第一设备接收该第一签名分量。
作为一个实施例,如果采用同态加密机制,则用户设备向第一设备发送第一签名分量时,还可以向第一设备发送同态加密机制HE(.)和消息m,第一设备可以根据该同态加密机制生成该消息m的第二签名分量和第三签名分量。
可选地,用户设备可以通过已经与第一设备建立的安全通道发送第一签名分量。也可以通过其他安全通道,本申请实施例不做限定。
S250,用户设备向第二设备发送第一签名分量(R0,c0),以便于第二设备根据第三密钥份(sk2)、第一签名分量和第二签名分量生成消息m的第四签名分量(R,c)。另一方面,第二设备接收该第一签名分量。
作为一个实施例,如果采用同态加密机制,则用户设备向第二设备发送第一签名分量时,还可以向第二设备发送同态加密机制HE(.)和消息m,第二设备可以根据该同态加密机制生成该消息m的第四签名分量。
可选地,用户设备可以通过已经与第二设备建立的安全通道发送第一签名分量。也可以通过其他安全通道,本申请实施例不做限定。
S260,第一设备根据第二密钥份和第一签名分量生成消息m的第二签名分量。
第一设备可以先生成随机数k1∈Zq *,然后根据随机数k1、第一设备本地存储的第二密钥份和接收到的第一签名分量生成第二签名分量(R1,c1),其中,第二签名分量(R1,c1)中的R1是第一设备根据随机数k1和第一签名分量中的R0生成的,第二签名分量中的c1是第一设备根据同态加密机制HE(.)和第二密钥份(sk1)生成的,具体地:
R1=[k1]R0
c1=HE(sk1)。
S270,第一设备向第二设备发送第二签名分量(R1,c1),第二设备接收该第二签名分量。
可选地,第一设备可以通过已经与第二设备建立的安全通道发送第二签名分量。也可以通过其他安全通道,本申请实施例不做限定。
作为一个实施例,在S270中,第一设备还向第二设备发送第一签名分量中的R0,其中,第一签名分量中的R0可以用于第二设备识别第一设备和用户设备的身份。
应理解,本申请实施例中,第一设备和第二设备之间不会合谋攻击用户设备,以获取用户设备的信息。
S280,第二设备根据第三密钥份(sk2)、第一签名分量和第二签名分量生成消息m的第四签名分量(R,c)。
第二设备可以先生成随机数k2∈Zq *和随机数η2∈Zq2,其中,Zq2是一个由所有小于q2的正整数组成的集合,即Zq2={1,2,3,…,q2},然后第二设备根据随机数k2、随机数η2、接收到的第一签名分量和第二签名分量、以及第二设备本地保存的第三密钥份生成第四签名分量(R,c),其中,第四签名分量(R,c)中的R是第二设备根据随机数k2和第二签名分量中的R1生成的,第四签名分量中的c是第二设备根据同态加密机制、第三密钥份、第二签名分量中的c1、第一签名分量中的c0、随机数η2和第四签名分量中的R生成的,具体地:
R=(rx,ry)=[k2]R1
(k2′)-1=k2 -1(mod q);
c2=HE(η2q+(k2′)-1h(m)(mod q));
c=c2⊙c3
其中,⊙是密文的乘法运算。
作为一个实施例,第二设备在生成第四签名分量之前,首先对接收到的第二签名分量进行判断,判断是否需要对接收到的第二签名分量进行处理计算。判断的方式可以是,第二设备将从第一设备接收到的第一签名分量中的R0与从用户设备收到的第一签名分量中的R0进行对比,若二者相同,则表示第一设备需要和第二设备合作对消息m签名,那么判断完成后,第二设备开始使用存储于本地的第三密钥份对第一设备发送的第二签名分量进行合作签名。
S290,第二设备向第一设备发送第四签名分量,第一设备接收第四签名分量。
可选地,第二设备可以通过已经与第一设备建立的安全通道发送第四签名分量。也可以通过其他安全通道,本申请实施例不做限定。
S2100,第一设备根据第四签名分量生成第三签名分量。
第一设备首先生成随机数η1∈Zq 3,其中Zq 3是一个由所有小于q3的正整数组成的集合,即Zq3={1,2,3,…,q3},然后第一设备根据随机数η1、第四签名分量生成第三签名分量(R,c*),其中,第三签名分量中的c*是第一设备根据随机数η1、第四签名分量中的c、随机数k1和同态加密机制生成的,具体地计算过程可以是:
c4=HE(η1q);
S2110,第一设备向用户设备发送第三签名分量,用户设备接收第一设备发送的第三签名分量(R,c*)。
可选地,第一设备可以通过已经与用户设备建立的安全通道发送第三签名分量。也可以通过其他安全通道,本申请实施例不做限定。
S2120,用户设备根据第三签名分量生成消息m的完整签名(R,s)。
用户设备可以先根据同态解密机制对第三签名分量(R,c*)中的c*进行解密,得到s*,然后根据s*计算s,具体地:
s*=HD(c*);
s=k0 -1s*(mod q)。
因此,本申请实施例提供的分布式门限签名的方法,用户设备根据用户输入的口令生成的第一密钥份,并与存储第二密钥份的第一设备和存储第三密钥份的第二设备分别通信,生成消息m的完整签名,使得用户设备在不存储密钥份的情况下,生成消息m的完整签名,从而能够取得生成数字签名的便携性。
另一方面,本申请实施例在门限密码的基础上,使得用户设备可以不存储密钥份,从而保证了私钥的安全性,提高了生成数字签名的安全性。
应理解,本申请实施例中,用户设备用于签名的第一私钥包括第一密钥份、第二密钥份和第三密钥份。
作为一个实施例,该方法还包括:用户设备可以向第一设备发送用户设备的标识,例如,该标识可以是用户设备的ID,第一设备接收并存储该用户设备的标识。可选的,用户设备可以在S240中向第一设备发送该标识。
因此,在本申请实施例中,用户设备向第一设备发送用户设备的标识,使得第一设备在与用户设备通信前,可以将该标识与第一设备本地存储的标识进行对比,从而根据该标识判断信息的来源。
作为一个实施例,该方法还包括:用户设备可以向第二设备发送用户设备的标识,例如,该标识可以是用户设备的ID,第二设备接收并存储该用户设备的标识。可选的,用户设备可以在S250中向第二设备发送该标识。
因此,在本申请实施例中,用户设备向第二设备发送用户设备的标识,使得第二设备在与用户设备通信前,可以将该标识与第二设备本地存储的标识进行对比,从而根据该标识判断信息的来源。
应理解,本申请实施例的分布式门限签名的方法,仅以用户设备与第一设备和第二设备为例进行说明,但是本申请实施例并不限于用户设备与两个服务器交互,也可以是用户设备根据用户输入的口令,与N个(N>2,N为正整数)存储密钥份的服务器参照上述方法进行通信,从而生成消息m的完整签名。
应注意,图2的实施例可以应用于图1的系统,仅仅是为了帮助本领域技术人员理解分布式门限签名的具体实现过程。但本申请实施例分布式门限签名时的具体流程不作限制,可以根据应用场景中的设备的具体硬件/软件配置,执行合适的处理方案。
应理解,S240和S250,用户设备分别向第一设备和第二设备发送第一签名分量,用户设备可以先向第一设备发送第一签名分量,也可以先向第二设备发送第一签名分量,也就是说,步骤S250和S240的执行没有先后顺序,并申请对此不做限定。
可选的,该方法还包括:第一设备和第二设备在与用户设备联合签名之前,首先根据用户输入的口令完成用户设备的身份认证。作为一种可能的实现方式,用户设备与第一设备和第二设备可以执行图3所示的流程完成用户设备的身份认证。
S310,用户设备根据用户输入的口令分别生成第一认证信息(π1)和第二认证信息(π2)。
在第一设备对用户设备进行身份认证的过程中,第一认证信息相当于是第一设备和用户设备之间的共享密钥,在签名之前第一设备和用户设备已经完成了该第一认证信息的协商和共享,然后第一设备将第一认证信息存储于本地,而用户设备本地并不需要存储认证信息,当需要进行身份认证时,用户设备可以根据用户输入的口令实时生成该第一认证信息。
应理解,该第一认证信息可以是用户设备根据用户输入的口令与第一设备通过交互生成的,也可以是用户设备根据用户输入的口令生成的,本申请对此不做限定。
同样地,在第二设备对用户设备进行身份认证的过程中,第二认证信息相当于是第二设备和用户设备之间的共享密钥,在签名之前第二设备和用户设备已经完成了该第二认证信息的协商和共享,然后第二设备将第二认证信息存储于本地,而用户设备本地并不需要存储认证信息,当需要进行身份认证时,用户设备可以根据用户输入的口令实时生成该第二认证信息。
应理解,该第二认证信息可以是用户设备根据用户输入的口令与第二设备通过交互生成的,也可以是用户设备根据用户输入的口令生成的,本申请对此不做限定。
S320,用户设备根据第一认证信息(π1)生成第一消息认证码(τ1),根据第二认证信息(π2)生成第二消息认证码(τ2),第一消息认证码用于第一设备认证用户设备的身份,第二消息认证码用于第二设备认证用户设备的身份。
在根据第一认证信息生成第一消息认证码时,第一认证信息作为共享密钥,用户设备根据该第一认证信息和待发送的消息,生成第一消息认证码,根据该消息认证码可以使第一设备确认收到的消息是否被纂改,以及用户设备是否是真实的,而非其他伪装者。
同样地,在根据第二认证信息生成第二消息认证码时,第二认证信息作为共享密钥,用户设备根据该第二认证信息和待发送的消息,生成第二消息认证码,根据该消息认证码可以使第二设备确认收到的消息是否被纂改,以及用户设备是否是真实的,而非其他伪装者。
S330,用户设备向第一设备发送第一消息认证码(τ1),第一设备接收第一消息认证码。
可选地,用户设备可以通过用户设备与第一设备之间已建立的安全通道向第一设备发送第一消息认证码,也可以通过其他通道发送,只要保证通道的安全即可,本申请对此不做限定。
S340,用户设备向第二设备发送第二消息认证码(τ2),第二设备接收第二消息认证码。
可选地,用户设备可以通过用户设备与第二设备之间已建立的安全通道向第二设备发送第二消息认证码,也可以通过其他通道发送,只要保证通道的安全即可,本申请对此不做限定。
S350,第一设备根据第一认证信息和第一消息认证码完成UE的身份认证。
第一设备将存储于本地的第一认证信息作为共享密钥,利用该第一认证信息和接收到的消息计算第三消息认证码(π1′),并将第三消息认证码与收到的第一消息认证码进行对比,若二者相同,则身份认证通过,说明该消息在发送过程中没有被篡改,且该消息确实是来自于真实的用户设备。若不相同,则认证不通过,第一设备将会停止与用户设备联合签名。
应理解,第一认证信息(π1)是在分布式门限签名之前,用户设备和第一设备通过密钥协商建立的共享密钥,该第一认证信息存储于第一设备本地,当需要签名时,第一设备使用该第一认证信息完成用户设备的身份认证。
S360,第二设备根据第二认证信息和第二消息认证码完成UE的身份认证。
第二设备将存储于本地的第二认证信息作为共享密钥,利用该第二认证信息和接收到的消息计算第四消息认证码(π2′),并将第四消息认证码与收到的第二消息认证码进行对比,若二者相同,则身份认证通过,说明该消息在发送过程中没有被篡改,且该消息确实是来自于真实的用户设备。若不相同,则认证不通过,第二设备将会停止与用户设备联合签名。
应理解,第二认证信息(π2)是在分布式门限签名之前,用户设备和第二设备通过密钥协商建立的共享密钥,该第二认证信息存储于第二设备本地,当需要签名时,第二设备使用该第一认证信息完成用户设备的身份认证。
因此,在本申请实施例中,用户设备通过用户输入的口令与第一设备和第二设备分别完成用户设备的身份认证,使得用户设备在不存储密钥份和认证信息的情况下,完成身份认证,从而取得数字签名的便携性。
另一方面,在分布式门限签名之前,完成了验证用户设备的身份,从而提高了生成数字签名的安全性。
应理解,在S310中,用户设备可以先生成第一认证信息,也可以先生成第二认证信息,在S320中,用户设备可以先生成第一消息认证码,也可以先生成第二消息认证码,在S330和S340中,用户设备可以先向第一设备发送第一消息认证码,也可以先向第二设备发送第二消息认证码。对于第一认证信息和第二认证信息的生成顺序、第一消息认证码和第二消息认证码的生成和发送顺序,本申请实施例并不限定。
应理解,图3所示的流程可以是在门限签名之前单独完成,即不与图2所示的流程耦合,也可以是用户设备在于第一设备和第二设备联合签名的时候,完成用户设备的身份认证,即图3所示的流程可以与图2所示的流程一起完成。本申请不做限定。
图4是本申请实施例提供的一种分布式门限签名的方法。应理解,图4所示的流程是将图2所示的联合签名的过程和图3中身份认证的过程进行耦合的过程。
应理解,图4中的S410至S430的具体执行过程可以参考图2所示的S210至S230中的详细说明,为了避免重复,在此不再详述。当用户设备根据用户输入的口令生成第一签名分量(R0,c0)后,用户设备与第一设备和第二设备可以继续根据图4中的方法完成身份认证和联合签名。
S440,用户设备根据用户输入的口令分别生成第一认证信息(π1)和第二认证信息(π2)。
作为一个实施例,第一认证信息可以是用户设备根据用户输入的口令与第一设备通过交互生成的,第二认证信息可以是用户设备根据用户输入的口令与第二设备通过交互生成的。
S450,用户设备根据第一认证信息(π1)生成第一消息认证码(τ1),根据第二认证信息(π2)生成第二消息认证码(τ2),第一消息认证码用于第一设备认证用户设备的身份,第二消息认证码用于第二设备认证用户设备的身份。
τ1=MAC(π1,HE()||R0||c0||m||N1);
τ2=MAC(π2,HE()||R0||c0||m||N2)。
应理解,N1是一个随机数,该随机数可以是在S310中,用户设备在与第一设备进行密钥共享时由第一设备生成并发送给用户设备的。N2也是一个随机数,该随机数可以是在S310中,用户设备在与第二设备进行密钥共享时由第二设备生成并发送给用户设备的。
本申请实施例在消息认证码的生成中引入了随机数N1或N2,使得每次通信过程生成的消息认证码都不同,从而能够有效防止重放攻击,进一步保证通信安全。
S460,用户设备向第一设备发送第一签名分量(R0,c0)、同态加密机制HE(.)、消息m、第一消息认证码τ1
可选地,用户设备可以通过已经与第一设备建立的安全通道发送第一签名分量(R0,c0)、同态加密机制HE(.)、消息m、第一消息认证码τ1。也可以通过其他安全通道,本申请实施例不做限定。
S470,用户设备向第二设备发送第一签名分量(R0,c0)、同态加密机制HE(.)、消息m、第二消息认证码τ2
可选地,用户设备可以通过已经与第二设备建立的安全通道发送第一签名分量(R0,c0)、同态加密机制HE(.)、消息m、第二消息认证码τ2。也可以通过其他安全通道,本申请实施例不做限定。
S480,第一设备根据第一认证信息和第一消息认证码完成UE的身份认证。
第一设备根据存储于本地的第一认证信息(π1),与接收到的第一签名分量(R0,c0)、同态加密算法HE()和消息m,利用消息认证码算法,计算第三消息验证码π1′:
π1′=MAC(π1,HE()||R0||c0||m||N1);
第一设备将计算的第三消息认证码π1′与从用户设备处接收到的第一消息认证码(τ1)进行对比,若二者相同,则身份认证通过。
S490,第二设备根据第二认证信息和第二消息认证码完成UE的身份认证。
第二设备根据存储于本地的第二认证信息(π2),与接收到的第一签名分量(R0,c0)、同态加密算法HE()和消息m,利用消息认证码算法,计算第四消息认证码π2′:
π2′=MAC(π2,HE()||R0||c0||m||N2);
第二设备可以将计算的第四消息认证码π2′与从用户设备处接收到的第二消息认证码(τ2)进行对比,若二者相同,则身份认证通过。
本申请实施例在消息认证码的生成中引入第一签名分量,在第一设备或第二设备进行身份认证时,不仅可以确认该第一签名来自合法的用户设备,还能验证第一签名分量的完整性,保证了门限签名的过程的安全性。
应理解,当身份认证通过后,第一设备和第二设备开始分别用存储于本地的密钥份进行签名,即执行如图4所示的S4100至S4160,关于S4100至S4160的具体执行,与图2中S260至S2120一致,因此可以参照前文中S260至S2120的描述,在此不再详述。
因此,本申请实施例提供的分布式门限签名的方法,用户设备根据用户输入的口令生成的第一密钥份,并与存储第二密钥份的第一设备和存储第三密钥份的第二设备分别通信,生成消息m的完整签名,使得用户设备在不存储密钥份的情况下,生成消息m的完整签名,从而能够取得生成数字签名的便携性。
应理解,若在310中,第一设备与用户设备进行密钥协商时也可以不生成随机数N1,此时第一消息认证码和第三消息认证码的生成也可以不包含N1。同样的,第二设备与用户设备进行密钥协商时也可以不生成随机数N2,此时第二消息认证码和第四消息认证码的生成也可以不包含N2,本申请实施例对此不作限定。
应理解,随机数N1或N2是否生成或发送,以及在生成消息认证码时是否使用N1或N2,只要第一设备与用户设备、或第二设备与用户设备在进行身份认证信息的生成时协商一致即可,本申请对此不作限定。
应理解,当生成消息m的完整签名后,用户设备可以将带有完整签名的消息m发送给任何需要的设备,而接收到该消息的设备,可以利用已经获取的用户设备的公钥来验证接收到的签名的合法性,关于验证的过程可以参考现有技术,在此不再详述。
应理解,在用户设备将带有完整签名的消息m发送给需要接收的设备之前,用户设备和接收消息的设备已经完成了密钥协商,即接收消息的设备已经获得了用户设备的公钥,关于两设备密钥协商的过程也可以参考现有技术。
作为一个实施例,本申请的分布式门限签名的方法还包括:用户设备将第一私钥(sk)进行拆分,并分别发送给第一设备和第二设备,第一设备和第二设备分别将密钥份存储于本地。
图5示出了本申请的分布式门限签名中的第一私钥的分发的示意性流程图。图5的方法可以由图1中的系统执行。
S510,用户设备确定用于签名的第一私钥(sk),第一私钥是用户设备用于给待发送的消息m签名的密钥。
S520,用户设备接收用户输入的口令(pw)。
用户设备可以向用户提供输入界面,在该输入界面用户可以输入口令,从而使得用户设备可以接收用户输入的口令,该口令可以是一串数字,也可以是数字、字母、符号组成的一串字符,本申请实施例中不作限制。
作为一种可能的实现方式,该输入界面可以是某个应用程序的登录界面,也可以是某个网站上的登录界面,在本申请实施例中不作限制。
本申请实施例对输入的口令的形式不作限制。例如,可以通过触摸屏、键盘、光标器等设备,接收用户通过这些设备输入的字符类的口令。再例如,可以通过麦克风接收用户输入的语音口令(可选地,此时可以额外或者利用该语音口令对用户进行语音认证,在通过语音认证后才使得用户输入的语音口令有效),并将用户输入的语音口令转换为适合于后续密钥处理的内部字符串pw;该转换可以是语音识别或者语音特征处理等方式。
S530,用户设备根据用户输入的口令生成第一密钥份(sk0),其中,第一私钥包括第一密钥份。
例如,用户设备可以通过哈希函数h(.)生成第一密钥份(sk0):
sk0=h(pw)。
应理解,生成第一密钥份的函数还可以是其他算法,例如单向函数,本实施例仅以哈希函数h(.)为例进行说明,本申请并不限于哈希函数。
S540,用户设备根据第一私钥(sk)和第一密钥份(sk0)确定第二密钥份(sk1)和第三密钥份(sk2)。
用户设备可以将第一私钥减去第一密钥份,将剩余部分拆分为两份,分别作为第二密钥份(sk1)和第三密钥份(sk2)。
在一种可能的实现方式中,用户设备可以生成随机数sk1∈Zq *,将该随机数确定为第二密钥份,然后根据第一私钥、第一密钥份和第二密钥份计算第三密钥份,计算的方法可以是:
sk2=sk-sk0-sk1(mod q)。
因此,在本申请实施例中,组成第一私钥的其中一个密钥份是随机数,任单一服务器无法暴力破解密码,从而使得数字签名具有更高的安全性。
应理解,用户设备也可以将第一私钥拆分成N个(N>3,N为正整数)密钥份,此时,第二密钥份可以有N-2个,此时,第一设备也可以是N-2个,N-2个设备分别存储N-2个第二密钥份,每个设备存储一个第二密钥份。应理解,此时N-2个第二密钥份可以相同,也可以不同,本申请中不做限定。
在一种可能的实现方式中,用户设备还可以先将第一私钥减去第一密钥份,对得到的剩余部分进行平均,将平均得到的结果分别作为第二密钥份和第三密钥份,然后分别发送给第一设备和第二设备进行存储。应理解,本申请实施例对第二密钥份和第三密钥份的内容和确定方法并不作限定。
S550,用户设备向第一设备发送第二密钥份(sk1),以便于第一设备存储第二密钥份,第一设备接收第二密钥份。
可选地,用户设备可以通过用户设备与第一设备之间已建立的安全通道向第一设备发送第二密钥份(sk1),也可以通过其他安全通道发送,本申请对此不做限定。
S560,用户设备向第二设备发送第三密钥份(sk2),以便于第二设备存储第三密钥份,第二设备接收第三密钥份。
可选地,用户设备可以通过用户设备与第二设备之间已建立的安全通道向第二设备发送第三密钥份(sk2),也可以通过其他安全通道发送,本申请对此不做限定。
S570,第一设备存储第二密钥份。
S580,第二设备存储第三密钥份。
第一设备可以将第二密钥份保存于内部存储器等设备或单元中,第二设备可以将第三密钥份保存于内部存储器等设备或单元中,本申请对第二密钥份和第三密钥份存储的方式和存储位置不作限定。
由此,第一设备将第二密钥份存储于本地,第二设备将第三密钥份存储于本地,在用户设备需要生成数字签名时,用户设备可以根据用户输入的口令与存储第二密钥份的第一设备和存储第三密钥份的第二设备交互,最终生成消息m的完整签名。
因此,本申请实施例的分布式门限签名的方法,用户设备根据用户输入的口令生成第一密钥份,使得用户设备可以根据用户口令实时生成第一密钥份,从而使得用户设备无需存储密钥份,取得生成数字签名的便携性。
作为一个实施例,该方法还包括,用户设备可以向第一设备发送用户设备的标识,例如,该标识可以是用户设备的ID,第一设备接收该用户设备的标识,并将该用户设备的标识和第二密钥份一起存储于本地。
因此,第一设备存储用户设备的标识和第二密钥份,使得第一设备在使用第二密钥份时,可以根据用户设备的标识从本地存储中确定其对应的第二密钥份。
作为一个实施例,该方法还包括,用户设备可以向第二设备发送用户设备的标识,例如,该标识可以是用户设备的ID,第二设备接收该用户设备的标识,并将该用户设备的标识和第三密钥份一起存储于本地。
因此,第二设备存储用户设备的标识和第三密钥份,使得第二设备在使用第三密钥份时,可以根据用户设备的标识从本地存储中确定其对应的第三密钥份。
可选的,该方法还包括,用户设备与第一设备和第二设备分别建立第一认证信息和第二认证信息,并将第一认证信存储于第一设备,将第二认证信息存储于第二设备。
应理解,在S550和S560中,用户设备可以先向第一设备发送第二密钥份,也可以先向第二设备发送第三密钥份,对于第二密钥份和第三密钥份的发送顺序,本申请实施例并不限定。
S590,用户设备根据用户输入的口令分别生成第一认证信息(π1)和第二认证信息(π2)。
应理解,第一认证信息和第二认证信息可以是用户设备根据用户输入的口令生成的,也可以是用户设备根据用户输入的口令并与第一设备和第二设备通过交互生成的,并申请对此不做限定。在用户设备的身份过程中,第一认证信息相当于是第一设备和用户设备之间的共享密钥,该在签名之前第一设备和已经完成了该第一认证信息的协商和共享。同样地,第二认证信息相当于是第二设备和用户设备之间的共享密钥,该在签名之前第二设备和已经完成了该第一认证信息的协商和共享。
S5100,用户设备向第一设备发送第一认证信息(π1),第一设备接收第一认证信息(π1),第一认证信息用于第一设备认证用户设备的身份。
可选地,用户设备可以通过用户设备与第一设备之间已建立的安全通道向第一设备发送第一认证信息,也可以通过其他通道发送,只要保证通道的安全即可,本申请对此不做限定。
S5110,用户设备向第二设备发送第二认证信息(π2),第二设备接收第二认证信息(π2),第二认证信息用于第二设备认证用户设备的身份。
可选地,用户设备可以通过用户设备与第二设备之间已建立的安全通道向第二设备发送第二认证信息,也可以通过其他通道发送,只要保证通道的安全即可,本申请对此不做限定。
S5120,第一设备存储第一认证信息。
第一设备将第一认证信息存储于本地,当需要与用户设备进行身份认证或进行签名时,第一设备调取存储于本地的第一认证信息。
S5130,第二设备存储第二认证信息。
第二设备将第二认证信息存储于本地,当需要与用户设备进行身份认证或进行签名时,第二设备调取存储于本地的第二认证信息。
因此,在本申请实施例中,用户设备与第一设备完成第一认证信息的生成,并将第一认证信息存储于第一设备,用户设备与第二设备完成第二认证信息的生成,并将第二认证信息存储于第二设备,从而使得在联合签名之前,第一设备可以使用本地保存的第一认证信息与用户设备完成身份认证,第二设备可以使用本地保存的第二认证信息与用户设备完成身份认证。
作为一个实施例,该方法还包括:用户设备可以向第一设备发送用户设备的标识,例如,该标识可以是用户设备的ID,第一设备接收并存储该用户设备的标识。可选的,用户设备可以在S550中向第一设备发送该标识,在S570中存储该标识。
因此,在本申请实施例中,用户设备向第一设备发送用户设备的标识,使得第一设备在与用户设备通信前,可以将该标识与第一设备本地存储的标识进行对比,从而根据该标识判断信息的来源。
作为一个实施例,该方法还包括:用户设备可以向第二设备发送用户设备的标识,例如,该标识可以是用户设备的ID,第二设备接收并存储该用户设备的标识。可选的,用户设备可以在S560中向第二设备发送该标识,在S580中存储该标识。
因此,在本申请实施例中,用户设备向第二设备发送用户设备的标识,使得第二设备在与用户设备通信前,可以将该标识与第二设备本地存储的标识进行对比,从而根据该标识判断信息的来源。
应理解,在S590中,用户设备可以先生成第一认证信息,也可以先生成第二认证信息,在S5100和S5110中,用户设备可以先向第一设备发送第一认证信息,也可以先向第二设备发送第二认证信息。对于第一认证信息和第二认证信息的生成和发送顺序,本申请实施例并不限定。
可选地,用户设备可以在发送第二密钥份和第三密钥份之前分别生成第一认证信息和第二认证信息,可以将第二密钥份和第一认证信息一起发送,将第三密钥份和第二认证信息一起发送,第一设备可以将第二密钥份和第一认证信息一起存储于本地,第二设备可以将第三密钥份和第二认证信息一起存储于本地,即S590可以在S550和S560之前执行,S550和S5100可以一起执行,S560和S5110一起执行,S570和S5120可以一起执行,S580和S5130一起执行。
在S310、S440和S590中,用户设备根据用户输入的口令分别生成第一认证信息(π1)和第二认证信息(π2),作为一个实施例,用户设备与第一设备和第二设备可以执行如图6所示的流程生成第一认证信息和第二认证信息。
S610,用户设备根据口令生成第一认证参数(U),第一认证参数(U)用于第一设备根据第一认证参数生成第二认证参数(U1),第一认证参数(U)还用于第二设备根据第一认证参数生成第三认证参数(U2)。
例如,用户可以生成随机数u∈Zq *,并计算U=[u]H(pw),其中H(.)是哈希函数。
应理解,在本申请中,函数H(.)具体算法和函数h(.)的具体算法可以相同,也可以不同,本申请对此不作限定。
S620,用户设备向第一设备发送第一认证参数(U),第一设备接收第一认证参数(U)。
可选地,用户设备可以通过用户设备与第一设备之间已建立的安全通道向第一设备发送第一认证参数U,也可以通过其他安全通道发送,本申请对此不做限定。
S630,用户设备向第二设备发送第一认证参数(U),第二设备接收第一认证参数(U)。
可选地,用户设备可以通过用户设备与第二设备之间已建立的安全通道向第二设备发送第二认证参数U,也可以通过其他安全通道发送,本申请对此不做限定。
S640,第一设备根据第二私钥(t1)和第一认证参数(U)生成第二认证参数(U1)。
第一设备可以生成随机数t1∈Zq *,将t1作为第一认证信息的生成过程中第一设备的私钥,并根据该私钥t1和从第一设备收到的第一认证参数U生成第二认证参数U1
U1=[t1]U。
可选地,在S640中,还包括:第一设备生成随机数N1,该随机数可用于生成第一消息认证码和第三消息认证码。
S650,第二设备根据第三私钥(t2)和第一认证参数(U)生成第三认证参数(U2)。
第二设备可以生成随机数t2∈Zq *,将t2作为第二认证信息的生成过程中第二设备的私钥,并根据该私钥t2和从第一设备收到的第一认证参数U生成第三认证参数U2
U2=[t2]U。
可选地,在S650中,还包括:第二设备可以生成随机数N2,该随机数可用于生成第二消息认证码和第四消息认证码。
S660,第一设备向用户设备发送第二认证参数(U1),用户设备接收第一设备发送的第二认证参数(U1)。
可选地,在S660中,第一设备也可以向用户设备发送随机数N1,用户设备接收N1
可选地,用户设备可以通过用户设备与第一设备之间已建立的安全通道向第一设备发送第二认证参数U1和随机数N1,也可以通过其他安全通道发送,本申请对此不做限定。
因此,本申请实施例的分布式门限签名的方法,第一设备在生成第二认证参数时,还生成随机数N1,并发送给用户设备,该随机数可以用于第一设备和用户设备之间的身份认证,使得每次通信过程生成的第一消息认证码都不同,从而能够有效防止重放攻击,保证通信安全。
S670,第二设备向用户设备发送第三认证参数(U2),用户设备接收第二设备发送的第三认证参数(U2)。
可选地,在S670中,第二设备也可以向用户设备发送随机数N2,用户设备接收N2
可选地,用户设备可以通过用户设备与第二设备之间已建立的安全通道向第二设备发送第三认证参数U2和随机数N2,也可以通过其他安全通道发送,本申请对此不做限定。
因此,本申请实施例中,第二设备在生成第三认证参数时,还生成随机数N2,并发送给用户设备,该随机数可以用于第二设备和用户设备之间的身份认证,使得每次通信过程生成的第一消息认证码都不同,从而能够有效防止重放攻击,保证通信安全。
S680,用户设备根据第二认证参数(U1)生成第一身份认证信息(π1),用户设备根据第三认证参数(U2)生成第二身份认证信息(π2):
U* 1=[u-1]U1
U* 2=[u-1]U2
π1=KDF(U* 1);
π2=KDF(U* 2)。
其中,KDF是密钥派生函数(Key Derivation Function)。应理解,本申请仅此KDF为例,在生成第一认证信息和第二认证信息时,还可以使用其他函数,例如MAC(messageauthentication code)函数,本申请对此不做限定。
因此,本申请实施例中,用于身份认证的第一认证信息是根据用户输入的口令与第一设备交互生成的,第二认证信息是根据用户输入的口令与第二设备交互生成的,且第一认证信息中包括第一设备的私钥t1,第二认证信息中包括第二设备的私钥t2,从而保证了第一认证信息和第二认证信息的私密性。
应理解,在S620和S630中,用户设备可以先向第一设备发送第一认证参数,也可以先向第二设备发送第一认证参数,在S680中,用户设备可以先生成第一认证信息,也可以先生成第二认证信息。对于第一认证参数的发送顺序、第一认证信息和第二认证信息的生成顺序,本申请实施例并不限定。
在S310、S440和S590中,用户设备根据用户输入的口令分别生成第一认证信息(π1)和第二认证信息(π2),作为一个实施例,第一认证信息的生成可以是用户设备与第一设备根据口令认证密钥交换(PAKE,password authenticated key exchange)协议生成的,第二认证信息的生成可以是用户设备与第二设备根据PAKE协议生成的。此时,用户设备在进行私钥的分发时,用户设备与第一设备可以PAKE协议生成第一认证信息,用户设备与第二设备可以根据PAKE协议生成第二认证信息。即上述S310、S440和S590的执行可以是根据PAKE协议完成。关于三个设备根据PAKE协议生成认证信息以及完成身份认证的具体过程可以参照现有技术,在此不再详述。
以上结图1至图6详细介绍了本申请的分布式门限签名的方法实施例,下面结合图7至图13介绍本申请装置实施例,未详尽描述之处请详见上文方法实施例。
图7示出了根据本申请实施例的分布式门限签名的装置的示意性框图。图7的分布式门限签名的装置可用于实现前述图1至图6的各个实施例中与用户设备相关的相应功能,为避免重复,不再详细描述。图7的分布式门限签名的装置可以包括第一接收模块710、处理模块720、第一发送模块730、第二发送模块740和第二接收模块750。
第一接收模块710可以接收用户输入的口令(例如,图2、图4和图5中的pw);
处理模块720可以根据口令生成第一密钥份(例如,图2、图4和图5中的sk0),并根据第一密钥份生成消息m的第一签名分量(例如,图2和图4中的(R0,c0))。
第一发送模块730可以向第一设备发送第一签名分量,以便于第一设备根据第二密钥份(例如,图2、图4和图5中的sk1)和第一签名分量生成消息m的第二签名分量(例如,图2和图4中的(R1,c1))。
第二发送模块740可以向第二设备发送第一签名分量,以便于第二设备根据第三密钥份(例如,图2、图4和图5中的sk2)、第一签名分量和第二签名分量生成消息m的第四签名分量(例如,图2和图4中的(R,c))。
第二接收模块750可以接收第一设备发送的第三签名分量(例如,图2和图4中的(R,c*)),第三签名分量是第一设备根据第四签名分量生成的。
处理模块720还可以根据第三签名分量生成消息m的完整签名(例如,图2和图4中的(R,s))。
因此,本发明实施例提供的分布式门限签名的装置,可以接收用户输入的口令,根据用户输入的口令生成的第一密钥份,并与存储第二密钥份的第一设备和存储第三密钥份的第二设备分别通信,生成消息m的完整签名,使得可以在不存储密钥份的情况下,生成消息m的完整签名,从而能够取得生成数字签名的便携性。
并且,图7中,为了示例性的目的,描绘了两个接收模块710和750以及两个发送模块730和740,但是本申请实施例对某个具体模块的数量不作限制,例如,可以由一个接收模块实现上述两个接收模块710和750的功能,同样也可以由一个发送模块实现上述两个发送模块730和740的功能。
作为一个具体可选的实施例,处理模块720还可以先根据口令分别生成第一认证信息(例如,图3至图6中的π1)和第二认证信息(例如,图3至图6中的π2),并根据第一认证信息生成第一消息认证码(例如,图3和图4中的τ1),第一消息认证码用于第一设备认证用户设备的身份,根据第二认证信息生成第二消息认证码(例如,图3和图4中的τ2),第二消息认证码用于第二设备认证用户设备的身份。然后第一发送模块730可以向第一设备发送第一消息认证码,第二发送740可以向第二设备发送第二消息认证码。
作为一个具体可选的实施例,处理模块720还可以建立同态加密机制和同态解密机制,然后第一发送模块730可以向第一设备发送同态加密机制,同态加密机制用于第一设备生成第二签名分量或第三签名分量。第二发送模块740可以向第二设备发送同态加密机制,同态加密机制用于第二设备生成第四签名分量。并且处理模块720具体可以根据同态解密机制对第三签名分量(R,c*)中的c*进行解密,得到s*,根据s*计算完整签名(R,s)中的s。
作为一个具体可选的实施例,处理模块720还可以确定用于签名的第一私钥(例如,图5中的sk),并根据口令生成第一密钥份,再根据第一私钥和第一密钥份确定第二密钥份和第三密钥份。然后第一发送模块730可以向第一设备发送第二密钥份,以便于第一设备存储第二密钥份。第二发送模块740可以向第二设备发送第三密钥份,以便于第二设备存储第三密钥份。
作为一个具体可选的实施例,处理模块720具体可以将第二密钥份确定为随机数,然后根据第一私钥、第一密钥份和第二密钥份生成第三密钥份。
作为一个具体可选的实施例,处理模块720还可以根据口令分别生成第一认证信息和第二认证信息,第一认证信息用于第一设备认证用户设备的身份,第二认证信息用于第二设备认证用户设备的身份。然后第一发送模块730可以向第一设备发送第一认证信息,以便于第一设备存储第一认证信息。第二发送模块740可以向第二设备发送第二认证信息,以便于第二设备存储第二认证信息。
作为一个具体可选的实施例,处理模块720具体还可以根据口令生成第一认证参数(例如,图6中的U),第一认证参数用于第一设备根据第一认证参数生成第二认证参数(例如,图6中的U1),第一认证参数还用于第二设备根据第一认证参数生成第三认证参数(例如,图6中的U2)。然后第一发送模块730可以向第一设备发送第一认证参数。第二发送模块740可以向第二设备发送第一认证参数。第二接收模块750还可以接收第一设备发送的第二认证参数。如图8所示,该装置还可以包括第三接收模块760,第三接收模块760可以接收第二设备发送的第三认证参数。接收到第二认证参数和第三认证参数后,处理模块720具体还可以根据第二认证参数生成第一身份认证信息,根据第三认证参数生成第二身份认证信息。
应理解,图8中的第三接收模块760可以单独作为一个模块,也可以由一个接收模块实现上述三个接收模块710、750和760的功能,本申请实施例对某个具体模块的数量不作限制。
作为一个具体可选的实施例,该处理模块720具体用还可以根据口令认证密钥交换PAKE协议分别生成第一认证信息和第二认证信息。
应理解,处理模块720根据PAKE协议分别生成第一认证信息和第二认证信息,并不限定生成认证信息的整个过程全部由处理模块720完成,第一认证信息的生成过程可能还包括处理模块720通过第一发送模块730和第二接收模块750与第一设备通信的过程,第二认证信息的生成过程可能还包括处理模块720通过第二发送模块740和第三接收模块760与第二设备通信的过程,具体根据PAKE协议分别生成第一认证信息和第二认证信息的过程可以参考现有技术,对应地,其中涉及的模块也不限于处理模块720,应该根据方法的执行步骤,选择相应的模块执行相应的功能,最终实现生成第一认证信息和第二认证信息的目的。
图9示出了根据本申请实施例的分布式门限签名的装置的示意性框图。图9的分布式门限签名的装置可用于实现前述图1至图6的各个实施例中与第一设备相关的相应功能,为避免重复,不再详细描述。图9的分布式门限签名的装置可以包括第一接收模块810、处理模块820、第一发送模块830、第二接收模块840和第二发送模块850。
第一接收模块810可以接收用户设备发送的第一签名分量(例如,图2和图4中的(R0,c0)),第一签名分量是用户设备根据用户输入的口令(例如,图2、图4和图5中的pw)生成的。;
处理模块820可以根据第二密钥份(例如,图2、图4和图5中的sk1)和第一签名分量(R0,c0)生成消息m的第二签名分量(例如,图2和图4中的(R1,c1))。;
第一发送模块830可以向第二设备发送第二签名分量。
第二接收模块840可以接收第二设备发送的第四签名分量(例如,图2和图4中的(R,c)),第四签名分量是第二设备根据第三密钥份(例如,图2、图4和图5中的sk2)、第一签名分量和第二签名分量生成的。
处理模块820还可以根据第四签名分量生成第三签名分量(例如,图2和图4中的(R,c*))。
第二发送模块850可以向用户设备发送第三签名分量,第三签名分量用于用户设备生成消息m的完整签名(例如,图2和图4中的(R,s))。
因此,本发明实施例提供的分布式门限签名的装置,可以使用本地存储的第二密钥份与用户设备和第二设备分别通信,最终生成消息m的完整签名,使得用户设备可以在不存储密钥份的情况下,生成消息m的完整签名,从而能够取得生成数字签名的便携性。
并且,图9中,为了示例性的目的,描绘了两个接收模块810和840以及两个发送模块830和850,但是本申请实施例对某个具体模块的数量不作限制,例如,可以由一个接收模块实现上述两个接收模块810和840的功能,同样也可以由一个发送模块实现上述两个发送模块830和850的功能。
作为一个具体可选的实施例,第一接收模块810还可以接收用户设备发送的第一消息认证码(例如,图3和图4中的τ1),处理模块820可以根据第一消息认证码认证用户设备的身份。
作为一个具体可选的实施例,第一接收模块810还可以接收用户设备发送的同态加密机制,处理模块820具体可以根据同态加密机制生成第二签名分量或第三签名分量。
作为一个具体可选的实施例,第一接收模块810还可以接收用户设备发送的第二密钥份。如图10所示,该装置还可以包括存储模块860,存储模块860可以存储第二密钥份(sk1)。
作为一个具体可选的实施例,第二密钥份sk1可以是一个随机数,且sk1∈Zq *,Zq *是一个由所有小于(q-1)的正整数组成的集合,即Zq *={1,2,3,…,(q-1)}。
作为一个具体可选的实施例,第一接收模块810还可以接收用户设备发送的第一认证信息(例如,图3至图6中的π1),存储模块860可以存储第一认证信息,然后处理模块820具体可以根据第一认证信息认证用户设备的身份。
作为一个具体可选的实施例,第一接收模块810还可以接收用户设备发送的第一认证参数(例如,图6中的U),然后处理模块820具体可以根据第二私钥(t1)和第一认证参数生成第二认证参数(例如,图6中的U1),第二发送模块850可以向用户设备发送第二认证参数。
图11示出了根据本申请实施例的分布式门限签名的装置的示意性框图。图11的分布式门限签名的装置可用于实现前述图1至图6的各个实施例中与第二设备相关的相应功能,为避免重复,不再详细描述。图11的分布式门限签名的装置可以包括第一接收模块910、第二接收模块920、处理模块930和第一发送模块940。
第一接收模块910可以接收用户设备发送的第一签名分量(例如,图2和图4中的(R0,c0)),第一签名分量是用户设备根据用户输入的口令(例如,图2、图4和图5中的pw)生成的。
第二接收模块920可以接收第一设备发送的第二签名分量(例如,图2和图4中的(R1,c1)),第二签名分量是第一设备根据第一签名分量生成的。
处理模块930可以根据第三密钥份(例如,图2、图4和图5中的sk2)、第一签名分量和第二签名分量生成消息m的第四签名分量(例如,图2和图4中的(R,c))。
第一发送模块940可以向第一设备发送第四签名分量,以便于第一设备根据第四签名分量生成第三签名分量,第三签名分量用于用户设备生成消息m的完整签名(例如,图2和图4中的(R,s))。
因此,本发明实施例提供的分布式门限签名的装置,可以使用本地存储的第三密钥份与用户设备和第一设备分别通信,最终生成消息m的完整签名,使得用户设备可以在不存储密钥份的情况下,生成消息m的完整签名,从而能够取得生成数字签名的便携性。
并且,图11中,为了示例性的目的,描绘了两个接收模块910和920,但是本申请实施例对某个具体模块的数量不作限制,例如,可以由一个接收模块实现上述两个接收模块910和920的功能。
作为一个具体可选的实施例,第一接收模块910还可以接收用户设备发送的第二消息认证码(例如,图3和图4中的τ2),然后处理模块930可以根据第二消息认证码认证用户设备的身份。
作为一个具体可选的实施例,第一接收模块910还可以接收用户设备发送的同态加密机制,然后处理模块930具体可以根据同态加密机制生成第四签名分量。
作为一个具体可选的实施例,第一接收模块910还可以接收用户设备发送的第三密钥份。如图12所示,该装置还可以包括存储模块950,存储模块950可以存储第三密钥份。
作为一个具体可选的实施例,第一接收模块910还可以接收用户设备发送的第二认证信息(π2),存储模块950可以存储第二认证信息(π2),然后处理模块920具体可以根据第二认证信息(例如,图3至图6中的π2)认证用户设备的身份。
作为一个具体可选的实施例,第一接收模块910还可以接收用户设备发送的第一认证参数(例如,图6中的U),然后处理模块920具体可以根据第三私钥(t2)和第一认证参数生成第三认证参数(例如,图6中的U2)。如图13所示,该装置还可以包括第二发送模块960,第二发送模块960可以向用户设备发送第三认证参数。
应理解,图13中的第二发送模块960可以单独作为一个模块,也可以由一个发送模块实现上述两个发送模块940和960的功能,本申请实施例对某个具体模块的数量不作限制。
应理解,本申请实施例中,该处理器可以为中央处理单元(CPU,centralprocessing unit),该处理器还可以是其他通用处理器、数字信号处理器(DSP,digitalsignal processor)、专用集成电路(ASIC,application specific integrated circuit)、现成可编程门阵列(FPGA,field programmable gate array)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,read-only memory)、可编程只读存储器(PROM,programmable ROM)、可擦除可编程只读存储器(EPROM,erasable PROM)、电可擦除可编程只读存储器(EEPROM,electrically EPROM)或闪存。易失性存储器可以是随机存取存储器(RAM,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(RAM,randomaccess memory)可用,例如静态随机存取存储器(SRAM,static RAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM,synchronous DRAM)、双倍数据速率同步动态随机存取存储器(DDR SDRAM,double data rate SDRAM)、增强型同步动态随机存取存储器(ESDRAM,enhanced SDRAM)、同步连接动态随机存取存储器(SLDRAM,synchlink DRAM)和直接内存总线随机存取存储器(DR RAM,direct rambus RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行该计算机指令或计算机程序时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。该功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例该方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。

Claims (19)

1.一种分布式门限签名的方法,其特征在于,所述方法包括:
用户设备接收用户输入的口令(pw);
所述用户设备根据所述口令生成第一密钥份(sk0);
所述用户设备根据所述第一密钥份生成消息m的第一签名分量(R0,c0);
所述用户设备向第一设备发送所述第一签名分量,以便于所述第一设备根据第二密钥份(sk1)和所述第一签名分量生成所述消息m的第二签名分量(R1,c1);
所述用户设备向第二设备发送所述第一签名分量,以便于所述第二设备根据第三密钥份(sk2)、所述第一签名分量和所述第二签名分量生成所述消息m的第四签名分量(R,c);
所述用户设备接收第一设备发送的第三签名分量(R,c*),所述第三签名分量是所述第一设备根据所述第四签名分量(R,c)生成的;
所述用户设备根据所述第三签名分量生成所述消息m的完整签名(R,s)。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述用户设备根据所述口令分别生成第一认证信息(π1)和第二认证信息(π2);
所述用户设备根据所述第一认证信息生成第一消息认证码(τ1),所述第一消息认证码用于所述第一设备认证所述用户设备的身份;
所述用户设备根据所述第二认证信息生成第二消息认证码(τ2),所述第二消息认证码用于所述第二设备认证所述用户设备的身份;
所述用户设备向所述第一设备发送所述第一消息认证码(τ1);
所述用户设备向所述第二设备发送所述第二消息认证码(τ2)。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述用户设备建立同态加密机制和同态解密机制;
所述用户设备向所述第一设备发送所述同态加密机制,所述同态加密机制用于所述第一设备生成所述第二签名分量或所述第三签名分量;
所述用户设备向所述第二设备发送所述同态加密机制,所述同态加密机制用于所述第二设备生成所述第四签名分量;
其中,所述用户设备根据所述第三签名分量(R,c*)生成所述消息m的完整签名(R,s),包括:
所述用户设备根据所述同态解密机制对所述第三签名分量(R,c*)中的c*进行解密,得到s*;
所述用户设备根据所述s*计算所述完整签名(R,s)中的s。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
所述用户设备确定用于签名的第一私钥(sk);
所述用户设备接收用户输入的所述口令;
所述用户设备根据所述口令生成所述第一密钥份(sk0);
所述用户设备根据所述第一私钥(sk)和所述第一密钥份(sk0)确定所述第二密钥份(sk1)和所述第三密钥份(sk2);
所述用户设备向所述第一设备发送所述第二密钥份(sk1),以便于所述第一设备存储所述第二密钥份;
所述用户设备向所述第二设备发送所述第三密钥份(sk2),以便于所述第二设备存储所述第三密钥份。
5.根据权利要求4所述的方法,其特征在于,所述用户设备根据所述第一私钥和所述第一密钥份确定所述第二密钥份和所述第三密钥份,包括:
所述用户设备确定所述第二密钥份(sk1)为随机数;
所述用户设备根据所述第一私钥、所述第一密钥份和所述第二密钥份生成所述第三密钥份。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
所述用户设备根据所述口令分别生成第一认证信息(π1)和第二认证信息(π2),所述第一认证信息用于所述第一设备认证所述用户设备的身份,所述第二认证信息用于所述第二设备认证所述用户设备的身份;
所述用户设备向所述第一设备发送所述第一认证信息(π1),以便于所述第一设备存储所述第一认证信息;
所述用户设备向所述第二设备发送所述第二认证信息(π2),以便于所述第二设备存储所述第二认证信息。
7.根据权利要求2至6中任一项所述的方法,其特征在于,所述用户设备根据所述口令分别生成第一认证信息(π1)和第二认证信息(π2),包括:
所述用户设备根据所述口令生成第一认证参数(U),所述第一认证参数(U)用于所述第一设备根据所述第一认证参数生成第二认证参数(U1),所述第一认证参数(U)还用于所述第二设备根据所述第一认证参数生成第三认证参数(U2);
所述用户设备分别向所述第一设备和所述第二设备发送所述第一认证参数(U);
所述用户设备接收所述第一设备发送的第二认证参数(U1),接收所述第二设备发送的第三认证参数(U2);
所述用户设备根据所述第二认证参数(U1)生成第一身份认证信息(π1),根据所述第三认证参数(U2)生成第二身份认证信息(π2)。
8.根据权利要求2至6中任一项所述的方法,其特征在于,所述用户设备根据所述口令分别生成第一认证信息(π1)和第二认证信息(π2),包括:
所述用户设备根据口令认证密钥交换(PAKE)协议分别生成第一认证信息(π1)和第二认证信息(π2)。
9.一种分布式门限签名的装置,其特征在于,所述装置包括:
第一接收模块,所述第一接收模块用于接收用户输入的口令(pw);
处理模块,所述处理模块用于根据所述口令生成第一密钥份(sk0),并根据所述第一密钥份生成消息m的第一签名分量(R0,c0);
第一发送模块,所述第一发送模块用于向第一设备发送所述第一签名分量,以便于所述第一设备根据第二密钥份(sk1)和所述第一签名分量生成所述消息m的第二签名分量(R1,c1);
第二发送模块,所述第二发送模块用于向第二设备发送所述第一签名分量,以便于所述第二设备根据第三密钥份(sk2)、所述第一签名分量和所述第二签名分量生成所述消息m的第四签名分量(R,c);
第二接收模块,所述第二接收模块用于接收第一设备发送的第三签名分量(R,c*),所述第三签名分量是所述第一设备根据所述第四签名分量(R,c)生成的;
所述处理模块还用于:根据所述第三签名分量生成所述消息m的完整签名(R,s)。
10.根据权利要求9所述的装置,其特征在于,所述处理模块还用于:
根据所述口令分别生成第一认证信息(π1)和第二认证信息(π2);
根据所述第一认证信息生成第一消息认证码(τ1),所述第一消息认证码用于所述第一设备认证用户设备的身份;
根据所述第二认证信息生成第二消息认证码(τ2),所述第二消息认证码用于所述第二设备认证所述用户设备的身份;
所述第一发送模块还用于:向所述第一设备发送所述第一消息认证码(τ1);
所述第二发送模块还用于:向所述第二设备发送所述第二消息认证码(τ2)。
11.根据权利要求9或10所述的装置,其特征在于,所述处理模块还用于:建立同态加密机制和同态解密机制;
所述第一发送模块还用于:向所述第一设备发送所述同态加密机制,所述同态加密机制用于所述第一设备生成所述第二签名分量或所述第三签名分量;
所述第二发送模块还用于:向所述第二设备发送所述同态加密机制,所述同态加密机制用于所述第二设备生成所述第四签名分量;
其中,所述处理模块具体用于:根据所述同态解密机制对所述第三签名分量(R,c*)中的c*进行解密,得到s*,根据所述s*计算所述完整签名(R,s)中的s。
12.根据权利要求9至11中任一项所述的装置,其特征在于,
所述处理模块还用于:
确定用于签名的第一私钥(sk);
根据口令生成所述第一密钥份(sk0);
根据所述第一私钥(sk)和所述第一密钥份(sk0)确定第二密钥份(sk1)和第三密钥份(sk2);
所述第一发送模块还用于:向第一设备发送所述第二密钥份(sk1),以便于所述第一设备存储所述第二密钥份;
所述第二发送模块还用于:向第二设备发送所述第三密钥份(sk2),以便于所述第二设备存储所述第三密钥份。
13.根据权利要求12所述的装置,其特征在于,所述处理模块具体用于:
确定所述第二密钥份(sk1)为随机数;
根据所述第一私钥、所述第一密钥份和所述第二密钥份生成所述第三密钥份。
14.根据权利要求9至13中任一项所述的装置,其特征在于,
所述处理模块还用于:根据所述口令分别生成第一认证信息(π1)和第二认证信息(π2),所述第一认证信息用于所述第一设备认证用户设备的身份,所述第二认证信息用于所述第二设备认证所述用户设备的身份;
所述第一发送模块还用于:向所述第一设备发送所述第一认证信息(π1),以便于所述第一设备存储所述第一认证信息;
所述第二发送模块还用于:向所述第二设备发送所述第二认证信息(π2),以便于所述第二设备存储所述第二认证信息。
15.根据权利要求10至14中任一项所述的装置,其特征在于,所述处理模块具体用于:
根据所述口令生成第一认证参数(U),所述第一认证参数(U)用于所述第一设备根据所述第一认证参数生成第二认证参数(U1),所述第一认证参数(U)还用于所述第二设备根据所述第一认证参数生成第三认证参数(U2);
所述第一发送模块还用于:向所述第一设备发送所述第一认证参数(U);
所述第二发送模块还用于:向所述第二设备发送所述第一认证参数(U);
所述第二接收模块还用于:接收所述第一设备发送的第二认证参数(U1);
所述装置还包括:第三接收模块,所述第三接收模块用于接收所述第二设备发送的第三认证参数(U2);
所述处理模块具体还用于:根据所述第二认证参数(U1)生成第一身份认证信息(π1),根据所述第三认证参数(U2)生成第二身份认证信息(π2)。
16.根据权利要求10至14中任一项所述的装置,其特征在于,所述处理模块具体用于:
根据口令认证密钥交换(PAKE)协议分别生成第一认证信息(π1)和第二认证信息(π2)。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序运行时,使得装置执行如权利要求1至9中任意一项所述的方法。
18.一种芯片系统,其特征在于,包括:处理器,用于从存储器中调用并运行计算机程序,
使得安装有所述芯片系统的通信装置执行如权利要求1至9中任意一项所述的方法。
19.一种分布式门限签名的系统,其特征在于,所述系统包括:包括用户设备、第一设备和第二设备,其中,所述用户设备用于执行如权利要求1至9中任意一项所述的方法。
CN202011487854.9A 2020-12-16 2020-12-16 一种分布式门限签名的方法和装置 Active CN114640440B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011487854.9A CN114640440B (zh) 2020-12-16 2020-12-16 一种分布式门限签名的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011487854.9A CN114640440B (zh) 2020-12-16 2020-12-16 一种分布式门限签名的方法和装置

Publications (2)

Publication Number Publication Date
CN114640440A CN114640440A (zh) 2022-06-17
CN114640440B true CN114640440B (zh) 2023-11-17

Family

ID=81945440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011487854.9A Active CN114640440B (zh) 2020-12-16 2020-12-16 一种分布式门限签名的方法和装置

Country Status (1)

Country Link
CN (1) CN114640440B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506156A (zh) * 2016-12-15 2017-03-15 北京三未信安科技发展有限公司 一种基于椭圆曲线的分布式门限签名方法
CN108989047A (zh) * 2018-07-19 2018-12-11 郑州信大捷安信息技术股份有限公司 一种基于sm2算法的通信双方协同签名方法与系统
CN110784320A (zh) * 2019-11-04 2020-02-11 张冰 分布式密钥实现方法、系统及用户身份管理方法、系统
CN111262704A (zh) * 2020-01-15 2020-06-09 江苏芯盛智能科技有限公司 Sm9数字签名生成方法、装置、计算机设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9013266B2 (en) * 2006-09-08 2015-04-21 Certicom Corp. Authenticated radio frequency identification and key distribution system therefor
GB2524578A (en) * 2014-03-28 2015-09-30 Ibm Production of cryptographic signatures

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506156A (zh) * 2016-12-15 2017-03-15 北京三未信安科技发展有限公司 一种基于椭圆曲线的分布式门限签名方法
CN108989047A (zh) * 2018-07-19 2018-12-11 郑州信大捷安信息技术股份有限公司 一种基于sm2算法的通信双方协同签名方法与系统
CN110784320A (zh) * 2019-11-04 2020-02-11 张冰 分布式密钥实现方法、系统及用户身份管理方法、系统
CN111262704A (zh) * 2020-01-15 2020-06-09 江苏芯盛智能科技有限公司 Sm9数字签名生成方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于SM2的双方共同签名协议及其应用;苏吟雪;田海博;;计算机学报(第04期);全文 *

Also Published As

Publication number Publication date
CN114640440A (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
CN107948189B (zh) 非对称密码身份鉴别方法、装置、计算机设备及存储介质
CN108667626B (zh) 安全的两方协作sm2签名方法
CN107947913B (zh) 一种基于身份的匿名认证方法与系统
US7814320B2 (en) Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks
US20190372763A1 (en) System and method for computing private keys for self certified identity based signature schemes
JP5201136B2 (ja) 匿名認証システムおよび匿名認証方法
EP2416524B1 (en) System and method for secure transaction of data between wireless communication device and server
CN102547688B (zh) 一种基于虚拟专用信道的高可信手机安全通信信道的建立方法
CN110048849B (zh) 一种多层保护的会话密钥协商方法
CN110113150B (zh) 基于无证书环境的可否认认证的加密方法和系统
CN107682152B (zh) 一种基于对称密码的群组密钥协商方法
US11044081B2 (en) System and method for obtaining a common session key between devices
KR100989185B1 (ko) Rsa기반 패스워드 인증을 통한 세션키 분배방법
Wang et al. Provably secure and efficient identification and key agreement protocol with user anonymity
CN114726546A (zh) 数字身份认证方法、装置、设备和存储介质
Bicakci et al. Server assisted signatures revisited
Tseng An improved conference‐key agreement protocol with forward secrecy
Zhang et al. Robust and efficient password authenticated key agreement with user anonymity for session initiation protocol‐based communications
CN111669275B (zh) 一种无线网络环境下可选择从节点的主从协作签名方法
TWI761243B (zh) 群組即時通訊的加密系統和加密方法
CN114389808B (zh) 一种基于SM9盲签名的OpenID协议设计方法
CN114640440B (zh) 一种分布式门限签名的方法和装置
CN112533213B (zh) 一种密钥协商方法、装置、终端及存储介质
Lee et al. Toward a secure single sign-on mechanism for distributed computer networks
Dugardin et al. A New Fair Identity Based Encryption Scheme

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