맨위로가기

전송 계층 보안

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

전송 계층 보안(TLS)은 클라이언트-서버 애플리케이션이 네트워크를 통해 통신할 때 도청, 간섭, 위조를 방지하기 위해 설계된 암호화 프로토콜이다. TLS는 종단 간 인증, 통신 기밀성을 유지하며, 암호화된 통신을 제공하여 스니핑 공격과 같은 정보 탈취를 방지한다. TLS는 3단계 기본 절차(알고리즘 교환, 키 교환/인증, 암호화)를 거치며, 다양한 암호화 알고리즘을 지원한다. TLS는 HTTP, FTP, SMTP 등 다양한 프로토콜에 적용되며, 웹사이트와 웹 브라우저 간의 HTTPS 프로토콜을 보호하는 데 주로 사용된다. TLS는 또한 VPN, VoIP, SIP 애플리케이션에서도 활용된다. 그러나 TLS 도입만으로는 보안이 보장되지 않으며, 재협상 공격, 다운그레이드 공격, 구현 오류 등 다양한 보안 취약점에 노출될 수 있다. DTLS(Datagram Transport Layer Security)는 UDP와 같은 데이터그램 기반 프로토콜에 대한 TLS의 변형이다.

더 읽어볼만한 페이지

  • 암호 프로토콜 - HTTPS
    HTTPS는 HTTP에 보안 기능이 더해진 통신 규약으로, 웹 브라우저와 서버 간 통신을 암호화하여 보안을 강화하지만, 인증서 비용, 서버 부하, 혼합 콘텐츠 문제 등의 단점도 존재한다.
  • 암호 프로토콜 - IPsec
    IPsec은 IP 네트워크에서 보안 통신을 제공하기 위한 프로토콜 스위트로서, 전송 모드와 터널 모드를 지원하며, AH, ESP 등의 프로토콜을 사용하여 데이터 무결성, 인증, 기밀성을 제공하고, IKE 프로토콜을 통해 보안 연결을 설정 및 키를 교환하는 개방형 표준이다.
  • 전송 계층 보안 - 공개 키 기반 구조
    공개 키 기반 구조(PKI)는 공개 키 암호화를 기반으로 안전한 통신과 개체 식별을 가능하게 하는 기술로서, 디지털 인증서를 통해 공개 키를 특정 개체에 연결하고 인증서를 관리하며, 인증 기관(CA), 등록 기관(RA) 등 다양한 구성 요소로 이루어져 인증서 발급, 관리, 배포, 사용 및 폐기와 관련된 역할, 정책, 하드웨어, 소프트웨어 및 절차의 집합을 포함한다.
  • 전송 계층 보안 - HTTPS
    HTTPS는 HTTP에 보안 기능이 더해진 통신 규약으로, 웹 브라우저와 서버 간 통신을 암호화하여 보안을 강화하지만, 인증서 비용, 서버 부하, 혼합 콘텐츠 문제 등의 단점도 존재한다.
  • 인터넷 보안 - 토르 (네트워크)
    토르(Tor)는 사용자의 익명성을 보장하고 온라인 활동을 보호하기 위해 개발된 네트워크로, 암호화된 통신을 여러 노드를 거쳐 전송하며 검열 우회, 언론의 자유를 위한 도구로 활용되지만 범죄에도 악용될 수 있다.
  • 인터넷 보안 - DNS 스푸핑
    DNS 스푸핑은 DNS 서버의 캐시를 조작하여 사용자를 악성 사이트로 리디렉션하는 사이버 공격 기법이다.
전송 계층 보안
개요
종류암호화 프로토콜
계층전송 계층 또는 응용 계층
기능데이터 암호화
통신 보안
데이터 무결성 보장
상세 내용
설명전송 계층 보안(TLS) 및 이전 명칭인 보안 소켓 계층(SSL)은 컴퓨터 네트워크를 통한 통신 보안을 제공하기 위해 설계된 암호화 프로토콜이다. TLS 및 SSL은 웹 브라우징, 이메일, 인터넷 팩스, 인스턴트 메시징, VoIP 및 기타 데이터 전송과 같은 애플리케이션에서 널리 사용된다. 전송 계층에서 작동하므로 TCP와 같은 신뢰적인 전송 프로토콜을 사용하는 모든 애플리케이션에 보안을 제공할 수 있다.
역사SSL 1.0: 출시되지 않음
SSL 2.0: 1995년 출시
SSL 3.0: 1996년 출시
TLS 1.0: 1999년 출시 (RFC 2246)
TLS 1.1: 2006년 출시 (RFC 4346)
TLS 1.2: 2008년 출시 (RFC 5246)
TLS 1.3: 2018년 출시 (RFC 8446)
사용HTTPS
SMTPS
STARTTLS
FTPS
IMAPS
보안기밀성
무결성
인증
취약점POODLE
BEAST
CRIME
BREACH
Lucky 13
하트블리드
로그잼
FREAK
기술적 세부 사항
작동 방식TLS는 클라이언트와 서버 간에 안전한 연결을 설정하기 위해 핸드셰이크 프로세스를 사용한다. 이 핸드셰이크 동안 클라이언트는 서버의 인증서를 확인하고, 암호화 알고리즘을 협상하고, 세션 키를 교환한다. 일단 연결이 설정되면, 클라이언트와 서버 간의 모든 데이터는 암호화되어 전송된다.
주요 구성 요소핸드셰이크 프로토콜
레코드 프로토콜
경고 프로토콜
암호화 스위트
암호화 스위트 종류대칭 암호화 알고리즘 (예: AES, DES)
비대칭 암호화 알고리즘 (예: RSA, Diffie-Hellman)
해시 함수 (예: SHA-256, MD5)
표준 및 규격
IETF 표준RFC 2246 (TLS 1.0)
RFC 4346 (TLS 1.1)
RFC 5246 (TLS 1.2)
RFC 8446 (TLS 1.3)
기타 정보
참고 사항SSL 3.0은 2015년에 더 이상 사용되지 않음 (RFC 7568).

2. 설명

TLS는 클라이언트/서버 응용 프로그램이 네트워크 통신 시 도청, 간섭, 위조를 방지하기 위해 설계되었으며, 암호화를 통해 종단 간 인증 및 통신 기밀성을 유지한다.

TLS는 다음 3단계 기본 절차를 거친다.

1. 상호 지원 가능한 알고리즘 교환

2. 키 교환 및 인증

3. 대칭키 암호를 이용한 암호화 및 메시지 인증

첫 단계에서 서버와 클라이언트는 암호 스위트를 교환하여 키 교환 및 인증에 사용될 암호화 방법과 메시지 인증 코드(MAC)를 결정한다. 키 교환 및 인증 알고리즘은 공개키 방식 또는 TLS-PSK와 같이 미리 공유된 키를 사용할 수 있다. 메시지 인증 코드는 HMAC 해시 함수로 만들어지며, SSL에서는 비표준 무작위 함수가 사용된다.

일반적인 알고리즘은 다음과 같다.



클라이언트-서버 애플리케이션은 도청 및 변조를 방지하기 위해 TLS 프로토콜을 사용한다. 클라이언트가 서버에 TLS 연결을 요청하는 방법은 두 가지가 있다. 첫 번째는 TLS 연결에 다른 포트 번호를 사용하는 것이다. 예를 들어, 포트 80은 암호화되지 않은 HTTP 트래픽에, 포트 443은 암호화된 HTTPS 트래픽에 사용된다. 두 번째는 프로토콜별 STARTTLS 요청을 서버에 전송하여 연결을 TLS로 전환하는 것이다. (예: 메일 및 뉴스 프로토콜)

클라이언트와 서버가 TLS를 사용하기로 합의하면, 핸드셰이크 절차를 통해 상태 연결을 협상한다.[3] 프로토콜은 비대칭 암호화를 사용하여 핸드셰이크를 통해 암호 설정을 협상하고, 대칭 암호화에 사용될 세션별 공유 키를 설정한다. 이 핸드셰이크 동안 클라이언트와 서버는 연결 보안에 사용되는 다양한 매개변수에 동의한다.

  • 핸드셰이크는 클라이언트가 보안 연결을 요청하면서 TLS를 지원하는 서버에 연결하고, 클라이언트가 지원하는 암호화 제품군 목록(암호해시 함수)을 제시하면서 시작된다.
  • 서버는 이 목록에서 지원하는 암호 및 해시 함수를 선택하고 클라이언트에 알린다.
  • 일반적으로 서버는 디지털 인증서 형태로 신원을 제공한다. 인증서에는 서버 이름, 인증서의 진위 여부를 보증하는 신뢰할 수 있는 인증 기관(CA), 서버의 공개 암호화 키가 포함된다.
  • 클라이언트는 인증서의 유효성을 확인한다.
  • 보안 연결에 사용되는 세션 키를 생성하기 위해 클라이언트는 다음 중 하나를 수행한다.
  • 서버의 공개 키로 난수(''PreMasterSecret'')를 암호화하여 서버에 보내고(서버만 개인 키로 해독 가능), 양 당사자는 난수를 사용하여 세션 동안 데이터 암호화 및 해독을 위한 고유한 세션 키를 생성한다.
  • 디피-헬만 키 교환 (또는 그 변형인 타원 곡선 DH)을 사용하여 전방 보안 속성을 갖는 암호화 및 해독을 위한 무작위하고 고유한 세션 키를 안전하게 생성한다. 서버의 개인 키가 나중에 공개되더라도 세션이 제3자에 의해 가로채지고 기록되더라도 현재 세션을 해독하는 데 사용할 수 없다.


핸드셰이크가 종료되고 보안 연결이 시작되면, 연결이 종료될 때까지 세션 키로 암호화 및 해독이 이루어진다. 위 단계 중 하나라도 실패하면 TLS 핸드셰이크가 실패하고 연결이 생성되지 않는다.

TLS와 SSL은 OSI 모델 또는 TCP/IP 모델의 특정 계층에 정확히 들어맞지 않는다.[4][5] TLS는 "일부 신뢰할 수 있는 전송 프로토콜(예: TCP) 위에" 실행되므로 전송 계층 위에 위치하며, 일반적으로 표현 계층의 기능인 상위 계층에 암호화를 제공한다. 그러나 애플리케이션은 일반적으로 TLS를 전송 계층처럼 사용한다.[4][5] TLS를 사용하는 애플리케이션은 TLS 핸드셰이크를 시작하고 교환된 인증 인증서를 처리하는 것을 적극적으로 제어해야 한다.

TLS로 보호되는 경우, 클라이언트와 서버 간의 연결은 다음과 같은 속성을 가진다.

  • 연결은 대칭 키 알고리즘을 사용하여 전송된 데이터를 암호화하므로 ''비공개''(또는 ''기밀성'')이다. 이 대칭 암호화에 대한 키는 각 연결에 대해 고유하게 생성되며 세션 시작 시 협상된 공유 비밀을 기반으로 한다. 서버와 클라이언트는 사용할 암호화 알고리즘 및 암호화 키의 세부 사항을 협상한다.
  • 통신 당사자의 신원은 공개 키 암호화를 사용하여 ''인증''할 수 있다. 이 인증은 서버에 필요하며 클라이언트에는 선택 사항이다.
  • 연결은 전송 중 데이터의 감지되지 않은 손실 또는 변경을 방지하기 위해 각 전송된 메시지에 메시지 인증 코드를 사용한 메시지 무결성 검사가 포함되어 ''신뢰할 수 있다''(또는 ''무결성''이 있다).


TLS는 키 교환, 데이터 암호화, 메시지 무결성 인증을 위한 다양한 방법을 지원한다. 따라서 TLS의 보안 구성에는 많은 구성 가능한 매개변수가 포함되며, 모든 선택 사항이 위에서 설명한 모든 개인 정보 관련 속성을 제공하는 것은 아니다.

TLS가 제공하려는 통신 보안을 훼손하려는 시도가 있었고, 이러한 보안 위협을 해결하기 위해 프로토콜이 여러 번 수정되었다. 웹 브라우저 개발자는 잠재적 보안 취약성이 발견된 후 제품을 반복적으로 수정하여 보안 취약성에 대응해 왔다.

TLS는 대부분 연결 지향형 전송 계층 프로토콜(일반적으로 TCP)과 응용 계층 사이에서 사용된다. 특히 HTTP에서의 사용을 염두에 두고 설계되었지만, 응용 계층의 특정 프로토콜에 의존하지 않고 다양한 응용 프로그램에서 사용된다. TLS 1.1 이후를 기반으로 한 프로토콜은 UDPDCCP와 같은 데이터그램형 프로토콜에서도 구현되었으며, 이는 DTLS로 독립적으로 표준화되었다.

TLS는 HTTP 등과 같은 응용 계층 프로토콜과 결합하여 HTTPS와 같은 보안 통신 프로토콜을 구현한다.

SSL과 결합한 프로토콜포트 번호원래 프로토콜포트 번호
HTTPS443HTTP80
SMTPS465SMTP25
LDAPS636LDAP389
FTPS (data)989FTP (data)20
FTPS (control)990FTP (control)21
IMAPS993IMAP143
POP3S995POP3110



TLS는 특정 응용 계층 프로토콜에 의존하지 않기 때문에, HTTP 외에도 많은 프로토콜에서 채택되어 신용 카드 정보, 개인 정보 등 기밀 정보를 통신할 때 사용된다.

기존 응용 계층 프로토콜에서 TLS를 이용하는 방식은 크게 두 가지이다. 첫 번째는 하위 계층(일반적으로 TCP) 연결 확립 후 즉시 TLS 협상을 시작하고, TLS 연결 확립 후 응용 계층 프로토콜 통신을 시작하는 방식이다. 두 번째는 먼저 기존 응용 계층 프로토콜로 통신을 시작하고, 그 안에서 TLS로 전환을 지시하는 방식이다. 전환 명령어로서 `STARTTLS`가 널리 사용되므로, 이 방식 자체를 STARTTLS라고 부르기도 한다.

전자는 응용 계층 프로토콜을 변경하지 않아도 된다는 장점이 있지만, 평문 연결 시작 구현과 공존할 수 없으므로 기존 포트 번호와 별도로 TLS 대응용 포트 번호가 필요하다. 실제로는 HTTPS를 비롯하여 전자의 방식을 사용하는 경우가 많다. 하지만 이 방식은 가상 호스트 구성 시 문제가 발생할 수 있다.

한편, 포트 번호를 나누는 방식을 SSL, 동일한 포트 번호로 전환하는 방식(STARTTLS 방식)을 TLS라고 부르는 구현도 있다.[188] TLS/SSL이라는 용어의 구별이 프로토콜 버전을 가리키는 것인지, 응용 계층 프로토콜에 적용 방식을 가리키는 것인지는 문맥에 따라 판단해야 한다.

웹사이트에서의 TLS/SSL 지원 현황은 다음과 같다. (2021년 1월 기준)[236]

웹사이트에서의 TLS/SSL 지원 현황
프로토콜웹사이트 지원보안
SSL 2.00.2%
SSL 3.01.7%[449]
TLS 1.029.5%
TLS 1.131.8%
TLS 1.299.9%
TLS 1.366.2%



주요 웹 브라우저의 최신 버전에서는 TLS 1.2, 1.3이 기본적으로 활성화되어 있지만, 이전 버전의 OS 등 지원이 지속되는 웹 브라우저의 일부 버전에서는 그렇지 않다.


  • TLS 1.3을 지원하지만 기본적으로 비활성화: Internet Explorer 11(Windows 10 버전 1903 이상)
  • TLS 1.3을 미지원: Internet Explorer 11(Windows 10 버전 1903 이전)


TLS 1.0, 1.1은 취약성이 우려되어[240] 2020년부터 비활성화가 실시되기 시작했다.[241]

알려진 취약점의 일부에 대한 대응은 충분하지 않다.

  • POODLE 공격 대응: 일부 브라우저는 TLS\_FALLBACK\_SCSV를 구현하여 SSL 3.0으로의 폴백을 억제할 수 있지만, 이는 클라이언트 측뿐만 아니라 서버 측의 대응도 필요하다. SSL 3.0 자체의 비활성화, "anti-POODLE record splitting" 구현 또는 SSL 3.0에서의 CBC 모드 cipher suite 비활성화가 근본적인 대책이다.
  • RC4 공격 대응: 자세한 내용은 생략한다.
  • FREAK 공격 대응: 자세한 내용은 생략한다.


TLS/SSL 라이브러리 대부분은 오픈 소스 소프트웨어이다.

2. 1. Datagram Transport Layer Security

데이터그램 전송 계층 보안(Datagram Transport Layer Security, DTLS)은 데이터그램 기반 애플리케이션이 도청, 중간자 공격, 메시지 위조를 방지하도록 설계된 통신 방식을 사용해 통신 보안을 제공하는 관련 통신 프로토콜이다.[6][7] DTLS 프로토콜은 스트림 지향 전송 계층 보안(TLS) 프로토콜을 기반으로 하며 유사한 보안 보장을 제공한다. 그러나 TLS와 달리 사용자 데이터그램 프로토콜(UDP), 데이터그램 혼잡 제어 프로토콜(DCCP), 무선 액세스 포인트의 제어 및 프로비저닝(CAPWAP), 스트림 제어 전송 프로토콜(SCTP) 캡슐화, 보안 실시간 전송 프로토콜(SRTP)을 포함한 대부분의 데이터그램 지향 프로토콜과 함께 사용할 수 있다.

DTLS 프로토콜 데이터그램은 기본 전송의 의미를 유지하므로 애플리케이션은 스트림 프로토콜과 관련된 지연을 겪지 않지만, 패킷 재정렬, 데이터그램 손실 및 데이터그램 네트워크 패킷 크기보다 큰 데이터를 처리해야 한다. DTLS는 TCP 대신 UDP 또는 SCTP를 사용하기 때문에 VPN 터널을 생성하는 데 사용될 때 TCP 멜트다운 문제를[8][9] 피할 수 있다.

2006년에 처음 출시된 DTLS 버전 1.0은 독립형 문서가 아니었다. TLS 1.1에 대한 일련의 델타로 제공되었다.[10] 마찬가지로 후속 2012년 DTLS 릴리스는 TLS 1.2에 대한 델타이다. TLS 버전에 맞춰 DTLS 1.2의 버전 번호가 부여되었다. 마지막으로, 2022 DTLS 1.3은 TLS 1.3에 대한 델타이다. 이전 두 버전과 마찬가지로 DTLS 1.3은 "순서 보호/재생 불가능성을 제외하고 [TLS 1.3에] 동등한 보안 보장"을 제공하도록 설계되었다.[11]

VPN 클라이언트인 시스코(Cisco) AnyConnect[12] 및 InterCloud Fabric,[13] OpenConnect,[14] ZScaler 터널,[15] F5 네트웍스(F5 Networks)의 Edge VPN 클라이언트,[16] 및 시트릭스 시스템(Citrix Systems)의 NetScaler[17]는 DTLS를 사용하여 UDP 트래픽을 보호한다. 또한 모든 최신 웹 브라우저는 WebRTC에 대한 DTLS-SRTP[18]를 지원한다.

3. 개발 역사

넷스케이프가 SSL 규약을 처음 개발했다. SSL 1.0 버전은 공개되지 않았고, 1995년 2월에 SSL 2.0 버전이 출시되었다. 그러나 SSL 2.0 버전은 여러 보안 결함이 발견되어, 1996년에 출시된 SSL 3.0 버전으로 대체되었다. SSL 3.0은 IETF에서 1999년 1월에 RFC 2246 표준 규약으로 정의된 TLS 1.0의 기반이 되었다.[40][19][20]

프로토콜연도
SSL 1.0-
SSL 2.01995
SSL 3.01996
TLS 1.01999
TLS 1.12006
TLS 1.22008
TLS 1.32018



TLS는 1986년 8월에 시작된 국립안보국, 국립표준국, 국방통신국, 그리고 12개의 통신 및 컴퓨터 회사 간의 공동 이니셔티브인 보안 데이터 네트워크 시스템(SDNS) 프로젝트를 통해 개발되었다.[23] 이 프로토콜은 원래 SP4 프로토콜로 알려졌으나, TLS로 이름이 변경되었고, 1995년에 국제 표준 ITU-T X.274|ISO/IEC 10736:1995로 발표되었다.

TLS는 대부분 연결 지향형 전송 계층 프로토콜(일반적으로 TCP)과 응용 계층 사이에서 사용되도록 설계되었다. TLS 1.1 이후를 기반으로 한 프로토콜은 UDPDCCP와 같은 데이터그램형 프로토콜에서도 구현되었으며, 이는 DTLS로 독립적으로 표준화되었다.

4. 보안부분 약점

패킷이 암호화되어 송수신되므로 스니핑 공격에서는 뛰어난 보안성을 보인다. 그러나 암호화된 패킷이 클라이언트 PC 또는 서버로 전송되기 때문에 송수신 간 데이터 교환 자체는 막을 수 없다. 따라서 개인정보 유출, DDoS, APT, 악성코드 공격에는 취약하다.[478]

TLS는 공개 키 인증서를 사용하여 인증을 수행하고 사칭을 최대한 막으려 한다. 그러나 시스템의 자동적인 대응에는 한계가 있어 모든 사칭을 탐지할 수 있는 것은 아니다. 공개 키 인증서에는 인증 기관의 전자 서명이 주어지는데, 이 서명의 정당성을 평가하려면 인증 기관의 인증서, 최종적으로는 루트 인증서가 필요하다. 각 시스템은 신뢰할 수 있는 루트 인증서를 미리 가지고 있다. 인증 기관은 비밀 키를 엄중히 비밀로 하고, 인증서 발행 시 정당한 서버 관리자인지 확인해야 한다. 이러한 점들이 보장되지 않으면 TLS 인증 기능이 무너질 수 있다.

