코드 서명(code signing)은 실행 파일스크립트에 디지털 서명을 하는 과정으로, 서명 이후에 코드가 변조되거나 손상되지 않음을 보장한다. 진위와 무결성 확인을 위해 암호화 해시를 사용한다.[1]

코드 서명은 몇 가지 가치있는 기능들을 제공할 수 있다. 코드 서명의 가장 일반적인 용도로는 디플로이할 때 보안을 제공한다는 점이다. 일부 프로그래밍 언어에서 이름공간 충돌 예방을 돕기 위해 사용할 수도 있다. 거의 모든 코드 서명 구현체는 특정한 종류의 디지털 서명 매커니즘을 사용하여 저자나 빌드 시스템, 체크섬을 식별함으로써 객체가 수정되지 않았음을 확인시켜 준다. 객체에 대한 기타 메타 데이터를 저장하거나 객체에 관한 버저닝 정보를 제공하기 위해서도 사용할 수 있다.[2]

소프트웨어의 진위 확인 매커니즘으로서의 코드 서명의 효능은 서명 키를 지원하는 보안에 따라 달라진다. 다른 공개 키 기반(PKI) 기술들처럼 시스템의 무결성은 미인가 접근에 대해 개인 키를 보유한 제공자에 의존한다. 그러므로 하드웨어 보안 모듈 또는 HSM이라는 이름의 안전하고 변조를 방지하며 암호화된 하드웨어 장치에 키를 저장하기 위한 더 안전하고 가장 모범적인 과정이라고 할 수 있다.[3]

같이 보기 편집

각주 편집

외부 링크 편집