10 KiB
title, source_type, url, archive_url, related_branches, related_projects, tags, created
| title | source_type | url | archive_url | related_branches | related_projects | tags | created | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| official-doc / Istio — mTLS Identity, Certificate Lifecycle & Traffic Authentication | official-doc | https://istio.io/latest/docs/concepts/security/ |
|
|
|
2026-07-16 |
official-doc / Istio — mTLS Identity, Certificate Lifecycle & Traffic Authentication
Layer:
raw/— 외부 자료(공식 문서)의 원문 발췌·출처 기록.
source_type
official-doc — Istio 프로젝트(CNCF) 공식 concepts 문서.
Parent / 활용 branch (필수, 최소 1개+)
| Branch | 이 자료가 정당화하는 결정 |
|---|---|
| raw/branch-notes/feature-keycloak-header-spoofing-defense | D2 — mTLS 는 proxy↔backend 간 발신자를 암호학적으로 인증하지만, 그 운영 비용은 인증서 전체 lifecycle(발급/배포/rotation)이다. Istio 는 이 lifecycle 을 자동화하므로(짧은 cert 수명 전제 + 잦은 auto-rotation), 그 비용은 이미 service mesh 가 존재할 때만 정당화된다 — 학습 프로젝트에서 mTLS 를 out-of-scope 로 미루는 D2 결정의 근거. |
출처 / Source
- 원본 URL: https://istio.io/latest/docs/concepts/security/
- 아카이브 URL: (미제공 — 사용자가 archive_url 을 제공하지 않음)
- 저자 / 조직: Istio project (Cloud Native Computing Foundation)
- 발행일: 페이지 자체에 발행일 명시 없음 (지속 갱신되는 living doc, "latest" 버전 경로)
- 마지막 확인일: 2026-07-16
왜 저장했는지 / Why archived
Istio 공식 문서가 (1) mTLS 인증서 lifecycle(발급→배포→rotation) 자동화 메커니즘을 명시하고, (2) mTLS handshake 의 secure naming check 가 발신자 신원을 암호학적으로 검증함을 명시한다. feature-keycloak-header-spoofing-defense D2(mTLS 는 학습 프로젝트 범위 밖 — 운영 비용 대비 위협 모델 낮음)의 "운영 비용 = 인증서 전체 lifecycle" 이라는 판단의 1차 근거.
핵심 인용 / Key quotes (verbatim, 5문장)
[§Authentication > Peer authentication] "Provides a key management system to automate key and certificate generation, distribution, and rotation." (line 486)
[§Identity and certificate management] "Istio agent monitors the expiration of the workload certificate. The above process repeats periodically for certificate and key rotation." (line 466)
[§Identity and certificate management] "Istio securely provisions strong identities to every workload with X.509 certificates. Istio agents, running alongside each Envoy proxy, work together with istiod to automate key and certificate rotation at scale." (line 458 — elided; 원 문장은 이어서 "The following diagram shows the identity provisioning flow." 로 다이어그램을 가리킬 뿐이라 생략)
[§Mutual TLS authentication] "The client side Envoy starts a mutual TLS handshake with the server side Envoy. During the handshake, the client side Envoy also does a secure naming check to verify that the service account presented in the server certificate is authorized to run the target service." (line 498)
[§Authentication > Peer authentication] "Secures service-to-service communication." (line 485)
Claims Extracted / 추출된 주장
| Claim ID | Claim (이 자료가 직접 말하는 것) | Evidence quote | Strength | Applies to | Does not prove |
|---|---|---|---|---|---|
| ISTIO-MTLS-C1 | Istio 의 mTLS peer authentication 솔루션은 key/cert 의 생성(generation)·배포(distribution)·회전(rotation) 을 자동화하는 key management 시스템을 제공한다 | [§Authentication > Peer authentication] "Provides a key management system to automate key and certificate generation, distribution, and rotation." | official-vendor-doc |
Istio 를 이미 도입한 mesh 환경에서 mTLS 채택 시 인증서 lifecycle 운영 부담이 자동화된다는 근거 | mTLS 자체가 "비용 없음" 이라는 뜻은 아님 — istiod 컨트롤 플레인 운영 비용, 초기 도입 비용은 이 문장의 범위 밖. mesh 가 없는 환경(예: 단일 EC2 + Keycloak reverse proxy)에서의 도입 비용 비교는 다루지 않음 |
| ISTIO-MTLS-C2 | Istio agent 가 workload 인증서의 만료를 모니터링하고, 이 프로세스가 주기적으로 반복되어 인증서·키 rotation 이 이뤄진다 | [§Identity and certificate management] "Istio agent monitors the expiration of the workload certificate. The above process repeats periodically for certificate and key rotation." | official-vendor-doc |
rotation 이 사람 개입 없이 자동/주기적으로 발생한다는 메커니즘 근거 | 이 페이지에는 구체적 rotation 주기(시간·일 단위 수치)가 명시되어 있지 않음 — self-grep 으로 "hour"/"TTL"/"24h"/"day"/"lifetime"/"validity" 검색 결과 해당 페이지 내 수치 언급 없음(§메모 참조). "짧은 인증서 수명" 자체를 이 문서가 수치로 증명하지 않음 |
| ISTIO-MTLS-C3 | Istio agent 가 Envoy proxy 옆에서 istiod 와 함께 동작하여 key/cert rotation 을 "at scale" 로 자동화한다 (identity provisioning flow 의 일부) | [§Identity and certificate management] "Istio securely provisions strong identities to every workload with X.509 certificates. Istio agents, running alongside each Envoy proxy, work together with istiod to automate key and certificate rotation at scale." | official-vendor-doc |
다수 workload(대규모 mesh) 환경에서 인증서 관리가 수동 개입 없이 확장 가능함을 뒷받침 | "at scale" 이 정확히 몇 workload/QPS 까지인지, istiod 자체의 확장 한계는 다루지 않음. CA 이슈 발급·서명 처리량 등 컨트롤 플레인 성능은 이 인용 범위 밖 |
| ISTIO-MTLS-C4 | mTLS handshake 도중 client-side Envoy 가 secure naming check 를 수행 — 서버 인증서에 담긴 service account 가 target service 실행 권한이 있는지 검증한다 | [§Mutual TLS authentication] "The client side Envoy starts a mutual TLS handshake with the server side Envoy. During the handshake, the client side Envoy also does a secure naming check to verify that the service account presented in the server certificate is authorized to run the target service." | official-vendor-doc |
mTLS 가 전송 암호화뿐 아니라 발신자 신원을 암호학적으로 인증한다는 근거 — D2 의 "cryptographically authenticates the sender" 표현을 직접 뒷받침 | 이 인용은 "우회(bypass)가 원천 차단된다"는 표현을 쓰지 않음 — network 우회 경로(예: mesh 밖에서 backend 직접 접근) 자체가 방지된다는 주장은 이 문서에 없음. 그건 별도 network 격리(NetworkPolicy 등)의 역할이며 D1/D3 의 영역 |
| ISTIO-MTLS-C5 | Istio mTLS peer authentication 솔루션의 3대 기능 중 하나로 service-to-service 통신을 보안(secure) 한다고 명시 | [§Authentication > Peer authentication] "Secures service-to-service communication." | official-vendor-doc |
mTLS 도입의 1차 목적(트래픽 기밀성/무결성)의 공식 근거 | "secures" 가 구체적으로 어떤 위협(스니핑, 스푸핑, replay 등)까지 커버하는지는 이 짧은 문장 단독으로는 세분화되지 않음 — 세부 위협은 secure naming(C4) 등 다른 claim 과 함께 봐야 함 |
Strength 허용값
C1~C5 모두 official-vendor-doc — Istio 프로젝트(CNCF) 공식 concepts 문서이며 특정 회사 사례가 아니므로 company-case-study 아님.
Usage Boundaries / 적용 경계
- 이 자료가 직접 증명하는 것:
ISTIO-MTLS-C1,ISTIO-MTLS-C3: Istio 는 mTLS 인증서의 생성·배포·회전을 자동화한다 (운영 비용의 실체가 "cert lifecycle 관리"라는 근거)ISTIO-MTLS-C2: rotation 이 사람 개입 없이 주기적으로 자동 발생하는 메커니즘이 존재한다ISTIO-MTLS-C4,ISTIO-MTLS-C5: mTLS 는 전송 보안뿐 아니라 secure naming check 를 통해 발신자(서버) 신원을 암호학적으로 검증한다
- 이 자료가 증명하지 않는 것:
- 정확한 rotation 주기(시간/일 단위 수치) — 이 페이지에는 없음 (self-grep 확인, §메모 참조). "짧은 인증서 수명(short cert lifetime)"이라는 표현은 사용자 dispatch 지시문의 표현이지, 이 페이지가 직접 진술한 수치는 아님
- mesh 가 없는 환경(단일 EC2 + Keycloak reverse proxy 같은 이 프로젝트의 실제 구성)에서 Istio 도입 자체의 비용 대비 효과
- network 레벨 우회(mesh 밖 직접 접근)가 "방지된다"는 명시적 진술 — C4 는 신원 검증만 다루고 네트워크 격리는 다루지 않음
- 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
feature-keycloak-header-spoofing-defense는 Istio 를 도입하지 않은 단일 EC2 + Keycloak reverse proxy 구성이므로, 이 자료는 "mTLS 를 도입한다면 Istio 가 그 lifecycle 비용을 자동화해 준다"는 참고 비교로만 쓰이고, 실제 이 프로젝트에서 Istio 도입 비용을 직접 측정한 근거는 아님 (D2 의 UNSUPPORTED_DECISION 라벨은 "mTLS 도입 자체의 trade-off 판단"에 여전히 적용되며, 본 자료는 "도입 시 비용의 성격"만 뒷받침)
메모 / Notes
- 페이지 전체 텍스트(HTML→text 변환, 45,016자)를
hour|TTL|24h|day\b|lifetime|validity|expir로 grep 한 결과 "expiration"(line 514/466, "monitors the expiration") 1건만 발견 — 구체적 rotation 주기 수치는 이 페이지에 없음을 확인. 필요 시 별도 Istio 문서(istio.io/latest/docs/tasks/security/cert-management/계열, 기본 cert TTL 문서)를 추가 raw 보존 검토. - WebFetch 툴의 1차 결과는 소형 모델이 "## Overview" 등 원문에 없는 섹션 헤더로 재구성한 요약이었음 — verbatim 요구사항에 부적합 판단,
curl로 원본 HTML 을 직접 받아 자체 파싱 후 self-grep 검증함 (/tmp/source-fetch-20260716-183645.txt).
Related / 관련
- raw/official-docs/keycloak-reverseproxy-official — 같은 branch(D6/D7)에서 이미 인용된 Keycloak reverse-proxy 공식 문서, header spoofing 방어 비교 대상
- raw/official-docs/traefik-forwardauth-middleware-official — 같은 branch(D1/D7)의 Traefik ForwardAuth 공식 문서
- raw/official-docs/oauth2-proxy-nginx-integration-official — 같은 branch(D1)의 oauth2-proxy 공식 문서