CN116348873A - 用于隐私保护认证的生物特征模板的验证 - Google Patents

用于隐私保护认证的生物特征模板的验证 Download PDF

Info

Publication number
CN116348873A
CN116348873A CN202180067714.2A CN202180067714A CN116348873A CN 116348873 A CN116348873 A CN 116348873A CN 202180067714 A CN202180067714 A CN 202180067714A CN 116348873 A CN116348873 A CN 116348873A
Authority
CN
China
Prior art keywords
value
encrypted
vector
biometric
random
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
CN202180067714.2A
Other languages
English (en)
Inventor
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 CN116348873A publication Critical patent/CN116348873A/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/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
    • 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
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/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
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • 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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Collating Specific Patterns (AREA)

Abstract

为存储在其设备上的用户模板和由访问设备的外部传感器捕获的生物特征测量两者提供用于面向外部的认证的安全协议。这些协议提供了不同级别的安全性,从具有一些泄漏的被动安全性到没有泄漏的主动安全性。还提供了一种打包技术。在登记期间使用零知识技术来验证用户模板的范数和明文生物特征模板的知识。一旦登记,验证者就可以对经加密的模板进行签名,以便在以后与访问设备的匹配阶段中使用。

Description

用于隐私保护认证的生物特征模板的验证
相关申请交叉引用
本申请要求于2020年10月23日提交的名称为“Verification Of BiometricTemplates For Privacy Preserving Authentication”的美国申请17/079,279的优先权,并且是其PCT申请,该申请以引用方式全部并入本文。
背景技术
我们使用如指纹和面部图像的生物特征来针对我们的移动设备标识我们自己,并每天登录到应用。这种认证是面向内部的:我们在模板存储在其中的相同设备上提供测量。如果我们的个人设备也可以参与面向外部的认证,其中生物特征测量由附近的外部传感器捕获,那么我们也可以在各种物理空间(如杂货店、会议中心、ATM等)中享受无摩擦的身份认证体验。然而,物理空间的开放设置带来了重要的隐私问题。
因此,期望的是在维护隐私的同时提供有效且可靠的生物特征认证。
发明内容
本公开的一些实施方案可以提供用于执行生物特征匹配以提供对资源的访问的有效技术。例如,在登记阶段,验证者设备可以确认存储在用户设备上的生物特征模板满足一个或多个属性(例如,标准化)。可以对生物特征模板的加密版本执行验证。然后,验证者设备可以对经加密的生物特征模板进行签名,并且用户设备可以存储数字签名。然后,在匹配阶段期间,用户设备可以向访问设备提供数字签名,该访问设备信任验证者设备。以这样的方式,生物特征模板的验证可以在登记期间完成一次,并且可能不需要在匹配阶段期间完成,例如,以确定是否授权对资源的访问。
本公开的一些实施方案可以提供用于验证生物特征模板满足标准化属性的准确技术。可以使用生物特征模板的加密来完成验证。例如,验证者设备可以使用两个不同的标准化检查,其中一个检查涉及mod N计算,以及另一检查涉及
Figure BDA0004156520060000011
计算。执行两个检查可以确认包括生物特征模板的向量的元素没有环绕为所使用的密码设置分配的N个位。如果元素确实环绕,它可能满足针对一个检查的标准化属性,但不满足针对两个检查的标准化属性。可以通过使用两个检查防止主动攻击。
在使用两个检查的一些实施方式中,为了确认生物特征向量的标准化等于指定值y并且生物特征向量值小于最大界限,验证者V可以向用户设备(证明者P)发送质询。质询可以包括与经加密的生物特征向量值中的每一个相结合的随机值,从而提供被掩蔽的经加密的生物特征向量w。质询还可以包括使用mod N计算确定的第一消除值v,并且可以包括经加密的生物特征向量值和第一随机值β的和。质询还可以包括使用
Figure BDA0004156520060000021
计算确定的第二消除值/>
Figure BDA0004156520060000022
并且可以包括经加密的生物特征向量值和第二随机值/>
Figure BDA0004156520060000023
的不同的和。例如,可以使用证明者P的公钥来加密质询。被掩蔽的经加密的生物特征向量w、第一消除值v和第二消除值/>
Figure BDA0004156520060000024
中的每一个还可以包括第三随机值α。
证明者P可以解密w、v和
Figure BDA0004156520060000025
证明者P可以确定第一质询响应z,包括第一消除值v和第一函数的w值mod N的和。证明者P还可以确定第二质询响应/>
Figure BDA0004156520060000026
包括第二消除值/>
Figure BDA0004156520060000027
和第二函数的w值/>
Figure BDA0004156520060000028
验证者可以检查z=yα2+β和/>
Figure BDA0004156520060000029
否则拒绝登记(例如,不提供数字签名)。以这种方式,如果生物特征值中的任何一个溢出N或/>
Figure BDA00041565200600000210
则质询响应可能不被接受。
本公开的一些实施方案可以提供用于确认用户设备存储了用于生成经加密的生物特征向量c的实际生物特征向量x的有效技术。验证者设备V可以从用户设备(P)接收使用生物特征向量x和随机向量r生成的经加密的生物特征c(也称为证据)。证明者P可以向验证者V发送经加密的承诺值,其中承诺值包括两个分离的随机值s和u。验证者V可以向证明者P发送随机质询向量e。证明者P使用第一随机值s以及e和x mod N的内积来确定第一质询响应w。证明者P可以使用第二随机值u、P的公钥、随机向量r和随机质询向量e来确定第二质询响应z。证明者P可以向给验证者V发送w和z。验证者可以对w和z的乘积进行加密,其中经加密的乘积应该等于经加密的承诺值与经加密的生物特征向量c和随机质询向量e的函数组合。
对于某些实施方式,对于长度256的且各自具有大小16位的元素的模板,我们最快的协议只花费0.024秒来计算匹配,但即使最慢的协议也花费不超过0.12秒。我们的协议的通信开销也非常小。被动和主动安全协议(具有一些泄漏)分别只需要交换16.5KB和27.8KB的数据。第一消息可以重用,并且如果提前发送,可以将开销分别降低到仅0.5KB和0.8KB。
下文详细描述本公开的这些和其他实施方案。例如,其它实施例涉及与本文所描述的方法相关联的系统、装置和计算机可读介质。
可参考以下详细描述和附图来更好地理解本公开的实施例的性质和优势。
附图说明
图1示出了用于生物特征认证的理想函数性
Figure BDA0004156520060000031
图2示出了使用本公开的实施方案可以被改进的用于访问资源的过程。
图3示出了利用生物特征信息认证用户的方法300的流程图。
图4示出了根据本公开的实施方案的用于向验证者设备进行登记以及使用访问设备进行匹配的过程。
图5示出了根据本公开的实施方案的用于验证经加密的生物特征模板的方法500的流程图。
图6示出了根据本公开的实施方案的用于验证经加密的生物特征模板满足L2范数的零知识(zero-knowledge,ZK)协议πZK-L2
图7示出了根据本公开的实施方案的用于验证经加密的生物特征模板对应于明文生物特征模板的方法700的流程图。
图8示出了根据本公开的实施方案的用于批量证明明文知识的零知识(ZK)协议πptxt-knwldg。
图9示出了根据本公开的实施方案的打包方案的示例构造。
图10是针对任何半诚实对手是安全的三轮生物特征认证协议。
图11是根据本公开的实施方案的对于能够恶意破坏设备或者以半诚实的方式联合破坏终端和机构的任何对手都是安全的四轮生物特征认证协议。
图12是根据本公开的实施方案的对于能够恶意破坏设备或者以半诚实的方式联合破坏终端和机构而不会泄漏给任何一方的任何对手都是安全的五轮生物特征认证协议。
图13示出了来自图12的要被混淆的电路C。
图14示出了各种协议的以字节为单位的通信开销。m表示模板元素的位计数。
Figure BDA0004156520060000033
表示模板中的元素的数量。1表示可重用的协议的第一消息的大小。D→T表示从D到T的剩余通信T→D表示从T到D的总通信。
图15示出了具有元素位计数m和向量长度
Figure BDA0004156520060000032
的各种协议的以毫秒为单位的运行时间。
图16示出了可与根据本公开的实施方案的系统和方法一起使用的示例计算机系统的框图。
术语
在讨论本发明的实施方案之前,可以进一步详细描述一些术语。
“资源”通常是指可使用或消耗的任何资产。例如,资源可以是计算机资源(例如存储的数据或联网的计算机账户)、物理资源(例如有形对象或物理位置),或者其他电子资源或计算机之间的通信(例如对应于用于执行交易的账户的通信信号)。资源的一些非限制性示例可以包括商品或服务、物理建筑物、计算机账户或文件或支付账户。在一些实施方案中,资源可指金融产品,诸如贷款或信用额度。
“资源提供商”可以是可提供诸如商品、服务、信息和/或访问的资源的实体。资源提供者的示例包括商家、访问设备、安全数据访问点等。“商家”通常可以是从事交易并且可以出售商品或服务或者提供对商品或服务的访问的实体。
“认证(authentication)”或“认证(authenticating)”可以是证明或验证特定信息以及/或者验证该信息的来源的身份的过程。例如,用户可提供对于用户来说唯一的或仅用户知晓的认证数据以证明用户的身份。不同类型的认证数据的示例可以包括生物特征(例如指纹、掌纹、面部标识、虹膜和/或视网膜标识、语音标识、步态或其它人类特性)、密码、PIN、密保问题回答、对质询的密码响应、人类和/或装置签名等。
“用户设备”可以是由用户操作的任何合适的装置。合适的用户设备可以是便携式的,并且可以与诸如访问装置的外部实体进行通信。用户设备的示例包括移动电话、膝上型计算机、智能手表、门禁卡、智能卡等。
“授权实体”是可授权或批准交互的实体。授权实体通常可指业务实体(例如银行),所述业务实体维护用户的账户,并且能够授权交互,诸如从商家购买商品或服务。授权实体可操作“授权计算机”。授权实体的示例可以是发行者、政府机构、文档库、访问管理员等。“发行者”通常可以指为用户维护与客户端设备相关联的账户(诸如在安装在客户端设备上的移动应用中登记的账户)的商业实体(例如,银行)。授权实体还可将与账户相关联的账户参数发到客户端装置。授权实体可与主机系统相关联,所述主机系统代表授权实体执行发布方的功能中的一些或全部功能。
“访问装置”可以是提供对远程系统的访问的任何合适的装置。访问设备还可用于与资源提供者计算机、授权计算机或任何其他合适的系统通信。访问设备一般可以位于任何适当位置上,诸如位于资源提供者或商家的位置上。访问装置可以采用任何合适形式。访问设备的一些示例包括POS或销售点设备(例如,POS终端)、蜂窝电话、PDA、个人计算机(PC)、平板PC、手持式专用读取器、机顶盒、电子现金出纳机(ECR)、自动柜员机(ATM)、虚拟现金出纳机(VCR)、营业亭、安全系统、访问系统和终端等。访问装置可以使用任何合适的接触或非接触操作模式,以发送或接收来自用户通信装置或者与用户通信装置相关联的数据。访问设备的其他示例包括控制对地点(例如赛场、中转站、家、办公室、建筑物等)的实际访问的设备(例如锁、大门、访问控制盒等)以及控制对数据或信息的访问的软件设备。在实施方案中,访问设备可被配置成经由接触式或非接触式操作模式对用户设备充电或再充电。
“服务器计算机”可以包括功能强大的计算机或计算机集群。例如,服务器计算机可以是大型主机、小型计算机集群或作为一个单元运作的一组服务器。在一个示例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可包括一个或多个计算设备,并且可使用各种计算结构、布置和编译中的任一种来服务来自一个或多个客户端计算机的请求。
“存储器”可以是可以存储电子数据的任何合适的一个或多个设备。合适的存储器可以包括非暂时性计算机可读介质,其存储可由处理器执行以实现期望方法的指令。存储器的示例可以包括一个或多个存储器芯片、磁盘驱动器等。此类存储器可以使用任何合适的电、光和/或磁操作模式来操作。
“处理器”可以指任何合适的一个或多个数据计算设备。处理器可包括一起工作以实现所要功能的一个或多个微处理器。处理器可以包括CPU,所述CPU包括至少一个高速数据处理器,所述高速数据处理器足以执行用于执行用户和/或系统生成的请求的程序部件。该CPU可以是微处理器,诸如AMD的速龙(Athlon)、钻龙(Duron)和/或皓龙(Opteron);IBM和/或摩托罗拉(Motorola)的PowerPC;IBM和索尼(Sony)的Cell处理器;英特尔(Intel)的赛扬(Celeron)、安腾(Itanium)、奔腾(Pentium)、至强(Xeon)和/或XScale;以及/或者一个或多个类似的处理器。
具体实施方式
本公开为使用生物特征测量的用户设备(例如,移动设备)的安全的面向外部的认证提供了有效和准确的协议。生物特征模板可以被验证以满足一个或多个属性,并被登记以供稍后在认证过程(阶段)中使用。作为分离的登记的一部分或者在与匹配阶段相同的会话中,可以验证生物特征模板(例如,通过验证者设备)以满足一个或多个特定属性,例如标准化。验证可以使用零知识证明的新技术(例如,确认主动攻击没有使用具有太大向量值的生物特征模板)。附加地,打包技术可以实现有效通信。
当生物特征模板的验证发生在登记阶段期间时,交互可以包括以下中的三个实体:用户设备
Figure BDA0004156520060000051
具有附接的传感器的终端/>
Figure BDA0004156520060000052
(也称为访问设备)、以及服务提供商/>
Figure BDA0004156520060000053
(也称为验证者设备)。实施方案可以包括认证中的两个阶段:其中向服务提供商注册用户的生物特征模板的登记阶段,以及其中用户设备和终端相互交互以比较生物特征测定数据例如以提供对资源的访问的匹配阶段。实施方案可以将生物特征模板表示为向量,并计算它们之间的内积(以安全的方式)。
一些实施方案使用零知识证明来提供针对主动攻击安全性,这些主动攻击可以包括畸形密文、无效生物特征模板等。例如,可以由具有大于指定量的值的无效生物特征向量生成畸形的经加密的生物特征。本公开提出了几种有效的零知识协议。一个协议使用模板的良构性证明(表示为向量)。一些实施方案可以验证向量具有某个范数(例如,L2范数),而不向验证者设备泄露关于生物特征模板的任何信息。针对此的现有协议[23]对于统计安全参数κ(比如40)具有κn的开销。我们提出了新的技术来将开销减少到(大约)n,从而实现接近40x的加速。
另一协议是一组n个Paillier密文中的明文值的零知识知识证明。人们可以使用技术来单独证明每个明文值的知识,但是这将使得通信复杂度以n呈线性。本公开提供了他们的协议的新的批量版本,其中证明者发送与基本协议相同数量的消息。例如,在应用菲亚特-沙米尔启发式算法(Fiat-Shamir heuristic)之后,一些实施方案可以提供具有恒定通信复杂度(独立于n)的协议。
附加地,一些实施方案可以使用Paillier加密方案[26]来加密模板,并使用其同态属性来对它们进行操作。通常,单个Paillier密文可以包含2048或3072个位的明文数据,但是对于生物特征任务,明文值的大小通常非常小。用于Paillier加密的优化技术可以允许将(相对较小的大小的)几个明文批量加密成一个单个密文,从而大大减少基本加密方案的计算和通信开销。
由于支持两个打包值相乘,打包技术与[20,25]明显不同。为了深入了解,假设我们具有两个向量
Figure BDA0004156520060000062
和/>
Figure BDA0004156520060000061
我们以某种方式将/>
Figure BDA0004156520060000063
个元素中的n个打包成一个密文。如果我们只关心按分量对这些向量求和,我们只需要确保在所填充的元素之间存在一些额外空间或填充来捕获溢出。填充的量可以取决于要执行的加法的数量。然而,将以简单方式打包的两个密文相乘将产生其中(形式uivi的)所期望的积与交叉积(形式uivj、i≠j的)混合的项;所以打包方案可以更稀疏。另外,当打包密文被解密时,交叉积可能泄漏额外信息,因此它们需被适当地掩蔽。一些实施方案提供了解决这些问题的新的编码方案(章节V),并且可以导致半诚实协议中的8x节省以及在恶意协议中的6x节省。
各种示例协议可以利用新的打包和证明技术来构建一套有效协议,用于在安全性和效率之间进行折衷的情况下进行生物特征匹配(例如,基于余弦相似性度量或其他相似性度量)。示例协议I可以提供对抗半诚实攻击的安全性,并将内积(在生物特征模板和所捕获的生物特征之间)泄露给用户设备。示例协议II可以提供针对恶意设备和半诚实服务提供商/终端的安全性,并且将内部产品泄露给终端。示例协议III可以在与上述相同的设置中提供安全性,但是不会泄露任何信息。
这些协议中的任何一个可以执行生物特征模板是否是畸形的(例如是否被标准化的)的验证。例如,在登记阶段中,提供商可以对由用户设备提供的经加密的模板进行签名。用户设备可以隐藏模板(通过加密),但是使用零知识证明使服务提供商确信它是良构的。签名的经加密的模板可以在由设备在与终端的匹配阶段中发送的消息(例如,第一消息)中发送。签名使终端确信模板是良构的,而不必参与另一证明会话。由于经加密的模板不向终端泄露任何信息,因此匹配协议的第一消息甚至可以在终端有机会记录测量之前发送。
在匹配阶段中,协议I、II和III可以分别具有三轮、四轮和五轮通信。轮次包括从设备发送到终端的消息,反之亦然。如果第一消息在早期发送,那么所有三个协议中的匹配阶段可以具有少一轮。
除了零知识证明之外,一些实施方案可以使用诸如消息认证码、不经意传输和混淆电路的密码工具来实现在第二和第三协议中的主动攻击下的安全性。第一协议可能依赖于Paillier加密的安全性。
在单个商用笔记本电脑上针对三个协议提供结果。我们使用3072位Paillier(其被估计为具有112位的计算安全性)以及40位的统计安全性参数。我们考虑各种模板长度
Figure BDA0004156520060000071
与每个模板元素的不同位长度m∈{8,16,24}组合。我们在此讨论针对/>
Figure BDA0004156520060000072
和m=16的一些性能数字。稍后将提供另外的细节。
对于协议I,登记花费0.6秒,而匹配阶段只需要0.024秒。这可以通过以下事实来解释,即Paillier加密需要大的指数运算,而解密和同态运算相对有效。由于打包,匹配阶段(经加密的模板)的第一消息只有16KB,而不是128KB。因此,打包有助于实现8x的改进。协议的其余部分只要求终端通信传送516个字节。因此,协议I具有非常低的通信开销。
尽管考虑了恶意设备,由于有效零知识证明的所公开的使用,协议II和III只需要5秒钟进行登记。协议II的匹配阶段只需要0.05秒。在此第一消息具有大小27KB,而不是162KB,由于打包而导致的6x的节省。协议的其余部分仅消耗0.8KB。
最安全的协议(协议III)也相当快。计算匹配仅花费0.12秒。不过,通信开销在高侧上:由于使用混淆电路,对于协议II,交换了总共142KB而不是28KB。通过在预处理阶段中来自服务提供商的一些帮助,可以使这减少到少至20KB。
其他实施方案可以使用除了Pailler加密之外的其他类型的同态加密方案,诸如基于误差学习(LWE)的加法同态加密方案。
I.引言
生物认证已经成为我们日常生活的一部分。我们使用如指纹和面部图像的生物特征来针对我们的移动设备标识我们自己,并每天登录到移动应用[1–3,5]。当我们设置支持生物特征认证的设备(登记阶段)时,我们提供几种生物特征测量,使得它可以生成高质量模板。之后,我们通过提供新的生物特征测量进行认证。如果测量与所存储的模板匹配,则认证成功(匹配阶段)。这种认证可以被认为是面向内部的:在模板存储在其中的相同的设备上收集用于匹配的生物特征数据。
移动设备安全地存储和处理生物特征数据的能力也可以用于面向外部的认证,其中放置在设备的外部的传感器(即外部传感器)收集生物特征数据用于匹配。考虑在区域中具有多个物理位置的较大服务提供商。用户可以通过用户的移动设备上的其应用程序向提供商登记模板。然后,放置在提供商位置处的传感器可以捕获她的生物特征数据,并将其针对存储在她设备上的模板进行匹配。如果匹配成功,那么她可以基于她与提供商的账户获得一定级别的访问(被允许完成某项任务等)。
像游乐园、会议中心、剧院等地方可以在入口处使用这种类型的生物特征匹配来快速方便地标识通过他们的应用程序提前购买门票的人。杂货店可以使用它来标识正确的支付凭证,并实现顺利结账。ATM机可以用它来标识从其提取钱的账户。公寓可以使用它来只允许授权的人进入。
这种方法的重要益处是用户群体的生物特征模板不被收集和存储在某个巨大的数据库(其破坏会是灾难性的)中[6,8]。相反,模板保留在它们所属的用户的设备上。
在上面讨论的设置中,在让用户体验是无缝的方面存在价值。用户可能不需要每次服务提供商试图在其位置对他们进行认证时伸手拿他们的设备并与他们进行交互。一旦用户通过与提供商的访问设备连接并在某个位置参与匹配过程来表明她对提供商的信任,则用户设备可以在这个位置(以及也可能在其他位置)需要匹配的任何时候自动与另一提供商访问设备连接。例如,Google的近场连接API[4]可以用于这个目的。它使用蓝牙和WiFi直接两者连接设备。
虽然无缝体验看起来非常有用和吸引人,但由于隐私问题,它限制了如何设计安全的匹配协议。让我们以游乐园为例,在游乐园,人们在入口处排队。安装在终端(访问设备)上的传感器将自动连接到附近的几个用户设备(如果这些设备被登记)。如果传感器对Alice进行生物特征测量(例如,通过捕获她的照片),它不能仅仅与所有连接的设备共享测量,因为它不知道它们中的哪一个属于Alice。
而且,可能不期望设备与传感器共享它们的模板。出于至少有两个原因,这是不期望的。首先,模板可能比由传感器收集的测量能代表个体得多。第二,传感器附近可能存在不希望进入公园的人,但是他们的设备是连接的。这些设备没有理由只将模板发送给传感器。
总而言之,在一些实施方式中,传感器不应该以明文形式与设备共享所收集的测量,设备也不应该以明文形式与传感器共享模板。因此,期望传感器和设备之间的、能够利用经加密的数据进行工作并且能够泄漏关于所涉及的敏感生物特征信息的尽可能少的信息的匹配协议。
虽然防止信息泄露当然很重要,但攻击者也可能试图暗中破坏匹配协议。攻击者Bob可能窃取Alice的存储了其模板的设备,并在实际上该生物特征是Bob的时试图欺骗传感器使其认为它捕获了Alice的生物特征。换句话说,Bob试图在其不应该成功时强制匹配协议成功,这将使他能够冒充Alice。例如,在ATM机上,他能够提取爱丽丝的钱。这种攻击可以被认为是主动攻击。这种攻击可能使用未标准化的新模板,或者存储的所加密的生物特征模板可能被改变。
另一设计方面是效率设计方面,最好的例示是其中数百人排队等待进入的地方(像游乐园)。用于这种用例的任何安全匹配协议应该是计算和通信有效的。协议应该尽快返回匹配结果。在一些实施方式中,它可以在人到队伍的前面之前开始,即,在进行生物特征测量之前开始。另外,协议可能涉及少量的数据交换,因为连接可能是低带宽的(如蓝牙)或者数据使用可能是昂贵的。另一方面,生物特征模板的登记可能在较慢侧上,因为它将不经常地发生。
存在关于用于各种形态(指纹、虹膜、面部等)的生物特征匹配的安全协议和距离度量(汉明距离、欧几里德距离)等的大量文献。一些文献是基于从有噪声的生物特征测量中导出密码密钥的思想[10,11,16,22]。这种方法的一个缺点是,尽管在生物测量中存在潜在的误差导出一致的密钥的困难。另一项工作使用根据安全多方计算的技术来评估关于经加密的数据的传统匹配算法[9,17,20,21,25,27,28]。本公开的一些实施方案在于第二类别。
然而,据我们所知,所有以前的工作在半诚实模型中进行,并且没有考虑主动攻击。相反,他们通常受标识设置激励,在标识设置中,测量与模板的数据库进行比较,而不是与认证设置进行比计较。认证是1:1类型的任务,其中将测量与模板进行比较,以确定它们是否属于同一个人。另一方面,标识是1:N类型的任务,其中测量与潜在较大组的N个模板相匹配,以确定测量属于谁。对于标识,重点是尝试批处理尽可能多的比较,而不是优化单个比较操作。本公开的实施方案还可以具有来自不同用户的几个同时的认证尝试。
II.准备工作
一些密码概念和符号对于理解本公开的某些方面是有用的。至于符号,安全性参数由λ表示。可以使用向量来表示生物特征值,例如,设备的生物特征模板可以表示为向量
Figure BDA0004156520060000101
而终端的生物特征模板表示为向量/>
Figure BDA00041565200600001020
在此,对于所有
Figure BDA00041565200600001019
(即ui,wi是m位的数)。我们使用x来表示x的加密。有时,我们使用x;r来表示消息x使用随机性r加密。
A.余弦相似性
用于确定所捕获的生物特征(即,来自传感器的)是否与生物特征模板匹配的一个相似性度量是余弦相似性,其可以定义如下。对于向量u,w,它们之间的余弦相似性是定义如下的0和1之间的值:
Figure BDA0004156520060000103
注意,如果两个向量||u||,||w||的L2范数都是ζ,CS.Dist(u,w)=<u,w>/ζ2。要检查对于某些T′∈[0,1],
Figure BDA0004156520060000104
检查<u,w>≥T(其中T=T′·12)就足够了。
我们在章节X中正式定义了零知识证明、数字签名、不经意传输和混淆电路。其他示例相似性度量包括汉明距离或欧几里德距离。
B.Paillier加密
由Paillier[26](Plr.Setup,Plr.Enc,Plr.Add,Plr.Dec)进行的加法同态加密方案可以定义如下:
·Plr.Setup(λ)=:(epk,esk):选择长度为λ的随机素数p和q。设置N=pq,g=(N+1),d=lcm(p-1,q-1)。计算μ=L(gdmodN2)-1modN,其中L(·)定义为
Figure BDA0004156520060000105
输出公钥epk=(N,g)和私钥esk=(d,μ)。
·
Figure BDA0004156520060000106
在给定明文/>
Figure BDA0004156520060000107
的情况下,输出密文
Figure BDA0004156520060000108
其中r是在/>
Figure BDA0004156520060000109
中随机选取的。
·Plr.Add(λ,x,y)=:x+y:在给定密文x和y的情况下,输出密文x+y=x·ymodN2
·Plr.Dec(λ,c,esk)=:x:在给定密文c和密钥esk的情况下,输出x=L(cdmodN2)·μmodN。
我们在章节X中描述了这个方案所满足的正确性和安全性属性。
C.生物特征认证
在本章节中,我们将描述安全生物特征认证的示例。我们使用理想-真实世界的范例来捕获安全性目标。
图1示出了用于生物特征认证的理想函数性
Figure BDA00041565200600001010
它有两种查询类型。第一类型允许用户在“登记”阶段中通过她的设备/>
Figure BDA00041565200600001011
向服务提供商/>
Figure BDA00041565200600001012
注册生物特征模板/>
Figure BDA00041565200600001013
随后,该设备可以使用其注册的模板参与和终端/>
Figure BDA00041565200600001014
进行的“匹配”会话。终端提供测量/>
Figure BDA00041565200600001015
如果/>
Figure BDA00041565200600001016
和/>
Figure BDA00041565200600001017
足够接近,那么/>
Figure BDA00041565200600001018
报告存在匹配。
此外,函数性显式地允许定义一对泄漏函数。可以使用这样的泄漏函数,因为一些协议揭示了比是否匹配的断言更多的信息。例如,一些协议可以向各方中的一个揭示
Figure BDA0004156520060000111
和/>
Figure BDA0004156520060000112
之间的内积。
对于真实世界模型,用于生物特征认证的协议π可以包括两个阶段:登记阶段和匹配阶段。登记阶段在设备
Figure BDA0004156520060000113
和服务提供商/>
Figure BDA0004156520060000114
之间。一旦登记了/>
Figure BDA0004156520060000115
它就可以参与和终端/>
Figure BDA0004156520060000116
进行的匹配会话。通常,对于设备,登记阶段将运行一次,而匹配阶段将运行多次,可能地利用不同的终端。
对于威胁模型,我们考虑半诚实(诚实但好奇)的服务提供商和终端,但考虑到他们可能相互共谋以了解关于用户的生物特征模板的更多信息的真实可能性(除了存在匹配或不匹配以及任何泄漏的事实之外)。换句话说,实施方案可以考虑用于半诚实
Figure BDA0004156520060000117
和/>
Figure BDA0004156520060000118
的联合视图的模拟器。
另一方面,我们考虑半诚实和恶意设备。半诚实设备会尝试了解比它应该了解的关于测量的更多的信息。恶意设备可能会更进一步:它可能尝试登记无效模板
Figure BDA0004156520060000119
甚至在测量不接近/>
Figure BDA00041565200600001110
的情况下也能成功匹配等。
服务提供商也可能是恶意的,但尝试改变匹配的结果对他们来说不是很有用(就像对设备一样)。例如,如果组织的付费会员由于生物特征匹配失败而被拒绝进入该组织的地点中的一个,她可以要求退款。如果杂货店试图使得与某人的未结账的设备的匹配成果,此人可能对她信用卡上的费用提出异议。
一些实施方案可以认为协议π是安全的,如果对于真实世界中(上述类型的)的每个对手
Figure BDA00041565200600001111
在理想世界中存在模拟器/>
Figure BDA00041565200600001112
使得真实世界中的诚实方的输出和视图/>
Figure BDA00041565200600001113
的联合分布在计算上不能与理想世界中诚实方的输出和/>
Figure BDA00041565200600001114
的联合分布区分开。
III.用于在两个设备之间使用生物特征的场景
生物特征可以用于各种面向外部的场景,其中捕获生物特征测量的设备不是存储生物特征模板的设备。这样的场景可以发生在各种情况下,在这些情况下,期望确认用户的位置(例如,用户在进入建筑物的门处),如由在该位置的访问设备所确定的那样,同时还确认用户的设备确实属于用户。例如,访问设备可以包括捕获用户的照片图像的传感器(例如,照相机)。实施方案可以使用生物特征来实现这种认证,而不暴露生物特征模板,使得其他人不能使用它来获得对用户的设备或其他设备的不正当访问。
A.匹配阶段中的生物特征的一般使用
图2示出了使用本公开的实施方案可以被改进的用于访问资源的过程。作为示例,资源可以是对安全建筑物或区域、ATM、销售点设备或生物特征认证可以用于提供访问的任何其他设备的访问。对资源的访问可以由具有生物特征传感器的访问设备255来控制。这种访问设备可以存储具有进入安全区域的授权的所有用户的生物特征模板。然而,可能存在大量用户,并且将许多生物特征模板存储在一起可能使访问设备成为黑客的目标。因此,让每个用户存储他们自己的生物特征模板可能是有益的。
在步骤252中,访问设备255可以使用生物特征捕获设备(诸如照相机或指纹传感器),也称为生物特征传感器,来捕获用户235的生物特征测量。捕获被示为描绘了生物特征信息从用户235到访问设备255的传输的箭头。生物特征捕获设备可以以多种方式被触发。例如,用户的出现可以自动触发捕获设备。在其他实施方式中,可以要求用户肯定地选择按钮或其他用户界面元素来触发捕获。以这种方式,可以向用户提供用于定位的指令,以提供高质量测量。
作为另一示例,访问设备255可以发射信标信号(例如,经由蓝牙),该信标信号可以被附近的用户设备(例如,用户设备245)检测到。在检测到信标信号之后,用户设备可以向访问设备发送命令来捕获用户的生物特征(例如,照片)。作为另一示例,访问设备可以周期性地捕获生物特征。
在步骤254中,访问设备255可以从用户设备245接收生物特征模板245a。用户设备245可以是例如移动设备,诸如智能电话。生物特征模板245a可以被加密,并且已经从先前的登记步骤(在这个例子中是内部登记)存储在用户设备245上。在这个登记中,用户设备245可以捕获用户235的生物特征信息。
如后面章节所述,外部登记过程可以涉及验证者设备来确认生物特征模板满足一个或多个属性,例如生物特征向量的范数。用户信息然后可以被采样并作为生物特征模板存储在用户设备245上,潜在地连同验证者设备的数字签名一起。在其他实施方式中,访问设备255还可以执行生物特征模板245a满足一个或多个属性的验证。生物特征模板245a可以存储在用户设备245的安全元件上。用户设备245和访问设备255可以以多种方式通信。例如,设备可以通过诸如Wi-Fi、蓝牙和近场通信(near-field communication,NFC)的无线连接进行通信。
在步骤256中,访问设备255然后可以使用相似性函数将生物特征模板245a与生物特征测量进行比较,以计算相似性度量。如果相似性度量超过预定阈值,则访问设备可以验证用户。替代性地,访问设备255可以向用户设备245发送生物特征测量。用户设备245然后可以使用相似性函数将生物特征模板245a与生物特征测量进行比较。
在步骤258中,访问设备255可以执行附加认证和/或授权步骤。例如,访问设备255可以请求用户235输入个人身份号码(personal identification number,PIN)或密码以进行进一步认证。访问设备255还可以检查用户的账户的最近使用。例如,可能存在指示潜在欺诈的最近使用。访问设备255可以与附加计算机设备(诸如认证计算机和/或授权计算机)通信,以执行附加认证和/或授权步骤。
在步骤260中,一旦使用生物特征技术验证了用户账户,并且已经批准了任何认证和可能的授权,访问设备255可以通知用户235并向用户235提供资源。例如,资源可以是对安全建筑物的访问。更一般地,例如,资源可以是计算机资源(例如存储的数据或联网的计算机账户)、物理资源(例如有形对象或物理位置),或者其他电子资源或计算机之间的通信(例如对应于用于执行交易的账户的通信信号)。资源的附加示例可以包括商品或服务、计算机账户或文件或支付账户。在这种情况下,授权计算机(实体)可以执行用户是否被授权访问资源的进一步确定。例如,用户可能已被认证,但尚未登记或没有足够的资金来访问资源。在认证之后,可以提示用户或用户设备提供支付凭证,该支付凭证可以由授权对资源的访问的授权实体来确认,这可以由与访问设备255通信的资源提供者控制。
在其中无缝体验是期望的面向外部的认证的设置中,面部识别是可以被使用的一种类型的生物特征。对于匹配,余弦相似性度量是可以被使用的一个示例相似性度量(例如,CosFace[31],SphereFace[24],FaceNet[29])。
B.使用同态加密的协作设备
为了实施图2中描述的生物特征认证,一些实施方案可以使用同态加密,使得所捕获的生物特征可以与经加密的生物特征模板进行比较,使得访问设备不需要具有呈明文格式的生物特征模板。因此,在两者被加密的同时执行比较,从而不泄露任何一个。作为比较的一部分,相似性度量被确认为低于阈值,以确保两个生物特征之间存在匹配;由于测量差异,通常不会出现精确匹配。
图3示出了利用生物特征信息认证用户的方法300的流程图。用户可能正在与访问设备交互以获得对某个资源的访问。例如,资源可以是安全建筑物、计算设备或支付账户。用户设备305可以对应于第一设备,以及访问设备315可以对应于具有生物特征传感器的第二设备。方法300可以由用户设备305处的用户输入来触发,例如,利用在用户设备305上执行的应用来发起认证过程。作为另一示例,方法300可以经由访问设备315处的输入来触发,该访问设备然后可以向用户设备发送消息以发起认证过程。访问设备315处的输入可以由用户设备305的不同用户或相同用户提供,例如由行走经过访问设备315的传感器的用户提供,以触发认证过程。
在步骤302中,用户设备305可以生成公钥和经加密的生物特征模板。可能已经使用与公钥相关联的私钥按照同态加密方案对生物特征模板进行加密。用户设备305还可以通过加密一个或多个随机选择的值(例如,当不是随机选择时,也称为掩码值)来生成一个或多个经加密的掩码,该一个或多个经加密的掩码可以在以后用于掩蔽相似性度量。在一些实施方案中,用户设备305可以生成被加密的生物特征模板处于正确格式的指示符。例如,用户设备305还可以生成指示明文生物特征模板被标准化的知识证明(例如,总长度为1的向量)。在其他实施方案中,这样的证明可以在向服务提供商的登记过程中使用。
在步骤304中,用户设备305可以向访问设备315发送公钥和经加密的生物特征模板。用户设备305还可以发送指示符(例如,知识证明)和/或一个或多个经加密的掩码。
在步骤306中,访问设备315可以从用户设备305接收公钥和经加密的生物特征模板。访问设备还可以接收指示符(例如,确认生物特征模板是良构的知识证明或数字签名)。在一些实施方案中,访问设备315然后可以使用经加密的生物特征模板来评估知识证明,以确认明文生物特征模板被标准化。在其他实施方案中,可以使用生成数字签名的验证者设备的公钥来验证经加密的生物特征模板的数字签名,如在下一章节中更详细描述的那样。如果访问设备315没有接收明文生物特征模板处于正确格式的预期指示符,则访问设备315可以中止该过程。在其他实施方案中,访问设备315可以假设明文生物特征模板处于正确格式。访问设备315也可以接收一个或多个经加密的掩码。
在步骤308中,访问设备315可以使用一个或多个生物特征传感器获得用户的生物特征测量。例如,访问设备315可以使用指纹读取器来捕获用户的指纹。在另一示例中,访问设备315可以使用照相机来捕获用户的面部扫描。访问设备315然后可以将生物特征测量存储为向量,并且可以标准化生物特征测量向量。
在步骤310中,访问设备315可以使用相似性度量来计算经加密的相似性度量。例如,相似性度量可以是余弦相似性,并且相似性度量可以是内积。通过利用同态加密方案加密生物特征模板,访问设备315可以对经加密的信息执行计算,就像它是明文一样,而不需要解密它。访问设备315可以在计算相似性度量时使用公钥,例如,通过加密所捕获的生物特征以与经加密的生物特征模板进行比较。访问设备315可以使用一个或多个经加密的掩码来掩蔽经加密的相似性度量。访问设备315还可以使用一个或多个随机值来掩蔽经加密的相似性度量。
在步骤312中,在一些实施方案中,访问设备315可以可选地计算经加密的代码。经加密的代码可以是经加密的相似性度量和一个或多个随机选择的值的认证函数。例如,认证函数可以是经加密的相似性度量和随机选择的值的线性函数。经加密的代码可以是一次性消息认证码(message authentication code,MAC)。使用同态加密的属性,可以利用公钥计算经加密的代码。如果需要更高的安全性,经加密的代码可以用于增加认证过程的安全性。
在步骤314中,访问设备315可以向用户设备305发送消息。该消息可以包括经加密的相似性度量。在一些实施方案中,消息还可以包括经加密的代码。该消息可以通过任何合适的有线或无线协议发送,例如通过蓝牙或WiFi。
在步骤316中,用户设备305可以从访问设备315接收消息。消息可以通过任何合适的有线或无线协议接收。消息可以包括指示它是所发起的认证过程的一部分的标志。
在步骤318,用户设备305可以解密经加密的相似性度量,并且可以可选地解密经加密的代码(如果接收到的话)。所解密的相似性度量可以被掩蔽。例如,访问设备315可能已经向相似性度量添加了随机值。以这样的方式,用户设备305可能不了解所解密的相似性度量的值。替代性地,所解密的相似性度量可以被由用户设备305生成的一个或多个经加密的掩码所掩蔽。这可能阻止访问设备315了解所解密的相似性度量的值。
在步骤320中,用户设备305可以向访问设备315发送响应消息。响应消息可以指示(1)所解密的相似性度量是否超过阈值。如果相似性度量超过阈值,则可以说生物特征测量匹配生物特征模板,其中匹配指示生物特征测量和生物特征模板可能来自同一用户。在这种情况下,访问设备315可以验证用户。如果相似性度量小于阈值,则访问设备可以中止该过程。
响应消息还可以指示(2)所解密的代码是否与测试代码匹配。可以利用在步骤310中用来计算经加密的代码的相同认证函数来计算测试代码。可以利用所解密的相似性度量和一个或多个随机选择的值来计算测试代码。如果测试代码和所解密的代码匹配,则可以指示用户设备在解密相似性度量时没有修改相似性度量。用户设备305无法访问随机选择的值,因此它可能无法发送仍然会生成正确测试代码的欺诈性的所解密的相似性度量。如果测试代码和所解密的代码不匹配,则访问设备可以中止该过程。
在各种实施方案中,响应消息可以包括所解密的相似性度量和/或所解密的代码,从而使得响应消息指示(1)和/或(2),即使最终确定是由第二设备进行。在其他实施方案中,响应消息可以提供更直接的指示,例如何时在第一设备处实施和使用了混淆电路。
在步骤322中,访问设备315可以从用户设备305接收响应消息。如果访问设备315接收响应消息中的所解密的代码,则访问设备315可以计算测试代码并将测试代码与所解密的代码进行比较。在其他实施方案中,可以使用混淆电路来计算测试代码,并将测试代码与所解密的代码进行比较。访问设备315可以生成混淆电路,然后将其发送给用户设备305以便被评估。则响应消息可能包括混淆电路的输出。
如果访问设备315在响应消息中接收所解密的相似性度量,则访问设备315可以直接将所解密的相似性度量与阈值进行比较。在其他实施方案中,所解密的相似性度量可以被掩蔽。访问设备315还可以接收指示相似性度量是否超过阈值的知识证明。在其他实施方案中,可以使用混淆电路来确定所解密的相似性度量是否超过阈值。访问设备315可以生成混淆电路,然后将其发送给用户设备305以便被评估。则响应消息可能包括混淆电路的输出。
在步骤324中,访问设备315可以允许用户访问资源。在允许用户访问资源之前,访问设备315可以执行附加认证和/或授权步骤。例如,访问设备可以要求用户输入个人身份号码(PIN)或密码以进行进一步认证。访问设备315可以与附加计算机设备(诸如认证计算机和/或授权计算机)通信,以执行附加认证和/或授权步骤。在一些实施方式中,访问设备315可以是资源提供者计算机,或者允许对驻留在资源提供者上的资源的访问。
例如,资源通常可以是计算机资源(例如存储的数据或联网的计算机账户)、物理资源(例如有形对象或物理位置),或者其他电子资源或计算机之间的通信(例如对应于用于执行交易的账户的通信信号)。资源的附加示例可以包括商品或服务、物理建筑物、计算机账户或文件或支付账户。例如,访问设备315可以允许用户通过解锁门来访问物理建筑物。在另一示例中,访问设备315可以通过提供对支付过程的访问来允许用户访问电子支付。
本公开的实施方案可以修改这个方法,以提供增加的数据安全性,例如通过防止访问设备和/或用户设备接收所解密的相似性度量。
在美国专利公开2020/0228341(其全部内容以引用方式全部并入本文)中描述的不同协议的其他示例可以提供不同级别的安全性和安全性保证。每个协议可以利用适合于被捕获的生物特征数据的任何相似性度量来完成。
C.使用验证器进行登记
在一些实施方案中,验证者设备(例如,服务提供商)可以执行向用户设备的登记阶段。在登记中,验证者设备可以验证生物特征模板满足一个或多个属性,例如范数。可以以各种方式定义范数,例如,可以要求生物特征向量xi的值乘以自身的总和等于指定值(例如,1)。可以使用不同的范数,例如L1(绝对值)或L2(值的平方)范数。本文中的示例使用了L2范数。
可以使用加密来执行验证,使得验证者设备不获得生物特征模板。一旦验证了一个或多个属性,验证者设备可以对经加密的生物特征模板进行数字签名,并提供给用户设备,使得用户设备可以向访问设备提供生物特征模板是良构的证据。
以这种方式,在完成匹配阶段以提供对资源的访问(这将针对每次访问进行)之前,用户设备可以向中央服务器登记其生物特征模板。中央服务器将是可信机构,并且因此其签名将向个人访问设备证明生物特征是良构的。访问设备可以使用验证者设备(例如,中央服务器)的公钥来验证签名。
至于匹配阶段,来自两个设备的两个生物特征测量的比较可以使用生物特征向量的标准化,使得所测量的值在相同的尺度上。验证者设备可以确定生物特征模板被标准化为适当的量(例如,公开值y)。这种验证过程是困难的,因为它不应该泄漏实际的生物特征,并且确定在任何特定的生物特征向量值上存在适当的界限。如果生物特征向量值中的任何一个大于界限(例如,使用N(公钥中的安全性参数)定义),则验证过程可能易于受到主动攻击。例如,用户设备305可以发送非常大的虚假模板(例如,具有远大于1的范数)。即使虚假模板与允许用户欺骗性地获得对资源的访问的测量不匹配,虚假模板也可能导致超过阈值的相似性度量。如果生物特征值的平方环绕最大位大小,则这种虚假模板可能欺骗验证者设备,从而导致内积看起来仍然是公开值y),但是由于由实际实施方式(例如,使用128或256位,或者甚至3000位加密)强加的有限数字空间约束,这将仅仅是真实的。
本公开的一些实施方案使用不同的模数计算(mod N和
Figure BDA0004156520060000171
)来执行两次检查。如果生物特征向量值的平方环绕所分配的位大小(例如,由N定义),则两次检查将不会提供相同的公开值y。
图4示出了根据本公开的实施方案的用于向验证者设备465进行登记以及使用访问设备455进行匹配的过程。验证者设备465和访问设备455可以是同一设备。验证者设备465可以验证存储在用户设备425上的生物特征模板的范数,例如,通过使用不同的模数计算来执行两次检查。在一些实施方式中,验证者设备465可能仅执行不太准确的单个检查,但仍提供签名,使得匹配阶段更有效。
在步骤402中,用户设备425可以从用户405捕获生物特征模板427,例如如本文所述。用户然后可以向服务提供商(被描述为验证者设备465)发起登记阶段403。这种服务提供商可以与特定的商店、商家、场所、计算机网络提供商等相关联。在捕获生物特征模板427之后,用户设备425可以例如使用公钥/私钥对中的公钥对其进行加密。密码技术可以是同态的,使得一旦解密,对经加密的值的操作提供与对明文值执行操作时相同的结果。
在步骤404中,用户设备425向验证者设备465发送经加密的生物特征模板(例如,在本公开中通常表示为向量c)。例如,如果验证者设备465是新的并且之前没有与用户设备425通信过,则用户设备425也可以向验证者设备465发送公钥。公钥可以包括对应于要用于密码操作的大小参数的数字N。
在步骤406,验证者设备465可以生成质询消息,并将质询消息发送给用户设备425。在一些实施方式中,验证者设备465可以掩蔽经加密的生物特征向量c以获得被掩蔽的经加密的生物特征向量w。掩蔽可以防止用户设备425在质询响应上作弊,从而使生物特征模板在其实际上不满足范数时看起来确实满足范数。验证者设备465还可以使用mod N计算来生成第一消除值,并使用
Figure BDA0004156520060000181
计算(也可能使用mod N计算)来生成第二消除值。当用户设备生成被掩蔽的经加密的生物特征向量的范数时,消除值可以帮助抵消由掩蔽引起的交叉项。
在步骤408中,用户设备425确定两个质询响应,并将其发送给验证者设备465。可以针对每个消除值确定每个质询响应。两个质询响应可以使用被掩蔽的经加密的生物特征向量w来确定。
在步骤410中,验证者设备465可以例如通过确定响应指示实现了相同的范数来验证质询响应。例如,验证者设备可以确定质询响应等于公开值y以及任何掩码值或函数。例如,掩码值可以包括乘性掩码值乘以公开值y和/或偏移值(例如,通过加法或减法)。这种掩码值(例如,α和β)可以被选择为随机值(例如,在均匀分布上)
在步骤412中,当验证者设备465确定经加密的生物特征模板c是良构的时,验证者设备465可以使用验证者设备465的私钥来对c进行签名以生成签名429。验证者设备465可以向用户设备425发送签名429,该用户设备可以存储签名429以便在匹配阶段期间使用。
在步骤416中,验证者设备465可以向访问设备455发送公钥(对应于用于签名c的公钥)。这可以在提供阶段期间完成。这种提供可以在指定的时间完成,例如周期性地和/或刚好在事件之前。例如,可以在音乐会开始前一个小时提供场所的入口处的所有访问设备。访问设备455可以使用公钥来验证将从用户设备425接收的签名。
在步骤418中,用户设备425可以向访问设备455发送签名429。用户设备425可以在不同的时间发送签名,例如当检测到信标信号时。信标信号可以包括用户设备425可以用于确定是否请求访问资源的标识符,例如如果用户设备425存储了对应于该标识符的令牌(例如,票证)。标识符可以是通用标识符,例如标准的结账终端,使得用户设备425总是响应,或者至少只要已经安装了支付应用就响应。签名429可以在匹配阶段已经开始或完成之前或之后发送。
在420,匹配阶段可以确认捕获生物特征(即,来自应该是用户405的用户的测量)与生物特征模板427匹配。作为示例,可以如针对图2和图3以及后面的章节所描述的那样执行匹配。如果生物特征匹配,则访问设备455可以提供对所请求的资源的访问。在其他实施方案中,可以在匹配阶段之前、期间或之后,由访问设备455来进行生物特征模板是否被适当地标准化的验证。
验证者设备465可以在登记阶段403期间执行附加检查。例如,验证者设备465可以检查生物特征模板427是否与发送给验证者设备465的经加密的生物特征模板c相匹配。另一检查可以是来自用户设备的公钥是良构的。
IV.生物特征模板的示例验证
在这个章节中,我们描述了两个诚实验证者零知识证明,其可以用于Paillier加密方案或其他加密方案。回想一下,Paillier密文
Figure BDA0004156520060000191
由gxrNmodN2给出,其中公共参数为N=pq和/>
Figure BDA0004156520060000192
以及私有随机性为/>
Figure BDA0004156520060000193
有时,我们使用符号/>
Figure BDA0004156520060000194
来显式表示随机性r用于生成密文。为简单起见,当使用随机性时,符号/>
Figure BDA0004156520060000195
隐式地包括随机值r的使用。用户设备的公钥可以包括N和g。
实施方案可以假设公钥良构性。哈扎伊等人[18,19]构建了诚实验证者零知识协议,以显式Paillier方案的公钥epk是正确生成的。我们以Πepk表示这个协议并参考[19]的完整版本中的章节3.3以便进行构建和证明。
A.验证针对主动攻击的标准化
如上所述,用户设备可以生成指示明文生物特征模板被标准化的知识证明(例如,总长度为y(诸如1)的向量)。证明可以与经加密的生物特征模板和公钥一起发送。验证者设备(也称为服务提供商)可以通密码过程来确认明文生物特征模板是否被标准化。然后,验证者设备可以提供例如经加密的生物特征模板的数字签名。验证者设备可以是可信机构(例如,被访问设备信任)。以这种方式,用户设备不需要在认证时花费额外的计算工作量来生成证明。验证可以防止由已经窃取用户的设备并创建虚假生物特征模板的攻击者进行的主动攻击。
而且,上面讨论的是可能由用于执行加密的有限数字空间产生的问题。也就是说,对于每个数字使用最大数量的位。由于系统的这种固有属性,内积可能具有期望的范数y,但是仅仅是由于由有限的存储空间而使其平方环绕N的向量值。这样的余数(模数N)可能欺骗验证者,因为生物特征确实具有范数y。但是一些实施方案可以执行两次检查以确认在所有数字内范数确实等于y,即使使用了有限的整数组(即,用于存储所涉及的值的有限位大小)。
检查中的一个使用
Figure BDA0004156520060000201
计算来确认范数等于特定值(本文中描绘为y)。因此,两次检查可以确认使用两种不同的模数计算满足范数。由于对于两种不同的模数计算,数字会不同地环绕,所以对于两次检查,攻击者不能欺骗验证者设备。第二模数/>
Figure BDA0004156520060000202
可以随机地选择,因此攻击者无法复制任何虚假的环绕行为。
图5示出了根据本公开的实施方案的用于验证经加密的生物特征模板的方法500的流程图。特别地,验证者设备565可以验证存储在用户设备525上的生物特征模板满足标准化属性。方法500可以以与图4中的过程的部分类似的方式来执行。
在步骤501中,用户设备525可以生成、选择、存储或以其他方式获得一组参数。这些参数可以包括:用户设备的公钥pk,其可以被定义为pk=(N,g);用作范数的公开值y;生物特征模板向量x(也称为证据),其可以包括针对每个生物特征值的随机值r;以及经加密的生物特征模板c(也称为语句),其被描绘为
Figure BDA0004156520060000203
或/>
Figure BDA0004156520060000204
附加参数可以是向量值xi的最大值σ,使得保持完整性。最大值σ可以取决于N、生物特征模板向量中的元素的数量n以及安全性参数λ(例如40)。N可以被认为是第一模数N,其是用户设备的公钥的组成部分。
在步骤502中,验证者设备565获得公钥pk、范数y和经加密的生物特征模板c。这些参数中的全部或一些可以从用户设备525获得。可以由验证者设备565执行步骤503至505来生成质询。
在步骤503中,验证者设备565选择随机数
Figure BDA0004156520060000205
这个值可以从均匀分布中选择,并且可以是素数。/>
Figure BDA0004156520060000206
可以被选择为小于最大值,该最大值可以基于N(用于公钥pk)、生物特征的大小n、最大值σ和安全性参数λ来设置。/>
Figure BDA0004156520060000207
可以被认为是第二模数。
在步骤504中,验证者设备565确定掩码值。掩码值可以包括生物特征向量x的掩码向量值ρ。这些掩码值可以掩蔽经加密的生物特征向量x,使得用户设备525不能作弊来提供虚假质询响应。其他掩码值可以包括分别使用mod N和
Figure BDA0004156520060000208
计算的两个消除值(v、/>
Figure BDA0004156520060000209
)的β和/>
Figure BDA00041565200600002010
验证者设备565还可以选择随机消息认证码(MAC)作为另一掩码值,以防止恶意用户设备(证明者)作弊。
在步骤505中,验证者设备565使用一个或多个掩码值生成掩码经加密的生物特征向量
Figure BDA00041565200600002011
经加密的生物特征向量w的每个值可以通过对经加密的生物特征向量c的相对应的值应用相应的掩蔽函数来生成。相应掩蔽函数可以具有相同的函数形式,但是具有不同的值,例如向量的不同值。掩蔽函数可以是线性的(图6中示出的示例)或非线性的。在一些实施方式中,掩码向量ρ可以用于生成w,例如,通过经加密的生物特征向量c的每个值的加法掩蔽。验证者设备565还可以生成第一消除值v和第二消除值/>
Figure BDA0004156520060000211
可以使用用户设备525的公钥来加密消除值。每个消除值可以使用相对应的掩码值(例如β和/>
Figure BDA0004156520060000212
)掩蔽。消除值可以包括当取被掩蔽的生物特征向量w的范数时会产生的交叉项。/>
第二消除值
Figure BDA0004156520060000213
可以具有应用于掩码值的第二模数/>
Figure BDA0004156520060000214
使得两个检查测试不同的环绕函数性。注意,所有计算服从mod N,因为这是分配给加密操作的最大位大小。
可以在掩蔽经加密的生物特征向量c之前加密掩码值,使得结果是经加密的版本
Figure BDA0004156520060000215
类似地,掩码值β和/>
Figure BDA0004156520060000216
可以在用于确定消除值之前被加密。
在步骤506,验证者设备565向用户设备525发送质询。如果确定的话,质询可以包括被掩蔽的经加密的生物特征向量
Figure BDA0004156520060000217
和/>
Figure BDA0004156520060000218
以及经加密的第一消除值/>
Figure BDA0004156520060000219
和经加密的第二消除值/>
Figure BDA00041565200600002110
在步骤507中,用户设备525解密质询以获得被掩蔽的生物特征向量w。也可以获得消除值的所解密的值。用户设备525可以使用对应于用于加密生物特征向量x的公钥pk的用户密钥(也称为用户私钥)来获得c。
在步骤508中,用户设备525生成质询响应。可以使用第一消除值v和被掩蔽的生物特征向量w来生成第一质询响应z。可以使用第一消除值v和经加密的生物计量向量w的第一函数(例如,对应于所使用的范数的类型,诸如L2范数)来生成第一质询响应z,其中第一函数包括第一模数N。第一函数可以产生一个或多个第一交叉项,其中第一消除值v的一部分消除了该一个或多个第一交叉项。
可以使用第二消除值
Figure BDA00041565200600002111
和被掩蔽的生物特征向量w以及第二模数/>
Figure BDA00041565200600002112
来生成第二质询响应/>
Figure BDA00041565200600002113
可以使用第二消除值/>
Figure BDA00041565200600002114
和经加密的生物特征向量w的第二函数来生成第二质询响应/>
Figure BDA00041565200600002121
其中第二函数包括第二模数/>
Figure BDA00041565200600002115
第二函数也可以对应于范数,并且除了使用第二模数/>
Figure BDA00041565200600002116
之外,与第一函数相同。
在步骤509中,用户设备525向验证者设备565发送质询响应z和
Figure BDA00041565200600002117
在步骤510中,验证者设备565验证质询响应z和
Figure BDA00041565200600002118
取决于如何执行掩蔽,质询响应应该分别等于被掩蔽的ymod N或/>
Figure BDA00041565200600002119
例如,可以检查以下关系:z=yα2+β和/>
Figure BDA00041565200600002120
在步骤511中,如果验证质询响应,则验证者设备565对经加密的生物特征向量c进行签名。验证者设备565的验证者私有密钥可以用于生成签名。相对应的验证者公钥可以被发送到访问设备(例如,如图4中那样),使得访问设备可以验证签名,从而验证经加密的生物特征c是良构的。
在步骤511,验证者设备565向用户设备525发送签名,该用户设备可以存储该签名以提供给访问设备,如本文所述。
图6示出了根据本公开的实施方案的用于验证经加密的生物特征模板满足L2范数的零知识(zero-knowledge,ZK)协议πZK-L2。图6提供了图4和图5中描述的技术的示例实施方案的另外的细节。图6呈现了诚实验证者零知识协议,早给定n个Paillier密文
Figure BDA0004156520060000221
的情况下,该诚实验证者零知识协议证明了向量/>
Figure BDA0004156520060000222
的L2范数等于整数上的某个公开值y。
示例参数被示出为包括用户公钥pk、范数y、生物特征向量x和使用公钥pk加密的经加密的生物特征向量c。如所示出的那样,c1等于x1的密文和随机值r1。如果实体知道证据,那么实体将立即知道是否满足范数。语句是用于使验证者确信生物特征确实具有适当的规范的内容。
在步骤610中,验证者通过均匀采样直到N来确定
Figure BDA0004156520060000223
可以通过继续选择数直到数是素数来强制实施/>
Figure BDA0004156520060000224
是素数的约束。N的示例值是3000位。
在步骤620,验证者对随机数α进行采样,该随机数α可以充当MAC密钥。值α可以用作随机认证值,这可以允许检查另一方是否提供虚假值,即,不根据规定的操作。ρ值,β和
Figure BDA0004156520060000225
是掩码值。这些值可以隐藏α。
在步骤630,验证者生成质询,并向证明者P(用户设备)发送质询。如所示的那样,确定被掩蔽的经加密的生物特征向量
Figure BDA0004156520060000226
以及经加密的第一消除值/>
Figure BDA0004156520060000227
和经加密的第二消除值/>
Figure BDA0004156520060000228
值α乘以/>
Figure BDA0004156520060000229
值,例如作为/>
Figure BDA00041565200600002210
的认证的一部分。然后/>
Figure BDA00041565200600002211
利用ρ值进行掩蔽(ρ的加密所示)以提供/>
Figure BDA00041565200600002212
特定的ρi值可以充当随机向量ρ的偏移随机值。
当L2范数由证明者确定时,消除值用于消除我们的交叉项。为简单起见,随机r值不与
Figure BDA00041565200600002213
值一起示出。因此,/>
Figure BDA00041565200600002214
指的是经加密的生物特征向量的元素(语句)c。经加密的第一消除值/>
Figure BDA00041565200600002215
的第一项包括随机认证值α乘以随机向量ρ的值ρi。其他第一项包括ρi 2和随机值β(其可以充当掩码值)
在确定经加密的第二消除值
Figure BDA00041565200600002216
时,/>
Figure BDA00041565200600002217
用于确定第一系数C,特别地用于确定/>
Figure BDA00041565200600002218
的乘法系数,以及用于确定第二值d;两者是用于确定经加密的第二消除值/>
Figure BDA00041565200600002219
的第二项的示例。这些/>
Figure BDA00041565200600002220
操作用于检查对于x的任何值是否发生了环绕,因为质询响应中的至少一个将不匹配范数y。例如,执行mod N操作将导致交叉项在步骤650中不消除。因此,用于确定经加密的第二消除值/>
Figure BDA00041565200600002221
的第二项中的至少一个在聚合之前经受/>
Figure BDA00041565200600002222
在步骤640,证明者p使用对应于公钥pk的秘密密钥对经加密值
Figure BDA00041565200600002223
Figure BDA00041565200600002224
和/>
Figure BDA00041565200600002225
进行解密。在解密后,证明者P具有w,v,和/>
Figure BDA00041565200600002226
在步骤650,证明者使用w,v,
Figure BDA00041565200600002227
和/>
Figure BDA00041565200600002228
生成两个质询响应。第一质询响应可以被认为是L2规范的被掩蔽的版本(例如,一次一密加密)。第一消除值v的第一项消除了由w值的平方产生的交叉项,从而留下yα2加上第一消除值v的第二项(即,掩码值β)。对于第一消除值/>
Figure BDA00041565200600002229
进行类似的消除。
α、β和
Figure BDA0004156520060000231
的值隐藏(掩蔽)了y的值,使得即使证明者知道生物特征模板x,证明者也不知道y。
在步骤660中,如果两个质询响应匹配范数y(包括任何掩码值),则验证器验证这两个质询响应,否则可以拒绝登记。如所示出的那样,第一质询响应z等于α2(例如,当使用L2范数时)乘以生物特征向量的L2范数x加上掩码值β。第二质询响应
Figure BDA0004156520060000232
等于α2(例如,当使用L2范数时)乘以生物特征向量的L2范数x加上掩码值/>
Figure BDA0004156520060000233
由于模数运算,只有在生物特征向量值x在正确范围内时,消除值才会消除交叉项。
因此,实施方案可以使用两种关键技术来检查生物特征向量x具有正确的范数y。第一关键技术是L2范数等于y模数N的ZK证明(注意这不在整数内,否则我们就完了)。这结合了半诚实乘法协议和代数MAC的使用,以防止恶意证明者以下列方式欺骗(这个协议中的所有操作在
Figure BDA0004156520060000234
中发生):首先,验证者将每个密文/>
Figure BDA0004156520060000235
掩蔽和MAC为
Figure BDA0004156520060000236
Figure BDA0004156520060000237
其中α,ρi(在/>
Figure BDA0004156520060000238
中是均匀随机的)分别是MAC密钥和掩码。然后向能够计算/>
Figure BDA0004156520060000239
的证明者揭示这一点。观察到这包含了期望的值/>
Figure BDA00041565200600002310
我们可以通过要求验证者也针对掩码β(在/>
Figure BDA00041565200600002311
中是均匀随机的)发送
Figure BDA00041565200600002312
来隔离这个值。证明者然后可以如下获得L2范数的MAC版本:
Figure BDA00041565200600002313
最后,证明者可以简单地向验证者发送z,该验证者通过检查z=ya2+β来检查
Figure BDA00041565200600002314
上面的技术证明了在y内L2范数等于
Figure BDA00041565200600002315
然而,我们期望这个等式在整数内适用。除了我们现在将逻辑上对模数N′执行检查(其中y<<N′<<N并且在固定xi之后通过V进行选择)之外,我们通过添加这个协议的第二实例来实现这一点。
如果这两个检查通过,则意味着
Figure BDA00041565200600002316
Figure BDA00041565200600002317
重写我们获得Nt=N′s.的蕴涵。这意味着证明者必须将t选择为N′的倍数。然而,由于N′是素数,并且是在所有xi固定之后选择,所以证明者只能以可忽略的概率来这样做。
我们的协议在章节X.E中被正式证明,这证明了以下引理:
Figure BDA0004156520060000241
是公钥pk下的Paillier密文,并且y是正整数。假设Paillier加密的安全性,图6中的Πzk-L2是诚实验证者零知识协议,以显示/>
Figure BDA0004156520060000242
(在整数内)。
考虑更一般的证明策略,其中我们替代性地证明每个xi较小,因此
Figure BDA0004156520060000243
不能大于N。即使在使用Lindell[23]的优化近似范围检查时,这种策略也需要发送O(nλ)条Paillier密文。相比之下,我们的优化方法只涉及O(n)条密文。实际上,这导致至少40倍的加速。
B.明文的知识
在一些实施方案中,验证者设备可以有效地验证密文是良构的,例如通过验证用户设备知道生物特征模板的明文。这种检查可以防止攻击者获取他人的密文并试图使用它。必须证明明文的知识可以防止攻击者这样做,因为他们不知道明文生物特征。一些实施方式可以通过聚合向量中的所有元素来有效地对向量进行这种检查,并且因此只产生与针对单个元素的检查类似的开销。
特别地,一些实施方案提出了诚实验证者零知识协议,以证明n条Paillier密文
Figure BDA0004156520060000244
下的明文的知识和随机性。克拉默等人[14]设计了Σ-协议,用于针对单个密文/>
Figure BDA0004156520060000245
证明消息的知识和随机性。在此,我们提供了他们的协议的新的批处理版本,其允许我们在给定n条密文/>
Figure BDA0004156520060000246
...、xn;rn的情况下,同时证明n个消息-随机性对(x1,r1),...,(xn,rn)的知识,同时只需要来自证明者的相同数量的通信。我们通过利用他们的协议的线性结构来实现这种推广。
图7示出了根据本公开的实施方案的用于验证经加密的生物特征模板对应于明文生物特征模板的方法700的流程图。用户设备725和验证者设备765可以与本文中描述的相同。方法700可以在检查范数之前或之后完成(例如,方法500)。
在步骤701中,用户设备725可以生成、选择、存储或以其他方式获得一组参数。这些参数可以包括:用户设备的公钥pk,其可以被定义为pk=(N,g);生物特征模板向量x(也称为证据),其可以包括针对每个生物特征值的随机值r;以及经加密的生物特征模板c(也称为语句),其被描绘为
Figure BDA0004156520060000247
或/>
Figure BDA0004156520060000248
在步骤702中,验证者设备565获得公钥pk和经加密的生物特征模板c。这些参数中的全部或一些可以从用户设备525获得。
在步骤703中,用户设备(证明者)725采样随机值s和随机硬币u(用于加密)。然后,证明者使用公钥pk和随机硬币u对s进行加密。经加密的值被表示为
Figure BDA0004156520060000249
其可以被认为是经加密的承诺值,其中承诺包括两个分离的随机值s和u。
在步骤704中,用户设备725发送
Figure BDA0004156520060000251
在步骤705中,验证者设备765生成随机质询向量e,具有与经加密的生物特征c相同的长度。在步骤706,验证者设备765向用户设备发送随机质询矢量e。
在步骤707,用户设备725使用随机质询矢量e和生物特征x生成质询响应w和z。在一些实施方式中,在给定随机质询e的情况下,证明者必须利用w=(s+ex)mod N和z=ugtre来回应,其中t满足关于(s,w,e,x)的某个线性方程。因为e和x是向量,内积ex是对向量中的各项的和。并且re是r和e的项中的每一个的乘积。在步骤708中,用户设备725向验证者设备765发送质询响应w和z。
在步骤709,验证者验证质询响应(也称为公正响应)。验证者可以检查通过以随机性z(使用公共密钥pk)加密消息w获得的密文
Figure BDA0004156520060000252
是否等于/>
Figure BDA0004156520060000253
和/>
Figure BDA0004156520060000254
的乘积,其中第二项也表示为ce。密文/>
Figure BDA0004156520060000255
可以被称为中间结果或经加密的响应。这些运算中的线性度(在指数上)通过只让验证者发送n个随机质询以及证明者仅以在内部将各个ei,xi项相加的单个(w,z)进行响应来允许聚合n个证明。
我们还证明了协议的如下引理:设c1,...,cn是公钥pk下的Paillier密文。假设Paillier加密的安全性,图8中的协议Πptxt-knwldg是以下诚实验证者零知识知识证明:对于所有i,{(xi,ri)}i∈[n]s.t.ci=Plr.Enc(pk,xi;ri)。
图8示出了根据本公开的实施方案的用于批量证明明文知识的零知识(ZK)协议πptxt-knwldg。至于图6,值c1到cn是经加密的生物特征。密文中的每一个是利用随机项r对x值中的一个进行加密。如果人们知道r,就可以生成密文。双方具有密文,并且证明者想要证明他们知道明文x是什么,并且他们知道使用了什么随机性来加密它。
在步骤810,证明者P对随机值s进行采样。随机硬币u作为加密程序的一部分被隐式采样。括号用于表示密文。因此,明文s是用随机性u加密的。
在步骤820,验证者对随机质询向量e进行采样,并将其发送给证明者。你可以发送回对随机质询向量e的正确响应的仅有方式是在证明者知道明文的情况下。
在步骤830,证明者生成质询响应w和z。质询响应分别在x和r上聚合,并且因此整个生物特征向量x只需要两个值。如所示出那样,第一质询响应w等于s加上e的和x的总和。对于z,聚合是在re项的乘积上进行的。生成器g具有如示出那样定义的指数t。
这种聚合允许有效的协议,该协议允许以最少的额外工作或者没有附加轮来检查整个向量。并且聚合仍然保留安全性密钥保证。
随机值s用于对验证者隐藏x的值。并且随机硬币u用于隐藏r值的值。因此,s和u将掩蔽秘密值。
在步骤840中,验证者检查质询响应w和z与具有经加密的生物特征向量c的经加密的s(即
Figure BDA0004156520060000261
)和随机质询向量e一直。检查利用作为第二质询响应的随机性z加密第一质询响应w(被认为是要加密的值)。如果质询响应匹配,则验证者可以继续进行登记,例如,继续检查范数(如图5和图6中那样)或者继续经加密的生物特征的签名,例如在范数已经被验证的情况下。
V.打包
打包是允许设备压缩密文的优化,这可以允许更少通信并提高性能。打包可以允许将多个xi值输入到一个密文中。以下描述提供了打包的各种示例。
回想一下,Paillier是具有明文空间
Figure BDA0004156520060000262
的加法同态加密方案,其中p,q是大素数。p,q的典型大小是每个1024位,这意味着单个Paillier密文可以包含2048位的明文数据。那么安全性级别将类似于具有2048位密钥的RSA。然而,在一些应用中,明文值的大小非常小。例如,它可能仅是8位或16位。由于安全限制,我们不能使密文更小,因此分离地加密每个明文值导致巨大的通信开销。
在本章节中,我们将介绍用于Paillier加密的打包技术,其允许人们将几个明文(具有相对较小的大小)批量加密成一个单个密文,从而减少基本加密方案的通信开销。编码、解码、加法和乘法算法可以有效地实现这个任务。这些算法中的每一个可以应用于明文数据。关于打包的其他细节可在美国专利公开号16/664,530中找到,该美国专利以引用方式全部并入本文。
为了进行表示,让m表示要加密的每个明文值的以位为单位的大小。让n是要一起编码成一个密文的明文值的数量。让L表示每个密文的以位为单位的大小(其在Paillier的情况下是2048)。让d表示应用于每个明文值的填充的以位为单位的长度。我们将在本章节后面详细介绍关于d。我们还考虑用于编码的两个级别。在级别1,我们具有其中没有执行乘法运算的明文编码。我们可以将两级别1编码相乘以产生级别2编码。我们也将级别2编码称为超-编码。两个级别2编码不能相乘,但可以相加。这模拟了Paillier加密的线性同态。
A.算法、属性和用途
我们现在描述用于打包的算法及其属性。(m,n,L,d)打包方案可以包括以下算法。(λ是隐式输入)。
一些实施方案可以提供由(Encode1,Decode1)和(Encode2,Decode2)表示的编码/解码的两种方式。编码算法(Encode1和Encode2)将m位字符串u1,...,un取为输入。Encode1输出级别1编码u*,而Encode2输出级别2编码
Figure BDA0004156520060000271
(超-编码值)。编码是L位字符串。解码算法Decode1和Decode2,将L位字符取为输入,并且输出n数量的m位字符串。
一些实施方案可以提供两种加法算法,每种编码类型一种。Add1将两个级别1编码值u*,v*相加,以产生另一(级别1)值w*。Add2是相似的,但对级别2编码进行操作。
一些实施方案可以具有一个乘法算法Mult。它采用两个级别1编码u*,v*,并输出级别2编码
Figure BDA0004156520060000272
一些实施方案可以具有一个随机化算法Mask,其可以将一个级别2编码转换成另一级别2编码。
非正式地,正确性要求在任一级别下解码经编码的值必须产生与对基本明文值向量执行相对应的(按分量的)加法和乘法运算相同的输出。对于掩蔽程序,我们要求如下:对于任何
Figure BDA0004156520060000273
Figure BDA0004156520060000274
为了安全性起见,非正式地,我们要求由掩蔽算法的输出产生的分布在统计上与由模拟器产生的分布不可区分,该模拟器只被给予这个输出的解码。正式地,对于所有λ,存在PPT算法Sim,使得对于所有超-编码
Figure BDA0004156520060000275
以下两个系综在统计上是不可区分的:
Figure BDA0004156520060000276
使用Paillier中的打包,一些实施方案可以使用打包方案将多个明文一起“打包”成一个密文。特别地,实施方案可以将n条明文
Figure BDA0004156520060000277
打包在一起。我们将首先使用Encode1生成级别1编码u*。然后,我们加密u*以产生Paillier密文/>
Figure BDA0004156520060000278
如果加法是对密文执行的唯一运算,则基本编码保持处于级别1。比如说,在两个密文/>
Figure BDA0004156520060000279
和/>
Figure BDA00041565200600002710
一次相加之后,我们得到/>
Figure BDA00041565200600002711
根据正确性,我们具有/>
Figure BDA00041565200600002712
其中对于所有i∈[n],wi=ui+vi
对于与已知值相乘,乘积将产生级别2编码。特别地,为了将
Figure BDA00041565200600002713
乘以明文
Figure BDA00041565200600002714
人们需要首先将/>
Figure BDA00041565200600002715
编码成v*(即/>
Figure BDA00041565200600002716
),并且然后使用Paillier标量乘法来产生/>
Figure BDA00041565200600002717
使得/>
Figure BDA00041565200600002718
另外,出于安全性原因,我们需要在每次乘法后使用掩蔽算法来生成/>
Figure BDA00041565200600002719
其中/>
Figure BDA00041565200600002720
并且因此
Figure BDA00041565200600002721
正如安全性属性所确保的那样,被掩蔽的值除了其解码之外没有任何附加信息,所以现在在解码之前解密/>
Figure BDA00041565200600002722
是“安全的”。
关于线性程序,我们注意到某些操作是对密文同态执行的。由于Paillier加密只支持加法同态,我们需要确保这些程序是线性的,因为只需要将密文相加并将密文与明文相乘就可以同态地执行运算。展望未来,我们的构造确保所有过程Add1,Add2,Mult,Mask是线性的,并且可以在Paillier密文上得到支持。掩蔽算法可以对随机硬币进行采样。然而,这并不需要密文。实施方案可能只需要将随机硬币加到被加密的编码中,这可以使用加法同态来完成。
B.示例构造
图9示出了根据本公开的实施方案的打包方案的示例构造。下面是详细的概述。
1.级别1编码
考虑我们希望编码一起在并且随后加密成一个密文的n条明文
Figure BDA0004156520060000281
编码的简单方式是创建明文/>
Figure BDA0004156520060000282
Figure BDA0004156520060000283
其中在被编码的每个连续值对之间有d个空填充位。让k表示编码中每个块的大小,即k=(m+d)。
2.级别1加法
对于级别1加法,在给定两个这样的编码的值u*,v*的情况下,将它们直接相加得到它们的和的编码版本。也就是说,
Figure BDA0004156520060000284
只要d足够大以防止溢出。存在d个填充位是为了确保如果(ui+vi)≥2m,则这个溢出仍将存储在相同的块中(填充位内),而不会涌出到用于存储(ui+1+vi+1)的块中。在仅一个加法的情况下,d=1将足够了。类似地,将u*乘以单个值
Figure BDA0004156520060000285
也可以直接工作。也就是说,
Figure BDA0004156520060000286
一些实施方案可以确保d足够大,使得x·ui≤(2k-1)。在这种情况下,d=m就足够了。更一般地说,d必须足够大,以防止在执行这些运算的组合时溢出。我们将在后面详细说明d的选择。
3.乘法
将两个级别1编码分量相乘并不像上述操作那样直接工作。考虑这样的场景,其中您生成
Figure BDA0004156520060000287
的编码u*,并且然后希望将其分量与/>
Figure BDA0004156520060000288
的编码v*的相对应的分量相乘。展望未来,当一方加密u*并将其发送给希望在向量/>
Figure BDA0004156520060000289
和/>
Figure BDA00041565200600002810
之间执行同态乘法的另一方时,这种场景出现。例如,如果我们有n=2,那么
v*u*=20·k·v1u1+21·k·(v1u2+v2u1)+22·kv2u2.
因此,我们没有如所期望那样得到20·kv1u1+21·kv2u2。但是,观察到感兴趣的值(v1u1,v2u2)存储在结果中,只是其中v2u2在与输入编码中不同的块位置处。容易验证对于任何n,
v*u*=v1u1+2k(...)+22·k(...)+...+2(2n-2)·kvnun.
v1u1和vnun仍然可以从第一块和最后的块回收。然而,其它(...)块将不是纯的,即它们将与对于i≠j的形式uivi的乘积混合。
我们现在展示新的编码策略,其允许我们从v*u*的不同位置回收全部乘积viui。对于n=3,我们现在将u1,u2,u3编码为
u*=u1+2ku2+23·ku3
注意,位置2处的块(项22·k)被设置为零。如果我们将两个编码v*和u*相乘,我们得到:
v1u1+2k(v1u2+v2u1)+22·kv2u2+23·k(v1u3+v3u1)+24·k(v2u3+v3u2)+25·k(0)+26·kv3u3.
观察到现在可以从块位置0、2和6回收所期望的乘积。将这推广到任何任意的n,关键的想法是将每个ui,vi归纳地放置在块位置,使得乘积项uivi被放在没有任何其他乘积的块中。这是通过在块位置(2i-1-1)编码ui来实现的。为了更清楚,我们现在将u1,u2,...,un编码为
Figure BDA0004156520060000296
Figure BDA0004156520060000297
也就是说,
Figure BDA0004156520060000291
如果我们将两个这样的编码相乘,则位置0,2,6、...、(2n-2)处的块将具有所期望的按分量的乘积项。
在此,k表示每个块的大小,即k=(m+d)。我们必须选取足够大的d来确保没有块溢出。每个块包含最多n个项的总和,这些项中的每一个是两个m位值的乘积。因此,d=m+logn+1以便执行一个这样的按分量的乘法。
4.掩蔽
在以上乘法计算中,所得到的级别2编码
Figure BDA0004156520060000292
在清除中也具有交叉积项,诸如u1v2、v2u1等(或这些项的总和),这将在解码期间揭示,从而泄漏比仅按分量的乘法更多的信息。我们通过使用算法Mask来解决这个问题,该算法将超-编码/>
Figure BDA0004156520060000298
作为输入并将大小为(m+d+λ)位的均匀随机值加到可能具有交叉积项的块中的每一个中。在我们描述如何做到这一点的确切细节之前,首先要注意的是,为了考虑到这一点,当计算级别1编码时(稍后将其相乘以产生这个超-编码/>
Figure BDA0004156520060000293
),我们现在将每个块的大小增加λ位。也就是我们现在把k设为m+d+λ。
让I表示
Figure BDA0004156520060000294
中具有我们关心的值的块位置的集合。根据之前的乘法场景,这些将对应于/>
Figure BDA0004156520060000295
中的实际按分量的乘积。例如,I={0,2,6,...,(2n-2)}。(我们注意到更紧凑的打包是可能的,但是很难简洁地描述它们。)算法Mask将长度为k=m+d+λ的随机值加到不在I中的每个块。具体地说,在给定超-编码/>
Figure BDA0004156520060000301
Mask(·)进行以下内容:计算
Figure BDA0004156520060000302
其中ρj
Figure BDA0004156520060000303
中的均匀随机值。
为了确保在块中加ρi项不会破坏其他块中的值,我们要求该添加不会溢出给定块的(m+d+λ)位。回想一下,我们确保(m+d)足够大,可以容纳各项的和。因此,溢出的概率至多是ρi的最高有效λ位全部为1的概率,这是可忽略的。
观察到在例如涉及两个级别1编码的乘法随后是与其他超-编码的加法的一系列操作中,在对最终的超-编码进行解码之前,仅对其执行一次掩蔽就足够了。
5.级别2编码和加法
根据以上概述,级别2编码和加法自然如下:
Figure BDA0004156520060000304
Figure BDA0004156520060000305
6.参数的选择
在给定m和L(分别是每个值的大小和整体编码的大小)的情况下,我们需要通过确保(k·2n)≤L(其中k=(m+d+λ))来设置n和d的值(分别是可以打包在一起的元素的数量和填充的长度)。d的选择取决于所执行的操作。
在本公开的其余部分中,为了便于说明,我们使用常规的“+”、“·”符号来调用关于编码的算法Add1,Add2,Mult。我们参考上标有星号的级别1编码(如u*中),以及带波浪号的超-编码(如
Figure BDA0004156520060000306
中)。
VI.示例协议1-所有方半诚实
在本章节中,我们基于由Paillier[26]进行的加性同态加密方案构建了具有三轮匹配阶段的安全生物特征认证协议,该方案基于判定性合数剩余假设。我们的构造针对破坏设备或联合破坏服务提供商和终端半诚实的对手是安全的。在匹配阶段结束时,设备和终端向量之间的内积泄漏到设备。协议I在登记阶段不使用范数检查,因为各方被假定是诚实的。协议I确实执行公钥是良构的检查,
在章节X.B中,正式地,我们证明了以下定理:
定理1假设Paillier加密的安全性,图10中的Π1是三轮生物特征认证协议,其针对具确
Figure BDA0004156520060000311
和/>
Figure BDA0004156520060000312
的任何半诚实对手是安全的。
对于构造,让(Plr.Setup,Plr.Enc,Plr.Add,Plr.Dec)表示Paillier加密方案,并且(Encode1,Encode2,Add1,Add2,Mult,Mask,Decode1,Decode2)表示章节V中描述的(m,n,L,d)打包方案。我们描述的图10中的我们的三轮安全协议的构造。
在登记阶段,设备
Figure BDA0004156520060000313
对其输入向量/>
Figure BDA0004156520060000314
进行编码,以产生/>
Figure BDA0004156520060000315
个编码/>
Figure BDA0004156520060000316
它使用Paillier加密方案对这些编码进行加密,并向服务提供商/>
Figure BDA0004156520060000317
发送密文/>
Figure BDA0004156520060000318
因为我们只考虑半诚实对手,保证/>
Figure BDA0004156520060000319
Figure BDA00041565200600003110
确实是良构的并且具有为1的L2范数。
匹配阶段从
Figure BDA00041565200600003111
向终端/>
Figure BDA00041565200600003112
发送相同的密文/>
Figure BDA00041565200600003113
开始。/>
Figure BDA00041565200600003114
编码其输入向量/>
Figure BDA00041565200600003115
以产生编码/>
Figure BDA00041565200600003116
然后,对于每个i∈[t],/>
Figure BDA00041565200600003117
同态地乘以编码/>
Figure BDA00041565200600003118
以产生乘积的级别2编码。然后,它将所有这些密文同态相加,以产生内积/>
Figure BDA00041565200600003119
的级别2编码的加密
Figure BDA00041565200600003120
为了确保级别2编码/>
Figure BDA00041565200600003121
不会泄漏任何附加信息,我们依赖于掩蔽算法的安全性:/>
Figure BDA00041565200600003122
同态掩蔽/>
Figure BDA00041565200600003123
并发送/>
Figure BDA00041565200600003124
注意,掩蔽程序可以同态地执行:基本随机性在外部采样,并且然后可以同态相加。/>
Figure BDA00041565200600003125
然后可以解密这个密文并解码所得到的超-编码以学习IP。然后检查是否IP>T以学习与/>
Figure BDA00041565200600003126
共享的输出。观察到这个协议将IP泄漏到/>
Figure BDA00041565200600003127
在上面的协议中存在微妙的问题。回想一下,虽然掩蔽方案的安全性防止解码泄漏关于叉积项的信息,但
Figure BDA00041565200600003128
最终仍在执行解码时学习IP的每个按分量的项(ui·wi),而不仅仅是内积。为了防止这种情况,/>
Figure BDA00041565200600003129
加了0的秘密共享,即以∑i∈[n] ρi=0的方式向每个分量添加随机值ρi。因此,被解码的每一项看起来仍然是均匀随机的,而它们总计为IP。我们将正式证明推迟到章节X.B。
我们现在简要地讨论用于打包的参数的选择。回想一下章节V,我们需要基于k.2n≤L的约束来选取要编码的值n的数量,其中L是一个Paillier密文的长度,k=(m+d+λ),以及m是初始编码的每个特征ui,wi的长度。在这个协议中,使用任何编码
Figure BDA00041565200600003130
或/>
Figure BDA00041565200600003131
我们执行一个编码与另一编码的乘法随后是与这些编码的(t-1)个加法。所以,d应该是(m+logn+logt+2)。因此,我们需要满足/>
Figure BDA00041565200600003132
Figure BDA00041565200600003133
的约束来确定将多少个元素n打包在一起。这取决于我们考虑的/>
Figure BDA00041565200600003134
的具体值,并且我们参考章节IX以获得关于选择和实施结果的更多详细。
VII.示例协议2-恶意设备
在这个章节中,我们构建了具有四轮匹配阶段的安全生物特征认证协议。我们的协议基于数字签名、Paillier加密[26]和诚实验证者零知识证明。协议2可以使用打包。我们在登记阶段使用与加密方案相关的三种特定语言的证明:(i)证明公钥是正确生成的;(ii)在给定一组密文的情况下批量证明明文的知识;(iii)在给定对其进行加密的一组密文的情况下证明向量的L2范数的知识。我们在章节IV中描述这些零知识证明。它们基于Paillier加密方案的安全性。在匹配阶段结束时,设备和终端向量之间的内积泄露给终端。正式地,我们证明以下定理:
定理2假设Paillier加密和数字签名的安全性,图11中的Π2是四轮生物特征认证协议,其针对可以恶意破坏设备或以半诚实的方式与
Figure BDA0004156520060000321
和/>
Figure BDA0004156520060000322
联合破坏终端和机构的任何对手是安全的。
Paillier加密是基于判定性合数剩余(decisional composite residuosity,DCR)假设,而数字签名可以基于任何单向函数(其由DCR暗示的)。我们参考章节X.C以获得定理2的正式安全性证明。
对于构造,让(Gen,Sign,Verify)作为签名方案。让
Figure BDA00041565200600003238
表示内积
Figure BDA0004156520060000323
的最大可能值,其中/>
Figure BDA0004156520060000324
分别是设备和终端的生物特征输入向量,具有范数1。
与前面的协议不同,在此,被破坏的
Figure BDA0004156520060000325
可能恶意地行动。在登记阶段,/>
Figure BDA0004156520060000326
发送其输入向量/>
Figure BDA0004156520060000327
的加密/>
Figure BDA0004156520060000328
而不对它们进行编码。使用零知识协议,/>
Figure BDA0004156520060000329
还证明了这些密文是诚实生成的并且/>
Figure BDA00041565200600003210
的L2范数是1。如果证明验证成功,/>
Figure BDA00041565200600003211
现在将这些转换为编码的加密/>
Figure BDA00041565200600003212
并将其与签名一起发送到/>
Figure BDA00041565200600003213
在第一轮中通过发送这些密文
Figure BDA00041565200600003214
以及签名来/>
Figure BDA00041565200600003215
发起匹配阶段。/>
Figure BDA00041565200600003216
验证签名,以确保基本向量/>
Figure BDA00041565200600003217
确实在更早的时候登记。如前面那样,/>
Figure BDA00041565200600003218
编码其输入向量/>
Figure BDA00041565200600003239
以产生编码/>
Figure BDA00041565200600003219
与之前的协议不同,由于我们不想将内积/>
Figure BDA00041565200600003220
泄露给/>
Figure BDA00041565200600003221
因此/>
Figure BDA00041565200600003222
不计算/>
Figure BDA00041565200600003223
其中/>
Figure BDA00041565200600003224
是IP的级别2编码。相反,/>
Figure BDA00041565200600003225
现在是(a·IP+b)的编码,其中a和b是随机值。如前面那样,在第二轮中,/>
Figure BDA00041565200600003226
在掩蔽之前加随机的ρi个值并发送/>
Figure BDA00041565200600003227
在第三轮中,/>
Figure BDA00041565200600003228
可以回收被发送回到/>
Figure BDA00041565200600003229
的(a·IP+b)。这允许/>
Figure BDA00041565200600003230
学习IP,因为它知道(a,b)。然后,它在最后轮中检查是否IP>T以学习与/>
Figure BDA00041565200600003231
共享的输出。观察到这个协议将IP泄漏到/>
Figure BDA00041565200600003232
我们现在讨论如何防止恶意
Figure BDA00041565200600003233
在第三轮作弊。假设它发送X′≠(aIP+b)。我们修改
Figure BDA00041565200600003234
的策略如下:让/>
Figure BDA00041565200600003235
如果IP′大于内积的最大可能值IPMax,则输出⊥(对于任意两个范数-ζ向量/>
Figure BDA00041565200600003236
)。由于(a,b)是均匀随机的、具有压倒性的概率,作弊的/>
Figure BDA00041565200600003237
将无法选取具有以下条件中的两者的X′≠(aIP+b):(i)IP′<IPMax(ii)(a)IP≤R且IP′>T(OR)(ii)(b)IP′≤T且IP>T。
至于参数选择,使用任何编码
Figure BDA0004156520060000331
或/>
Figure BDA0004156520060000332
我们首先执行一个编码与另一编码的乘法,与长度λ的常数a的乘法、接着是这些编码的(t-1)个加法,以及然后将其加到b的级别2编码。所以,d应该是(m+logn+logt+λ+3)。因此,我们需要满足
Figure BDA0004156520060000333
的约束来确定将多少个元素n打包在一起。
VIII.示例协议3-恶意设备和无泄漏
在这个章节中,我们构建了具有五轮匹配阶段的安全生物特征认证协议。我们的协议基于数字签名、混淆电路、双消息不经意传输(OT)、Paillier加密[26]和诚实验证者零知识证明。我们使用了与加密方案相关的特定语言的证明,如在章节VII中那样。协议不会向任何一方泄露额外信息。正式地,我们证明以下定理:
定理3假设Paillier加密、数字签名、混淆电路和双消息不经意传输的安全性,图12中的Π3是五轮生物认证协议,其针对可以恶意破坏设备或以半诚实的方式联合破坏终端和授权而不会泄漏给任伺一方的任伺对手是安全的。
Paillier加密和两个消息OT(在CRS或随机oracle模型中)可以基于DCR假设来实例化,而数字签名和混淆电路可以基于任何单向函数(其由DCR暗示)。我们参考章节第X.D以获得正式安全性证明。
对于这种构造,让(Garble,Eval)表示电路的混淆方案,并且(OT.Round1、OT.Round2、OT.Output)是双消息不经意传输协议。我们在图12中描述了我们的五轮协议。
我们在先前协议的基础上构建,以附加确保内积IP不会泄露给终端
Figure BDA0004156520060000334
回想一下先前的协议,值X=(aIP+b)由/>
Figure BDA0004156520060000335
直接发送到/>
Figure BDA0004156520060000336
这允许/>
Figure BDA0004156520060000337
回收IP并将其与阈值进行比较。在此,替代性地,我们在混淆电路中执行这个比较。这么做的一种方法是/>
Figure BDA0004156520060000338
生成混淆电路,/>
Figure BDA0004156520060000339
可以使用输入X评估该混淆电路。电路将在内部计算IP=(X-b)/a。然而,在混淆电路内部执行除法不是非常有效。为了构建更有效的协议,我们可以这样做:在第二轮中,/>
Figure BDA00041565200600003310
发送对X=IP和Y=(a·IP+b)的(超-编码)加密。/>
Figure BDA00041565200600003311
可以回收并将两者作为输入馈送到混淆电路,使得它只执行一次乘法来检查Y=(a·X+b)。
虽然(a,b)的随机选择再次确保恶意
Figure BDA00041565200600003312
无法通过向电路提供错误输入(X,Y)来作弊,但注意,我们现在将X=IP泄漏到/>
Figure BDA00041565200600003313
为了解决这个问题,/>
Figure BDA00041565200600003314
通过一次一密加密IP以生成X=(IP+pad),从而对/>
Figure BDA00041565200600003315
隐藏IP。也就是说,/>
Figure BDA00041565200600003316
现在接收X=(IP+pad)和Y=(a·IP+b)的超-编码的加密、以及对应于输入(pad,a,b)的标签。电路首先移除一次一密以回收IP,并且然后如以前那样检查Y=(a·IP+b)。我们使用不经意传输(OT)来实现/>
Figure BDA0004156520060000341
以获得标签,从而评估混淆电路。登记阶段与先前的协议相同,唯一补充是/>
Figure BDA0004156520060000342
还运行OT协议的设置。
对用于打包的参数的选择的分析几乎与章节VII中的分析相同。
IX.实施结果
我们实施我们的协议并报告它们的性能。该实施方式是以C++编写的,并且利用GMP库进行Paillier运算和Chou和Orlandi[13]的不经意传输实施方式。
所有评估在具有i5-8365U处理器和16GB的内存的单个商用笔记本电脑上执行。所有网络流量通过本地主机路由、在10Gbps网卡上具有所测量的0.2毫秒的延迟。为了考虑到网络延迟和带宽限制,需要加入附加运行时间。Paillier方案使用类似于3072位RSA的安全性级别实施,其被估为实现112位的计算安全性。在相关的情况下,我们使用40位的统计安全性参数。
我们考虑各种模板长度
Figure BDA00041565200600003412
与每个模板元素的不同位长度m∈{8,16,24}组合,即模板是/>
Figure BDA0004156520060000343
中的元素。我们注意到,这个位长具有输入大小,而内积本身可以具有位长/>
Figure BDA00041565200600003413
我们考虑如上所呈现的三个协议Π1(图10)、Π2(图11)、Π3(图12),其中用于Π2,Π3的登记阶段被分离为Πen
图15中的Π1-Enc表示
Figure BDA0004156520060000344
为Π1(登记阶段)本地生成模板的加密的时间,一次性操作。下一列中的Π1表示执行Π1的匹配阶段的时间。我们假设终端/>
Figure BDA0004156520060000345
拥有呈模板形式的测量。如可以看出那样,这个阶段比一次性登记阶段显著更快。例如,利用/>
Figure BDA00041565200600003414
m=16加密模板需要0.6秒,而匹配阶段需要0.024秒。这是因为Paillier加密需要计算较大指数rNmod N2,其中N在我们的用例中是3072位。相比之下,解密和同态运算相对有效。在设计我们的协议时,这是为什么/>
Figure BDA0004156520060000346
总是加密他们的长期模板,而不是让/>
Figure BDA00041565200600003417
利用自己的Paillier密钥加密每个测量的原因中的一个。此外,我们发现使用SphereFace[24]简单地生成明文模板比Π1需要更多的时间。
如图14所见,Π1具有非常低的通信开销。Π1的m1列表示
Figure BDA0004156520060000347
发送给终端的第一消息的以字节为单位的大小。例如,对于/>
Figure BDA00041565200600003415
m=16,这个消息具有为16KB的大小。对于这组参数,我们实现了8×的填充因子。也就是说,在没有我们的打包技术的情况下,经加密的模板将是128KB。我们的协议的重要属性是,在执行与同一/>
Figure BDA0004156520060000348
的几个比较的情况下,这个消息可以被重用。/>
Figure BDA0004156520060000349
接收第一消息后,每个后续的Π1会话只需要/>
Figure BDA00041565200600003410
发送516个字节,而不管/>
Figure BDA00041565200600003416
m如何。
接下来,我们考虑可能是恶意的
Figure BDA00041565200600003411
登记新的模板的开销(对于Π2和Π3是常见的)。我们以两个部分报告这个协议的运行时间。Πen-Enc是/>
Figure BDA0004156520060000351
对其模板进行本地加密的时间,而Πen是运行登记协议(的其余部分)所需的时间,该协议包含模板是良构的几个零知识证明。如从图15中可以看出的那样,简单地加密模板(其中每个密文一个元素)需要大约登记协议的其余部分的一半时间。这表明我们定制设计的零知识协议是非常有效的。例如,在
Figure BDA00041565200600003518
m=16的情况下,加密模板需要2.2秒,而协议需要5.0秒。我们注意到这个协议可以很容易地被并行化,但是我们没有考虑这种优化。虽然登记协议需要不可忽略的时间量,但是这个协议只需在设置阶段期间执行一次,并且因此非常实用。这个协议的通信开销在图14中示出,并且取决于/>
Figure BDA00041565200600003519
m,需要0.2和1MB之间的总通信。
对于Π2的匹配阶段,我们观察到非常实用的性能。在
Figure BDA00041565200600003517
m=16的情况下Π2的运行时间仅0.05秒。该协议包括三个消息,其中/>
Figure BDA00041565200600003521
发送可以被重用的第一消息。对于/>
Figure BDA00041565200600003520
m=16,第一消息具有27KB的大小,而接下来每会话消息分别具有大小516和260字节。对于这些参数,我们实现了6×的打包因子,从而将第一消息大小从162KB减小了。而且,当我们考虑到其中第一消息被重用的分摊设置时,这个协议每个认证只需要0.8KB。
最后,我们考虑加强Π2使得内积不会被揭示给
Figure BDA00041565200600003526
的协议Π3。这利用添加更多的Paillier运算和较小的混淆电路评估来实现。就运行时间而言,我们观察到该协议需要0.12秒用于/>
Figure BDA00041565200600003522
m=16,其中大部分时间被花费进行Paillier运算。与Π2相比的Π3的主要开销是由发送混淆电路导致的增加的通信开销。对于/>
Figure BDA00041565200600003523
m=16,我们观察到与Π2的28KB相比的142KB的总通信。在第一消息被多次重用的分摊设置中,这种差异变得更加明显。在这种情况下,与Π2的0.8KB相比,Π3需要116KB。然而,在给定142KB对于现代设备来说是非常小的通信量的情况下,我们认为Π3实现了非常实际的开销。例如,4G无线网络可以发送高达100Mbps,而新的5G网络将能够发送高达10Gbps。替代性地,诸如AndroidNearby的局域网能够提供相当高吞吐量的通信信道。
Figure BDA0004156520060000352
的带宽极度受限的情况下,我们观察到大部分通信开销可以在/>
Figure BDA0004156520060000353
的帮助下进行预处理。特别地,使用众所周知的技术/>
Figure BDA0004156520060000354
可以生成混淆电路,并将其发送到/>
Figure BDA0004156520060000355
同时对随机输入执行OT(扩展)协议。在联机阶段期间,/>
Figure BDA0004156520060000356
可以指示/>
Figure BDA0004156520060000357
发送/>
Figure BDA0004156520060000358
来自预处理的混淆电路种子和OT消息。/>
Figure BDA0004156520060000359
也可以发送/>
Figure BDA00041565200600003510
的经加密的模板。然后,/>
Figure BDA00041565200600003511
和/>
Figure BDA00041565200600003512
可以去随机化OT并完成方案。这将导致Π3需要在/>
Figure BDA00041565200600003513
和/>
Figure BDA00041565200600003514
之间的大约2(2m+log2n+λ)κ位的通信。对于/>
Figure BDA00041565200600003524
Figure BDA00041565200600003525
m=16,这将导致大约20KB的在线通信。将该样本思想应用于Π1和Π2导致不需要/>
Figure BDA00041565200600003515
发送第一消息,因为/>
Figure BDA00041565200600003516
将代表她发送该消息。很容易示出了这实现了相同的安全性级别,因为我们已经假设/>
Figure BDA0004156520060000361
和/>
Figure BDA0004156520060000362
可以共谋并且两者是半诚实的。
人们也可以考虑使用基于LWE的加法同态加密来实施我们的协议。这些方案通常支持将几个值打包成密文,使得该密文可以作为元素向量来操作。然而,我们的Paillier选择导致较少的通信,而这是关键性能指标。出于安全性考虑,LWE密文通常必须较大。例如,在具有n=256和m=16位的特征的向量长度的情况下,协议Π1的所得到的通信大约是17KB,而使用LWE实施的通信产生96K。然而,我们确实注意到与我们的协议需要45毫秒相比,LWE解决方案的运行时间更快、仅在10毫秒。正在讨论的LWE参数还支持高达n=2048个长度向量,而没有增加的开销。这意味着如果输入向量具有足够的长度,那么LWE方法可以给出更好的通信和运行时间。我们方法的最后的优点是Paillier更容易转换成恶意设置。LWE密文的ZK证明增加了附加开销,这可能影响Π2,Π3的实用性。我们将LWE和Paillier的更详细的比较放在我们未来工作的协议的上下文中。
X.示例密码基元和证明
在这个章节中,我们正式定义了我们使用的基元和证明中的一些。
A.基元
1.Paillier加密
由Paillier[26](Plr.Setup,Plr.Enc,Plr.Add,Plr.Dec)进行的加法同态加密方案满足以下正确性和安全性属性。我们参考[26]以获得证明。
为了正确性起见,对于任何(epk,esk)←Plr.Setup(λ):
1)对于任何消息x,我们具有压倒性的大概率
Plr.Dec(esk,Plr.Enc(epk,x))=x.
2)对于在对于b∈{0,1},
Figure BDA0004156520060000363
的情况下的任意两个消息x0和x1,我们有
Figure BDA0004156520060000364
为了语义安全,对于所有PPT算法
Figure BDA0004156520060000365
和任意两个消息x0和x1,我们有
Figure BDA0004156520060000366
其中对于b∈{0,1},(epk,esk)=Plr.Setup(λ)和
Figure BDA0004156520060000367
Figure BDA0004156520060000368
而且,对于语义安全,非正式地,电路隐私要求由一组同态运算生成的密文除了该电路的输出值之外,即使对于生成公钥和私钥的对手,也不揭示关于它评估的(线性)电路的任何信息。我们参考[12]以获得正式定义,并注意到这个属性很容易通过Paillier加密方案实现。
2.零知识证明
证明者P和验证者V之间的用于决定语言L的交互协议是诚实验证者零知识知识证明协议,如果它满足以下属性的话。下面,我们将<P(·),V(·)>定义为V(·)在协议执行结束时的输出。
为了完整性,对于每个安全性参数
Figure BDA0004156520060000371
和任何(x,w)∈RL
Pr[<P(x,w),V(x)>=1]=1-negl(λ).
其中概率在P和V的随机性上。
为了可靠性,对于任何PPT欺骗证明者P*,它认为如果
Figure BDA0004156520060000372
那么
Pr[<P*(x*),V(x*)>=1]=negl(λ).
其中概率在V的随机硬币上。
对于证明知识,对于任何PPT欺骗证明者P*,存在PPT提取器ZK.Ext,使得对于所有x:
Figure BDA0004156520060000373
Figure BDA0004156520060000374
其中概率在V和ZK.Ext的随机硬币上。
对于零知识,对于任何(半)诚实的验证者V*,存在PPT模拟器Sim,使得对于所有x∈L:当在输入(x,w)上与诚实证明者P交互时V*的视图与其当在输入x上与Sim单独交互时的视图在计算方面不可区分。
3.数字签名
数字签名方案包括以下三种算法(Gen,Sign,Verify)。对于Gen(1λ)→(sk,vk),这是随机化算法,其将安全性参数λ取为输入,并生成验证密钥vk和签名密钥sk。对于Sign(sk,m)=:σ。随机化算法,该随机化算法采用消息m和签名密钥sk作为输入并输出签名σ。对于Verify(vk,(m,σ))=:1/0。确定性算法,该确定性算法将验证密钥vk和候选消息签名对(m,σ)作为输入,并且对于有效签名,输出1,否则输出0。
应满足以下正确性和安全性属性。为了正确,对于所有
Figure BDA0004156520060000375
所有(vk,sk)←Gen(1λ)、任何消息m,Verify(vk,m,Sign(sk,m))=1。对于不可伪造性,如果对于任何PPT对手
Figure BDA0004156520060000376
下面的游戏以可忽略的概率(在安全性参数中)输出1,则签名方案是不可伪造的。为了初始化,运行(vk,sk)←Gen(1λ)。将vk给予/>
Figure BDA0004156520060000377
发起列表/>
Figure BDA0004156520060000378
对于签名查询,关于查询m,返回σ←Sign(sk,m)。运行这个步骤如/>
Figure BDA0004156520060000379
期望多的次数。然后,将m插入到列表L中。对于输出,从/>
Figure BDA00041565200600003710
接收输出/>
Figure BDA00041565200600003711
当且仅当/>
Figure BDA00041565200600003712
和/>
Figure BDA00041565200600003713
时返回1,否则返回0。
4.双消息不经意传输
双消息不经意传输(OT)协议是定义如下的元组(OT.Round1、OT.Round2、OT.Output)。对于OT.Round1(β),PPT算法,其在给定位β∈{0,1}的情况下输出消息m1和秘密状态st。对于OT.Round2((μ0,μ1),m1),PPT算法,其在给定一对字符串(μ0,μ1)∈{0,1}和消息m1的情况下输出消息m2。对于OT.Output(st,β,m2),确定性算法,其在给定秘密状态st、位β∈{0,1}和消息m2的情况下输出字符串μ′∈{0,1}λ
可以满足以下正确性和安全性属性。为了正确,对于任意
Figure BDA0004156520060000381
任意位β∈{0,1}、任意对字符串(μ0,μ1)∈{0,1}:让(m1,st)=OT.Round1(β),m2=OT.Round2((μ0,μ1),msg1),μ′=OT.Output(st,β,m2)。在λ中,我们以压倒性的大概率具有μ′=μβ。对于接收者隐私,对于任伺/>
Figure BDA0004156520060000382
对于任何PPT对手/>
Figure BDA0004156520060000383
我们有
Figure BDA0004156520060000384
其中概率定义在OT.Round1算法的随机硬币上。对于发送者隐私,对于任何/>
Figure BDA0004156520060000385
任何β∈{0,1}、任何(μ0,μ1)∈{0,1}、任何PPT对手/>
Figure BDA0004156520060000386
存在PPT模拟器OT.Round2.Sim,使得以下成立:让
Figure BDA0004156520060000387
Figure BDA0004156520060000388
其中m2=OT.Round2((μ0,μ1),m1),
Figure BDA0004156520060000389
协议可以在CRS模型中(在这种情况下,我们也会具有算法OT.Setup(·)来生成CRS),也可以在随机oracle模型中。
5.混淆电路
用于具有n位输入的一类电路
Figure BDA00041565200600003810
的混淆方案包括以下多项式时间算法。对于
Figure BDA00041565200600003811
概率算法,其将电路/>
Figure BDA00041565200600003812
取为输入并且输出混淆电路/>
Figure BDA00041565200600003813
和一组标签
Figure BDA00041565200600003814
对于/>
Figure BDA00041565200600003815
Figure BDA00041565200600003816
确定性算法,其将字符串(x1,...,xn)∈{0,1}n、一组标签/>
Figure BDA00041565200600003817
和混淆电路/>
Figure BDA00041565200600003818
取为输入并输出位y∈{0,1}。
可以满足以下正确性和安全性属性。为了正确性,对于任何电路
Figure BDA00041565200600003819
Figure BDA00041565200600003820
任何字符串(x1,...,xn)∈{0,1}n,让/>
Figure BDA00041565200600003821
我们有
Figure BDA00041565200600003822
对于安全性,存在PPT算法Garble.Sim(·),使得对于任何电路/>
Figure BDA00041565200600003823
任何字符串(x1,...,xn)∈{0,1}n,系综/>
Figure BDA00041565200600003824
Figure BDA00041565200600003825
在计算上是不可区分的,其中/>
Figure BDA00041565200600003826
B.协议1:证据
1.破坏设备
考虑半诚实对手
Figure BDA00041565200600003827
其破坏了设备/>
Figure BDA00041565200600003828
我们现在描述模拟器Sim。让Mask.Sim表示用于打包方案的模拟器。在登记阶段,在该阶段开始之前,Sim获得作为输入的
Figure BDA00041565200600003829
——对抗设备的输入向量。在从/>
Figure BDA00041565200600003830
接收/>
Figure BDA00041565200600003831
时,Sim发送消息“已登记”。
在匹配阶段,在该阶段开始之前,Sim从理想函数性获得输出位y和泄漏Ldev(·)=IP。Sim执行以下内容:
·第1轮:从
Figure BDA0004156520060000391
接收/>
Figure BDA0004156520060000392
·第2轮:
1)选取n个随机字符串IP1,...,IPn,使得(IP1+...+IPn)=IP。
2)计算并向
Figure BDA0004156520060000393
发送/>
Figure BDA0004156520060000394
我们示出了通过一系列计算上不可区分的混合以上模拟策略是成功的,其中第一混合Hyb0对应于真实世界,以及最后的混合Hyb2对应于理想世界。
Hyb0:真实世界。在这个混合中,考虑扮演如真实世界中的诚实服务提供商和终端的角色的模拟器SimHyb。
yb1:切换密文。在这个混合中,SimHyb如下运行匹配阶段:选取n个随机字符串IP1,...,IPn使得(IP1+...+IPn)=IP;使用算法Plr.Enc计算
Figure BDA00041565200600003923
其中
Figure BDA0004156520060000395
选取n个随机字符串ρ1,...,ρn,使得(ρ1+...+ρn)=0和
Figure BDA0004156520060000396
让/>
Figure BDA0004156520060000397
计算并向/>
Figure BDA0004156520060000398
发送/>
Figure BDA0004156520060000399
Hyb2:掩蔽模拟器。在这个混合中,SimHyb运行打包方案的模拟器Mask.Sim来计算第2轮中的
Figure BDA00041565200600003910
而不是运行诚实掩蔽算法。这种混合对应于理想世界。
我们现在显示每对连续的混合在计算上是不可区分的。引理3:假设Paillier加密的电路隐私,Hyb0与Hyb1在计算上不可区分。
证明。两个世界中的对手的视图的唯一区别是计算密文
Figure BDA00041565200600003911
的方式。在真实世界中,/>
Figure BDA00041565200600003925
通过使用其输入向量/>
Figure BDA00041565200600003912
执行同态运算来计算/>
Figure BDA00041565200600003913
而在理想世界中,Sim使用随机(IP1,...,IPn),使得(IP1+...+IPn)=IP并设置/>
Figure BDA00041565200600003914
Figure BDA00041565200600003915
因为ρi个值加全部加起来直到0,所以观察到在这两种情况下,/>
Figure BDA00041565200600003916
产生元组(IP1,...,IPn),使得/>
Figure BDA00041565200600003917
因此,如果存在能够以不可忽略的概率在两个世界之间进行区分的对手/>
Figure BDA00041565200600003918
我们可以设计可以打破Paillier加密方案的电路隐私的归约/>
Figure BDA00041565200600003919
这是矛盾。
引理4假设打包方案的安全性,Hyb1与Hyb2在统计上不可区分。证明。这两种混合的唯一区别在于,在Hyb1中,SimHyb通过同态评估诚实掩蔽算法Mask来计算密文
Figure BDA00041565200600003920
而在Hyb2中,SimHyb通过模拟器Mask.Sim同态计算编码输出。我们注意到操作(在对随机性采样之后)可以使用Paillier加密来同态地执行。因此,从打包方案的安全性属性来看,这两种混合在统计上不可区分。
2.破坏提供商、终端
考虑半诚实对手
Figure BDA00041565200600003924
其联合破坏服务提供商/>
Figure BDA00041565200600003921
和终端/>
Figure BDA00041565200600003922
我们现在描述模拟器Sim。在登记阶段,Sim随机地均匀设置向量/>
Figure BDA0004156520060000401
并在登记阶段与/>
Figure BDA0004156520060000402
交互,如由
Figure BDA0004156520060000403
在真实世界中所做的那样。也就是说:
1.将
Figure BDA0004156520060000404
计算为/>
Figure BDA0004156520060000405
的编码。
2.计算(esk,epk)←Plr.Setup(1λ)。
Figure BDA0004156520060000406
计算/>
Figure BDA0004156520060000407
Figure BDA0004156520060000408
3.向
Figure BDA0004156520060000409
发送/>
Figure BDA00041565200600004010
在匹配阶段,在该阶段开始之前,Sim得到输入
Figure BDA00041565200600004011
其中/>
Figure BDA00041565200600004012
是/>
Figure BDA00041565200600004013
的输入,ρ是
Figure BDA00041565200600004014
的随机性,y是输出位。Sim执行以下内容:第1轮:向/>
Figure BDA00041565200600004015
发送/>
Figure BDA00041565200600004016
第2轮:从
Figure BDA00041565200600004017
接收/>
Figure BDA00041565200600004018
第3轮:向/>
Figure BDA00041565200600004019
发送位y。
我们现在显示以上模拟策略是成功的。引理5:假设Paillier加密的语义安全性,真实世界与理想世界在计算上不可区分。证明。观察到两个世界之间唯一的区别是计算密文
Figure BDA00041565200600004020
的方式。在真实世界中,/>
Figure BDA00041565200600004021
使用其输入向量/>
Figure BDA00041565200600004022
来计算它们,而在理想世界中,Sim将它们作为均匀随机向量的加密来计算。对手/>
Figure BDA00041565200600004023
只得到公钥epk,并且不了解加密方案的私钥esk。因此,如果存在能够以不可忽略的概率在两个世界之间进行区分的对手/>
Figure BDA00041565200600004024
我们可以设计可以打破Paillier加密方案的语义安全性的归约/>
Figure BDA00041565200600004025
这是矛盾。
C.协议2:证据
1.破坏设备
考虑破坏设备
Figure BDA00041565200600004026
的恶意对手/>
Figure BDA00041565200600004027
我们现在描述模拟器Sim。让ZK.Ext表示用于零知识协议Πptxt-knwldg的提取器。让Mask.Sim表示用于打包方案的模拟器。
在登记阶段,Sim执行以下内容。
·从
Figure BDA00041565200600004028
接收/>
Figure BDA00041565200600004029
·运行零知识协议Πepkptxt-knwldg和Πzk-L2作为具有
Figure BDA00041565200600004030
的验证者、作为具有用于第一证明的语句epk和用于接下来两个证明的语句/>
Figure BDA00041565200600004031
Figure BDA00041565200600004032
的证明者。而且,在协议Πptxt-knwldg上运行提取器ZK.Ext,以提取证据/>
Figure BDA00041565200600004033
·如果证明失败或提取器ZK.Ext失败,向
Figure BDA00041565200600004034
发送消息``Failed"并作为具有大于1的范数的向量的登记的一部分查询理想函数性/>
Figure BDA00041565200600004035
从而指示它向诚实服务提供者递送消息``Failed"。
·否则,进行以下内容:
(a)生成(sk,vk)←Gen(1λ)。
(b)使用Plr.Add(·)计算
Figure BDA00041565200600004036
其中/>
Figure BDA00041565200600004037
是/>
Figure BDA00041565200600004038
Figure BDA00041565200600004039
的级别1编码。
(c)向
Figure BDA00041565200600004040
发送/>
Figure BDA00041565200600004041
/>
(d)作为具有从ZK.Ext提取的向量
Figure BDA0004156520060000411
的登记的一部分查询理想函数性/>
Figure BDA0004156520060000412
在匹配阶段,Sim可以执行以下内容。
·来自理想函数性的输出
Figure BDA0004156520060000413
利用匹配阶段的新的子会话查询/>
Figure BDA0004156520060000414
以接收输出位y。
·第1轮:从
Figure BDA0004156520060000415
接收/>
Figure BDA0004156520060000416
·第2轮:
(a)如果
Figure BDA0004156520060000417
则输出⊥。
(b)如果
Figure BDA0004156520060000418
Figure BDA0004156520060000419
不是在登记阶段发送给/>
Figure BDA00041565200600004110
的元组,则输出“特殊中止”。
(c)选取满足以下内容的随机值:如果y=0,IP<T,以及如果y=1,T≤IP≤IPMax
(d)选取随机字符串
Figure BDA00041565200600004111
(e)选取n个随机字符串X1,...,Xn,使得(X1+...+Xn)=(a·IP+b)。
(f)计算并向
Figure BDA00041565200600004112
发送/>
Figure BDA00041565200600004113
·第3轮:从
Figure BDA00041565200600004114
接收X。
·第4轮:
(a)设置
Figure BDA00041565200600004115
(b)如果IPMax<IP′,指示
Figure BDA00041565200600004116
向诚实终端输出⊥。
(c)如果T≤IP≤IPMax,向
Figure BDA00041565200600004117
发送1。否则,发送0。指示/>
Figure BDA00041565200600004118
向诚实终端递送输出。
我们示出了通过一系列计算上不可区分的混合以上模拟策略是成功的,其中第一混合Hyb0对应于真实世界,以及最后的混合Hyb5对应于理想世界。
Hyb0:真实世界。在这个混合中,考虑扮演如真实世界中的诚实服务提供商和终端的角色的模拟器SimHyb。
Hyb1:运行提取器。在这个混合中,SimHyb运行用于零知识协议Πptxt-knwldg的提取器ZK.Ext(如由Sim在理想世界中进行那样)以提取证据
Figure BDA00041565200600004119
它还在登记阶段查询理想函数性,如由Sim进行那样。
Hyb2:针对签名伪造的特殊中止。在这个混合中,在匹配阶段的第2轮中,如果
Figure BDA00041565200600004120
Figure BDA00041565200600004121
不是在登记阶段发送给/>
Figure BDA00041565200600004122
的元组,则SimHyb输出“特殊中止”,如由Sim在理想世界中进行那样。
Hyb3:切换密文。在这种混合中,SimHyb如下在匹配阶段计算密文:
·选取满足以下内容的随机值:如果y=0,IP<T,以及如果y=1,T≤IP≤IPMax
·选取随机字符串
Figure BDA0004156520060000421
·选取n个随机字符串X1,...,Xn,使得(X1+...+Xn)=(a·IP+b)。
·使用算法Plr.Enc计算
Figure BDA0004156520060000422
其中/>
Figure BDA0004156520060000423
·选取n个随机字符串ρ1,...,ρn,使得(ρ1+...+ρn)=0和
Figure BDA0004156520060000424
Figure BDA0004156520060000425
/>
·计算并向
Figure BDA0004156520060000426
发送/>
Figure BDA0004156520060000427
Hyb4:掩蔽模拟器。在这个混合中,SimHyb运行打包方案的模拟器Mask.Sim来计算第2轮中的
Figure BDA0004156520060000428
而不是运行诚实掩蔽算法。
Hyb5:理想世界。在这种混合中,SimHyb指示理想函数性向诚实终端递送输出⊥或真实输出,如由Sim在第4轮中进行那样。这种混合对应于理想世界。
我们现在显示每对连续的混合在计算上是不可区分的。引理6:假设协议Πptxt-knwldg的知识证明属性和协议Πepkzk-L2的可靠性,Hyb0与Hyb1在计算上不可区分。证明。这两个混合之间的区别在于,在Hyb1中,SimHyb还针对协议Πptxt-knwldg在由对手给出的证明上运行提取器NIZK.Ext,以计算其输入向量
Figure BDA0004156520060000429
并检查/>
Figure BDA00041565200600004210
的L2范数是否为ζ。根据协议Πepkzk-L2的可靠性,我们知道,如果证明验证成功,则确实是这个情况,即公钥确正确生成的,并且如果密文是正确生成的,则基础向量的L2范数是ζ。因此,两个混合协议之间的唯一区别是对手是否可以针对协议Πptxt-knwldg产生证明,使得该证明以不可忽略的概率成功验证,但是SimHyb无法提取/>
Figure BDA00041565200600004211
并且因此SimHyb中止。然而,我们可以显示如果存在可以以不可忽略的概率导致这种情况发生的对手/>
Figure BDA00041565200600004212
我们可以设计以不可忽略的概率打破协议Πptxt-knwldg的知识属性的论点的归约/>
Figure BDA00041565200600004213
这是矛盾。
引理7:假设签名方案的不可伪造性,Hyb1与Hyb2在计算上不可伪造。证明。两个混合之间的区别在于,在Hyb2中,匹配阶段的第2轮中,SimHyb输出“特殊中止”。观察到如果在第1轮中,
Figure BDA00041565200600004214
发送元组/>
Figure BDA00041565200600004215
使得这个元组不是在登记阶段中发送给/>
Figure BDA00041565200600004216
Figure BDA00041565200600004217
的元组,则发生这种情况。然而,如果存在可以导致这个事件以不可忽略的概率发生的对手/>
Figure BDA00041565200600004218
我们可以使用/>
Figure BDA00041565200600004220
来设计以不可忽略的概率打破签名方案的不可伪造性的归约/>
Figure BDA00041565200600004219
这是矛盾。
引理8:假设Paillier加密的电路隐私,Hyb2与Hyb3在计算上不可区分。证明。这与引理3的证明相同。
引理9:假设打包方案的安全性,Hyb3与Hyb4在统计上不可区分。证明。这与引理4的证明相同。
引理10:Hyb4与Hyb5在统计上不可区分。证明。两个混合之间的区别在于,在Hyb5中,诚实终端通过理想函数性获得其输出。更详细地,SimHyb指示理想函数性基于其在匹配阶段的第4轮中的计算递送实际输出位y或⊥。首先注意,在第2轮中由SimHyb均匀地随机选取字符串a,b,并且对手仅了解X=(a·IP+b)。观察到在两个混合中,如果对手在第3轮中发送字符串X′使得
Figure BDA0004156520060000431
则诚实终端输出⊥。这两个混合之间的唯一区别是,对手是否可以在第3轮中发送字符串X′≠X,使得发生以下中的任一个:(i)/>
Figure BDA0004156520060000432
Figure BDA0004156520060000433
(ii)/>
Figure BDA0004156520060000434
Figure BDA0004156520060000435
但/>
Figure BDA0004156520060000436
这是因为在Hyb4中,诚实终端的输出基于/>
Figure BDA0004156520060000437
的值,而在Hyb5中,它仅取决于/>
Figure BDA0004156520060000438
的值。然而,由于a,b随机均匀地选取,对手在第3轮中发送字符串X′≠X使得这两种情况中的任一个发生的概率是可忽略的,并且这完成了证明。
2.破坏提供商、终端
考虑半诚实对手
Figure BDA0004156520060000439
其联合破坏服务提供商/>
Figure BDA00041565200600004310
和终端/>
Figure BDA00041565200600004311
我们现在描述模拟器Sim。让ZK.Sim,ZK.Sim1,ZK.Sim2分别表示用于零知识协议Πepkptxt-knwldg和Πzk-L2的模拟器。
在登记阶段,Sim进行以下内容:随机均匀地选取向量
Figure BDA00041565200600004312
计算(esk,epk)←Plr.Setup 1λ)并向/>
Figure BDA00041565200600004326
发送/>
Figure BDA00041565200600004327
运行来自章节8的用于零知识协议Πepkptxt-knwldg和Πzk-L2的模拟器ZK.Sim,ZK.Sim1,ZK.Sim2,其中/>
Figure BDA00041565200600004313
是验证者。对于第一证明,语句为epk,并且对于接下来两个证明,语句为/>
Figure BDA00041565200600004314
并从/>
Figure BDA00041565200600004315
接收σ。
在匹配阶段,在该阶段开始之前,Sim得到输入
Figure BDA00041565200600004316
Figure BDA00041565200600004317
其中/>
Figure BDA00041565200600004318
是/>
Figure BDA00041565200600004319
的输入,ρ是/>
Figure BDA00041565200600004320
的随机性,y是输出位以及Lterm(·)是泄漏。Sim执行以下内容:
·第1轮:向
Figure BDA00041565200600004321
发送/>
Figure BDA00041565200600004322
·第2轮:从
Figure BDA00041565200600004323
接收/>
Figure BDA00041565200600004324
·第3轮:
(a)从对手的随机性ρ中提取字符串(a,b)。
(b)向
Figure BDA00041565200600004325
发送X=(a·IP+b),其中IP=Lterm(·)。
我们示出了通过一系列计算上不可区分的混合以上模拟策略是成功的,其中第一混合Hyb0对应于真实世界,以及最后的混合Hyb3对应于理想世界。Hyb0:真实世界。在这个混合中,考虑扮演如真实世界中的诚实设备和终端的角色的模拟器SimHyb。Hyb1:模拟证明。在这个混合中,SimHyb运行用于零知识协议Πepkptxt-knwldg和Πzk-L2的模拟器ZK.Sim,ZK.Sim1,ZK.Sim2,如由Sim在理想世界的登记阶段中所进行的那样。Hyb2:X的变化计算。在这种混合中,在匹配阶段的第3轮中,SimHyb不再解密
Figure BDA0004156520060000441
来计算X。相反,它计算X=(a·IP+b),如在理想世界中Sim所进行那样,其中(a,b)从对手的随机性ρ和IP=Lterm(·)中提取。Hyb3:切换密文。在这种混合中,SimHyb随机均匀地选取输入向量/>
Figure BDA0004156520060000442
如由Sim进行的那样。这种混合对应于理想世界。
我们现在显示每对连续的混合在计算上是不可区分的。引理11:假设用于协议Πepkptxt-knwldg和Πzk-L2的零知识属性,Hyb0与Hyb1在计算上不可区分。证明。这两种混合之间的唯一区别在于,在Hyb0中,协议Πepkptxt-knwldg和Πzk-L2的证明由SimHyb通过按照诚实证明者的策略计算,而在Hyb1中,它们使用模拟器ZK.Sim1,ZK.Sim2生成。因此,如果存在能够以不可忽略的概率在这两个混合之间进行区分的对手
Figure BDA0004156520060000443
我们可以设计可以打破Πepkptxt-knwldg或Πzk-L2的零知识属性的归约/>
Figure BDA0004156520060000444
这是矛盾。
引理12:Hyb1与Hyb2相同。证明。在Hyb2中,SimHyb计算并发送X=(a·IP+b),其中(a,b)是从对手的随机性ρ和
Figure BDA0004156520060000445
中提取的。在Hyb1中,SimHyb解密/>
Figure BDA0004156520060000446
以计算X。由于/>
Figure BDA0004156520060000447
是诚实的,注意,即使在Hyb1中,X实际上也等于(a·IP+b)。因此,这两个混合是相同分布的。
引理13:假设Paillier加密的语义安全,Hyb2与Hyb3在计算上不可区分。证明。这与引理5的证明相同。
D.协议3:证据
1.破坏设备
考虑破坏设备
Figure BDA0004156520060000448
的恶意对手/>
Figure BDA0004156520060000449
我们现在描述模拟器Sim。让ZK.Ext表示用于零知识协议Πptxt-knwldg的提取器。让Mask.Sim表示用于打包方案的模拟器。
登记阶段。这与章节D.1中的登记阶段相同。为了完整性,我们在此描述它。Sim进行以下内容。
·从
Figure BDA00041565200600004410
接收/>
Figure BDA00041565200600004417
·运行零知识协议Πepkptxt-knwldg和Πzk-L2作为具有
Figure BDA00041565200600004411
的验证者、作为具有用于第一证明的语句epk和用于接下来两个证明的语句/>
Figure BDA00041565200600004412
Figure BDA00041565200600004413
的证明者。而且,在协议Πptxt-knwldg上运行提取器ZK.Ext,以提取证据/>
Figure BDA00041565200600004414
·如果证明失败或提取器ZK.Ext失败,向
Figure BDA00041565200600004415
发送消息``Failed"并作为具有大于ζ的范数的向量的登记的一部分查询理想函数性/>
Figure BDA00041565200600004416
从而指示它向诚实服务提供者递送消息``Failed"。
·否则,进行以下内容:
(a)计算(sk,vk)←Gen(1λ)。
(b)使用算法Plr.Add(·)计算
Figure BDA0004156520060000451
其中/>
Figure BDA0004156520060000452
是/>
Figure BDA0004156520060000453
Figure BDA0004156520060000454
的编码。
(c)向
Figure BDA0004156520060000455
发送/>
Figure BDA0004156520060000456
(d)作为具有从ZK.Ext提取的向量
Figure BDA0004156520060000457
的登记的一部分查询理想函数性/>
Figure BDA0004156520060000458
匹配阶段:Sim进行以下内容。
·来自理想函数性的输出
Figure BDA0004156520060000459
利用匹配阶段的新的子会话查询/>
Figure BDA00041565200600004510
以接收输出位y。
·第1轮:从
Figure BDA00041565200600004511
接收/>
Figure BDA00041565200600004512
第2轮:
1)如果
Figure BDA00041565200600004513
则输出⊥。
2)如果
Figure BDA00041565200600004514
Figure BDA00041565200600004515
不是在登记阶段发送给/>
Figure BDA00041565200600004530
的元组,则输出“特殊中止”。
3)选取满足以下内容的随机值:如果y=0,IP<T,以及如果y=1,T≤IP≤IPMax
4)选取随机字符串
Figure BDA00041565200600004516
5)选取2n个随机字符串X1,...,Xn,Y1,...,Yn,使得(X1+...+xn)=(IP+pad)和(Y1+...+Yn)=(a·IP+b)。
6)计算并向
Figure BDA00041565200600004517
发送/>
Figure BDA00041565200600004518
和/>
Figure BDA00041565200600004519
Figure BDA00041565200600004520
·第3轮:从
Figure BDA00041565200600004521
接收otrec
·第4轮:
Figure BDA00041565200600004522
进行以下内容:
1)计算
Figure BDA00041565200600004523
2)让(labpad,laba,labb)表示到混乱电路的输入(pad,a,b)的所模拟的标签。
3)让labX,Y表示由
Figure BDA00041565200600004524
输入以评估电路的值(X,Y)的所模拟的标签。计算otsen=OT.Round2.Sim(labX,Y,otrec)。
4)向
Figure BDA00041565200600004525
发送/>
Figure BDA00041565200600004526
·第5轮:
1)从
Figure BDA00041565200600004527
接收标签laby
2)如果laby对应于所模拟的标签lab中的输出位y的标签,则指示理想函数性将向诚实
Figure BDA00041565200600004528
递送输出。否则,指示/>
Figure BDA00041565200600004529
向诚实终端输出⊥。
我们现在示出了通过一系列计算上不可区分的混合以上模拟策略是成功的,其中第一混合Hyb0对应于真实世界,以及最后的混合Hyb7对应于理想世界。Hyb0:真实世界。在这个混合中,考虑扮演如真实世界中的诚实服务提供商和终端的角色的模拟器SimHyb。Hyb1:运行提取器。在这个混合中,SimHyb运行用于零知识协议Πptxt-knwldg的提取器ZK.Ext(如由Sim在理想世界中进行那样)以提取证据
Figure BDA0004156520060000462
它还在登记阶段查询理想函数性,如由Sim进行那样。Hyb2:针对签名伪造的特殊中止。在这个混合中,在匹配阶段的第2轮中,如果/>
Figure BDA0004156520060000461
不是在登记阶段发送给/>
Figure BDA00041565200600004615
的元组,则SimHyb输出“特殊中止”,如由Sim在理想世界中进行那样。Hyb3:模拟OT。在匹配阶段的第4轮中,SimHyb通过使用模拟器OT.Round2.Sim(·)计算OT发送者消息。即,otsen=OT.Round2.Sim(labX,Y,otrec),其中labX,Y是要被/>
Figure BDA0004156520060000464
用作到混乱电路的输入的输入(X,Y)的标签。
hyb4:模拟混淆电路。在匹配阶段的第4轮中,SimHyb计算所模拟的混淆电路和所模拟的标签。也就是说,
Figure BDA0004156520060000463
hyb5:切换密文。在这种混合中,SimHyb如下在匹配阶段计算密文:选取满足以内容的随机值IP:如果y=0,IP<T以及如果y=1,T≤IP≤IPMax;选取随机字符串/>
Figure BDA0004156520060000465
选取2n个随机字符串X1,...,Xn,Y1,...,Yn,使得(X1+...+Xn)=(IP+pad)和(Y1+...+Yn)=(a·IP+b);使用算法Plr.Enc计算/>
Figure BDA0004156520060000466
其中/>
Figure BDA00041565200600004610
Figure BDA00041565200600004611
和/>
Figure BDA0004156520060000467
选取2n个随机字符串ρ1,...,ρ2n,使得(ρ1+...+ρn)=0、(ρn+1+...+ρ2n)=0和/>
Figure BDA00041565200600004612
让/>
Figure BDA0004156520060000468
和/>
Figure BDA0004156520060000469
并向/>
Figure BDA00041565200600004616
发送
Figure BDA00041565200600004613
Hyb6:掩蔽模拟器。在这个混合中,SimHyb运行打包方案的模拟器Mask.Sim来计算第2轮中的
Figure BDA00041565200600004614
而不是运行诚实掩蔽算法。Hyb7:理想世界。在这种混合中,SimHyb指示理想函数性向诚实终端递送输出⊥或真实输出,如由Sim在第5轮后进行那样。这种混合对应于理想世界。
我们现在显示每对连续的混合在计算上是不可区分的。引理14:假设协议Πptxt-knwldg的知识证明属性和协议Πepkzk-L2的可靠性,Hyb0与Hyb1在计算上不可区分。证明。这与引理6的证明相同。
引理15:假设签名方案的不可伪造性,Hyb1与Hyb2在计算上不可伪造。证明。这与引理7的证明相同。
引理16:假设不经意传输协议针对恶意接收者的安全性,Hyb2与Hyb3在计算上不可区分。证明。这两种混合的唯一区别是在匹配阶段的第4轮中生成OT发送者的消息方式。在Hyb2中,SimHyb使用值(X,Y)的标签诚实地生成OT发送者的消息。在Hyb3中,OT发送者的消息也使用模拟器OT.Round2.Sim(·)生成。很容易看出,如果存在能够以不可忽略的概率在这两个混合之间进行区分的对手
Figure BDA0004156520060000478
我们可以设计可以打破不经意传输协议针对恶意接收者的安全性的归约/>
Figure BDA0004156520060000479
这是矛盾。
引理17假设混淆方案的安全性,Hyb3与Hyb4在计算上不可区分。证明。这两种混合之间的唯一区别是生成混淆电路和相关联的标签的方式。在Hyb3中,SimHyb诚实地如下计算它们:
Figure BDA0004156520060000474
其中电路/>
Figure BDA00041565200600004710
在图13中描述。在Hyb4中,SimHyb如下模拟它们:/>
Figure BDA00041565200600004711
Figure BDA00041565200600004712
其中y是来自理想函数性的输出。很容易看出,如果存在能够以不可忽略的概率在这两个混合之间进行区分的对手/>
Figure BDA00041565200600004717
我们可以设计打破混淆方案的安全性的归约/>
Figure BDA00041565200600004713
这是矛盾。
引理18:假设Paillier加密的电路隐私,Hyb4与Hyb5在计算上不可区分。证明。这与引理3的证明相同。
引理19假设打包方案的安全性,Hyb5与Hyb6在统计上不可区分。证明。这与引理4的证明相同。
引理20:Hyb6与Hyb7在统计上不可区分。证明。两个混合之间的区别在于,在Hyb7中,诚实终端通过理想函数性获得其输出。更详细地,SimHyb指示理想函数性基于其在匹配阶段的第5轮后的计算递送实际输出位y或⊥。类似于引理10的证明,字符串a,b,pad在第2轮中被SimHyb随机均匀地选取,并且对手只了解X=(IP+pad)和Y=(a·IP+b)。观察到在这两种混合中,如果对手使用输入字符串(X′,Y′)来评估被混淆电路使得(a·(X′-pad)+b)≠Y′,则诚实终端将最终输出⊥。这两个混合之间的唯一区别是对手是否可以输入一对字符串(X′,Y′)≠(X,Y),使得(a·(X′-pad)+b)=Y′以及以下中任一个发生:(i)(X′-pad)≤T但T≤(X-pad)(或)(ii)T≤(X′-pad)但(X-pad)≤T。然而,由于(a,b,pad)是随机均匀地选取的,因此这个发生的概率可忽略不计,并且这就完成了证明。
2.破坏提供商、终端
考虑半诚实对手
Figure BDA0004156520060000475
其联合破坏服务提供商/>
Figure BDA0004156520060000476
和终端/>
Figure BDA0004156520060000477
我们现在描述模拟器Sim。让ZK.Sim,ZK.Sim1,ZK.Sim2表示分别用于零知识协议Πepkptxt-knwldg和Πzk-L3的模拟器。
登记阶段:Sim进行以下内容:随机均匀地选取向量
Figure BDA00041565200600004716
计算(esk,epk)←Plr.Setup(1λ)并向/>
Figure BDA0004156520060000472
发送/>
Figure BDA00041565200600004714
运行来自章节8的用于零知识协议Πepkptxt-knwldg和Πzk-L2的模拟器ZK.Sim,ZK.Sim1,ZK.Sim2,其中/>
Figure BDA0004156520060000471
是验证者。epk是第一证明的语句,以及/>
Figure BDA0004156520060000473
是接下来两个证明的语句;并从/>
Figure BDA00041565200600004715
接收σ。
匹配相位:在相位开始之前,Sim得到输入
Figure BDA0004156520060000484
其中/>
Figure BDA0004156520060000485
是/>
Figure BDA0004156520060000486
的输入,ρ是/>
Figure BDA00041565200600004813
的随机性,以及y是输出位。Sim进行以下内容:第1轮:向/>
Figure BDA0004156520060000487
发送/>
Figure BDA0004156520060000481
第2轮:从/>
Figure BDA0004156520060000482
接收/>
Figure BDA0004156520060000483
第3回合:向/>
Figure BDA0004156520060000488
发送otrec←OT.Round1((X,Y);ρot),其中X,Y随机均匀地挑选;第4轮从/>
Figure BDA0004156520060000489
接收/>
Figure BDA00041565200600004814
以及第5轮:从/>
Figure BDA00041565200600004810
的随机性ρ中,提取与输出位y对应的混淆电路的标签laby。向/>
Figure BDA00041565200600004815
发送laby
我们示出了通过一系列计算上不可区分的混合以上模拟策略是成功的,其中第一混合Hyb0对应于真实世界,以及最后的混合Hyb4对应于理想世界。Hyb0:真实世界。在这个混合中,考虑扮演如真实世界中的诚实设备和终端的角色的模拟器SimHyb。Hyb1:模拟证明。在这个混合中,SimHyb运行用于零知识协议Πepkptxt-knwldg和Πzk-L2的模拟器ZK.Sim,ZK.Sim1,ZK.Sim2,如由Sim在理想世界的登记阶段中所进行的那样。Hyb2:更改输出标签的计算。在这种混合中,在匹配阶段的第5轮中,SimHyb不再评估混淆电路
Figure BDA00041565200600004816
来计算输出标签laby。相反,laby从对手的随机性ρ中提取、对应于输出y,如由Sim在理想世界中所进行的那样。Hyb3:切换OT接收者输入。在这种混合中,在匹配阶段的第3轮中,SimHyb通过随机均匀地选取其输入X,Y来生成OT接收者的消息,如由Sim进行的那样。Hyb4:切换密文。在这种混合中,SimHyb随机均匀地选取输入向量/>
Figure BDA00041565200600004812
如由Sim进行的那样。这种混合对应于理想世界。
我们现在显示每对连续的混合在计算上是不可区分的。引理21:假设用于协议Πepkptxt-knwldg和Πzk-L2的零知识属性,Hyb0与Hyb1在计算上不可区分。证明。这与引理11的证明相同。
引理22:Hyb1与Hyb2相同。证明。在Hyb2中,SimHyb根据用于生成混淆电路
Figure BDA00041565200600004811
的随机性,计算对应于输出位y的输出标签laby。这个随机性从对手的随机性ρ中提取。在Hyb1中,SimHyb使用作为OT协议的输出(具有输入X,Y的情况下)获得的标签来评估混淆电路,以生成标签laby。由于/>
Figure BDA00041565200600004818
是诚实的,所以第4轮中的混淆电路、OT发送者消息和第2轮中的密文是诚实生成的,并且因此,注意,即使在Hyb1中,laby实际上确实对应于协议的输出位(y)的标签。因此,这两个混合是相同分布的。
引理23假设针对半诚实发送者的不经意传输协议的安全性,Hyb2与Hyb3在计算上不可区分。证明。这两种混合的唯一区别是在匹配阶段的第3轮中生成OT接收者的信息的方式。在Hyb2中,SimHyb使用通过解密和解码在第2轮中从发送者接收的密文来计算的接收者的输入(X,Y)来生成它们,而在Hyb3中,接收者的输入(X,Y)是随机均匀地选取的。因此,如果存在能够以不可忽略的概率在这两个混合之间进行区分的对手
Figure BDA00041565200600004817
我们可以设计可以打破针对半诚实发送者的不经意传输协议的安全性的归约/>
Figure BDA0004156520060000492
这是矛盾。
引理24:假设Paillier加密的语义安全,Hyb3与Hyb4在计算上不可区分。证明。这与引理5的证明相同。
E.零知识
1.证据:明文的知识
证明。完整性很容易观察到。我们现在证明诚实的验证者零知识和知识的证明。
诚实的验证者零知识。考虑诚实验证者
Figure BDA0004156520060000497
模拟器Sim关于输入验证者的随机性(e1,...,en)(其中的每一个在/>
Figure BDA0004156520060000498
中随机地选择)的策略如下:
·样本
Figure BDA0004156520060000493
·定义
Figure BDA0004156520060000494
·向
Figure BDA0004156520060000495
发送第1轮中的/>
Figure BDA0004156520060000496
和第3轮中的(w,z)。
引理25:假设Paillier加密的语义安全性,以上模拟策略是成功的。证明。观察到由
Figure BDA00041565200600004910
在协议结束时执行的检查在实际执行和所模拟的执行两者中成功。因此,这两种混合的唯一区别是计算密文s;u的方式。证明的其余部分与引理5的证明相同。
知识的证明。考虑恶意证明者
Figure BDA0004156520060000499
我们首先在下面描述提取器ZK.Ext的策略:
·从Adv接收第一消息a。
·在第2轮中发送随机
Figure BDA00041565200600004913
以在第3轮中从/>
Figure BDA00041565200600004911
接收输出(w0,z0)。
·对于每个i∈[n],进行以下内容:
1)将对手重绕到第2回合的开始。
2)在第2轮中发送
Figure BDA00041565200600004912
以在第3轮中从/>
Figure BDA00041565200600004916
接收输出(wi,zi)。
3)将ith明文计算为xi=(wi-w0),以及将相对应的随机性计算为
Figure BDA00041565200600004914
·输出{(xi,ri)}i∈[n]
我们现在认为,以上提取器以压倒性的概率成功提取了证据{(xi,ri)}i∈[n]。我们将通过得出矛盾来证明这一点。假设存在PPT欺骗证明者
Figure BDA00041565200600004915
使得它即使在证据的提取失败的情况下也能成功地生成可接受的证明。因为对手生成可接受的证据,所以对于所有0≤i≤n,必须是这样的情况:
Figure BDA0004156520060000491
因此,对于所有1≤i≤n:
Figure BDA0004156520060000501
基于我们选取
Figure BDA0004156520060000505
的方式,这意味着/>
Figure BDA0004156520060000506
这意味着ci具有形式
Figure BDA0004156520060000508
其中xi=(wi-w0)且/>
Figure BDA0004156520060000507
这完全对应于有效的Paillier密文,并且确实是由提取器ZK.Ext针对每个索引i输出的元组。因此,上面的提取器以压倒性的概率成功地提取了证据{(xi,ri)}i∈[n],并且这完成了证明。
2.证明:L2范数
在这个章节中,我们参考图6中的协议正式证明引理2。证明。第一检查的完整性,即z=yα2+β和Πrange易于观察。对于第二检查,核心观察是基本计算从不环绕Paillier模数N。考虑以下等式:
Figure BDA0004156520060000502
等式成立,因为wi=αxii
Figure BDA0004156520060000509
以压倒性的概率在整数内成立。特别地,/>
Figure BDA00041565200600005010
需要/>
Figure BDA00041565200600005011
这是可忽略的。由于ci,d被限定为模数N′,等效性成立。最终等式很容易地成立。因此,验证者将总是接受诚实证明者。
我们现在证明诚实验证者零知识和可靠性。诚实的验证者零知识。考虑诚实验证者
Figure BDA00041565200600005024
模拟器Sim的策略在下面描述。Sim将验证者将使用的语句/>
Figure BDA00041565200600005013
pk和随机数/>
Figure BDA00041565200600005012
取为输入。
·计算并向
Figure BDA0004156520060000504
发送/>
Figure BDA00041565200600005014
我们先出了以上模拟策略是成功的。Hyb0:真实世界。在这个混合中,考虑扮演诚实证明者的角色的模拟器SimHyb。Hyb1:切换
Figure BDA00041565200600005023
在这个混合中,模拟器SimHyb计算z=(yα2+β)和/>
Figure BDA00041565200600005015
这现在对应于所模拟的执行。
我们现在显示每对连续的混合在计算上是不可区分的。引理26:Hyb0与Hyb1相同。证明。在Hyb1中,SimHyb计算并发送z=(yα2+β)和
Figure BDA0004156520060000503
其中(α,β,bb)是从对手的随机性中提取的。在Hyb0中,SimHyb解密{wi}i∈[n]/>
Figure BDA00041565200600005016
以计算/>
Figure BDA00041565200600005020
由于/>
Figure BDA00041565200600005021
是诚实的,注意即使在Hyb0中,/>
Figure BDA00041565200600005017
且/>
Figure BDA00041565200600005018
因此,这两个混合是相同分布的。
可靠性考虑产生接受的证明抄本但是
Figure BDA00041565200600005019
的恶意证明者/>
Figure BDA00041565200600005022
我们将证明这个事件仅以可忽略的概率发生。由于验证成功,这意味着:
z=yα2+β且
Figure BDA0004156520060000511
对于某些
Figure BDA0004156520060000515
这意味着
Figure BDA0004156520060000512
其中
Figure BDA00041565200600005112
注意e对于证明者是已知的。γ对于证明者也是已知的——它解密来自验证者的密文,并且可以计算/>
Figure BDA0004156520060000516
如果证明者可以计算z=γ+α2e,这意味着证明者知道α,并且因此也可以推导出β(因为γ本质上是
Figure BDA0004156520060000517
然而,β是由验证者选择的均匀随机值,并且只包含在字符串v中(该字符串是加密的)。因此,证明者了解β的概率应该是可忽略的,这是矛盾。因此,证明者能够计算z=γ+α2e的概率是可忽略的,这意味着e=0。也就是我们可以得出结论/>
Figure BDA00041565200600005113
Figure BDA0004156520060000518
类似地,由于验证成功,第二等式
Figure BDA0004156520060000519
也成立。那么,出于与上面相同的原因,它必须成立,即/>
Figure BDA00041565200600005110
Figure BDA0004156520060000513
Figure BDA0004156520060000514
重写我们获得Nt=N′s的蕴涵。这意味着证明者必须将选择t为N′的倍数。然而,由于N′是素数,并且在所有xi固定之后选择,所以证明者只能以可忽略的概率来这样做。
XI.计算机系统
本文所提及的任何计算机系统都可以使用任何合适数量的子系统。在图16中示出计算机系统10中的此类子系统的实例。在一些实施例中,计算机系统包括单一计算机设备,其中子系统可以是计算机设备的组件。在其它实施例中,计算机系统可以包括具有内部组件的多个计算机设备,每个计算机设备是子系统。计算机系统可包括台式计算机和膝上型计算机、平板计算机、移动电话和其它移动装置。
图16中所示的子系统经由系统总线75互连。示出了附加子系统,诸如打印机74、键盘78、存储设备79、耦合到显示适配器82的监视器76(例如,显示屏,诸如LED)等。耦合到输入/输出(I/O)控制器71的外围装置和I/O装置可以通过本领域中已知的各种构件连接到计算机系统,所述构件例如是输入/输出(I/O)端口77(例如USB、
Figure BDA00041565200600005111
)。例如,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]About Face ID advanced technology.support.apple.com/en-us/HT208108.
[2]About Touch ID advanced technology.support.apple.com/en-us/HT204587.
[3]Android—Biometrics.source.android.com/security/biometric.
[4]Nearby Connections API.developers.google.com/nearby/connections/overview.
[5]Samsung Pass.www.samsung.com/global/galaxy/apps/samsung-pass/
[6]Major breach found in biometrics system used by banks,UK policeand defence firms.www.theguardian.com/technology/2019/aug/14/major-breachfound-in-biometrics-system-used-by-banks-uk-police-and-defence-firms,August 2019.
[7]Passenger Questions JetBlue Facial-RecognitionSystem.www.wbur.org/hereandnow/2019/05/02/jetblue-facial-recognition-check-in,May 2019.
[8]U.S.Customs and Border Protection says photos of travelers weretaken in a data breach.www.washingtonpost.com/technology/2019/06/10/us-customsborder-protection-says-photos-travelers-into-out-country-were-recentlytaken-data-breach/,June 2019.
[9]M.Blanton and P.Gasti,Computer Security-ESORICS 2011-16th EuropeanSymposium on Research in Computer Security,Leuven,Belgium,September 12-14,2011.Proceedings,volume 6879 of Lecture Notes in Computer Science,pages 190–209.Springer,2011.
[10]X.Boyen,In Proceedings of the 11th ACM Conference on Computer andCommunications Security,CCS’04,page 82–91,New York,NY,USA,2004.Associationfor Computing Machinery.
[11]R.Chatterjee et al.,In Proceedings of the 2019 ACM SIGSACConference on Computer and Communications Security,CCS’19,page 1171–1186,NewYork,NY,USA,2019.Association for Computing Machinery.
[12]W.Chongchitmate and R.Ostrovsky,Public-Key Cryptography-PKC 2017-20th IACR International Conference on Practice and Theory in Public-KeyCryptography,Amsterdam,The Netherlands,March 28-31,2017,Proceedings,Part II,volume 10175 of Lecture Notes in Computer Science,pages 241–270.Springer,2017.
[13]T.Chou and C.Orlandi,Progress in Cryptology–LATINCRYPT 2015-4thInternational Conference on Cryptology and Information Security in LatinAmerica,Guadalajara,Mexico,August 23-26,2015,Proceedings,volume 9230 ofLecture Notes in Computer Science,pages 40–58.Springer,2015.
[14]R.Cramer,I.Damgrd,and J.B.Nielsen,Advances in Cryptology-EUROCRYPT 2001,International Conference on the Theory and Application ofCryptographic Techniques,Innsbruck,Austria,May 6-10,2001,Proceeding,volume2045 of Lecture Notes in Computer Science,pages 280–299.Springer,2001.
[15]I.Damgrd,M.Geisler,and M.
Figure BDA0004156520060000541
Information Security andPrivacy,pages 416–430,Berlin,Heidelberg,2007.Springer Berlin Heidelberg.
[16]Y.Dodis,L.Reyzin,and A.D.Smith,Advances in Cryptology-EUROCRYPT2004,International Conference on the Theory and Applications of CryptographicTechniques,Interlaken,Switzerland,May 2-6,2004,Proceedings,volume 3027 ofLecture Notes in Computer Science,pages 523–540.Springer,2004.
[17]Z.Erkin et al.,Privacy Enhancing Technologies,9th InternationalSymposium,PETS 2009,Seattle,WA,USA,August 5-7,2009.Proceedings,volume 5672 ofLecture Notes in Computer Science,pages 235–253.Springer,2009.
[18]C.Hazay,G.L.Mikkelsen,T.Rabin,and T.Toft,Topics in Cryptology-CT-RSA 2012-The Cryptographers’Track at the RSA Conference 2012,San Francisco,CA,USA,February 27-March 2,2012.Proceedings,volume 7178 of Lecture Notes inComputer Science,pages 313–331.Springer,2012.
[19]C.Hazay,G.L.Mikkelsen,T.Rabin,T.Toft,and A.A.Nicolosi,J.Cryptology,32(2):265–323,2019.
[20]Y.Huang,L.Malka,D.Evans,and J.Katz,In Proceedings of the Networkand Distributed System Security Symposium,NDSS 2011,San Diego,California,USA,6th February-9th February 2011.The Internet Society,2011.
[21]F.Kerschbaum,M.J.Atallah,D.M’
Figure BDA0004156520060000551
and J.R.Rice,BiometricAuthentication,First International Conference,ICBA 2004,Hong Kong,China,July15-17,2004,Proceedings,volume 3072 of Lecture Notes in Computer Science,pages387–394.Springer,2004.
[22]T.A.M.Kevenaar et al.,In Proceedings of the Fourth IEEE Workshopon Automatic Identification Advanced Technologies(AutoID 2005),16-18 October2005,Buffalo,NY,USA,pages 21–26.IEEE Computer Society,2005.
[23]Y.Lindell,Advances in Cryptology-CRYPTO 2017-37th AnnualInternational Cryptology Conference,Santa Barbara,CA,USA,August 20-24,2017,Proceedings,Part II,volume 10402 of Lecture Notes in Computer Science,pages613–644.Springer,2017.
[24]W.Liu et al.,In 2017 IEEE Conference on Computer Vision andPattern Recognition,CVPR,pages 6738–6746.IEEE Computer Society,2017.
[25]M.Osadchy,B.Pinkas,A.Jarrous,and B.Moskovich,In 31st IEEESymposium on Security and Privacy,S&P 2010,16-19 May 2010,Berleley/Oakland,California,USA,pages 239–254.IEEE Computer Society,2010.
[26]P.Paillier,Advances in Cryptology-EUROCRYPT’99,InternationalConference on the Theory and Application of Cryptographic Techniques,Prague,Czech Republic,May 2-6,1999,Proceeding,volume 1592 of Lecture Notes inComputer Science,pages 223–238.Springer,1999.
[27]A.Sadeghi,T.Schneider,and I.Wehrenberg,Information,Security andCryptology-ICISC 2009,12th International Conference,Seoul,Korea,December 2-4,2009,Revised Selected Papers,volume 5984 of Lecture Notes in ComputerScience,pages 229–244.Springer,2009.
[28]B.Schoenmakers and P.Tuyls,In Security with Noisy Data,pages 141–149.Springer London,2007.
[29]F.Schroff,D.Kalenichenko,and J.Philbin,In IEEE Conference onComputer Vision and Pattern Recognition,CVPR 2015,pages 815–823.IEEE ComputerSociety,2015.
[30]M.A.Turk and A.Pentland,In IEEE Computer Society Conference onComputer Vision and Pattern Recognition,CVPR 1991,3-6 June,1991,Lahaina,Maui,Hawaii,USA,pages 586–591.IEEE,1991.
[31]H.Wang et al.,In 2018 IEEE Conference on Computer Vision andPattern Recognition,CVPR,pages 5265–5274.IEEE Computer Society,2018.