TLS로 인증을 수행하려면 인증 기관의 서명 외에도 인증서 발행처를 확인해야 한다. 확인하지 않으면 서버 A의 관리 권한이 없는 자가 서버 B로서 정당한 인증서를 취득해 서버 A를 사칭할 수 있다. TLS용 서버 인증서에는 발행처 서버의 호스트명이 기록되어 있으며, 클라이언트는 자신이 접속하려는 서버의 호스트명과 일치하는지 확인해야 한다.

현실에서는 "정당한" 서버라도 검증 결과 "문제가 있다"고 판단되는 인증서를 사용하는 경우가 많다. 보안 연구자 다카기 히로미츠는 이러한 인증서를 오레오레 인증서라고 부르며 비판한다.[192]

이 검증은 시스템에 지정된 접속처의 호스트명과 실제로 접속한 곳의 호스트명이 일치하는지를 확인하는 것이며, 이용자가 의도하는 접속처와 반드시 일치하는 것은 아니다.

예를 들어, 이용자가 접속하려는 서버 A가 호스트명 www.example.'''com'''으로 서비스를 제공하고, 공격자가 서버 B 및 호스트명 www.example.'''org'''를 취득한 경우를 생각해 보자. 공격자가 DNS 스푸핑에 성공하여 www.example.com으로의 접속을 서버 B로 유도할 수 있어도, www.example.com의 서버 인증서를 입수할 수 없기 때문에 TLS 접속을 제공할 수 없다. 그러나 공격자는 www.example.org의 서버 인증서를 입수할 수 있다. 따라서 서버 A에 접속하려는 이용자를 www.example.com이 아닌 www.example.org로 접속시킬 수 있다면, 클라이언트에서는 정당한 인증서를 가진 서버로밖에 보이지 않는다.

이용자가 의도하는 접속처인지 판단하려면 다음 두 가지 조건을 만족해야 한다.

# 이용자는 의도하는 접속처의 올바른 호스트명을 알고 있다.

# 이용자는 현재 시스템에 지정된 접속처가 자신이 알고 있는 올바른 호스트명과 일치하는지 확인할 수 있다.

두 번째 조건은 정보 처리 추진 기구(IPA)가 공개한 "안전한 웹사이트 만드는 방법"[193]의 "[피싱] 사기를 조장하지 않기 위한 대책"에 해당한다.

5. 주요 특징

전송 계층 보안(TLS) 프로토콜은 1986년 8월, 미국 국립안보국(NSA), 국립표준국(NIST), 국방통신국(DCA) 및 12개 통신/컴퓨터 회사 간의 공동 이니셔티브인 보안 데이터 네트워크 시스템(SDNS) 프로젝트에서 시작되었다.[23] 1987년 9월 제10회 전국 컴퓨터 보안 컨퍼런스에서 발표된 이 연구는 공공 및 사설 인터넷 애플리케이션을 위한 차세대 보안 컴퓨터 통신 네트워크 및 제품 설계를 목표로 했다.

원래 SP4 프로토콜로 알려졌던 이 프로토콜은 TLS로 이름이 변경되었고, 1995년에 국제 표준 ITU-T X.274|ISO/IEC 10736:1995로 발표되었다.

TLS/SSL 프로토콜의 주요 특징은 다음과 같다.

'''TLS/SSL 프로토콜 버전'''
프로토콜게시일상태
SSL 1.0미게시미게시
SSL 2.01995년2011년 폐지[19][20]
SSL 3.01996년2015년 폐지[19][20]
TLS 1.01999년2021년 폐지[40][19][20]
TLS 1.12006년2021년 폐지[40][19][20]
TLS 1.22008년2008년부터 사용 중[21]
TLS 1.32018년2018년부터 사용 중[21][22]


  • 암호화: SSL 인증서는 웹 서버와 사용자 브라우저 간에 전송되는 데이터를 암호화하여 전송 과정에서 민감한 정보를 보호한다.
  • 인증: SSL 인증서는 웹사이트의 무결성을 보장하고 방문자가 악의적인 사칭자가 아닌 올바른 서버에 연결되도록 돕는다.
  • 무결성: SSL은 암호화 기술을 사용하여 서버와 브라우저 간에 통신되는 데이터가 전송 중에 변경되지 않고 온전하게 유지되도록 검증한다.


TLS는 일반적으로 인증서의 진위 여부를 확인하기 위해 신뢰할 수 있는 제3자 인증 기관에 의존한다. Netcraft에 따르면, 2019년 5월 기준 시장 점유율 측면에서 상위 3대 인증 기관은 IdenTrust, DigiCert, Sectigo이다.[67]

클라이언트와 서버는 필요에 따라 Change Cipher Spec 프로토콜 메시지를 서로에게 보내고, 종료를 의미하는 Finished 메시지를 보낸다.[198]

5. 1. 알고리즘

TLS는 지원 가능한 알고리즘을 서로 교환하고, 키 교환 및 인증, 대칭키 암호로 암호화 및 메시지 인증의 3단계 기본 절차를 거친다. 이 과정에서 다양한 알고리즘이 사용된다.

TLS 1.2에서는 암호 스위트를 다음과 같은 형식으로 표현한다.

TLS_DHE_DSS_WITH_AES_256_CBC_SHA256

이는 다음과 같은 의미를 가진다.

  • 키 공유 방식으로 DSS 서명을 사용한 EDH(Ephemeral Diffie-Hellman)를 사용한다.
  • 인증 암호로 평문에 MAC을 붙인 후 공통키 암호화하는 MAC-then-Encrypt(MtE)형을 사용한다.
  • 공통키 암호로 CBC 모드의 256비트 키 AES를 사용한다.
  • MAC으로는 SHA256 해시 함수를 기반으로 한 HMAC을 사용한다.


TLS 1.2에서는 AES-GCM과 같은 인증 암호 전용 암호 이용 모드도 사용할 수 있으며, 이 경우 MAC은 필요하지 않다. RSA 암호와 RSA 서명을 조합한 키 공유 방식은 TLS_RSA_WITH_…처럼 약칭한다. 키 공유, 공통키 암호, 해시 함수의 모든 조합이 가능한 것은 아니며, 동시에 사용할 수 없는 조합도 존재한다.

SSL/TLS에서 사용할 수 있는 키 공유 방식은 다음과 같다. (DH는 디피-헬만을 의미). DH-ANON, ECDH-ANON은 중간자 공격에 취약하여 안전하지 않다.

  • '''DH-ANON''' (Anonymous DH), '''ECDH-ANON''' (Anonymous ECDH): 전송 데이터에 서명하지 않고 DH 키 공유, ECDH 키 공유를 수행한다.
  • '''DHE-*''' ('''Ephemeral DH'''): 키 공유 시 클라이언트, 서버가 임의의 값을 선택하고, 지수승을 계산하여 서명문을 첨부하여 교환한다. "'''*'''" 부분에는 서명 방식이 기재된다. '''ECDHE-***'''는 DHE의 타원 DH 버전이다.
  • '''DH-*''' ('''Fixed DH''' 또는 '''non-interactive DH'''): 디피-헬만 키 교환에서 사용하는 매개변수(클라이언트, 서버의 지수승 값)가 클라이언트나 서버의 공개키로 인증 기관으로부터 공개키 인증서를 수신한 경우이다. "'''*'''" 부분에는 공개키 인증서 내의 서명 방식을 기재한다. '''ECDH-***''' ('''Fixed ECDH''')는 Fixed DH의 타원 DH 버전이다.
  • '''RSA-***''': 임의로 선택한 공유키를 서버의 공개키로 RSA 암호화하고, 암호문에 지정된 서명 방식으로 서명하여 ClientKeyExchange에서 서버로 보낸다. (ServerKeyExchange에서는 아무것도 보내지 않음).


어떤 키 공유 방식을 사용하든, 공유된 키(premaster secret)와 클라이언트 및 서버가 선택한 난수를 의사 난수 함수에 입력하여 최종 master secret을 얻는다. 이를 통해 재생 공격을 방지한다.

PSK를 사용한 TLS_PSK, SRP를 사용한 TLS_SRP, Kerberos를 사용한 KRB5도 존재한다. 독립 국가 연합의 GOST 표준에 의해 규정된 키 공유 알고리즘인 GOST R 34.10도 제안되었다.[216]

5. 1. 1. 키 교환 또는 키 합의

TLS(전송 계층 보안)를 통해 정보를 안전하게 교환하려면, 클라이언트와 서버는 암호화 키와 데이터를 암호화할 때 사용할 암호를 안전하게 교환하거나 합의해야 한다. 키 교환/합의에 사용되는 주요 알고리즘은 다음과 같다.[70][71]

  • RSA: RSA로 생성된 공개 키와 개인 키를 사용한다. (TLS 핸드셰이크 프로토콜에서 TLS_RSA로 표시)
  • 디피-헬만 (TLS_DH)
  • 타원 곡선 디피-헬만 (TLS_ECDH)
  • 익명 디피-헬만 (TLS_DH_anon): 서버나 사용자를 인증하지 않으므로 중간자 공격에 취약하여 거의 사용되지 않는다.
  • 사전 공유 키 (TLS_PSK)
  • 보안 원격 암호 (TLS_SRP)


임시 디피-헬만 (TLS_DHE) 및 임시 타원 곡선 디피-헬만 (TLS_ECDHE)은 전방 보안을 제공한다.

키 교환/합의 및 인증
알고리즘SSL 2.0SSL 3.0TLS 1.0TLS 1.1TLS 1.2TLS 1.3상태
RSA아니요RFC에서 TLS 1.2에 정의됨
DH-RSA아니요아니요
DHE-RSA (전방 보안)아니요
ECDH-RSA아니요아니요아니요
ECDHE-RSA (전방 보안)아니요아니요
DH-DSS아니요아니요
DHE-DSS (전방 보안)아니요아니요 [74]
DHE-ECDSA (전방 보안)아니요아니요아니요아니요아니요
ECDH-ECDSA아니요아니요아니요
ECDHE-ECDSA (전방 보안)아니요아니요
DHE-EdDSA (전방 보안)아니요아니요아니요아니요아니요
ECDH-EdDSA아니요아니요아니요
ECDHE-EdDSA (전방 보안)[75]아니요아니요
PSK아니요아니요
RSA-PSK아니요아니요아니요
DHE-PSK (전방 보안)아니요아니요
ECDHE-PSK (전방 보안)아니요아니요
SRP아니요아니요아니요
SRP-DSS아니요아니요아니요
SRP-RSA아니요아니요아니요
Kerberos아니요아니요
DH-ANON (안전하지 않음)아니요아니요
ECDH-ANON (안전하지 않음)아니요아니요아니요
GOST[76]아니요아니요아니요아니요TLS 1.2 및 TLS 1.3에 대해 정의됨.



교환/합의 중에 사용되는 공개 키 인증서도 교환 중에 사용되는 공개/개인 암호화 키의 크기가 다르며, 이에 따라 제공되는 보안의 견고함도 다르다. 2013년 7월 구글(Google)은 사용자가 제공하는 TLS 암호화의 보안을 강화하기 위해 1024비트 공개 키를 더 이상 사용하지 않고 2048비트 키로 전환할 것이라고 발표했다. 이는 암호화 강도가 키 크기와 직접적인 관련이 있기 때문이다.[72][73]

5. 1. 2. 인증

인증에는 RSA, DSA, ECDSA 등의 알고리즘이 사용된다.

5. 1. 3. 대칭키 암호

TLS/SSL에서 사용되는 대칭키 암호에는 다음과 같은 알고리즘들이 있다.

TLS/SSL의 각 버전에서 사용할 수 있는 암호화 알고리즘
암호화프로토콜 버전상황
종류알고리즘암호 강도 (bit)SSL 2.0SSL 3.0[217][218][219][220]TLS 1.0[217][219]TLS 1.1[217]TLS 1.2[217]
블록 암호
(암호 운용 방식)
AES GCM[221][222]256, 128TLS 1.2를 위해 RFC에서 정의됨
AES CCM[223][222]
AES CBC[228]
카멜리아 GCM[224][222]256, 128
카멜리아 CBC[225][228]
ARIA GCM[226][222]256, 128
ARIA CBC[226][228]
SEED CBC[227][228]128
3DES EDE CBC[228]112
CTR[216]256RFC 초안으로 제안 중
IDEA CBC[228][231]128TLS 1.2에서 폐지
DES CBC[228][231]56
40[232]TLS 1.1 이후 사용 금지
RC2 CBC[228]40[232]
스트림 암호ChaCha20+Poly1305[233][222]256TLS 1.2를 위해 RFC에서 정의됨
RC4[234]128모든 버전에서 사용 금지
40[232]
암호화 없음Null[235]-TLS 1.2를 위해 RFC에서 정의됨



AES CBC는 TLS 1.0에 포함되어 있지 않지만, RFC 3268에서 추가되었다. TLS 1.1에서는 RFC 3268을 참조하며, TLS 1.2에서는 정의에 AES CBC에 관한 기술이 포함되었다. 또한, 인증 암호에 의한 AES GCM (RFC 5288, RFC 5289), AES CCM (RFC 6655, RFC 7251)이 추가되었다. IDEA CBC, DES CBC는 TLS 1.2에서 폐지되었다. (RFC 5469에 해설이 있다.)

블록 암호의 CBC 모드에서의 이용에 대해서는, TLS 1.0 이전에서 BEAST 공격이 가능하다는 것이 밝혀졌으며, 대응이 필요하다. TLS 1.1 이후에서는 이 공격에 대한 근본적인 대처로서 초기화 벡터를 명시적으로 지정하고, 패딩 처리가 개선되었다. 블록 암호여도 GCM, CCM 등의 인증 암호를 사용하는 경우에는 이러한 공격을 받지 않는다.

스트림 암호RC4는 BEAST 공격을 받지 않지만, RC4에는 사양상의 취약성이 존재한다. (RC4 공격). 2015년 2월, TLS의 모든 버전에서 RC4의 이용을 금지하는 RFC 7465가 공개되었다. 스트림 암호인 ChaCha20과 인증을 위한 Poly1305를 조합한 ChaCha20+Poly1305가 RFC 7905로 표준화되었다.

몇몇 국가 표준에 기반한 암호화 알고리즘도 TLS에서 사용할 수 있으며, 일본의 CRYPTREC에 의한 권장 암호인 카멜리아 (CBC 모드:RFC 4132, RFC 5932, RFC 6367, GCM:RFC 6367), 한국의 정보 통신 표준 규격에 채용된 SEED (CBC 모드:RFC 4162), ARIA (CBC 모드 및 GCM:RFC 6209)가 추가되었다. 또한, 독립 국가 연합의 GOST 규격에 의해 규정된 암호화 알고리즘인 GOST 28147-89도 제안되고 있다.[216]

5. 1. 4. 암호화 해시 함수

TLS에서는 HMAC-MD5 또는 HMAC-SHA 해시 함수가 사용된다. SSL에서는 MD5SHA가 사용되었고, 이전 버전의 SSL에서는 MD2MD4가 사용되었다.[31][32][33][34]

5. 2. 디지털 인증서

디지털 인증서가 있는 웹사이트의 예


디지털 인증서는 인증서에 이름이 명시된 주체가 공개 키를 소유하고 있음을 증명하며, 해당 키가 특정한 용도로 사용될 것임을 나타낸다. 이를 통해 다른 사용자(신뢰 당사자)는 인증된 공개 키에 해당하는 개인 키로 만들어진 서명이나 주장에 의존할 수 있다. 키 저장소 및 신뢰 저장소는 .pem, .crt, .pfx, .jks와 같은 다양한 형식이 될 수 있다.

SSL 인증서는 다음과 같은 기능을 제공한다.

  • '''암호화''': SSL 인증서는 웹 서버와 사용자의 브라우저 간에 전송되는 데이터를 암호화하여 전송 과정에서 민감한 정보가 보호되도록 한다.
  • '''인증''': SSL 인증서는 웹사이트의 무결성을 보장하고 방문자가 악의적인 사칭자가 아닌 올바른 서버에 연결되도록 돕는다.
  • '''무결성''': SSL 인증서는 데이터 무결성을 보장한다. SSL은 암호화 기술을 사용하여 서버와 브라우저 간에 통신되는 데이터가 전송 중에 변경되지 않고 온전하게 유지되도록 검증한다.


클라이언트와 서버는 필요에 따라 Change Cipher Spec 프로토콜 메시지를 서로에게 보내고, 종료를 의미하는 Finished 메시지를 보낸다.[198]

5. 2. 1. 인증 기관

TLS는 일반적으로 인증서의 진위 여부를 확인하기 위해 신뢰할 수 있는 제3자 인증 기관 집합에 의존한다. 신뢰는 일반적으로 사용자 에이전트 소프트웨어와 함께 배포되는 인증서 목록에 고정되어 있으며,[64] 의존 당사자에 의해 수정될 수 있다.

X.509 인증서를 선택한 결과, 인증서와 소유자 간의 관계를 확인하고, 인증서의 유효성을 생성, 서명 및 관리하기 위해 인증 기관과 공개 키 기반 구조가 필요하다. 이는 신뢰의 웹을 통해 신원을 확인하는 것보다 더 편리할 수 있지만, 2013년 이후의 세계적 감시 폭로로 인해 인증 기관이 보안 관점에서 취약점이며, 인증 기관이 협력하거나 손상된 경우 중간자 공격(MITM)을 허용한다는 사실이 더 널리 알려지게 되었다.[68][69]

Netcraft에 따르면, 활성 TLS 인증서를 모니터링하는 시장 선도 인증 기관(CA)은 조사 시작 이후 시만텍(Symantec)이었다(또는 시만텍이 인증 서비스 사업부를 인수하기 전에는 VeriSign). 2015년 기준으로 시만텍은 모든 인증서의 3분의 1 미만, Netcraft가 집계한 100만 개의 가장 바쁜 웹사이트에서 사용되는 유효한 인증서의 44%를 차지했다.[65] 2017년에 시만텍은 TLS/SSL 사업을 DigiCert에 매각했다.[66] 업데이트된 보고서에 따르면 IdenTrust, DigiCert, Sectigo가 2019년 5월 이후 시장 점유율 측면에서 상위 3대 인증 기관인 것으로 나타났다.[67]

5. 3. Forward Secrecy

전송 계층 보안의 순방향 비밀성은, 개인 키 중 하나가 나중에 손상되더라도 공개 키와 개인 키 집합에서 파생된 세션 키가 손상되지 않도록 보장하는 암호화 시스템의 속성이다.[165] 순방향 비밀성이 없으면 서버의 개인 키가 손상된 경우 해당 서버 인증서를 사용하여 암호화된 모든 미래의 TLS 세션이 손상될 뿐만 아니라, 과거에 사용했던 세션(해당 세션이 전송 당시 가로채서 저장된 경우)도 손상된다.[166]

TLS 구현은 세션 키를 설정하기 위해 임시 디피-헬만 키 교환의 사용을 요구함으로써 순방향 비밀성을 제공할 수 있으며, 일부 주목할 만한 TLS 구현은 이를 독점적으로 수행한다. 예를 들어, GmailOpenSSL을 사용하는 다른 Google HTTPS 서비스가 있다.[167] 그러나 TLS를 지원하는 많은 클라이언트와 서버(브라우저 및 웹 서버 포함)는 그러한 제한을 구현하도록 구성되어 있지 않다.[168][169] 실제로 웹 서비스가 순방향 비밀성을 구현하기 위해 디피-헬만 키 교환을 사용하지 않는 한, 해당 서비스로 오가는 모든 암호화된 웹 트래픽은 제3자가 서버의 마스터(개인) 키를 획득하면, 예를 들어 법원 명령을 통해 해독될 수 있다.[170]

디피-헬만 키 교환이 구현된 경우에도 서버 측 세션 관리 메커니즘이 순방향 비밀성에 영향을 줄 수 있다. TLS 세션 티켓 (TLS 확장)을 사용하면 순방향 비밀성 암호화 제품군을 포함한 다른 협상된 TLS 매개변수와 관계없이 세션이 AES128-CBC-SHA256으로 보호되며, 장기간 유지되는 TLS 세션 티켓 키는 순방향 비밀성을 구현하려는 시도를 무력화한다.[182][180][181] 2014년 스탠포드 대학교의 연구에 따르면, 순방향 비밀성을 지원하기 위해 임시 디피-헬만(DHE) 키 교환을 배포한 서버 473,802개 중 82.9%가 약한 디피-헬만 매개변수를 사용하고 있는 것으로 나타났다. 이러한 약한 매개변수 선택은 서버가 제공하고자 하는 순방향 비밀성의 효과를 잠재적으로 손상시킬 수 있다.[171]

2011년 말부터 구글은 Gmail 서비스 사용자에게 TLS를 사용하여 순방향 비밀성을 기본적으로 제공하고 있으며, Google 문서도구 및 암호화된 검색 등 다른 서비스도 제공하고 있다.[172] 2013년 11월부터 트위터는 해당 서비스 사용자에게 TLS를 사용하여 순방향 비밀성을 제공하고 있다.[173] 2019년 8월 기준, TLS를 지원하는 웹사이트의 약 80%가 대부분의 웹 브라우저에 순방향 비밀성을 제공하는 암호화 제품군을 사용하도록 구성되어 있다.[98]

6. 프로토콜 상세 정보

넷스케이프는 최초의 SSL 프로토콜을 개발했으며, 1995년부터 1998년까지 넷스케이프의 수석 과학자였던 타헤르 엘가말은 "SSL의 아버지"로 묘사된다.[31][32][33][34] SSL 1.0은 심각한 보안 결함으로 공개되지 않았고, 1995년 2월에 출시된 SSL 2.0 역시 여러 보안 및 사용성 결함이 있었다.

이러한 결함으로 인해 1996년 SSL 3.0이 출시되었다.[35][33] SSL 2.0은 2011년에, SSL 3.0은 2014년 POODLE 공격에 취약점이 발견되어 2015년에 더 이상 사용되지 않게 되었다.

