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:

  1. Kompiloitu moduuli liitetään kernelin moduuleihin.

  2. 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.

  3. 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