STCP – Secure TCP:n uusi aikakausi alkaa
Rust kohtaa Linuxin: kuinka rakensimme uuden tietoliikennekerroksen
Kun nykyiset verkkoprotokollat rakennettiin, turvallisuus ei ollut oletus. Paxsudos IT:n kehittämä STCP (Secure TCP) tuo salauksen ja todentamisen suoraan yhteyskerroksen ytimeen — nyt myös Linuxin kernelissä, Rustilla.
TL;DR:
STCP (Secure TCP) on Paxsudos IT:n uusi tietoliikennekerroksen protokolla, jonka tavoitteena on tuoda vahva kryptografia suoraan yhteyskerrokseen — ilman että loppukäyttäjän tarvitsee ymmärtää salauksesta mitään. Ensimmäinen POC tehtiin Dartilla, mutta protokollan ydin on nyt siirretty Rustiin ja toimivaksi Linux-kernel-moduuliksi. Tämä tekee STCP:stä sekä helppokäyttöisen että suojatun ratkaisun nykyaikaisiin IoT- ja palvelinympäristöihin.
Miten projekti alkoi
Projekti sai alkunsa yksinkertaisesta ajatuksesta: rakentaa salattu protokolla, joka ei vaadi käyttäjältä kryptografian tuntemusta. Ensimmäinen todistuskonsepti (POC) toteutettiin Dartilla — nopeasti kehitettynä ja bugien karsintaan erinomaista työkaluna. POC:n avulla testasimme ideaa, muotoilimme protokollan reunaehdot ja poimimme paljon käytännön oppeja ennen Rust-porttausta.
Vaikka Dart-version ei ole tarkoitus suoraan päätyä IoT-laitteisiin, sen avulla löydetyt opit mahdollistivat sen, että varsinainen käyttöversio voitiin tehdä turvallisesti ja tehokkaasti kernel-tason toteutuksena.
Miksi kernel-moduuli?
Kernel-toteutus tarjoaa kaksi suurta etua:
Helppo käyttöönotto: STCP tarjoaa TCP-rajapinnan — käyttöjärjestelmään integroituna se on helppo ottaa käyttöön olemassa olevissa järjestelmissä.
Tehokkuus + turvallisuus: Kernelissä toimiva kerros vähentää kontekstinvaihtoja ja mahdollistaa pienemmät latenssit samalla kun salaus pitää yhteydet suojattuina.
Rust valittiin toteutuskieleksi, koska se mahdollistaa turvallisen, natiivin ja modernin toteutuksen — jopa kernel-tasolla — ilman perinteisiä muistivirheiden riskejä.
Arkkitehtuuri ja rajapinta
STCP-arkkitehtuuri on rakennettu niin, että kernelissä on vain ohut C-kerros: C toimii liimana kernelin ja Rust-logiikan välillä, mutta itse protokolla-logiikka on Rustissa. Tämä tarkoittaa:
Kernel on “autuasan tietämätön” protokollan sisällöstä — se vain tarjoaa rajapinnat ja vie kutsut Rustille.
Rust hoitaa salauksen, avainvaihdon ja viestien käsittelyn.
C-koodia tarvitaan vain pieni LKM-pinta (init/exit, registrointi, ABI-sillat).
Tämä rakenne pitää kernelin puhtaana ja minimoi C-tasoisen koodin määrän, joka helpottaa ylläpitoa ja auditointia.
Turvallisuus: miten STCP suojaa yhteyden
STCP on suunniteltu vaikeaksi murtamisesta:
Dynaaminen avainvaihto: Ei staattisia avaimia tai avainten esiasetusta laitteissa — kaikki avaimet generoidaan ja vaihdetaan dynaamisesti.
X25519 + AES-GCM: Elliptinen avainvaihto yhdistettynä AES-GCM:ään antaa vahvan, modernin kryptografian.
Per-viesti-salaukset: Jokainen viesti voi käyttää omaa salausavainta/tagia, mikä tekee passiivisesta tai aktiivisesta salakuuntelusta ja manipulaatiosta erittäin vaikeaa.
MITM-vastustus: Protokollan autentikointi- ja avainvaihtomekanismit tekevät Man-In-The-Middle-hyökkäyksistä käytännössä mahdottomia ilman oikeaa avaintietoa.
Tuloksena on protokolla, joka tarjoaa vahvan end-to-end-tyyppisen suojan ilman, että käyttäjän tarvitsee käsitellä avaimia tai konfiguraatioita.
Käyttöönotto: helppoa ja kivutonta
STCP on suunniteltu käytettäväksi mahdollisimman vaivattomasti:
Kompiloitu moduuli liitetään kernelin moduuleihin.
Käyttäjän järjestelmään tarvitaan vain muutos protokollanumeroon (esim. IPPROTO_STCP = 253) tai konfiguroinnin kautta käärittävä tuki — sovellukset voivat käyttää tuttua socket-rajapintaa.
Muutoksia sovellustasoon ei yleensä tarvita — STCP toimii siististi olemassa olevien TCP-rajapintojen kanssa.
Tämän ansiosta STCP on helppo ottaa käyttöön niin palvelinympäristöissä kuin sulautetuissa järjestelmissä.
Tulevaisuus ja tavoitteet
STCP ei ole vain protokolla — se on visio turvallisesta ja helposta verkottumisesta:
Virallistaminen: Tavoitteena on tehdä STCP:stä laajemmin saatavilla oleva ja mahdollisesti virallinen vaihtoehto tulevaisuudessa.
Linux-integraatio: Tavoitteena on päästä osaksi Linuxin verkko-infrastruktuuria, jolloin asennus ja ylläpito helpottuisivat entisestään.
Laajennettavuus: Käyttäjäystävällisyys ja laajennettavuus ovat kehityksen kulmakiviä — esimerkiksi lisätty autentikointi, eri avainhallintamallit ja laitekohtaiset optimoinnit ovat jatkokehityksen agendalla.
Yhteenveto
STCP tarjoaa suojatun, helppokäyttöisen tavan siirtää tietoa: se piilottaa kryptografian kompleksisuuden loppukäyttäjältä, tarjoaa modernin salauksen ja dynaamisen avainvaihdon ja on toteutettu niin, että se voidaan viedä suoraan Linux-kernelin tasolle Rustilla — turvallisesti ja tehokkaasti.
Tämä on vasta alkua — kehitys jatkuu kohti virallista integraatiota ja laajempaa käyttöönottoa. Ota yhteyttä, jos haluat kokeilla STCP:tä omassa ympäristössäsi tai osallistua kehitykseen.
Yhteystiedot:
Julkaisija: Paxsudos IT
Kirjoittaja: Lauri Jakku
Avainsanat: STCP, Secure TCP, Rust, Linux kernel, IoT, AES-GCM, X25519, tietoturva
