CN112889047A - 利用多个装置以增强生物计量认证安全 - Google Patents

利用多个装置以增强生物计量认证安全 Download PDF

Info

Publication number
CN112889047A
CN112889047A CN201980064938.0A CN201980064938A CN112889047A CN 112889047 A CN112889047 A CN 112889047A CN 201980064938 A CN201980064938 A CN 201980064938A CN 112889047 A CN112889047 A CN 112889047A
Authority
CN
China
Prior art keywords
template
key
partial
biometric
threshold
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
CN201980064938.0A
Other languages
English (en)
Inventor
S·阿格拉沃尔
S·巴德里纳拉亚南
P·莫哈塞尔
P·穆克赫吉
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.)
Visa International Service Association
Original Assignee
Visa International Service Association
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 Visa International Service Association filed Critical Visa International Service Association
Publication of CN112889047A publication Critical patent/CN112889047A/zh
Pending legal-status Critical Current

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/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/3231Biological data, e.g. fingerprint, voice or retina
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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
    • 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/3271Cryptographic 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 challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Collating Specific Patterns (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

本文中描述使用生物计量信息向第二装置认证用户的第一装置的***、方法和设备。一种方法包括由所述第一装置存储私钥的第一密钥份额和所述用户的生物计量模板的第一模板份额。所述第二装置存储公钥,并且所述用户的一个或多个其它装置存储其它密钥份额和其它模板份额。所述第一装置从所述第二装置接收质询消息,测量所述用户的生物计量特征以获得测量向量,并且将所述测量向量和所述质询消息发送给所述其它装置。所述第一装置从所述其它装置接收使用相应模板份额、密钥份额和所述质询消息生成的部分计算,将所述部分计算用于生成所述质询消息的签名并将所述签名发送给所述第二装置。

Description

利用多个装置以增强生物计量认证安全
相关申请交叉引用
本申请要求标题为“利用多个装置以增强生物计量认证安全(LeveragingMultiple Devices To Enhance Security Of Biometric Authentication)”并在2018年10月4日提交的第62/741,431号美国临时专利申请的优先权,所述美国临时专利申请出于所有目的而以全文引用的方式并入本文中。
背景技术
用户认证是当今互联网应用的关键组成部分。用户登录电子邮件应用程序以发送/接收电子邮件且越来越多地启用其它应用程序的第二认证因子;到银行网站查看余额并执行交易;以及到支付应用程序以在家人和朋友之间转款。用户认证也是管理对敏感数据、服务和资源的访问的任何企业访问控制机制的组成部分。
近三十年来,基于密码的认证已是认证用户的主导方法,其依赖于“用户所知信息”。但此方法可能具有安全和可用性问题。首先,在基于密码的认证中,服务器存储所有密码的函数,且因此可能容易被攻破以及遭受离线词典攻击。实际上,在自然场景下,大规模密码攻破极为常见。此外,由于攻击者仅需要捕捉到充当永久秘密凭证的密码以便假扮用户,因此基于密码的认证更容易发生网络欺诈。
密码还可造成具有挑战性的可用性问题。高熵密码难以让人记住,而低熵密码几乎不提供安全性,并且研究已表明引入关于密码选择的复杂限制条件可能事与愿违。尤其是在支配用户互联网活动的移动和物联网装置上,密码还可能不便输入以及输入缓慢。
行业中进行着大量努力来解决这其中的一些问题。例如,如指纹(例如GooglePixel的指纹[1])、面部扫描(例如Apple iPhone中使用的Face-ID[2])和虹膜扫描(例如Samsung Galaxy手机)等“唯一”生物计量特征是越来越流行的第一或第二因素认证机制,用于登录到装置、付款并标识消费者装置上的众多应用程序。研究表明,生物计量数据对用户更加友好,尤其是在移动装置上,因为用户可能不必记住或输入任何秘密信息。
此外,行业正从在服务器侧传送或存储永久用户凭证/秘密转变。这可显著降低服务器攻破和网络欺诈等可扩展攻击的可能性。例如,生物计量模板和测量值可在客户端侧存储和处理,其中还发生生物计量匹配。成功的匹配随后解锁用于数字签名方案(即,公钥凭证)的私用签名密钥,所述数字签名方案用于生成关于新的质询、应用程序来源和某些用户信息等各种信息的令牌。仅一次性可用的数字签名被传送给存储和使用公共验证密钥来验证令牌并标识用户的服务器。
这是FIDO联盟[3]所采取的方法,所述联盟是世界上最大的行业范围内的努力,旨在实现企业和服务提供商可使用的基于硬件、移动和生物计量数据的认证器的可互操作生态***。所述框架也被主要的互联网玩家广泛采用,并以W3C标准WebAuthn API的形式嵌入到所有浏览器实施方案中,比如Chrome、Firefox和Edge的最新版本。
在将生物计量数据和私钥存储在客户端装置上的情况下,主要的挑战在于安全地保护它们。这对于生物计量数据尤其至关重要,因为不同于密码,生物计量数据是不可更换的。这样做最安全的方法是依赖于硬件解决方案,如在各种应用程序和秘密之间提供物理和逻辑上的分离的安全飞地和受信任执行环境。但硬件解决方案并非总是在装置上可用(例如,并非所有移动电话或IoT装置都配备有安全元件),或者大规模支持可能成本高昂。此外,它们为开发人员和创新者提供的可编程性极少。例如,将新的生物计量认证解决方案编程到安全元素中需要来自OEM和OS开发人员等所有相关方的支持。
基于软件的解决方案,例如白盒密码术,通常基于定期破解的特设技术。可证明安全的替代方案,即密码模糊处理,极其低效并且相关群体对所述替代方案的数学基础没有信心。替代方法是将通常用于保护密码的“加盐和散列”技术应用于生物计量模板,之后将其存储到客户端装置上。原初加盐和散列解决方案可能会失败,因为生物计量匹配通常是检查两个向量之间的距离是否高于阈值的模糊匹配。
实施散列和加盐方法的更好方式是借助被称作模糊提取器的强大原语[4]。令人遗憾的是,这仍然容易遭遇对生物计量的离线字典攻击(尝试不同的生物计量测量值,直到找到一个生成正确公钥的测量值),并且不能解决在每个认证会话期间保护存储器中重建的签名密钥的问题。此外,现有的模糊提取器解决方案不支持广泛范围的距离度量(例如余弦相似性、欧几里德距离(Euclidean distance)等)和当今实际生物计量匹配所需的必要准确度水平。
本公开的实施例单独地以及共同地解决这些问题和其它问题。
发明内容
本公开的一些实施例涉及使用生物计量信息向第二电子装置认证用户的第一电子装置的方法。所述第一电子装置可存储私钥的第一密钥份额,其中所述第二电子装置存储与所述私钥相关联的公钥,并且其中所述用户的一个或多个其它电子装置存储所述私钥的其它密钥份额。所述第一装置可存储所述用户的生物计量模板的第一模板份额,其中所述用户的所述一个或多个其它电子装置存储所述生物计量模板的其它模板份额。当所述第一装置从所述第二电子装置接收质询消息时,所述第一装置可通过生物计量传感器测量所述用户的一组生物计量特征以获得由所述一组生物计量特征的测得值构成的测量向量,其中所述生物计量模板包括由先前从所述用户测得的所述一组生物计量特征的测得值构成的模板向量。所述第一装置可将所述测量向量和所述质询消息发送给所述一个或多个其它电子装置。所述第一装置可使用所述第一模板份额、所述第一密钥份额和所述质询消息生成第一部分计算,并且从所述一个或多个其它电子装置接收至少T个其它部分计算,其中使用相应模板份额、相应密钥份额和所述质询消息生成所述至少T个其它部分计算中的每一个。所述第一装置可使用所述第一部分计算和所述至少T个其它部分计算生成所述质询消息的签名,并将所述签名发送给所述第二电子装置。
本发明的一些实施例涉及通过特定距离测度生成部分计算,而另一实施例是涉及通过任何合适的距离测度生成部分计算。
本发明的其它实施例涉及与上文所描述的方法相关联的***和计算机可读介质。
在下文参考附图和具体实施方式进一步详细描述本发明的这些和其它实施例。
附图说明
图1A和1B示出FIDO通用认证框架流程的概观。
图2示出根据一些实施例的高级装置注册流程。
图3示出根据一些实施例的高级装置认证流程。
图4示出根据一些实施例的用于模糊阈值签名生成的一般流程图。
图5示出根据一些实施例的泛函
Figure BDA0003002419710000041
图6示出根据本发明的实施例的电路。
图7示出根据本发明的实施例的另一电路。
图8示出可结合根据本发明的实施例的***和方法使用的示例计算机***的框图。
具体实施方式
本公开的实施例可由以下实情推动:大多数用户拥有并携带多个装置,例如其笔记本电脑、智能电话和智能手表,并且在认证时周围有其它物联网装置,例如其智能TV或智能家用电器。实施例提供了用于客户端侧基于生物计量的认证的新框架,其目标是将生物计量模板以及秘密签名密钥分布在多个装置当中,所述多个装置共同执行生物计量匹配和签名生成,但从不在一个装置上重建模板或签名密钥。此框架可被称为模糊阈值令牌生成(FTTG)。FTTG还可用于通过以充分分布方式将生物计量信息分布在执行匹配和令牌生成(例如,对于单点登录认证令牌)的多个服务器当中而在服务器侧保护所述生物计量信息。
我们发起对FTTG的正式研究,并引入了在框架内安全的一些具体协议。在根据实施例的协议中,在一次性注册阶段期间,模板和签名密钥都分布在n个装置当中,其中任何t个装置可生成令牌。n和t的精确值是方案的参数,并且在不同协议中是不同的。然后,在每个认证会话期间,发起装置会获得生物计量测量值并与t-1个其它装置交换恒定数目的消息,以便验证所述生物计量测量值相对于某个距离测度与秘密共享模板足够接近,并且如果是,则在发起方选择的消息上获得令牌,所述令牌也可称为数字签名。
我们正式地定义了模糊阈值令牌生成方案。我们提供了统一定义,其充分体现在分布式环境中对抗恶意敌手的生物计量数据的隐私和令牌的不可伪造性。我们的定义遵循现实-理想范式,但为了效率和简单化,可使用独立场景。
我们提出一种基于任何两轮UC安全多方计算协议的任何距离函数的四轮协议,所述协议可使用广播信道(例如[5、6、7、8、9])。此协议适用于任何n和t(≤n),最多可容忍t-1次恶意损坏。应注意,恒定轮数的MPC协议的通用应用可能无法满足以下重要考虑因素:每个接触方仅需要与单个发起方交换消息。此协议是可行性结果,因为所得协议不是黑盒。为了获得具有具体效率的协议,实施例可处理用于生物计量认证的最普及的距离函数,包括汉明距离(Hamming distance)(用于虹膜扫描)、余弦相似性和欧几里德距离(两者都用于面部辨识)。
对于余弦相似性,实施例可包括非常有效的四轮协议,所述协议支持阈值t=3的任何n,并且对于一方的破坏是安全的。所述协议可将例如加法同态加密(AHE)方案和相关联的NIZK等技术与混淆电路技术相结合以获得混合协议,其中使用AHE执行算术运算(例如内积),并且在小的混淆电路中进行非算术运算(例如比较)。同样的构造很容易扩展到欧几里德距离的构造。
I.简介
A.FIDO通用认证框架
现在让我们更深入地研究FIDO联盟架构[3],所述架构提出一种向认证服务器认证装置的方式。图1A示出用于典型装置注册的高级流程图。
在步骤102,用户装置110可生成用于非对称加密方案的公钥和秘密密钥。或者,公钥和秘密密钥可预配到用户装置110。
在步骤104,用户的装置110可将公钥发送到认证服务器140。认证服务器140可存储用户的公钥并对装置进行注册。用户的装置110可例如在硬件安全模块上安全地存储秘密密钥。用户装置110可使用额外保护来保护秘密密钥,例如使用先前输入的生物计量数据(例如,用户的指纹、用户的面部扫描)
图1B示出用于注册的装置后续认证的高级流程图。当用户的装置110尝试访问安全的或受保护资源时,可发起协议。例如,认证服务器140可控制对安全数据库的访问。作为另一示例,认证服务器140可在发起交易之前认证用户。
在步骤106,认证服务器140可向用户装置110发送质询。质询可以是消息,并且可响应于用户装置110发起访问尝试而被发送。
在步骤108,用户的装置110可使用秘密密钥对质询进行签名,并将签名的质询发送回认证服务器140。例如,用户装置110可通过用秘密密钥加密质询消息而对质询进行签名。作为另一示例,用户装置110可生成包括质询中的信息和秘密密钥的密码。认证服务器140可使用先前提供的公钥来验证质询。例如,认证服务器140可使用公钥来解密签名的消息,并确定解密的消息是否与质询匹配。如果签名是有效的,则可允许用户访问资源。
用户可通过使用生物计量来使此过程更安全。在注册阶段期间,用户可将生物计量数据输入到用户装置110中。例如,用户可使用用户装置110的相机来拍摄用户面部的图片。可从生物计量数据中提取生物计量模板(例如,面部扫描)并将其“安全地”存储在用户装置110内部。同时,可生成秘密密钥/公钥对。公钥可与认证服务器140通信,而密钥会安全地存储在用户装置110中。秘密密钥实际上是用模板“锁定”的。稍后,在登录期间,使用候选模板来解锁秘密密钥,然后可在标准标识协议中使用所述秘密密钥。
FIDO规范强调,在登录期间,装置内部“安全地”发生近似匹配。一种常用的实例化方法是使用安全元件(例如Apple iPhone[2]):模板始终与其它敏感数据一起存储在安全元件(secure element,SE)(例如硬件安全模块)内部。在输入候选模板时,在SE内部执行近似匹配。然而,使用SE有许多缺点:SE通常是昂贵的、特定于平台的,提供有限的可编程性并且不容易更新(因为更新可能需要改***件)。此外,它们还受到旁道攻击,这些攻击可在(例如)被盗装置上执行。因此,提供一个高效、可证明安全、灵活、纯软件的解决方案是非常重要的。
B.安全考虑因素
存在与本发明相关的某些安全约束。生物计量模板应永远不会被完全重建,使得如果任何装置被破解,不会揭露模板。出于类似原因,秘密密钥也不应被完全重建。只要网络中超过某一阈值的装置未被破解,分布式匹配就应该起作用。
辅助装置也不应习得生物计量匹配是否成功。这增加了安全性,因为如果其它装置没有习得生物计量匹配的结果,它们就可能无法泄漏信息,或者有信息要泄漏。比如说,如果其它装置中的一个被破解,恶意方就不能使用有关生物计量匹配的信息。辅助装置也不会习得签名生成是否成功。例如,如果装置已被破解但仍可参与认证,黑客将无法了解其具有的有关生物计量模板或秘密份额的信息是否准确或有效。
重要的是应注意,不需要其它参与装置彼此互通消息或甚至知道彼此(所有消息在发起装置与其它参与者之间交换)。在典型的使用场景中,一个或两个主要用户装置(例如笔记本电脑或智能电话)扮演发起装置的角色,并且所有其它装置仅配对/连接到主要装置,并且甚至可能不知道***中存在其它装置。这使得高效、恒定轮的FTTG协议的设计明显更具挑战性。我们假设连接的装置已建立了点对点认证信道(但不是广播信道)。
C.概观
1.装置注册
图2示出根据实施例的利用分布式生物计量的装置注册过程的总体概观。
在步骤202,用户205可将生物计量测量值输入到主要用户装置215中。主要用户装置215的生物计量传感器(例如,相机、麦克风、指纹传感器),用于测量用户205的一组生物计量特征。例如,用户205可使用主要用户装置215的相机来拍摄用户的面部的图片以进行面部扫描。生物计量测量值的其它示例可包括语音记录、虹膜扫描和指纹扫描。主要装置的作用也可由任何受信任的授权方执行,所述授权方可能不是用户的装置。举例来说,主要装置可以是认证***的计算机。
在步骤204,主要用户装置215可生成用于非对称加密方案的公钥和私钥。主要用户装置215还可使用生物计量测量值来创建生物计量模板。生物计量模板可包括模板向量,并且所述模板向量可包括用户的所述一组生物计量特征的测得值。例如,主要用户装置215可计算在用户面部图片中标识的面部特征之间的距离。所计算的距离可包括生物计量模板的模板向量。
在步骤206,主要用户装置215可生成私钥和模板的份额,以及稍后认证可能需要的任何其它参数。然后,主要用户装置215可存储私钥的第一密钥份额。用户装置还可存储生物计量模板的第一模板份额。
在步骤208,主要用户装置215可向用户的多个其它用户装置225、235中的每一个发送私钥的其它密钥份额、模板的其它模板份额和其它参数。用户的其它装置可包括例如笔记本电脑、智能电话、可穿戴装置、智能TV、IoT连接装置等。图2中示出两个其它装置,然而,实施例可包括与主要用户装置215相关联的更多或更少装置。其它用户装置225、235中的每一个可存储私钥的密钥份额、模板的模板份额和其它参数。其它用户装置225、235可以或可以不将接收到的信息存储在安全存储装置中。
在步骤210,主要用户装置215可将公钥发送到认证服务器245。认证服务器245可安全地存储公钥。公钥可连同用户205和/或主要用户装置215的标识符一起存储。主要用户装置215现在可得以注册。
2.装置认证
图3示出了当主要用户装置215尝试访问安全的或受保护资源时使用分布式生物计量的装置认证的总体概观。例如,主要用户装置215可尝试访问由认证服务器245控制的安全数据库。
在步骤302,认证服务器245可向主要用户装置215发送质询消息。所述质询消息可以是向量。
在步骤304,用户205可将生物计量测量值输入到主要用户装置215中。主要用户装置215的生物计量传感器(例如,相机、麦克风、指纹传感器),用于测量用户205的一组生物计量特征。例如,用户205可使用主要用户装置215的相机来拍摄用户的面部的图片以用于面部扫描。作为另一示例,用户205可使用主要用户装置215的传感器来扫描其指纹。主要用户装置215随后可生成包括所述一组生物计量特征的测得值的测量向量。例如,所述测得值可以是用户的面部特征之间的计算距离。
在步骤306,主要用户装置215和其它用户装置225、235可将先前分布的生物计量模板与新生物计量测量值进行匹配。主要用户装置215可将测量向量和质询消息发送给其它装置。每个用户装置215、225、235可利用其模板份额和测量向量生成部分计算。例如,可在模板份额与测量向量之间计算内积。在实施例中,步骤306和308可同时发生。
在步骤308,主要用户装置215和其它用户装置225、235可利用秘密密钥的密钥份额来对质询消息进行签名。每个用户装置215、225、235可利用质询消息和相应密钥份额生成部分计算。所述部分计算可以是例如利用相应密钥份额对质询消息的部分加密。还可通过来自相应模板份额和测量向量的部分计算的结果生成所述部分计算。在生成每个部分计算之后,每个用户装置225、235可将所述部分计算发送到主要用户装置215。在接收到所述部分计算之后,主要用户装置215可使用所述部分计算生成质询消息的签名。主要用户装置215可能需要从阈值数目T的其它装置接收部分计算。由主要用户装置215生成的第一部分计算可以是至少T个部分计算中的一个。例如,主要用户装置215可能需要接收至少三个部分计算,并且可从两个其它装置接收所述部分计算。所述阈值可低于接收到密钥份额和模板份额的其它装置的总数目,使得在其它装置中的一个或多个被破解的情况下仍可生成签名。
在步骤310,主要用户装置215可将签名发送到认证服务器245。主要用户装置215还可将质询消息发送给认证服务器。如果生成有效签名,则认证服务器245将能够使用先前提供的公钥来验证所述签名并允许用户访问资源。如果未生成有效签名,则装置将不被认证并且用户不会获得对资源的访问权。
II.技术概述
我们首先简单地描述模糊阈值令牌生成(Fuzzy Threshold Token Generation)方案的概念。
考虑一组n方以及在向量
Figure BDA0003002419710000091
上的分布
Figure BDA0003002419710000092
将Dist指示为所考虑的距离测度。首先,在注册阶段,对生物计量模板
Figure BDA0003002419710000093
进行采样并在所有各方之间进行秘密共享。此外,还实施不可伪造阈值签名方案的设置,并且签名密钥是在n方当中共享的秘密。随后是设置阶段,其中合适的公共和秘密参数由受信任方进行采样并在n方当中分布。然后,在在线认证会话(或登录阶段)中,希望生成关于消息m的令牌的具有输入向量
Figure BDA0003002419710000094
的任一方P*可与由t方(包括其自身)组成的任何集合
Figure BDA0003002419710000095
交互以使用阈值签名方案生成关于消息m的令牌(签名)。请注意,P*仅在
Figure BDA0003002419710000096
时获得令牌,其中d由所述方案参数化。要记住,在这一阶段,集合
Figure BDA0003002419710000097
中的各方不允许互通消息。具体地说,通信模型仅涉及P*方与
Figure BDA0003002419710000098
中的每一方单独交互。
模糊阈值令牌生成(FTTG)方案的安全定义充分体现两个属性:隐私性和不可伪造性。非正式地说,隐私性表示长期秘密,即,生物计量模板
Figure BDA0003002419710000099
和阈值签名方案的签名密钥应该对***中的每一方完全隐藏。在优选实施例中,每个认证会话中使用的在线输入向量
Figure BDA00030024197100000910
应当对除了发起方之外的所有方隐藏。不可伪造性要求任何一方在未参与认证会话的情况下都不能像与至少t个其它方交互的发起方那样使用消息m和输入向量
Figure BDA00030024197100000911
以使得
Figure BDA00030024197100000912
来生成关于任何消息m的令牌。我们通过针对恶意敌手的现实-理想安全博弈来形式化这两种属性。请读者参考章节V了解详细定义,包括对正式定义用以实现有意义的安全性、同时仍能够建构高效的协议的原语所涉及的各种微妙之处的论述。
图4示出用于模糊阈值签名生成的一般实施例的泳道流程图。图4可用于使用例如一个或多个指纹、眼睛等的生物计量测量值来实施认证。
在步骤402,第一装置405存储私钥的第一份额,第二装置415存储与私钥相关联的公钥,并且其它装置425存储私钥的其它份额。私钥和公钥是密钥,可以是由受信任授权方针对秘密密钥加密方案生成的密钥。受信任授权方可以是第一装置。第二装置可以是授权服务器。
在步骤404,第一装置405存储生物计量模板的第一份额,并且其它装置425存储生物计量模板的其它份额。生物计量模板包括模板向量,所述模板向量由先前从第一装置的用户测得的一组生物计量特征的测得值构成。生物计量模板可能已由受信任授权方生成。在一些实施例中,生物计量模板可不划分成份额。第一模板份额和其它模板份额可能全都是相同值,并且可以是生物计量模板的加密。
在步骤406,第二装置415向第一装置405发送质询消息。此消息可能响应于第一装置405请求认证以便访问某个安全的或受保护资源而被发送。例如,所述质询消息可以是与FIDO通用认证框架相关联的质询消息。
在步骤408,第一装置405从所述装置的用户获得生物计量测量值。所述生物计量测量值可通过第一装置405的生物计量传感器获得。第一装置405可使用生物计量传感器测量用户的一组生物计量特征以获得由所述一组生物计量特征的测得值构成的测量向量。例如,生物计量传感器可以是拍摄用户的面部图片的相机。第一装置随后可测量图片中标识的面部特征之间的距离以确定生物计量特征。在一些实施例中,生物计量测量值可被加密。
在步骤410,第一装置405向其它装置425发送质询消息和生物计量测量值。第一装置405还可发送其它装置425生成部分计算所需的其它信息或计算。在一些实施例中,生物计量测量值在被发送到其它装置425之前可由第一装置405进行加密。在其它实施例中,生物计量测量值可不与质询消息一起发送到其它装置425。
在步骤412,第一装置405可使用质询消息、生物计量测量值和/或私钥和模板的第一份额来生成第一部分计算。其它装置425可利用所述质询消息、生物计量测量值和/或其相应密钥份额和相应模板份额来生成其它部分计算。第一装置405和其它装置425还可利用由受信任授权方提供的信息,例如伪随机函数的密钥。所述部分计算可以是根据预先建立的距离测度来确定模板和测量值是否匹配的计算。因此,所述部分计算可以是部分距离。所述部分距离可用加法同态加密方案加密,所述方案可以是阈值完全同态加密(TFHE)方案。TFHE可允许第一装置405和其它装置425在不对加密值进行解密的情况下使用所述值的加法和乘法来计算部分计算。所述装置还可生成可用于生成质询消息的签名的令牌的部分计算。在一些实施例中,装置可部分解密部分计算(或部分距离)。
在步骤414,其它装置425将部分计算发送到第一装置405。第一装置405接收至少T个部分计算,其中T是分布式签名生成的阈值。第一部分计算可以是至少T个部分计算中的一个。第一装置405可连同每个部分计算一起接收零知识证明。所述零知识证明可用于验证所述至少T个部分计算。
在步骤416,第一装置405使用部分计算来生成质询消息的签名(例如,令牌)。例如,第一装置405可对所述部分计算求值以接收部分签名(例如,令牌的份额),然后可组合所述部分签名以生成完整签名。在一些实施例中,可例如使用加法同态加密方案来加密所述部分签名。第一装置405可将模板份额与测量向量之间的部分距离的加法同态加密的份额相加,以获得测量向量与模板向量之间的总距离。总距离可与阈值相比较,并且如果总距离小于阈值,则第一装置405可生成签名并对质询消息签名。以此方式,完整令牌的生成可与生物计量计算的成功相关。在一些实施例中,其它装置可使用零知识证明来验证总距离与阈值的比较。其它装置或第一装置405也可使用零知识证明来验证至少T个部分计算。
在一些实施例中,为了生成签名,第一装置405可生成密码程序。当测量向量在模板向量的阈值内时,密码程序可有条件地使用一组密钥来生成签名。例如,如果测量向量与模板向量之间的余弦相似性测度小于阈值,则密码程序可生成签名。在一些实施例中,密码程序可包括混淆电路。混淆电路可执行部分距离相加以及总距离与模板的比较的步骤。在一些实施例中,第一装置405可将测量向量输入到混淆电路中,因此可在第一装置405不向其它装置425发送测量向量的情况下将测量向量与模板向量进行比较。密码程序还可使用加法同态加密的属性来确定测量向量是否在模板向量的阈值内。在一些实施例中,密码程序可使用模板份额重建生物计量模板。在一些实施例中,混淆电路可输出可用于解密所述部分签名的字符串。在一些实施例中,密码程序可使用模板份额来重建生物计量模板,以便计算距离测度。
在步骤418,第一装置405向第二装置415发送签名的质询消息。第二装置415可使用存储的公钥来验证关于质询消息的签名。如果签名有效,则第一装置405可被第二装置415认证。
A.通用目的
我们现在描述四轮模糊阈值令牌生成方案中使用的技术,所述方案适用于任何距离测度,并且对可能攻陷(t-1)方的敌手是恶意安全的。
我们的出发点是以下观察结果:假设各方都能在我们的模型中自由通信,如果我们考虑以下泛函:发起方P*有输入
Figure BDA0003002419710000121
每一方
Figure BDA0003002419710000122
有输入
Figure BDA0003002419710000123
以及其相应的模份额板
Figure BDA0003002419710000124
和签名密钥,则任何具有广播信道的r轮恶意安全多方计算(MPC)协议也将直接意味着r轮模糊阈值令牌生成方案。如果
Figure BDA0003002419710000125
并且
Figure BDA0003002419710000126
则所述泛函将关于m的签名输出给P*方。近来,一些优秀的著作[5、6、7、8、9、11]示出如何根据标准假设在CRS模型中利用广播信道构造两轮UC安全MPC协议。然而,由于我们的FTTG原语的通信模型不允许所有方相互交互,因此我们现在的目标是在我们的设置中模拟两轮MPC协议π。
为了简单起见,我们首先考虑n=t=3。即,存在三方:P1、P2、P3。考虑P1是发起者的情况。现在,在我们的FTTG方案的第一轮中,P1向双方发送m,并通知它们将要与之通信的集合
Figure BDA0003002419710000127
涉及到这双方。然后,在第2轮中,我们使P2和P3发送它们的MPC协议π第一轮消息。在我们的FTTG方案的第3轮中,P1向双方发送自己的MPC协议第一轮消息。同时,P1也将P2的第一轮消息发送给P3,反之亦然。因此现在,在我们的FTTG方案的第3轮结束时,各方已交换其协议π第一轮消息。
我们的下一观察结果是,由于我们只关心P1获得输出,因此在底层协议π中,只有P1需要在第2轮中接收其它每一方的消息。因此,在我们的FTTG方案的第4轮中,P2和P3可基于到目前为止的抄本计算它们的第二轮消息并将所述消息发送给P1。这将使P1能够计算协议π的输出。
虽然上述FTTG方案正确,但遗憾的是,它不安全。注意,为了依赖协议π的安全性,我们特别需要以下情况:对于任何诚实的Pi方,每个诚实的其它方都代表其接收相同的第一轮消息。此外,实施例还可要求所有诚实方代表敌手接收相同的消息。在我们的情况下,由于通信由P1而非广播信道控制和指导,因此如果P1被攻陷而P2、P3是诚实的,则不必如此。更具体地说,可能发生以下两件事之一:(i)P1可将P3的协议π第一轮消息的不正确版本转发给P2,反之亦然,(ii)P1可将其协议π第1轮消息的不同副本发送给P2和P3
第一个问题可很容易地如下解决:我们简单地强制P3发送其协议π第1轮消息的签名的副本,所述签名的副本也由P1转发给P2。然后,如果签名验证,则P2接受消息是有效的。在设置阶段,我们可将签名密钥分发给P3,并将验证密钥分发给P2。同样地,我们可确保P2的协议π实际第1轮消息被P1转发给P3
第二个问题的解决有点棘手。构思是,我们不强制P1向双方发送相同的协议π第1轮消息,而是确保P1仅在其确实向双方发送相同的协议π第1轮消息时才习得它们的协议π第2轮消息。我们现在描述如何实施此机制。我们将msg2表示为发送给P2的P1的协议π第1轮消息,并将msg3(可能与msg2不同)表示为发送给P3的P1的协议π第1轮消息。在设置阶段,我们将伪随机函数(PRF)的两个密钥k2、k3分发给P2、P3两者。现在,在我们的FTTG方案的第4轮中,P3进行以下操作:不像以前那样发送其协议π第2轮消息,它使用秘密密钥加密方案对此消息进行加密,其中密钥为PRF(k3,msg3)。然后,在第4轮中,除了其实际消息,P2还发送PRF(k3,msg2),这将是P3仅当msg2=msg3时才用以加密其协议π第2轮消息的正确密钥。同样,我们使用密钥k2来确保只有当msg2=msg3时,才向P1揭示P2的协议π第2轮消息。
通过在每对参与方之间共享两个PRF密钥,上述方法自然地扩展到任意n、k。然后,每一方用秘密密钥对其协议π第2轮消息进行加密,所述秘密密钥是所有PRF计算的XOR。请读者参阅章节VII了解更多细节。
B.余弦相似性
我们现在针对余弦相似性距离测度描述我们的t=3的四轮有效FTTG协议中所用的技术。我们的协议能抵御可攻陷最多1方的恶意敌手。我们的构造与极相关的欧几里德距离函数极为相似,但我们在此章节中重点讨论余弦相似性。记住,对于两个向量
Figure BDA0003002419710000131
Figure BDA0003002419710000132
其中
Figure BDA0003002419710000133
表示向量的L2-范数)。首先,我们假设分布
Figure BDA0003002419710000134
对向量
Figure BDA0003002419710000135
采样,使得
Figure BDA0003002419710000136
然后,代替检查
Figure BDA0003002419710000137
我们将检查
Figure BDA0003002419710000138
这只是一种允许我们构建更高效协议的语法改变。
我们的出发点如下。假设使t=2。则实施例可使用姚氏[12]双方半诚实安全计算协议来建构两轮FTTG方案。在注册阶段,我们将
Figure BDA0003002419710000139
秘密共享为两个部分
Figure BDA00030024197100001310
并给每一方一个部分。发起者请求与其份额
Figure BDA00030024197100001311
和输入
Figure BDA00030024197100001312
对应的标签(通过不经意传输),而将另一份额
Figure BDA00030024197100001313
硬连线到其中的混淆电路重建
Figure BDA00030024197100001314
检查
Figure BDA00030024197100001315
并且如果是,则输出签名。在此协议中,如果我们使用在CRS模型中恶意安全的不经意传输协议,则我们对只得对混淆电路求值的恶意发起者具有安全性。然而,为了实现针对混淆者的恶意安全性,我们需要昂贵的零知识论证。现在,为了建立有效的协议来实现对恶意混淆者的安全性,并使所述协议在阈值t=3时适用,构思是在双方之间分配混淆过程。即,考虑发起方P1与各方P2、P3交互。现在,P2和P3均可各自使用在设置阶段生成的共享随机性生成一个混淆电路,并且求值程序可检查这两个电路是否相同。在注册阶段,P2和P3均获得份额
Figure BDA0003002419710000141
和签名密钥的份额。应注意,由于敌手最多可攻陷一方,因此这种检查将保证求值程序可习得是否诚实生成了混淆电路。为了确保求值程序不会基于不同输入来对两个混淆电路求值,混淆电路可检查P1对双方作出的OT接收器查询是否相同。虽然这直接给出了适用于阈值t=3的两轮FTTG方案,并且能够安全抵御最多可能攻陷一方的恶意敌手,但所得协议较低效。注意,为了适用于余弦相似距离测度,混淆电路将必须执行许多昂贵的操作——对于长度为
Figure BDA00030024197100001412
的向量,我们必须在混淆电路内执行
Figure BDA00030024197100001413
次乘法。我们的目标是建立一种高效的协议,它仅在混淆电路内部执行恒定数目的运算。
我们建构高效协议的策略是在混淆电路外部使用额外轮次的通信来分担繁重的计算。具体地说,如果我们可在协议的第一阶段首先在混淆电路外部进行内积计算,则第二阶段的所得混淆电路将只需要执行恒定数目的运算。为实现这一点,我们利用高效加法同态加密方案这个手段[14、15]。在我们的新协议中,在第1轮中,发起方P1将发送
Figure BDA0003002419710000142
的加密。P1可自己计算
Figure BDA0003002419710000143
P2和P3均通过使用相同共享随机性同态计算的
Figure BDA0003002419710000144
的加密进行响应。然后,P1可解密此密文并计算
Figure BDA0003002419710000145
然后,各方可在我们的FTTG方案的第3轮和第4轮中如上运行基于混淆电路的协议:即,P1请求对应于
Figure BDA0003002419710000146
Figure BDA0003002419710000147
的标签,而混淆电路像之前一样执行其余的检查。虽然这个协议是正确和有效的,但仍存在一些问题。
第一个问题在于,内积
Figure BDA0003002419710000148
当前泄漏到发起方P1,由此侵犯了模板
Figure BDA0003002419710000149
的隐私性。为了防止这种情况,我们需要设计一种机制,其中没有任何一方完全清楚地了解内积,而检查还在混淆电路中进行。一种自然的方法是P2和P3使用非常有效的秘密密钥加密方案同态地计算结果
Figure BDA00030024197100001410
的加密。在我们的例子中,一次一密随机数本可能够用。现在,P1只习得这个值的加密,因此内积被隐藏,而混淆电路结合硬连线到其中的秘密密钥可以很容易地解密所述一次一密随机数本。
第二个主要挑战是确保P1希望借以对混淆电路进行求值的输入确实是解密的输出。如果不是这样,则P1可能请求基于其选择的适当高的输入对混淆电路求值,由此违反不可伪造性。为了防止这种攻击,P2和P3使用在设置阶段生成的共享随机性不仅同态地计算
Figure BDA00030024197100001411
还计算关于值x的消息认证码(MAC)y。我们使用简单的一次性MAC,其可使用线性运算计算并且因此可使用加法同态加密方案完成。现在,混淆电路还检查MAC能正确验证,并且从MAC的安全性来看,P1无法改变两个阶段之间的输入。另外,P1可在第1轮中发送
Figure BDA0003002419710000151
的加密,使得P2、P3也可基于此而计算MAC,由此还防止P1在计算的这部分进行欺骗。
另一个需要解决的重要问题是,我们需要确保P1确实发送了有效的合式(well-formed)加密。为了做到这一点,我们依赖于来自文献的有效零知识论点。我们观察到,在我们的最终协议中,混淆电路仅执行恒定数目的运算,协议非常有效。
为了进一步优化我们的协议的具体效率,如Mohasel等人[13]所为,双方P2、P3中的一方或双方可发送整个混淆电路。另一方可仅发送混淆电路的散列,而P1可检查散列值是相等的。
III.前提
A.记法
记法[j:x]可表示值x对j方是私有的。对于协议π,我们用[j:z′]←π([i:(x,y)],[j:z],c)来表示i方有两个私有输入x和y;j方有一个私有输入z;所有其它方都没有私有输入;c是共同的公共输入;并且在执行之后,只有j接收到输出z′。xS表示每一方i∈S都有私有值xi
B.基本原语
请读者参考[18]了解阈值线性秘密共享方案、秘密密钥加密、不经意传输、混淆电路、非交互零知识论证、数字签名、抗冲突散列函数和伪随机函数的定义。参考[14]了解加法同态加密方案的定义,并且参考[19]了解电路隐私的定义。参考[18]了解安全多方计算的定义。参考附录A了解阈值不经意伪随机函数和稳健秘密共享的定义。
C.距离测度
首先,让我们回顾一下,向量
Figure BDA0003002419710000152
的L2范数被定义为
Figure BDA0003002419710000153
现在,我们定义在本发明实施例中使用的各种距离测度。此列表不具限制性,因为可使用任何合适的距离测度。
定义1(汉明距离)对于任何两个向量
Figure BDA0003002419710000154
Figure BDA0003002419710000155
它们之间的汉明距离定义为
Figure BDA0003002419710000156
的位置j的数目。
汉明距离统计测量向量和模板向量不同的点数。如果两个长度为l的向量的汉明距离最多是(l-d),则可说它们是接近的,也就是说,它们在至少d个位置上是相等的。
定义2(余弦相似性)对于任何两个向量
Figure BDA0003002419710000161
Figure BDA0003002419710000162
它们之间的余弦相似性定义如下:
Figure BDA0003002419710000163
余弦相似性使用两个向量的内积来确定向量间夹角的余弦。更小角度对应于更类似的向量。因此,如果角度小,则角度的余弦较大,并且如果余弦距离大于建立的阈值,则称向量匹配。
定义3(欧几里德距离)对于任何两个向量
Figure BDA0003002419710000164
Figure BDA0003002419710000165
它们之间的欧几里德距离定义如下:
Figure BDA0003002419710000166
欧几里德距离测量作为空间中的点的两个向量的端点之间的距离。具有较小欧几里德距离的两个向量靠得较近。因此,如果欧几里德距离低于建立的阈值,则所述向量称为匹配。
D.阈值签名
我们现在正式定义阈值签名生成方案[16]和不可伪造性的概念。
定义4(阈值签名)设
Figure BDA0003002419710000167
阈值签名方案TS是四个算法(Gen、Sign、Comb、Ver)的元组,满足下面的正确性条件。
·Gen(1κ,n,t)→(pp,vk,skn)。这是一种随机化密钥生成算法,其以n、t和安全参数κ为输入,并且生成签名验证密钥vk、共享签名密钥skn和公共参数pp。(pp是下面所有算法的隐式输入。)
·Sign(ski,m)=:σi。这是一种确定性签名算法,其将签名密钥份额ski与消息一起作为输入,并输出部分签名σi
·Comb({σi}i∈S)=:σ/⊥。这是一种确定性算法,其接受一组部分签名{ski}i∈S,并输出表示失败的签名σ或⊥。
·Ver(vk,(m,σ))=:1/0。这是一种确定性签名验证算法,其以验证密钥vk和候选消息签名对(m,σ)作为输入,并返回判决位(1表示有效签名,0表示无效签名)。
对于所有
Figure BDA0003002419710000168
任何
Figure BDA0003002419710000169
以使得t≤n、由Gen(1κ,n,t)生成的所有(pp,vk,skn)、任何消息m,以及大小至少为t的任何集合
Figure BDA00030024197100001610
如果σi=Sign(ski,m),其中i∈S,则Ver(vk,(m,Comb({σi}i∈S)))=1。
定义5(不可伪造性)如果对于所有
Figure BDA00030024197100001611
t≤n以及任何PPT敌手
Figure BDA0003002419710000171
以下博弈以可忽略的概率输出1(在安全参数中),则阈值签名方案TS=(Gen,Sign,Comb,Ver)是不可伪造的。
·初始化。运行(pp,vk,skn)←Gen(1κ,n,t)。将pp、vk给予
Figure BDA0003002419710000172
Figure BDA0003002419710000173
接收大小最多是t-1的攻陷方集合
Figure BDA0003002419710000174
然后将skC给予
Figure BDA0003002419710000175
限定γ:=t-|C|。创始列表
Figure BDA0003002419710000176
·签名查询。当查询(m,i),其中
Figure BDA0003002419710000177
返回σi←Sign(ski,m)。按
Figure BDA0003002419710000178
想要的次数运行此步骤。
·建构列表。如果表单(m,i)的签名查询次数至少为γ,则将m***列表L中。(这充分体现
Figure BDA0003002419710000179
有足够信息来计算关于m的签名)。
·输出。最终从
Figure BDA00030024197100001710
接收输出(m,σ)。当且仅当Ver(vk,(m,σ))=1并且
Figure BDA00030024197100001711
时,返回1,否则返回0。
E.特定阈值签名方案
我们现在描述基于Gap-DDH假设的Boldyreva[16]和基于RSA假设的Shoup[17]的阈值签名方案。我们将在章节IX中使用这些方案。
1.Boldyreva方案
Figure BDA00030024197100001712
为支持配对并且其中CDH较难的素数阶p的乘法循环群。具体地说,存在高效算法VerDDH(ga,gb,gc,g),对于任何
Figure BDA00030024197100001713
当且仅当c=ab mod p,其返回1,否则返回0。设
Figure BDA00030024197100001714
是建模为随机预言的散列函数。设Share为萨米尔秘密共享(Shamir's secret sharing)方案。
阈值签名方案如下:
·Setup(1λ,n,t)→([[sk]],vk,pp)。采样
Figure BDA00030024197100001715
并获得(s,s1,...,sn)←Setup(n,t,p(0,s))。设
Figure BDA00030024197100001716
ski:=si并且vk:=gs。将(ski,pp)给予i方。
·PartEval(ski,x)→yi。计算w:=H(x),
Figure BDA00030024197100001717
并输出hi
·Combine({i,yi}i∈S)=:Token/⊥。如果|S|<t则输出⊥。否则将yi解析为hi,其中i∈S,并且输出
Figure BDA00030024197100001718
·Verify(vk,x,Token)=:1/0。当且仅当VerDDH(H(x),vk,Token,g)=时,返回1。
2.Shoup方案
设Share为萨米尔秘密共享方案并且设
Figure BDA00030024197100001719
是建模为随机预言的散列函数。
阈值签名方案如下:
·Setup(1λ,n,t)→([[sk]],vk,pp)。设p′,q′为随机选择的两个等长大素数,并且设p=2p′+1以及q=2q′+1。设N=pq。随机选择另一大素数e并计算d≡e-1 modΦ(N),其中
Figure BDA0003002419710000181
是欧拉函数(Euler's totient function)。然后(d,d1,...,dn)←Share(n,t,Φ(N),(0,d))。设ski=di以及vk=(N,e)。设pp=Δ,其中Δ=n!。将(pp,vk,ski)给予i方。
·PartEval(ski,x)→yi。输出
Figure BDA0003002419710000182
·Combine({i,yi}i∈S)=:Token/⊥。如果|S|<t,则输出⊥,否则计算
Figure BDA0003002419710000183
其中
Figure BDA0003002419710000184
通过扩展欧几里德GCD算法查找整数(a,b),使得4Δ2a+eb=1。然后计算Token=za·H(x)bmod N。输出Token。
·Verify(vk,x,Token)=1/0。当且仅当Tokene=H(x)mod N时,返回1。
F.加法同态加密知识的零知识论证
在此章节中,我们列出关于任何加法同态加密方案的几个NP语言,我们在其中使用知识***的高效非交互零知识论证。
首先,设(AHE.Setup、AHE.Enc、AHE.Add、AHE.ConstMul、AHE.Dec)为加法同态加密方案的算法。设pk表示通过运行设置算法AHE.Setup(1λ)采样的公钥。设
Figure BDA0003002419710000185
表示加密方案的消息空间。
1.NP语言
第一NP语言是在给定的密文中证明明文的知识。第二NP语言证明给定三个密文,其中前两个密文合式并且检验方知道相应的明文和用于将其加密的随机性,则第三个密文是通过运行算法AHE.ConstMul(·)而生成。即,其证明第三个密文含有对在前两个密文中加密的消息的乘积的加密。
NP语言L1特征在于以下关系R1
命题:st=(ct,pk)
证据:wit=(x,r)
当且仅当以下成立时,R1(st,wit)=1:
-ct=AHE.Enc(pk,x;r)。
NP语言L2特征在于以下关系R2
设ct1=AHE.Enc(pk,x1;r1),ct2=AHE.Enc(pk,x2;r2)。
命题:st=(ct1,ct2,ct3,pk)
证据:wit=(x1,r1,x2,r2,r3)
当且仅当以下成立时,R1(st,wit)=1:
-ct3=AHE.ConstMul(pk,ct1,x2;r3)。
2.Paillier加密方案。
关于Paillier[14]的加法同态加密方案,我们具有上述两个语言的高效NIZK论证。正式地,我们具有以下引入定理:
引入定理1[20]考虑N次剩余假设的难度,在随机预言模型中,上述两个语言知识存在非交互零知识论证。
上述零知识论证极高效,并且仅代表检验方和验证者使用恒定数目的群运算。
IV.模糊阈值签名生成
我们来介绍模糊阈值令牌生成(FTTG)的概念。相对于函数Dist来定义FTTG方案,所述函数计算例如来自
Figure BDA0003002419710000191
上的
Figure BDA00030024197100001921
维向量的空间的两个向量之间的距离。在注册阶段,生成阈值签名方案的密钥份额并根据
Figure BDA0003002419710000192
上的分布
Figure BDA0003002419710000193
选择模板
Figure BDA0003002419710000194
然后将密钥和模板的份额分布在n方当中。单独的设置算法生成一些共同参数和用于每一方的一些秘密信息。在一次性设置完成后,n方中的任何一方可通过新的测量值
Figure BDA0003002419710000195
发起登录会话。如果至少t方参与所述会话,并且
Figure BDA0003002419710000196
在Dist测度方面接近分发的模板
Figure BDA0003002419710000197
则发起方会获得有效签名。
定义6(模糊阈值令牌生成)。设
Figure BDA0003002419710000198
并且
Figure BDA0003002419710000199
是在
Figure BDA00030024197100001910
中的向量上的概率分布,其中
Figure BDA00030024197100001911
设TS=(Gen,Sign,Comb,Ver)为阈值签名方案。通过满足下文陈述的正确性属性的元组(Registration,Setup,SignOn,Verify)给出用于距离测度
Figure BDA00030024197100001912
的FTTG方案,其中阈值
Figure BDA00030024197100001913
·
Figure BDA00030024197100001914
输入参数后,此算法首先运行阈值签名方案的密钥生成(sk[n],pp,vk)←Gen(1κ,n,t)。然后,其选择随机样本
Figure BDA00030024197100001915
最后,每一方i接收
Figure BDA00030024197100001916
其中
Figure BDA00030024197100001917
Figure BDA00030024197100001918
的份额。(我们将隐含地假设下面的所有协议/算法都将pp作为输入。)
·Setup()→(ppsetup,s1,...,sn):Setup是输出一些共同参数ppsetup和用于每一方的一些秘密信息si的算法(在下文算法中,ppsetup也将是隐含输入。)
·
Figure BDA00030024197100001919
SignOn是分布式协议,具有输入
Figure BDA00030024197100001920
的j方通过所述协议在集合S中的各方帮助下获得关于消息m的(私用)令牌τ(或⊥,表示失败)。每一方i∈S在所述协议中使用其私用输入
Figure BDA0003002419710000201
并输出(m,j,S)。j方另外输出τ/⊥。此外,在此协议中,j方可与集合
Figure BDA0003002419710000202
中的每一方通信,但
Figure BDA0003002419710000203
中的其它方彼此无法直接交互。
·Verify(vk,m,τ)→{0,1}:Verify是将验证密钥vk、消息m、和令牌τ作为输入、运行阈值签名方案的验证算法b:=Ver(vk,(m,τ))并输出b的算法。
正确性。对于所有
Figure BDA0003002419710000204
任何
Figure BDA0003002419710000205
以使得t≤n、任何阈值签名方案TS、任何
Figure BDA0003002419710000206
上的任何概率分布
Figure BDA0003002419710000207
任何距离
Figure BDA0003002419710000208
任何测量值
Figure BDA0003002419710000209
任何m、任何
Figure BDA00030024197100002010
以使得|S|=t以及任何j∈[n],如果
Figure BDA00030024197100002011
(ppsetup,s1,...,sn)←Setup(),并且
Figure BDA00030024197100002012
则当
Figure BDA00030024197100002013
时,Verifyl(vk,m,out)=1。
对于FTTG方案,可考虑两个自然安全考虑因素。第一个是生物计量信息的隐私性。在注册阶段,对模板进行采样和分布。显然,t-1方中的子集不应从其份额获得关于模板的任何消息。然后,每当一方执行新的测量并在其它方的帮助下生成签名时,任何参与者都不应获得有关所述测量的任何信息,甚至连所述测量与模板的接近度也不应获得。我们允许参与者习得已签名的消息、发起方的身份以及所有参与者的集合。第二自然安全考虑因素是不可伪造性。即使底层阈值签名方案不可伪造,仍有可能在不具有足够接近的测量值的情况下生成签名。不可伪造FTTG方案不应允许这种情况。
我们提出统一的现实-理想风格定义,以充分体现这两个考虑因素。在现实世界中,敌手方与诚实方之间运行登录协议的会话,而在理想世界中,它们与泛函
Figure BDA00030024197100002014
对话。这两个世界都借助于n、t、不可伪造阈值签名方案、生物计量空间的参数q、
Figure BDA00030024197100002021
成功匹配阈值d、分布
Figure BDA00030024197100002015
以及诚实方测量值序列
Figure BDA00030024197100002016
来初始化。我们将在下文定义的不可区分性条件必须适用于这些输入的所有值。具体地说,只要不可伪造,则不管初始化时使用的阈值签名方案如何,所述不可区分性条件都应适用。生物计量空间上的分布
Figure BDA00030024197100002017
也可以是任意的。
在初始化阶段,在现实世界和理想世界中均运行Registration,以生成签名密钥和模板(根据
Figure BDA00030024197100002022
选择)的份额。在现实世界中,还运行Setup。将Registration和Setup的公共输出提供给敌手
Figure BDA00030024197100002018
所述敌手输出要攻陷的一组参与方C以及序列((m1,j1,S1)、...、(mh,jh,Sh)),所述序列稍后将用于从诚实方(连同
Figure BDA00030024197100002019
)发起登录会话。将攻陷方的秘密份额给予
Figure BDA00030024197100002020
并将其余的份额给予合适的诚实方。另一方面,在理想世界中,允许
Figure BDA0003002419710000211
挑选Setup的输出。我们稍后将利用这一点以产生模拟的共同参考字符串。然而应注意,Setup的输出(不管是诚实的还是模拟的)将是最终分布的部分。
现实世界中的求值阶段可以是两个类型之一。攻陷方可发起登录会话,或
Figure BDA0003002419710000212
可要求诚实方使用之前选择的输入发起会话。在理想世界中,
Figure BDA0003002419710000213
Figure BDA0003002419710000214
交谈以运行登录会话。同样,存在两个选项。如果
Figure BDA0003002419710000215
将(SignOn-Corrupt,m,
Figure BDA0003002419710000216
j,S)发送到泛函(其中j已被攻陷),则其可接收S中的诚实方关于消息m的签名份额,但仅在
Figure BDA0003002419710000217
足够接近
Figure BDA0003002419710000218
时才如此。当
Figure BDA0003002419710000219
发送(SignOn-Honest,sid,i)时,
Figure BDA00030024197100002110
等待以查看
Figure BDA00030024197100002126
是否想要完成会话。如果是,则
Figure BDA00030024197100002111
计算签名并将其发送给发起(诚实)方。
如果现实世界敌手的观察和诚实方的输出的联合分布在计算上与理想世界敌手的观察和诚实方从泛函获得的消息的联合分布不可区分,则称FTTG方案是安全的。
关于所述定义,要注意几个要点。其允许敌手基于公共参数来选择攻陷哪些方。其还允许敌手以任意测量值运行登录会话。这可在一些测量值足够接近时帮助敌手生成签名。即使没有测量值足够接近,敌手仍可逐渐习得模板。我们的定义不允许在求值阶段自适应地选择由诚实方发起的会话的输入。因此,所述定义是独立的定义,而不是(普遍)可组合的定义。这种类型的限制有助于我们设计更高效的协议,并且在一些情况下无需任何受信任设置。
定义7模糊阈值令牌生成方案FG=(Registration,Setup,SignOn,Verify在以下条件下是安全的:如果对于任何n,ts.t.t≤n、任何不可伪造阈值签名方案TS、任何
Figure BDA00030024197100002112
任何距离
Figure BDA00030024197100002113
任何PPT敌手
Figure BDA00030024197100002114
存在PPT模拟器
Figure BDA00030024197100002115
以使得对于
Figure BDA00030024197100002116
上的任何概率分布
Figure BDA00030024197100002117
和任何测量值序列
Figure BDA00030024197100002118
(其中h=poly(κ)并且
Figure BDA00030024197100002119
),
Figure BDA00030024197100002120
其中
Figure BDA00030024197100002121
Figure BDA00030024197100002122
分别是
Figure BDA00030024197100002123
Figure BDA00030024197100002124
在现实世界和理想世界中的观察,Out-Reali是(诚实的)i方在现实世界中从其参与的所有登录会话(加上初始化期间给它的参数)的字符串联输出,而Out-Ideali是i方在理想世界中从泛函
Figure BDA00030024197100002125
获得的所有消息的字符串联,如图5所示。
V.任何距离测度
在本章节中,我们示出如何利用广播信道作为主要技术工具使用任何两轮恶意安全MPC协议来构建四轮安全模糊阈值令牌生成协议。我们的令牌生成协议满足定义7,适用于任n,t,并适用于任何距离测度。正式地,我们示出以下定理:
定理1假设存在阈值签名、阈值秘密共享、在存在广播信道时是安全的能抵御可攻陷最多(t-1)方的恶意敌手的CRS模型中的两轮UC安全MPC协议、秘密密钥加密、伪随机函数以及强不可伪造签名,则对于任何n,t和任何距离测度,存在四轮安全模糊阈值令牌生成协议定义7。
注意,假设DDH/LWE/QR/N次剩余[5、6、7、8、9、11],可建构此类两轮MPC协议。所有其它原语可基于***单向函数的存在。
实例化上述定理中使用的原语,我们得到以下推论:
推论2假设存在***单向函数和A∈{DDH/LWE/QR/N次剩余},则存在四轮安全模糊阈值令牌生成协议,对于任何n,t、任何距离测度Dist和任何阈值d,其满足定义7。
A.构建
在描述我们的构建之前,我们先列出使用的一些记法和原语。
令Dist表示距离函数,d表示阈值距离值以表示匹配。令n方分别用P1、...、Pn表示。令λ表示安全参数。令
Figure BDA0003002419710000221
表示从中采样随机向量的分布。假设向量的长度为
Figure BDA0003002419710000222
其中
Figure BDA0003002419710000223
是λ的多项式。此向量的每个元素都是某个大素数模q上的域F的元素。
令TS=(TS.Gen,TS.Sign,TS.Combine,TS.Verify)为阈值签名方案。令(SKE.Enc,SKE.Dec)表示秘密密钥加密方案。令(Share,Recon)为(t,n)阈值秘密共享方案。令(Gen,Sign,Verify)为强不可伪造数字签名方案。令PRF表示伪随机函数。
令π为在存在广播信道时是安全的能抵御可攻陷最多(t-1)方的恶意敌手的CRS模型中的两轮UC安全MPC协议。令π.Setup表示用于生成CRS的算法。令(π.Round1,π.Round2)表示任何方用于计算两轮中的每一轮中的消息的算法,而π.Out表示计算最终输出的算法。此外,令π.Sim使用算法(π.Sim1,π.Sim2)来分别计算第一轮和第二轮消息。注意,由于我们考虑的是迅猛敌手(rushing adversary),因此算法π.Sim1(·)不需要敌手的输入或输出。令π.Ext表示提取器,其在敌手的一轮消息输入时提取其输入。令π.Sim.Setup表示π.Sim用以计算模拟的CRS的算法。
现在我们描述关于任何n和k的四轮安全模糊阈值令牌生成协议πAny的构建。
1.注册
在注册阶段,由受信任授权方执行以下算法。受信任授权方可以是将参与后续生物计量匹配和签名生成的装置。如果受信任授权方可能会参与生物计量匹配和签名生成,则其可在注册阶段结束时删除其不应拥有的信息。即,其应删除对应于其它装置的份额。
受信任授权方可从生物计量数据的分布
Figure BDA0003002419710000231
中采样随机向量
Figure BDA0003002419710000232
并将其保存为生物计量模板。然后,受信任授权方可根据所用的密钥共享算法、装置数目和阈值以及安全参数而使用份额生成算法
Figure BDA0003002419710000233
来计算模板的适当份额
Figure BDA0003002419710000234
阈值签名方案的公钥vkTS、秘密密钥份额
Figure BDA0003002419710000235
和其它相关参数ppTS可通过阈值生成算法
Figure BDA0003002419710000236
来生成。然后,受信任授权方可向每个装置发送相关信息(例如,模板份额、秘密密钥份额、公钥和其它阈值签名参数)。例如,第i个装置(Pi方)可接收
Figure BDA0003002419710000237
2.设置
设置也可由受信任授权方完成。受信任授权方可与完成注册的受信任装置相同。如果受信任授权方可能会参与生物计量匹配和签名生成,则其可在注册阶段结束时删除其不应拥有的信息。即,其应删除对应于其它装置的份额。
-生成crs←π.Setup(1λ)。
-针对每个i∈[n],计算(ski,vki)←Gen(1λ)。
-针对每个i,j∈[n],计算
Figure BDA0003002419710000238
作为统一随机字符串。
-针对每个i∈[n],将
Figure BDA0003002419710000239
给予Pi方。
首先,受信任授权方可使用设置算法crs←π.Setup(1λ)为正在使用的多方计算方案生成共同参考字符串crs。生成用于认证计算的秘密密钥和公钥的份额。计算用于分布式伪随机函数的相关参数和秘密的份额。然后,向每个装置发送相关信息(例如crs和密钥份额)。
3.登录
在登录阶段,考虑P*方,其使用输入向量
Figure BDA00030024197100002310
其想获得有关令牌的消息m。P*在以下四轮协议中与其它方交互。第1轮中的箭头可表示此轮中的消息是从P*方传出。
-第1轮:(P*→)P*方进行以下操作:
i.挑选由P1、...、Pn中的t方组成的集合
Figure BDA0003002419710000241
为简单而不失一般性起见,我们假设P*也是集合
Figure BDA0003002419710000242
的一部分。
ii.向每一方Pi∈发送
Figure BDA0003002419710000243
-第2轮:(→p*)每一方
Figure BDA0003002419710000244
(除了P*)进行以下操作:
i.使用输入
Figure BDA0003002419710000245
和随机性ri与集合
Figure BDA0003002419710000246
中的各方一起参与协议π的执行,以计算图6中定义的电路C。也就是说,计算第一轮消息msg1,i←π·Round1(yi;ri)。
ii.使用某种随机性计算σ1,i=Sign(ski,msg1,i)。
iii.将(msg1,i,σ1,i)发送给P*方。
-第3轮:(P*→)P*方执行以下操作:
i.令TransDiFuz表示在第2轮接收到的消息集合。
ii.使用输入
Figure BDA0003002419710000247
和随机性r*与集合
Figure BDA0003002419710000248
中的各方一起参与协议π的执行,以计算图6中定义的电路C。也就是说,计算第一轮消息msg1,*←π.Round1(y*;r*)。
iii.向每一方
Figure BDA0003002419710000249
发送(TransDiFuz,msg1,*)。
-第4轮:(→P*)每一方
Figure BDA00030024197100002410
(除了P*)执行以下操作:
i.令TransDiFuz由形式为(msg1,j,σ1,j)的一组消息组成,
Figure BDA00030024197100002411
如果Verify(vkj,msg1,j,σ1,j)≠1,则输出⊥。
ii.令τ1表示协议π在第1轮之后的抄本。即,
Figure BDA00030024197100002412
iii.计算第二轮消息msg2,i←π.Round2(yi,τ1;ri)。
iv.令(TransDiFuz,msg1,*)表示在第3轮从P*接收的消息。计算
Figure BDA00030024197100002413
v.计算cti=SKE.Enc(eki,msg2,i)。
vi.针对每一方
Figure BDA00030024197100002414
计算
Figure BDA00030024197100002415
vii.将
Figure BDA00030024197100002416
发送给P*
-输出计算:每一方
Figure BDA00030024197100002417
输出
Figure BDA00030024197100002418
另外,P*方进行以下操作以生成令牌:
i.针对每一方
Figure BDA00030024197100002419
进行以下操作:
·计算
Figure BDA00030024197100002420
·计算msg2,j=SKE.Dec(ekj,ctj)。
ii.令τ2表示协议π在第2轮之后的抄本。
iii.计算π的输出为
Figure BDA0003002419710000251
iv.计算
Figure BDA0003002419710000252
v.如果TS.Verify(vkTS,m,Token),则输出令牌。否则,输出⊥。
4.令牌验证
给定验证密钥vkTS、消息m和令牌Token,如果TS.Verify(vkTS,m,Token)输出1,则令牌验证算法输出1。
协议的正确性直接遵循底层原语的正确性。
B.安全性证明
在此章节中,我们正式地证明定理1。
考虑攻陷t*方的敌手
Figure BDA0003002419710000253
其中t*<t。我们协议πAny的模拟器Sim对抗恶意敌手
Figure BDA0003002419710000254
的策略如下所述。注意,注册阶段首先发生在模拟器获取要发送给每个攻陷方的值的末尾,每个攻陷方则将所述值转发给
Figure BDA0003002419710000255
1.模拟器的描述
设置:Sim进行以下操作:
(a)生成crssim←π.Sim.Setup(1λ)。
(b)针对每个i∈[n],计算(ski,vki)←Gen(1λ)。
(c)针对每个i,j∈[n],计算
Figure BDA0003002419710000256
作为统一随机字符串。
(d)针对每个i∈[n],如果Pi被攻陷,则将
Figure BDA0003002419710000257
给予敌手
Figure BDA0003002419710000258
登录阶段:情况1–诚实方为P*
设想诚实方P*使用输入向量u和其想要通过与一组参与方
Figure BDA0003002419710000259
交互而获得相关令牌的消息m。第1轮中的箭头可表示在这一轮中消息是从模拟器发出。Sim从理想泛函
Figure BDA00030024197100002510
获得元组
Figure BDA00030024197100002511
并与敌手
Figure BDA00030024197100002512
进行如下交互:
·第1轮:(Sim→)Sim将
Figure BDA00030024197100002513
发送给敌手
Figure BDA00030024197100002514
以用于每个攻陷方
Figure BDA00030024197100002515
·第2轮:(→Sim)代表每个攻陷方
Figure BDA00030024197100002516
从敌手接收(msg1,i,σ1,i)。
·第3轮:(Sim→)Sim进行以下操作:
(a)代表
Figure BDA00030024197100002517
中的每个诚实方Pj,计算msg1,j←π.Sim1(1λ,Pj)和σ1,j=Sign(skj,msg1,j)。
(b)令TransDiFuz表示在第2轮接收并在上述步骤中计算的形式(msg1,i,σ1,i)的元组集合。
(c)代表诚实方P*如下计算协议π的模拟第一轮消息:msg1,*←π.Sim1(1λP*)。
(d)将(TransDiFuz,msg1,*)发送给敌手以用于每个攻陷方
Figure BDA0003002419710000261
·第4轮:(→Sim)代表每个攻陷方
Figure BDA0003002419710000262
从敌手接收
Figure BDA0003002419710000263
·向泛函
Figure BDA0003002419710000264
发消息:Sim进行以下操作:
(a)在底层协议π的抄本上运行π.Sim(·)。
(b)如果π.Sim(·)决定指令π的理想泛函将输出递送到协议π中的诚实方P*,则在我们的分布式模糊安全认证协议中,Sim同样对泛函
Figure BDA0003002419710000265
如此指令。注意,为了做到这一点,π.Sim(·)可能在内部使用算法π.Ext(·)。基本上,此步骤向Sim保证敌手在协议中表现诚实。
(c)否则,Sim输出⊥。
登录阶段:情况2–恶意方为P*
设想恶意方是发起方P*。Sim与敌手
Figure BDA0003002419710000266
进行如下交互:
·第1轮:(→Sim)Sim代表每个诚实方Pj从敌手
Figure BDA0003002419710000267
接收
Figure BDA0003002419710000268
·第2轮:(Sim→)Sim进行以下操作:
(a)代表
Figure BDA0003002419710000269
中的每个诚实方Pj,计算并发送对msg1,j←π.Sim1(1λ,Pj)和σ1,j=Sign(skj,msg1,j)到敌手。
·第3轮:(→Sim)Sim代表每个诚实方Pj从敌手
Figure BDA00030024197100002610
接收元组(TransDiFuz,msg1,*)。
·第4轮:(Sim→)Sim进行以下操作:
(a)代表每个诚实方Pj,进行以下操作:
i.令TransDiFuz由形式(msg1,i,σ1,i)的一组消息组成,
Figure BDA00030024197100002611
如果Verify(vki,msg1,i,σ1,i)≠1,则输出⊥。
ii.令τ1表示协议π在第1轮之后的抄本。即,
Figure BDA00030024197100002612
(b)令τ2表示τ1的子集,对应于由诚实方生成的所有消息。
(c)如果τ2对于所有诚实方都不同,则输出“SpecialAbort”。
(d)如果msg1,*对于所有诚实方都不同,则设变量flag=0。
(e)向理想泛函
Figure BDA00030024197100002613
查询:
i.计算
Figure BDA00030024197100002614
ii.通过
Figure BDA00030024197100002615
查询理想泛函
Figure BDA00030024197100002616
以接收输出
Figure BDA00030024197100002617
(f)代表每个诚实方Pj
Figure BDA00030024197100002618
计算协议π的第二轮消息msg2,j集合。
(g)代表每个诚实方Pj,进行以下操作:
i.令(TransDiFuz,msg1,*)表示在第3轮从敌手接收的消息。计算
Figure BDA0003002419710000271
ii.如果flag=0,则计算
Figure BDA0003002419710000272
其中rand是随机统一选择的字符串。
iii.否则,计算ctj=SKE.Enc(ekj,msg2,j)。
iv.针对每一方
Figure BDA0003002419710000273
计算
Figure BDA0003002419710000274
v.将
Figure BDA0003002419710000275
发送给敌手。
2.杂合体
我们现在证明了上述模拟策略对所有恶意PPT敌手都是成功的。即,在现实世界和理想世界中,敌手的观察以及诚实方的输出在计算上是不可区分的。我们将通过一系列计算上不可区分的杂合体来说明这一点,其中第一杂合体Hyb0对应于现实世界,最末杂合体Hyb4对应于理想世界。
1.Hyb0–现实世界:在此杂合体中,考虑扮演现实世界中的诚实方角色的模拟器SimHyb。
2.Hyb1–特殊中止:在此杂合体中,SimHyb输出“SpecialAbort”,就像Sim在模拟策略情况2的第4轮中所做的那样。即,如果所有签名都经过验证,但敌手没有将协议π的第一轮的相同抄本发送给所有诚实方,SimHyb就会输出“SpecialAbort”。
3.Hyb2–模拟MPC消息:在此杂合体中,SimHyb进行以下操作:
-在设置阶段,计算CRS为crssim←π.Sim.Setup(1λ)。
-情况1:设想诚实方扮演角色P*,进行:
*在第3轮,如在理想世界中那样通过运行算法π.Sim1(·)而代表每个诚实方
Figure BDA0003002419710000276
计算协议π的第一轮消息msg1,j,并代表P*方计算第一轮消息msg1,*
*然后,代替P*自身使用协议消息计算输出,指令理想泛函将输出递送给P*。即,完全如在理想世界中那样执行“向理想泛函发消息”步骤。
-情况2:设想攻陷方扮演P*的角色,进行:
*在第2轮,如在理想世界中那样通过运行算法π.Sim1(·)而代表每个诚实方
Figure BDA0003002419710000277
计算协议π的第一轮消息msg1,j
*完全如Sim在理想世界中那样与理想泛函交互。即,基于输入(τ1,crssim)查询理想泛函关于提取器π.Ext(·)的输出,并接收输出
Figure BDA0003002419710000281
*代表每个诚实方Pj
Figure BDA0003002419710000282
计算协议π的第二轮消息msg2,j的集合。
4.Hyb3–切换情况2中的DPRF输出:在此杂合体中,设想攻陷方扮演P*的角色,SimHyb如模拟器在模拟策略第4轮中那样计算变量flag的值。也就是说,如果敌手没有向所有诚实方
Figure BDA0003002419710000283
发送协议π的相同第1轮消息,则SimHyb设flag=0。然后,SimHyb代表每个诚实方Pj进行以下操作:
-如果flag=1,则如Hyb1计算ctj
-如果flag=0,则计算ctj=SKE.Enc(rand,msg2,j),其中rand为随机统一选择,而且不再作为DPRF的输出。
5.Hyb4–切换情况2中的密文:在此杂合体中,设想攻陷方扮演P*的角色,SimHyb进行以下操作:如果flag=0,则如在理想世界计算
Figure BDA0003002419710000284
这种杂合体对应于理想世界。
我们现在将证明每对连续杂合体在计算上不可区分。
引理1假设签名方案Hyb0的强不可伪造性在计算上与Hyb1不可区分。
证明。这两个杂合体之间的唯一区别是,在Hyb1中,SimHyb可能输出“SpecialAbort”。我们现在证明SimHyb在Hyb1中仅以可忽略的概率输出“SpecialAbort”。
假设不是。也就是说,假设存在能使SimHyb在Hyb1中以不可忽略的概率输出“SpecialAbort”的敌手
Figure BDA0003002419710000285
则我们将用
Figure BDA0003002419710000286
构建会打破签名方案的强不可伪造性这一矛盾的敌手
Figure BDA0003002419710000287
Figure BDA0003002419710000288
开始如在Hyb1中那样执行与敌手
Figure BDA0003002419710000289
交互的DiFuz协议。对于每个诚实方Pj
Figure BDA00030024197100002810
与接受挑战方
Figure BDA00030024197100002811
交互并获得验证密钥vkj,所述验证密钥作为DiFuz设置阶段的一部分转发给
Figure BDA00030024197100002812
然后,在协议过程中,
Figure BDA00030024197100002813
将来自
Figure BDA00030024197100002814
的签名查询转发给
Figure BDA00030024197100002815
并将来自
Figure BDA00030024197100002816
的响应转发给
Figure BDA00030024197100002817
最后,假设
Figure BDA00030024197100002818
使
Figure BDA00030024197100002819
以不可忽略的概率输出“SpecialAbort”。则一定是这样的情况:对于与诚实方Pj相对应的形式(msg1,j,σ1,j)的某些元组,签名σ1,j没有从
Figure BDA00030024197100002820
转发到
Figure BDA00030024197100002821
而是仍然被成功地验证。因此,
Figure BDA00030024197100002822
可输出伪造的相同元组(msg1,j,σ1,j),从而以不可忽略的概率打破签名方案的强不可伪造性这一矛盾。
引理2假设MPC协议安全,Hyb1在计算上与Hyb2不可区分。
证明。假设存在能以不可忽略的概率区分两个杂合体的敌手
Figure BDA00030024197100002823
我们将使用
Figure BDA0003002419710000291
来构建打破协议π安全这一矛盾。
Figure BDA0003002419710000292
开始执行与敌手
Figure BDA0003002419710000293
交互的DiFuz协议,并执行用于对与接受挑战方
Figure BDA00030024197100002952
交互的电路C(图6)求值的协议π。现在,设想
Figure BDA0003002419710000294
攻陷一组参与方
Figure BDA0003002419710000295
Figure BDA0003002419710000296
攻陷协议π中的相同一组参与方。首先,发生协议DiFuz的注册阶段。然后,
Figure BDA0003002419710000297
从接受挑战方
Figure BDA0003002419710000298
接收诚实生成的或是模拟的字符串crs。
Figure BDA0003002419710000299
通过
Figure BDA00030024197100002910
将此字符串设置为DiFuz协议的设置阶段的crs。其余的设置协议与Hyb0中的运行完全相同。
情况1:诚实方为P*
现在,由于我们考虑的是π协议的迅猛敌手,代表每个诚实方Pj
Figure BDA00030024197100002911
首先从接受挑战方
Figure BDA00030024197100002912
接收消息msgj
Figure BDA00030024197100002913
在其与
Figure BDA00030024197100002914
的交互的第3轮中将msgj设置为msg1,j,然后计算它要发送给
Figure BDA00030024197100002915
的其余消息,就如
Figure BDA00030024197100002916
中一样。
Figure BDA00030024197100002917
代表
Figure BDA00030024197100002918
中的攻陷方从
Figure BDA00030024197100002919
接收与协议π相对应的一组消息,并将其作为自己的协议π消息转发给
Figure BDA00030024197100002920
情况2:攻陷方为P*
与前一种情况一样,代表每个诚实方Pj
Figure BDA00030024197100002921
首先从接受挑战方
Figure BDA00030024197100002922
接收消息msgj
Figure BDA00030024197100002923
在其与
Figure BDA00030024197100002924
交互的第2轮中将msgj设置为消息msg1,j。然后,在第4轮中,如果签名经过验证,则
Figure BDA00030024197100002925
代表
Figure BDA00030024197100002926
中的攻陷方将与从
Figure BDA00030024197100002927
接收到的协议π对应的那组消息作为其自身的协议π消息转发给
Figure BDA00030024197100002928
然后,代表每个诚实方Pj
Figure BDA00030024197100002929
从接受挑战方
Figure BDA00030024197100002930
接收消息msgj,作为协议π的第二轮消息。
Figure BDA00030024197100002931
在其与
Figure BDA00030024197100002932
交互的第4轮中将msgj设置为消息msg2,j,并计算它要发送给
Figure BDA00030024197100002933
的其余消息,就如Hyb1中一样。
注意,当接受挑战方
Figure BDA00030024197100002934
发送诚实生成的消息时,
Figure BDA00030024197100002935
Figure BDA00030024197100002936
之间的实验正好对应于Hyb1,并且当接受挑战方
Figure BDA00030024197100002937
发送模拟消息时,实验正好对应于Hyb2。因此,如果
Figure BDA00030024197100002938
能以不可忽略的概率区分两个杂合体,则
Figure BDA00030024197100002939
就可用同样的猜测以不可忽略的概率来打破方案π安全这一矛盾。
引理3假设伪随机函数安全,Hyb2在计算上与Hyb3不可区分。
证明。假设存在能以不可忽略的概率区分两个杂合体的敌手
Figure BDA00030024197100002940
我们将使用
Figure BDA00030024197100002941
构建打破伪随机函数安全这一矛盾的敌手
Figure BDA00030024197100002942
在协议DiFuz的执行过程中,敌手
Figure BDA00030024197100002943
与敌手
Figure BDA00030024197100002944
交互。对于每个诚实方,
Figure BDA00030024197100002945
也在PRF安全博弈中与接受挑战方
Figure BDA00030024197100002946
交互。针对每个j,
Figure BDA00030024197100002947
根据
Figure BDA00030024197100002948
的请求发送与攻陷方(<k)集合相对应的PRF密钥,然后在设置阶段将其转发给
Figure BDA00030024197100002949
然后,
Figure BDA00030024197100002950
继续与
Figure BDA00030024197100002951
交互直到第3轮,就如Hyb1中一样。现在,在第4轮中,假设它将变量flag的值计算为0(如在Hyb3中计算),则
Figure BDA0003002419710000301
进行以下操作:针对每个诚实方Pj,转发在第3轮中收到的消息msg1,*。然后,将来自
Figure BDA0003002419710000302
的响应集合的XOR设置为用于生成密文ctj的值ekj
现在注意,当接受挑战方
Figure BDA0003002419710000303
通过用于每个诚实方j的诚实方求值PRF集合进行响应时,
Figure BDA0003002419710000304
Figure BDA0003002419710000305
之间的交互正好对应于Hyb2,并且当接受挑战方以一组统一随机字符串响应时,
Figure BDA0003002419710000306
Figure BDA0003002419710000307
之间的交互正好对应于Hyb3。因此,如果
Figure BDA0003002419710000308
能以不可忽略的概率区分这两个杂合体,则
Figure BDA0003002419710000309
就可用相同的猜测来以不可忽略的概率打破PRF方案的伪随机属性这一矛盾。
引理4假设秘密密钥加密方案的语义安全性,Hyb3在计算上与Hyb4不可区分。
证明。假设存在能以不可忽略的概率区分两个杂合体的敌手
Figure BDA00030024197100003010
我们将使用
Figure BDA00030024197100003011
构建打破加密方案的语义安全性这一矛盾的敌手
Figure BDA00030024197100003012
如在Hyb3中,敌手
Figure BDA00030024197100003013
与敌手
Figure BDA00030024197100003014
交互。然后,代表每个诚实方Pj,在发送其第4轮消息之前,
Figure BDA00030024197100003015
首先将元组
Figure BDA00030024197100003016
发送给秘密密钥加密方案的接受挑战方
Figure BDA00030024197100003017
对应于每个诚实方,它接收使用随机统一选择的秘密密钥的msg2,j
Figure BDA00030024197100003018
加密。然后,
Figure BDA00030024197100003019
将此密文设置为值ctj,并继续与敌手
Figure BDA00030024197100003020
进行交互,就像Hyb2中一样。注意,当接受挑战方
Figure BDA00030024197100003021
发送msg2,j的密文时,
Figure BDA00030024197100003022
Figure BDA00030024197100003023
之间的实验正好对应于Hyb3,并且当接受挑战方
Figure BDA00030024197100003024
发送
Figure BDA00030024197100003025
的密文时,实验正好对应于Hyb4。因此,如果
Figure BDA00030024197100003026
能以不可忽略的概率区分这两个杂合体,则
Figure BDA00030024197100003027
就可使用相同的猜测来以不可忽略的概率打破加密方案的语义安全性这一矛盾。
VI.使用阈值FHE的任何距离测度
在此章节中,我们示出如何使用具有阈值解密的任何FHE方案针对任何距离测度构建模糊阈值令牌生成协议。我们的令牌生成协议满足章节III中针对任何n、t的定义,并且适用于任何距离测度。正式地,我们给出以下定理:
定理3。假设存在以下情况:具有阈值解密、阈值签名、秘密密钥加密和强不可伪造数字签名的FHE,对于任何n、t和任何距离测度,都存在四轮安全模糊阈值令牌生成协议。
A.构建
在描述我们的构建之前,我们先列出使用的一些记法和原语。
令Dist表示以模板w和测量值u作为输入的距离函数,令d表示阈值距离值以表示w与u之间的匹配。令C是以模板w、测量值u和某一字符串K作为输入的电路,并且在Dist(w,u)<d时输出K,否则输出0。令n方分别用P1、...、Pn表示。令λ表示安全参数。令W表示从中采样随机模板向量的分布。假设向量的长度为
Figure BDA0003002419710000316
其中
Figure BDA0003002419710000317
是λ的多项式。
令TEHE=(TFHE.Gen,TFHE.Enc,TFHE.PartialDec,TFHE.EvalTFHE.Combine)为阈值FHE方案。令TS=(TS.Gen,TS.Sign,TS.CombineTS.Verify)为阈值签名方案。令SKE=(SKE,Gen,SKE.Enc,SKE.Dec)表示秘密密钥加密方案。
令(Gen,Sign,Verify)为强不可伪造数字签名方案。令H为防冲突散列函数(例如建模为随机预言)。
我们现在描述对于任何n和k的四轮安全模糊阈值令牌生成协议πAny-TFHE的构建。
1.注册
在注册阶段,可由受信任授权方执行以下算法:
·从分布
Figure BDA0003002419710000311
采样随机w。
·计算(pk,sk1,...,skN)←TFHE.Gen(1λ,n,t)
·计算
Figure BDA0003002419710000312
·计算K←SKE,Gen(1λ)
·计算密文
ct0←TFHE.Enc(pk,w),ct1←TFHE.Enc(pk,K)
·针对每个i∈[n],进行以下操作:
(a)计算sk′i,vk′i←Gen(1λ)
(b)计算Ki=H(K,i)。
(c)将以下内容给予Pi
Figure BDA0003002419710000313
受信任授权方(例如,主要用户装置)可从生物计量测量分布
Figure BDA0003002419710000314
中采样生物计量模板w。除了公共参数ppTS、验证密钥vkTS、用于阈值签名方案TS的多个私钥份额
Figure BDA0003002419710000315
以及用于秘密密钥加密方案SKE的字符串K之外,受信任授权方还可计算用于阈值完全同态加密方案TFHE的公钥pk和多个私钥份额ski。使用公钥pk,受信任授权方可加密生物计量模板w以形成密文ct0,并加密字符串K以形成密文ct1
然后,受信任授权方可计算多个值以用于n个电子装置中的每个电子装置i(例如,第一电子装置和其它电子装置)。受信任授权方可计算用于数字签名方案的秘密密钥份额sk′i和验证密钥份额vk′i。受信任授权方还可使用字符串K和散列函数H来计算散列Ki。然后,受信任授权方可向每个电子装置Pi发送公钥pk、密文ct0和ct1、验证密钥份额(vk′i、....、vk′i)、秘密密钥份额sk′i、公共参数ppTS、验证密钥vkTS、私钥份额ski TS和散列Ki
2.登录阶段
在登录阶段,考虑使用输入向量u、其想要相关的令牌的消息m的P*方。P*在以下四轮协议中与其它方交互。第1轮中的箭头可表示在此轮中,消息从P*方发出。
·第1轮:(P*→)P*方进行以下操作:
a)计算密文ct*=TFHE.Enc(pk,u)。
b)挑选由P1、...、Pn中的t方组成的集合S。为简单而不失一般性起见,我们假设P*也是集合S的一部分。
c)向每一方P1∈S发送(ct*,m)。
·第2轮:(→P*)每一方Pi∈S(除了P*)进行以下操作:
a)计算签名σ′i=Sign(sk′i,ct*)。
b)将σ′i发送给P*方。
·第3轮:(P*→)P*方发送(σ′1、...、σ′n)给每一方Pi
·第4轮:(→P*)每一方Pi∈S(除了P*)进行以下操作:
a)如果存在i∈[n]以使得Verify(vk′i,ct*,σ′i)≠1,则输出⊥。
b)否则,对以下密文求值
ct=TFHE.Eval(pk,C,ct0,ct*,ct1),
并且将ct的部分解密计算为:
μi=TFHE.PartialDec(ski,ct)。
c)计算TOKENi=TS.Sign(ski,m)以及
Figure BDA0003002419710000321
d)将
Figure BDA0003002419710000322
发送给P*方。
·输出计算:P*方进行以下操作以生成令牌:
a)恢复K=TFHE.Combine(μ1,...,μn)。
b)针对每一i∈[n],进行以下操作:
i.计算Ki=H(K,i)。
ii.恢复
Figure BDA0003002419710000323
c)计算Token←TS.Combine({Tokeni}i∈S)。
d)如果TS.Verify(vkTS,m,Token)=1,则输出Token。否则,输出⊥。
第一电子装置P*可利用阈值完全同态加密方案的公钥pk来加密输入向量u(例如,生物计量测量向量),以生成加密的生物计量测量密文ct*。第一电子装置可将加密的生物计量测量值ct*和消息m发送到其它电子装置中的每一个。其它电子装置中的每一个可用密文ct*和秘密密钥份额sk′i计算部分签名计算σ′i。每个电子装置可将部分签名计算σ′i发送给第一电子装置。第一电子装置可将所有的部分签名计算(σ′1、...、σ′n)发送给所有其它电子装置。
其它电子装置中的每一个可用密文ct*和接收到的验证密钥(vk′1、....、vk′n)对每个部分签名计算(σ′1、...、σ′n)进行验证。如果未验证任何部分签名计算(例如,Verify(vk′i,ct*,σ′i)≠1),则电子装置可输出⊥,从而指示错误。未经验证的签名可指示一个(或多个)电子装置未正确计算所述部分签名计算,因此可能被破解或是欺诈性的。在验证部分签名计算后,其它电子装置中的每一个可对密文ct*、ct0和ct1进行求值以生成新的密文ct。对密文进行求值可包括对计算模板w(呈密文ct0)与测量值u(呈密文ct*)之间的距离测度的电路C进行求值。如果距离测度小于阈值d,则电路C可输出字符串K(呈密文ct1)。然后,其它电子装置中的每一个可计算密文ct的部分解密μi。可由其它电子装置中的每一个使用秘密密钥份额ski和消息m生成部分阈值签名令牌Tokeni。可通过部分阈值签名令牌Tokeni和散列Ki将密文
Figure BDA0003002419710000331
计算为秘密密钥加密。然后可将部分解密μi和密文
Figure BDA0003002419710000332
发送到第一电子装置。
第一电子装置可同态组合部分解密(μ1、...、μn)来恢复字符串K。然后,第一电子装置可使用字符串K和散列函数H来计算每个电子装置i的散列Ki,然后使用散列Ki来解密秘密密钥加密密文
Figure BDA0003002419710000333
以恢复部分阈值签名令牌Tokeni。利用每个接收到的部分阈值签名令牌Tokeni,第一电子装置可将其组合以计算签名令牌Token。如果第一电子装置能够验证令牌Token和消息m,则第一电子装置可输出令牌Token;否则,第一电子装置可输出⊥。
3.令牌验证
给定验证密钥vkTS、消息m和令牌Token,如果TS.Verify(vkTS,m,Token)输出1,则令牌验证算法输出1。
正确性:协议的正确性直接遵循底层原语的正确性。
B.安全性证明
在此章节中,我们正式地证明定理3。
考虑攻陷t*方的敌手A,其中t*。关于我们的协议πAny-TFHE,对抗敌手A的模拟器Sim的策略概述如下。
1.模拟器的描述
注册阶段:在从Pi方接收到形式(“Register″,sid)的第一查询时,模拟器Sim从理想泛函FDiFuz接收消息(“Register″,sid,Pi),并将其转发给敌手A。
登录阶段:情况1–诚实方为P*:假设在具有id sid的某个会话中,诚实方P*使用输入向量u和其想要通过与集合S交互以获得相关令牌的消息m,所述集合由t方组成,其中一些可能被攻陷。Sim从理想泛函FDiFuz获得元组(m,S),并与敌手
Figure BDA0003002419710000341
交互。
在登录阶段的第一轮中,~向集合S中的每个恶意方发送阈值FHE方案下0的加密。注意,这在阈值FHE方案的CPA安全性方面与现实世界不可区分。在随后的各轮中,它代表S上的攻陷方从敌手A接收信息,并向集合S中的攻陷方发送消息。
Sim还向理想泛函FFTTG发出形式(“SignOn”,sid,msg,Pi
Figure BDA0003002419710000342
)的查询,并且如下进行:
-如果理想泛函FFTTG以(“Sign”,sid,msg,Pi,)响应,则Sim选择签名σ并以(“Signature”,msg,sid,Pi,σ)向FFTTG进行响应,并且发送(σ,msg,)到敌手A。
-另一方面,如果理想泛函FFTTG以(“SignOn failed”,msg)响应,则模拟器Sim中止。
登录阶段:情况2–恶意方为P*:假设在具有id sid的某个会话中,恶意方P*使用输入向量u和其想要通过与集合S交互以获得相关令牌的消息m,所述集合由t方组成,其中一些可能被攻陷。Sim同样从理想泛函FDiFuz获得元组(m,S),并与敌手
Figure BDA0003002419710000343
交互。
模拟器Sim代表攻陷方P*从敌手A接收测量值u,并向理想泛函FFTTG发出形式(“TestPassword”,sid,u,Pi,)的查询。其将FFTTG的相应响应转发给敌手A。
在登录阶段的第一轮中,~代表集合S.中的每个诚实方从敌手A接收阈值FHE方案下的密文。在随后各轮中,它代表S中的诚实方向敌手A发送消息,并代表S中的诚实方从敌手A接收消息。
Sim还向理想泛函FFTTG发出形式(“SignOn”,sid,msg,Pi
Figure BDA0003002419710000344
)的查询,并且如下进行:
-如果理想泛函FFTTG以(“Sign”,sid,msg,Pi,)响应,则SIM选择签名σ,用(“Signature”,msg,sid,Pi,σ)响应FFTTG,并发送(σ,msg)给敌手A。
-另一方面,如果理想泛函FFTTG以(“SignOn failed”,msg)响应,则模拟器SIM中止。
VII.余弦相似性和欧几里德距离
在此章节中,我们示出如何在随机预言模型中针对欧几里德距离和余弦相似性距离测度来构建高效的四轮安全模糊阈值令牌生成协议。我们的令牌生成协议满足阈值t=3的任何n的定义7,并且能安全抵御可能攻陷任何一方的恶意敌手。我们首先着眼于余弦相似性距离测度。在本节的最后,我们也会解释如何将结果扩展到欧几里德距离。
我们正式示出以下定理:
定理3假设存在阈值签名、阈值秘密共享、安全抵御恶意敌手的CRS模型中的两个消息不经意传输、混淆电路、阈值秘密共享方案、电路专用加法同态加密、秘密密钥加密,以及针对章节IV.E中定义的NP语言L1、L2的非交互零知识论证,存在关于余弦相似性距离函数方面满足定义7的四轮安全模糊阈值令牌生成协议。所述协议适用于任何n,其中阈值t=3,并且能安全抵御可能攻陷任何一方的恶意敌手。
我们知道如何在假设DDH/LWE/二次剩余/N次剩余假设的CRS模型中建构两个消息OT[21、22、23、24]。Paillier加密方案[14]是来自N次剩余假设的电路专用加法同态加密的示例。如章节IV.E中所示,我们还可从随机预言模型中的N次剩余假设来建构语言L1、L2的NIZK论证。其它原语不用任何假设就可建构,也可以只利用单向函数的存在。因此,实例化上述定理中使用的原语,我们得到以下推论:
推论4假设N次剩余假设的难度,在关于余弦相似性距离函数方面满足定义7的随机预言模型中存在四轮安全模糊阈值令牌生成协议。所述协议适用于阈值t=3的任何n,并且能安全抵御可能攻陷任何一方的恶意敌手。
A.构建
在描述我们的构建之前,我们先列出使用的一些记法和原语。
令d表示余弦相似性函数的阈值。令(Share,Recon)为(2,n)阈值秘密共享方案。令n方分别由P1、...、Pn表示。令λ表示安全参数。令
Figure BDA0003002419710000351
表示从中采样随机向量的分布。假设向量的长度为
Figure BDA0003002419710000352
其中
Figure BDA0003002419710000353
是λ的多项式。此向量的每个元素都是某个大素数模q上的域F的元素。
令TS=(TS.Gen,TS.Sign,TS.Combine,TS.Verify)为阈值签名方案。令(SKE.Enc,SKE.Dec)表示秘密密钥加密方案。令(Garble,Eval)表示电路混淆方案。令Sim.Garble表示此方案模拟器。令OT=(OT.Setup,OT,Round1,OT.Round2,OT.Output)为CRS模型中的双消息不经意传输协议。令OT.Sim表示模拟器。令OT.Sim.Setup表示模拟器用于生成模拟CRS的算法,以及OT.Sim.Round2表示用于针对恶意接收方生成第二轮消息的算法。
令AHE=(AHE.Setup,AHE.Enc,AHE.Add,AHE.ConstMul,AHE.Dec)为电路专用加法同态加密方案的算法。令(NIZK.Prove,NIZK.Verify)表示RO模型中的知识***的非交互零知识论证。令RO表示随机预言。令NIZK.Sim表示此论证***的模拟器,并令NIZK.Ext表示提取器。令PRF表示伪随机函数,其输入长度为l。
我们现在针对余弦相似性描述四轮安全模糊阈值令牌生成协议πCS的构建。
1.注册
在注册阶段,由受信任授权方执行以下算法。受信任授权方可以是将参与后续生物计量匹配和签名生成的装置。如果受信任授权方可能会参与生物计量匹配和签名生成,则其可在注册阶段结束时删除其不应拥有的信息。即,其应删除对应于其它装置的份额。
-从分布
Figure BDA0003002419710000361
采样随机向量
Figure BDA0003002419710000362
为简单起见,假设
Figure BDA0003002419710000363
的L2-范数为1。
-计算
Figure BDA0003002419710000364
-针对每一i∈[n],将
Figure BDA0003002419710000365
给予Pi方。
-针对每一i∈[n],进行以下操作:
*计算
Figure BDA0003002419710000366
*计算(ski,pki)←AHE.Setup(1λ)。
*令
Figure BDA0003002419710000367
针对所有
Figure BDA0003002419710000368
计算
Figure BDA00030024197100003615
*将
Figure BDA0003002419710000369
给予Pi方,并将
Figure BDA00030024197100003610
给予所有其它方。
受信任装置从分布
Figure BDA00030024197100003611
中采样生物计量模板
Figure BDA00030024197100003612
Figure BDA00030024197100003613
可以是由生物计量传感器采集的原始生物计量数据。为简单起见,假设
Figure BDA00030024197100003614
是归一化的。然后,受信任装置按照任何合适的密钥共享算法,为阈值签名方案生成公钥、秘密密钥的份额和任何其它所需的公共参数。密钥共享算法的示例包括萨米尔秘密共享。
总共n个装置中的第i个装置接收秘密密钥加密方案的公共参数ppTA、公钥vkTA和秘密密钥的第i个份额
Figure BDA0003002419710000371
然后,受信任装置可计算
Figure BDA0003002419710000372
其中
Figure BDA0003002419710000373
是生物计量模板的第i份额。受信任装置还可计算加法同态加密方案的公钥和秘密密钥的份额(ski,pki)。然后,受信任装置可将
Figure BDA0003002419710000374
的每一个l分量加密为cti,j。第i个装置接收其模板份额、秘密密钥、私钥和加密值,以及加密中使用的随机因子。所有其它装置接收模板份额、公钥份额和加密模板的补集,而无随机因子。因此,在注册阶段结束时,每个装置都具有完整的公钥和完整的加密模板。
2.设置
设置也可由受信任授权方完成。受信任授权方可与完成注册的受信任装置相同。如果受信任授权方可能会参与生物计量匹配和签名生成,则其可在注册阶段结束时删除其不应拥有的信息。即,其应删除对应于其它装置的份额。
针对每一i∈[n],设置算法进行以下操作:
-生成crsi←OT.Setup(1λ)。
-生成随机密钥(ki,a,ki,b,ki,c,ki,d,ki,p,ki,q,ki,z,ki,C,ki,enc,ki,ot)以用于PRF。
-将(crsi)给予Pi方。
-将(crsi,ki,a,ki,b,ki,c,ki,d,ki,p,ki,q,ki,z,ki,C,ki,enc,ki,ot)给予所有其它方。
在设置阶段中,主要装置可生成和分发可稍后用于部分计算的数个常数。受信任装置可生成用于不经意传输设置的共同参考字符串,以及用于伪随机函数的多个随机密钥。第i装置接收第i crs,并且所有其它方接收第i crs和第i组随机密钥。
3.登录
在登录阶段,我们考虑使用输入向量
Figure BDA0003002419710000375
和其想要相关令牌的消息m的Pi方。Pi挑选了两个其它方Pj和Pk,并在下面的四轮协议中与所述其它方交互。在登录阶段,将生物计量测量值与模板匹配,并针对认证质询生成签名。主要装置Pi选择总计n个装置中要参与的另两个装置Pj和Pk。登录阶段进行四轮通信。主要装置具有测量的生物计量
Figure BDA0003002419710000376
和其想要相关令牌的消息m。第1轮上的箭头可表示在此轮中,消息是从Pi方发出。
第1轮:(Pi→)Pi方进行以下操作:
i.令
Figure BDA0003002419710000381
ii.令
Figure BDA0003002419710000382
其中j<k。
iii.针对每一
Figure BDA0003002419710000389
计算以下内容:
·ct1,j=AHE.Enc(pki,uj;r1,j)。
·π1,j←NIZK.Prove(st1,j,wit1,j),针对命题st1,j=(ct1,j,pki)∈L1,使用证据wit1,j=(uj,r1,j)。
·ct2,j=AHE.ConstMul(pki,ct1,j,uj;r2,j)。
·π2,j←NIZK.Prove(st2,j,wit2,j),针对命题st2,j=(ct1,j,ct1,j,ct2,j,pki)∈L2,使用证据wit2,j=(uj,r1,j,uj,r1,j,r2,j)。
·ct3,j=AHE.ConstMul(pki,ct1,j,wi,j;r3,j)。
·π3,j←NIZK.Prove(st3,j,wit3,j),针对命题st3,j=(ct1,j,cti,j,ct3,j,pki)∈L2,使用证据wit3,j=(uj,r1,j,wi,j,rwi,j,r3,j)。
iv.向
Figure BDA0003002419710000383
中的双方发送
Figure BDA0003002419710000384
第1轮:对于测量向量的每个分量,Pi进行一系列计算并对这些计算进行非交互零知识证明。首先,它加密分量并生成所述加密有效的证明。然后它同态计算分量与自身的乘积,作为
Figure BDA0003002419710000385
被归一化的证明的一部分。最后,其针对所述分量计算
Figure BDA0003002419710000386
Figure BDA0003002419710000387
的乘积,并生成乘法有效的证明。然后Pi将消息、计算的值和证明发送到其它两个装置。
第2轮:(→Pi)Pj和Pk双方均进行以下操作:
i.如果任何证明{π1,j,π2,j,π3,j}j∈[l]未验证,则中止。
ii.生成以下随机性:
·a=PRF(ki,a,msg1),b=PRF(ki,b,msg1)。
·c=PRF(ki,c,msg1),d=PRF(ki,d,msg1)。
·p=PRF(ki,p,msg1),q=PRF(ki,q,msg1)。
·rz=PRF(ki,z,msg1)。
iii.使用算法AHE并使用随机性PRF(ki,enc,msg1),计算ctx,1,ctx,2,cty,1,cty,2,ctz,1,ctz,2为以下内容的加密:
·
Figure BDA0003002419710000388
x2=(a·x1+b)
·
Figure BDA0003002419710000391
y2=(c·y1+d)
·
Figure BDA0003002419710000392
z2=(p·z1+q)
iv.将(ctx,2,cty,2,ctz,1,ctz,2)发送给Pi
第2轮:Pj和Pk双方均验证证明。如果任何证明都无效,则其可中止协议。这确保Pi是可信的,并且不会发送
Figure BDA0003002419710000393
的无效值以尝试强制匹配。然后,每个装置使用在设置阶段提供的随机密钥来生成伪随机值a、b、c、d、p、q和rz。因为它们接收到与来自Pi的消息相关联的相同随机密钥,所以它们将生成相同的随机值。
然后,所述各方可使用加法同态加密算法来计算一些值,以及用于这些值的一次性消息认证码(MAC)。这些值是:测量值与Pi的模板份额的内积(x1)、测量值与自身的内积y1,以及测量值与补集
Figure BDA0003002419710000394
加上随机值rz的内积(z1)。相关联的MAC是x2、y2和z2。可完成与Pi的模板份额的内积,因为它是作为密文依分量发送,然后由于同态加法而重构为全向量上的内积。一次性MAC提供对Pi的另一检查。即使Pi试图更改计算值以强制匹配,MAC也将不再与计算值对应。然后,每一方都将除x1和y1以外的所有内容发送到Pi
第3轮:(Pi→)对
Figure BDA00030024197100003911
中的每一方,Pi方进行以下操作:
i.如果Pj和Pk在第2轮中发送的元组不一样,则中止。
ii.计算
Figure BDA0003002419710000395
x2=AHE.Dec(ski,ctx,2)。
iii.计算
Figure BDA0003002419710000396
y2=AHE.Dec(ski,cty,2),
iv.计算z1=AHE.Dec(ski,ctz,1),z2=AHE.Dec(ski,ctz,2)。
v.生成并发送
Figure BDA0003002419710000397
其中随机统一地挑选
Figure BDA0003002419710000398
第3轮:Pi可比较由另两方发送的元组。如果所述元组不匹配,则Pi可中止协议。此检查是为了确保Pj和Pk是值得信赖的。因为它们以相同的随机密钥开始,所以其所有计算应相同。我们假设这两个装置没有串通发送无效值,因为假定所述装置只与主要装置通信。然后Pi为自己计算x1和y1,并解密包含z1、x2、y2和z2的消息。然后,Pi向另外两个装置中的每一个发送不经意传输消息,以传递第4轮中使用的混淆电路的混淆输入。
第4轮:(Pj→Pi)Pj方进行以下操作:
i.计算rC=PRE(ki,C,msg1)。
ii.计算
Figure BDA0003002419710000399
用于图7中描绘的电路C。
iii.令
Figure BDA00030024197100003910
iv.针对每一s∈{x,y,z}和每一t∈{0,1},令
Figure BDA0003002419710000401
表示对应于输入线st的混淆电路
Figure BDA0003002419710000402
的标签。生成
Figure BDA0003002419710000403
Figure BDA0003002419710000404
v.令
Figure BDA0003002419710000405
vi.挑选随机字符串Pad=PRF(ki,C,msg3)。
vii.设
Figure BDA0003002419710000406
viii.将
Figure BDA0003002419710000407
发送给Pi
第4轮:(Pk→Pi)Pk方进行以下操作:
i.完全如Pj所做的那样计算
Figure BDA0003002419710000408
otSen,Pad。
ii.设
Figure BDA0003002419710000409
iii.将
Figure BDA00030024197100004010
发送给Pi
第4轮:Pj和Pk均可生成混淆电路,如图7中所示,并且准备对其进行发送。每个装置还生成合适的字符串Pad。这两个装置应产生相同的混淆电路和字符串Pad,因为所述装置由于在设置阶段建立的共享随机性而具有相同的输入参数。然后,电路检查每个值/MAC对是否一致,如果存在任何不匹配,则中止。其接着计算内积。如果内积大于预定阈值,则电路输出字符串Pad。如果内积不大于阈值,则电路输出失败标记。用于检查MAC的随机常数硬连线到电路中,因此Pi无法习得这些值并伪造结果。
然后,Pj使用字符串Pad和来自注册阶段的秘密密钥共享来计算秘密密钥加密方案的部分签名。Pk对自己的密钥份额进行同样的动作。然后Pj发送到Pi,发送混淆电路及其部分计算。Pk发送其部分计算和电路的随机预言散列。
输出计算:Pj、Pk方输出
Figure BDA00030024197100004015
另外,Pi方进行以下操作以生成令牌:
i.令
Figure BDA00030024197100004011
为从Pj接收的消息,并且(msg4,OneCTk)为从Pk接收的消息。
ii.如果
Figure BDA00030024197100004012
则中止
iii.针对每一s∈{x,y,z}以及每一t∈{0,1},计算
Figure BDA00030024197100004013
iv.令lab={labs,t}s∈{x,y,z},t∈{0,1}
v.计算
Figure BDA00030024197100004014
vi.计算Tokenj=SKE.Dec(Pad,OneCTj)、Tokenk=SKE.Dec(Pad,OneCTk)、
Figure BDA0003002419710000411
vii.计算Token←TS.Combine({Tokens}s∈{i,j,k})
viii.如果TS.Verify(vkTS,m,Token),则输出Token。否则,输出⊥。
输出计算:Pi现在可生成令牌。它可检查Pj发送的电路的散列是否与Pk发送的散列匹配,如果不匹配,则中止计算。这确保其它两方行为正常。Pi然后可计算混淆电路的适当标签,并对电路求值以确定字符串Pad(如果存在匹配的话)。使用字符串Pad,Pi可解密其它两方发送的部分计算,并对签名进行自己的部分计算。最后,Pi可组合所述部分计算并创建完整的令牌。
4.令牌验证
给定验证密钥vkTS、消息m和令牌Token,如果TS.Verify(vkTS,m,Token输出1,则令牌验证算法输出1。
协议的正确性直接遵循底层原语的正确性。
B.安全性证明
在此章节中,我们正式地证明定理3。
考虑攻陷
Figure BDA0003002419710000412
方的敌手
Figure BDA0003002419710000413
我们的协议πCS的模拟器Sim对抗恶意敌手
Figure BDA0003002419710000414
的策略如下所述。注意,注册阶段首先发生,模拟器在所述阶段结束时获得要发送到
Figure BDA0003002419710000415
的值,然后将所述值转发到
Figure BDA0003002419710000416
1.模拟器的描述
设置:对于每一i∈[n],Sim进行以下操作:
-生成
Figure BDA0003002419710000417
-生成随机密钥(ki,a,ki,b,ki,c,ki,d,ki,p,ki,q,ki,z,ki,C)以用于PRF。
-如果
Figure BDA0003002419710000418
则将(crsi)给予
Figure BDA0003002419710000419
-否则,将(crsi,ki,a,ki,b,ki,c,ki,d,ki,p,ki,q,ki,z,ki,C)给予
Figure BDA00030024197100004110
登录阶段:情况1–诚实方为Pi
假设诚实方Pi使用输入向量
Figure BDA00030024197100004111
和其想要通过与两方集合S交互以获得相关令牌的消息m,两方中的一方是
Figure BDA00030024197100004112
第1轮中的箭头可表示在此轮中,消息是从模拟器发出。Sim从理想泛函
Figure BDA00030024197100004113
获得元组
Figure BDA00030024197100004114
并与敌手
Figure BDA00030024197100004115
进行如下交互:
·第1轮:(Sim→)Sim进行以下操作:
(a)针对每一
Figure BDA00030024197100004116
计算以下内容:
*对于每一t∈{1,2,3},ctt,j=AHE.Enc(pki,mt,j;rt,j),其中随机统一挑选(mt,j,rt,j)。
1,j←NIZK.Sim(st1,j),针对命题st1,j=(ct1,j,pki)∈L1
2,j←NIZK.Sim(st2,j),针对命题st2,j=(ct1,j,ct1,j,ct2,j,pki)∈L2
3,j←NIZK.Sim(st3,j),针对命题st3,j=(ct1,j,cti,j,ct3,j,pki)L2
(b)将
Figure BDA0003002419710000421
发送给
Figure BDA0003002419710000422
·第2轮:(→Sim)代表攻陷方
Figure BDA0003002419710000423
从敌手接收(ctx,2,cty,2,ctz,1,ctz,2)。
·第3轮:(Sim→)Sim进行以下操作:
(a)如果未使用AHE算法、向量
Figure BDA0003002419710000424
和随机性(ki,a,ki,b,ki,c,ki,d,ki,p,ki,q,ki,z,ki,enc)正确计算密文(ctx,2,cty,2,ctz,1,ctz,2),则中止。
(b)生成并发送
Figure BDA0003002419710000425
其中随机统一挑选
Figure BDA0003002419710000426
·第4轮:(→Sim)代表攻陷方
Figure BDA0003002419710000427
从敌手接收
Figure BDA0003002419710000428
·向理想泛函
Figure BDA0003002419710000429
发消息:Sim进行以下操作:
(a)如果未使用相应算法和随机性(ki,ot,,ki,C)正确计算
Figure BDA00030024197100004210
则中止。
(b)否则,指令理想泛函
Figure BDA00030024197100004211
将输出递送到诚实方Pi
登录阶段:情况2–恶意方为Pi
假设恶意方是发起方Pi。Sim与敌手
Figure BDA00030024197100004212
如下交互:
·第1轮:(→Sim)Sim代表两个诚实方Pj、Pk从敌手
Figure BDA00030024197100004213
接收
Figure BDA00030024197100004214
·第2轮:(Sim→)Sim进行以下操作:
(a)向理想泛函
Figure BDA00030024197100004215
发消息:
i.关于证明{π1,j,π2,j,π3,j}j∈[l]运行提取器NIZK.Ext,计算
Figure BDA00030024197100004216
ii.通过
Figure BDA00030024197100004217
查询理想泛函
Figure BDA00030024197100004218
以接收输出
Figure BDA00030024197100004219
(b)使用公钥pki和统一随机性生成(ctx,2,cty,2,ctz,1,ctz,2)作为随机消息的加密。将其发送给
Figure BDA00030024197100004220
·第3轮:(→Sim)Sim代表两个诚实方Pj和Pk从敌手
Figure BDA00030024197100004221
接收
Figure BDA00030024197100004222
·第4轮:(Sim→)Sim进行以下操作:
(a)随机统一挑选值Pad。
(b)如果
Figure BDA0003002419710000431
*令
Figure BDA0003002419710000432
*计算
Figure BDA0003002419710000433
*令labsim={labs,t}s∈{x,y,z},t∈{0,1}
*针对每一s∈{x,y,z}以及每一t∈{0,1},计算
Figure BDA0003002419710000434
Figure BDA0003002419710000435
*计算
Figure BDA0003002419710000436
*设OneCTj=SKE.Enc(Pad,Tokenj)并且OneCTk=SKE.Enc(Pad,Tokenk)。
(c)如果
Figure BDA0003002419710000437
*计算
Figure BDA0003002419710000438
*令labsim={labs,t}s∈{x,y,z},t∈{0,1}
*针对每一s∈{x,y,z}以及每一t∈{0,1},计算
Figure BDA0003002419710000439
Figure BDA00030024197100004310
*计算
Figure BDA00030024197100004311
*设OneCTj=SKE.Enc(Pad,rj)并且OneCTk=SKE.Enc(Pad,rk),其中随机统一挑选rj和rk
(d)将
Figure BDA00030024197100004312
Figure BDA00030024197100004313
发送给
Figure BDA00030024197100004314
2.杂合体
我们现在证明了上述模拟策略对所有恶意PPT敌手都是成功的。即,在现实世界和理想世界中,敌手的观察以及诚实方的输出在计算上是不可区分的。我们将通过一系列计算上不可区分的杂合体来说明这一点,其中第一杂合体Hyb0对应于现实世界,最末杂合体Hyb8对应于理想世界。
1.Hyb0–现实世界:在此杂合体中,考虑扮演现实世界中的诚实方角色的模拟器SimHyb。
当诚实方是Pi
2.Hyb1–情况1:中止并发消息给理想泛函。在此杂合体中,如果敌手的消息没有以与设置阶段输出的随机性一致的方式生成,则SimHyb中止并向理想泛函运行查询。
也就是说,SimHyb如Sim在模拟策略情况1的第4轮之后所进行的那样运行“向理想泛函发消息”步骤。SimHyb还执行模拟情况1第3轮的步骤1中的中止检查步骤。
3.Hyb2–情况1:模拟NIZK。在此杂合体中,SimHyb如Sim在理想世界中进行的那样计算情况1第1轮中的模拟NIZK论证。
4.Hyb3–情况1:切换密文。在此杂合体中,SimHyb如在理想世界进行的那样使用随机消息计算情况1第1轮中的密文。
5.Hyb4–情况1:切换OT接收方消息。在此杂合体中,SimHyb如在理想世界进行的那样使用随机输入计算情况1第3轮中的OT接收方消息。
当攻陷方为Pi
6.Hyb5–情况2:向理想泛函发消息。在此杂合体中,SimHyb如Sim在模拟策略情况2第2轮中进行的那样运行“向理想泛函发消息”步骤。也就是说,SimHyb使用提取器NIZK.Ext关于
Figure BDA0003002419710000442
在第1轮给出的证明的输出而查询理想泛函。
7.Hyb6–情况2:模拟OT发送方消息。在此杂合体中,SimHyb如在理想世界进行的那样使用模拟器OT.Sim在设置阶段期间计算CRS以及情况2第4轮中的OT发送方消息。
8.Hyb7–情况2:模拟混淆电路。在此杂合体中,SimHyb如在理想世界进行的那样使用模拟器Sim.Garble计算情况2第4轮中的混淆电路和相关联标签。
9.Hyb8–情况2:切换密文。在此杂合体中,SimHyb如在理想世界进行的那样使用随机消息计算情况2第2轮中的密文。此杂合体对应于理想世界。
我们现在将证明每对连续杂合体在计算上不可区分。
引理5 Hyb0在统计上与Hyb1不可区分。
证明。当诚实方作为查询方Pi发起协议时,假设它与Pj方和Pk方交互,使得Pk是攻陷方。在Hyb0中,SimHyb代表Pi检查Pj和Pk两方发送的消息是否相同,如果是,则代表诚实方计算输出。由于Pk是诚实的,因此这意味着如果双方发送的消息确实相同,则代表Pj的敌手
Figure BDA0003002419710000441
确实使用设置阶段生成的共享随机性和注册阶段生成的共享值诚实地生成了这些消息。
在Hyb1中,SimHyb代表Pi检查敌手代表Pj发送的消息是否是使用设置阶段和注册阶段生成的共享随机性和共享值正确生成,如果是,则要求理想泛函将输出递送给诚实方。因此,从Hyb0到Hyb1的切换本质上只是句法变化。
引理6假设NIZK论证***的零知识属性,Hyb1在计算上与Hyb2不可区分。
证明。这两种杂合体之间的唯一区别是,在Hyb1中,SimHyb通过运行诚实检验算法(honest prover algorithm)NIZK.Prove(·)来计算NIZK论证***的消息,而在Hyb2中,所述消息是通过运行模拟器NIZK.Sim(·)计算。因此,我们可证明,如果存在能以不可忽略的概率区分这两个杂合体的敌手
Figure BDA0003002419710000451
则我们可设计能以不可忽略的概率区分现实论证与模拟论证的约简
Figure BDA0003002419710000452
从而打破NIZK论证***的零知识属性这一矛盾。
引理7假设加法同态加密方案AHE的语义安全性,Hyb2在计算上与Hyb3不可区分。
证明。这两个杂合体之间唯一的区别是,在Hyb2中,SimHyb通过加密诚实方的实际输入
Figure BDA0003002419710000453
来计算第1轮中的密文,而在Hyb3中,密文加密随机消息。因此,我们可证明,如果存在能以不可忽略的概率区分这两个杂合体的敌手
Figure BDA0003002419710000454
则我们可设计能以不可忽略的概率区分诚实方实际输入的加密与随机消息的加密的约简
Figure BDA0003002419710000455
从而打破加密方案AHE的语义安全性这一矛盾。
引理8假设不经意传输协议OT抵御恶意发送方的安全性,Hyb3在计算上与Hyb4不可区分。
证明。这两种杂合体的唯一区别在于,在Hyb3中,SimHyb如诚实方在现实世界中进行的那样计算OT接收方的消息,而在Hyb4中,OT接收方的消息是使用随机消息作为输入来计算的。因此,我们可证明,如果存在能以不可忽略的概率区分这两个杂合体的敌手
Figure BDA0003002419710000456
则我们可设计能够以不可忽略的概率区分诚实方的实际输入和随机输入的OT接收方消息的约简
Figure BDA0003002419710000457
从而打破不经意传输协议OT抵御恶意发送方的安全性这一矛盾。
引理9假设NIZK论证***的知识属性论证,Hyb4在计算上与Hyb5不可区分。
证明。这两个杂合体之间的唯一区别是,在Hyb5中,SimHyb还基于敌手给出的证明运行提取器NIZK.Ext以计算其输入
Figure BDA0003002419710000458
因此,这两个杂合体之间的唯一区别是,敌手是否能够产生一组证明{πj}以使得所有证明都以不可忽略的概率成功验证,但SimHyb无法提取
Figure BDA0003002419710000459
因此SimHyb中止。
然而,我们可证明,如果存在能以不可忽略概率使这种情况发生的敌手
Figure BDA00030024197100004510
则我们可设计以不可忽略概率打破***NIZK的知识属性论证这一矛盾的约简
Figure BDA0003002419710000461
引理10假设不经意传输协议OT抵御恶意接收方的安全性,Hyb5在计算上与Hyb6不可区分。
证明。这两个杂合体之间的唯一区别是,在Hyb5中,SimHyb如诚实方在现实世界中进行的那样使用混淆电路的实际标签来计算OT发送方的消息,而在Hyb6中,OT发送方的消息是通过运行模拟器OT.Sim来计算的。在Hyb6中,设置阶段的crs也使用模拟器OT.Sim计算。
因此,我们可证明,如果存在能以不可忽略的概率区分这两个杂合体的敌手
Figure BDA0003002419710000462
则我们可设计约简
Figure BDA0003002419710000463
其能以不可忽略的概率区分以下两种情况:crs和OT发送方的消息是通过运行诚实发送方算法而生成,以及crs和OT发送方的消息是使用模拟器OT.Sim生成;从而打破不经意传输协议OT抵御恶意接收方的安全性这一矛盾。
引理11假设提取器NIZK.Ext的正确性以及混淆方案的安全性,Hyb6在计算上与Hyb7不可区分。
证明。这两个杂合体之间的唯一区别是,在Hyb6中,SimHyb通过使用诚实生成的标签运行诚实混淆算法Garble来计算混淆电路,而在Hyb7中,SimHyb通过对理想泛函输出的值
Figure BDA0003002419710000464
运行模拟器Sim.Garble来计算模拟混淆电路和模拟标签。从提取器NIZK.Ext的正确性可知,在Hyb6中由求值程序
Figure BDA0003002419710000465
接收到的混淆电路的输出与理想世界中使用的理想泛函输出
Figure BDA0003002419710000466
相同。因此,我们可证明,如果存在能以不可忽略的概率区分这两个杂合体的敌手
Figure BDA0003002419710000467
则我们可设计约简
Figure BDA0003002419710000468
其能以不可忽略的概率区分诚实生成的输入线标签集合和诚实生成的混淆电路与模拟的输入线标签集合和混淆电路,从而打破混淆方案的安全性这一矛盾。
引理12假设加法同态加密方案AHE的电路隐私属性,Hyb7在计算上与Hyb8不可区分。
证明。这两个杂合体之间的唯一区别是,在Hyb7中,SimHyb通过完全如现实世界中那样对敌手在第1轮中发送的合式密文执行同态运算来计算第2轮中发送的密文,而在Hyb3中,SimHyb生成加密随机消息的密文。因此,我们可证明,如果存在能以不可忽略的概率区分这两个杂合体的敌手
Figure BDA0003002419710000469
我们就可设计约简
Figure BDA00030024197100004610
其能打破电路专用加法同态加密方案的电路隐私性这一矛盾。
C.欧几里德距离
回想一下给定两个向量
Figure BDA0003002419710000471
它们之间的欧几里德距离的平方EC.Dist与它们的余弦相似性CS.Dist如下相关:
Figure BDA0003002419710000472
因此,很容易观察到上述协议和分析也容易扩展到欧几里德距离。
VIII.使用深度-1阈值FHE的余弦相似性
在此章节中,我们示出如何使用具有阈值解密的任何深度-1FHE方案针对余弦相似性高效构建模糊阈值令牌生成协议。
A.构建
在描述我们的构建之前,我们先列出使用的一些记法和原语。
令IP为输入模板w、测量值u并输出内积<w,u>的函数,并且令d表示阈值内积值以表示w与u之间的匹配。令n方分别由P1、...、Pn表示。令λ表示安全参数。令W表示从中采样随机模板向量的分布。假设向量的长度为
Figure BDA0003002419710000475
其中
Figure BDA0003002419710000476
是λ的多项式。令C为电路,其将模板w、测量值u和某个字符串K作为输入,并在w与u之间的距离低于某个(预定义)阈值时输出K;否则输出0。
令TFHE=(TFHE.Gen,TFHE.Enc,TFHE.PartialDec,TFHE.Eval,TFHE.Combine)为深度-1阈值FHE方案。令TS=(TS.gen,TS.Sign,TS.Combine,TS.Verify)为阈值签名方案。令SKE=(SKE,Gen,SKE.Enc,SKE.Dec)表示秘密密钥加密方案。令PKE=(PKE.Gen,PKE.Enc,PKE.Dec)表示公钥加密方案。
令(Gen,Sign,Verify)为强不可伪造数字签名方案。令NIZK=(NIZK.Setup,NIZK.Prove,NIZK.Verify)表示非交互零知识论证。令H为防冲突散列函数(稍后建模为随机预言)。
我们现在描述对于任何n和k的六轮安全模糊阈值令牌生成协议πIP的构建。
1.注册
在注册阶段,由受信任授权方执行以下算法:
·从分布W采样随机w。
·计算(pk,sk1,...,skN)←TFHE.Gen(1λ,n,t)。
·计算
Figure BDA0003002419710000473
·计算
Figure BDA0003002419710000474
·计算K←SKE,Gen(1λ)。
·计算crs←NIZK.Setup(1λ)。
·计算密文
ct0←TFHE.Enc(pk,w),ct1←TFHE.Enc(pk,K)。
·针对每一i∈[n],进行以下操作:
a)计算(sk′i,vk′i)←Gen(1λ)。
b)计算Ki=H(K,i)。
c)将以下内容给予Pi
Figure BDA0003002419710000481
受信任授权方(例如,主要用户装置)可从生物计量测量分布
Figure BDA0003002419710000482
中采样生物计量模板w。除了公共参数ppTS、验证密钥vkTS和用于阈值签名方案TS的多个私钥份额
Figure BDA0003002419710000483
之外,受信任授权方还可计算用于阈值完全同态加密方案TFHE的公钥pk和多个私钥份额ski。受信任授权方还可计算用于公钥加密方案PKE的公钥
Figure BDA0003002419710000484
和秘密密钥
Figure BDA0003002419710000485
以及用于秘密密钥方案SKE的字符串K。使用公钥pk,受信任授权方可加密生物计量模板w以形成密文ct0,并加密字符串K以形成密文ct1
然后,受信任授权方可计算多个值以用于n个电子装置中的每个电子装置i(例如,第一电子装置和其它电子装置)。受信任授权方可计算用于数字签名方案的秘密密钥份额sk′i和验证密钥份额vk′i。受信任授权方还可使用字符串K和散列函数H来计算散列Ki。然后,受信任授权方可向每个电子装置Pi发送公钥pk、密文ct0和ct1、验证密钥份额(vk′i、....、vk′i)、秘密密钥份额sk′i、公共参数ppTS、验证密钥vkTS、私钥份额
Figure BDA0003002419710000486
和散列Ki
2.登录阶段
在登录阶段,考虑使用输入向量u、其想要相关的令牌的消息m的P*方。P*在以下四轮协议中与其它方交互。第1轮中的箭头可表示在此轮中,消息从P*方发出。
·第1轮:(P*→)P*方进行以下操作:
a)计算密文ct*=TFHE.Enc(pk,u)。
b)挑选由P1、...、Pn中的t方组成的集合S。为简单而不失一般性起见,我们假设P*也是集合S的一部分。
c)向每一方Pi∈S发送(ct*,m)。
·第2轮:(→P*)每一方Pi∈S(除了P*)进行以下操作:
a)计算签名σ′i=Sign(sk′i,ct*)。
b)将σ′i发送给P*方。
·第3轮:(P*→)P*方发送(σ′1,...,σ′n)给每一方Pi
·第4轮:(→P*)每一方Pi∈S(除了P*)进行以下操作:
a)如果存在i∈[n]以使得Verify(vk′i,ct*,σ′i)≠1,则输出⊥。
b)否则,对以下密文求值
ct=TFHE.Eval(pk,IP,ct0,ct*),
并且将ct的部分解密计算为:
μi=TFHE.PartialDec(ski,ct)。
c)将μi发送给P*方。
·第5轮:(P*→)P*方进行以下操作:
a)恢复IP(v,u)=TFHE.Combine(μ1,...,μn)。
b)计算
Figure BDA0003002419710000491
c)针对每一i∈[n],计算
Figure BDA0003002419710000492
d)向每一方Pi发送以下元组
(C0,C1,...,Cn,π),
其中π是针对以下命题(后续表示为γ)的NIZK证明(通过算法NIZK.Prove使用crs生成):
在公钥
Figure BDA0003002419710000493
下,密文C0加密内积μ0并且每个密文Ci加密某个消息μi,其中i∈[n],使得:
i.μ0<d。
ii.μ0=TFHE.Combine(μ1,...,μn)。
·第6轮:(→P*)每一方{Pi∈S(exceptP*)进行以下操作:
a)如果NIZK.Verify(crs,γ,π)≠1,则输出⊥。
b)否则,计算ct1的部分解密为:
μi,1=TFHE.PartialDec(ski,ct1)。
(c)计算Tokeni=TS.Sign(ski,m)以及
Figure BDA0003002419710000494
(d)将
Figure BDA0003002419710000495
发送给P*方。
·输出计算:P*方进行以下操作以生成令牌:
(a)恢复K=TFHE.Combine(μ1,1,...,μn,1)。
(b)针对每一i∈[n],进行以下操作:
i.计算Ki=H(K,i)。
ii.恢复
Figure BDA0003002419710000496
(c)计算←TS.Combine({Tokeni}i∈S)。
(d)如果TS.Verify(vkTS,m,Token)=1,则输出Token。否则,输出⊥。
第一电子装置P*可利用阈值完全同态加密方案的公钥pk来加密输入向量u(例如,生物计量测量向量),以生成加密的生物计量测量密文ct*。第一电子装置可将加密的生物计量测量值ct*和消息m发送到其它电子装置中的每一个。其它电子装置中的每一个可用密文ct*和秘密密钥份额sk′i计算部分签名计算σ′i。每个电子装置可将部分签名计算σ′i发送给第一电子装置。第一电子装置可将所有的部分签名计算(σ′1、...、σ′n)发送给所有其它电子装置。
其它电子装置中的每一个可用密文ct*和接收到的验证密钥(vk′1、....、vk′n)对每个部分签名计算(σ′1、...、σ′n)进行验证。如果未验证任何部分签名计算(例如,Verify(vk′i,ct*,σ′i)≠1),则电子装置可输出⊥,从而指示错误。未经验证的签名可指示一个(或多个)电子装置未正确计算所述部分签名计算,因此可能被破解或是欺诈性的。在验证部分签名计算后,其它电子装置中的每一个可对密文ct*和ct0进行求值以生成新的密文ct。对密文进行求值可包括计算模板w(呈密文ct0)与测量值u(呈密文ct*)之间的内积。然后,所述内积可用于例如计算余弦相似性距离测度或欧几里德距离。然后其它电子装置中的每一个可计算密文ct的部分解密μi。然后可将所述部分解密μi发送到第一电子装置。
第一电子装置可使用阈值完全同态加密来组合所述部分解密(μ1,...,μn),以恢复模板w与测量值u的内积IP(w,u)。第一电子装置可利用公钥加密方案加密内积IP(w,u)以生成密文C0,并对每个部分解密μi进行加密以生成多个密文Ci。第一电子装置还可生成非交互零知识证明π。证明π可证明C0加密内积μ0并且每个密文Ci加密值μi。证明π还可说明内积(以及因此距离测度)小于阈值d,并且内积μ0是部分解密(μ1,...,μn)组合的结果。第一电子装置随后可向其它电子装置中的每一个发送具有密文和证明的元组(C0,C1,...,Cn,π)。
其它电子装置中的每一个可验证证明π。如果所述证明未被验证,则电子装置可输出⊥并中止。如果证明π被验证,则电子装置可计算ct1的部分解密μi,1、字符串K的加密。部分阈值签名令牌Tokeni可由其它电子装置中的每一个使用秘密密钥份额ski和消息m生成。密文
Figure BDA0003002419710000501
可通过部分阈值签名令牌Tokeni和散列Ki计算为秘密密钥加密。然后,可将部分解密μi,1和密文
Figure BDA0003002419710000502
发送到第一电子装置。
第一电子装置可同态组合部分解密(μ1,1、...、μn,1)来恢复字符串K。然后,第一电子装置可使用字符串K和散列函数H来计算每个电子装置i的散列Ki,然后使用散列Ki来解密秘密密钥加密密文
Figure BDA0003002419710000511
以恢复部分阈值签名令牌Tokeni。利用每个接收到的部分阈值签名令牌Tokeni,第一电子装置可将其组合以计算签名令牌Token。如果第一电子装置能够验证令牌Token和消息m,则第一电子装置可输出令牌Token;否则,第一电子装置可输出⊥。
令牌验证
给定验证密钥vkTS、消息m和Token,如果TS.Verify(vkTS,m,Token)输出1,则令牌验证算法输出1。
B.安全性分析
我们在此证明非正式定理3。实际上,此证明与一般情况下使用TFHE的证明非常相似。因此我们省略了细节,只提供一个简短的概要。注意,此协议实现带有泄漏函数定义的略微较弱保证的
Figure BDA0003002419710000512
具体地说,泄漏函数Lc,Lf,Lm返回模板w和测量值u的精确内积。这是因为:在协议中(也即,登录阶段),发起方会知道这个值。在模拟中,当登录会话由攻陷方发起时,会出现这种情况。在这种情况下,模拟器对发起方的输入发出“测试密码”查询,然后习得它发送给敌手的内积。其它步骤与通用协议模拟器的步骤基本相同,因此我们省略了细节。
IX.汉明距离
在此章节中,针对距离测度是汉明距离,我们示出如何在随机预言模型中来构建高效的两轮安全模糊阈值令牌生成协议。我们的令牌生成协议满足任何n,t的定义7,并且能安全抵御最多可攻陷(t-1)方的恶意敌手。
正式地,我们示出以下定理:
定理5假设存在章节III.E中定义的阈值签名、阈值线性秘密共享、稳健线性秘密共享、秘密密钥加密、UC安全阈值不经意伪随机函数和防冲突散列函数,对于汉明距离函数,存在满足定义7的两轮安全模糊阈值令牌生成协议。所述协议适用于任何n、任何阈值t,并且能安全抵御最多可攻陷(t-1)方的恶意敌手。
在随机预言模型[25]中,假设间隙阈值一对多Diffie-Hellman假设,就可建构阈值不经意PRF。假设DDH/RSA[16,17],可建构我们使用的阈值签名方案。随机预言模型隐含了防冲突散列函数。我们将使用萨米尔秘密共享方案来实例化引入定理1中描述的稳健秘密共享方案。可无条件地或假设仅单向函数来建构其它原语。因此,实例化上述定理中使用的原语,我们得到以下推论:
推论6假设
Figure BDA0003002419710000521
和间隙阈值一对多Diffie-Hellman(Gap-TOMDH)的难度,对于汉明距离函数,在满足定义7的随机预言模型中存在两轮安全模糊阈值令牌生成协议。所述协议适用于任何n、任何阈值t,并且能安全抵御最多可攻陷(t-1)方的恶意敌手。
A.构建
在描述我们的构建之前,我们先列出使用的一些记法和原语。
令n方分别由P1、...、Pn表示。令λ表示安全参数。令
Figure BDA0003002419710000522
表示从中采样随机向量的分布。假设向量的长度为
Figure BDA0003002419710000527
其中
Figure BDA0003002419710000528
是λ的多项式。此向量的每个元素都是某个大素数模q上的域F的元素。令d表示汉明距离函数的阈值。即,各自长度为
Figure BDA0003002419710000529
的两个向量
Figure BDA0003002419710000523
Figure BDA0003002419710000524
在其汉明距离最多是
Figure BDA00030024197100005210
(即,它们在至少d个位置上相等)的情况下可被认为接近。
令(Share,Recon)为(n,t)线性秘密共享方案。令(RSS.Share,RSS.Recon,Thres,Recon)为附录A中定义的
Figure BDA0003002419710000525
稳健线性秘密共享方案。即,秘密可通过在给定恰好d个诚实生成的份额时运行算法Thres.Recon或通过在给定一批
Figure BDA00030024197100005211
份额(其
Figure BDA0003002419710000526
为诚实生成)时运行算法RSS.Recon来重建。令TS=(TS.Gen,TS.Sign,TS.Combine,TS.Verify)为Boldyreva[16]的阈值签名方案。我们注意到,类似构建也适用于其它阈值签名方案。在不失去一般性的前提下,为了简单起见,我们在此处使用Boldyreva[16]的构建呈现我们的方案。
令(SKE.Enc,SKE.Dec)表示秘密密钥加密方案。令TOPRF=(TOPRF.Setup,TOPRF.Encode,TOPRF.Eval,TOPRF.Combine)表示随机预言(RO)模型中的UC安全阈值不经意伪随机函数。令TOPRF.Sim(TOPRF.Sim.Encode,TOPRF.Sim.Eval,TOPRF.Sim.Ext)表示此方案的模拟器,其中算法TOPRF.Sim.Encode用于生成模拟编码,TOPRF.Sim.Eval用于代表算法TOPRF.Eval生成模拟消息。算法TOPRF.Sim.Ext基于TOPRF.Combine阶段期间向RO作出的查询来提取被编码的消息。让我们通过随机预言对防冲突散列函数H进行建模。
我们现在针对汉明距离描述两轮安全阈值模糊令牌生成协议的构建。
1.注册
在注册阶段,由受信任授权方执行以下算法:
-计算
Figure BDA0003002419710000531
记住
Figure BDA0003002419710000532
是通过运行
Figure BDA0003002419710000533
而生成。
-针对每一
Figure BDA00030024197100005323
计算
Figure BDA0003002419710000534
-针对每一j∈[n],将
Figure BDA0003002419710000535
给予Pj方。
-从分布
Figure BDA0003002419710000536
采样随机向量
Figure BDA0003002419710000537
Figure BDA0003002419710000538
-计算
Figure BDA0003002419710000539
令skTOPRF表示TOPRF的组合密钥。
-针对每一j∈[n],将
Figure BDA00030024197100005310
给予Pj
-针对每一
Figure BDA00030024197100005324
进行以下操作:
*计算hi=TOPRF(skTOPRF,wi)。
*针对每一j∈[n],计算hi,j=H(hi||j)。将hi,j给予Pj方。
2.设置
设置算法无任何动作。
3.登录阶段
在登录阶段,让我们考虑P*,其使用输入向量
Figure BDA00030024197100005311
和其想要相关令牌的消息m。P*在下面的两轮协议中与其它方进行交互。
-第1轮:(P*→)P*方进行以下操作:
i.挑选由P1、...、Pn中的t方组成的集合
Figure BDA00030024197100005312
为简单而不失一般性起见,我们假设P*也是集合
Figure BDA00030024197100005313
的一部分。
ii.针对每一
Figure BDA00030024197100005325
使用随机性ρi计算ci=TOPRF.Encode(ui;ρi)。
iii.向每一方
Figure BDA00030024197100005314
发送
Figure BDA00030024197100005315
-第2轮:(→P*)每一方
Figure BDA00030024197100005316
(除了P*)进行以下操作:
i.计算
Figure BDA00030024197100005317
ii.针对每一
Figure BDA00030024197100005326
进行:
·计算
Figure BDA00030024197100005318
其求值结果为
Figure BDA00030024197100005319
Figure BDA00030024197100005320
Figure BDA00030024197100005321
·计算
Figure BDA00030024197100005322
·计算cti,j=SKE.Enc(hi,j,yi,j)。
·发送(zi,j,cti,j)给P*方。
-输出计算:每一方
Figure BDA0003002419710000541
输出
Figure BDA0003002419710000542
另外,P*方进行以下操作以生成令牌:
i.针对每一
Figure BDA00030024197100005415
进行:
·计算
Figure BDA0003002419710000543
·针对每一
Figure BDA00030024197100005416
计算hi,j=H(hi||j),然后计算yi,j=SKE.Dec(hi,j,cti,j)。
·令α1、...、αn为用于对
Figure BDA0003002419710000544
进行秘密共享的(n,t)线性秘密共享方案的重建系数。计算
Figure BDA0003002419710000545
策略1:
Figure BDA0003002419710000546
匹配
i.令β1、...、
Figure BDA00030024197100005417
为用于通过
Figure BDA00030024197100005418
中的每一方对skTS和0进行秘密共享的
Figure BDA0003002419710000547
线性稳健秘密共享方案的稳健重建算法RSS.Recon的重建系数。
ii.计算
Figure BDA0003002419710000548
iii.如果TS.Verify(vkTS,m,Token),则输出Token并停止。
iv.否则,输出⊥。
策略2:仅d匹配
i.针对每一集合
Figure BDA0003002419710000549
以使得
Figure BDA00030024197100005410
进行:
·计算
Figure BDA00030024197100005411
·如果TS.Verify(vkTS,m,Token),则输出Token并停止。
ii.否则,输出⊥。
4.令牌验证
给定验证密钥vkTS、消息m和令牌Token,如果TS.Verify(vkTS,m,Token输出1,则令牌验证算法输出1。
协议的正确性直接遵循底层原语的正确性。
B.安全性证明
在此章节中,我们正式地证明定理5。
假设敌手
Figure BDA00030024197100005412
攻陷了t*方,其中t*<t。下文描述我们的协议πHD的模拟器Sim对抗恶意敌手
Figure BDA00030024197100005413
的策略。注意,注册阶段首先发生,模拟器在所述阶段结束时获得要发送到每个攻陷方的值,然后将所述值转发到
Figure BDA00030024197100005414
1.模拟器的描述
登录阶段:情况1–诚实方为P*
设想诚实方P*,其使用输入向量
Figure BDA0003002419710000551
和其想要通过与集合S交互以获得相关令牌的消息m,所述集合由t组成,其中一些可能已被攻陷。Sim从理想泛函
Figure BDA0003002419710000552
获得元组
Figure BDA0003002419710000553
并与敌手
Figure BDA0003002419710000554
如下交互:
·第1轮:(Sim→)Sim进行以下操作:
(a)针对每一
Figure BDA00030024197100005521
使用随机性ρi计算ci=TOPRF.Sim.Encode(1λ;ρi)。
(b)向每一恶意方
Figure BDA0003002419710000555
发送
Figure BDA0003002419710000556
·第2轮:(→Sim)针对每一
Figure BDA00030024197100005522
代表每一攻陷方
Figure BDA0003002419710000557
从敌手接收(zi,j,cti,j)。
·发消息给理想泛函
Figure BDA0003002419710000558
Sim进行以下操作:
(a)针对每一攻陷方Pj,进行:
*针对每一
Figure BDA00030024197100005523
如果
Figure BDA0003002419710000559
则中止。
*计算yi,j=SKE.Dec(hi,j,cti,j)。
*令β1、...、
Figure BDA00030024197100005524
为用于对0进行秘密共享的
Figure BDA00030024197100005510
线性稳健秘密共享方案的稳健重建算法RSS.Recon的重建系数。
*计算
Figure BDA00030024197100005511
如果
Figure BDA00030024197100005512
则中止。
(b)指令理想泛函
Figure BDA00030024197100005513
将输出递送给诚实方P*
登录阶段:情况2–恶意方为P*
设想恶意方是发起方P*。Sim与敌手
Figure BDA00030024197100005514
如下交互:
·第1轮:(→Sim)Sim代表每个诚实方
Figure BDA00030024197100005515
从敌手
Figure BDA00030024197100005516
接收
Figure BDA00030024197100005517
·第2轮:(Sim→)代表每个诚实方
Figure BDA00030024197100005518
Sim针对每一
Figure BDA00030024197100005525
进行以下操作:
(a)计算zi,j=TOPRF.Sim.Eval(ci)。
(b)随机统一挑选密文cti,j
(c)发送(zi,j,cti,j)给
Figure BDA00030024197100005519
·输出计算阶段:Sim进行以下操作:
(a)发消息给理想泛函
Figure BDA00030024197100005520
i.针对每一
Figure BDA00030024197100005612
基于敌手对预言RO的查询,运行算法TOPRF.Sim.Ext以计算
Figure BDA0003002419710000561
我们假设求值程序必须并行进行所有RO调用以允许提取。这可在协议设计中施行,我们没有明确地提到这一点,以减少阐述。
ii.通过输入
Figure BDA0003002419710000562
查询理想泛函以接收输出
Figure BDA0003002419710000563
(b)针对每一
Figure BDA00030024197100005613
Figure BDA0003002419710000564
(c)代表每一诚实方Pj,针对每一
Figure BDA00030024197100005614
设H(hi||j)以使得
Figure BDA0003002419710000565
其中如下选择Ri,j
(d)如果
Figure BDA0003002419710000566
则进行:
i.随机统一挑选每个Ri,j
(e)如果
Figure BDA0003002419710000567
针对每一诚实方Pj,进行:
i.挑选
Figure BDA0003002419710000568
ii.设
Figure BDA0003002419710000569
其中挑选
Figure BDA00030024197100005610
以使得敌手的令牌输出计算过程产生输出
Figure BDA00030024197100005611
2.杂合体
我们现在证明了上述模拟策略对所有恶意PPT敌手都是成功的。即,在现实世界和理想世界中,敌手的观察以及诚实方的输出在计算上是不可区分的。我们将通过一系列计算上不可区分的杂合体来说明这一点,其中第一杂合体Hyb0对应于现实世界,最末杂合体Hyb7对应于理想世界。
1.Hyb0-现实世界:在此杂合体中,考虑扮演现实世界中的诚实方角色的模拟器SimHyb。
当诚实方是P*
2.Hyb1-情况1:模拟TOPRF编码。在此杂合体中,SimHyb如在理想世界第1轮中那样针对每一
Figure BDA00030024197100005615
代表P*通过运行模拟器TOPRF.Sim.Encode(·)以计算编码ci来计算第1轮消息。
3.Hyb2–情况1:发消息给理想泛函。在此杂合体中,SimHyb如Sim在模拟策略情况1第2轮之后那样运行“向理想泛函发消息”步骤,而不是像诚实方P*在现实世界中那样计算输出。
当攻陷方为P*
4.Hyb3–情况2:向理想泛函发消息。在此杂合体中,SimHyb如Sim在模拟策略情况2第2轮之后那样运行“向理想泛函发消息”步骤。即,SimHyb运行提取器TOPRF.Sim.Ext以计算
Figure BDA0003002419710000571
并用此查询理想泛函。
5.Hyb4–情况2:模拟TOPRF求值。在此杂合体中,在第2轮中,SimHy如在理想世界中那样通过运行算法TOPRF.Sim.Eval来计算TOPRF求值响应。
6.Hyb5–情况2:
Figure BDA0003002419710000572
在此杂合体中,当来自理想泛函的输出
Figure BDA0003002419710000573
时,代表每个诚实方Pj,SimHyb将每个yi,j的指数设为统一随机值Ri,j而非(ski,j+ri,j)。
7.Hyb6–情况2:
Figure BDA0003002419710000574
在此杂合体中,当来自理想泛函的输出
Figure BDA0003002419710000575
时,代替像以前一样计算密文cti,j,SimHyb随机统一挑选cti,j并如理想世界那样响应于随机预言查询以设置解密的明文。
8.Hyb7–情况2:
Figure BDA0003002419710000576
在此杂合体中,当理想泛函的输出
Figure BDA0003002419710000577
时,SimHyb完全如在理想世界中那样计算密文cti,j以及对RO查询的响应。此杂合体对应于理想世界。
我们现在将证明每对连续杂合体在计算上不可区分。
引理13假设阈值不经意伪随机函数TOPRF的安全性,Hyb0在计算上与Hyb1不可区分。
证明。这两个杂合体之间的唯一区别是,在Hyb0中,SimHyb通过运行诚实编码算法TOPRF.Encode来计算每个
Figure BDA00030024197100005711
的值ci,而在Hyb1中,它通过运行模拟编码算法TOPRF.Sim.Encode来计算所述值。假设存在能以不可忽略的概率区分这两个杂合体的敌手
Figure BDA0003002419710000578
我们可使用
Figure BDA0003002419710000579
构建敌手
Figure BDA00030024197100005710
其能以不可忽略的概率区分真实编码和模拟编码,从而打破TOPRF的安全性这一矛盾。
引理14假设阈值不经意伪随机函数TOPRF的正确性、私钥加密方案的正确性和稳健秘密共享方案的正确性,Hyb1在计算上与Hyb2不可区分。
证明。这两个杂合体之间唯一的区别是,在Hyb2中,SimHyb检查敌手是否确实诚实地计算了它的消息,如果没有,就中止。然而,在Hyb1中,只有在输出计算阶段没有成功时,SimHyb才会中止。因此,我们可观察到,假设所使用的原语——即,阈值不经意伪随机函数TOPRF、私钥加密方案和稳健秘密共享方案——的正确性,Hyb1在计算上与Hyb2不可区分。
引理15假设阈值不经意伪随机函数TOPRF的提取器TOPRF.Sim.Ex 的正确性,Hyb2在计算上与Hyb3不可区分。
证明。这两个杂合体之间唯一的区别是,在Hyb3中,SimHyb还基于敌手对随机预言RO的查询运行TOPRF.Sim.Ext,以提取敌手的输入
Figure BDA0003002419710000581
因此,敌方观察的唯一区别是,SimHyb是否因为提取器TOPRF.Sim.Ext以不可忽略的概率中止而以不可忽略的概率中止。因此,我们可证明,假设阈值不经意伪随机函数TOPRE的提取器TOPRF.Sim.Ext的正确性,Hyb2在计算上与Hyb3不可区分。
引理16假设阈值不经意伪随机函数TOPRF的安全性,Hyb3在计算上与Hyb4不可区分。
证明。这两个杂合体之间唯一的区别是,对于每个诚实方Pj,在Hyb3中,SimHyb通过运行诚实求值算法TOPRF.Eval来计算每个
Figure BDA00030024197100005811
的值zi,j,而在Hyb4中,其通过运行模拟求值算法TOPRF.Sim.Eval来计算所述值。假设存在能以不可忽略的概率区分这两个杂合体的敌手
Figure BDA0003002419710000582
我们可使用
Figure BDA0003002419710000583
构建敌手
Figure BDA0003002419710000584
其能以不可忽略的概率区分真实和模拟的求值响应,从而打破TOPRF的安全性这一矛盾。
引理17假设阈值不经意伪随机函数的正确性、私钥加密方案的安全性、阈值线性秘密共享方案的安全性和稳健线性秘密共享方案的安全性,Hyb4在计算上与Hyb5不可区分。
证明。在理想泛函输出
Figure BDA0003002419710000585
的场景中,我们知道敌手的输入
Figure BDA0003002419710000586
最多在(d-1)个位置与向量
Figure BDA0003002419710000587
匹配。因此,根据TOPRF方案的正确性,对于每个诚实方Pj,敌手习得
Figure BDA00030024197100005812
个密文
Figure BDA00030024197100005813
中的最多(d-1)个的解密密钥。因此,从秘密密钥加密方案的安全性来看,敌手最多习得
Figure BDA00030024197100005814
个明文
Figure BDA00030024197100005815
中的(d-1)个。
现在,在Hyb4中,对于每一方Pj,对于敌手习得其明文的每一i∈[l],明文yi,j中的指数呈(ski,j+ri,j)形式,其中ri,j是0的秘密共享,而在Hyb5中,指数是随机统一挑选的。因此,由于只要顶多(d-1)个份额被揭示,秘密共享方案在统计上就能隐藏秘密,因此我们可证明,如果存在能以不可忽略的概率区分这两个杂合体的敌手
Figure BDA0003002419710000588
则我们可使用
Figure BDA0003002419710000589
构建敌手
Figure BDA00030024197100005810
其能以不可忽略的概率区分一组(d-1)个真实份额以及一组(d-1)个随机值,从而打破秘密共享方案的安全性这一矛盾。
引理18 Hyb5在统计上与Hyb6不可区分。
证明。注意,从Hyb5到Hyb6,我们只做了个句法变化。也就是说,我们不是在加密时实际加密所需的明文,而是使用随机预言在解密密钥中编程,以便允许敌手解密和习得相同的所需明文。
引理19 Hyb6在统计上与Hyb7不可区分。
证明。在理想泛函输出
Figure BDA0003002419710000591
的场景中,我们知道敌手的输入
Figure BDA0003002419710000592
与向量
Figure BDA0003002419710000593
匹配至少d个位置。对于每个诚实方Pj,敌手都会习得具有匹配的每个位置i的明文{yi,j}。
现在,在Hyb6中,对于每一方Pj,对于敌手习得其明文的每个i∈[l],明文yi,j中的指数呈形式(ski,j+ri,j),其中ri,j是0的秘密共享。然而,在Hyb7中,指数中的ski,j值被选中不是阈值签名密钥共享
Figure BDA0003002419710000594
的秘密份额,而是以敌手恢复相同输出的方式被选择。这两个杂合体之间没有其它区别,并且很容易观察到,这两个杂合体之间的差异只是句法上的,因此它们在统计上不可区分。
X.使用安全概略的协议
安全概略(secure sketch)是模糊提取器的基本建构块。我们组合任何信息论安全概略和任何阈值不经意PRF而构建FTTG协议。由于安全概略的信息论性质,此协议具有显著的特点,即,无论攻击者的计算能力或暴力试验的次数如何,离线攻击成功的概率都是相同的。然而,如果一方使用“接近”测量值启动协议,它将恢复实际模板。此外,由于同样的原因,模板无法完全隐藏。换句话说,此协议在底层安全概略实例化所产生的模板上存在固有的泄漏。在当前关于所有输入设置函数Lc返回正确模板以及设置Lf,Lm返回⊥的定义下,很容易充分体现第一个不同的特性。为了捕捉模板泄漏,我们引入新的查询到理想泛函。
考虑另一额外参数,泄漏函数
Figure BDA0003002419710000595
在收到来自S的形式(“模板泄漏”,sid,
Figure BDA0003002419710000596
)的查询时,首先检查是否记录了元组
Figure BDA0003002419710000597
如果没有找到,则不做任何操作,否则用(“泄漏”,
Figure BDA0003002419710000598
)回复S。与
Figure BDA0003002419710000599
相同但具有此额外查询的扩展理想泛函被称为
Figure BDA00030024197100005910
现在我们在下文提供了一个协议,所述协议实现带有一些合理泄漏的
Figure BDA00030024197100005911
为了简单起见,我们只呈现仅安全地域对半诚实敌手的协议。添加通用的NIZK证明有可能使其安全抵御恶意敌手。
A.设置
在设置阶段,由受信任授权方执行以下算法:
·运行TOPRF setup([[skOP]],ppOP)←TOPRF.Setup(1K,n,t)。
·计算
Figure BDA00030024197100005912
·针对每一i∈[n],将
Figure BDA00030024197100005913
给予Pi方。
B.注册Pi
Pi方与每个其它方交互以注册其自身模板:
·从分布
Figure BDA0003002419710000601
采样随机向量
Figure BDA0003002419710000602
·针对某个随机性rand运行TOPRF编码以生成c←TOPRF.Encode(w,rand)并将c发送给每一者。
·每一方Pj(j≠i)以其相应toprf求值回复
Figure BDA0003002419710000603
·Pi方在从某个集合(如)S接收到至少t-1个响应后将其组合以计算h:=TOPRF.Combine(w,{j,zj}j∈S∪{i},rand)。
·Pi方针对所有j∈[n]计算密钥Kj:=H(h,j)。
·Pi方还计算s←Sketch(w)。
·Pi方针对所有j∈[n]发送对(Kj,s)到每一方Pj
C.登录阶段
在登陆阶段,我们考虑使用输入向量u和其想要相关令牌的消息m的Pi方。Pi选取t-1个其它方{Pj}j∈S和Pk的集合,并在下面的四轮协议中与它们交互。第1轮中的箭头可表示此轮中的消息是从Pi方发出
·第1轮::(Pi→)Pi通过初始化消息联系集合S中的所有方,所述初始化消息包含要签名的消息m和其测量值可提取承诺Com(u)。
·第2轮:(→Pi)每一方Pi针对j∈S发送概略s回到Pi
·第3轮:(Pi→)在接收到所有s后,Pi执行以下步骤:
(a)检查s是否匹配,如果不匹配,则中止;否则进行以下一步骤;
(b)执行重建w:=Recon(u,s);
(c)利用某个新的随机性rand计算TOPRF编码
c:=TOPRF.Encode(w,rand)并将c发送给S中的所有Pj
·第4轮:(→Pi)在从Pi接收到c后,对于j∈S,每一方Pj执行以下步骤:
(a)计算TOPRF求值
Figure BDA0003002419710000604
(b)计算关于m的部分签名为
Figure BDA0003002419710000605
(c)加密所述部分签名为ctj←enc(Kj,σj)。
(d)将元组(zj,ctj)发送给Pi
·输出计算:在从各方{Pj}j∈[S]接收到所有元组(zj,ctj)后
(a)Pi将TOPRF组合为z←TOPRF.Combine(w,{j,zj}j∈S,rand);
(b)然后计算Kj:=H(z,j);
(c)使用Kj解密每个ctj以恢复所有部分签名σj
(d)组合部分签名以获得令牌Token并将其输出。
D.令牌验证
给定验证密钥vkTS、消息m和令牌Token,如果TS.Verify(vkTS,m,Token输出1,则令牌验证算法输出1。
正确性:协议的正确性直接遵循底层原语的正确性。
E.安全性分析
我们证明了上述协议在存在最多攻陷t-1方的半诚实静态敌手的情况下实现扩展的理想泛函
Figure BDA0003002419710000611
具体地说,我们在此章节正式证明(非正式)定理5。我们通过如下构建多项式时间模拟器来这一点:
模拟器S:
在设置期间,模拟器生成阈值签名的签名密钥对,并将秘密密钥份额转发给攻陷方。模拟器还生成TOPRF密钥并将密钥份额转发给攻陷方。模拟器还生成可提取承诺的参数,并使陷门保密。
注册完成后,模拟器进行“模板泄漏”查询,以获取模板的一些泄漏,并使用所述泄漏为攻陷方模拟假概略。
为了模拟登录阶段,模拟器的工作方式如下,具体取决于发起方是否被攻陷。如果发起方是诚实的,则模拟器可通过正确使用诚实方的TOPRF份额并使用仿真(dummy)测量值来轻松模拟诚实方观察。如果发起方已被攻陷,则模拟器从可提取承诺Com(u)中提取输入测量值,然后使用所述测量值对理想泛函
Figure BDA0003002419710000612
进行“测试密码”查询。如果u接近模板,则模拟器将成功注册签名,然后将所述签名以阈值方式返回给发起方(可通过添加零的秘密份额轻松完成)。
我们认为,对于任何PPT敌手
Figure BDA0003002419710000613
上述模拟器成功地模拟了理想世界中的观察,其在计算上与现实世界不可区分。从上面的描述中注意到一些结果。
由于对模板查询泄漏的访问,注册过程得到了很好的模拟。注意,如果没有这种访问,就不可能模拟此步骤。为了证明这一点,我们提到攻击者注册仿真模板时的简单攻击,比如说字符串0s。那么就不存在保证形式的安全概略。因此,如果没有泄漏访问,模拟器将不会有任何关于模板的线索。然而,给予泄漏访问,模拟器可重建整个模板(因为没有熵,信息可在允许的泄漏范围内被压缩)。
归因于底层TOPRF提供的模板隐私保证,从诚实方发起的登录阶段被正确模拟。注意,在这种情况下,敌手不习得签名,因此在模拟中不需要向理想泛函注册正确签名。在另一种情况下,当攻陷方发起会话时,承诺方案的可提取性会保证提取的承诺确实是攻击者的正确输入,然后使用“测试密码”查询,模拟器能够在正确猜测到接近匹配的情况下正确生成签名。
XI.计算机***
本文中提及的任何计算机***都可利用任何合适数目个子***。图8中示出计算机设备700中的此类子***的示例。在一些实施例中,计算机***包括单个计算机设备,其中子***可以是计算机设备的组件。在其它实施例中,计算机***可包括具有内部组件的多个计算机设备,每个计算机设备是子***。计算机***可包括台式机和笔记本电脑、平板电脑、移动电话和其它移动装置。
图8中示出的子***通过***总线75互连。示出了额外子***,如打印机74、键盘78、存储装置79、耦合到显示适配器82的监视器76等。***装置和耦合到输入/输出(I/O)控制器71的I/O装置可通过所属领域中已知的任何数目的装置,例如输入/输出(I/O)端口77(例如USB、
Figure BDA0003002419710000621
),连接到计算机***。例如,I/O端口77或外部接口81(例如以太网、Wi-Fi等)可用于将计算机***10连接到例如互联网的广域网、鼠标输入装置或扫描仪。经由***总线75的互连允许中央处理器73与每个子***进行通信,并控制来自***存储器72或存储装置79(例如,如硬盘驱动器或光盘的固定盘)的指令的执行,以及子***之间的信息交换。***存储器72和/或存储装置79可体现计算机可读介质。另一子***是数据采集装置85,例如相机、麦克风、加速度计等。在本文中提及的任何数据可从一个组件输出到另一组件并且可输出到用户。
计算机***可包括多个相同组件或子***,所述组件或子***例如通过外部接口81、通过内部接口或经由可移除存储装置连接在一起,所述可移除存储装置可从一个组件连接和移除到另一组件。在一些实施例中,计算机***、子***或设备可通过网络进行通信。在此类情况下,一个计算机可视为客户端,而另一计算机可视为服务器,其中每一者可以是同一计算机***的一部分。客户端和服务器可各自包括多个***、子***或组件。
可使用硬件电路***(例如专用集成电路或现场可编程门阵列)和/或以模块化或集成方式通过通常可编程处理器使用计算机软件将实施例的各方面实施成控制逻辑的形式。如本文所用,处理器可包括单核处理器、在同一集成芯片上的多核处理器或在单个电路板上或网络化的多个处理单元以及专用硬件。基于本文中提供的公开内容和教示,所属领域的技术人员将知晓并了解使用硬件以及软硬件组合来实施本发明的实施例的其它方式和/或方法。
本申请中描述的任何软件组件或功能可实施为使用例如Java、C、C++、C#、Objective-C、Swift的任何合适的计算机语言或例如Perl或Python的脚本语言使用例如常规的或面向对象的技术由处理器执行的软件代码。软件代码可以作为一系列指令或命令存储在计算机可读介质上以进行存储和/或传输。合适的非瞬态计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁性介质或例如光盘(CD)或DVD(数字通用光盘)的光学介质、闪存存储器等。计算机可读介质可以是此类存储或传输装置的任何组合。
此类程序也可以使用载波信号来编码和传输,所述载波信号适合于经由符合多种协议的有线、光学和/或无线网络来传输,包括互联网。因此,可以使用以此类程序编码的数据信号来创建计算机可读介质。以程序代码编码的计算机可读介质可与兼容装置一起封装或与其它装置分开提供(例如,通过互联网下载)。任何此类计算机可读介质可以驻存在单个计算机产品(例如,硬盘驱动器,CD或整个计算机***)之上或其内部,并且可以存在于***或网络内的不同计算机产品上或其内部。计算机***可以包括用于向用户提供本文中提及的任何结果的监视器、打印机或其它合适显示器。
本文所描述的任何方法可完全或部分地通过计算机***执行,所述计算机***包括可被配置以执行所述步骤的一个或多个处理器。因此,实施例可涉及被配置成执行本文所述的任何方法的步骤、可能具有执行相应步骤或相应步骤群组的不同部件的计算机***。尽管以编号的步骤呈现,但是本文中的方法步骤也可以同时执行或以不同的次序执行。另外,这些步骤的部分可与来自其它方法的其它步骤的部分一起使用。同样,一个步骤的全部或部分可以是可选的。另外,任何方法的任何步骤可以用模块、电路或用于执行这些步骤的其它手段来执行。
特定实施例的具体细节可按任何适合的方式组合而不脱离本发明实施例的精神和范围。然而,本发明的其它实施例可以涉及与每个单独方面或这些单独方面的特定组合相关的特定实施例。
上文对本发明的示例性实施方案的描述已经出于说明和描述的目的呈现。不旨在是详尽的,或将本发明局限到描述的精确形式,根据上文的教导许多修改和变形是可能的。选择和描述这些实施方案是为了最好地解释本发明的原理及其实际应用,从而使本领域的技术人员能够在各种实施方案中最好地利用本发明,并且进行适合于预期的特定用途的各种修改。
除非明确指示有相反的意思,否则叙述“一个/种”或“该/所述”旨在表示“一个/种或多个/种”。除非明确指示为相反情况,否则“或”的使用旨在表示“包括性的或”,而不是“排除性的或”。
本文中提及的所有专利、专利申请、公开和描述出于所有目的以引用方式全部并入本文。并非承认它们是现有技术。
XII.参考文献
[1]谷歌像素指纹(Google Pixel Fingerprint).https://support.***.com/pixelphone/answer/6285273?hl=en.2018年10月2日访问.1
[2]论面部ID高级技术(About Face ID advanced technology).https://support.apple.com/en-us/HT208108.2018年10月2日访问.1
[3]FIDO联盟(FIDO Alliance).https://fidoalliance.org/.2018年10月2日访问.1
[4]Yevgeniy Dodis,Leonid Reyzin及Adam Smith.模糊提取器:如何从生物计量数据和其它噪声数据生成强密钥(Fuzzy extractors:How to generate strong keysfrom biometrics and other noisy data).Christian Cachin及Jan Camenisch编著,密码学进展-EUROCRYPT 2004,计算机科学讲稿第3027卷,523-540,瑞士因特拉肯(Interlaken,Switzerland),2004年5月2-6日.德国海德堡斯普林格(Springer,Heidelberg,Germany).2
[5]Pratyay Mukherjee及Daniel Wichs.借助多密钥fhe的两轮多方计算(Tworound multiparty computation via multikey fhe).国际密码技术理论与应用年会,735-763.斯普林格,2016.3,5,16
[6]Chris Peikert及Sina Shiehian.基于lwe的多密钥fhe,再访(Multi-key fhefrom lwe,revisited).TCC,2016.3,5,16
[7]Zvika Brakerski及Renen Perlman.基于格的短密文全动态多密钥fhe(Lattice-based fully dynamic multi-key fhe with short ciphertexts).CRYPTO,190-213页.斯普林格,2016.3,5,16
[8]Sanjam Garg及Akshayaram Srinivasan.基于最少假设的两轮多方安全计算(Two-round multiparty secure computation from minimal assumptions).EUROCRYPT,2018.3,5,16
[9]Fabrice Benhamouda及Huijia Lin.借助混淆交互电路基于k轮ot的k轮mpc(k-round mpc from k-round ot via garbled interactive circuits).EUROCRYPT,2018.3,5,16
[10]Shashank Agrawal,Peihan Miao,Payman Mohassel及PratyayMukherjee.Pasta:基于密码的阈值认证(Pasta:Password-based thresholdauthentication).IACR Cryptology ePrint Archive,2018:885,2018.4,8
[11]Prabhanjan Ananth,Saikrishna Badrinarayanan,Aayush Jain,NathanManohar及Amit Sahai.从FE组合器到安全MPC再返回(From FE combiners to secure MPCand back).IACR Cryptology ePrint Archive,2018:457,2018.5,16
[12]Andrew Chi-Chih Yao.如何生成和交换秘密(扩展摘要)(How to generateand exchange secrets(extended abstract)).第27届计算机科学基础年会,加拿大多伦多,1986年10月27-29日,162-167页.IEEE计算机学会,1986.6
[13]Payman Mohassel,Mike Rosulek及Ye Zhang.快速安全三方计算:混淆电路法(Fast and secure three-party computation:The garbled circuit approach).Indrajit Ray,Ninghui Li及Christopher Kruegel编著,第22届ACM SIGSAC计算机和通信安全会刊,美国CO丹佛,2015年10月12-16日,591-602页.ACM,2015.7,8
[14]Pascal Paillier.基于复合度残差类的公钥密码***(Public-keycryptosystems based on composite degree residuosity classes).国际密码技术理论与应用会议,223-238页.斯普林格,1999.7,10,12,24
[15]Taher El Gamal.基于离散对数的公钥密码***和签名方案(A public keycryptosystem and a signature scheme based on discrete logarithms).G.R.Blakley及David Chaum编著,密码学进展,84年CRYPTO会刊,美国加利福尼亚州圣塔芭芭拉,1984年8月19-22日,会刊,计算机科学讲稿第196卷,10-18页.斯普林格,1984.7,41
[16]Alexandra Boldyreva.基于gap-diffie-hellman群签名方案的阈值签名、多重签名和盲签名(Threshold signatures,multisignatures and blind signaturesbased on the gap-diffie-hellman-group signature scheme).公钥密码术国际研讨会,31-46页.斯普林格,2003.9,10,33,34
[17]Victor Shoup.实用阈值签名(Practical threshold signatures).BartPreneel编著,密码学进展-EUROCRYPT 2000,国际密码技术理论与应用会议,比利时布鲁日,2000年5月14-18日,计算机科学讲稿第1807卷,207-220页.斯普林格,2000.9,33
[18]Oded Goldreich.密码学基础-卷2,基本应用(The Foundations ofCryptography-Volume 2,Basic Applications).剑桥大学出版社,2004.10
[19]Rafail Ostrovsky,Anat Paskin-Cherniavsky及Beni Paskin-Cherniavsky.恶意电路-私用fhe(Maliciously circuit-private fhe).国际密码学会议,536-553页.斯普林格,2014.10
[20]Ronald Cramer,Ivan
Figure BDA0003002419710000661
及Jesper B Nielsen.基于阈值同态加密的多方计算(Multiparty computation from threshold homomorphic encryption).国际密码技术理论与应用会议,280-300页.斯普林格,2001.12
[21]William Aiello,Yuval Ishai及Omer Reingold.定价不经意传输:如何销售数字商品(Priced oblivious transfer:How to sell digital goods).BirgitPfitzmann编著,密码学进展-EUROCRYPT 2001,国际密码技术理论与应用会议,奥地利因斯布鲁克,2001年5月6-10日,计算机科学讲稿第2045卷,119-135页.斯普林格,2001.24
[22]Moni Naor及Benny Pinkas.高效不经意传输协议(Efficient oblivioustransfer protocols).S.Rao Kosaraju编著,第十二届离散算法年度研讨会会刊,2001年1月7-9日,美国华盛顿特区,448-457页.ACM/SIAM,2001.24
[23]Chris Peikert,Vinod Vaikuntanathan及BrentWaters.高效可组合不经意传输框架(A framework for efficient and composable oblivious transfer).DavidA.Wagner编著,密码学进展-CRYPTO 2008,第28届国际密码学年会,美国加利福尼亚州圣塔芭芭拉,2008年8月17-21日.会刊,计算机科学讲稿第5157卷,554-571页。斯普林格,2008.24,42
[24]Shai Halevi及Yael Tauman Kalai.平滑投影散列与双消息不经意传输(Smooth projective hashing and two-message oblivious transfer).密码学期刊,25(1),2012.24
[25]Stanislaw Jarecki,Aggelos Kiayias,Hugo Krawczyk及Jiayu Xu.TOPPSS:基于阈值OPRF的最小代价密码保护秘密共享(TOPPSS:costminimal password-protectedsecret sharing based on threshold OPRF).Dieter Gollmann,AtsukoMiyaji及HiroakiKikuchi编著,应用密码术和网络安全-第15届国际会议,ACNS 2017,日本金泽,2017年7月10-12日,会刊,计算机科学讲稿第10355卷,39-58页.斯普林格,2017.33,43
[26]Robert J.McEliece及Dilip V.Sarwate.论共享秘密及里德-所罗门码(Onsharing secrets and reed-solomon codes).ACM通讯,24(9):583-584,1981.44
[27]Pierre-Alain Dupont,Julia Hesse,David Pointcheval,Leonid Reyzin及Sophia Yakoubov.模糊密码认证密钥交换(Fuzzy password-authenticated keyexchange).Jesper Buus Nielsen及Vincent Rijmen编著,密码学进展-EUROCRYPT 2018,393-424页,Cham,2018.斯普林格国际出版社.43,44
XIII.附录A:其它前提
A.阈值不经意伪随机函数
我们现在定义几乎一字不变地取自Jarecki等人[25]的UC安全阈值不经意伪随机函数的概念。请读者参考Jarecki等人[25]的安全定义,这里只列出形成原语一部分的算法。
定义8阈值不经意伪随机函数TOPRF是如下所述四种PPT算法TOPRF.Setup,TOPRF.ENcode,TOPRF.Eval,TOPRF.Combine)的元组。
·TOPRF.Setup(1λ,n,t)→([[sk]],pp)。其生成n个秘密密钥份额sk1、sk2、...、skn和公共参数pp。份额ski给予i方。(pp在以下算法中将是隐式输入。)
·TOPRF.Encode(x,ρ)=:c。其使用随机性ρ生成输入x的编码c。
·TOPRF.Eval(ski,c)=:zi。其从编码生成TOPRF值的份额。i方通过利用ski和c运行TOPRF.Eval而从c计算出第i份额zi
·
Figure BDA0003002419710000671
其使用随机性ρ组合从集合
Figure BDA0003002419710000672
中的各方接收到的份额以生成值h。如果算法失败,则其输出由⊥表示。
B.稳健秘密共享
我们现在给出几乎一字不变地取自Dupont等人[26]的稳健秘密共享方案的定义。
定义9令
Figure BDA0003002419710000673
q为λ位素数,Fq为有限域,n,t,m,
Figure BDA0003002419710000674
其中t<r≤n并且m<r。(n,t,r)稳健秘密共享方案(RSS)由两个概率算法
Figure BDA0003002419710000681
Figure BDA0003002419710000682
组成,具有以下属性:
·t-隐私性:对于任何
Figure BDA0003002419710000683
其中|A|<t,c←RSS.Share(s)的投影
Figure BDA0003002419710000684
Figure BDA0003002419710000685
的投影
Figure BDA0003002419710000686
分布相同。
·r-稳健性:对于其中|A|≥r的任何s∈Fq,
Figure BDA0003002419710000687
RSS.Share(s)输出的任何c以及使得
Figure BDA0003002419710000688
的任何
Figure BDA0003002419710000689
Figure BDA00030024197100006810
都成立。
换句话说,(n,t,r)-RSS能够重建共享秘密,即使敌手篡改了多达
Figure BDA00030024197100006811
个份额也如此,而每一t个份额的集合独立于共享秘密s而分布,因此不会揭示任何关于它的信息。
我们认为,如果重建算法RSS.Recon类似于标准秘密共享仅对其输入份额执行线性运算,则稳健秘密共享是线性的。
引入引理1萨米尔秘密共享方案是种
Figure BDA00030024197100006812
稳健线性秘密共享方案。
上述引理借用自Dupont等人的实例化引理5[26],使用了McEliece和Sarwate[27]的研究,如Dupont等人[26]所述。

Claims (25)

1.一种使用生物计量信息向第二电子装置认证用户的第一电子装置的方法,所述方法包括由所述第一电子装置执行:
存储私钥的第一密钥份额,其中所述第二电子装置存储与所述私钥相关联的公钥,并且其中所述用户的一个或多个其它电子装置存储所述私钥的其它密钥份额;
存储所述用户的生物计量模板的第一模板份额,其中所述用户的所述一个或多个其它电子装置存储所述生物计量模板的其它模板份额;
从所述第二电子装置接收质询消息;
由所述第一电子装置的生物计量传感器测量所述用户的一组生物计量特征以获得由所述一组生物计量特征的测得值构成的测量向量,并且其中所述生物计量模板包括由先前从所述用户测得的所述一组生物计量特征的测得值构成的模板向量;
将所述测量向量和所述质询消息发送给所述一个或多个其它电子装置;
接收至少T个部分计算,包括来自所述一个或多个其它电子装置的一个或多个部分计算,其中使用相应模板份额、相应密钥份额和所述质询消息生成所述至少T个部分计算中的每一个;
使用所述至少T个部分计算生成所述质询消息的签名;以及
将所述签名发送给所述第二电子装置。
2.根据权利要求1所述的方法,另外包括:
使用所述第一模板份额、所述第一密钥份额和所述质询消息生成第一部分计算,并且其中所述质询消息的所述签名是进一步使用至少所述第一部分计算生成的。
3.根据权利要求2所述的方法,其中所述第一部分计算是所述至少T个部分计算中的一个。
4.根据权利要求1所述的方法,其中所述一个或多个其它电子装置中的每一个使用相应模板份额、相应密钥份额和所述质询消息生成所述至少T个部分计算中的一个。
5.根据权利要求1所述的方法,其中所述第一模板份额和所述其它模板份额是所述生物计量模板的加密。
6.根据权利要求1所述的方法,另外包括加密所述测量向量。
7.根据权利要求1所述的方法,另外包括通过以下操作来执行注册过程:
由所述第一电子装置的所述生物计量传感器测量所述用户的所述生物计量模板;
生成所述公钥、所述私钥和所述私钥的所述密钥份额;
生成所述第一模板份额和所述生物计量模板的所述其它模板份额;
删除所述私钥和所述生物计量模板;以及
将所述公钥发送给所述第二电子装置。
8.根据权利要求7所述的方法,另外包括:
生成密码程序,当所述测量向量在所述模板向量的阈值内时,所述密码程序有条件地使用一组密钥份额来生成所述签名。
9.根据权利要求8所述的方法,其中所述密码程序包括混淆电路。
10.根据权利要求8所述的方法,其中所述密码程序使用加法同态加密。
11.根据权利要求8所述的方法,其中使用阈值完全同态加密来加密所述测量向量和所述模板向量,并且其中所述密码程序通过计算所述测量向量和所述模板向量的内积来确定所述测量向量在所述模板向量的所述阈值内。
12.根据权利要求8所述的方法,其中所述密码程序使用所述模板份额重建所述生物计量模板。
13.根据权利要求1所述的方法,其中使用所述至少T个部分计算生成所述质询消息的所述签名包括:
将所述模板份额与所述测量向量之间的部分距离的加法同态加密的份额相加以获得总距离;
将所述总距离与阈值进行比较;以及
当所述总距离小于所述阈值时,使用所述至少T个部分计算的部分签名对所述质询消息进行签名。
14.根据权利要求13所述的方法,其中使用混淆电路执行所述相加和比较。
15.根据权利要求14所述的方法,其中所述混淆电路输出字符串并且其中所述字符串用于解密所述至少T个部分计算的所述部分签名。
16.根据权利要求14所述的方法,其中所述混淆电路输出所述至少T个部分计算的所述部分签名。
17.根据权利要求13所述的方法,其中所述部分距离的所述加法同态加密的所述份额已由所述一个或多个其它电子装置部分地解密。
18.根据权利要求13所述的方法,其中所述部分距离是使用余弦相似性或汉明距离测度确定的。
19.根据权利要求13所述的方法,另外包括:
生成验证所述总距离与所述阈值的比较的零知识证明;以及
将所述零知识证明发送到所述一个或多个其它电子装置以用于验证。
20.根据权利要求1所述的方法,另外包括:
生成验证所述至少T个部分计算的零知识证明;以及
将所述零知识证明发送到所述一个或多个其它电子装置以用于验证。
21.一种包括计算机可读介质的计算机产品,所述计算机可读介质存储多个指令以用于控制计算机***执行前述权利要求中任一项所述的方法。
22.一种***,包括:
根据权利要求21所述的计算机产品;以及
一个或多个处理器,用于执行存储在所述计算机可读介质上的指令。
23.一种***,包括用于执行上述任何方法的装置。
24.一种***,包括被配置成执行上述任何方法的一个或多个处理器。
25.一种***,包括分别执行上述任何方法的步骤的模块。
CN201980064938.0A 2018-10-04 2019-10-04 利用多个装置以增强生物计量认证安全 Pending CN112889047A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862741431P 2018-10-04 2018-10-04
US62/741,431 2018-10-04
PCT/US2019/054666 WO2020072882A1 (en) 2018-10-04 2019-10-04 Leveraging multiple devices to enhance security of biometric authentication

Publications (1)

Publication Number Publication Date
CN112889047A true CN112889047A (zh) 2021-06-01

Family

ID=70055439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980064938.0A Pending CN112889047A (zh) 2018-10-04 2019-10-04 利用多个装置以增强生物计量认证安全

Country Status (6)

Country Link
US (2) US11411738B2 (zh)
EP (1) EP3861472A4 (zh)
KR (1) KR20210055719A (zh)
CN (1) CN112889047A (zh)
SG (1) SG11202103355TA (zh)
WO (1) WO2020072882A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113849840A (zh) * 2021-10-13 2021-12-28 福建师范大学 基于可认证加密计数器的加密数据统计分析方法
CN113904833A (zh) * 2021-09-30 2022-01-07 北京大学 一种基于门限的动态多因素身份认证方法和通信方法
CN114444069A (zh) * 2021-12-17 2022-05-06 中国科学院信息工程研究所 一种恶意模型下高效的阈值安全多方计算方法
CN114679280A (zh) * 2022-03-15 2022-06-28 北京宏思电子技术有限责任公司 一种基于rsa的联合签名生成方法及装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021025631A1 (en) * 2019-08-05 2021-02-11 Securify Bilisim Teknolojileri Ve Guvenligi Egt. Dan. San. Ve Tic. Ltd. Sti. A method for generating digital signatures
US11296875B2 (en) * 2019-11-29 2022-04-05 NEC Laboratories Europe GmbH Password-authenticated public key establishment
JP2023504569A (ja) * 2019-12-09 2023-02-03 バッジ インコーポレイテッド プライバシ保存バイオメトリック認証
US11321382B2 (en) 2020-02-11 2022-05-03 International Business Machines Corporation Secure matching and identification of patterns
KR102470626B1 (ko) * 2020-03-23 2022-11-23 한양대학교 산학협력단 비상호적 영지식 증명에 특화된 동형 암호화 방법 및 그 장치
US11528134B2 (en) * 2020-03-24 2022-12-13 International Business Machines Corporation Authentication using transformation verification
WO2021225570A1 (en) * 2020-05-04 2021-11-11 Hewlett-Packard Development Company, L.P. Regulating authentication tokens
AU2021313620A1 (en) * 2020-07-21 2023-03-09 Royal Bank Of Canada Facial recognition tokenization
CN111970270B (zh) * 2020-08-14 2022-08-02 山东省计算中心(国家超级计算济南中心) 基于环上带误差学习问题的sip安全认证方法及***
US11651111B2 (en) 2020-09-25 2023-05-16 Intel Corporation Enabling secure state-clean during configuration of partial reconfiguration bitstreams on FPGA
US20220103362A1 (en) * 2020-09-30 2022-03-31 214 Technologies Inc. Biometric-based identity authentication
US20220109995A1 (en) * 2020-10-05 2022-04-07 John Vermes Generation and implementation of distinctive event based cryptographic token via machine recognized event
US20230102423A1 (en) * 2021-09-28 2023-03-30 Vmware, Inc. Efficient Three-Party Private Set Intersection (PSI)
US20230179406A1 (en) * 2021-12-06 2023-06-08 Vmware, Inc. Distributed Registration and Authentication via Threshold Secret Sharing
CN114065169B (zh) * 2022-01-13 2022-06-24 浙江大学 一种隐私保护生物认证方法和装置、电子设备
US20230291579A1 (en) * 2022-03-08 2023-09-14 Western Digital Technologies, Inc. Cryptographic keys for authorization requests from a data storage device
US20230344632A1 (en) * 2022-04-22 2023-10-26 Vmware, Inc. Distributed registration and authentication via threshold secret sharing and additively homomorphic encryption
CN115766033B (zh) * 2022-11-18 2024-04-16 电子科技大学 面向隐私保护的门限单点登录方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697947B1 (en) * 1999-06-17 2004-02-24 International Business Machines Corporation Biometric based multi-party authentication
BRPI0906863A8 (pt) * 2008-01-07 2018-10-30 Security First Corp sistemas e métodos para proteção de dados com o uso de dispersão chaveada por multifatorial
US9077537B2 (en) * 2008-11-13 2015-07-07 International Business Machines Corporation Generating secure private keys for use in a public key communications environment
US8874991B2 (en) * 2011-04-01 2014-10-28 Cleversafe, Inc. Appending data to existing data stored in a dispersed storage network
FR2996942B1 (fr) * 2012-10-11 2016-01-08 Morpho Procede de generation de cle de signature ameliore
US9443073B2 (en) 2013-08-08 2016-09-13 Duo Security, Inc. System and method for verifying status of an authentication device
US20140372769A1 (en) * 2013-06-18 2014-12-18 Sap Ag Automatic Protocol Selection in Mixed-Protocol Secure Computation
US9166796B2 (en) 2013-06-24 2015-10-20 Prince Sattam Bin Abdulaziz University Secure biometric cloud storage system
US9608819B1 (en) * 2014-05-25 2017-03-28 Fujitsu Limited Learning parity with noise-based relational encryption for proximity relations
KR101528112B1 (ko) * 2014-11-20 2015-06-17 중앙대학교 산학협력단 생체 특성에 기반해 데이터 서버로 액세스하고자 하는 사용자를 인증하기 위한 클라우드 서버
WO2016136142A1 (ja) * 2015-02-24 2016-09-01 日本電気株式会社 暗号文照合システム、方法、および記録媒体
US9692603B2 (en) 2015-05-15 2017-06-27 Verizon Patent And Licensing Inc. Biometric PKI authentication
WO2018089447A1 (en) * 2016-11-10 2018-05-17 EyeVerify Inc. Verified and private portable identity
US20170173262A1 (en) * 2017-03-01 2017-06-22 François Paul VELTZ Medical systems, devices and methods
US11101986B2 (en) * 2019-02-08 2021-08-24 Keyless Technologies Ltd Authentication processing service

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113904833A (zh) * 2021-09-30 2022-01-07 北京大学 一种基于门限的动态多因素身份认证方法和通信方法
CN113904833B (zh) * 2021-09-30 2022-07-22 北京大学 一种基于门限的动态多因素身份认证方法和通信方法
CN113849840A (zh) * 2021-10-13 2021-12-28 福建师范大学 基于可认证加密计数器的加密数据统计分析方法
CN113849840B (zh) * 2021-10-13 2023-06-09 福建师范大学 基于可认证加密计数器的加密数据统计分析方法
CN114444069A (zh) * 2021-12-17 2022-05-06 中国科学院信息工程研究所 一种恶意模型下高效的阈值安全多方计算方法
CN114444069B (zh) * 2021-12-17 2023-04-07 中国科学院信息工程研究所 一种恶意模型下高效的阈值安全多方计算方法
CN114679280A (zh) * 2022-03-15 2022-06-28 北京宏思电子技术有限责任公司 一种基于rsa的联合签名生成方法及装置

Also Published As

Publication number Publication date
EP3861472A1 (en) 2021-08-11
US20220353083A1 (en) 2022-11-03
KR20210055719A (ko) 2021-05-17
US11411738B2 (en) 2022-08-09
SG11202103355TA (en) 2021-04-29
WO2020072882A1 (en) 2020-04-09
US20210336792A1 (en) 2021-10-28
EP3861472A4 (en) 2021-12-01

Similar Documents

Publication Publication Date Title
CN112889047A (zh) 利用多个装置以增强生物计量认证安全
Li et al. A robust biometrics based three-factor authentication scheme for global mobility networks in smart city
Lee et al. A three-factor anonymous user authentication scheme for Internet of Things environments
CN112106322A (zh) 基于密码的阈值令牌生成
WO2017195886A1 (ja) 認証システム、認証方法およびプログラム
Li et al. No-match attacks and robust partnering definitions: defining trivial attacks for security protocols is not trivial
Srinivas et al. Provably secure biometric based authentication and key agreement protocol for wireless sensor networks
CN109379176B (zh) 一种抗口令泄露的认证与密钥协商方法
Islam et al. An anonymous and provably secure authentication scheme for mobile user
KR20210139344A (ko) 데이터 기반 활동을 수행하는 방법 및 장치
Kurmi et al. A survey of zero-knowledge proof for authentication
Tsai et al. An ECC‐based blind signcryption scheme for multiple digital documents
Sharma et al. Dual factor third‐party biometric‐based authentication scheme using quantum one time passwords
Jarecki et al. Two-factor password-authenticated key exchange with end-to-end security
Zhang et al. Robust and efficient password authenticated key agreement with user anonymity for session initiation protocol‐based communications
Abusukhon et al. An authenticated, secure, and mutable multiple‐session‐keys protocol based on elliptic curve cryptography and text‐to‐image encryption algorithm
Farash Cryptanalysis and improvement of ‘an improved authentication with key agreement scheme on elliptic curve cryptosystem for global mobility networks’
CN111245615B (zh) 一种基于身份的数字签名密码逆向防火墙方法
Adeli et al. A post-quantum compliant authentication scheme for IoT healthcare systems
Lee et al. Three-party authenticated key agreements for optimal communication
Lee et al. Preserving user‐participation for insecure network communications with CAPTCHA and visual secret sharing technique
Yu et al. Provably secure verifier-based password authenticated key exchange based on lattices
Zhang et al. BioP-TAP: An efficient method of template protection and two-factor authentication protocol combining biometric and PUF
Kiefer Advancements in password-based cryptography
Algubili et al. EPSAPI: An efficient and provably secure authentication protocol for an IoT application environment

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