넷스케이프 커뮤니케이션즈가 설계한 SSL 첫 번째 버전은 설계 검토 단계에서 큰 취약점이 발견되어 폐기되었다. 넷스케이프는 SSL 1.0의 문제를 수정, 재설계하여 1994년에 SSL 2.0을 발표했고, Netscape Navigator 1.1에 구현했다. 이후 SSL 2.0의 취약점이 발견되어 SSL 3.0에서 수정되었다. SSL 3.0은 SSL 2.0과의 호환을 위해 난수 영역을 사용한 트릭을 추가, 공격 탐지 메커니즘을 내장했다. 2011년 3월, SSL 2.0 사용이 금지되었다.

TLS는 핸드셰이크 프로토콜의 ClientHello, ServerHello에서 사용할 암호 스위트(ciphersuite)를 결정한다. TLS 1.2에서 암호 스위트는 다음과 같은 형식으로 표현한다.

TLS_DHE_DSS_WITH_AES_256_CBC_SHA256

이는 다음을 의미한다.


  • 키 공유 방식: EDH(Ephemeral Diffie-Hellman) 통신에 DSS 서명 사용
  • 인증 암호: 평문에 MAC을 붙인 후 공통 키 암호화(MAC-then-Encrypt(MtE)형)
  • 공통 키 암호: CBC 모드의 256비트 키 AES 사용
  • MAC: SHA256 해시 함수 기반 HMAC 사용


TLS 1.2는 MtE형 외에 AES-GCM 등 인증 암호 전용 암호 이용 모드도 사용할 수 있다.

키 공유, 공통 키 암호, 해시 함수 조합은 동시에 사용할 수 없는 경우도 있다. SSL/TLS에서 사용 가능한 키 공유 방식은 다음과 같다. (DH는 디피-헬만 의미, DH-ANON, ECDH-ANON은 중간자 공격에 취약)

  • '''DH-ANON''' (Anonymous DH), '''ECDH-ANON''' (Anonymous ECDH): 서명 없이 DH 키 공유, ECDH 키 공유 수행
  • '''DHE-*''' ('''Ephemeral DH'''): 키 공유 시 클라이언트, 서버가 임의 값을 선택, 계산 값에 서명문을 첨부하여 교환. 서명 방식은 "'''*'''" 부분에 기재. '''ECDHE-***'''는 DHE의 타원 DH 버전
  • '''DH-*''' ('''Fixed DH''' 또는 '''non-interactive DH'''): 디피-헬만 매개변수(클라이언트와 서버 특정 값)가 클라이언트나 서버 공개 키로 인증 기관에서 공개 키 인증서를 수신한 경우의 디피-헬만 키 공유. 공개 키 인증서 내 서명문 작성 서명 방식은 "'''*'''" 부분에 기재. '''ECDH-***''' ('''Fixed ECDH''')는 Fixed DH의 타원 DH 버전
  • '''RSA-*''': 임의 선택 공유 키를 서버 공개 키로 RSA 암호화, 암호문을 "'''*'''"로 지정된 서명 방식으로 서명하여 ClientKeyExchange에서 클라이언트가 서버로 전송 (ServerKeyExchange에서는 아무것도 보내지 않음)


어떤 키 공유 방식이든 공유된 키(premaster secret)를 사용한 의사 난수 함수에 클라이언트가 선택한 난수와 서버가 선택한 난수 등을 나열, 입력하여 최종 master secret을 얻는다.

TLS의 각 버전에서 사용할 수 있는 인증 및 키 교환 알고리즘
알고리즘SSL 2.0SSL 3.0TLS 1.0TLS 1.1TLS 1.2TLS 1.3상황
RSA아니요TLS 1.2를 위해 RFC에 정의됨
DH-RSA아니요아니요
DHE-RSA (순방향 비밀성)아니요
ECDH-RSA아니요아니요아니요
ECDHE-RSA (순방향 비밀성)아니요아니요
DH-DSS아니요아니요
DHE-DSS (순방향 비밀성)아니요아니요[215]
ECDH-ECDSA아니요아니요아니요
ECDHE-ECDSA (순방향 비밀성)아니요아니요
아니요아니요
-RSA아니요아니요아니요
DHE- (순방향 비밀성)아니요아니요
ECDHE- (순방향 비밀성)아니요아니요
아니요아니요아니요
-DSS아니요아니요아니요
-RSA아니요아니요아니요
KRB5아니요아니요알 수 없음
DH-ANON (안전하지 않음)아니요아니요
ECDH-ANON (안전하지 않음)아니요아니요아니요
GOST R 34.10-94 / 34.10-2001[216]아니요아니요아니요아니요RFC 초안에서 제안 중



TLS_PSK, TLS_SRP, Kerberos를 사용한 KRB5도 존재한다.

독립 국가 연합의 GOST 표준에 의해 규정된 키 공유 알고리즘인 GOST R 34.10도 제안되었다.[216]

6. 1. TLS 핸드셰이크

TLS 핸드셰이크는 클라이언트와 서버 간에 암호화된 통신을 설정하기 위한 절차이다. 이 과정에서 암호화 알고리즘, 키 교환 방식, 세션 키 등이 협상된다.

TLS는 기본적으로 다음과 같은 3단계를 거친다.

# 지원 가능한 알고리즘 교환

# 키 교환 및 인증

# 대칭키 암호를 이용한 암호화 및 메시지 인증

우선 클라이언트와 서버는 암호 스위트(cipher suite)를 교환한다. 이 단계에서 키 교환 및 인증에 사용될 암호화 방법, 메시지 인증 코드(MAC)가 결정된다. 키 교환 및 인증 알고리즘은 공개키 방법을 사용하거나, 미리 공유된 키(TLS-PSK)를 사용할 수도 있다. 메시지 인증 코드는 HMAC 해시 함수로 만들어진다. (SSL에서는 비표준 무작위 함수를 사용한다.)

일반적으로 사용되는 알고리즘은 다음과 같다.

클라이언트-서버 애플리케이션은 도청 및 변조를 방지하기 위해 TLS 프로토콜을 사용한다.[2] 클라이언트가 서버에 TLS 연결을 요청하면 핸드셰이크 절차를 사용하여 상태 연결을 협상한다.[3]

시간 정보를 포함한 전체 TLS 1.2 핸드셰이크의 단순화된 그림


TLS 핸드셰이크는 비대칭 암호화를 사용하여 암호 설정을 협상하고, 대칭 암호화에 사용될 세션별 공유 키를 설정한다. 핸드셰이크 과정에서 클라이언트와 서버는 연결 보안에 사용되는 다양한 매개변수에 동의한다.

  • 클라이언트는 보안 연결을 요청하며 TLS를 지원하는 서버에 연결하고, 지원하는 암호화 제품군 목록(암호해시 함수)을 제시한다.
  • 서버는 지원하는 암호 및 해시 함수를 선택하고 클라이언트에 알린다.
  • 서버는 디지털 인증서 형태로 신원을 제공한다. ( 서버 이름, 인증서의 진위 여부를 보증하는 신뢰할 수 있는 인증 기관(CA), 서버의 공개 암호화 키 포함)
  • 클라이언트는 인증서의 유효성을 확인한다.
  • 보안 연결에 사용되는 세션 키를 생성하기 위해 클라이언트는 다음 중 하나를 수행한다.
  • 서버의 공개 키로 난수(''PreMasterSecret'')를 암호화하여 서버에 보낸다. (서버만 개인 키로 해독 가능) 이후 양측은 난수를 사용하여 세션 동안 데이터 암호화 및 해독을 위한 고유한 세션 키를 생성한다.
  • 디피-헬만 키 교환 (또는 타원 곡선 DH)을 사용하여 전방 보안 속성을 갖는 암호화 및 해독을 위한 무작위하고 고유한 세션 키를 안전하게 생성한다. (서버의 개인 키가 나중에 공개되어도 제3자가 현재 세션을 해독할 수 없다.)


핸드셰이크가 종료되고 보안 연결이 시작되면, 연결이 종료될 때까지 세션 키로 암호화 및 해독이 이루어진다. 위 단계 중 하나라도 실패하면 TLS 핸드셰이크가 실패하고 연결이 생성되지 않는다.

TLS는 키 교환, 데이터 암호화, 메시지 무결성 인증을 위한 다양한 방법을 지원한다. TLS의 보안 구성에는 많은 매개변수가 있으며, 모든 선택 사항이 동일한 수준의 개인 정보 관련 속성을 제공하는 것은 아니다.

TLS가 제공하려는 통신 보안을 훼손하려는 시도가 있었고, 이러한 보안 위협을 해결하기 위해 프로토콜이 여러 번 수정되었다. 웹 브라우저 개발자들은 잠재적 보안 취약성이 발견될 때마다 제품을 수정하여 대응해왔다.

TLS 프로토콜은 ''레코드''를 교환하여 데이터를 캡슐화한다. 각 레코드는 연결 상태에 따라 압축, 패딩, 메시지 인증 코드(MAC)가 추가되거나 암호화될 수 있다. 각 레코드는 캡슐화된 데이터의 유형을 지정하는 ''콘텐츠 유형'' 필드, 길이 필드, TLS 버전 필드를 갖는다. 캡슐화된 데이터는 TLS 자체의 제어/절차 메시지이거나 TLS를 통해 전송해야 하는 애플리케이션 데이터일 수 있다. TLS를 통해 애플리케이션 데이터를 교환하는 데 필요한 사양(암호화 제품군, 키 등)은 "TLS 핸드셰이크"에서 합의된다.

연결 시작 시 레코드는 핸드셰이크 메시징 프로토콜(''콘텐츠 유형'' 22)을 캡슐화한다. 이 프로토콜은 TLS를 통해 실제 애플리케이션 데이터를 교환하기 위해 필요한 정보를 교환하는 데 사용된다. 메시지 형식과 교환 순서는 클라이언트와 서버의 요구 사항에 따라 달라질 수 있다. 초기 교환 결과는 성공적인 TLS 연결 또는 경고 메시지이다.

TLS 1.3 핸드셰이크는 이전 버전에 비해 왕복 횟수가 줄었다.

핸드셰이크를 시작하기 위해 클라이언트는 서버가 선택할 키 교환 알고리즘을 추측하고, 지원하는 암호 목록과 일부 또는 모든 키 교환 추측에 대한 공개 키를 포함하는 '''ClientHello''' 메시지를 서버로 보낸다. 클라이언트가 키 교환 알고리즘을 성공적으로 추측하면 핸드셰이크에서 한 번의 왕복이 제거된다. '''ClientHello'''를 받은 후, 서버는 암호를 선택하고 자체 공개 키와 서버 '''인증서''', '''Finished''' 메시지를 포함하는 '''ServerHello'''를 보낸다.

클라이언트는 서버의 finished 메시지를 받은 후, 어떤 암호 제품군을 사용할지에 대해 서버와 조율된다.

TLS 세션 설정 중에 교환되는 대부분의 메시지는 이 레코드를 기반으로 한다. 오류 또는 경고가 발생하거나, 세션의 암호화 모드가 변경되는 경우는 예외이다.

핸드셰이크 프로토콜을 위한 TLS 레코드 형식
오프셋바이트+0바이트+1바이트+2바이트+3
바이트
0
22colspan=3|
바이트
1–4
레거시 버전길이
(주 버전)(부 버전)(비트 15–8)(비트 7–0)
바이트
5–8
메시지 유형핸드셰이크 메시지 데이터 길이
(비트 23–16)(비트 15–8)(비트 7–0)
바이트
9–(n−1)
핸드셰이크 메시지 데이터
바이트
n–(n+3)
메시지 유형핸드셰이크 메시지 데이터 길이
(비트 23–16)(비트 15–8)(비트 7–0)
바이트
(n+4)–
핸드셰이크 메시지 데이터



;메시지 유형: 핸드셰이크 메시지 유형을 식별한다.

메시지 유형
코드설명
0HelloRequest
1ClientHello
2ServerHello
4NewSessionTicket
8EncryptedExtensions (TLS 1.3만 해당)
11Certificate
12ServerKeyExchange
13CertificateRequest
14ServerHelloDone
15CertificateVerify
16ClientKeyExchange
20Finished



;핸드셰이크 메시지 데이터 길이

: 헤더를 제외한 핸드셰이크 데이터의 길이를 나타내는 3바이트 필드이다.

하나의 레코드 내에 여러 핸드셰이크 메시지가 결합될 수 있다.

넷스케이프 커뮤니케이션즈가 SSL의 첫 번째 버전을 설계했지만, 설계 검토 단계에서 프로토콜 자체에 큰 취약점이 발견되어 폐기되었다.

넷스케이프는 SSL 1.0의 문제를 수정하고 재설계하여 1994년에 SSL 2.0을 발표했다. Netscape Navigator 1.1에 SSL 2.0을 구현했다.

이후, SSL 2.0에도 몇 가지 취약점이 발견되어 SSL 3.0에서 수정되었다. SSL 2.0의 취약점 중 하나는 협상 정보를 위조하면 제시된 선택지 중 가장 약한 알고리즘을 사용하게 할 수 있고(다운그레이드 공격), 위조된 것을 탐지할 수 없다는 것이다. 더욱 심각한 것은 이 취약점을 이용하면 양쪽 모두 SSL 3.0을 지원하더라도 SSL 2.0으로 연결되게 하는 것조차 가능하다.

SSL 3.0에서는 SSL 2.0과의 호환성을 위해 난수 영역을 사용한 트릭을 추가하여 이러한 공격을 탐지하는 메커니즘을 내장했다. 하지만 이 트릭이 비활성화된 서버 환경도 존재하며, 클라이언트 입장에서 보면 SSL 2.0을 비활성화하지 않는 한 이 취약점의 영향을 받을 가능성을 부정할 수 없다[204] . SSL 3.0 이후를 지원하는 구현이 충분히 보급된 것으로, Internet Explorer 7이나 Mozilla Firefox 2, Opera 9 등은 초기 상태에서 SSL 2.0을 비활성화하고 있다[205][206][207] .

SSL 2.0에는 체인 인증서가 없으며, 루트 CA에서 발급한 SSL 서버 인증서만 사용할 수 있다.

2011년 3월, SSL 2.0의 사용은 금지되었다.

TLS에서는 핸드셰이크 프로토콜의 ClientHello, ServerHello에서 이후 통신에 사용할 암호 스위트(ciphersuite)를 결정한다. TLS 1.2에서는 암호 스위트를 다음과 같은 형식으로 표현한다.

TLS_DHE_DSS_WITH_AES_256_CBC_SHA256

이는 다음과 같은 의미이다.


  • 키 공유 방식으로 다음을 사용한다.
  • EDH(Ephemeral Diffie-Hellman) 통신에
  • DSS 서명한 것
  • 인증 암호로 평문에 MAC을 붙인 후에 공통 키 암호화하는 것(MAC-then-Encrypt(MtE)형)으로
  • 공통 키 암호로 CBC 모드의 256비트 키 AES를 사용하고,
  • MAC으로는 SHA256 해시 함수를 기반으로 한 HMAC을 사용한다.


TLS1.2에서는 인증 암호로 MtE형 뿐만 아니라 AES-GCM과 같은 인증 암호 전용으로 만들어진 암호 이용 모드도 사용할 수 있게 되었다. 이 경우 MAC은 아예 필요 없다.

RSA 암호와 RSA 서명을 조합하여 실현한 키 공유 방식에 대해서는 TLS_RSA_RSA_WITH…처럼 RSA를 두 번 쓰지 않고, TLS_RSA_WITH_…처럼 약칭한다.

키 공유, 공통 키 암호, 해시 함수의 모든 조합이 망라되어 있는 것은 아니므로 동시에 사용할 수 없는 조합도 존재한다.

SSL/TLS에서 사용할 수 있는 키 공유 방식은 다음과 같다. 여기서 DH는 디피-헬만을 의미한다. DH-ANON, ECDH-ANON은 중간자 공격에 취약하므로 안전하다고 간주되지 않는다.

  • '''DH-ANON''' (Anonymous DH), '''ECDH-ANON''' (Anonymous ECDH)은 각각 전송 데이터에 서명하지 않고 DH 키 공유, ECDH 키 공유를 수행하는 방식이다.
  • '''DHE-*'''는 '''Ephemeral DH'''라고 불리며, 키 공유 시 클라이언트, 서버가 임의의 값을 선택하고, 각 값을 이용해 계산한 값에 서명문을 첨부하여 교환하는 방식이다. 서명 방식은 "'''*'''" 부분에 기재된 것을 사용한다. '''ECDHE-***'''는 DHE의 타원 DH 버전이다.
  • '''DH-*'''는 '''Fixed DH''' 또는 '''non-interactive DH'''라고 불리며, 디피-헬만에서 사용하는 매개변수(클라이언트와 서버의 특정 값)가 클라이언트나 서버의 공개 키로 인증 기관으로부터 공개 키 인증서를 수신한 경우의 디피-헬만 키 공유이다. 공개 키 인증서 내의 서명문을 작성하는 서명 방식은 "'''*'''" 부분에 기재된 것을 사용한다. '''ECDH-***''' ('''Fixed ECDH''')는 Fixed DH의 타원 DH 버전이다.
  • '''RSA-*'''는 임의로 선택한 공유 키를 서버의 공개 키로 RSA 암호화하고, 암호문을 "'''*'''"로 지정된 서명 방식으로 서명한 것을 ClientKeyExchange에서 클라이언트가 서버로 보내는 방식이다. (ServerKeyExchange에서는 아무것도 보내지 않음).


어떤 키 공유 방식에서든 공유된 키(premaster secret)를 사용한 의사 난수 함수에 클라이언트가 선택한 난수와 서버가 선택한 난수 등을 나열한 것을 입력하여 최종 master secret을 얻는다. 이를 통해 재생 공격을 방지한다.

TLS의 각 버전에서 사용할 수 있는 인증 및 키 교환 알고리즘
알고리즘SSL 2.0SSL 3.0TLS 1.0TLS 1.1TLS 1.2TLS 1.3상황
RSA아니요TLS 1.2를 위해 RFC에 정의됨
DH-RSA아니요아니요
DHE-RSA (순방향 비밀성)아니요
ECDH-RSA아니요아니요아니요
ECDHE-RSA (순방향 비밀성)아니요아니요
DH-DSS아니요아니요
DHE-DSS (순방향 비밀성)아니요아니요[215]
ECDH-ECDSA아니요아니요아니요
ECDHE-ECDSA (순방향 비밀성)아니요아니요
아니요아니요
-RSA아니요아니요아니요
DHE- (순방향 비밀성)아니요아니요
ECDHE- (순방향 비밀성)아니요아니요
아니요아니요아니요
-DSS아니요아니요아니요
-RSA아니요아니요아니요
KRB5아니요아니요알 수 없음
DH-ANON (안전하지 않음)아니요아니요
ECDH-ANON (안전하지 않음)아니요아니요아니요
GOST R 34.10-94 / 34.10-2001[216]아니요아니요아니요아니요RFC 초안에서 제안 중



를 사용한 TLS_PSK, 을 사용한 TLS_SRP, Kerberos를 사용한 KRB5도 존재한다.

독립 국가 연합의 GOST 표준에 의해 규정된 키 공유 알고리즘인 GOST R 34.10도 제안되었다[216]

6. 1. 1. 기본 TLS 핸드셰이크

클라이언트-서버 애플리케이션은 TLS 프로토콜을 사용하여 네트워크를 통해 통신하며, 이때 도청 및 변조를 방지하도록 설계되어 있다.[2] 클라이언트와 서버가 TLS를 사용하기로 합의하면, 핸드셰이크 절차를 통해 상태 연결을 협상한다.[3] 이 핸드셰이크 동안 클라이언트와 서버는 연결 보안에 사용되는 다양한 매개변수에 동의하며, 서버 인증만 수행하는 기본적인 절차는 다음과 같다.

1. 협상 단계:

  • 클라이언트는 지원하는 가장 높은 TLS 프로토콜 버전, 임의의 숫자, 제안된 암호화 제품군 목록 및 제안된 압축 방법을 지정하는 '''ClientHello''' 메시지를 보낸다.
  • 서버는 클라이언트가 제공한 선택 사항에서 선택한 프로토콜 버전, 임의의 숫자, 암호 제품군 및 압축 방법을 포함하는 '''ServerHello''' 메시지로 응답한다. 선택한 프로토콜 버전은 클라이언트와 서버 모두가 지원하는 가장 높은 버전이어야 한다.
  • 서버는 '''Certificate''' 메시지를 보낸다(선택한 암호 제품군에 따라 서버에서 이 메시지를 생략할 수 있다).[175]
  • 서버는 '''ServerKeyExchange''' 메시지를 보낸다(선택한 암호 제품군에 따라 서버에서 이 메시지를 생략할 수 있다).
  • 서버는 핸드셰이크 협상이 완료되었음을 나타내는 '''ServerHelloDone''' 메시지를 보낸다.
  • 클라이언트는 ''PreMasterSecret''을 포함할 수 있는 '''ClientKeyExchange''' 메시지로 응답한다. 이 ''PreMasterSecret''은 서버 인증서의 공개 키를 사용하여 암호화된다.
  • 클라이언트와 서버는 임의의 숫자와 ''PreMasterSecret''을 사용하여 "마스터 시크릿"이라는 공통 비밀을 계산한다. 이 연결에 대한 다른 모든 키 데이터(세션 키, IV, 대칭 암호화 키, MAC[176])는 이 마스터 시크릿에서 파생된다.
  • 클라이언트는 '''ChangeCipherSpec''' 레코드를 보내 서버에게 "지금부터 내가 말하는 모든 것은 인증됩니다(그리고 서버 인증서에 암호화 매개변수가 있는 경우 암호화됨)"라고 알린다.
  • 클라이언트는 이전 핸드셰이크 메시지에 대한 해시 및 MAC을 포함하는 인증되고 암호화된 '''Finished''' 메시지를 보낸다.
  • 서버는 클라이언트의 ''Finished'' 메시지를 해독하고 해시 및 MAC을 확인한다. 해독 또는 확인에 실패하면 핸드셰이크가 실패한 것으로 간주하고 연결을 종료해야 한다.
  • 마지막으로 서버는 '''ChangeCipherSpec'''을 보내 클라이언트에게 "지금부터 내가 말하는 모든 것은 인증됩니다(그리고 암호화가 협상된 경우 암호화됨)"라고 알린다.
  • 서버는 인증되고 암호화된 '''Finished''' 메시지를 보낸다.
  • 클라이언트는 이전 단계에서 서버가 수행한 것과 동일한 해독 및 확인 절차를 수행한다.

