일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 항해99솔직후기
- NextJS v13
- 그리디
- greedy
- 중복카테고리
- react
- 클라이언트 컴포넌트
- 중복선택
- 실전프로젝트
- 항해99후기
- 서버 컴포넌트
- 항해99
- 부트캠프항해
- 알고리즘
- 항해99추천
- 자바스크립트
- 동전 0
- 로딩 후 실행
- 날씨 api
- 탐욕알고리즘
- 프로그래머스
- 카테고리필터
- 배열 메소드
- 숫자를 별점으로
- db수정
- 배열 중복 제거
- JavaScript
- 백준
- server component
- jQuery
- Today
- Total
공부 및 일상기록
[네트워크] 인증과 인가 본문
인증(Authentication)과 인가(Authorization)의 차이를 알아보자
인증, Authentication
어떤 개체의 신원을 확인하는 과정이다.
보통 어떤 인증요소를 증거로 자신을 증명한다.
온라인에서는 ID와 패스워드를 입력하는 행위가 인증이 될 수 있다.
실생활에서는 공공기관에서 신원확인 시 신분증을 보여주는 것을 생각해보면 된다.
여러개의 절차가 있을 수 있다.
은행의 경우, 본인인증 후 OTP, 보안카드 등의 절차를 추가로 거친다.
인가, Authorization
어떤 리소스에 접근할 수 있는지, 어떤 동작을 수행할 수 있는지 검증한다.
접근 권한을 얻는 일이다.
현실에서는 비행 시 여권과 함께 가져가는 비행기 티켓을 예로 들 수 있다.
여권으로 신분확인이 되더라도 비행기 티켓이 있어야 비행기에 탈 수 있다.
인터넷 기반 앱에서는 보통 토큰이라는 것을 사용한다.
유저는 자신의 인가 세부사항을 가진 토큰을 통해 서버에 인증을 받는다.
서버는 유저의 토큰을 보고 권한이 있는지 판단한다.
인증 과 인가
사실 인증과 인가는 한번에 쓰일 수 있다. 회사에 출근하면 찍는 출근카드는 내가 누구인지도 인증하면서, 내가 출입할 수 있도록 회사 내부 접근을 인가하기도 한다.
인증은 인가로 이어질수 있지만, 인가는 인증으로 이어지지 않을 수도 있다. 편의점에서 구매한 버스카드는 내가 누구인지에 대한 인증정보는 담고 있지 않지만, 잔액이 충분하다면 버스탑승 인가를 받을 수 있다.
요약
인증은 내가 누구인지 확인하는 행위이다.
인가는 내가 권한이 있는지 확인하는 행위이다.
인증은 인가의 의사결정 요소가 될 수 있다.
인가 가공물(ex 토큰)로 유저나 디바이스의 신원을 파악하는 방법은 유용하지 않다.
'개발 > 네트워크' 카테고리의 다른 글
[네트워크] 웹 브라우저에 URL을 입력하면 어떤 일이 생길까? (0) | 2023.01.18 |
---|---|
[네트워크] XSS와 CSRF (0) | 2023.01.18 |
[네트워크] SEO란 무엇인가? (0) | 2023.01.18 |
[네트워크] 토큰기반 인증방식 (0) | 2023.01.13 |
[네트워크] JWT토큰을 쿠키에 저장했을 때 취약점 (0) | 2023.01.12 |