강력한 인증: 정의 및 보안 인증요소

강력한 인증은 비밀번호만으로 부족할 때 사용자의 아이덴티티를 확인하는 방법입니다.

대부분의 기업은 디지털 자산에 대한 액세스를 허용하기 전에 먼저 아이덴티티를 증명할 것을 요구합니다. 사용자에게 비밀번호를 입력하거나, 혹은 간단한 퀴즈를 제시하여 정답을 맞출 것을 요구할 수도 있습니다. 권한 여부를 확인하기 위한 일체의 과정이 바로 인증 절차입니다.

강력한 인증 기법은 보안을 제일 먼저 고려합니다. 아무나 손쉽게 시스템에 접근하여 리소스를 이용하지 못하도록 몇 가지 보안 단계를 추가하여 사용자의 신원이 정확한지 확인한 후 적합하다고 판단되는 리소스에만 액세스를 허용합니다. 

강력한 인증이란?

사용자 이름/비밀번호 조합은 수십 년 동안 표준 인증 메커니즘으로 사용되어 왔습니다. 강력한 인증 기법도 이러한 조합을 기반으로 합니다.

강력한 인증 기법은 두 개의 독립된 인증요소를 결합하여 사용자의 아이덴티티를 확인하고 액세스를 허용합니다. 한 가지 인증요소가 침해를 당하더라도 나머지 인증요소는 온전하기 때문에 시스템을 안전하게 유지할 수 있습니다. 또한 한 가지 인증요소를 반복해서 사용하지 않기 때문에 탈취가 사실상 불가능합니다.

Strong-Authentication

다음과 같이 SMS OTP를 사용하여 단순하면서도 강력한 인증 프로세스를 구현해 보십시오.

  • 1단계: 비밀번호
    사용자가 시스템에 액세스하는 데 사용할 고유한 숫자 문자 조합을 만들어서 기억합니다. 
  • 2단계: 소유
    비밀번호를 정확하게 입력하면 문자와 숫자로 구성된 2차 문자열이 사용자가 등록한 스마트폰으로 전송됩니다. 
  • 3단계: 액세스
    사용자가 수신된 2차 세부정보를 입력하 시스템에 액세스합니다.

이러한 방식을 통한 로그인은 시간이 걸리며 몇 가지 단계가 추가됩니다. 하지만 지금의 앱에는 반드시 비공개로 보호해야 하는 개인 식별 정보가 포함되어 있습니다.

모든 위협을 막아설 수 있는 보안 대책이 한 줄의 입력 문자열 밖에 없다면 비밀번호 하나만으로는 부족합니다. 지금의 보안 위협을 막아내려면 더욱 강력한 보안 조치가 필요합니다.

위험 수준에 따른 기능

강력한 인증 기법을 사용해 로그인 요청을 일일이 확인하는 기업들도 있습니다. 반면 위험 기반의 인증 방법을 사용해 다소 의심스러워 보이는 요청들만 확인하는 기업들도 있습니다.

로그인 요청이 있으면 시스템이 다음 사항을 평가합니다.

  • 위치. 요청이 어디에서 수신되었는가? 
  • 타임스탬프. 사용자가 언제 로그인을 요청하는가?
  • 주기. 사용자가 이전에 얼마나 자주 로그인을 시도했는가?

누가 봐도 의심스러운 위험이 나타날 수 있습니다. 예를 들어 외국에서 평소와 다른 시간대에 로그인 요청이 수차례 발생할 수 있습니다. 혹은 항상 같은 위치에서 같은 시간에 로그인하는 사람에게서 일상적인 요청을 인지할 수도 있습니다.

위험이 탐지되면 시스템이 새로운 비밀번호나 생체인식 확인 등 강력한 인증 기법을 배포할 수 있습니다. 위험이 탐지되지 않으면 사용자는 별도의 단계 없이 로그인하게 됩니다.

보안을 강화할 가치가 있는가?

아마도 사용자는 자신의 데이터가 이미 보호를 받고 있으며, 회사에서도 합리적인 조치를 취하여 무단 액세스를 차단하고 있다고 생각할 수 있습니다. 하지만 데이터 보안 문제는 사실상 모든 환경에서 일어날 수 있습니다. 때로는 기업이 강력한 인증 기법을 사용하고 있다는 사실을 입증해야 하는 경우도 있습니다.

FIDO Alliance는 강력한 인증 기법의 범용화를 주장하며 다음과 같이 놀라운 통계를 사용해 컴플라이언스를 촉구하고 있습니다.

  • 데이터 유출 사고의 80% 이상이 비밀번호 문제에서 비롯됩니다.
  • 중복해서 사용되는 비밀번호가 최대 51%에 이릅니다.

데이터 유출은 수익 감소를 초래하며 이로 인해 고객에게서 신뢰와 존중을 잃을 수도 있습니다. 고객은 기업이 자신의 일과 개인정보를 존중하지 않는다고 판단하면 다른 경쟁사를 선택할 수도 있습니다.

