
클라이언트에 Sigstore 신뢰 루트(trusted_root.json)를 안전하게 전달하는 TUF 저장소를 유지 관리하며, 키홀더 임계값 서명, KMS 온라인 서명, 자동 게시를 사용합니다.
root-signing 프로젝트는 Sigstore 클라이언트에 Sigstore 신뢰 루트(trusted_root.json) 를 안전하게 전달하는 데 사용되는 TUF 저장소를 유지 관리합니다.
저장소는 https://tuf-repo-cdn.sigstore.dev/ 에서 sigstore 클라이언트 사용을 위해 게시됩니다.
메타데이터 소스는 metadata/ 폴더에서, 아티팩트(예: trusted_root.json)는 targets/ 폴더에서 찾을 수 있습니다. 이러한 소스를 수정하는 방법에 대한 자세한 내용은 운영을 참조하세요.
root-signing 보안은 키 보유자에 의존합니다. 키 보유자는 새로운 trusted_root.json 콘텐츠를 검증하고 서명 이벤트에서 서명하는 등 키 보유자 의무를 수행할 의지와 능력이 있는 신뢰할 수 있는 커뮤니티 구성원이어야 합니다.
아티팩트나 메타데이터에 대한 모든 변경에는 Sigstore 키 보유자의 암호화 서명이 필요합니다. 현재 키 보유자, 서명 요구 사항 및 서명 일정은 게시된 저장소에 문서화되어 있습니다
| 키 보유자 | 임기 |
|---|---|
| Lance Ball | 2025년 7월 - |
| Joshua Lock | 2022년 7월 - |
| Bob Callaway | 2021년 6월 - |
| Marina Moore | 2021년 6월 - |
| Santiago Torres-Arias | 2021년 6월 - |
| 명예 키 보유자 | 임기 |
|---|---|
| Luke Hinds | 2021년 6월 - 2022년 7월 |
| Dan Lorenc | 2021년 6월 - 2025년 7월 |
TUF 저장소는 두 가지 방식으로 수정됩니다:
서명 이벤트는 키 보유자가 제안된 변경 사항에 서명하는, root-signing에 의해 생성되고 관리되는 풀 리퀘스트입니다. 서명 이벤트는 여러 가지 이유로 발생합니다:
모든 경우에 서명 이벤트 PR이 생성되는 트리거는 "sign/*" 브랜치에 대한 푸시입니다(유지 관리자 또는 워크플로에 의한).
별도의 root-signing-staging 저장소가 있습니다: 사소하지 않은 모든 변경(메타데이터 또는 아티팩트에 대한)은 root-signing 서명 이벤트에 도입되기 전에 root-signing-staging에서 테스트되어야 합니다.
온라인 서명은 두 가지 상황에서 발생합니다:
실제로 온라인 서명은 온라인 서명 만료 때문에 최소 3일마다 발생합니다.
온라인 서명은 https://sigstore.github.io/root-signing/ 에서 "사전 프로덕션" 배포로 이어집니다. 이는 일반 TUF 클라이언트 테스트와 Sigstore 특정 클라이언트 테스트(cosign 및 기타 sigstore 클라이언트 사용)를 모두 실행하는 데 사용되는 완전한 기능의 TUF 저장소입니다. 테스트가 성공하면 https://tuf-repo-cdn.sigstore.dev/ 에서 프로덕션 배포로 이어집니다.
root-signing의 주요 워크플로는 다음과 같습니다:
create-signing-events는 서명이 만료에 가까워졌을 때 서명 이벤트를 위한 브랜치를 생성합니다.
일정에 따라 실행됩니다signing-event는 서명 이벤트 풀 리퀘스트를 생성하고 관리합니다. "sign/*" 브랜치가
푸시될 때 실행됩니다online-sign은 온라인 서명을 커밋하고 병합하며, publish도 디스패치합니다. "main"이
푸시될 때 실행됩니다(단, 언제든 수동으로 디스패치할 수 있습니다)publish는 테스트 저장소를 GitHub Pages에 게시하고, 클라이언트 테스트를 실행한 뒤, 마지막으로
저장소를 게시합니다. online-sign에서의 디스패치 시 실행됩니다Dan Lorenc, Trishank Kuppusamy, Marina Moore, Santiago Torres-Arias, 그리고 SigStore 커뮤니티 전체에 특별히 감사드립니다!
서명 의식의 녹화 영상은 여기에서 확인할 수 있습니다.