Message formatting, authentication, and error detection in home control systems
First Claim
Patent Images
1. A computer-readable storage medium having instructions that are executable by an electrical component that communicates electronically using electrical power lines in a building, the instructions being executable to perform actions comprising:
- composing and sending data messages over the electrical power lines;
calculating first message authentication codes for the data messages using a predefined one-way function of data from the messages and of a key value that is shared between a group of electrical components;
including the first message authentication codes in the data messages.
1 Assignment
0 Petitions
Accused Products
Abstract
A system communicates over electrical wiring in a house or other building. Messages between components include a group identifier code, message data, and a message authentication code (MAC) that is calculated for each message. MACs are calculated using a shared key value and a one-way hash function.
76 Citations
13 Claims
-
1. A computer-readable storage medium having instructions that are executable by an electrical component that communicates electronically using electrical power lines in a building, the instructions being executable to perform actions comprising:
-
composing and sending data messages over the electrical power lines;
calculating first message authentication codes for the data messages using a predefined one-way function of data from the messages and of a key value that is shared between a group of electrical components;
including the first message authentication codes in the data messages. - View Dependent Claims (2)
calculating a second message authentication code for each received message using the predefined one-way function of data from the message and the key value that is shared by the group of electrical components;
concluding that a message is either not authentic or contains a data error if the calculated second message authentication code does not match the first message authentication code that is included in the message.
-
-
3. A computer-readable storage medium having instructions that are executable by a component that communicates electronically using electrical power lines in a building, wherein messages between components include first message authentication codes, the instructions being executable to perform actions comprising:
-
receiving messages from other components using the electrical power lines;
calculating a second message authentication code for each received message based on a predefined one-way function of the data from the message and of a key value that is shared between a group of components; and
concluding that the message is either not authentic or contains a data error if the first and second message authentication codes do not match.
-
-
4. A computer-readable storage medium having instructions that are executable by an electrical component that communicates electronically using electrical power lines in a building, the instructions being executable to perform steps comprising:
-
calculating a message authentication code based on a predefined one-way function of data from a message and of a key value that is shared by components of a particular group of electrical components;
including the message authentication code in the message;
sending the message over the electrical power lines. - View Dependent Claims (5, 6)
-
-
7. A computer-readable storage medium having instructions that are executable by an electrical component that communicates electronically using electrical power lines in a building, the instructions being executable to perform steps comprising:
-
receiving a message that contains a first message authentication code;
calculating a second message authentication code based on a predefined one-way function of data from the message and of a key value that is shared by a plurality of electrical components;
concluding that the message is either not authentic or contains a data error if the first and second message authentication codes do not match. - View Dependent Claims (8, 9)
calculating a third message authentication code based on the predefined one-way function of the data from the message and of a key value in the sequence of key values that is subsequent to a current key value;
further comparing the first and third message authentication codes to authenticate each message;
changing from the current key value to the subsequent key value if the first and second message authentication codes do not match but the first and third message authentication codes do match.
-
-
9. A computer-readable storage medium as recited in claim 7, the instructions being executable to perform a furrier step of calculating the sequence of key values using a one-way function of a counter value that advances to generate each sequential key value.
-
10. An apparatus comprising:
-
a storage medium having stored therein a plurality of executable instructions;
an execution unit, coupled to the storage medium, to implement a home control service, which, when invoked composes and sends data messages over electrical power lines;
wherein the home control service calculates first message authentication codes for the data messages using a predefined one-way function of data from the messages and of a key value that is shared between a group of electronic devices, and includes the first message authentication codes in the data messages. - View Dependent Claims (11)
-
-
12. A system comprising:
-
one or more electrical lines;
an electronic device, coupled to receive power from said one or more electrical lines, and to communicate with other electronic devices coupled to the electrical lines by composing and issuing data messages over the electrical power lines;
wherein the electronic device calculates first message authentication codes for the data messages using a predefined one-way function of data from the messages and of a key value that is shared between a group of electronic devices, and includes the first message authentication codes in the data messages. - View Dependent Claims (13)
-
Specification