목차 Cookie 쿠키와 세션은 HTTP의 특징인 비연결성과 무상태성을 보완하기 위한 도구이다. Connectionless - 클라이언트가 요청을 한 후 응답을 받으면 서버가 그 연결을 끊어 버리는 특성 Stateless - 연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며, 상태 정보를 유지하지 않는 특성 쉽게 말하면 페이지 이동마다 로그인을 새로 해야 한다는 의미이다. 쿠키는 웹 서버에 의해 생성되는, 바로 삭제되지는 않는 데이터 패킷으로, 클라이언트의 기기에 저장된다. 서버가 이 쿠키에 인증 정보를 담아 발행하면 클라이언트가 요청과 함께 쿠키를 제출하는 방식으로 연결이 유지된다. 클라이언트의 기기에 저장된다는 특징 때문에 서버의 부담이 줄어든다는 단점과 보안에 취약하다는 단점이 공존한다. 또한 일..
목차 Authentication 인증이란 사용자가 식별정보(Cridential)를 이용해 본인이 맞음을 증명하는 절차이다. 스프링 시큐리티 내부에서는 이를 위해 제법 길고 촘촘한 과정이 이어지는데, 요약에 도전해보자. 당연하게도 사용자가 크리덴셜을 담아 보낸 요청이 필터에 도달하면서 과정이 시작된다. UsernamePasswordAuthenticationFilter 제출된 크리덴셜을 통한 인증을 처리하는 필터이다. 가장 앞에서 크리덴셜만 담은, 인증이 완료되지 않은 토큰을 생성(UsernamePasswordAuthenticationToken) 후 AuthenticationManager 호출. AuthenticationManager 인증을 총괄하는 관리자 인터페이스. 실질적인 인증관리는 해당 클래스를 구현..
섹션 4가 끝났다. 이상하리만치 빨리 끝나버린 섹션 4 기간 동안 머리와 수염이 자랐고 손 끝이 여러 번 베였고 카누 라이트 로스팅을 알게 되었으며 지식은 좀처럼 늘지 않았다. 요약 어제 동기 중 한 분 덕분에 알게 된 경과 날짜 총 119일의 요약은 아래와 같다. 다행스럽게도 공부하다가 지치는 밤이면 위와 같은 짤을 만들며 보내서인지 그리 외롭진 않았던 것 같다. 하지만 해결되지 않는 에러로 가득 찬 인텔리제이 화면이나 풀지 못해 쌓여버린 데일리 코딩이나 가끔은 아이패드로 열리지 않는 유어 클래스 컨텐츠와 다가올 프로젝트 팀원들에 대한 미안함이 겹치는 날이면 나도 모르게 하차 생각을 하기도 했다. 가끔 반 정도는 세상에 대한 반항심으로 가득해 응~ 하차하면 그만이야~ 를 되뇌며 새벽까지 맥북을 잡고 씨..
OAuth(Open Authorization)는 사용자의 비밀번호 없이도 접근 권한을 받을 수 있는 개방형 표준이다. 구체적으로는 사용자가 사용하는 앱(여기서는 클라이언트라 부른다)이 보안을 위해 인증을 다른 업체에게 맡겨버리고 서버로부터 접근 권한만 획득하는 방식, 혹은 그 방식에 대한 표준이 OAuth라고 생각하면 된다. 두 번이나 반복해서 나왔지만 굳이 강조하자면, OAuth는 인증이 아닌 권한 부여에 대한 표준이다. 2007년 버전 1.0이 발표된 이후 2012년 2.0이, 2020년 2.1이 발표되어 현재까지 이르고 있다. 더 와닿도록 말하자면 OAuth란 아래와 같은 방식을 말한다. 위 스크린샷은 흔히 소셜 로그인이라고 불리는 회원가입 창이다. 페이스북, 혹은 구글과 아무런 관련이 없는 핀터레..
지난 글에선 세션 인증 방식과 토큰 인증 방식을 비교했다. 2022.09.23 - [Development/Network] - [Network]세션 기반 인증 vs. 토큰 기반 인증 [Network]세션 기반 인증 vs. 토큰 기반 인증 지난 글에서 HTTP의 비연결성(Conectionless)과 무상태성(Stateless)을 극복하기 위한 방법으로써의 쿠키, 세션과 보안과정인 TLS, 그리고 그것이 적용된 HTTPS의 통신 방식에 대해서 살펴보았다. 여기서 gnidinger.tistory.com 이번 글에서는 토큰 기반 인증 방식의 표준인 JWT에 대해 알아보자. JWT(JSON Web Token) JWT(JSON Web Token)는 이름 그대로 JSON으로 만들어진 웹 토큰을 말한다. 조금 구체적으로..
지난 글에서 HTTP의 비연결성(Conectionless)과 무상태성(Stateless)을 극복하기 위한 방법으로써의 쿠키, 세션과 보안과정인 TLS, 그리고 그것이 적용된 HTTPS의 통신 방식에 대해서 살펴보았다. 여기서 비연결성과 무상태성이란 Connectionless - 클라이언트가 요청을 한 뒤 응답을 받으면 서버가 연결을 끊어버리는 특성 Stateless - 연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며, 상태 정보를 유지하지 않는 특성 을 말하며, 쿠키와 세션을 이용한 극복은 연결 및 상태를 유지하는(Stateful) 방식으로 이루어졌다. 2022.08.03 - [Development/Network] - [네트워크]웹(WEB) 2022.08.04 - [Development/Network..
지난 글에서 스프링 시큐리티의 구조와 작업 흐름을 간략하게 살펴보았다. 2022.09.21 - [Development/Spring] - [Spring]Spring Security [Spring]Spring Security 스프링 시큐리티는 2003년 발표된 인증(Authentication), 권한 부여(Authorization) 및 보안 프레임워크이다. 2022년 현재 버전 5까지 나와있으며, 스프링을 기반으로 한 엔터프라이즈 앱 보안의 사실상 표 gnidinger.tistory.com 그중 일반적인 보안 적용의 흐름을 먼저 보고 스프링 시큐리티의 필터를 끼워넣었는데, 이번 글에서는 스프링 시큐리티 필터로 요청이 전달되었을 때의 인증 절차에 대해 알아본다. Spring Security: Authentic..
스프링 시큐리티는 2003년 발표된 인증(Authentication), 권한 부여(Authorization) 및 보안 프레임워크이다. 2022년 현재 버전 5까지 나와있으며, 스프링을 기반으로 한 엔터프라이즈 앱 보안의 사실상 표준이다. 버전 3 기준으로 대략 아래와 같은 모듈 구조를 가지고 있으며, 스프링 시큐리티를 사용하면 즉시 다음과 같은 작업을 지원하기 때문에 다양한 유형(폼 로그인, 토큰 기반, OAuth 2 기반)의 인증 사용자의 역할에 따른 권한 레벨 및 리소스에 대한 접근 제어 TLS 적용 및 민감한 정보 암호화 알려진 보안 공격 차단 다양한 커스터마이징 및 유연한 확장 개발자가 직접 보안 기능을 구현할 수 있음에도 스프링 시큐리티를 사용하는 것이 안전한 선택이 된다. 진도를 더 나가기 전..
- Total
- Today
- Yesterday
- 야경
- 백준
- 면접 준비
- 리스트
- 세계일주
- 스트림
- a6000
- Python
- 자바
- 세모
- 기술면접
- 유럽여행
- 칼이사
- Backjoon
- 중남미
- 여행
- 세계여행
- java
- spring
- RX100M5
- Algorithm
- 맛집
- 남미
- 알고리즘
- 스프링
- 파이썬
- 유럽
- 동적계획법
- BOJ
- 지지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |