전자우편보안 (E-mail Security)
description
Transcript of 전자우편보안 (E-mail Security)
(c) Byoungcheon Lee, Joongbu Univ. 1
전자우편보안(E-mail Security)
2010. 11.중부대학교 정보보호학과이병천 교수
전자상거래보안
(c) Byoungcheon Lee, Joongbu Univ. 2
목 차 전자우편보안 개요 PGP (Pretty Good Privacy)
◦ PGP 에서 제공하는 보안 서비스◦ PGP 의 메시지의 구조◦ PGP 키 인증◦ PGP 의 기능 및 동작
S/MIME◦ S/MIME 이 제공하는 보안 서비스◦ S/MIME 인증서◦ S/MIME 의 동작◦ S/MIME 메시지의 생성
(c) Byoungcheon Lee, Joongbu Univ. 3
1. 전자우편 보안 개요 전자우편이란
◦ 현재 인터넷 사용자들이 가장 많이 사용하고 있는 인터넷 서비스중의 하나 ◦ 송신자가 수신자에게 일방향으로 메시지 전달 ◦ 보안상 매우 취약한 구조를 가지고 있음
프라이버시 문제 : 엽서와 같은 구조 인증 문제 : 남이 내 이름을 빌어 메일을 보낼 수 있음
전자우편의 보안요구사항 ◦ 기밀성 ◦ 인증성 ( 부인방지 ) : 신분인증 , 메시지인증 ◦ 무결성
(c) Byoungcheon Lee, Joongbu Univ. 4
보안 기법 암호화 : 기밀성 제공
◦ 대칭키 암호화 : 메시지 본문을 암호화 ◦ 공개키 암호화 : 키를 암호화
전자서명 : 인증성 제공 해쉬함수 : 무결성 제공 메시지 압축 : 통신량 감소 , 기밀성 향상 사용자 인증 : 상대방의 신분 인증 ( 신뢰 및 분쟁시 문제 해결 )
◦ PKI 이용 : S/MIME 방식 ◦ 다른 방법 이용 : PGP 방식
(c) Byoungcheon Lee, Joongbu Univ. 5
전자우편 어플리케이션 POP3 소프트웨어 : Outlook, Eudora 등 웹메일 : 중부대웹메일 , 네이버메일 , 한메일 등 기존의 소프트웨어에 보안기능을 어떻게 적용할 것인가 ?
(c) Byoungcheon Lee, Joongbu Univ. 6
2. PGP PGP (Pretty Good Privacy)
◦ 1991 년 미국의 Phil Zimmermann 에 의해서 개발된 대표적인 전자우편 보안 도구 .◦ 구현이 용이하고 일반적으로 사용된 알고리즘의 안전성이 높기 때문에 일반 대중에게 널리 사용 .◦ 정부나 특정 단체에서 만든 것이 아니라 개인이 만들어 무료로 배포 .◦ 암호화 알고리즘을 이용하여 기밀성 , 인증 , 무결성 , 부인방지 등의 기능을 지원 . ◦ http://www.pgpi.com
(c) Byoungcheon Lee, Joongbu Univ. 7
PGP 기능과 사용 암호 알고리즘기 능 사용 암호 알고리즘
메시지 기밀성 IDEA,CAST,Triple-DES
전자서명( 무결성 , 사용자 인증 , 송신자 부인 봉쇄 )
RSA,DSS/Diffie-Hellman,SHA-1,MD5,RIPEMD-160
압축 ZIP
전자우편 호환성 Radix-64 conversion
(c) Byoungcheon Lee, Joongbu Univ. 8
PGP 의 메시지의 구조수신자의 공개키 (KUb) 의 키 ID
Session Key
Time Stamp
송신자의 공개키 (KUa) 의 키 ID
메시지 다이제스트의 선행 두 옥텟
Message Digest
File Name
Time Stamp
Data
세션키구성요소
서명
메시지
R64
EIKsZIP
KUb= 사용자 b 의 공개키KUa= 사용자 a 의 공개키Ks= 세션키ER= 암호화기능EI=IDEA 복호화 기능ZIP=PKZIP 압축 기능R64=Radix-64 변환 기능
(c) Byoungcheon Lee, Joongbu Univ. 9
PGP 의 메시지의 구조 메시지
◦ Timestamp : 데이터가 만들어진 시각이 들어감 . 서명
◦ Timestamp : 서명이 만들어진 시각이 들어감 .◦ Message Digest 의 선행 두 옥텟 : 암호화된 Message Digest를 모두 비교하면 시간이 오래 걸리므로 앞의 16 비트만 비교하기 위해서 필요한 부분 .◦ Message Digest : 서명이 생성된 시각의 Timestamp 와 데이터를 해쉬함수로 다이제스트 시킨 것을 나타낸다 .
세션키 구성요소◦ Session Key
메시지를 암호화하고 복호화하는 용도에 사용 . 이 세션키는 수신자의 공개키를 이용하여 암호화한다 .
◦ 수신자의 공개키의 키 ID
(c) Byoungcheon Lee, Joongbu Univ. 10
Key Ring 필요성
◦ 모든 키는 사용자가 효과적으로 사용할 수 있도록 체계적인 방법으로 관리 , 저장될 필요가 있다 .◦ 사용자가 소유하는 공개 / 개인키 쌍과 다른 사람의 공개키들을 저장하기 위한 자료 구조를 제공 ◦ 개인키 링 , 공개키 링
개인키 링◦ 사용자 ID 나 키 ID 로서 색인화◦ 사용자의 시스템에만 저장 , IDEA 를 이용하여 암호화
(c) Byoungcheon Lee, Joongbu Univ. 11
Key Ring 공개키 링
◦ 다른 사용자와 상호 운영하기 위해서는 다른 사용자의 공개키를 가지고 있어야 함◦ 사용자 ID 나 키 ID 로서 색인화◦ attack 으로부터 공개키를 보호하는 일이 가장 어려운 문제◦ 공개키를 보호하는 접근법
실제로 가져 옴 전화 통화로 확인 양쪽이 신뢰하는 개인으로부터 신뢰되는 인증기관으로부터
(c) Byoungcheon Lee, Joongbu Univ. 12
PGP 키 인증 문제점
◦ 사용자 A 의 키라고 받은 키가 정말로 A 의 키인지를 확인하는 것은 어렵다 .◦ PGP 에서는 사용자들간의 신뢰도를 계산하여 키의 진위를 결정한다 .◦ 이러한 키의 인증 과정에서 필요한 값들은 Public key ring의 Owner_trust, Key_legitimacy, Signature, Signa-
ture_trust 이 있다 .
(c) Byoungcheon Lee, Joongbu Univ. 13
PGP 키 인증 Key_legitimacy
◦ 사용자가 A 의 키라고 되어 있는 키를 받았을 때 이 키가 어느 정도 A 인지를 나타내는 필드이다 .◦ 값은 다른 필드의 값을 참고하여 PGP 가 자동으로 계산한다 .
Undefined : 사용자가 알고 있는 사람의 서명이 없을 때 Untrusted : 사용자가 불신하고 있는 사람의 서명이 있을 때 Marginal trust : 사용자가 어느 정도 믿는 사람의 서명이 있을 때 Complete trust : 사용자가 완전히 믿는 사람의 서명이 있을 때
◦ 마지막을 제외한 값을 가지고 있는 키는 사용할 때 경고 메시지가 보여진다 .
(c) Byoungcheon Lee, Joongbu Univ. 14
PGP 의 기능 및 동작 기밀성 ( 암호화 )
◦ IDEA, CAST, Triple-DES 등의 알고리즘이 사용된다 .
ERKUb[Ks]
MZ EI l l
ERDR
DI Z-1 M
Ks
KRb
KUb
압축 대칭키암호
공개키암호
연접
송신자 A 수신자 B
(c) Byoungcheon Lee, Joongbu Univ. 15
PGP 의 기능 및 동작 메시지 인증 ( 전자서명 )
◦ RSA 와 MD5 가 사용된다 .
MH ER
l l Z-1
DR
H
KRa
Z M
ERKRa[H(M)] KUa
compare ?
해쉬 서명 검증
송신자 A 수신자 B
(c) Byoungcheon Lee, Joongbu Univ. 16
PGP 의 기능 및 동작 기밀성 및 인증
H ZER l l EI l l
ER
Z-1DI M
DR
H
M
DR
Compare?
KRaKs
KUbERKUb
[Ks]ERKRa
[H(M)] KUaKRb
서명 암호화 복호화 서명검증
송신자 A 수신자 B
(c) Byoungcheon Lee, Joongbu Univ. 17
PGP 의 기능 및 동작 압축
◦ ZIP 알고리즘을 사용하여 압축 전자 우편 호환성
◦ PGP 를 사용해 생성된 파일들은 연속적인 8 비트의 흐름으로 이루어지지만 대개의 전자우편 시스템은 ASCII 문자만을 인식한다 .◦ 그래서 Radix-64 conversion 을 통하여 세 개의 8 비트를 4 개의
ASCII 문자로 변환시킨다 . 분할 및 재결합
◦ 대개의 전자 우편 프로그램은 최대 메시지의 길이를 제한하여 50,000바이트 이하의 메시지만 한번에 보낼 수 있다 . 하지만 PGP 는 큰 메시지를 자동으로 나누어 보낸다 .◦ 또한 분할된 메시지를 자동으로 결합해 준다 .
(c) Byoungcheon Lee, Joongbu Univ. 18
3. S/MIME 인터넷 전자 메일의 구성
◦ 헤더 : 메시지 전송과 관련된 주요 정보◦ 보디 : 메시지 내용
MIME (Multipurpose Internet Mail Extension)◦ 보디 부분을 어떻게 구성할 것인가에 대한 정의를 나타낸다 .◦ 텍스트 이외의 음성 , 영상 , 문서 , 첨부화일 등을 메일 메시지 형태로 구성하는 방법에 대한 정의 ◦ MIME 객체
S/MIME (Secure MIME)◦ 응용계층에서 보안을 제공하는 가장 대표적인 시스템◦ MIME 객체에 암호화와 전자서명 기능을 추가한 프로토콜 .◦ 전자우편에 국한하여 보안을 제공하지는 않는다 .
(c) Byoungcheon Lee, Joongbu Univ. 19
S/MIME 이 제공하는 보안 서비스
보안서비스 보안 메커니즘 암호 알고리즘
메시지 기밀성 암호화 Triple-DES메시지 무결성 해쉬함수 SHA-1사용자 인증 공개키 인증 x.509 v3 인증서
부인방지 전자 서명 DSA
(c) Byoungcheon Lee, Joongbu Univ. 20
S/MIME 인증서 S/MIME 인증서
◦ X.509 인증서에 포함된 공개키를 이용해 보안 메커니즘을 이용 공개키 인증서 발행 절차
◦ 사용자는 웹 브라우저를 이용해 인증서 발행 기관에 접속 , 이때 자신의 비밀키와 공개키를 만든다 .◦ 자신의 공개키 , 전자우편 주소와 같은 사용자 정보를 작성 및 전송◦ 인증기관에서는 X.509 형태의 S/MIME 인증서를 발행 .
(c) Byoungcheon Lee, Joongbu Univ. 21
S/MIME 의 동작 S/MIME 의 동작
◦ 사용자는 수신자에게 보낼 메시지를 작성 (MIME 형태로 ).◦ 전자서명 , 암호화 , 전자서명 / 암호화 3 개 중 택한다 .◦ 그러면 S/MIME 어플리케이션은 MIME 형태의 메시지를 S/MIME 메시지로 변환한 후 전송◦ 수신자는 메일을 복호화 , 전자서명 확인 등을 통하여 메일을 확인한다 .
(c) Byoungcheon Lee, Joongbu Univ. 22
S/MIME 의 동작 전자서명 메시지 생성 절차
◦ 원본 메일을 MIME 형태로 변환 . ◦ 해쉬 함수를 사용하여 20 바이트의 해쉬값을 생성한다 . 이것을 자신의 비밀키로 전자서명 한다 . 이 데이터는 PKCS #7 에 정의된 형태로 만들어진다 .◦ 이진 형태의 전자서명 데이터는 전송을 위해 사용되는 base-64 인코딩 처리를 한다 .◦ 생성된 전자서명 데이터는 Content-Type:application/x-pkcs7-
signature 을 이용해 MIME 형태로 변환된다 .◦ 마지막으로 원본 메시지와 전자서명 데이터를 “ Content-
Type:multipart/signed”를 사용해 MIME 형태로 변환하여 합친다 .
(c) Byoungcheon Lee, Joongbu Univ. 23
S/MIME 의 동작 메시지 암호화 절차
◦ 원본 메시지를 MIME 형태로 변환◦ 송신자는 암호화에 사용될 비밀키 생성◦ 비밀키는 수신자의 공개키로 암호화되어 의도하는 수신자 외에는 볼 수 없도록 한다 .◦ 생성된 비밀키와 RC2 와 같은 알고리즘으로 암호화된다 .◦ 이 데이터에 대해 ASN.1 에 따른 BER 로 변환하고 , base-64 인코딩 한다 .◦ 마지막으로 암호화가 수행된 데이터는 “ Content-
Type:application/x-pkcs7-mime”를 사용한 MIME 형태로 변환한다 .
(c) Byoungcheon Lee, Joongbu Univ. 24
S/MIME V2 와 V3 비교비교 항목 ( 알고리
즘 )S/MIME v2 S/MIME v3
해쉬 알고리즘 MD5 SHA-1
전자 서명 RSA DSA
공개키 암호 알고리즘 RSA Diffie-Hellman
대칭키 암호 알고리즘 40bit RC2 Triple-DES
(c) Byoungcheon Lee, Joongbu Univ. 25
전자우편 보안 시스템의 비교안전한 전자우편 시스템 비고
PEM (Privacy Enhanced Mail)
IETFInternet 표준안중앙 집중화 된 키 인증 , 구현이 어렵다높은 보안성 ( 군사용 , 은행 시스템 )많이 사용되지 않음
PGP (Pretty Good Privacy)
Phil Zimmerman 이 개발분산화 된 키 인증구현이 용이일반 용도의 보안성많이 사용
S/MIMERSA Data Security,Inc 개발전자우편 메시지 표준 (MIME) 기반다양한 상용 툴 킷x.509 인증지원
PGP/MIME전자우편 메시지 표준 (MIME) 기반PGP 암호 기법 + 전자우편 시스템x.509 인증서 지원 안됨
(c) Byoungcheon Lee, Joongbu Univ. 26
Questions 인터넷 이용자들이 많이 사용하는 어플리케이션 중에서 전자우편과 같은 보안서비스가 필요한 것에는 어떤 것들이 있는가 ? 위에서 제시한 어플리케이션에서는 어떤 보안서비스가 필요한가 ? 위의 보안서비스를 제공할 수 있는 방법은 무엇인가 ?