1 / 45

전자우편 보안 E-mail Security

전자우편 보안 E-mail Security. 목 차. PGP S/MIME. 전자우편 개요. 용어정의 SMTP (Simple Mail Transport Protocol) : TCP/IP 기반 네트워크상에 있는 다양한 서버간의 메일 수송 프로토콜 . 단 SMTP 는 7bit 의 길이를 가진 텍스트 (US-ASCII) 의 전송만을 허용함 . ESMTP (Extended SMTP) : 차세대 SMTP, “ 배달 확인” , “ 메시지 크기 제한” , “ 전송실패에 대한 재전송”등이 추가됨

Download Presentation

전자우편 보안 E-mail Security

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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

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

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

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

  12. PGP Structure • 압축 • 메시지 압축은 ZIP 알고리즘을 사용 • 서명 후에 압축은 암호화문 해독을 어렵게 하고 저장공간을 절약 • E-mail 호환성 • 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 Time Stamp 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. H Passphrase 선택 IDB 선택 IDA 암호화된 개인키 키 ID 공개키 링 DC 공개키 KUb 개인키 링 개인키 KRa RNG 키 ID 세션키 Ks 출력 EP l l Radix-64 H EP l l Z M EC 암호화된[ 서명 + 메시지] PGP 메시지 송신

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

  24. PGP install • PGP를 구할 수 있는 곳 • http://www.pgp.com/ • PGP Version • 현재 최신 version으로 PGP 9.0

  25. 2. S/MIME • S/MIME • Secure MIME(Multipurpose Internet Mail Extension) • 인터넷 전자메일 형식 표준(MIME)에 RFC 2045-2409에 정의된 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 코드:{01000001 01000010 01000011} • 6비트씩 분할: {010000 010100 001001 000011} • 이 값의 10진 값은{16, 20, 09, 03}이다. • 이 값에 대응하는 base64 코드는 <Base64 인코딩표>를 참조하면 “Q U J D”이다.

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

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

  31. S/MIME 동작과정

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

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

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

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

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

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

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

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

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

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

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

  43. S/MIME 인증서 처리 • 표 15.8 VeriSign 공개키 인증서의 부류

  44. 향상된 보안 서비스 • 가지의 향상된 보안 서비스가 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임

More Related