SpringbootSecurity

SpringbootSecurity/RFC문서에 대한 개념

25G 2021. 9. 4. 17:07

https://jwt.io/

 

JWT.IO

JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.

jwt.io

이 사이트로 가면 JWT에 대한 설명이 나온다. 어떤 암호화 방식을 쓰는지 어떻게 사용하는지 등등 잘 나와있다.(영어긴 하지만...)

그래서 여기에 적인 문서를 정리를 하기 위해서 포스팅을 한다.

그럼 JWT를 이해하기 전에 RFC문서가 뭔지 알아야 이해할 수 있다.

이 JWT는 RFC7519번 문서에 설명이 나오기 때문이다.

 

RFC문서란?

 

http라는 것은 미국에 벨연구소라는 곳이 있는며 여기서 월드 와이드 웹(WWW)이 나왔다. www가 뭐냐면 내부망안에 있는 컴퓨터끼리 선이 연결이 돼있다면 그 선을 통해서 컴퓨터끼리 통신을 하고 있었다. 

이 상황에서 다른 내부망을 가진 A대학이 벨연구소와 통신을 하고 싶었다고 가정을 해보자.

이때 서로 다른 내부망끼리 통신을 하려면 서로 약속된 규칙이 있어야 한다.

그래서 이때 서로 약속된 규칙 하나가 RFC1번 문서가 되는 것이다. 그리고 이 문서를 프로토콜이라고 한다.

그럼 A대학이 아닌 B대학이 또 벨연구소나 A대학으로 통신을 하고 싶으면

또 약속을 하나 해야 하니 RFC2번 문서가 만들어졌다.

이렇게 약속을 하나하나 하면서 네트워크 망이 점점 커지고 많아지게 되는데 이 네트워크 망이 www(월드 와이드 맵) 인터넷이라고 하는 것이다.

이 인터넷이라는 것은 이 www로 이루어져있다. 그리고 서로 한 약속을 http프로토콜이라고 한다.

그럼 또 다른 내부망을 가진 집단이 www로 들어오려 할 때 이때도 www와 약속(프로토콜)이 필요한데 이때 www에서 동의하지 않으면 RFC문서로 만들어지지 않는다.

 

그래서 JWT는 WWW에서 인정한 7519번째 약속이라는 것이다.

조금만 생각해 봐도 알 수 있는것은 약속은 쌓이면 쌓일수록 새로운 약속을 만들기 어렵다는 것이다. 왜냐하면 이전약속을 다 지키고 새로운 약속을 추가해야하니까!