Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 17 전송층 보안: SSL과 TLS

Similar presentations


Presentation on theme: "Chapter 17 전송층 보안: SSL과 TLS"— Presentation transcript:

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

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

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

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

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

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

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

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

9 17.1.2 Continued Anonymous Diffie-Hellman

10 Continued 임시 Diffie-Hellman 키 교환 그림 임시 Diffie-Hellman 키 교환

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

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

13 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.

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

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

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

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

18 Continued 표 SSL 암호 그룹 목록

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

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

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

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

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

24 Continued 그림 세션과 연결

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

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

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

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

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

30 Handshake 프로토콜 그림 Handshake 프로토콜

31 Continued 그림 Handshake 프로토콜의 Phase 1

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

33 Continued 그림 Handshake Protocol의 Phase II

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

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

36 Continued 그림 Handshake 프러토콜의 Phase III

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

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

39 Continued 그림 Handshake 프로토콜의 Phase IV

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

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

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

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

44 Continued 그림 MAC 계산

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

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

47 17.3.1 ChangeCipherSpec 프로토콜

48 Alert 프로토콜 그림 Alert 메시지

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

50 Continued 표 Handshake 메시지 유형

51 Continued 그림 Virtual tributary types

52 Continued 그림 ClientHello 메시지

53 Continued 그림 ServerHello 메시지

54 Continued 그림 Certificate 메시지

55 Continued 그림 ServerKeyExchange 메시지

56 Continued 그림 CertificateRequest 메시지

57 Continued 그림 ServerHelloDone 메시지

58 Continued 그림 CertificateVerify 메시지

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

60 Continued 그림 ClientKeyExchange 메시지

61 Continued 그림 Finished 메시지

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

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

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

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

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

67 Continued Table Cipher Suite for TLS

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

69 Continued 그림 PRF

70 Continued 그림 마스터 비밀 생성

71 Continued 그림 키 재료 생성

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

73 Continued 표 TLS에서 지정한 경고

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

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

76 Record Protocol 그림 TLS에 대한 HMAC


Download ppt "Chapter 17 전송층 보안: SSL과 TLS"

Similar presentations


Ads by Google