Module 5/5 · Weeks 13–15 · 27 h

Cloud and basic data security

UAT 105 Digital Technology and Networks

About 90 minDraft, awaiting reviewLast updated 26 September 2026

Lesson

By the end of this module you will be able to

  1. Explain the NIST definition of cloud computing, its service models and deployment models
  2. Decide whether work belongs on the drone, at the edge or in the cloud by calculating time and bandwidth
  3. Explain the CIA triad and distinguish encryption, hashing, HMAC and message signing
  4. Use NIST CSF 2.0 and the data life cycle to plan protection for drone mission data

Prerequisites: UAT 105 modules 3–4 · UAT 313 module 5

Why this matters

One survey flight can produce tens of gigabytes of images, and you must decide where to process them and what to send to whom. The same data may contain images of people, the locations of sensitive sites or aircraft commands. If it leaks, is altered or is unavailable when needed, the damage can be worse than a failed mission. This module lays the groundwork for both architecture and security; personal-data law is covered in UAT 313 module 5.

What the cloud is

NIST SP 800-145 defines cloud computing as a model in which users reach a shared pool of computing resources over the network on demand, with five essential characteristics:

  1. On-demand self-service: add machines or storage yourself without contacting the provider
  2. Broad network access
  3. Resource pooling: many users share the same resources
  4. Rapid elasticity: scale up or down with the workload
  5. Measured service: pay for what you actually use
Service modelWhat the user managesDrone example
IaaS (infrastructure)Operating system, software, dataRent a virtual machine with a GPU to process aerial photos
PaaS (platform)Code and dataRun a telemetry-ingest program on a platform that manages the servers
SaaS (software)Data and settingsUse an online mapping service in a web browser

There are four deployment models: private, community, public and hybrid cloud. Organisations with sensitive data often keep originals in a private cloud and send only publishable results to a public cloud.

Edge or cloud

Edge computing means processing close to where data is produced, such as on the drone’s companion computer or a field laptop. NIST SP 500-325 describes the closely related idea of fog computing, which extends cloud services down towards devices. There are three main criteria:

  • Response time: tasks that must respond in a fraction of a second, such as obstacle avoidance, must run on the drone
  • Bandwidth: large raw data cannot get through a slow link in time
  • Confidentiality: processing in the field and sending only results reduces the chance of a leak
A drone with 20 GB of images sends all of it to a field edge computer that processes it before sending, then a 2 MB summary goes to the cloud for storage, sharing and analysis. Below, sending everything at 20 Mbit/s takes about 2.2 hours, while sending only the summary takes about 0.8 seconds
Figure 1 Choosing edge or cloud processing

Example 1 Send raw images or analysis results?

A flood survey produces 20 GB of images. The local 4G link uploads at 20 Mbit/s. How much faster is it to process at the edge and send only a 2 MB flood-extent map?

size_gb, link_mbps = 20, 20
seconds = size_gb * 1e9 * 8 / (link_mbps * 1e6)
print(f"raw images: {seconds:.0f} s = {seconds / 3600:.2f} h")

summary_mb = 2
print(f"summary map: {summary_mb * 1e6 * 8 / (link_mbps * 1e6):.1f} s")
raw images: 8000 s = 2.22 h
summary map: 0.8 s

Raw images take over two hours, too slow for a command centre that must decide now, while the analysis arrives in under a second. The originals stay in the field and can be uploaded later. These figures ignore protocol headers and periods of poor signal, so real times are longer.

The CIA triad and threats

FIPS 199 sets three security objectives for information, often abbreviated CIA:

  • Confidentiality: only authorised people can access the data. A common threat is eavesdropping, such as capturing unencrypted MQTT messages.
  • Integrity: data is not changed without authorisation. Threats include spoofing and tampering, such as sending a fake land command.
  • Availability: data and systems work when needed. The threat is denial of service, such as flooding a broker with messages or jamming the radio.

A man-in-the-middle attacker sits between two parties and can both read and alter messages, so it threatens confidentiality and integrity at once.

Four tools with different jobs

