보안 전송을 통한 등록

Enrollment over Secure Transport

보안 전송을 통한 등록(Registration over Secure Transport, 또는 EST)은 클라이언트 인증서와 관련 CA(인증 기관) 인증서를 취득해야 하는 PKI(Public Key Infrastructure) 클라이언트를 대상으로 하는 X.509 인증서 관리 프로토콜을 기술하는 암호 프로토콜이다.EST는 다음에 설명되어 있다. RFC7030.EST는 이미 HTTPS 스택이 있는 디바이스에서 구현이 더 용이해짐으로써 SCEP의 대체품으로 제시되어 왔다.EST는 HTTPS를 전송으로 사용하고, 많은 보안 속성에 TLS를 활용한다.EST는 표준화된 URL을 설명했으며 RFC5785에 코드화된 잘 알려진 URI(Uniform Resource Identifier) 정의를 사용한다.

운영

EST에는 다음과 같은 운영 세트가 있다.

API 끝점 작전 설명
/.잘 알려진/시험/시험 CA 인증서 배포 EST 클라이언트는 HTTP GET 작업(RFC 7030 Section 4.1)으로 현재 CA 인증서 사본을 요청할 수 있다.
/.잘 알려진/최고의/등록된 클라이언트 등록 EST 클라이언트는 HTTPS POST 작업(RFC 7030 Section 4.2)으로 EST 서버에 인증서를 요청한다.
/.잘 알려진/테스트/스크린롤 클라이언트 재등록 EST 클라이언트는 HTTPS POST 작업(RFC 7030 Section 4.2.2)으로 인증서를 갱신/교체한다.
/.잘 알려진/최신/완전cmc 풀 CMC EST 클라이언트는 HTTPS POST 작업(RFC 7030 Section 4.3)으로 EST 서버에 인증서를 요청할 수 있다.
/.잘 알려진/최신/서버keygen 서버측 키 생성 EST 클라이언트는 HTTPS POST 작업(RFC 7030 Section 4.4)을 사용하여 EST 서버에 개인 키 및 관련 인증서를 요청할 수 있다.
/.잘 알려진/최고의/참가자 CSR 속성 CA 정책은 발급하는 인증서에 클라이언트 제공 속성을 포함할 수 있으며, 이러한 속성 중 일부는 CA에서 사용할 수 없는 정보를 설명할 수 있다.또한, CA는 특정 유형의 공개 키를 인증하기를 원할 수 있으며, 고객은 그 사실을 사전에 알지 못할 수 있다.따라서 고객은 등록 요청에서 또는 로컬 정책에 의해 지시되는 경우 CA가 요구하거나 원하는 예상 속성 목록을 요청해야 한다(RFC 7030 섹션 4.5).

사용 예제

EST의 기본 기능은 사용하기 쉽도록 설계되었으며 REST API는 아니지만 OpenSSL, cURL 등의 간단한 도구를 사용하여 REST와 같은 방식으로 사용할 수 있다. 인증 메커니즘 중 하나를 사용하여 사전 생성된 PKCS#10 인증서 서명 요청(device.b64로 저장됨)으로 초기 등록을 하는 간단한 명령이다.EST에 지정된 사용자 이름:암호):

curl -v --cacert ManagementCA.cacert.pem --user username:password --data @device.b64 -o device-p7.b64 -H "Content-Type: application/pkcs10" -H "Content-Transfer-Encoding: base64" https://hostname.tld/.well-known/est/simpleenroll

Base64로 인코딩된 PKCS#7 메시지로 반환된 발급된 인증서는 device-p7.b64로 저장된다.

참고 항목

참조

구현

  • 라이브러리 libest는 EST의 클라이언트와 서버 구현이다.
  • Bouncy Castle API는 자바를 위한 EST API 라이브러리를 제공한다.
  • CA 소프트웨어인 EJBCA는 EST 기능의 서브셋을[1] 구현한다.
  • CA PKIs가 EST 기능을 지원하도록 위임


  1. ^ "EJBCA - The Java EE Certificate Authority". Archived from the original on 2019-06-07. Retrieved 2019-06-07.