Sumin

공부하는 중

Project/2026-1 캡스톤

2026-1 캡스톤 프로젝트 진행 과정 (4/15)

sum1n52 2026. 4. 17. 20:54

브라우저 확장 기반 실시간 계정 보안 진단 시스템

1. 프로젝트 개요

본 프로젝트는 브라우저 확장 프로그램을 기반으로, 사용자의 로그인 및 회원가입 과정에서 비밀번호 보안 상태를 실시간으로 분석하고 피드백을 제공하는 시스템을 개발하는 것을 목표로 시작되었다. 기존 단계에서는 사용자가 비밀번호를 입력할 때 길이, 문자 조합, 반복 패턴, 단순 문자열 포함 여부 등을 기준으로 보안 강도를 평가하고, 이를 점수와 경고 메시지 형태로 시각적으로 전달하는 기능을 구현하였다. 또한 입력창 옆에 패널 UI를 표시하여 사용자가 별도의 설정이나 학습 없이도 자연스럽게 더 안전한 비밀번호를 사용하도록 유도하는 데 중점을 두었다.

이번 단계에서는 이러한 강도 분석 기능을 기반으로, 실제 보안 사고에서 중요한 요소인 비밀번호 재사용 문제를 해결하는 방향으로 시스템을 확장하는 데 초점을 맞췄다.
 


 
 

2. 비밀번호 재사용 탐지 기능 추가

기존 시스템이 비밀번호 자체의 복잡성만을 평가했다면, 이번에는 여러 사이트에서 동일한 비밀번호를 사용하는 문제를 탐지하는 기능을 추가하였다. 사용자가 입력한 비밀번호는 원문 그대로 저장하지 않고 해시 값으로 변환한 뒤, 동일한 해시가 다른 사이트에서도 사용된 적이 있는지를 비교하는 방식으로 동작한다. 이를 통해 하나의 비밀번호가 여러 사이트에서 사용되고 있는 경우 이를 재사용으로 판단하고 사용자에게 경고를 제공할 수 있도록 했다.

이 과정에서 원문 비밀번호를 저장하지 않는 구조를 유지함으로써 보안성을 확보하면서도, 실제 위험 요소를 탐지할 수 있는 기능을 구현하였다.
 


 
 

3. 로컬 저장소 기반 데이터 관리 구조 설계

재사용 탐지 기능을 구현하기 위해 브라우저의 로컬 저장소를 활용한 데이터 관리 구조를 설계하였다. 비밀번호는 해시 형태로 저장되며, 각 해시에 대해 어떤 사이트에서 사용되었는지, 언제 처음 사용되었고 마지막으로 언제 사용되었는지를 기록하도록 구성하였다. 또한 일정 기간이 지난 데이터는 자동으로 삭제되도록 하여 불필요한 데이터 누적을 방지하였고, 서브도메인을 하나의 루트 도메인으로 통합하는 로직을 추가하여 데이터의 정확도를 높였다.
이러한 구조를 통해 단순 저장을 넘어서, 지속적으로 정리되고 관리되는 형태의 보안 데이터 시스템을 구축할 수 있었다.
 


 
 

4. 재사용 기반 점수 반영 로직 개선

기존에는 비밀번호의 길이와 문자 구성 요소를 중심으로 점수를 산정했지만, 이번 단계에서는 재사용 여부를 점수에 반영하도록 분석 로직을 개선하였다. 재사용이 없는 경우에는 가점을 부여하고, 여러 사이트에서 동일한 비밀번호가 사용되는 경우에는 점수를 낮추는 방식으로 설계하였다. 이를 통해 단순히 복잡한 비밀번호를 만드는 것뿐만 아니라, 안전하게 관리하는 것까지 고려한 평가가 가능해졌다.
또한 사용자 경험을 고려하여 입력 즉시 강도 분석 결과를 먼저 제공하고, 이후 재사용 분석 결과가 반영되면 점수를 다시 계산하여 업데이트하는 방식으로 구성하였다.
 


 
 

5. UI 확장 및 사용자 경험 개선

기능 확장에 맞춰 UI도 함께 개선하였다. 기존에는 강도 분석 결과만 표시했다면, 이번에는 재사용 여부와 장기 사용 여부를 별도의 섹션으로 나누어 표시하도록 구조를 확장하였다. 특히 재사용된 사이트가 많을 경우 일부만 먼저 보여주고 나머지는 “더 보기”를 통해 확인할 수 있도록 하여, 정보가 과도하게 노출되지 않도록 조정하였다.
또한 비밀번호를 오랜 기간 변경하지 않은 경우 경고를 제공하는 장기 사용 탐지 기능을 추가하여, 사용자가 주기적으로 비밀번호를 변경하도록 유도하였다. 이를 통해 단순한 분석 도구를 넘어 실제 보안 습관 개선에 도움을 줄 수 있도록 했다.
 


 
 

6. 성능 최적화 및 처리 구조 개선

기능이 추가되면서 성능 저하를 방지하기 위한 최적화도 함께 진행하였다. 입력 이벤트마다 모든 분석을 즉시 수행하는 대신, debounce 기법을 적용하여 불필요한 연산을 줄였다. 또한 강도 분석과 재사용 탐지를 분리하여, 강도 분석은 빠르게 결과를 제공하고 재사용 탐지는 약간의 지연 후 비동기적으로 처리되도록 구성하였다.
이러한 구조를 통해 사용자에게는 빠른 피드백을 제공하면서도, 보다 정확한 분석 결과를 반영할 수 있도록 했다.
 


 
 

7. 마무리 및 향후 계획

이번 단계에서는 기존의 비밀번호 강도 분석 기능을 기반으로, 재사용 탐지 기능을 추가하여 보다 실질적인 보안 문제를 다룰 수 있도록 시스템을 확장하였다. 이를 통해 단순한 비밀번호 평가 도구에서 벗어나, 사용자의 보안 습관 자체를 개선하는 방향으로 발전시킬 수 있었다.
향후에는 유출 비밀번호 데이터베이스와의 연동, 사용자 편리를 위한 보조 기능 제공 등을 추가하여 보다 완성도 높은 보안 진단 시스템으로 발전시킬 계획이다.