authn과 authz의 비교: 어떻게 다를까요?

authn은 인증의 약자이고 authz는 권한 부여의 약자입니다. 이들은 ID 및 액세스 관리(IAM)의 세계에서 두 가지 별개의 개념이지만 밀접하게 얽혀 있습니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • 인증과 권한 부여의 대비
  • 일반적인 인증 방법 설명
  • 몇 가지 권한 부여 접근 방식 설명

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

권한 부여(authz)와 인증(authn)의 비교

정보 보안에서 인증(authn으로 축약됨)과 권한 부여(authz)는 관련되어 있지만 별개의 개념입니다.둘 다 ID 및 액세스 관리(IAM)의 중요한 부분입니다.

authn과 authz는 어떻게 다를까요?간단히 말해서, authn은 ID 또는 누군가의 신원과 관련이 있고 authz는 권한 또는 누군가가 할 수 있도록 허용되는 것과 관련이 있습니다.

인증(authn)이란?

인증은 사람이나 장치가 자신이 주장하는 사람(또는 장치)인지 확인하는 것을 의미합니다. 이벤트 티켓을 수령하는 사람은 신원 확인을 위해 신분증을 제시해야 할 수 있습니다. 마찬가지로 애플리케이션이나 데이터베이스에서는 사용자의 ID를 확인하여 사용자가 합법적인지 확인하려고 할 수 있습니다. 인증 덕분에 데이터가 잘못된 사람에게 노출되지 않게 됩니다.

일반적인 인증 방법에는 어떤 것이 있을까요?

사용자 이름과 비밀번호의 조합

인증을 위한 가장 일반적인 방법 중 하나는 사용자에게 사용자 이름과 비밀번호를 입력하라는 메시지를 표시하는 것입니다. Jessica가 브라우저에 이메일 계정을 로드할 때 이메일 서비스는 아직 그녀가 누구인지 알지 못합니다. 그러나 그녀가 로그인 양식에 사용자 이름과 비밀번호를 입력하면 서비스에서 해당 자격 증명을 확인하고 Jessica라고 인증한 다음 그녀의 계정에 그녀를 로그인시킬 수 있습니다.

대부분의 사람들이 이러한 유형의 인증에 익숙하지만, 사용자 이름과 비밀번호는 사용자 인증 이상의 용도로 사용될 수 있습니다.예를 들어 API 엔드포인트가 이러한 방식으로 인증될 수 있습니다.

다단계 인증(MFA)

사용자 이름-비밀번호 인증의 문제는 비밀번호를 악의적인 사람들이 종종 추측하거나 도용할 수 있다는 것입니다.추가 인증 요소를 요구하면 사용자의 보안이 향상됩니다. 이 개념을 다단계 인증(MFA)이라고 합니다.MFA를 사용하는 경우 공격자가 합법적인 사용자로 가짜로 인증받으려면 비밀번호 이상이 필요합니다.

MFA는 대부분 2단계 인증(2FA)으로 구현됩니다.오늘날 많은 서비스에서 사용자에게 발급된 토큰이 있음을 증명하도록 요청하여 2FA를 구현합니다.토큰에는 SMS 또는 모바일 앱을 통해 사용자에게 전송되는 코드와 같은 "소프트" 토큰과 USB 키와 같은 "하드" 토큰의 두 가지 유형이 있습니다.2FA 및 MFA도 생체 인증 요소를 이용할 수 있습니다(아래 설명).

공개 키 인증서

공개 키 인증은 이러한 다른 형식의 인증보다 약간 더 복잡하지만 제대로 구현되면 더 안전할 수 있습니다. 인증된 당사자가 올바른 개인 키를 가지고 있는지 여부를 확인하기 위해 공개 키 암호화가 사용됩니다.

(공개 키와 개인 키의 작동 방식을 알아보려면 공개 키 암호화 작동 방식은?을 참조하십시오.)

공개 키 인증의 가장 일반적인 사용 사례는 전송 계층 보안(TLS)이며, 여기에서 공개 키는 웹 서버를 인증하는 데 사용됩니다.사용자 장치에서는 HTTPS를 사용하는 웹 사이트를 로드할 때마다 이러한 유형의 인증을 수행합니다.

