코드 서명 살펴보기
코드 서명은 중요한 애플리케이션 구성 데이터 및 스크립트가 사용되기 전에 유효성을 검사하여 보안을 개선하는 데 도움이 될 수 있습니다.
코드 서명은 데이터에 대한 디지털 서명을 생성하며, 나중에 이 서명을 확인하여 데이터의 신뢰성과 무결성을 확인합니다. 코드 서명은 의 구성요소 ServiceNow 볼트로 사용이 허가되는 모듈입니다.
코드 서명은 수행 중인 작업의 이면에 있는 의도를 선언하고 리소스 또는 레코드가 의도한 목적으로 사용될 수 있는지 여부를 검증합니다. 코드 서명을 용이하게 하기 위해 (KMF)는 핵심 관리 프레임워크 디지털 서명에 디지털 인증서 및 산업 표준 비대칭 암호화를 사용합니다. 플랫폼 및 인프라 측에서 내부적으로 코드 서명을 사용합니다. 코드 서명은 특정 테이블 또는 지정된 메타데이터 테이블에 있는 기록의 하위 집합의 콘텐츠에 서명하는 방법을 제공합니다. |
코드 서명은 신뢰할 수 있는 인스턴스와 프로덕션 인스턴스 간에 보안 Circle of Trust (COT)을 사용하여 인증되고 안전한 신뢰할 수 있는 인스턴스만 코드 서명 기능에 액세스할 수 있도록 합니다.
사용 케이스
코드 서명은 MID 서버 및 Integration Hub. 공증이란 코드 서명을 사용하여 MID 서버 운영 및 통합 허브 운영에 사용되는 ECC 큐 기록에 대한 디지털 서명을 작성하는 것입니다.
예를 들어 런타임 시 ECC 큐 기록을 생성하기 위해 작성된 ServiceNow 스크립트 포함은 "기본 시스템 컨텐츠"로 서명됩니다. 백그라운드 스크립트 또는 확인 및 서명되지 않은 다른 원본에서 ECC 큐로 삽입하는 것과는 달리 "인스턴스에서 ServiceNow 적절하게 발급됨"으로 서명됩니다.
Integration Hub 에서는 코드 서명을 사용하여 플랫폼에서 생성된 동적 컨텐츠에 서명하고 애플리케이션 데이터의 중요한 부분을 검증할 수 있습니다.
타임스탬프는 인증서가 만료되기 전에 레코드가 서명된 경우 인증서가 만료될 때 서명된 레코드가 만료되지 않도록 합니다. 인증서 유효 기간 전후로 4시간의 유예 기간이 있어 서버 간의 시간 차이로 인해 인증서가 의도적으로 무효화되지 않습니다.
코드 서명 확인 및 작업
유효한 구성이 있는 모든 메타데이터 테이블은 빌드 시 코드 서명 메타데이터 플러그인(com.glide.code_signing)을 사용하여 서명됩니다. 테이블에 서명하도록 선택하면 보안 관리자 역할이 있는 관리 사용자가 코드 서명 암호화 작업에 액세스할 수 있습니다.
- 업데이트 세트에 서명합니다.
- 대량 서명 기록.
- 대량 서명 첨부 파일.
- 업데이트 세트 서명
- 이 작업은 업데이트 세트의 서명 구성과 일치하는 기록에 서명합니다. 또한 이 작업은 모든 새 서명 기록과 검증 인증서를 업데이트 세트에 추가합니다.
그림 1. 업데이트 세트에 대한 KMF 서명 기록 - 대량 서명 기록
이 작업은 특정 메타데이터 테이블에 적용된 서명 구성과 일치하는 모든 기록에 서명합니다.
- 대량 서명 첨부 파일
- 이 작업은 지정된 서명 구성과 일치하는 테이블에 연결된 모든 첨부 파일 기록에 서명합니다.
그림 2. 대량 서명 기록을 위한 암호화 작업