2. 애플리케이션 단계: 이 시점에서 "핸드셰이크"가 완료되고 애플리케이션 프로토콜이 활성화된다. 클라이언트와 서버 간에 교환되는 애플리케이션 메시지는 ''Finished'' 메시지와 마찬가지로 인증되고 선택적으로 암호화된다.

6. 1. 2. 클라이언트 인증 TLS 핸드셰이크

클라이언트와 서버 모두 인증서를 사용하여 상호 인증하는 전체 TLS 핸드셰이크 과정은 다음과 같다.

1. '''협상 단계:'''

  • 클라이언트가 자신이 지원하는 가장 높은 TLS 프로토콜 버전, 난수, 제안된 암호 제품군 및 압축 방식 목록을 지정하는 '''ClientHello''' 메시지를 서버에 보낸다.
  • 서버는 '''ServerHello''' 메시지로 응답한다. 이 메시지에는 클라이언트가 제공한 선택 항목에서 서버가 선택한 프로토콜 버전, 난수, 암호 제품군 및 압축 방식이 포함된다. 서버는 재개된 핸드셰이크를 수행하기 위해 ''세션 ID''를 메시지의 일부로 보낼 수도 있다.
  • 서버는 자체 '''Certificate''' 메시지를 보낸다. (선택한 암호 제품군에 따라 서버는 이 메시지를 생략할 수 있다.)[175]
  • 서버는 자체 '''ServerKeyExchange''' 메시지를 보낸다. (선택한 암호 제품군에 따라 서버는 이 메시지를 생략할 수 있다.) 이 메시지는 모든 DHE, ECDHE 및 DH_anon 암호 제품군에 대해 전송된다.
  • 서버는 클라이언트에게 인증서를 요청하기 위해 '''CertificateRequest''' 메시지를 보낸다.
  • 서버는 핸드셰이크 협상이 완료되었음을 알리는 '''ServerHelloDone''' 메시지를 보낸다.
  • 클라이언트는 클라이언트의 인증서를 포함하지만 개인 키는 포함하지 않는 '''Certificate''' 메시지로 응답한다.
  • 클라이언트는 ''PreMasterSecret'', 공개 키 또는 아무것도 포함하지 않을 수 있는 '''ClientKeyExchange''' 메시지를 보낸다. (이 또한 선택한 암호에 따라 다릅니다.) 이 ''PreMasterSecret''는 서버 인증서의 공개 키를 사용하여 암호화된다.
  • 클라이언트는 '''CertificateVerify''' 메시지를 보낸다. 이 메시지는 클라이언트 인증서의 개인 키를 사용하여 이전 핸드셰이크 메시지에 대한 서명이다. 이 서명은 클라이언트 인증서의 공개 키를 사용하여 확인할 수 있다. 이를 통해 서버는 클라이언트가 인증서의 개인 키에 접근할 수 있고, 따라서 인증서를 소유하고 있음을 알 수 있다.
  • 클라이언트와 서버는 난수와 ''PreMasterSecret''를 사용하여 "마스터 비밀"이라고 하는 공통 비밀을 계산한다. 이 연결에 대한 다른 모든 키 데이터("세션 키")는 신중하게 설계된 의사 난수 함수를 통해 전달되는 이 마스터 비밀(및 클라이언트 및 서버에서 생성된 임의 값)에서 파생된다.
  • 클라이언트는 '''ChangeCipherSpec''' 레코드를 보낸다. ChangeCipherSpec 자체는 레코드 수준 프로토콜이며 유형 20이다. 이것은 "지금부터 내가 알려주는 모든 것은 인증됩니다(그리고 암호화가 협상된 경우 암호화됩니다)."라고 서버에게 알리는 것이다.
  • 마지막으로, 클라이언트는 이전 핸드셰이크 메시지에 대한 해시 및 MAC을 포함하는 암호화된 '''Finished''' 메시지를 보낸다.
  • 서버는 클라이언트의 ''Finished'' 메시지를 해독하고 해시 및 MAC을 확인하려고 시도한다. 해독 또는 확인에 실패하면 핸드셰이크가 실패한 것으로 간주되고 연결이 끊어진다.
  • 마지막으로 서버는 '''ChangeCipherSpec'''을 보내어 "지금부터 내가 알려주는 모든 것은 인증됩니다(그리고 암호화가 협상된 경우 암호화됩니다)."라고 클라이언트에게 알린다.
  • 서버는 자체 암호화된 '''Finished''' 메시지를 보낸다.
  • 클라이언트는 이전 단계에서 서버가 수행한 것과 동일한 해독 및 확인 절차를 수행한다.

2. '''응용 프로그램 단계:''' 이 시점에서 "핸드셰이크"가 완료되고 응용 프로그램 프로토콜이 활성화되며 콘텐츠 유형은 23이다. 클라이언트와 서버 간에 교환된 응용 프로그램 메시지도 ''Finished'' 메시지에서와 마찬가지로 정확히 암호화된다.

6. 1. 3. 재개된 TLS 핸드셰이크

TLS는 공개 키 연산의 계산 비용을 줄이기 위해 재개된 세션이라는 보안 지름길을 제공한다. 재개된 세션은 세션 ID 또는 세션 티켓을 사용하여 구현된다.[177]

재개된 세션은 성능 향상 외에도 싱글 사인온에도 사용될 수 있는데, 이는 원래 세션과 재개된 모든 세션이 동일한 클라이언트에서 시작되었음을 보장하기 때문이다. 공격자가 보조 데이터 연결의 내용을 가로챌 수 있는 TLS/SSL을 통한 FTP 프로토콜에서 특히 중요하다.[177]

6. 2. TLS 레코드

0콘텐츠 유형colspan=3 |바이트
1–4레거시 버전길이(주 버전)(부 버전)(비트 15–8)(비트 7–0)바이트
5–(m−1)프로토콜 메시지바이트
m–(p−1)MAC (선택 사항)바이트
p–(q−1)패딩 (블록 암호 방식만 해당)



; 콘텐츠 유형

: 레코드에 포함된 레코드 계층 프로토콜 유형을 나타낸다.

콘텐츠 유형
16진수10진수유형
0×1420ChangeCipherSpec
0×1521Alert
0×1622Handshake
0×1723Application
0×1824Heartbeat



; 레거시 버전

: TLS 1.3 이전 버전에서 사용되며, 포함된 메시지의 TLS 주 버전과 부 버전을 나타낸다. ClientHello 메시지에서는 클라이언트가 지원하는 가장 높은 버전일 필요는 없다. TLS 1.3 이상에서는 0x0303으로 설정되며, 응용 프로그램은 추가 메시지 확장 블록에서 지원되는 버전을 전송한다.

버전

버전

버전
버전 유형
30SSL 3.0
31TLS 1.0
32TLS 1.1
33TLS 1.2
34TLS 1.3



; 길이

: "프로토콜 메시지", "MAC", "패딩" 필드의 총 길이(''q''−5)이며, 16KiB(214 바이트)를 넘을 수 없다.

; 프로토콜 메시지

: 프로토콜 필드에 의해 식별되는 하나 이상의 메시지이다. 연결 상태에 따라 암호화될 수 있다.

; MAC 및 패딩

: 추가 키 자료가 포함된 "프로토콜 메시지" 필드에 대해 계산된 메시지 인증 코드이다. 연결 상태에 따라 암호화되거나 아예 포함되지 않을 수 있다. 모든 암호화 알고리즘과 매개변수가 협상되고 핸드셰이크된 후, 동일한 피어가 전송하는 모든 추가 레코드에 이러한 매개변수가 적용됨을 알리기 위해 CipherStateChange 레코드를 전송하여 확인될 때까지 TLS 레코드 끝에 "MAC" 또는 "패딩" 필드가 존재할 수 있다.

6. 2. 1. 핸드셰이크 프로토콜

클라이언트와 서버가 TLS를 사용하기로 합의하면, 핸드셰이크 절차를 사용하여 상태 연결을 협상한다.[3] 이 프로토콜은 비대칭 암호화를 사용하여 핸드셰이크를 통해 암호 설정을 협상하고, 대칭 암호화에 사용될 세션별 공유 키를 설정한다. 이 핸드셰이크 동안 클라이언트와 서버는 연결 보안에 사용될 다양한 매개변수에 동의한다.

핸드셰이크는 다음과 같은 과정으로 진행된다.

핸드셰이크가 완료되면 보안 연결이 시작되고, 연결이 종료될 때까지 세션 키로 암호화 및 해독이 이루어진다. 위 단계 중 하나라도 실패하면 TLS 핸드셰이크는 실패하고 연결은 생성되지 않는다.

6. 2. 2. 알림 프로토콜

021#redirect바이트
1–4레거시 버전길이(주)(부)02바이트
5–6레벨설명#redirect바이트
7–(p−1)MAC (선택 사항)바이트
p–(q−1)패딩 (블록 암호에만 해당)


레벨: 이 필드는 알림의 레벨을 나타낸다. 레벨이 치명적이면 송신자는 세션을 즉시 닫아야 한다. 그렇지 않으면 수신자는 자체 치명적 알림을 전송하고 세션을 닫을 수 있다. 세션 종료 전에 알림 레코드를 누락하면 세션이 자동 재개될 수 있다.

세션을 정상적으로 종료하려면 ''종료 알림'' 알림 유형(경고 레벨)으로 경고하는 것이 좋다. 보안 세션의 정상 종료를 명시적으로 알리는 것은 공격을 방지하거나 감지하는 데 유용하다.

알림 레벨 유형
코드레벨 유형연결 상태
1경고연결 또는 보안이 불안정할 수 있다.
2치명적연결 또는 보안이 손상되었거나 복구할 수 없는 오류가 발생했다.


설명: 이 필드는 어떤 유형의 알림이 전송되고 있는지 나타낸다.

알림 설명 유형
코드설명레벨 유형참고
0종료 알림경고/치명적
10예상치 못한 메시지치명적
20잘못된 레코드 MAC치명적잘못된 SSL 구현이거나 페이로드가 변조된 경우 (예: FTPS 서버의 FTP 방화벽 규칙).
21복호화 실패치명적TLS 전용, 예약됨
22레코드 오버플로치명적TLS 전용
30압축 해제 실패치명적
40핸드셰이크 실패치명적
41인증서 없음경고/치명적SSL 3.0 전용, 예약됨
42잘못된 인증서경고/치명적
43지원되지 않는 인증서경고/치명적예: 인증서가 서버 인증 사용만 활성화되어 있고 클라이언트 인증서로 표시됨
44인증서 해지됨경고/치명적
45인증서 만료됨경고/치명적서버 인증서 만료도 확인하고 체인에 제시된 인증서가 만료되지 않았는지 확인한다.
46알 수 없는 인증서경고/치명적
47잘못된 매개변수치명적
48알 수 없는 CA (인증 기관)치명적TLS 전용
49액세스 거부됨치명적TLS 전용 – 예: 클라이언트 인증서가 제시되지 않았지만 서버는 이를 요구하도록 구성.
50디코딩 오류치명적TLS 전용
51복호화 오류경고/치명적TLS 전용
60수출 제한치명적TLS 전용, 예약됨
70프로토콜 버전치명적TLS 전용
71보안 부족치명적TLS 전용
80내부 오류치명적TLS 전용
86부적절한 폴백치명적TLS 전용
90사용자가 취소함치명적TLS 전용
100재협상 없음경고TLS 전용
110지원되지 않는 확장경고TLS 전용
111인증서를 얻을 수 없음경고TLS 전용
112인식할 수 없는 이름경고/치명적TLS 전용; 클라이언트의 서버 이름 표시자가 서버에서 지원하지 않는 호스트 이름을 지정.
113잘못된 인증서 상태 응답치명적TLS 전용
114잘못된 인증서 해시 값치명적TLS 전용
115알 수 없는 PSK ID (TLS-PSK 및 TLS-SRP에서 사용)치명적TLS 전용
116인증서 필요치명적TLS 버전 1.3 전용
120 또는 255애플리케이션 프로토콜 없음치명적TLS 버전 1.3 전용


6. 2. 3. ChangeCipherSpec 프로토콜

020colspan=3 #redirect바이트
1–4레거시 버전길이(주)(부)01바이트
5CCS 프로토콜 유형colspan=3 #redirect


CCS 프로토콜 유형: 현재는 1만 존재한다.

TLS 핸드셰이크 프로토콜의 제4 페이즈에서 Change Cipher Spec 메시지가 전송된다. 클라이언트와 서버는 각각 Change Cipher Spec 메시지를 보내어 암호화 방식을 변경하고, Finished 메시지를 보내어 핸드셰이크를 완료한다.

6. 2. 4. 응용 프로그램 프로토콜

023colspan=3 |바이트
1–4레거시 버전길이(주 버전)(부 버전)(비트 15–8)(비트 7–0)바이트
5–(m−1)애플리케이션 데이터바이트
m–(p−1)MAC (선택 사항)바이트
p–(q−1)패딩 (블록 암호에만 해당)

7. 응용 및 채택

TLS는 HTTP, FTP, SMTP, NNTP, XMPP 등과 같은 프로토콜의 데이터를 암호화하여 전송 계층 프로토콜 위에 구현된다.[97] 과거에는 주로 전송 제어 프로토콜(TCP)과 같은 신뢰성 있는 전송 프로토콜과 함께 사용되었지만, 사용자 데이터그램 프로토콜(UDP) 및 데이터그램 혼잡 제어 프로토콜(DCCP)과 같은 데이터그램 지향 전송 프로토콜과 함께 구현되기도 하며, 이는 데이터그램 전송 계층 보안(DTLS)라는 용어로 표준화되었다.

기존 응용 계층 프로토콜에서 TLS를 이용하는 방식은 크게 두 가지이다. 첫 번째는 하위 계층(일반적으로 TCP) 연결을 확립한 후 즉시 TLS 협상을 시작하고, TLS 연결이 확립된 후 응용 계층 프로토콜 통신을 시작하는 방식이다. 다른 하나는 먼저 기존 응용 계층 프로토콜로 통신을 시작하고, 그 안에서 TLS로 전환을 지시하는 방식이다. 전환 명령어로서 `STARTTLS`가 널리 사용되기 때문에, 이 방식 자체를 STARTTLS라고 부르기도 한다. 전자는 응용 계층 프로토콜을 변경하지 않아도 되지만, 평문 연결과 공존할 수 없기 때문에 별도의 TLS 대응용 포트 번호가 필요하다. HTTPS를 비롯하여 전자의 방식을 사용하는 경우가 많지만, 가상 호스트 구성 시 문제가 발생할 수 있다.

TLS 도입만으로 보안이 확보되는 것은 아니다. TLS 통신은 평문 통신보다 암호화·복호화 시 더 많은 계산 능력을 사용하므로, 꼭 필요한 경우가 아니면 사용하지 않는 경우도 많다. 시스템은 데이터 중요도를 판단할 수 없으므로, TLS 필요 여부는 사용자 스스로 판단해야 한다.

Mozilla Firefox에서의 자물쇠 아이콘 예시


월드 와이드 웹에서는 하이퍼링크로 페이지를 전환하며 처리하기 때문에, 어떤 통신에서 TLS (HTTPS)가 사용되는지 파악하는 것이 중요하다. 많은 웹 브라우저자물쇠 아이콘을 표시하거나, 주소 표시줄 색상을 변경하여 사용자에게 정보를 제공한다. 한편 구글은 자물쇠 아이콘이 부적절하다고 판단하여 크롬(Chrome)에서 자물쇠 표시를 폐지했다.[189]

TLS는 오픈VPN, 오픈커넥트와 같이 전체 네트워크 스택을 터널링하여 가상 사설망(VPN)을 만드는 데에도 사용된다. 1990년대 후반부터 웹 브라우저 외부에서 클라이언트 기술을 개발하여 클라이언트/서버 애플리케이션 지원을 활성화하는 데 상당한 진전이 있었다. 기존 IPsec VPN 기술과 비교하여 TLS는 방화벽 및 네트워크 주소 변환(NAT) 통과에 유리하여 대규모 원격 액세스 환경에서 관리하기 쉽다. TLS는 세션 개시 프로토콜(SIP) 애플리케이션 시그널링을 보호하는 표준 방법이기도 하며, 인터넷 전화(VoIP) 등 SIP 기반 애플리케이션의 인증 및 암호화를 제공한다.[106]

TLS/SSL의 각 버전에서 사용할 수 있는 암호화 알고리즘은 다음과 같다.

TLS/SSL 암호화 알고리즘
암호화프로토콜 버전상황
종류알고리즘암호 강도 (bit)SSL 2.0SSL 3.0TLS 1.0TLS 1.1TLS 1.2
블록 암호
(암호 운용 방식)
AES GCM256, 128안전TLS 1.2에서 RFC로 정의됨
AES CCM안전
AES CBC구현에 따름안전안전
카멜리아 GCM256, 128안전
카멜리아 CBC구현에 따름안전안전
ARIA GCM256, 128안전
ARIA CBC구현에 따름안전안전
SEED CBC128구현에 따름안전안전
3DES EDE CBC112안전하지 않음안전하지 않음강도 부족, 구현에 따름강도 부족강도 부족
CTR256안전안전안전RFC 초안 제안 중
IDEA CBC128안전하지 않음안전하지 않음구현에 따름안전TLS 1.2에서 폐지
DES CBC56안전하지 않음안전하지 않음안전하지 않음안전하지 않음
40안전하지 않음안전하지 않음안전하지 않음TLS 1.1 이후 사용 금지
RC2 CBC40안전하지 않음안전하지 않음안전하지 않음
스트림 암호ChaCha20+Poly1305256안전안전TLS 1.2에서 RFC로 정의됨
RC4128안전하지 않음안전하지 않음안전하지 않음안전하지 않음안전하지 않음모든 버전에서 사용 금지
40안전하지 않음안전하지 않음안전하지 않음
암호화 없음Null-안전하지 않음안전하지 않음안전하지 않음안전하지 않음TLS 1.2에서 RFC로 정의됨


7. 1. 웹사이트

TLS는 HTTPS 프로토콜을 통해 웹 트래픽을 보호하는 데 널리 사용된다.[97] 2024년 5월 기준으로 웹사이트의 프로토콜 지원 현황은 다음과 같다.

웹사이트 프로토콜 지원 (2024년 5월)
프로토콜
버전
웹사이트
지원[98]
보안[98][99]
SSL 2.00.1%
SSL 3.01.4%
TLS 1.027.9%
TLS 1.130.0%
TLS 1.299.9%
TLS 1.370.1%



TLS는 웹 브라우저웹사이트 간의 HTTP 트래픽을 보호하기 위해 사용되며, 이를 HTTPS 프로토콜이라고 한다.

7. 2. 웹 브라우저

월드 와이드 웹 트래픽을 웹사이트웹 브라우저 간에 HTTPS 프로토콜로 보호하기 위해 TLS가 사용된다.[97] 대부분의 주요 웹 브라우저 최신 버전은 TLS 1.0, 1.1, 1.2를 지원하며 기본적으로 활성화되어 있다.