ToolWhat it doesNeeds a secret keyExample
EncryptionMakes data unreadable to outsiders; protects confidentialityYesTLS 1.3 for MQTT on port 8883
HashMakes a fingerprint of data; change one bit and the fingerprint changes completelyNoSHA-256 to check image files copied completely
HMACProves a message came from a key holder and was not alteredYesChecking commands sent over MQTT
Message signingProves the source and blocks replayed old messagesYesMAVLink signing

A hash alone does not stop forgery, because an attacker can change the message and compute a new hash, just like the CRC in module 1. You need a secret key that only sender and receiver hold, which is the idea behind HMAC.

import hashlib

data = b"survey-2026-03-14 block A"
print(hashlib.sha256(data).hexdigest())
print(hashlib.sha256(data + b".").hexdigest())
b21608ab42dbadc11aaa88cfa95b9091bdf336846eb77a47594b2dc542947fd7
961f9721b96b2c3a4515d019d3722e054e4cf7648c89fd804772e69eacb530a0

Adding a single full stop changes the whole hash. In practice, make a list of hashes of every image file before sending and check them again at the destination; a mismatch means a file was damaged or altered.

Example 2 Catching a forged command with HMAC

The ground station and the drone share a 32-byte secret key. An attacker changes a command from RTL to LAND but does not have the key.

import hmac
import secrets

key = secrets.token_bytes(32)
command = b'{"cmd":"RTL","drone":3}'
tag = hmac.new(key, command, hashlib.sha256).digest()

forged = b'{"cmd":"LAND","drone":3}'
print(len(tag), "byte tag")
print("genuine command accepted:", hmac.compare_digest(tag, hmac.new(key, command, hashlib.sha256).digest()))
print("forged command accepted:", hmac.compare_digest(tag, hmac.new(key, forged, hashlib.sha256).digest()))
32 byte tag
genuine command accepted: True
forged command accepted: False

secrets.token_bytes generates a random key strong enough for cryptography, and hmac.compare_digest compares in constant time so an attacker cannot learn anything from how long the comparison takes. Real keys must be kept outside the code, as in UAT 104 module 5.

MAVLink signing does not encrypt

MAVLink signing uses a 32-byte secret key stored at both ends. The 48-bit signature is the first 48 bits of a SHA-256 hash of the key followed by the frame, and a timestamp that must always increase blocks replayed old messages. The message content can still be read, though. For confidentiality you must add encryption at another layer, such as an encrypted radio link or a VPN.

NIST CSF 2.0 and the data life cycle

The NIST Cybersecurity Framework 2.0 (February 2024) organises cybersecurity into six functions, with Govern at the centre setting policy, roles and responsibilities.

On the left, the CIA triangle with Confidentiality at the top, Integrity at bottom left and Availability at bottom right. On the right, a Govern circle in the centre surrounded by Identify, Protect, Detect, Respond and Recover
Figure 2 The CIA triad and the six functions of NIST CSF 2.0
FunctionExample in a drone operations unit
GovernName owners of mission data and set a retention policy
IdentifyKeep an inventory of drones, ground stations, keys and datasets
ProtectTLS, one account per device, MAVLink signing, firmware updates
DetectWatch broker logs and alert on unknown connections
RespondProcedure when a key may have leaked, such as revoking accounts and replacing keys
RecoverRestore data from hash-checked backups and review lessons learned

For IoT device makers, NIST IR 8259 Rev. 1 (April 2026, replacing the 2020 edition) describes the cybersecurity activities to carry out both before and after a product is sold. It is a useful checklist when buying drones or sensors.

Every mission dataset should have a clear life cycle, as in the drone knowledge hub unit on planning the data cycle before collecting drone images.

Five steps in a row: collect with time and collector logged; transfer with encryption and checksums; store with role-based access; use or share only what is needed; review or delete per policy. A dashed line loops from the last step back to the first. Below: every step has an owner and an audit log
Figure 3 The life cycle of drone mission data

Module lab

