Presentation is loading. Please wait.

Presentation is loading. Please wait.

목 차 PGP S/MIME. 전자우편 보안 Security 목 차 PGP S/MIME.

Similar presentations


Presentation on theme: "목 차 PGP S/MIME. 전자우편 보안 Security 목 차 PGP S/MIME."— Presentation transcript:

1 전자우편 보안 E-mail Security

2 목 차 PGP S/MIME

3 전자우편 개요 용어정의 SMTP (Simple Mail Transport Protocol) : TCP/IP기반 네트워크상에 있는 다양한 서버간의 메일 수송 프로토콜. 단 SMTP는 7bit의 길이를 가진 텍스트(US-ASCII)의 전송만을 허용함. ESMTP (Extended SMTP) : 차세대 SMTP, “배달 확인”, “메시지 크기 제한”, “전송실패에 대한 재전송”등이 추가됨 MIME (Multipurpose Internet Mail Extensions) : 영어 외 문자나 멀티미디어데이터들을 전자우편으로 보내기 위한 기술 POP3 (Post Office Protocol v3) : 메일서버가 보관하고 있는 편지를 클라이언트로 가져올 수 있도록 해주는 프로토콜 IMAP (Interactive Mail Access Protocol) : 원격지의 서버에 있는 메시지들을 마치 자신의 컴퓨터에 있는 편지처럼 액세스하기 위한 방법 Mail Encoding/Decoding : 8비트를 7비트 영문ASCII코드로 표현하는 방법과 이를 다시 8비트로 바꾸는방법(전자: 인코딩, 후자: 디코딩)

4 전자우편 개요 메일시스템의 구성

5 전자우편 개요 전자우편의 보안 요구사항 기밀성(Confidentiality) : 메시지 내용 누출 혹은 도청을 막음 무결성(Integrity) 또는 메시지 인증 (Message Authentication) : 전송된 메시지 내용이 변경여부를 확인 사용자 인증(User Authentication 또는 Identification) : 수신자 혹은 발신자가 확인 부인방지(Non-Repudiation) : 메시지를 보냈다는 혹은 받았다는 사실 및 그 내용을 부인을 막음

6 1. PGP (Pretty Good Privacy)
다양한 기종에서 무료로 사용 가능 Windows, UNIX, Macintosh 안전성이 검증된 알고리즘에 기반 RSA, IDEA, MD5 기업 및 개인에 이르기까지 다양한 영역에 응용가능 미국 이외의 지역에서도 사용 가능 RSA에 대한 특허 문제는 미국 내에서만 필요

7 1.1 용어 표기 KS : 관용암호에서 사용하는 세션키 KRa : 공개키 암호 방식에서 사용되는 사용자 A의 개인키
KUa : 공개키 암호 방식에서 사용되는 사용자 A의 공개키 ER : RSA를 이용한 공개키 암호화 DR : RSA알고리즘을 이용한 공개키 복호화 EI : IDEA를 이용한 암호화 DI : IDEA를 이용한 복호화 H : 해쉬 함수 || : 연접 Z : ZIP 알고리즘을 이용한 압축 R64 : 기수 64ASCII형식으로 변환

8 1.2 PGP 운영 방법 PGP function & algorithm 기 능 사용 알고리즘 전자서명 DSS/SHA or RSA/SHA 메시지 암호화 CAST/IDEA/3 DES /Diffie-Hellman/RSA 압축 ZIP 호환 Radix-64 conversion 단편화 분할과 재결합

9 PGP Structure 인증(Authentication) 송신자는 메시지 생성
SHA-1을 이용하여 160비트 해쉬 코드 생성 해쉬 값을 RSA로 암호화하여 결과값에 포함 수신자는 송신자의 공개키를 이용해 해쉬 코드 복호화 수신자는 메시지에 대한 해쉬 코드와 복호화된 코드를 비교, 만약 두 값이 같다면 메시지는 인증된 것이다. M H ER l l Z-1 DR KRa Z ERKRa[H(M)] KUa compare ? 출처 A 목적지 B

10 기밀성(Confidentiality)
PGP Structure 기밀성(Confidentiality) 송신자 메시지와 세션키로 사용될 128비트 난수 생성 메시지를 세션키 이용하여 암호화 세션키는 RSA로 수신자의 공개키를 이용해 암호화 되며, 메시지에 포함 수신자 자신의 개인키로 RSA를 이용해 세션키를 알아냄 세션키를 이용하여 메시지를 복호화 한다. ERKUb[Ks] M Z EI l l ER DR DI Z-1 Ks KRb KUb

11 PGP Structure 비밀성과 인증 기밀성과 인증을 모두 보장하려면 인증을 위한 행동을 먼저 수행하고 그 결과에 기밀성을 위한 동작을 해주면 된다. H Z ER l l EI Z-1 DI M DR Compare? KRa Ks KUb ERKUb[Ks] ERKRa[H(M)] KUa KRb

