Back to results
US 9,866,382 B2Granted
Secure app-to-app communication
AssigneeMobile Iron, Inc.
InventorsThomas Edward Wagner, Robert Elliott Whiteman
Life of this patent
Estimating the term…
Abstract
Secure application-to-application communication is disclosed. A shared encryption key may be used to encrypt data to be transferred from a first mobile application to a second mobile application. The encrypted data is provided to a shared storage location. The second mobile application is configured to retrieve the encrypted data from the shared storage location.
Claims27
A method, comprising:
- providing, directly from a first mobile application of a mobile device to a second mobile application of the mobile device, a first encryption information associated with the first mobile application to establish encrypted information exchange, wherein the first encryption information is validated by a library associated with the second mobile application, wherein the library configures the second mobile application to respond with a second encryption information in the event the first mobile application is validated and not to respond with the second encryption information in the event the first mobile application is not validated;
- in the event the first mobile application is validated, receiving the second encryption information associated with the second mobile application;
- generating a shared encryption key based at least in part on the first encryption information and the second encryption information;
- using the shared encryption key to encrypt data to be transferred from the first mobile application to the second mobile application;
- determining whether a shared storage location with which to share data with the second mobile application exists;
- in the event the shared storage location does not exist:
- generating, by the first mobile application, the shared storage location with which to share data with the second mobile application;
- and
- providing the encrypted data to the shared storage location;
- in the event the shared storage location does exist, providing the encrypted data to the shared storage location;
- and
- providing, from the first mobile application to the second mobile application, an identifier usable to retrieve data from the shared storage location, wherein the second mobile application is configured to retrieve the encrypted data from the shared storage location using the identifier.
9 more elements
A system, comprising:
- a processor;
- and
- a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:
- provide, directly from a first mobile application of the system to a second mobile application of the system, a first encryption information associated with the first mobile application to establish encrypted information exchange, wherein the first encryption information is validated by a library associated with the second mobile application, wherein the library configures the second mobile application to respond with a second encryption information in the event the first mobile application is validated and not to respond with the second encryption information in the event the first mobile application is not validated;
- in the event the first encryption information is validated, receive the second encryption information associated with the second mobile application;
- generate a shared encryption key based at least in part on the first encryption information and the second encryption information;
- use a shared encryption key to encrypt data to be transferred from the first mobile application to the second mobile application;
- determine whether a shared storage location with which to share data with the second mobile application exists;
- in the event the shared storage location does not exist:
- generate, by the first mobile application, the shared storage location with which to share data with the second mobile application;
- provide the encrypted data to the shared storage location;
- in the event the shared storage location does exist, providing the encrypted data to the shared storage location;
- and
- provide, from the first mobile application to the second mobile application, an identifier usable to retrieve data from the shared storage location, wherein the second mobile application is configured to retrieve the encrypted data from the shared storage location using the identifier.
11 more elements
A computer program product, the computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:
- providing, directly from a first mobile application of a mobile device to a second mobile application of the mobile device, a first encryption information associated with the first mobile application to establish encrypted information exchange, wherein the first encryption information is validated by a library associated with the second mobile application, wherein the library configures the second mobile application to respond with a second encryption information in the event the first mobile application is validated and not to respond with the second encryption information in the event the first mobile application is not validated;
- in the event the first encryption information is validated, receiving the second encryption information associated with the second mobile application;
- generating a shared encryption key based at least in part on the first encryption information and the second encryption information;
- using a shared encryption key to encrypt data to be transferred from the first mobile application to the second mobile application;
- determining whether a shared storage location with which to share data with the second mobile application exists;
- in the event the shared storage location does not exist:
- generating, by the first mobile application, a shared storage location with which to share data with the second mobile application;
- and
- providing the encrypted data to the shared storage location;
- in the event the shared storage location does exist, providing the encrypted data to the shared storage location;
- and
- providing, from the first mobile application to the second mobile application, an identifier usable to retrieve data from the shared storage location, wherein the second mobile application is configured to retrieve the encrypted data from the shared storage location using the identifier.
9 more elements
Dependencies are inferred from the claim text.