💐 Spring/Spring Security
4. JWT를 이해하기 전 RSA에 대해서
iseunghan
2021. 10. 27. 10:33
반응형
이 포스트는 데어 프로그래밍님의 유튜브 강의를 듣고 나서 정리한 글입니다.
2021.10.26 - [💐 Spring/Spring Security] - 3. JWT를 이해하기 전 CIA 대해 이해하기
3. JWT를 이해하기 전 CIA 대해 이해하기
이 포스트는 데어 프로그래밍님의 유튜브 강의를 듣고 나서 정리한 글입니다. CIA CIA(Confidentiality Integrity Availability) Confidentiality(기밀성) 개인정보, 민감한 정보 등을 인가된 사용자에게만 허가..
iseunghan.tistory.com
저번 시간에 두 가지 문제가 있었습니다.
- 열쇠 전달 문제
- 누가 보냈는지? 에 대한 문제, 인증문제를 어떻게 할 것인가
RSA(암호화)
- Public Key : 공개 키
- 자신의 블로그나 오픈된 공간에 공개해도 문제되지 않음
- Private Key : 개인 키
- 오직 자신만 알고 있어야 함
공개키로 암호화를 했다면, 개인키로만 열 수 있습니다.
만약 개인키로 암호화를 했다면, 공개키로만 열 수 있습니다.
이전 문제에 RSA를 적용하여 해결해보자
- A가 비밀번호를 보낼 때, B의 공개키로 암호화를 한 뒤 보냈다.
- 하지만, 중간에 C가 중간에 가로챘다. 하지만 C는 내용을 볼 수가 없다. 왜? B의 공개키는 반드시 B의 개인키로만 열 수 있으므로
열쇠 전달 문제 해결
그렇다면 누가 보냈는지는 어떻게 인증할까?
- 위에서 B의 공개키는 반드시 B의 개인키로만 열 수 있다고 했다.
- 그렇다는 건? 반대로 적용하면 어떨까?
- A가 보냈다는 의미로 자신의 개인키로 한번 더 잠그는 것이다.
- 만약 A가 보낸게 맞다면 무조건 A의 공개키로 열려야만 한다는 것이다!
B는 이제 문서를 받았을 때, 아래와 같이 처리한다.
인증
- A의 공개키로 문서를 열어본다.
- 열린다? A가 보낸 것이 확실하다. (인증 완료)
- 안열린다? A가 보낸 것이 아니므로 열지 않는다.
암호화
- B의 개인키로 열어본다.
- 열린다? 암호화가 잘 되었다. (암호화 완료)
- 안열린다? 암호화가 되지 않았다.
RSA
공개키 -> 개인키 (암호화에 자주 사용)
개인키 -> 공개키 (전자 서명에 자주 사용)
감사합니다.
반응형