목차 열기
데이터 보안
역할: 저장소 보호 · DB / Secrets / S3 암호화·격리
데이터 보안은 저장 구간에서의 정보 유출을 방지하기 위해
민감정보를 암호화하고 키를 안전하게 관리하는 방식으로 구성합니다.
DB 암호화
암호화 대상 데이터
| 항목 | 적용 방식 |
|---|---|
| 비밀번호 | bcrypt 단방향 해싱 |
| 이메일 | AES-256 대칭키 암호화 |
| 전화번호 | AES-256 대칭키 암호화 |
조회 성능에 영향을 주는 컬럼은 암호화 대상에서 제외합니다.
| 제외 항목 | 이유 |
|---|---|
| 좌석 ID | 실시간 조회 및 인덱싱 필요 |
| 공연 ID | 검색 및 필터링 사용 |
| 예매 상태 값 | 빈번한 조회 조건 |
암호화 처리 방식
민감정보는 클라이언트가 아닌 서버에서 암호화 후 저장합니다.
| 단계 | 처리 |
|---|---|
| 전송 | HTTPS(TLS) 기반 전달 |
| 처리 | 백엔드에서 AES 암호화 |
| 저장 | 암호화된 값 DB 저장 |
비밀번호는 복호화가 불가능한 해시 형태로 저장합니다.
키 관리 정책
| 항목 | 적용 방식 |
|---|---|
| 키 저장 위치 | KMS 또는 Secret Manager 사용 |
| 코드 내 포함 | 금지 |
| 환경 분리 | dev / staging / prod 키 분리 |
키 접근은 백엔드 서비스로 제한하며 최소 권한 원칙을 적용합니다.
복호화 기준
| 허용 범위 | 설명 |
|---|---|
| 사용자 본인 조회 | 마이페이지 등 |
| 알림 발송 | 이메일, SMS |
| 고객 지원 | 제한적 접근 |
불필요한 복호화 및 전체 데이터 복호화는 금지합니다.
성능 고려 사항
티켓팅 서비스 특성상 실시간 트래픽을 고려하여 다음 기준을 적용합니다.
| 항목 | 적용 기준 |
|---|---|
| 인덱스 컬럼 | 암호화 제외 |
| 조회 필드 | 최소한으로 암호화 |
| 대량 조회 | 평문 또는 마스킹 처리 |
보안 연계 요소
데이터 암호화는 단독으로 동작하지 않으며 다음과 함께 적용됩니다.
| 영역 | 적용 |
|---|---|
| 전송 구간 보호 | HTTPS / mTLS |
| 인증/인가 | JWT 기반 검증 |
| 봇 대응 | 비정상 트래픽 차단 |
운영 기준
| 구분 | 확인 내용 |
|---|---|
| 암호화 적용 여부 | 민감정보가 평문 저장되지 않는지 |
| 키 관리 | 키가 코드에 포함되지 않는지 |
| 복호화 범위 | 최소 범위로 제한되는지 |
| 성능 영향 | 조회 성능 저하 없는지 |