4월 20일 (토) 오전 5:23

logo

  • home
  • head
  • itnews
  • product
  • mobile
  • game
  • benchmark
  • analysis
  • blog

개봉 2023.11.22. / 등급: 12세 관람가 / 장르: 드라마 / 국가: 대한민국 감독 : 김성수 출연 : 황정민, 정우...
노량: 죽음의 바다 / 개봉 2023.12. / 장르: 액션, 드라마 / 국가: 대한민국 감독 : 김한민 출연 : 김윤석, ...
2016.02.04 18:12

TLS 전송계층보안

조회 수 990

인터넷에서의 정보를 암호화해서 송수신하는 프로토콜. 넷스케이프 커뮤니케이션스사가 개발한 SSL(Secure Sockets Layer)에서 기반한 기술로, 국제 인터넷 표준화 기구에서 표준으로 인정받은 프로토콜이다. 표준에 명시된 정식 명칭은 TLS지만 아직도 SSL이라는 용어가 많이 사용되고 있다.

작동 방법

인터넷을 사용한 통신에서 보안을 확보하려면 두 통신 당사자가 서로가 신뢰할 수 있는 자임을 확인할 수 있어야 하며, 서로간의 통신 내용이 제3자에 의해 도청되는 것을 방지해야 한다. 따라서 서로 자신을 신뢰할 수 있음을 알리기 위해 전자 서명이 포함된 인증서를 사용하며, 도청을 방지하기 위해 통신 내용을 암호화한다. 이러한 통신 규약을 묶어 정리한 것이 바로 TLS. 주요 웹브라우저 주소창에 자물쇠 아이콘이 뜨는 것으로 TLS의 적용 여부를 확인할 수 있다.

예를 들어 인터넷 뱅킹을 하기 위해 은행의 사이트에 방문했을 때, 고객은 그 사이트가 정말 은행의 사이트가 맞는지 아니면 해커가 만든 가짜 피싱 사이트인지 확인할 수 있어야 하며, 은행 역시 자신의 서비스를 이용하고자 하는 자가 해당 고객이 맞는지 아니면 신원을 도용한 다른 자인지 확인할 수 있어야 한다. 그리고 은행과 고객 간의 통신 내용이 다른 해커에게 도청되지 않도록 내용을 숨겨야 한다. 이럴 때 바로 은행과 고객 간에 TLS를 사용한 연결을 맺어 안전하게 통신을 할 수 있다.

구체적으로 서로의 신원을 확인하기 위해 핸드셰이크(Handshake) 과정을 거치며, 다음과 같다.


1. 먼저 클라이언트에서 서버에 ClientHello 메시지를 보낸다. 여기에는 클라이언트에서 가능한 TLS 버전, 세션 식별자, 암호 설정 등의 정보가 포함된다.

2. 클라이언트의 메시지를 받은 서버는 ServerHello 메시지를 클라이언트에게 보낸다. 여기에는 ClientHello 메시지의 정보 중 서버에서 사용하기로 선택한 TLS 버전, 세션 식별자, 암호 설정 등의 정보가 포함된다.

3. 서버가 클라이언트에 Certificate 메시지를 보낸다. 여기에는 서버의 인증서가 들어간다. 이 인증서는 별도의 인증 기관에서 발급받은 것이며, 서버가 신뢰할 수 있는 자임을 인증한다. 전송이 끝나면 ServerHelloDone 메시지를 보내 끝났음을 알린다.

4. 클라이언트는 서버에서 받은 인증서를 검증한다. 인증서의 유효 기간이 만료되지 않았는지, 그 인증서가 해당 서버에게 발급된 인증서가 맞는지 등을 확인한다. 인증서를 신뢰할 수 있다고 판단하였다면 다음 단계로 넘어간다.

5. 클라이언트는 임의의 pre-master secret을 생성한 뒤, 서버가 보낸 인증서에 포함된 공개 키를 사용해 암호화한다. 이렇게 암호화된 pre-master secret을 ClientKeyExchange 메시지에 포함시켜 서버에 전송한다.

6. 서버는 전송받은 정보를 복호화하여 pre-master secret을 알아낸 뒤, 이 정보를 사용해 master secret을 생성한다. 그 뒤 master secret에서 세션 키를 생성해내며, 이 세션 키는 앞으로 서버와 클라이언트 간의 통신을 암호화하는데 사용할 것이다. 물론 클라이언트 역시 자신이 만들어낸 pre-master secret을 알고 있으므로, 같은 과정을 거쳐 세션 키를 스스로 만들 수 있다.

