Security 4

Spring Security : JWT #26

token : 광범위하게 사용되는 용어, 암호화된 데이터 → 쿠키 세션 : 서버와 클라이언트가 반씩 가져감 FormLogin 쿠키 : 클라이언트가 가짐(브라우저에서 관리할 수 있는 아이템, 토큰은 문자열일 뿐인데 쿠키에 담아서 운영하는 것) -> id/pwd를 최초로 적용해서 해당 필터를 거친 후 토큰(2덩이)를 받아 추후에는 토큰 값만 던짐 JWT(Json Web Token) : 토큰방식에서 대표적인것이지 = 토큰은 아님 XXXX.YYYY.ZZZZ : 암호화되어있음(Base64 URL 인코딩 사용) header payload : 인증되어야할 정보. 디코딩하면 바로 보이기 때문에 민감한 정보가 들어가면 안됨 signature //실제 헤더에 토큰값이 담기는 모습 // Http header >> key :..

Spring Security : Authorization 2/2 #Day25

https://docs.spring.io/spring-security/reference/servlet/architecture.html 권한, 인가의 의미이며 member - role -privilege의 관계 authentication이 완료된 후에 authorization 설정 진행 loadUserByUsername 인터페이스 내에 SimpleGrantedAuthority를 사용해 Role 베이스 형태의 권한을 지정 @RequiredArgsConstructor @Service public class CustomUserDetailsService implements UserDetailsService { private final MemberService memberService; @Override publi..

Spring Security : Authentication 1/2 #Day24

Spring Security 개요 Spring MVC 기반 애플리케이션의 인증(Authentication)과 인가(Authorization) 기능을 지원하는 보안 프레임워크로써, Spring MVC 기반 애플리케이션에 보안을 적용하기 위한 사실상의 표준 다양한 유형(폼 로그인 인증, 토큰 기반 인증, OAuth 2 기반 인증, LDAP 인증)의 사용자 인증 기능 적용 애플리케이션 사용자의 역할(Role)에 따른 권한 레벨 적용 애플리케이션에서 제공하는 리소스에 대한 접근 제어 민감한 정보에 대한 데이터 암호화 SSL 적용 일반적으로 알려진 웹 보안 공격 차단 이 외에도 SSO, 클라이언트 인증서 기반 인증, 메서드 보안, 접근 제어 목록(Access Control List) 같은 보안을 위한 기능들을 지..

보안 기초 : 쿠키(Cookie) & 세션(Session) #Day23

HTTPS : 보안인증서가 있는 http 암호화 : 클라이언트와 서버가 데이터를 암호화하여 주고받기 위해 비대칭키 방식과 대칭키 방식 혼용하여 사용 인증서 : rootCA로 부터 서버의 신원을 보증 HTTPS 사설인증서 발급 및 서버 구현 자바에서 지원하는 인증서 형식 PKCS12 (public key cryptographic standards #12) :여러 인증서와 키를 포함할 수 있으며, 암호로 보호된 형식(널리 사용) JKS (Java KeyStore) : PKCS12와 유사. 독점 형식이며 Java 환경으로 제한 1. 인증서 생성 mkcert : PKCS12형태의 사설인증서 생성 라이브러리 brew install mkcert //로컬을 인증된 발급기관으로 추가 mkcert -install //p..