21-Internet_Secu

Download Report

Transcript 21-Internet_Secu

인터넷 보안 2
E-mail Security
오세종
1
목차




E-메일 개요
E-메일 보안위협 요소
PGP
PKI 기반의 E-메일 보안
2
E-메일 개요
 E-메일은 인터넷의 대표적이고도 가장 많이 이용되는 응용 분
야
 네트워크 프로토콜계층에서의 위치
E-mail
SMTP, sendmail IMAP, POP3, HTTP
TCP Layer
IP Layer
Physical link Layer
3
E-메일 개요
 이메일 사용을 위한 계정의 설정
4
E-메일 개요
 일반적인 PC 사용자의 E-메일 이용 환경
인터넷
SMTP
SMTP
메일서버
(송신)
클라이언트
PC
POP3
메일서버
(수신)
(메일관리
프로그램)
* 일반적으로 메일 송신
서버와 수신 서버는 동일
5
E-메일 개요
 메일 프로토콜 : SMTP
– SMTP : Simple Mail Transfer Protocol
– 메일을 보내기 위해서 송신측 메일 서버와 수신측 메일 서버
간에 필요한 커뮤니케이션 프로토콜
메일 좀
보내
받은 메일
저장
SMTP command
SMTP response
SMTP Server
(Receiver)
SMTP Server
(Sender)
6
E-메일 개요
 메일 프로토콜 : SMTP
– 메일 송수신을 위한 커뮤니케이션 절차
•
•
•
•
Sender 가 Receiver 에 접속하여 커뮤니케이션 채널을 만든다.
Sender 는 ‘helo’ 명령어로 자신이 누구인지를 알린다.
Receiver 는 Sender 의 hello 에 대한 응답을 한다.
Sender 는 ‘mail’ 명령어를 사용해서 수신자의 메일 주소를 전
송
• Receiver 는 해당 수신자의 메일 주소를 제대로 받았는지 여부,
해당 수신자가 서버에 있는지를 알려줌. 문제 없으면 OK 응답
(reply) 한다.
• Sender 는 ‘rcpt’ 명령어로 송신자의 메일 주소를 전송
7
E-메일 개요
 메일 프로토콜 : SMTP
– 메일 송수신을 위한 커뮤니케이션 절차 (계속)
• Receiver 는 Sender 가 전송한 주소를 수신하였는지 알려준다.
수신했으면 OK 응답.
• 송신자와 수신자의 이메일 주소를 모두 보낸 다음 Sender 는
‘data’ 명령어로 "이제부터 메일 데이터를 보내려고 하는데, 받
을 수 있는지" 를 Receiver 에게 물어본다.
• Receiver 는 메일 데이터를 받을 수 있는 경우에 OK 응답과 데
이터의 끝을 알리는 문자(예 : .) 를 Sender 에게 알려준다.
• Sender 는 메일 데이터( 메일의 헤더와 메일 내용) 를 다 보낸
후 '.'로 "메일 데이터 전송 끝"을 Receiver 에게 알린다.
• Receiver 는 전송 받은 메일을 저장한다.
• Sender 와 Receiver 는 채널 연결을 끓는다.
8
E-메일 개요
 메일 프로토콜 : POP3
– POP3 : Post Office Protocol
– 메일 서버의 메일 박스에 있는 메일 데이터를 자신의 PC로
가져오는데 사용되는 프로토콜
POP3
발신자
메일서버
메일서버
SMTP
9
수신자
E-메일 개요
 메일 프로토콜 : POP3
– 수신자와 서버간 커뮤니케이션 절차
• 수신자(클라이언트 PC의 메일 프로그램)는 POP3 서버에 로그
인을 함으로써 커뮤니케이션 채널을 만든다.
• 수신자와의 접속이 완료되면 POP3 서버는 ‘greeting’이라는 응
답을 보낸다
• POP3 서버로부터 회신을 받은 수신자는 먼저 ‘APOP’ 명령으
로 자신의 메일박스에 도착한 메일이 있는지를 문의.
• POP3 서버는 몇 통이 와있는지를 수신자에게 회신
• 수신자는 ‘LIST’ 명령을 보내고, POP3 서버는 그에 대해 저장
된 모든 메일의 크기를 순서대로 보내준다.
10
E-메일 개요
 메일 프로토콜 : POP3
– 수신자와 서버간 커뮤니케이션 절차 (계속)
• 수신자는 ‘PETR’ 명령어로 저장된 메일의 번호를 지정하면
POP3 서버는 이에 응해 지정된 번호의 메일을 수신자에게 보
낸다. (여기서 수신자는 다운로드 받은 메일은 메일 서버의 메
일박스에서 삭제를 할 수 있다.)
• 모든 메일의 다운로드가 종료된 시점에서 수신자는 ‘QUIT’ 명
령으로 POP3 서버에게 종료를 통지하게 된다.
• 커뮤니케이션 채널을 종료 한다
11
E-메일 보안위협 요소
 E-메일의 내용이 네트워크상의 전송과정에서 외부에 유출됨
