자료실

MFA? OTP? 생체인증? 인증 기술 상식 다지기



MFA? OTP? 생체인증? 인증 기술 상식 다지기

다중 요소 인증(MFA)이란 정확히 무엇일까요? 이것을 구현하는 데 사용할 수 있는 기술은 무엇이고, 장점과 단점은 무엇일까요? 오늘 포스팅에서 이 모든 질문에 대한 답을 찾을 수 있습니다.


인증이란 정확히 무엇인가?

기본부터 시작해 봅시다. 인증(authentication)이란 무엇일까요? 기본적으로 인증은 개인이 주장하는 본인이 맞는지를 확인하는 것입니다. AD(Active Directory)와 애저 AD(Azure Active Directory)의 두 가지 주요 기능 중 하나입니다. 다른 하나는 권한 부여로, 사용자가 인증된 후 수행하도록 허용되는 작업이 무엇인지 결정하는 것과 관련됩니다.


컴퓨팅 초기 시절의 인증은 간단했습니다. IT 시스템에 로그인하려면 사용자 이름과 암호를 입력해야 했습니다. 입력한 내용이 시스템 디렉토리에 저장된 항목과 일치하면 시스템은 사용자가 주장하는 본인과 맞다고 판단하고 액세스 권한을 부여했고, 일치하지 않으면 액세스를 거부했습니다.


이 접근 방법은 시간이 지나면서 더 정교해졌습니다. 예를 들어, Kerberos와 같은 현대의 암호 기반 인증 시스템은 사실상 더 이상 암호를 전송하지 않고, 대신 제출되는 인증 토큰을 생성합니다.


그러나 이처럼 향상된 부분에도 불구하고 사용자 이름/암호 기반의 인증 방법에는 여전히 중요한 취약점이 있습니다. 누군가 다른 사람이 암호를 알아내면 진짜 사용자가 구분할 수 없다는 것입니다. 이는 실질적이고 시급한 보안 문제입니다. 수집한 정보에 근거한 추정부터 기술적인 공격, 피싱과 같은 표적화된 소셜 공격에 이르기까지 암호를 구하는 방법은 많기 때문입니다. 또한, 사용자가 여러 시스템에 걸쳐 한 가지 암호를 반복 사용하거나 추정하기 쉬운 암호를 사용하는 것을 시스템에서 막기는 어렵습니다.


게다가 공격자가 사용자의 암호를 모른다 해도 대부분의 사용자 이름/암호 인증 시스템은 재생 공격(공격자가 단순히 인증 트래픽을 관찰해 재생하는 방법)과 골든 티커(Golden Ticker) 공격(공격자가 취약한 시스템의 메모리에 있는 유효한 인증 토큰을 덤프하는 방법)에 취약합니다.


다중 요소 인증이란?

그렇다면 다중 요소 인증이란 무엇일까요? 사용자 이름/암호 인증은 단일 요소입니다. 즉 한 가지 방법, 요소를 사용해서(사용자 이름/암호 조합 제공) 본인이 맞음을 확인합니다.


2요소 인증(Two-Factor Authentication)은 이름에서 알 수 있듯이 두 가지 다른 요소를 요구하며, 두 가지 이상의 서로 다른 요소를 요구하는 다중 요소 인증의 가장 기본적인 형태입니다. 비록 정확한 설명은 아니지만, 흔히 ‘사용자가 아는 것(암호)’과 ‘사용자가 갖고 있는 것(예를 들어 스마트폰의 앱으로 받는 코드)’의 조합으로 기술됩니다. 이 글에서는 2요소 인증을 포함하는 ‘다중 요소 인증’이라는 용어를 사용하겠습니다.


다중 요소 인증의 이점

다중 요소 인증은 사용자 이름/암호 인증의 중요한 취약점을 해결함으로써 조직과 조직의 사용자에게 모두 이익이 됩니다. 예를 들어, 제가 ‘CovidSux2021!’이라는 다소 뻔한 암호를 회사 네트워크, 자주 찾는 귀여운 고양이 사진 포럼을 포함한 여러 웹사이트에 걸쳐 사용했다고 가정해 봅시다. 그런데 고양이 사진 포럼이 쉽게 해킹되는 형식으로 암호를 저장했다가 공격을 받아 정보가 유출되었습니다. 이제 이 포럼에서 사용한 저의 사용자 이름과 암호가 웹에서 헐값에 공공연하게 거래됩니다.


