A GitHub előterjesztése vitára bocsátotta a Sigstore szolgáltatás bevezetésének javaslatát, amely digitális aláírásokkal hitelesíti a csomagokat és nyilvános naplót vezet a kiadások valódiságának igazolására. A Sigstore alkalmazása lehetővé teszi egy további védelmi szint bevezetését a szoftverkomponensek és a függőségek (supply chain) manipulálására irányuló támadásokkal szemben. Például a bevezetésre kerülő változás megvédi a projektek forráskódját, ha egy NPM-függőség fejlesztői fiókját kompromittálják, és a támadó rosszindulatú kódú csomagfrissítést hoz létre.
Az új védelmi szintnek köszönhetően a fejlesztők képesek lesznek a létrehozott csomagot összekapcsolni a használt forráskóddal és a build környezettel, lehetővé téve a felhasználók számára, hogy megbizonyosodjanak róla, hogy a csomag tartalma megfelel a projekt fő tárolójában található forráskódnak. A Sigstore használata jelentősen egyszerűsíti a kulcsok kezelésének folyamatát, és megszünteti a kriptográfiai kulcsok nyilvántartásával, visszavonásával és kezelésével kapcsolatos bonyodalmakat. A Sigstore a kód Let’s Encrypt-jeként van bemutatva, amely tanúsítványokat biztosít a kód digitális aláírásokkal történő hitelesítéséhez és automatikus ellenőrzési eszközkészletet biztosít.
A Sigstore nem állandó kulcsokat alkalmaz, hanem rövid életű, efemer kulcsokat, amelyeket jogosultságok alapján generálnak. Az aláírási anyag védett, megváltoztatás ellen álló nyilvános naplóban van rögzítve, amely lehetővé teszi, hogy megbizonyosodjunk arról, hogy az aláíró valóban az, akinek mondja magát, és az aláírást ugyanaz a résztvevő hozta létre, aki a korábbi kiadásokért felelt. Az adatok integritásának biztosítása és a visszamenőleges torzulások elleni védelem érdekében a Merkle-fa struktúráját alkalmazzák, ahol minden ága hitelesíti az alatta lévő ágakat és csomópontokat a közös (fa alapú) hash-elés révén. A végső hash birtokában a felhasználó megbizonyosodhat az összes művelet történetének helyességéről, valamint a DB korábbi állapotának helyességéről (az új állapot gyökér ellenőrző hash-e a múltbeli állapot figyelembevételével számítódik ki).
Forrás: opennet.ru
