Abstract:
Certain embodiments herein relate to location verification for autonomous unmanned aerial vehicles (also referred to as "drones"). In some embodiments, an unmanned aerial vehicle engaged in autonomous flight may determine its location using a satellite-based navigation system. The location may be evaluated against location data obtained from one or more secondary factors, such as public broadcast beacons, cellular towers, wireless network identifiers, visual markers, or any combination thereof. If the location is determined to be invalid, the unmanned aerial vehicle may be instructed to take a mitigation action. Additionally, certain embodiments also include the verification of a flight plan for the unmanned aerial vehicle using secure no-fly logic to verify a flight plan does not violate no-fly zones. If the flight plan is verified, the flight plan may be signed using a cryptographic signature and provided to a navigation module that verifies the signature and executes the flight plan.
Abstract:
In an example, a computing device may include a trusted execution environment (TEE) for executing signed and verified code. The device may receive a trusted binary object in a first form, but the object may need to be converted to a second format, either on-the-fly, or in advance. This may include, for example, a bytecode interpreter, script interpreter, runtime engine, compiler, just-in-time compiler, or other species of binary translator. The binary translator may be run from the TEE, and the output may then be signed by the TEE and treated as a new trusted binary.