> ## Documentation Index
> Fetch the complete documentation index at: https://developers.argosidentity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Database

> ARGOS Identity 데이터 저장 계층(AWS DynamoDB)의 네트워크 통신 구조와 데이터 보안 정책.

## 1. 문서 개요

### 1.1 목적

Argos Identity 에서 사용하는 **데이터 저장 계층(Database)** 의 네트워크 통신 구조와 데이터 보안 정책을 외부 고객사의 보안·네트워크 검토에 활용할 수 있도록 정리한 자료입니다.

### 1.2 대상 독자

* 고객사의 정보보호·보안 검토 담당자
* 데이터 처리 위·수탁 점검 인력
* 컴플라이언스 / 감사 부서

### 1.3 범위

* 데이터 저장 엔진 및 호출 구조
* 전송 중·저장 시 암호화 방식
* 인증·인가, 접근 통제, 격리
* 감사·백업·컴플라이언스

***

## 2. 네트워크 통신 흐름

### 2.1 호출 구조

```mermaid theme={null}
flowchart TD
    A[검증 처리 계층<br/>Lambda / EC2] -->|AWS SDK 호출<br/>HTTPS + AWS SigV4 서명| B["AWS DynamoDB 엔드포인트<br/>dynamodb.[region].amazonaws.com"]
    B --> C[(DynamoDB 저장소<br/>AWS 관리형 분산 저장)]
```

### 2.2 통신 특성

| 항목       | 값                               |
| -------- | ------------------------------- |
| 프로토콜     | HTTPS (TLS 1.2+)                |
| 인증       | AWS Signature Version 4 (SigV4) |
| 호출 SDK   | AWS SDK for JavaScript (v2/v3)  |
| 응답 포맷    | JSON                            |
| 호출 위치    | 검증 처리 계층(Lambda) / EC2 / 관리 도구  |
| 외부 직접 접근 | **불가** (AWS 내부 호출 전용)           |

### 2.3 외부 노출 여부

* DynamoDB는 외부 인터넷에 직접 노출되지 않으며, AWS 자격 증명(IAM Role) 을 보유한 내부 서비스만 호출 가능합니다.
* 모든 호출은 AWS 인프라 내에서 종결됩니다.

***

## 3. 통신 프로토콜 및 규약

### 3.1 전송 계층

* **TLS 1.2 이상** 강제 (AWS SDK 기본 동작)
* DynamoDB 엔드포인트는 AWS 발급 인증서로 보호되며 SDK가 자동 검증

### 3.2 인증 서명

* 모든 API 호출은 **AWS Signature Version 4 (SigV4)** 로 서명
* 서명 요소: 자격 증명(IAM Role) + 요청 시간 + 요청 메서드/경로/헤더/본문 해시
* 위·변조 시 AWS가 즉시 거부 (5분 이상 시각 차이 시 자동 거부)

### 3.3 호출 패턴

* **PutItem / GetItem / Query / UpdateItem / DeleteItem / BatchWrite / TransactWrite**
* 일부 핫패스에는 **DynamoDB Accelerator (DAX)** 인메모리 캐시 적용

***

## 4. 데이터 암호화

데이터 저장 계층은 **2중 암호화 구조** 를 운영합니다.

### 5.1 1차 — 서버측 암호화 (Server-Side, AWS 관리)

| 항목    | 값                                   |
| ----- | ----------------------------------- |
| 적용 범위 | **모든 테이블·인덱스·스트림·백업 자동 적용**         |
| 알고리즘  | AES-256                             |
| 키 관리  | AWS KMS (FIPS 140-2 Level 3 HSM 기반) |

→ DynamoDB는 모든 저장 데이터를 AWS KMS 기반으로 항상 암호화하며, 평문으로 디스크에 기록되는 시점이 존재하지 않습니다.

### 5.2 2차 — 애플리케이션 계층 추가 암호화 (민감 필드)

식별번호·여권번호·연락처 등 **민감 개인정보 필드**는 저장 전에 애플리케이션 계층에서 추가 암호화됩니다.

| 항목    | 값                                |
| ----- | -------------------------------- |
| 알고리즘  | **AES-256-GCM** (인증 암호화)         |
| 키 관리  | **AWS KMS** Customer-managed Key |
| 무결성   | GCM 모드 Auth Tag 검증               |
| 적용 시점 | 검증 처리 계층에서 직접 암호화 후  PUT         |

→ 결과적으로 민감 필드는 **2중 암호화**(애플리케이션 AES-256-GCM + 서버측 AES-256) 상태로 저장됩니다.