공개 키 인증은 상호 인증에도 사용되며, 이 경우 클라이언트가 서버를 인증하거나 웹 서비스가 사용자를 인증하는 대신 통신하는 쌍방이 서로를 인증합니다.사물 인터넷(IoT) 장치 및 API 엔드포인트는 때때로 이러한 유형의 인증을 사용합니다.

생체 인증

사람을 인증하는 데만 사용할 수 있는 생체 인증은 알려진 인증 대상자의 물리적 특성 데이터베이스에서 물리적 특성 중 하나를 확인하여 대상자의 신원을 확인하는 것입니다. 얼굴 스캔이나 망막 스캔은 이러한 유형의 인증 사례입니다.

권한 부여(authz)란?

권한 부여에 따라 인증된 사용자가 보고 수행할 수 있는 작업이 결정됩니다. 은행 고객이 온라인으로 자신의 계정에 로그인할 때 어떤 일이 발생하는지 생각해 보세요. 신원이 인증되었기 때문에 자신의 계정 잔액과 거래 내역을 볼 수 있지만, 다른 사람의 계정을 볼 권한은 없습니다. 반대로 은행의 관리자에게는 고객의 금융 데이터를 볼 수 있는 권한이 부여될 수 있습니다.

유사하게, 어떤 사업체의 합법적인 직원이 신원 확인 과정을 거쳤다고 해서 해당 사업체의 모든 파일 및 데이터에 액세스할 수 있어야 하는 것은 아닙니다. 예를 들어 인사 부서나 회계 부서 외부의 직원이 모든 직원의 급여 내역을 볼 수는 없어야 합니다.

사용자의 권한 부여 수준에 따라 수행할 수 있는 권한이 결정됩니다. 따라서 승인된 작업에 대한 일반적인 용어는 "허가"입니다. 이 개념의 또 다른 용어는 "권한"입니다.

권한 부여는 어떻게 작동할까요?

조직에서는 사용자 작업을 허용하거나 차단하기 위해 일종의 인증 솔루션을 사용합니다. 이 솔루션에서는 일반적으로 사용자가 누구인지에 따라 허용하거나 차단할 작업을 알고 있습니다. 이러한 이유로 인증은 권한 부여와 밀접하게 얽혀 있습니다. 사용자 권한 결정 방법에는 다음을 포함하여 여러 가지 방법이 있습니다.

RBAC(역할 기반 액세스 제어)에서는 모든 사용자에게 미리 결정된 하나 이상의 역할이 할당되고 각 역할에는 지정된 권한 집합이 제공됩니다.

속성 기반 액세스 제어(ABAC)에서는 사용자가 자신의 속성 또는 수행하려는 작업의 속성을 기반으로 권한을 할당받습니다.

규칙 기반 액세스 제어(RBAC라고도 약칭함)에서는 역할과 관계없이 모든 사용자에게 적용되는 규칙 집합에 따라 작업이 허용되거나 거부됩니다.

OAuth 란 무엇입니까?

OAuth는 한 서비스에서 다른 서비스로 승인을 전달하기 위한 기술 표준입니다.클라우드 서비스 및 웹 애플리케이션에 자주 사용되는 OAuth를 사용하면 사용자가 한 서비스에서 인증한 다음 다른 서비스로 권한을 전달할 수 있습니다.권한 수준은 일반적으로 별도의 서비스인 ID 공급자(IdP)에 의해 결정됩니다.

OAuth를 사용하면 SSO(Single Sign-On) 서비스를 사용할 수 있으며, 사용자는 이 서비스로 한 번 로그인하면 모든 클라우드 애플리케이션에 액세스할 수 있습니다. OAuth를 사용하지 않으면 각 애플리케이션에서 사용자의 권한을 별도로 설정해야 합니다.

Cloudflare는 기업이 인증 및 권한 부여를 구현하는 데 어떻게 도움이 될까요?

Cloudflare Zero Trust는 온프레미스, 자체 호스팅, SaaS 앱에 걸쳐 사용자 작업을 허용하거나 차단하는 플랫폼입니다. 인증을 위한 모든 IdP와 통합됩니다. Cloudflare Zero Trust는 또한 Zero Trust 모델을 구현하기 위한 중요한 기능인 액세스 권한을 부여하기 전에 장치 보안 상태를 평가합니다.

Zero Trust에 대해 자세히 알아보세요.