Intro
인증(Authentication)과 인가(Authorization, 권한 부여)는 컴퓨터에서 보안과 관련된 용어이다.
실생활에서 인증과 인가를 별도로 구분할 경우가 많이 없지만, 컴퓨터 세계에서는 이를 구분 지어 처리한다.
인증(Authentication)이란?
인증은 사용자 또는 디바이스 등의 신원 정보를 확인하는 과정이다. 특정 서비스에 회원 가입을 하고, 로그인하는 과정이 인증에 해당한다.
여러 웹 서비스들은 회원이어야 만이 이용할 수 있는 경우가 많다.
회원이 아닐 경우에는 해당 서비스를 이용하기 위해서는 회원 가입을 통해 아이디와 패스워드를 만들고, 회원 가입하려는 사용자가 본인이 맞는지 확인하는 절차를 가지게 된다.
회원일 경우에는 로그인을 함으로 회원이 맞음을 인증해야 한다. 아이디와 패스워드를 입력하여 아이디에 해당하는 패스워드가 일치할 경우에만 인증 절차에 성공하여 서비스를 이용할 수 있게 된다.
인증 요소는 한 가지일 수도 있고 두 가지 이상일 수도 있다.
아이디와 패스워드를 입력하였으나, 추가적으로 휴대폰이나 신용카드 등을 활용해서 추가 인증을 해야 하는 경우가 두 가지 이상의 인증 요소를 갖는 것이다.
인가(Authorization, 권한 부여)란?
인가는 사용자 또는 디바이스 등이 어떤 리소스에 접근할 수 있는지, 어떤 동작을 수행할 수 있는지 등을 검증하는 것이다.
상품을 판매 또는 구매를 할 수 있는 인터넷 쇼핑몰이 있다고 가정한다.
고객은 해당 쇼핑몰에서 상품을 구매할 수 있는 권한을 부여받은 것이며, 판매자는 상품을 등록하고 판매할 수 있는 권한을 부여받은 것이다.
해당 쇼핑몰에서는 여러 가지 형태로 인가를 할 수 있다.
- 모든 회원이 상품 구매와 판매를 동시에 진행할 수 있도록 모든 권한을 부여한다.
- 회원을 구매자와 판매자로 구분하여 구매자는 구매만 할 수 있고, 판매자는 판매만 할 수 있도록 권한을 부여한다.
- 모든 회원은 구매를 할 수 있으나, 판매자는 신청을 통해 통과된 사용자만 판매자 권한을 부여받을 수 있도록 한다.
'Computer Engineering > 컴퓨터 과학(CS: Computer Science)' 카테고리의 다른 글
[CS] 도메인 주도 설계(DDD: Domain-Driven Design)란? (4) | 2022.11.25 |
---|---|
[CS] 아키텍처(Architecture)란 무엇인가? (0) | 2022.10.27 |
[CS] 프레임워크(Framework)란 무엇인가? (0) | 2022.10.14 |
[CS] 그래프(Graph)란 무엇인가? (0) | 2022.10.12 |
[CS] 트리(Tree)란 무엇인가? (0) | 2022.10.12 |