본문으로 건너뛰기

Platform 도메인 요구사항 (PLT)

1. 비기능 요구사항 (NFR)

  • PLT-NFR-001 (수평 확장): 시스템은 수평적 확장이 가능한 설계를 채택해야 한다.
  • PLT-NFR-002 (MSA): 시스템은 마이크로서비스 아키텍처를 기반으로 해야 한다.
  • PLT-NFR-003 (로드 밸런싱): 시스템은 규제 준수를 위한 단일 리전 로드 밸런싱을 지원해야 한다. (의료 기기 소프트웨어 규제 기관별: DiGA, FDA, K-FDA)
  • PLT-NFR-004 (가용성): 시스템은 99.9% 이상의 서비스 가용성을 제공해야 한다.
  • PLT-NFR-005 (복구 시간): 시스템은 장애 발생 시 10분 이내에 복구가 가능해야 한다(RTO).
  • PLT-NFR-006 (백업/복구 계획): 시스템은 데이터 백업 및 복구 계획을 갖추어야 한다.
  • PLT-NFR-007 (무중단 배포): 시스템은 무중단 배포를 지원해야 한다.
  • PLT-NFR-008 (메트릭 수집): 시스템은 표준 메트릭 수집 및 노출(예: Prometheus/OTel Metrics)을 지원해야 한다.
  • PLT-NFR-009 (중앙 로깅): 시스템 로그는 중앙 수집/보관/검색이 가능해야 하며 스키마가 표준화되어야 한다.
  • PLT-NFR-010 (분산 추적): 시스템은 분산 추적(예: OpenTelemetry Trace)과 Correlation ID 전파를 지원해야 한다.
  • PLT-NFR-010 (분산 추적): 시스템은 분산 추적(예: OpenTelemetry Trace)과 Correlation ID 전파를 지원해야 한다.
  • PLT-NFR-011 (데이터 무결성/트랜잭션): 저장 계층은 ACID 트랜잭션과 제약조건을 통해 데이터 무결성을 보장해야 하며, 다중 리소스 작업은 일관된 트랜잭션 경계 또는 보상 트랜잭션을 제공해야 한다.
  • PLT-NFR-012 (메시지 전달 신뢰성): 비동기 처리 경로는 최소한 At-least-once 전달, 멱등성 보장, Dead Letter Queue 보관, 키 기반 순서 보존(필요 시)을 제공해야 한다.
  • PLT-NFR-013 (캐싱 표준): 서비스 전반의 캐싱 전략을 표준화해야 한다. 캐시 계층(애플리케이션/분산), 키 스키마, TTL/만료, 무효화 정책, 일관성 모델(최종/강한), 캐시 스탬피드 방지(예: 요청 합치기, jitter), 콜드 스타트 정책을 정의해야 한다.
  • PLT-NFR-014 (DB 세션 관리): 데이터베이스 연결은 적절한 세션 타임아웃을 설정하여 리소스 누수를 방지해야 한다. 트랜잭션 내 유휴 세션은 자동으로 종료되어야 하며, 장시간 열린 트랜잭션으로 인한 락 문제를 방지해야 한다.

2. 제약사항 (CR)

  • PLT-CR-001: 로드 밸런서/오토스케일러 설정은 IaC로 관리되어야 한다.
  • PLT-CR-002: 가용성/복구 지표는 모니터링 시스템에 지표로 노출되어야 한다.
  • PLT-CR-003: 모든 서비스는 Correlation ID를 수신/전파해야 하며, 로그/트레이스/메트릭 간 상호 연계가 가능해야 한다.
  • PLT-CR-004: 비동기 메시지에는 멱등성 키와 재시도/백오프 정책이 정의되어야 하며, 실패 메시지는 DLQ에 보관 후 모니터링되어야 한다.
  • PLT-CR-005: 분산 캐시 사용 시 네임스페이스/키 버저닝을 적용하고, 대량 무효화는 태그/버전 스위칭 방식으로 수행해야 한다.
  • PLT-CR-006: 데이터베이스 세션 타임아웃 설정은 IaC(Infrastructure as Code)로 관리되어야 하며, 환경별로 적절한 값이 설정되어야 한다. 프로덕션 환경에서는 30분 이하의 idle_in_transaction_session_timeout 설정을 권장한다.

3. 보안 요구사항 (Security)

