SSL/TLS Protocols   SSL/TLS 구성 프로토콜

(2019-03-02)
1. SSL/TLS 프로토콜 스택
 
   

  ㅇ 크게, 하위 레코드 계층 프로토콜(단편화,압축,무결성 보호,암호화 기능 제공)과
           상위 핸드세이크 관련 프로토콜들로 구성됨


2. SSL/TLS 핸드세이크 프로토콜

  

  ㅇ Application 데이터의 교환 이전의 세션 초기화 중에 이루어짐
     - 서버클라이언트가 상호 인증
     - `암호 키 교환` 및 `암호화 알고리즘` 협상 및 확립을 도모하기 위한 정보 교환
     - DES 알고리즘 등에 기반하여 세션키를 생성

  ㅇ 주요 협상 내용
     - 키 교환 방식 협상
     - 암호화 방식 협상
     - HMAC 방식 협상
     - 압축 방식 협상

  ㅇ 클라이언트/서버 간에 공유 암호 키를 만들기 위해 공개 키 방식을 활용
     - `데이터 암호화`를 위한 공유 암호 키를 정의 함
     - `메세지 인증`을 위한 메세지 인증 코드(TLS : HMAC 코드) 생성

  ㅇ 메세지 종류 (Handshake type)
     - Hello request (0)
     - Client Hello (1) (클라이언트서버)
        . 주요 정보 : Version, Client Random Number, Session ID, Cipher Suite,
                      Compression Method
        . Cipher Suite 이란?
           .. 클라이언트가 지원 가능한 보안 방식들을 2 바이트 코드 값으로 열거한 것
           .. 키 교환 방식, 암호화 방식, MAC 코드(Message Authentication Code) 방식
     - Server Hello (2) (서버클라이언트)
        . 주요 정보 : Version, Server Random Number, Session ID, 
                      Selected Cipher Set, Selected Compression Method
     - Certificate (11) : 서버,클라이언트가 송신하는 X.509 v3 인증서가 이에 수납됨
     - Server Key Exchange (12)
     - Certificate Request (13)
     - Server Hello Done (14)
     - Certificate Verify (15)
     - Client Key Exchange (16)
     - Finished (20)


3. Change Cipher Spec 프로토콜

  ㅇ 상호 암호 통신을 위한,
     - 일련의 보안 알고리즘 정보를 결정하는,
     - 일련의 보안 매개변수(암호학적 비밀)를 상대에게 신속하게 전송하는데 사용

  ㅇ 현재 작동되고 있는 보안 매개변수를 변경하기 위함


4. Alert 프로토콜핸드세이크 과정에서,
     - 상대방이 제시한 암호화 방식을 지원할 수 없을 때 등의 경우에,
     - 즉, 오류 발생시 상대방에게 오류 통보 기능 수행


5. Record 프로토콜 (또는 데이터 교환 프로토콜)

  

  ㅇ 주요 기능 
     - 메세지 분할(Fragmentation) : 214 또는 그 이하의 블록으로 데이터를 나눔
     - 메세지 압축(Compression)
     - 메세지 무결성(Message Integrity)
     - 메세지 인증(Message Authentication)
     - 메세지 암호화(Encryption)

  ㅇ 제공 보안서비스 : 기밀성, 무결성
     - 기밀성 : DES 등과 같은 암호화 방식을 선택하여 이를 이용하여 보안성을 제공
     - 무결성 : 매 메세지별 HMAC 이용

  ㅇ 계층 위치
     - TCP 전송계층 바로 위에 위치
        . 양단간 통신 연결 시 보안 제공

  ㅇ 상위 메세지 종류 (content type)
     - Change Cipher Soec 프로토콜 (20)
     - Alert 프로토콜 (21)
     - Handshake 프로토콜 (22)
     - Application Data (23)

  ㅇ 특징
     - 상위계층 프로토콜들인 핸드세이크,Change Cipher Spec,Alert 프로토콜 등에서의 
     - 제어 메세지 및 Application 메세지들을 수납하여,
     - 레코드 단위(TLS record)로 운반하는 프로토콜


[전송 레벨 보안] 1. SSL/TLS 2. SSL/TLS 핸드세이크 3. SSL/TLS 구성 프로토콜 4. HTTPS 5. SSH

 
        최근수정     요약목록     참고문헌