Chapter 17 전송층 보안: SSL과 TLS

Slides:



Advertisements
Similar presentations
컴퓨터 보안과 암호 17 장 무선 네트워크 보안 (Wireless Network Security) 2013 년 2 학기 대전대학교 최용락
Advertisements

SSL (Secure Socket Layer) 중부대학교 정보보호학과 이병천 교수. 웹 보안 구현방법  네트워크 계층에서의 구현방법  특징  IP 계층에 보안 기능을 둠  IP Sec  응용계층의 모든 응용서비스에 보안성 제공  VPN(Virtual Private.
HTTPS Packet Capture Tutorial
Chapter 8 현대 대칭키 암호를 이용한 암호화 기법
제 14장 SSL/TLS 안전한 통신을 위해.
정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
표준 SSL Server Identification
WAP 보안 솔루션 분석 류재철 충남대학교 정보통신공학부.
제 8장 메시지 인증 코드 메시지가 보낸 그대로 왔는가?.
Ch.07-5 xml-rpc 사용하기 김상엽.
3 장 OSI 기본 참조 모델 OSI : Open System Interconnection
암호화 기술 SSL와 IPSec의 개요 및 동작과정
Chapter 18 네트워크층 보안: IPSec
Network Lab. Young-Chul Hwang
Secure Socket Layer.
전자상거래 보안 (암호학과 네트워크보안) Chul Ho Rhee
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
Chapter 10 네트워크 보안.
VoIP (Voice Over Internet Protocol)
Chapter 15 키 관리 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
교과목 소개 정보보호.
SSL 보안 WEB Security.
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
SSL (Secure Sockets Layers Protocol)
File Depender 중간 발표.
8장. 원격지 시스템 관리하기.
23 장 OSI 상위계층 23.1 세션(session)층 23.2 표현(presentation)층
Chapter 21 Network Layer: ARP, ICMP (IGMP).
제 19 장 TFTP 19.1 메시지 19.2 연결 19.3 데이터 전송 19.4 UTP 포트 19.5 TFTP 예제
NJM Messenger 박상원 박연호.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
OMA DRM 2.0을 적용한 경량화된 DRM 서비스 구현
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
Chapter 19 솔라리스 네트워크 관리 Solaris1 . TCP/IP 개요
Trivial File Transfer Protocol (TFTP)
2장. 인터넷의 개념과 주소.
웹어플리케이션보안 암호프로그래밍, crypto-js
22 장 전송층(Transport Layer)
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
21 장 전송층(Transport Layer)
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
8장 쿠키와 세션 한빛미디어(주).
CGI란 무엇인가? CGI(Common Gateway Interface)의 정의
Eclipse CDT에서 프로젝트를 Export 하고 Import 하는 방법
MAIL CLIENT 김창우 윤성훈 이경재.
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
KERBEROS.
-네트워크 관리 개요 및 SNMP 프로토콜 동작과정
31장 인터넷 보안 프로토콜 31.1 IP 계층 보안 31.2 전송계층 보안 31.3 응용계층 보안 31.4 방화벽
데이터 베이스 DB2 관계형 데이터 모델 권준영.
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
2 네트워크 모델 학습 목표 모듈 개념을 알아보고 계층 구조의 필요성을 이해한다.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
SSL, Secure Socket Layer
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
Chapter 2 네트워크 모델 (Network Models).
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
Chapter 27 Mobile IP.
웹 어플리케이션 보안 2016년 2학기 11. Enhancing Security.
Introduction to JSP & Servlet
오라클 11g 보안.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
Chapter 2 네트워크 모델 (Network Models).
Network Lab. Young-Chul Hwang
CCIT 네트워크 발표 정보보호학과 평문 사이트와 SSL 사이트, SSL strip과 데이터 변조를 이용한 로그인 취약점
 6장. SQL 쿼리.
Presentation transcript:

Chapter 17 전송층 보안: SSL과 TLS Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Chapter 17 학습목표 ❏ 인터넷 모델의 전송층에서 제공하는 보안 서비스에 대한 요구를 살펴본다 ❏ SSL의 일반적인 구조를 살펴본다 ❏ TLS의 일반적인 구조를 살펴본다 ❏ SSL와 TLS를 비교해서 살펴본다

17 Continued 인터넷 모델에서 SSL와 TLS의 위치

17-1 SSL 구조 SSL은 응용층에서 생성된 데이터에 대한 보안과 압축 서비스를 제공하기 위해 설계되었다. 이 절에서 살펴보는 주요 주제: 17.1.1 서비스 17.1.2 키 교환 알고리즘 17.1.3 암/복호화 알고리즘 17.1.4 해쉬 알고리즘 17.1.5 암호 그룹 17.1.6 압축 알고리즘 17.1.7 암호 파라메터 생성 17.1.8 세션과 연결

17.1.1 서비스 단편화(Fragmentation) 압축(Compression) 17.1.1 서비스 단편화(Fragmentation) 압축(Compression) 메시지 무결성(Message Integrity) 기밀성(Confidentiality) 프레임 구성(Framing)

17.1.2 키 교환 알고리즘 그림 17.2 키-교환 방법

클라이언트와 서버는 사전-마스터 비밀 값을 알 필요가 있다. 17.1.2 Continued Null 이 방법에는 키 교환이 없다. 클라이언트와 서버간에 설정된 사전-마스터 비밀(pre-master secret)이 없다. Note 클라이언트와 서버는 사전-마스터 비밀 값을 알 필요가 있다.

17.1.2 Continued RSA 그림 17.3 RSA 키 교환: 서버 공개키

17.1.2 Continued Anonymous Diffie-Hellman

17.1.2 Continued 임시 Diffie-Hellman 키 교환 그림 17.5 임시 Diffie-Hellman 키 교환

17.1.2 Continued 고정(Fixed) Diffie-Hellman 또 다른 해는 고정 Diffie-Hellman 방법이다. 그룹에 있는 모든 개체는 고정 Diffie-Hellman 파라메터(g and p)를 준비할 수 있다. Fortezza Fortezza 는 미국 국방부(NSA; National Security Agency)의 등록된 상표이다. 이는 국방부를 위해 개발된 보안 프로토콜이다.

17.1.3 Encryption/Decryption Algorithms 그림 17.6 암/복호화 알고리즘

17.1.3 Continued NULL The NULL category simply defines the lack of an encryption/decryption algorithm. Stream RC Two RC algorithms are defined in stream mode. Block RC One RC algorithm is defined in block mode. DES All DES algorithms are defined in block mode.

17.1.3 Continued 블록 모드에서 규정된 IDEA 알고리즘은 128비트 키를 갖는 IDEA_CBC 이다. Fortezza 블록 모드에서 규정한 유일한 Fortezza 알고리즘은 FORTEZZA_CBC.

17.1.4 Hash Algorithm 그림 17.7 메시지 무결성을 위한 해쉬 알고리즘

17.1.4 Continued NULL 두 당사자가 알고리즘의 사용을 선언할 수 있다. 이 경우에, 해쉬 함수는 없고 메시지는 인증되지 않는다. MD5 두 당사자가 해쉬 알고리즘으로 MD5 알고리즘을 선택할 수 있다. 이 경우에, 128비트-키 MD5 해쉬 알고리즘이 사용된다. SHA-1 두 당사자가 해쉬 알고리즘으로 SHA를 선택할 수 있다. 이 경우에, 160-비트 SHA-1 해쉬 알고리즘이 사용된다.

17.1.5 Cipher Suite 키 교환, 해쉬, 그리고 암호 알고리즘의 조합은 각 SSL 세션에 대한 암호 그룹을 지정한다.

17.1.5 Continued 표 17.1 SSL 암호 그룹 목록

17.1.6 Compression Algorithms 압축(Compression)은 SSLv3에서 선택적이다. No 특정 압축 알고리즘은 SSLv3에 대해 지정한 것이 없다. 그러므로 기본 압축 방법은 NULL이다.

17.1.7 Cryptographic Parameter Generation 그림 17.8 사전-마스터 비밀에서 마스터 비밀의 계산

17.1.7 Continued 그림 17.9 마스터 비밀로부터 키 재료 계산

17.1.7 Continued 그림 17.10 키 재료로부터 암호학적 비밀 추출

17.1.8 Sessions and Connections Note 세션에서, 한 당사자는 클라이언트 역할을 다른 당사자는 서버 역할을 가지고 있다; 연결에서, 양 당사자는 같은 역할을 가지고 있어서 이들은 서로 대등(peer)이다.

17.1.8 Continued 그림 17.11 세션과 연결

17.1.8 Continued 세션 상태(Session State) Table 17.2 Session state parameters

17.1.8 Continued 연결 상태(Connection State) Table 17.3 Connection state parameters

클라이언트와 서버는 6개의 서로 다른 암호 비밀을 갖는다: 3개는 읽기 비밀이고 3개는 쓰기 비밀이다. 17.1.8 Continued Note 클라이언트와 서버는 6개의 서로 다른 암호 비밀을 갖는다: 3개는 읽기 비밀이고 3개는 쓰기 비밀이다. 클라이언트의 읽기 비밀은 서버에 대한 쓰기 비밀과 같고 그 역도 마찬가지이다.

17-2 4개의 프로토콜 SSL이 어떻게 자신의 임무를 달성하는지를 보여주지 않고 SSL의 개념을 살펴보았다. SSL은 그림 17.12에 나타나 있는 것 처럼 2개의 계층에 4개의 프로토콜을 규정하였다. 이 절에서 논의된 주제: 17.2.1 Handshake 프로토콜 17.2.2 ChangeCipher Spec 프로토콜 17.2.3 Alert 프로토콜 17.2.4 Record 프로토콜

17.2. Continued 그림 17.12 4개의 SSL 프로토콜

17.2.1 Handshake 프로토콜 그림 17.13 Handshake 프로토콜

17.2.1 Continued 그림 17.14 Handshake 프로토콜의 Phase 1

Phase I 후에, 클라이언트와 서버는 다음 내용을 알게 된다: ❏ SSL의 버전 17.2.1 Continued Note Phase I 후에, 클라이언트와 서버는 다음 내용을 알게 된다: ❏ SSL의 버전 ❏ 키 교환, 메시지 인증, 암호를 위한 알고리즘 ❏ 압축 방법 ❏ 키 생성을 위한 2개의 난수 값

17.2.1 Continued 그림 Handshake Protocol의 Phase II

❏ 클라이언트는 요구되면 서버의 공개 키를 알게 된다. 17.2.1 Continued Note Phase II 후에, ❏ 서버는 클라이언트에 대해 인증된다. ❏ 클라이언트는 요구되면 서버의 공개 키를 알게 된다.

17.2.1 Continued 그림 17.16 Phase II에서 4가지 경우

17.2.1 Continued 그림 17.17 Handshake 프러토콜의 Phase III

❏ 클라이언트와 서버는 사전-마스터 비밀을 안다. 17.2.1 Continued Note Phase III 후에, ❏ 클라이언트는 서버에 대해 인증된다. ❏ 클라이언트와 서버는 사전-마스터 비밀을 안다.

17.2.1 Continued 그림 17.18 Phase III에서 4가지 경우

17.2.1 Continued 그림 17.19 Handshake 프로토콜의 Phase IV

Phase IV 후에, 클라이언트와 서버는 데이터를 교환할 준비가 되어있다. 17.2.1 Continued Note Phase IV 후에, 클라이언트와 서버는 데이터를 교환할 준비가 되어있다.

17.2.2 ChangeCipherSpec Protocol 그림 17.20 대기(pending) 상태에서 동적( active)상태로 파라메터 이동

17.2.3 Alert 프로토콜 표 17.4 SSL에 대해 규정된 경고

17.2.4 Record 프로토콜 그림 17.21 Record 프로토콜에 의해 진행된 과정

17.2.4 Continued 그림 17.22 MAC 계산

17-3 SSL 메시지 형식 살펴본 것처럼, 3개의 프로토콜에서 온 메시지와 응용층으로부터 온 데이터가 Record 프로토콜 메시지에 캡슐화된다. 이 절에서 논의된 주제: 17.3.1 ChangeCipherSpec 프로토콜 17.3.2 Alert 프로토콜 17.3.3 Handshake 프로토콜 17.3.4 Application 데이터

17.3 Continued 그림 17.23 Record 프로토콜 일반 헤더

17.3.1 ChangeCipherSpec 프로토콜

17.3.2 Alert 프로토콜 그림 17.25 Alert 메시지

17.3.3 Handshake 프로토콜 그림 17.26 Handshake 프로토콜의 일반 헤더

17.3.3 Continued 표 17.5 Handshake 메시지 유형

17.3.3 Continued 그림 17.27 Virtual tributary types

17.3.3 Continued 그림 17.28 ClientHello 메시지

17.3.3 Continued 그림 17.29 ServerHello 메시지

17.3.3 Continued 그림 17.30 Certificate 메시지

17.3.3 Continued 그림 17.31 ServerKeyExchange 메시지

17.3.3 Continued 그림 17.32 CertificateRequest 메시지

17.3.3 Continued 그림 17.33 ServerHelloDone 메시지

17.3.3 Continued 그림 17.34 CertificateVerify 메시지

17.3.3 Continued 그림 17.35 CertificateVerify 메시지에 대한 해쉬 계산

17.3.3 Continued 그림 17.36 ClientKeyExchange 메시지

17.3.3 Continued 그림 17.37 Finished 메시지

17.3.3 Continued 그림 17.38 Finished 메시지에 대한 해쉬 계산

17.3.3 Application Data 그림 17.39 응용 데이터를 위한 Record 프로토콜 메시지

17-4 전송층 보안(TLS) 전송층 보안(TLS; Transport Layer Security) 프로토콜은 SSL 프로토콜의 IETF 표준 버전이다. 이들 둘은 매우 비슷하지만 약간 차이점이 있다. 이 절에서 논의된 주제: 17.4.1 버전(Version) 17.4.2 암호 그룹(Cipher Suite) 17.4.3 암호학적 비밀 생성 17.4.4 Alert 프로토콜 17.4.5 Handshake 프로토콜 17.4.6 Record 프로토콜

17.4.1 Version 첫번 째 차이점은 버전 번호(major and minor)이다. SSL의 현재 버전은 3.0; TLS의 현재 버전은 1.0. 다시 말하면, SSLv3.0은 TLSv1.0과 호환된다.

17.4.2 암호 그룹(Cipher Suite) Another minor difference between SSL과 TLS간의 또 다른 차이점은 Fortezza 방법에 대한 지원의 결함이다. TLS은 키 교환이나 암/복호화를 위한 Fortezza를 지원하지 않는다. 표 17.6은 TLS에 대한 암호 그룹 목록을 보여준다 (without export entries).

17.4.2 Continued Table 17.6 Cipher Suite for TLS

17.4.3 암호학적 비밀 생성 그림 17.40 데이터-확장 함수

17.4.3 Continued 그림 17.41 PRF

17.4.3 Continued 그림 17.42 마스터 비밀 생성

17.4.3 Continued 그림 17.43 키 재료 생성

17.4.4 Alert 프로토콜 TLS는 NoCertificate 외에는 SSL에서 규정한 모든 경고를 지원한다. TLS는 목록에 새로운 것을 하나 추가하였다. 표 17.7은 TLS에 의해 지원되는 경로은 전체 목록이다.

17.4.4 Continued 표 17.7 TLS에서 지정한 경고

17.4.5 Handshake 프로토콜 그림 17.44 TLS에서 CertificateVerify 메시지에 대한 해쉬

17.4.5 Continued 그림 17.45 TLS에서 Finished 메시지에 대한 해쉬

17.4.6 Record Protocol 그림 17.46 TLS에 대한 HMAC