정보보호 개론 15. ipsec과 ssl - 김건웅 교수...

30
15. IPSECSSL 정보보호 개론 목포해양대 해양컴퓨터공학과 1

Upload: phungnguyet

Post on 12-May-2018

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

15. IPSEC과 SSL

정보보호 개론

목포해양대 해양컴퓨터공학과 1

Page 2: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

TCP/IP 보안 프로토콜

네트워크 계층의 보안 프로토콜

IPSec(IP layer Security protocol)

전송계층 보안 프로토콜

SSL(Secure Socket Layer), TLS (Transfer Layer

Security)등

목포해양대 해양컴퓨터공학과 2

Page 3: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

TCP/IP와 IPSec

목포해양대 해양컴퓨터공학과 3

Page 4: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

IPSec의 개요

IPSec

1995년도에 IETF에서 표준화

기존의 네트워크 계층의 IP프로토콜에 대한 보안 기능을 제공

IPSec의 보안 서비스

접근제어(Access Control)

비연결성 무결성(Connectionless Integrity)

도청자(eavesdropper)의 메시지 위·변조를 방지

데이터 근원지 인증(Data Origin),

재전송 공격 방지(Protection against replays)

실제 송신자가 송신한 메시지를 도청자가 가로채서 실제 송신자인

것처럼 재전송하는 것을 방지하는 서비스

기밀성(Confidentiality) 서비스

목포해양대 해양컴퓨터공학과 4

Page 5: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

IPSec 구조

인증헤더(AH : Authentication Header)

캡슐화 보안 탑재(ESP : Encapsulation Security

Payload)

목포해양대 해양컴퓨터공학과 5

Page 6: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

IPSEC AH와 ESP의

보안 서비스 (1)

목포해양대 해양컴퓨터공학과 6

Page 7: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

IPSEC AH와 ESP의

보안 서비스 (2)

IPSec의 인증헤더(AH)

인증 기능만을 제공

메시지 송신자의

신원을 검증하여

공격자가 메시지

송신자의 신원 도용을

방지하는 서비스

IPSec의 캡슐화

보안탑재(ESP)

인증과 암호화 기능을

모두 지원

인가된 사용자만이

제한된 자원에 접근할

수 있도록 접근을

제어하는 보안 서비스

목포해양대 해양컴퓨터공학과 7

Page 8: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

IPSEC SA 개념

IPSec에서 보안 연계(SA : Security Association)의

개념

가장 기본적인 요소

IPSec에서 IPSec 보안 프로토콜인 AH와 ESP는 모두

보안연계(SA)를 이용하여 보안 서비스를 제공

보안 연계(SA : Security Association)

송·수신 측간에 수립되는 보안성이 제공되는 논리적인

통신 경로를 의미

방향성에 따라

단방향(one-way) 보안 연계와 양방향(two-way) 보안 연계로

구분

목포해양대 해양컴퓨터공학과 8

Page 9: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

IPSec 보안서비스 제공 방식 (1)

IPSec의 보안 서비스가 제공되는 방식

전송 모드(transport mode)와 터널 모드(tunnel mode)

전송 모드

네트워크 계층 상위 계층인 전송, 응용 계층의 데이터에

대한 보호를 목적으로 하며 IP 패킷의 원본(payload)에

필드를 추가함으로서 구현

터널 모드

IP 헤더를 포함한 전체 IP 패킷에 대한 보호, 즉 네트워크,

전송, 응용 계층의 데이터에 대한 보호를 목적

IP 헤더를 덧씌우는 캡슐화(encapsulation)를 통해 구현

목포해양대 해양컴퓨터공학과 9

Page 10: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

IPSec 보안서비스 제공 방식 (2)

전송 모드와 터널 모드의 주요 기능

목포해양대 해양컴퓨터공학과 10

Page 11: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

AH 프로토콜 (1) IP 패킷 인증

데이터 무결성 지원

재전송 공격 방지 기능 제공

AH 프로토콜의 헤더 형식

Next Header 필드 AH 헤더 다음에 오는 헤더의 형식을 식별

Payload Length 필드 AH 패킷의 전체 길이를 식별

예약(Reserved) 현재 사용되지 않음

목포해양대 해양컴퓨터공학과 11

Page 12: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

AH 프로토콜 (2)

AH 프로토콜의 헤더 형식 (계속)

보안 매개변수 색인(SPI : Security Parameter Index)

IP 데이터그램에 대응되는 보안연계를 식별하기 위한 32 비트 값

순서 번호(Sequence Number) 필드

재전송 공격의 방지를 위해 사용되는 32비트 값

패킷마다 다른 증가하는 값(0 ~ 232-1)을 갖도록 되어 있음

가변 길이의 인증 데이터(Authentication Data) 필드

IP 패킷에 대한 무결성을 조사하기 위한 값(Integrity Check Value)을

포함하는 필드

무결성 검사를 위한 메시지 인증 데이터의 경우 메시지 인증

