# US 8,787,569 B2 · System and method for secure communication of components inside self-service automats

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

- Number: US 8,787,569 B2
- Document ID: US8787569B2
- Status: Granted
- Kind: B2
- Application number: 12/603,836
- Filed: 2009-10-22
- Published: 2010-12-09
- Granted: 2014-07-22
- Earliest claimed: 2008-12-09
- Assignees: Wincor Nixdorf International GmbH
- Applicants: Volker Krummel; Michael Nolte; Matthias Runowski; Johannes Bloemer
- Inventors: Volker Krummel; Michael Nolte; Matthias Runowski; Johannes Bloemer
- Web page: https://patentgrep.com/patent/US8787569B2

## CPC

- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- G06F 21/606: {by securing the transmission between two devices or processes}
- G06F 21/72: in cryptographic circuits
- G06Q 20/3823: {combining multiple encryption tools for a transaction}
- G06Q 20/3829: {involving key management}
- G07F 19/20: {Automatic teller machines [ATMs]}
- 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)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- 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})

## Abstract

Method to secure the communication of components within self-service automats that are linked to each other by a bus system, having a transmitter and a receiver, characterized in that data are exchanged as tuples (C, A, R, N, Z) on the transport layer of the bus system where C are the message data M encrypted with an encryption key, A are the message data M authenticated with an authentication key, R represents the role of a component on the bus system of active or passive participants, N represents a message counter, Z represents a session counter.

## Claims

### Claim 1

A method for securing communication of components inside a self-service automat that are connected to each other by a bus system, with a transmitter and a receiver, comprising:
exchanging data as tuples (C, A, R, N, Z) between the transmitter and the receiver on a transport layer of the bus system, wherein
C are message data M encrypted with an encryption key,
A are message data M authenticated with an authentication key,
R represents a participant role of a component on the bus system of active or passive participants,
N represents a message counter, and
Z represents a session counter,
determining while transmitting from the transmitter to the receiver, whether Z is less than a maximum session number Zmax;
determining whether N is less than a maximum message number Nmax;
comparing a tuple ({circumflex over (Z)},{circumflex over (N)}) to a tuple ( Z, N), wherein {circumflex over (Z)} is a session number for Δ-last messages, {circumflex over (N)} is a message number for Δ-last messages, {circumflex over (Z)} is a last session counter, and N is a last message counter;
generating, based on the comparing, an error if more than Δ messages have been lost:
decrypting message data, based on the comparing, if not more than Δ messages have been lost;
upon decrypting the message data, authenticating the message data;
decrypting the message data based on a KdecR and C, wherein KdecR is a result of a key generation procedure using a common key K;
comparing A to an authentication value A′ at the receiver, wherein A′ is determined based on KverR, N, the decrypted message data, and |C|, wherein KverR is a result of a key generation procedure using a common key K; and
authenticating the decrypted message data, based on the comparing of A to A′, if A is equal to A′.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
exchanging data as a tuple (C, A, R, N, Z, {circumflex over (N)}, {circumflex over (Z)}) between the transmitter and the receiver on the transport layer of the bus system, where {circumflex over (N)} is a message counter for Δ-last messages N and {circumflex over (Z)} is a last session counter for Δ-last messages.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
allowing Δ-last messages to be lost during the exchanging the data without informing an application layer;
transmitting from the transmitter to the receiver, a pair ({circumflex over (Z)},{circumflex over (N)}) as a current session counter; and
upon the exchanging the data, enabling a check at the receiver.

### Claim 4 (depends on 1)

The method of claim 1, wherein the encryption key and the authentication key are a common key K, securely filed in the components, that was generated at the time of production and assembly of the self-service automat on a basis of certificates from a public key infrastructure (PKI).

### Claim 5 (depends on 4)

The method of claim 4, wherein the common key K is stored in a Trusted Platform Module (TPM).

### Claim 6 (depends on 1)

The method of claim 1, wherein A:=AUTH[KauthR, N, M, |M|], where KRauth is the result of a key generation procedure using a common key K.

### Claim 7

