# US 2018/0027018 A1 · System and Method for Sharing Information in a Private Ecosystem

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0027018 A1
- Document ID: US20180027018A1
- Status: Published application
- Kind: A1
- Application number: 15/214,047
- Filed: 2016-07-19
- Published: 2018-01-25
- Earliest claimed: 2016-07-19
- Assignees: JPMorgan Chase Bank, N.A.
- Applicants: JPMorgan Chase Bank, N.A.
- Inventors: Gil McErlane; Raj Sharma; Gene Fernandez; Rory Macdonald
- Web page: https://patentgrep.com/patent/US20180027018A1

## CPC

- H04L 63/168: {above the transport layer}
- H04L 9/0863: {involving passwords or one-time passwords (network architectures or network communication protocols for using one-time keys in a packet data network H04L63/067)}
- H04L 9/0872: {using geo-location information, e.g. location data, time, relative position or proximity to other entities}
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/083: {using passwords (cryptographic mechanisms or cryptographic arrangements for entity authentication using a predetermined code H04L9/3226)}
- G06F 21/62: Protecting access to data via a platform, e.g. using keys or access control rules
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method are disclosed for controlling a restricted ecosystem of software applications. The method may include originating software applications from a vendor, associating a collection of the software applications with a user, controlling the distribution of the collection of software applications to the user, controlling access to the collection of software applications based on user credentials, and controlling the installing and updating of the collection of software applications. The method may additionally include executing a first software application from the collection of software applications, executing a second software application, and transferring data from the first software application to the second software application. The method may additionally include transferring data from the first software application to a web service.

## Claims

### Claim 1

A method for securely transferring data between at least two software applications within a restricted ecosystem of software applications, the method comprising:
loading a first of said at least two software applications onto an application loader;
encrypting transport data to transfer from said first of said at least two software applications to a second of said at least two software applications, said transport data being encrypted with a master key;
storing said encrypted transport data at a first location in a computer memory, said first location being chosen substantially at random;
storing, at a second location in said computer memory, said master key and a first address of said first location, a second address of said second location being generated from a keychain location cipher seed; and
communicating said keychain location cipher seed to said second of said at least two software applications.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
generating a user passcode key from a user passcode cipher seed; and
encrypting said master key with a user passcode key.

### Claim 3 (depends on 2)

The method of claim 2, further comprising communicating said user passcode cipher seed to said second of said at least two software applications.

### Claim 4 (depends on 2)

The method of claim 2, wherein said encrypted master key is combined or merged with said first address of said first location before they are stored at said second location.

### Claim 5 (depends on 1)

The method of claim 1, wherein said transport data comprises security information for authenticating said first of said at least two software applications.

### Claim 6 (depends on 1)

The method of claim 1, wherein said transport data comprises security information for authenticating a user of one of said at least two software applications.

### Claim 7 (depends on 1)

The method of claim 1, wherein said at least two software applications are executing on a single computing device.

### Claim 8 (depends on 1)

The method of claim 1, wherein said at least two software applications are executing on different computing devices.

### Claim 9 (depends on 1)

The method of claim 1, wherein said at least two software applications are associated with a single user.

### Claim 10 (depends on 1)

The method of claim 1, wherein said at least two software applications are associated with different users.

### Claim 11

A mobile communications system for transferring data between at least two software applications within a restricted ecosystem of software applications, the system comprising:
at least one computer memory storing instructions; and
at least one computer processor programmed for providing at least one application loader and at least one ecosystem controller,
said at least one application loader for loading said at least two software applications onto said at least one computer processor for execution,
said at least one ecosystem controller programmed to:
load a first of said at least two software applications onto said at least one application loader,
encrypt transport data to transfer from a first of said at least two software applications to a second of said at least two software applications, said transport data being encrypted with a master key,
store said encrypted transport data at a first location in a computer memory, said first location being chosen substantially at random,
store, at a second location in said computer memory, said master key and a first address of said first location, a second address of said second location being generated from a keychain location cipher seed, and
communicate said keychain location cipher seed to said second of said at least two software applications.

### Claim 12 (depends on 11)

The system of claim 11, said at least one ecosystem controller being further programmed to:
generate a user passcode key from a user passcode cipher seed; and
encrypt said master key with a user passcode key.

### Claim 13 (depends on 12)

The system of claim 12, said at least one ecosystem controller being further programmed to communicate said user passcode cipher seed to said second of said at least two software applications.

### Claim 14 (depends on 12)

The system of claim 12, wherein said encrypted master key is combined or merged with said first address of said first location before they are stored at said second location.

### Claim 15 (depends on 11)

The system of claim 11, wherein said transport data comprises security information for authenticating said first of said at least two software applications.

### Claim 16 (depends on 11)

The system of claim 11, wherein said transport data comprises security information for authenticating a user of one of said at least two software applications.

### Claim 17 (depends on 11)

The system of claim 11, wherein said at least two software applications are executing on a single computing device.

### Claim 18 (depends on 11)

The system of claim 11, wherein said at least two software applications are executing on different computing devices.

### Claim 19 (depends on 11)

The system of claim 11, wherein said at least two software applications are associated with a single user.

### Claim 20 (depends on 11)

The system of claim 11, wherein said at least two software applications are associated with different users.

### Claim 21 (depends on 11)

The system of claim 11, said at least one ecosystem controller being further programmed to:
receive said keychain location cipher seed for said second of said at least two software applications;
generate said second address of said second location based on said received keychain location cipher seed;
retrieve, from said second location, said master key and said first address of said first location; and
decrypt, with said master key, said encrypted transport data retrieved from said first location.

### Claim 22

A method for securely transferring data between at least two software applications within a restricted ecosystem of software applications, the method comprising:
loading a first of said at least two software applications onto an application loader;
receiving, from a second of said at least two software applications, a keychain location cipher seed;
generating a first address of a first location based on said received keychain location cipher seed, said first location being part of at least one computer memory;
retrieving, from said first location, a master key and a second address of a second location, said second location being part of said at least one computer memory;
retrieving, from said second location, encrypted transport data; and
decrypting said encrypted transport data with said retrieved master key.