코드(MAC : Message Authentication Code) 알고리즘에 의해 생성된

코드

목포해양대 해양컴퓨터공학과 12

Page 13: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

AH 프로토콜 (3)

전송/터널 모드의 AH 패킷의 구조

목포해양대 해양컴퓨터공학과 13

Page 14: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

ESP 프로토콜 (1) AH와 동일한 인증, 무결성, 재전송 공격 방지 서비스 지원

데이터 암호화를 통한 데이터의 비밀성 및 무결성 기능 제공

ESP 프로토콜의 패킷 형식

보안 매개변수 색인(SPI : Security Parameter Index) IP주소와 ESP 보안 프로토콜을 조합하여 생성

IP 데이터그램에 대응되는 보안 연계를 식별하기 위한 32비트 값

순서 번호(Sequence Number) 필드

AH의 경우와 동일하고 가변 길이의 Payload

목포해양대 해양컴퓨터공학과 14

Page 15: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

ESP 프로토콜 (2)

ESP 프로토콜의 패킷 형식 (계속) Data 필드

비밀성을 위해 암호화된 데이터

전송 모드인 경우 : 원시 IP 패킷의 몸체 부분이 삽입

터널 모드인 경우 : 원시 IP 패킷 전체가 삽입

Padding 필드 패킷의 데이터를 암호화 할 때 발생하는 덧붙이기 데이터

길이를 조정하고 필드 경계를 정렬하기 위해 사용

0~255 바이트 범위 내에서 32비트 경계선 정렬 값을 갖게 됨

Pad Length 필드 Padding 필드의 길이 값을 포함

Next Header 필드와 인증 데이터(Authentication Data) 필드 보안 연계(SA) 생성 시 인증 서비스를 선택할 경우에 포함

AH의 경우와 동일

목포해양대 해양컴퓨터공학과 15

Page 16: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

ESP 프로토콜 (3)

전송 및 터널 모드의 ESP 패킷의 구조

목포해양대 해양컴퓨터공학과 16

Page 17: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

IPSEC 프로토콜 동작

IPSEC 전송 모드의 ESP 동작 과정

IPSEC 터널 모드의 ESP 동작 과정

목포해양대 해양컴퓨터공학과 17

Page 18: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

IPSec 인터넷 키 교환 프로토콜 (1)

인터넷 키 교환(IKE : Internet Key Exchange) 프로토콜

자동화된 보안 연계 수립과 단대단(peer-to-peer) 방식의 키 교환을 지원

단대단 방식에서 송·수신 측 당사자들은 중재자(coordinator)의 도움 없이 직접 키를 교환 가능

서비스 거부 공격에 대한 부분적인 방어 기능을 제공하며 man-in-the-middle 공격 방지 가능

보안 연계 관리와 키 교환 개념을 정의하고 있는 ISAKMP(Internet Security Association and Key Management Protocol) 프레임워크와 디페-헬만(Diffie- Hellman) 키 분배 프로토콜을 개선한 키 교환 절차를 정의하고 있는 Oakley 키 결정 프로토콜(Oakley Key Determination Protocol)의 결합으로 구성

목포해양대 해양컴퓨터공학과 18

Page 19: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

IPSec 인터넷 키 교환 프로토콜 (2)

IKE 프로토콜 동작

2단계(phase)로 동작

목포해양대 해양컴퓨터공학과 19

Page 20: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

IPSec 인터넷 키 교환 프로토콜 (3)

IKE 프로토콜 동작 (계속)

1단계

인터넷 키교환 보안 연결 수립과 송수신측 간의 터널링 수립에 필요한 보안 속성

협상

송수신 측이 공유하는 비밀정보인 마스터 보안 생성

1단계 주 모드와 집중 모드의 동작 과정

목포해양대 해양컴퓨터공학과 20

Page 21: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

IPSec 인터넷 키 교환 프로토콜 (4)

IKE 프로토콜 동작 (계속) 2단계

속성모드로 3회의 메시지 교환을 통해 완료

1단계 보안 연결의 보호 하에서 주기적인 키 생성을 빈번히 수행

속성 모드의 동작 과정

목포해양대 해양컴퓨터공학과 21

Page 22: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

SSL/TLS의 개요 (1)

SSL(Secure Socket Layer)

1990년대 초 안전한 웹 환경의 구축을 위해

넷스케이프(Netscape)사에서 개발한 전송 계층의 보안 프로토콜

TCP/IP 위에서 동작

익스플로러(Explore)에서도 지원

IETF(Internet Engineering Task Force)에 의해 구조와 기능이

체계화되어 1999년 TLS(Transport Layer Security)라는 이름으로

표준

전송 계층과 응용 계층 사이에 위치하는 프로토콜

TCP 프로토콜 상위, FTP, HTTP와 같은 응용 프로토콜 하위에서

동작

응용프로그램과 독립적이며, 통신경로 전체를 암호화 함

