Red Hat и Google представиха Sigstore, услуга за криптографска верификация на кода

Компаниите Red Hat и Google, съвместно с Университета на Пердью, основаха проекта Sigstore, насочен към създаването на инструменти и услуги за верификация на софтуер чрез цифрови подписи и поддържане на публичен регистър за потвърждаване на автентичността (transparency log). Проектът ще се развива под егидата на nonprofit организацията Linux Foundation.

Предложеният проект ще повиши сигурността на каналите за разпространение на програми и ще се защити от атаки, насочени към подмяна на софтуерни компоненти и зависимости (supply chain). Една от ключовите проблеми със сигурността в отворен софтуер е сложността при проверката на източника на програмата и верификацията на процеса на сборка. Например, за проверка на целостта на изданията, повечето проекти използват хешове, но често необходимата информация за потвърждение на автентичността се съхранява на незакрепени системи и в обществени хранилища с код, което позволява на атакуващите да подменят нужните за верификация файлове и, без да привлекат внимание, да вмъкнат злонамерени промени.

Само малка част от проектите използват цифрови подписи при разпространението на издания заради трудностите в управлението на ключовете, разпространението на отворени ключове и отзоваването на компрометирани ключове. За да има смисъл верификацията, също така е необходимо да се организира надежден и безопасен процес за разпространение на отворени ключове и контролни суми. Дори при наличието на цифрова подписка, много потребители игнорират проверката, тъй като е необходимо да отделят време за изучаване на процеса на верификация и да разберат кой ключ е надежден.

Sigstore се представя като аналог на Let’s Encrypt за код, предоставящ сертификати за удостоверяване на код с цифрови подписи и инструменти за автоматизация на проверката. С помощта на Sigstore разработчиците ще могат да създават цифрови подписи за артефакти, свързани с приложенията, като файлове с издания, контейнерни изображения, манифести и изпълними файлове. Характерна особеност на Sigstore е, че материалът, използван за подписване, се отразява в защитен от промяна публичен регистър, който може да се използва за проверка и одит.

Вместо постоянни ключове в Sigstore се използват краткотрайни ефимерни ключове, които се генерират въз основа на пълномощия, потвърдени от доставчици на OpenID Connect (в момента на генерирането на ключовете за цифров подпис, разработчикът потвърджа своята самоличност чрез OpenID доставчика, свързан с електронна поща). Автентичността на ключовете се проверява чрез публичен централизован лог, който позволява да се удостовери, че авторът на подписа е наистина този, за когото се представя, и подписът е съставен от същия участник, който е отговорен за предишните издания.

Sigstore предлага както готова услуга, която е вече налична, така и набор от инструменти, позволяващи да се разгръщат подобни услуги на собствено оборудване. Услугата е безплатна за всички разработчици и доставчици на софтуер и е разположена на неутрална платформа — Linux Foundation. Всички компоненти на услугата са отворени, написани на Go и се разпространяват под лиценз Apache 2.0.

От развиваните компоненти могат да се отличат:

  • Rekor — реализация на лог за съхранение на удостоверени метаданни с цифрови подписи, отразяваща информация за проектите. За осигуряване на целостта и защита от споделяне на данни след факта се използва дървовидна структура „Дърво на Меркъл“ (Merkle Tree), в която всеки клон проверява всички по-долни клонове и възли, благодарение на съвместно (дървовидно) хеширане. С притежаването на крайната хеш стойност, потребителят може да се увери в коректността на цялата история на операциите, а също така и в коректността на предишните състояния на базата данни (кореновата проверъчна хеш стойност на новото състояние на базата се изчислява с оглед на предишното състояние). За верификация и добавяне на нови записи се предлага Restful API, както и интерфейс за команден ред.
  • Fulcio (SigStore WebPKI) — система за създаване на удостоверяващи центрове (Root-CA), издаваща краткотрайни сертификати на базата на електронна поща, удостоверена чрез OpenID Connect. Животът на сертификата е 20 минути, през които разработчикът трябва да успее да състави цифровия подпис (ако по-късно сертификатът попадне в ръцете на злонамерен потребител, той вече ще бъде изтекъл).
  • Cosign (Container Signing) — инструмент за генериране на подписи за контейнери, проверка на подписите и разполагане на подписани контейнери в хранилища, съответстващи на OCI (Open Container Initiative).

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster