Π’ NPM ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Sigstore для подтвСрТдСния подлинности ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

GitHub выставил Π½Π° обсуТдСниС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΡŽ сСрвиса Sigstore для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ подписям ΠΈ вСдСния ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π° для подтвСрТдСния подлинности ΠΏΡ€ΠΈ распространСнии Ρ€Π΅Π»ΠΈΠ·ΠΎΠ². ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Sigstore ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Π°Ρ‚Π°ΠΊ, Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ зависимостСй (supply chain). НапримСр, внСдряСмоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ исходныС тСксты ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π² случаС ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ ΡƒΡ‡Ρ‘Ρ‚Π½ΠΎΠΉ записи Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· зависимостСй Π² NPM ΠΈ формирования Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠΌ обновлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π° с врСдоносным ΠΊΠΎΠ΄ΠΎΠΌ.

Благодаря Π½ΠΎΠ²ΠΎΠΌΡƒ ΡƒΡ€ΠΎΠ²Π½ΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ смогут ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ сформированный ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ исходному ΠΊΠΎΠ΄Ρƒ ΠΈ сборочному ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΡŽ, прСдоставив ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ содСрТимоС ΠΏΠ°ΠΊΠ΅Ρ‚Π° соотвСтствуСт содСрТимому исходных тСкстов Π² основном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Sigstore сущСствСнно ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ процСсс управлСния ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΈ позволяСт ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ слоТностСй, связанных с рСгистрациСй, ΠΎΡ‚Π·Ρ‹Π²ΠΎΠΌ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ криптографичСскими ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ. Sigstore прСподносится ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΎΠ³ Let’s Encrypt для ΠΊΠΎΠ΄Π°, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ сСртификаты для завСрСния ΠΊΠΎΠ΄Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ подписями ΠΈ инструмСнтарий для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

ВмСсто постоянных ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² Sigstore ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΆΠΈΠ²ΡƒΡ‰ΠΈΠ΅ эфСмСрныС ΠΊΠ»ΡŽΡ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° основС ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для подписи ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» отраТаСтся Π² Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠΌ ΠΎΡ‚ внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΌ Π»ΠΎΠ³Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΡ€ подписи ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎΡ‚, Π·Π° ΠΊΠΎΠ³ΠΎ сСбя Π²Ρ‹Π΄Π°Ρ‘Ρ‚, ΠΈ подпись сформирована Ρ‚Π΅ΠΌ ΠΆΠ΅ участником, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Π» Π·Π° ΠΏΡ€ΠΎΡˆΠ»Ρ‹Π΅ Ρ€Π΅Π»ΠΈΠ·Ρ‹. Для обСспСчСния цСлостности ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ искаТСния Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π½ΠΈΠΌ числом примСняСтся дрСвовидная структура «Π΄Π΅Ρ€Π΅Π²ΠΎ ΠœΠ΅Ρ€ΠΊΠ»Π°» (Merkle Tree), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ каТдая Π²Π΅Ρ‚ΠΊΠ° Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ всС Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ ΡƒΠ·Π»Ρ‹ благодаря совмСстному (Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΌΡƒ) Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. ИмСя ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ…Π΅Ρˆ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² коррСктности всСй истории ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² коррСктности ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… состояний Π‘Π” (ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ Ρ…Π΅Ρˆ Π½ΠΎΠ²ΠΎΠ³ΠΎ состояния Π±Π°Π·Ρ‹ вычисляСтся с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ состояния).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