SSL/TLS, SSL, TLS   Secure Socket Layer, Transport Layer Security   안전 소켓 계층, 전송계층 보안

(2016-09-19)

TLS 터널, SSL 터널

통신/네트워킹통신이론
선로/전송
통신망 일반
회선교환(PSTN)
무선/이동통신
광통신
인터넷/데이터통신
 > 인터넷/데이터통신 1. 데이터통신망
2. 인터넷

데이터 단위
프로토콜/계층
데이터 링크
TCP/IP
라우팅
인터넷 QoS
인터넷 관리
인터넷 응용
인터넷 기타
패킷교환(PSN)
인터넷 관련 기관
 > 인터넷 응용NetBIOS
DNS
가상단말
FTP
전자메일
VoIP
웹기술
VPN
무선인터넷
전자상거래
개인 컨텐츠
인터넷 기타 응용
 > VPN 1. VPN 이란?
2. IP-VPN
3. MPLS-VPN

Tunneling
 > Tunneling 1. Tunneling 기술
2. L2TP
3. PPTP
4. IPSec
5. GRE
6. SSL/TLS
7. SSH

     
정보기술(IT) 1. 정보기술

전산기초
컴퓨터구조
프로그래밍
데이터베이스
소프트웨어 공학
운영체제
정보보호/보안
IT 기타기술
 > 정보보호/보안정보보호관리
정보보호(기타일반)
보안공격
암호기술
네트워크보안
인증
 > 네트워크보안 1. IP 가상사설망
2. 상태반영검사(SPI)
3. 패킷 필터링
4. 터널링

링크 레벨 보안
IP 레벨 보안
전송 레벨 보안
시스템 보안
네트워크/프로토콜 분석
 > 전송 레벨 보안 1. SSL/TLS
2. SSL/TLS 구성 프로토콜
3. HTTPS
4. SSH

     
1. SSL (Secure Socket Layer) 및 TLS (Transport Layer Security)전송계층 상에서 클라이언트,서버에 대한 인증 및 데이터 암호화 수행
     - 클라이언트서버 양단 간 응용계층TCP 전송계층 사이에서 안전한 보안 채널을
       형성해 주는 역할을 수행하는 보안프로토콜

  ㅇ 주요 응용
     - 웹 브라우저웹 서버 사이의 안전한 보안 채널을 제공하기 위해 많이 사용됨
        . HTTP (HTTPS), FTP, SMTP, SIP 등 에서도 사용 가능


2. SSL/TLS 역사

  ㅇ 최초 제안 : 넷스케이프사
     - 버젼 : SSL v1.0 (1994.7), SSL v2.0 (1994.12), SSL v3.0 (1996.11)
     * SSL v3.0은 사실상의  보안 표준

  ㅇ SSL의 표준화 기여 => TLS 표준
     - SSL v3.0 을 참고로하여 RFC 2246(1999년)으로 표준화된 것이 TLS 임
     - 버젼 : TLS 1.0 (RFC 2246,1999) : SSL v3.1에 해당, 
              TLS 1.1 (RFC 4346, 2006), TLS 1.2 (RFC 5246, 2008)

  ※ 따라서, SSL 및 TLS는 본질적으로 같으며 버전이 다른 정도임


3. SSL/TLS 주요 기능

  ㅇ 상호 인증        : 공개키 인증서를 이용한 서버,클라이언트의 상호 인증
     - 클라이언트/서버 두 응용 간에 상대방에 대한 인증

  ㅇ 메세지 압축 
     - 디폴트 Null (압축 알고리즘은 미리 정해지지 않고 협상으로 지정 가능)

  ㅇ 메세지 인증 (메세지 무결성)
     - 메세지 인증 코드 HMAC에 의한 메세지 무결성 제공 (HMAC MD5, HMAC SHA-1 등)

  ㅇ 암호화세션 키 생성(대칭 키 합의)을 위한 키 교환
     - RSA : 두 키(공개 키개인 키)가 하나의 수 체계를 형성 (서버 공개 키 사용)
     - Diffie-Hellman  : Diffie-Hellman 프로토콜을 기반으로 한 키 교환 방식

  ㅇ 생성된 공유 비밀키에 의해 암호화종단간 안전한 연결 통로 제공
     - 스트림 암호화 : 40, 128 비트RC4
     - 블록 암호화   : IDEA, 40,56 비트DES, 168 비트3DES
4. SSL/TLS 보안 특징

  ㅇ 인증 구조          :  X.509
     - X.509에서 규정된 공개키 인증서 교환에 의해 상대방에 대한 인증 수행
 
  ㅇ 키 교환 방식       :  (협상 선택 가능)
     - Null, RSA 공개 키 교환, Anonymous Diffie-Hellman 키 교환, 
       Ephermeral Diffie-Hellman 키 교환, Fixed Diffie-Hellman 키 교환, Fortezza

  ㅇ 대칭키 암호화 방식 :  (협상 선택 가능)  
     - RC2 (40), RC4 (40), RC4 (128), DES, Triple DES, IDEA 등

  ㅇ 해쉬 알고리즘      :  (협상 선택 가능)
     - Null, MD5, SHA-1


5. SSL/TLS 프로토콜 스택전송계층 TCP 위에서 `보안 소켓/보안 채널/터널링`을 구성
     
     - 응용계층에서 생성된 데이터에 대한 보안(인증,무결성,기밀성),압축 등의 서비스를 제공

     - SSL/TLS 보안 터널을 위한 TCP/UDP 포트번호
        . 例) 보안 HTTP를 위한 포트번호 443 (HTTPS)

     - 한편, UDP 상에서도 가능한 버젼으로, 
        . DTLS (Datagram Transport Layer Security) RFC 6347(2012년)가 있음

  ㅇ 프로토콜 스택SSL/TLS 구성 프로토콜 참조
     


6. TLS 핸드세이크 단계

  ㅇ 초기 협상 단계
     - 클라이언트,서버 간에 Client Hello,Server Hello 메세지 교환
     - 클라이언트서버에게 Cipher Suite(사용 가능 암호화,해싱 방식 등)을 보내고
       서버 인증서를 요구

  ㅇ 인증 단계
     - 서버에서 공개키,서버명,인증기관 주소 등을 포함한 인증서클라이언트에게 전송
     - 이때, 서버클라이언트가 제시한 것 중 자신이 선택한 암호화 방식 및 인증서를 보냄
     - 필요시 클라이언트는, 인증서를 발급한 인증기관 서버에 접속하여 서버 인증서의 유효성 확인

  ㅇ 보안 채널 형성
     - 클라이언트보안 채널 형성에 필요한 세션키를 만들기 위해,
     - 서버공개키를 이용하여 임의의 수(Pre Master Key)를 암호화시켜 서버에게 전송하고,
     - 서버는 자신의 비밀키(개인키)로 이를 해독(역암호화)하게 됨
     - 이때 임의의 수(Pre Master Key)로부터 Master Key를 유도하고, 
     - 이 Master Key로부터 양측은 암호화,복호화에 필요한 세션키를 생성함

  ㅇ 상호 암호화 통신 시작
     - 즉, 보안성이 확립된 TLS 터널 내에서 상호 통신


[ Tunneling ]1. Tunneling 기술  2. L2TP  3. PPTP  4. IPSec  5. GRE  6. SSL/TLS  7. SSH  
[ 전송 레벨 보안 ]1. SSL/TLS  2. SSL/TLS 구성 프로토콜  3. HTTPS  4. SSH  

 
        최근수정     모바일웹     참고문헌