Skip to content

Latest commit

 

History

History
94 lines (44 loc) · 3.75 KB

File metadata and controls

94 lines (44 loc) · 3.75 KB

SSL(Secure Socket Layer)이란?

Certificate Authority(CA)라 불리는 서드 파티로부터 서버와 클라이언트의 인증을 하는데 사용

클라이언트와 서버 간에 공유하는 암호화키를 가지고 암호화된 데이터가 송수신되는 방식

HTTP 프로토콜 상위에 통신시 보안을 위한 SSL 관련 프로토콜이 있는 것임.

SSL의 암호화 - 대칭키

암호화를 할 때 사용하는 일종의 비밀번호는 키(key)

동일한 키로 암호화와 복호화를 같이 할 수 있는 방식의 암호화 기법

  • 단점 : 암호를 주고 받는 사람들 사이에 대칭키를 전달하는 것이 어렵다. 대칭키가 유출되면 암호가 무용지물이다.

SSL의 암호화 - 공개키

두 개의 키를 가져, A키를 암호화하면 B키로 복호화할 수 있고 B키로 암호화하면 A키로 복호화할 수 있는 방식

  • 두 개의 키 중 하나를 비공개키(private key, 개인키, 비밀기), 다른 하나를 공개키(public key)로 지정
  • 비공개키는 자신만 가지고 있고, 공개키를 타인에게 제공
  • 타인은 제공 받은 공개키를 이용해서 정보를 암호화
  • 비공개키를 이용해서 암호화된 정보를 복호화
  • 공개키가 유출되더라도 비공개키를 모르면 정보를 복호화할 수 없기 때문에 안전함

전자 서명

  • 비공개키의 소유자는 비공개키를 이용해서 정보를 암호화
  • 공개키와 함께 암호화된 정보를 전송
  • 전송받은 곳에서 공개키를 이용해서 암호화된 정보를 복호화

=> 데이터를 제공한 사람의 신원을 보장하는 것임.

SSL 인증서

클라이언트와 서버 간의 통신을 제 3자가 보증해주는 전자화된 문서

  • 클라이언트가 서버에 접속한 직후에 서버는 클라이언트에게 이 인증서 정보를 전달함.

  • 클라이언트는 이 인증서 정보가 신뢰할 수 있는 것인지를 검증함.

  • 이점

    : 통신 내용이 공격자에게 노출되는 것을 막을 수 있음.

    : 클라이언트가 접속하려는 서버가 신뢰할 수 있는 서버인지 판단할 수 있음.

    : 통신 내용의 악의적인 변경을 방지할 수 있음.

CA

클라이언트가 접속한 서버가 클라이언트가 의도한 서버가 맞는지를 보장하는 역할

CA(Certificate authority), Root Certificate : 이 역할을 하는 민간 기업

CA를 통해서 인증서를 구입해서 제공하면 브라우저의 주소창이 안전 표시를 해줌.

SSL 인증서의 내용

  1. 서비스의 정보(인증서를 발급한 CA, 서비스 도메인 등)
  2. 서버 측 공개키(공개키의 내용, 공개키의 암호화 방법)

=> CA는 자신의 공개키를 이용해서 서버가 제출한 인증서를 암호화함.

TLS(Transport Layer Security Protocol)란?

SSL과 같음. Netscape에서 SSL이 발명되었고, 이것이 점차 폭넓게 사용되어 표준화 기구인 IETF의 관리로 변경되면서 이름이 바뀌었음. TLS 1.0은 SSL 3.0을 계승함.

요약

  • SSL이란 HTTP 프로토콜 위에서 클라이언트와 서버가 통신할 때 암호화를 하는 프로토콜이 있는 방식
  • 공개키 방식이란 비공개키 하나와 공개키 하나를 만들어, 정보를 보내는 쪽에서 공개키로 암호화해서 보내면 비공개키로 복호화하는 방식. (비공개키를 모르면 복호화를 할 수 없어 안전함)
  • 클라이언트가 서버에 접속하면 서버에서 인증서를 보내줌. 인증서는 서버의 비밀키로 암호화되어 있음. 클라이언트는 인증서에 들어있는 공개키로 정보를 복호화함. 복호화가 되면 서버를 신뢰할 수 있게 됨.