Method and apparatus for secure aggregated event reporting
First Claim
1. A computer implemented method for generating a secure aggregated event report comprising:
- determining, by a device of a plurality of devices, that a status change has occurred at the device, wherein the status change is one of a loss of power or a restoration of power, temperature, pressure drop, pressure surge, pipe failure, sound, motion, signal light outages, street light outages, or flood detection;
receiving, by the device, a status change report from one or more child devices;
generating, by the device, a device status change record, wherein the status change record comprises an event type, unique device identifier, and one or more time fields for a start time of the status change, an end time of the status change, or a duration of the status change;
generating, by the device, a record verification field, comprising;
combining a nonce, the event type, and the unique device identifier;
generating a message integrity check code for the combined nonce, event type and device identifier; and
appending the message integrity check code to the device status change record;
appending, by the device, the device status change record to the received status change report; and
transmitting, by the device, the status change report to one or more parent devices toward a head end system;
receiving, by the head end system, the status change report, wherein the status change report comprises at least one status change record from a device in a plurality of devices in a network;
retrieving, by the head end system, the device identifier, the event type, and the message integrity check code from the at least one record;
retrieving, by the head end system, an encryption key associated with the device identifier;
performing, by the head end system, a keyed hash function on a combination of the nonce, the event type, and the unique device identifier using the encryption key associated with the device identifier;
comparing, by the head end system, a result of the keyed hash function to the message integrity check code retrieved from the at least one record;
determining, by the head end system, the record is from the device associated with the device identifier when the result of the keyed hash function matches the message integrity check code retrieved from the at least one record; and
discarding, by the head end system, the record when the result of the keyed hash function does not match the message integrity check code retrieved from the at least one record.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer implemented method and system for secure aggregated event reports. The method comprises determining, by a device, that a status change has occurred at the device; receiving, by the device, a status change report from one or more child devices; generating, by the device, a device status change record; generating a record verification field, comprising: combining a nonce, an event type, and a unique device identifier; generating a message integrity check code for the combined nonce, event type and device identifier; and appending the message integrity check code to the device status change record; appending the device status change record to the received status change report; and transmitting, by the device, the status change report to one or more parent devices toward a head end system.
-
Citations
17 Claims
-
1. A computer implemented method for generating a secure aggregated event report comprising:
-
determining, by a device of a plurality of devices, that a status change has occurred at the device, wherein the status change is one of a loss of power or a restoration of power, temperature, pressure drop, pressure surge, pipe failure, sound, motion, signal light outages, street light outages, or flood detection; receiving, by the device, a status change report from one or more child devices; generating, by the device, a device status change record, wherein the status change record comprises an event type, unique device identifier, and one or more time fields for a start time of the status change, an end time of the status change, or a duration of the status change; generating, by the device, a record verification field, comprising; combining a nonce, the event type, and the unique device identifier; generating a message integrity check code for the combined nonce, event type and device identifier; and appending the message integrity check code to the device status change record; appending, by the device, the device status change record to the received status change report; and transmitting, by the device, the status change report to one or more parent devices toward a head end system; receiving, by the head end system, the status change report, wherein the status change report comprises at least one status change record from a device in a plurality of devices in a network; retrieving, by the head end system, the device identifier, the event type, and the message integrity check code from the at least one record; retrieving, by the head end system, an encryption key associated with the device identifier; performing, by the head end system, a keyed hash function on a combination of the nonce, the event type, and the unique device identifier using the encryption key associated with the device identifier; comparing, by the head end system, a result of the keyed hash function to the message integrity check code retrieved from the at least one record; determining, by the head end system, the record is from the device associated with the device identifier when the result of the keyed hash function matches the message integrity check code retrieved from the at least one record; and discarding, by the head end system, the record when the result of the keyed hash function does not match the message integrity check code retrieved from the at least one record. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for verifying records in a secure aggregated event report, comprising:
-
a plurality of devices, wherein each device comprises; a) at least one processor; b) at least one input device; and c) at least one storage device storing processor executable instructions which, when executed by the at least one processor, perform a method including; determining, by a device, that a status change has occurred at the device, wherein the status change is one of a loss of power or a restoration of power, temperature, pressure drop, pressure surge, pipe failure, sound, motion, signal light outages, street light outages, or flood detection; receiving, by the device, a status change report from one or more child devices; generating, by the device, a device status change record, wherein the status change record comprises an event type, unique device identifier, and one or more time fields for a start time of the status change, an end time of the status change, or a duration of the status change; generating a record verification field, comprising; combining a nonce, the event type, and the unique device identifier; generating a message integrity check code for the combined nonce, event type and device identifier; and appending the message integrity check code to the device status change record; appending the device status change record to the received status change report; and transmitting, by the device, the status change report to one or more parent devices toward a head end system; and a server comprising; a) at least one processor; b) at least one input device; and c) at least one storage device storing processor executable instructions which, when executed by the at least one processor, perform a method including; receiving the status change report, wherein the status change report comprises at least one status change record from a device in a plurality of devices in a network; retrieving the device identifier, the event type, and the message integrity check code from the at least one record; retrieving an encryption key associated with the device identifier; performing a keyed hash function on a combination of the nonce, the event type, and the unique device identifier using the encryption key associated with the device identifier; comparing a result of the keyed hash function to the message integrity check code retrieved from the at least one record; determining the record is from the device associated with the device identifier when the result of the keyed hash function matches the message integrity check code retrieved from the at least one record; and discarding the record when the result of the keyed hash function does not match the message integrity check code retrieved from the at least one record. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable medium for storing computer instructions that, when executed by at least one processor causes the at least one processor to perform a method for verifying records in a secure aggregated event report, comprising:
-
determining, by a device of a plurality of devices, that a status change has occurred at the device, wherein the status change is one of a loss of power or a restoration of power, temperature, pressure drop, pressure surge, pipe failure, sound, motion, signal light outages, street light outages, or flood detection; receiving, by the device, a status change report from one or more child devices; generating, by the device, a device status change record, wherein the status change record comprises an event type, unique device identifier, and one or more time fields for a start time of the status change, an end time of the status change, or a duration of the status change; generating, by the device, a record verification field, comprising; combining a nonce, the event type, and the unique device identifier; generating a message integrity check code for the combined nonce, event type and device identifier; and appending the message integrity check code to the device status change record; appending, by the device, the device status change record to the received status change report; and transmitting, by the device, the status change report to one or more parent devices toward a head end system; receiving, by the head end system, the status change report, wherein the status change report comprises at least one status change record from a device in a plurality of devices in a network; retrieving, by the head end system, the unique device identifier, the event type, and a message integrity check code from the at least one record, wherein the device identifier is unique to the device; retrieving, by the head end system, an encryption key associated with the device identifier; performing, by the head end system, a keyed hash function on a combination of a nonce, the event type, and the unique device identifier using the encryption key associated with the device identifier;
comparing a result of the keyed hash function to the message integrity check code retrieved from at least one record;determining, by the head end system, the record is from the device associated with the device identifier when the result of the keyed hash function matches the message integrity check code retrieved from at least one record; and discarding, by the head end system, the record when the result of the keyed hash function does not match the message integrity check code retrieved from at least one record.
-
Specification