웹 브라우저에서의 TLS/SSL 지원 상황의 변화
웹 브라우저버전플랫폼SSL 프로토콜TLS 프로토콜인증서 지원취약점에 대한 대응프로토콜 선택[242]
SSL 2.0SSL 3.0TLS 1.0TLS 1.1TLS 1.2TLS 1.3EV[243][244]SHA-2[245]ECDSA[246]BEAST
[247]
CRIME
[248]
POODLE
(SSLv3)
[249]
RC4
[250]
FREAK
[251][252]
Logjam
구글 크롬(Google Chrome)
(Chrome for Android)
1–9마이크로소프트 윈도우(Microsoft Windows)(7 이후) macOS (OS X v10.10 이후)
리눅스(Linux)
안드로이드 (4.4 이후)
iOS (10.0 이후)
크롬 OS(ChromeOS)
안전하지 않음안전하지 않음대응미대응미대응미대응데스크톱 버전OS가 SHA-2 대응[245]OS가 ECC 대응[246]영향 없음취약
(HTTPS)
취약취약취약
(윈도우 버전 제외)
취약가능
10–20미대응기본 활성화대응미대응미대응미대응데스크톱 버전OS가 SHA-2 대응[245]OS가 ECC 대응[246]영향 없음취약
(HTTPS/SPDY)
취약취약취약
(윈도우 버전 제외)
취약가능
21미대응기본 활성화대응미대응미대응미대응데스크톱 버전OS가 SHA-2 대응[245]OS가 ECC 대응[246]영향 없음대책 완료취약취약취약
(윈도우 버전 제외)
취약가능
22–25미대응기본 활성화대응대응[261]미대응[261]미대응데스크톱 버전OS가 SHA-2 대응[245]OS가 ECC 대응[246]영향 없음대책 완료취약취약취약
(윈도우 버전 제외)
취약일시적
26–29미대응기본 활성화대응대응미대응미대응데스크톱 버전OS가 SHA-2 대응[245]OS가 ECC 대응[246]영향 없음대책 완료취약취약취약
(윈도우 버전 제외)
취약일시적
30–32미대응기본 활성화대응대응대응미대응데스크톱 버전OS가 SHA-2 대응[245]OS가 ECC 대응[246]영향 없음대책 완료취약취약취약
(윈도우 버전 제외)
취약일시적
33–37미대응기본 활성화대응대응대응미대응데스크톱 버전OS가 SHA-2 대응[245]OS가 ECC 대응[246]영향 없음대책 완료부분적 대책 완료우선순위 최저취약
(윈도우 버전 제외)
취약일시적
38, 39미대응기본 활성화대응대응대응미대응데스크톱 버전대응OS가 ECC 대응[246]영향 없음대책 완료부분적 대책 완료우선순위 최저취약
(윈도우 버전 제외)
취약일시적
40미대응기본 비활성화대응대응대응미대응데스크톱 버전대응OS가 ECC 대응[246]영향 없음대책 완료대책 완료우선순위 최저취약
(윈도우 버전 제외)
취약가능
41, 42미대응기본 비활성화대응대응대응미대응데스크톱 버전대응OS가 ECC 대응[246]영향 없음대책 완료대책 완료우선순위 최저대책 완료취약가능
43미대응기본 비활성화대응대응대응미대응데스크톱 버전대응OS가 ECC 대응[246]영향 없음대책 완료대책 완료폴백의 경우에만대책 완료취약가능
44–47미대응미대응[273]대응대응대응미대응데스크톱 버전대응OS가 ECC 대응[246]영향 없음대책 완료영향 없음폴백의 경우에만대책 완료대책 완료[274]일시적
48, 49미대응미대응대응대응대응미대응데스크톱 버전대응OS가 ECC 대응[246]영향 없음대책 완료영향 없음기본 비활성화대책 완료대책 완료일시적
50–53미대응미대응대응대응대응미대응데스크톱 버전대응대응영향 없음대책 완료영향 없음기본 비활성화대책 완료대책 완료일시적
54–66미대응미대응대응대응대응기본 비활성화
(드래프트 버전)
데스크톱 버전대응대응영향 없음대책 완료영향 없음기본 비활성화대책 완료대책 완료일시적
67–69미대응미대응대응대응대응대응
(드래프트 버전)
데스크톱 버전대응대응영향 없음대책 완료영향 없음기본 비활성화대책 완료대책 완료일시적
70–7980미대응미대응대응대응대응대응데스크톱 버전대응대응영향 없음대책 완료영향 없음기본 비활성화대책 완료대책 완료일시적
안드로이드 브라우저[277]안드로이드미대응기본 활성화대응미대응미대응미대응불명미대응미대응불명불명취약취약취약취약불가
안드로이드미대응기본 활성화대응미대응미대응미대응불명대응[245][278]불명불명취약취약취약취약불가
안드로이드미대응기본 활성화대응기본 비활성화[279]기본 비활성화[279]미대응불명대응대응[246]불명불명취약취약취약취약불가
colspan="3" |미대응기본 활성화대응대응[279]대응[279]미대응불명대응대응불명불명취약취약취약취약불가
colspan="3" |미대응불명대응대응대응미대응불명대응대응불명불명영향 없음폴백의 경우에만취약취약불가



하지만, 모든 지원되는 마이크로소프트 운영 체제가 최신 버전의 IE를 지원하는 것은 아니다. 또한, 알려진 공격에 대한 완화 조치는 아직 충분하지 않은 경우도 있다.



많은 웹 브라우저는 TLS (HTTPS)가 사용되고 있는지 여부를 사용자에게 알리기 위해 자물쇠 아이콘을 표시하거나, 주소 표시줄의 색상을 변경하는 등의 방법을 사용한다.

7. 3. 라이브러리

OpenSSL, GnuTLS, LibreSSL 등 다양한 오픈 소스 TLS 라이브러리가 존재한다.[104] 대부분의 SSL 및 TLS 프로그래밍 라이브러리는 자유-오픈 소스 소프트웨어이다.

라이브러리의 TLS/SSL 지원 현황
구현SSL 2.0 (안전하지 않음)SSL 3.0 (안전하지 않음)TLS 1.0TLS 1.1TLS 1.2TLS 1.3
Botan[391]
GnuTLS[392][393][394]
[392][395]
LibreSSL[396][397]
[398]
[399]
Network Security Services[401][402][403][404]
OpenSSL[405][406][406][407]
[408]
SChannel XP/2003[409]
SChannel Vista/2008[410]
SChannel 7/2008R2[411]
SChannel 8/1012[411]
SChannel 8.1/2012R2, 10 v1507/v1511[411]
SChannel 10 v1607/2016[412]
Secure Transport OS X v10.2-10.8 / iOS 1-4
Secure Transport OS X v10.9-10.10 / iOS 5-8
Secure Transport OS X v10.11 / iOS 9
SharkSSL
wolfSSL[415][416]
구현SSL 2.0 (안전하지 않음)SSL 3.0 (안전하지 않음)TLS 1.0TLS 1.1TLS 1.2TLS 1.3


7. 4. 기타 사용 사례

TLS는 HTTP, FTP, SMTP, NNTP, XMPP 등과 같은 프로토콜의 데이터를 암호화하여 전송 계층 프로토콜 위에 구현된다.

TLS는 오픈VPN, 오픈커넥트와 같이 전체 네트워크 스택을 터널링하여 가상 사설망(VPN)을 만드는 데에도 사용된다. 많은 공급업체가 TLS의 암호화 및 인증 기능을 권한 부여와 결합했다. 또한 1990년대 후반부터 웹 브라우저 외부에서 클라이언트 기술을 개발하여 클라이언트/서버 애플리케이션 지원을 활성화하는 데 상당한 진전이 있었다. 기존의 IPsec VPN 기술과 비교하여 TLS는 방화벽 및 네트워크 주소 변환(NAT) 통과에 있어 몇 가지 고유한 장점을 가지고 있어 대규모 원격 액세스 환경에서 관리하기가 더 쉽다.

TLS는 세션 개시 프로토콜(SIP) 애플리케이션 시그널링을 보호하는 표준 방법이기도 하다. TLS는 인터넷 전화(VoIP) 및 기타 SIP 기반 애플리케이션과 관련된 SIP 시그널링의 인증 및 암호화를 제공하는 데 사용될 수 있다.[106]

8. 보안

패킷이 암호화되어 송수신되므로 스니핑 공격에 대해 뛰어난 보안성을 제공하여 정보 탈취에 강하다. 그러나 암호화된 패킷이 클라이언트 PC 또는 서버로 전송되기 때문에 송수신자 간 데이터 교환에는 취약하며, 개인 정보 유출, 기밀 정보 유출, DDoS, APT, 악성코드 공격 등에 의해 무력화될 수 있다.[478]

공개 키 인증서에는 인증 기관에 의한 전자 서명이 주어지는데, 이 서명의 정당성을 평가하기 위해서는 인증 기관의 인증서, 최종적으로는 루트 인증서가 필요하다. 각 시스템은 신뢰할 수 있는 루트 인증서를 미리 가지고 있다. 인증 기관은 비밀 키를 엄중히 관리하고, 인증서 발행 시 정당한 서버 관리자인지 확인해야 한다. 이러한 조건이 보장되지 않는 인증 기관의 루트 인증서를 포함하면 TLS 인증 기능이 무너질 수 있다. 또한, 입수한 루트 인증서가 실제로 의도하는 인증 기관의 것인지 판단하기 어렵다는 점도 주의해야 한다.

TLS로 인증을 수행하려면 인증 기관의 서명 외에 인증서 발행처를 확인해야 한다. 확인하지 않으면 서버 A의 관리 권한이 없는 자가 서버 B로서 정당한 인증서를 취득하여 서버 A를 사칭할 수 있다. TLS용 서버 인증서에는 발행처 서버의 호스트명이 기록되어 있으며, 클라이언트는 자신이 접속하려는 서버의 호스트명과 일치하는지 확인해야 한다.

현실에서는 "정당한" 서버라도 검증 결과 "문제가 있다"고 판단되는 인증서를 사용하는 경우가 많다. 보안 연구자 다카기 히로미츠는 이러한 인증서를 오레오레 사기에 빗대어 "오레오레 인증서"라고 비판한다.[192]

이 검증은 시스템에 지정된 접속처의 호스트명과 실제 접속한 곳의 호스트명이 일치하는지 확인하는 것이며, 이용자가 의도하는 접속처와 반드시 일치하지 않을 수 있다.

예를 들어, 이용자가 의도하는 접속처인 서버 A가 호스트명 www.example.'''com'''으로 서비스를 제공하고, 공격자는 서버 B 및 호스트명 www.example.'''org'''를 취득한 경우를 생각해 보자. 공격자가 DNS 스푸핑에 성공하여 www.example.com으로의 접속을 서버 B로 유도할 수 있어도, www.example.com의 서버 인증서를 입수할 수 없기 때문에 TLS 접속을 제공할 수 없다. 그러나 공격자는 www.example.org의 서버 인증서를 입수할 수 있으므로, 서버 A에 접속하려는 이용자를 www.example.com이 아닌 www.example.org로 접속시킬 수 있다면 클라이언트는 정당한 인증서를 가진 서버로 인식하게 된다.

위와 같은 경우를 고려하여 이용자가 의도하는 접속처인지 판단하려면 다음 두 가지 조건을 만족해야 한다.

# 이용자는 의도하는 접속처의 올바른 호스트명을 알고 있다.

# 이용자는 현재 시스템에 지정된 접속처가 자신이 알고 있는 올바른 호스트명과 일치하는지 확인할 수 있다.

두 번째 조건은 정보 처리 추진 기구(IPA)가 공개한 "안전한 웹사이트 만드는 방법"[193]의 "[피싱] 사기를 조장하지 않기 위한 대책"에 해당한다.

8. 1. TLS/SSL에 대한 공격

TLS/SSL 프로토콜 및 구현에는 다양한 공격 방법이 존재한다. 암호화된 패킷이 클라이언트 PC 또는 서버로 전송되기 때문에 송수신자 간 데이터 교환에는 취약하며, 개인 정보 유출, 기밀 정보 유출, DDoS, APT, 악성코드 공격 등에 의해 무력화될 수 있다.[478]

TLS/SSL에 대한 주요 공격은 다음과 같다.

공격 종류설명
재협상 공격TLS 재협상 절차의 취약점을 이용해 평문 주입 공격을 한다.
다운그레이드 공격웹 서버를 속여 오래되고 안전하지 않은 TLS 버전을 사용하게 한다. (예: FREAK, Logjam)
교차 프로토콜 공격 (DROWN)구식 SSLv2 프로토콜 지원을 악용, 최신 프로토콜을 쓰는 연결을 공격한다.
BEAST 공격자바 애플릿을 써서 동일 출처 정책을 위반하고, TLS 1.0의 암호 블록 체이닝(CBC) 취약점을 이용한다.
CRIME 및 BREACH 공격TLS와 함께 데이터 압축이 사용될 때 웹 쿠키 내용을 복구하거나, HTTP 압축을 이용해 민감한 정보를 빼낸다.
패딩 공격패딩 오라클 공격 취약점을 이용한다. (예: 럭키 서틴 공격)
RC4 공격RC4 암호의 통계적 편향을 이용, 평문 일부를 복구한다.
절단 공격로그아웃 요청을 막아 사용자가 모르게 로그인 상태를 유지시킨다.
DTLS에 대한 평문 공격암호 블록 체이닝(CBC) 모드 암호화 사용 시 평문을 복구하는 타이밍 공격.
Unholy PAC 공격웹 프록시 자동 검색 프로토콜(WPAD) 취약점을 이용해 접근 URL을 노출시킨다.
Sweet32 공격생일 공격을 악용, CBC 모드에서 쓰이는 64비트 블록 암호를 손상시킨다.
구현 오류OpenSSL의 하트블리드, 클라우드블리드, 슈퍼피쉬 취약점 등 특정 구현에서 발생.



2015년 2월, IETF는 TLS/SSL에 대한 다양한 알려진 공격들을 요약한 정보성 RFC를 발행했다.[107]

8. 1. 1. 재협상 공격

2009년 8월에 TLS의 재협상 절차에서 취약점이 발견되었다. 이 취약점은 SSL 3.0 및 모든 현재 버전의 TLS에 대한 평문 주입 공격을 가능하게 한다.[108] 예를 들어, 공격자는 https 연결을 가로채어 클라이언트가 웹 서버와 주고받는 대화의 시작 부분에 자신의 요청을 삽입할 수 있다. 이는 공격자가 클라이언트-서버 통신을 해독할 수 없다는 점에서 일반적인 중간자 공격과는 다르다.

단기적인 해결책은 웹 서버가 재협상을 허용하지 않도록 하는 것이었다. 일반적으로 클라이언트 인증서 인증이 사용되지 않는 한 다른 변경은 필요하지 않았다. 이 취약점을 해결하기 위해 TLS에 재협상 표시 확장 기능이 제안되었다. 이 기능은 클라이언트와 서버가 모든 재협상 핸드셰이크에서 이전 핸드셰이크에 대한 정보를 포함하고 확인하도록 요구한다.[109] 이 확장 기능은 제안된 표준이 되었으며, RFC 5746 번호가 할당되었다. 이 RFC는 여러 라이브러리에 의해 구현되었다.[110][111][112]

8. 1. 2. 다운그레이드 공격

프로토콜 다운그레이드 공격(버전 롤백 공격이라고도 함)은 웹 서버를 속여 오랫동안 안전하지 않다고 폐기된 이전 버전의 TLS (SSLv2 등)와의 연결을 협상하게 한다.[113]

False Start[113] (구글 크롬[114]에서 채택 및 활성화) 또는 Snap Start와 같은 원래 프로토콜의 이전 수정 사항은 제한적인 TLS 프로토콜 다운그레이드 공격을 도입하거나[115] 클라이언트가 서버로 전송하는 암호화 제품군 목록의 수정을 허용하는 것으로 보고되었다. 그렇게 함으로써 공격자는 더 약한 대칭 암호화 알고리즘 또는 더 약한 키 교환을 사용하기 위해 협상된 암호화 제품군을 다운그레이드하려는 시도로 암호화 제품군 선택에 영향을 미칠 수 있다.[116] 2012년 ACM 컴퓨터 보안 회의에서 발표된 논문은 False Start 확장이 위험에 노출되어 있다는 것을 보여주었다. 특정 상황에서 공격자가 암호화 키를 오프라인으로 복구하고 암호화된 데이터에 접근할 수 있었다.[117]

암호화 다운그레이드 공격은 서버와 클라이언트가 암호화적으로 약한 키를 사용하여 연결을 협상하도록 강요할 수 있다. 2014년에는 중간자 공격인 FREAK가 OpenSSL 스택, 기본 안드로이드 웹 브라우저 및 일부 사파리 브라우저에 영향을 미치는 것으로 밝혀졌다.[118] 이 공격은 서버를 속여 암호화적으로 약한 512비트 암호화 키를 사용하여 TLS 연결을 협상하도록 하는 것이었다.

Logjam은 1990년대부터 사용된 레거시 "수출 등급" 512비트 디피-헬만 그룹을 사용할 수 있는 옵션을 악용하는 2015년 5월에 발견된 보안 익스플로잇이다.[119] 영향을 받기 쉬운 서버가 암호화적으로 약한 512비트 디피-헬만 그룹으로 다운그레이드되도록 강제한다. 그런 다음 공격자는 클라이언트와 서버가 디피-헬만 키 교환을 사용하여 결정한 키를 추론할 수 있다.

8. 1. 3. 교차 프로토콜 공격: DROWN

DROWN 공격은 구식의 안전하지 않은 SSLv2 프로토콜에 대한 지원을 악용하여 최신 프로토콜을 사용하는 연결에 대한 공격을 감행함으로써, 현대적인 SSL/TLS 프로토콜 제품군을 지원하는 서버를 공격하는 익스플로잇이다.[120][121] DROWN은 특정 구현 오류가 아닌, 사용된 프로토콜 및 서버 구성의 취약점을 악용한다. DROWN에 대한 자세한 내용은 2016년 3월에 익스플로잇에 대한 패치와 함께 발표되었다. 당시, 가장 인기 있는 웹사이트 상위 100만 개 중 81,000개 이상의 TLS로 보호되는 웹사이트가 DROWN 공격에 취약했다.[121]

8. 1. 4. BEAST 공격

2011년 9월 23일, 연구원 타이 두옹(Thai Duong)과 줄리아노 리조(Juliano Rizzo)는 자바 애플릿을 사용하여 동일 출처 정책 제약 조건을 위반하는 '''BEAST''' ('''SSL/TLS에 대한 브라우저 악용''')라는 개념 증명을 시연했다.[122] 이는 TLS 1.0의 오랫동안 알려진 암호 블록 체이닝(CBC) 취약점을 이용한 것이다.[123][124]

공격자는 두 개의 연속적인 암호문 블록 C0, C1을 관찰하여 다음 평문 블록 P2|P2 = x ⊕ C0 ⊕ C1영어을 선택, 평문 블록 P1이 x와 같은지 테스트할 수 있다. CBC 연산에 따르면 C2|C2 = E(C1 ⊕ P2) = E(C1 ⊕ x ⊕ C0 ⊕ C1) = E(C0 ⊕ x)영어이며, 이는 x = P1|x = P1영어인 경우 C1과 같게 된다.

이 취약점은 2002년 필립 로가웨이[125]에 의해 처음 발견되었으며, 2006년 TLS 1.1에서 수정되었다. 하지만 공격 시연 이전에는 TLS 1.1이 널리 채택되지 않았다.

RC4는 스트림 암호이기 때문에 BEAST 공격에 면역력이 있었다. 이 때문에 RC4는 서버 측에서 BEAST 공격을 완화하는 방법으로 널리 사용되었다. 그러나 2013년에 RC4에서 더 많은 약점이 발견되면서, 서버 측에서 RC4를 활성화하는 것은 더 이상 권장되지 않았다.[126]

ChromeFirefox 자체는 BEAST 공격에 취약하지 않지만,[127][128] 모질라는 BEAST와 유사한 공격을 완화하기 위해 NSS 라이브러리를 업데이트했다. NSS는 모질라 파이어폭스구글 크롬에서 SSL을 구현하는 데 사용된다. SSL 사양을 잘못 구현한 일부 웹 서버는 이로 인해 작동이 중단될 수 있다.[129]

마이크로소프트는 2012년 1월 10일에 보안 공지 MS12-006을 발표하여 Windows Secure Channel (Schannel) 구성 요소가 암호화된 네트워크 패킷을 서버 측에서 전송하는 방식을 변경, BEAST 취약점을 수정했다.[130] 이전 버전의 Windows (Windows 7, Windows 8 및 Windows Server 2008 R2)에서 실행되는 Internet Explorer (버전 11 이전) 사용자는 TLS 사용을 1.1 이상으로 제한할 수 있다.

애플(Apple Inc.)은 2013년 10월 22일에 출시된 OS X 매버릭스에서 1/n-1 분할을 구현하고 기본적으로 이를 활성화하여 BEAST 취약점을 수정했다.[131]

8. 1. 5. CRIME 및 BREACH 공격

BEAST 공격의 저자들은 이후 CRIME 공격을 만들어냈다. 이 공격으로 공격자는 TLS와 함께 데이터 압축이 사용될 때 웹 쿠키의 내용을 복구할 수 있다.[132][133] 공격자가 비밀 인증 쿠키의 내용을 복구하면, 인증된 웹 세션에서 세션 하이재킹을 수행할 수 있다.

CRIME 공격은 TLS를 포함하여 여러 프로토콜과 SPDY 또는 HTTP와 같은 애플리케이션 계층 프로토콜에 효과적으로 작동할 수 있는 일반적인 공격으로 제시되었다. 그러나 TLS 및 SPDY에 대한 익스플로잇만 시연되었고, 브라우저와 서버에서 대부분 완화되었다. HTTP 압축에 대한 CRIME 익스플로잇은 전혀 완화되지 않았는데, CRIME의 저자들은 이 취약점이 SPDY 및 TLS 압축을 합친 것보다 훨씬 더 널리 퍼질 수 있다고 경고했다. 2013년에는 HTTP 압축에 대한 CRIME 공격의 새로운 사례인 BREACH가 발표되었다. CRIME 공격을 기반으로 하는 BREACH 공격은 공격자가 피해자를 악성 웹 링크를 방문하도록 속이거나, 사용자가 방문하는 유효한 페이지에 콘텐츠를 주입할 수 있는 경우(예: 공격자가 제어하는 무선 네트워크), 30초 만에(추출할 바이트 수에 따라) TLS 암호화된 웹 트래픽에서 로그인 토큰, 이메일 주소 또는 기타 민감한 정보를 추출할 수 있다.[134] 모든 버전의 TLS 및 SSL은 사용된 암호화 알고리즘이나 암호에 관계없이 BREACH의 위험에 노출된다.[135] TLS 압축 또는 SPDY 헤더 압축을 끄는 것으로 성공적으로 방어할 수 있는 이전의 CRIME 사례와 달리, BREACH는 현실적으로 끌 수 없는 HTTP 압축을 악용하며, 거의 모든 웹 서버는 사용자 데이터 전송 속도를 개선하기 위해 이에 의존한다.[134] 이는 TLS가 보호하려는 애플리케이션 계층 데이터에 대한 선택 평문 공격에 취약하다는 TLS의 알려진 한계이다.

8. 1. 6. 패딩 공격

초기 TLS 버전은 2002년에 발견된 패딩 오라클 공격에 취약했다. 2013년에는 럭키 서틴 공격이라고 불리는 새로운 변종이 발표되었다.[478]

TLS 사양의 Encrypt-then-MAC 확장을 통해 수정 사항이 발표되었으며, IETF RFC 7366으로 릴리스되었다.[136] 럭키 서틴 공격은 TLS 1.2에서 AES_GCM 암호만을 사용하여 완화할 수 있다. AES_CBC는 여전히 취약하다.[478]

8. 1. 7. RC4 공격

