사업소개

Code Signing

What is a Code Signing?

코드 서명은 프로그램, 파일, 소프트웨어 업데이트 또는 실행 파일에 디지털 서명을 하는 프로세스로, 설치 및 실행 시 진위와 무결성을 확인할 수 있습니다.

코드 서명 인증서는 최종 사용자가 받은 코드가 변조되지 않았음을 확인할 수 있도록 소프트웨어 개발자 및 배포자가 실행 파일 및 소프트웨어 프로그램에 디지털 서명하는 데 사용됩니다. 궁극적인 목표는 신뢰할 수 있는 소스에서 소프트웨어를 다운로드할 수 있다는 최종 사용자의 우려를 완화하는 것입니다.

코드 서명 인증서는 게시자 이름과 필요한 경우 타임스탬프를 눈에 잘 띄게 표시하고 인증 기관에서 발급하는 디지털 인증서입니다.
디지털 인증서는 공개 키 쌍과 수학적으로 관련되고 신뢰할 수 있는 인증 기관으로 다시 추적할 수 있는 공개 키에 조직의 ID를 바인딩합니다.
개인 및 공개키 시스템의 사용을 공개키 인프라(PKI)라고 합니다.
개발자는 개인키로 코드에 서명하고 최종 사용자는 개발자의 공개 키를 사용하여 개발자의 신원을 확인합니다.

시스템이 인증서를 신뢰하면 다운로드 또는 실행이 진행됩니다.

인증서가 없거나 시스템이 루트를 신뢰하지 않거나 해시가 일치하지 않는 경우(즉, 서명이 변조된 경우) 소프트웨어를 신뢰할 수 없음을 알리는 경고와 함께 다운로드가 중단됩니다.

시스템의 무결성은 무단 액세스로부터 키를 보호하는 데 달려 있습니다.
가장 좋은 방법은 HSM(Hardware Security Module)과 같은 안전하고 조작이 불가능한 암호화 하드웨어 장치에 키를 저장하는 것입니다.

혁신을 확보하는 근본적인 방법

코드 서명은 파일 및 프로그램 코드의 신뢰성을 증명하는 보안 제어 메커니즘입니다. 진정성은 디지털 인증서의 생성 및 확인을 통해 보장됩니다.

코드 서명은 두 가지 사용 사례를 충족합니다.

  • 조직은 소프트웨어가 신뢰할 수 있다는 것을 증명할 수 있습니다
  • 최종 사용자는 소프트웨어의 신뢰성을 확인할 수 있습니다

즉, 사용자는 소프트웨어가 제조업체에서 제공되고 독립 기관의 승인을 받았으며 알 수 없는 제3자에 의해 조작되지 않았음을 확신할 수 있습니다.

코드 서명 작동 방식

  • 01

    코드 서명을 위해서는 공개키와 개인키로 구성된 비대칭 키쌍을 생성해야 합니다.

  • 02

    그러면 공개키가 인증 기관(CA)에 제출되고 코드 서명 인증서가 요청됩니다. CA는 회사의 신원을 성공적으로 확인한 후 공개키가 포함된 인증서를 발급합니다.

  • 03

    소프트웨어 제작자는 발행된 코드 서명 인증서를 사용하여 진위 여부를 확인할 수 있는 공개 키로 코드에 서명합니다.

COMATNET은 인증서 확인 및 인증서 수명 주기 관리를 위한 공개키 인프라 솔루션을 비롯하여 공개 및 개인키 쌍의 안전한 생성을 위한 다양한 하드웨어 보안 모듈을 제공합니다.