Sigstore ์•”ํ˜ธํ™” ์ฝ”๋“œ ๊ฒ€์ฆ ์‹œ์Šคํ…œ์˜ ์ค€๋น„๊ฐ€ ๋ฐœํ‘œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Google์€ ์ž‘์—… ๊ตฌํ˜„์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•˜๋‹ค๊ณ  ์„ ์–ธ๋œ Sigstore ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ฒซ ๋ฒˆ์งธ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค ๊ตฌ์„ฑ์„ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. Sigstore๋Š” ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์‚ฌ์šฉํ•˜๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์˜ ์‹ ๋ขฐ์„ฑ์„ ํ™•์ธํ•˜๋Š” ๊ณต๊ฐœ ๋กœ๊ทธ(ํˆฌ๋ช…์„ฑ ๋กœ๊ทธ)๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฒ€์ฆ์„ ์œ„ํ•œ ๋„๊ตฌ ๋ฐ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” Google, Red Hat, Cisco, vmWare, GitHub ๋ฐ HP Enterprise์˜ ๋น„์˜๋ฆฌ ์กฐ์ง์ธ Linux Foundation์˜ ํ›„์›์œผ๋กœ OpenSSF(Open Source Security Foundation) ์กฐ์ง๊ณผ Purdue University์˜ ์ฐธ์—ฌ๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Sigstore๋Š” ์ฝ”๋“œ์šฉ Let's Encrypt์™€ ์œ ์‚ฌํ•œ ๊ฒƒ์œผ๋กœ ์ƒ๊ฐ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋””์ง€ํ„ธ ์„œ๋ช…์šฉ ์ธ์ฆ์„œ์™€ ํ™•์ธ ์ž๋™ํ™”์šฉ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Sigstore๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ๋ฆด๋ฆฌ์Šค ํŒŒ์ผ, ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€, ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ฐ ์‹คํ–‰ ํŒŒ์ผ๊ณผ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ด€๋ จ ์•„ํ‹ฐํŒฉํŠธ์— ๋””์ง€ํ„ธ ์„œ๋ช…์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ช… ์ž๋ฃŒ๋Š” ํ™•์ธ ๋ฐ ๊ฐ์‚ฌ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€์กฐ ๋ฐฉ์ง€ ๊ณต๊ฐœ ๋กœ๊ทธ์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

์˜๊ตฌ ํ‚ค ๋Œ€์‹  Sigstore๋Š” OpenID Connect ๊ณต๊ธ‰์ž๊ฐ€ ํ™•์ธํ•œ ์ž๊ฒฉ ์ฆ๋ช…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑ๋œ ๋‹จ๊ธฐ ์ž„์‹œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ํ‚ค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ฐœ๋ฐœ์ž๋Š” OpenID Connect ๊ณต๊ธ‰์ž์— ์—ฐ๊ฒฐ๋œ OpenID ๊ณต๊ธ‰์ž๋ฅผ ํ†ตํ•ด ์ž์‹ ์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ). ํ‚ค์˜ ์‹ ๋ขฐ์„ฑ์€ ๊ณต๊ฐœ ์ค‘์•™ ์ง‘์ค‘์‹ ๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์ธ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์„œ๋ช… ์ž‘์„ฑ์ž๊ฐ€ ์ž์‹ ์ด ์ฃผ์žฅํ•˜๋Š” ์‚ฌ๋žŒ์ด ์ •ํ™•ํžˆ ๋ˆ„๊ตฌ์ธ์ง€, ์„œ๋ช…์ด ๊ณผ๊ฑฐ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋‹ด๋‹นํ•œ ๋™์ผํ•œ ์ฐธ๊ฐ€์ž์— ์˜ํ•ด ์ƒ์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Sigstore์˜ ๊ตฌํ˜„ ์ค€๋น„ ์ƒํƒœ๋Š” Rekor 1.0 ๋ฐ Fulcio 1.0์ด๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋ฆด๋ฆฌ์Šค ํ˜•์„ฑ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ตฌ์„ฑ ์š”์†Œ์˜ ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์•ˆ์ •์ ์ด๋ผ๊ณ  ์„ ์–ธ๋˜์—ˆ์œผ๋ฉฐ ๊ณ„์†ํ•ด์„œ ์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ตฌ์„ฑ ์š”์†Œ๋Š” Go๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ Apache 2.0 ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

Rekor ๊ตฌ์„ฑ ์š”์†Œ์—๋Š” ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ๋””์ง€ํ„ธ ์„œ๋ช…๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋กœ๊ทธ ๊ตฌํ˜„์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ณ  ์‚ฌํ›„ ๋ฐ์ดํ„ฐ ์†์ƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ๋ถ„๊ธฐ๊ฐ€ ์กฐ์ธํŠธ(ํŠธ๋ฆฌ) ํ•ด์‹ฑ์„ ํ†ตํ•ด ๋ชจ๋“  ๊ธฐ๋ณธ ๋ถ„๊ธฐ์™€ ๋…ธ๋“œ๋ฅผ ํ™•์ธํ•˜๋Š” Merkle Tree ํŠธ๋ฆฌ ๊ตฌ์กฐ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ตœ์ข… ํ•ด์‹œ๋ฅผ ๊ฐ€์ง€๋ฉด ์‚ฌ์šฉ์ž๋Š” ์ „์ฒด ์ž‘์—… ๋‚ด์—ญ์˜ ์ •ํ™•์„ฑ๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ณผ๊ฑฐ ์ƒํƒœ์˜ ์ •ํ™•์„ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒˆ ์ƒํƒœ์— ๋Œ€ํ•œ ๋ฃจํŠธ ํ™•์ธ ํ•ด์‹œ๋Š” ๊ณผ๊ฑฐ ์ƒํƒœ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๊ณ„์‚ฐ๋จ). ). ํ™•์ธ ๋ฐ ์ƒˆ ๋ ˆ์ฝ”๋“œ ์ถ”๊ฐ€๋ฅผ ์œ„ํ•œ RESTful API์™€ ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

