US20080005558A1 - Methods and apparatuses for authentication and validation of computer-processable communications - Google Patents

Methods and apparatuses for authentication and validation of computer-processable communications Download PDF

Info

Publication number
US20080005558A1
US20080005558A1 US11/479,402 US47940206A US2008005558A1 US 20080005558 A1 US20080005558 A1 US 20080005558A1 US 47940206 A US47940206 A US 47940206A US 2008005558 A1 US2008005558 A1 US 2008005558A1
Authority
US
United States
Prior art keywords
computer
recited
payload
processable
authenticator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/479,402
Inventor
Mark D. Hadley
Craig A. Goranson
Kristy A. Huston
Ross T. Guttromson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Battelle Memorial Institute Inc
Original Assignee
Battelle Memorial Institute Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Battelle Memorial Institute Inc filed Critical Battelle Memorial Institute Inc
Priority to US11/479,402 priority Critical patent/US20080005558A1/en
Assigned to BATTELLE MEMORIAL INSTITUTE reassignment BATTELLE MEMORIAL INSTITUTE ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GORANSON, CRAIG A., HUSTON, KRISTY A., GUTTROMSON, ROSS T., HADLEY, MARK D.
Assigned to ENERGY, U.S. DEPARTMENT OF reassignment ENERGY, U.S. DEPARTMENT OF CONFIRMATORY LICENSE (SEE DOCUMENT FOR DETAILS). Assignors: BATTELLE MEMORIAL INSTITUTE, PACIFIC NORTHWEST DIV.
Priority to CA002592643A priority patent/CA2592643A1/en
Publication of US20080005558A1 publication Critical patent/US20080005558A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols 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
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols 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 using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Definitions

  • a number of critical infrastructure environments employ computer-processable communication protocols that should not be trusted because they are very vulnerable to cyber attack. Examples include some supervisory control and data acquisition (SCADA) systems, which can be found, among others, in a variety of process control environments (e.g., electric, gas, oil, water, and waste water utilities).
  • SCADA supervisory control and data acquisition
  • These computer-processable communication protocols can be subject to attack because they typically send data in a clear text format, are usually unauthenticated, the communication media is subject to compromise, and/or the distance between nodes can be very large (e.g., hundreds of miles). Therefore, attackers can have ample opportunity to read, replay or modify, and send data in an unauthorized manner.
  • FIG. 1 A diagram of an embodiment of a frame structure according to at least some aspects of present invention.
  • FIG. 2 An illustration depicting a specific frame structure according to one embodiment of the present invention.
  • FIG. 3 A block diagram depicting an apparatus for authentication and validation of computer-processable communications according to one embodiment of the present invention.
  • FIG. 4 An illustration of an exemplary system utilizing authenticated and validated computer-processable communications according to one embodiment of the present invention.
  • FIG. 5 A flow chart depicting one embodiment of a secure operations taxonomy.
  • At least some aspects of the disclosure provide apparatuses and computer-implemented methods for authenticating and validating computer-processable communications that comprise untrusted payloads.
  • Exemplary authentication and validation can comprise encapsulation of the payload with a header and an authenticator, wherein the header comprises a unique identifier and the authenticator comprises at least a portion of a keyed-hash message authentication (HMAC) value based on the content of the header, the content of the payload, and a unique key maintained for each of one or more receiving devices.
  • HMAC keyed-hash message authentication
  • encapsulation of the payload leaves the payload unmodified. Accordingly, the encapsulation can be viewed as an additional layer of security that does not interfere with encrypted or non-encrypted payloads.
  • the computer-processable communication having an encapsulated payload can be transmitted from a sending device to one or more receiving devices, which each recalculate the authenticator according to the device's unique key.
  • the recalculated authenticator can then be compared to the original authenticator received with the communication. Discrepancies between the recalculated and the original authenticator values can indicate that the communication did not originate from the expected source and/or that it has been tampered with or replayed.
  • Untrusted can refer to communications that lack, or have insufficient measures for, authentication, encryption, and/or validation.
  • computer-processable communications can refer to information-containing transmissions between two or more devices, which transmissions are arranged according to a frame structure having an untrusted payload.
  • the computer-processable communication can be serial.
  • the computer-processable communications can be implemented, for example, in environments and/or according to protocols including, but not limited to, supervisory control and data acquisition (SCADA), control systems, process controls, DNS, network time protocol (NTP), VoIP, automated meter reading, streaming data, satellite communication, GPS, sensor networks, automated toll systems, serial line interface protocol (SLIP), point-to-point protocol (PPP), and instant messaging protocols.
  • computer-processable communications can exist include, but are not limited to SCADA systems, distributed control systems (DCS), energy management systems (EMS), process control systems, telecom systems, and network management systems, especially as utilized by critical infrastructure sectors (e.g., agriculture, food, water, public health, emergency services, government, defense industrial, information and telecommunications, energy, transportation, banking and finance, chemical industry, and postal and shipping).
  • computer-processable communication comprises clear text, high-availability transmissions by legacy and/or low-bandwidth hardware, which can often exist for real-time (or near real-time) process control operations, remote sensors, GPS transmissions, text messaging, combat fire-control systems, etc.
  • low-bandwidth rates are less than or equal to approximately 512 kbps. In another embodiment, low-bandwidth rates are less than or equal to approximately 115 kbps.
  • FIG. 1 depicts one embodiment of a frame structure 100 according to which computer-processable communications can be structured.
  • An initially untrusted payload 102 is encapsulated by a header 101 and an authenticator 103 .
  • the payload 102 can be either variable or fixed in length.
  • the authenticator 103 can be a truncated HMAC value, which HMAC value is calculated based on the content of the header 101 , the content of the payload 102 , and a device's unique key.
  • a truncated HMAC value is sometimes used to minimize the additional latency associated with the encapsulation.
  • the authenticator can comprise up to the entire HMAC value.
  • the header 101 can further comprise a synchronization field 104 , a message length field 105 , a timestamp field 107 , and a sequence number field 108 .
  • the inclusion of the authenticator and the header has a minimal impact on the timeliness of the protocol of the computer-processable communications. In other words, the added latency is minimal. Accordingly, in some embodiments, the header and the authenticator encapsulating the original payload total 24 or fewer bytes.
  • the synchronization field 104 denotes the beginning of the packet while the length field 105 specifies the length in bytes of the entire packet excluding the synch and length fields.
  • the timestamp field 106 adds the time, date, or both to the packet.
  • the sequence field 107 is included in every packet and the value must be different (e.g., incremented) for each packet sent, thereby providing each packet with at least part of the unique identifier.
  • the timestamp value can be combined with the sequence number to compose the unique identifier.
  • the sequence field value should not rollover and can be reset upon successful key exchanges.
  • the illustration depicts one embodiment of a frame structure and shows, as an example, field offsets in bytes.
  • field offsets For illustrative purposes, specific values are described for byte offsets and field values, but other values are possible.
  • the synchronization field, the length field, the destination field, the source field, and the sequence field are each 2 bytes long.
  • the destination field specifies the packet's recipient while the source field specifies the packet's origin.
  • the 4-byte timestamp field comprises a UNIX timestamp.
  • the payload is preceded by a one-byte payload type field, which specifies the type and contents of the payload for the packet.
  • exemplary types of payloads and their payload type field values can include, but are not limited to, regular data (e.g., 0x01), key exchange communications (e.g., 0x02), health check requests (e.g., 0x04), and health check responses (e.g., 0x05).
  • the payload follows the payload type field and can contain variable length data consistent with the payload type.
  • the key as used herein, is used to calculate the HMAC, and can be symmetric.
  • An exemplary health check payload format for requests or responses, can comprise a two-byte health check value.
  • a master can request a health check by sending a randomly generated unsigned health check value.
  • the slave can then respond by sending the value back incremented by one. Rollover is acceptable for the health check value.
  • An exemplary payload format for key exchange communications can comprise a key update type field and a key exchange data field.
  • the key update type field can specify the type of key exchange being requested.
  • Types of key exchanges can include, but are not limited to, Diffie-Hellman (DH) and pre-shared table index.
  • the key exchange data field can comprise key exchange data of variable length.
  • the key exchange data field can comprise a DH type field, which specifies the DH message (e.g., 0x01 for a master's public key or 0x02 for a slave's public key), a public length field specifying the length of the public key, and the public key, which can have a variable length.
  • a DH type field which specifies the DH message (e.g., 0x01 for a master's public key or 0x02 for a slave's public key)
  • a public length field specifying the length of the public key
  • the public key which can have a variable length.
  • the apparatus 300 can represent one component of either a master or a slave device.
  • a master device can refer to a control system, relative to other devices (e.g., slave devices).
  • the master device comprises a computing apparatus such as a SCADA Master, I/O Server, Front End Processor, Operator Work Station, server, or handheld computing device.
  • a slave device can refer, for example, to intelligent electric devices (IEDs), and can comprise computing apparatuses, RTUs, relays, programmable logic controllers, sensor devices, actuators, process equipment (e.g., pumps, valves, generators, electrical switches, etc.), door locks, weapon control devices, and hand held GPS units.
  • the apparatus can include a communications interface 301 , processing circuitry 302 , and, depending on the implementation, storage circuitry 303 and/or a bump-in-the-wire (BITW) device 304 .
  • BITW bump-in-the-wire
  • the communications circuitry is arranged to implement communications of the apparatus with respect to other nodes (e.g., typically master to master, master to slave, and slave to master) and/or communications between apparatus 300 and any other associated component of the master and/or slave devices.
  • communications interface 301 can be arranged to facilitate the communication of information bidirectionally with respect to apparatus 300 .
  • a slave device such as a pump can receive an computer-processable communication via the communications interface from a master device, such as a process control server, in the form of a command to activate.
  • the communications interface can then facilitate communication of the activate command between the component of the slave device described by apparatus 300 and the other components, which, in the present example, compose the pump.
  • Communications interface 301 can be implemented as a network interface card, serial connection, parallel connection, USB port, SCSI host bus adapter, Firewire interface, wireless networking interface, PC card interface, PCI interface, IDE interface, SATA interface, or any other suitable arrangement for communicating with respect to apparatus 300 .
  • a communications interface 301 can exist in each of a plurality of slave devices and in each of one or more master devices to facilitate computer-processable communications between the master and slave devices.
  • processing circuitry 302 is arranged to execute computer-readable instructions, process data, calculate HMAC values, arrange communications according to frame structures described elsewhere herein, issue commands, and control other desired operations.
  • Processing circuitry 302 can operate to encapsulate payloads, which are untrusted, with a header and an authenticator. Furthermore, it can operate to validate computer-processable communications that have been authenticated (e.g., encapsulated), perform key updates, apply traffic policies, process and execute health checks, and create and generate alerts.
  • processing circuitry can also control components of a master device and/or a slave device that are in addition to apparatus 300 .
  • Processing circuitry 302 can comprise circuitry configured to implement desired programming provided by appropriate media in at least one embodiment.
  • the processing circuitry 302 can be implemented as one or more of a processor, and/or other structure, configured to execute computer-executable instructions including, but not limited to, software, middleware, and/or firmware instructions, and/or other hardware circuitry.
  • Exemplary embodiments of processing circuitry 302 can include hardware logic, PGA, FPGA, ASIC, state machines, and/or other structures, alone or in combination with a processor.
  • the examples of processing circuitry described herein are for illustration and other configurations are both possible and appropriate.
  • apparatus 300 is implemented as an embedded solution, wherein the authentication and validation methods described herein are executed according to computer-readable instructions stored in and/or with apparatus 300 .
  • apparatus 300 can further comprise storage circuitry 303 .
  • the storage circuitry 303 can be configured to store programming such as executable code or instructions (e.g., software, middleware, and/or firmware), computer-processable data, databases, HMAC keys, computer-processable communication history logs, traffic policies, and/or other computer-processable information and can include, but is not limited to, processor-usable media.
  • Exemplary programming can include, but is not limited to programming configured to cause apparatus 300 to encapsulate a payload with a header and an authenticator.
  • the programming can further cause processing circuitry 302 to transmit the encapsulated payload in a computer-processable communication, calculate HMAC values, and/or compare authenticator values received with an computer-processable communication with authenticator values recalculated according to the appropriate key.
  • Processor-usable media can include, but are not limited to any computer program product or article of manufacture that can contain, store, or maintain programming, data or computer-readable information for use by, or in connection with, an instruction execution system including the processing circuitry described elsewhere herein.
  • exemplary processor-usable media can refer to electronic, magnetic, optical, electromagnetic, infrared, or semiconductor media. More specifically, examples of processor-usable media can include, but are not limited to, floppy diskettes, zip disks, hard drives, random access memory, read-only memory, flash memory, cache memory, compact discs, and digital versatile discs.
  • apparatus 300 can further comprise a BITW device 304 .
  • the BITW apparatus can comprise a PC, workstation, industrial computer, or any other suitable processing device, especially as described elsewhere herein.
  • the master or slave device, of which the BITW device is a component can comprise its own processing circuitry or it can utilize the processing circuitry of the BITW device.
  • the use of a BITW device does not limit the other components that can compose the master or slave device. Accordingly, any suitable device can be made to communicate according to methods and protocols described elsewhere herein by operably connecting a BITW device.
  • a master device 401 communicates bidirectionally with a plurality of slave devices 403 .
  • the master device 401 comprises a server having a BITW device 304 attached thereto.
  • the BITW device 304 is operably connected between the communications interface and processing circuitry.
  • the slave devices 403 include a sensor 405 , a pump 406 , a workstation 407 , and a handheld PC 408 .
  • the sensor 405 and the workstation 407 further comprise BITW devices 304 to facilitate authentication and validation of computer-processable communications.
  • the pump 406 and the handheld PC 408 are depicted as utilizing embedded software solutions.
  • the block diagram depicts an exemplary taxonomy of secure operations as it might be implemented consistent with the methods and apparatuses described elsewhere herein.
  • computer-processable communications arriving at a first node 500 for example, in the form of a message from a second node, are evaluated 501 to determine whether the message utilizes an appropriate frame structure, which, for example, can be based on the DNP3 protocol, and can be validated. If the message is not structured accordingly then an alert can be created 504 and sent 509 .
  • a table can be used to keep track of which communication channels are using authenticated communication protocols (e.g., those described herein). For example, since a master device can communicate with multiple remote sites, a table can be used to keep track of which remote sites are using authenticated communication. Accordingly, some embodiments of the present invention can support a mixture of authenticated and unauthenticated communication.
  • alerts can be logged, sent to the sending node, prompt specific system responses (e.g., health check, resend command, etc.), and/or sent to an administrator via email, phone, instant message, text message, etc.
  • prompt specific system responses e.g., health check, resend command, etc.
  • Messages that are authenticated can be further evaluated to ensure that they are consistent with traffic policies 503 .
  • Messages violating traffic policies can result in the creation 508 and transmission 512 of an alert.
  • Messages that do not violate the traffic policies can be further evaluated to determine whether it has been received previously 506 . For instance, the message can be compared to a message log that records the content of past messages. Since each message should have a unique ID and HMAC, if a message matches one that has been previously received, then it is likely that the message has been intercepted and replayed.
  • An alert can be created 507 and sent 511 and alarms can be generated.
  • an HMAC value is calculated 505 based on the message header, the payload, and the device's unique key.
  • the calculated authenticator is validated 510 against the authenticator value received with the message. If the authenticator is valid 514 , then the payload content can be extracted 515 . Otherwise, an alert can be created 513 and sent 517 .

