02 — 인증과 접근통제

전체 요약 목차

A — 인증 흐름과 요소

사용자는 ID로 신원을 제시하고 인증요소의 통제 사실을 증명하며, 검증자는 그 증거를 확인한다. ID는 주장한 신원을 찾는 식별자다. 지식(비밀번호), 소유(키를 가진 장치), 생체(지문 등)는 서로 다른 요소다. 다중요소 인증은 서로 다른 종류의 요소를 결합한다. 비밀번호와 PIN은 모두 지식 요소에 속한다.

챌린지 응답은 검증자가 제시한 새 값에 비밀키 연산을 결합해 확인한다. nonce는 상대·요청·응답과 결합하고 검증자가 재사용 여부를 검사한다. 인증 뒤에도 자원별 인가는 별도로 한다. NIST800-63B-4

B — 비밀번호 저장과 복구

저장은 솔트와 비용인자를 쓰는 비밀번호 전용 해싱으로 오프라인 추측 비용을 높인다. 전송은 상대가 인증된 보호 채널을 이용한다. 저장값의 오프라인 추측 방어와 전송 중 자격증명 보호를 각각 갖춘다.

비밀번호 복구는 신원을 확인한 뒤 새 비밀번호를 설정하게 하는 별도 인증 경로다. 복구 토큰은 예측하기 어렵고 계정에 결합되며 유효기간·일회성·시도 제한이 있어야 한다. 계정 존재 여부의 응답도 조심한다. 변경 뒤 재인증과 기존 세션 처리를 연결한다. OWASP 복구

C — 일회용 비밀번호

HOTP는 공유 비밀과 카운터, TOTP는 공유 비밀과 시간 단계를 입력으로 코드를 만든다. 검증자는 허용 시간창과 사용 이력을 확인해 성공한 코드의 재사용을 거절한다. 시드 탈취·코드 추측·실시간 피싱 위험도 남는다. 앱·문자·하드웨어는 코드의 생성·저장·전달 방식이고, 일회성은 성공한 코드의 재사용을 제한하는 성질이다. RFC6238

S/KEY는 해시체인 값을 역순으로 사용하고 서버가 한 번 해시하여 이전 검증값과 비교·갱신하는 구조다. S/KEY는 역사적 인증 구조로 이해한다. OTP는 로그인 인증, One-Time Pad는 메시지 암호화, Lamport 일회용 서명은 전자서명에 쓰인다.

D — 생체 비교

등록 템플릿과 새 표본을 비교한다. 1:1 검증은 주장한 신원과 비교하고 1:N 식별은 후보 집합에서 찾는다. FAR/FRR은 오수락/오거부, FMR/FNMR은 비교 단계의 오일치/오불일치 오류를 살피는 용어다. 문헌의 정의·측정 조건을 함께 본다.

임계값을 엄격하게 하면 대체로 타인 수락은 줄지만 본인 거부가 늘 수 있다. 비교 정확도와 템플릿 보호는 각각 관리한다. 생체정보는 교체가 어려우므로 저장 보호·위조 표본 대응·대체 인증을 함께 마련한다. 오류율은 제품과 측정 조건을 붙여 읽는다.

E — 장치와 키 기반 인증

MAC 주소는 장치 식별에 쓰이고, 키 기반 인증은 장치가 비밀키를 보유한다는 증거를 검증한다. SIM 기반 인증은 비밀과 챌린지 검증을 이용하고, TPM은 키 보호·인증/상태 증명의 기반을 제공한다. OS의 안전성은 패치·권한·실행 상태도 함께 관리한다.

FIDO는 로컬의 생체/PIN 확인으로 자격증명 사용을 허용하고 서버에는 암호학적 응답을 검증하게 하는 구조다. 이 흐름에서 생체 비교는 로컬에서 수행하고 서버는 암호학적 증거를 확인한다. FIDO2는 WebAuthn과 CTAP을 연결하며 패스키에는 장치 결합형·동기화형이 있다. 피싱 저항성과 함께 기기 보안·계정 복구 경로도 관리한다. FIDO 개인정보 원칙

F — SSO·AAA·Kerberos

SSO는 한 인증을 여러 서비스에서 활용하는 체계다. AAA는 인증(Authentication)·인가(Authorization)·이용 기록(Accounting), 프로비저닝은 계정 생성·변경·회수다. 인증 기반을 모으면 편의와 함께 장애·침해 영향도 집중될 수 있다.