7. 이제 서버와 클라이언트는 각자 동일한 세션 키를 가지고 있으며, 이를 사용해 대칭 키 암호를 사용하는 통신을 할 수 있다. 따라서 우선 서로에게 ChangeCipherSpec 메시지를 보내 앞으로의 모든 통신 내용은 세션 키를 사용해 암호화해 보낼 것을 알려준 뒤, Finished 메시지를 보내 각자의 핸드셰이킹 과정이 끝났음을 알린다.

8. 이제 서버와 클라이언트 간에 보안 통신이 구성된다.


경우에 따라 클라이언트에서 서버의 인증서를 요구하는 것 뿐만 아니라 서버에서 클라이언트의 인증서를 요구하기도 한다.

쉽게 요약해서, 먼저 서로가 어떤 TLS 버전을 사용 가능한지를 확인하고, 인증서를 사용해 서로를 믿을 수 있는지 확인한 뒤, 서로간의 통신에 쓸 암호를 교환하는 것이다. 그 다음부터는 서로 교환한 암호를 사용해 제3자가 도청할 수 없는 암호화된 통신을 하면 된다.

대신 일반 통신에 비해 크고 아름다운 패킷을 사용하는 암호화 통신인 만큼 속도상의 손해가 발생하게 된다. 플래시나 큰 이미지가 많은 사이트에서 TLS를 쓰는 것은 그야말로 헬게이트. 사실 이것을 간과할 수 없는 게, HTTPS로 연결된 페이지에서 한 개라도 구성 요소 중 HTTP로 로드하는 것이 있다면 웹 브라우저가 "네 컴퓨터의 통신이 암호화 안된 요소에 침식당하기 시작해서 위험해"라면서 보안 경고를 뿜어대기 때문이다. 웹상의 모든 요소를 암호화해야 하기 때문인지, 외국 홈페이지는 화려하게 치장하기에 열을 올리는 국내 페이지에 비해 깔끔한(나쁘게 말하면 수수한) 편이다.

HTTPS

TLS를 사용해 암호화된 연결을 하는 HTTP를 HTTPS라고 하며, 당연히 웹사이트 주소 역시 HTTP가 아닌 HTTPS로 시작된다. 기본 포트는 443번을 쓴다.

흔히 TLS와 HTTPS를 혼동하는 경우가 많은데, 둘은 유사하긴 하지만 엄연히 다른 개념임을 알아두자. TLS는 다양한 종류의 보안 통신을 하기 위한 프로토콜이며, HTTPS는 TLS 위에 HTTP 프로토콜을 얹어 보안된 HTTP 통신을 하는 프로토콜이다. 다시 말해 TLS는 HTTP뿐만이 아니라 FTP, SMTP와 같은 여타 프로토콜까지 포함하며, HTTPS는 TLS와 HTTP가 조합된 프로토콜만을 가리킨다.

문제점

다시 한 번 말하지만, TLS에서 서버 및 클라이언트의 신원을 확인하는 데는 인증서가 사용되며, 인증서의 신뢰성은 인증서를 발급해 준 인증 기관에 의해 결정된다. 인증 기관이 신뢰 가능한 인증서만을 발급해 줬다면 문제가 없지만, 만약 제대로 확인되지 않은 인증서를 발급한다면 더 이상 그 인증서를 신뢰할 수가 없을 것이다. 그런데 그것이 실제로 일어났습니다.

몇몇 인증 기관에서 보안 수준이 매우 낮은 Domain Validation 인증서를 발급하기 시작한 것이다. 이러한 인증서는 오직 발급을 요청한 자가 그 도메인의 소유자가 맞는지만을 인증하기 때문에 사실상 발급 비용만 내면 아무나 인증서를 받을 수 있다. 심지어 해커가 피싱용 도메인 narnu.wiki을 만든 뒤, 인증 기관에 Domain Validation 인증서를 요청하면 그대로 발급된다! 도메인을 소유한 자와 인증서를 신청한 자가 동일한 사람(=해커)이기 때문. 하지만 이 피싱 사이트에 접속한 대부분의 사용자들은 HTTPS 연결이 되었기 때문에 보안이 지켜질 것이라 생각하며 속게 된다.

SSL__evc.png


이러한 문제를 해결하기 위해 나온 것이 EV-SSL이다. EV-SSL은 공신력 있는 인증 기관에서 더욱 엄격한 심사 기준으로 발급한 Extended Validation 인증서를 사용하여 보안을 강화한 프로토콜이다. 주요 웹브라우저를 사용해 Extended Validation 인증서를 쓰는 웹사이트에 접속하면 위와 같이 주소창에 특유의 녹색 표시가 생기며 EV-SSL 연결이 되었음을 알려 준다. 인증 조건이 상당히 빡빡해지며 발급 비용이 십수 배는 비싸진다는 것은 당연한 수순.

