💻 포트폴리오 | 강동윤
Full Stack Developer
UX 중심의 웹 서비스를 설계하고, 안정적인 상태 관리와 보안을 중시하는 풀스택 개발자 강동윤입니다.
협업과 기술적 깊이를 동시에 추구하며, 유니크하고 따라할 수 없는 제품을 만들고 싶습니다.
🧠 Projects
🕒 1. Timetogether (개인/팀 프로젝트)
E2EE(종단간 암호화) 기반 익명 일정 조율 서비스 (2025.03 - 12)
그룹 단위로 각자의 가능한 시간대를 공유하고, 교집합을 시각화하여 약속 시간을 추천하는 서비스입니다. 모든 데이터는 클라이언트에서 암/복호화되어 서버는 원본을 알 수 없는 Zero-Knowledge를 지향합니다.
Key Contributions & Problem Solving
- 클라이언트 E2EE 암호화 구조 설계 및 상태 관리
- Problem:
- 그룹 일정, 장소 등 민감한 사용자 데이터를 다루는 서비스 특성상, 서버 관리자조차 데이터를 볼 수 없는 Zero-Knowledge수준의 강력한 보안이 요구되었습니다. 기존의 서버측 암호화 방식으로는 이 요구사항을 충족할 수 없었습니다.
- Action:
- 하이브리드 E2EE 아키텍처를 설계하여, 인증(Authentication)과 암호화(Encryption)의 책임을 물리적으로 완벽하게 분리했습니다.
- 클라이언트 암호화: 사용자의 PW와 ID(Salt)를 PBKDF2(KDF)로 파생시킨 masterKey를 브라우저(클라이언트)에서만 관리하도록 했습니다.
- Web Crypto API 활용: masterKey를 XSS 공격으로부터 보호하기 위해, localStorage가 아닌 IndexedDB에 CryptoKey 객체(extractable: false)로 저장하여 키의 원본 바이너리 탈취를 원천 차단했습니다.
- BFF/백엔드 역할 축소: BFF서버는 E2EE 원칙에 따라 masterKey에 절대 접근할 수 없으며, 클라이언트가 암호화한 데이터 덩어리를 검증 없이 전달하는 게이트웨이 역할만 수행하도록 설계했습니다.
- Result:
- masterKey가 네트워크로 전송되지 않는 완전한 E2EE 모델을 구축했습니다. 서버가 해킹당하더라도 사용자 데이터의 원본은 암호화된 상태로만 존재하여, 데이터 유출 시에도 개인정보를 완벽하게 보호할 수 있는 최고 수준의 보안 아키텍처를 확보했습니다.
- httpOnly 쿠키를 활용한 안전한 토큰(AT/RT) 인증 시스템 구축