이 포스트는 데어 프로그래밍님의 유튜브 강의를 듣고 나서 정리한 글입니다. 토큰을 검증 할 필터 생성 필터를 이용하여 토큰 검증을 했을 때, 유효하지 않다면 해당 컨트롤러로 더 이상 접근하지 못하도록 할 수 있습니다. public class MyFilter3 implements Filter { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) servletRequest; HttpServletR..
이 포스트는 데어 프로그래밍님의 유튜브 강의를 듣고 나서 정리한 글입니다. Spring Security Filter 구조 필터를 등록하기 전 SpringFilterChain 구조에 대해서 먼저 알면 좋습니다. Filter를 생성해보자 public class MyFilter1 implements Filter { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("Filter 1"); filterChain.doFilter(servletReque..
이 포스트는 데어 프로그래밍님의 유튜브 강의를 듣고 나서 정리한 글입니다. Token 인증 방식 세션을 사용했을 때의 서버에 두는 세션 저장소, 또 여러 서버일 때의 처리해야 할 문제들을 한방에 해결할 수 있습니다. 쿠키를 사용하지 않아도 되므로 쿠키를 탈취 당했을 때의 보안 취약점들도 사라지게 됩니다. 서버가 여러 대 이어도 Secret_key 값만 알고 있으면 토큰을 Valid 할 수 있습니다. Session은 동일 도메인에서만.. 만일 동일 도메인에서의 요청이 아니라면, 쿠키가 안 날라간다! (서버에서 쿠키를 거부!) 그렇다면, javascript에서 Ajax로 헤더에 쿠키를 강제로 담아서 보낼 수가 있는데, 서버에서는 HTTP Only 설정을 통해 외부에서 HTTP 요청이 아닌 javascript..
이 포스트는 데어 프로그래밍님의 유튜브 강의를 듣고 나서 정리한 글입니다. JWT란? jwt.io에 가보면 JWT를 이렇게 설명합니다. JWT로 주고받는 정보는 디지털 서명이 되어있으므로 확인하고 신뢰할 수 있다. JWT는 HMAC SHA256 (HS256) 알고리즘을 사용한다. JWT는 정보를 암호화하여 주고받을 수 있지만, 서명된 토큰에 중점을 둘 것. ("이건 내가 보낸게 맞아!" 라는 서명, 인증에 중점을 두었다.) JWT 구조 (.)을 기준으로 세가지 부분으로 나뉜다. Header Payload Signature 완성된 토큰은 이렇다. xxxxx.yyyyy.zzzzz Header { "alg": "HS256", "typ": "JWT" } 어떤 알고리즘으로 암호화를 했는지 토큰의 타입이 무엇인지 ..
이 포스트는 데어 프로그래밍님의 유튜브 강의를 듣고 나서 정리한 글입니다. 2021.10.26 - [💐 Spring/Spring Security] - 3. JWT를 이해하기 전 CIA 대해 이해하기 3. JWT를 이해하기 전 CIA 대해 이해하기 이 포스트는 데어 프로그래밍님의 유튜브 강의를 듣고 나서 정리한 글입니다. CIA CIA(Confidentiality Integrity Availability) Confidentiality(기밀성) 개인정보, 민감한 정보 등을 인가된 사용자에게만 허가.. iseunghan.tistory.com 저번 시간에 두 가지 문제가 있었습니다. 열쇠 전달 문제 누가 보냈는지? 에 대한 문제, 인증문제를 어떻게 할 것인가 RSA(암호화) Public Key : 공개 키 자신..