목포해양대 해양컴퓨터공학과 22

Page 23: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

SSL/TLS의 개요 (2)

전자서명을 위한 인증 기능, 암호화를 위한 비밀성 기능, 메시지 인증 코드(MAC : Message Authentication Code)를 통한 무결성 기능, 서버인증, 클라이언트인증, 비밀성 등의 정보보호 기능을 제공

인터넷 쇼핑몰에서 채택

목포해양대 해양컴퓨터공학과 23

Page 24: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

SSL/TLS의 개요 (3)

두 개의 서브계층 : 레코드 프로토콜과 제어

프로토콜로 분할

레코드 프로토콜(record protocol)

데이터를 압축 및 암호화하여 안전하게 송·수신하는

역할 담당

제어 프로토콜(Control protocol)

레코드 프로토콜 계층 상위에 존재

클라이언트와 서버간의 인증 기능을 수행

암호화에 사용될 암호 메커니즘을 협상하는 역할

담당

목포해양대 해양컴퓨터공학과 24

Page 25: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

SSL/TLS의 동작 과정 (1)

레코드 프로토콜

상위 계층으로부터 전달된 응용 데이터는 레코드 프로토콜

계층에서 안전한 TCP 패킷으로 변환하는 기능을 제공

단편화(fragmentation) 작업 수행

데이터를 214 바이트 이하 크기로 분할

데이터의 압축 절차를 수행

데이터의 무결성을 위한 메시지 인증

데이터의 비밀성을 위한 암호화

SSL에서 사용되는 암호 알고리즘

목포해양대 해양컴퓨터공학과 25

Page 26: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

SSL/TLS의 동작 과정 (2)

레코드 프로토콜 (계속)

레코드 프로토콜의 동작과정

목포해양대 해양컴퓨터공학과 26

Page 27: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

SSL/TLS의 동작 과정 (3)

레코드 프로토콜 (계속) 레코드 프로토콜의 패킷 형식

8비트의 목록 유형(Content Type) 필드 단편화 과정에 필요한 응용 계층 서비스의 종류를 명시

각각 8비트의 주 버전(Major Version)과 부 버전(Minor Version) 필드 SSL 프로토콜 버전을 명시

16비트의 압축된 길이(Compressed Length) 필드 단편의 바이트 단위 크기를 포함

평문 필드 응용 계층 데이터를 포함하는데 필요에 따라 압축된 데이터가 올 수 있음

MAC 필드 해쉬 알고리즘을 통해 평문 필드의 응용 데이터로부터 추출한 메시지 인증 코드(MAC)를 포함

목포해양대 해양컴퓨터공학과 27

Page 28: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

SSL/TLS의 동작 과정 (4)

제어 프로토콜

다시 핸드쉐이크 프로토콜, Change cipher spec 프로토콜, Alert 프로토콜로 구성

핸드쉐이크(handshake) 프로토콜

사용할 암호 알고리즘 결정 및 키 분배 작업 수행

서버 및 클라이언트 인증기능을 수행

핸드쉐이크의 기능

세션 상태 보안 파라미터(Security parameter) 생성

사이퍼 슈트(cipher-suit)의 선택과 키교환 알고리즘을 이용

Premaster secret 을 생성

Master secret을 생성

Master secret를 이용하여 세션키(session key)를 생성

선택사항이지만 인증서를 이용하여 상대를 인증하게 됨

목포해양대 해양컴퓨터공학과 28

Page 29: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

SSL/TLS의 동작 과정 (5)

제어 프로토콜 (계속)

핸드쉐이크(handshake) 프로토콜 (계속)

핸드쉐이크 프로토콜 동작

목포해양대 해양컴퓨터공학과 29

Page 30: 정보보호 개론 15. IPSEC과 SSL - 김건웅 교수 홈페이지lily.mmu.ac.kr/lecture/15is/IS_lec_15.pdf ·  · 2015-08-19IPSec의 개요 IPSec 1995년도에 IETF에서 표준화

SSL/TLS의 동작 과정 (6)

제어 프로토콜 (계속)

Change cipher spec 프로토콜

보류상태(pending state)와 현재상태(current state)라는 두 개의 상태가 존재

방금 협상된 암호 규격과 암호키를 이용하여 추후의 레코드 계층의

메시지를 보호할 것을 명령

각종 암호 알고리즘과 보안 정책을 송·수신측간에 조율하기 위해 사용

Alert 프로토콜

보안 연결 수립이나 데이터 전송 과정에서 발생하는 문제에 대한 경고

메시지와 경고에 대한 상세한 정보를 전달

Alert 메시지

오류의 심각성을 명시하는 1바이트의 level 필드와 오류의 종류를 명시하는

1바이트의 서술(description) 필드로 구성

치명적인 경고 메시지는 연결을 즉시 단절, 해당 세션의 식별자는 무효화

목포해양대 해양컴퓨터공학과 30