# US 8,542,825 B2 · Imparting cryptographic information in network communications

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

- Number: US 8,542,825 B2
- Document ID: US8542825B2
- Status: Granted
- Kind: B2
- Application number: 13/158,221
- Filed: 2011-06-10
- Published: 2011-12-08
- Granted: 2013-09-24
- Earliest claimed: 2007-10-15
- Assignees: Adobe Systems Incorporated
- Applicants: Asa Whillock; Edward Chan; Srinivas Manapragada; Matthew Kaufman; Pritham Shetty; Michael Thornburgh
- Inventors: Asa Whillock; Edward Chan; Srinivas Manapragada; Matthew Kaufman; Pritham Shetty; Michael Thornburgh
- Web page: https://patentgrep.com/patent/US8542825B2

## CPC

- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 9/0841: {involving Diffie-Hellman or related key agreement protocols}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 2209/60: Digital content management, e.g. content distribution
- H04L 2209/80: Wireless
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

This specification describes technologies relating to imparting cryptographic information in network communications. In general, aspects of the subject matter described in this specification can be embodied in methods that include identifying a location in a pre-defined portion of a network communication to be sent in a client-server environment, wherein the pre-defined portion is reserved for random data, inserting cryptographic information into the pre-defined portion of the network communication at the location, and sending the network communication in the client-server environment to facilitate modifying interactions in the client-server environment based at least in part on a result of processing of the cryptographic information; and on a receiving side, receiving cryptographic information inserted into the pre-defined portion of the network communication in the client-server environment, identifying the location, processing the cryptographic information, and modifying interactions in the client-server environment based at least in part on a result of the processing.

## Claims

### Claim 1

A method comprising:
receiving cryptographic information inserted into a pre-defined portion of a network communication in a client-server environment, wherein the pre-defined portion of the network communication is reserved for random data to support bandwidth detection;
identifying a location of the cryptographic information in the pre-defined portion of the network communication;
processing the cryptographic information; and
modifying interactions in the client-server environment based at least in part on a result of the processing of the cryptographic information;
wherein the random data is different from the cryptographic information.

### Claim 2 (depends on 1)

The method of claim 1, wherein identifying the location comprises using at least part of the network communication to determine the location.

### Claim 3 (depends on 2)

The method of claim 2, wherein the pre-defined portion includes the random data, and using at least part of the network communication to determine the location comprises:
retrieving a portion of the random data; and
determining an index into the pre-defined portion of the network communication based on the retrieved portion of the random data.

### Claim 4 (depends on 3)

The method of claim 3, wherein using at least part of the network communication to determine the location comprises:
retrieving multiple different portions of the random data; and
determining multiple different indices into the pre-defined portion of the network communication based on the different portions of the random data.

### Claim 5 (depends on 1)

The method of claim 1, wherein processing the cryptographic information comprises establishing a cryptographic key, and wherein modifying interactions in the client-server environment comprises initiating an encrypted session using the cryptographic key.

### Claim 6 (depends on 1)

The method of claim 1, wherein processing the cryptographic information comprises authenticating the network communication, and wherein modifying interactions in the client-server environment comprises turning on or off a feature of a program operating in the client-server environment.

### Claim 7

A non-transitory computer-readable medium having a computer program product encoded therein, the computer program product operable to cause data processing apparatus to perform operations comprising:
receiving cryptographic information inserted into a pre-defined portion of a network communication in a client-server environment, wherein the pre-defined portion of the network communication is reserved for random data to support bandwidth detection;
identifying a location of the cryptographic information in the pre-defined portion of the network communication;
processing the cryptographic information; and
modifying interactions in the client-server environment based at least in part on a result of the processing of the cryptographic information;
wherein the random data is different from the cryptographic information.

### Claim 8 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein identifying the location comprises using at least part of the network communication to determine the location.

### Claim 9 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the pre-defined portion includes the random data, and using at least part of the network communication to determine the location comprises:
retrieving a portion of the random data; and
determining an index into the pre-defined portion of the network communication based on the retrieved portion of the random data.