3.1 데이터 암호화 표준

  • PLT-SEC-001 (저장 시 암호화): Google Cloud SQL의 자동 암호화 기능을 활용한다.

    • 모든 데이터베이스 데이터: AES-256 자동 암호화 (Google Cloud SQL 기본 제공)
    • 백업 데이터: 자동 암호화 (Google Cloud SQL 기본 제공)
    • 파일 스토리지: Google Cloud Storage 자동 암호화
  • PLT-SEC-002 (전송 중 암호화): 모든 네트워크 통신은 TLS를 사용한다.

    • 외부 API 통신: TLS 1.2 이상 필수
    • 내부 서비스 간 통신: TLS 또는 mTLS
    • 데이터베이스 연결: SSL/TLS 필수
  • PLT-SEC-003 (애플리케이션 레벨 추가 암호화): 특별히 민감한 데이터는 추가 암호화를 고려한다.

    • 의료 진단 데이터: 애플리케이션 레벨 추가 암호화
    • 개인 식별 정보 (주민등록번호 등): 필드 레벨 암호화
    • API 키/토큰: 별도 암호화 후 저장
  • PLT-SEC-004 (키 관리): Google Cloud KMS를 활용한 중앙화된 키 관리

    • 암호화 키 순환 정책: 연 1회 이상
    • 키 접근 감사 로그 필수

3.2 접근 제어

  • PLT-SEC-005 (인증/인가): 모든 서비스는 표준화된 인증/인가를 구현해야 한다.

    • JWT 기반 인증
    • Role-Based Access Control (RBAC)
  • PLT-SEC-006 (최소 권한 원칙): 각 서비스와 사용자는 필요한 최소한의 권한만 부여받는다.

    • 서비스 계정별 권한 분리
    • 데이터베이스 사용자별 권한 제한
    • 시크릿 접근 권한 최소화

3.3 보안 모니터링

  • PLT-SEC-007 (보안 감사): 모든 보안 관련 이벤트는 감사 로그에 기록되어야 한다.

    • 인증 실패 기록
    • 권한 변경 이력
    • 민감 데이터 접근 로그
  • PLT-SEC-008 (취약점 관리): 정기적인 보안 취약점 스캔 및 패치

    • 컨테이너 이미지 취약점 스캔
    • 의존성 취약점 모니터링
    • 정기 보안 패치 적용

4. 가정사항 (AR)

  • PLT-AR-001: 클라우드 매니지드 서비스 사용을 우선 고려한다.
  • PLT-AR-002: Google Cloud Platform의 보안 기능을 최대한 활용한다.

5. GDPR 컴플라이언스 (개인정보 보호)

5.1 플랫폼 레벨 개인정보 보호

인프라 요구사항

  • PLT-FR-001: 시스템은 인프라 레벨에서 개인정보를 보호해야 한다.

    • 데이터베이스 암호화 키 관리 (Google Cloud KMS)
    • 네트워크 레벨 접근 통제 (VPC, Firewall)
    • 백업 데이터 암호화 및 접근 제한
    • 로그 데이터 내 개인정보 자동 마스킹
  • PLT-FR-002: 시스템은 데이터 주체 권리 지원을 위한 플랫폼 기능을 제공해야 한다.

    • 데이터 검색/추출 도구 제공
    • 데이터 삭제/익명화 자동화
    • 처리 활동 추적 시스템
    • 동의 관리 인프라 지원

5.2 규제별 데이터 거버넌스 관리

인프라 요구사항

  • PLT-FR-003: 시스템은 규제별 데이터 거버넌스를 지원해야 한다.

    • 규제 기관별 독립적 인스턴스 구성 (DiGA/EU, FDA/US, K-FDA/KR)
    • 규제별 데이터 격리 및 접근 제어
    • 데이터 주권 요구사항 준수 (의료 기기 소프트웨어 규제)
    • 규제별 백업 및 감사 정책 차별화
  • PLT-FR-004: 시스템은 개인정보 처리 기록을 유지해야 한다.

    • 플랫폼 레벨 감사 로그 수집
    • 데이터 접근 패턴 분석
    • 처리 목적별 로그 분류
    • 감독기관 요청 대응 자동화

5.3 개인정보 보호 영향평가 (DPIA) 지원

인프라 요구사항

  • PLT-FR-005: 시스템은 DPIA 수행을 지원해야 한다.
    • 데이터 플로우 시각화 도구
    • 위험 평가 메트릭 수집
    • 보호 조치 효과성 측정
    • DPIA 보고서 생성 자동화

