인증(Authentication)은 어떤 사람이 자신이 주장하는 신원과 실제로 동일한지 확인함으로써 그 사람의 신원을 식별하는 절차입니다. 인증은 서버와 클라이언트 양쪽 모두에서 활용될 수 있습니다.
서버는 누군가 데이터에 접근할 때, 그리고 누가 데이터에 접근하는지 정확히 파악해야 할 때 인증이 필요합니다. 반면 클라이언트는 접속하려는 대상이 실제로 주장하는 바와 같은 서버가 맞는지 확인해야 할 때 인증을 사용합니다.
그렇다면 인증은 어떤 요인들을 기반으로 이루어질까요? 대표적인 인증 요소들을 하나씩 살펴보겠습니다.
1. 지식 요소(Knowledge Factor)
지식 요소는 특정 사용자만 알고 있는 정보를 요청하여 신원을 검증하는 방식입니다. 가장 대표적인 예가 바로 비밀번호입니다. 사용자의 비밀번호는 본인만 알고 있어야 하며, 이를 통해 자신의 신원을 입증하는 수단으로 활용됩니다.
2. 소유 요소(Possession Factor)
소유 요소는 해당 사용자만이 소유하고 있어야 하는 물리적 증거를 요구하여 신원을 확인합니다. 토큰(Token)이 널리 쓰이는 소유 요소 인증 방식으로, 이 토큰은 사용자가 항상 몸에 지니고 다녀야 하는 회전형(일회용) 패스코드를 생성합니다.
대표적인 소유 기반 인증 서비스인 듀오 모바일(Duo Mobile)은 지식 요소와 소유 요소를 결합하여 세계적으로 신뢰받는 2단계 인증(2FA) 플랫폼을 구축했습니다. 소유 요소 인증에는 HMAC 기반 일회용 비밀번호(HOTP)와 시간 기반 일회용 비밀번호(TOTP) 방식도 있습니다.
두 방식 모두 사용자가 휴대하는 물리적 장치로부터 임시 비밀번호를 생성한다는 공통점이 있습니다. 다만 HOTP 토큰은 사용된 후 만료되는 반면, TOTP 토큰은 30초 이내에 사용하지 않으면 자동으로 만료된다는 차이가 있습니다.
3. 시간 요소(Time Factor)
시간 요소는 접속 시도가 이루어진 시간대를 분석하여 사용자의 신원을 검증합니다. 이는 특정 행동(예: 업무용 컴퓨터 로그인)은 예측 가능한 시간 범위 안에서 발생한다는 가정에 기반합니다.
따라서 평소와 다른 시간대에 플랫폼 접속 시도가 감지되면, 해당 시도는 사용자가 신원을 확인할 때까지 차단되거나 추가 검증 절차를 거치도록 요구될 수 있습니다.
4. 고유성 요소(Inherence Factor)
고유성 요소는 해당 사용자만이 가질 수 있는 생체적 속성을 활용하여 신원을 확인합니다. 오늘날 가장 널리 알려진 고유성 요소는 지문 인식입니다.
지문은 개인마다 고유하기 때문에 많은 조직이 사용자 신원을 입증하는 수단으로 활용합니다. 지문 외에도 음성 인식, 손 모양 인식, 얼굴 인식 등 다양한 고유성 요소가 현재 사용되고 있습니다.
5. 위치 요소(Location Factor)
위치 요소는 사용자가 접속한 지리적 위치를 기반으로 신원을 검증합니다. 예를 들어, 한 국가에서 계정을 등록한 고객이 갑자기 다른 국가에서 로그인을 시도하면 위치 요소가 작동하여 새로운 접속자의 신원을 확인하려 시도할 수 있습니다.
일부 위치 요소는 원래 사용자의 IP 주소를 기준으로 삼고, 새로운 접속 시도의 IP 주소와 비교·분석하여 접속의 정상 여부를 판단합니다.
마무리: 다중 인증으로 보안 강화하기
이처럼 인증 요소는 지식, 소유, 시간, 고유성, 위치 등 다양한 형태로 존재합니다. 단일 요소만 사용하는 인증은 해킹에 취약할 수 있으므로, 두 가지 이상의 요소를 조합한 다중 인증(MFA)을 적용하면 계정 보안을 한층 더 강화할 수 있습니다. 기업과 개인 모두 자신의 환경에 맞는 인증 요소를 선택하고 조합하는 것이 정보보안의 첫걸음입니다.