S/MIME
IT위키
더 많은 작업
Secure Multipurpose Internet Mail Extension
- RSA Data Security 사가 개발했고 이후 IETF 표준(RFC 2633, 현재 RFC 8551)이 되었다
- 전자우편 메시지 표준인 MIME 을 바탕으로 서명·암호화된 내용을 MIME 형식(PKCS #7·CMS)으로 담는다
- 인증서는 X.509 를 쓰고, 인증기관(CA) 계층으로 신뢰를 정한다
- 메일 클라이언트와 여러 상용 툴킷이 지원해 기업 메일에서 널리 쓰인다
- 제공하는 보안 서비스는 기밀성(봉인), 무결성·메시지 출처 인증·부인 방지(서명)다. 서버가 멈추지 않고 메일을 계속 주고받게 하는 가용성은 S/MIME 이 제공하는 서비스가 아니다 → 보안의 3요소
S/MIME 은 CMS(Cryptographic Message Syntax, PKCS #7) 의 내용 유형으로 메시지를 감싼다.
| 유형 | 하는 일 | 제공 서비스 |
|---|---|---|
| 봉인된 데이터(enveloped data) | 내용을 일회용 대칭키로 암호화하고, 그 키를 받는 사람의 공개키로 암호화해 함께 보낸다(전자 봉투) | 기밀성(비밀성) |
| 서명된 데이터(signed data) | 내용의 해시를 보내는 사람의 개인키로 서명하고 내용과 함께 base64 로 부호화한다. S/MIME 을 지원하는 사람만 읽을 수 있다 | 인증, 무결성, 부인 방지 |
| 투명 서명 데이터(clear-signed data) | 내용은 그대로 두고 서명만 따로 붙인다. S/MIME 을 모르는 받는 사람도 본문은 읽을 수 있다 | 인증, 무결성 |
| 서명·봉인 데이터 | 서명한 뒤 봉인하거나, 봉인한 뒤 서명한다 | 기밀성과 서명을 함께 |
- S/MIME 은 X.509 버전 3 인증서를 쓴다. 다만 키 관리 방식은 엄격한 X.509 인증 계층과 PGP 의 신뢰의 웹을 섞은 형태다. 인증서는 CA 가 발급하지만, 어떤 인증서와 CA 를 믿을지는 각 사용자(메일 클라이언트)가 정하고 자기 인증서 목록을 관리한다
- 전자서명에는 DSS 와 RSA, 세션키 암호화에는 RSA 와 디피-헬먼 계열, 내용 암호화에는 AES·3DES 같은 대칭키를 쓴다