MeshCore encryptie details
Alles over AES-256 encryptie, PSK key management, het security model en per-channel versleuteling in MeshCore mesh-netwerken
Hoe MeshCore je data beveiligt
MeshCore gebruikt AES-256 encryptie om berichten te beveiligen. Dit is dezelfde military-grade encryptie die door banken en overheden wordt gebruikt. Elk channel kan een eigen PSK (Pre-Shared Key) hebben voor private communicatie.
Het security model van MeshCore is gebaseerd op symmetric encryption: iedereen met de PSK kan berichten encrypten en decrypten. Dit is eenvoudig maar effectief voor mesh-netwerken waar je een gesloten groep hebt.
In deze technische gids leggen we uit hoe de encryptie werkt, hoe je keys beheert, welke veiligheidsmaatregelen er zijn, en wat de limitaties zijn. Begrijp de security trade-offs voor je een versleuteld netwerk opzet.
Security lagen in MeshCore
Channel encryption (AES-256)
Elk channel kan encrypted zijn met een PSK. Berichten worden encrypted voordat ze de radio opgaan. Alleen nodes met de juiste PSK kunnen lezen.
Device-level keys
Elk device heeft een unieke device key voor admin functies. Dit voorkomt dat willekeurige mensen je node kunnen herconfigureren, zelfs op een public channel.
Admin channel security
Admin channels hebben altijd een aparte PSK. Remote configuratie is alleen mogelijk voor geauthoriseerde nodes met de admin key.
AES-256-CTR encryptie
MeshCore gebruikt AES-256 in CTR mode (Counter Mode). Dit is een stream cipher die efficient werkt op low-power embedded devices. Elke packet krijgt een unieke counter value als initialization vector (IV).
Encryption process: 1. PSK (256-bit) + Packet Counter (IV) → AES-CTR 2. Plaintext payload XOR encrypted stream → Ciphertext 3. Ciphertext + Counter sent over radio 4. Receiver: AES-CTR decryption with same PSK + Counter → Plaintext
Het voordeel van CTR mode is dat encryptie en decryptie dezelfde operatie zijn (XOR). Dit is snel op ESP32 chips die hardware AES acceleratie hebben. De 256-bit key is extreem moeilijk te brute-forcen (zou miljarden jaren duren).
PSK key management
Key generatie
PSKs zijn 256-bit (32 bytes) random keys. Meestal weergegeven als base64 of hex string. Genereer keys met cryptographisch veilige random generator, niet "password123"!
Key distributie
PSKs moeten veilig worden gedeeld met groepsleden. Via QR code, USB configuratie, of secure channel. Stuur nooit keys via onversleutelde radio of public internet.
Key rotatie
Wissel periodiek van PSK als security best practice. Vooral als groepsleden vertrekken. MeshCore ondersteunt meerdere keys tegelijk voor smooth transition.
Default keys
Primary channel heeft vaak geen PSK (public). Secondary channels gebruiken meestal custom PSKs. Er is een standaard "AQ==" key maar die is onveilig omdat iedereen hem kent!
Technische specificaties
| Parameter | Waarde | Beschrijving |
|---|---|---|
| Encryption algorithm | AES-256-CTR | Advanced Encryption Standard, 256-bit key, Counter mode |
| Key length | 256 bits (32 bytes) | Military-grade security level |
| IV (Initialization Vector) | Packet counter | Unieke waarde per packet, voorkomt replay attacks |
| Hardware acceleration | Ja (ESP32) | ESP32 heeft hardware AES voor snelle encrypt/decrypt |
| Performance impact | <1 ms per packet | Verwaarloosbare overhead dankzij hardware AES |
| Forward secrecy | Nee | Symmetric key, geen PFS zoals in TLS |
Voordelen van MeshCore encryptie
Military-grade security
AES-256 is goedgekeurd door NSA voor top-secret documenten. Praktisch onbreekbaar met huidige computers.
Efficient op embedded hardware
Hardware AES op ESP32 maakt encryptie supersnel (<1 ms). Geen merkbare impact op batterijduur of latency.
Per-channel keys
Elk channel heeft eigen PSK. Verschillende security levels: public primary, private secondary channels. Flexibel per use case.
Eenvoudig te configureren
PSK instellen is simpel: één 32-byte key invoeren en klaar. Geen complexe certificate management zoals bij TLS/HTTPS.
Transparant voor gebruiker
Encryptie gebeurt automatisch. Gebruiker merkt niets van encrypt/decrypt proces. Berichten zijn gewoon leesbaar in de app.
Admin channel protection
Admin functies zijn altijd encrypted. Voorkomt dat aanvallers je node kunnen overnemen of herconfigureren via de radio.
Veelgestelde vragen
Zijn alle berichten versleuteld in MeshCore?
Nee, alleen berichten op channels met een PSK zijn encrypted. Het primary channel is vaak publiek (geen PSK) voor algemene communicatie. Secondary channels kun je private maken met een eigen PSK. Je kiest per channel of encryption aan staat.
Kan iemand mijn berichten onderscheppen en lezen?
Op public channels zonder PSK: ja, iedereen met een MeshCore node kan meelezen. Op encrypted channels: nee, alleen mensen met de PSK kunnen decrypten. LoRa radio is broadcast, dus encryptie is essentieel voor privacy.
Hoe veilig is AES-256 encryptie echt?
AES-256 is extreem veilig. Met huidige computers zou het miljarden jaren duren om een key te brute-forcen. Het wordt gebruikt voor classified government data. Als je PSK geheim blijft, zijn je berichten praktisch onbreekbaar.
Wat gebeurt er als iemand mijn PSK te weten komt?
Dan kan die persoon alle berichten lezen en versturen op dat channel. Dit is het nadeel van symmetric encryption. Wissel dus direct van PSK als je vermoedt dat de key gelekt is. Deel PSKs alleen via veilige kanalen (niet via radio!).
Ondersteunt MeshCore end-to-end encryptie tussen individuen?
MeshCore heeft channel-level encryption, niet end-to-end per user. Alle nodes op een encrypted channel kunnen elkaars berichten lezen. Voor true E2E zou je een extra encryption layer bovenop moeten bouwen (mogelijk via plugins).
Heeft encryptie invloed op bereik of batterijduur?
Nee, verwaarloosbare impact. Hardware AES op ESP32 is supersnel (<1 ms per bericht). Je merkt geen verschil in bereik, snelheid of batterijduur tussen encrypted en unencrypted channels. Encryptie is gratis qua prestaties.
Beveilig je MeshCore communicatie
Klaar om een versleuteld mesh-netwerk op te zetten? Kies je apparaat en configureer private channels met AES-256 encryptie.