
서버 인증 이전에 클라이언트와 서버는 각각의 공개키를 공유하고 이를 바탕으로 대칭키를 만든다고 하였습니다. 이후 대칭키로 데이터를 암복호화 하여 통신한다고 했는데 가장 중요한건 클라이언트가 서버를 어떻게 믿을것인가 입니다. 이를 가능하게 하는것이 인증서를 통한것입니다. 인증서를 통해 서버가 믿을만한 놈인지 구별할 수 있습니다. 인증서 이런 화면 많이 본적 있을겁니다. 이것이 https 통신을 하고 있다는 의미인데요. 정확히는 ssl/tls인증방식을 사용하고 있다는것입니다. 인증서는 다음과 같은 정보를 가지고 있습니다. 1. 서비스 정보(인증서를 발급한 CA, 서비스의 도메인 등) 2. 서버 측 공개키(공개키, 공개키 암호화 방법) 3. 지문, 디지털 서명 등 여기서 처음볼 수 있는 CA, 지문, 디지털 ..

SSL/TLS? 한줄요약: SSL과 TLS는 거의 같은거다. SSL(Secure Socket Layer) ssl은 브라우저 간의 통신 시 데이터를 주고받을때 암호화를 하여 안전하게 통신하기 위한 표준 규약입니다. 다음 그림과 같이 Transport Layer 위에 SSL Record Protocol 이 존재하면 TCP/IP 통신시에 해당 규약을 통해 암호화된 데이터를 교환합니다. 여기서 Transport layer가 뭔가 TLS와 연관이 있는거 같습니다. TLS(Transport Layer Socket) 처음에 네스케이프에 의해 발명된 SSL이 표준화가 되며 바뀐 이름이 TLS입니다. TLS 1.0은 SSL 3.0을 계승했습니다. 근데 아직 TLS라는 이름은 생소하여 SSL이 더 널리 쓰이긴 합니다. 즉..