The method from one or more of the preceding claims, further comprising:
determining, while transmitting from the transmitter to the receiver, whether the message counter N is less than a maximum message counter Nmax;
and upon the determining whether N is less than NMAX, IF N is less than NMAX, setting N:=N+1.

### Claim 8 (depends on 1)

The method of claim 1, wherein the self-service automat is an automated banking machine.

### Claim 9 (depends on 1, 6)

The method of claim 1 or 6, wherein C:=ENC[KencR, Z, N, M], where KencR is the result of a key generation procedure using a common key K.

### Claim 10 (depends on 1)

The method of claim 1, wherein the bus system is a universal serial bus (USB).

### Claim 11

A system for securing communication of components inside self-service automats comprising:
a plurality of components, inside a self-service automat, including a first component and a second component, the first component being a transmitter in communication with the second component, being a receiver, wherein the first and second components are on a bus system;
a plurality of configured computing units, including a first computing unit in communication with the first component and a second computing unit in communication with the second component; and
the bus system having a transport layer, wherein data are exchanged between the first component and the second component as tuples, wherein
C are message data M encrypted with an encryption key,
A are message data M authenticated with an authentication key,
R represents a participant role of a component on the bus system, wherein R includes active and passive,
N represents a message counter, and
Z represents a session counter,
wherein the second computing unit:
determines whether Z is less than a maximum session counter Zmax;
determines whether N is less than a maximum message counter Nmax;
compares a tuple ({circumflex over (Z)},{circumflex over (N)}) to a tuple ( Z, N), wherein {circumflex over (Z)} is a session counter for Δ-last messages, {circumflex over (N)} is a message counter for Δ-last messages, Z is a last session counter, and N is a last message counter;
generates, based on the comparison, an error if more than Δ messages have been lost;
decrypts message data, based on the comparison, if not more than Δ messages have been lost; and
upon the decryption of the message data, authenticates the decrypted message data;
wherein the second computing unit decrypts the message data based on KdecR and C, where KdecR is a result of a key generation procedure using a common key K; and
wherein the second computing unit authenticates the decrypted message data, based on a comparison of A and A′, if A is equal to A′, wherein A′ is determined based on KverR, N, the decrypted message data, and |C|, wherein KverR is a result of a key generation procedure using a common key K.

### Claim 12 (depends on 11)

The system of claim 11, further comprising:
a means for exchanging a tuple (C, A, R, N, {circumflex over (N)}, {circumflex over (Z)}), between the first component and the second component, on the transport layer of the bus system, where {circumflex over (N)} is a message counter for Δ-last messages, and {circumflex over (Z)} is a last session counter for Δ-last messages.

### Claim 13 (depends on 12)

The system of claim 12, further comprising:
a means for allowing the Δ-last messages to be lost in a transmission, from the first component to the second component, without informing an application layer above, wherein the first component transmits a current session counter pair (N, Z) and a pair ({circumflex over (N)},{circumflex over (Z)}) so that a check is enabled at the receiver.

### Claim 14 (depends on 13)

The system of claim 13, further comprising:
a means for generating and securely filing a common key K during the production and assembly of the self-service automat on the basis of certificates from a public key infrastructure (PKI), wherein a calculating unit uses the common key K for at least one of authentication and encryption.

### Claim 15 (depends on 14)

The system of claim 14, further comprising:
a Trusted Platform Module (TPM) in which the common key K is filed.

### Claim 16 (depends on 14)

The system of claim 14, wherein the calculating unit determines at least one of A and C, wherein A:=AUTH[KauthR, N, M, |M|], where KauthR is a result of a secure authentication calculation using the common key K, and C:=ENC[KencR, Z, N, M] where KencR is a result of a secure encryption calculation using the common key K.

### Claim 17 (depends on 11)

The system of claim 11, wherein the first computing unit determines whether the message counter N is less than a maximum message counter Nmax, and upon determining whether N is less than Nmax, the first computing unit sets N:=N+1.

### Claim 18 (depends on 11)

The system of claim 11, wherein the self-service automat is an automated teller machine (ATM).

### Claim 19 (depends on 11)

The system of claim 11, wherein the bus system is a universal serial bus (USB) with wired or wireless operation.