(도청, 변조)
– 암호화 커뮤니케이션이 필요
– 대표적으로 PGP, PEM 이 있음
 E-메일을 통해 바이러스 프로그램이 첨부되어 전달됨
– 수상한 메일은 열어보지 말고 첨부된 파일은 바이러스 검사
 메일서버 또는 E-메일 프로그램의 취약성을 이용해 시스템에
침입
– 프로그램 개발 회사에서 수시로 제공하는 보안 패치 프로그램을 다
운받아 설치
– 메일 서버 혹은 E-메일 프로그램의 보안 설정을 주의 깊게 한다.
12
E-메일 보안위협 요소
 E-메일 보안 솔루션의 발전
PEM
(Privacy Enhanced Mail)
SECURE/32
1980년대 초
Charli Merritt
MailSafe
1986
RSA Data Security
PGP
(Pretty Good Privacy)
13
E-메일 보안위협 요소
 PEM 과 PGP 비교
PEM
PGP
개발자
IETF
Phil Zimmerman
표준여부
인터넷 표준안으로 채택
하나의 응용프로그램
키인증 방식
중앙 집중적 키인증
분산된 키인증
구현의 용이성
어려움
쉬움
보안성
높은 보안성
상대적으로 낮은 보안성
활용성
많이 활용되지 않음
널리 활용됨
14
PGP
 개요
– PGP : Pretty Good Privacy
– Phil Zimmermann 에 의해서 개발
– E-메일을 암호화 하여 주고 받음으로써 네트워크상에서의 도청이
나 변조에 의한 공격을 방지함
– 또한 전자서명을 통해 신분 확인을 가능하게 함
– 기본적으로 PKI (공개키 기반구조)를 이용하는 기술
– 1991년에 v1.0 이 나온 이후 현재 v5.0 까지 발표
15
PGP
 개요
– PGP 가 제공하는 기능
• 기밀성(암호화) : IDEA, RSA
• 전자서명 : RSA, MD5
• 압축 : ZIP
• E-메일과의 호환성 : Radix-54 conversion
– 암호화된 데이터를 ASCII format 으로 바꾸어줌
– 현재 DOS, UNIX, Windows, Mac 등 다양한 환경에서 사용
가능. 값싼 S/W 및 공개버전으로 인해 널리 사용
16
PGP
 PGP를 이용한 이메일 전송
– 공개키 암호화와 동일한 과정
A 의 전자서명
생성 키
메시지
(Plaintext)
전자서명
A
(송신자)
B 의 공개키
전자서명된
메시지
암호화
전자서명
+ 암호화
메시지
E-메일로 보냄
A 의 전자서명
확인키
B 의 개인키
복호화
전자서명된
메시지
17
서명확인
메시지
확인
B
(수신자)
PGP
 PGP 메시지의 형식
Key ID of recipient’s public key
Session Key
Session key
component
Timestamp
Key ID of sender’s public key
First 20 byte of message digest
Signature component
component
Message Digest
(Signature timestamp + data)
File Name
Timestamp
Data
Message
component
18
PGP
 PGP에서 사용되는 파일들
– Pubring.pgp
• 자신의 공개키와 다른 사람의 공개키를 보관하는 파일
• 내용 :
– 해당 키가 만들어진 시각 (timestamp)
– Key ID (키의 식별에 사용)
– Public key
– User ID (키주인의 이름. 이메일 주소를 많이 이용)
– 기타 : Owner trust, Key legitimacy, Signature,
Signature trust
19
PGP
 PGP에서 사용되는 파일들
– secring.pgp
• 사용자 자신의 비밀키만을 저장
• 내용 :
– 해당 키가 만들어진 시각 (timestamp)
– Key ID
– Public key
– 암호화된 private key
– User ID
20
PGP
 PGP에서 사용되는 파일들
– config.txt
• Configuration file
– Randseed.bin
• Session 키를 생성하는데 필요한 seed 값 저장
(Session Key : 메시지를 암호화 할 때 사용하는 키. 암호
화 할 때마다 매번 새로 생성해서 쓴다)
21
PGP
 Passphrase
– 사용자가 임의로 지정할 수 있는 임의의 문장으로서 몇 글자
의 단어에서 부터 책 한권까지 제약이 없다.
– Passphrase 를 MD5 알고리즘을 거쳐 128 bit 의 키를 만든
다. 이 키를 가지고
• 자신의 비밀 키를 암호화하여 저장할 때 사용
• 화일을 암호화하여 local에 보관할 때 사용
passphrase
128 bit key
MD5
IDEA
private key
(or file)
22
encrypted
private key
(of file)
PGP
 Key Server