Abstract

Computer-processable communication authentication and validation methods and apparatuses are described according to various embodiments. In one embodiment, an authentication and validation method comprises encapsulating an untrusted payload with a header and an authenticator. The header can comprise a unique identifier and the authenticator can comprise at least a portion of a keyed-hash message authentication (HMAC) value based on the content of the header, the content of the payload, and a unique key maintained for each of one or more receiving devices.

Description

    STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
  • This invention was made with Government support under Contract DE-AC05-76RL01830 awarded by the U.S. Department of Energy. The Government has certain rights in the invention.
  • BACKGROUND
  • A number of critical infrastructure environments employ computer-processable communication protocols that should not be trusted because they are very vulnerable to cyber attack. Examples include some supervisory control and data acquisition (SCADA) systems, which can be found, among others, in a variety of process control environments (e.g., electric, gas, oil, water, and waste water utilities). These computer-processable communication protocols can be subject to attack because they typically send data in a clear text format, are usually unauthenticated, the communication media is subject to compromise, and/or the distance between nodes can be very large (e.g., hundreds of miles). Therefore, attackers can have ample opportunity to read, replay or modify, and send data in an unauthorized manner.
  • While encryption of the payload could address these vulnerabilities, in many instances, the equipment supporting communications in these environments comprises legacy hardware that would have to be upgraded, making encryption cost-prohibitive. However, even in instances where a level of encryption is implemented, it may not be sufficient given the environment in which the communications occur. Therefore, a need exists for efficient methods and apparatuses for authenticating and validating computer-processable communications comprising untrusted payloads.
  • DESCRIPTION OF DRAWINGS
  • Embodiments of the invention are described below with reference to the following accompanying drawings.
  • FIG. 1. A diagram of an embodiment of a frame structure according to at least some aspects of present invention.
  • FIG. 2. An illustration depicting a specific frame structure according to one embodiment of the present invention.
  • FIG. 3. A block diagram depicting an apparatus for authentication and validation of computer-processable communications according to one embodiment of the present invention.
  • FIG. 4. An illustration of an exemplary system utilizing authenticated and validated computer-processable communications according to one embodiment of the present invention.
  • FIG. 5. A flow chart depicting one embodiment of a secure operations taxonomy.
  • DETAILED DESCRIPTION
  • At least some aspects of the disclosure provide apparatuses and computer-implemented methods for authenticating and validating computer-processable communications that comprise untrusted payloads. Exemplary authentication and validation can comprise encapsulation of the payload with a header and an authenticator, wherein the header comprises a unique identifier and the authenticator comprises at least a portion of a keyed-hash message authentication (HMAC) value based on the content of the header, the content of the payload, and a unique key maintained for each of one or more receiving devices. In some embodiments, encapsulation of the payload leaves the payload unmodified. Accordingly, the encapsulation can be viewed as an additional layer of security that does not interfere with encrypted or non-encrypted payloads.
  • According to some embodiments, the computer-processable communication having an encapsulated payload can be transmitted from a sending device to one or more receiving devices, which each recalculate the authenticator according to the device's unique key. The recalculated authenticator can then be compared to the original authenticator received with the communication. Discrepancies between the recalculated and the original authenticator values can indicate that the communication did not originate from the expected source and/or that it has been tampered with or replayed.
  • Untrusted, as used herein, can refer to communications that lack, or have insufficient measures for, authentication, encryption, and/or validation.
  • As used herein, computer-processable communications can refer to information-containing transmissions between two or more devices, which transmissions are arranged according to a frame structure having an untrusted payload. In some embodiments, the computer-processable communication can be serial. The computer-processable communications can be implemented, for example, in environments and/or according to protocols including, but not limited to, supervisory control and data acquisition (SCADA), control systems, process controls, DNS, network time protocol (NTP), VoIP, automated meter reading, streaming data, satellite communication, GPS, sensor networks, automated toll systems, serial line interface protocol (SLIP), point-to-point protocol (PPP), and instant messaging protocols.
  • Exemplary contexts in which such computer-processable communications can exist include, but are not limited to SCADA systems, distributed control systems (DCS), energy management systems (EMS), process control systems, telecom systems, and network management systems, especially as utilized by critical infrastructure sectors (e.g., agriculture, food, water, public health, emergency services, government, defense industrial, information and telecommunications, energy, transportation, banking and finance, chemical industry, and postal and shipping). In a specific embodiment, computer-processable communication comprises clear text, high-availability transmissions by legacy and/or low-bandwidth hardware, which can often exist for real-time (or near real-time) process control operations, remote sensors, GPS transmissions, text messaging, combat fire-control systems, etc. In one embodiment, low-bandwidth rates are less than or equal to approximately 512 kbps. In another embodiment, low-bandwidth rates are less than or equal to approximately 115 kbps.
  • The illustration in FIG. 1 depicts one embodiment of a frame structure 100 according to which computer-processable communications can be structured. An initially untrusted payload 102 is encapsulated by a header 101 and an authenticator 103. The payload 102 can be either variable or fixed in length. The authenticator 103 can be a truncated HMAC value, which HMAC value is calculated based on the content of the header 101, the content of the payload 102, and a device's unique key. A truncated HMAC value is sometimes used to minimize the additional latency associated with the encapsulation. However, for added security the authenticator can comprise up to the entire HMAC value.
  • The header 101 can further comprise a synchronization field 104, a message length field 105, a timestamp field 107, and a sequence number field 108. In certain implementations, the inclusion of the authenticator and the header has a minimal impact on the timeliness of the protocol of the computer-processable communications. In other words, the added latency is minimal. Accordingly, in some embodiments, the header and the authenticator encapsulating the original payload total 24 or fewer bytes.
  • The synchronization field 104 denotes the beginning of the packet while the length field 105 specifies the length in bytes of the entire packet excluding the synch and length fields. The timestamp field 106 adds the time, date, or both to the packet. The sequence field 107 is included in every packet and the value must be different (e.g., incremented) for each packet sent, thereby providing each packet with at least part of the unique identifier. In some embodiments, the timestamp value can be combined with the sequence number to compose the unique identifier. The sequence field value should not rollover and can be reset upon successful key exchanges.
  • Example: Embodiment of a Frame Structure
  • Referring to FIG. 2, the illustration depicts one embodiment of a frame structure and shows, as an example, field offsets in bytes. For illustrative purposes, specific values are described for byte offsets and field values, but other values are possible. The synchronization field, the length field, the destination field, the source field, and the sequence field are each 2 bytes long. The destination field specifies the packet's recipient while the source field specifies the packet's origin. The 4-byte timestamp field comprises a UNIX timestamp.
  • The payload is preceded by a one-byte payload type field, which specifies the type and contents of the payload for the packet. Exemplary types of payloads and their payload type field values can include, but are not limited to, regular data (e.g., 0x01), key exchange communications (e.g., 0x02), health check requests (e.g., 0x04), and health check responses (e.g., 0x05). The payload follows the payload type field and can contain variable length data consistent with the payload type. The key, as used herein, is used to calculate the HMAC, and can be symmetric.
  • An exemplary health check payload format, for requests or responses, can comprise a two-byte health check value. A master can request a health check by sending a randomly generated unsigned health check value. The slave can then respond by sending the value back incremented by one. Rollover is acceptable for the health check value.
  • An exemplary payload format for key exchange communications can comprise a key update type field and a key exchange data field. The key update type field can specify the type of key exchange being requested. Types of key exchanges can include, but are not limited to, Diffie-Hellman (DH) and pre-shared table index. The key exchange data field can comprise key exchange data of variable length.
  • For DH key exchanges, the key exchange data field can comprise a DH type field, which specifies the DH message (e.g., 0x01 for a master's public key or 0x02 for a slave's public key), a public length field specifying the length of the public key, and the public key, which can have a variable length.
  • Referring to FIG. 3, the block diagram depicts aspects of an embodiment of an apparatus for authentication and validation of computer-processable communications. The apparatus 300 can represent one component of either a master or a slave device. A master device can refer to a control system, relative to other devices (e.g., slave devices). Typically, the master device comprises a computing apparatus such as a SCADA Master, I/O Server, Front End Processor, Operator Work Station, server, or handheld computing device. A slave device can refer, for example, to intelligent electric devices (IEDs), and can comprise computing apparatuses, RTUs, relays, programmable logic controllers, sensor devices, actuators, process equipment (e.g., pumps, valves, generators, electrical switches, etc.), door locks, weapon control devices, and hand held GPS units. As illustrated, the apparatus can include a communications interface 301, processing circuitry 302, and, depending on the implementation, storage circuitry 303 and/or a bump-in-the-wire (BITW) device 304.
  • The communications circuitry is arranged to implement communications of the apparatus with respect to other nodes (e.g., typically master to master, master to slave, and slave to master) and/or communications between apparatus 300 and any other associated component of the master and/or slave devices. For example, communications interface 301 can be arranged to facilitate the communication of information bidirectionally with respect to apparatus 300. In a more specific example, a slave device such as a pump can receive an computer-processable communication via the communications interface from a master device, such as a process control server, in the form of a command to activate. The communications interface can then facilitate communication of the activate command between the component of the slave device described by apparatus 300 and the other components, which, in the present example, compose the pump.
  • Communications interface 301 can be implemented as a network interface card, serial connection, parallel connection, USB port, SCSI host bus adapter, Firewire interface, wireless networking interface, PC card interface, PCI interface, IDE interface, SATA interface, or any other suitable arrangement for communicating with respect to apparatus 300. In an exemplary embodiment, a communications interface 301 can exist in each of a plurality of slave devices and in each of one or more master devices to facilitate computer-processable communications between the master and slave devices.
  • In one embodiment, processing circuitry 302 is arranged to execute computer-readable instructions, process data, calculate HMAC values, arrange communications according to frame structures described elsewhere herein, issue commands, and control other desired operations. Processing circuitry 302 can operate to encapsulate payloads, which are untrusted, with a header and an authenticator. Furthermore, it can operate to validate computer-processable communications that have been authenticated (e.g., encapsulated), perform key updates, apply traffic policies, process and execute health checks, and create and generate alerts. In some embodiments, processing circuitry can also control components of a master device and/or a slave device that are in addition to apparatus 300.
  • Processing circuitry 302 can comprise circuitry configured to implement desired programming provided by appropriate media in at least one embodiment. For example, the processing circuitry 302 can be implemented as one or more of a processor, and/or other structure, configured to execute computer-executable instructions including, but not limited to, software, middleware, and/or firmware instructions, and/or other hardware circuitry. Exemplary embodiments of processing circuitry 302 can include hardware logic, PGA, FPGA, ASIC, state machines, and/or other structures, alone or in combination with a processor. The examples of processing circuitry described herein are for illustration and other configurations are both possible and appropriate.
  • In some embodiments, apparatus 300 is implemented as an embedded solution, wherein the authentication and validation methods described herein are executed according to computer-readable instructions stored in and/or with apparatus 300. In such embodiments, apparatus 300 can further comprise storage circuitry 303.
  • The storage circuitry 303 can be configured to store programming such as executable code or instructions (e.g., software, middleware, and/or firmware), computer-processable data, databases, HMAC keys, computer-processable communication history logs, traffic policies, and/or other computer-processable information and can include, but is not limited to, processor-usable media. Exemplary programming can include, but is not limited to programming configured to cause apparatus 300 to encapsulate a payload with a header and an authenticator. In some embodiments, the programming can further cause processing circuitry 302 to transmit the encapsulated payload in a computer-processable communication, calculate HMAC values, and/or compare authenticator values received with an computer-processable communication with authenticator values recalculated according to the appropriate key.
  • Processor-usable media can include, but are not limited to any computer program product or article of manufacture that can contain, store, or maintain programming, data or computer-readable information for use by, or in connection with, an instruction execution system including the processing circuitry described elsewhere herein. Generally, exemplary processor-usable media can refer to electronic, magnetic, optical, electromagnetic, infrared, or semiconductor media. More specifically, examples of processor-usable media can include, but are not limited to, floppy diskettes, zip disks, hard drives, random access memory, read-only memory, flash memory, cache memory, compact discs, and digital versatile discs.
  • In embodiments wherein the authentication and validation methods described herein are not implemented as an embedded solution, apparatus 300 can further comprise a BITW device 304. The BITW apparatus can comprise a PC, workstation, industrial computer, or any other suitable processing device, especially as described elsewhere herein. The master or slave device, of which the BITW device is a component, can comprise its own processing circuitry or it can utilize the processing circuitry of the BITW device. Furthermore the use of a BITW device does not limit the other components that can compose the master or slave device. Accordingly, any suitable device can be made to communicate according to methods and protocols described elsewhere herein by operably connecting a BITW device.
  • Referring to FIG. 4, an embodiment of a system utilizing computer-processable communications that are authenticated and validated according to methods and apparatuses described elsewhere herein is depicted. In the instant embodiment, a master device 401 communicates bidirectionally with a plurality of slave devices 403. The master device 401 comprises a server having a BITW device 304 attached thereto. Typically, the BITW device 304 is operably connected between the communications interface and processing circuitry. The slave devices 403 include a sensor 405, a pump 406, a workstation 407, and a handheld PC 408. In the instant embodiment, the sensor 405 and the workstation 407 further comprise BITW devices 304 to facilitate authentication and validation of computer-processable communications. The pump 406 and the handheld PC 408 are depicted as utilizing embedded software solutions.
  • Referring to FIG. 5, the block diagram depicts an exemplary taxonomy of secure operations as it might be implemented consistent with the methods and apparatuses described elsewhere herein. As depicted, computer-processable communications arriving at a first node 500, for example, in the form of a message from a second node, are evaluated 501 to determine whether the message utilizes an appropriate frame structure, which, for example, can be based on the DNP3 protocol, and can be validated. If the message is not structured accordingly then an alert can be created 504 and sent 509.
  • In some embodiments, a table, or other suitable means, can be used to keep track of which communication channels are using authenticated communication protocols (e.g., those described herein). For example, since a master device can communicate with multiple remote sites, a table can be used to keep track of which remote sites are using authenticated communication. Accordingly, some embodiments of the present invention can support a mixture of authenticated and unauthenticated communication.
  • In various embodiments, alerts can be logged, sent to the sending node, prompt specific system responses (e.g., health check, resend command, etc.), and/or sent to an administrator via email, phone, instant message, text message, etc.
  • Messages that are authenticated can be further evaluated to ensure that they are consistent with traffic policies 503. Messages violating traffic policies can result in the creation 508 and transmission 512 of an alert. Messages that do not violate the traffic policies can be further evaluated to determine whether it has been received previously 506. For instance, the message can be compared to a message log that records the content of past messages. Since each message should have a unique ID and HMAC, if a message matches one that has been previously received, then it is likely that the message has been intercepted and replayed. An alert can be created 507 and sent 511 and alarms can be generated.
  • For messages that have not been replayed an HMAC value is calculated 505 based on the message header, the payload, and the device's unique key. The calculated authenticator is validated 510 against the authenticator value received with the message. If the authenticator is valid 514, then the payload content can be extracted 515. Otherwise, an alert can be created 513 and sent 517.
  • While a number of embodiments of the present invention have been shown and described, it will be apparent to those skilled in the art that many changes and modifications may be made without departing from the invention in its broader aspects. The appended claims, therefore, are intended to cover all such changes and modifications as they fall within the true spirit and scope of the invention.

