본문 바로가기

Web/Concept

[Web] JWT(JSON Web Token) 다시 정리하는 !!!!! 💡 Web의 인증 방식 중 세션의 메모리 문제를 보완할 수 있는 JWT에 대해 알아보자! 노션에서 보기 📌 요약 JWT란, 인증에 필요한 정보들을 암호시킨 토큰으로 세션 기반 인증 방식의 문제점을 보완하는 기술이다. 세션의 단점 세션 기반의 인증 방식을 사용할 때, 중앙 세션 관리 시스템에서 하나의 문제가 시스템 전체로 확산된다는 문제점 존재 사용자가 많아짐에 따라 세션 DB와 서버 확장 필요 예를 들어, 내가 사용중인 웹사이트의 사용자가 많아져 세션 DB를 A와 B로 나우었다고 가정하면, 나에 대한 정보는 세션 A에 저장되어 있었다. 따라서 앞으로 해당 웹 페이지에 Request를 보낼 때 세션 A에서만 통신하도록 하는 추가적인 기술이 필요하다. → 이러한 단점을 어느 정도 해.. 더보기
[Web] 서버 기반 인증 시스템과 토큰 기반 인증 시스템 💡 세션과 JWT로 대표되는 Web 의 인증 방식에 대해 하자! 노션에서 보기 📌 요약 서버 기반 인증 시스템과 토큰 기반 읜증 시스템으로 구분할 수 있다. 서버 기반 인증 시스템 서버 측에서 사용자 정보를 기억 토큰 기반 인증 시스템 사용자 정보를 서버에 담아두지 않는다. 즉 stateless하다. 🌧️ 서버 기반 인증 시스템 서버 기반 인증 시스템 개념 기존의 인증 시스템은 서버 기반의 인증 방식으로, 서버 측에서 사용자 정보를 기억하고 있는 방식이다. 사용자 정보를 기억하기 위해 세션을 유지해야 하고, 메모리나 디스크, 또는 DB 등을 통해 관리한다. 클라이언트로부터 요청을 받으면 → 클라이언트의 상태를 계속해서 유지하고, 이 정보를 서비스에 이용한다는 점에서 Stateful 서버라고 할 수 있다... 더보기
[Web] Authentication & Autorization 💡 인증(Authentication) Vs 인가(권한 부여, Autorization) 비슷해 보이지만 다른 두 프로세스의 차이점을 정리하자! 노션에서 보기 📌 요약 인증이란, 사용자가 누구인지 확인하는 절차 인가란, 사용자에 대한 권한을 허락하는 것 누가, 언제, 어떻게 쓰고 있는지를 파악하기 위해 인증과 인가가 존재한다. in anywhere Private한 API & Public한 API 모두 기본적인 인증과 인가를 요구한다. 👌🏻 인증 인증의 개념 사용자(혹은 장치)가 누구인지를 확인하는 절차 예시 : 회원가입, 로그인, 신분증 제시를 통한 신원 확인 인증의 절차 회원가입 과정 아이디, 비밀번호를 생성한다. 비밀번호를 암호화하여 DB에 저장한다. 로그인 과정 등록된 아이디와 비밀번호를 입력한다. 암.. 더보기
[Web] 쿠키(Cookie) & 세션(Session) 💡 Web의 기본적인 인증 방식을 알아보자! 노션에서 보기 📌 요약 공통점 : 웹 통신 간 유지하려는 정보(Ex) 로그인 정보 등)를 저장하기 위해 사용 차이점 : 저장 위치, 저장 형식, 용량 제한, 만료시점 등 쿠키 : 개인 PC에 저장 세션 : 접속중인 웹 서버에 저장 쿠키와 세션 사용 이유 (Feat. HTTP 특징) HTTP(Hypertext Transfer Protocol) 의 특징이자 약점을 보안하기 위함 HTTP(Hypertext Transfer Protocol) 의 정의 HTTP는 인터넷상에서 데이터를 주고받기 위해 서버/클라이언트 모델을 따르는 통신 규약 HTTP의 특징 비연결성(Connectionless) 클라이언트가 서버에 요청(Request)을 보내고 → 그 요청에 맞는 응답(Re.. 더보기
[Web] JWT(JSON Web Token) 토큰 기반 인증 시스템 - 웹 보안의 바탕은, 인증(Authenticate) + 인가(Authorize) 로 구성된다. 1) 인증(Authenticate) : 요청 사용자 식별 2) 인가(Authorize) : 인증된 사용자가 보호된 리소스에 접근할 권한이 있는지 확인 - 토큰 기반 인증 시스템은, 인증을 받은 사용자에게 토큰을 발급하고 -> 사용자가 서버에 요청할 때 헤더(Header)에 발급 받은 토큰을 함께 보내도록 하여 유효성을 검사한다. - 토큰 기반 인증 시스템은 서버 기반 인증 시스템과 달리, 클라이언트의 요청 시 클라이언트의 헤더에 담긴 토큰만으로 인증 정보를 확인 가능하고, 세션 관리 필요가 없어 서버 자원을 아낄 수 있다. 이런, 토큰 기반 인증 시스템에 사용되는 JWT에 대해 정리한다.. 더보기