Methods, apparatus and computer program products are provided to authenticate and determine the integrity a software part. In this regard, a software part is authenticated and its integrity is determined by determining a first hash of the digital data that comprises the software part. If the air vehicle lacks data communications connectivity with an off-board security system, the method determines the authenticity and integrity of the software part by decrypting an encrypted hash of a software part in accordance with a public-private key pair to create a decrypted hash, comparing the first hash with the decrypted hash and transmitting the first hash to the off-board security system once data communications connectivity is established. Conversely, if the air vehicle has data communications connectivity with the off-board security system, the method determines the integrity of the software part by transmitting the first hash to the off-board security system for comparison with a whitelist.
|
1. A method for authenticating and determining integrity of a software part of an air vehicle comprising:
determining a first hash of digital data that comprises the software part; and
utilizing first and second different techniques to determine authenticity and integrity of the software part depending upon whether the air vehicle has data communications connectivity with an off-board security system in which case the first technique is utilized or lacks data communications connectivity with the off-board security system in which case the second technique is utilized,
wherein, in an instance in which the air vehicle lacks data communications connectivity with the off-board security system, determining authenticity and integrity of the software part in accordance with the second technique by:
decrypting an encrypted hash of a software part in accordance with a public-private key pair to create a decrypted hash;
comparing the first hash with the decrypted hash;
executing the software part in an instance in which the first hash matches the decrypted hash without awaiting establishment of data communications connectivity with the off-board security system; and
thereafter transmitting the first hash to the off-board security system, following execution of the software part, once data communications connectivity is established; and
wherein, in an instance in which the air vehicle has data communications connectivity with the off-board security system, determining the integrity of the software part in accordance with the first technique by transmitting the first hash to the off-board security system for comparison with a whitelist including a plurality of hashes of authentic software parts.
7. A system for authenticating and determining integrity of a software part of an air vehicle comprising:
an on-board computing system comprising a processor and memory configured to determine a first hash of digital data that comprises the software part, said on-board computing system also configured to utilize first and second different techniques to determine authenticity and integrity of the software part depending upon whether the air vehicle has data communications connectivity with an off-board security system in which case the first technique is utilized or lacks data communications connectivity with the off-board security system in which case the second technique is utilized, wherein, in an instance in which the air vehicle lacks data communications connectivity with an off-board security system, said on-board computing system is configured to determine authenticity and integrity of the software part in accordance with the second technique by decrypting an encrypted hash of a software part in accordance with a public-private key pair to create a decrypted hash, comparing the first hash with the decrypted hash, executing the software part in an instance in which the first hash matches the decrypted hash without awaiting establishment of data communications connectivity with the off-board security system and thereafter transmitting the first hash to the off-board security system, following execution of the software part, once data communications connectivity is established, and wherein, in an instance in which the air vehicle has data communications connectivity with the off-board security system, said on-board computing system is configured to determine the integrity of the software part in accordance with the first technique by transmitting the first hash to the off-board security system for comparison with a whitelist including a plurality of hashes of authentic software parts.
13. A computer program product for authenticating and determining integrity of a software part of an air vehicle and comprising at least one non-transitory computer-readable storage medium having computer-executable program code portions stored therein, the computer-executable program code portions comprising:
program code instructions for determining a first hash of digital data that comprises the software part; and
program code instructions for utilizing first and second different techniques to determine authenticity and integrity of the software part depending upon whether the air vehicle has data communications connectivity with an off-board security system in which case the first technique is utilized or lacks data communications connectivity with the off-board security system in which case the second technique is utilized,
wherein the program code instructions are configured to determine authenticity and integrity of the software part in an instance in which the air vehicle lacks data communications connectivity with an off-board security system in accordance with the second technique by:
decrypting an encrypted hash of a software part in accordance with a public-private key pair to create a decrypted hash;
comparing the first hash with the decrypted hash;
executing the software part in an instance in which the first hash matches the decrypted hash without awaiting establishment of data communications connectivity with the off-board security system; and
thereafter transmitting the first hash to the off-board security system, following execution of the software part, once data communications connectivity is established; and
wherein the program code instructions are configured to determine the integrity of the software part in an instance in which the air vehicle has data communications connectivity with the off-board security system in accordance with the first technique by transmitting the first hash to the off-board security system for comparison with a whitelist including a plurality of hashes of authentic software parts.
19. A system for authenticating and determining integrity of a software part of an air vehicle comprising:
an off-board security system having access to a whitelist include a plurality of hashes of authentic software parts; and
an on-board computing system comprising a processor and memory configured to determine a first hash of digital data that comprises the software part, said processor of said on-board computing system also configured to utilize first and second different techniques to determine authenticity and integrity of the software part depending upon whether the air vehicle has data communications connectivity with an off-board security system in which case the first technique is utilized or lacks data communications connectivity with the off-board security system in which case the second technique is utilized, wherein the processor of the on-board computing system is configured to determine authenticity and integrity of the software part in an instance in which the air vehicle lacks data communications connectivity with the off-board security system in accordance with the second technique by decrypting an encrypted hash of a software part in accordance with a public-private key pair to create a decrypted hash, comparing the first hash with the decrypted hash, executing the software part in an instance in which the first hash matches the decrypted hash without awaiting establishment of data communications connectivity with the off-board security system and thereafter transmitting the first hash to the off-board security system, following execution of the software part, once data communications connectivity is established, and wherein the processor of said on-board computing system further configured to determine the integrity of the software part in an instance in which the air vehicle has data communications connectivity with the off-board security system in accordance with the first technique by transmitting the first hash to the off-board security system,
wherein the off-board security system comprises a processor configured to compare the first hash provided by the on-board computing system with the whitelist and to provide an indication of the integrity of the software part.
2. A method according to
3. A method according to
4. A method according to
5. A method according to
6. A method according to
8. A system according to
9. A system according to
10. A system according to
11. A system according to
12. A system according to
14. A computer program product according to
15. A computer program product according to
16. A computer program product according to
17. A computer program product according to
18. A computer program product according to
20. A system according to
|
Embodiments of the present disclosure relate generally to methods, apparatus and computer program products for authenticating and determining integrity of a software part, and, more particularly, to methods, apparatus and computer program products for authenticating and determining integrity of a software part onboard an air vehicle.
Aircraft and other air vehicles oftentimes include a member of software parts, such as software programs. These software parts may perform a wide variety of functions upon execution. For example, some software parts facilitate the operation of the air vehicle including software programs that are utilized in navigation including navigation maps, propulsion, communications and the like, while other software parts support the passenger experience by at least partly controlling heating, ventilation and cooling operations, entertainment systems and the like. Of the software parts onboard an aircraft, many software parts are designed and provided by a vendor. The vendor may be the manufacturer of the air vehicle or a subcontractor or other supplier that supplies software parts to the manufacturer for integration into the air vehicle. In regards to an aircraft, the vendor may provide the software parts to an airline and the airline may, in turn, provision one or more of the aircraft in its fleet with the software parts.
It may be desirable in many instances to confirm the integrity of the software parts that are installed upon an air vehicle to insure that the air vehicle performs as intended. In this regard, it may be desirable to identify a software part that has been corrupted or otherwise modified while in transit from the vendor and/or the airline to the air vehicle. In addition to the corruption or modification of an otherwise authentic software part, it may also be desirable to identify any software parts that are simply not authorized, such as by not being provided by an authorized vendor and/or not being sanctioned or otherwise authorized by the airline.
The authenticity and integrity of some software parts has been maintained by storing the software parts on a physical media, such as a floppy disk, compact disk or the like, and then handling and transferring the physical media in a secure manner. In this regard, the physical media could be shipped in a secure manner, the media content could be electronically inspected and a cyclic redundancy check (CRC) could be performed by the equipment onboard the air vehicle to confirm its authenticity and integrity. However, many software parts are now distributed electronically such that the techniques for insuring authenticity and integrity that were employed for the handling and transfer of physical media are much less applicable.
Methods, apparatus and computer program products are provided in accordance with embodiments of the present disclosure in order to authenticate and determine the integrity of a software part of an air vehicle. The methods, apparatus and computer program products of one embodiment may authenticate and determine the integrity of the software parts both in an instance in which data communication connectivity is established with an off-board security system as well as in an instance in which the air vehicle lacks data communication connectivity with an off-board security system. The method, apparatus and computer program product of one embodiment may utilize different techniques to authenticate and determine the integrity of the software part in different manners depending upon whether or not the air vehicle has data communication connectivity with an off-board security system, thereby permitting the method, apparatus and computer program product of this embodiment to take advantage of the advantageous features of each of the authentication and integrity determination techniques while concurrently mitigating any risk associated with each of the authentication and integrity determination techniques.
In one embodiment, a method is provided for authenticating and determining the integrity of a software part of an air vehicle by determining a first hash of the digital data that comprises the software part. In an instance in which the air vehicle lacks data communications connectivity with an off-board security system, the method determines the authenticity and integrity of the software part by decrypting an encrypted hash of a software part in accordance with a public-private key pair to create a decrypted hash, comparing the first hash with the decrypted hash and thereafter transmitting the first hash to the off-board security system once data communications connectivity is established to, for example, audit the integrity of the software part. Conversely, in an instance in which the air vehicle has data communications connectivity with the off-board security system, the method determines integrity of the software part by transmitting the first hash to the off-board security system for comparison with a whitelist including a plurality of hashes of authentic software parts. By initially authenticating and determining the integrity of the software part without reference to a whitelist onboard the air vehicle, such as in an instance in which the air vehicle lacks data communications connectivity with an off-board security system, the whitelist may be maintained in a central location, which facilitates the whitelist being maintained or updated in an efficient and timely manner even in instances in which the software parts are provided by a plurality of vendors.
The determination of the authenticity and integrity of the software part in an instance in which the air vehicle lacks data communications connectivity with an off-board security system may include initially authenticating and determining the integrity of the software part in an instance in which the first hash matches the decrypted hash. In one embodiment, the determination of the authenticity and integrity of the software part in an instance in which the air vehicle lacks data communications connectivity with an off-board security system may include flagging the software part as potentially lacking authenticity and/or integrity in an instance in which the first hash fails to match the decrypted hash. The decryption of an encrypted hash of a software part may include decrypting a hash of a software part that has been encrypted with a private key of an airline with a public key of the airline. In order to maintain the authenticity of the public key, the public key may be maintained in certificates or other digital documents that are, in turn, signed by other private-public key pairs that are held by trusted institutions, e.g., Certificate Authorities. In one embodiment, however, an airline may store certificates containing its public keys in its air vehicles. The method of one embodiment may also update the whitelist as the software parts carried by the air vehicle change, although the updating of the whitelist may require significant effort, particularly in instances in which the software parts are provided by a plurality of vendors and/or in instances in which the whitelist is distributed. As such, the whitelist may be maintained at a centralized location to facilitate its maintenance in an efficient manner.
In another embodiment, a system is provided for authenticating and determining the integrity of a software part of an air vehicle that includes an on-board computing system configured to determine a first hash of digital data that includes the software part. The on-board computing system is also configured to determine the authenticity and integrity of the software part in an instance in which the air vehicle lacks data communications connectivity with an off-board security system by decrypting an encrypted hash of a software part in accordance with a public-private key pair to create a decrypted hash, comparing the first hash with the decrypted hash, and thereafter transmitting the first hash to the off-board security system once data communications connectivity is established to, for example, audit the integrity of the software part. The on-board computing system is further configured to determine the integrity of the software part in an instance in which the air vehicle has data communications connectivity with the off-board security system by transmitting the first hash to the off-board security system for comparison with a whitelist including a plurality of hashes of authentic software parts. The whitelist may be updated as the software parts carried by the air vehicle change.
The on-board computing system may also be configured such that the determination of the authenticity and integrity of the software part in an instance in which the air vehicle lacks data communications connectivity with an off-board security system may include an initial authentication and determination of the integrity of the software part in an instance in which the first hash matches the decrypted hash. In one embodiment, the on-board computing system may be further configured such that the determination of the authenticity and integrity of the software part in an instance in which the air vehicle lacks data communications connectivity with an off-board security system may include flagging the software part as potentially lacking authenticity and/or integrity in an instance in which the first hash fails to match the decrypted hash. The on-board computing system may also be configured to decrypt an encrypted hash of a software part by decrypting a hash of a software part that has been encrypted with a private key of an airline with a public key of the airline.
In a further embodiment, a computer program product is provided for authenticating and determining the integrity of a software part of an air vehicle. The computer program product includes at least one computer-readable storage medium having computer-executable program code portions stored therein. The computer-executable program code portions include program code instructions for determining a first hash of digital data that comprises the software part. The computer-executable program code portions also include program code instructions for determining authenticity and integrity of the software part in an instance in which the air vehicle lacks data communications connectivity with an off-board security system. In this regard, the program code instructions may determine the authenticity and integrity of the software part in an instance in which data communications connectivity is lacking by decrypting an encrypted hash of a software part in accordance with a public-private key pair to create a decrypted hash, comparing the first hash with the decrypted hash and thereafter transmitting the first hash to the off-board security system once data communications connectivity is established. The computer-executable program code portions may also include program code instructions for determining integrity of the software part in an instance in which the air vehicle has data communications connectivity with the off-board security system by transmitting the first hash to the off-board security system for comparison with a whitelist including a plurality of hashes of authentic software parts.
The program code instructions for determining the authenticity and integrity of the software part in an instance in which the air vehicle lacks data communications connectivity with an off-board security system may include program code instructions for initially authenticating and determining the integrity of the software part in an instance in which the first hash matches the decrypted hash. In one embodiment, the program code instructions for determining the authenticity and integrity of the software part in an instance in which the air vehicle lacks data communications connectivity with an off-board security system may include program code instructions for flagging the software part as potentially lacking authenticity and/or integrity in an instance in which the first hash fails to match the decrypted hash. The program code instructions for decrypting an encrypted hash of a software part may include program code instructions for decrypting a hash of a software part that has been encrypted with a private key of an airline with a public key of the airline. In one embodiment, the computer-executable program code portions may also include program code instructions for updating the whitelist as the software parts carried by the air vehicle change.
In accordance with embodiments of the present disclosure, a method, apparatus and computer program product are provided in order to authenticate and determine the integrity of a software part of an air vehicle in a timely manner regardless of whether or not the air vehicle has data communications connectivity with an off-board security system. However, the features, functions and advantages that have been discussed may be achieved independently and the various embodiments of the present disclosure may be combined in the other embodiments, further details of which may be seen with reference to the detailed description and drawings.
Having thus described embodiments of the present disclosure in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Embodiments of the present disclosure now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments are shown. Indeed, these embodiments may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.
An air vehicle 10, such as an aircraft, may include a plurality of software parts designated, for example, as software (SW) part 1, SW part 2 . . . SW part n, in the embodiment of
The software parts, such as the new or modified software parts, may be provided by a vendor 12, such as the manufacturer of the air vehicle or a subcontractor or other supplier of the manufacturer, as shown in
Prior to execution of the new or modified software part during operation of the air vehicle 10, however, the new or modified software part may be authenticated and the integrity may be determined in accordance with one embodiment of the present disclosure. In an embodiment such as shown in
Upon receipt, the airline 14 may decrypt the encrypted hash with the public key of the vendor 12, thereby creating a decrypted hash. Additionally, the airline may independently determine the first hash of the digital data that comprises the software part and may then compare the decrypted hash with the hash that has been independently generated by the airline. In an instance in which the decrypted hash and the first hash that has been independently generated by the airline match, the airline will consider the software part that is received from the vendor to have integrity and to have been authenticated. However, if the decrypted hash and the first hash that has been independently generated by the airline do not match, the airline may flag the software part as lacking authenticity and/or integrity and may communicate with the vendor to advise the vendor that the software part was flagged as being potentially unauthentic and/or potentially lacking integrity. In response the vendor may transmit another copy of the software part and/or take other remedial actions.
In an instance in which the airline 14 determines that the software part received from the vendor 12 has integrity and is authentic, the airline may, in turn, transmit the software part to the aircraft 10. In this regard, the airline may encrypt the digital data that comprises the software part in accordance with a PKI technique that employs a public/private key pair. In this regard, the airline may encrypt a representation of the digital data that comprises the software part with a private key of the airline. While the digital data that comprises the software part may be encrypted with the private key of the airline, the airline of one embodiment may initially generate a hash of the digital data that comprises the software part and then encrypt the hash of the software part with the private key of the airline, thereby creating an encrypted hash. The airline may then transmit the encrypted hash and the software part to the aircraft.
Upon receipt of the encrypted hash and the software part from the airline 14, the aircraft 10 may evaluate the software part to determine its authenticity and integrity. In this regard, the aircraft may initially decrypt the encrypted hash of the software part with the public key of the airline, thereby creating a decrypted hash. After determining the first hash of the digital data that comprises the software part, the aircraft may compare the first hash that has been independently generated by the aircraft with the decrypted hash provided by the airline. In an instance in which the first hash that has been independently generated by the aircraft matches the decrypted hash provided by the airline, the software part will be considered to have integrity and to have been authenticated and may then be installed upon the aircraft. However, in an instance in which the first hash that has been independently generated by the aircraft fails to match the decrypted hash provided by the airline, the software part may be considered to lack authenticity and/or integrity and a message may be provided to the airline indicating the failure of the software part to satisfy the authenticity and/or integrity test. In response, the airline may transmit another copy of the software part and/or take other remedial actions.
Reliance upon the public key infrastructure to authenticate and determine the integrity of the software part may advantageously provide a mechanism for determining the authenticity and integrity of a set of software parts that are rapidly and/or repeatedly changing. However, reliance upon the public key infrastructure for the authentication and the determination of the integrity of software parts may come with a risk that a private key, such as the private key of any one of a plurality of vendors and/or the private key of the airline, may be stolen which may compromise the integrity of the system, but which cannot be detected from an inspection of the system. Additionally, PKI techniques may require a certificate with a limited lifetime and a revocation status that should be reviewed on a timely basis. To permit a review of the certificate revocation status, the air vehicle 10 should be able to communicate with a certificate authority. In some instances, however, the air vehicle may be unable to establish a connection with the certificate authority and, as such, may be unable to determine the certificate revocation status in a timely manner.
As such and in accordance with an embodiment of the present disclosure, a method, apparatus and a computer program product are provided for determining the authenticity and integrity of a software part by relying upon the PKI techniques in some circumstances and relying upon a whitelist of the hashes of authentic software parts in other circumstances. Accordingly, the method, apparatus and computer program product of one embodiment may be designed to enjoy the advantages of each of these techniques for authenticating and determining the integrity of a software part while mitigating against the risks associated with each technique.
As shown in operation 100 of
Although the air vehicle 10 may be configured in various manners, the air vehicle of one embodiment includes a computing device as shown in
The processor 200 may operate under control of a computer program product. In this regard, the computer program product for performing the methods of embodiments of the present disclosure includes a computer-readable storage medium, such as a non-volatile, non-transitory storage medium, and computer-readable program code portions, such as a series of computer instructions, embodied in the computer-readable storage medium.
Returning now to
In an instance in which the air vehicle 10 has data communications connectivity with the ground, such as in an off-board security system, the air vehicle, such as the processor 200 or communication interface 204, may transmit the first hash that has been determined from the digital data comprising the software part to the off-board security system. The off-board security system may be maintained by any of the various parties, such as a vendor 12 or the airline 14 or by an escrow agent or the like, or may be independent of the various parties. As shown in
The off-board security system 20 may also be embodied by a computing device, such as of the type shown in
The comparison of a first hash of a respective software part to the hashes of authentic software parts maintained by a whitelist is a relatively robust technique for determining the integrity of a software part in that the whitelist can be readily updated with additional or different hashes as software parts are correspondingly added or modified. Moreover, hashes and whitelists that include hashes are not constrained by certificate management and certificate expiration as are PKI techniques. However, the whitelists that are consulted to determine the integrity of a software part are generally off-board the air vehicle 10. In this regard, a whitelist may be stored on-board an air vehicle, but such an on-board whitelist may be more challenging to update with new or different hashes since the new or different hashes are generally provided by the vendors 12 and/or the airline 14 and must be communicated to the air vehicle, such as via a data communications link. Such challenges may be exacerbated in instances in which the software parts are provided by a large number of vendors, each of which may update the whitelist. Since the air vehicle may not always have data communications connectivity, a whitelist on-board the air vehicle may not be updated in as timely of a manner as a whitelist maintained by a vendor or the airline. As such, the whitelist that is consulted in accordance with an embodiment of the present disclosure is generally maintained by an off-board security system 20. Moreover, while the off-board security system may be maintained by various parties, the security of the off-board security system may be enhanced by maintenance of the off-board security system by the vendor since the whitelist of this embodiment would not need to be transmitted to other parties, such as the airline, thereby eliminating at least some risk that the whitelist could be modified during its transmission or during storage.
As noted above, reliance upon an off-board security system 20 for the determination of the integrity of a respective software part is dependent upon data communications connectivity between the air vehicle 10 and the off-board security system. While the air vehicle may have such data communications connectivity at some times, the air vehicle may not have such data communications connectivity at other times. In these other times in which the air vehicle does not have data communications connectivity with the off-board security system, the method, apparatus and computer program product of one embodiment of the present disclosure cannot rely upon the off-board security system to determine the integrity of a respective software part, at least not in a timely manner. Instead, the method, apparatus and computer program of one embodiment of the present disclosure rely upon PKI techniques for determining the authenticity and integrity, at least initially, of a respective software part in an instance in which the air vehicle does not have data communications connectivity with the off-board security system. As such, the method, apparatus and computer program product of this embodiment of the present disclosure may determine the authenticity and integrity of the respective software part without awaiting subsequent establishment of the data communications connectivity with the off-board security system.
As shown in operation 112 of
In an instance in which the first hash that has been computed from the digital data that comprises the software part matches the decrypted hash, the air vehicle 10, such as the processor 200 of the air vehicle, may determine that the respective software part is authentic and has integrity and may then proceed with normal operations including installation and execution of the respective software part. See operation 118. Alternatively, in an instance in which the first hash that has been computed from the digital data that comprises a software part does not match the decrypted hash, the air vehicle, such as the processor of the air vehicle, may determine the respective software part to not be authentic and/or to lack integrity and may cause a warning message to be transmitted to another party, such as the airline 14, a vendor 12 or the like, notifying the other party that the respective software part lacks authenticity and/or integrity such that an authentic version of the respective software part may be provided to the air vehicle and/or other remedial operations may be taken. See operation 120.
By relying on a PKI technique to authenticate and determine the integrity of the respective software part, at least initially, the air vehicle 10 may determine the authenticity and integrity of the software part in a timely manner even in an instance in which the air vehicle does not have data communications connectivity with an off-board security system 20. In an instance in which the respective software part is determined to be authentic and to have integrity, operations of the air vehicle may proceed without having to await establishment of data communications connectivity in order to determine the authenticity and integrity of the respective software part. However, a determination of the authenticity and integrity of a respective software part may come with a risk that the private key has been stolen and the encryption/decryption of the respective software part has been compromised. As such, the method, apparatus and computer program product of one embodiment may also confirm the integrity of the respective software part (that has been initially determined to have integrity by the PKI technique) at a later time once the data communications connectivity has been established. In this regard, the air vehicle, such as the processor 200 and/or the communications interface 204 of the air vehicle, may cause the first hash of the digital data comprising the software part to be transmitted to the off-board security system once data communications connectivity has been established. See operation 122. The off-board security system, such as the processor of the off-board security system, may then compare the first hash provided by the air vehicle to the hashes included within the whitelist to determine if the respective software part has integrity and may then proceed as described above in conjunction with operations 106, 108 and 110.
Thus, the reliance upon the PKI technique to initially determine the authenticity and integrity of a respective software part in an instance in which the air vehicle 10 does not have data communications connectivity with an off-board security system 20, allows the respective software part to be initially authenticated and determined to have integrity and for operations of the air vehicle to proceed in a timely manner. However, the risks associated with the PKI technique may be mitigated by subsequently auditing the integrity of a respective software part with an off-board security system that includes a whitelist once the data communications connectivity has been established. Thus, even in an instance in which the private key has been stolen and the PKI technique has been compromised, the audit of the authenticity of the respective software part by the off-board security system may subsequently identify the respective part to lack integrity, thereby limiting the damage that may be occasioned by installation and execution of the respective software part.
As described above,
Accordingly, blocks or steps of the flowchart support combinations of means for performing the specified functions and combinations of steps for performing the specified functions. It will also be understood that each block or step of the flowchart, and combinations of blocks or steps in the flowchart, can be implemented by special purpose hardware-based computer systems which perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.
Many modifications and other embodiments of the present disclosure set forth herein will come to mind to one skilled in the art to which these embodiments pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the present disclosure is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Royalty, Charles D., Lawson, Jack, Kimberly, Greg A., Gould, Todd William
Patent | Priority | Assignee | Title |
10230527, | Apr 19 2017 | Continental Automotive Systems, Inc. | Method and apparatus to quickly authenticate program using a security element |
11080269, | Jul 23 2019 | Science Applications International Corporation | Blockchain based integrity checks |
11088842, | Jan 30 2018 | State Farm Mutual Automobile Insurance Company | Vehicle configuration verification using cryptographic hash chains |
11349669, | Jan 30 2018 | State Farm Mutual Automobile Insurance Company | Cryptographic hash chain for vehicle configuration verification |
11601282, | Jan 30 2018 | State Farm Mutual Automobile Insurance Company | Systems and methods for vehicle configuration verification with failsafe code |
11681811, | Jun 25 2021 | Northrop Grumman Systems Corporation | Cybersecurity for configuration and software updates of vehicle hardware and software based on fleet level information |
11741226, | Jun 25 2021 | Northrop Grumman Systems Corporation | Adaptive cybersecurity for vehicles |
11811883, | Jan 30 2018 | State Farm Mutual Automobile Insurance Company | Cryptographic hash chain for vehicle configuration verification |
Patent | Priority | Assignee | Title |
20050027987, | |||
20090138871, | |||
20090138872, | |||
20090138874, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 21 2011 | KIMBERLY, GREG A | The Boeing Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 026485 | /0636 | |
Jun 21 2011 | LAWSON, JACK | The Boeing Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 026485 | /0636 | |
Jun 21 2011 | GOULD, TODD WILLIAM | The Boeing Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 026485 | /0636 | |
Jun 21 2011 | ROYALTY, CHARLES D | The Boeing Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 026485 | /0636 | |
Jun 22 2011 | The Boeing Company | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Apr 01 2015 | ASPN: Payor Number Assigned. |
Aug 03 2018 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Aug 03 2022 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Feb 03 2018 | 4 years fee payment window open |
Aug 03 2018 | 6 months grace period start (w surcharge) |
Feb 03 2019 | patent expiry (for year 4) |
Feb 03 2021 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 03 2022 | 8 years fee payment window open |
Aug 03 2022 | 6 months grace period start (w surcharge) |
Feb 03 2023 | patent expiry (for year 8) |
Feb 03 2025 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 03 2026 | 12 years fee payment window open |
Aug 03 2026 | 6 months grace period start (w surcharge) |
Feb 03 2027 | patent expiry (for year 12) |
Feb 03 2029 | 2 years to revive unintentionally abandoned end. (for year 12) |