Kerberos V5의 기본 흐름은 AS에서 TGT 발급 → TGS에서 서비스 티켓 발급 → 서비스에 티켓과 authenticator 제시다. 서비스 티켓과 장기 비밀·세션키는 다른 역할을 갖는다. 시간 동기화·허용차뿐 아니라 재생 캐시 등 중복 방지도 필요하다. 기본 공유키 흐름과 공개키 초기 인증 확장(PKINIT)을 구분한다. RFC4120

Windows access token은 프로세스/스레드의 신원·권한 문맥이다. 물리 인증 토큰은 인증에 사용하는 장치이고, Windows 토큰은 운영체제의 권한 검사에 사용하는 문맥이다. 실제 Windows 구현은 05장에서 다룬다.

G — 접근통제 정책과 표현

주체가 객체에 요청한 행위를 정책에 따라 허용/거절한다. 최소권한은 업무에 필요한 범위만, 직무분리는 충돌하는 중요 업무의 독점을 막는 원칙이다.

정책권한 결정의 중심
DAC권한을 가진 소유자 등의 재량·위임
MAC중앙에서 정한 강제 정책·보안 표지
RBAC직무 역할에 연결한 권한
ABAC주체·객체·요청 행위·환경 속성을 정책과 비교

ABAC의 속성 평가와 RBAC의 역할 중심 설명은 구별하되 실제 정책에서는 역할도 속성으로 사용할 수 있다. NIST ABAC 정의

접근 행렬에서 객체 기준 목록이 ACL, 주체 기준 목록이 capability list다. 접근통제 정책은 허용 기준을 정하고, ACL·capability list는 그 권한을 객체·주체 관점으로 표현한다. 그룹은 사용자 집합이고 역할은 직무 권한 묶음이지만 제품에서 그룹으로 역할을 구현할 수 있다. 익명·게스트라는 계정명보다 실제 정책·토큰을 확인한다. NISTIR7316

H — 보안 모델과 신뢰 기반

주체가 객체를 읽고 쓰는 방향으로 본다. 아래는 등급·범주·기타 접근 조건을 함께 만족해야 하는 기본 제약이다.

모델목표읽기쓰기
Bell–LaPadula기밀성상위 읽기 금지하위 쓰기 금지
strict Biba무결성하위 읽기 금지상위 쓰기 금지

지배 관계는 보안등급과 범주 포함 관계를 함께 만족할 때 성립한다. 위 표는 Bell–LaPadula와 strict Biba의 기본 제약이며, 실제 허용에는 다른 접근 조건도 적용한다. MAC은 강제 정책의 분류이고 Bell–LaPadula는 기밀성을 다루는 모델이다. Biba는 변형별 규칙을 확인한다.

TCB는 보안정책을 집행하는 하드웨어·펌웨어·소프트웨어의 보호 기제 전체다. 참조 모니터는 완전 중재·변조 방지·검증 가능성이라는 추상 요구이고 보안 커널은 이를 구현하는 TCB 요소다. OS 커널은 운영체제의 핵심 실행부, 하드닝은 안전한 구성을 강화하는 작업이다. 은닉 저장 채널은 저장 상태로, 타이밍 채널은 관찰 시간 변화로 정보를 전달한다. 대응은 해당 상태·시간 경로까지 고려한다. NIST 참조 모니터

핵심 연결

  • ID로 신원을 제시하고 서로 다른 인증요소로 증거를 확인한다.
  • 비밀번호는 솔트·비용인자로 저장을 보호하고, 인증된 채널로 전달한다.
  • OTP는 생성 입력과 수신자의 사용 이력 검사를 함께 구성한다.
  • 생체 인증은 비교 정확도·템플릿 보호·대체 인증을 함께 관리한다.
  • SSO는 인증을 공유하고 각 서비스는 자원별 권한을 적용한다.
  • 정책은 허용 기준, ACL과 capability list는 권한의 표현 방식이다.
  • 보안 모델은 목표에 맞는 정보 흐름을 제한하고 TCB가 정책을 집행한다.

출처와 범위

2026-09-09까지 대조한 채택 핵심을 유지한다. 2026-09-10에는 출처 연결과 문서 구성을 정리했으며 기술·법령의 최신성 재검증은 수행하지 않았다. 제품·규격은 명시된 버전과 조건을 기준으로 읽는다.

추가 직접 출처(필요할 때 확인):