Control Plane and Data Plane¶
DADP는 정책 관리와 암복호화 실행을 같은 계층에 두지 않는다. 제어면은 무엇을 보호할지와 어떤 정책을 적용할지 결정하고, 데이터면은 그 결정을 실제 요청에 적용한다.
제어면¶
제어면의 중심은 Hub다. Hub는 다음 책임을 가진다.
- 정책 정의와 버전 관리
- 키 메타데이터 관리
- 연동 인스턴스 등록
- 스키마와 정책 매핑 관리
- 운영 상태와 모니터링 관점의 제어
| 영역 | 주요 컴포넌트 | 책임 |
|---|---|---|
| 고객 제어면 | Hub | 정책, 메타데이터, 매핑, 운영 상태 |
데이터면¶
데이터면의 중심은 Engine이다. 다만 현재 구현에서는 Wrapper가 일부 경로에서 선택적으로 로컬 암복호화 실행을 수행할 수 있으므로, 데이터면은 "Engine 단일 실행면"이 아니라 "Engine 중심 실행면 + 선택적 edge 실행면"으로 보는 편이 더 정확하다.
Engine은 다음 책임을 가진다.
- 단건, 배치, 스트림 암복호화 실행
- 동기화된 정책과 키 메타데이터 적용
- 런타임 캐시 유지
- 실행 이벤트와 관측 데이터 생성
Aggregator는 선택적으로 데이터면의 관측 결과를 장기 조회 가능한 형태로 정리한다.
| 컴포넌트 | 책임 |
|---|---|
| Engine | 암복호화 실행과 런타임 캐시 사용 |
| Wrapper local crypto | 지원 범위에 한해 애플리케이션 호스트에서 암복호화 실행 |
| Aggregator | 선택적 통계와 분석 조회 |
연동 경계¶
연동 경계는 애플리케이션 또는 데이터베이스 실행 흐름을 Engine으로 연결한다.
| 경로 | 개입 위치 | 특징 |
|---|---|---|
| Wrapper | 애플리케이션 JDBC 경계 | SQL 경로를 투명하게 보호 |
| Direct API | 애플리케이션 서비스 경계 | 코드에서 명시적으로 암복호화 호출 |
| DB UDF | 데이터베이스 SQL 경계 | 함수, 패키지, 트리거, 배치 SQL에 통합 |
Wrapper local crypto 경계¶
Wrapper는 기본적으로 Hub에서 정책과 메타데이터를 동기화한 뒤 Engine으로 런타임 실행을 요청한다. 그러나 현재 구현에서는 cryptoMode=local opt-in을 통해 일부 보호 경로를 Wrapper 호스트에서 직접 실행할 수 있다.
이 경로는 다음 특성을 가진다.
- 기본 동작은 여전히 remote Engine 실행이다.
- local crypto는 지원된 provider와 algorithm 조합에서만 사용된다.
- 지원되지 않는 조합이나 일부 기능 경로는 Engine 원격 실행으로 fallback된다.
- 제어면 원본은 여전히 Hub에 있고, Wrapper는 실행에 필요한 상태 사본만 유지한다.
즉, Wrapper local crypto는 제어면을 분산시키는 기능이 아니라, 제어면은 중앙에 유지한 채 실행 위치를 일부 edge로 확장하는 구조다.
운영 해석 규칙¶
- 제어면은 정책 원본을 가진다.
- 데이터면의 기본 실행 주체는 Engine이지만, Wrapper local crypto가 활성화된 경로에서는 Wrapper가 제한된 실행 책임을 가진다.
- 연동 경계는 실행을 시작하지만, 어떤 경로가 실제 실행 주체였는지 구분해서 봐야 한다.
실제 장애가 발생하면 먼저 어느 계층이 실패했는지 구분해야 한다.
- 정책 정의가 잘못되었는가
- 동기화가 지연되었는가
- Engine 원격 실행이 실패했는가
- Wrapper local crypto 경로가 fallback 없이 실패했는가
- 특정 연동 경로만 깨졌는가
이 네 범주를 분리하지 않으면 진단과 복구가 모두 느려진다.