보안 및 개인정보 보호 백서(개요)부록

부록: 용어집

이 용어집은 백서에서 사용하는 주요 용어와 약어를 정의합니다. 특정 장에 해당 용어의 더 구체적인 구현 내용이 있는 경우, 그 장의 사양이 우선합니다.

용어 및 약어

FileBolt
업로드, 공유, 다운로드 기능을 제공하는 파일 전송 플랫폼입니다. 이 문서는 FileBolt의 보안 및 개인정보 보호 설계 경계를 설명합니다.
보안 및 개인정보 보호 백서
보안 목표, 위협 모델, 아키텍처, 접근 제어, 암호화 사양을 설명하고 검증 가능한 Claim ID와 증거(Evidence) 링크를 제공하는 문서 모음입니다.
MUST / SHOULD / MAY
규범적 표현: MUST(필수), SHOULD(권장), MAY(선택). 구현 요구 사항과 권장 사항을 나타내는 데 사용합니다.
E2EE(종단 간 암호화)
암호화와 복호화가 클라이언트 측에서 이루어집니다. 서버는 암호문과 필요한 메타데이터만 처리하며 복호화 능력이 없습니다.
영지식(Zero-Knowledge)
서버는 정상 운영 및 일상적인 유지 관리 중에 복호화 키 자료를 얻을 수 없으므로 사용자 파일의 평문을 복호화할 수 없습니다.
CEK(콘텐츠 암호화 키)
이 문서에서는 파일마다 하나씩 사용하는 16바이트(128비트) 키로, AES-128-GCM 청크 암호화/복호화에 사용됩니다.
AES-128-GCM
AEAD(연관 데이터를 포함한 인증 암호화) 알고리즘입니다. 기밀성과 무결성을 제공하며, 인증에 실패하면 실패 시 차단(fail-closed) 방식으로 평문 출력을 거부합니다.
AEAD(연관 데이터를 포함한 인증 암호화)
무결성 결합을 위해 AAD(추가 인증 데이터)까지 함께 인증하는 암호화 방식입니다.
IV / Nonce
초기화 벡터/한 번만 사용하는 값(Number used once). AES-GCM에서는 보안을 유지하기 위해 같은 키로 IV를 반복해서 사용해서는 안 됩니다.
noncePrefix
파일마다 한 번 생성하는 무작위 접두사(예: 8바이트)로, chunkIndex와 결합하여 청크별 IV를 만들며 같은 CEK에서 IV가 고유하도록 보장합니다.
chunk / chunkIndex
파일 청크와 그 인덱스. 파일은 고정 크기 청크(예: 16MB)로 나뉘며, chunkIndex는 0부터 증가하고 위치 지정과 IV/AAD 결합에 사용됩니다.
chunkSize
청크의 크기. 이 문서의 예시는 16MB(16777216바이트)이며, 대용량 파일 업로드/다운로드와 스트리밍 암호화에 사용됩니다.
ciphertext(암호문)
클라이언트가 평문 청크를 암호화한 결과입니다.
tag(GCM 태그)
AES-GCM이 출력하는 인증 태그로, 암호문과 AAD의 무결성 및 일관성을 검증하는 데 사용됩니다.
AAD(추가 인증 데이터)
컨텍스트(transferId, fileId, chunkIndex)를 암호문에 결합하여 파일 간/청크 간 바꿔치기와 재전송 공격을 방지합니다.
transfer / transferId
하나의 전송(공유) 기록과 그 고유 식별자. 해당 전송의 메타데이터, 접근 제어, 파일 모음을 찾는 데 사용됩니다.
file / fileId
전송 내의 파일 개체와 고유 ID. 같은 전송 안에서 파일과 각 파일의 암호화 매개변수를 구분합니다.
manifest(매니페스트)
CEK를 제외한 공개 매개변수와 매핑(cryptoVersion, noncePrefix, chunkSize, 청크 맵 등)의 모음입니다.
cryptoVersion
암호화/프로토콜 버전 식별자(예: v1). 알고리즘, 인코딩, 파생 규칙을 제약하며 향후 발전과 호환성을 지원합니다.
URL 프래그먼트(#...)
URL에서 "#" 뒤의 부분. 브라우저 표준에 따라 서버로 전송되지 않으며, 클라이언트 측에서 복호화 자료를 전달하는 데 사용됩니다.
token(토큰)
접근 제어를 위한 자격 증명. 이 문서에서는 단기 세션 토큰(범위 지정, 만료)과 장기 로그인 토큰(보내는 사람의 관리용)을 구분합니다.
단기 세션 토큰
서버가 발급하고 테이블과 대조하여 확인하며, 만료되고 범위(read_manifest / read_chunk / upload_chunk)가 지정된 접근 토큰입니다.
장기 로그인 토큰
유료 사용자가 일회용 로그인(매직 링크)으로 얻는 관리 측 로그인 상태로, 보내는 사람용 대시보드(취소, 삭제, 감사)에 사용됩니다.
scope(범위)
토큰에 부여된 권한의 범위로, 최소 권한과 격리를 위해 사용됩니다(예: 암호문 다운로드와 매니페스트 읽기를 분리).
매직 링크(magic link)
일회용 로그인 링크. 사용자가 클릭하면 인증되어 관리용 로그인 상태를 얻습니다.
감사(audit)
전송과 관련하여 관찰할 수 있는 데이터(다운로드 횟수, 진행률)로, 보내는 사람이 전달 여부를 확인하는 데 사용되며 다운로드하는 사람의 화면과는 분리되어 있습니다.
CSP(콘텐츠 보안 정책)
리소스 출처와 실행을 제한하는 브라우저 보안 헤더로, XSS와 인젝션 위험을 줄입니다.
보안 헤더(Security Headers)
브라우저 보안을 강화하는 HTTP 응답 헤더 모음(예: HSTS, Referrer-Policy, X-Content-Type-Options, Permissions-Policy).
HSTS(Strict-Transport-Security)
HTTPS로만 접속하도록 강제하는 헤더입니다.
Referrer-Policy
페이지 이동이나 리소스 로딩 시 전송되는 Referer 정보를 제어하여 URL 유출 위험을 줄입니다.
클릭재킹(Clickjacking)
대상 사이트를 iframe에 삽입하여 클릭을 유도하는 공격. CSP frame-ancestors와 X-Frame-Options로 방어합니다.
COOP / COEP / CORP
교차 출처 격리를 위한 Cross-Origin Opener/Embedder/Resource Policy 헤더(호환성 평가 필요).
WAF(웹 애플리케이션 방화벽)
일반적인 공격과 악용 트래픽(스캔, 인젝션, 무차별 대입)을 탐지하고 차단합니다.
요청 제한(Rate limiting)
요청 빈도, 동시 처리량 또는 리소스 사용량에 임계값을 두어 악용, 열거 공격, DoS 위험을 줄입니다.
IR(사고 대응)
분류(Triage), 격리(Containment), 포렌식(Forensics), 복구(Remediation), 검토(Review), 커뮤니케이션(Communication)을 포함하는 프로세스입니다.
VDP(취약점 공개 프로그램)
취약점 공개를 위한 체계(접수, 검증, 수정, 공지)로, 책임 있는 제보를 장려합니다.
증거(Evidence)
Claim을 검증할 수 있는 재현 가능한 진입점. 장 앵커(규범 사양)나 제3자 보고서(TLS, 헤더 스캔)가 될 수 있습니다.
Claim / Claim ID
검증 가능한 진술과 그 고유 ID. "약속/정책/사양"을 "증거"와 연결하여 감사와 변경 추적을 지원합니다.

참고 사항

  • 향후 버전에서 용어 정의가 변경되면 이 용어집을 업데이트하고 변경 내역(Changelog)에 기록합니다.
  • 용어가 구현 사양(예: v1 IV/AAD 인코딩)에 사용된 경우에는 해당 장의 사양이 우선합니다.