Преминете към основното съдържание

Политика за подписване на код

Обхват​

Настоящата политика се отнася за официалните бинарни версии на Open Manuscript Studio – референтната реализация с отворен код на стандарта „Open Manuscript Initiative“ (OMI).

Open Manuscript Studio Изходният код се разработва публично в репозитория „open-manuscript-initiative/open-manuscript-studio“ (GitHub) и се разпространява съгласно лиценза MIT.

Цел​

Подписването на код осигурява проверима произход и цялост на официалните версии за настолни компютри. То позволява на потребителите и операционните системи да проверят дали даден инсталатор е създаден съгласно одобрения процес на пускане на версии на проекта и не е бил променен след подписването.

Първоначалният обхват на подписването е официалната версия за настолни компютри на Windows, включително инсталаторът NSIS (.exe) и пакетът WiX (.msi), създадени в рамките на работния процес за пускане на версии на Tauri.

Фондация „SignPath“​

Проектът „Open Manuscript Initiative“ възнамерява да използва услугата за подписване на код с отворен код на SignPath Foundation за официалните версии, отговарящи на изискванията.

Безплатно подписване на код, осигурено от SignPath.io, сертификат от SignPath Foundation.

Подписването на код не е активно, докато проектът не бъде одобрен от SignPath Foundation и конфигурацията за подписване не бъде интегрирана в официалния работен процес за пускане на версии. Дотогава пакетите за Windows може да са неподписани и Windows може да показва предупреждение за неизвестен издател или за репутацията.

Надеждна проследимост на процеса на създаване и пускане на версии​

Официалните подписани бинарни файлове трябва да могат да бъдат проследени до публичен изходен код и одобрен работен процес за пускане на версии.

За версии, подписани чрез SignPath:

  1. изходният код трябва да произхожда от официалното хранилище Open Manuscript Studio GitHub;
  2. артефактите за пускане трябва да бъдат създадени чрез одобрения за проекта работен поток „GitHub Actions“, като се използват хоствани от GitHubизпълнителни машини, когато това се изисква от услугата за подписване;
  3. подписването трябва да се извършва върху артефакти, създадени от тази надеждна компилация, а не върху заместващи бинарни файлове, предоставени локално;
  4. подписаният артефакт трябва да съответства на изходната ревизия и версията, идентифицирани чрез публичния релиз GitHub;
  5. удостоверенията за подписване, идентификаторите на проектите и тайните на услугите не трябва да се добавят в репозиторията;
  6. Официалните подписани артефакти от версията не трябва да се променят след подписването.

Роли и участници в проекта​

Настоящите определени роли за подписване са:

  • Автори / Създатели: Поддържащи лица на проекта „Open Manuscript Initiative“, които имат права за запис в официалните репозитории. Настоящ отговорник: vargaijanos.
  • Рецензенти: Администратори на проекта „Open Manuscript Initiative“, които преглеждат заявки за включване (pull requests) и промени, засягащи създаването на версии, пакетирането, конфигурациите, свързани със сигурността, и работните процеси по подписване на код. Настоящ назначен рецензент: vargaijanos.
  • Лица с право на одобрение: отговорни лица, на които е възложено да одобряват заявки за подписване на версии за производство и официални подписани версии. Настоящо определено лице с право на одобрение за подписване: vargaijanos.

При необходимост в малък проект с отворен код един човек може да изпълнява повече от една роля. Подписването на производствената версия обаче остава изрично действие по пускането на версия и не е имплицитно следствие от произволни промени в изходния код.

Удостоверяване и контрол на достъпа​

Администраторите, които имат достъп до функциите за управление на версиите на GitHub или за подписване чрез SignPath, трябва да използват многофакторна автентификация (MFA). Достъпът трябва да бъде ограничен до минималните права, необходими за възложената роля, и да бъде отнет, когато вече не е необходим.

Удостоверенията и токените за услугите за подписване трябва да се съхраняват чрез средствата за управление на тайни данни на надеждна CI/CD среда. Те никога не трябва да бъдат вграждани в изходния код на приложението, в логовете на работните потоци, в ресурсите на версиите или в документацията.

Одобрение на подписването​

Всяка заявка за подписване на версия за производство изисква ръчно одобрение в съответствие с изискванията на SignPath Foundation, приложими към проекта. Одобрението за подписване трябва да бъде свързано с конкретен артефакт на версията и ревизия на изходния код.

Дадена версия не трябва да се представя като подписана от проекта, освен ако подписът ѝ не може да бъде успешно валидиран спрямо очакваната верига от сертификати.

Проверка​

Потребителите и дистрибуторите се насърчават да проверяват подписаните пакети за Windows преди инсталирането. Валиден подписан пакет трябва:

  • да съдържат валиден Authenticode подпис;
  • да запази непокътнат подписа след изтеглянето;
  • да идентифицира притежателя на сертификата, използван от одобрената конфигурация за подписване на SignPath Foundation; и
  • съответстват на официалното съобщение на „Open Manuscript Studio“, публикувано от „Open Manuscript Initiative“.

Криптографското подписване гарантира произхода и целостта на софтуера. То не замества проверката на изходния код, управлението на уязвимостите, сканирането за злонамерен софтуер, проверката на зависимостите или други мерки за софтуерна сигурност.

Поверителност​

Политиката за поверителност на „Open Manuscript Studio“ е публикувана на адрес Privacy Policy.

Работният процес по подписване обработва артефактите от версията и техническите метаданни, необходими за установяване на произхода на съставянето и одобряване на подписването. „OMI“ не трябва умишлено да включва съдържание от потребителски ръкописи, потребителски идентификационни данни, съдържание на производствени бази данни или други поверителни данни от приложенията в заявките за подписване.

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

Използването на SignPath в рамките на проекта също е предмет на условията за поверителност и ползване, публикувани от SignPath и SignPath Foundation.

Услуги, свързани с бази данни и сървърната страна​

Интеграцията на PostgreSQL от страна на сървъра в „OMI Studio“ е отделна от подписването на код за настолни компютри. Удостоверенията за достъп до базата данни и производствените данни се намират извън границите на артефакта за подписване на код и в никакъв случай не трябва да бъдат включвани в артефактите на версиите за настолни компютри или в заявките за подписване.

Доклади за сигурността​

Проблемите, свързани със сигурността, засягащи Open Manuscript Studio, процеса на неговото съставяне или произхода на версиите, трябва да се докладват лично на поддържащите Open Manuscript Initiative, а не да се разкриват първо в публичен тикет, тъй като злоупотребата с тях може да изложи потребителите на риск.

Промени в политиката​

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