💐 Spring/Spring Security

4. JWT를 이해하기 전 RSA에 대해서

2021. 10. 27. 10:33
목차
  1. RSA(암호화)
  2. 이전 문제에 RSA를 적용하여 해결해보자
  3. 그렇다면 누가 보냈는지는 어떻게 인증할까?
  4. RSA
반응형

이 포스트는 데어 프로그래밍님의 유튜브 강의를 듣고 나서 정리한 글입니다.

 

2021.10.26 - [💐 Spring/Spring Security] - 3. JWT를 이해하기 전 CIA 대해 이해하기

 

3. JWT를 이해하기 전 CIA 대해 이해하기

이 포스트는 데어 프로그래밍님의 유튜브 강의를 듣고 나서 정리한 글입니다. CIA CIA(Confidentiality Integrity Availability) Confidentiality(기밀성) 개인정보, 민감한 정보 등을 인가된 사용자에게만 허가..

iseunghan.tistory.com

 

저번 시간에 두 가지 문제가 있었습니다.

  1. 열쇠 전달 문제
  2. 누가 보냈는지? 에 대한 문제, 인증문제를 어떻게 할 것인가

 

RSA(암호화)

  • Public Key : 공개 키
    • 자신의 블로그나 오픈된 공간에 공개해도 문제되지 않음
  • Private Key : 개인 키
    • 오직 자신만 알고 있어야 함

 

공개키로 암호화를 했다면, 개인키로만 열 수 있습니다.

만약 개인키로 암호화를 했다면, 공개키로만 열 수 있습니다.

 

이전 문제에 RSA를 적용하여 해결해보자

  • A가 비밀번호를 보낼 때, B의 공개키로 암호화를 한 뒤 보냈다.
  • 하지만, 중간에 C가 중간에 가로챘다. 하지만 C는 내용을 볼 수가 없다. 왜? B의 공개키는 반드시 B의 개인키로만 열 수 있으므로

 

열쇠 전달 문제 해결

 

그렇다면 누가 보냈는지는 어떻게 인증할까?

  • 위에서 B의 공개키는 반드시 B의 개인키로만 열 수 있다고 했다.
  • 그렇다는 건? 반대로 적용하면 어떨까?
  • A가 보냈다는 의미로 자신의 개인키로 한번 더 잠그는 것이다.
  • 만약 A가 보낸게 맞다면 무조건 A의 공개키로 열려야만 한다는 것이다!

 

B는 이제 문서를 받았을 때, 아래와 같이 처리한다.

인증
  • A의 공개키로 문서를 열어본다. 
    • 열린다? A가 보낸 것이 확실하다. (인증 완료)
    • 안열린다? A가 보낸 것이 아니므로 열지 않는다.
암호화
  • B의 개인키로 열어본다.
    • 열린다? 암호화가 잘 되었다. (암호화 완료)
    • 안열린다? 암호화가 되지 않았다.

 

 

RSA

공개키 -> 개인키 (암호화에 자주 사용)
개인키 -> 공개키 (전자 서명에 자주 사용)


감사합니다.

반응형
저작자표시 (새창열림)
  1. RSA(암호화)
  2. 이전 문제에 RSA를 적용하여 해결해보자
  3. 그렇다면 누가 보냈는지는 어떻게 인증할까?
  4. RSA
'💐 Spring/Spring Security' 카테고리의 다른 글
  • 6. JWT를 사용하기 위한 프로젝트 세팅
  • 5. JWT 구조에 대해서
  • 3. JWT를 이해하기 전 CIA 대해 이해하기
  • 2. JWT를 이해하기 전 TCP에 대해서
iseunghan
iseunghan
꾸준하게 열심히..
iseunghan
iseunghan

공지사항

  • 어제보다 나은 오늘이 되기 위해 🔥
  • 분류 전체보기 (262)
    • 💐 Spring (14)
      • 개념 및 이해 (2)
      • Spring 핵심 기술 (24)
      • Spring REST API (8)
      • Spring MVC, DB 접근 기술 (7)
      • Spring Security (23)
      • Spring in Action (1)
    • 🌻 JAVA (84)
      • 자바 ORM 표준 JPA 프로그래밍 (20)
      • 알고리즘, 자료구조 (13)
      • 디자인 패턴 (7)
      • 정리정리정리 (43)
      • JUnit (1)
    • 🔖 Snippets (3)
      • Javascript (3)
    • ⚙️ Devops (22)
      • ⛏ Git (11)
      • 🐳 Docker (6)
      • 🐧 Linux (3)
      • 🌈 Jenkins (1)
      • 📬 Kafka (1)
    • 💬 ETC.. (4)
      • 💻 macOS (2)
    • 🌧️ ORM (2)
      • JPA (2)
    • 🐍 Python (3)
    • 📚 Databases (15)
      • 오라클로 배우는 데이터베이스 개론과 실습(2판) (3)
      • RealMySQL 8.0 (8)
    • 🔥 Computer Science (5)
      • 📡 네트워크 (5)
    • 🏷️ 협업 (1)
    • 📜 코딩테스트 (38)
      • BAEKJOON\수학 1, 수학 2 (8)
      • BAEKJOON\재귀 (5)
      • BAEKJOON\브루트 포스 (3)
      • BAEKJOON\정렬 (1)
      • BAEKJOON\백트래킹 (5)
      • BAEKJOON\BFS, DFS (6)
      • BAEKJOON\이분탐색 (1)
      • BAEKJOON\다이나믹 프로그래밍 (9)
      • BAEKJOON\그리디 알고리즘 (0)
    • ✨ ISEUNGHAN (1)

인기 글

전체
오늘
어제
반응형
hELLO · Designed By 정상우.
iseunghan
4. JWT를 이해하기 전 RSA에 대해서
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.