### 5.3 객체 스토리지 (참조)

이미지(신분증·셀피)는 AWS S3에 저장되며 KMS 기반 서버측 암호화가 적용됩니다.

### 5.4 전송 중 암호화

| 구간                       | 방식                    |
| ------------------------ | --------------------- |
| 검증 처리 → DynamoDB         | TLS 1.2+ (AWS SDK 강제) |
| DynamoDB → 백업/PITR       | AWS 내부 암호화 (KMS)      |
| Cross-Region Replication | AWS 내부 암호화 (KMS)      |

***

## 6. 인증 및 인가

### 6.1 호출자 인증

* 호출자는 반드시 유효한 **AWS IAM 자격 증명** 을 보유해야 함
* 검증 처리 계층(Lambda / EC2)은 IAM Role을 통해 자격 증명 자동 부여
* 자격 증명은 단기 유효 토큰(STS Token)으로 자동 회전

### 6.2 인가 (Authorization)

* IAM Policy로 **테이블 단위 / 작업 단위** 권한 제어
* 최소 권한 원칙(Least Privilege) 적용

***

## 7. 무결성

| 계층           | 무결성 보장 방식                     |
| ------------ | ----------------------------- |
| AWS DynamoDB | 모든 쓰기는 다중 AZ 동기 복제 및 체크섬 검증   |
| 애플리케이션 페이로드  | AES-256-GCM Auth Tag 검증       |
| TLS 채널       | TLS 1.2+ 내장 무결성 (AEAD / HMAC) |

***

## 8. 접근 통제 및 격리

### 8.1 네트워크 계층

* 외부 인터넷 직접 노출 없음
* AWS 내부 통신 전용 (Public Endpoint이지만 IAM이 게이트키퍼)
* **VPC Gateway Endpoint** 로 AWS 백본 내 통신 강제

### 8.2 IAM 격리

* 서비스별 IAM Role 분리
* 운영자 / 개발자 / 자동화 도구 별로 IAM 사용자·그룹 분리
* Multi-Factor Authentication(MFA) 강제 (콘솔 접근)

### 8.3 환경 격리

* Live / Test 테이블 분리 운영
* 환경 간 데이터 이동은 명시적 마이그레이션 절차로만 수행

***

## 9. 로깅 및 감사

### 9.1 애플리케이션 감사

* 별도 감사 테이블에 도메인 이벤트 기록 (KYC 제출 상태 변경, 관리자 작업 등)
* 모든 감사 레코드는 변경 불가(append-only) 정책

### 9.2 보존

* CloudTrail 로그: AWS 콘솔에서 90일 자동 유지, 장기 보존은 S3 별도 적재
* DynamoDB 백업(PITR): 최대 35일 시점 복구 가능
* 온디맨드 백업: 보존 기간 제한 없음

***

## 10. 컴플라이언스

### 10.1 Argos Identity 보유 인증

* **ISO/IEC 27001** — 정보보호관리체계 국제표준 인증

### 10.2 AWS DynamoDB 인증 (상속)

* SOC 1 / SOC 2 / SOC 3
* ISO 9001 / 27001 / 27017 / 27018
* PCI-DSS Level 1
* HIPAA Eligible
* FedRAMP Moderate
* IRAP, MTCS, FIPS 140-2 Level 3 (KMS)

### 10.3 데이터 주체 권리 대응

* 개인정보 보호법 / GDPR 기반 열람·정정·삭제 요청 시 대상 데이터를 식별·처리하는 절차 운영
* 위·수탁자 간 별도 처리 합의에 따름

***

## 부록 A. 용어 정리

| 용어              | 정의                                                  |
| --------------- | --------------------------------------------------- |
| DynamoDB        | AWS 서버리스 NoSQL 데이터베이스 서비스                           |
| SigV4           | AWS Signature Version 4 — API 호출 서명 표준              |
| KMS             | AWS Key Management Service (FIPS 140-2 Level 3 HSM) |
| PITR            | Point-in-Time Recovery (시점 복구)                      |
| DAX             | DynamoDB Accelerator (인메모리 캐시)                      |
| AEAD            | Authenticated Encryption with Associated Data       |
| IAM Role        | AWS Identity and Access Management 역할               |
| MFA             | Multi-Factor Authentication                         |
| Optimistic Lock | 조건부 쓰기 기반 낙관적 동시성 제어                                |

***

## 부록 B. 문의

본 문서에 대한 기술적 질의는 Argos Identity 영업/기술 지원 채널로 연락주시기 바랍니다.
