IT
posted by 구름너머 2007. 5. 7. 01:23

[정보보안][정보보안전문가]S/MIME의 개요

S/MIME(Secure/Multipurpose Internet Mail Extension)은 기존 전자우편 보안시스템의 문제점인 PEM 구현의 복잡성, PGP의 낮은 보안성과 기존 시스템과의 통합이 용이하지 않다는 점을 보완하기 위해 IETF의 작업 그룹에서 RSADSI(RSA Data Security Incorporation)의 기술을 기반으로 개발된 전자우편 보안시스템이다. 이러한 S/MIME이 달성하고자 하는 목표는 강력한 암호화, 디지털 서명, 사용의 용이성, 융통성, 상호운용성, 수출가능성 등이다.

S/MIME은 네트워크를 통해 주고받는 메시지에 대해 송수신자에게 전자우편 보안서비스를 제공할 뿐만 아니라 MIME 객체를 전송할 수 있는 모든 프로토콜에서 보안 서비스를 이용할 수 있게 한다. 이러한 예로서 HTTP 프로토콜이 있다. HTTP 프로토콜은 MIME 객체를 전송할 수 있기 때문에 웹 보안을 위해 S/MIME을 사용할 수 있다.

S/MIME이 제공하는 보안 서비스에는 메시지에 대한 기밀성, 무결성, 사용자 인증, 송신 사실 부인방지가 포함된다. 표 4-4는 S/MIME에서 제공하는 보안 서비스와 보안 메커니즘에 사용되는 암호 알고리즘을 나타내고 있다.


표 4-4 S/MIME에서 제공하는 보안 서비스

보안 서비스

보안 메커니즘

암호 알고리즘

메시지 기밀성

암호화

Triple-DES, Diffie-Hellman

메시지 무결성

해쉬함수

SHA-1

사용자 인증

인증서

X.509v3 인증서

송신 부인방지

전자서명

DSA



S/MIME은 전자서명을 위해 디지털서명표준(DSS)을 사용하고 세션키를 암호화하기 위해 Diffie-Hellman 알고리즘을 사용한다. 또한 전자서명과 세션키 암호화 모두를 위해 사용할 수 있는 알고리즘으로 RSA 알고리즘을 사용한다. 그리고 전자서명을 생성하기 위한 해쉬함수로는 SHA-1과 MD5를 요구하고 3중 DES 알고리즘이 메시지 암호화를 위해 사용된다.

알고리즘 측면에서 S/MIME v3의 보안 특성은 다음과 같다.


- Signed receipts : 송신자의 전자 서명된 메시지를 수신한 후 수신자의 서명을 추가하여 수신자 측이 메시지를 수신했다는 사실을 제3자에게 증명할 수 있도록 함

- Security labels : Security labels은 S/MIME 캡슐화로 보호되는 내용의 기밀성에 관한 보안정보의 집합으로써 사용자에게 원본 메시지의 접근권한을 부여하기 위해 사용

- Secure mailing lists : 복수의 수신자에게 메시지를 전송할 경우 각 수신자의 공개키 사용을 포함하여 MLA (Mailing List Agent) 서비스를 사용함으로써 많은 양의 수신자별 처리가 가능


3. S/MIME의 메시지 구성과 동작


가. S/MIME의 메시지 구성

S/MIME v3의 관련 RFC 문서들은 다음과 같이 구성되어 있다.


- S/MIME v3 메시지 규격(Message Specification)

MIME 데이터에 암호화와 전자서명을 추가하여 S/MIME 메시지를 생성하는데 필요한 프로토콜로써 메시지에 대한 전자서명 및 암호화절차, application/pkcs7-mime과 application/pkcs7-signature MIME 타입을 정의한다.


- 암호학적 메시지 신택스(Cryptographic Message Syntax)

임의의 메시지에 대해 전자서명, 암호화, 메시지 인증을 추가하여 생성되는 암호문의 형태를 정의한다.


- S/MIME v3 인증서 취급(Certificate Handling)

S/MIME 인증서에 포함된 키를 추출하고 키를 생성하는 방법이 정의된다. 또한 추출한 키를 통해 메시지의 유효성을 검증하는 메커니즘이 포함된다.


- 향상된 보안 서비스(Enhanced Security Services for S/MIME)

S/MIME에서 보다 향상된 보안서비스를 제공할 수 있도록 수신자의 전자서명을 통해 부인방지를 할 수 있도록 하거나 그룹 메일에서 보안서비스를 이용할 수 있는 방법을 기술한다.


S/MIME의 메시지 구성은 다음과 같다.


- 봉인된 데이터(Enveloped data) : 암호화된 콘텐트 타입과 한 명 이상의 수신자들을 위한 암호화된 암호화-콘텐트 암호키(encrypted-content encryption key)로 구성되어 있다.

- 서명된 데이터(Signed data) : 메시지 다이제스트 값을 서명자의 개인키로 암호화하여 형성된 디지털서명으로 콘텐트와 그 디지털 서명은 base64로 부호화된다.

- 클리어 서명 데이터(Clear-signed data) : 서명된 데이터와 콘텐트의 디지털서명으로 구성된다. 여기서 콘텐트의 디지털 서명만 base64로 부호화된다.

- 서명 및 봉인된 데이터(Signed and enveloped data) : signed-only과 encrypted-only 엔티티가 중첩될 수 있다. 즉, 암호화된 데이터는 서명되어질 수 있고 서명된 데이터나 클리어 서명 데이터는 암호화될 수 있다.


나. S/MIME의 동작


S/MIME의 동작에 대해 설명한다. 우선, 사용자는 수신자에게 보낼 메시지를 작성한다. 이 메시지는 RFC 822에 정의되어 있는 MIME 형태로 작성된다. 사용자는 전자우편을 보내기 전에 메시지에 대해 전자서명을 할 것인지, 암호화를 할 것인지 또는 전자서명과 암호화를 같이 할 것인지를 선택한다.

이후 S/MIME 어플리케이션은 MIME 헤더와 바디로 구성되는 MIME형태의 메시지를 S/MIME 메시지로 변환한다. 즉 보안 메커니즘을 적용하여 S/MIME 메시지의 형태로 변환함으로써 전자서명과 메시지의 암호화가 이루어지게 된다. 그림 4-11

마지막으로 사용자는 메시지 보내기를 선택하면 메일 클라이언트는 전자우편 서버에 메일을 전송하고, 수신자의 메일 서버에 메시지가 전송되어 수신자는 S/MIME 클라이언트를 이용해 메시지를 받게 된다. 이때 보안 기능이 없는 SMTP 프로토콜이 사용되지만 이미 메시지에 암호화 또는 전자서명을 했기 때문에 네트워크로 전송되는 도중에 메시지의 도청 및 변조 등의 위험으로부터 안전하다.


그림 4-11 S/MIME의 동작

'IT' 카테고리의 다른 글

L4/L7 스위치  (0) 2007.05.07
BCP의 개요 및 개발 과정  (1) 2007.05.07
데이터마이닝 기법 : 연관규칙의 탐사  (0) 2007.04.22
데이터마이닝 기법중에 대표적인것 5가지  (0) 2007.04.22
데이터마이닝 개론  (0) 2007.04.22