본문 바로가기

전체 글19

Authentication(인증) vs Authorization (인가) Authentication(인증) 사용자의 신원을 검증하는 행위로서 보안 프로세스에서 첫 번째 단계 개인 또는 디바이스의 ID를 확인하는 방시그로 수행 비밀번호, 일회용 핀(단일 세션이나 트랜잭션에 한하여 액세스 허용), 인증 앱(액세스를 허용하는 외부 기관을 통해 보안 코드 생성), 생체인식 등 서비스를 누가 사용하는지 추적이 가능하도록 하고, 타인으로부터 사용자의 정보를 보호하기 위해 필dy AuthN Authorization(인가) 사용자에게 특정 리소스나 기능에 액세스할 수 있는 권한을 부여하는 프로세스 클라이언트가 하고자 하는 작업이 해당 클라이언트에게 허가된 작업인지 확인 특정 자원에 대한 접근 권한이 있는지 확인하는 절차 Authorization을 위해 역할 기반 액세스 제어, JWT, OA.. 2022. 10. 24.
OAuth란? (OAuth2.0) 개념 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준 OAuth 사용 전에는 인증 방식의 표준이 없어 기본 인증인 아이디와 비밀번호 사용 -> 보안상 취약한 구조 기본 인증이 아닐 경우, 각 애플리케이션이 각자 개발한 회사의 방법대로 사용자 확인 ex) 구글 AuthSub, AOL OpenAuth, 야후 BBAuth, 아마존 웹서비스 API 이렇게 제각각인 인증방식을 표준화한 인증 방식 OAuth 이용하면 이 인증을 공유하는 애플리케이션끼리는 별도의 인증 불필요 -> 여러 애플리케이션을 통합하여 사용하는 것이 가능하게 됨 OAuth 2.0은 1.0에서 알려.. 2022. 10. 24.
쿠키(Cookie), 세션(Session), 토큰(Token) 인증 HTTP 특성 1. Connectionless(비연결성) 클라이언트와 서버가 한 번 연결을 맺은 후, 클라이언트 요청에 대해 서버가 응답을 마치면 연결을 끊어버리는 성질이다. => 데이터 유지되지 않는다. 2. Stateless(무상태) 서버는 클라이언트를 식별할 수 없다. => 상태를 기억하는 방법 : 쿠키, 세션, 토큰 인증 방식 쿠키(Cookie) 특성 HTTP의 비연결성, 무상태 특성을 보완하기 위해 사용 클라이언트에 저장되는 Key-Value 형태의 데이터 파일 최대 300개까지 저장 가능, 유효 시간 존재, 도매인당 20개 값만 가질 수 있음, 4KB까지 저장 가능 클라이언트가 웹사이트 방문 시 브라우저에 전송 브라우저는 요청을 저장했다가 서버에 다시 전송하여 동일한 브라우저 요청이라는 것을 .. 2022. 10. 17.
JWT(JSON Web Token)란? 특성 유저를 인증하고 식별하기 위한 Claim 기반 Web 토큰 세션과 달리 서버가 아닌 클라이언트에 저장 -> 서버 부담 감소 토큰 자체에 사용자의 권한 정보나 서비스를 사용하기 위한 정보가 포함됨 JWT 사용 시 RESTful과 같은 Stateless 환경에서 사용자 데이터를 주고 받을 수 있음 구조 Header, Payload, Signature 각각의 구성요소가 점(.)으로 구분되어 있음 Header JWT에서 사용할 타입과 해시 알고리즘의 종료가 담겨있음 Payload 서버에서 첨부한 사용자 권한 정보와 데이터가 담겨있음 Signature Header, Payload를 Base64 URL-safe Encode 한 이후 Header에 명시된 해시함수를 적용하고, 개인키(Private Key)로 서.. 2022. 10. 17.