본문 바로가기
IT

인증(Authentication)과 인가(Authorization)에 대하여

by 동양동꿀주먹 2022. 12. 27.

인증(Authentication)

인증(Authentication)이란 보호된 리소스에 접근을 허용하기 전에 사용자의 신원을 검증하기 위하여 어떤 특정한 정보를 통하여 많은 사용자 중에 특정 사용자를 결정하는 행위입니다. 사용자 인증 방식은 크게 지식 기반 인증, 소유 기반 인증, 존재 기반 인증, 행동 기반 인증 등으로 나눠볼 수 있습니다. 먼저 지식 기반 인증은 사용자가 알고 있는 정보 기반으로 인증하는 방식입니다. 예를 들어 패스워드, PIN 번호가 있습니다. 패스워드 인증 방식 같은 경우 가장 많이 사용되는 인증 방식입니다. 하지만 지식 기반 인증 방식 같은 경우 유추가 가능하고 유출의 우려가 있는 사용자 인증 방식 중 가장 안전하지 않은 방식입니다. 다음으로 소유 기반 인증 방식은 사용자가 소유하고 있는 것을 기반으로 인증하는 방식입니다. 예를 들어 OTP, 문자 인증 등이 있습니다. OTP 같은 경우 매번 다른 패스워드를 생성하는 특징이 있습니다. 지식 기반 인증과 함께 사용되면 강력한 보안성을 가질 수 있습니다. 하지만 소유 기반 인증 방식 같은 경우는 복제 및 분실의 우려가 존재합니다. 존재 기반 인증은 사용자가 가지고 있는 고유한 생체적 특징을 기반으로 인증하는 방식입니다. 대표적으로 지문 인증과 홍채 인증 등이 있습니다. 생체적 특징을 기반으로 하여 분실이나 도난의 위험이 없으며, 복제가 어렵다는 특징이 있습니다. 하지만 재발급이나 변경이 안 되므로 복제가 될 경우 보안의 위험이 있습니다. 그리고 사용자 본인 임에도 불구하고 인증 실패의 가능성을 가지고 있습니다. 

 

인가(Authorization)

인가란 인증을 바탕으로 권한이 필요한 특정 리소스나 기능에 대한 접근 요청이 이루어질 때, 사용자의 요청을 실행할 수 있는 권한 여부를 확인하는 절차이며, 사용자에게 특정 리소스나 기능에 접근할 수 있는 권한을 부여하는 절차를 말합니다. 예를 들어 사용자가 어떤 쇼핑몰 웹 사이트의 판매자 권한을 가지고 있으면 상품 등록 페이지에 접근이 가능하도록 하는 것입니다. 또 다른 예시로 정보를 얻을 수 있는 사이트 같은 경우 어떤 사용자는 특정 파일을 다운로드 할 수 있는 권한을 가지도록 할 수 있습니다. 보통 웹에서 이러한 절차를 수행하기 위하여 API 인가 방식을 사용하는데 대표적으로 RBAC(Role Based Access Control)방식과 ACL(Access Control List) 방식이 있습니다. 먼저 RBAC 방식은 사용자의 역할(Role)을 기반으로 합니다. 각 역할 마다 권한을 부여하고 사용자가 특정 역할을 받으면 해당 역할이 가지고 있는 권한에 대한 액세스를 허용하는 방식입니다. 그리고 ACL 방식은 RBAC 방식과 다르게 역할에 권한을 부여하는 것이 아니라 각 사용자에게 권한을 부여하는 방식입니다. 예를 들어 어떤 쇼핑몰 웹사이트에서 사용자에게 판매자라는 역할을 부여하고 판매자의 역할에 상품 등록, 수정, 삭제 등의 접근을 허용하는 방식이 RBAC 방식이라면 ACL 방식은 어떤 사용자에게 상품 등록 권한을 부여하고 또다시 상품 수정 권한도 부여하는 방식입니다. 

'IT' 카테고리의 다른 글

자바스크립트에 대하여  (0) 2022.12.30
Node.Js에 대하여  (0) 2022.12.28
운영체제에 대하여  (0) 2022.12.28
클라우드 컴퓨팅의 정의와 종류  (0) 2022.12.16
HTTP에 대하여  (0) 2022.12.15

댓글