6. ISO27001 정보보호 관리

6.1 정보보호 관리 체계 (A.5)

인프라 요구사항

  • PLT-FR-006: 시스템은 정보보호 정책을 구현해야 한다.

    • 정보보호 정책 자동 배포
    • 정책 준수 모니터링
    • 정책 위반 자동 탐지
    • 정기 정책 검토 알림
  • PLT-FR-007: 시스템은 위험 관리 프로세스를 지원해야 한다.

    • 자동화된 취약점 스캔
    • 위험 평가 대시보드
    • 위험 처리 계획 추적
    • 잔여 위험 모니터링

6.2 접근 통제 (A.9)

인프라 요구사항

  • PLT-FR-008: 시스템은 강화된 접근 통제를 구현해야 한다.

    • 다중 인증 (MFA) 필수 적용
    • 특권 계정 관리 (PAM)
    • 세션 모니터링 및 기록
    • 비정상 접근 패턴 탐지
  • PLT-FR-009: 시스템은 네트워크 접근 통제를 강화해야 한다.

    • 제로 트러스트 네트워크 모델
    • 마이크로 세그멘테이션
    • 네트워크 트래픽 감시
    • DDoS 방어 체계

6.3 운영 보안 (A.12)

인프라 요구사항

  • PLT-FR-010: 시스템은 운영 보안을 강화해야 한다.

    • 자동화된 보안 패치 관리
    • 구성 관리 및 변경 통제
    • 용량 관리 및 성능 모니터링
    • 악성코드 방지 시스템
  • PLT-FR-011: 시스템은 로깅 및 모니터링을 강화해야 한다.

    • 실시간 보안 이벤트 감시
    • 중앙화된 로그 관리 (SIEM)
    • 자동화된 사고 대응
    • 포렌식 데이터 보존

6.4 통신 보안 (A.13)

인프라 요구사항

  • PLT-FR-012: 시스템은 네트워크 보안을 강화해야 한다.
    • 네트워크 보안 정책 자동 적용
    • 암호화된 통신 채널 관리
    • 네트워크 침입 탐지/방지 (IDS/IPS)
    • 보안 게이트웨이 운영

6.5 사업 연속성 관리 (A.17)

인프라 요구사항

  • PLT-FR-013: 시스템은 사업 연속성을 보장해야 한다.

    • 자동 장애 복구 시스템
    • 규제 준수 범위 내 백업 및 복제 (단일 리전 기반)
    • 재해 복구 계획 (DR) 자동화
    • 정기 복구 테스트 수행
  • PLT-FR-014: 시스템은 서비스 연속성을 관리해야 한다.

    • 서비스 가용성 모니터링
    • 자동 스케일링 및 로드 밸런싱
    • 데이터 백업 및 복원 자동화
    • 비상 대응 프로세스 자동화

6.6 공급업체 관계 (A.15)

인프라 요구사항

  • PLT-FR-015: 시스템은 공급업체 보안을 관리해야 한다.
    • 클라우드 서비스 보안 평가
    • 제3자 서비스 접근 모니터링
    • 공급업체 SLA 모니터링
    • 공급업체 보안 사고 대응

6.7 정보보호 사고 관리 (A.16)

인프라 요구사항

  • PLT-FR-016: 시스템은 사고 대응 체계를 구축해야 한다.
    • 자동화된 사고 탐지 시스템
    • 사고 등급별 에스컬레이션
    • 사고 대응 플레이북 자동 실행
    • 사고 후 분석 및 개선

7. 변경 이력

버전날짜작성자변경 내용
0.1.02025-08-08bok@weltcorp.com최초 작성
0.2.02025-08-12bok@weltcorp.com보안 요구사항 추가 (섹션 3) - 데이터 암호화 표준, 접근 제어, 보안 모니터링
0.3.02025-08-13bok@weltcorp.comGDPR 및 ISO27001 컴플라이언스 요구사항 추가 (섹션 5, 6) - 플랫폼 레벨 개인정보 보호, 정보보호 관리 체계
0.4.02025-08-13bok@weltcorp.com의료 기기 소프트웨어 규제 준수 반영 - 단일 리전 로드 밸런싱, 규제별 데이터 거버넌스 (DiGA, FDA, K-FDA)