Folks a very random thought and question about RNS traffic, LoRa (or any radio) and privacy.
Assumptions:
- Link requests contain the destination and random Link ID keys in the clear. Not encrypted.
- Link proofs are signed by destination keys and can be verified = always tied back to the destination (keys known from the announce, routers need them to validate the proof).
- Packets with Link IDs can be tracked like breadcrumbs hop by hop.
- Transport path resolution is not encrypted and can be tracked hop by hop (breadcrumbs with same destination and return Transport IDs).
- Announces are not encrypted and contain the public keys + Transport ID.
Now the problem:
Transmitting all of that over the radio is prone to traffic analysis via https://en.wikipedia.org/wiki/Signals_intelligence#Direction-finding or https://en.wikipedia.org/wiki/Time_of_arrival
Governments do have networks of listening stations and essentially "unlimited" resources for stuff like https://www.rohde-schwarz.com/us/products/aerospace-defense-security/radiomonitoring-systems_334287.html
Motivated individuals can perform that too with SDR devices and a bit of https://en.wikipedia.org/wiki/Wardriving and its expansion to https://www.rtl-sdr.com/aeda-crowd-sourced-rtl-sdr-spectrum-analysis-and-tdoa-direction-finding-platform/
Conclusion:
The attacker will not know the content of the messages, but will identify who is talking to whom. Neither Transport ID, nor Link ID are cryptographically linked to the user identity, but RDF will link them together spatially, all the IDs will originate and return to a single physical location.
The original RNS can use alternative transports that are not that easy to watch (for individuals). But LoRa is pretty much line of sight, the hops are short and easy to follow to the source.
Am I right in thinking that this poses a de-anonymization risk? Once "they" know a person, cryptography provides no protection - https://www.explainxkcd.com/wiki/index.php/538:_Security
More ideas:
-
Can you record an Announce of destination and replay it from somewhere closer to your subject of interest to effectively redirect his traffic through your node?
-
Could you use that to perform a Man in the middle attack in case the subject is not validating the destination keys via an independent side-channel?