다중 요소 인증이 없다면 공격자는 이 사용자 이름과 암호를 구매한 다음 약간의 조사로 제가 일하는 회사를 확인하고, 동일한 암호를 회사 네트워크에서도 사용한다고 추정할 수 있습니다. 그 추정이 실제로 맞으면 게임을 끝입니다. 이제 공격자들은 제가 회사에서 접근할 수 있는 모든 곳에 접근할 수 있습니다. 마찬가지로, 같은 사용자 이름/암호 조합을 다양한 뱅킹 사이트에서도 시도할 수 있습니다. 그 중에서 로그인되는 사이트가 있다면 계좌도 털리게 됩니다.


그러나 다중 요소 인증이 있으면 단순히 암호를 아는 것만으로는 공격자에게 아무런 효용성이 없습니다. 제가 맞는지 증명하기 위해 시스템에 제출해야 하는 한 가지 이상의 다른 요소가 없기 때문입니다. 공격은 무산됩니다!


MFA 기술

그렇다면 이러한 다중 요소 인증의 이점을 누리려면 어떻게 해야 할까요? 지금부터는 가장 일반적인 다중 요소 인증 기술과 실제 환경에서 작동하는 방식을 살펴보겠습니다.


1회용 패스코드(OTP)

아마 사용해본 적이 있을 것입니다. 웹사이트(은행 등)를 방문해서 사용자 이름과 암호를 입력하면 시스템이 사용자에게 코드를 전송합니다. 짧은 시간 내에 이 코드를 입력해야 액세스 권한이 부여됩니다. 매번 인증할 때마다 새로운 코드를 입력해야 합니다.


OTP를 제공하는 방법은 여러 가지로, 다음과 같습니다.

• SMS 문자 – 문자는 가장 간단하고 보편적인 다중 요소 인증 방법 중 하나입니다.

• 하드웨어 토큰 – 일부 기업은 사용자에게 요청 시 OTP를 생성하는 디바이스를 지급합니다. 나이가 어느정도 있는 사람이라면 작은 LCD 창이 달린 RSA 전자 키에 익숙할 것입니다.

• 스마트폰 앱 – 최근 몇 년 동안 Google Authenticator, Authy, Microsoft Authenticator와 같은 스마트폰 앱이 물리적 전자 키를 대부분 대체했습니다.


스마트 카드는 일반적으로 암호화 서명된 디지털 인증서를 저장하는 물리적 디바이스입니다. 인증하고자 하는 시스템에 스마트 카드를 삽입하거나 경우에 따라 리더 가까이에 대기만 해도 시스템이 인증서를 읽습니다. 스마트 카드의 최신 버전으로는 Yubikey와 같은 디바이스가 있습니다.


생체 인증

생체 인증에서는 사용자의 고유한 신체 정보가 MFA를 구성하는 두 요소 중 “사용자가 갖고 있는 것”이 됩니다(갖고 있는 것 대신 “사용자 자신”이라는 표현도 사용됨). 지난 몇 년 동안 애플의 터치ID와 같은 기술을 사용하는 지문이 사용되었으며 최근에는 애플 페이스ID, 마이크로소프트 윈도우 헬로(Microsoft Windows Hello)와 같은 옵션으로 얼굴 인식이 본격적으로 부상했습니다.


중요한 것은 편의를 위한 생체 인증과 두 번째 인증 요소로서의 생체 인증을 혼동하면 안 된다는 것입니다. 예를 들어 마이크로소프트는 디바이스에 액세스하는 편리한 방법으로서의 헬로와 MFA 구성 요소로서의 헬로를 명확히 구분합니다.


암호 없는 인증

암호 없는(Passwordless) 인증은 인증의 새로운 개척지로, 마이크로소프트는 기업 고객을 이 방향으로 이끌기 위한 로드맵을 마련했습니다.


