Detection Performance Cryptography Key Management Radiation EDAC FPGA Co-Design Real-Time WCET NASA Telemetry Anti-Jamming Evasion Testing ← Back to main site

Engineering
Evidence

Beyond the classifier, Quaranet is real crypto, radiation hardened memory, an instruction-level timing proof, silicon that is synthesizable, and real spacecraft telemetry, with every figure generated by research that is reproducible end to end.

ROC-AUC0.9911
Classify WCET11,959 cyc
RTL parity8 / 8
Model memorySECDED self-heal
Uplink authAES-256-GCM
Real dataNASA SMAP / MSL
00 · Detection performance

Assessed, rather than expected.

The binary HDC flight model on the real fused corpus (CICDDoS2019 + ToN-IoT, 1,327,989 packets), evaluated on a class-balanced held-out set of 7,200 the exact model running in the Rust core, bit-for-bit.

Confusion matrix Held-out confusion matrix
Held-out confusion matrix · binary flight model (n = 7,200)
ROC · AUC 0.9911 ROC curve
Receiver-operating characteristic threshold-free separability
94.19%
Accuracy
95.82%
Precision
92.48%
Recall
4.08%
False-positive rate
0.9911
ROC-AUC
01 · Cryptography · CCSDS 355.0-B

Authenticated uplink
(AES-256-GCM)

The ground segment tags every frame with a 96-bit-nonce AES-256-GCM MAC; the flight core verifies it in constant time. Forged commands and replays are dropped before the HDC stage. Authentication is cryptographic, not statistical.

GCM authenticates each frame with a Galois-field MAC over a 96-bit nonce. Any bit flip, any forged tag, any stale sequence count fails verification in constant time the attacker never reaches the classifier.

PropertyValue
Verifier resultok or drop
Executionconstant time
ImplementationRustCrypto
Environmentno_std, allocation free
Unit testedtampered frame and forged tag rejected
SDLS gate · verifier outcomes
Frame presentedOutcome
Authentic frameVerified
Single bit tamperedRejected
Forged tagRejected
Replayed sequence countRejected
Authentication runs ahead of classification, so a forged frame never reaches the model.
02 · Key management · CCSDS 355.1-B

Nonce uniqueness
and anti-replay

AES-GCM holds only while a nonce is never reused under one key. Reuse it once and the hash subkey falls out, which hands an attacker a valid tag for any command. The nonce is therefore not a detail of the cipher, it is the thing the whole authenticated link rests on.

Our fixed field separates every sender that can share a key: direction, virtual channel, ground station and mission each hold their own bits. The counter that follows belongs to whoever transmits, never to the receiver. Eighteen senders on one key produce zero repeated nonces.

Nonce uniqueness is not the same problem as replay rejection, and solving the first does not give the second. A receiver whose watermark lives only in RAM reopens its entire recorded history at every reset. Ours resumes from a durably written floor, so what a reset exposes is bounded by a mission parameter rather than by how long an attacker listened.

Measured on the implemented designResult
Repeated nonces, 18 senders sharing one key0
Epoch reissued across 20,000 boots with power loss0
Replay exposure after an unexpected resetbounded, not unbounded
Anti-replay window1024 counters, 128 B per SA
Key material under radiationtriple redundant, self repairing
Environmentno_std, allocation free
96-bit nonce · field allocation
FieldWidth
Direction, uplink or downlink1 bit
Virtual channel7 bits
Sending station or spacecraft8 bits
Mission16 bits
Sender generation16 bits
Invocation counter48 bits
Direction takes the top bit, so the uplink and downlink nonce spaces stay disjoint even if everything else is misconfigured.
03 · Radiation · Memory EDAC

Self-healing
model memory

Every 64-bit class-prototype word carries a Hamming-SECDED code. A scrubber corrects single-bit upsets in place and refreshes double-bit faults from ROM the model heals itself. The 2.5% storm below is an accelerated margin test, orders of magnitude beyond the real on-orbit load (≲1 upset/day modeled).

SECDED(72,64)  ⇒  correct any 1-bit error · detect any 2-bit error
Measured94% accuracy held under a 2.5% bit-flip storm
SEU robustness Accuracy vs SEU bit-flip rate
Detection accuracy vs single-event-upset bit-flip rate (accelerated margin test)
04 · Hardware · FPGA co-design

1-clock parallel
Hamming CAM

Synthesizable Verilog XORs the query against all class prototypes in parallel; combinational pop-count adder-trees feed a registered comparator. Latency is one clock, independent of the number of stored classes the true hardware O(1).

RTL simulation8/8 golden vectors match · single-clock latency
Datapath · 1 clk
Query
10,048 b
Prototypes
K parallel
POPCOUNT
adder-tree
argmin
comparator
latency = 1 clock · K-independent
Combinational Hamming-CAM Verilog-2001, Zynq-synthesizable
05 · Real-time · ARM Cortex-R5

Proven worst-case
execution time

