Patents by Inventor Taher Elgamal

Taher Elgamal has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20220029796
    Abstract: A client may transmit an authentication request to a server. the server may initiate a key agreement process using a short-lived private key generated at the server and a public key of the device, generate a shared secret, and derive a symmetric key. The symmetric key may be used to encrypt a random challenge. Further, the server initiates a key agreement process for the client using the partial private key that was generated for the client and the short-lived public key generated at the server. A partial key agreement result and the encrypted random challenge may be transmitted to the client. The client may complete the key agreement process using the partial key agreement result and a respective portion of the private key. The client may derive the encryption key and decrypt the random challenge. An indication of the random challenge may be transmitted to the server, which authenticates the client.
    Type: Application
    Filed: July 24, 2020
    Publication date: January 27, 2022
    Inventors: Prasad Peddada, Taher Elgamal
  • Publication number: 20220029790
    Abstract: A client system may generate a new key pair for a secrets management process. The client may generate a shared secret using the private key of the new key pair and a public key of a secrets management server. Using the shared secret, the client may derive an encryption key and encrypt a data payload for subsequent decryption by the secrets management server. Upon encryption of the data payload, the client may erase the private key. Subsequently, the client or an associated client may call the secrets management server for decryption of the data payload. The secrets management server may derive the encryption key using the public key associated with the encrypted payload and the private key of the secrets management server and use the encryption key to decrypt the data payload for use by the client or an associated client.
    Type: Application
    Filed: July 24, 2020
    Publication date: January 27, 2022
    Inventors: Prasad Peddada, Taher Elgamal, Aaron Marcus Johnson
  • Patent number: 11233636
    Abstract: A client may transmit an authentication request to a server. the server may initiate a key agreement process using a short-lived private key generated at the server and a public key of the device, generate a shared secret, and derive a symmetric key. The symmetric key may be used to encrypt a random challenge. Further, the server initiates a key agreement process for the client using the partial private key that was generated for the client and the short-lived public key generated at the server. A partial key agreement result and the encrypted random challenge may be transmitted to the client. The client may complete the key agreement process using the partial key agreement result and a respective portion of the private key. The client may derive the encryption key and decrypt the random challenge. An indication of the random challenge may be transmitted to the server, which authenticates the client.
    Type: Grant
    Filed: July 24, 2020
    Date of Patent: January 25, 2022
    Assignee: salesforce.com, inc.
    Inventors: Prasad Peddada, Taher Elgamal
  • Publication number: 20220021524
    Abstract: Methods and systems for securing customer data in a multi-tenant database environment are described. A key identifier received from a security server may be stored by an application server. The key identifier may be associated with a private key that is accessible by the security server and not accessible by the application server. A request to derive a symmetric key may be transmitted from the application server to the security server, the request including a public key generated by the application server, a salt value, and the key identifier. The symmetric key may then be derived based on the transmitted public key and the private key using a key derivation function. The application server may then receive and store the symmetric key in an in-memory cache, and be used to securely encrypt data received by the application server from client devices.
    Type: Application
    Filed: July 16, 2020
    Publication date: January 20, 2022
    Inventors: Prasad Peddada, Taher Elgamal, Aaron Johnson, Ryan Guest
  • Publication number: 20220021525
    Abstract: Methods and systems for securing customer data in a multi-tenant database environment are described. A key identifier received from a security server may be stored by an application server. The key identifier may be associated with a private key that is accessible by the security server and not accessible by the application server. A request to derive a symmetric key may be transmitted from the application server to the security server, the request including a public key generated by the application server, a salt value, and the key identifier. The symmetric key may then be derived based on the transmitted public key and the private key using a key derivation function. The application server may then receive and store the symmetric key in an in-memory cache, and be used to securely encrypt data received by the application server from client devices.
    Type: Application
    Filed: July 16, 2020
    Publication date: January 20, 2022
    Inventors: Prasad PEDDADA, Taher Elgamal, Aaron Johnson, Ryan Guest
  • Patent number: 11190344
    Abstract: A method is disclosed. The method includes, in a client device, acquiring first and second asymmetric cryptographic key pairs for a user, where each key pair includes a public key and a corresponding private key, securing the private key of the second key pair in a cryptographic processor, and splitting the private key of the first key pair into plural private key fragments, so that a sum of the plural private key fragments equals the private key of the first key pair. The method further includes storing at least one of the plural private key fragments on the client device, and registering the user with an identity service not hosted on the client device. Registering the user includes providing to the identity service, for use in securely authenticating the user, the public keys of the first and second key pairs, and the plural private key fragment(s) excluding the at least one private key fragment secured on the client device.
    Type: Grant
    Filed: May 29, 2019
    Date of Patent: November 30, 2021
    Assignee: SALESFORCE.COM, INC.
    Inventors: Prasad Peddada, Taher Elgamal
  • Patent number: 11157630
    Abstract: Methods, systems, and devices for data migration are described. In a system, databases may utilize different database-specific encryption keys for storage security. In some cases, the system may migrate data from a source database to a target database. To securely migrate the data, the source database may generate a temporary encryption key. The source database may decrypt the data using its database-specific key and may re-encrypt the data using this temporary encryption key. Additionally, the source database may wrap the temporary key with a public key corresponding to the target database. The source database may send the re-encrypted data and the wrapped temporary key to the target database. The target database may unwrap the temporary key using a private key associated with the public key and may decrypt the data using the temporary key before re-encrypting the data with its database-specific key for data storage.
    Type: Grant
    Filed: May 7, 2018
    Date of Patent: October 26, 2021
    Assignee: salesforce.com, inc.
    Inventors: Prasad Peddada, Taher ElGamal
  • Patent number: 11095634
    Abstract: Techniques are disclosed relating to user authentication using multi-party computation and public key cryptography. In some embodiments, a client system may receive, from a server system, an authentication challenge that includes a first partial signature value. The client system may access key-pair information that includes, for a server key-pair, a server public key and a second component of a server private key, where the server system has access to a first component of the server private key. The client system may then generate a second partial signature value using the second component of the server private key but not an entirety of the server private key, and may generate a final signature value based on the first and second partial signature values. Using the final signature value, the client system may then determine whether the authentication challenge was sent by the server system.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: August 17, 2021
    Assignee: salesforce.com, inc.
    Inventors: Prasad Peddada, Taher Elgamal
  • Publication number: 20210226938
    Abstract: Techniques are disclosed relating to user authentication using multi-party computation and public key cryptography. In some embodiments, a server may receive, from a client, a request to authenticate a user to a service. The server may access key-pair information that includes, for a server key-pair, a first component of a server private key and, for a client key-pair, a client public key and a first component of a client private key. The server may generate a partial signature value that is based on the first component, but not the entirety, of the server private key. The server may send, to the client, an authentication challenge that includes challenge information and the partial signature value. The server may then determine whether to authenticate the user based on an authentication response from the client.
    Type: Application
    Filed: April 2, 2021
    Publication date: July 22, 2021
    Inventors: Prasad Peddada, Taher Elgamal
  • Publication number: 20210110399
    Abstract: Systems and methods for assessing and authenticating transactions. Some exemplary embodiments may authenticate transactions based at least in part on a comparison of a newly obtained electronic signature associated with a user with a previously obtained electronic signature associated with the user, where a payment instrument presented for use in the transaction is also associated with the user. Exemplary electronic signatures may comprise any information which may identify the user, such as browser fingerprints, computer fingerprints, IP addresses, geographic IP location information, information associated with a payment, and/or a typing pattern.
    Type: Application
    Filed: December 21, 2020
    Publication date: April 15, 2021
    Inventors: Dan Kolkowitz, Taher Elgamal, Kieran Gerard Sherlock
  • Patent number: 10951406
    Abstract: Methods, systems, and devices for encryption key storage are described. An application server may store an encryption key in volatile memory and access the key directly from the volatile memory when performing an encryption process. In some cases, a user may supply the encryption key to the application server on demand. Accordingly, when the application server is restarted, the encryption key may be purged from the memory. In some cases, the encryption key may be wrapped in a public key, and the application server may derive a private key to decrypt the public key-encrypted information to access the encryption key and store it in the volatile memory. Additionally or alternatively, the user may supply a first fragment of the encryption key, and the application server may derive the encryption key from the first fragment and a second fragment of the encryption key retrieved from a database.
    Type: Grant
    Filed: January 24, 2018
    Date of Patent: March 16, 2021
    Assignee: salesforce.com, inc.
    Inventors: Prasad Peddada, Taher ElGamal
  • Patent number: 10872338
    Abstract: Systems and methods for assessing and authenticating transactions. Some exemplary embodiments may authenticate transactions based at least in part on a comparison of a newly obtained electronic signature associated with a user with a previously obtained electronic signature associated with the user, where a payment instrument presented for use in the transaction is also associated with the user. Exemplary electronic signatures may comprise any information which may identify the user, such as browser fingerprints, computer fingerprints, IP addresses, geographic IP location information, information associated with a payment, and/or a typing pattern.
    Type: Grant
    Filed: September 1, 2016
    Date of Patent: December 22, 2020
    Assignee: IdentityMind Global, Inc.
    Inventors: Dan Kolkowitz, Taher Elgamal, Kieran Gerard Sherlock
  • Publication number: 20200252382
    Abstract: Techniques are disclosed relating to user authentication using multi-party computation and public key cryptography. In some embodiments, a client system may receive, from a server system, an authentication challenge that includes a first partial signature value. The client system may access key-pair information that includes, for a server key-pair, a server public key and a second component of a server private key, where the server system has access to a first component of the server private key. The client system may then generate a second partial signature value using the second component of the server private key but not an entirety of the server private key, and may generate a final signature value based on the first and second partial signature values. Using the final signature value, the client system may then determine whether the authentication challenge was sent by the server system.
    Type: Application
    Filed: January 31, 2019
    Publication date: August 6, 2020
    Inventors: Prasad Peddada, IV, Taher Elgamal
  • Publication number: 20200235940
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for facilitating dynamic end-to-end integrity for data repositories in an on-demand services environment, where a database system-implemented method includes receiving, by the database system, a content file and metadata to be submitted to a data repository of the database system. The content file may include content, where the metadata may include identifying data associated with at least one of the content and a user associated with the content. The method may include verifying, by the database system, the identifying data of the metadata. The verification of the identifying data represents authentication of at least one of the user and the content. The method may include submitting, by the database system, the content file and the metadata to the data repository, upon authentication of at least one of the user and the content via successful verification of the identifying data.
    Type: Application
    Filed: November 25, 2019
    Publication date: July 23, 2020
    Inventors: SHILOH CORY HEURICH, FRANK SIEBENLIST, TAHER ELGAMAL, CLAYTEN TYLER JOSEPH HAMACHER, MATTHEW STEELE, PATHIK ASHOK SOLANKI, MATTHEW B. SCHECHTMAN
  • Patent number: 10637658
    Abstract: In a computing system, methods for secure OS level login authentication for internal users to access servers. Some or all servers in a group each utilize a local ID Service for generating and validating a challenge responsive to an OS login request. The challenge is processed in a centralized secure server HSM. Rather than copying individual user public keys to each host in the data center, we need only copy the public key of the HSM to each host in the group. When a user attempts OS level login to a host, it encrypts the challenge using the public key of the HSM and forwards the request for processing in the HSM. There, it decrypts the challenge using the private key in the HSM and re-encrypts the challenge with the public key of the individual user. The user's mobile device, previously registered, is required to complete the authentication process.
    Type: Grant
    Filed: March 31, 2017
    Date of Patent: April 28, 2020
    Assignee: SALESFORCE.COM, INC.
    Inventors: Prasad Peddada, Taher Elgamal
  • Patent number: 10594685
    Abstract: Methods, systems, and devices for user authentication are described. A user may attempt an authentication procedure when accessing an application or cloud platform. When the user requests access to the application or cloud platform, a server may determine one or more unique identifiers to display at a first application for the user, and the user may select one of the unique identifiers. The server may then display unique identifiers (e.g., in some cases, the same unique identifiers) at a second application associated with the user. The user may verify that the selected unique identifier is displayed on the second application, and may select the same unique identifier in the second application. Additionally, the user may input a user-specific identifier to confirm their identity. The server may authenticate the user's identity if the user selected matching unique identifiers, and if the user-specific identifier matches an expected identifier for the user.
    Type: Grant
    Filed: October 19, 2017
    Date of Patent: March 17, 2020
    Assignee: salesforce.com, inc.
    Inventors: Prasad Peddada, Taher Elgamal, Gursev Singh Kalra
  • Patent number: 10541811
    Abstract: Embodiments include an apparatus for securing customer data and include a processor, and one or more stored sequences of instructions which, when executed, cause the processor to store an encrypted first key fragment in a first storage area, store an encrypted second key fragment in a separate second storage area, wherein access to the first storage area and to the second storage area is mutually exclusive. The instructions further cause the processor to decrypt the encrypted first key fragment and the encrypted second key fragment using a key set and keys associated with a hardware security module based on receiving a request to derive a master key. The master key is derived using the decrypted first key fragment and the decrypted second key fragment and stored in an in-memory cache. The master key is used to encrypt or to decrypt encrypted customer data.
    Type: Grant
    Filed: March 2, 2015
    Date of Patent: January 21, 2020
    Assignee: salesforce.com, inc.
    Inventors: Prasad Peddada, Jeremy Horwitz, Taher Elgamal, Matthew Steele, Ryan Guest
  • Patent number: 10491398
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for facilitating dynamic end-to-end integrity for data repositories in an on-demand services environment, where a database system-implemented method includes receiving, by the database system, a content file and metadata to be submitted to a data repository of the database system. The content file may include content, where the metadata may include identifying data associated with at least one of the content and a user associated with the content. The method may include verifying, by the database system, the identifying data of the metadata. The verification of the identifying data represents authentication of at least one of the user and the content. The method may include submitting, by the database system, the content file and the metadata to the data repository, upon authentication of at least one of the user and the content via successful verification of the identifying data.
    Type: Grant
    Filed: September 12, 2014
    Date of Patent: November 26, 2019
    Assignee: salesforce.com, inc.
    Inventors: Shiloh Cory Heurich, Frank Siebenlist, Taher Elgamal, Clayten Tyler Joseph Hamacher, Matthew Steele, Pathik Ashok Solanki, Matthew B. Schechtman
  • Patent number: 10476855
    Abstract: Systems and methods for identify confirmation and transaction security are described. The system generates a challenge. The system transmits to a client computing system an encrypted challenge generated using the challenge and a public key of an asymmetric key pair to a client computing system. The system fragments a private key of the asymmetric key pair into a first, second and third private key fragments. The system generates a first partially decrypted challenge using the first private key fragment and the encrypted challenge. The system receives a second and a third partially decrypted challenges from the client computing system. The system generates a decrypted challenge using the first, second and third partially decrypted challenges. The system compares the decrypted challenge and the challenge for identity verification.
    Type: Grant
    Filed: August 29, 2017
    Date of Patent: November 12, 2019
    Assignee: salesforce.com, inc.
    Inventors: Prasad Peddada, Taher Elgamal
  • Publication number: 20190340251
    Abstract: Methods, systems, and devices for data migration are described. In a system, databases may utilize different database-specific encryption keys for storage security. In some cases, the system may migrate data from a first (i.e., source) database to a second (i.e., target) database. To securely migrate the data, the source database may generate a temporary encryption key. The source database may decrypt the data using its database-specific key and may re-encrypt the data using this temporary encryption key. Additionally, the source database may wrap the temporary key with a public key corresponding to the target database. The source database may send the re-encrypted data and the wrapped temporary key to the target database. The target database may unwrap the temporary key using a private key associated with the public key and may decrypt the data using the temporary key before re-encrypting the data with its database-specific key for data storage.
    Type: Application
    Filed: May 7, 2018
    Publication date: November 7, 2019
    Inventors: Prasad Peddada, Taher ElGamal