아마 “MFA의 기반 중 하나인 암호를 없애는 인증이 어떻게 MFA가 될 수 있는가?”라고 의문을 품을 수 있습니다. MFA가 암호를 하나의 요소로 사용하는 경우가 많은 것은 사실이지만 필수는 아닙니다. 암호 없는 MFA는 디바이스 등록 + 두 번째 요소(PIN 또는 생체 인증) 등 다양한 요소의 조합을 사용합니다. 구체적으로, 사용되는 디바이스는 모바일 디바이스와 워크스테이션을 불문하고 인증되는 시스템에 안전하게 알려집니다. 그런 다음 디바이스 로컬에서 PIN 또는 생체 인증이 사용되고, 디바이스는 인증 대상 시스템에 최종 사용자가 본인이 맞음을 확인시켜 줍니다. 실제 인증은 액세스하는 원격 시스템이 아닌 디바이스 로컬에서 이뤄집니다!


애저 AD로 실례를 들어봅시다. Microsoft Authenticator 앱을 다운로드한 다음 현재 인증 흐름(가령 사용자 이름/암호 + SMS OTP)을 사용해서 앱에서 애저 AD에 제 스마트폰을 등록합니다. 이 등록 과정의 일부로 앱은 스마트폰에서 로컬로 패스코드 또는 생체 인증 잠금 해제가 활성화되었는지 확인합니다. 이렇게 하면 스마트폰이 애저 AD에 알려집니다.


그러면 애저 AD 계정을 암호 없는 인증으로 변환할 수 있습니다. 애저 AD는 인증을 해야 하는 경우 스마트폰으로 알림을 보내고, 저는 PIN 또는 얼굴을 사용하여 스마트폰의 잠금을 해제하여 인증을 확인할 수 있습니다. 갖고 있는 디바이스, 그리고 제가 아는 PIN 또는 제 얼굴, 2개의 요소가 사용됩니다.


첫 등록 이후에는 어떤 경우에도 애저 AD에 인증 정보를 전송하지 않았습니다. 모두 디바이스에서 로컬로 수행됩니다.


데스크톱 컴퓨터에서는 비즈니스용 윈도우 헬로(Windows Hello for Business)가 매우 비슷한 방식으로 작동합니다. PC가 애저 AD에 등록되면 PC 잠금을 해제하는 데 PIN 또는 얼굴이 사용됩니다.


MFA 기술 선택

짐작할 수 있겠지만 모든 MFA는 일반적으로 단순한 사용자 이름 및 암호보다 우월합니다. 그러나 다중 요소 인증 접근 방식은 많고, 저마다 다른 타협점이 있습니다.


SMS를 통한 OTP는 가장 광범위하게 사용되지만 가장 덜 안전합니다. 공격자는 사용자의 스마트폰을 훔치거나 사용자의 스마트폰 번호를 공격자가 통제하는 스마트폰으로 옮기도록 전화 사업자를 유도하는 방법으로 SMS 기반 다중 요소 인증을 무력화할 수 있습니다. 또한 SMS MFA는 공격자가 지원 담당자를 가장하여 사용자를 속여 전화로 SMS 코드를 제공하도록 하는 소셜 공격에 취약합니다.


하드웨어 토큰도 물리적 도난과 소셜 공격에 취약하며 인증을 해야 할 때 토큰을 소지하지 않는 경우가 있으므로 불편합니다.


스마트폰 앱을 통한 OTP는 다중 요소 인증의 현재 시점에서 최선의 방법이라고 할 수 있습니다. 어디에나 있고 스마트 카드에 비해 설정이 쉬우며 상당히 안전합니다. 물론 단점도 있습니다. 사용자는 보통 패스코드를 제공하기 위해 여러 디바이스를 등록하는데, 그러면 편리하긴 하지만 공격 표면이 늘어납니다. 게다가 많은 현대 암호 관리자(1Password 또는 Apple의 Keychain)는 편의성을 위해 OTP 생성을 암호 관리자 자체에 통합하므로 공격자가 이 암호 관리자에 접근할 수 있게 되면 모든 보안이 무력화됩니다.


