키 개요

Media CDN은 요청을 서명할 때 암호화 키 쌍을 사용합니다. Media CDN은 키 세트를 사용해서 현재 요청 서명을 위해 사용되는 키 쌍을 저장합니다. 공개 키 3개, 검증 공유 키 3개(키 세트당 총 6개)까지 지정할 수 있습니다.

또한 키 세트에서 사용되지 않는 키를 삭제할 수 있습니다. 키 추가 및 삭제를 일반적으로 보안 비밀 순환이라고 부릅니다. 보안 비밀 순환을 통해 다음을 수행할 수 있습니다.

  • 키 세트에 추가하여 새 보안 비밀을 키 세트에 안전하게 추가할 수 있습니다.
  • 해당 보안 비밀을 사용해서 토큰을 생성합니다.
  • 가능한 가장 오래된 토큰이 만료된 후 이전 보안 비밀을 삭제합니다.

    예를 들어 단기 토큰이 한 시간 후 만료되도록 설정한다고 가정해 보세요. 새로운 사용자 요청이 1시간 이상 처리된 후에 이러한 단기 토큰에 사용되는 가장 오래된 보안 비밀을 삭제해야 합니다.

사용되지 않은 보안 비밀을 삭제하려면 먼저 애플리케이션 서버에서 사용자 요청을 서명하기 위해 해당 보안 비밀을 참조하거나 가져오지 않았는지 확인해야 합니다. 키 세트에서 보안 비밀을 미리 삭제하면 Media CDN이 해당 보안 비밀과 연결된 요청을 검증할 수 없습니다. 영향을 받는 사용자에게는 HTTP 403 Forbidden 응답이 제공됩니다.

Secret Manager에 대한 동시 액세스의 성능, 신뢰성, 비용을 최적화하기 위해 공유 검증 키 보안 비밀이 최대 1시간까지 캐시됩니다. 보안 비밀을 캐싱하면 Secret Manager에서 보안 비밀이 삭제된 후 최대 1시간 동안 토큰 액세스가 지속될 수 있습니다.

권장사항에 따라서는 키를 정기적으로 순환하는 것이 좋습니다.

알려진 제한사항

Media CDN은 HTTP 403 응답과 함께 Cloud CDN에서 사용된 대칭 서명으로 서명된 요청을 거부합니다. Media CDN은 현재 Media CDN에서 참조되는 토큰 형식 및 키를 사용하는 요청에 대칭 키 사용을 지원합니다.

비대칭 키는 512비트(64바이트) 비공개 키와 256비트(32바이트) 공개 키를 사용해서 Ed25519 쌍으로 생성되어야 합니다. Tink 라이브러리는 C++, Go, Java, Objective-C에서 Ed25519 서명 키 생성, 서명, 검증을 지원합니다.

비대칭 키는 다음 특성을 포함해야 합니다.

  • 44바이트(패딩) 또는 43바이트(비패딩) 길이를 사용해서 base64로 인코딩되어야 합니다. base64의 패딩 및 비패딩 형식이 모두 허용됩니다.

  • 공개 키는 URL 안전 base64 형식으로 인코딩되어야 합니다. 비공개 키는 표준 base64 형식으로 인코딩되어야 합니다.

  • 일치하는 비공개 키가 있어야 합니다.

다음 단계