SSH 인증서 및 git 서명
SSH 인증서 기반 git 커밋 서명은 코드 작성자의 신원을 보다 확실히 검증할 수 있는 방법을 제시합니다.
기존의 git 서명 기능은 OpenPGP, X.509, SSH 키를 지원하지만, SSH 인증서는 신뢰할 수 있는 제3자가 서명한 공개키로서, 메타데이터(사용자명, 그룹 등)를 포함하고 있어 보다 신뢰도가 높습니다.
이를 git에 적용하려면 로컬 설정에서 gpg.format을 ssh로 지정하고, 서명키 경로나 SSH 에이전트 명령어를 설정해야 하며, 검증은 ssh-keygen을 활용해 인증서 서명을 검사합니다.
다만, GitHub과 GitLab은 SSH 인증서 서명 커밋을 자동으로 신뢰하지 않으므로, 별도의 검증 도구를 CI 파이프라인에 통합하는 것이 권장됩니다.
또한, 개인 키를 하드웨어 보안 모듈(TPM, Secure Enclave 등)에 저장해 키 도난 위험을 줄이고, 하드웨어 기반 키 생성 증명(attestation) 기능을 통해 키가 안전한 환경에서 생성되었음을 증명할 수 있습니다.
이 방식은 기존 SSH 인증서 인프라를 재활용할 수 있어 실용적이며, 코드 서명 신뢰성을 크게 향상시킬 수 있습니다.