스마트 카드는 카드에 저장된 암호화 키가 잘 보호되므로 매우 강력한 인증 형식으로 평가됩니다. 스마트 카드는 DFARS(Defense Federal Acquisition Regulation)와 같은 규정 준수에 도움이 되므로 정부 기관에 많이 사용됩니다. 그러나 스마트 카드는 사용자가 늘 가지고 다녀야 하므로 불편하고, 물리적 도난에 취약합니다. 또한 스마트 카드 구현에는 보통 상당한 관리 오버헤드가 따릅니다. 이러한 단점을 보완하기 위해 Yubikey와 같은 현대적 키 카드는 생체 인증을 통합하고 더 광범위한 디바이스와 호환됩니다.


생체 인증은 갈수록 인기가 높아지고 있습니다. 사용자에게 극히 편리합니다. 상처나 부상으로 인해 인증을 못하는 경우가 발생할 수는 있지만 지문이나 얼굴은 깜박 잊고 집에 두고 나올 일이 없습니다. 또한 생체 인증은 매우 복잡하므로 해킹이 어렵습니다. 그러나 일단 침해되면 난감한 상황에 처하게 됩니다. 지문은 암호처럼 재설정하거나 스마트폰처럼 다른 폰으로 바꿀 방법이 없기 때문입니다. 또한 누군가 강제로 지문을 찍거나 얼굴을 스캔할 수 있습니다. 지방 및 연방 수사 기관이 사용자의 동의 없이 사용자의 생체 인증을 강제로 사용해 디바이스에 액세스할 수 있는지 여부에 관해서는 법원의 판결도 일관되지 않습니다(아직 미국 대법원까지는 가지 않았음).


마지막으로, 암호 없는 인증은 안전하고 사용자 경험도 쾌적한 좋은 옵션입니다. 그러나 암호 없는 인증을 지원하지 않는 ID 시스템이 많습니다. 게다가 암호 없는 인증을 가능하게 해는 핵심적인 기술 구성 요소는 등록된 디바이스의 “안전한 엔클레이브”입니다. 모두가 알듯이 엔드포인트는 맬웨어 공격에 취약하므로 디바이스 등록이 의미를 가지라면 “컴퓨터 안의 컴퓨터”에 의존해야 합니다. iOS 디바이스에서는 Secure Enclave가 있고 맥에서는 T2 칩이 그 역할을 하며 윈도우 컴퓨터에는 TPM(Trusted Platform Module) 칩이 있습니다(단, 현재 관리자가 TPM없이 비즈니스용 윈도우 헬로 를 구성할 수 있음!). 이러한 시스템에서 혹시 광범위하게 확산된 결함이 발견된다면 모든 엔드포인트의 디바이스 등록이 무의미해질 수 있습니다.



결론

다중 요소 인증이 보안을 비약적으로 강화해 조직과 사용자에게 혜택이 된다는 점은 분명합니다. 실제로 마이크로소프트는 자사 텔레메트리를 근거로 단순히 MFA를 사용하는 것만으로 조직 계정 침해의 99.9%를 방지할 수 있다고 보고했습니다. 그러나 모두에게 항상 다중 요소 인증을 요구할 경우 거의 대부분 사용자는 짜증을 내고 생산성은 저하됩니다. 균형 잡힌 접근 방법이 중요합니다.


다중 요소 인증은 조직의 더 넓은 보안 전략의 한 측면으로 이해되는 것이 최선입니다. 많은 전문가들이 제로 트러스트 원칙을 기반으로 보안 전략을 수립하고 MFA를 분별 있게 적용하기 위한 뛰어난 유연성을 제공하는 Azure AD Conditional Access와 같은 툴을 사용할 것을 권장합니다.


퀘스트소프트웨어코리아(주)

서울특별시 강남구 테헤란로 445 본솔빌딩10F
전화 번호 02-3420-9000 | 팩스 번호 02-569-3600

전자 메일 KoreaMarketing@quest.com 


Copyright © Quest. All Rights Reserved.

Hosting by I'MWEB


퀘스트소프트웨어코리아(주) 서울특별시 강남구 테헤란로 445 본솔빌딩10F
전화 번호 02-3420-9000 | 팩스 번호 02-569-3600 | 전자 메일 KoreaMarketing@quest.com


Copyright © Quest. All Rights Reserved.

Hosting by I'MWEB