1장 개요 및 보안 범위
이 장에서는 백서의 목적, 규범적 표현, 용어를 정의하고 FileBolt의 보안 목표와 경계 조건을 명시합니다. 범위 내 위험과 범위 외 위험을 명확히 구분하면 시스템이 보장할 수 있는 사항에 대한 오해를 막을 수 있습니다.
문서 메타데이터
- 백서 버전
- v1.0
- 최종 업데이트
- 2026-01-14
돌아가기: 보안 및 개인정보 보호 백서(개요)
1.0 목적
- 사용자와 감사자를 위해 FileBolt의 보안 설계와 신뢰 경계를 설명합니다.
- 업로드, 저장, 다운로드 전 과정에서 기밀성/무결성이 어떻게 보호되는지 설명합니다.
- 검토와 재현을 위해 검증 가능한 증거 링크와 클레임 ID를 제공합니다.
1.1 규범적 언어 및 용어
- 규범적 키워드: MUST / SHOULD / MAY (RFC 2119 방식의 사용).
- CEK: 콘텐츠 암호화 키(Content Encryption Key). 16바이트(128비트)이며 파일마다 하나씩 사용합니다.
- E2EE / 영지식: 암호화와 복호화는 클라이언트에서 이루어집니다. 서버는 암호문과 공개 매개변수만 처리하며 CEK를 획득해서는 안 됩니다(MUST NOT).
- transferId / fileId / chunkIndex: 각각 전송, 파일, 청크 인덱스를 나타내는 식별자입니다.
- manifest: 다운로드, 조립, 복호화에 필요한 공개 매개변수(예: cryptoVersion, chunkSize, 매핑). CEK를 포함해서는 안 됩니다(MUST NOT).
- 단기 액세스 토큰: 암호문/매니페스트 접근을 승인하는 데 사용하는 서버 측 세션 토큰(조회 방식). 설계상 일정 시간이 지나면 만료됩니다.
1.2 보안 목표
- 기밀성: 영지식 모델에서 서버는 사용자 콘텐츠를 복호화할 수 없어야 합니다(MUST NOT be able to decrypt).
- 무결성: 변조는 반드시 감지되어야 하며(MUST), AEAD 인증 실패 시에는 반드시 처리를 중단(fail closed)해야 합니다.
- 접근 제어: 암호문 접근은 범위가 한정되고 만료되는 토큰으로 보호되어야 하며(MUST), 보낸 사람은 접근을 철회할 수 있어야 합니다(MUST).
- 감사 가능성: 민감한 데이터 노출을 최소화하면서, 보낸 사람이 확인할 수 있는 최소한의 전달 증거를 제공합니다.
1.3 범위 내 항목
- 영지식/E2EE 경계와 키 처리(URL 프래그먼트 모델)
- 청크 단위 암호화 및 인증 매개변수(cryptoVersion=v1)
- 업로드/다운로드 및 매니페스트 조회를 위한 토큰 기반 인가와 철회 의미 체계
- 다운로드/복호화 페이지의 웹 보안 기준(CSP, 서드파티 스크립트 없음)
1.4 범위 외 항목
- 침해된 단말: 악성코드, 악성 브라우저 확장 프로그램, 루팅된 기기
- 사용자가 의도적으로 링크를 유출하는 경우, 소셜 엔지니어링, 잘못된 설정
- 서버 측 콘텐츠 검사(엄격한 영지식 콘텐츠 보호와 양립할 수 없음)