목 차
1. PGP
2. PEM
전자우편 보안(E-mail Security)
SMTP(Simple Mail Transfer Protocol)
E-mail 전송
Plaintext Form(Only ASCII text data)
binary file은 전송하지 못함
암호화된 메시지 전송
Message Encryption(binary file) uuencode
encrypted text file uudecode decryption
Message
E-mail security tool - PGP, PEM
Electronic mail
현재 인터넷 사용자들이 가장 많이 사용하고 있는 인터넷 서비스중의 하나
보안상 매우 취약한 구조를 가지고 있음
– 엽서와 같은 구조
– 해결책 : 메세지의 암호화
인터넷상의 E-mail 보안 도구 : PGP, PEM
confidentiality, authentication, integrity, Nonrepudiation등의 기능을 제공
PGP & PEM
PEM PGP
1. IETF Phil Zimmerman
2. Internet 표준안 응용 프로그램
3. 이론 중심 실세계 중심
4. 중앙집중화된 키 인증 분산화된 키 인증
5. 구현이 어렵다 구현이 용이함
6. 익명의 메세지를 허용치 않음 익명의 메세지를 허용함
7. 높은 보안성 일반 용도의 보안성
(군사용, 은행 시스템)
8. 많이 사용되지 않음 많이 사용
1. PGP
다양한 기종에서 무료로 사용 가능 (필요한 경우 상용화하여 사용 가능
– Windows, UNIX, Macintosh
공개적 검토를 통해 대단히 안전하다고 할 수 있는 알고리즘에 기반
– RSA, IDEA, MD5
기업 및 개인에 이르기까지 다양한 영역에 응용성 확보
미국 이외의 지역에서도 사용 가능
– RSA에 대한 특허 문제는 미국 내에서만 필요
용어 표기
KS : 관용암호에서 사용하는 세션키
KRa : 공개키 암호 방식에서 사용되는 사용자 A의 개인키
KUa : 공개키 암호 방식에서 사용되는 사용자 A의 공개키
ER : RSA를 이용한 공개키 암호화
DR : RSA알고리즘을 이용한 공개키 복호화
EI : IDEA를 이용한 암호화
DI : IDEA를 이용한 복호화
H : 해쉬 함수
|| : 연접
Z : ZIP 알고리즘을 이용한 압축
R64 : 기수 64ASCII형식으로 변환
PGP 운영 방법
PGP function & algorithm
기 능 알고리즘
인 증 IDEA, RSA
디지털 서명 RSA, MD5
압축 ZIP
E-mail 호환 Radix-64 conversion
단편화 분할과 재결합
PGP Structure
Authentication & Digital Signature
송신자는 메시지 생성
MD5를 이용하여 128비트 해쉬 코드 생성
해쉬 값을 RSA로 암호화하여 결과값에 포함
수신자는 송신자의 공개키를 이용해 해쉬 코드 복호화
수신자는 메시지에 대한 새로운 해쉬 코드와 복호화된 코드를 비교
만약 두 값이 같다면 메시지는 인증된 것이다.
PGP Structure
Authentication & Digital Signature
인증과 전자 서명을 위해서는 RSA와 해쉬함수 MD5가 사용
PGP Structure
Confidentiality
세션키를 통한 메시지 보호를 위해 다음과 같이 수행
송신자
– 메시지와 세션키로 사용될 128비트 난수 생성
– 메시지는 세션키로 IDEA를 이용하여 암호화
– 세션키는 RSA로 수신자의 공개키를 이용해 암호화 되며, 메시지에 포함
수신자
– 자신의 개인키로 RSA를 이용해 세션키를 알아냄
– 세션키를 이용하여 메시지를 복호화 한다.
PGP Structure
Confidentiality
메세지의 기밀성을 위해서는 RSA와 IDEA가 함께 쓰인다
PGP Structure
Confidentiality & Authentication
기밀성과 인증을 모두 보장하려면 인증을 위한 행동을 먼저 수행하고 그 결과에 기밀성을 위한 동작을 해주면 된다.
PGP Structure
Compress
메시지 압축을 위해서는 ZIP 알고리즘을 사용
서명을 수행한 후에 압축을 취함으로써 암호화된 결과를 가지고 평문을 추측하는 행동을 더욱 어렵게 하고 전자 우편 전송과 화일 저장에 대해서 기억 공간을 절약한다는 이점이 있다.
E-mail compatibility
Radix-64 conversion을 통하여 3개의 8bit를 4개의 ASCII문자로
변환시킴으로서 기존의 전자 우편 시스템과의 호환성 문제를 해결
Segmentation & Reassembly
전자 우편 프로그램은 대개 50,000byte이하의 메시지를 한번에 전송
PGP에서는 50,000byte이상의 메시지를 쪼개어 전송, 또한 분할된
메시지를 자동으로 결합
암호화와 키 연결 관계
PGP에서 사용되는 암호화 키
세션키(IDEA 이용)
전송 메시지 암호화에 이용, 각 세션키는 한 번만 사용됨
공개키(RSA 이용)
세션키 암호화에 이용(송•수신자는 서로의 공개키 복사본 관리 필요)
개인키 (RSA 이용)
디지털 서명을 위한 메시지 암호화에 이용
passphrase-based 키(IDEA 이용0
키 송신자가 저장하는 개인키를 암호화하는데 이용
PGP메시지의 일반 요소
구분
세션키 부분
서명 부분
메시지 부분
서명 부분의 구성 요소
타임 스템프
메시지 다이제스트
메시지 다이제스트의 맨 앞 두 옥텟
송신자 공개키의 키 ID
PGP 메시지의 일반 형식
Key Ring
모든 키는 사용자가 효과적으로 사용할 수 있도록 체계적인 방법으로 관리, 저장될 필요가 있다.
사용자가 소유하는 공개/개인키 쌍과 다른 사람의 공개키들을 저장하기 위한 자료 구조를 제공
개인키 링, 공개키 링
개인키 링
사용자 ID나 키 ID로서 색인화
사용자의 시스템에만 저장, IDEA를 이용하여 암호화
Key Ring(계속)
공개키 링
다른 사용자와 상호 운영하기 위해서는 다른 사용자의 공개키를 가지고 있어야 함
사용자 ID나 키 ID로서 색인화
attack으로부터 공개키를 보호하는 일이 가장 어려운 문제
공개키를 보호하는 접근법
– 실제로 가져 옴
– 전화 통화로 확인
– 양쪽이 신뢰하는 개인으로부터
– 신뢰되는 인증기관으로부터
PGP Message Transaction(송신)
PGP Message Transaction(수신)
PGP 관련 파일 설명
PGP 관련 화일
pubring.pgp
자신의 공개키와 다른 사람의 공개키를 함께 저장하는 화일
이진 형태로 저장, 일반 명령으로 확인 불능
secring.pgp
사용자 자신의 비밀키만을 저장
passphrase를 IDEA의 키로 사용하여 암호화 해 놓는다.
randseed.bin
공개/비밀키를 생성하는데 필요한 두 개의 random prime number를 선택하는데 이용되는 seed 값과 IDEA의 생산에 쓰일 seed값을 보관
PGP 관련 내용 설명
Passphrase
패스워드 개념
길이에 제한이 없으며, MD5 hash function을 거치면서 128bit의 hash code가
생성
128 bit IDEA의 키로 사용하여 message를 암호화하거나, RSA에서 생성된
비밀키를 암호화하여 개인키 링(secring.pgp)에 저장
Fingerprint
공개키를 MD5를 사용하여 128bit의 형태로 나타내는 것
각 키에 대해 고유한 값을 가진다
키의 신원을 확인할 수 있는 도구로 이용
Fingerprint
PGP install
PGP를 구할 수 있는 곳
http:// www. ifi.uio.no/pgp/
ftp://juno.kaist.ac.kr/pub/security/pgp/
ftp://what.snu.ac.kr/pub/pgp/
PGP Version
PGP 2.3a
PGP 2.6ui
MIT PGP 2.6.2
PGP 2.6.3i
PGP 3.0
현재 최신 version으로 PGP 5.0
PGP install
PGP install
PGP install
2. PEM(Privacy Enhanced Mail)
전자 우편 응용에 대한 정보보호 관련 서비스를 제공하는 인터넷 표준
설계 특징
– 상호 동작성
» 응용층에서 구현
» 하위 프로토콜, 운영체제, 호스트와는 독립적
– 호환성
» 기존의 우편 시스템에 도입하더라도 별도의 변경 사항이 필요 없음
– 다중 우편 전송 기능
– 다양한 사용자 인터페이스
– pc 사용자에 지원 가능
– 우편 목록 지원
– 다양한 키 관리 방법 제공
» 수동, 중앙 집중형(대칭 암호 기반), 공개키 인증서 등 지원
2.1 개요
PEM에서 지원되는 기능
노출 보호
발신자 인증
메시지 무결성
발신처 부인 봉쇄 (비대칭 키 관리 사용시)
지원하지 않는 기능
엑세스 제어, 트래픽 흐름 기밀성, 경로 제어, 다중 사용자 관리, 수신 거절 봉쇄, 참조 메시지 연동, 메시지 중복 차단 및 재 전송 방지 기능,
2.2 암호 알고리즘과 키
알고리즘 분석
메시지 암호화(DES-CBC 이용)
– 메시지 => 일회용 세션키로 DES-CBC를 이용해 암호화
– 세션키 => 수신자의 공개키로 RSA를 이용해 암호화
인증 및 디지털 서명(MD2 OR MD5를 이용한 RSA)
– 메시지 해쉬 => MD2 OR MD5 이용
– 해쉬 결과는 송신자의 개인키로 RSA를 이용해 암호화
인증(MD2 OR MD5 : DES-ECB OR DES-EDE)
– 메시지 해쉬 => MD2 OR MD5 이용
– 해쉬 결과는 대칭 키를 이용해 DES-ECB 나 DES-EDE를 이용해 암호화
알고리즘 분석(계속)
대칭키 관리(DES-ECB OR DES-EDE 이용)
– 세션키 : 대칭키를 이용하여 DES-ECB 나 DES-EDE를 이용해 암호화
비대칭키 관리(RSA & MD2)
– 공개키 인증서 => MD2로 해쉬
– 해쉬 결과는 RSA를 이용하여 암호화
– 세션키 => 수신자의 공개키로 RSA를 이용하여 암호화
PEM에서의 키 사용
2.3 운영에 대한 설명
메시지를 정형화된 형태로 변환
SMTP전송 형식과 로컬 형식 사이의 대응에서 변환상의 문제 발생을 없애기 위해 실행
MIC 계산시에는 기수-64변환 이용
메시지 무결성과 인증 정보 생성
MIC에 의존
– 비대칭 암호 인증(RSA 이용)
– 대칭 암호 인증 중 하나를 사용(DES-ECB OR DES-EDE이용)
메시지 암호화(선택 서비스)
IK가 대칭 또는 비대칭인지에 따라 다르게 처리
비대칭
– EKDEK(EKRa[H(M)]
대칭
– DEK로 암호화 하는 일은 필요치 않음
프린트 할 수 있는 부호화된 형태로 변환(선택서비스)
다양한 메일 처리 시스템과의 호환성을 유지를 위해 보장
메시지를 프린트 가능한 부호화된 형태로 변환
PEM 메시지 전송
PEM 메시지 수신
PEM 형식(비대칭)
PEM 형식(대칭)