### Claim 10 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein using at least part of the network communication to determine the location comprises:
retrieving multiple different portions of the random data; and
determining multiple different indices into the pre-defined portion of the network communication based on the different portions of the random data.

### Claim 11 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein processing the cryptographic information comprises establishing a cryptographic key, and wherein modifying interactions in the client-server environment comprises initiating an encrypted session using the cryptographic key.

### Claim 12 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein processing the cryptographic information comprises authenticating the network communication, and wherein modifying interactions in the client-server environment comprises turning on or off a feature of a program operating in the client-server environment.

### Claim 13

A system comprising:
a server computer programmed to establish both non-encrypted sessions and encrypted sessions over a network, with client computers, using a session startup handshake including a network communication including a pre-defined portion reserved for random data to support bandwidth detection;
a first of the client computers programmed to establish non-encrypted sessions with the server computer using the session startup handshake; and
a second of the client computers programmed to establish encrypted sessions with the server computer using the session startup handshake including cryptographic information inserted into the pre-defined portion of the network communication;
wherein the server computer and the second client computer are programmed to perform operations comprising: identifying a location of the cryptographic information in the pre-defined portion of the network communication, processing the cryptographic information, and modifying interactions between the server computer and the second client computer based at least in part on a result of the processing of the cryptographic information;
wherein the random data is different from the cryptographic information.

### Claim 14 (depends on 13)

The system of claim 13, wherein the client computers comprise mobile devices.

### Claim 15 (depends on 13)

The system of claim 13, wherein identifying the location comprises using at least part of the network communication to determine the location.

### Claim 16 (depends on 15)

The system of claim 15, wherein the pre-defined portion includes the random data, and using at least part of the network communication to determine the location comprises:
retrieving a portion of the random data; and
determining an index into the pre-defined portion of the network communication based on the retrieved portion of the random data.

### Claim 17 (depends on 16)

The system of claim 16, wherein using at least part of the network communication to determine the location comprises:
retrieving multiple different portions of the random data; and
determining multiple different indices into the pre-defined portion of the network communication based on the different portions of the random data.

### Claim 18 (depends on 13)

The system of claim 13, wherein processing the cryptographic information comprises:
authenticating the network communication, and
establishing a cryptographic key; and
wherein modifying interactions between the server computer and the second client computer comprises:
turning on or off a feature of a program operating in the server computer or the second client computer, and
initiating an encrypted session between the server computer and the second client computer using the cryptographic key.

### Claim 19 (depends on 13)

The system of claim 13, wherein the server computer and the second client computer are programmed to perform the operations comprising: inserting a message authentication code and encryption key establishment information into the network communication.

### Claim 20

A method comprising:
identifying a location in a pre-defined portion of a network communication to be sent in a client-server environment, wherein the pre-defined portion of the network communication is reserved for random data to support bandwidth detection;
inserting cryptographic information into the pre-defined portion of the network communication at the location; and
sending the network communication in the client-server environment to facilitate modifying interactions in the client-server environment based at least in part on a result of processing of the cryptographic information;
wherein the random data is different from the cryptographic information.

### Claim 21 (depends on 20)

The method of claim 20, wherein the pre-defined portion includes the random data, and identifying the location comprises:
retrieving a portion of the random data; and
determining an index into the pre-defined portion of the network communication based on the retrieved portion of the random data.

### Claim 22

A non-transitory computer-readable medium having a computer program product encoded therein, the computer program product operable to cause data processing apparatus to perform operations comprising:
identifying a location in a pre-defined portion of a network communication to be sent in a client-server environment, wherein the pre-defined portion of the network communication is reserved for random data to support bandwidth detection;
inserting cryptographic information into the pre-defined portion of the network communication at the location; and
sending the network communication in the client-server environment to facilitate modifying interactions in the client-server environment based at least in part on a result of processing of the cryptographic information;
wherein the random data is different from the cryptographic information.

### Claim 23 (depends on 22)

The non-transitory computer-readable medium of claim 22, wherein the pre-defined portion includes the random data, and identifying the location comprises:
retrieving a portion of the random data; and
determining an index into the pre-defined portion of the network communication based on the retrieved portion of the random data.
