- 공유 링크 만들기
- X
- 이메일
- 기타 앱
이 글의 목적은 개인과 조직이 비밀번호 관리자를 도입하여 강력한 비밀번호를 자동 생성하고, 데이터 유출 모니터링을 체계적으로 활성화하여 계정 탈취 위험을 최소화하도록 돕는 것이다.
1. 왜 비밀번호 관리자를 써야 하는가
사람은 길고 복잡한 비밀번호를 모든 서비스에서 고유하게 만드는 일을 지속적으로 수행하기 어렵다. 비밀번호 관리자는 비밀번호 생성·보관·자동입력·유출 경보를 통합 제공하여 재사용과 추측 공격을 원천적으로 줄이는 도구이다. 비밀번호 관리자 도입은 피싱, 크리덴셜 스터핑, 사전식 공격에 대한 방어 수준을 체계적으로 끌어올리는 가장 비용 대비 효율이 높은 보안 조치이다.
2. 강력 비밀번호의 요건과 엔트로피
2.1 최소 기준
| 항목 | 권장 기준 | 근거 |
|---|---|---|
| 길이 | 사이트 비밀번호 16자 이상, 중요 계정 20~24자 | 길이가 엔트로피에 가장 큰 기여를 한다. |
| 문자군 | 대문자·소문자·숫자·특수문자 포함 | 문자군이 넓을수록 경우의 수가 증가한다. |
| 고유성 | 모든 서비스별 비밀번호 1개씩 고유 생성 | 단일 유출이 전체 계정으로 확장되는 것을 차단한다. |
| 무작위성 | 암호학적 RNG 사용 | 예측 가능 패턴을 제거한다. |
| 관리 | 관리자 금고에만 저장하고 평문 기록 금지 | 유출 표면을 최소화한다. |
2.2 간단 엔트로피 계산 개념
가능 문자 수를 N, 길이를 L이라 할 때 경우의 수는 N^L이다. 엔트로피는 대략 L·log2(N)비트로 추정한다. 예를 들어 대·소문자·숫자·기본 특수문자(약 94개)를 사용하고 길이 20자면 약 20·log2(94) ≈ 131비트로 강력한 수준이다.
3. 비밀번호 관리자 선택 체크리스트
| 평가 항목 | 권장 조건 | 확인 방법 |
|---|---|---|
| 암호화 모델 | 종단간 암호화(E2EE), 제로 지식 설계 | 백서·보안 아키텍처 문서 확인 |
| 키 파생 | PBKDF2/Argon2 등 KDF와 충분한 반복 | 앱 설정 또는 기술 문서 확인 |
| 2단계 인증 | TOTP·FIDO2 보안키 지원 | 로그인 보안 옵션 점검 |
| 유출 모니터링 | 다크웹·유출 DB 대조 알림 제공 | 모니터링 대시보드 유무 확인 |
| 플랫폼 호환 | Windows·macOS·iOS·Android·주요 브라우저 | 확장 프로그램·앱 목록 |
| 비상 접근 | 지정 연락처 승인형 비상 해제 | 비상 액세스 정책 존재 여부 |
| 감사·로그 | 조직용은 공유·접근 로그 제공 | 관리자 콘솔 기능 확인 |
| 비용·라이선스 | 가정·비즈니스 요금제 구분 | 사용자 수·공유 금고 수 기준 검토 |
4. 최초 설정 표준 절차
- 주계정 생성 후 마스터 비밀번호를 길이 20자 이상으로 설정한다. 사람이 외우기 쉬운 문장형 패스프레이즈를 사용할 수 있으나 사적 문구·가사·명언을 변형 없이 쓰지 않는다.
- 마스터 비밀번호에 대해 2단계 인증을 즉시 활성화한다. FIDO2 보안키 2개 이상을 등록하고 TOTP는 보조로 둔다.
- 기기별 앱과 브라우저 확장을 설치한다. 자동잠금 시간을 데스크톱 5~10분, 모바일 1~3분으로 설정한다.
- 자동 생성 정책을 길이 20자, 문자군 전체 사용, 모호 문자 제외 옵션은 필요 시만 적용한다.
- 기존 계정 가져오기를 수행하고 중복·약함·재사용 비밀번호를 일괄 교체한다.
5. 강력 비밀번호 자동 생성 실전
5.1 생성 정책 템플릿
길이: 20~24 문자군: 대문자+소문자+숫자+특수문자 제외: 연속문자(AAA, 1234), 키보드 패턴(qwerty) 유니크: 계정/도메인마다 서로 다르게 회전: 고위험 계정 반기 1회 점검, 유출 경보 시 즉시 변경 5.2 로컬 생성 대안 예시
비밀번호 관리자의 생성기를 쓰는 것이 기본이지만, 정책상 로컬 생성이 필요한 경우 다음 예시를 활용한다.
# macOS/Linux OpenSSL openssl rand -base64 32
PowerShell
Add-Type -AssemblyName System.Web
[Convert]::ToBase64String([System.Security.Cryptography.RandomNumberGenerator]::GetBytes(24))
Python
python - <<'PY'
import secrets, string
alphabet = string.ascii_letters + string.digits + "!@#$%^&*()-_=+[]{};:,.?"
while True:
pwd = ''.join(secrets.choice(alphabet) for _ in range(24))
# 간단 정책 검사
if any(c.islower() for c in pwd) and any(c.isupper() for c in pwd) and any(c.isdigit() for c in pwd):
break
print(pwd)
PY
6. 데이터 유출 모니터링 구성
6.1 모니터링 원리
유출 모니터링은 이메일·도메인·암호 해시를 유출 데이터베이스와 대조하여 일치 시 경보를 제공한다. 일부 서비스는 다크웹 마켓·포럼을 수집하여 노출 지표를 높인다. 제로 지식 모델을 지키는 범위에서 해시·토큰화된 식별자만 외부에 제출하는 설계를 우선한다.
6.2 설정 단계
- 감시 대상 이메일·도메인을 등록한다.
- 경보 채널을 이메일·모바일 푸시·관리자 콘솔로 이중화한다.
- 경보 발생 시 자동 워크플로(비밀번호 변경·세션 강제 로그아웃)를 정의한다.
- 조직의 경우 침해대응(IRT) 절차서에 유출 경보 대응 체크리스트를 포함한다.
| 경보 수준 | 사례 | 즉시 조치 | 후속 조치 |
|---|---|---|---|
| 높음 | 현재 사용 중 비밀번호 해시 노출 | 비밀번호 즉시 변경, 모든 세션 종료 | 2단계 인증 재등록·보안키 재검증 |
| 중간 | 연관 이메일·전화 노출 | 피싱 경고·복구 정보 변경 | 스팸 필터·콜 차단 강화 |
| 낮음 | 오래된 비활성 계정 노출 | 계정 폐쇄 또는 무력화 | 아카이브 정책 반영 |
7. 자동 입력과 피싱 방지
자동 입력은 URL 바인딩을 통해 도메인 불일치 시 채우기를 중단하도록 설계되어 있다. 계정 레코드에 루트 도메인만 저장하지 말고 정확한 로그인 도메인을 저장한다. 비밀번호 관리자가 자동 채우기를 거부할 때는 URL 변조 가능성을 먼저 의심한다.
8. 복구와 비상 접근
8.1 복구 방법
- 복구 키 또는 마스터 암호화 키를 오프라인으로 인쇄 보관한다.
- 보안키(FIDO2) 2개 이상 등록하고 벤더별 백업키 정책을 따른다.
- TOTP 복구코드는 1회용으로 금고와 분리된 봉함 보관을 준수한다.
8.2 비상 접근
신뢰 연락처를 지정하고 승인 지연 시간(예: 48~72시간)을 설정한다. 승인 요청 시 알림을 검토하고, 악의적 요청을 즉시 거부한다.
9. 조직에서의 운영 표준
9.1 금고 구조와 권한
- 개인 금고와 팀 금고를 분리한다.
- 공유 자격증명은 최소 권한 원칙을 따른다.
- 퇴사·부서이동 시 자동 접근 회수 워크플로를 구성한다.
9.2 정책 예시
| 정책 | 설정 | 비고 |
|---|---|---|
| 마스터 비밀번호 | 문장형 20자 이상, 금고 외 저장 금지 | 비밀 질문 미사용 |
| 2단계 인증 | FIDO2 필수, TOTP 보조 | SMS는 예외적 비상용 |
| 자동 잠금 | 5분 비활동 시 잠금 | 원격 잠금 허용 |
| 감사 로그 | 접근·공유·내보내기 모두 기록 | 90일 이상 보관 |
| 내보내기 | CSV 금지, 암호화 백업만 허용 | 내보내기 시 관리자 승인 |
10. 비밀번호 교체 전략
강력하고 유니크한 비밀번호는 무조건적 주기 교체보다 유출·위험 이벤트 기반 교체가 합리적이다. 단, 다음 항목은 주기 점검을 권장한다.
- 이중 인증이 없는 고위험 계정: 반기 1회 점검
- 공유 계정: 담당자 변경 시 즉시 교체
- 유출 경보 발생: 즉시 교체 후 세션 무효화
11. 브라우저·모바일 구성 팁
11.1 브라우저
- 브라우저 자체 저장 기능은 끄고 비밀번호 관리자 확장만 사용한다.
- 자동 채우기 허용 도메인만 등록한다.
- 클립보드 자동 비우기를 30~60초로 설정한다.
11.2 모바일
- 생체인증을 금고 해제 보조로만 사용한다.
- 앱 잠금 타임아웃을 1~3분으로 짧게 둔다.
- 분실 대비 원격 삭제를 활성화한다.
12. 보안키(FIDO2) 연동
비밀번호 관리자 로그인과 주요 서비스 계정 모두에 보안키를 연결한다. 최소 2개 키를 양쪽 서비스에 중복 등록한다. USB-C·NFC 조합 키를 우선하며, 모바일용은 NFC·BLE 지원 여부를 확인한다.
13. 내보내기·백업·이사(Migration)
13.1 안전한 백업
- 암호화된 백업 파일만 생성한다.
- 백업 보관은 2곳 이상(오프라인+클라우드)으로 이중화한다.
- 백업 무결성 검사를 반기 1회 수행한다.
13.2 다른 관리자에서 이전
- 기존 금고를 암호화 형식으로 내보낸다.
- 가져오기 전 중복 규칙·폴더 구조를 정의한다.
- 이전 후 모든 고위험 계정의 비밀번호를 즉시 재발급한다.
14. 운영 점검 체크리스트
| 주기 | 점검 항목 | 합격 기준 |
|---|---|---|
| 월 1회 | 재사용·약한 비밀번호 보고서 | 0건 |
| 분기 1회 | 2단계 인증 누락 계정 | 0계정 |
| 반기 1회 | 비상 접근·복구 키 점검 | 복구 경로 유효 |
| 수시 | 유출 경보 대응 | 24시간 내 조치 완료 |
15. 비밀번호 정책 예시문
1) 모든 계정은 비밀번호 관리자를 통해 생성·보관한다. 2) 사이트 비밀번호 기본 길이 20자, 중요 계정 24자 이상을 적용한다. 3) 계정별 비밀번호는 상호 고유해야 한다. 4) 마스터 비밀번호와 보안키 2개 이상을 필수로 사용한다. 5) 유출 경보 발생 시 즉시 비밀번호를 변경하고 모든 세션을 종료한다. 6) CSV 평문 내보내기를 금지한다. 7) 분기 1회 정책 준수 보고서를 제출한다. 16. 사건 대응 플로우
- 유출 경보 수신 → 영향 범위 식별(도메인·계정·최근 로그인)
- 비밀번호 변경 → 세션 무효화 → 2단계 인증 재등록
- 피싱 가능성 평가 → 메일 규칙·토큰 재발급
- 사후 보고서 작성 → 재발 방지 조치(도메인 허용 목록, 보안키 확대)
17. 자주 하는 실수와 예방
- 마스터 비밀번호를 다른 계정과 재사용한다 → 절대 금지한다.
- 브라우저 저장과 비밀번호 관리자를 혼용한다 → 브라우저 저장을 비활성화한다.
- 보안키를 1개만 등록한다 → 최소 2개를 등록하고 보관 위치를 분리한다.
- 유출 경보를 무시한다 → 24시간 내 조치 완료를 목표로 한다.
18. 개인 사용 빠른 시작 요약
- 비밀번호 관리자 설치 → 계정 생성
- 마스터 비밀번호 20자 이상 설정 + 보안키 2개 등록
- 자동 생성 정책 길이 20자, 전체 문자군 사용
- 유출 모니터링 활성화 및 경보 채널 설정
- 모든 주요 계정의 비밀번호를 재발급하고 2단계 인증을 켠다
FAQ
마스터 비밀번호는 얼마나 길게 해야 하나?
20자 이상을 권장한다. 문장형 패스프레이즈를 사용하되 공개적 문구는 피한다.
2단계 인증은 무엇을 우선해야 하나?
FIDO2 보안키를 우선한다. TOTP는 보조 수단으로 설정하고 SMS는 비상용으로만 둔다.
자동 입력이 갑자기 동작하지 않는데 왜 그런가?
로그인 도메인이 저장된 주소와 다르거나 피싱 가능성이 있을 때 자동 입력이 차단된다. URL을 검증하고 필요 시 도메인 허용 목록을 업데이트한다.
회사에서 공유 계정은 어떻게 관리하나?
팀 금고에 저장하고 역할 기반 접근을 부여한다. 담당자 변경 시 비밀번호를 즉시 교체한다.
백업은 어떻게 해야 안전한가?
암호화 백업만 생성하고 오프라인 1부, 클라우드 1부로 이중화한다. 반기 1회 무결성 검사를 수행한다.