# US 9,883,395 B2 · Securely accessing secure elements

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

- Number: US 9,883,395 B2
- Document ID: US9883395B2
- Status: Granted
- Kind: B2
- Application number: 14/952,776
- Filed: 2015-11-25
- Published: 2016-05-26
- Granted: 2018-01-30
- Earliest claimed: 2014-11-25
- Assignees: Google Inc.
- Applicants: Google Inc.
- Inventors: Balamourougan Ranganathan; Hiteshkumar M. Shah; Pascal Taillon
- Web page: https://patentgrep.com/patent/US9883395B2

## CPC

- H04W 12/06: Authentication
- H04W 8/205: {Transfer to or from user equipment or user record carrier}
- H04W 12/35: {Protecting application or service provisioning, e.g. securing SIM application provisioning}
- H04W 76/19: Connection re-establishment
- H04L 2463/102: applying security measure for e-commerce
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Direct management of secure element data life cycles by backend servers without requiring direct communications between a trusted service manager (TSM) and a secure element is provided. A backend server client application executing on a mobile computing device enables users to request loading of application data on the secure element. A backend server receives the request to load application data. The backend server requests command scripts needed to load application data from the TSM and encrypts the command scripts with data stored on the backend server. The encrypted command scripts and application data are communicated to the backend server client application, which executes the command scripts and loads the application data onto the secure element via an interface of the mobile computing device.

## Claims

### Claim 1

A computer-implemented method to access secure elements on mobile computing devices, comprising:
receiving, at one or more computing devices and from a backend server client application executing on a mobile computing device, a request to load application data onto a secure element of the mobile computing device;
communicating, using the one or more computing devices, a request for loading instructions needed to load the requested application data onto the secure element to a trusted service manager (TSM) server;
receiving, at the one or more computing devices, the loading instructions from the TSM server, the loading instructions comprising one or more computer executable scripts for loading the application data onto the secure element;
communicating, by the one or more computing devices, the loading instructions and the requested application data to the backend server client application executing on the mobile computing device;
receiving, by the backend server client application, the loading instructions and the requested application data from the one or more computing devices;
loading, by the backend server client application of the mobile computing device, the application data received by the backend server client application from the one or more computing devices, onto the secure element of the mobile computing device by executing the loading instructions and communicating the requested application data to the secure element of the mobile computing device.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving, at the one or more computing devices, a loading report from the backend server client application of the mobile computing device after an attempt to load the application data in the secure element of the mobile computing device, the loading report comprising one or more messages regarding the success or failure of loading the application data;
communicating, by the one or more computing devices, the loading report to the TSM server for verification; and
receiving, at the one or more computing devices, a verification notification from the TSM server, the verification notification indicating whether the attempt to load the application data to the secure element of the mobile computing device failed or succeeded.

### Claim 3 (depends on 1)

The method of claim 1, further comprising: communicating, by the one or more computing, devices, computer-executable instructions to the backend server client application to display a feedback request on a user interface of the user computing device.

### Claim 4 (depends on 3)

The method of claim 3, wherein the feedback request comprises a request to confirm network access for a defined time period, or a request to continue or delay loading of the application data.

### Claim 5 (depends on 1)

The method of claim 1, wherein the one or more computing devices are an electronic wallet server, and wherein the backend server client application is a wallet application.

### Claim 6 (depends on 1)

The method of claim 1, wherein the application data comprises payment account information, a rotation of keys from the TSM server, a re-upload of an expired payment instance, or deletion of an existing payment instance.

### Claim 7 (depends on 1)

The method of claim 1, wherein the one or more computing devices, encrypt the requested application data and the one or more executable program instructions from the TSM server prior to communicating the application loading instructions and the requested application data to the backend server client application on the mobile computing device.

### Claim 8 (depends on 1)

The method of claim 1, wherein the application data is payment account information.

### Claim 9

A computer program product, comprising:
a non-transitory computer-readable storage device having computer-executable program instructions embodied thereon that when executed by a computer cause the computer to manage secure elements on mobile computing devices, the computer-executable program instructions comprising:
computer-executable program instructions to receive a request from a backend server application executing on a mobile computing device to load application data onto a secure element;
computer-executable program instructions to communicate a request for loading instructions needed to load the requested application data onto the secure element to a TSM server;
computer-executable program instructions to receive the loading instructions from the TSM server; and
computer-executable program instructions to encrypt and communicate the loading instructions and requested application data to the backend server client application executing on a mobile computing device for loading onto the secure element, wherein the backend server client application executes the program instructions and communicates the application data to the secure element via a contact interface on the mobile computing device.

### Claim 10 (depends on 9)

The computer program product of claim 9, wherein the computer is an electronic wallet server.

### Claim 11 (depends on 9)

The computer program product of claim 9, wherein the application data comprises payment account information, a rotation of security keys, re-loading of an expired payment instance, or deletion of an existing payment instance.

### Claim 12 (depends on 9)

The computer program product of claim 9, wherein the request for loading instructions further comprises a request for the application data.

### Claim 13

A system to manage secure elements on mobile computing devices, comprising:
a backend server application executing on a mobile computing device, the mobile computing device comprising a secure element and a contact interface in communication with the secure element; and
a storage device and a processor communicatively coupled to the storage device, wherein the processor executes application code instructions that are stored in the storage device to cause the system to:
receive a request to load application data onto a secure element from a mobile computing device;
communicate a request for loading instructions needed to load a type of application data onto the secure element to a TSM server;
receive the loading instructions from the TSM server;
encrypt a data package comprising the loading instructions and application data using a security key of a security key pair;
communicate the encrypted data package to a client application, wherein the client application decrypts the data package, executes the loading instructions, and communicates the application data to the secure element via the contact interface.

### Claim 14 (depends on 13)

The system of claim 13, wherein the processor further executes application code instructions that cause the system to:
receive a loading report from the client application, the loading report comprising one or more messages regarding application data loading status;
communicate the loading report to the TSM sever for verification; and
receive a verification notification from the TSM sever, the verification notification indicating whether the attempt to load the application data failed or succeeded.

### Claim 15 (depends on 13)

The system of claim 13, wherein the storage device is an electronic wallet server.

### Claim 16 (depends on 13)

The system of claim 13, wherein the application data comprises payment account information, a rotation of security keys, re-loading of an expired payment instance, or deletion of an existing payment instance.
