Java Spring Boot 007-1 | Auth & Https

Yunny.Log ·2022년 3월 14일
0

Spring Boot

목록 보기
34/80
post-thumbnail

Auth의 의미

로그인

  • 한 개인이 자기 자신을 증명함으로써 특정 컴퓨터 시스템에 접근하는 행위

Auth : Authentication과 Authorization

1) Authentication : 사용자가 자신이 누구인지를 증명하는 과정

  • 로그인, 소셜 로그인

2) Authorization : 사용자의 기능 사용 권한을 검증하는 과정

  • 권한 관리, 작성, 차단 (사용자의 권한에 따라서 기능 다르게 부여하는 것)
  • 서비스별로 잘 나누어주어야 한다

TLS

  • 컴퓨터 네트워크 상에 정보를 안전하게 공유하기 위한 암호화 규칙

  • 흔히 말하는 HTTPS는 HTTP에 TLS가 적용된 형태

  • 암호화 : 특정 규칙(알고리즘) 으로 평범 데이터를 제3자가 확인 못하게 정보 숨기는 과정

    • 대칭키 암호화 : 같은 키를 가지고 암호화,복호화
    • 비대칭키 암호화 : 공개키, 개인키라는 두가지 키를 가짐
      => 암호화 진행 시에는 공개키
      => 그러나 복호화할 때는 공개키로 불가, 오직 개인키로만 복호화 가능
    • TLS :
      1) 클라이언트 : 사용 가능한 암호화 방식 요청
      2) 서버는 선택한 암호화 방식 및 인증서(내가 믿을 서버다) 제공

  • 소셜 로그인 과정

  • 대중적인 소셜 로그인 과정

JWT

  • jwt : 공개키 암호화를 이용해 사용자 권한을 안전하게 주고받는 용도

    1) header :
    2) payload
    3) signature

  • 전달할 데이터를 비밀키로 암호화해서 전달

  • 돌려줄 때 공개키로 복호화해서 전달


1) 비밀키를 이용해 암호화 : 만들 수 있는 대상이 한정
2) 공개키를 이용해 복호화 ; 해석 대상 제한 없음
-> 토큰 소유자의 권한을 나타내는 용도로 활용

0개의 댓글