Fulcio ๊ตฌ์„ฑ ์š”์†Œ(SigStore WebPKI)์—๋Š” OpenID Connect๋ฅผ ํ†ตํ•ด ์ธ์ฆ๋œ ์ด๋ฉ”์ผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹จ๊ธฐ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•˜๋Š” ์ธ์ฆ ๊ธฐ๊ด€(๋ฃจํŠธ CA)์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์ฆ์„œ์˜ ์ˆ˜๋ช…์€ 20๋ถ„์ด๋ฉฐ, ์ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๊ฐœ๋ฐœ์ž๋Š” ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์ƒ์„ฑํ•  ์‹œ๊ฐ„์„ ๊ฐ€์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ์„œ๊ฐ€ ๋‚˜์ค‘์— ๊ณต๊ฒฉ์ž์˜ ์†์— ๋“ค์–ด๊ฐ€๋ฉด ์ด๋ฏธ ๋งŒ๋ฃŒ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ํ”„๋กœ์ ํŠธ๋Š” ์ปจํ…Œ์ด๋„ˆ ์„œ๋ช…์„ ์ƒ์„ฑํ•˜๊ณ , ์„œ๋ช…์„ ํ™•์ธํ•˜๊ณ , OCI(Open Container Initiative)์™€ ํ˜ธํ™˜๋˜๋Š” ์ €์žฅ์†Œ์— ์„œ๋ช…๋œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฐ์น˜ํ•˜๋„๋ก ์„ค๊ณ„๋œ Cosign(์ปจํ…Œ์ด๋„ˆ ์„œ๋ช…) ํˆดํ‚ท์„ ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค.

Sigstore๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ ๋ฐฐํฌ ์ฑ„๋„์˜ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๊ณ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์ข…์†์„ฑ(๊ณต๊ธ‰๋ง)์„ ๋Œ€์ฒดํ•˜๋ ค๋Š” ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด์˜ ์ฃผ์š” ๋ณด์•ˆ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค ํ™•์ธ๊ณผ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค ํ™•์ธ์ด ์–ด๋ ต๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ์ ํŠธ๋Š” ๋ฆด๋ฆฌ์Šค์˜ ๋ฌด๊ฒฐ์„ฑ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์ธ์ฆ์— ํ•„์š”ํ•œ ์ •๋ณด๊ฐ€ ๋ณดํ˜ธ๋˜์ง€ ์•Š์€ ์‹œ์Šคํ…œ๊ณผ ๊ณต์œ  ์ฝ”๋“œ ์ €์žฅ์†Œ์— ์ €์žฅ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ๊ณต๊ฒฉ์ž๊ฐ€ ํ™•์ธ์— ํ•„์š”ํ•œ ํŒŒ์ผ์„ ์†์ƒ์‹œํ‚ค๊ณ  ์•…์˜์ ์ธ ๋ณ€๊ฒฝ์„ ๋„์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ํ˜น์„ ์ œ๊ธฐํ•˜์ง€ ์•Š๊ณ .

ํ‚ค ๊ด€๋ฆฌ, ๊ณต๊ฐœ ํ‚ค ๋ฐฐํฌ, ์†์ƒ๋œ ํ‚ค ์ทจ์†Œ์˜ ์–ด๋ ค์›€์œผ๋กœ ์ธํ•ด ๋ฆด๋ฆฌ์Šค ํ™•์ธ์„ ์œ„ํ•œ ๋””์ง€ํ„ธ ์„œ๋ช…์˜ ์‚ฌ์šฉ์ด ์•„์ง ๋„๋ฆฌ ๋ณด๊ธ‰๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ฒ€์ฆ์ด ํ•ฉ๋ฆฌ์ ์ด๋ ค๋ฉด ๊ณต๊ฐœ ํ‚ค์™€ ์ฒดํฌ์„ฌ์„ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ณ  ์•ˆ์ „ํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ถ”๊ฐ€๋กœ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋””์ง€ํ„ธ ์„œ๋ช…์ด ์žˆ์–ด๋„ ๋งŽ์€ ์‚ฌ์šฉ์ž๋Š” ํ™•์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฐฐ์šฐ๊ณ  ์–ด๋–ค ํ‚ค๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ํˆฌ์žํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ™•์ธ์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. Sigstore ํ”„๋กœ์ ํŠธ๋Š” ๊ธฐ์„ฑํ’ˆ ๋ฐ ์ž…์ฆ๋œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜์—ฌ ์ด๋Ÿฌํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ณ  ์ž๋™ํ™”ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€