728x90
TLS(Transport Layer Security) 개요
- 인터넷에서의 정보를 암호화해서 송수신하는 프로토콜
- Netscape가 개발한 SSL(Secure Sockets Layer)에 기반한 기술
- IETF에서
SSLv3
을 기반으로 표준화를 진행하면서TLS
로 명칭 변경 - 무선 환경에서는
WTLS
가 사용됨
TLS 기본 구성
- 공개키 알고리즘 기반으로 동작
- X.509 인증서 지원
- 기본적으로 TCP 443 포트를 이용
- OSI 7계층 중 4계층(Transport)부터 7계층(Application)에 걸쳐 동작
RSA, MD5, SHA-1
등을 사용하지만 SHA-1은 최근에SHA-256
으로 대부분 교체
프로토콜 구성
- Record 프로토콜
- 기밀성을 위해 데이터 암호화 수행
- 무결성을 위해 MAC 생성
- 실질적인 보안을 수행
- 동작 순서
- 단편화 → 압축 → MAC추가 → 암호화
- Handshake 프로토콜
- 세션에 대한 세션정보와 연결 정보를 공유하기 위한 프로토콜
- 초기 연결 시 세션 형성 관장
- 동작순서
원칙 설명 방향 Client Hello 클라이언트 SSL 버전, 클라이언트 생성 난수, 세션 식별자, Cipher Suit 리스트 클라이언트 > 서버 Server Hello 서버의 SSL 버전,서버 생성 난수, 세션 식별자, 클라이언트의 Cipher Suit 중 선택 서버 > 클라이언트 Server Certificate 서버 인증서, 공개키 서버 > 클라이언트 Certificate Request 서버에서 클라이언트 인증서 요청(생략 가능) 서버 > 클라이언트 Server Hello Done 서버에서 필요한 내용을 모두 전송했음을 알림 서버 > 클라이언트 Client Certificate 서버에서 클라이언트 인증서를 요청한 경우 인증서 송신(생략 가능) 클라이언트 > 서버 Client Key Exchange 세션키 생성용 pre_master_secret 을 서버 공개키로 암호화하여 전송 클라이언트 > 서버 Certificate Verify 클라이언트 인증서를 확인할 수 있도록 전자서명 발송, 서버에서 검증 클라이언트 > 서버 Client Finish 서버에 Change Cipher Spec을 전송하고 Finished 알림 클라이언트 > 서버 Server Finish 클라이언트에 Change Cipher Spec 전송하고 Finished 알림 서버 > 클라이언트 - Cipher Suite
- 서버와 클라이언트가 어떤 암호화 방식을 사용할지 정하기 위해 교환하는 문자열 값
- 형식 : SSL/TLS_(키 교환 알고리즘)(인증 알고리즘)_WITH(대칭키 알고리즘)(블록 암호 운용 방식)(해시 알고리즘)
- 예 : TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- 단축된 핸드셰이크(Abbreviated Handshake)
- 한동안 통신을 하지 않다가 다시 통신할 때(Session Resumption) 사용되는 프로토콜
- RFC5077
-
원칙 설명 방향 Client Hello 클라이언트 SSL 버전, 클라이언트 생성 난수, 세션 식별자, Cipher Suit 리스트 클라이언트 > 서버 Server Hello 서버의 SSL 버전,서버 생성 난수, 세션 식별자, 클라이언트의 Cipher Suit 중 선택 서버 > 클라이언트 Server Finish 클라이언트에 Change Cipher Spec 전송하고 Finished 알림 서버 > 클라이언트 Client Finish 서버에 Change Cipher Spec을 전송하고 Finished 알림 클라이언트 > 서버
- Change Cipher Spec 프로토콜
- 서버와 클라이언트 상호간의 Cipher Spec 확인을 위한 메시지 교환에 사용
- Alert 프로토콜
- 메시지의 암호화 오류, 인증서 오류 등 전달
인증서 종류
- 보증 범위에 따른 구분
구분 설명 Wild Card 인증서 - 서브도메인의 개수와 상관없이 모든 서브도메인을 다 보증
- 가격이 비쌈일반 인증서 - 특정 한 도메인에 대해서만 보증
- 서브도메인도 하나의 도메인으로 간주 - 보증 강도에 따른 종류
구분 설명 DV(Domain Validation) 실제 도메인의 소유주인지만 확인 OV(Organization Validation) 신청 시 업체로부터 담당자(신청자)의 정보와 사용자 등록을 통해 기업의 실체 인증 EV(Extended Validation) 업체의 사업자등록증과 기업 신용정보 등 기업의 신뢰도까지 검증하여 피싱, 파밍 방지
728x90
반응형