Claims (23)

1. A computer-implemented method of authenticating and validating the source of a computer-processable communication comprising an untrusted payload, the method comprising:
encapsulating the payload with a header and an authenticator, wherein the header comprises a unique identifier and the authenticator comprises at least a portion of a keyed-hash message authentication (HMAC) value based on the content of the header, the content of the payload, and a unique key maintained for each of one or more receiving devices,
2. The method as recited in claim 1, wherein said encapsulating does not modify the content of the payload.
3. The method as recited in claim 1, further comprising:
transmitting the encapsulated computer-processable communications from a sending device to one or more receiving devices;
recalculating the authenticator according to the unique key maintained for each receiving device; and
comparing the original authenticator with the recalculated authenticator.
4. The method as recited in claim 1, wherein the computer-processable communication comprises serial communication.
5. The method as recited in claim 1, wherein the computer-processable communication comprises parallel communication.
6. The method as recited in claim 1, wherein the computer-processable communications occur at low bandwidth rates.
7. The method as recited in claim 6, wherein the low bandwidth rates are less than or equal to approximately 512 kbps.
8. The method as recited in claim 6, wherein the low bandwidth rates are less than or equal to approximately 115 kbps.
9. The method as recited in claim 1, wherein the computer-processable communications comprise real-time or near-real-time control system operations.
10. The method as recited in claim 1, wherein the computer-processable communication is implemented according to a protocol or environment selected from the group consisting of SCADA, control systems, process controls, DNS, NTP, VoIP, automated meter reading, streaming data, satellite communication, GPS, sensor networks, automated toll systems, SLIP, PPP, and instant messaging protocols.
11. The method as recited in claim 1, wherein the authenticator follows both the header and the payload in the frame structure of the computer-processable communication.
12. The method as recited in claim 1, wherein the unique identifier comprises a time and sequence number combination.
13. The method as recited in claim 1, wherein each unique identifier is associated with a single transmitted packet.
14. The method as recited in claim 1, wherein the payload comprises a key update when a payload type field specifies a key exchange communication.
15. A computer-readable medium having programming to control processing circuitry to configure computer-processable communications according to a frame structure, the frame structure comprising:
a. a payload comprising untrusted data;
b. a header comprising a unique identifier, wherein the header precedes the payload; and
c. an authenticator comprising at least a portion of an HMAC value based on the content of the header, the content of the payload, and a unique key maintained for each of one or more receiving devices,
16. The computer-readable medium as recited in claim 15, wherein the authenticator follows both the header and the payload in the frame structure.
17. The computer-readable medium as recited in claim 15, wherein the length of the authenticator is equal to the fewest bytes providing acceptable security for a given environment, protocol, or combination thereof.
18. The computer-readable medium as recited in claim 15, wherein the length of the authenticator is greater than or equal to approximately 12 bytes.
19. The computer-readable medium as recited in claim 15, wherein each unique identifier is associated with a single transmitted packet.
20. An apparatus comprising one or more master devices and one or more slave devices, each configured to communicate via computer-processable communications, wherein the computer-processable communications are arranged according to a frame structure comprising:
a. a payload comprising untrusted data;
b. a header comprising a unique identifier, wherein the header precedes the payload; and
c. an authenticator comprising at least a portion of an HMAC value based on the content of the header, the content of the payload, and a unique key maintained for each of one or more receiving devices.
21. The apparatus as recited in claim 20, wherein one or more of the master devices or slave devices comprise embedded programming to transmit and/or receive the computer-processable communications according to the frame structure.
22. The apparatus as recited in claim 20, wherein one or more of the master devices or slave devices further comprise a bump-in-the-wire (BITW) device configured to transmit and/or receive the computer-processable communications according to the frame structure, the BITW device operably connected between processing circuitry and a communications interface.
23. The apparatus as recited in claim 20, wherein the length of the authenticator is greater than or equal to approximately 12 bytes.
US11/479,402 2006-06-29 2006-06-29 Methods and apparatuses for authentication and validation of computer-processable communications Abandoned US20080005558A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/479,402 US20080005558A1 (en) 2006-06-29 2006-06-29 Methods and apparatuses for authentication and validation of computer-processable communications
CA002592643A CA2592643A1 (en) 2006-06-29 2007-06-26 Methods and apparatuses for authentication and validation of computer-processable communications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/479,402 US20080005558A1 (en) 2006-06-29 2006-06-29 Methods and apparatuses for authentication and validation of computer-processable communications