RC4를 기반으로 한 SSL 및 TLS의 암호화 제품군은 2013년 이전에는 안전한 것으로 간주되었다. 2011년에는 BEAST 공격의 해결책으로 RC4 제품군이 권장되기도 했다.[139] 그러나 2013년 3월에 공개된 새로운 공격은 TLS에서 RC4를 깨는 것이 가능하다는 것을 보여주었고, BEAST에 대한 좋은 해결책이 아님을 시사했다.[99] AlFardan, Bernstein, Paterson, Poettering, Schuldt는 RC4 키 테이블에서 새로 발견된 통계적 편향[140]을 사용하여 많은 수의 TLS 암호화를 통해 평문의 일부를 복구하는 공격 시나리오를 제안했다.[141][142] 2013년 7월 8일에는 RC4를 깨기 위해 13 × 220번의 암호화가 필요한 TLS 및 SSL에서 RC4에 대한 공격이 공개되었으며, 2013년 8월 USENIX 보안 심포지엄에서 "실행 가능"하다고 묘사되었다.[143][144] 2015년 7월, 공격이 지속적으로 개선되면서 RC4로 암호화된 TLS의 보안을 무력화하는 것이 점점 더 실용화되었다.[145]

TLS/SSL에서 RC4를 사용한 Cipher Suite는 취약점에 대처하여 안전하다고 여겨졌지만, 2013년에 TLS/SSL에서 RC4에 대한 효과적인 공격이 보고되었다. 2011년에는 BEAST 공격에 대한 대응책 중 하나로 스트림 암호인 RC4로 전환하는 것이 권장되었으나,[422] 2013년의 공격으로 인해 RC4를 사용하는 것은 바람직하지 않게 되었다.[423] AlFardan, Bernstein, Paterson, Poettering, Schuldt는 새롭게 발견된 RC4의 키 테이블에서 통계적인 편향[424]을 이용하여 평문의 일부를 복구할 수 있다고 보고했다.[425][426] 이 공격에서는 13 × 220의 암호문을 사용함으로써 128비트 RC4가 해독 가능함을 보여주었으며, USENIX 보안 심포지엄에서 "실현 가능"하다고 평가되었다.[427][428] 2013년 현재, NSA와 같은 기관이라면 TLS/SSL을 사용하더라도 RC4를 해독할 수 있다는 의혹이 있다.[429]

8. 1. 8. 절단 공격

TLS (로그아웃) 절단 공격은 피해자의 계정 로그아웃 요청을 차단하여 사용자가 자신도 모르게 웹 서비스에 로그인된 상태로 유지되도록 하는 공격이다. 공격자는 로그아웃 요청이 전송될 때 암호화되지 않은 TCP FIN 메시지(발신자로부터 더 이상 데이터 없음)를 삽입하여 연결을 종료시킨다. 이로 인해 서버는 로그아웃 요청을 받지 못하고 비정상적인 종료를 인지하지 못한다.[151]

2013년 7월에 발표된 이 공격은[152][153] Gmail 및 핫메일과 같은 웹 서비스가 사용자에게 성공적으로 로그아웃되었다고 알리는 페이지를 표시하게 하지만, 실제로는 사용자의 브라우저가 서비스와의 연결을 유지하도록 한다. 따라서 브라우저에 접근할 수 있는 공격자는 사용자의 로그인된 계정에 접근하여 제어할 수 있게 된다. 이 공격은 피해자의 컴퓨터에 멀웨어를 설치할 필요 없이, 공격자가 피해자와 웹 서버 사이에 위치하기만 하면 된다 (예: 악성 무선 핫스팟을 설정).[151] 다만, 이 취약점을 이용하려면 피해자의 컴퓨터에 대한 접근 권한이 필요하다.

FTP를 사용할 때 데이터 연결에서 데이터 스트림에 잘못된 FIN이 있는 경우에도 파일이 잘릴 수 있다. 이는 close_notify 경고를 교환하기 위한 프로토콜 규칙이 준수되지 않았기 때문이다.

8. 1. 9. DTLS에 대한 평문 공격

2013년 2월, 런던 대학교 로열 할러웨이의 연구원 두 명이 OpenSSL이나 GnuTLS 구현을 사용하는 DTLS 연결에서 암호 블록 체이닝(CBC) 모드 암호화가 사용될 때 (일부) 평문을 복구할 수 있게 해주는 타이밍 공격[154]을 발견했다.

8. 1. 10. Unholy PAC 공격

웹 프록시 자동 검색 프로토콜(WPAD)의 취약점을 이용한 공격으로, TLS가 활성화된 웹 링크를 통해 웹 사용자가 접근하려는 URL을 노출시킨다.[155] URL 노출은 사용자가 접근하는 웹사이트뿐만 아니라 URL이 사용자 인증에 사용되기도 하므로 사용자 개인 정보를 침해할 수 있다. 구글이나 드롭박스와 같은 문서 공유 서비스는 사용자에게 URL에 포함된 보안 토큰을 전송하여 작동하는데, 이러한 URL을 획득한 공격자는 피해자의 계정이나 데이터에 대한 전체 접근 권한을 얻을 수 있다.

이 공격은 거의 모든 브라우저와 운영 체제에서 작동한다.

8. 1. 11. Sweet32 공격

생일 공격을 악용하여 CBC 모드에서 사용되는 모든 64비트 블록 암호를 손상시키는 공격이다. TLS에서 사용되며, 중간자 공격 또는 악성 자바스크립트를 웹 페이지에 주입하는 방식으로 이루어진다. 중간자 공격이나 자바스크립트 주입의 목적은 공격자가 생일 공격을 수행하기에 충분한 트래픽을 캡처하도록 하는 것이다.[156]

8. 1. 12. 구현 오류

OpenSSL의 특정 버전(1.0.1부터 1.0.1f까지)에서 발견된 하트블리드는 서버의 개인 키를 탈취할 수 있는 심각한 취약점이었다.[157] 하트블리드 버그는 공격자가 OpenSSL로 보호되는 시스템의 메모리를 읽을 수 있게 하여, 공개 인증서와 관련된 비밀 개인 키, 사용자 이름, 암호, 실제 콘텐츠 등 기밀 정보를 탈취할 수 있도록 했다.[158] 이는 도청, 데이터 절도, 서비스 및 사용자 사칭으로 이어질 수 있었다. 이 취약점은 SSL/TLS 프로토콜 자체의 결함이 아니라 OpenSSL 소프트웨어의 버퍼 오버리드 버그 때문에 발생했다.

Cloudflare 서버에서 발생한 클라우드블리드는 HTML 구문 분석 코드의 오타로 인한 버퍼 오버플로 오류였다.[164] 하트블리드와 유사하게, 클라우드블리드를 통해 허가받지 않은 제3자가 서버 메모리에서 TLS로 보호되어야 할 데이터를 읽을 수 있었다.[164]

2014년 9월에는 다니엘 블라이헨바허의 PKCS#1 v1.5 RSA 서명 위조 취약점[159]의 변종인 BERserk 공격이 발표되었다. 이 공격은 일부 SSL 구현에서 공개 키 서명의 불완전한 ASN.1 길이 디코딩을 악용하여 공개 키 서명을 위조하고 중간자 공격을 가능하게 했다.[160]

2015년 2월, 일부 레노버 노트북에 사전 설치된 슈퍼피쉬 애드웨어에서 보안 취약점이 발견되었다.[161] Komodia라는 회사 이름이 암호 구문으로 사용되어 키에 쉽게 접근할 수 있었기 때문이다.[162] Komodia 라이브러리는 자녀 보호 및 감시를 위해 클라이언트 측 TLS/SSL 트래픽을 가로채도록 설계되었지만, 슈퍼피쉬를 포함한 여러 애드웨어 프로그램에서도 사용되었다. 이로 인해 손상된 루트 인증서가 설치되어 공격자가 웹 트래픽을 제어하고 가짜 웹사이트를 진본으로 위장할 수 있었다.

2016년 5월에는 비자에 속한 일부 덴마크 HTTPS 보호 웹사이트가 해커의 공격에 취약하다는 보고가 있었다.[163] 이 공격은 TLS 구현에서 논스(한 번만 사용하도록 설계된 임의의 숫자)를 잘못 재사용하여 각 TLS 핸드셰이크가 고유하지 않게 되었기 때문에 발생했다.

2013년에는 HTTP 데이터 압축을 이용한 CRIME 공격의 변종인 '''BREACH''' ('''Browser Reconnaissance and Exfiltration via Adaptive Compression of Hypertext''', 영문판)가 보고되었다. BREACH 공격은 로그인 토큰, 이메일 주소 등의 개인 정보를 단시간 내에 획득할 수 있게 하며, 모든 버전의 TLS/SSL에 대해 적용 가능하다.[470][471]

8. 2. 웹사이트 취약점 조사

, 신뢰할 수 있는 인터넷 운동은 TLS 공격에 취약한 웹사이트의 비율을 추정했다.[98]

가장 인기 있는 웹사이트의 TLS 취약성 조사
공격보안
취약함상황에 따라 다름안전함기타
재협상 공격< 0.1%
안전하지 않은 재협상 지원
< 0.1%
둘 다 지원
99.7%
안전한 재협상 지원
0.3%
지원 안 함
RC4 공격0.2%
최신 브라우저에서 사용되는 RC4 제품군 지원
3.0%
일부 RC4 제품군 지원
96.9%
지원 안 함
TLS 압축 (CRIME 공격)0%
취약함
Heartbleed0%
취약함
ChangeCipherSpec 삽입 공격< 0.1%
취약하고 악용 가능
< 0.1%
취약하지만 악용 불가
99.5%
취약하지 않음
0.4%
알 수 없음
TLS에 대한 POODLE 공격
(SSL 3.0에 대한 원본 POODLE은 포함되지 않음)
< 0.1%
취약하고 악용 가능
99.9%
취약하지 않음
0.1%
알 수 없음
프로토콜 다운그레이드4.1%
다운그레이드 방어 미지원
80.2%
다운그레이드 방어 지원
15.7%
알 수 없음


8. 3. TLS 차단

전송 계층 보안(TLS)은 패킷이 암호화되어 송수신되므로 스니핑 공격에 대해 뛰어난 보안성을 제공한다. 그러나 암호화된 패킷이 클라이언트나 서버로 전송되기 때문에 개인정보 유출, 기밀정보 유출, DDoS, APT, 악성코드 공격에는 취약하다.[478]

TLS 차단(또는 HTTPS 차단)은 암호화된 데이터 스트림을 가로채 해독하고, 내용을 검사한 후 다시 암호화하여 전송하는 기술이다. 이는 "투명 프록시"를 통해 이루어지며, 차단 소프트웨어는 들어오는 TLS 연결을 종료하고 HTTP 일반 텍스트를 검사한 다음, 대상 서버에 대한 새로운 TLS 연결을 생성한다.[174]

기업 등의 네트워크 운영자는 TLS/HTTPS 차단을 정보 보안 조치의 하나로 사용하여 컴퓨터 바이러스나 멀웨어와 같은 악성 콘텐츠가 네트워크에 침입하는 것을 탐지하고 방지할 수 있다.[174] HTTPS와 같은 보안 프로토콜이 널리 사용되면서 암호화되지 않은 방식으로는 이러한 악성 콘텐츠를 탐지하기 어렵기 때문이다.

하지만 TLS/HTTPS 차단은 자체적인 보안 위험을 야기할 수 있다. 네트워크 트래픽이 암호화되지 않은 상태로 노출되는 지점이 생기므로 공격자가 이 지점을 집중적으로 공격할 수 있다. 또한, 차단 시스템에 접근 권한이 있는 사람이 네트워크 사용자를 대상으로 중간자 공격을 수행할 수도 있다. 2017년 연구에 따르면 HTTPS 차단은 널리 퍼져 있으며, 차단 제품군은 연결 보안에 심각한 부정적 영향을 미치는 것으로 나타났다.[174]

참조

