본문 바로가기

CS/Network

(Network) HTTPS와 SSL 인증서(1) - 대칭키

HTTPS VS HTTP

HTTP는 Hypertext Transfe Protocol의 약자이다. 이때 Hypertext는 문서와 문서가 링크로 연결되어있는 문서 체계이다. 이때 가장 중요한 문서 양식은 Html이다. 이 Html을 전 송하기 위한 전송 규약이 HTTP이다.

HTTP나 HTTPS는 html을 전 송하기 위한 전송방식이라는 것은 동일하다.

 

HTTPS의 S는 Over Secure Socket Layer의 약자로서 HTTP 보다 보안이 강화된 점을 볼 수 있다. HTTP는 암호화하지 않은 방법으로 데이터를 전송하기 때문에 서버와 클라이언트가 주고받는 메시지를 intercept 하는 것이 가능하다.


HTTPS와 SSL

HTTPS와 SSL은 같은 의미일까? 이것은 반은 맞고 반은 틀렸다. HTTPS가  SSL 위에서  동작하기 때문이다. (SSL이 더 포괄적이다.)

SSL는 HTTP아래의 레이어로 존재한다.


SSL 디지털 인증서

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

 

장점

  • 통신 내용이 공격자에게 노출되는 것을 막을 수 있다.
    • 중간에 누군가가 정보를 가로챈다 하더라도 해당 문서는 암호화되었기 때문에 안전하다.
    • 또한 수신자는 해당 암호에 대한 해석이 가능하다. (자신에게도 해당 - 나만 볼 수 있어!)
  • 클라이언트는 접속하려는 서버가 신뢰할 수 있는 서버인지 판단할 수 있다.
  • 통신내용의 악의적인 변경을 방지할 수 있다.

 

대칭키 암호화 방식 실습

특정 디렉터리에 txt 파일을 생성하고 대칭키로 암호화해보자!

 

1. plaintext.txt 파일 생성

echo 'this is the plain text' > plaintext.txt

 

2. des3 방식의 암호화 실행 및 패스워드 설정

openssl enc -e -des3 -salt -in plaintext.txt -out ciphertext.bin

생성완료 확인
암호화 확인

수신자가 멀리 있는 곳에 산다면 경유지가 많아지게 되고 경유하는 도중에 누군가가 해당 암호화에 대한 키값을 알아채서 복호화를 시도한다면 해당 키 값은 암호화가 되어있지 않기 때문에 상당히 위험하다.
키값을 설정해야 하는 이유는 수신자도 암호화된 값을 해독해야 하기 때문에 필연적이다.

References

 

'CS > Network' 카테고리의 다른 글

(Network) TCP vs UDP  (0) 2020.05.10
(Network) SSL 인증서  (0) 2020.04.28
(Network) HTTPS와 SSL 인증서(2) - 공개키  (0) 2020.04.28
(Network) HTTP/1.0 VS HTTP/1.1  (0) 2020.04.19
(Network) HTTP/1.1 VS HTTP/2  (1) 2020.04.12