본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Credential Management; 자격 증명 관리
비밀번호, API 키, 인증서, 토큰처럼 신원을 증명하는 비밀을 안전하게 만들고, 보관하고, 꺼내 쓰고, 교체하고, 폐기하는 체계

공격자가 시스템에 들어오는 가장 흔한 길은 취약점 공격보다 유효한 자격 증명을 쓰는 것이다. 메모장·엑셀·소스 코드·설정 파일에 흩어진 비밀번호와 키는 한 번 유출되면 누가 언제 썼는지도 알기 어렵다. 자격 증명 관리 시스템은 이런 비밀을 금고(vault) 한곳에 모아 암호화해 두고, 정해진 사람·프로그램만 정해진 절차로 꺼내 쓰게 하며, 사용 기록을 남기고 주기적으로 바꾼다. CISSP 5.2 항목은 그 예로 비밀번호 금고를 든다.

관리 대상과 도구

편집 원본 편집
구분 대상 도구 주 사용자
개인용 비밀번호 관리자 웹사이트·앱 비밀번호, 패스키, 복구 코드 브라우저·OS 내장 관리자, 전용 비밀번호 관리 앱 개인 사용자, 일반 직원
기업용 특권 계정 금고 서버 root·administrator, 네트워크 장비, DB 관리자, 긴급 계정 비밀번호와 SSH 키 PAM 솔루션의 금고 시스템 관리자
비밀 관리(시크릿 관리) 애플리케이션이 쓰는 API 키, DB 접속 정보, 인증서·개인키, 토큰 시크릿 관리 서비스, 클라우드 키·비밀 관리 서비스 애플리케이션, CI/CD 파이프라인, 서비스 계정
키·인증서 관리 암호 키, X.509 인증서 키 관리 시스템, HSM, 인증서 수명 관리 도구 보안·인프라 팀

암호 키 자체의 생성·분배·폐기는 암호 키 관리에서 따로 다룬다.

비밀번호 정책

편집 원본 편집

NIST SP 800-63B-4(2025)는 오랫동안 관행이던 복잡성·주기 변경 규칙을 뒤집었다. 사용자가 규칙을 맞추느라 "Password1!"→"Password2!"처럼 예측 가능한 변형을 만들어 오히려 약해진다는 연구에 근거한다.

항목 과거 관행 NIST SP 800-63B-4
길이 8자 이상 + 복잡성 단일 요소로 쓰면 최소 15자, 다중 인증의 일부로만 쓰면 최소 8자. 최대 길이는 64자 이상 허용 권고
구성 규칙 대·소문자·숫자·특수문자 혼합 강제 혼합 규칙을 강제하지 않는다(SHALL NOT).
주기적 변경 60~90일마다 강제 주기적 변경을 강제하지 않는다. 유출 증거가 있을 때만 변경을 강제한다.
금지 목록 사전 단어 정도 과거 유출 비밀번호, 사전 단어, 서비스명·아이디 같은 문맥 단어 목록과 대조해 해당하면 거부하고 이유를 알려 준다.
힌트·보안 질문 허용 힌트 저장과 보안 질문 사용을 금지한다.
비밀번호 관리자 붙여넣기 차단하는 곳도 많음 비밀번호 관리자와 자동 채우기를 허용해야 하고(SHALL), 붙여넣기 허용을 권고한다.
저장 단순 해시 솔트와 비용 인자가 있는 비밀번호 해시 방식으로 저장한다. 솔트는 32비트 이상이다.

국내 기준은 다를 수 있다. 「개인정보의 안전성 확보조치 기준」은 비밀번호를 복호화되지 않도록 일방향 암호화해 저장하게 하고, 일정 횟수 이상 인증에 실패하면 접근을 제한하도록 정한다.

자격 증명 순환

편집 원본 편집

순환(rotation)은 비밀을 주기적으로, 또는 사건이 생겼을 때 새 값으로 바꾸는 것이다. 사람의 비밀번호는 NIST 기준상 주기 변경을 강제하지 않지만, 기계가 쓰는 비밀과 특권 계정 비밀번호는 사정이 다르다. 사람이 외우지 않으므로 자동으로 자주 바꿔도 불편이 없고, 유출되었을 때 쓸 수 있는 시간을 줄여 준다.

  • 사건 기반 순환: 담당자 퇴사, 유출 의심, 체크인 직후에 즉시 바꾼다.
  • 주기 순환: 금고가 정해진 주기마다 대상 시스템에 접속해 비밀번호·키를 바꾸고 새 값을 저장한다.
  • 동적 비밀(dynamic secret): 요청 시점에 짧은 수명의 자격 증명을 새로 만들어 주고 만료되면 폐기한다. 장기 비밀 자체를 없애는 방향이다. OWASP 비밀 관리 지침은 순환과 동적 생성을 함께 선택지로 제시하며, 동적 비밀은 소비자를 멈추는 것만으로는 무효화되지 않으므로 임대(lease) 만료나 명시적 폐기에 묶으라고 설명한다.

체크아웃·체크인

편집 원본 편집

특권 계정 금고의 기본 사용 절차이다.

  1. 관리자가 금고에 로그인한다(다중 인증).
  2. 사유와 대상 시스템을 적어 비밀번호 사용을 요청한다(체크아웃). 필요하면 승인자가 승인한다.
  3. 금고가 비밀번호를 보여 주거나, 비밀번호를 노출하지 않고 세션을 대신 열어 준다.
  4. 작업이 끝나거나 정해진 시간이 지나면 반납한다(체크인).
  5. 금고가 그 비밀번호를 즉시 새 값으로 바꾼다. 따라서 꺼내 본 사람도 이후에는 쓸 수 없다.

같은 계정을 동시에 한 사람만 꺼내게 하면 공유 계정이라도 특정 시점에 누가 썼는지 책임 추적이 가능해진다.

  • 금고 자체 침해: 금고는 모든 비밀이 모인 최고 가치 표적이다. 금고 관리자 계정에 피싱 내성 다중 인증, 금고 서버 망 분리, 마스터 키의 HSM 보관, 금고 관리 작업의 직무 분리를 적용한다.
  • 금고 가용성: 금고가 멈추면 장애 대응에 필요한 비밀번호도 꺼낼 수 없다. 이중화와 오프라인 긴급 봉인 절차를 둔다.
  • 금고 밖의 비밀: 소스 코드·컨테이너 이미지·CI 로그에 남은 하드코딩 비밀은 금고가 있어도 그대로 노출된다. 비밀 스캐닝 도구로 찾아 금고로 옮긴다.
  • 개인용 관리자: 마스터 비밀번호와 동기화 계정이 털리면 모든 비밀번호가 함께 넘어간다. 마스터 계정에 다중 인증을 건다.
  • 현행 NIST 기준은 "길게, 복잡성 강제 없이, 주기 변경 강제 없이, 유출 목록과 대조"이다. 90일 주기 변경을 최선책으로 고르면 오답이다.
  • 비밀번호 변경을 강제해야 하는 경우는 유출 증거가 있을 때이다.
  • 공유 특권 계정의 책임 추적 문제는 금고의 체크아웃·체크인과 사용 후 자동 변경으로 해결한다.
  • 소스 코드에 하드코딩된 API 키를 발견하면 먼저 키를 폐기·교체하고, 이어서 비밀 관리 도구로 옮긴다.
  • 금고는 단일 침해 지점이므로 금고 자체를 가장 강하게 보호해야 한다.