IP Library Granted Patent US 10,873,461
Granted Patent B2
US 10,873,461 · App. 16/035,301 · Granted Dec 22, 2020

Zero-knowledge multiparty secure sharing of voiceprints

Inventors: Payas Gupta (Atlanta, GA); Terry Nelms (Atlanta, GA)
Assignee: Pindrop Security, Inc.
H04L9/3231G10L17/06G10L17/22H04L9/0841H04L9/0869H04L9/3013H04L9/3066H04L9/3218
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,873,461
App. No.
16/035,301
Granted
Dec 22, 2020
Kind
B2
Abstract

Disclosed herein are embodiments of systems and methods for zero-knowledge multiparty secure sharing of voiceprints. In an embodiment, an illustrative computer may receive, through a remote server, a plurality of encrypted voiceprints. When the computer receives an incoming call, the computer may generate a plaintext i-vector of the incoming call. Using the plaintext i-vector and the encrypted voiceprints, the computer may generate one or more encrypted comparison models. The remote server may decrypt the encrypted comparison model to generate similarity scores between the plaintext i-vector and the plurality of encrypted voiceprints.

Claims (52)

1. A computer implemented method comprising:

receiving, by a computer from a first client computer, an encrypted voiceprint model and a random number, wherein the random number is encrypted using a public key of the computer;

decrypting, by the computer, the random number using a private key of the computer;

transmitting, by the computer, the encrypted voiceprint model generated by the first client computer to a second client computer;

receiving, by the computer, one or more encrypted comparison models generated by the second client computer based upon comparing the encrypted voiceprint model generated by the first client computer and a plaintext voiceprint generated by the second client computer;

determining, by the computer, a similarity score between the encrypted voiceprint model generated by the first client computer and the plaintext voiceprint generated by the second client computer using the random number on the one or more encrypted comparison models; and

transmitting, by the computer, the similarity score to the second client computer to authenticate a speaker of a voice associated with the plaintext voiceprint or to identify a fraudulent caller.

2. The method of claim 1 , wherein the encrypted voiceprint model is encrypted using properties from a Diffie-Hellman key exchange protocol.

3. The method of claim 1 , wherein the encrypted voiceprint model is encrypted using properties from an elliptical curve cryptography key exchange protocol.

4. The method of claim 1 , wherein determining the similarity score comprises:

retrieving, by the computer, the similarity score from a stored dictionary using the one or more encrypted comparison models.

5. The method of claim 1 , further comprising:

receiving, by the computer from the first client computer, an encrypted second random number encrypted using a public key of the second client computer; and

transmitting, by the computer to the second client computer, the second random number, whereby the second client computer decrypts the second random number using a private key of the second client computer and uses the second random number to generate the one or more encrypted comparison models.

6. The method of claim 1 , wherein the one or more encrypted comparison models comprise a first matrix and a second matrix.

7. The method of claim 6 , wherein determining the similarity score comprises:

dividing, by the computer, the first matrix by the second matrix indexed by the random number.

8. The method of claim 6 , wherein determining the similarity score comprises:

subtracting, by the computer, the product of the second matrix with the random number from the first matrix.

9. The method of claim 1 , wherein the encrypted voiceprint model comprises a plurality of voiceprints associated with the first client computer.

10. A computer implemented method comprising:

receiving, by a first computer from a third party server, an encrypted voiceprint model generated at a second computer and an encrypted random number encrypted using a public key of the first computer;

decrypting, by the first computer, the random number using a private key of the first computer;

extracting, by the first computer, a plaintext voiceprint from an audio;

generating, by the first computer, one or more encrypted comparison models based upon the encrypted voiceprint model generated at the second computer, the plaintext voiceprint generated at the first computer, and the random number;

transmitting, by the first computer, the one or more encrypted comparison models to the third party server;

receiving, by the first computer from the third party server, a similarity score between the encrypted voiceprint model and the plaintext voiceprint; and

identifying, by the first computer, a speaker of a voice in the audio based on the similarity score or a fraudulent caller.

11. The method of claim 10 , wherein the first computer detects the speaker in real-time.

12. The method of claim 10 , wherein the encrypted voiceprint model is encrypted using the properties from a Diffie-Hellman key exchange protocol.

13. The method of claim 10 , wherein the encrypted voiceprint model is encrypted using the properties from an elliptical curve cryptography key exchange protocol.

14. The method of claim 10 , wherein the first computer generates the one or more encrypted comparison models by:

indexing, by the first computer, one or more matrices in the encrypted voiceprint model by the plaintext voiceprint generated from the phone call to generate one or more intermediate matrices; and

multiplying, by the first computer in the intermediate matrices, elements of each row among themselves.

15. The method of claim 14 , further comprising:

performing, by the first computer, one or more dictionary lookups in real time to retrieve one or more values of the one or more encrypted comparison models.

16. The method of claim 10 , wherein the first computer generates the one or more encrypted comparison models by:

multiplying, by the first computer, one or more matrices in the encrypted voiceprint model by the plaintext voiceprint generated from the phone call to generate one or more intermediate matrices; and

adding, by the first computer in the intermediate matrices, elements of each row among themselves.

17. The method of claim 16 , further comprising:

performing, by the first computer, one or more dictionary lookups in real time to retrieve one or more values of the one or more encrypted comparison models.

18. A system comprising:

a non-transitory storage medium configured to store a plurality of encrypted voiceprint models and a lookup table for encrypted similarity scores and corresponding plaintext similarity scores;

a processor coupled to the non-transitory storage medium and configured to:

receive from a first client computer, an encrypted voiceprint model and an encrypted random number, wherein the random number is encrypted using a public key of the computer;

decrypt the random number using a private key of the computer;

transmit the encrypted voiceprint model to a second client computer;

receive one or more encrypted comparison models generated by the second computer based upon comparing the encrypted voiceprint model generated at the first client computer and a plaintext voiceprint generated at the second client computer;

determine an encrypted similarity score between the encrypted voiceprint model generated at the first client computer and the plaintext voiceprint generated at the second client computer using the random number on the one or more encrypted comparison models; and

retrieve from the lookup table in the non-transitory storage medium a plaintext similarity score corresponding to the encrypted similarity score.

19. The system of claim 18 , wherein the encrypted voiceprint model is encrypted using properties from a Diffie-Hellman key exchange protocol.

20. The system of claim 18 , wherein the encrypted voiceprint model is encrypted using properties from an elliptical curve cryptography key exchange protocol.

Assignments (4)
SECURITY INTEREST Recorded Jun 26, 2024
From: PINDROP SECURITY, INC.
To: HERCULES CAPITAL, INC., AS AGENT
Reel/Frame 067867/0860 →
RELEASE OF SECURITY INTEREST Recorded Jun 26, 2024
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: PINDROP SECURITY, INC.
Reel/Frame 069477/0962 →
SECURITY INTEREST Recorded Jul 31, 2023
From: PINDROP SECURITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064443/0584 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2018
From: GUPTA, PAYAS; NELMS, TERRY
To: PINDROP SECURITY, INC.
Reel/Frame 046406/0042 →
Continuity (2)
Provisional Application 62532218 · Jul 13, 2017
Related Publication 20190020482A1 · Jan 17, 2019
Cited By (1)
US 12,719,673