#이메일보안 #PGP #기수64 #radix-64 #S/MIME/span>
이메일 보안의 개요
이메일의 특성
- 수신자에게 도달할 때까지 여러 호스트를 거침
- 엽서처럼 송수신자 주소뿐 아니라 내용도 그대로 노출됨
- 따라서 전송 도중에 얼마든지 도청, 변조될 가능성이 존재함
- 이에 대응해 보안도구로 PGP, S/MIME 등이 있음
PGP
PGP (Pretty Good Privacy)
- 인터넷에서 사용되는 전자우편 보안도구
- 보내는 내용을 암호화해 보냄으로써, 내용을 확인할 때에도 특정 키가 있어야 확인 가능
- 기밀성, 인증, 무결성, 부인방지 등의 보안서비스가 지원됨
PGP 보안 서비스
기능 | 알고리즘 | 설명 |
---|---|---|
인증 | SHA RSA (DSA) |
- SHA 로 메시지 해시코드 생성 - RSA 로 해시코드를 서명 |
기밀성 | IDEA (TDEA, AES) RSA (ElGamal) |
- IDEA 는 세셔키로 메시지를 암호화 - RSA 는 세션키를 암호화 |
압축 | ZIP | - 메시지 압축 |
전자우편 호환성 | 기수 64 변환 | - ASCII 부호로 변환 |
- PGP 의 보안 서비스는 인증, 기밀성, 압축, 전자우편 호환성이다.
- PGP 는 현대 암호 S/W에 필요한 기능을 거의 전부 갖춤
- SHA 와 RSA 의 결합은 효과적인 전자서명 기법을 제공함
- 인증에는 S가 두 개 들어간다.
기수 64 (Radix-64)
- 데이터를 6비트 단위로 나눠 각 6비트를 하나의 문자로 표현
- 즉, 세 바이트가 네 문자로 변환됨
- 64문자는 A~Z, a~z, 0~9, +, / 이며
- 마지막 패드 문자는 = 이다.
PGP 에서 사용되는 키
- PGP 에서는 세션키, 공개키, 개인키, 암호구문이 사용된다.
키 이름 | 암호 알고리즘 | 용도 |
---|---|---|
세션키 | IDEA, TDEA, AES | - 송수신 위한 메시지 암복호화 - 한 번만 사용되고 랜덤하게 생성 |
공개키 | RSA 등 | - 메시지와 함께 전송할 세션키를 암호화 - 전자서명 검증 |
개인키 | RSA 등 | - 전자서명 - 세션키를 복호화 |
암호구문 | IDEA, TDEA, AES | - 개인키를 암호화 |
S/MIME
Secure / Multipurpose Internet Mail Extension
- 인터넷 이메일 표준인 MIME 의 보안기능을 강화시킨 것이다.
- 표준 변천 : SMTP -> MIME -> S/MIME
S/MIME 의 보안 서비스
기능 | 알고리즘 |
---|---|
메시지 암호화 | AES-128, AES-256 |
전자서명 | RSA, ECDSA |
세션키 분배 | RSA, ECDH |
해시함수 | SHA-256, SHA-512 |
S/MIME 의 동작
(1) 송신자가 수신자에게 보낼 메시지를 적는다. > MIME 형태로 작성됨
(2) 송신자는 메시지에 대해 전자서명, 암호화 (혹은 둘 다) 여부를 선택한다.
(3) S/MIME 애플리케이션이 MIME 메시지를 S/MIME 메시지로 변환한다.
(4) 메시지 보내기를 작동하면 메일 클라이언트가 이메일 서버에 메일을 전송
(5) 메일이 수신자 메일 서버에 전송됨
(6) 수신자 측에서 S/MIME 클라이언트를 이용해 메시지를 받고, 서명검증 및 복호화
S/MIME 메시지의 구성
구성 | 설명 |
---|---|
봉인된 데이터 | - 암호화된 컨텐츠 타입과, 수신자를 위한 암호화된 컨텐츠 암호키로 구성 - (시험) 봉인된 데이터는 무조건 암호화다!! |
서명된 데이터 | - 컨텐츠와 그 전자서명을 base64 로 부호화 |
클리어 서명 데이터 | - 컨텐츠와 그 전자서명으로 구성되며, 전자서명만 base64 로 부호화 |
서명 및 봉인된 데이터 | - 암호화된 데이터는 서명될 수 있음 - 서명된 데이터나 클리어 서명 데이터는 암호화될 수 있음 |
Comments