Publications (1)

Publication Number Publication Date
US20080005558A1 true US20080005558A1 (en) 2008-01-03

Family

ID=38834933

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/479,402 Abandoned US20080005558A1 (en) 2006-06-29 2006-06-29 Methods and apparatuses for authentication and validation of computer-processable communications

Country Status (2)

Country Link
US (1) US20080005558A1 (en)
CA (1) CA2592643A1 (en)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080075073A1 (en) * 2006-09-25 2008-03-27 Swartz Troy A Security encapsulation of ethernet frames
US20110138185A1 (en) * 2009-12-08 2011-06-09 Samsung Electronics Co., Ltd. Method and apparatus for updating data
DE102010033229A1 (en) * 2010-08-03 2012-02-09 Siemens Aktiengesellschaft Method and system for tamper-proof transmission of control data
WO2012041654A1 (en) * 2010-09-30 2012-04-05 Siemens Aktiengesellschaft Method and system for secure data transmission with a vpn box
US8885818B2 (en) 2009-08-07 2014-11-11 Dolby International Ab Authentication of data streams
US20150113589A1 (en) * 2013-10-01 2015-04-23 Robert K. Lemaster Authentication server enhancements
US20170026349A1 (en) * 2015-07-20 2017-01-26 Schweitzer Engineering Laboratories, Inc. Communication device for implementing selective encryption in a software defined network
CN106850596A (en) * 2017-01-16 2017-06-13 北京市天元网络技术股份有限公司 A kind of data collecting system and method
US9686125B2 (en) 2015-07-20 2017-06-20 Schwetizer Engineering Laboratories, Inc. Network reliability assessment
US9769060B2 (en) 2015-07-20 2017-09-19 Schweitzer Engineering Laboratories, Inc. Simulating, visualizing, and searching traffic in a software defined network
US9866483B2 (en) 2015-07-20 2018-01-09 Schweitzer Engineering Laboratories, Inc. Routing of traffic in network through automatically generated and physically distinct communication paths
US9900206B2 (en) 2015-07-20 2018-02-20 Schweitzer Engineering Laboratories, Inc. Communication device with persistent configuration and verification
US9923779B2 (en) 2015-07-20 2018-03-20 Schweitzer Engineering Laboratories, Inc. Configuration of a software defined network
US10432403B2 (en) 2015-11-25 2019-10-01 Fenwal, Inc. Secure communication between infusion pump and server
CN110506427A (en) * 2017-02-10 2019-11-26 卡姆鲁普股份有限公司 RF communication system and method
US10659314B2 (en) 2015-07-20 2020-05-19 Schweitzer Engineering Laboratories, Inc. Communication host profiles
US10785189B2 (en) 2018-03-01 2020-09-22 Schweitzer Engineering Laboratories, Inc. Selective port mirroring and in-band transport of network communications for inspection
US10863558B2 (en) 2016-03-30 2020-12-08 Schweitzer Engineering Laboratories, Inc. Communication device for implementing trusted relationships in a software defined network
US10979309B2 (en) 2019-08-07 2021-04-13 Schweitzer Engineering Laboratories, Inc. Automated convergence of physical design and configuration of software defined network
US11075908B2 (en) 2019-05-17 2021-07-27 Schweitzer Engineering Laboratories, Inc. Authentication in a software defined network
IT202000009544A1 (en) * 2020-04-30 2021-10-30 Widesign S R L BIDIRECTIONAL WIRELESS DEVICE USABLE AS A NODE FOR A WIRELESS NETWORK TO REGULATE AT LEAST ONE ELECTRIC LOAD
US11165685B2 (en) 2019-12-20 2021-11-02 Schweitzer Engineering Laboratories, Inc. Multipoint redundant network device path planning for programmable networks
US11228521B2 (en) 2019-11-04 2022-01-18 Schweitzer Engineering Laboratories, Inc. Systems and method for detecting failover capability of a network device
US11336564B1 (en) 2021-09-01 2022-05-17 Schweitzer Engineering Laboratories, Inc. Detection of active hosts using parallel redundancy protocol in software defined networks
US11418432B1 (en) 2021-04-22 2022-08-16 Schweitzer Engineering Laboratories, Inc. Automated communication flow discovery and configuration in a software defined network
US11431605B2 (en) 2020-12-16 2022-08-30 Schweitzer Engineering Laboratories, Inc. Communication system tester and related methods
EP4099657A4 (en) * 2020-03-11 2023-07-12 Huawei Technologies Co., Ltd. Method and device for preventing replay attack on srv6 hmac check
US11750502B2 (en) 2021-09-01 2023-09-05 Schweitzer Engineering Laboratories, Inc. Detection of in-band software defined network controllers using parallel redundancy protocol
US11838174B2 (en) 2022-02-24 2023-12-05 Schweitzer Engineering Laboratories, Inc. Multicast fast failover handling
US11848860B2 (en) 2022-02-24 2023-12-19 Schweitzer Engineering Laboratories, Inc. Multicast fast failover turnaround overlap handling

