# US 10,313,316 B2 · Secure gateways for connected dispensing machines

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

- Number: US 10,313,316 B2
- Document ID: US10313316B2
- Status: Granted
- Kind: B2
- Application number: 15/165,907
- Filed: 2016-05-26
- Published: 2017-11-30
- Granted: 2019-06-04
- Earliest claimed: 2016-05-26
- Assignees: PepsiCo, Inc.
- Applicants: PepsiCo, Inc.
- Inventors: George Xu Gong
- Web page: https://patentgrep.com/patent/US10313316B2

## CPC

- H04L 63/0471: {applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding}
- B67D 1/0022: {the apparatus comprising means for automatically controlling the amount to be dispensed}
- G07F 9/002: {Vending machines being part of a centrally controlled network of vending machines}
- H04L 9/32: including means for verifying the identity or authority of a user of the system {or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials}
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/3247: {involving digital signatures}
- H04L 63/0435: {wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for symmetric key encryption H04L9/06)}
- H04L 63/0442: {wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for public-key encryption H04L9/30)}
- H04L 63/045: {wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption (cryptographic mechanisms or cryptographic arrangements using a plurality of keys or algorithms H04L9/14)}
- H04L 63/123: {received data contents, e.g. message integrity}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- B67D 1/0888: {Means comprising electronic circuitry (e.g. control panels, switching or controlling means)}
- H04L 67/125: involving control of end-device applications over a network
- H04L 2209/80: Wireless
- H04W 4/70: Services for machine-to-machine communication [M2M] or machine type communication [MTC]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- B67D: DISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR (cleaning pipes or tubes or systems of pipes or tubes B08B9/02; emptying or filling of bottles, jars, cans, casks, barrels, or similar containers, not otherwise provided for B67C; water supply E03; pipe systems F17D; domestic hot-water supply systems F24D; measuring volume, volume flow, mass flow or liquid level, metering by volume G01F; coin-freed or like apparatus G07F)
- G07F: COIN-FREED OR LIKE APPARATUS (coin sorting G07D3/00; coin testing G07D5/00; {handling coins or paper currencies apart from payment activated apparatus G07D; payment architectures, schemes or protocols G06Q20/00})
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

The present disclosure is directed to systems and methods for securely providing telemetry data of a dispenser machine to an administrator system via an exposed web service over a computer network. To secure the exposed web service, the systems and methods of the present disclosure provide secure gateways at the dispenser machine and the administrator system that can provide one or more of message integrity, authentication, authorization, and confidentiality. The secure gateways are implemented separate from the applications creating web service request and response messages at the dispenser machine and the administrator system, respectively. Because the secure gateways are implemented separate from the applications creating the web service request and response messages, the applications creating the web service request and response messages can be created and modified without consideration to message security, which is handled transparently by the secure gateways.

## Claims

### Claim 1

A dispenser controller comprising:
a dispenser web service client configured to construct a web service message comprising a header and a body, wherein the body contains telemetry data of a dispenser machine;
a dispenser web service gateway configured to:
intercept the web service message from the dispenser web service client in a manner transparent to the dispenser web service client before the web service message is sent over a computer network to an administrator controller;
determine the web service message is different than a heartbeat message;
create a digital signature by signing at least a part of the telemetry data in the web service message with a private key associated with the dispenser controller based on the determination that the web service message is different than the heartbeat message;
insert the digital signature into the header of the web service message;
encrypt at least a part of the telemetry data in the body of the web service message; and
transmit the web service message, after inserting the digital signature into the header of the web service message and encrypting the at least a part of the telemetry data in the body of the web service message, to the administrator over the computer network.

### Claim 2 (depends on 1)

The dispenser controller of claim 1, wherein the telemetry data includes both consumption data of the dispenser machine and status data of the dispenser machine.

### Claim 3 (depends on 1)

The dispenser controller of claim 1, wherein the dispenser web service gateway is further configured encrypt the at least a part of the telemetry data in the body of the web service message using a public key associated with the administrator controller.

### Claim 4 (depends on 1)

