Spring/Spring Security 15

[Security 기초] 봉투암호화, 블록 암호화 이해하기 (feat. AWS KMS + CBC)

해당 주제들은 필자가 회사에서 서버 코드를 분석하던 중 알게된 이번 글에서는 봉투암호화와 이와 관련된 여러 블록암호화 종류와 예시코드를 볼 예정이다. 0. 들어가기 전에암호화 기초로 이전에 대칭키, 비대칭키에 대해 공부했다. ([Security 기초] HTTPS와 SSL/TLS이해와 실습 (feat. 암호화 기초))구분대칭키비대칭키 (공개키/비공개키)동작 방식암호화와 복호화에 동일한 하나의 열쇠 사용암호화(공개키)와 복호화(비공개키)에 서로 다른 열쇠 쌍 사용속도연산이 단순하여 처리 속도가 매우 빠름수학적 연산이 복잡하여 처리 속도가 느림실생활 비유집 현관문 열쇠 (잠그고 열 때 같음)우체통 (누구나 잠글 수 있지만 우체부만 열 수 있음)치명적 한계단일 키 유출 시 시스템 전체가 뚫림 (안전한 키 전달..

[Security 기초] HTTPS와 SSL/TLS이해와 실습 (feat. 암호화 기초)

이번 글에서는 필자가 공부한 암호화 관련 정보를 정리하고 HTTPS와 SSL/TLS에 대해 이해하고자 글을 정리한다. 암호화 기초는 사실 가져다가 쓰기만 했고 그런가보다~ 했는데 깔끔하게 이를 정리하려고 한다. 해당 글은 생활코딩에 올라와 있는 HTTPS와 SSL 인증서의 흐름을 참고해서 정리했고, 필자의 mini pc 환경에서 실습을 진행했다. 0. 들어가기 전에 알고리즘(Algorithm)이란?알고리즘을 사전적으로 정의하면 어떤 의미일까? 어떠한 문제를 해결하거나 특정 작업을 완수하기 위해 정의된 명확하고 단계적인 절차나 방법의 집합 다시 쉽게 정리하면 특정 목적을 위해 정의한 절차 혹은 방법을 알고리즘이라고 한다. 1. 암호화 기초 정리 암호화란 무엇인가? 위키피디아 정의에 따르면 승인된 당사자..

[Spring Security] AuthorizationFilter로 HttpServletRequests 인증하기 (Authorize HttpServletRequests with AuthorizationFilter)

지난 시간에는 Spring Security의 인가 구조에 대해 알아보았다. (지난 내용이 궁금하다면 여기 🤦‍♀️🤦‍♀️ 클릭!!) 이번 시간에는 AuthorizationFilter로 HttpServletRequests를 어떻게 인증하는지 알아볼 것이다. 참고한 사이트는 다음과 같다. 출처: https://docs.spring.io/spring-security/reference/servlet/authorization/authorize-http-requests.html Authorize HttpServletRequests with AuthorizationFilter AuthroizationFilter는 FilterSecurityInterceptor를 대체한다. 뒤에 호환이 되게 남기기 위해, FilterS..

[Spring Security] [번역]Spring Security without the WebSecurityConfigurerAdapter / Lambda DSL

필자는 최근에 Spring Security를 많이 보는데 Spring Security 5.7.0 이상 버전에서는 WebSecurityConfigurerAdapter 가 Deprecated되었기에 이에 대한 정보를 찾고 있었다. 그러던 중 우연히 Spring Blog 에서 이에 데해 설명하는 글을 읽었고, 이에 대한 내용을 소개하고자 한다. 이에 더해, 기존의 Spring Security 의 configuration중 lambda DSL이라는 기능을 추가했다고 하니 이것도 알아볼 것이다. 참고한 내용들의 주소는 다음과 같다. 출처: https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter https:/..

[Spring Security] 인가 구조(Authorization Architecture)

이번시간에는 Spring Security의 인가 구조(Authentication Architecture)에 대해 알아볼 것이다. Spring Security 를 공부하기 전에, 인증과 인가라는 개념에 대해 알아야 하는데, 인증은 어떤 특정 사용자의 신원을 확인하는 것이고, 인가는 그 사용자에게 부여된 권한이 무엇인지 확인하는 것 이라고 보면 된다. 참고한 사이트는 다음과 같다. 출처: https://docs.spring.io/spring-security/reference/servlet/authorization/architecture.html https://docs.spring.io/spring-security/reference/servlet/authentication/architecture.html#se..

[Spring Security] 익명사용자 인증(Anonymous Authentication) / 로그아웃 처리(Handling Logouts)

이번 시간에는 Spring Security의 익명 사용자 인증(Anonymous Authentication)에 대해 알아보도록 하겠다. 참고로 이건 TMI이긴 한데... Spring Security를 공부하다가 Event 관련 클래스를 상속하는 것들이 있어서 Spring Event를 잘 모르겠어서 공부를 좀 하고 왔기에... Spring Security공부가 중도에 멈췄다... 하여간... 참고한 내용은 다음과 같다. 출처: https://docs.spring.io/spring-security/reference/servlet/authentication/anonymous.html Anonymous Authentication 1. 개요 많은 사이트들이 몇개의 URL들보다 모든 URL 들에 사용자가 인증되길 ..

[Spring Security] Remember-Me Authentication

지난 시간에는 Spring Security의 Session Management에 대해 알아보았다. (지난 내용이 궁금하면 여기 클릭!) 이번 시간에는 Remember-me에 대해 공부하려고 한다. 참고한 사이트는 다음과 같다. 출처: 인프런 정수원 강사님의 코어 스프링 시큐리티(https://www.inflearn.com/course/%EC%BD%94%EC%96%B4-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0) https://docs.spring.io/spring-security/reference/servlet/authentication/rememberme.html https://docs.spring.io/spring-securit..

[Spring Security] 세션 관리(SessionManagement)

저번 시간에는 Spring Security에서 인증 저장에 대해 알아보았다. (지난 내용이 궁금하면 여기 클릭! 😍😍 요기 😍😍) 이번 시간에는 Spring Security에서 어떻게 session을 관리하는지 알아보도록 하겠다. 참고한 사이트는 다음과 같다. 출처: https://docs.spring.io/spring-security/reference/servlet/authentication/session-management.html https://www.inflearn.com/course/%EC%BD%94%EC%96%B4-%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0 또한, 인프런 정수원 강사님의 강의를 참고도 했습니다 :) Ses..

[Spring Security] 인증 저장(Persisting Authentication)

지난 시간에는 Password Storage의 종류에 대해 알아보았다. (궁금하면 여기 클릭해주세요 👍👍👍👍 클릭!) 이번 시간에는 지속 인증(Persisting Authenticaion)에 대해 알아볼 것이다. 참고한 사이트는 다음과 같다. 출처: https://docs.spring.io/spring-security/reference/servlet/authentication/persistence.html https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=moonv11&logNo=220699898987 https://docs.spring.io/spring-security/site/docs/3.2.8.RELEASE/apidocs/org..

[Spring Security] 저장 메커니즘(Storage Mechanism)

지난 시간에 Form, Basic방식을 통한 Authentication(인증)을 알아보았다. (궁금하면 여기 🤣🤣🤣 클릭!) 이번 시간에는 공식 사이트에서 알려주는 저장 메커니즘(Storage Mechanism)에 대해 알아볼 것이다. 참고한 사이트는 다음과 같다. 출처: https://docs.spring.io/spring-security/reference/servlet/authentication/passwords/storage.html 1. 저장 메커니즘(Storage Mechianism) username과 password를 읽는 각각의 지원되는 메커니즘은 어떤 지원되는 메커니즘도 사용 가능하다. Simple Storage with In-Memory Authentication Relational Da..