Claims (22)

1.一种使用第一模数N和第二模数
Figure FDA0004156520050000011
向验证者设备注册存储在用户设备上的生物特征的方法,所述方法包括由所述用户设备执行:
向所述验证者设备提供存储在所述用户设备上的经加密的生物特征向量c,所述经加密的生物特征向量c通过使用用户公钥加密生物特征向量x而生成,其中所述用户公钥包括第一模数N,其中用户秘密密钥对应于所述用户公钥;
从所述验证者设备接收质询消息,所述质询消息包括被掩蔽的经加密的生物特征向量|w|、经加密的第一消除值|v|、经加密的第二消除值
Figure FDA0004156520050000012
和所述第二模数/>
Figure FDA0004156520050000013
其中所述经加密的第二消除值/>
Figure FDA0004156520050000014
使用所述第二模数/>
Figure FDA0004156520050000015
生成;
使用所述用户秘密密钥解密被掩蔽的经加密的生物特征向量|w|以获得被掩蔽的生物特征向量w,解密所述经加密的第一消除值|v|以获得第一消除值v,以及解密经加密的第二消除值
Figure FDA0004156520050000016
以获得第二消除值/>
Figure FDA0004156520050000017
使用所述第一消除值v以及所述被掩蔽的生物特征向量w的第一函数生成第一质询响应z,所述第一函数包括模数N;
使用所述第二消除值
Figure FDA00041565200500000116
以及所述被掩蔽的生物特征向量w的第二函数生成第二质询响应/>
Figure FDA00041565200500000114
所述第二函数包括所述第二模数/>
Figure FDA0004156520050000018
以及
向所述验证者设备提供所述第一质询响应z和所述第二质询响应
Figure FDA0004156520050000019
从而使得所述验证者设备能够使用所述第一模数N来验证所述第一质询响应z匹配公开值y,并且使用所述第二模数/>
Figure FDA00041565200500000110
来验证所述第二质询响应/>
Figure FDA00041565200500000111
匹配所述公开值y。
2.如权利要求1所述的方法,其中所述被掩蔽的经加密的生物特征向量|w|的每个值是通过将相应的掩蔽函数应用于所述经加密的生物特征向量c的对应值而被生成的。
3.如权利要求2所述的方法,其中所述相应的掩蔽函数是线性函数,并且包括随机认证值α以及随机向量ρ的偏移随机值,所述随机认证值α缩放所述经加密的生物特征向量c的所述对应值。
4.如权利要求1所述的方法,其中所述第一消除值v是第一项的聚合,包括所述经加密的生物特征向量c的值,并且至少具有第一随机值β,并且其中所述第二消除值
Figure FDA00041565200500000112
是第二项的聚合,包括所述经加密的生物特征向量c的值和至少第二随机值/>
Figure FDA00041565200500000113
5.如权利要求1所述的方法,其中所述第一函数产生一个或多个第一交叉项,其中所述第一消除值v的一部分消除所述一个或多个第一交叉项,并且其中所述第二函数产生一个或多个第二交叉项,其中所述第二消除值
Figure FDA00041565200500000115
的一部分消除所述一个或多个第二交叉项。
6.如权利要求1所述的方法,其中所述第一质询响应z匹配所述公开值y、随机认证值α和第一随机值β的第一组合,所述第一组合被确定为mod N,并且其中所述第二质询响应
Figure FDA0004156520050000021
匹配所述公开值y、所述随机认证值α和第二随机值/>
Figure FDA0004156520050000022
的第二组合,所述第二组合被确定为
Figure FDA0004156520050000023
7.如权利要求1所述的方法,其中所述第二模数
Figure FDA0004156520050000024
是小于所述第一模数N的素数。
8.如权利要求1所述的方法,还包括:
接收所述经加密的生物特征向量c的签名;以及
作为与所述访问设备的匹配阶段的一部分,向具有生物特征传感器的访问设备提供所述签名,以获得对资源的访问。
9.如权利要求8所述的方法,还包括,作为所述匹配阶段的一部分:
向所述访问设备发送所述用户公钥和所述经加密的生物特征向量c;
从所述访问设备接收第一消息,所述第一消息包括经加密的相似性度量,所述经加密的相似性度量利用所述经加密的生物特征向量c和生物特征测量使用利用所述用户公钥进行的同态加密来计算,所述经加密的相似性度量对应于利用所述用户公钥加密的相似性度量,所述生物特征测量由所述生物特征传感器获得;
解密所述经加密的相似性度量以获得所解密的相似性度量;以及
向所述访问设备发送响应消息,所述响应消息指示所述所解密的相似性度量是否超过阈值。
10.如权利要求1所述的方法,还包括:
使用所述用户公钥,使用随机值u加密随机值s,以获得经加密的掩码|s;u|,其中所述经加密的生物特征向量c使用随机向量r生成;
向所述验证者设备发送所述经加密的掩码|s;u|;
从所述验证者设备接收随机质询向量e;
通过聚合所述随机值s以及所述生物特征向量x与所述随机质询向量e的内积来确定第一响应;
使用所述随机向量r、所述随机质询向量e、所述用户公钥的生成器g、所述第一模数N和所述第一响应来确定第二响应;以及
向所述验证者设备发送所述第一响应和所述第二响应。
11.一种使用第一模数N和第二模数
Figure FDA0004156520050000025
向验证者设备注册用户设备的生物特征的方法,所述方法包括由所述验证者设备执行:
从所述用户设备接收经加密的生物特征向量c,所述经加密的生物特征向量c是通过使用用户公钥加密生物特征向量x而生成,其中所述用户公钥包括所述第一模数N;
通过对所述经加密的生物特征向量c的每个值应用相应的掩蔽函数,生成被掩蔽的经加密的生物特征向量|w|;
通过聚合第一项来生成经加密的第一消除值|v|,所述经加密的第一消除值包括所述经加密的生物特征向量c的值和第一掩码值;
通过聚合第二项来生成经加密的第二消除值
Figure FDA0004156520050000031
所述经加密的第二消除值包括所述经加密的生物特征向量c的值和第二掩码值;
向所述用户设备发送质询消息,所述质询消息包括所述被掩蔽的经加密的生物特征向量|w|、所述经加密的第一消除值|v|、以及所述经加密的第二消除值
Figure FDA0004156520050000032
从用户设备接收第一质询响应z和第二质询响应
Figure FDA0004156520050000033
使用所述第一模数N验证所述第一质询响应z匹配公开值y;以及
使用所述第二模数
Figure FDA0004156520050000034
验证所述第二质询响应/>
Figure FDA0004156520050000035
匹配所述公开值y。
12.如权利要求11所述的方法,其中所述被掩蔽的经加密的生物特征向量|w|的每个值是通过将相应的掩蔽函数应用于所述经加密的生物特征向量c的对应值而被生成的。
13.如权利要求12所述的方法,其中所述相应的掩蔽函数是线性函数,并且包括随机认证值α以及随机向量ρ的偏移随机值,所述随机认证值α缩放所述经加密的生物特征向量c的所述对应值。
14.如权利要求11所述的方法,其中生成所述经加密的第一消除值|v|包括使用所述用户公钥加密所述第一掩码值β,并且其中生成所述经加密的第二消除值
Figure FDA0004156520050000036
包括使用所述用户公钥加密所述第二掩码值/>
Figure FDA0004156520050000037
15.如权利要求14所述的方法,其中生成所述经加密的第一消除值|v|还包括使用在所述相应的掩蔽函数中使用的随机认证值α和随机向量ρ,并且其中生成所述经加密的第二消除值
Figure FDA0004156520050000038
还包括使用所述随机认证值α和所述随机向量ρ。
16.如权利要求15所述的方法,其中用于确定所述经加密的第二消除值
Figure FDA0004156520050000039
的第二项中的至少一个在聚合之前经受/>
Figure FDA00041565200500000310
17.如权利要求11所述的方法,其中所述第一质询响应z匹配所述公开值y、随机认证值α和第一随机值β的第一组合,所述第一组合被确定为mod N,并且其中所述第二质询响应
Figure FDA00041565200500000311
匹配所述公开值y、所述随机认证值α和第二随机值/>
Figure FDA00041565200500000312
的第二组合,所述第二组合被确定为
Figure FDA00041565200500000313
18.根据权利要求11所述的方法,还包括:
响应于验证所述第一质询响应z和所述第二质询响应
Figure FDA00041565200500000314
使用所述验证者设备的验证者私钥来生成所述经加密的生物特征向量c的签名;以及
向所述用户设备发送所述签名。
19.如权利要求18所述的方法,还包括:
作为所述访问设备和所述用户设备之间的匹配阶段的一部分,向具有生物特征传感器的访问设备提供对应于所述验证者私钥的验证者公钥,从而使得所述访问设备能够验证所述签名。
20.如权利要求11所述的方法,其中使用随机向量r生成所述经加密的生物特征向量c,所述方法还包括:
从所述用户设备接收经加密的掩码|s;u|;
生成随机质询向量e;
向所述用户设备发送所述随机质询向量e;
从所述用户设备接收第一响应和第二响应;
使用所述用户公钥,使用由所述第二响应定义的随机性来加密所述第一响应,以获得经加密的响应;以及
确认所述经加密的响应与所述经加密的掩码|s;u|和来自所述随机向量r和所述随机质询向量e的元素re的乘积匹配。
21.一种计算机产品,包括存储多个指令的计算机可读介质,所述多个指令用于控制计算机系统执行任何上述方法的操作。
22.一种系统,包括:
如权利要求21所述的计算机产品;以及
一个或多个处理器,其用于执行存储在所述计算机可读介质上的指令。
CN202180067714.2A 2020-10-23 2021-09-15 用于隐私保护认证的生物特征模板的验证 Pending CN116348873A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/079,279 2020-10-23
US17/079,279 US11546164B2 (en) 2020-10-23 2020-10-23 Verification of biometric templates for privacy preserving authentication
PCT/US2021/050566 WO2022086647A1 (en) 2020-10-23 2021-09-15 Verification of biometric templates for privacy preserving authentication