The dispenser controller of claim 1, wherein the dispenser web service gateway is further configured encrypt the at least a part of the telemetry data in the body of the web service message using a symmetric key.

### Claim 5 (depends on 4)

The dispenser controller of claim 4, wherein the dispenser web service gateway is further configured to encrypt the symmetric key using a public key associated with the administrator controller.

### Claim 6 (depends on 1)

The dispenser controller of claim 1, wherein the dispenser web service gateway is further configured to send a second heartbeat message, without signing or encrypting data within the second heartbeat message, to the administrator controller before transmitting the web service message to the administrator controller over the computer network, wherein the second heartbeat message is used to signal that the dispenser machine exists to the administrator controller.

### Claim 7 (depends on 1)

The dispenser controller of claim 1, wherein the dispensing machine dispenses beverages.

### Claim 8 (depends on 1)

The dispenser controller of claim 1, wherein the computer network is the internet.

### Claim 9 (depends on 1)

The dispenser controller of claim 1, wherein the dispenser web service gateway comprises a hypertext transfer protocol (HTTP) proxy.

### Claim 10 (depends on 9)

The dispenser controller of claim 9, wherein the dispenser web service gateway is further configured to intercept an HTTP request message containing the web service message from the dispenser web service client.

### Claim 11

An administrator controller comprising:
an administrator web service gateway configured to:
receive a web service message comprising a header and a body over a computer network, wherein the header contains a digital signature and the body contains encrypted telemetry data of a dispenser machine,
determine the web service message is different than a heartbeat message;
authenticate the web service message using a public key associated with the dispenser machine;
authorize a request in the web service message based on an identity of the dispenser machine, and
decrypt the encrypted telemetry data in the body of the web service message based on the determination that the web service message is different than the heartbeat message; and
an administrator web service provider configured to process the web service message based on the request and the decrypted telemetry data after the web service message has been authenticated and the request authorized by the administrator web service gateway,
wherein the administrator web service gateway provides the web service message to the administrator web service provider in a manner transparent to the administrator web service provider.

### Claim 12 (depends on 11)

The administrator controller of claim 11, wherein the telemetry data includes both consumption data of the dispenser machine and status data of the dispenser machine.

### Claim 13 (depends on 11)

The administrator controller of claim 11, wherein the web service gateway is further configured to authorize the request in the web service message based on the identity of the dispenser machine only after authenticating the web service message.

### Claim 14 (depends on 11)

The administrator controller of claim 11, wherein the request is to place the decrypted telemetry data into a database.

### Claim 15 (depends on 11)

The administrator controller of claim 11, wherein the dispensing machine dispenses beverages.

### Claim 16 (depends on 11)

The administrator controller of claim 11, wherein the computer network is the internet.

### Claim 17 (depends on 11)

The administrator controller of claim 11, wherein the administrator web service gateway is further configured to receive a second web service message from a second dispensing machine.

### Claim 18

A method comprising:
constructing, by a web service client, a web service message comprising a header and a body, wherein the body contains telemetry data of a dispenser machine;
intercepting the web service message from the web service client in a manner transparent to the web service client before the web service message is sent over the internet to an administrator controller;
determine the web service message is different than a heartbeat message;
creating a digital signature by signing at least a part of the telemetry data in the web service message with a private key associated with the dispenser controller based on the determination that the web service message is different than the heartbeat message;
inserting the digital signature into the header of the web service message;
encrypting at least a part of the telemetry data in the body of the web service message; and
transmitting the web service message, after inserting the digital signature into the header of the web service message and encrypting the at least a part of the telemetry data in the body of the web service message, to the administrator over the internet.

### Claim 19 (depends on 18)

The method of claim 18, wherein the telemetry data includes both consumption data of the dispenser machine and maintenance data of the dispenser machine.

### Claim 20 (depends on 18)

The method of claim 18, further comprising:
sending a second heartbeat message, without signing or encrypting data within the second heartbeat message, to the administrator controller before transmitting the web service message to the administrator controller over the internet, wherein the second heartbeat message is used to register the dispenser machine with the administrator controller.

### Claim 21 (depends on 18)

The method of claim 18, wherein the dispensing machine dispenses beverages.