12 PGP Structure 압축 메시지 압축은 ZIP 알고리즘을 사용
서명 후에 압축은 암호화문 해독을 어렵게 하고 저장공간을 절약 호환성 Radix-64 conversion을 통하여 3개의 8bit를 4개의 ASCII문자로 변환시키므로 기존의 전자 우편 시스템과의 호환성 문제를 해결 단편화와 재조립 전자우편 프로그램은 대략 50Kbyte이하의 메시지를 한번에 전송 PGP에서는 50,000byte이상의 메시지를 쪼개어 전송, 또한 분할된 메시지를 자동으로 결합

13 단편화와 재조립

14 1.3 암호화 및 키와 키링 PGP에서 사용되는 암호화 키 세션키 하나의 메시지에 대하여 각 세션키 사용
CAST-128과 IDEA: 128 비트 키 사용 3DES: 168비트 키 사용 공개키: 세션키 암호화에 이용(송•수신자는 서로의 공개키 복사본 관리 필요) 개인키: 디지털 서명을 위한 메시지 암호화에 이용 Pass phrase-based 키 키 송신자가 저장하는 개인키를 암호화하는데 이용

15 PGP메시지의 일반 요소 구분 세션키 부분 서명 부분 메시지 부분 서명 부분의 구성 요소 타임 스템프: 서명 시간 메시지 다이제스트: 160bit SHA-1 메시지 다이제스트의 맨 앞 두 옥텟: 복호화 키검사 송신자 공개키의 키 ID: 메시지 다이제스트에 사용된 공개키 식별

16 PGP 메시지의 일반 형식 수신자의 공개키 (KUb)의 키 ID Session Key Time Stamp
송신자의 공개키 (KUa)의 키 ID 메시지 다이제스트의 선행 두 옥텟 Message Digest File Name Data 세션키 구성요소 서명 R64 ZIP EIKs 메시지

17 Key Ring Key Ring 모든 키는 효과적이고 체계적인 저장, 관리 방법이 필요. 자신의 공개/개인키 쌍과 다른 사람의 공개키들을 저장하기 위한 자료 구조를 제공 개인키 링, 공개키 링 개인키 링 사용자 ID나 키 ID로서 색인화 사용자의 시스템에만 저장 키를 이용하여 암호화

18 Key Ring 공개키 링 상호 운영하기 위하여 타인의 공개키를 저장 함 사용자 ID나 키 ID로서 색인화 attack으로부터 공개키를 보호하는 일이 가장 어려운 문제 공개키를 보호하는 접근법 물리적 전송 전화를 이용하여 확인 양쪽이 신뢰하는 개인으로부터 회득 신뢰되는 인증기관으로부터 회득

19 Key Ring

20 Key Ring 신뢰등급의 사용 키 적법성 필드(key legitimacy field)
PGP가 공개키의 유효성 신뢰등급을 표현 SIGTRUST 값을 합산하여 할당 서명 신뢰 필드(signature trust field) PGP사용자가 공개키 서명자의 신뢰등급을 표현 대상 공개키의 ownertrust 값을 할당, 없으면 unknown user 소유자 신뢰 필드(owner trust field) 사용자가 공개키 소유자에 대한 신뢰등급을 표현 Ultimate trust, 소유자 불명, 신뢰 불, 부분신뢰, 완전신뢰

21 PGP Trust Model

22 PGP 메시지 송신 Passphrase IDB IDA 공개키 링 공개키 KUb 개인키 링 개인키 KRa M H DC EP
l l Z EC RNG IDA Passphrase 개인키 링 공개키 링 선택 IDB 암호화된 개인키 키 ID 세션키 Ks 공개키 KUb 출력 암호화된[ 서명 + 메시지] Radix-64 개인키 KRa

23 PGP 메시지 수신 KRb 공개키 KUa Ks Compare? 암호화된 [서명 +메시지] 수신자의 키 ID 세션키 개인키 링
H Passphrase DC 개인키 DP 메시지 송신자의 다이제스트 Z-1 공개키 링 선택 KRb Ks 공개키 KUa Radix-64 Compare?

24 PGP install PGP를 구할 수 있는 곳 PGP Version 현재 최신 version으로 PGP 9.0

25 2. S/MIME S/MIME Secure MIME(Multipurpose Internet Mail Extension) 인터넷 전자메일 형식 표준(MIME)에 RFC 에 정의된 RSA Data Security 기술을 기반으로 security를 향상시킨 것 S/MIME .vs. PGP S/MIME과 PGP는 모두 IETF standards track에 정의되어 있음 차이점 S/MIME : 상업과 기관용 PGP : 개인용 전자 메일 보안의 선택 사항

