Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

Contents

Multi-factor authentication

MFA(Multi-factor authentication)는 두 가지 이상의 인증 방식을 성공적으로 통과해야지만 사용자에게 접근 권한을 주는 인증 방식이다. 보통 아이디/패스워드를 1차 기본인증 수단으로 하고, 여기에 다른 보조인증 수단을 추가하는 방식이다.

MFA의 하위 인증 유형으로 2FA(Two-factor authentication)이 있다. MFA를 적용한다고 하더라도 2 단계를 넘어가는 경우가 없기 때문에 2FA를 주로 사용하긴 한다. MFA는 아래의 3가지 방법의 조합이다.
  • 사용자가 알고 있는 것 : 주로 사용자의 머리에 기억하는 방식이다. 아이디/패스워드 가 대표적이다.
  • 사용자가(만) 소유하고 있는 것 : 스마트폰, OTP 발생기, Yubikey 등
  • 사용자 자신 : 홍채, 지문, 음성 등.
대표적인 예는 아이디/패스워드로 로그인을 한 후, 스마트폰에 설치된 OTP 소프트웨어에서 생성된 숫자를 입력해야 로그인이 성공하는 시스템이다. 6자리 숫자가 일치하는 것을 성공조건으로 하는 경우가 많다.

Authentication factors

MFA 즉, 두 개 이상의 인증수단을 제시하는 이유는 중요한 자산(건물, 데이터)에 대한 높은 보안 상태를 유지하기 위함이다. 아이디/패스워드 외에 추가적인 인증 수단으로 사용하는 OTP, SMS 등 "내가 물리적으로 소유하고 있거나", 홍채/지문과 같은 개인의 신체정보를 이용하는 등, 근본적으로 조작하기가 매우 힘들기 때문에, 보안수준을 크게 높일 수 있다. 대표적인 인증 수단은
  • USB 스틱, 은행 카드, 키 등 사용자가 소유하고 있는 물건
  • PIN, TAN과 같은 사용자만 알고 있는 정보
  • 홍채, 음성, 타이핑 속도 등 사용자의 신체적 특징
  • 특정 컴퓨팅 네트워크에 연결. GPS 신호를 이용한 위치 정보

Knowledge factors

사용자의 머리에 있는 정보(지식)을 이용해서 인증한다. 가장 일반적으로 사용되는 인증 메커니즘은 "패스워드 확인" 방식이다. "인간의 불완전한 기억력에 의존"해야 한는 문제가 있다.

사람은 자신의 기억이 불완전하다는 것을 알고 있어서, 외우기 쉬운 암호문을 선택하는 경향이 있다. 외우기 쉽다는 것은 노출되기 싶다는 의미라서 많은 서비스들이 (특수문자, 숫자, 알파벳 대/소문자가 결합된)복잡한 패턴의 패스워드를 입력하도록 강제한다. 기억해내기가 점점 더 어려워지니, 메모를 하게 된다. 메모를 하는 순간 보안성이 떨어진다.

Dashlane, 1password의 아이디/패스워드 저장 서비스로 이 문제를 회피할 수 있다. 나는 Dashlane을 사용 중이다.

Possession factors

개인이 소유하고 있는 장치를 이용해서 인증한다. 패스워드와 함께 가장 (열쇠의 형태)오래된 인증 형태다. 기본원칙은 열쇠와 자물쇠의 구현으로, 둘 사이에 공유되는 비밀정보를 이용해서 인증한다. 대표적인 툴이 보안토큰 인증이다. 보안토큰 인증은 고대 부터 사용하던 열쇠의 디지털화된 버전이라고 볼 수 있을 것이다.

  • Disconnected tokens : 물리적 혹은 논리적으로 클라이언트 PC와 연결하지 않은 상태에서 작동하는 물리적 토큰 장치다. 상호합의된 인증 알고리즘에 따라서 토큰을 만들어서 디스플레이에 출력한다. 대부분의 OTP 장치들이 사용하는 방법이다.
  • Connected tokens : 사용할 PC에 실제 연결해서 작동하는 장치다. 이들 장치는 자동으로 데이터를 전송한다. 카드판독기, 무선태그, USB 토큰 장치등이다.
  • Software tokens : 데스크탑 컴퓨터, PDA, 스마트폰 등의 범용 전자 장치에서 사용 할 수 있다.