금융 분야에 속하거나, 혹은 EU 지역 고객에게 결제를 승인해야 하는 기업이라면 강력한 인증은 옵션이 아닌 필수 조건입니다. 강력한 고객 인증(SCA) 규칙이 2019년에 발효되면서 유럽 경제 지역(EEA)에서는 인앱 결제 시 강력한 인증을 의무화하고 있습니다.

7가지 강력한 인증 유형

선택할 수 있는 옵션은 많습니다. 하지만 모든 인증요소가 동일한 것은 아닙니다. 안전 보증 수준과 실용성은 인증요소마다 다릅니다.

일반적으로 사용되는 2차 인증요소는 다음과 같습니다.

  1. 보안 질문: 보안 질문은 본래 비밀번호를 리셋하는 데 사용되었지만 또 다른 인증요소로 보안 질문을 추가하는 것도 좋은 방법입니다.

    이는 설정이 간단하지만 해킹하거나 탈취하기도 매우 쉽습니다.
     

  2. 일회용 비밀번호(OTP): OTP는 2차 인증 카테고리를 사용하기 때문에 보안 질문보다 더 안전합니다. 사용자에게 비밀번호(사용자가 알고 있는 것) 외에 디바이스(사용자가 가지고 있는 것)가 하나 더 추가됩니다.

    SMS를 통해 인증된 인증 코드나 OTP도 편리하지만 이미 토큰을 중간에서 가로챈 보안 사고가 있었기 때문에 기존 OTP를 사용할 위험도 있습니다. 
     

  3. 앱 생성 코드: 소프트웨어 기반 OTP는 외부 앱을 통해 시간 기반 일회용 비밀번호(TOTP) 알고리즘을 사용합니다.

    앱에서 생성된 OTP는 보안을 염두에 두고 개발되었습니다. 하지만 스마트폰 침투 가능성이 있다는 것이 단점입니다.
     

  4. 인증 전용 앱: 사용자에게 OTP를 제공하지 않고 Okta의 Verify by Push 앱처럼 사용자의 스마트폰에 설치된 앱과 상호작용하여 사용자에게 자신의 아이덴티티를 인증할 것을 요구합니다.

    그러면 인증 토큰이 서비스로 직접 전송되어 사용자가 OTP를 따로 입력할 필요가 없기 때문에 보안이 강화됩니다.
     

  5. 물리적 인증 키: 비공개 키가 디바이스에서 다른 곳으로 절대 전송되지 않는 비대칭 암호화 알고리즘을 통해 인증 프로세스를 보호합니다. 대표적으로, 요구가 있을 때 연결하는 USB와 사용자가 장착하는 스마트 카드가 있습니다.

    U2F는 FIDO Alliance가 내세우는 표준으로, Chrome, Firefox, Opera에서 지원됩니다.
     

  6. 생체인식: 사용자가 알고 있는 것과 가지고 있는 것에 더하여 신체 정보를 사용해 인증을 강화합니다. 이렇게 하면 해킹하기가 어렵지만 완벽한 방법은 없습니다. 생체인식에는 여러 가지 해결 과제와 개인정보 보호 문제가 따릅니다.

    비밀번호와 마찬가지로 생체인식 데이터 역시 일종의 데이터베이스에 저장되어야 하기 때문에 보안 위반 사고가 일어날 수 있습니다. 또한 비밀번호와 달리 지문이나 홍채 또는 망막은 한 번 결정되면 바꿀 수도 없습니다. 게다가 MFA 인증요소를 구현하려면 생체인식 전용 하드웨어 디바이스를 구매해야 합니다. 
     

  7. 암호화 챌린지 응답 프로토콜: 데이터베이스가 다른 데이터베이스에게 챌린지를 전송하면, 수신 측 데이터베이스는 올바른 답변으로 응답해야 합니다. 모든 통신이 전송 과정에서 암호화되기 때문에 해킹이나 조작이 불가능합니다. 이러한 시스템은 복잡해 보이지만 실제로 전송자와 수신자는 몇 초만에 통신을 마칩니다.

위의 시스템들은 무엇이 되었든 기업에서 효과를 발휘할 것입니다. 또한 서로 다른 기법들을 혼용하는 방법도 유용할 수 있습니다. 

Okta가 도와드리겠습니다 

강력한 인증 프로세스를 찾아서 회사에게 필요한 보안을 제공하는 것이 항상 쉽지만은 않습니다. 걱정하지 마십시오. Okta가 도와드리겠습니다.Okta는 기업이 이러한 복잡한 인증 문제를 해결하도록 수년간 지원해오면서 경험을 쌓았습니다. 자세한 내용은 Okta에 문의하십시오.

참고 자료

What Is FIDO? The FIDO Alliance.

Strong Customer Authentication. (2019년 8월). Financial Conduit Authority.

Challenge Response Authentication Protocol. (2018년 11월). Medium.