인증과 인가는 보안 시스템에서 중요한 개념으로, 사용자의 신원을 확인하고 자원에 대한 접근 권한을 관리하는 데 사용됩니다. 이 두 개념은 종종 혼동되지만, 서로 다른 목적을 가지고 있습니다.
인증 (Authentication)
- 사용자가 자신이 주장하는 신원임을 확인하는 과정
- 사용자가 로그인할 때 시스템은 사용자의 신원을 확인하기 위한 방법
- 무엇을 알고 있는가 (What you know): 패스워드, PIN 등.
- 무엇을 가지고 있는가 (What you have): 스마트 카드, 보안 토큰 등.
- 무엇인가 (What you are): 지문, 얼굴 인식, 홍채 스캔 등 생체 인식.
- 사용자나 시스템이 제공하는 정보가 신뢰할 수 있는지를 확인하는 절차로, 이 단계에서 사용자는 본인임을 증명해야 합니다.
인가 (Authorization)
인증을 거친 사용자가 특정 자원에 접근할 수 있는 권한이 있는지를 결정하는 과정
인증이 사용자의 신원을 확인하는 것이라면, 인가는 그 사용자가 특정 작업을 수행할 수 있는지를 결정하는 것
- 사용자가 시스템에 로그인을 해서 인증이 완료된 후, 그 사용자가 특정 파일을 읽거나 쓸 수 있는지, 또는 특정 애플리케이션을 실행할 수 있는지 등을 결정하는 것이 인가입니다.
인가 시스템은 주로 다음과 같은 정보를 바탕으로 작동함
- 역할 기반 접근 제어 (Role-Based Access Control, RBAC): 사용자에게 특정 역할을 부여하고, 그 역할에 따라 접근 권한을 결정합니다.
- 정책 기반 접근 제어 (Policy-Based Access Control, PBAC): 조직의 보안 정책에 따라 접근 권한을 결정합니다.
- 속성 기반 접근 제어 (Attribute-Based Access Control, ABAC): 사용자, 자원, 환경 등의 속성에 따라 접근 권한을 결정합니다.
요약
- 인증: 사용자가 누구인지 확인하는 과정.
- 인가: 확인된 사용자가 어떤 자원에 접근할 수 있는지를 결정하는 과정.