Aircrafts, such as commercial and military aircraft, include aerospace control systems that control and monitor aircraft engines. The aerospace control systems may control and/or monitor aerospace control system components such as, for example, aircraft engine pressure sensors, temperature sensors, solenoids, and actuators. The aerospace control systems may also control and/or manage other aircraft engine parts and/or functionality. For example, aerospace control systems may assist in ensuring optimum aircraft engine efficiencies during flight are achieved by receiving various flight condition information and controlling various aircraft engine operations, such as fuel flow, valve positions, and others. Aerospace control systems may include a full authority digital engine controller (“FADEC”) that includes an electronic engine controller (“EEC”) or engine control unit (“ECU”). The FADEC may further include a central processing unit (“CPU”), memory, and a data bus to communicate with other aircraft engine components, such as aircraft engine sensors and actuators. In addition, the FADEC may include maintenance ports and/or communication ports. These ports include connector interfaces for various connector types such as Ethernet ports, serial ports, and/or universal serial bus (“USB”) ports, among others, that may connect with different parts of the aircraft.
Aerospace control systems may be implemented as a centralized (or federated) control system (“CCS”) architecture design or a distributed control system (“DCS”) architecture design. Aerospace control systems incorporating a CCS architecture design include a FADEC with a CPU that handles all processing functions as generally shown in
An aerospace control system incorporating a DCS architecture design, however, may not require a FADEC with this additional circuitry. Instead, the various aerospace control system components (e.g., sensors and/or actuators) include local processing capabilities that can relay information to the FADEC's CPU as shown in
These aerospace architectures, however, have vulnerabilities during operation in a cyber-hostile environment. For example, threats from a cyber-attack can come from software loaded onto the FADEC via one of the FADEC's maintenance or communication ports. Threats may also come from hacking into access points over communication links between the FADEC and other parts of the aerospace control system, such as sensors and actuators. In addition, aerospace architectures are vulnerable to “hardware hacks,” where hardware, such as the FADEC or a communication link, is physically altered to allow access to the aerospace control system. Cyber threats may also include passively extracting executable code or software images via software, JTAG and serial interfaces (e.g. RS 232, USB, etc . . . ). Offensively extracting executable code or software images via direct accessing or removal of flash memory; Extraction, analysis and decompiling firmware images and manipulation of firmware images to gain access and exploit communications or controls, or to attack some other area of functionality.
Engine manufacturers are the type certificate holder for all aspects of each engine, engine controls, communications network, power distribution, etc. The certification framework of FAA and EASA requires for new engine programs, these systems must be demonstrated to be cyber secure. Thus the engine manufacturer is responsible for the security of the data and controls used in the engine network to process sensor data, operate actuators, handle communications with the airframe, monitor safety and criticality issues, etc. Engine manufacturers typically work with external suppliers (third party vendors) to manufacture smart sensors or other similar products/components. These electronic interface poses a new risk for cyber hacking via a third party interaction.
To address potential weaknesses with the authenticity of each part, confirmation of the software configuration, and provenance of the part, a methodology to validate that the third party components are the ones designed, developed, qualified and certified for the manufacturers engines using a block chain ledger becomes advantageous.
As used herein a block chain or distributed ledger being a cryptographically secure ledger containing many different transactions, which may be used to provide secure communication within the engine. The transactions may be grouped into blocks. The blocks may be linked (i.e., chained) together with cryptographic algorithms to form a block chain. An advantage of block chain is its integrity. Once appended to the block chain for a sufficient amount of time, revising blocks to add, modify, and/or remove transactions becomes intractable (i.e., substantially impossible).
Presented is a method for controlling an engine having a control module and smart nodes. The method includes maintaining a block chain ledger may be at the control module of the aircraft engine, where the block chain may include an information block from at least a preceding engine start. The method may also include maintaining a hash of at least a digital certificate and data at one of the smart nodes; transmitting a message including the hash to the control module; receiving the message at the control module; determining a control hash based upon the information from at least a preceding engine start at the control module; module comparing the hash to the control hash at the control; and based upon the comparison, starting the engine and updating the block chain ledger as a function of the received message.
The method may further include maintaining a second hash of at least the digital certificate and data at another of the smart nodes; wherein the message includes the second hash; and wherein the step of comparing the hash to the control hash, further comprises comparing the second hash to the control hash. The step of transmitting the message also includes encrypting the message with one of a private key or public key. The step of receiving the message also comprises decrypting the message with one of a private key or public key. The method may further include at the one of the smart nodes maintaining a local block chain ledger, the local block chain may include a digital certificate and data from at least the preceding engine start, and the step of transmitting may further include updating the local block chain ledger. The data may be selected from the group consisting of manufacturer, serial number of the smart node, software configuration, date of manufacture, date of qualification, public key and a preceding hash. The step of updating the local block chain ledger further comprises deleting the preceding block from the local block chain ledger. The method may further include updating the digital certificate. The digital certificates are updated annually. The step of determining a control hash further comprises updating the block chain ledger with a digital certificate and data associated with the one smart node prior to the comparison. The data may include a hash from a preceding smart node message. The control module and smart nodes may be arranged in a DCS architecture. The control module and smart nodes may be arranged in a CCS architecture. The control module maintains block chain ledgers for each of the smart nodes.
A method of authentication of a smart node in a gas turbine engine, may include: determining the required operational characteristics for the smart node; generating a hash at a control module reflective of required operational characteristics for the smart node; storing the hash in a block chain; receiving a second hash at the control module from the smart node; comparing the hash in the block chain with the second hash; authenticating the operation of the smart node based upon the comparison; and, updating the block chain with the second hash.
The method may further include generating the second hash at the smart node as at least a reflection of operations characteristics of the smart node. The second hash is further reflective of a preceding hash contained in a local block chain at the smart node. The method may further include starting a gas turbine subsequent to the authentication of the smart node. The generation of the second hash may be performed upon installation of the smart node on the gas turbine.
A method for authenticating a component on a gas turbine prior to operation, may include: maintaining a block chain ledger at a control module of the gas turbine, the block chain includes successive information blocks; the information blocks may include information reflective of at least the component; receiving a message at the control module from the component; at the control module determining a control hash based upon the information reflective of at least the component; determining a hash based at least upon the received message and at the control module comparing the hash to the control hash; based upon the comparison, authenticating the component, updating the block chain ledger as a function of the receive message; and, operating the gas turbine.
The following will be apparent from elements of the figures, which are provided for illustrative purposes.
While the present disclosure is susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. It should be understood, however, that the present disclosure is not intended to be limited to the particular forms disclosed. Rather, the present disclosure is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the disclosure as defined by the appended claims.
For the purposes of promoting an understanding of the principles of the disclosure, reference will now be made to a number of illustrative embodiments in the drawings and specific language will be used to describe the same.
Each of the control node 204 and concentrator node 206 may include instruction memory 212, 214, respectively. Instruction memory 212, 214 can store instructions that can be accessed (e.g., read) and executed by processing units 208, 210, respectively. For example, each of instruction memory 212, 214 can be a non-transitory, computer-readable storage medium such as a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), flash memory, a removable disk, CD-ROM, any non-volatile memory, or any other suitable memory.
Each of the control node 204 and concentrator node 206 may also include working memory 216, 218, respectively. Processing units 208, 210 can store data to, and read data from, working memory 216, 218, respectively. For example, processing units 208, 210 can store a working set of instructions to working memory 216, 218, such as instructions loaded from instruction memory 212, 214, respectively. Processing units 208, 210 can also use working memory 208, 210, respectively, to store dynamic data.
Sensor 306 may be, for example, an optical sensor, a pressure sensor, a temperature sensor, or any other suitable sensor. Sensor 306 may provide sensor readings over communication link 312 to concentrator node 306. Smart sensor 310 may be a sensor that also provides processing capability. For example, rather than merely providing raw sensor readings, smart sensor 310 may provide calibrated readings over communication link 312 and/or may bypass the concentrator node 304 and communicate with the control node 302 using the same methodology as employed by the concentrator node 304.
In
Returning to
Concentrator node 304 is also communicatively coupled to control node 302 over at least a first communication link 314. The first communication link 314 may be fiber optic, Ethernet, hardwired and/or wireless. First communication link 314 may be a fiber optic link, such as one using multi-mode optical fiber (e.g., a multi-mode fiber optic link), for example. Control node 302 is operable to transmit to, and receive data from, concentrator node 304 over first communication link 314. For example, concentrator node 304 may send sensor readings, such as from one or more sensors 306 or one or more smart sensors 310, to control node 302 over first communication link 314. In addition, control node 302 may send control messages to concentrator node 304, such as control messages to control one or more actuators 308, over first communication link 314. In some examples, communications over first communication link 314 are encrypted.
In some examples, first communication link 314 includes multiple fiber optic links, such as in a braided ring. In some examples, concentrator node 304 is also communicatively coupled to control node 302 over a second communication link 316. Second communication link 316 may also be a fiber optic link, a hardwired link, such as an Ethernet link or wireless. In some examples, control node 302 is operable to transmit to, and receive data from, concentrator node 304 over second communication link 316. In some examples, communications over second communication link 316 are encrypted.
To address potential weaknesses with the authenticity of each part in the control system architectures, confirmation of the software configuration, and provenance of the part, as well as protect against a cyber-attack, a methodology to use block chain (i.e. a distributed ledger) with digital certificates to validate that the parts are the ones designed, developed, qualified and certified for respective engine is presented. Third parties offering smart sensor/actuator or smart nodes for a respective architecture are required to use a block chain encryption protocol with manufacturer's issued digital certificate. The methodology allows externally provided smart devices to communicate within the architecture after confirming the identity and authenticity of the parts. With this block chain integration the suppliers may develop a unique block chain ledger for the control module and each smart sensor, smart actuator or smart node.
According to embodiments of the disclosed subject matter, the master or control node (control module) undertakes the method to ensure the third party supplied nodes are authorized, properly configured and operable with the control architecture irrespective of whether the architecture is a CCS or a DCS. The method is illustrated with respect to the architecture of
The control module 302 polls each of the nodes upon startup of the engine, or other regularly repeating operation or event, the nodes respond by transmitting a message to the control module. The control module polling may simply be an initial command to start or sequence of commands. The transmitted message may include a hash of a digital certificate maintained at the node, the hash may further include data related to the node, as well as a preceding hash.
For example, the data may include the manufacturer of the node, the serial number/model of the smart node, the specific software configuration of the node, date of manufacture of the node, date of qualification of the component, date of installation, a public key and/or a preceding hash (i.e. the hash of the preceding message sent by the node). Additionally, other data, such as engine run time, time stamps etc. may also be included. The digital certificate, data and hash may be maintained at the node using a local block chain ledger, and upon transmission of the message the local block chain ledger may be updated. In accordance with embodiments described herein, the nodes may additionally encrypt the message with one of a private or public key from an asymmetric key pair. The local block chain may also be truncated to conserve memory space.
Upon receiving the hash from each of the nodes, the control module using a corresponding public or private key from the key pair, decrypts the message from each of the nodes. The control module 302 then determines control hashes for each of the nodes (306, 308 and 310) based upon information stored in a block of the central block chain ledger associated with the preceding start/event. Each block in the central block chain ledger may include the digital certificate, data and/or hashes from the messages sent by the nodes in the preceding start up.
The control module 302 may compare the determined control hash with the hash of the message or the preceding hash. In some embodiments, the control hash may be a collection of hashes from each of the nodes, such that the components are validated as a whole rather than individually. The control hash may be determined by information stored in the central block chain ledger and/or from the data received in the message from each of the nodes. For example, the control node 302, may use the information known about the smart node, such as serial number, date of install, previous hash etc. to generate the control hash, or the control node 302 may use the same data received in the message along with the previous hash to determine the control hash, this latter example ensures the data has not been tampered with subsequent the hashing.
Based upon the comparison, the authenticity and other features of the smart node may be confirmed and the startup operation may proceed. In addition, the central block chain as well as the local node block chains may be updated as a function of the received message. Given the limited memory typically associated with the smart nodes, the local block chain ledger may delete a preceding block from the local block chain ledger, such that the local block chain ledger maintains a limited number of block, whereas the larger central block chain may advantageously maintain a more complete log as its memory is typically not as limited.
Upon installation of a new node or upon a regularly occurring period, it may be necessary to update the central block chain ledger, in addition to the local block chains. These updates may be required as a result of the issuance of a new digital certificate, a new asymmetric key pair, or other event. For example, a new digital certificate may be issued annually to the manufacturer, a new manufacturer for a component is established, and/or software is updated. The updates may be accomplished with new nodes, or updated nodes broadcasting changes to the control module during an initialization step. The initialization advantageously results in an updated central block chain which contains an immutable record of the changes.
While it is advantageous to use asymmetric encryption, the disclosed subject matter may also be practiced without asymmetric encryption. Hashes reflective of the necessary operation of the smart nodes may also be used (e.g. software version, inputs, outputs of the smart node may be incorporated into a hash), and only smart nodes expressing the hash would be authenticated.
Referring to
Although the methods are described with reference to illustrated flowcharts, it will be appreciated that many other ways of performing the acts associated with the methods may be used. For example, the order of some operations may be changed, and some of the operations described may be optional.
Among other advantages, the control system and methods described herein may provide for data security and cyber security countermeasures within the control system. The disclosed method advantageously: confirms part authenticity and configuration, qualification information, validates part numbers, serial numbers, dates of manufacture, configuration, software build, etc.; guarantees external suppliers smart transducers can communicate over the network; provides assurances that the smart transducers can still function even under attack; reduces maintenance burden by capturing the date of engine installation and other engine relevant data; ensures financial support for maintainability. Also the disclosed method ensures both original equipment manufacturer and aftermarket parts meet original design intent as part certificates may be routinely updated including on an annual basis.
Persons of ordinary skill in the art having the benefit of the disclosures herein would recognize these and other benefits as well.
Although examples are illustrated and described herein, embodiments are nevertheless not limited to the details shown, since various modifications and structural changes may be made therein by those of ordinary skill within the scope and range of equivalents of the claims.
The present application is a non-provisional application of, and claims priority to, U.S. Provisional Application No. 62/785,601, filed Dec. 27, 2018, title: A METHOD AND PROCESS FOR BLOCKCHAIN IMPLEMENTATION WITH THIRD PARTY DEVICES. This application also claims priority to co-pending U.S. Provisional Application No. 62/783,017, filed Dec. 20, 2018, title: BLOCKCHAIN BASED VEHICLE CONTROL and U.S. Provisional Application No. 62/782,984, filed Dec. 20, 2018, title: SECURE ENGINE COMMUNICATION. The present application is also related to co-pending U.S. application Ser. No. 16/283,644, filed Feb. 22, 2019, title: A METHOD AND PROCESS FOR SECURING AN EXECUTABLE IMAGE. The entireties of each of these applications are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62785601 | Dec 2018 | US | |
62783017 | Dec 2018 | US | |
62782984 | Dec 2018 | US |