AWS에서 인증에 사용하는 하드웨어 OTP 디바이스들

 OTP 디바이스

 OTP 디바이스

Inherent factors

홍채, 지문 과 같은 생체 정보 혹은 키 입력 패턴과 같은 고유한 패턴을 이용해서 인증한다.

Location based factors

물리적인 위치를 기반으로 인증을하는 방법이 확산되고 있다. 예를 들어 회사 유선 네트워크 혹은 무선 네트워크에 물려있어야지만 로그인을 할 수 있다. 대부분의 사무실은 출입권한을 관리하기 때문에, 보안 수준을 크게 높일 수 있다.

모바일폰의 사용

많은 MFA 벤더들이 모바일폰 기반의 인증 솔류션을 우선적으로 제공한다. 인증방식으로는 푸시, QR코드, SMS, OTP(One-time password), SMS를 사용한다. 인증수단으로의 모바일 폰은 아래의 문제점을 가지고 있다.
  • 전화를 복제할 수 있다. 이 경우 SMS 가 다른 사용자에게 전송될 수 있다. 맬웨어로 스마트폰을 감염시켜서 SMS 메시지를 다른 기기나 특정 URL에 전소오딜 수도 있다.
  • 모바일폰의 응용 프로그램은 다른 모바일폰에서 복제되서 실행할 수 있다.
OTP 디바이스, YubiKey, 은행카드 와 같은 물리적 장치를 사용하면 보안성을 높일 수 있다고 생각 할 수 있겠다. 하지만 이러한 장치는 분실과 절도의 위험이 크다는 문제가 있다. 많은 회사들이 보안상의 이유로 USB의 반입을 금지하며 USB 포트자체를 사용하지 못하게 하기 때문에 사용성도 떨어진다. 물리적 토큰은 확장하기도 쉽지 않기 때문에, 새로운 계정이 만들어질 때마다 새로 구매해야 하는 부담도 있다.

휴대전화는 2 단계 인증에서 물리장치를 대신해서 사용 할 수 있다. 보통은 휴대전화에 OTP 애플리케이션이 설치되고, 이 애플리케이션이 출력하는 6자리의 숫자를 통해서 인증을 한다. 혹은 SMS로 인증숫자를 전송하기도 한다. 휴대전화의 가장 큰 장점은 항상 휴대하고 다니는(개인 신체의 확장) 경향으로 추가적인 토큰이 필요 없다는 점이다.

2019년 현재까지도 SMS는 소비자 대면 계정에서 가장 널리 사용되는 인증방법이다. 다만 보안전문가들은 추가적인 인증방식으로 SMS를 사용하지 말 것을 권고하고 있다. "SMS 메시지 통한 2단계 인증 방식, 보안 위험 높아" NIST 새 권고안문서를 참고하자. 구글과 애플은 푸시 알림을 2단계 인증 대안으로 제공하기 시작했다.

장점

  • 항상 휴대하기 때문에 추가적인 장비가 필요없다.
  • 인증번호는 계속 변경되기 때문에 안전하다.
  • 네트워크 연결이 안되는 상황에서도 사용 할 수 있다.

단점

  • 모바일폰을 항상 사용 가능한 상태로 유지해야 한다. 오지에 낙오되지 않는 이상은 큰 단점이 아닐 수 있다.
  • 추가적인 요금이 발생 할 수 있다. 특히 SMS의 경우.
  • SMS로 휴대전화로 보내는 문자 메시지는 안전하지 않으며 가로챌 수 있다.
  • SMS는 종종 지연이 발생한다.
  • SIM 복제의 위험이 있다.

참고