인증(Authentication)과 인가(Authorization)
인증과 인가는 소프트웨어 시스템에서 보안을 유지하기 위해 중요한 개념이다.
중요하지만 항상 헷갈리는 단어인듯 하다.
1. 인증이란?
-> 사용자의 신원을 확인하는 과정.
예를 들어, 신분증으로 신원을 확인하거나
아이디와 비밀번호로 사용자를 인증하는 과정이다.
- 인증 요소는 한 가지일수도 있고, 여러개일수도 있다.
주로 아이디, 비빌번호, 얼굴인식, 토큰, 인증서 등과 같은 요소들이 포함되며
이러한 요소들을 조합해 다단계 인증(Multi-factor Authentication, MFA)를 구현할수도 있음.
2. 인가란?
-> 인증 단계를 거친 사용자가 특정 자원이나 기능에 접근할 수 있는 권한이 있는지 확인하는 과정.
인증 후에도 사용자가 실제로 수행할 수 있는 작업을 제한할 수 있고, 접근 권한을 관리함으로써 보안을 유지함.
예를들어, 비행기를 탈때 비행기 티켓을 예로 들 수 있음.
여권으로 신원을 확인하지만 비행기 티켓이 있어야만 비행기에 탈 수 있는 권한이 생기는 것.
웹 서비스에서는 이런 비행기 티켓의 역할을 하는 것이 토큰이다.
요약하자면,
인증은 누구인지 신원을 확인하는 행위.
인가는 권한을 확인하는 행위.
'cs > 컴퓨터지식' 카테고리의 다른 글
애플리케이션 배포방식의 변화.. (0) | 2024.07.17 |
---|---|
JWT(JSON Web Token) 이란? (0) | 2024.06.28 |