WIA-SEC-008

다중 인증 (Multi-Factor Authentication)

교육 가이드 v1.0.0

弘益人間 (홍익인간) - 널리 인간을 이롭게 하라
다중 인증은 무단 액세스, 데이터 유출, 신원 도용으로부터 사용자, 조직 및 사회를 보호하여 향상된 보안을 통해 모든 인류에게 이익을 제공합니다.

목차

1. 다중 인증 소개

다중 인증이란?

다중 인증(Multi-Factor Authentication, MFA)은 사용자가 시스템, 애플리케이션 또는 리소스에 액세스하기 위해 두 개 이상의 독립적인 검증 요소를 제공해야 하는 보안 메커니즘입니다. 전통적인 단일 요소 인증(일반적으로 비밀번호만 사용)과 달리 MFA는 신원을 증명하기 위해 여러 형태의 증거를 요구함으로써 무단 액세스의 위험을 크게 줄입니다.

MFA의 기본 원칙은 한 가지 인증 요소가 손상되더라도(예: 비밀번호 도난) 공격자가 추가 요소 없이는 액세스할 수 없다는 것입니다. 이러한 계층화된 보안 접근 방식은 사이버 위협이 점점 더 정교해지는 오늘날의 디지털 환경에서 필수적이 되었습니다.

MFA가 중요한 이유

Microsoft의 보안 연구에 따르면 MFA는 계정 손상 공격의 99.9% 이상을 차단할 수 있습니다. 이러한 극적인 보안 개선은 공격자가 여러 인증 요소에 동시에 액세스하는 경우가 거의 없다는 단순한 사실에서 비롯됩니다. 피싱, 키로깅 또는 데이터베이스 침해를 통해 비밀번호를 얻더라도 휴대폰, 하드웨어 토큰 또는 생체 인식 데이터 없이는 인증할 수 없습니다.

실제 사례:
2020년, 한 대형 기술 회사는 MFA를 활성화하여 1,200만 달러의 잠재적 사기 손실을 방지했다고 보고했습니다. 공격자는 피싱 캠페인을 통해 유효한 비밀번호를 획득했지만, 직원의 두 번째 요소(TOTP 코드)에 액세스할 수 없어 인증을 완료할 수 없었습니다.

MFA가 보호하는 일반적인 위협

2. 인증 요소

인증 요소는 일반적으로 "알고 있는 것", "가지고 있는 것", "당신인 것"이라는 세 가지 주요 유형으로 분류됩니다. 진정한 다중 인증은 최소 두 가지 다른 범주의 요소를 사용해야 합니다.

지식 요소: 알고 있는 것

사용자만 알아야 하는 정보를 기반으로 하는 가장 전통적인 인증 요소입니다.

일반적인 예:

중요: 지식 요소만으로는 점점 더 불충분합니다. 비밀번호 데이터베이스가 정기적으로 침해되고 사용자가 여러 사이트에서 비밀번호를 재사용하는 경우가 많아 위험이 증폭됩니다.

소유 요소: 가지고 있는 것

이러한 요소는 사용자가 물리적 또는 디지털 객체를 소유해야 합니다. 이 객체를 훔치는 것이 지식 요소를 얻는 것보다 훨씬 어렵다는 가정입니다.

일반적인 예:

TOTP (시간 기반 일회용 비밀번호):
가장 인기 있는 소유 요소 중 하나입니다. 사용자의 장치는 공유 비밀과 현재 시간을 기반으로 30초마다 변경되는 6자리 코드를 생성합니다. 공격자가 한 코드를 가로채더라도 30초 후에는 쓸모없게 됩니다.

고유 요소: 당신인 것

생체 인식 요소는 사용자의 고유한 물리적 또는 행동적 특성을 사용합니다. 이들은 위조하기 어렵고 쉽게 공유하거나 도난당할 수 없습니다.

일반적인 예:

개인정보 보호: 생체 인식 데이터는 매우 민감하며 엄격한 개인정보 보호 규정(GDPR, CCPA)의 적용을 받습니다. 시스템은 원시 생체 인식 데이터가 아닌 생체 인식 템플릿의 암호화 해시만 저장해야 합니다.

위치 및 컨텍스트 요소

최신 MFA 시스템은 컨텍스트 요소도 고려합니다:

3. MFA 방법 및 기술

TOTP (시간 기반 일회용 비밀번호)

TOTP는 RFC 6238에 정의되어 있으며 가장 널리 사용되는 MFA 방법 중 하나입니다. 공유 비밀과 현재 시간을 기반으로 임시 코드를 생성합니다.

TOTP 작동 방식:

  1. 등록 중에 서버가 무작위 비밀을 생성하고 사용자와 공유합니다(일반적으로 QR 코드를 통해)
  2. 서버와 사용자의 장치 모두 이 비밀을 저장합니다
  3. 인증할 때 둘 다 동일한 6자리 코드를 생성합니다: TOTP = HOTP(K, T) 여기서 K는 비밀이고 T는 현재 30초 시간 단계입니다
  4. 사용자가 코드를 입력하고 서버가 일치 여부를 확인합니다(약간의 시간 차이 허용)

HOTP (HMAC 기반 일회용 비밀번호)

HOTP(RFC 4226)는 TOTP와 유사하지만 시간 대신 카운터를 사용합니다. 각 코드는 증가하는 카운터 값을 기반으로 생성됩니다.

TOTP vs HOTP:

기능 TOTP HOTP
기반 현재 시간 카운터
코드 유효성 30-60초 사용될 때까지
동기화 필요 시간 동기화 카운터 동기화
사용 사례 가장 일반적 (앱) 하드웨어 토큰