[1] 뉴스 Delegated Credentials for (D)TLS https://datatracker.[...] 2024-06-26
[2] IETF Upgrading to TLS Within HTTP/1.1 Internet Engineering Task Force 2000-05-00
[3] 웹사이트 SSL/TLS in Detail https://docs.microso[...] 2009-10-08
[4] 서적 CCNP Security VPN 642–648 Official Cert Guide https://books.google[...] Cisco Press 2012-00-00
[5] 웹사이트 What layer is TLS? https://security.sta[...]
[6] IETF Datagram Transport Layer Security 2006-04-00
[7] IETF Datagram Transport Layer Security Version 1.2 2012-01-00
[8] 웹사이트 Why TCP Over TCP Is A Bad Idea http://sites.inka.de[...] 2001-04-23
[9] 학술대회 Understanding TCP over TCP: effects of TCP tunneling on end-to-end throughput and latency 2005-10-00
[10] IETF § 4
[11] IETF The Datagram Transport Layer Security (DTLS) Protocol Version 1.3 2022-04-21
[12] 웹사이트 AnyConnect FAQ: tunnels, reconnect behavior, and the inactivity timer http://www.cisco.com[...] Cisco
[13] 웹사이트 Cisco InterCloud Architectural Overview http://www.cisco.com[...] Cisco Systems
[14] 웹사이트 OpenConnect https://www.infradea[...] OpenConnect
[15] 웹사이트 ZScaler ZTNA 2.0 Tunnel https://help.zscaler[...] ZScaler
[16] 웹사이트 f5 Datagram Transport Layer Security (DTLS) https://f5.com/gloss[...] f5 Networks
[17] 웹사이트 Configuring a DTLS Virtual Server http://docs.citrix.c[...] Citrix Systems
[18] 웹사이트 WebRTC Interop Notes https://web.archive.[...]
[19] 웹사이트 Here is what is new and changed in Firefox 74.0 Stable – gHacks Tech News https://www.ghacks.n[...] 2020-03-10
[20] 웹사이트 TLS 1.0 and TLS 1.1 – Chrome Platform Status https://chromestatus[...]
[21] 웹사이트 Using TLS to protect data https://www.ncsc.gov[...]
[22] 웹사이트 TLS 1.3: One Year Later https://www.ietf.org[...]
[23] 웹사이트 Creating TLS: The Pioneering Role of Ruth Nelson https://www.circleid[...]
[24] 학술대회 SNP: An interface for secure network programming http://www.cs.utexas[...] 1994-06-00
[25] 웹사이트 1994 USENIX Summer Technical Conference Program, Boston, 6–10 June 1994 https://www.usenix.o[...]
[26] 간행물 Applying a Theory of Modules and Interfaces to Security Verification NSA INFOSEC University Research Program 1993-06-27
[27] 웹사이트 2004 ACM Software System Award citation https://awards.acm.o[...] ACM
[28] 웹사이트 ACM Press Release, March 15, 2005 https://www.cs.utexa[...] ACM
[29] 웹사이트 Internet Hall of Fame inductee Simon S. Lam https://www.internet[...]
[30] 웹사이트 Computer Scientist Inducted into Internet Hall of Fame https://cns.utexas.e[...]
[31] 뉴스 Father of SSL, Dr. Taher Elgamal, Finds Fast-Moving IT Projects in the Middle East https://web.archive.[...]
[32] 뉴스 Father of SSL says despite attacks, the security linchpin has lots of life left https://web.archive.[...]
[33] 서적 SSL and TLS: Theory and Practice Artech House
[34] 웹사이트 THE SSL PROTOCOL http://home.netscape[...] Netscape Corporation
[35] 참고문헌
[36] 웹사이트 POODLE: SSLv3 vulnerability (CVE-2014-3566) https://access.redha[...] 2014-10-21
[37] 웹사이트 Security Standards and Name Changes in the Browser Wars http://tim.dierks.or[...] 2020-02-29
[38] 웹사이트 Date Change for Migrating from SSL and Early TLS https://blog.pcisecu[...] 2015-12-18
[39] 뉴스 Changes to PCI Compliance are Coming June 30. Is Your Ecommerce Business Ready? https://www.forbes.c[...] 2018-06-20
[40] 웹사이트 Apple, Google, Microsoft, and Mozilla come together to end TLS 1.0 https://arstechnica.[...] 2018-10-17
[41] 웹사이트 Transport Layer Security Parameters – Cipher Suites https://www.iana.org[...] 2022-12-16
[42] 웹사이트 Microsoft Delays End of Support for TLS 1.0 and 1.1 - https://mcpmag.com/a[...]
[43] 웹사이트 TLS 1.2 FAQ – Knowledge Base https://answers.psio[...] 2022-02-20
[44] 웹사이트 Differences between TLS 1.2 and TLS 1.3 (#TLS13) https://www.wolfssl.[...] 2019-09-18
[45] 웹사이트 Archived copy https://datatracker.[...] 2024-03-17
[46] 웹사이트 NSS 3.29 release notes https://developer.mo[...] Mozilla Developer Network 2017-02
[47] 웹사이트 Enable TLS 1.3 by default https://bugzilla.moz[...] Bugzilla@Mozilla 2016-10-16
[48] 웹사이트 Firefox — Notes (60.0) https://www.mozilla.[...]
[49] 웹사이트 ProxySG, ASG and WSS will interrupt SSL connections when clients using TLS 1.3 access sites also using TLS 1.3 http://bluecoat.forc[...] 2017-05-16
[50] 웹사이트 Why TLS 1.3 isn't in browsers yet https://blog.cloudfl[...] 2017-12-26
[51] IETF Long-Term Viability of Protocol Extension Mechanisms 2021-12
[52] 웹사이트 TLS 1.3 IETF 100 Hackathon https://datatracker.[...]
[53] Youtube IETF Hackathon Presentations and Awards https://www.youtube.[...] 2017-11-14
[54] 뉴스 Hurrah! TLS 1.3 is here. Now to implement it and put it into software https://www.theregis[...] 2018-03-28
[55] Youtube IETF102-HACKATHON-20180715-1400 https://www.youtube.[...] 2018-07-18
[56] 웹사이트 wolfSSL TLS 1.3 BETA Release Now Available https://www.wolfssl.[...] info@wolfssl.com 2017-05-11
[57] 웹사이트 TLS 1.3 PROTOCOL SUPPORT https://www.wolfssl.[...] info@wolfssl.com
[58] 웹사이트 TLS 1.3 Draft 28 Support in wolfSSL https://www.wolfssl.[...] info@wolfssl.com 2018-06-14
[59] 웹사이트 OpenSSL 1.1.1 Is Released https://openssl-libr[...] Matt Caswell 2018-09-11
[60] 웹사이트 Protocols in TLS/SSL (Schannel SSP) https://learn.micros[...] 2022-05-25
[61] 웹사이트 ETS Isn't TLS and You Shouldn't Use It https://www.eff.org/[...] 2019-02-26
[62] 서적 TS 103 523-3 – V1.1.1 – CYBER; Middlebox Security Protocol; Part 3: Profile for enterprise network and data centre access control https://www.etsi.org[...] ETSI.org
[63] 웹사이트 Monumental Recklessness https://boingboing.n[...] 2019-02-26
[64] 웹사이트 Alternatives to Certification Authorities for a Secure Web https://www.rsaconfe[...] RSA Conference Asia Pacific 2013
[65] 웹사이트 Counting SSL certificates https://news.netcraf[...] 2022-02-20
[66] 뉴스 Lehi's DigiCert swallows web security competitor in $1 billion deal https://www.deseretn[...] 2017-08-03
[67] 웹사이트 Market share trends for SSL certificate authorities https://w3techs.com/[...]
[68] 잡지 Law Enforcement Appliance Subverts SSL https://www.wired.co[...] 2010-03-24
[69] 웹사이트 New Research Suggests That Governments May Fake SSL Certificates https://www.eff.org/[...] 2010-03-24
[70] IETF Pre-Shared Key Ciphersuites for Transport Layer Security (TLS) Internet Engineering Task Force 2005-12
[71] IETF Using the Secure Remote Password (SRP) Protocol for TLS Authentication Internet Engineering Task Force 2014-12-21
[72] 웹사이트 Google updates SSL certificates to 2048-bit encryption http://www.computing[...] Incisive Media 2013-09-09
[73] 뉴스 The value of 2,048-bit encryption: Why encryption key length matters http://searchsecurit[...] 2017-12-18
[74] 웹사이트 Consensus: remove DSA from TLS 1.3 https://www.ietf.org[...] 2015-09-17
[75] IETF
[76] IETF
[77] IETF
[78] IETF
[79] 문서 BEAST attack
[80] 문서 POODLE
[81] IETF
[82] 문서 AEAD block cipher modes of operation
[83] IETF
[84] IETF
[85] IETF
[86] IETF
[87] IETF
[88] 문서 Lucky Thirteen attack
[89] 웹사이트 On the Practical (In-)Security of 64-bit Block Ciphers — Collision Attacks on HTTP over TLS and OpenVPN https://sweet32.info[...] 2017-06-08
[90] 웹사이트 NIST Special Publication 800-57 ''Recommendation for Key Management — Part 1: General (Revised)'' https://web.archive.[...] 2014-07-03
[91] 웹사이트 SSL/TLS Deployment Best Practices https://www.ssllabs.[...] 2015-06-02
[92] IETF
[93] 문서 Export of cryptography from the United States
[94] IETF
[95] IETF
[96] 문서 Authentication only, no encryption.
[97] 웹사이트 Http vs https https://www.instants[...] 2015-02-12
[98] 웹사이트 SSL Pulse: Survey of the SSL Implementation of the Most Popular Websites https://www.ssllabs.[...] 2024-05-30
[99] 웹사이트 RC4 in TLS is Broken: Now What? https://community.qu[...] Qualsys Security Labs 2013-07-30
[100] 문서 Cipher
[101] 문서 Web browsers, Attacks against TLS/SSL
[102] 웹사이트 Internet Explorer 11 has retired and is officially out of support—what you need to know https://blogs.window[...] 2022-06-15
[103] 웹사이트 Internet Explorer 11 desktop app support ended for certain versions of Windows 10 https://docs.microso[...] 2022-06-17
[104] 웹사이트 Java Secure Socket Extension (JSSE) Reference Guide https://docs.oracle.[...] 2021-12-24
[105] 논문 The most dangerous code in the world: validating SSL certificates in non-browser software. Proceedings of the 2012 ACM conference on Computer and communications security http://www.cs.utexas[...] Association for Computing Machinery 2012
[106] IETF The Use of the SIPS URI Scheme in the Session Initiation Protocol (SIP)
[107] IETF Summarizing Known Attacks on Transport Layer Security (TLS) and Datagram TLS (DTLS)
[108] 웹사이트 CVE – CVE-2009-3555 http://cve.mitre.org[...]
[109] 웹사이트 Understanding the TLS Renegotiation Attack http://www.educatedg[...] 2009-11-27
[110] 웹사이트 SSL_CTX_set_options SECURE_RENEGOTIATION https://www.openssl.[...] 2010-11-18
[111] 웹사이트 GnuTLS 2.10.0 released http://article.gmane[...] 2011-07-24
[112] 웹사이트 NSS 3.12.6 release notes https://developer.mo[...] 2011-07-24
[113] 논문 Transport Layer Security (TLS) False Start http://tools.ietf.or[...] IETF 2013-07-31
[114] 웹사이트 False Start: Google Proposes Faster Web, Chrome Supports It Already http://www.conceivab[...] 2011-03-09
[115] 웹사이트 Limited rollback attacks in False Start and Snap Start http://www.ietf.org/[...] 2011-03-09
[116] 웹사이트 False Start http://www.carbonwin[...] 2011-03-09
[117] 논문 A cross-protocol attack on the TLS protocol. Proceedings of the 2012 ACM conference on Computer and communications security https://www.cosic.es[...] Association for Computing Machinery
[118] 웹사이트 SMACK: State Machine AttaCKs https://www.smacktls[...]
[119] 웹사이트 HTTPS-crippling attack threatens tens of thousands of Web and mail servers https://arstechnica.[...] 2015-05-20
[120] 웹사이트 One-third of all HTTPS websites open to DROWN attack https://www.theregis[...] 2016-03-02
[121] 웹사이트 More than 11 million HTTPS websites imperiled by new decryption attack https://arstechnica.[...] 2016-03-02
[122] 웹사이트 Here Come The ⊕ Ninjas https://bug665814.bu[...] 2011-05-13
[123] 웹사이트 Hackers break SSL encryption used by millions of sites https://www.theregis[...] 2011-09-19
[124] 웹사이트 Y Combinator comments on the issue http://news.ycombina[...] 2011-09-20
[125] 웹사이트 Security of CBC Ciphersuites in SSL/TLS: Problems and Countermeasures http://www.openssl.o[...] 2004-05-20
[126] 웹사이트 Is BEAST Still a Threat? https://community.qu[...] 2014-10-08
[127] 웹사이트 Chrome Stable Release http://googlechromer[...] 2015-02-01
[128] 웹사이트 Attack against TLS-protected communications https://blog.mozilla[...] Mozilla 2015-02-01
[129] 웹사이트 (CVE-2011-3389) Rizzo/Duong chosen plaintext attack (BEAST) on SSL/TLS 1.0 (facilitated by websockets-76) https://bugzilla.moz[...] 2011-11-01
[130] 기술보고서 Vulnerability in SSL/TLS Could Allow Information Disclosure (2643584) https://docs.microso[...] 2021-10-24
[131] 웹사이트 Apple Enabled BEAST Mitigations in OS X 10.9 Mavericks https://community.qu[...] 2014-10-08
[132] 웹사이트 Crack in Internet's foundation of trust allows HTTPS session hijacking https://arstechnica.[...] 2013-07-31
[133] 웹사이트 CRIME Attack Uses Compression Ratio of TLS Requests as Side Channel to Hijack Secure Sessions http://threatpost.co[...] ThreatPost 2012-09-13
[134] 웹사이트 Gone in 30 seconds: New attack plucks secrets from HTTPS-protected pages https://arstechnica.[...] Condé Nast 2013-08-02
[135] 웹사이트 Step into the BREACH: New attack developed to read encrypted web data https://www.theregis[...] 2013-08-02
[136] IETF Encrypt-then-MAC for Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) Internet Engineering Task Force 2014-09-01
[137] 웹사이트 This POODLE Bites: Exploiting The SSL 3.0 Fallback https://www.openssl.[...] 2014-10-15
[138] 웹사이트 The POODLE bites again https://www.imperial[...] 2014-12-08
[139] 웹사이트 ssl – Safest ciphers to use with the BEAST? (TLS 1.0 exploit) I've read that RC4 is immune https://serverfault.[...] 2022-02-20
[140] 논문 Selected Areas in Cryptography: 17th International Workshop, SAC 2010, Waterloo, Ontario, Canada, August 12–13, 2010, Revised Selected Papers
[141] 웹사이트 Attack of the week: RC4 is kind of broken in TLS http://blog.cryptogr[...] 2013-03-12
[142] 웹사이트 On the Security of RC4 in TLS http://www.isg.rhul.[...] Royal Holloway University of London 2013-03-13
[143] 논문 On the Security of RC4 in TLS and WPA http://www.isg.rhul.[...] 2013-07-08
[144] 학회발표 On the Security of RC4 in TLS https://www.usenix.o[...] 2013-08-15
[145] 뉴스 Once-theoretical crypto attack against HTTPS now verges on practicality https://arstechnica.[...] Condé Nast 2015-07-15
[146] 웹사이트 Mozilla Security Server Side TLS Recommended Configurations https://wiki.mozilla[...] Mozilla 2015-01-03
[147] 웹사이트 Security Advisory 2868725: Recommendation to disable RC4 http://blogs.technet[...] Microsoft 2013-11-12
[148] 웹사이트 Ending support for the RC4 cipher in Microsoft Edge and Internet Explorer 11 https://blogs.window[...] Microsoft Edge Team 2015-09-01
[149] 웹사이트 Intent to deprecate: RC4 https://groups.googl[...] 2015-09-01
[150] 웹사이트 Intent to ship: RC4 disabled by default in Firefox 44 https://groups.googl[...] 2015-09-01
[151] 뉴스 Gmail, Outlook.com and e-voting 'pwned' on stage in crypto-dodge hack https://www.theregis[...] 2013-08-01
[152] 웹사이트 BlackHat USA Briefings https://www.blackhat[...]
[153] 보고서 Truncating TLS Connections to Violate Beliefs in Web Applications https://hal.inria.fr[...] 2013
[154] 학회발표 Plaintext-recovery attacks against datagram TLS http://www.isg.rhul.[...]
[155] 뉴스 New attack bypasses HTTPS protection on Macs, Windows, and Linux https://arstechnica.[...] Condé Nast 2016-07-26
[156] 뉴스 HTTPS and OpenVPN face new attack that can decrypt secret cookies https://arstechnica.[...] 2016-08-24
[157] 뉴스 Why is it called the 'Heartbleed Bug'? https://www.washingt[...] 2014-04-09
[158] 웹사이트 Heartbleed Bug vulnerability [9 April 2014] https://blogs.comodo[...] Comodo Group
[159] 웹사이트 Bleichenbacher's RSA signature forgery based on implementation error http://www.imc.org/i[...] 2006-08
[160] 웹사이트 BERserk http://www.intelsecu[...] Intel Security: Advanced Threat Research 2014-09
[161] 뉴스 Lenovo PCs ship with man-in-the-middle adware that breaks HTTPS connections https://arstechnica.[...] 2015-02-19
[162] 웹사이트 Komodia/Superfish SSL validation is broken https://blog.filippo[...] Filippo.io 2015-02-20
[163] 뉴스 "Forbidden attack" makes dozens of HTTPS Visa sites vulnerable to tampering https://arstechnica.[...] 2016-05-26
[164] 뉴스 Everything You Need to Know About Cloudbleed, the Latest Internet Security Disaster https://gizmodo.com/[...] 2017-02-24
[165] 논문 Authentication and Authenticated Key Exchanges http://citeseer.ist.[...] 1992-06
[166] 웹사이트 Discussion on the TLS mailing list in October 2007 http://www1.ietf.org[...]
[167] 웹사이트 Protecting data for the long term with forward secrecy http://googleonlines[...]
[168] 웹사이트 SSL/TLS & Perfect Forward Secrecy https://vincent.bern[...] 2011-11-28
[169] 웹사이트 SSL Labs: Deploying Forward Secrecy https://community.qu[...] Qualys.com 2013-06-25
[170] 웹사이트 SSL Labs: Deploying Forward Secrecy https://community.qu[...] Qualsys 2013-08-05
[171] 논문 An Experimental Study of TLS Forward Secrecy Deployments http://crypto.stanfo[...] 2014
[172] 웹사이트 Protecting data for the long term with forward secrecy http://googleonlines[...]
[173] 웹사이트 Forward Secrecy at Twitter https://blog.twitter[...] Twitter
[174] 논문 The Security Impact of HTTPS Interception https://www.ndss-sym[...] 2017-09-05
[175] 문서 X.509 및 OpenPGP 기반 인증서 사용에 대한 설명
[176] 웹사이트 tls – Differences between the terms "pre-master secret", "master secret", "private key", and "shared secret"? https://crypto.stack[...] 2020-10-01
[177] 웹사이트 vsftpd-2.1.0 released – Using TLS session resume for FTPS data connection authentication http://scarybeastsec[...] Scarybeastsecurity. blogspot.com 2009-02-18
[178] IETF The Transport Layer Security (TLS) Protocol Version 1.3 IETF 2018-08-00
[179] 웹사이트 An overview of TLS 1.3 and Q&A https://blog.cloudfl[...] 2016-09-23
[180] 웹사이트 TLS "Secrets": Whitepaper presenting the security implications of the deployment of session tickets (RFC 5077) as implemented in OpenSSL https://media.blackh[...] Matta Consulting Limited
[181] 웹사이트 TLS "Secrets": What everyone forgot to tell you… https://media.blackh[...] Matta Consulting Limited
[182] 웹사이트 How to botch TLS forward secrecy https://www.imperial[...] 2013-06-27
[183] 웹사이트 Wildcard SSL Certificate overview https://ssl.comodo.c[...]
[184] 웹사이트 Named-based SSL virtual hosts: how to tackle the problem https://www.switch.c[...]
[185] 서적 マスタリングTCP/IP SSL/TLS編 オーム社開発局 2003-00-00
[186] 문서 アプリケーション層プロトコルへの適用
[187] 서적 マスタリングTCP/IP情報 セキュリティ編 オーム社 2022-06-28
[188] 웹사이트 SSL http://wiki2.dovecot[...]
[189] 웹사이트 Google Chrome、南京錠アイコンを2023年9月に廃止 https://news.mynavi.[...] 2023-05-04
[190] 웹사이트 大多数の人は、ウェブブラウザの南京錠アイコンが何を意味するのか理解していない https://texal.jp/the[...] 2023-11-23
[191] 웹사이트 すべての「Chrome」をHTTPSファーストに、Googleが本腰を入れる https://forest.watch[...] 2023-08-18
[192] 웹사이트 オレオレ証明書の区分 第三版 http://takagi-hiromi[...] 2007-11-17
[193] 웹사이트 「安全なウェブサイトの作り方 改訂第3版」を公開 https://www.ipa.go.j[...] 独立行政法人 情報処理推進機構 2008-06-11
[194] 웹사이트 Randomness and the Netscape Browser http://www.ddj.com/w[...] Dr. Dobb's 1996-01-01
[195] 웹사이트 OpenSSL パッケージの脆弱性とその影響について(SSH鍵、SSL証明書等) http://www.debian.or[...] Debian JP Project 2008-05-15
[196] 웹사이트 Debian generated SSH-Keys working exploit http://www.securityf[...] SecurityFocus 2008-05-15
[197] 웹사이트 Debian GNU/Linux に含まれる OpenSSL/OpenSSH の脆弱性に関する注意喚起 https://www.jpcert.o[...] JPCERT/CC 2008-05-19
[198] 웹사이트 RFC5246日本語訳「 TLS ハンドシェイク関連プロトコル」 https://web.archive.[...] IPA 2016-08-11
[199] 웹사이트 RFC5246日本語訳「 8. 暗号技術的計算」 https://web.archive.[...] IPA 2016-08-11
[200] 웹사이트 RFC5246日本語訳「6. TLS レコードプロトコル」 https://web.archive.[...] IPA 2016-08-11
[201] 웹사이트 IT 管理者向け - TLS 1.2 への移行を推奨しています https://blogs.techne[...] マイクロソフト TechNet 2017-07-11
[202] 웹사이트 TLS1.0 サポート停止におけるシステムメンテナンスのお知らせ https://knowledge.sy[...] シマンテック 2016-02-19
[203] 웹사이트 2018年6月1日以降、古いブラウザー、パソコン、スマートフォンなどでは、Yahoo! JAPANのウェブサービスが順次ご利用いただけなくなります。 https://security.yah[...] Yahoo! JAPAN
[204] 웹사이트 [Security] SSL 2.0 version rollback の件のFAQ http://www.oiwa.jp/~[...] 2005-10-13
[205] 웹사이트 Internet Explorer 7 における HTTPS セキュリティの強化点 http://www.microsoft[...] マイクロソフト 2006-01-31
[206] 웹사이트 サイトが古くて安全でないバージョンの SSL プロトコルを使用しているため、安全な接続ができませんでした http://support.mozil[...] 2009-07-06
[207] 웹사이트 Opera 9 のサポートするウェブ標準ならびに仕様 http://jp.opera.com/[...] Opera Software ASA.
[208] 웹사이트 「SSL 2.0だけに対応したWebサイトはわずか0.1%」---ネットクラフト https://xtech.nikkei[...] 日経BP IT pro 2006-06-02
[209] IETF TLS 1.0 및 TLS 1.1 정의
[210] 웹사이트 Microsoft、「TLS 1.0」「TLS 1.1」対応を終了 ~2024年10月31日以降、利用不可 https://forest.watch[...] ITmedia
[211] 웹사이트 IETF The Transport Layer Security (TLS) Protocol Version 1.3 //tools.ietf.org/htm[...]
[212] 웹사이트 IETFがTLS 1.3を承認、悪質なハッカーや盗聴者が仕事をしづらくなる仕掛けを盛り込む https://jp.techcrunc[...] TechCrunch Japan 2018-03-24
[213] 웹사이트 IETFがTLS 1.3を承認--安全性や速度向上、課題も https://japan.zdnet.[...] ZDNet 2018-03-27
[214] 뉴스 IETF、「TLS 1.3」を正式リリース ~「Firefox」「Google Chrome」は最終草案に対応 https://forest.watch[...] 2018-08-20
[215] 웹사이트 Consensus: remove DSA from TLS 1.3 https://www.ietf.org[...] 2015-09-17
[216] 웹사이트 draft-chudov-cryptopro-cptls-04 - GOST 28147-89 Cipher Suites for Transport Layer Security (TLS) //tools.ietf.org/htm[...]
[217] 문서 재네고시에이션 취약성에 대한 대응
[218] 문서 IETF RFC 5746 대응
[219] 문서 SSL 3.0 및 TLS 1.0의 BEAST 공격 취약성
[220] 문서 SSL 3.0의 POODLE 공격 취약성
[221] 표준 IETF RFC 5288, IETF RFC 5289
[222] 문서 GCM, CCM 등 AEAD(인증된 암호 모드) 사용 가능성
[223] 표준 IETF RFC 6655, IETF RFC 7251
[224] 표준 IETF RFC 6367
[225] 표준 IETF RFC 5932 및 IETF RFC 6367
[226] 표준 IETF RFC 6209
[227] 표준 IETF RFC 4162
[228] 문서 CBC 모드의 Lucky Thirteen 공격 취약성
[229] 간행물 NIST Special Publication 800-57 ''Recommendation for Key Management — Part 1: General (Revised)'' http://csrc.nist.gov[...] 2007-03-08
[230] 간행물 SSL/TLS Deployment Best Practices https://www.ssllabs.[...]
[231] 문서 IDEA, DES 폐지
[232] 문서 40비트 보안 강도를 가진 Cipher Suite
[233] 표준 IETF RFC 7905
[234] 문서 IETF RFC 7465에 따른 RC4 사용 금지
[235] 문서 인증만 수행, 암호화 미수행
[236] 웹사이트 SSL Pulse: Survey of the SSL Implementation of the Most Popular Web Sites https://www.ssllabs.[...] 2023-12-09
[237] 웹사이트 RC4 in TLS is Broken: Now What? https://blog.qualys.[...] Qualsys SSL Labs
[238] 문서 암호 스위트 참조
[239] 문서 웹 브라우저 및 TLS/SSL 알려진 취약성 참조
[240] 웹사이트 「Microsoft Edge」と「Internet Explorer 11」でTLS 1.0/1.1がデフォルト無効化へ, 「Google Chrome」「Firefox」「Safari」もTLS 1.0/1.1のサポートを廃止へ https://forest.watch[...] 2018-10-16
[241] 웹사이트 主要ブラウザーの TLS 1.0/1.1 無効化について(続報) https://www.cybertru[...] 2020-07-28
[242] 문서 사용자 또는 관리자에 의한 프로토콜 선택 가능 여부
[243] 문서 EV SSL과 일반 SSL 구별 가능 여부
[244] 웹사이트 緑色のバーの表示について https://knowledge.ve[...] 시만텍
[245] 웹사이트 SHA-256 Compatibility https://support.glob[...]
[246] 웹사이트 ECC Compatibility https://support.glob[...] 2015-06-13
[247] 문서 1/n-1 record splitting 등
[248] 문서 HTTPS/SPDYにおけるヘッダ圧縮の無効化
[249] 문서 POODLE 공격 대책
[250] 문서 FREAK 공격 대책
[251] 웹사이트 Tracking the FREAK Attack https://freakattack.[...] 2015-03-08
[252] 웹사이트 FREAK: Factoring RSA Export Keys https://www.smacktls[...] 2015-03-08
[253] 웹사이트 Dev Channel Update http://googlechromer[...] 2014-07-02
[254] 웹사이트 Stable Channel Update http://googlechromer[...] 2014-07-02
[255] 웹사이트 Chromium TLS 1.2 Implementation http://src.chromium.[...] 2014-07-02
[256] 웹사이트 The Chromium Project: BoringSSL https://www.chromium[...] 2015-09-05
[257] 웹사이트 Chrome Stable Release http://googlechromer[...] Google 2015-02-01
[258] 문서 브라우저 설정
[259] 웹사이트 SVN revision log on Chrome 10.0.648.127 release http://build.chromiu[...] 2014-07-02
[260] 웹사이트 ImperialViolet - CRIME https://www.imperial[...] 2014-10-18
[261] 웹사이트 SSL/TLS Overview https://sites.google[...] 2014-07-02
[262] 웹사이트 Chromium Issue 90392 https://code.google.[...] 2014-07-02
[263] 웹사이트 Issue 23503030 Merge 219882 https://codereview.c[...] 2013-09-19
[264] 웹사이트 Issue 278370: Unable to submit client certificates over TLS 1.2 from Windows http://code.google.c[...] 2013-10-03
[265] 문서 설정 옵션
[266] 웹사이트 This POODLE bites: exploiting the SSL 3.0 fallback http://googleonlines[...] Google (via Blogspot) 2014-10-29
[267] 웹사이트 An update on SSLv3 in Chrome. https://groups.googl[...] Google 2014-11-04
[268] 웹사이트 Stable Channel Update http://googlechromer[...] Google 2014-11-14
[269] 웹사이트 Changelog for Chrome 33.0.1750.117 http://build.chromiu[...] Google 2014-11-14
[270] 웹사이트 Issue 318442: Update to NSS 3.15.3 and NSPR 4.10.2 https://code.google.[...] 2014-11-14
[271] 웹사이트 Issue 693963003: Add minimum TLS version control to about:flags and Finch gate it. - Code Review https://codereview.c[...] 2015-01-22
[272] 웹사이트 Issue 375342: Drop RC4 Support https://code.google.[...] 2015-05-22
[273] 웹사이트 Issue 436391: Add info on end of life of SSLVersionFallbackMin & SSLVersionMin policy in documentation https://code.google.[...] 2015-04-19
[274] 웹사이트 Issue 490240: Increase minimum DH size to 1024 bits (tracking bug) https://code.google.[...] 2015-05-29
[275] 웹사이트 Intent to deprecate: RC4 https://groups.googl[...] 2015-12-21
[276] 웹사이트 An update on SHA-1 certificates in Chrome https://googleonline[...] 2015-12-21
[277] 웹사이트 SSLSocket | Android Developers https://developer.an[...] 2015-03-11
[278] 웹사이트 What browsers work with Universal SSL https://support.clou[...] 2015-06-15
[279] 웹사이트 SSLSocket | Android Developers http://developer.and[...] 2015-12-17
[280] 웹사이트 Android 5.0 Behavior Changes | Android Developers http://developer.and[...] 2015-03-11
[281] 웹사이트 Android 8.0 Behavior Changes https://developer.an[...] 2017-03-21
[282] 문서 Firefox의 TLS 구현 (NSS 기반)
[283] 웹사이트 Security in Firefox 2 https://developer.mo[...] 2008-08-06
[284] 웹사이트 TLS 暗号化通信に対する攻撃の Firefox への影響 http://www.mozilla.j[...] Mozilla Japan 2011-09-28
[285] 웹사이트 Introduction to SSL https://developer.mo[...] MDN
[286] 웹사이트 Bug 565047 – (RFC4346) Implement TLS 1.1 (RFC 4346) https://bugzilla.moz[...]
[287] 웹사이트 SSL Version Control :: Add-ons for Firefox https://addons.mozil[...]
[288] 웹사이트 Bug 480514 – Implement support for TLS 1.2 (RFC 5246) https://bugzilla.moz[...]
[289] 웹사이트 NSS 3.15.3 Release Notes https://developer.mo[...] Mozilla
[290] 웹사이트 MFSA 2013-103: Network Security Services (NSS) の様々な脆弱性 http://www.mozilla-j[...] Mozilla Japan
[291] 웹사이트 Bug 733647 – Implement TLS 1.1 (RFC 4346) in Gecko (Firefox, Thunderbird), on by default https://bugzilla.moz[...]
[292] 웹사이트 Firefox 27.0 リリースノート http://www.mozilla.j[...] 2014-02-04
[293] 웹사이트 Bug 861266 – Implement TLS 1.2 (RFC 5246) in Gecko (Firefox, Thunderbird), on by default https://bugzilla.moz[...]
[294] 웹사이트 The POODLE Attack and the End of SSL 3.0 https://blog.mozilla[...] Mozilla 2014-10-14
[295] 웹사이트 Firefox 34.0 リリースノート http://www.mozilla.j[...] 2014-12-01
[296] 웹사이트 Bug 1083058 - A pref to control TLS version fallback https://bugzilla.moz[...] bugzilla.mozilla.org
[297] 웹사이트 Bug 1036737 - Add support for draft-ietf-tls-downgrade-scsv to Gecko/Firefox https://bugzilla.moz[...] bugzilla.mozilla.org
[298] 문서 RC4 Cipher Suite의 Fallback 동작
[299] 웹사이트 Bug 1088915 - Stop offering RC4 in the first handshakes https://bugzilla.moz[...] bugzilla.mozilla.org
[300] 웹사이트 Firefox 39.0 リリースノート http://www.mozilla.j[...] Mozilla Japan 2015-06-30
[301] 웹사이트 Bug 1166031 - Update to NSS 3.19.1 https://bugzilla.moz[...] bugzilla.mozilla.org
[302] 문서 RC4 Cipher Suite의 기본 비활성화
[303] 웹사이트 Google, Microsoft, and Mozilla will drop RC4 encryption in Chrome, Edge, IE, and Firefox next year http://venturebeat.c[...] VentureBeat 2015-09-01
[304] 웹사이트 Intent to ship: RC4 disabled by default in Firefox 44 https://groups.googl[...]
[305] 웹사이트 RC4 is now allowed only on whitelisted sites (Reverted) https://www.fxsiteco[...]
[306] 웹사이트 Firefox 44.0 リリースノート http://www.mozilla.j[...] Mozilla Japan 2016-01-26
[307] 웹사이트 Bug 1250568 - Allow enabling TLS 1.3 https://bugzilla.moz[...]
[308] 웹사이트 Secure Channel http://msdn.microsof[...] 2012-09-05
[309] 웹사이트 MS-TLSP Appendix A http://msdn.microsof[...] 2009-02-27
[310] 문서 Windows NT 버전별 Internet Explorer 지원
[311] 웹사이트 What browsers only support SSLv2? http://stackoverflow[...]
[312] 문서 MS13-095 또는 MS14-049 (Server 2003 및 XP 64비트 버전), SP3 (XP 32비트 버전)
[313] 웹사이트 SHA2 and Windows - Windows PKI blog - Site Home - TechNet Blogs http://blogs.technet[...] 2010-09-30
[314] 웹사이트 http://msdn.microsof[...]
[315] 웹사이트 http://support.micro[...]
[316] 웹사이트 Schannel の脆弱性により、セキュリティ機能のバイパスが起こる (3046049) https://technet.micr[...] 2015-03-11
[317] 웹사이트 Schannel の脆弱性により、情報漏えいが起こる (3061518) https://technet.micr[...] 2015-05-12
[318] 웹사이트 HTTPS Security Improvements in Internet Explorer 7 http://msdn.microsof[...] 2014-07-02
[319] 웹사이트 http://support.micro[...]
[320] 웹사이트 Windows 7 adds support for TLSv1.1 and TLSv1.2 - IEInternals - Site Home - MSDN Blogs http://blogs.msdn.co[...] 2014-07-02
[321] 웹사이트 Hundreds of Millions of Microsoft Customers Now Benefit from Best-in-Class Encryption http://blogs.microso[...] Microsoft Security 2014-11-14
[322] 웹사이트 Microsoft security advisory: Update for disabling RC4 http://support2.micr[...]
[323] 웹사이트 Windows 7 adds support for TLSv1.1 and TLSv1.2 - IEInternals - Site Home - MSDN Blogs http://blogs.msdn.co[...] 2014-07-02
[324] 웹사이트 Hundreds of Millions of Microsoft Customers Now Benefit from Best-in-Class Encryption http://blogs.microso[...] Microsoft Security 2014-11-14
[325] 웹사이트 IE11 Changes http://blogs.msdn.co[...] 2014-07-02
[326] 웹사이트 February 2015 security updates for Internet Explorer http://blogs.msdn.co[...] 2015-02-11
[327] 웹사이트 Update turns on the setting to disable SSL 3.0 fallback for protected mode sites by default in Internet Explorer 11 https://support.micr[...] 2015-02-11
[328] 웹사이트 SSL 3.0 の脆弱性により、情報漏えいが起こる https://technet.micr[...] 2015-04-15
[329] 웹사이트 IE11 Changes http://blogs.msdn.co[...] 2014-07-02
[330] 웹사이트 Release Notes: Important Issues in Windows 8.1 Preview http://technet.micro[...] Microsoft 2014-11-04
[331] 웹사이트 W8.1(IE11) vs RC4 | Qualys Community https://community.qu[...] 2014-11-04
[332] 문서 EdgeHTML는 Trident에서 포크됨
[333] 웹사이트 http://www.zdnet.com[...]
[334] 웹사이트 TLS (Schannel SSP) changes in Windows 10 and Windows Server 2016 https://technet.micr[...] 2020-03-29
[335] 웹사이트 http://forum.xda-dev[...]
[336] 웹사이트 What TLS version is used in Windows Phone 8 for secure HTTP connections? https://social.msdn.[...] Microsoft 2014-11-07
[337] 웹사이트 https://www.ssllabs.[...]
[338] 웹사이트 Platform Security http://technet.micro[...] Microsoft 2014-11-07
[339] 문서 Opera 10에서 TLS 1.2 지원 (기본적으로 비활성화)
[340] 웹사이트 Opera 2 series http://www.opera.com[...] 2014-09-20
[341] 웹사이트 Opera 3 series http://www.opera.com[...] 2014-09-20
[342] 웹사이트 Opera 4 series http://www.opera.com[...] 2014-09-20
[343] 웹사이트 Changelog for Opera 5.x for Windows http://www.opera.com[...] 2014-07-02
[344] 웹사이트 Changelog for Opera 5.x for Windows http://www.opera.com[...] 2014-07-02
[345] 웹사이트 Changelog for Opera [8] Beta 2 for Windows http://www.opera.com[...] 2014-07-02
[346] 웹사이트 Web Specifications Supported in Opera 9 http://www.opera.com[...] 2014-07-02
[347] 웹사이트 Opera: Opera 10 beta for Windows changelog http://www.opera.com[...] 2014-07-02
[348] 웹사이트 About Opera 11.60 and new problems with some secure servers http://my.opera.com/[...] 2014-09-21
[349] 웹사이트 Security changes in Opera 25; the poodle attacks http://blogs.opera.c[...] 2014-10-28
[350] 웹사이트 Unjam the logjam http://blogs.opera.c[...] 2015-06-11
[351] 웹사이트 Advisory: RC4 encryption protocol is vulnerable to certain brute force attacks http://www.opera.com[...] 2013-04-04
[352] 웹사이트 On the Precariousness of RC4 http://my.opera.com/[...] 2013-03-20
[353] 웹사이트 Opera 12 and Opera Mail security update http://www.opera.com[...] 2016-02-16
[354] 웹사이트 Dev.Opera — Opera 14 for Android Is Out! https://dev.opera.co[...] 2013-05-21
[355] 웹사이트 Dev.Opera — Introducing Opera 15 for Computers, and a Fast Release Cycle https://dev.opera.co[...] 2013-07-02
[356] 문서 Chrome 26–29と同じ
[357] 문서 Chrome 30以降と同じ
[358] 문서 Chrome 33以降と同じ
[359] 웹사이트 Common browsers/libraries/servers and the associated cipher suites implemented http://www.carbonwin[...]
[360] 웹사이트 Apple Secures Mac OS X with Mavericks Release - eSecurity Planet http://www.esecurity[...] 2013-10-25
[361] 웹사이트 Is BEAST Still a Threat? https://community.qu[...]
[362] 웹사이트 Apple enabled BEAST mitigations in OS X 10.9 Mavericks http://blog.ivanrist[...] 2013-10-31
[363] 웹사이트 Apple finally releases patch for BEAST https://community.qu[...] 2014-02-26
[364] 웹사이트 http://support.apple[...]
[365] 웹사이트 http://support.apple[...]
[366] 웹사이트 About the security content of OS X Mavericks v10.9 http://support.apple[...]
[367] 웹사이트 User Agent Capabilities: Safari 8 / OS X 10.10 https://www.ssllabs.[...] Qualsys SSL Labs
[368] 웹사이트 About Security Update 2015-002 https://support.appl[...]
[369] 웹사이트 About the security content of OS X Yosemite v10.10.4 and Security Update 2015-005 https://support.appl[...]
[370] 웹사이트 Technical Note TN2287 – iOS 5 and TLS 1.2 Interoperability Issues https://developer.ap[...] 2011-10-14
[371] 웹사이트 Apple issues huge software security patches http://www.msnbc.msn[...] 2011-10-13
[372] 웹사이트 Adventures with iOS UIWebviews http://labs.mwrinfos[...] 2012-04-16
[373] 웹사이트 Secure Transport Reference https://developer.ap[...]
[374] 웹사이트 iPhone 3.0: Mobile Safari Gets Enhanced Security Certificate Visualization http://www.theiphone[...] 2009-03-31
[375] 웹사이트 https://www.ssllabs.[...]
[376] 웹사이트 SOAP Request fails randomly on one Server but works on an other on iOS7 http://stackoverflow[...] 2013-10-11
[377] 웹사이트 User Agent Capabilities: Safari 8 / iOS 8.1.2 https://www.ssllabs.[...] Qualsys SSL Labs
[378] 웹사이트 About the security content of iOS 8.2 https://support.appl[...]
[379] 웹사이트 About the security content of iOS 8.4 https://support.appl[...]
[380] 웹사이트 TLS 1.3 in iOS https://mailarchive.[...]
[381] 웹사이트 https://www.nintendo[...]
[382] 웹사이트 https://www.nintendo[...]
[383] 웹사이트 https://www.nintendo[...]
[384] 문서 초기버전은 대응
[385] 문서 초기버전은 비대응
[386] 웹사이트 https://www.nintendo[...]
[387] 웹사이트 http://www.jp.playst[...]
[388] 웹사이트 https://www.nintendo[...]
[389] 웹사이트 https://www.nintendo[...]
[390] 웹사이트 http://www.jp.playst[...]
[391] 웹사이트 Version 1.11.13, 2015-01-11 — Botan http://botan.randomb[...] 2015-01-17
[392] 문서
[393] 웹사이트 [gnutls-devel] GnuTLS 3.4.0 released http://lists.gnutls.[...] 2015-04-16
[394] 웹사이트 Add TLS v1.3 as an option by SparkiDev · Pull Request #661 · wolfSSL/wolfssl https://github.com/w[...] 2020-03-30
[395] 웹사이트 Java™ SE Development Kit 8, Update 31 Release Notes http://www.oracle.co[...] 2015-01-22
[396] 웹사이트 OpenBSD 5.6 Released https://marc.info/?l[...] 2015-01-20
[397] 웹사이트 LibreSSL 2.3.0 Released https://marc.info/?l[...] 2015-09-24
[398] 웹사이트 MatrixSSL - News http://www.matrixssl[...] 2014-11-09
[399] 웹사이트 mbed TLS 2.0.0 released https://tls.mbed.org[...] 2015-07-14
[400] 웹사이트 NSS 3.24 release notes https://developer.mo[...] Mozilla 2016-06-19
[401] 웹사이트 NSS 3.19 release notes https://developer.mo[...] Mozilla 2015-05-06
[402] 웹사이트 NSS 3.14 release notes https://developer.mo[...] Mozilla 2014-07-02
[403] 웹사이트 NSS 3.15.1 release notes https://developer.mo[...] Mozilla 2014-07-02
[404] 웹사이트 [gnutls-devel] gnutls 3.6.3 https://lists.gnupg.[...] 2020-03-30
[405] 웹사이트 Changes between 0.9.8n and 1.0.0 [29 Mar 2010] https://www.openssl.[...] 2016-02-11
[406] 웹사이트 Major changes between OpenSSL 1.0.0h and OpenSSL 1.0.1 [14 Mar 2012] https://www.openssl.[...] 2015-01-20
[407] 웹사이트 NSS 3.39 release notes https://developer.mo[...] 2020-03-30
[408] 웹사이트 RSA BSAFE Technical Specification Comparison Tables http://www.emc.com/c[...] 2015-01-22
[409] 웹사이트 TLS cipher suites in Microsoft Windows XP and 2003 http://msdn.microsof[...]
[410] 웹사이트 SChannel Cipher Suites in Microsoft Windows Vista http://msdn.microsof[...]
[411] 웹사이트 TLS Cipher Suites in SChannel for Windows 7, 2008R2, 8, 2012 http://msdn.microsof[...]
[412] 웹사이트 Protocols in TLS/SSL (Schannel SSP) https://msdn.microso[...] 2017-06-08
[413] 웹사이트 Technical Note TN2287: iOS 5 and TLS 1.2 Interoperability Issues http://developer.app[...] Apple Inc. 2014-07-02
[414] 웹사이트 https://dev.ssllabs.[...]
[415] 웹사이트 [wolfssl] wolfSSL 3.6.6 Released http://wolfssl.com/w[...] 2015-08-25
[416] 웹사이트 TLS 1.3 Protocol Support https://www.wolfssl.[...] 2022-09-06
[417] 논문 Freestart collision for full SHA-1 https://eprint.iacr.[...]
[418] 웹사이트 Mozilla Security Server Side TLS Recommended Configurations https://wiki.mozilla[...] Mozilla 2015-01-03
[419] 웹사이트 Security Advisory 2868725: Recommendation to disable RC4 http://blogs.technet[...] 마이크로소프트 2013-12-13
[420] 웹사이트 마이크로소프트 보안 공지 (2868725) RC4를 무효화하기 위한 업데이트 http://technet.micro[...] 마이크로소프트 2013-12-13
[421] 웹사이트 draft-popov-tls-prohibiting-rc4-02 //tools.ietf.org/htm[...]
[422] 웹사이트 security – Safest ciphers to use with the BEAST? (TLS 1.0 exploit) I've read that RC4 is immune – Server Fault http://serverfault.c[...]
[423] 웹사이트 RC4 in TLS is Broken: Now What? https://community.qu[...] Qualsys Security Labs 2013-07-30
[424] 논문 Discovery and Exploitation of New Biases in RC4 http://link.springer[...]
[425] 웹사이트 Attack of the week: RC4 is kind of broken in TLS http://blog.cryptogr[...] 2014-06-24
[426] 웹사이트 On the Security of RC4 in TLS http://www.isg.rhul.[...] Royal Holloway University of London 2014-06-24
[427] 논문 On the Security of RC4 in TLS and WPA http://www.isg.rhul.[...] 2014-06-24
[428] 논문 On the Security of RC4 in TLS https://www.usenix.o[...] 2014-06-24
[429] 웹사이트 That earth-shattering NSA crypto-cracking: Have spooks smashed RC4? http://www.theregist[...] The Register 2013-09-06
[430] 웹사이트 SSL/TLS Deployment Best Practices https://www.ssllabs.[...] 2014-06-24
[431] 서적 マスタリングTCP/IP SSL/TLS編 オーム社
[432] 서적 マスタリングTCP/IP SSL/TLS編
[433] 뉴스 暗号化通信に脆弱性「FREAK」が判明 - 盗聴や改ざんのおそれ http://www.security-[...] Security NEXT 2015-03-05
[434] 웹사이트 Only allow ephemeral RSA keys in export ciphersuites. https://github.com/o[...] OpenSSL 2014-10-24
[435] 웹사이트 HTTPS-crippling attack threatens tens of thousands of Web and mail servers http://arstechnica.c[...] Ars Technica 2015-05-20
[436] 웹사이트 Transport Layer Security (TLS) False Start //tools.ietf.org/htm[...] IETF 2014-06-24
[437] 웹사이트 False Start: Google Proposes Faster Web, Chrome Supports It Already http://www.conceivab[...] 2014-06-24
[438] 웹사이트 Limited rollback attacks in False Start and Snap Start http://www.ietf.org/[...] 2014-06-24
[439] 웹사이트 False Start http://www.carbonwin[...] 2014-06-24
[440] 논문 A cross-protocol attack on the TLS protocol. Proceedings of the 2012 ACM conference on Computer and communications security https://www.cosic.es[...]
[441] 웹사이트 Here Come The ⊕ Ninjas https://bug665814.bu[...] 2011-05-13
[442] 웹사이트 Hackers break SSL encryption used by millions of sites http://www.theregist[...] 2011-09-19
[443] 웹사이트 Y Combinator comments on the issue http://news.ycombina[...] 2011-09-20
[444] 웹사이트 Security of CBC Ciphersuites in SSL/TLS: Problems and Countermeasures http://www.openssl.o[...] 2004-05-20
[445] 웹사이트 Chrome Stable Release http://googlechromer[...] Google 2011-10-25
[446] 웹사이트 TLS 暗号化通信に対する攻撃の Firefox への影響 http://www.mozilla.j[...] Mozilla Japan 2011-09-28
[447] 웹사이트 Vulnerability in SSL/TLS Could Allow Information Disclosure (2643584) http://technet.micro[...] 2012-01-10
[448] 웹사이트 Google、SSL 3.0の脆弱性「POODLE」を公表、SSL 3.0は今後サポート廃止の意向 -INTERNET Watch https://internet.wat[...] 2014-10-15
[449] 웹사이트 This POODLE Bites: Exploiting The SSL 3.0 Fallback https://www.openssl.[...] 2014-10-15
[450] 웹사이트 This POODLE bites: exploiting the SSL 3.0 fallback http://googleonlines[...] 2014-10-14
[451] 표준 IETF RFC 7507
[452] 웹사이트 Security changes in Opera 25; the poodle attacks http://blogs.opera.c[...] Opera 2014-10-15
[453] 웹사이트 The POODLE Attack and the End of SSL 3.0 https://blog.mozilla[...] 2014-10-14
[454] 웹사이트 SSL 3.0 の脆弱性により、情報漏えいが起こる https://technet.micr[...] 2014-10-15
[455] 웹사이트 Security Advisory 3009008 revised http://blogs.technet[...] 마이크로소프트 2014-10-29
[456] 웹사이트 December 2014 Internet Explorer security updates & disabling SSL 3.0 fallback http://blogs.msdn.co[...] 마이크로소프트 2014-12-09
[457] 웹사이트 SSL 3.0 の脆弱性により、情報漏えいが起こる https://technet.micr[...] セキュリティ TechCenter 2015-04-15
[458] 웹사이트 http://support.apple[...]
[459] 웹사이트 http://support.apple[...]
[460] 웹사이트 NSS 3.17.1 release notes https://developer.mo[...] Mozilla 2014-10-03
[461] 웹사이트 NSS 3.16.2.3 release notes https://developer.mo[...] Mozilla 2014-10-27
[462] 웹사이트 Disable SSL 3 by default in NSS in April 2015. https://groups.googl[...] mozilla.dev.tech.crypto 2014-10-27
[463] 웹사이트 OpenSSL Security Advisory [15 Oct 2014] https://www.openssl.[...] OpenSSL 2014-10-15
[464] 웹사이트 LibreSSL 2.1.1 released. https://marc.info/?l[...] LibreSSL 2014-10-16
[465] 웹사이트 The POODLE bites again https://www.imperial[...] 2014-12-08
[466] 웹사이트 Poodle Bites TLS https://community.qu[...] 2014-12-08
[467] 웹사이트 Nasty POODLE Variant Bypasses TLS Crypto Affecting Over 10 Percent of the Web http://freedomhacker[...] 2014-12-08
[468] 웹사이트 Crack in Internet's foundation of trust allows HTTPS session hijacking http://arstechnica.c[...] Ars Technica 2012-09-13
[469] 웹사이트 CRIME Attack Uses Compression Ratio of TLS Requests as Side Channel to Hijack Secure Sessions http://threatpost.co[...] ThreatPost 2012-09-13
[470] 웹사이트 Gone in 30 seconds: New attack plucks secrets from HTTPS-protected pages http://arstechnica.c[...] Condé Nast 2013-08-01
[471] 웹사이트 Step into the BREACH: New attack developed to read encrypted web data http://www.theregist[...] The Register 2013-08-02
[472] 웹사이트 Renegotiating TLS http://extendedsubse[...] 2009-11-04
[473] 웹사이트 JVNVU#120541 SSL および TLS プロトコルに脆弱性 https://jvn.jp/cert/[...] JPCERT/CC and IPA 2009-11-13
[474] 웹사이트 Gmail, Outlook.com and e-voting 'pwned' on stage in crypto-dodge hack http://www.theregist[...] The Register 2013-08-01
[475] 웹사이트 BlackHat USA Briefings https://www.blackhat[...] Black Hat 2013
[476] 웹사이트 Deprecating Secure Sockets Layer Version 3.0 //tools.ietf.org/htm[...] 2015-06-00
[477] 웹사이트 Deprecating Secure Sockets Layer Version 3.0 //tools.ietf.org/htm[...] 2018-05-18
[478] 웹사이트 [G-PRIVACY 2019] 김대환 소만사 대표 "HTTPS 보안은 선택이 아닌 필수" https://www.dailysec[...] 데일리시큐 2019-04-14



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com