Publications (1)

Publication Number Publication Date
CN116348873A true CN116348873A (zh) 2023-06-27

Family

ID=81257755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180067714.2A Pending CN116348873A (zh) 2020-10-23 2021-09-15 用于隐私保护认证的生物特征模板的验证

Country Status (4)

Country Link
US (3) US11546164B2 (zh)
EP (1) EP4232923A4 (zh)
CN (1) CN116348873A (zh)
WO (1) WO2022086647A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3419211B1 (en) * 2017-06-23 2022-03-30 Flytxt B.V. Privacy preserving computation protocol for data analytics
US10887090B2 (en) * 2017-09-22 2021-01-05 Nec Corporation Scalable byzantine fault-tolerant protocol with partial tee support
US11727100B1 (en) 2022-06-09 2023-08-15 The Government of the United States of America, as represented by the Secretary of Homeland Security Biometric identification using homomorphic primary matching with failover non-encrypted exception handling
US11902416B2 (en) * 2022-06-09 2024-02-13 The Government of the United States of America, as represented by the Secretary of Homeland Security Third party biometric homomorphic encryption matching for privacy protection
JP7502390B2 (ja) 2022-10-19 2024-06-18 ソフトバンク株式会社 認証システム及び認証方法
CN116743381B (zh) * 2023-08-14 2023-10-13 深圳汉德霍尔科技有限公司 一种rfid读写数据安全管理方法
US11991281B1 (en) * 2023-10-31 2024-05-21 Massood Kamalpour Systems and methods for digital data management including creation of storage location with storage access id

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180261A1 (en) 2004-06-09 2007-08-02 Koninklijke Philips Electronics, N.V. Biometric template protection and feature handling
EP2680488B1 (en) * 2011-02-22 2019-08-21 Mitsubishi Electric Corporation Similarity calculation system, similarity calculation device, computer program, and similarity calculation method
US10122710B2 (en) * 2012-04-19 2018-11-06 Pq Solutions Limited Binding a data transaction to a person's identity using biometrics
WO2016017970A1 (en) 2014-07-31 2016-02-04 Samsung Electronics Co., Ltd. Method and device for encrypting or decrypting content
CN108475447B (zh) 2015-11-04 2021-07-16 拉奇股份有限公司 用于控制对物理空间的访问的系统和方法
JP6507115B2 (ja) 2016-03-22 2019-04-24 株式会社日立製作所 1:n生体認証・暗号・署名システム
SE1750282A1 (sv) * 2017-03-13 2018-09-14 Fingerprint Cards Ab Updating biometric data templates
WO2018174063A1 (ja) * 2017-03-21 2018-09-27 日本電気株式会社 照合システム、方法、装置及びプログラム
CN110999212B (zh) 2017-08-10 2023-10-31 维萨国际服务协会 使用生物特征识别和隐私保护方法在线认证账户持有者
US11368308B2 (en) 2019-01-11 2022-06-21 Visa International Service Association Privacy preserving biometric authentication
KR20200099290A (ko) * 2019-02-14 2020-08-24 삼성전자주식회사 전자 장치 및 그 제어 방법
US10574466B1 (en) 2019-07-11 2020-02-25 Clover Network, Inc. Authenticated external biometric reader and verification device
US11250116B2 (en) 2019-10-25 2022-02-15 Visa International Service Association Optimized private biometric matching