SMS OTP

SMS OTP는 사용자의 등록된 전화번호로 문자 메시지를 통해 일회용 코드를 전송합니다. 편리하지만 SIM 스와핑 및 SMS 가로채기와 같은 위험으로 인해 보안성이 떨어지는 것으로 간주됩니다.

NIST 폐기 통지: 미국 국립표준기술연구소(NIST)는 보안 우려로 인해 디지털 신원 가이드라인에서 SMS 기반 2FA를 폐기했습니다. 백업 방법으로만 고려하십시오.

푸시 알림

사용자가 모바일 장치의 푸시 알림을 통해 로그인 시도를 승인하는 최신 접근 방식입니다. 예: Microsoft Authenticator, Duo Mobile, Okta Verify.

장점:

하드웨어 토큰 (FIDO2 / U2F)

암호화 인증을 제공하는 YubiKey와 같은 물리적 장치입니다. 이것이 가장 안전한 MFA 방법입니다.

하드웨어 토큰 작동 방식:

  1. 등록: 장치가 각 서비스에 대해 고유한 공개/개인 키 쌍을 생성합니다
  2. 인증: 서비스가 챌린지를 보내고 장치가 개인 키로 서명합니다
  3. 검증: 서비스가 저장된 공개 키를 사용하여 서명을 확인합니다
피싱 방지:
FIDO2 토큰은 특정 도메인에 바인딩되어 피싱에 면역됩니다. 사용자가 가짜 로그인 페이지를 방문하더라도 도메인이 일치하지 않으므로 토큰이 응답하지 않습니다.

생체 인식 인증

최신 장치는 지문, 얼굴 인식 및 홍채 스캔을 지원합니다. 장치 소유와 결합하면 강력한 2FA를 생성합니다.

구현 고려 사항:

4. 구현 가이드

MFA 배포 계획

1단계: 위험 평가

MFA가 필요한 시스템 및 사용자 식별:

2단계: MFA 방법 선택

다양한 사용자 요구를 수용하기 위해 여러 방법 제공:

3단계: 등록 프로세스

POST /api/mfa/enroll/totp { "user_id": "user123", "algorithm": "SHA256", "digits": 6, "period": 30 } 응답: { "secret": "JBSWY3DPEHPK3PXP", "qr_code": "data:image/png;base64,...", "backup_codes": ["ABC123-DEF456", "GHI789-JKL012", ...] }

사용자 경험 모범 사례

  1. 명확한 커뮤니케이션: MFA가 필요한 이유와 사용자를 어떻게 보호하는지 설명
  2. 여러 옵션: 접근성을 위해 다양한 MFA 방법 지원
  3. 장치 기억: 신뢰할 수 있는 장치가 일정 기간 동안 MFA를 건너뛸 수 있도록 허용
  4. 복구 옵션: 장치 분실에 대한 명확한 복구 경로 제공
  5. 점진적 롤아웃: 고위험 사용자부터 시작하여 점진적으로 확장

백업 및 복구

잠금을 방지하기 위해 항상 백업 인증 방법 제공:

5. 보안 모범 사례

암호화 요구 사항

공격 방지

속도 제한

무차별 대입 공격을 방지하기 위한 엄격한 속도 제한 구현:

속도 제한: - 로그인 시도: 15분당 5회 - MFA 검증: 5분당 3회 - 계정 잠금: 최대 시도 후 30분 - 점진적 지연: 1초, 2초, 4초, 8초...

재생 공격 방지

피싱 방지

개인정보 보호 및 규정 준수

규정 MFA 요구 사항
PCI DSS 카드 소지자 데이터 환경에 대한 모든 원격 액세스에 MFA 필요
HIPAA 전자 보호 건강 정보(ePHI) 액세스에 권장
GDPR 민감한 개인 데이터 처리에 필요; 생체 인식 데이터는 명시적 동의 필요
SOX 재무 시스템 및 데이터에 액세스할 수 있는 계정에 MFA
NIST 800-63B AAL2는 MFA 필요; AAL3은 하드웨어 기반 MFA 필요

6. 기존 시스템과의 통합

싱글 사인온 (SSO) 통합

MFA는 모든 연결된 애플리케이션에서 인증을 적용하기 위해 SSO 제공자와 통합되어야 합니다.

인기 있는 SSO 제공자:

OAuth 2.0 및 OpenID Connect

최신 인증 흐름은 ACR(인증 컨텍스트 클래스 참조) 값을 통해 MFA를 지원합니다:

API 보호

단계별 인증으로 민감한 API 엔드포인트 보호:

7. 인증의 미래

비밀번호 없는 인증

업계는 생체 인식 및 하드웨어 토큰을 기본 인증 요소로 사용하여 비밀번호를 완전히 제거하는 방향으로 나아가고 있습니다.

FIDO2 / WebAuthn:

연속 인증

한 번 인증하는 대신 시스템은 다음을 통해 사용자 신원을 지속적으로 확인합니다:

AI 기반 위험 평가

기계 학습 모델은 인증 패턴을 분석하여 이상을 감지하고 보안 요구 사항을 동적으로 조정합니다.

개인정보 보호 MFA

미래의 MFA 시스템은 민감한 정보를 공개하지 않고 신원을 확인하기 위해 고급 암호화를 사용할 것입니다:

양자 저항 MFA

양자 컴퓨터가 발전함에 따라 현재 암호화 알고리즘이 취약해질 수 있습니다. 포스트 양자 암호화는 미래 MFA 시스템에 필수적입니다.


핵심 요점