인증과 인가의 차이?

박두팔이·2023년 4월 13일
0

인증과 인가의 차이?

둘 다 보안과 관련되었다는 것과 JWT 토큰 기반인 경우 해당 토큰을 사용한다는 점에서는 동일하지만 이 둘은 완전히 다른 개념이라고 할 수 있습니다. 왜냐하면 인증은 장치 혹은 사용자를 식별하는 행위이고 인가는 장치 및 사용자 엑세스 권한을 허용하거나 거부하는 행위이기 때문입니다.

네이버 메일을 예로 들어 설명하겠습니다. 먼저 네이버에 접속한 뒤 로그인을 해야합니다. 이때 사용자는 제가 될 것이고, 네이버는 서비스를 제공하는 쪽이 됩니다. 로그인을 하기 위해서는 아이디와 비밀번호를 입력해야 하는데 여기서 사용되는 아이디와 비밀번호는 회원가입 당시 작성한 나와 네이버시스템간에 공유한 합의된 정보입니다. 이렇게 합의된 정보를 인증요소라고 합니다.

인증요소에는 세가지 유형이 있는데 내가 아는것, 내가 가진 외재적인것, 내가가진 내재적인 것으로 분류될 수 있습니다. 로그인과 같이 아이디와 비밀번호를 입력하는 행위는 내가 아는 것을 인증하는 것이며, 비밀번호를 잊어버린 경우 휴대전화번호로 인증번호를 받아 외재적인 장치로 서비스에 접근한다면 그것은 내가 가진 외재적인 인증요소에 속한다고 할 수 있습니다. 반대로 내가 가진 내재적인 것의 인증요소는 사용자가 가진 고유한 정보를 기반으로 서비스에 접근하는 경우이며 여기에는 지문인식, 페이스아이디와 같은 것들이 있습니다.

다음으로 인가에 대하여 설명하겠습니다.
예를들어 회사 건물로 들어가기 위해 카드키가 필요할 경우, 해당 카드키에는 내 사진과 이름 등 나의 신원을 확인함과 동시에 회사건물로 들어갈 수 있는 사람임을 확인하는 정보가 있어야 합니다. 이 카드키를 가지고 있다면 회사내 보안시스템은 카드키를 통해 등록된 정보를 가지고 회사에 출입하는 것을 허락해 줄 것입니다. 그러나 카드키는 내가 회사건물로 들어갈 수 있는 권한을 가진 것을 증명할 수 있지만 그 카드키를 가지고 있는 사람이 항상 나라는 것을 특정할 수는 없습니다. 따라서 권한 부여만으로는 인증을 하기에 유용하지 않을 수 있습니다.

profile
기억을 위한 기록 :>

0개의 댓글