이 외에도, TLS는 망연결에서의 보안을 책임지고 있으므로, 연결된 단말기가 해킹당한 경우라면 아무리 SSL을 써도 무용지물이다. 즉 연결망의 안전성과 노드의 안전성은 별개라는 의미이다.

또한 위 과정을 보면 알겠지만 서버클라이언트나 평문 통신에 비해 부하가 크다. 암호화 과정을 거쳐야 하기 때문. 따라서 소규모의 웹 사이트에서는 별다른 걱정 없이 HTTPS 프로토콜을 사용하지만 대규모 웹 사이트에서는 쉽게 HTTPS 프로토콜을 적용하지 못하는 경우가 많다. 이를 이용해 프론트엔드단 웹을 대상으로 DDoS라도 시도할 경우 암호화 과정 때문에 HTTPS를 사용하지 않은 웹 사이트보다 더 빨리 서버가 죽을 수도 있다. 따라서 웹 사이트 전체에 HTTPS 프로토콜을 적용하기 위해 프론트 서버를 더 늘리거나 CloudFlare 등의 서비스를 이용하는 경우가 많다.

검증된 CA(인증 기관)들

미국

  • Comodo Group : 한국SC은행, 국민은행이 여기서 발행한 인증서를 사용한다. 클라우드플레어 무료 플랜에서 제공하는 인증서의 인증기관이다.
  • Geo Trust
  • Go Daddy : 레이싱 모델과 회사 사장이 나와서 광고하는 그 사이트다(...).
  • Thawte : VeriSign과 함께 CA의 할아버지뻘 되는 아주 오래된 회사. 창립자가 회사를 VeriSign에 팔고 자기는 우주여행(...)을 다녀왔고 우분투를 만드는 캐노니컬을 창립했다.
  • VeriSign : 세계 100대 은행 중 97개 은행이 사용할 정도로 유명한 회사이다. 한국의 오픈뱅킹도 대부분 이 회사의 인증서를 사용한다.
  • Let's Encrypt : DV 인증서를 무료로 발급해 준다! (EV는 발급을 아예 안 한다.) 단, 발급을 위해 프로그램을 설치해야 하고, 유효기간이 90일이기 때문에 갱신 자동화 스크립트를 돌릴 것을 CA에서부터 권장하고 있다.

이스라엘

  • StartCom StartSSL : Class 1 인증서를 무료로 준다. (입력 실수나 개인키 분실로 인한 해당 계정의 인증 취소는 수수료를 요구함)

일본

한국

원래는 국내 최상위 기관인 KISA가 관련 비표준기술 공인인증 이권을 이유로 일부러 10년 넘게 계속해서 웹트러스트 인증을 받지 않았기 때문에 존재 가치가 무의미했다. 그러나 보안 이슈가 수면 위로 올라오고, 국가단위의 인증서이면서도 웹트러스트 인증이 없는 코믹한 실상을 더 이상 숨길 수 없게 되어 비판 측 논리의 선제방어/면피용으로 2014년에 웹트러스트 인증을 받았다. 근데 아직도 추가가 안 됐다 (관련 트리비아, 모질라 버그질라 )

NSA는 그런거 알 바 아닙니다?

NSA는 조직 내에서 자체적인 학회를 열 정도의 인재풀과 자금력을 가지고 있어 암/복호화 및 감청에 관해 외부와 10년 이상의 격차를 가지고 있다고 알려져 있다. TLS는 벌써 2010년부터 뚫어서 죄다 훔쳐봤다고 하며, 차기 암호화 표준안에다 직접 마스터키 뒷구멍이 있는 암호표준을 넣기 위해 개입한다고 전해진다. #1#2 다만 TLS에는 여러 버전과 암호화 알고리즘의 종류가 있고 2015년 10월 현재는 많은 TLS라이브러리의 보안 취약점이 발견되어 패치되었기 때문에 지금까지 모든 TLS연결을 들여다 볼 수 있을 가능성은 낮다. 하지만 모를 일이다 방패가 강해진 만큼 창도 강해졌을지... 애초에 창이 더 유리한 분야라서
빅 브라더가 되고 싶나보다

관련항목