Also Published As

Publication number Publication date
US11546164B2 (en) 2023-01-03
EP4232923A4 (en) 2024-04-03
EP4232923A1 (en) 2023-08-30
US11831780B2 (en) 2023-11-28
US20220131698A1 (en) 2022-04-28
US20230120343A1 (en) 2023-04-20
US20240048390A1 (en) 2024-02-08
WO2022086647A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
US11831780B2 (en) Verification of biometric templates for privacy preserving authentication
US11770369B2 (en) System and method for identity verification across mobile applications
CN110781521B (zh) 基于零知识证明的智能合约认证数据隐私保护方法及系统
Jiang et al. Three-factor authentication protocol using physical unclonable function for IoV
US11764965B2 (en) Privacy preserving biometric authentication
CN112889047A (zh) 利用多个装置以增强生物计量认证安全
US10873447B2 (en) Efficient concurrent scalar product calculation
JP7139414B2 (ja) 認証端末、認証装置、並びにこれを用いた認証方法及びシステム
CN114521319B (zh) 具有均匀秘密的基于格的签名
US11429702B2 (en) Method of verification of a biometric authentication
Yeh et al. A robust mobile payment scheme with smart contract-based transaction repository
US11810110B2 (en) Method of processing a transaction sent from a proof entity
Vaudenay Private and secure public-key distance bounding: application to NFC payment
Agrawal et al. Game-set-MATCH: Using mobile devices for seamless external-facing biometric matching
EP4185976A1 (en) Facial recognition tokenization
Deswarte et al. A Proposal for a Privacy-preserving National Identity Card.
Algubili et al. EPSAPI: An efficient and provably secure authentication protocol for an IoT application environment
US20240187238A1 (en) System and method for zero-knowledge facial recognition
KR102322435B1 (ko) 퍼지 데이터로부터 동일한 키를 추출하는 방법 및 이를 이용한 사용자 인증 방법
Liu et al. EQRC: A secure QR code-based E-coupon framework supporting online and offline transactions
CN112166577B (zh) 高效的并发标量积计算方法和系统
Alhothaily Secure Verification for Payment and Banking Systems
Ivey Contactless Payments with Provable Protection Against Proximity-based Attacks
Gunasinghe Privacy Enhancing Techniques for Digital Identity Management
CN117294416A (zh) 基于区块链的抗恶意敌手投票方法

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