Spring Security 시작

김병수·2022년 11월 19일
0
post-thumbnail

HTTPS

http에 보안이 강화된 버전. 인증서, CA, 비대칭 키 암호화 방식을 사용한다.

  • 인증서
    데이터 제공자의 신원을 보장한다. 인증서의 도메인과 응답 객체의 도메인을 비교하여 같다면 데이터를 제공한다.
  • CA
    공인 인증서 발급기관
  • 비대칭 키 암호화
    암호화와 복호화의 키가 서로 다름

서버가 일방적으로 클라이언트에 전달하는 작은 데이터. 클라이언트에서 데이터를 저장하는 방법이다. 로그인 상태 유지가 대표적인 예시이다.

쿠키 옵션

  1. Domain
    서버에 접속할 수 있는 이름

  2. Path
    서버가 라우팅할 때 사용하는 경로
    https://www.localhost.com:3000/users 에서 localhost.com은 도메인, /users가 Path이다.

  3. MaxAge or Expires
    쿠키의 유효한 기간. 브라우저가 실행 중일 때만 사용할 수 있는 세션 쿠키와 지정된 유효 시간만큼 사용가능한 영속성 쿠키가 있다.

  4. Secure
    쿠키 전송여부. true 옵션의 경우 HTTPS 프로토콜만 쿠키를 전송할 수 있다.

  5. HttpOnly
    쿠키 접근 여부 결정. true 옵션의 경우 자바스크립트에서 쿠키에 접근이 불가능하다.

  1. SameSite
    Cross-Origin 요청을 받은 경우 요청에서 사용한 메소드와 해당 옵션(e.g. GET, POST, PUT, PATCH …)의 조합으로 서버의 쿠키 전송 여부를 결정하게 됨.

Session

웹 사이트의 여러 페이지에 결쳐 사용되는 사용자 정보를 저장하는 방법. 쿠키와 달리 세션은 서버에 데이터를 저장한다. 서버가 클라이언트에 암호화된 ID를 부여한다. 사용자가 로그인하게 되면 세션 아이디가 클라이언트로 전달된다. 로그인을 유지하기 위한 수단으로 쿠키를 사용하고, 쿠키에 세션 아이디를 저장한다. 로그아웃을 하게 되면 세션 아이디 값을 무효값으로 갱신한다.

profile
BE 개발자를 꿈꾸는 대학생

0개의 댓글