파일:크리에이티브 커먼즈 라이선스__CC.png<img class='wiki-image' alt='파일:크리에이티브 커먼즈 라이선스__CC.png' align='left' width='24px' src='/file/%ED%8C%8C%EC%9D%BC:%ED%81%AC%EB%A6%AC%EC%97%90%EC%9D%B4%ED%8B%B0%EB%B8%8C%20%EC%BB%A4%EB%A8%BC%EC%A6%88%20%EB%9D%BC%EC%9D%B4%EC%84%A0%EC%8A%A4__CC.png'>
이 문서의 내용 중 일부는 SSL 문서의 46번째 버전에서 가져왔습니다.







  1. 모든 파이썬 프로그래머를 위한 20가지 실용적인 파이썬 라이브러리

    Serdar Yegulalp | InfoWorld 파이썬 프로그래밍 언어의 대성공을 이끈 힘은 무엇일까? 물론 답은 네이티브와 서드파티 라이브러리를 가리지 않는 풍부한 파이썬용 라이브러리다. 문제는 파이썬 라이브...
    Date2019.03.17 CategoryIT KNOWLEDGE
    Read More
  2. “떠오르는 와이파이 6, 우리 회사에 맞을까?” 적합성 기준과 준비 사항

    Zeus Kerravala | Network World 차세대 와이파이 표준인 802.11ax, 통칭 와이파이 6를 둘러싼 기대가 높다. 신기술은 업체에 의해 “차세대 대박 상품”으로 선전되다가 기대에 미치지 못하고 실패하는 ...
    Date2019.03.17 CategoryIT KNOWLEDGE
    Read More
  3. "네트워크 보안의 필수" SIEM 툴 TOP 12 평가 비교

    Tim Ferrill | CSO 보안 정보 및 이벤트 관리(Security information and event management, SIEM)은 네트워크 보안 전문가들을 위한 실용적인 툴이다. 이벤트 로그를 관리하고, 리뷰 및 감사하는 작업은...
    Date2019.01.13 CategoryIT KNOWLEDGE
    Read More
  4. SSL/TLS의 이해와 TLS 1.3으로 업그레이드해야 하는 이유

    Josh Fruhlinger | 웹 초창기부터, SSL(Secure Sockets Layer) 프로토콜과 그 후예인 TLS(Transport Layer Security)는 암호화와 보안을 제공해 인터넷 상거래를 가능하게 만들었다. SSL, TLS와 같은 프...
    Date2018.12.16 CategoryIT KNOWLEDGE
    Read More
  5. 2019년 리눅스에 기대해도 좋을 것

    Sandra Henry-Stocker | Network World 2019년은 리눅스의 해가 될지도 모른다. 리눅스가 드디어 유력 집단으로써 인정 받는 해가 될 수도 있다. 사물 인터넷(IoT), 클라우드 기술, 슈퍼컴퓨터, 인공 지...
    Date2018.12.07 CategoryIT KNOWLEDGE
    Read More
  6. "JDK란 무엇인가" 자바 개발 키트 소개와 설치하기

    Matthew Tyson | JavaWorld 자바 개발 키트(Java Development Kit, JDK)는 자바 애플리케이션을 구축하기 위한 핵심 플랫폼 구성요소다. 이 중심에는 자바 컴파일러(Compiler)가 있다. Credit: Nic Mc...
    Date2018.09.25 CategoryIT KNOWLEDGE
    Read More
  7. 리눅스 디렉토리 구조와 의미

    리눅스는 최상위 /(root)를 기본으로 하며 모든 디렉토리들이 /를 거치게 되는게 가장 큰 특징입니다. 디렉토리 설명 / 최상위에 위치하는 디렉토리이며 루트 디렉토리라고 부름. 일반적인 데...
    Date2018.08.06 CategoryIT KNOWLEDGE
    Read More
  8. 단방향 전송, 반이중전송, 전이중 전송, 허브, 스위치, 라우터, 토폴로지

    * 랜카드  - 근거리 통신망에 접속하기 위한 장비  - 최근에 메인보드에 통합 1. 반이중 방식(Half-Duplex)  - 양방향으로 데이터가 전송  - 동시에 전송 불가능  - 충돌을 피하기 위해 상대방의 데이...
    Date2018.06.22 CategoryIT KNOWLEDGE
    Read More
  9. 프록시 서버(Proxy Server)에 대해

    * Server에서 Proxy란? 출처: wikipedia.org Proxy Server 는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 Server 와 Client 사이에서 중계기로...
    Date2018.05.06 CategoryIT KNOWLEDGE
    Read More
  10. DNS의 작동원리와 이를 공격하는 방법

    Keith Shaw | Network World 도메인 이름 시스템(Domain Name System, DNS)은 인터넷 기반 가운데 하나지만 네트워킹 종사자를 제외한 대부분의 사람은 매일 일을 하고 이메일을 확인하고 스마트폰으로 ...
    Date2018.04.15 CategoryIT KNOWLEDGE
    Read More
  11. MPLS의 이해 (Multi-Protocol Label Switch)

    Neal Weinberg, Johna Till Johnson | Network World MPLS(Multi-Protocol Label Switching)의 핵심은 서비스가 아니라 기술이며, IP VPN부터 메트로 이더넷에 이르기까지 온갖 기능을 제공할 수 있다. ...
    Date2018.03.21 CategoryIT KNOWLEDGE
    Read More
  12. SD 브랜치와 보안, 스토리지, IoT의 관계

    Ciaran Roche | Network World SD-WAN의 자연스러운 계승자로 SD 브랜치(SD-Branch)가 회자되기 시작했다. 중앙집중화된 오케스트레이션 모델은 많은 대기업들에게 매력적일 수밖에 없다. 하지만 SD-WAN...
    Date2018.03.04 CategoryIT KNOWLEDGE
    Read More
  13. 취약점 표준코드 CVE의 개념과 목적

    Taylor Armerding | CSO CVE는 '정보 보안 취약점 표준 코드(Common Vulnerabilities and Exposures)'의 약자이다. 1999년, 미국 연방 정부의 후원을 받는 비영리 연구 개발 기관인 MITRE가 소프트웨어...
    Date2018.02.03 CategoryIT KNOWLEDGE
    Read More
  14. SYN Flooding,Teardrop,세션 하이젝킹,패킷 필터링 등

    1. SYN Flooding 공격에 대한 조치 방법  - 클라이언트가 서버에게 요구한 SYN 개수보다 큰 Connect Queue Size를 증대시킨다.  - Backlog Queue 사이즈를 늘려준다.  - 중간 게이트웨이에서 SYN 패킷이 ...
    Date2018.01.20 CategoryIT KNOWLEDGE
    Read More
  15. SSL, HTTPS, 개인키, 공개키, 암호화에 대해

    *SSL, 인증서란? SSL(Secure Socket Layer) 프로토콜은 처음에 Netscape사에서 웹서버와 브라우저 사이의 보안을 위해 만들었다. SSL은 Certificate Authority(CA)라 불리는 서드 파티로부터 서버와 클라이...
    Date2017.12.30 CategoryIT KNOWLEDGE
    Read More
  16. 리플(XRP, Ripple)이란?

    [요약] 발행될 수 있는 코인 양이 1000억 개로 한정돼 있으며 채굴 방식을 사용하지 않는 가상화폐 외국어 표기 XRP, Ripple(영어) 본래 2004년 리플페이...
    Date2017.12.30 CategoryIT KNOWLEDGE
    Read More
  17. 이더리움에 대해(Ethereum)

    이더리움(Ethereum)은 비탈리크 부테린(Vitalik Buterin)이 2014년 개발했습니다. 거래 명세가 담긴 블록이 사슬처럼 이어지는 블록체인(blockchain)을 기반으로 하며 네트워크만 연결되어 있다면...
    Date2017.12.16 CategoryIT KNOWLEDGE
    Read More
  18. 사물 인터넷 정의 : 필수 IoT 용어 가이드

    Jon Gold | Network World 사물 인터넷과 관련해서는 온갖 프로토콜과 표준, 기술 약어가 난무한다. IoT 언어를 조금 더 이해하기 쉽도록 하기 위해 이러한 모호한 용어들의 의미를 정리했다. 6LoWPAN : 약...
    Date2017.11.06 CategoryIT KNOWLEDGE
    Read More
  19. “빅데이터란 무엇인가?” 구성요소와 기반 기술의 이해

    InfoWorld staff | InfoWorld 인간은 매일 먹고 일하고 놀고 데이터를 생산한다. IBM에 따르면 인류가 하루에 생산하는 데이터의 양은 무려 250경 바이트에 이른다. DVD를 쌓는다면 달까지 왕복할 만큼...
    Date2017.09.16 CategoryIT KNOWLEDGE
    Read More
  20. 비트코인의 이점은 무엇인가

    비트코인은 매우 낮은 비용으로 돈을 교환할 수 있는 가장 간단한 방법입니다. 보다 쉬운 모바일 결제모바일로 비트코인 결제를 하실 때에는 "스캔-앤-페이" 두 단계만 거치면 됩니다. 카드...
    Date2017.08.11 CategoryIT KNOWLEDGE
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7