Systems and methods for cryptographic security as a service

US10362006B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10362006-B2
Application numberUS-201313838995-A
CountryUS
Kind codeB2
Filing dateMar 15, 2013
Priority dateMar 15, 2013
Publication dateJul 23, 2019
Grant dateJul 23, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system and a computer-based method for providing bundled services to a client application in a service call to a service system in a service provider computer system includes receiving a message defining an API service request comprising at least a parameter portion and a payload portion, determining at the gateway system an identity of an application transmitting the received message using identity information that has been established within the service provider computer system, providing, by a services platform, at least one of encryption services and decryption services for data contained in the payload portion using the parameters received in the parameter portion, managing key material for security of the data, and transmitting the encrypted data back to the calling application.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-based method for providing remote cryptographic services to a client application in a service call to a service system in a service provider computer system, said method comprising: storing identity information for a plurality of client applications; generating, by a key management services module associated with the service provider computer system, an encryption key, wherein the encryption key is associated with at least one client application of the plurality of client applications, wherein the encryption key is used by a cryptography provider to encrypt application data; exposing a cryptography service provider application programming interface (API) to the plurality of client applications, wherein the cryptography service provider API is configured to i) deliver encryption requests and decryption requests to the cryptography provider, and ii) deliver encrypted data and decrypted data to the plurality of client applications; receiving, via the cryptography service provider API, an encryption request from the at least one client application, wherein the encryption request includes data for an end-user of the at least one client application, wherein the encryption request includes at least one encryption parameter specified by the at least one client application for use in encrypting the data, and wherein the at least one encryption parameter identifies an encryption type and an encryption strength; encrypting the data using the generated encryption key, the encryption type specified by the at least one client application, and the encryption strength specified by the at least one client application; transmitting, via the cryptography service provider API, the encrypted data back to the at least one client application that requested the encryption and without transmitting the encryption key to the at least one client application; storing, on the cryptographic service system, the generated encryption key, the encryption type and encryption strength specified by the at least one client application, and an association between the key and the at least one client application without storing the encrypted data on the cryptographic service system; receiving, from the at least one client application that originally requested the encryption of the encrypted data, a decryption request comprising at least a parameter portion and the encrypted data, wherein the parameter portion defines the encryption type associated with the encrypted data and the encryption strength associated with the encrypted data; determining an identity of the at least one client application transmitting the received message based on the identity information and the parameter portion; locating, from storage on the cryptographic service system, the generated encryption key, the encryption type, and the encryption strength based on the determined identity of the at least one client application; decrypting the encrypted data using the generated encryption key, the encryption type, and the encryption strength; and transmitting the decrypted data back to the at least one client application. 2. The computer-based method of claim 1 , further comprising selecting at least one encryption algorithm from a library of encryption algorithms to apply to the data based on the parameter portion. 3. The computer-based method of claim 2 , further comprising: storing the generated encryption key and the association in a cryptographic key material module. 4. The computer-based method of claim 2 , further comprising selecting a decryption algorithm from a library of decryption algorithms corresponding to the selected encryption algorithm to apply to the received encrypted data based on the parameter portion. 5. The computer-based method of claim 1 , wherein receiving the encryption request further comprises receiving the encryption request from at least one of an application external to the service provider computer system and an application internal to the service provider computer system, and wherein receiving the decryption request further comprises receiving the decryption request from at least one of an application external to the service provider computer system and an application internal to the service provider computer system. 6. The computer-based method of claim 1 , wherein receiving the encryption request comprises receiving a message defining an application programming interface (API) service request from a website associated with the service provider computer system. 7. The computer-based method of claim 1 , wherein receiving the encryption request comprises receiving a message defining an application programming interface (API) service request from an application not associated with the service provider computer system. 8. A computer system for providing remote cryptographic services, the computer system comprising a memory device and a processor in communication with the memory device, the computer system programmed to: store identity information for a plurality of client applications; generate, by a key management services module associated with the service provider computer system, an encryption key, wherein the encryption key is associated with at least one client application of the plurality of client applications, wherein the encryption key is used by a cryptography provider to encrypt application data; expose a cryptography service provider application programming interface (API) to the plurality of client applications, wherein the cryptography service provider API is configured to i) deliver encryption requests and decryption requests to the cryptography provider, and ii) deliver encrypted data and decrypted data to the plurality of client applications; receive, via the cryptography service provider API, an encryption request from the at least one client application, wherein the encryption request includes data for an end-user of the at least one client application, wherein the encryption request includes at least one encryption parameter specified by the at least one client application for use in encrypting the data, and wherein the at least one encryption parameter identifies an encryption type and an encryption strength; encrypt the data using the generated encryption key, the encryption type specified by the at least one client application, and the encryption strength specified by the at least one client application; transmit, via the cryptography service provider API, the encrypted data back to the at least one client application that requested the encryption and without transmitting the encryption key to the at least one client application; store, on the memory device, the generated encryption key, the encryption type and encryption strength specified by the at least one client application, and an association between the key and the at least one client application without storing the encrypted data on the memory device; receive from the at least one client application that originally requested the encryption of the encrypted data, a decryption request comprising at least a parameter portion and the encrypted data, wherein the parameter portion defines the encryption type associated with the encrypted data and the encryption strength associated with the encrypted data; determine an identity of the at least one client application transmitting the received message based on the identity information and the parameter portion; locate, from storage on the memory device, the generated encryption key, the encryption type, and the encryption strength based on the determined identity of the at least one client application; decrypt the encrypted data using the generated encryption key, the encryption type, and the encryption strength; and tran

Assignees

Inventors

Classifications

  • for supporting key management in a packet data network (cryptographic mechanisms or cryptographic arrangements for key management H04L9/08) · CPC title

  • applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding · CPC title

  • for providing a confidential data exchange among entities communicating through data packet networks · CPC title

  • Providing cryptographic facilities or services · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10362006B2 cover?
A system and a computer-based method for providing bundled services to a client application in a service call to a service system in a service provider computer system includes receiving a message defining an API service request comprising at least a parameter portion and a payload portion, determining at the gateway system an identity of an application transmitting the received message using i…
Who is the assignee on this patent?
Mastercard International Inc
What technology area does this patent fall under?
Primary CPC classification H04L63/0471. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jul 23 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).