Cloud and basic data security
UAT 105 Digital Technology and Networks
Lesson
By the end of this module you will be able to
- Explain the NIST definition of cloud computing, its service models and deployment models
- Decide whether work belongs on the drone, at the edge or in the cloud by calculating time and bandwidth
- Explain the CIA triad and distinguish encryption, hashing, HMAC and message signing
- Use NIST CSF 2.0 and the data life cycle to plan protection for drone mission data
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:
- On-demand self-service: add machines or storage yourself without contacting the provider
- Broad network access
- Resource pooling: many users share the same resources
- Rapid elasticity: scale up or down with the workload
- Measured service: pay for what you actually use
| Service model | What the user manages | Drone example |
|---|---|---|
| IaaS (infrastructure) | Operating system, software, data | Rent a virtual machine with a GPU to process aerial photos |
| PaaS (platform) | Code and data | Run a telemetry-ingest program on a platform that manages the servers |
| SaaS (software) | Data and settings | Use 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
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
| Tool | What it does | Needs a secret key | Example |
|---|---|---|---|
| Encryption | Makes data unreadable to outsiders; protects confidentiality | Yes | TLS 1.3 for MQTT on port 8883 |
| Hash | Makes a fingerprint of data; change one bit and the fingerprint changes completely | No | SHA-256 to check image files copied completely |
| HMAC | Proves a message came from a key holder and was not altered | Yes | Checking commands sent over MQTT |
| Message signing | Proves the source and blocks replayed old messages | Yes | MAVLink 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.
| Function | Example in a drone operations unit |
|---|---|
| Govern | Name owners of mission data and set a retention policy |
| Identify | Keep an inventory of drones, ground stations, keys and datasets |
| Protect | TLS, one account per device, MAVLink signing, firmware updates |
| Detect | Watch broker logs and alert on unknown connections |
| Respond | Procedure when a key may have leaked, such as revoking accounts and replacing keys |
| Recover | Restore 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.
Module lab
Lab: sending mission data securely
- Write a program that builds
manifest.csvwith 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. - 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.
- 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.
- 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
- Using an online mapping service in a web browser with nothing to install is which service model?
- How many seconds does a 5 GB file take over a 50 Mbit/s link (ignoring headers)?
- An attacker replays an old MAVLink message they recorded. Which part of MAVLink signing stops this?
- Eavesdropping on unencrypted MQTT threatens which CIA objective most?
- Which NIST CSF 2.0 function covers setting policy and responsibilities?
Answers
- SaaS
- seconds
- The timestamp, which must always increase; messages with a timestamp older than one already received are rejected
- Confidentiality
- Govern
Key formulas
| Time to send S bytes at R bit/s | |
| Message authentication code |
Key references
- Mell, P., & Grance, T. (2011). The NIST definition of cloud computing (NIST SP 800-145). National Institute of Standards and Technology. link
- 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
- National Institute of Standards and Technology. (2024). The NIST cybersecurity framework (CSF) 2.0. link
- National Institute of Standards and Technology. (2004). Standards for security categorization of federal information and information systems (FIPS 199). link
- National Institute of Standards and Technology. (2015). Secure hash standard (SHS) (FIPS 180-4). link
- National Institute of Standards and Technology. (2008). The keyed-hash message authentication code (HMAC) (FIPS 198-1). link
- Rescorla, E. (2018). The Transport Layer Security (TLS) protocol version 1.3 (RFC 8446). RFC Editor. link
- MAVLink Development Team. Message signing (authentication). MAVLink developer guide. link
- 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
- 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
Cloud and IoT data services
Planning the data lifecycle before drone imaging
Edge benchmarking and deployment planning
Communications and data transfer when networks fail
In class / field
Lab or field practice from worksheets with a safety checklist
Learning evidence: Checked worksheets and quiz results