본문 바로가기
[아이티쓸잡] IT에 쓸만한 잡학사전/보안

[아이티쓸잡] 보안#6

by 제로썬 2023. 4. 2.

안녕하세요! 보안코치 제로썬이에요 :)

 

[아이티쓸잡]IT에 쓸만한 잡학사전에서는 다양한 IT 전문용어 등을 요약해서 설명하는 페이지입니다!!

 

자~~~~반복해서 익숙해질 때까지 계속 보고 이해 해보아요~~

 

12.웹 환경에서 암호

  • 웹 서비스, WWW, HTML, 암호화 프로토콜, HTTP, HTTPS, SSL, TLS

 

12. 웹 환경에서 암호

현재 지금도 쓰고 인터넷을 통해 웹 서비스를 이용하는데 암호를 쓰이고 있는것을 알고 있나요?? 웹에서 암호를 어떻게 쓰이는지 보도록 합시다.

웹 서비스에 대한 정의를 다시 보도록 하자.

 

웹 서비스

네트워크 상에서 서로 다른 종류의 컴퓨터들 간에 상호작용을 하기 위한 소프트웨어 시스템

웹 서비스는 ‘웹’과 ‘서비스’라는 두 단어가 결합해 생겨난 용어인 만큼 단순하게 해석하면 웹을 통해 서비스를 교환하는 것

 

WWW(World Wide Web, W3)

인터넷에 연결된 컴퓨터들을 통해 사람들이 정보를 공유 할 수 있는 전 세계적인 정보 공간을 말함

월드 와이드 웹은 하이퍼텍스트 전송 프로토콜(HTTP) 함께 사용되고 HTML(Hyper Text Markup Language)되어 있는 웹 페이지를 보기 위해 웹 브라우저를 이용한다.

www

 

HTML(Hyper Text Markup Language)

HTML은 제목, 단락, 목록 등과 같은 본문을 위한 구조적 의미를 나타내며, 그 밖의 항목으로 구조적 문서를 만들 수  있는 방법 제공(이미지와 객체를 내장하고 대화형 양식을 생성하는데 사용 )

 

웹 서비스는 웹을 통해 서비스를 교환하는 것이라고 하는데 월드 와이드 웹(WWW)하고 혼용하거나 헷갈려 하는 분들은 차이점을 명확하게 알고 있어야 한다.

월드 와이드 (www)사람과 컴퓨터 간의 상호작용을 위한 시스템이라 하고,

서비스컴퓨터와 컴퓨터간의 상호작용을 위한 시스템이라고 한다.

 

네트워크에 항상 연결되어 있는 사용자에게 웹 서비스를 제공하게 된다.

사용자와 웹 서버

 

네트워크에서 사용되는 프로토콜(암호화)

1. HTTP(80) : HyperText Transfer Protocol

2. HTTPS(443) : Hypertext Transfer Protocol over Secure Socket Layer

  • 월드 와이드 통신 프로토콜인 HTTP의 보안이 강화된 버전이다
  • SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화(소켓 통신에서 일반 텍스트를 이용하는 대신)
HTTP은 쉽게 설명하자면 웹상에서 사용되는 프로토콜로 우리가 요청한 페이지에 대한 응답을 받을 수 있도록 해주는 프로토콜이다. 그런데 HTTP(80)는 평문으로 요청과 응답을 하기 때문에 패킷을 중간에서 볼 수 있다는 점이다.
이를 보완하고자 나온 것이 HTTPS(443)이다. HTTPS는 암호화하여 요청과 응답을 받기 때문에 중간에서 알아볼 수 없다.
http와 https

웹 페이지상에서 봤을땐 "http://", "https://"로 보여지는 차이밖에 보지 못한다. 하지만 HTTPS을 이용하면 실제 통신 과정에서 패킷을 주고 받을 때  SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화를 한다.

 

실제 통신 과정을 보려면 무엇을 이용해야 할까? 와이어샤크(wireshark)라는 툴을 이용하여 볼 수 있다.

아래 예시로 http과 https에 대한 패킷을 보도록 하자.

http 통신
https 통신(TLS)

 

SSL(Secure Soket Layer) , TLS(Transpoert Layer Security)

  • 네스케이프에 의해서 SSL 발명되었고, 표준화기구(IETF)의 관리로 TLS로 이름 변경(TLS1.0은 SSL 3.0 계승)
  • SSL(Secure Socket Layer) 프로토콜는 웹서버와 브라우저 사이의 보안을 위해 만듬
  • SSL은 CA로부터 서버와 클라이언트의 인증을 하는데 사용됨