Lab: sending mission data securely

  1. Write a program that builds manifest.csv with the name, size and SHA-256 hash of every file in an image folder, and another that re-checks after copying. Alter one file and make sure it is caught.
  2. Extending the module 4 lab, add an HMAC and a sequence number to command messages. The receiver rejects messages whose HMAC fails or whose number repeats. Explain which attack the sequence number stops.
  3. Enable MAVLink signing in SITL following the ArduPilot or PX4 documentation, then use Wireshark from module 3 to see how many bytes longer each frame is and whether its content is still readable.
  4. Draw up a CSF 2.0 table of the six functions for an imaginary operations unit, and a data life-cycle chart for one survey mission naming the owner at each step.

Common mistakes

Watch out

  • Uploading all raw data to the cloud without calculating: field links are much slower than expected
  • Thinking a hash stops forgery: a hash has no key, so an attacker can recompute it; use HMAC or digital signatures
  • Thinking MAVLink signing makes data confidential: signing proves the source but does not encrypt
  • Using one key for every device and never changing it: one leak compromises the whole system
  • No verified backups: availability fails when a card or computer dies

Summary

  • NIST’s cloud definition has five characteristics, the IaaS, PaaS and SaaS service models, and four deployment models
  • The edge suits fast-response, large or confidential data; calculate transfer time with before deciding
  • CIA stands for confidentiality, integrity and availability; encryption protects confidentiality, while HMAC and signatures protect integrity and prove the source
  • NIST CSF 2.0 has six functions with Govern at the centre, and every dataset needs a clear life cycle and owner

Check your understanding

  1. Using an online mapping service in a web browser with nothing to install is which service model?
  2. How many seconds does a 5 GB file take over a 50 Mbit/s link (ignoring headers)?
  3. An attacker replays an old MAVLink message they recorded. Which part of MAVLink signing stops this?
  4. Eavesdropping on unencrypted MQTT threatens which CIA objective most?
  5. Which NIST CSF 2.0 function covers setting policy and responsibilities?
Answers
  1. SaaS
  2. seconds
  3. The timestamp, which must always increase; messages with a timestamp older than one already received are rejected
  4. Confidentiality
  5. Govern

Key formulas

Time to send S bytes at R bit/s
Message authentication code

Key references

  1. Mell, P., & Grance, T. (2011). The NIST definition of cloud computing (NIST SP 800-145). National Institute of Standards and Technology. link
  2. Iorga, M., Feldman, L., Barton, R., Martin, M. J., Goren, N., & Mahmoudi, C. (2018). Fog computing conceptual model (NIST SP 500-325). National Institute of Standards and Technology. link
  3. National Institute of Standards and Technology. (2024). The NIST cybersecurity framework (CSF) 2.0. link
  4. National Institute of Standards and Technology. (2004). Standards for security categorization of federal information and information systems (FIPS 199). link
  5. National Institute of Standards and Technology. (2015). Secure hash standard (SHS) (FIPS 180-4). link
  6. National Institute of Standards and Technology. (2008). The keyed-hash message authentication code (HMAC) (FIPS 198-1). link
  7. Rescorla, E. (2018). The Transport Layer Security (TLS) protocol version 1.3 (RFC 8446). RFC Editor. link
  8. MAVLink Development Team. Message signing (authentication). MAVLink developer guide. link
  9. Fagan, M., Megas, K., Cuthill, B., Marron, J., & Hoehn, B. (2026). Foundational cybersecurity activities for IoT product manufacturers (NIST IR 8259 Rev. 1). National Institute of Standards and Technology. link
  10. Python Software Foundation. ipaddress, socket, hashlib and hmac modules. The Python standard library (3.14). link

Further reading

Study the assigned knowledge units in advance, review media and take the module quiz

In class / field

Lab or field practice from worksheets with a safety checklist

Learning evidence: Checked worksheets and quiz results

Module quiz

This is a formative self-check, not a graded exam

Knowledge domain: Programming and digital technology · Communications, networks and IoT · Management, innovation and professional practice · Artificial intelligence and computer vision · Law, safety and risk · Public safety and disasters