# 제품 요구사항 문서 (PRD): 전문가용 보안 정보 사이트 (초안) ## 1. 개요 본 문서는 특정 분야의 전문가들에게만 민감한 정보를 제공하기 위한 보안 웹사이트의 요구사항을 정의합니다. 사용자는 여러 단계의 강력한 인증 절차와 법적 동의(NDA)를 거쳐야만 내부 정보에 접근할 수 있습니다. ## 2. 목표 - **보안:** 검증되고 신원이 확인된 사용자만이 정보에 접근할 수 있도록 보장합니다. - **사용자 경험:** 복잡한 인증 절차를 최대한 명확하고 원활하게 안내하여 이탈을 최소화합니다. - **효율성:** 콘텐츠 변경 시, 대상 사용자에게 신속하게 알림을 전달하여 정보의 적시성을 확보합니다. ## 3. 사용자 페르소나 - **대상:** 특정 산업 분야(예: 금융, 법률, 의료)의 전문가, 연구원, 고위 관계자. - **특징:** 제공되는 정보의 가치와 민감도를 이해하고 있으며, 다소 복잡하더라도 보안 절차를 준수할 의향이 있습니다. ## 4. 핵심 기능 요구사항 (Features) ### 4.1. 사용자 인증 및 접근 흐름 - **Public Zone (랜딩 페이지):** - 프로젝트의 목적과 개요를 설명하는 정적 페이지. - 인증 절차를 시작할 수 있는 '콘텐츠 보기' 또는 '로그인/인증' 버튼을 제공합니다. - **Authentication Zone (인증 페이지):** - **1단계: NICE 본인인증:** 사용자는 NICE 실명인증 서비스를 통해 본인임을 증명해야 합니다. - **2단계: 카카오톡 또는 전화번호 인증:** 본인인증 완료 후, 추가적인 연락처 확인을 위해 카카오톡 또는 SMS 인증을 거쳐야 합니다. - 모든 인증 정보는 안전하게 관리되어야 하며, 세션 또는 토큰 기반으로 인증 상태가 유지되어야 합니다. - **Legal Zone (NDA 서명):** - **3단계: NDA 서명:** 모든 인증을 통과한 사용자는 eFormSign을 통해 온라인으로 NDA(비밀유지협약)에 서명해야 합니다. - 서명 완료 전까지는 콘텐츠에 접근할 수 없으며, 서명 페이지로 강제 이동됩니다. - **Private Zone (콘텐츠 페이지):** - 모든 인증 및 NDA 서명을 완료한 사용자에게만 노출되는 보안 콘텐츠 영역입니다. - URL을 직접 입력하여 접근하더라도, 인증 및 서명 상태를 확인하여 권한이 없으면 인증 페이지로 리디렉션해야 합니다. - 해당 내용은 메인 페이지 뿐 아니라, 모든 이미지 영상 등의 리소스에도 해당합니다. ### 4.2. 푸시 알림 - **트리거:** 관리자가 새로운 콘텐츠를 게시하거나 중요 업데이트를 할 경우. - **채널:** 사용자가 2단계 인증 시 제공한 카카오톡 또는 전화번호를 통해 알림을 발송합니다. - **내용:** "새로운 정보가 업데이트되었습니다."와 같이 간결한 메시지와 함께 사이트 링크를 포함합니다. ### 4.3. 디지털 워터마킹 (Digital Watermarking) - **목표:** 콘텐츠 내 모든 이미지와 비디오에 사용자 식별 정보를 삽입하여, 유출 시 출처를 추적할 수 있도록 합니다. - **적용 대상:** Private Zone에서 제공되는 모든 이미지 및 비디오 리소스. - **구현 방식:** - **이미지 (보이지 않는 워터마크):** - 서버 사이드에서 스테가노그래피(Steganography) LSB(최하위 비트) 변조 방식을 사용합니다. - 사용자가 이미지를 요청할 때, 실시간으로 해당 사용자의 고유 식별자를 이미지 픽셀 데이터에 보이지 않게 삽입하여 제공합니다. - **비디오 (보이는 워터마크):** - 비디오 플레이어 화면 위에 사용자의 식별 정보(예: 이메일, IP 주소)를 반투명 텍스트 오버레이로 표시합니다. - 이 워터마크는 비디오 재생 내내 표시되어 스크린 녹화를 통한 유출을 억제하고, 유출 시 출처를 명확히 합니다. ## 5. 비기능적 요구사항 - **보안:** 모든 API 통신은 HTTPS를 사용하며, 민감한 사용자 데이터는 안전하게 처리되어야 합니다. - **성능:** Vite 기반의 빠른 페이지 로딩 속도를 보장해야 합니다. - **호환성:** 최신 버전의 주요 웹 브라우저(Chrome, Safari, Edge)에서 정상적으로 동작해야 합니다. ## 6. 기술 스택 제안 - **프론트엔드:** React, Vite, React Router - **상태 관리:** Zustand - **백엔드 (필요 시):** Node.js/Express - 인증 콜백 처리, 알림 발송 등