Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

이중 인증(2FA)이란? 작동 원리와 핵심 개념 총정리

이중 인증(2FA)이란 무엇인가?

이중 인증(Two-Factor Authentication, 2FA)은 강력한 비밀번호를 입력하는 것 외에 추가 인증 절차를 한 단계 더 거치도록 요구하는 인증 방식입니다. 여기서 추가 인증 수단으로는 푸시 알림, 보안 질문, 신뢰할 수 있는 기기로 전송되는 SMS 인증 코드 등이 사용됩니다.

현대인들은 인터넷을 통해 페이스북 같은 소셜 미디어 계정에 가입하고, 이메일 계정을 만들며, 자동차 대출을 신청하고, 병원 환자 포털에 로그인해 진료 예약을 잡는 등 온라인 서비스를 광범위하게 이용합니다. 이처럼 다양한 온라인 활동이 늘어날수록 계정 보안의 중요성도 함께 커지고 있습니다.

다중 인증(MFA)과의 관계

2FA는 다중 인증(Multi-Factor Authentication, MFA)의 하위 개념입니다. MFA는 사용자가 계정에 접근하기 전에 여러 가지 방법으로 본인임을 증명하도록 요구하는 전자 인증 방식을 말합니다. 이름 그대로 이중 인증은 정확히 두 가지 인증 요소를 필요로 하고, 다중 인증은 그 이상의 요소를 요구할 수도 있습니다.

이중 인증의 작동 원리

2FA는 먼저 비밀번호(첫 번째 인증 요소)를 요구한 뒤, 인증 앱의 코드, 푸시 알림, 보안 질문, 보안 토큰 또는 지문·얼굴 인식과 같은 생체 인증(두 번째 인증 요소)을 추가로 확인하여 온라인 정보에 대한 접근을 허용합니다. 이 방식은 '2단계 인증(two-step verification)' 또는 '이중 요소 인증(dual-factor authentication)'이라고도 불립니다.

2FA 인증 과정은 온라인 계정 접근을 허용하기 전에 두 가지 자격 증명을 모두 검증합니다. 실생활에서 가장 대표적인 이중 인증의 예가 바로 ATM 카드입니다. 카드를 물리적으로 삽입하는 것뿐만 아니라, 계좌에 접근하려면 PIN 번호까지 입력해야 하기 때문입니다.

일반적인 웹사이트 로그인 과정을 살펴보면 다음과 같습니다.

먼저 아이디와 비밀번호를 입력합니다. 그러면 사이트가 사용자의 휴대폰으로 6자리 숫자 코드가 담긴 문자 메시지를 전송합니다. 이 코드는 '인증 코드(authenticator)'라고 부르며, 통상 패스코드(passcode) 또는 인증 번호(verification code)라고도 합니다.

사용자는 휴대 기기에 표시된 이 코드를 입력해야만 사이트에 접속할 수 있습니다. 만약 이 코드가 없다면, 정확한 비밀번호를 알고 있더라도 로그인할 수 없습니다.

제로 트러스트 보안 모델의 핵심 요소

이중 인증(2FA)은 제로 트러스트(Zero Trust) 보안 모델의 핵심 구성 요소입니다. 민감한 데이터를 보호하려면 해당 데이터에 접근하려는 사용자가 실제로 본인이 맞는지 반드시 검증해야 하기 때문입니다.

2FA는 사용자의 비밀번호와 계정을 노리는 다양한 보안 위협으로부터 효과적으로 방어합니다. 대표적으로 피싱(phishing), 무차별 대입 공격(brute-force attack), 자격 증명 탈취 및 악용(credential exploitation) 등이 있으며, 2FA는 이러한 공격에 대한 강력한 방어막 역할을 합니다.

3가지 전통적인 인증 요소

인증 프로세스가 신원을 확인하기 위해 사용하는 전통적인 인증 요소는 크게 세 가지 범주로 나뉩니다.

  • 알고 있는 것(Something you know) — 비밀번호나 일회용 PIN(OTP)과 같은 비밀 식별 정보입니다.
  • 보유하고 있는 것(Something you have) — 인증 앱이 설치된 모바일 기기, 공용 접근 카드(CAC), 보안 키 또는 토큰 등 유형의 물건을 통해 확인하는 물리적 식별 수단입니다.
  • 본인 자체(Something you are) — 지문, 얼굴 스캔 등 생체 정보를 기반으로 한 물리적 식별 수단입니다.