BLUEPRINT
제7장 보안과 암호화
7.1 종단간 암호화 설계
DTP는 종단간 암호화를 구현하여, 데이터가 전송 과정에서 신뢰할 수 없는 중간 환경(예: FayGer 런타임)을 거치더라도 도청이나 변조가 불가능하도록 보장한다.
핵심 보장: 오직 대상 iFay 인스턴스만이 수신된 페이로드 데이터를 복호화할 수 있으며, FayGer 런타임 환경은 평문에 접근할 수 없다.
iFay가 퍼블릭 클라우드의 FayGer 인스턴스에서 실행되더라도, 클라우드 서비스 제공자는 사용자의 건강 데이터, 위치 정보 또는 소비 기록을 읽을 수 없다.
7.2 암호화 범위
┌─────────────────────────────────────┐
│ Logical_Frame │
├─────────────────────────────────────┤
│ Header(프레임 헤더) ── 평문 전송 │
│ ┌─────────────────────────────────┐│
│ │ ... ││
│ │ encryptionMetadata ── 평문 ││
│ │ algorithm: "AES-256-GCM" ││
│ │ keyVersion: 3 ││
│ └─────────────────────────────────┘│
├─────────────────────────────────────┤
│ Payload(페이로드) ── 암호화 전송 │
│ ┌─────────────────────────────────┐│
│ │ ████████████████████████████ ││
│ │ ████████ 암호화 데이터 ████████ ││
│ │ ████████████████████████████ ││
│ └─────────────────────────────────┘│
└─────────────────────────────────────┘
- 프레임 헤더: 평문 전송, 라우팅 및 처리에 필요한 메타 정보를 포함
- 암호화 메타데이터: 평문 전송, 암호화 알고리즘 식별자와 키 버전 번호를 포함하여 수신측이 복호화 방식을 결정할 수 있도록 함
- 페이로드: 암호화 전송, 실제 데이터 내용을 포함
7.3 키 관리
DTP는 자체적으로 키를 관리하지 않으며, CAP(제어 인가 프로토콜)에서 사전 협상된 키에 의존한다:
- CAP이 연결 수립 단계에서 신원 인증과 키 교환을 완료
- DTP는 CAP이 제공한 키를 사용하여 Payload 암호화/복호화 수행
- 키 버전 번호(keyVersion)는 현재 사용 중인 키를 식별하는 데 사용
CAP 전제 조건
DTP는 데이터 전송을 시작하기 전에, CAP이 신원 인증과 키 교환 프로세스를 완료했는지 반드시 검증해야 한다. CAP 키 교환이 아직 완료되지 않은 경우, DTP_Engine은 데이터 전송을 거부하고 "키 미준비"(KEY_NOT_READY) 오류를 반환한다.
7.4 암호화 메타데이터
각 Logical_Frame의 프레임 헤더는 암호화 메타데이터를 포함한다:
| 필드 | 설명 |
|---|---|
| algorithm | 암호화 알고리즘 식별자, 예: "AES-256-GCM" |
| keyVersion | 키 버전 번호, 어떤 버전의 키를 사용하는지 식별 |
암호화 메타데이터 자체는 암호화하지 않으며, 수신측이 복호화 전에 복호화 매개변수를 알 수 있도록 보장한다.
7.5 암호화 왕복 일관성
DTP는 암호화의 왕복 일관성을 보장한다:
- 올바른 키로 암호화한 후 복호화하면, 원본 데이터와 동등한 Payload를 생성해야 함
- 잘못된 키로 복호화하면, 실패하고 DECRYPTION_FAILED 오류를 반환해야 함
7.6 단말측 복호화
단말이 수신측인 경우(데이터 주입 시나리오), DTP_Engine은 단말이 CAP 연결 수립 단계에서 제출한 키를 사용하여 복호화한다.
7.7 보안 위협 방어
| 위협 | DTP 방어 조치 |
|---|---|
| 중간자 도청 | Payload 종단간 암호화, 중간 노드가 평문을 읽을 수 없음 |
| FayGer 엿보기 | FayGer는 암호화된 Payload만 볼 수 있으며, 복호화 불가 |
| 키 유출 | 키 버전 번호 메커니즘으로 키 순환 지원 |
| 신원 위조 | CAP의 신원 인증 메커니즘에 의존 |
| 재생 공격 | 시퀀스 번호 단조 증가 + 세션 바인딩 |
