„Sequoia 1.0“, biblioteka, diegianti „OpenPGP“ standartus

Po trejų su puse metų kūrimo buvo išleistas „ Sequoia 1.0“ leidimo paketas , kuriame sukurta funkcijų ir komandinės eilutės įrankių biblioteka, įdiegus „OpenPGP“ standartą (RFC-4880).

Pranešime apibendrintas darbas su žemo lygio API , kuri įgyvendina OpenPGP standarto aprėptį, pakankamą visiškam naudojimui. Projekto kodas parašytas Rust kalba ir platinamas pagal GPLv2+ licenciją.

Projektą įkūrė trys „GnuPG“ bendradarbiai iš „g10code“ – „GnuPG“ įskiepių kūrėjos ir kriptosistemų audito įmonės. „Sequoia“ komanda taip pat žinoma dėl „Hagrid“ raktų serverio, kurį naudoja „keys.openpgp.org“ paslauga, sukūrimo.

Naujo projekto tikslas buvo pertvarkyti architektūrą ir pritaikyti naujus metodus, siekiant pagerinti kodų bazės saugumą ir patikimumą.

Siekdama pagerinti saugumą, „Sequoia“ naudoja ne tik saugius programavimo įrankius , kurie naudoja „Rust“ kalbą, bet ir API lygio klaidų apsaugą.

Pavyzdžiui, API apsaugo nuo netyčinio slapto rakto medžiagos eksportavimo , nes eksportavimo operacijoms pagal numatytuosius nustatymus reikalingas aiškus pasirinkimas. Panašiai API užtikrina, kad atnaujinant skaitmeninį parašą nebūtų praleisti jokie svarbūs veiksmai; pagal numatytuosius nustatymus sukūrimo laikas, maišos algoritmas ir parašo išdavėjas atnaujinami automatiškai.

„Sequoia“ taip pat bando atsikratyti „GnuPG“ trūkumų , tokių kaip komandinės eilutės įrankių funkcionalumo desinchronizavimas su funkcijų biblioteka (kai kuriuos veiksmus galima atlikti tik naudojant įrankį) ir pernelyg glaudus komponentų susiejimas, dėl kurio sunku atlikti pakeitimus, užmaskuojama kodo bazė ir neleidžiama sukurti išsamios vienetinio testavimo sistemos.

„Sequoia“ kuria komandinės eilutės įrankį „sq“ su „Git“ stiliaus subkomandų palaikymu , programą „sqv“ (pakeičiančią „gpgv“) atskiriems parašams tikrinti, programą „sqop“ (be būsenos OpenPGP CLI) ir biblioteką „sequoia-openpgp“.

Yra nuorodos į C ir Python kalbas. Dauguma funkcijų, aprašytų „OpenPGP“ standarte, yra suderinamos su skaitmeninių parašų šifravimu, iššifravimu, kūrimu ir tikrinimu.

Tarp pažangių funkcijų pažymima, kad ji palaiko patikrinimą naudojant atskirai pateiktus skaitmeninius parašus (atskiras parašas), pritaikymą integravimui su paketų tvarkytuvais (APT, RPM, įkėlimas ir kt.), Galimybę apriboti parašus pagal slenkstį ir laiko vertes.

Norėdami supaprastinti kūrimą, derinimą ir įvykių analizę, pateikiami paketų tikrinimo įrankiai, kurie integruojami į analizatorių ir leidžia vizualiai analizuoti šifruotų pranešimų, skaitmeninių parašų ir raktų struktūrą.

Dėl saugumo priežasčių leidžiama naudoti kriptografines paslaugas, tokias kaip koprocesoriai skaičiavimams izoliuotose enklavuose. Siekiant dar labiau izoliuoti, paslaugos, veikiančios su viešaisiais ir privačiaisiais raktais, yra atskiriamos į atskirus procesus (procesų sąveika organizuojama naudojant „Cap'n Proto“ protokolą). Pavyzdžiui, raktų saugykla įgyvendinama kaip atskiras procesas.

Yra du API variantai: žemo lygio ir aukšto lygio. Žemo lygio API kuo tiksliau atkartoja „OpenPGP“ ir kai kurių susijusių plėtinių galimybes, pvz., ECC palaikymą, notarinį patvirtinimą (parašas ant parašo) ir elementus iš būsimos standarto versijos juodraščio.

Pastebėta, kad pagal suplanuotą funkcionalumą „Sequoia“ prieš metus pasiekė pasirengimą 1.0 versijai, tačiau kūrėjai nusprendė neskubėti ir vietoj to daugiau laiko skyrė klaidų paieškai ir išsamios, aukštos kokybės dokumentacijos su nuorodomis į informaciją OpenPGP standarte ir naudojimo pavyzdžiais rašymui.

1.0 versija šiuo metu apima tik „sequoia-openpgp“ dėžutę ir „sqv“ skaitmeninio parašo tikrinimo įrankį. „sq“ CLI ir aukšto lygio API vis dar baigiami kurti ir dar nėra stabilizuoti.

Apribojimai, kuriuos planuojama pašalinti būsimuose leidimuose, apima privačių ir viešųjų raktų saugojimo paslaugų įgyvendinimą, aiškių tekstinių skaitmeninių parašų palaikymą ir galimybę naudoti reguliarius posakius patikimiems parašams nustatyti.


Pridėti kaip pageidaujamą šaltinį „Google“ sistemoje