웹 브라우저와 웹 서버간 동작과정

1. [웹브라우저]

    SSL로 암호화된 페이지 요청 (https:)

2. [웹서버]

    Public Key(공개키)인증서와 함께 전송

3. [웹브라우저]

   인증서가 자신이 신용있다고 판단한 CA(일반적으로 trusted root CA라고 불림)로부터 서명된 것인지 확인 

   또한 날짜가 유효한지, 그리고 인증서가 접속하려는 사이트와 관련되어 있는지 확인

4. [웹브라우저]

    Public Key(공개키)사용해서 랜덤 대칭 암호화키(Random symmetric encryption key)비롯한 URL,

    http 데이터들을 암호화하여 전송

5. [웹서버]

    Private Key(공개키)를 이용해서 랜덤 대칭 암호화키와 URL, http 데이터 복호화

6. [웹서버]

   요청받은 URL에 대한 응답을 웹브라우저로부터 받은 랜덤 대칭 암호화키를 이용하여 암호화해서 브라우저로 전송

7. [웹브라우저]

   대칭 키를 이용해서 http 데이터와 html문서를 복호화하고, 화면에 정보를 보여줌

 

SSL 기능(3가지)

1. Site Authentication(홈페이지 인증)

  • 사용자가 접속하는 홈페이지를 인증한다는 의미
  • 인터넷 뱅킹, 인터넷 쇼핑몰 등 사용할 때 신뢰할 수 있는 은행이나 쇼핑몰의 웹서버인지를 인증한다는 것

 

2. Data Privacy(기밀성)

  • 전달되는 데이터를 다양한 암호화 알고리즘을 사용하여 인터넷을 통해 전송되는 불법적인 판독 방어3. Data Integrity(무결성)
  • 사용자의 브라우저로부터 상대방 웹서버까지 전달되는 동안 데이터가 누군가에 의해 변경되지 않도록 보장

 

SSL 수행 단계

1. SSL Server Authentication

  • 사용자의 웹브라우저가 상대방의 웹서버를 인증하는 단계

2. SSL Client Authentication

  • 웹서버가 자신에게 요청한 클라이언트를 인증하는 단계

3. Encrypt Connection

  • 서로에 대한 인증단계 이후 정상적으로 종결되면 클라이언트와 서버사이에 교환되는 모든 데이터내용을 보호하기 위한 암호화

 

SSL(Secure Soket Layer) 동작과정(1~4단계)

1단계 상호간의 통신 준비 단계
ClientServer에게 hello 메시지를 송, ServerClient에게 Hello 메시지로 응답

2단계
ServerClient에게 인증서, 사용할 서버키를 교환하며, 인증요청

3단계
ClientServer에게 인증서, 사용할 클라이언트키를 교환하며, 인증서 확인요청

4단계
Server, Client 모두 Change Cipher Spec Protocol을 교환하며 위 단계에서 교환한 서버/클라이언트 키, 인증서 등을 토대로 이후의 통신을 지속하겠다는 메시지를 교환하며 서로의 인증 종료

SSL 동작과정

 

 

생각날때 마다 자주 보시고 자신이 용어, 개념, 정의를 말할 수 있어야 합니다!

 

오늘도 좋은 하루 되세요 :)


이전 글이 궁금하다면 밑에 링크로 보시면 되세요!!

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

https://zerotrust.tistory.com/28

 

[아이티쓸잡] 보안#5

안녕하세요! 보안코치 제로썬이에요 :) [아이티쓸잡]IT에 쓸만한 잡학사전에서는 다양한 IT 전문용어 등을 요약해서 설명하는 페이지입니다!! 자~~~~반복해서 익숙해질 때까지 계속 보고 이해 해

zerotrust.tistory.com

 

'[아이티쓸잡] IT에 쓸만한 잡학사전 > 보안' 카테고리의 다른 글

[아이티쓸잡] 보안#5  (0) 2023.03.30
[아이티쓸잡] 보안#4  (0) 2023.03.29
[아이티쓸잡] 보안#3  (0) 2023.03.27
[아이티쓸잡] 보안#2  (0) 2023.03.22
[아이티쓸잡] 보안#1  (0) 2023.03.21

댓글