Compiled for armv7r and counted at the instruction level. No division, no unbounded loop, no recursion the bound is exact and static, not “usually fast”. This is the classify stage; the full pipeline is ~304 µs end-to-end with the model in TCM.

2 prototypes × 157 blocks × ≈38 cycles  ≈  11,959 cycles
Static analysis≈ 11,959 cyc ≈ 19.9 µs @ 600 MHz · classify stage
Cycle budget
classify_net · Cortex-R5 @ 600 MHz
11,959 cyc · 19.9 µs
end-to-end (parse → encode → classify, model in TCM)
~304 µs · deterministic
Branch-free, data-independent path → provable WCET (no timing side-channel)
06 · Validation · Real telemetry

NASA SMAP / MSL
integration

82 expert-labelled spacecraft telemetry channels (55 SMAP satellite + 27 MSL rover), 517,764 samples, 12.5% anomaly prevalence integrated alongside physics-based synthetic RF/TT&C data. Real spacecraft anomaly ground-truth, in the loop.

Real ground-truthNASA SMAP + MSL anomaly corpus in validation
NASA · telemanom NASA SMAP/MSL telemetry anomaly corpus
Real NASA SMAP / MSL telemetry anomaly corpus (Hundman et al., telemanom)
07 · Signal · Anti-jamming

RF jamming
classifier

A second HDC model classifies the RF link (barrage / tone / sweep) from physics-based JSR/SINR features derived from the Friis link budget the same maths GNU Radio / STK integrate.

Pr = Pt + Gt + Gr − 20 log10(4πd / λ)
Held-out99.4% accuracy on RF link data (4-class)
RF · 4-class RF jamming classifier confusion matrix
RF jamming classifier, 4-class (physics-based synthetic, Friis/JSR/SINR)
08 · Evasion testing · Adversarial

We attacked
our own detector

A black-box evasion campaign against QUARANET and four baselines on the same frozen split: an attacker perturbs features within an L∞ budget, 60 label-only queries per sample, and wins if a malicious packet is called benign. At a realistic budget (ε=0.05) QUARANET is evaded 10.0% of the time versus 64.7% for a decision tree, 77.3% for a random forest and 100% for the quantised MLP. Because each feature is quantised to 32 levels, any perturbation that never crosses a boundary yields a bit-identical hypervector and provably cannot change the decision.

More useful than the win: every successful evasion collapsed the Hamming margin from a median of 219 bits to 15 100% landed below the flight MARGIN of 73, inside the “unknown” band. Evasion does not buy silence; it buys a low-confidence flag.

Self-tested10.0% evaded at ε=0.05 · 100% of evasions fall below MARGIN

What went against us. Freezing the volumetric evidence an attacker cannot fake barely changed the result (10.0% → 8.7%), which means the model leans on forgeable header fields, the same TCP artifacts our feature audit flagged. And at an unconstrained ε=0.5, every model tested is defeated, ours at 98.7%. We publish both numbers, because a self-assessment that only contains good news is a marketing document.

What we did about it

That finding opened a piece of work we have since finished. The detector was trained on a network corpus, and several of its inputs were TCP artifacts with no counterpart on a space link. We rebuilt the feature set from the CCSDS telecommand protocol itself, on a simulated link running the real frame acceptance rules, and sorted every feature by how much of it an attacker controls.

Eleven features remain. None of them is a single-frame header value the attacker writes freely. Five are produced by the spacecraft's own frame acceptance state machine, against a counter the attacker cannot observe, because it is reported only on the downlink. He can raise those five by attacking. He cannot lower them.

Measured on the rebuilt feature setResult
Detection accuracy, seven independent model seeds98.00% ± 0.49
Recall96.74%
False-positive rate0.75%
Attack attribution, six classes94.62%
Evasion once the attacker is held to what a transmitter can do0.0%
Change in flight memory0 bytes

Read that last row carefully. The 0.0% is a property of the feature set, not of our classifier: under the same constraint every model we tested collapses to roughly the same place. It holds because each remaining input counts something the attacker adds to the uplink, and he cannot un-transmit a frame. It says nothing about an attacker who simply transmits less, which is a smaller attack and which we measure separately. The corpus behind these numbers is a simulated mission running modelled protocol behaviour. It is not recorded spacecraft traffic, and replacing it with recorded operator traffic is the next thing that would make it flight evidence.

Margin collapse Hamming margin collapse under adversarial evasion
Successful evasions sit far below MARGIN=73 at every budget triage re-flags them
Mathematical foundation

Why 10,000 dimensions.

Two independent random hypervectors collide on ~D/2 bits with standard deviation √D/2. Noise and any learned threat are separated by ~5000 ± 50 random space has vanishing probability of resembling a threat.

N(5000, 50) Hyperspace orthogonality distribution
Random-pair Hamming distances, measured ~ N(5000, 50) the separation guarantee, confirmed

Read all of that? Then you should see it run.

Fifteen minutes, live: the flight core against real NASA telemetry, with the attacks switched on, including the cases where it gets the answer wrong. We would rather show you those ourselves.

Request a demo →