26 다목적 인터넷 메일 확장(MIME) SMTP : ASCII 문자로 된RFC 822 형식의 메시지만 전송 가능 MIME : 한국어와 같이 2바이트로 구성되는 다중언어, 실행파일, 그림파일과 같은 이진파일도 SMTP로 전송될 수 있도록 ASCII코드로 변환하는 방식 이진데이터들을 6비트씩 분할한 후 이를 ASCII 문자로 변환하는 Base64 (또는 Radix 64)라고하는 코드변환 방식을 사용 전자우편 뿐만 아니라 HTTP에서도 사용됨

27 다목적 인터넷 메일 확장 Base64 인코딩

28 다목적 인터넷 메일 확장 Base64 인코딩 전송할 데이터가 “ABC”일 때, Base64 인코딩을 거치면 “ABC”를 6비트씩 분할한다. ASCII 코드:{ } 6비트씩 분할: { } 이 값의 10진 값은{16, 20, 09, 03}이다. 이 값에 대응하는 base64 코드는 <Base64 인코딩표>를 참조하면 “Q U J D”이다.

29

30 다목적 인터넷 메일 확장 2) MIME 내용 타입

31 7개의 주 타입과 15개의 부 타입으로 구성됨 주 타입의 의미 다목적 인터넷 메일 확장
주 타입 : 데이터의 일반적인 유형을 선언 부 타입 : 주 타입 내에서의 특정 형식을 지정 주 타입의 의미 Text Multipart : 몸체가 다수의 독립적인 파트들을 포함하고 있을 때 지정 Message : MIME에서 다수의 중요한 기능(단편화/재조립, 외부 데이터 등)을 제공함 Image Video Audio Application

32 S/MIME 동작과정

33 S/MIME 기능성 일반적 기능성의 측면에서 PGP와 유사 Secure / Multipurpose Internet Mail Extensions 평문메시지에 암호방식을 적용하여 보안성을 제공하는 방법 이 과정에서 이진값으로 암호화된 본문이나 서명부분은 모두 MIME으로 변환되어 전송됨. S/MIME에서 암호 및 서명에 사용되는 알고리즘 해쉬알고리즘: SHA-1, MD5 서명알고리즘: DSS, RSA 세션키분배방식: Diffie-Hellman, RSA 대칭키암호(화) 알고리즘: 3DES, RC2/40비트

34 S/MIME 기능성 1) 기능 Enveloped Data : 임의의 타입 데이터의 암호화된 내용과 하나 이상의 다수의 수신자를 위한 암호화된 내용 암호화 키들로 구성됨 Signed Data : 디지털 서명은 서명될 내용의 메시지 다이제스트로부터 만들어져 서명자의 개인키로 암호화됨. 서명과 내용은 base64 방식으로 부호화되며, 서명된 데이터 메시지는 S/MIME 기능을 가진 수신자만 볼 수 있음 Clear-signed Data : 서명 데이터에서와 마찬가지로 내용의 디지털 서명이 만들어지나, 디지털 서명만이 base64를 이용하여 부호화됨. 결과적으로 S/MIME 기능이 없는 수신자도 메시지 내용은 볼 수 있으나 디지털 서명의 검증은 불가능함 Signed and Enveloped Data : 암호화만하는 또는 서명만하는 개체가 중첩되는 경우, 암호화 메시지는 서명을, 서명 데이터는 암호화를 할 수 있음

35 S/MIME 기능성 2) 암호화 알고리즘 표 15.6 : S/MIME에서 사용하는 암호화 알고리즘의 요약 3개의 공개키 알고리즘을 사용 DSS : 디지털 서명에 사용 Diffie-Hellman : 세션키 암호화에 사용 3중 DES : 메시지 암호화 요구사항 수준 명시용 용어 MUST : 명세의절대적 요구 사항임 SHOULD : 특별한 경우 정당한 이유로써 무시할 수 있으나, 가급적 구현에서는 포함할 것을 권장

36 S/MIME 기능성 표 15.6 S/MIME에 사용된 알고리즘

37 S/MIME 메시지 1) MIME 실체 보안 S/MIME은 서명, 암호화 또는 두 기능 모두로서 MIME 실체를 보호함 MIME 실체란 하나의 전체 메시지를, 내용 타입이 multipart인 경우는 그 메시지의 하나 이상의 서브 파트를 의미함 모든 전송될 메시지는 규범적 양식으로 변환됨 그 후 전송 부호화가 적용됨