Citations (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757913A (en) * 1993-04-23 1998-05-26 International Business Machines Corporation Method and apparatus for data authentication in a data communication environment
US5956404A (en) * 1996-09-30 1999-09-21 Schneier; Bruce Digital signature with auditing bits
US6122372A (en) * 1997-06-04 2000-09-19 Signet Assurance Company Llc System and method for encapsulating transaction messages with verifiable data generated identifiers
US6199052B1 (en) * 1998-03-06 2001-03-06 Deloitte & Touche Usa Llp Secure electronic transactions using a trusted intermediary with archive and verification request services
US20010002929A1 (en) * 1999-12-02 2001-06-07 Niels Mache Message authentication
US20010042201A1 (en) * 2000-04-12 2001-11-15 Masashi Yamaguchi Security communication method, security communication system, and apparatus thereof
US20020007412A1 (en) * 2000-03-10 2002-01-17 Olivier Paridaens Method to perform end-to-end authentication, and related customer premises network termination and access network server
US20020029337A1 (en) * 1994-07-19 2002-03-07 Certco, Llc. Method for securely using digital signatures in a commercial cryptographic system
US20020120760A1 (en) * 2000-05-26 2002-08-29 Gur Kimchi Communications protocol
US20020141585A1 (en) * 2001-01-24 2002-10-03 Broadcom Corporation Method for processing multiple security policies applied to a data packet structure
US20020165023A1 (en) * 2001-04-19 2002-11-07 Igt Open architecture communications in a gaming network
US20020165912A1 (en) * 2001-02-25 2002-11-07 Storymail, Inc. Secure certificate and system and method for issuing and using same
US20020184643A1 (en) * 1999-12-16 2002-12-05 Laurent Fichet Tansmission of a command to a receiver or to a decoder
US20020196159A1 (en) * 2001-05-23 2002-12-26 Laurent Lesenne Devices and processes for the transmission and implementation of control instructions for access to functionalities of receivers
US20030005284A1 (en) * 2000-01-18 2003-01-02 Martin Euchner Method, system for transmitting data from a transmitter to a receiver and transmitter or receiver
US20030058274A1 (en) * 2000-11-17 2003-03-27 Jake Hill Interface device
US20040054912A1 (en) * 2002-09-04 2004-03-18 Daniel Adent Data stream header object protection
US20040117623A1 (en) * 2002-08-30 2004-06-17 Kabushiki Kaisha Toshiba Methods and apparatus for secure data communication links
US20040123109A1 (en) * 2002-09-16 2004-06-24 Samsung Electronics Co., Ltd. Method of managing metadata
US20040138787A1 (en) * 1994-12-30 2004-07-15 Power Measurement Ltd. System and method for implementing XML on an energy management device
US20040193875A1 (en) * 2003-03-27 2004-09-30 Microsoft Corporation Methods and systems for authenticating messages
US6804776B1 (en) * 1999-09-21 2004-10-12 Cisco Technology, Inc. Method for universal transport encapsulation for Internet Protocol network communications
US20040215955A1 (en) * 2003-04-24 2004-10-28 Masaaki Tamai Encrypted packet, processing device, method, program, and program recording medium
US20040223011A1 (en) * 2003-05-06 2004-11-11 Adkins Christopher A. Method of authenticating a consumable
US20040230799A1 (en) * 1999-11-22 2004-11-18 Davis Derek L. Circuit and method for providing secure communications between devices
US6895507B1 (en) * 1999-07-02 2005-05-17 Time Certain, Llc Method and system for determining and maintaining trust in digital data files with certifiable time
US20050114670A1 (en) * 2001-04-23 2005-05-26 Bowe John J. Server-side digital signature system
US20050129236A1 (en) * 2003-12-15 2005-06-16 Nokia, Inc. Apparatus and method for data source authentication for multicast security
US20050265349A1 (en) * 2004-05-27 2005-12-01 Sachin Garg Method for real-time transport protocol (RTP) packet authentication
US6986046B1 (en) * 2000-05-12 2006-01-10 Groove Networks, Incorporated Method and apparatus for managing secure collaborative transactions
US7069438B2 (en) * 2002-08-19 2006-06-27 Sowl Associates, Inc. Establishing authenticated network connections
US20060183489A1 (en) * 2005-02-17 2006-08-17 International Business Machines Corporation Method and system for authenticating messages exchanged in a communications system
US20060242313A1 (en) * 2002-05-06 2006-10-26 Lewiz Communications Network content processor including packet engine
US20060259966A1 (en) * 2005-05-12 2006-11-16 Iinicki Slawomir K Protocol-generic eavesdropping network device
US7171685B2 (en) * 2001-08-23 2007-01-30 International Business Machines Corporation Standard format specification for automatically configuring IP security tunnels
US20070101412A1 (en) * 2005-10-28 2007-05-03 Yahoo! Inc. Low code-footprint security solution
US7225244B2 (en) * 2000-05-20 2007-05-29 Ciena Corporation Common command interface
US7299500B1 (en) * 2003-07-17 2007-11-20 Copyright Clearance Center, Inc. Method and apparatus for secure delivery and rights management of digital content at an unsecure site
US7620041B2 (en) * 2004-04-15 2009-11-17 Alcatel-Lucent Usa Inc. Authentication mechanisms for call control message integrity and origin verification
US7624421B2 (en) * 2003-07-31 2009-11-24 Microsoft Corporation Method and apparatus for managing and displaying contact authentication in a peer-to-peer collaboration system
US7653816B2 (en) * 2003-12-30 2010-01-26 First Information Systems, Llc E-mail certification service
US7698398B1 (en) * 2003-08-18 2010-04-13 Sun Microsystems, Inc. System and method for generating Web Service architectures using a Web Services structured methodology
US7823194B2 (en) * 2002-11-18 2010-10-26 Liquidware Labs, Inc. System and methods for identification and tracking of user and/or source initiating communication in a computer network
US7996539B2 (en) * 1998-10-30 2011-08-09 Virnetx, Inc. Agile network protocol for secure communications with assured system availability
US8190893B2 (en) * 2003-10-27 2012-05-29 Jp Morgan Chase Bank Portable security transaction protocol
US8316129B2 (en) * 2005-05-25 2012-11-20 Microsoft Corporation Data communication coordination with sequence numbers

Patent Citations (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757913A (en) * 1993-04-23 1998-05-26 International Business Machines Corporation Method and apparatus for data authentication in a data communication environment
US20020029337A1 (en) * 1994-07-19 2002-03-07 Certco, Llc. Method for securely using digital signatures in a commercial cryptographic system
US20040138787A1 (en) * 1994-12-30 2004-07-15 Power Measurement Ltd. System and method for implementing XML on an energy management device
US5956404A (en) * 1996-09-30 1999-09-21 Schneier; Bruce Digital signature with auditing bits
US6122372A (en) * 1997-06-04 2000-09-19 Signet Assurance Company Llc System and method for encapsulating transaction messages with verifiable data generated identifiers
US6199052B1 (en) * 1998-03-06 2001-03-06 Deloitte & Touche Usa Llp Secure electronic transactions using a trusted intermediary with archive and verification request services
US7996539B2 (en) * 1998-10-30 2011-08-09 Virnetx, Inc. Agile network protocol for secure communications with assured system availability
US6895507B1 (en) * 1999-07-02 2005-05-17 Time Certain, Llc Method and system for determining and maintaining trust in digital data files with certifiable time
US6804776B1 (en) * 1999-09-21 2004-10-12 Cisco Technology, Inc. Method for universal transport encapsulation for Internet Protocol network communications
US20040230799A1 (en) * 1999-11-22 2004-11-18 Davis Derek L. Circuit and method for providing secure communications between devices
US20010002929A1 (en) * 1999-12-02 2001-06-07 Niels Mache Message authentication
US20020184643A1 (en) * 1999-12-16 2002-12-05 Laurent Fichet Tansmission of a command to a receiver or to a decoder
US20030005284A1 (en) * 2000-01-18 2003-01-02 Martin Euchner Method, system for transmitting data from a transmitter to a receiver and transmitter or receiver
US20020007412A1 (en) * 2000-03-10 2002-01-17 Olivier Paridaens Method to perform end-to-end authentication, and related customer premises network termination and access network server
US20010042201A1 (en) * 2000-04-12 2001-11-15 Masashi Yamaguchi Security communication method, security communication system, and apparatus thereof
US6986046B1 (en) * 2000-05-12 2006-01-10 Groove Networks, Incorporated Method and apparatus for managing secure collaborative transactions
US7225244B2 (en) * 2000-05-20 2007-05-29 Ciena Corporation Common command interface
US20020120760A1 (en) * 2000-05-26 2002-08-29 Gur Kimchi Communications protocol
US20030058274A1 (en) * 2000-11-17 2003-03-27 Jake Hill Interface device
US20020141585A1 (en) * 2001-01-24 2002-10-03 Broadcom Corporation Method for processing multiple security policies applied to a data packet structure
US20020165912A1 (en) * 2001-02-25 2002-11-07 Storymail, Inc. Secure certificate and system and method for issuing and using same
US20020165023A1 (en) * 2001-04-19 2002-11-07 Igt Open architecture communications in a gaming network
US20050114670A1 (en) * 2001-04-23 2005-05-26 Bowe John J. Server-side digital signature system
US20020196159A1 (en) * 2001-05-23 2002-12-26 Laurent Lesenne Devices and processes for the transmission and implementation of control instructions for access to functionalities of receivers
US7171685B2 (en) * 2001-08-23 2007-01-30 International Business Machines Corporation Standard format specification for automatically configuring IP security tunnels
US20060242313A1 (en) * 2002-05-06 2006-10-26 Lewiz Communications Network content processor including packet engine
US7069438B2 (en) * 2002-08-19 2006-06-27 Sowl Associates, Inc. Establishing authenticated network connections
US20040117623A1 (en) * 2002-08-30 2004-06-17 Kabushiki Kaisha Toshiba Methods and apparatus for secure data communication links
US20040054912A1 (en) * 2002-09-04 2004-03-18 Daniel Adent Data stream header object protection
US20040123109A1 (en) * 2002-09-16 2004-06-24 Samsung Electronics Co., Ltd. Method of managing metadata
US7823194B2 (en) * 2002-11-18 2010-10-26 Liquidware Labs, Inc. System and methods for identification and tracking of user and/or source initiating communication in a computer network
US20040193875A1 (en) * 2003-03-27 2004-09-30 Microsoft Corporation Methods and systems for authenticating messages
US20040215955A1 (en) * 2003-04-24 2004-10-28 Masaaki Tamai Encrypted packet, processing device, method, program, and program recording medium
US20040223011A1 (en) * 2003-05-06 2004-11-11 Adkins Christopher A. Method of authenticating a consumable
US7299500B1 (en) * 2003-07-17 2007-11-20 Copyright Clearance Center, Inc. Method and apparatus for secure delivery and rights management of digital content at an unsecure site
US7624421B2 (en) * 2003-07-31 2009-11-24 Microsoft Corporation Method and apparatus for managing and displaying contact authentication in a peer-to-peer collaboration system
US7698398B1 (en) * 2003-08-18 2010-04-13 Sun Microsystems, Inc. System and method for generating Web Service architectures using a Web Services structured methodology
US8190893B2 (en) * 2003-10-27 2012-05-29 Jp Morgan Chase Bank Portable security transaction protocol
US20050129236A1 (en) * 2003-12-15 2005-06-16 Nokia, Inc. Apparatus and method for data source authentication for multicast security
US7653816B2 (en) * 2003-12-30 2010-01-26 First Information Systems, Llc E-mail certification service
US7620041B2 (en) * 2004-04-15 2009-11-17 Alcatel-Lucent Usa Inc. Authentication mechanisms for call control message integrity and origin verification
US20050265349A1 (en) * 2004-05-27 2005-12-01 Sachin Garg Method for real-time transport protocol (RTP) packet authentication
US20060183489A1 (en) * 2005-02-17 2006-08-17 International Business Machines Corporation Method and system for authenticating messages exchanged in a communications system
US20060259966A1 (en) * 2005-05-12 2006-11-16 Iinicki Slawomir K Protocol-generic eavesdropping network device
US8316129B2 (en) * 2005-05-25 2012-11-20 Microsoft Corporation Data communication coordination with sequence numbers
US20070101412A1 (en) * 2005-10-28 2007-05-03 Yahoo! Inc. Low code-footprint security solution

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CableLabs, 'PacketCable(TM) Security Specification', PKT-SP-SEC-I06-021018, Cable Television Laboratories, Inc., 1999-2000, pp. 144 et seq., figures 17, 18, http://www.cablelabs.com/wp-content/uploads/specdocs/PKT-SP-SEC-I06-021018.pdf *
Krawczyk, H., et al, "HMAC: Keyed-Hashing for Message Authentication", IBM, February 1997, entire document, http://tools.ietf.org/pdf/rfc2104.pdf *

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080075073A1 (en) * 2006-09-25 2008-03-27 Swartz Troy A Security encapsulation of ethernet frames
US8379638B2 (en) * 2006-09-25 2013-02-19 Certes Networks, Inc. Security encapsulation of ethernet frames
US8885818B2 (en) 2009-08-07 2014-11-11 Dolby International Ab Authentication of data streams
US20110138185A1 (en) * 2009-12-08 2011-06-09 Samsung Electronics Co., Ltd. Method and apparatus for updating data
US9252956B2 (en) 2010-08-03 2016-02-02 Siemens Aktiengesellschaft Method and system for transmitting control data in a manner that is secured against manipulation
DE102010033229A1 (en) * 2010-08-03 2012-02-09 Siemens Aktiengesellschaft Method and system for tamper-proof transmission of control data
US11171922B2 (en) 2010-09-30 2021-11-09 Siemens Mobility GmbH Method and system for secure data transmission with a VPN box
WO2012041654A1 (en) * 2010-09-30 2012-04-05 Siemens Aktiengesellschaft Method and system for secure data transmission with a vpn box
US20150113589A1 (en) * 2013-10-01 2015-04-23 Robert K. Lemaster Authentication server enhancements
US9578005B2 (en) * 2013-10-01 2017-02-21 Robert K Lemaster Authentication server enhancements
US9866483B2 (en) 2015-07-20 2018-01-09 Schweitzer Engineering Laboratories, Inc. Routing of traffic in network through automatically generated and physically distinct communication paths
US9686125B2 (en) 2015-07-20 2017-06-20 Schwetizer Engineering Laboratories, Inc. Network reliability assessment
US9769060B2 (en) 2015-07-20 2017-09-19 Schweitzer Engineering Laboratories, Inc. Simulating, visualizing, and searching traffic in a software defined network
US10659314B2 (en) 2015-07-20 2020-05-19 Schweitzer Engineering Laboratories, Inc. Communication host profiles
US9900206B2 (en) 2015-07-20 2018-02-20 Schweitzer Engineering Laboratories, Inc. Communication device with persistent configuration and verification
US9923779B2 (en) 2015-07-20 2018-03-20 Schweitzer Engineering Laboratories, Inc. Configuration of a software defined network
US20190124053A1 (en) * 2015-07-20 2019-04-25 Schweitzer Engineering Laboratories, Inc. Communication device for implementing selective encryption in a software defined network
US10341311B2 (en) * 2015-07-20 2019-07-02 Schweitzer Engineering Laboratories, Inc. Communication device for implementing selective encryption in a software defined network
US20170026349A1 (en) * 2015-07-20 2017-01-26 Schweitzer Engineering Laboratories, Inc. Communication device for implementing selective encryption in a software defined network
US10721218B2 (en) * 2015-07-20 2020-07-21 Schweitzer Engineering Laboratories, Inc. Communication device for implementing selective encryption in a software defined network
US10432403B2 (en) 2015-11-25 2019-10-01 Fenwal, Inc. Secure communication between infusion pump and server
US10863558B2 (en) 2016-03-30 2020-12-08 Schweitzer Engineering Laboratories, Inc. Communication device for implementing trusted relationships in a software defined network
CN106850596A (en) * 2017-01-16 2017-06-13 北京市天元网络技术股份有限公司 A kind of data collecting system and method
US11448522B2 (en) 2017-02-10 2022-09-20 Kamstrup A/S Radio frequency communication system and method
CN110506427A (en) * 2017-02-10 2019-11-26 卡姆鲁普股份有限公司 RF communication system and method
US10785189B2 (en) 2018-03-01 2020-09-22 Schweitzer Engineering Laboratories, Inc. Selective port mirroring and in-band transport of network communications for inspection
US11075908B2 (en) 2019-05-17 2021-07-27 Schweitzer Engineering Laboratories, Inc. Authentication in a software defined network
US10979309B2 (en) 2019-08-07 2021-04-13 Schweitzer Engineering Laboratories, Inc. Automated convergence of physical design and configuration of software defined network
US11228521B2 (en) 2019-11-04 2022-01-18 Schweitzer Engineering Laboratories, Inc. Systems and method for detecting failover capability of a network device
US11165685B2 (en) 2019-12-20 2021-11-02 Schweitzer Engineering Laboratories, Inc. Multipoint redundant network device path planning for programmable networks
EP4099657A4 (en) * 2020-03-11 2023-07-12 Huawei Technologies Co., Ltd. Method and device for preventing replay attack on srv6 hmac check
EP3905482A1 (en) * 2020-04-30 2021-11-03 Widesign S.r.l. Bidirectional wireless device
IT202000009544A1 (en) * 2020-04-30 2021-10-30 Widesign S R L BIDIRECTIONAL WIRELESS DEVICE USABLE AS A NODE FOR A WIRELESS NETWORK TO REGULATE AT LEAST ONE ELECTRIC LOAD
US11431605B2 (en) 2020-12-16 2022-08-30 Schweitzer Engineering Laboratories, Inc. Communication system tester and related methods
US11418432B1 (en) 2021-04-22 2022-08-16 Schweitzer Engineering Laboratories, Inc. Automated communication flow discovery and configuration in a software defined network
US11336564B1 (en) 2021-09-01 2022-05-17 Schweitzer Engineering Laboratories, Inc. Detection of active hosts using parallel redundancy protocol in software defined networks
US11750502B2 (en) 2021-09-01 2023-09-05 Schweitzer Engineering Laboratories, Inc. Detection of in-band software defined network controllers using parallel redundancy protocol
US11838174B2 (en) 2022-02-24 2023-12-05 Schweitzer Engineering Laboratories, Inc. Multicast fast failover handling
US11848860B2 (en) 2022-02-24 2023-12-19 Schweitzer Engineering Laboratories, Inc. Multicast fast failover turnaround overlap handling

Also Published As

Publication number Publication date
CA2592643A1 (en) 2007-12-29

Similar Documents

Publication Publication Date Title
US20080005558A1 (en) Methods and apparatuses for authentication and validation of computer-processable communications
CA3073549C (en) Methods and systems for secure data communication
Fovino et al. Design and implementation of a secure modbus protocol
Xiaohui Study on security problems and key technologies of the internet of things
CN113508563A (en) Block chain based secure email system
US20030233573A1 (en) System and method for securing network communications
CN106850191B (en) Encryption and decryption method and device for communication protocol of distributed storage system
Ferst et al. Implementation of secure communication with modbus and transport layer security protocols
Castellanos et al. Legacy-compliant data authentication for industrial control system traffic
CN109995530B (en) Safe distributed database interaction system suitable for mobile positioning system
CN104065485A (en) Power grid dispatching mobile platform safety guaranteeing and controlling method
KR20120002587A (en) Use of snmp for management of small footprint devices
CN105471901A (en) Industrial information security authentication system
CN114143068A (en) Electric power internet of things gateway equipment container safety protection system and method thereof
US8788817B1 (en) Methods and apparatus for secure and reliable transmission of messages over a silent alarm channel
Sinha et al. Blockchain-based communication and data security framework for IoT-enabled micro solar inverters
Wanying et al. The study of security issues for the industrial control systems communication protocols
CN112671735B (en) Data encryption sharing system and method based on block chain and re-encryption
CN112202773B (en) Computer network information security monitoring and protection system based on internet
US11741243B1 (en) Method for using redundant encryption to secure data in supervisory control systems
Yoon et al. Security considerations based on classification of IoT device capabilities
US10972912B1 (en) Dynamic establishment of trust between locally connected devices
Mashima et al. Enhancing demand response signal verification in automated demand response systems
Saxena et al. Public key cryptography based approach for securing SCADA communications
Wang Smart grid, automation, and scada systems security

Legal Events

Date Code Title Description
AS Assignment

Owner name: BATTELLE MEMORIAL INSTITUTE, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HADLEY, MARK D.;GORANSON, CRAIG A.;HUSTON, KRISTY A.;AND OTHERS;REEL/FRAME:018071/0798;SIGNING DATES FROM 20060623 TO 20060626

Owner name: BATTELLE MEMORIAL INSTITUTE, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HADLEY, MARK D.;GORANSON, CRAIG A.;HUSTON, KRISTY A.;AND OTHERS;SIGNING DATES FROM 20060623 TO 20060626;REEL/FRAME:018071/0798

AS Assignment

Owner name: ENERGY, U.S. DEPARTMENT OF, DISTRICT OF COLUMBIA

Free format text: CONFIRMATORY LICENSE;ASSIGNOR:BATTELLE MEMORIAL INSTITUTE, PACIFIC NORTHWEST DIV.;REEL/FRAME:018467/0890

Effective date: 20060830

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION