CS) HTTP, HTTPS, SSL(TLS), 대칭키, 공개키

Havi·2021년 8월 16일
1

CS

목록 보기
11/13

HTTP

HTTP는 하이퍼 텍스트 전송 프로토콜의(Hypertext Transfer Protocol)의 약자이다. 이는 서로 다른 시스템들 사이에서 통신을 주고받게 해주기 위해 생겼다.

HTTPS

HTTPS는 HTTP의 문제점인 암호화를 보완한 프로토콜이다. SSL을 사용함으로써 이 문제를 해결하였다.

SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고, 서버 브라우저가 민감한 정보를 주고받을 때 이것이 도난당하는 것을 막아줍니다.

HTTP3

https://www.hamadevelop.me/http3/?fbclid=IwAR0B-Dl_8AyhHYX56zDzq3-URYEJj9OkNXRjwXV0DAsW015Ta3lV1FJZzXU

HTTP3은 빠르고 안전해졌다. 왜냐하면 QUIC을 사용하기 때문이다.

QUIC

  1. 보안통신을 디폴트로 사용한다.
  2. 여러 파일의 데이터를 동시에 통신할 수 있다.
  3. 네트워크가 바뀌어도 커넥션을 유지할 수 있다.

SSL == TLS

Secure Socket Layer의 약자로 서버와 브라우저 간의 보안을 위해 만든 프로토콜
공개키와 대칭키 암호화 기법을 혼용해서 사용한다.

역할

  • HTTP 요청과 응답 데이터의 암호화가 이루어짐
  • 클라이언트가 접속한 서버가 신뢰할 수 있는 서버임을 보장

장점

  • 통신 내용이 해커에게 노출되지 않는다.
  • 통신 내용의 악의적 변경을 방지할 수 있다.
  • 서버를 신뢰할 수 있다.
  1. A가 B의 공개키로 암호화 통신에 사용할 대칭키를 암호화하여 B에게 보낸다.
  2. B는 암호문을 받아, 자신의 비밀키로 복호화한다.
  3. B는 A로 부터 얻은 대칭키로 A에게 보낼 평문을 암호화하여 A에게 보낸다.
  4. A는 자신의 대칭키로 암호문을 복호화한다.
  5. 계속 대칭키로 암호화 통신을 한다.

SSL 인증서

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

CA(Certificate Authority)

SSL인증을 해주는 제 3자 역할, 디지털 인증서를 제공하는 공인된 기업들

대칭키

암호화와 복호화에 같은 암호 키(대칭키)를 사용하는 암호화 알고리즘

장점: 수행 시간이 짧음
단점: 사람이 증가할수록 키 관리가 어려움, 안전하지 않음

  • 하나의 비밀 키를 양쪽(서버&클라이언트)가 모두 같이 사용한다.
  • 암호화와 복호화에 사용하는 키가 같은 암호화 알고리즘
  • 공개키에 비해 계산속도가 빠르다
  • 비밀키 하나만 알아내면 암호화된 내용이 해독 가능하므로 안전하지 않다.
  • 대칭키 암호는 함호화 단위에 따라 스트림 암호블록 암호로 나눌 수 있다
    • 스트림 암호는 연속적인 비트를 계속 입력받아, 그에 대응하는 암호화 비트를 생성하는 방식
    • 블록 암호는 정해진 단위(블록)을 입력받아 그에 대응하는 암호화 블록을 생성한다.
  • 대칭키 기법을 사용하는 암호 알고리즘은 DES, 3-DES, AES, SEED, ARIA, MASK 등이 있다.

공개키

장점: 키 분배 필요x, 기밀성/인증 제공
단점: 대칭키에 비해 느림

  • 대칭키는 비밀키 하나만 가지지만, 공개키는 공개키와 비밀키 두개의 키가 존재
  • 공개키 암호 알고리즘과 비교하여 비대칭 암호라고 불림
  • 암호화와 복호화에 사용하는 키가 같음
  • 암호화할 때에는 공개키로 암호화, 복호화 할 때는 개인키로 암호화
  • 공개키는 누구나 알 수 있고, 비밀키는 소유자만 알 수 있다.

  • 공개키로 암호화한 메세지는 수신자의 개인키로만 해독할 수 있으므로 안전하게 상대방에게 메세지를 전달해 줄 수 있음.
  • 대칭키(비밀키)알고리즘에 비하여 속도가 느리다. (약 1000배)
  • 속도가 느리기 때문에 긴문서의 암호화하는 경우보다 대칭키 알고리즘의 키값에 대한 암호에 사용.
  • 대표적인 공개키 알고리즘으로 RSA, Elgamal 등이 있음.

참조

https://liveyourit.tistory.com/183
https://gaeko-security-hack.tistory.com/123
https://preamtree.tistory.com/38

profile
iOS Developer

0개의 댓글