💐 Spring/Spring Security

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

iseunghan 2021. 10. 26. 16:37
반응형

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

 

CIA

CIA(Confidentiality Integrity Availability)

  • Confidentiality(기밀성)
    • 개인정보, 민감한 정보 등을 인가된 사용자에게만 허가
  • Integrity(무결성)
    • 내용의 변경이나, 훼손없이 정확하게 보존
  • Availability(가용성)
    • 항상 정상적으로 신뢰성 있는 서비스를 할 수 있는 상태

 

예를 들어, A나라, B나라, C나라가 있다고 가정해봅시다.

  • A나라가 B나라에게 문서를 전달하는데, 중간에서 C나라가 그 문서를 탈취했습니다. -> 기밀성깨짐

 

  • A나라가 B나라에게 문서를 전달하는데, 이번에는 C나라가 위조된 문서를 전달시켰습니다. -> 무결성깨짐

 

  • B나라는 A나라가 보내준 문서를 잘 받았습니다. (사실 C나라가 위조시킨 문서인데 말이죠 ,,) -> 가용성깨짐

 

가용성을 지키는 방법

  • 문서를 보낼 때, 최고의 전사들과 함께 보내는 겁니다.
    • 하지만, C나라에 더 강한 전사들이 있다면? C나라에게 탈취 당함

 

기밀성을 지키는 방법

  • 문서를 A라는 열쇠로 잠그고(암호화) 보내주는 겁니다. -> 기밀성을 지킴
    • 하지만, C나라가 문서를 열지 못할지 몰라도 그건 B나라도 마찬가지다. 열쇠 전달 문제가 발생!

 

누가 보낸거지..?

  • A가 B에게 내일 10시에 보자고 보냈다.
  • 그러자 B에게 알겠다고 응답이 왔다. 하지만 다음 날 B는 나오지 않았다.
  • 왜?

 

B가 보낸거 맞아?

 

A가 보낸거 맞아?

 

누가 보냈는지에 대한 문제가 있다.

 

이 문제를 해결하기 위해 다음 시간에는 RSA에 대해서 배워보도록 하겠습니다.
반응형