38 S/MIME 메시지 2) 봉인된 데이터 EnvelopedData MIME 실체의 준비 과정
1. 특정 대칭키 알고리즘(RC2/40 or triple DES)을 위한 의사난수 세션키를 생성 2. 각 수신자에 대하여 수신자의 RSA 공개키로서 세션키 암호화 3. 각 수신자에 대하여 송신자의 공개키 인증서, 세션키 암호화에 사용된 알고리즘 식별자와 암호화된 세션키를 포함하는 RecipientInfo로 부르는 블록을 준비 4. 세션키로서 메시지를 암호화 RecipientInfo 와 암호화된 메시지 Envelopeddata 로 구성됨 암호화 메시지의 복원 먼저 base64 부호화를 복원 수신자의 개인키로 세션키를 복원 세션키를 이용하여 메시지의 복원

39 signedData MIME 실체의 준비 과정
S/MIME 메시지 3) 서명 데이터 signedData MIME 실체의 준비 과정 1. 메시지 다이제스트 알고리즘 (SHA or MD5) 을 선택 2. 서명될 내용의 MD 또는 해쉬 함수를 계산 3. 서명자의 개인키로 MD를 암호화 4. 서명자의 공개키 인증서, MD 알고리즘 식별자와 MD 암호화 알고리즘의 식별자, 암호화된 MD를 포함하는 SignerInfo로 부르는 블록을 준비 서명의 복원 먼저 base64 부호화를 복원 서명자의 공개키로 MD를 복원 독립적으로 MD를 계산하여 MD와 비교함으로써 서명을 검증

40 S/MIME 메시지 4) 순수 서명 서명될 메시지의 변형 처리는 하지 않으므로 메시지는 평문 상태로 전송됨 signed 서브 타입의 multipart 내용 타입을 이용하여 순수 서명이 얻어짐 첫 파트에서 MD를 가져와 둘째 파트에 있는 서명으로부터 MD를 복원하여 비교함으로써 서명을 검증함

41 S/MIME 메시지 5) 등록 요청 응용/pkcs10 S/MIME 실체가 인증 요청의 전송에 사용됨 인증 요청은 certificationRequestInfo 블록, 공개키 알고리즘 식별자, 송신자의 개인키로 암호화하여 만든 certificationRequestInfo 블록의 서명의 내용을 포함함 certificationRequestInfo 블록은 인증서 주체의 이름과 공개키를 포함함 6) 인증전용 메시지 인증서만 혹은 CRL만의 메시지가 인증 요청의 응답으로 전송됨 처리 과정은 signedData에서와 유사함

42 S/MIME 인증서 처리 S/MIME은 X.509의 공개키 인증서를 사용함
서명의 검증과 메시지의 암호화에 필요한 인증서의 유지관리 책임이 local(User Agent)에 있으며, 인증서의 서명은 인증기관이 수행함 1) 사용자 대행자 역할 S/MIME 사용자는 몇 가지의 키 관리기능을 수행함 키 생성 : 관리 기능을 수행하는 사용자는 Diffie-Hellman과 DSS 키 쌍의 생성 기능을 MUST 가져야 하고, RSA 키 쌍의 생성 기능은 SHOULD 가져야 함 등록 : 사용자의 공개키는 X.509 공개키 인증서를 받기 위하여 인증기관과 함께 등록되어야 함 인증서 저정과 검색 : 들어오는 서명의 검증과 나가는 메시지의 암호화를 위한 인증서의 지역 목록의 접근

43 S/MIME 인증서 처리 2) VeriSign 인증서
CA 서비스 제공 회사 : Nortel, VeriSign, GTE, U.S. Postal Service 등 Verisign은 “VeriSign Digital ID”라는 상품명으로 X.509 인증서를 발행함 Digital ID의 내용 타입과 이용에 따라 포함 정보가 달라짐 필수 항목 소유자의 공개키, 소유자의 이름 또는 별명, Digital ID의 만료일, Digital ID의 일련 번호 사용자 제공 항목 주소, 전자우편주소, 기본등록정보(국가, 우편번호, 나이, 성별)

44 S/MIME 인증서 처리 표 VeriSign 공개키 인증서의 부류

45 향상된 보안 서비스 가지의 향상된 보안 서비스가 draft로 제안되었음 Signed receipts : 메시지의 전달됨을 증명하기 위하여 “signed receipt”을 반환함. 발신자가 제3자에게 수신자의 메시지 수신 사실을 증명하도록 허용함. Security labels : S/MIME에 의하여 보호되는 내용의 중요도에 관련한 보안 정보의 집합임. 접근통제(객체에 대한 접근의 허가 여부), 우선순위(secret, confidential, restricted 등), 역할 기반(which kind of people) 등을 위하여 사용됨 Secure mailing lists : MLA(Mail List Agent)를 이용하여 단일 메시지의 다중 사용자 수신 처리 과정(수신자별 지정 암호화 등의 작업을 수행)을 처리함. MLA는 일종의 FEP임


Download ppt "목 차 PGP S/MIME. 전자우편 보안 Security 목 차 PGP S/MIME."

Similar presentations


Ads by Google