Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

네트워크 보안에서 기본 인증(Basic Authentication)이란? 개념부터 활용까지 완벽 정리

기본 인증(Basic Authentication)이란?

기본 인증은 HTTP 프로토콜에 기본적으로 내장되어 있는 가장 단순한 형태의 인증 방식입니다. 클라이언트가 HTTP 요청을 보낼 때 Authorization 헤더에 'Basic'이라는 단어와 공백, 그리고 base64로 인코딩된 '사용자이름:비밀번호' 문자열을 함께 담아 전송하는 방식입니다.

기본 인증의 작동 예시

클라이언트가 HTTP 요청을 전송할 때 Basic HTTP 헤더에 공백과 함께 base64로 인코딩된 username:password 문자열을 포함합니다. 예를 들어 demo:p@55w0rd와 같은 자격 증명이 담긴 헤더는 다음과 같이 인코딩됩니다.

Authorization: Basic DZGVtbzpwQDU1BYZA==

네트워크 보안에서 인증이란?

인증은 사용자의 신원을 확인하는 과정입니다. 들어오는 요청에 자격 증명을 연결해 고유한 식별자를 부여하고, 보안 시스템은 식별 단계에서 수집된 정보를 바탕으로 사용자를 식별합니다. 사용자는 자신을 증명하기 위해 사용자 ID를 제공하게 됩니다.

네트워크 보안의 대표적인 인증 유형

가장 널리 사용되는 인증 방식은 비밀번호 기반 인증으로, 비밀번호는 일반적으로 개인별로 고유하게 설정됩니다. 이 외에도 두 가지 이상의 요소를 결합해 신원을 확인하는 다중 요소 인증(MFA), 인증서를 활용한 인증, 생체 인증, 토큰 기반 인증 등이 있습니다.

HTTP 기본 인증은 안전한가?

HTTP 기본 인증은 웹 클라이언트와 서버 간에 보안 연결(HTTPS)이 설정된 경우에만 안전합니다. 연결이 암호화되지 않은 상태에서는 인증 정보가 그대로 노출될 수 있어, 무단 사용자가 서버의 인증 정보를 알아내는 것을 막기에 충분하지 않습니다.

Windows 기본 인증이란?

인증 방식은 크게 기본 인증과 Windows 인증으로 나뉩니다. Windows 인증은 사용자의 자격 증명을 Windows 도메인 계정과 대조하여 인증을 수행합니다. 반면 기본 인증은 폼을 통해 입력된 자격 증명을 데이터베이스의 사용자 계정과 비교하는 방식입니다.

웹에서의 기본 인증 작동 방식

기본 HTTP 인증은 서버가 간단한 챌린지-응답(challenge-response) 메커니즘을 통해 클라이언트의 사용자 이름과 비밀번호 같은 인증 정보를 요청하는 방식입니다. 최종 사용자는 일반적으로 로그인 창에 아이디와 비밀번호를 입력해야 접근이 허용됩니다.

기본 인증 활성화 방법

제어판에서 활성화하기

제어판 > 프로그램 및 기능에서 'Windows 기능 켜기/끄기'를 클릭합니다. 인터넷 정보 서비스(IIS)를 선택한 후, World Wide Web 서비스 > 보안 항목을 확장하고 '기본 인증'을 체크한 뒤 확인 버튼을 누르면 완료됩니다.

서버 관리자에서 활성화하기

작업 표시줄의 서버 관리자 아이콘을 클릭해 Server Manager를 실행합니다. 관리 메뉴에서 '역할 및 기능 추가'를 클릭하고 마법사를 진행한 뒤, 서버 역할 페이지에서 웹 서버(IIS) > 웹 서버 > 보안 > 기본 인증을 선택하면 됩니다.

기본 인증의 인코딩 방식

기본 인증은 사용자 이름과 비밀번호를 Base64로 인코딩하여 요청의 Authorization 헤더에 담아 전송합니다. RFC 7617에 정의된 'Basic' HTTP 인증 스키마는 사용자 ID와 비밀번호 쌍을 base64로 인코딩해 전송하는 표준 방식입니다.

기본 인증의 사용자 이름과 비밀번호 확인 방법

웹사이트가 HTTP 기본 인증을 요구하면 브라우저는 사용자 이름과 비밀번호를 입력하라는 대화상자를 표시합니다. 여기서 생성된 Authorization 헤더는 이후 모든 네트워크 요청과 함께 자동으로 전송됩니다.

인증의 중요성과 역할

인증은 조직의 규모와 관계없이 사이버 보안의 첫 번째 방어선입니다. 인증은 바로 다음 단계인 권한 부여(authorization)와 혼동해서는 안 되며, 인증은 사용자가 특정 리소스에 접근하거나 작업을 수행할 권한이 있는지 확인하는 절차입니다.

인증을 통해 조직은 인증된 사용자(또는 프로세스)만 보호된 리소스에 접근할 수 있도록 하여 네트워크 보안을 유지할 수 있습니다. 보호 대상에는 컴퓨터 시스템, 네트워크, 데이터베이스, 웹사이트, 네트워크 기반 서비스 등이 포함됩니다.

인증의 세 가지 요소

인증 요소는 크게 세 가지로 분류됩니다.

지식 요소(알고 있는 것): 비밀번호, PIN 등 개인만 아는 정보
소유 요소(가지고 있는 것): 배지, 스마트폰 등 개인이 소유한 물건
생체 요소(본질적인 것): 지문, 음성 인식 등 개인의 고유한 생체 정보

3요소 인증(3FA)은 이 세 가지 요소를 모두 활용하는 방식으로, 음성 녹음, 필기 인식, 지문 스캔, 망막 스캔과 같은 생체 인식 방법이 세 번째 요소로 활용될 수 있습니다.

다양한 인증 방식의 종류

일반적으로 사용되는 인증 방식으로는 PAP(Password Authentication Protocol), 인증 토큰, 대칭 키 인증, 생체 인증 등이 있습니다. 이 외에도 국내외적으로 다양한 인증 방식이 존재하며, 각 조직의 보안 요구 사항에 맞게 선택하여 사용할 수 있습니다.