– PGP에서 사용하는 공개키를 등록하고 배포하는 역할을 하
는 서버
• 자신의 공개키 등록
• 다른 사람의 공개키를 알고 싶을 때 조회
• 세계 여러 나라에 분산되어 있으며 어느 한 서버에만 등
록하면 다른 서버들에도 자동적으로 배포된다.
• 우리나라의 key server
– http://www.softforum.co.kr/pgp-ks
23
PGP
 Key Server
– 키 서버와의 커뮤니케이션
• 이메일을 많이 이용
• 이메일의 subject 항목에 키 서버에서 사용하는 특정한
명령어(command)를 넣어 서버로 보낸다.
• 서버는 그의 대답에 해당하는 정보를 역시 이메일로 보내
준다.
24
PGP
 Key Server
– 키 서버 주요 명령어
•
•
•
•
•
•
help : 서버에 관한 정보와 사용할 수 있는 명령어를 알려줌
add : 자신의 키를 서버에 등록할 때
index : 서버에 있는 모든 키의 리스트를 보여 줌
get : 모든 사람의 키를 받을 때
get userid : 특정인의 키를 받을 때
last days : 지정한 최근 며칠동안 새로 갱신된 키를 받을 때
25
PGP
 PGP 의 단점
– 공개키 기반구조에서와 같은 인증 기관이 없기 때문에 문제 발생가
능
– 만일 사용자 B 가 사용자 A 인 것 처럼 위장을 해서 C 에게 어떤 정
보를 요청하는 메일을 보냈을 때, C는 A 만 보아야 할 내용을 B에
게 보낼 수 있다.
나 사장인데, 이번 승진
대상자 명단 좀 보내. 내
공개키는 xxxx-xxxxxx 야
말단
사원
암호화된
이메일
인사과장
사장
26
PGP
 PGP 의 단점
– PGP 에서 제시하는 보완 대책
• 보낸 사람이 A 라고 되어 있는 키를 받았을 때 PGP 는 다른 필
드들(Owner trust, Signature trust)을 참조하여 보낸 사람이 정
말 A 인지에 대한 신뢰도를 계산하여 알려 준다. (Key
legitimacy)
– undefined : 사용자가 알고 있는 사람의 서명이 아님
– untrusted : 사용자가 불신하고 있는 사람의 서명임
– marginal trust : 사용자가 어느 정도 믿는 사람의 서명임
– complete trust : 사용자가 완전히 믿는 사람의 서명임
경고 메시지
27
PGP
 PGP 의 단점
– PGP 에서 제시하는 보완 대책
• Owner trust : 공개키의 소유자가 직접 자신의 공개키를 보내지
않고 제3자(중개자)가 소개로 알려주는 경우, 이 중개자를 어느
정도 신뢰하는지를 주관적으로 표시한 것
– 만약 중개자가 신뢰할만한 하다면 소개 받은 공개키도 신
뢰 할 수 있다.
» undefined trust
» untrusted to sign other keys
» usually trusted to sign other keys
» always trusted to sign other keys
» ultimate trust
28
PGP
 PGP 의 단점
– PGP 에서 제시하는 보완 대책
• Signature trust : 공개키에 서명(signature) 가 붙어 있을 때 그
것을 어느 정도 신뢰할 수 있는지를 표시한 것
– undefined trust
untrusted to sign other keys
usually trusted to sign other keys
always trusted to sign other keys
ultimate trust
29
PKI 기반의 E-메일 보안
 PGP 는 특별한 비용을 들이지 않아도 안전한 이메일을 보낼 수
있다는 장점 때문에 널리 쓰이고 있지만, 사용자들간 상호 인증
의 문제는 근본적으로 해결할 수 없다.
 PKI 기반하에서는 정부에서 허가한 신뢰할만한 인증기관으로
부터 인증서를 교부 받아야 하기 때문에 시간과 비용(연간 사용
료)를 투자 해야 하지만 상대적으로 더 안전 하다고 볼 수 있다.
 여러 메일 프로그램들이 이러한 공개키 기반 구조를 고려한 보
안 기능을 구현하고 있다.
 MS Outlook Express 의 예를 살펴 봄
– 홍길동에게 메일을 보내고 싶을 때
30
PKI 기반의 E-메일 보안
 1. 인증 기관으로 부터 이메일 인증서를 받아 컴퓨터에 설치한
다.
31
PKI 기반의 E-메일 보안
32
PKI 기반의 E-메일 보안
 2. 홍길동의 주소록 정보에 홍길동의 인증서를 등록 한다
[email protected]
홍길동
33
PKI 기반의 E-메일 보안
 3. 메일 보내기에서 암호화 및 전자서명 선택
전자서명
암호화
34
참고문헌
 S.Garfinkel and G.Spafford, Web Security & Commerce,
O’Reilly & Associates, Inc
 Http://www.helloec.net
 박현동, PGP(Pretty Good Privacy)와 WWW (강의자료), 충남대
학교
 한글 PGP 설명서,
http://esperosun.chungnam.ac.kr/~hdpark/PGP
 PGP사 홈페이지, http://www.pgp.com/
35